@sbb-esta/lyne-elements 2.7.0 → 2.8.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 (75) hide show
  1. package/breadcrumb/breadcrumb/breadcrumb.d.ts +0 -2
  2. package/breadcrumb/breadcrumb/breadcrumb.d.ts.map +1 -1
  3. package/breadcrumb/breadcrumb/breadcrumb.js +21 -44
  4. package/core/controllers/{id-observer-controller.d.ts → id-reference-controller.d.ts} +1 -1
  5. package/core/controllers/id-reference-controller.d.ts.map +1 -0
  6. package/core/controllers/slot-state-controller.d.ts +2 -0
  7. package/core/controllers/slot-state-controller.d.ts.map +1 -1
  8. package/core/controllers/slot-state-controller.js +30 -19
  9. package/core/controllers.d.ts +1 -1
  10. package/core/controllers.d.ts.map +1 -1
  11. package/core/controllers.js +1 -1
  12. package/core/styles/core.scss +21 -1
  13. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables.scss +2 -0
  14. package/core/styles/node_modules_@sbb-esta_lyne-design-tokens_dist_scss_sbb-variables_css--mixin.scss +5 -1
  15. package/core.css +17 -2
  16. package/custom-elements.json +465 -64
  17. package/date-input/date-input.js +5 -5
  18. package/development/breadcrumb/breadcrumb/breadcrumb.d.ts +0 -2
  19. package/development/breadcrumb/breadcrumb/breadcrumb.d.ts.map +1 -1
  20. package/development/breadcrumb/breadcrumb/breadcrumb.js +11 -38
  21. package/development/core/controllers/{id-observer-controller.d.ts → id-reference-controller.d.ts} +1 -1
  22. package/development/core/controllers/id-reference-controller.d.ts.map +1 -0
  23. package/development/core/controllers/id-reference-controller.js +84 -0
  24. package/development/core/controllers/slot-state-controller.d.ts +2 -0
  25. package/development/core/controllers/slot-state-controller.d.ts.map +1 -1
  26. package/development/core/controllers/slot-state-controller.js +24 -4
  27. package/development/core/controllers.d.ts +1 -1
  28. package/development/core/controllers.d.ts.map +1 -1
  29. package/development/core/controllers.js +1 -1
  30. package/development/date-input/date-input.js +3 -2
  31. package/development/form-field/form-field/form-field.js +3 -2
  32. package/development/icon/icon-base.js +5 -1
  33. package/development/option/option/option-base-element.d.ts.map +1 -1
  34. package/development/option/option/option-base-element.js +8 -4
  35. package/development/paginator/common/paginator-common.d.ts +11 -1
  36. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  37. package/development/paginator/common/paginator-common.js +37 -9
  38. package/development/paginator/paginator/paginator.js +2 -2
  39. package/development/sbb-tokens-CVLcOi-S.js +1 -1
  40. package/development/table/table-wrapper/table-wrapper.d.ts +7 -4
  41. package/development/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  42. package/development/table/table-wrapper/table-wrapper.js +80 -69
  43. package/development/teaser-hero/teaser-hero.d.ts.map +1 -1
  44. package/development/teaser-hero/teaser-hero.js +15 -11
  45. package/development/toggle/toggle/toggle.d.ts +0 -1
  46. package/development/toggle/toggle/toggle.d.ts.map +1 -1
  47. package/development/toggle/toggle/toggle.js +51 -47
  48. package/development/toggle/toggle-option/toggle-option.d.ts +2 -1
  49. package/development/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  50. package/development/toggle/toggle-option/toggle-option.js +15 -29
  51. package/form-field/form-field/form-field.js +1 -1
  52. package/icon/icon-base.js +21 -21
  53. package/option/option/option-base-element.d.ts.map +1 -1
  54. package/option/option/option-base-element.js +9 -14
  55. package/package.json +1 -1
  56. package/paginator/common/paginator-common.d.ts +11 -1
  57. package/paginator/common/paginator-common.d.ts.map +1 -1
  58. package/paginator/common/paginator-common.js +61 -31
  59. package/paginator/paginator/paginator.js +3 -3
  60. package/standard-theme.css +17 -2
  61. package/table/table-wrapper/table-wrapper.d.ts +7 -4
  62. package/table/table-wrapper/table-wrapper.d.ts.map +1 -1
  63. package/table/table-wrapper/table-wrapper.js +53 -31
  64. package/teaser-hero/teaser-hero.d.ts.map +1 -1
  65. package/teaser-hero/teaser-hero.js +25 -25
  66. package/toggle/toggle/toggle.d.ts +0 -1
  67. package/toggle/toggle/toggle.d.ts.map +1 -1
  68. package/toggle/toggle/toggle.js +43 -48
  69. package/toggle/toggle-option/toggle-option.d.ts +2 -1
  70. package/toggle/toggle-option/toggle-option.d.ts.map +1 -1
  71. package/toggle/toggle-option/toggle-option.js +40 -30
  72. package/core/controllers/id-observer-controller.d.ts.map +0 -1
  73. package/development/core/controllers/id-observer-controller.d.ts.map +0 -1
  74. package/development/core/controllers/id-observer-controller.js +0 -84
  75. /package/core/controllers/{id-observer-controller.js → id-reference-controller.js} +0 -0
@@ -22,7 +22,7 @@ const x = Y, lt = {
22
22
  };
23
23
  let mt = (() => {
24
24
  var _, p, m, f, v, A, l;
25
- let a = [W()], s, n = [], h, L = et(at(it(Q))), S = [], y, C, H, k = [], I = [], $, z = [], E = [], F, D = [], N = [], O, T = [], w = [], M, U = [], j = [], B, R = [], q = [];
25
+ let a = [W()], s, n = [], h, L = et(at(it(Q))), S = [], C, H, y, k = [], I = [], $, z = [], E = [], F, D = [], N = [], O, T = [], w = [], M, U = [], j = [], B, R = [], q = [];
26
26
  return l = class extends L {
27
27
  constructor() {
28
28
  var t;
@@ -150,15 +150,10 @@ let mt = (() => {
150
150
  }
151
151
  /** Observe changes on data attributes + slotted content and set the appropriate values. */
152
152
  onExternalMutation(t) {
153
- for (const e of t)
154
- if (e.attributeName === "data-group-disabled")
155
- this.disabledFromGroup = this.hasAttribute("data-group-disabled"), this.updateAriaDisabled();
156
- else if (e.attributeName === "data-negative")
157
- this.negative = this.hasAttribute("data-negative");
158
- else {
159
- this.dispatchEvent(new Event("optionLabelChanged", { bubbles: !0 }));
160
- return;
161
- }
153
+ let e = !1;
154
+ for (const i of t)
155
+ i.attributeName === "data-group-disabled" ? (this.disabledFromGroup = this.hasAttribute("data-group-disabled"), this.updateAriaDisabled()) : i.attributeName === "data-negative" ? this.negative = this.hasAttribute("data-negative") : e = !0;
156
+ e && (this.handleHighlightState(), this.dispatchEvent(new Event("optionLabelChanged", { bubbles: !0 })));
162
157
  }
163
158
  handleHighlightState() {
164
159
  const t = Array.from(this.childNodes ?? []).filter((i) => i.nodeType !== Node.COMMENT_NODE && (!(i instanceof Element) || i.slot !== "icon")), e = t.filter((i) => i.nodeType === Node.TEXT_NODE);
@@ -197,7 +192,7 @@ let mt = (() => {
197
192
  <span class="sbb-option__label">
198
193
  <slot @slotchange=${this.handleHighlightState}></slot>
199
194
  ${this.renderLabel()}
200
- ${this._inertAriaGroups && this.getAttribute("data-group-label") ? c` <sbb-screen-reader-only>
195
+ ${this._inertAriaGroups && this.getAttribute("data-group-label") ? c`<sbb-screen-reader-only>
201
196
  (${this.getAttribute("data-group-label")})</sbb-screen-reader-only
202
197
  >` : G}
203
198
  </span>
@@ -208,11 +203,11 @@ let mt = (() => {
208
203
  }
209
204
  }, _ = new WeakMap(), p = new WeakMap(), m = new WeakMap(), f = new WeakMap(), v = new WeakMap(), A = new WeakMap(), h = l, (() => {
210
205
  const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(L[Symbol.metadata] ?? null) : void 0;
211
- y = [X()], C = [X({ type: Boolean })], H = [u()], $ = [u()], F = [u()], O = [u()], M = [u()], B = [u()], o(l, null, y, { kind: "setter", name: "value", static: !1, private: !1, access: { has: (e) => "value" in e, set: (e, i) => {
206
+ C = [X()], H = [X({ type: Boolean })], y = [u()], $ = [u()], F = [u()], O = [u()], M = [u()], B = [u()], o(l, null, C, { kind: "setter", name: "value", static: !1, private: !1, access: { has: (e) => "value" in e, set: (e, i) => {
212
207
  e.value = i;
213
- } }, metadata: t }, null, S), o(l, null, C, { kind: "setter", name: "selected", static: !1, private: !1, access: { has: (e) => "selected" in e, set: (e, i) => {
208
+ } }, metadata: t }, null, S), o(l, null, H, { kind: "setter", name: "selected", static: !1, private: !1, access: { has: (e) => "selected" in e, set: (e, i) => {
214
209
  e.selected = i;
215
- } }, metadata: t }, null, S), o(l, null, H, { kind: "accessor", name: "negative", static: !1, private: !1, access: { has: (e) => "negative" in e, get: (e) => e.negative, set: (e, i) => {
210
+ } }, metadata: t }, null, S), o(l, null, y, { kind: "accessor", name: "negative", static: !1, private: !1, access: { has: (e) => "negative" in e, get: (e) => e.negative, set: (e, i) => {
216
211
  e.negative = i;
217
212
  } }, metadata: t }, k, I), o(l, null, $, { kind: "accessor", name: "disabledFromGroup", static: !1, private: !1, access: { has: (e) => "disabledFromGroup" in e, get: (e) => e.disabledFromGroup, set: (e, i) => {
218
213
  e.disabledFromGroup = i;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sbb-esta/lyne-elements",
3
- "version": "2.7.0",
3
+ "version": "2.8.0",
4
4
  "description": "Lyne Design System",
5
5
  "keywords": [
6
6
  "design system",
@@ -10,8 +10,18 @@ export declare abstract class SbbPaginatorCommonElementMixinType {
10
10
  accessor pageIndex: number;
11
11
  accessor pagerPosition: 'start' | 'end';
12
12
  accessor size: 'm' | 's';
13
+ nextPage(): void;
14
+ previousPage(): void;
15
+ firstPage(): void;
16
+ lastPage(): void;
17
+ selectPage(index: number): void;
18
+ hasPreviousPage(): boolean;
19
+ hasNextPage(): boolean;
20
+ numberOfPages(): number;
13
21
  protected language: SbbLanguageController;
14
- protected numberOfPages(): number;
22
+ /**
23
+ * @deprecated Will be removed with next major change.
24
+ */
15
25
  protected pageIndexChanged(value: number): void;
16
26
  protected emitPageEvent(previousPageIndex: number): void;
17
27
  protected renderPrevNextButtons(): TemplateResult;
@@ -1 +1 @@
1
- {"version":3,"file":"paginator-common.d.ts","sourceRoot":"","sources":["../../../../src/elements/paginator/common/paginator-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAuB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAKlE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,KAAK,mBAAmB,EAAsC,MAAM,sBAAsB,CAAC;AAEpG,OAAO,6BAA6B,CAAC;AACrC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,kBAAkB,CAAC;AAE1B,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,kCAAkC;IAC9D,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,aAAa,EAAE,OAAO,GAAG,KAAK,CAAC;IAC/C,SAAgB,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IAChC,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAC1C,SAAS,CAAC,aAAa,IAAI,MAAM;IACjC,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC/C,SAAS,CAAC,aAAa,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI;IACxD,SAAS,CAAC,qBAAqB,IAAI,cAAc;IACjD,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,cAAc;CACrD;AAGD,eAAO,MAAM,8BAA8B,GAAI,CAAC,SAAS,mBAAmB,CAAC,UAAU,CAAC,EACtF,YAAY,CAAC,KACZ,mBAAmB,CAAC,kCAAkC,CAAC,GAAG,CAqJ5D,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,mBAAmB;QAC3B,IAAI,EAAE,WAAW,CAAC,4BAA4B,CAAC,CAAC;KACjD;CACF"}
1
+ {"version":3,"file":"paginator-common.d.ts","sourceRoot":"","sources":["../../../../src/elements/paginator/common/paginator-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAuB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAGtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAKlE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAE,KAAK,mBAAmB,EAAsC,MAAM,sBAAsB,CAAC;AAEpG,OAAO,6BAA6B,CAAC;AACrC,OAAO,mCAAmC,CAAC;AAC3C,OAAO,kBAAkB,CAAC;AAE1B,MAAM,CAAC,OAAO,CAAC,QAAQ,OAAO,kCAAkC;IAC9D,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC,SAAgB,QAAQ,EAAE,OAAO,CAAC;IAClC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,aAAa,EAAE,OAAO,GAAG,KAAK,CAAC;IAC/C,SAAgB,IAAI,EAAE,GAAG,GAAG,GAAG,CAAC;IACzB,QAAQ,IAAI,IAAI;IAChB,YAAY,IAAI,IAAI;IACpB,SAAS,IAAI,IAAI;IACjB,QAAQ,IAAI,IAAI;IAChB,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC/B,eAAe,IAAI,OAAO;IAC1B,WAAW,IAAI,OAAO;IACtB,aAAa,IAAI,MAAM;IAC9B,SAAS,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAC1C;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAC/C,SAAS,CAAC,aAAa,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI;IACxD,SAAS,CAAC,qBAAqB,IAAI,cAAc;IACjD,SAAS,CAAC,QAAQ,CAAC,eAAe,IAAI,cAAc;CACrD;AAGD,eAAO,MAAM,8BAA8B,GAAI,CAAC,SAAS,mBAAmB,CAAC,UAAU,CAAC,EACtF,YAAY,CAAC,KACZ,mBAAmB,CAAC,kCAAkC,CAAC,GAAG,CAwL5D,CAAC;AAEF,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,mBAAmB;QAC3B,IAAI,EAAE,WAAW,CAAC,4BAA4B,CAAC,CAAC;KACjD;CACF"}
@@ -1,11 +1,11 @@
1
- var $ = (a) => {
1
+ var k = (a) => {
2
2
  throw TypeError(a);
3
3
  };
4
- var k = (a, i, s) => i.has(a) || $("Cannot " + s);
5
- var _ = (a, i, s) => (k(a, i, "read from private field"), s ? s.call(a) : i.get(a)), x = (a, i, s) => i.has(a) ? $("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(a) : i.set(a, s), d = (a, i, s, m) => (k(a, i, "write to private field"), m ? m.call(a, s) : i.set(a, s), s);
4
+ var C = (a, i, s) => i.has(a) || k("Cannot " + s);
5
+ var x = (a, i, s) => (C(a, i, "read from private field"), s ? s.call(a) : i.get(a)), _ = (a, i, s) => i.has(a) ? k("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(a) : i.set(a, s), d = (a, i, s, m) => (C(a, i, "write to private field"), m ? m.call(a, s) : i.set(a, s), s);
6
6
  import { __runInitializers as h, __esDecorate as p } from "tslib";
7
7
  import { html as O } from "lit";
8
- import { property as c } from "lit/decorators.js";
8
+ import { property as u } from "lit/decorators.js";
9
9
  import { SbbLanguageController as w } from "../../core/controllers.js";
10
10
  import { hostAttributes as D } from "../../core/decorators.js";
11
11
  import { isLean as L } from "../../core/dom.js";
@@ -16,16 +16,16 @@ import "../../button/mini-button.js";
16
16
  import "../../button/mini-button-group.js";
17
17
  import "../../divider.js";
18
18
  const ae = (a) => (() => {
19
- var l, g, n;
19
+ var o, l, n;
20
20
  let s = [D({
21
21
  role: "group"
22
- })], m, z = [], o, I = B(T(a)), u = [], f, P, S, v, y = [], E = [], N, C = [], M = [];
23
- var b = (n = class extends I {
22
+ })], m, P = [], g, z = B(T(a)), c = [], I, f, S, v, y = [], N = [], E, M = [], $ = [];
23
+ var b = (n = class extends z {
24
24
  constructor() {
25
25
  super(...arguments);
26
- x(this, l);
27
- x(this, g);
28
- this._length = (h(this, u), 0), this._pageSize = 10, this._pageIndex = 0, d(this, l, h(this, y, "start")), d(this, g, (h(this, E), h(this, C, L() ? "s" : "m"))), this._page = (h(this, M), new R(this, b.events.page, { composed: !0, bubbles: !0 })), this.language = new w(this);
26
+ _(this, o);
27
+ _(this, l);
28
+ this._length = (h(this, c), 0), this._pageSize = 10, this._pageIndex = 0, d(this, o, h(this, y, "start")), d(this, l, (h(this, N), h(this, M, L() ? "s" : "m"))), this._page = (h(this, $), new R(this, b.events.page, { composed: !0, bubbles: !0 })), this.language = new w(this);
29
29
  }
30
30
  /** Total number of items. */
31
31
  set length(e) {
@@ -44,27 +44,28 @@ const ae = (a) => (() => {
44
44
  }
45
45
  /** Current page index. */
46
46
  set pageIndex(e) {
47
- this._pageIndex = this._coercePageIndexInRange(e);
47
+ const t = this._pageIndex;
48
+ this._pageIndex = this._coercePageIndexInRange(e), this.emitPageEvent(t);
48
49
  }
49
50
  get pageIndex() {
50
51
  return this._pageIndex;
51
52
  }
52
53
  /** Position of the prev/next buttons. */
53
54
  get pagerPosition() {
54
- return _(this, l);
55
+ return x(this, o);
55
56
  }
56
57
  set pagerPosition(e) {
57
- d(this, l, e);
58
+ d(this, o, e);
58
59
  }
59
60
  /**
60
61
  * Size variant, either m or s.
61
62
  * @default 'm' / 's' (lean)
62
63
  */
63
64
  get size() {
64
- return _(this, g);
65
+ return x(this, l);
65
66
  }
66
67
  set size(e) {
67
- d(this, g, e);
68
+ d(this, l, e);
68
69
  }
69
70
  updated(e) {
70
71
  super.updated(e), this.shadowRoot.querySelector("sbb-screen-reader-only").textContent = this._currentPageLabel();
@@ -76,6 +77,35 @@ const ae = (a) => (() => {
76
77
  _currentPageLabel() {
77
78
  return j(this.pageIndex + 1)[this.language.current];
78
79
  }
80
+ /** Advances to the next page if it exists. */
81
+ nextPage() {
82
+ this.pageIndex = this.pageIndex + 1;
83
+ }
84
+ /** Move back to the previous page if it exists. */
85
+ previousPage() {
86
+ this.pageIndex = this.pageIndex - 1;
87
+ }
88
+ /** Move to the first page if not already there. */
89
+ firstPage() {
90
+ this.pageIndex = 0;
91
+ }
92
+ /** Move to the last page if not already there. */
93
+ lastPage() {
94
+ this.pageIndex = this.numberOfPages() - 1;
95
+ }
96
+ /** Move to a specific page index. */
97
+ selectPage(e) {
98
+ this.pageIndex = e;
99
+ }
100
+ /** Whether there is a previous page. */
101
+ hasPreviousPage() {
102
+ return this.pageIndex >= 1 && this.pageSize !== 0;
103
+ }
104
+ /** Whether there is a next page. */
105
+ hasNextPage() {
106
+ const e = this.numberOfPages() - 1;
107
+ return this.pageIndex < e && this.pageSize !== 0;
108
+ }
79
109
  /**
80
110
  * Calculates the current number of pages based on the `length` and the `pageSize`;
81
111
  * value must be rounded up (e.g. `length = 21` and `pageSize = 10` means 3 pages).
@@ -86,10 +116,10 @@ const ae = (a) => (() => {
86
116
  /**
87
117
  * If the `pageIndex` changes due to user interaction,
88
118
  * emit the `page` event and then update the `pageIndex` value.
119
+ * @deprecated Will be removed with next major change.
89
120
  */
90
121
  pageIndexChanged(e) {
91
- const t = this.pageIndex;
92
- this.pageIndex = e, t !== this.pageIndex && this.emitPageEvent(t);
122
+ this.pageIndex = e;
93
123
  }
94
124
  emitPageEvent(e) {
95
125
  this._page.emit({
@@ -106,16 +136,16 @@ const ae = (a) => (() => {
106
136
  id="sbb-paginator-prev-page"
107
137
  aria-label=${q[this.language.current]}
108
138
  icon-name="chevron-small-left-small"
109
- ?disabled=${this.disabled || this.pageIndex === 0}
110
- @click=${() => this.pageIndexChanged(this._pageIndex - 1)}
139
+ ?disabled=${this.disabled || !this.hasPreviousPage()}
140
+ @click=${() => this.previousPage()}
111
141
  ></sbb-mini-button>
112
142
  <sbb-divider orientation="vertical"></sbb-divider>
113
143
  <sbb-mini-button
114
144
  id="sbb-paginator-next-page"
115
145
  aria-label=${A[this.language.current]}
116
146
  icon-name="chevron-small-right-small"
117
- ?disabled=${this.disabled || this.pageIndex === this.numberOfPages() - 1}
118
- @click=${() => this.pageIndexChanged(this._pageIndex + 1)}
147
+ ?disabled=${this.disabled || !this.hasNextPage()}
148
+ @click=${() => this.nextPage()}
119
149
  ></sbb-mini-button>
120
150
  </sbb-mini-button-group>
121
151
  `;
@@ -126,23 +156,23 @@ const ae = (a) => (() => {
126
156
  <sbb-screen-reader-only role="status"></sbb-screen-reader-only>
127
157
  `;
128
158
  }
129
- }, l = new WeakMap(), g = new WeakMap(), o = n, (() => {
130
- const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(I[Symbol.metadata] ?? null) : void 0;
131
- f = [c({ type: Number })], P = [c({ attribute: "page-size", type: Number })], S = [c({ attribute: "page-index", type: Number })], v = [c({ attribute: "pager-position", reflect: !0 })], N = [c({ reflect: !0 })], p(n, null, f, { kind: "setter", name: "length", static: !1, private: !1, access: { has: (t) => "length" in t, set: (t, r) => {
159
+ }, o = new WeakMap(), l = new WeakMap(), g = n, (() => {
160
+ const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(z[Symbol.metadata] ?? null) : void 0;
161
+ I = [u({ type: Number })], f = [u({ attribute: "page-size", type: Number })], S = [u({ attribute: "page-index", type: Number })], v = [u({ attribute: "pager-position", reflect: !0 })], E = [u({ reflect: !0 })], p(n, null, I, { kind: "setter", name: "length", static: !1, private: !1, access: { has: (t) => "length" in t, set: (t, r) => {
132
162
  t.length = r;
133
- } }, metadata: e }, null, u), p(n, null, P, { kind: "setter", name: "pageSize", static: !1, private: !1, access: { has: (t) => "pageSize" in t, set: (t, r) => {
163
+ } }, metadata: e }, null, c), p(n, null, f, { kind: "setter", name: "pageSize", static: !1, private: !1, access: { has: (t) => "pageSize" in t, set: (t, r) => {
134
164
  t.pageSize = r;
135
- } }, metadata: e }, null, u), p(n, null, S, { kind: "setter", name: "pageIndex", static: !1, private: !1, access: { has: (t) => "pageIndex" in t, set: (t, r) => {
165
+ } }, metadata: e }, null, c), p(n, null, S, { kind: "setter", name: "pageIndex", static: !1, private: !1, access: { has: (t) => "pageIndex" in t, set: (t, r) => {
136
166
  t.pageIndex = r;
137
- } }, metadata: e }, null, u), p(n, null, v, { kind: "accessor", name: "pagerPosition", static: !1, private: !1, access: { has: (t) => "pagerPosition" in t, get: (t) => t.pagerPosition, set: (t, r) => {
167
+ } }, metadata: e }, null, c), p(n, null, v, { kind: "accessor", name: "pagerPosition", static: !1, private: !1, access: { has: (t) => "pagerPosition" in t, get: (t) => t.pagerPosition, set: (t, r) => {
138
168
  t.pagerPosition = r;
139
- } }, metadata: e }, y, E), p(n, null, N, { kind: "accessor", name: "size", static: !1, private: !1, access: { has: (t) => "size" in t, get: (t) => t.size, set: (t, r) => {
169
+ } }, metadata: e }, y, N), p(n, null, E, { kind: "accessor", name: "size", static: !1, private: !1, access: { has: (t) => "size" in t, get: (t) => t.size, set: (t, r) => {
140
170
  t.size = r;
141
- } }, metadata: e }, C, M), p(null, m = { value: o }, s, { kind: "class", name: o.name, metadata: e }, null, z), b = o = m.value, e && Object.defineProperty(o, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
171
+ } }, metadata: e }, M, $), p(null, m = { value: g }, s, { kind: "class", name: g.name, metadata: e }, null, P), b = g = m.value, e && Object.defineProperty(g, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
142
172
  })(), n.events = {
143
173
  page: "page"
144
- }, h(o, z), n);
145
- return b = o;
174
+ }, h(g, P), n);
175
+ return b = g;
146
176
  })();
147
177
  export {
148
178
  ae as SbbPaginatorCommonElementMixin
@@ -14,7 +14,7 @@ import "../../form-field.js";
14
14
  import "../../select.js";
15
15
  import "../../option.js";
16
16
  import "../../screen-reader-only.js";
17
- const C = E`*,:before,:after{box-sizing:border-box}:host{display:block;--sbb-paginator-height: var(--sbb-size-element-m);--sbb-paginator-page-color: var(--sbb-color-metal);--sbb-paginator-page-background-color: transparent;--sbb-paginator-page-border-width: 0;--sbb-paginator-page-border-style: none;--sbb-paginator-page-border-color: none;--sbb-paginator-page-cursor: pointer;--sbb-paginator-page-inset: 0;--sbb-paginator-animation-easing: var(--sbb-animation-easing);--sbb-paginator-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-2x) );--sbb-paginator-justify-content: start;--sbb-paginator-wrapping-group-wrap: wrap-reverse;--sbb-paginator-wrap: wrap}:host([size=s]){--sbb-paginator-height: var(--sbb-size-element-xs)}:host([negative]){--sbb-paginator-page-color: var(--sbb-color-smoke);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark)}:host([pager-position=end]){--sbb-paginator-justify-content: end;--sbb-paginator-wrapping-group-wrap: wrap;--sbb-paginator-wrap: wrap-reverse}.sbb-paginator,.sbb-paginator__wrapping-group{display:flex;gap:var(--sbb-spacing-fixed-3x) var(--sbb-spacing-fixed-6x);justify-content:var(--sbb-paginator-justify-content)}.sbb-paginator{flex-wrap:var(--sbb-paginator-wrap);min-height:var(--sbb-paginator-height)}.sbb-paginator__wrapping-group{flex-wrap:var(--sbb-paginator-wrapping-group-wrap)}.sbb-paginator__page-size-options{--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);display:flex;align-items:center;gap:var(--sbb-spacing-fixed-2x);white-space:nowrap;color:var(--sbb-paginator-page-color)}.sbb-paginator__page-size-options sbb-select{--sbb-text-font-size: var(--sbb-font-size-text-m);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);color:var(--sbb-form-field-text-color);font-size:var(--sbb-form-field-input-text-size);padding-inline-end:var(--sbb-form-field-select-inline-padding-end)}.sbb-paginator__pages{list-style:none;margin:0;padding:0;font-size:inherit;display:flex;align-items:center;justify-content:center;gap:var(--sbb-spacing-fixed-1x);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.sbb-paginator__page--ellipsis,.sbb-paginator__page--number{--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);position:relative;color:var(--sbb-paginator-page-color)}.sbb-paginator__page--ellipsis-item,.sbb-paginator__page--number-item{display:flex;justify-content:center;align-items:center;width:var(--sbb-size-element-xxs);height:var(--sbb-size-element-xxs)}.sbb-paginator__page--number-item{-webkit-appearance:none;-moz-appearance:none;box-sizing:border-box;margin:0;outline:none;border:none;border-radius:0;padding:0;background:none;-webkit-tap-highlight-color:transparent;color:inherit;--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);position:relative;cursor:var(--sbb-paginator-page-cursor);outline:none!important;color:var(--sbb-paginator-page-color);transition:color var(--sbb-paginator-animation-duration) var(--sbb-paginator-animation-easing)}.sbb-paginator__page--number-item:before{content:"";position:absolute;background-color:var(--sbb-paginator-page-background-color);border:var(--sbb-paginator-page-border-width) var(--sbb-paginator-page-border-style) var(--sbb-paginator-page-border-color);border-radius:var(--sbb-border-radius-infinity);inset:var(--sbb-paginator-page-inset);transition-property:background-color,border,inset;transition-duration:var(--sbb-paginator-animation-duration);transition-timing-function:var(--sbb-paginator-animation-easing)}.sbb-paginator__page--number-item: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);outline-offset:var(--sbb-border-width-2x)}.sbb-paginator__page--number-item[data-selected]{font-weight:700;--sbb-paginator-page-color: var(--sbb-color-charcoal);--sbb-paginator-page-border-width: var(--sbb-border-width-2x);--sbb-paginator-page-border-style: solid;--sbb-paginator-page-border-color: var(--sbb-color-charcoal)}:host([negative]) .sbb-paginator__page--number-item[data-selected]{--sbb-paginator-page-color: var(--sbb-color-milk);--sbb-paginator-page-border-color: var(--sbb-color-white)}@media (forced-colors: active){.sbb-paginator__page--number-item[data-selected]{--sbb-paginator-page-border-color: Highlight !important}}.sbb-paginator__page--number-item:disabled{--sbb-paginator-page-color: var(--sbb-color-smoke);--sbb-paginator-page-border-style: dashed;--sbb-paginator-page-border-color: var(--sbb-color-smoke);--sbb-paginator-page-background-color: var(--sbb-color-milk);--sbb-paginator-page-cursor: default}.sbb-paginator__page--number-item:disabled:not([data-selected]){--sbb-paginator-page-border-width: var(--sbb-border-width-1x)}:host([negative]) .sbb-paginator__page--number-item:disabled{--sbb-paginator-page-color: var(--sbb-color-aluminium);--sbb-paginator-page-background-color: var(--sbb-color-charcoal)}@media (forced-colors: active){.sbb-paginator__page--number-item:disabled{--sbb-paginator-page-border-color: GrayText;--sbb-paginator-page-color: GrayText;--sbb-paginator-page-background-color: Canvas}}@media (any-hover: hover){.sbb-paginator__page--number-item:not(:disabled):hover{--sbb-paginator-page-background-color: var(--sbb-color-milk);--sbb-paginator-page-inset: calc(var(--sbb-border-width-2x) * -1);--sbb-paginator-translate-y-content-hover: -.0625rem}:host([negative]) .sbb-paginator__page--number-item:not(:disabled):hover{--sbb-paginator-page-background-color: var(--sbb-color-charcoal)}}@media (any-hover: hover) and (forced-colors: active){.sbb-paginator__page--number-item:not(:disabled):hover{--sbb-paginator-page-background-color: Highlight !important}}.sbb-paginator__page--number-item:not(:disabled):active{--sbb-paginator-page-color: var(--sbb-color-charcoal);--sbb-paginator-page-background-color: var(--sbb-color-cloud);--sbb-paginator-page-inset: 0;--sbb-paginator-translate-y-content-hover: 0}:host([negative]) .sbb-paginator__page--number-item:not(:disabled):active{--sbb-paginator-page-color: var(--sbb-color-milk);--sbb-paginator-page-background-color: var(--sbb-color-iron)}@media (forced-colors: active){.sbb-paginator__page--number-item:not(:disabled):active{--sbb-paginator-page-background-color: Highlight !important}}.sbb-paginator__page--number-item-label{transition:transform var(--sbb-paginator-animation-duration) var(--sbb-paginator-animation-easing);transform:translateY(var(--sbb-paginator-translate-y-content-hover, 0rem))}.sbb-screen-reader-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}`, l = 3;
17
+ const M = E`*,:before,:after{box-sizing:border-box}:host{display:block;--sbb-paginator-height: var(--sbb-size-element-m);--sbb-paginator-page-color: var(--sbb-color-metal);--sbb-paginator-page-background-color: transparent;--sbb-paginator-page-border-width: 0;--sbb-paginator-page-border-style: none;--sbb-paginator-page-border-color: none;--sbb-paginator-page-cursor: pointer;--sbb-paginator-page-inset: 0;--sbb-paginator-animation-easing: var(--sbb-animation-easing);--sbb-paginator-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-2x) );--sbb-paginator-justify-content: start;--sbb-paginator-wrapping-group-wrap: wrap-reverse;--sbb-paginator-wrap: wrap}:host([size=s]){--sbb-paginator-height: var(--sbb-size-element-xs)}:host([negative]){--sbb-paginator-page-color: var(--sbb-color-smoke);--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark)}:host([pager-position=end]){--sbb-paginator-justify-content: end;--sbb-paginator-wrapping-group-wrap: wrap;--sbb-paginator-wrap: wrap-reverse}.sbb-paginator,.sbb-paginator__wrapping-group{display:flex;gap:var(--sbb-spacing-fixed-3x) var(--sbb-spacing-fixed-6x);justify-content:var(--sbb-paginator-justify-content)}.sbb-paginator{flex-wrap:var(--sbb-paginator-wrap);min-height:var(--sbb-paginator-height)}.sbb-paginator__wrapping-group{flex-wrap:var(--sbb-paginator-wrapping-group-wrap)}.sbb-paginator__page-size-options{--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);display:flex;align-items:center;gap:var(--sbb-spacing-fixed-2x);white-space:nowrap;color:var(--sbb-paginator-page-color)}.sbb-paginator__page-size-options sbb-select{--sbb-text-font-size: var(--sbb-font-size-text-m);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);color:var(--sbb-form-field-text-color);font-size:var(--sbb-form-field-input-text-size);padding-inline-end:var(--sbb-form-field-select-inline-padding-end)}.sbb-paginator__pages{list-style:none;margin:0;padding:0;font-size:inherit;display:flex;align-items:center;justify-content:center;gap:var(--sbb-spacing-fixed-1x);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.sbb-paginator__page--ellipsis,.sbb-paginator__page--number{--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);position:relative;color:var(--sbb-paginator-page-color)}.sbb-paginator__page--ellipsis-item,.sbb-paginator__page--number-item{display:flex;justify-content:center;align-items:center;width:var(--sbb-size-element-xxs);height:var(--sbb-size-element-xxs)}.sbb-paginator__page--number-item{-webkit-appearance:none;-moz-appearance:none;box-sizing:border-box;margin:0;outline:none;border:none;border-radius:0;padding:0;background:none;-webkit-tap-highlight-color:transparent;color:inherit;--sbb-text-font-size: var(--sbb-font-size-text-s);font-family:var(--sbb-typo-font-family);font-weight:400;line-height:var(--sbb-typo-line-height-body-text);letter-spacing:var(--sbb-typo-letter-spacing-body-text);font-size:var(--sbb-text-font-size);position:relative;cursor:var(--sbb-paginator-page-cursor);outline:none!important;color:var(--sbb-paginator-page-color);transition:color var(--sbb-paginator-animation-duration) var(--sbb-paginator-animation-easing)}.sbb-paginator__page--number-item:before{content:"";position:absolute;background-color:var(--sbb-paginator-page-background-color);border:var(--sbb-paginator-page-border-width) var(--sbb-paginator-page-border-style) var(--sbb-paginator-page-border-color);border-radius:var(--sbb-border-radius-infinity);inset:var(--sbb-paginator-page-inset);transition-property:background-color,border,inset;transition-duration:var(--sbb-paginator-animation-duration);transition-timing-function:var(--sbb-paginator-animation-easing)}.sbb-paginator__page--number-item: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);outline-offset:var(--sbb-border-width-2x)}.sbb-paginator__page--number-item[data-selected]{font-weight:700;--sbb-paginator-page-color: var(--sbb-color-charcoal);--sbb-paginator-page-border-width: var(--sbb-border-width-2x);--sbb-paginator-page-border-style: solid;--sbb-paginator-page-border-color: var(--sbb-color-charcoal)}:host([negative]) .sbb-paginator__page--number-item[data-selected]{--sbb-paginator-page-color: var(--sbb-color-milk);--sbb-paginator-page-border-color: var(--sbb-color-white)}@media (forced-colors: active){.sbb-paginator__page--number-item[data-selected]{--sbb-paginator-page-border-color: Highlight !important}}.sbb-paginator__page--number-item:disabled{--sbb-paginator-page-color: var(--sbb-color-smoke);--sbb-paginator-page-border-style: dashed;--sbb-paginator-page-border-color: var(--sbb-color-smoke);--sbb-paginator-page-background-color: var(--sbb-color-milk);--sbb-paginator-page-cursor: default}.sbb-paginator__page--number-item:disabled:not([data-selected]){--sbb-paginator-page-border-width: var(--sbb-border-width-1x)}:host([negative]) .sbb-paginator__page--number-item:disabled{--sbb-paginator-page-color: var(--sbb-color-aluminium);--sbb-paginator-page-background-color: var(--sbb-color-charcoal)}@media (forced-colors: active){.sbb-paginator__page--number-item:disabled{--sbb-paginator-page-border-color: GrayText;--sbb-paginator-page-color: GrayText;--sbb-paginator-page-background-color: Canvas}}@media (any-hover: hover){.sbb-paginator__page--number-item:not(:disabled):hover{--sbb-paginator-page-background-color: var(--sbb-color-milk);--sbb-paginator-page-inset: calc(var(--sbb-border-width-2x) * -1);--sbb-paginator-translate-y-content-hover: -.0625rem}:host([negative]) .sbb-paginator__page--number-item:not(:disabled):hover{--sbb-paginator-page-background-color: var(--sbb-color-charcoal)}}@media (any-hover: hover) and (forced-colors: active){.sbb-paginator__page--number-item:not(:disabled):hover{--sbb-paginator-page-background-color: Highlight !important}}.sbb-paginator__page--number-item:not(:disabled):active{--sbb-paginator-page-color: var(--sbb-color-charcoal);--sbb-paginator-page-background-color: var(--sbb-color-cloud);--sbb-paginator-page-inset: 0;--sbb-paginator-translate-y-content-hover: 0}:host([negative]) .sbb-paginator__page--number-item:not(:disabled):active{--sbb-paginator-page-color: var(--sbb-color-milk);--sbb-paginator-page-background-color: var(--sbb-color-iron)}@media (forced-colors: active){.sbb-paginator__page--number-item:not(:disabled):active{--sbb-paginator-page-background-color: Highlight !important}}.sbb-paginator__page--number-item-label{transition:transform var(--sbb-paginator-animation-duration) var(--sbb-paginator-animation-easing);transform:translateY(var(--sbb-paginator-translate-y-content-hover, 0rem))}.sbb-screen-reader-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}`, l = 3;
18
18
  let Q = (() => {
19
19
  var p, g, s;
20
20
  let t = [A("sbb-paginator")], r, i = [], o, v = T(j), f, _ = [], y = [], x, z = [], w = [];
@@ -130,7 +130,7 @@ let Q = (() => {
130
130
  data-index=${e}
131
131
  aria-label="${N[this.language.current]} ${e + 1}"
132
132
  aria-current=${this.pageIndex === e ? "true" : S}
133
- @click=${() => this.pageIndexChanged(e)}
133
+ @click=${() => this.pageIndex = e}
134
134
  @keyup=${this._handleKeyUp}
135
135
  >
136
136
  <span class="sbb-paginator__page--number-item-label">${e + 1}</span>
@@ -160,7 +160,7 @@ let Q = (() => {
160
160
  } }, metadata: e }, _, y), h(s, null, x, { kind: "accessor", name: "pagerPosition", static: !1, private: !1, access: { has: (a) => "pagerPosition" in a, get: (a) => a.pagerPosition, set: (a, n) => {
161
161
  a.pagerPosition = n;
162
162
  } }, metadata: e }, z, w), h(null, r = { value: o }, t, { kind: "class", name: o.name, metadata: e }, null, i), o = r.value, e && Object.defineProperty(o, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
163
- })(), s.styles = C, s.events = {
163
+ })(), s.styles = M, s.events = {
164
164
  page: "page"
165
165
  }, d(o, i), o;
166
166
  })();
@@ -106,7 +106,7 @@ summary {
106
106
 
107
107
  /**
108
108
  * Do not edit directly
109
- * Generated on Wed, 19 Mar 2025 15:25:09 GMT
109
+ * Generated on Thu, 17 Apr 2025 11:20:53 GMT
110
110
  */
111
111
  *,
112
112
  ::before,
@@ -685,6 +685,10 @@ summary {
685
685
  * Original Value: 64px
686
686
  */
687
687
  --sbb-size-element-l-ultra: 4rem;
688
+ /**
689
+ * Original Value: 16px
690
+ */
691
+ --sbb-size-icon-ui-extra-small: 1rem;
688
692
  /**
689
693
  * Original Value: 24px
690
694
  */
@@ -1219,7 +1223,7 @@ summary {
1219
1223
  --sbb-time-input-max-width: 3.625rem;
1220
1224
  --sbb-time-input-s-max-width: 3.1875rem;
1221
1225
  --sbb-overlay-default-z-index: 1000;
1222
- --sbb-border-radius-infinity: 10000000em;
1226
+ --sbb-border-radius-infinity: 100000em;
1223
1227
  }
1224
1228
  :root:has(sbb-header[size=s]) {
1225
1229
  --sbb-header-height: 3.25rem;
@@ -1323,6 +1327,11 @@ sbb-form-field :where(select) {
1323
1327
  sbb-form-field :where(select, sbb-select) {
1324
1328
  padding-inline-end: var(--sbb-form-field-select-inline-padding-end);
1325
1329
  }
1330
+ sbb-form-field[size=s] :where(input, sbb-date-input) {
1331
+ height: calc(var(--sbb-form-field-input-text-size) * 1.25);
1332
+ line-height: 1 !important;
1333
+ margin-block: calc(0.5 * var(--sbb-form-field-input-text-size) * (var(--sbb-typo-line-height-body-text) - 1.25));
1334
+ }
1326
1335
  sbb-form-field :where(textarea) {
1327
1336
  --sbb-scrollbar-thumb-width: 0.125rem;
1328
1337
  --sbb-scrollbar-thumb-width-hover: 0.25rem;
@@ -1645,6 +1654,12 @@ sbb-form-field .sbb-select-trigger {
1645
1654
  top: 0;
1646
1655
  }
1647
1656
 
1657
+ sbb-toggle:has(:focus-visible) {
1658
+ outline-offset: var(--sbb-focus-outline-offset);
1659
+ outline: var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);
1660
+ --sbb-focus-outline-offset: 0.3125rem;
1661
+ }
1662
+
1648
1663
  sub {
1649
1664
  bottom: -0.36em;
1650
1665
  }
@@ -1,15 +1,18 @@
1
1
  import { CSSResultGroup, LitElement, PropertyValues, TemplateResult } from 'lit';
2
2
  declare const SbbTableWrapperElement_base: import('../../core/mixins.js').AbstractConstructor<import('../../core/mixins.js').SbbNegativeMixinType> & typeof LitElement;
3
3
  /**
4
- * Wraps a table to enhance its functionality
4
+ * Wraps a table to enhance its functionality.
5
5
  *
6
6
  * @slot - Use the unnamed slot to add the table.
7
7
  */
8
8
  export declare class SbbTableWrapperElement extends SbbTableWrapperElement_base {
9
9
  static styles: CSSResultGroup;
10
- private _resizeObserver;
11
- private _tableWrapper;
12
- protected firstUpdated(changedProperties: PropertyValues<this>): void;
10
+ /** Whether the table wrapper is focusable. */
11
+ accessor focusable: boolean;
12
+ constructor();
13
+ connectedCallback(): void;
14
+ protected willUpdate(changedProperties: PropertyValues<this>): void;
15
+ private _updateScrollbarClass;
13
16
  /**
14
17
  * Calculates whether the table is horizontally scrolled and adds the
15
18
  * corresponding class `sbb-table-wrapper-offset-${none | left | right | both}`
@@ -1 +1 @@
1
- {"version":3,"file":"table-wrapper.d.ts","sourceRoot":"","sources":["../../../../src/elements/table/table-wrapper/table-wrapper.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;;AAOb;;;;GAIG;AACH,qBAEM,sBAAuB,SAAQ,2BAA4B;IAC/D,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,OAAO,CAAC,eAAe,CAIpB;IACH,OAAO,CAAC,aAAa,CAAe;cAEjB,YAAY,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAU9E;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IAWvC,OAAO,CAAC,sBAAsB;cAiBX,MAAM,IAAI,cAAc;CAK5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
1
+ {"version":3,"file":"table-wrapper.d.ts","sourceRoot":"","sources":["../../../../src/elements/table/table-wrapper/table-wrapper.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,cAAc,EAGnB,UAAU,EACV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;;AAQb;;;;GAIG;AACH,qBAEM,sBAAuB,SAAQ,2BAA4B;IAC/D,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,8CAA8C;IAC9C,SAEgB,SAAS,EAAE,OAAO,CAAS;;IAqB3B,iBAAiB,IAAI,IAAI;cAStB,UAAU,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAkB5E,OAAO,CAAC,qBAAqB;IAa7B;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IAWvC,OAAO,CAAC,sBAAsB;cAeX,MAAM,IAAI,cAAc;CAG5C;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,mBAAmB,EAAE,sBAAsB,CAAC;KAC7C;CACF"}
@@ -1,50 +1,72 @@
1
- import { __esDecorate as i, __runInitializers as p } from "tslib";
2
- import { ResizeController as n } from "@lit-labs/observers/resize-controller.js";
3
- import { css as h, LitElement as d, html as u } from "lit";
4
- import { customElement as f } from "lit/decorators.js";
5
- import { SbbNegativeMixin as w } from "../../core/mixins.js";
6
- const v = h`*,:before,:after{box-sizing:border-box}:host{--sbb-table-wrapper-border-radius: var(--sbb-border-radius-4x);display:block}::slotted(.sbb-table){width:100%}.sbb-table-wrapper{height:100%;overflow:auto;--sbb-scrollbar-thumb-width: .5rem;--sbb-scrollbar-thumb-width-hover: var(--sbb-scrollbar-thumb-width);--sbb-scrollbar-width-firefox: auto;--sbb-scrollbar-color: var(--sbb-color-black-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-black-alpha-60);--sbb-scrollbar-track-color: var(--sbb-color-cloud);--sbb-scrollbar-width: var(--sbb-spacing-fixed-3x)}.sbb-table-wrapper::-webkit-scrollbar{width:var(--sbb-scrollbar-width);height:var(--sbb-scrollbar-width);background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-table-wrapper::-webkit-scrollbar-corner{background-color:var(--sbb-scrollbar-track-color, transparent)}.sbb-table-wrapper::-webkit-scrollbar-thumb{background-color:var(--sbb-scrollbar-color, currentcolor);border:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width))) solid transparent;border-radius:var(--sbb-border-radius-4x);background-clip:padding-box}.sbb-table-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--sbb-scrollbar-color-hover, currentcolor);border-width:calc(.5 * (var(--sbb-scrollbar-width) - var(--sbb-scrollbar-thumb-width-hover)))}.sbb-table-wrapper::-webkit-scrollbar-button,.sbb-table-wrapper::-webkit-scrollbar-corner{display:none}@supports not selector(::-webkit-scrollbar){.sbb-table-wrapper{scrollbar-width:var(--sbb-scrollbar-width-firefox);scrollbar-color:var(--sbb-scrollbar-color, currentcolor) var(--sbb-scrollbar-track-color, transparent)}}:host([negative]) .sbb-table-wrapper{--sbb-scrollbar-color: var(--sbb-color-white-alpha-30);--sbb-scrollbar-color-hover: var(--sbb-color-white-alpha-60);--sbb-scrollbar-track-color: var(--sbb-color-iron)}:host(:not(.sbb-table-wrapper-offset-none)) .sbb-table-wrapper{padding-bottom:var(--sbb-spacing-fixed-1x)}`;
7
- let S = (() => {
8
- var b;
9
- let o = [f("sbb-table-wrapper")], a, e = [], t, l = w(d);
10
- return b = class extends l {
1
+ var h = (t) => {
2
+ throw TypeError(t);
3
+ };
4
+ var d = (t, s, l) => s.has(t) || h("Cannot " + l);
5
+ var p = (t, s, l) => (d(t, s, "read from private field"), l ? l.call(t) : s.get(t)), m = (t, s, l) => s.has(t) ? h("Cannot add the same private member more than once") : s instanceof WeakSet ? s.add(t) : s.set(t, l), v = (t, s, l, i) => (d(t, s, "write to private field"), i ? i.call(t, l) : s.set(t, l), l);
6
+ import { __esDecorate as _, __runInitializers as c } from "tslib";
7
+ import { ResizeController as S } from "@lit-labs/observers/resize-controller.js";
8
+ import { css as w, LitElement as y, isServer as g, html as x } from "lit";
9
+ import { customElement as L, property as z } from "lit/decorators.js";
10
+ import { forceType as C } from "../../core/decorators.js";
11
+ import { SbbNegativeMixin as O } from "../../core/mixins.js";
12
+ const E = w`*,:before,:after{box-sizing:border-box}:host{display:block;overflow:auto}:host(:not(.sbb-table-wrapper-offset-none)){padding-bottom:var(--sbb-spacing-fixed-1x)}: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)}::slotted(.sbb-table){width:100%}`;
13
+ let B = (() => {
14
+ var o, r;
15
+ let t = [L("sbb-table-wrapper")], s, l = [], i, b = O(y), n, f = [], u = [];
16
+ return r = class extends b {
11
17
  constructor() {
12
- super(...arguments), this._resizeObserver = new n(this, {
13
- target: null,
18
+ var a;
19
+ super();
20
+ m(this, o, c(this, f, !1));
21
+ c(this, u);
22
+ const e = this.attachInternals();
23
+ e.role = "section", this.addController(new S(this, {
14
24
  skipInitial: !0,
15
25
  callback: () => this._checkHorizontalScrollbarOffset()
26
+ })), (a = this.addEventListener) == null || a.call(this, "scroll", () => this._checkHorizontalScrollbarOffset(), {
27
+ passive: !0
16
28
  });
17
29
  }
18
- firstUpdated(r) {
19
- super.firstUpdated(r), this._tableWrapper = this.shadowRoot.querySelector(".sbb-table-wrapper"), this._tableWrapper.addEventListener("scroll", () => this._checkHorizontalScrollbarOffset(), {
20
- passive: !0
21
- }), this._resizeObserver.observe(this._tableWrapper);
30
+ /** Whether the table wrapper is focusable. */
31
+ get focusable() {
32
+ return p(this, o);
33
+ }
34
+ set focusable(e) {
35
+ v(this, o, e);
36
+ }
37
+ connectedCallback() {
38
+ super.connectedCallback(), this._updateScrollbarClass();
39
+ }
40
+ willUpdate(e) {
41
+ super.willUpdate(e), e.has("focusable") && (this.focusable ? this.hasAttribute("tabindex") || this.setAttribute("tabindex", "0") : this.removeAttribute("tabindex")), e.has("negative") && this._updateScrollbarClass();
42
+ }
43
+ _updateScrollbarClass() {
44
+ g || (this.negative ? (this.classList.remove("sbb-scrollbar-thick-track-visible"), this.classList.add("sbb-scrollbar-thick-negative-track-visible")) : (this.classList.remove("sbb-scrollbar-thick-negative-track-visible"), this.classList.add("sbb-scrollbar-thick-track-visible")));
22
45
  }
23
46
  /**
24
47
  * Calculates whether the table is horizontally scrolled and adds the
25
48
  * corresponding class `sbb-table-wrapper-offset-${none | left | right | both}`
26
49
  */
27
50
  _checkHorizontalScrollbarOffset() {
28
- const r = this._calculateScrollOffset();
29
- this.classList.remove("sbb-table-wrapper-offset-none", "sbb-table-wrapper-offset-left", "sbb-table-wrapper-offset-right", "sbb-table-wrapper-offset-both"), this.classList.add(`sbb-table-wrapper-offset-${r}`);
51
+ const e = this._calculateScrollOffset();
52
+ this.classList.remove("sbb-table-wrapper-offset-none", "sbb-table-wrapper-offset-left", "sbb-table-wrapper-offset-right", "sbb-table-wrapper-offset-both"), this.classList.add(`sbb-table-wrapper-offset-${e}`);
30
53
  }
31
54
  _calculateScrollOffset() {
32
- const r = this._tableWrapper;
33
- if (r.scrollWidth === r.offsetWidth)
55
+ if (this.scrollWidth === this.offsetWidth)
34
56
  return "none";
35
- const c = r.scrollLeft === 0, s = r.scrollWidth - r.scrollLeft - r.offsetWidth <= 1;
36
- return c ? s ? "none" : "right" : s ? "left" : "both";
57
+ const e = this.scrollLeft === 0, a = this.scrollWidth - this.scrollLeft - this.offsetWidth <= 1;
58
+ return e ? a ? "none" : "right" : a ? "left" : "both";
37
59
  }
38
60
  render() {
39
- return u`<div class="sbb-table-wrapper">
40
- <slot></slot>
41
- </div>`;
42
- }
43
- }, t = b, (() => {
44
- const r = typeof Symbol == "function" && Symbol.metadata ? Object.create(l[Symbol.metadata] ?? null) : void 0;
45
- i(null, a = { value: t }, o, { kind: "class", name: t.name, metadata: r }, null, e), t = a.value, r && Object.defineProperty(t, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: r });
46
- })(), b.styles = v, p(t, e), t;
61
+ return x`<slot></slot>`;
62
+ }
63
+ }, o = new WeakMap(), i = r, (() => {
64
+ const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(b[Symbol.metadata] ?? null) : void 0;
65
+ n = [C(), z({ reflect: !0, type: Boolean })], _(r, null, n, { kind: "accessor", name: "focusable", static: !1, private: !1, access: { has: (a) => "focusable" in a, get: (a) => a.focusable, set: (a, k) => {
66
+ a.focusable = k;
67
+ } }, metadata: e }, f, u), _(null, s = { value: i }, t, { kind: "class", name: i.name, metadata: e }, null, l), i = s.value, e && Object.defineProperty(i, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
68
+ })(), r.styles = E, c(i, l), i;
47
69
  })();
48
70
  export {
49
- S as SbbTableWrapperElement
71
+ B as SbbTableWrapperElement
50
72
  };
@@ -1 +1 @@
1
- {"version":3,"file":"teaser-hero.d.ts","sourceRoot":"","sources":["../../../src/elements/teaser-hero/teaser-hero.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAW,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAIxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAK9D,OAAO,8BAA8B,CAAC;AAEtC;;;;;;;GAOG;AACH,qBAGM,oBAAqB,SAAQ,kBAAkB;IACnD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,uBAAuB;IACvB,SAEgB,WAAW,EAAE,MAAM,CAAM;IAEzC,OAAO,CAAC,iBAAiB;cAIN,cAAc,IAAI,cAAc;CAqBpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,iBAAiB,EAAE,oBAAoB,CAAC;KACzC;CACF"}
1
+ {"version":3,"file":"teaser-hero.d.ts","sourceRoot":"","sources":["../../../src/elements/teaser-hero/teaser-hero.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAI/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAK9D,OAAO,8BAA8B,CAAC;AAEtC;;;;;;;GAOG;AACH,qBAGM,oBAAqB,SAAQ,kBAAkB;IACnD,OAAuB,MAAM,EAAE,cAAc,CAAS;IAEtD,uBAAuB;IACvB,SAEgB,WAAW,EAAE,MAAM,CAAM;IAEzC,OAAO,CAAC,iBAAiB;cAIN,cAAc,IAAI,cAAc;CAmBpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,iBAAiB,EAAE,oBAAoB,CAAC;KACzC;CACF"}