@sbb-esta/lyne-elements 3.11.0 → 3.12.1

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 (188) hide show
  1. package/action-group/action-group.component.js +1 -1
  2. package/alert/alert/alert.component.js +1 -1
  3. package/autocomplete/autocomplete-base-element.d.ts +5 -0
  4. package/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  5. package/autocomplete/autocomplete-base-element.js +72 -59
  6. package/autocomplete-grid/autocomplete-grid-button/autocomplete-grid-button.component.js +1 -1
  7. package/autocomplete-grid/autocomplete-grid-option/autocomplete-grid-option.component.js +1 -1
  8. package/autocomplete-grid/autocomplete-grid-row/autocomplete-grid-row.component.js +1 -1
  9. package/badge.css +1 -0
  10. package/breadcrumb/breadcrumb/breadcrumb.component.js +4 -4
  11. package/breadcrumb/breadcrumb-group/breadcrumb-group.component.js +1 -1
  12. package/button/common.js +1 -1
  13. package/button/mini-button/mini-button.component.js +1 -1
  14. package/button.js +1 -1
  15. package/calendar/calendar.component.js +1 -1
  16. package/card/card/card.component.js +1 -1
  17. package/card/card-badge/card-badge.component.js +1 -1
  18. package/carousel/carousel-list/carousel-list.component.d.ts +8 -3
  19. package/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
  20. package/carousel/carousel-list/carousel-list.component.js +62 -40
  21. package/checkbox/checkbox-group/checkbox-group.component.js +1 -1
  22. package/chip/chip/chip.component.js +1 -1
  23. package/chip/chip-group/chip-group.component.js +1 -1
  24. package/chip-label/chip-label.component.js +1 -1
  25. package/container/container/container.component.js +11 -11
  26. package/container/sticky-bar/sticky-bar.component.js +9 -9
  27. package/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  28. package/core/mixins/form-associated-input-mixin.js +55 -38
  29. package/core/mixins.js +1 -1
  30. package/core/overlay/overlay-option-panel.d.ts +2 -1
  31. package/core/overlay/overlay-option-panel.d.ts.map +1 -1
  32. package/core/overlay/overlay-option-panel.js +8 -5
  33. package/core/overlay/position.d.ts +2 -0
  34. package/core/overlay/position.d.ts.map +1 -1
  35. package/core/overlay/position.js +19 -17
  36. package/core/styles/layout.scss +4 -0
  37. package/core/styles/mixins/badge.scss +3 -0
  38. package/core/styles/mixins/layout.scss +5 -4
  39. package/core/styles/mixins/link.scss +0 -11
  40. package/custom-elements.json +573 -263
  41. package/date-input/date-input.component.js +1 -1
  42. package/datepicker/datepicker-next-day/datepicker-next-day.component.js +1 -1
  43. package/datepicker/datepicker-previous-day/datepicker-previous-day.component.js +1 -1
  44. package/datepicker/datepicker-toggle/datepicker-toggle.component.js +1 -1
  45. package/development/autocomplete/autocomplete-base-element.d.ts +5 -0
  46. package/development/autocomplete/autocomplete-base-element.d.ts.map +1 -1
  47. package/development/autocomplete/autocomplete-base-element.js +25 -5
  48. package/development/breadcrumb/breadcrumb/breadcrumb.component.js +1 -2
  49. package/development/carousel/carousel-list/carousel-list.component.d.ts +8 -3
  50. package/development/carousel/carousel-list/carousel-list.component.d.ts.map +1 -1
  51. package/development/carousel/carousel-list/carousel-list.component.js +51 -19
  52. package/development/container/container/container.component.js +3 -3
  53. package/development/container/sticky-bar/sticky-bar.component.js +5 -5
  54. package/development/core/mixins/form-associated-input-mixin.d.ts.map +1 -1
  55. package/development/core/mixins/form-associated-input-mixin.js +47 -12
  56. package/development/core/overlay/overlay-option-panel.d.ts +2 -1
  57. package/development/core/overlay/overlay-option-panel.d.ts.map +1 -1
  58. package/development/core/overlay/overlay-option-panel.js +6 -3
  59. package/development/core/overlay/position.d.ts +2 -0
  60. package/development/core/overlay/position.d.ts.map +1 -1
  61. package/development/core/overlay/position.js +3 -2
  62. package/development/footer/footer.component.js +3 -3
  63. package/development/header/header/header.component.js +3 -3
  64. package/development/lead-container/lead-container.component.js +8 -7
  65. package/development/link/common/block-link-common.js +2 -12
  66. package/development/link/common/inline-link-common.js +2 -10
  67. package/development/link/common/link-common.js +1 -1
  68. package/development/link/common.js +1 -1
  69. package/development/{link-common-DPLJx5Uo.js → link-common-BDFF9Oiz.js} +1 -3
  70. package/development/link-list/link-list-anchor/link-list-anchor.component.js +1 -2
  71. package/development/link.js +1 -1
  72. package/development/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -1
  73. package/development/mini-calendar/mini-calendar/mini-calendar.component.js +5 -7
  74. package/development/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +3 -3
  75. package/development/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  76. package/development/option/optgroup/optgroup-base-element.js +2 -1
  77. package/development/option/option/option-base-element.js +2 -2
  78. package/development/paginator/common/paginator-common.d.ts +2 -1
  79. package/development/paginator/common/paginator-common.d.ts.map +1 -1
  80. package/development/paginator/common/paginator-common.js +87 -49
  81. package/development/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  82. package/development/paginator/compact-paginator/compact-paginator.component.js +3 -2
  83. package/development/paginator/paginator/paginator.component.d.ts +6 -0
  84. package/development/paginator/paginator/paginator.component.d.ts.map +1 -1
  85. package/development/paginator/paginator/paginator.component.js +19 -4
  86. package/development/select/select.component.d.ts +12 -8
  87. package/development/select/select.component.d.ts.map +1 -1
  88. package/development/select/select.component.js +97 -85
  89. package/development/tag/tag/tag.component.js +2 -1
  90. package/dialog/dialog/dialog.component.js +1 -1
  91. package/dialog/dialog-actions/dialog-actions.component.js +1 -1
  92. package/expansion-panel/expansion-panel/expansion-panel.component.js +1 -1
  93. package/expansion-panel/expansion-panel-content/expansion-panel-content.component.js +1 -1
  94. package/expansion-panel/expansion-panel-header/expansion-panel-header.component.js +1 -1
  95. package/file-selector/common.js +1 -1
  96. package/file-selector-common-BEWjyy75.js +5 -0
  97. package/file-selector.js +1 -1
  98. package/flip-card/flip-card/flip-card.component.js +1 -1
  99. package/flip-card/flip-card-summary/flip-card-summary.component.js +1 -1
  100. package/footer/footer.component.js +8 -8
  101. package/form-error/form-error.component.js +1 -1
  102. package/form-field/form-field/form-field.component.js +1 -1
  103. package/form-field/form-field-clear/form-field-clear.component.js +1 -1
  104. package/header/common/header-action-common.js +1 -1
  105. package/header/header/header.component.js +32 -32
  106. package/icon-sidebar-button-common-XcKoF2SP.js +7 -0
  107. package/layout.css +9 -3
  108. package/lead-container/lead-container.component.js +8 -8
  109. package/link/common/block-link-common.js +25 -25
  110. package/link/common/inline-link-common.js +7 -7
  111. package/link/common/link-common.js +1 -1
  112. package/link/common.js +1 -1
  113. package/link-common-nA3q92jp.js +46 -0
  114. package/link-list/link-list/link-list.component.js +1 -1
  115. package/link-list/link-list-anchor/link-list-anchor.component.js +5 -5
  116. package/link.js +1 -1
  117. package/loading-indicator-circle/loading-indicator-circle.component.js +1 -1
  118. package/logo/logo.component.js +1 -1
  119. package/map-container/map-container.component.js +1 -1
  120. package/menu/common/menu-action-common.js +1 -1
  121. package/menu/menu/menu.component.js +1 -1
  122. package/mini-calendar/mini-calendar/mini-calendar.component.d.ts.map +1 -1
  123. package/mini-calendar/mini-calendar/mini-calendar.component.js +5 -9
  124. package/mini-calendar/mini-calendar-day/mini-calendar-day.component.js +1 -1
  125. package/mini-calendar/mini-calendar-month/mini-calendar-month.component.js +16 -16
  126. package/navigation/common/navigation-action-common.js +1 -1
  127. package/navigation/navigation/navigation.component.js +1 -1
  128. package/navigation/navigation-marker/navigation-marker.component.js +1 -1
  129. package/navigation/navigation-section/navigation-section.component.js +1 -1
  130. package/notification/notification.component.js +1 -1
  131. package/off-brand-theme.css +10 -3
  132. package/option/optgroup/optgroup-base-element.d.ts.map +1 -1
  133. package/option/optgroup/optgroup-base-element.js +5 -5
  134. package/option/option/option-base-element.js +1 -1
  135. package/option/option/option.component.js +1 -1
  136. package/overlay/overlay.component.js +1 -1
  137. package/package.json +1 -1
  138. package/paginator/common/paginator-common.d.ts +2 -1
  139. package/paginator/common/paginator-common.d.ts.map +1 -1
  140. package/paginator/common/paginator-common.js +102 -81
  141. package/paginator/compact-paginator/compact-paginator.component.d.ts.map +1 -1
  142. package/paginator/compact-paginator/compact-paginator.component.js +2 -1
  143. package/paginator/paginator/paginator.component.d.ts +6 -0
  144. package/paginator/paginator/paginator.component.d.ts.map +1 -1
  145. package/paginator/paginator/paginator.component.js +57 -45
  146. package/popover/popover/popover.component.js +1 -1
  147. package/popover/popover-trigger/popover-trigger.component.js +1 -1
  148. package/radio-button/common.js +1 -1
  149. package/radio-button/radio-button-group/radio-button-group.component.js +1 -1
  150. package/radio-button-common-Bw2t3Sxz.js +5 -0
  151. package/radio-button.js +1 -1
  152. package/safety-theme.css +10 -3
  153. package/select/select.component.d.ts +12 -8
  154. package/select/select.component.d.ts.map +1 -1
  155. package/select/select.component.js +136 -128
  156. package/selection-expansion-panel/selection-expansion-panel.component.js +1 -1
  157. package/sidebar/common.js +1 -1
  158. package/sidebar/sidebar-container/sidebar-container.component.js +1 -1
  159. package/sidebar.js +1 -1
  160. package/signet/signet.component.js +1 -1
  161. package/slider/slider.component.js +1 -1
  162. package/standard-theme.css +10 -3
  163. package/stepper/step-label/step-label.component.js +1 -1
  164. package/stepper/stepper/stepper.component.js +1 -1
  165. package/tabs/tab-label/tab-label.component.js +1 -1
  166. package/tag/tag/tag.component.js +4 -4
  167. package/teaser/teaser.component.js +1 -1
  168. package/teaser-hero/teaser-hero.component.js +1 -1
  169. package/teaser-product/common.js +1 -1
  170. package/teaser-product/teaser-product/teaser-product.component.js +1 -1
  171. package/teaser-product-common-Du28QCY3.js +5 -0
  172. package/teaser-product.js +1 -1
  173. package/time-input/time-input.component.js +1 -1
  174. package/timetable-occupancy/timetable-occupancy.component.js +1 -1
  175. package/timetable-occupancy-icon/timetable-occupancy-icon.component.js +1 -1
  176. package/toggle/toggle/toggle.component.js +1 -1
  177. package/toggle-check/toggle-check.component.js +1 -1
  178. package/train/train-blocked-passage/train-blocked-passage.component.js +1 -1
  179. package/train/train-formation/train-formation.component.js +1 -1
  180. package/train/train-wagon/train-wagon.component.js +1 -1
  181. package/transparent-button-DJIkG5hj.js +9 -0
  182. package/visual-checkbox/visual-checkbox.component.js +1 -1
  183. package/file-selector-common-D88J9PEh.js +0 -5
  184. package/icon-sidebar-button-common-BeRXvifI.js +0 -7
  185. package/link-common-BBKGg9HN.js +0 -46
  186. package/radio-button-common-Nm9ULjVb.js +0 -5
  187. package/teaser-product-common-DIra6aVg.js +0 -5
  188. package/transparent-button-Bg9fU_iZ.js +0 -9
@@ -1,101 +1,112 @@
1
- var E = (i) => {
2
- throw TypeError(i);
1
+ var K = (a) => {
2
+ throw TypeError(a);
3
3
  };
4
- var T = (i, r, l) => r.has(i) || E("Cannot " + l);
5
- var x = (i, r, l) => (T(i, r, "read from private field"), l ? l.call(i) : r.get(i)), _ = (i, r, l) => r.has(i) ? E("Cannot add the same private member more than once") : r instanceof WeakSet ? r.add(i) : r.set(i, l), n = (i, r, l, o) => (T(i, r, "write to private field"), o ? o.call(i, l) : r.set(i, l), l);
6
- import { __runInitializers as g, __esDecorate as c } from "tslib";
7
- import { html as U } from "lit";
8
- import { property as h } from "lit/decorators.js";
9
- import { sbbInputModalityDetector as A } from "../../core/a11y/input-modality-detector.js";
10
- import { SbbLanguageController as F } from "../../core/controllers.js";
11
- import { forceType as m } from "../../core/decorators.js";
12
- import { isLean as G } from "../../core/dom.js";
13
- import { i18nPage as H, i18nPaginatorSelected as J, i18nPreviousPage as K, i18nNextPage as Q } from "../../core/i18n.js";
14
- import { SbbNegativeMixin as V, SbbDisabledMixin as W, SbbElementInternalsMixin as X } from "../../core/mixins.js";
4
+ var Q = (a, n, g) => n.has(a) || K("Cannot " + g);
5
+ var c = (a, n, g) => (Q(a, n, "read from private field"), g ? g.call(a) : n.get(a)), h = (a, n, g) => n.has(a) ? K("Cannot add the same private member more than once") : n instanceof WeakSet ? n.add(a) : n.set(a, g), s = (a, n, g, z) => (Q(a, n, "write to private field"), z ? z.call(a, g) : n.set(a, g), g);
6
+ import { __runInitializers as l, __esDecorate as o } from "tslib";
7
+ import { html as V } from "lit";
8
+ import { property as b } from "lit/decorators.js";
9
+ import { sbbInputModalityDetector as W } from "../../core/a11y/input-modality-detector.js";
10
+ import { SbbLanguageController as X } from "../../core/controllers.js";
11
+ import { forceType as I } from "../../core/decorators.js";
12
+ import { isLean as Y } from "../../core/dom.js";
13
+ import { i18nPage as Z, i18nPaginatorSelected as C, i18nPreviousPage as ee, i18nNextPage as te } from "../../core/i18n.js";
14
+ import { SbbNegativeMixin as ie, SbbDisabledMixin as ae, SbbElementInternalsMixin as se } from "../../core/mixins.js";
15
15
  import "../../button/mini-button.js";
16
16
  import "../../button/mini-button-group.js";
17
17
  import "../../divider.js";
18
- const oe = (i) => (() => {
19
- var b, p, u, d, P, a;
20
- let l = V(W(X(i))), o = [], y, z, v, f, I = [], L = [], S, N = [], M = [], k, $ = [], R = [], w, O = [], B = [], D, j = [], q = [];
21
- return a = class extends l {
18
+ const _e = (a) => (() => {
19
+ var p, d, u, P, x, m, _, y, r;
20
+ let g = ie(ae(se(a))), z, v = [], f = [], L, S = [], N = [], k, M = [], $ = [], w, E = [], R = [], O, A = [], B = [], D, U = [], j = [], q, T = [], F = [], G, H = [], J = [];
21
+ return r = class extends g {
22
22
  constructor() {
23
23
  super(...arguments);
24
- _(this, b);
25
- _(this, p);
26
- _(this, u);
27
- _(this, d);
28
- _(this, P);
29
- this._length = (g(this, o), 0), this._pageSize = 10, this._pageIndex = 0, n(this, b, g(this, I, "start")), n(this, p, (g(this, L), g(this, N, G() ? "s" : "m"))), n(this, u, (g(this, M), g(this, $, ""))), n(this, d, (g(this, R), g(this, O, ""))), n(this, P, (g(this, B), g(this, j, ""))), this.language = (g(this, q), new F(this)), this._previousPageSize = this._pageSize;
24
+ h(this, p);
25
+ h(this, d);
26
+ h(this, u);
27
+ h(this, P);
28
+ h(this, x);
29
+ h(this, m);
30
+ h(this, _);
31
+ h(this, y);
32
+ s(this, p, l(this, v, 0)), s(this, d, (l(this, f), l(this, S, 10))), s(this, u, (l(this, N), l(this, M, 0))), s(this, P, (l(this, $), l(this, E, "start"))), s(this, x, (l(this, R), l(this, A, Y() ? "s" : "m"))), s(this, m, (l(this, B), l(this, U, ""))), s(this, _, (l(this, j), l(this, T, ""))), s(this, y, (l(this, F), l(this, H, ""))), this.language = (l(this, J), new X(this));
30
33
  }
31
34
  /** Total number of items. */
32
- set length(t) {
33
- this._length = isNaN(t) || t < 0 ? 0 : t, this.pageIndex = this.pageIndex;
34
- }
35
35
  get length() {
36
- return this._length;
36
+ return c(this, p);
37
37
  }
38
- /** Number of items per page. */
39
- set pageSize(t) {
40
- this._previousPageSize = this.pageSize, this._pageSize = Math.max(t, 0), this.pageIndex = Math.floor(this.pageIndex * this._previousPageSize / this.pageSize) || 0;
38
+ set length(t) {
39
+ s(this, p, t);
41
40
  }
41
+ /** Number of items per page. */
42
42
  get pageSize() {
43
- return this._pageSize;
43
+ return c(this, d);
44
44
  }
45
- /** Current page index. */
46
- set pageIndex(t) {
47
- const e = this._pageIndex;
48
- this._pageIndex = this._coercePageIndexInRange(t), this.emitPageEvent(e);
45
+ set pageSize(t) {
46
+ s(this, d, t);
49
47
  }
48
+ /** Current page index. */
50
49
  get pageIndex() {
51
- return this._pageIndex;
50
+ return c(this, u);
51
+ }
52
+ set pageIndex(t) {
53
+ s(this, u, t);
52
54
  }
53
55
  /** Position of the prev/next buttons. */
54
56
  get pagerPosition() {
55
- return x(this, b);
57
+ return c(this, P);
56
58
  }
57
59
  set pagerPosition(t) {
58
- n(this, b, t);
60
+ s(this, P, t);
59
61
  }
60
62
  /**
61
63
  * Size variant, either m or s.
62
64
  * @default 'm' / 's' (lean)
63
65
  */
64
66
  get size() {
65
- return x(this, p);
67
+ return c(this, x);
66
68
  }
67
69
  set size(t) {
68
- n(this, p, t);
70
+ s(this, x, t);
69
71
  }
70
72
  /**
71
73
  * Accessibility label for the page. Defaults to `page`.
72
74
  * Can be set for cases like a carousel, where `slide` or `image` fits better.
73
75
  */
74
76
  get accessibilityPageLabel() {
75
- return x(this, u);
77
+ return c(this, m);
76
78
  }
77
79
  set accessibilityPageLabel(t) {
78
- n(this, u, t);
80
+ s(this, m, t);
79
81
  }
80
82
  /**
81
83
  * Accessibility label for the previous page. Defaults to `previous page`.
82
84
  * Can be set for cases like a carousel, where `slide` or `image` fits better.
83
85
  */
84
86
  get accessibilityPreviousPageLabel() {
85
- return x(this, d);
87
+ return c(this, _);
86
88
  }
87
89
  set accessibilityPreviousPageLabel(t) {
88
- n(this, d, t);
90
+ s(this, _, t);
89
91
  }
90
92
  /**
91
93
  * Accessibility label for the next page. Defaults to `next page`.
92
94
  * Can be set for cases like a carousel, where `slide` or `image` fits better.
93
95
  */
94
96
  get accessibilityNextPageLabel() {
95
- return x(this, P);
97
+ return c(this, y);
96
98
  }
97
99
  set accessibilityNextPageLabel(t) {
98
- n(this, P, t);
100
+ s(this, y, t);
101
+ }
102
+ willUpdate(t) {
103
+ super.willUpdate(t);
104
+ let e = null;
105
+ if (t.has("length") && this.length !== t.get("length") && (this.length = isNaN(this.length) || this.length < 0 ? 0 : this.length, this.pageIndex = this._coercePageIndexInRange(this.pageIndex)), t.has("pageSize") && this.pageSize !== t.get("pageSize")) {
106
+ const i = t.get("pageSize");
107
+ this.pageSize = isNaN(this.pageSize) || this.pageSize < 0 ? 0 : this.pageSize, i && (this.pageIndex = Math.floor(this.pageIndex * i / this.pageSize) || 0), e = this.pageIndex;
108
+ }
109
+ t.has("pageIndex") && this.pageIndex !== t.get("pageIndex") && (this.pageIndex = this._coercePageIndexInRange(this.pageIndex), e = t.get("pageIndex")), e !== null && this._emitPrivatePageEvent(e);
99
110
  }
100
111
  updated(t) {
101
112
  super.updated(t), this.shadowRoot.querySelector("sbb-screen-reader-only#status").textContent = this._currentPageLabel();
@@ -105,7 +116,11 @@ const oe = (i) => (() => {
105
116
  return Math.max(Math.min(Math.max(isNaN(t) ? 0 : t, 0), this.numberOfPages() - 1), 0);
106
117
  }
107
118
  _currentPageLabel() {
108
- return `${this.accessibilityPageLabel ? this.accessibilityPageLabel : H[this.language.current]} ${this.pageIndex + 1} ${J[this.language.current]}.`;
119
+ return `${this.accessibilityPageLabel ? this.accessibilityPageLabel : Z[this.language.current]} ${this.pageIndex + 1} ${C[this.language.current]}.`;
120
+ }
121
+ changeAndEmitPage(t) {
122
+ const e = this.pageIndex;
123
+ this.pageIndex = t, this.emitPageEvent(e);
109
124
  }
110
125
  /** Advances to the next page if it exists. */
111
126
  nextPage() {
@@ -143,12 +158,20 @@ const oe = (i) => (() => {
143
158
  numberOfPages() {
144
159
  return this.pageSize ? Math.ceil(this.length / this.pageSize) : 0;
145
160
  }
146
- emitPageEvent(t) {
147
- if (!this.hasUpdated || this.pageIndex === t && this._previousPageSize === this.pageSize) {
148
- this._previousPageSize = this.pageSize;
149
- return;
150
- }
161
+ emitPageEvent(t, e) {
151
162
  this.dispatchEvent(new CustomEvent("page", {
163
+ bubbles: !0,
164
+ composed: !0,
165
+ detail: {
166
+ previousPageIndex: t,
167
+ pageIndex: e ?? this.pageIndex,
168
+ length: this.length,
169
+ pageSize: this.pageSize
170
+ }
171
+ }));
172
+ }
173
+ _emitPrivatePageEvent(t) {
174
+ this.hasUpdated && this.dispatchEvent(new CustomEvent("ɵpage", {
152
175
  bubbles: !0,
153
176
  composed: !0,
154
177
  detail: {
@@ -160,59 +183,57 @@ const oe = (i) => (() => {
160
183
  }));
161
184
  }
162
185
  renderPrevNextButtons() {
163
- return U`
186
+ return V`
164
187
  <sbb-mini-button-group ?negative=${this.negative} size=${this.size === "s" ? "s" : "l"}>
165
188
  <sbb-mini-button
166
189
  id="sbb-paginator-prev-page"
167
- aria-label=${this.accessibilityPreviousPageLabel ? this.accessibilityPreviousPageLabel : K[this.language.current]}
190
+ aria-label=${this.accessibilityPreviousPageLabel ? this.accessibilityPreviousPageLabel : ee[this.language.current]}
168
191
  icon-name="chevron-small-left-small"
169
192
  ?disabled=${this.disabled || !this.hasPreviousPage()}
170
193
  @click=${() => {
171
- this.previousPage(), !this.hasPreviousPage() && A.mostRecentModality === "keyboard" && this.shadowRoot?.getElementById("sbb-paginator-next-page").focus();
194
+ this.changeAndEmitPage(this.pageIndex - 1), !this.hasPreviousPage() && W.mostRecentModality === "keyboard" && this.shadowRoot?.getElementById("sbb-paginator-next-page").focus();
172
195
  }}
173
196
  ></sbb-mini-button>
174
197
  <sbb-divider orientation="vertical"></sbb-divider>
175
198
  <sbb-mini-button
176
199
  id="sbb-paginator-next-page"
177
- aria-label=${this.accessibilityNextPageLabel ? this.accessibilityNextPageLabel : Q[this.language.current]}
200
+ aria-label=${this.accessibilityNextPageLabel ? this.accessibilityNextPageLabel : te[this.language.current]}
178
201
  icon-name="chevron-small-right-small"
179
202
  ?disabled=${this.disabled || !this.hasNextPage()}
180
203
  @click=${() => {
181
- this.nextPage(), !this.hasNextPage() && A.mostRecentModality === "keyboard" && this.shadowRoot?.getElementById("sbb-paginator-prev-page").focus();
204
+ this.changeAndEmitPage(this.pageIndex + 1), !this.hasNextPage() && W.mostRecentModality === "keyboard" && this.shadowRoot?.getElementById("sbb-paginator-prev-page").focus();
182
205
  }}
183
206
  ></sbb-mini-button>
184
207
  </sbb-mini-button-group>
185
208
  `;
186
209
  }
187
210
  render() {
188
- return U`
211
+ return V`
189
212
  ${this.renderPaginator()}
190
213
  <sbb-screen-reader-only id="status" role="status"></sbb-screen-reader-only>
191
214
  `;
192
215
  }
193
- }, b = new WeakMap(), p = new WeakMap(), u = new WeakMap(), d = new WeakMap(), P = new WeakMap(), (() => {
194
- const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(l[Symbol.metadata] ?? null) : void 0;
195
- y = [h({ type: Number })], z = [h({ attribute: "page-size", type: Number })], v = [h({ attribute: "page-index", type: Number })], f = [h({ attribute: "pager-position", reflect: !0 })], S = [h({ reflect: !0 })], k = [m(), h({ attribute: "accessibility-page-label" })], w = [m(), h({ attribute: "accessibility-previous-page-label" })], D = [m(), h({ attribute: "accessibility-next-page-label" })], c(a, null, y, { kind: "setter", name: "length", static: !1, private: !1, access: { has: (e) => "length" in e, set: (e, s) => {
196
- e.length = s;
197
- } }, metadata: t }, null, o), c(a, null, z, { kind: "setter", name: "pageSize", static: !1, private: !1, access: { has: (e) => "pageSize" in e, set: (e, s) => {
198
- e.pageSize = s;
199
- } }, metadata: t }, null, o), c(a, null, v, { kind: "setter", name: "pageIndex", static: !1, private: !1, access: { has: (e) => "pageIndex" in e, set: (e, s) => {
200
- e.pageIndex = s;
201
- } }, metadata: t }, null, o), c(a, null, f, { kind: "accessor", name: "pagerPosition", static: !1, private: !1, access: { has: (e) => "pagerPosition" in e, get: (e) => e.pagerPosition, set: (e, s) => {
202
- e.pagerPosition = s;
203
- } }, metadata: t }, I, L), c(a, null, S, { kind: "accessor", name: "size", static: !1, private: !1, access: { has: (e) => "size" in e, get: (e) => e.size, set: (e, s) => {
204
- e.size = s;
205
- } }, metadata: t }, N, M), c(a, null, k, { kind: "accessor", name: "accessibilityPageLabel", static: !1, private: !1, access: { has: (e) => "accessibilityPageLabel" in e, get: (e) => e.accessibilityPageLabel, set: (e, s) => {
206
- e.accessibilityPageLabel = s;
207
- } }, metadata: t }, $, R), c(a, null, w, { kind: "accessor", name: "accessibilityPreviousPageLabel", static: !1, private: !1, access: { has: (e) => "accessibilityPreviousPageLabel" in e, get: (e) => e.accessibilityPreviousPageLabel, set: (e, s) => {
208
- e.accessibilityPreviousPageLabel = s;
209
- } }, metadata: t }, O, B), c(a, null, D, { kind: "accessor", name: "accessibilityNextPageLabel", static: !1, private: !1, access: { has: (e) => "accessibilityNextPageLabel" in e, get: (e) => e.accessibilityNextPageLabel, set: (e, s) => {
210
- e.accessibilityNextPageLabel = s;
211
- } }, metadata: t }, j, q), t && Object.defineProperty(a, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
212
- })(), a.role = "group", a.events = {
213
- page: "page"
214
- }, a;
216
+ }, p = new WeakMap(), d = new WeakMap(), u = new WeakMap(), P = new WeakMap(), x = new WeakMap(), m = new WeakMap(), _ = new WeakMap(), y = new WeakMap(), (() => {
217
+ const t = typeof Symbol == "function" && Symbol.metadata ? Object.create(g[Symbol.metadata] ?? null) : void 0;
218
+ z = [I(), b({ type: Number })], L = [I(), b({ attribute: "page-size", type: Number })], k = [I(), b({ attribute: "page-index", type: Number })], w = [b({ attribute: "pager-position", reflect: !0 })], O = [b({ reflect: !0 })], D = [I(), b({ attribute: "accessibility-page-label" })], q = [I(), b({ attribute: "accessibility-previous-page-label" })], G = [I(), b({ attribute: "accessibility-next-page-label" })], o(r, null, z, { kind: "accessor", name: "length", static: !1, private: !1, access: { has: (e) => "length" in e, get: (e) => e.length, set: (e, i) => {
219
+ e.length = i;
220
+ } }, metadata: t }, v, f), o(r, null, L, { kind: "accessor", name: "pageSize", static: !1, private: !1, access: { has: (e) => "pageSize" in e, get: (e) => e.pageSize, set: (e, i) => {
221
+ e.pageSize = i;
222
+ } }, metadata: t }, S, N), o(r, null, k, { kind: "accessor", name: "pageIndex", static: !1, private: !1, access: { has: (e) => "pageIndex" in e, get: (e) => e.pageIndex, set: (e, i) => {
223
+ e.pageIndex = i;
224
+ } }, metadata: t }, M, $), o(r, null, w, { kind: "accessor", name: "pagerPosition", static: !1, private: !1, access: { has: (e) => "pagerPosition" in e, get: (e) => e.pagerPosition, set: (e, i) => {
225
+ e.pagerPosition = i;
226
+ } }, metadata: t }, E, R), o(r, null, O, { kind: "accessor", name: "size", static: !1, private: !1, access: { has: (e) => "size" in e, get: (e) => e.size, set: (e, i) => {
227
+ e.size = i;
228
+ } }, metadata: t }, A, B), o(r, null, D, { kind: "accessor", name: "accessibilityPageLabel", static: !1, private: !1, access: { has: (e) => "accessibilityPageLabel" in e, get: (e) => e.accessibilityPageLabel, set: (e, i) => {
229
+ e.accessibilityPageLabel = i;
230
+ } }, metadata: t }, U, j), o(r, null, q, { kind: "accessor", name: "accessibilityPreviousPageLabel", static: !1, private: !1, access: { has: (e) => "accessibilityPreviousPageLabel" in e, get: (e) => e.accessibilityPreviousPageLabel, set: (e, i) => {
231
+ e.accessibilityPreviousPageLabel = i;
232
+ } }, metadata: t }, T, F), o(r, null, G, { kind: "accessor", name: "accessibilityNextPageLabel", static: !1, private: !1, access: { has: (e) => "accessibilityNextPageLabel" in e, get: (e) => e.accessibilityNextPageLabel, set: (e, i) => {
233
+ e.accessibilityNextPageLabel = i;
234
+ } }, metadata: t }, H, J), t && Object.defineProperty(r, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: t });
235
+ })(), r.role = "group", r;
215
236
  })();
216
237
  export {
217
- oe as SbbPaginatorCommonElementMixin
238
+ _e as SbbPaginatorCommonElementMixin
218
239
  };
@@ -1 +1 @@
1
- {"version":3,"file":"compact-paginator.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/paginator/compact-paginator/compact-paginator.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AASvC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,6BAA6B,CAAC;;AAErC;;GAEG;AACH,qBAEM,0BAA2B,SAAQ,+BAA0C;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE1C;IAEX,OAAO,CAAC,kBAAkB;cAiBP,eAAe,IAAI,cAAc;CASrD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}
1
+ {"version":3,"file":"compact-paginator.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/paginator/compact-paginator/compact-paginator.component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAQ,UAAU,EAAE,MAAM,KAAK,CAAC;AASvC,OAAO,kBAAkB,CAAC;AAC1B,OAAO,6BAA6B,CAAC;;AAErC;;GAEG;AACH,qBAEM,0BAA2B,SAAQ,+BAA0C;IACjF,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG1C;IAEX,OAAO,CAAC,kBAAkB;cAiBP,eAAe,IAAI,cAAc;CASrD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,uBAAuB,EAAE,0BAA0B,CAAC;KACrD;CACF"}
@@ -38,7 +38,8 @@ let S = (() => {
38
38
  const s = typeof Symbol == "function" && Symbol.metadata ? Object.create(o[Symbol.metadata] ?? null) : void 0;
39
39
  b(null, r = { value: e }, n, { kind: "class", name: e.name, metadata: s }, null, i), e = r.value, s && Object.defineProperty(e, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: s });
40
40
  })(), t.styles = f, t.events = {
41
- page: "page"
41
+ page: "page",
42
+ ɵpage: "ɵpage"
42
43
  }, c(e, i), e;
43
44
  })();
44
45
  export {
@@ -32,6 +32,12 @@ export declare class SbbPaginatorElement extends SbbPaginatorElement_base {
32
32
  /** Creates an array of consecutive numbers given the length and the starting value. */
33
33
  private _range;
34
34
  private _handleKeyUp;
35
+ /**
36
+ * A `pageSize` change would trigger a `pageIndex` change via `willUpdate`;
37
+ * this triggers a `ɵpage` event, but it's late for the `page` event,
38
+ * so the checks on the `pageIndex` changes are done here, and possibly the event is emitted.
39
+ */
40
+ private _setPageSizeFromSizeOptionsSelect;
35
41
  private _renderItemPerPageTemplate;
36
42
  private _renderPageNumbers;
37
43
  protected renderPaginator(): TemplateResult;
@@ -1 +1 @@
1
- {"version":3,"file":"paginator.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/paginator/paginator/paginator.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAYb,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,CAAC;AACzB,OAAO,6BAA6B,CAAC;;AAIrC;;GAEG;AACH,qBAEM,mBAAoB,SAAQ,wBAA0C;IAC1E,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE1C;IAEX,wCAAwC;IACxC,SACgB,eAAe,EAAE,MAAM,EAAE,CAAM;IAE/C;;;OAGG;IACH,SAAmF,aAAa,EAC5F,OAAO,GACP,KAAK,CAAW;IAEpB;;;OAGG;IACH,SAEgB,8BAA8B,EAAE,MAAM,CAAM;IAE5D,OAAO,CAAC,aAAa,CAAuB;cAEzB,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAezE,2CAA2C;IAC3C,OAAO,CAAC,gBAAgB;IAIxB;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA2B7B,uFAAuF;IACvF,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,YAAY;IAWpB,OAAO,CAAC,0BAA0B;IAkClC,OAAO,CAAC,kBAAkB;cAmCP,eAAe,IAAI,cAAc;CAiBrD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,mBAAmB,CAAC;KACtC;CACF"}
1
+ {"version":3,"file":"paginator.component.d.ts","sourceRoot":"","sources":["../../../../src/elements/paginator/paginator/paginator.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,cAAc,EAEnB,UAAU,EAEV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAYb,OAAO,qBAAqB,CAAC;AAC7B,OAAO,iBAAiB,CAAC;AACzB,OAAO,iBAAiB,CAAC;AACzB,OAAO,6BAA6B,CAAC;;AAIrC;;GAEG;AACH,qBAEM,mBAAoB,SAAQ,wBAA0C;IAC1E,OAAuB,MAAM,EAAE,cAAc,CAAS;IACtD,gBAAuB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAG1C;IAEX,wCAAwC;IACxC,SACgB,eAAe,EAAE,MAAM,EAAE,CAAM;IAE/C;;;OAGG;IACH,SAAmF,aAAa,EAC5F,OAAO,GACP,KAAK,CAAW;IAEpB;;;OAGG;IACH,SAEgB,8BAA8B,EAAE,MAAM,CAAM;IAE5D,OAAO,CAAC,aAAa,CAAuB;cAEzB,OAAO,CAAC,iBAAiB,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAezE,2CAA2C;IAC3C,OAAO,CAAC,gBAAgB;IAIxB;;;;;OAKG;IACH,OAAO,CAAC,qBAAqB;IA2B7B,uFAAuF;IACvF,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,YAAY;IAWpB;;;;OAIG;IACH,OAAO,CAAC,iCAAiC;IAUzC,OAAO,CAAC,0BAA0B;IAoClC,OAAO,CAAC,kBAAkB;cAmCP,eAAe,IAAI,cAAc;CAiBrD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAE7B,eAAe,EAAE,mBAAmB,CAAC;KACtC;CACF"}
@@ -1,62 +1,62 @@
1
- var O = (t) => {
1
+ var L = (t) => {
2
2
  throw TypeError(t);
3
3
  };
4
- var L = (t, i, r) => i.has(t) || O("Cannot " + r);
5
- var u = (t, i, r) => (L(t, i, "read from private field"), r ? r.call(t) : i.get(t)), h = (t, i, r) => i.has(t) ? O("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(t) : i.set(t, r), p = (t, i, r, o) => (L(t, i, "write to private field"), o ? o.call(t, r) : i.set(t, r), r);
6
- import { __runInitializers as g, __esDecorate as v } from "tslib";
7
- import { css as F, LitElement as T, nothing as E, html as b } from "lit";
8
- import { customElement as D, property as _ } from "lit/decorators.js";
9
- import { repeat as j } from "lit/directives/repeat.js";
10
- import { sbbInputModalityDetector as N } from "../../core/a11y.js";
11
- import { forceType as M } from "../../core/decorators.js";
4
+ var E = (t, i, r) => i.has(t) || L("Cannot " + r);
5
+ var h = (t, i, r) => (E(t, i, "read from private field"), r ? r.call(t) : i.get(t)), v = (t, i, r) => i.has(t) ? L("Cannot add the same private member more than once") : i instanceof WeakSet ? i.add(t) : i.set(t, r), g = (t, i, r, n) => (E(t, i, "write to private field"), n ? n.call(t, r) : i.set(t, r), r);
6
+ import { __runInitializers as p, __esDecorate as _ } from "tslib";
7
+ import { css as j, LitElement as T, nothing as F, html as b } from "lit";
8
+ import { customElement as D, property as f } from "lit/decorators.js";
9
+ import { repeat as A } from "lit/directives/repeat.js";
10
+ import { sbbInputModalityDetector as M } from "../../core/a11y.js";
11
+ import { forceType as N } from "../../core/decorators.js";
12
12
  import { i18nItemsPerPage as V, i18nPage as B } from "../../core/i18n.js";
13
13
  import { SbbPaginatorCommonElementMixin as G } from "../common.js";
14
14
  import "../../form-field.js";
15
15
  import "../../select.js";
16
16
  import "../../option.js";
17
17
  import "../../screen-reader-only.js";
18
- const H = F`*,: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-color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));--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-5);--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-3);--sbb-paginator-page-border-width: var(--sbb-border-width-2x);--sbb-paginator-page-border-style: solid;--sbb-paginator-page-border-color: var(--sbb-border-color-2)}:host([negative]) .sbb-paginator__page--number-item[data-selected]{--sbb-paginator-page-color: var(--sbb-color-3-negative);--sbb-paginator-page-border-color: var(--sbb-border-color-2-negative)}@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-5);--sbb-paginator-page-border-style: dashed;--sbb-paginator-page-border-color: var(--sbb-border-color-5);--sbb-paginator-page-background-color: var(--sbb-background-color-3);--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-5);--sbb-paginator-page-background-color: var(--sbb-background-color-3-negative)}@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-background-color-3);--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-background-color-3-negative)}}@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-3);--sbb-paginator-page-background-color: var(--sbb-background-color-4);--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-3-negative);--sbb-paginator-page-background-color: var(--sbb-background-color-4-negative)}@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-path:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}`, m = 3;
18
+ const H = j`*,: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-color: light-dark(var(--sbb-color-metal), var(--sbb-color-smoke));--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-5);--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-3);--sbb-paginator-page-border-width: var(--sbb-border-width-2x);--sbb-paginator-page-border-style: solid;--sbb-paginator-page-border-color: var(--sbb-border-color-2)}:host([negative]) .sbb-paginator__page--number-item[data-selected]{--sbb-paginator-page-color: var(--sbb-color-3-negative);--sbb-paginator-page-border-color: var(--sbb-border-color-2-negative)}@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-5);--sbb-paginator-page-border-style: dashed;--sbb-paginator-page-border-color: var(--sbb-border-color-5);--sbb-paginator-page-background-color: var(--sbb-background-color-3);--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-5);--sbb-paginator-page-background-color: var(--sbb-background-color-3-negative)}@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-background-color-3);--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-background-color-3-negative)}}@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-3);--sbb-paginator-page-background-color: var(--sbb-background-color-4);--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-3-negative);--sbb-paginator-page-background-color: var(--sbb-background-color-4-negative)}@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-path:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}`, m = 3;
19
19
  let ie = (() => {
20
- var l, c, d, s;
21
- let t = [D("sbb-paginator")], i, r = [], o, f = G(T), y, x = [], P = [], z, w = [], k = [], I, S = [], $ = [];
22
- return s = class extends f {
20
+ var l, c, d, o;
21
+ let t = [D("sbb-paginator")], i, r = [], n, y = G(T), x, P = [], z = [], w, k = [], S = [], I, $ = [], O = [];
22
+ return o = class extends y {
23
23
  constructor() {
24
24
  super(...arguments);
25
- h(this, l);
26
- h(this, c);
27
- h(this, d);
28
- p(this, l, g(this, x, [])), p(this, c, (g(this, P), g(this, w, "start"))), p(this, d, (g(this, k), g(this, S, ""))), this._markForFocus = (g(this, $), null);
25
+ v(this, l);
26
+ v(this, c);
27
+ v(this, d);
28
+ g(this, l, p(this, P, [])), g(this, c, (p(this, z), p(this, k, "start"))), g(this, d, (p(this, S), p(this, $, ""))), this._markForFocus = (p(this, O), null);
29
29
  }
30
30
  /** The available `pageSize` choices. */
31
31
  get pageSizeOptions() {
32
- return u(this, l);
32
+ return h(this, l);
33
33
  }
34
34
  set pageSizeOptions(e) {
35
- p(this, l, e);
35
+ g(this, l, e);
36
36
  }
37
37
  /**
38
38
  * Position of the prev/next buttons: if `pageSizeOptions` is set,
39
39
  * the sbb-select for the pageSize change will be positioned oppositely, with the page numbers always in the center.
40
40
  */
41
41
  get pagerPosition() {
42
- return u(this, c);
42
+ return h(this, c);
43
43
  }
44
44
  set pagerPosition(e) {
45
- p(this, c, e);
45
+ g(this, c, e);
46
46
  }
47
47
  /**
48
48
  * Accessibility label for the items per page. Defaults to `Items per page.`.
49
49
  * Can be set for cases like a carousel, where `slide` or `image` fits better.
50
50
  */
51
51
  get accessibilityItemsPerPageLabel() {
52
- return u(this, d);
52
+ return h(this, d);
53
53
  }
54
54
  set accessibilityItemsPerPageLabel(e) {
55
- p(this, d, e);
55
+ g(this, d, e);
56
56
  }
57
57
  updated(e) {
58
- if (super.updated(e), this._markForFocus && N.mostRecentModality === "keyboard") {
59
- const a = this._getVisiblePages().find((n) => this.pageIndex === +n.getAttribute("data-index"));
58
+ if (super.updated(e), this._markForFocus && M.mostRecentModality === "keyboard") {
59
+ const a = this._getVisiblePages().find((s) => this.pageIndex === +s.getAttribute("data-index"));
60
60
  a && a.focus(), this._markForFocus = null;
61
61
  }
62
62
  }
@@ -88,12 +88,23 @@ let ie = (() => {
88
88
  }
89
89
  /** Creates an array of consecutive numbers given the length and the starting value. */
90
90
  _range(e, a = 0) {
91
- return Array.from({ length: e }, (n, A) => A + a);
91
+ return Array.from({ length: e }, (s, u) => u + a);
92
92
  }
93
93
  _handleKeyUp(e) {
94
94
  if (e.key !== " " && e.key !== "Enter")
95
95
  return;
96
- this._getVisiblePages().find((n) => n === e.target) && (this._markForFocus = this.pageIndex);
96
+ this._getVisiblePages().find((s) => s === e.target) && (this._markForFocus = this.pageIndex);
97
+ }
98
+ /**
99
+ * A `pageSize` change would trigger a `pageIndex` change via `willUpdate`;
100
+ * this triggers a `ɵpage` event, but it's late for the `page` event,
101
+ * so the checks on the `pageIndex` changes are done here, and possibly the event is emitted.
102
+ */
103
+ _setPageSizeFromSizeOptionsSelect(e) {
104
+ const a = this.pageSize, s = this.pageIndex;
105
+ this.pageSize = e;
106
+ const u = Math.floor(this.pageIndex * a / this.pageSize) || 0;
107
+ s !== u && this.emitPageEvent(s, u);
97
108
  }
98
109
  _renderItemPerPageTemplate() {
99
110
  return this.pageSizeOptions && this.pageSizeOptions.length > 0 ? b`
@@ -111,18 +122,18 @@ let ie = (() => {
111
122
  id="select"
112
123
  ?disabled=${this.disabled}
113
124
  value=${this.pageSizeOptions?.find((e) => e === this.pageSize) ?? this.pageSizeOptions[0]}
114
- @change=${(e) => this.pageSize = +e.target.value}
125
+ @change=${(e) => this._setPageSizeFromSizeOptionsSelect(+e.target.value)}
115
126
  >
116
- ${j(this.pageSizeOptions, (e) => b`<sbb-option value=${e}>${e}</sbb-option>`)}
127
+ ${A(this.pageSizeOptions, (e) => b`<sbb-option value=${e}>${e}</sbb-option>`)}
117
128
  </sbb-select>
118
129
  </sbb-form-field>
119
130
  </div>
120
- ` : E;
131
+ ` : F;
121
132
  }
122
133
  _renderPageNumbers() {
123
134
  return b`
124
135
  <ul class="sbb-paginator__pages">
125
- ${j(this._getVisiblePagesIndex(), (e) => e === "ellipsis" ? b`
136
+ ${A(this._getVisiblePagesIndex(), (e) => e === "ellipsis" ? b`
126
137
  <li class="sbb-paginator__page--ellipsis">
127
138
  <span class="sbb-paginator__page--ellipsis-item">…</span>
128
139
  </li>
@@ -134,8 +145,8 @@ let ie = (() => {
134
145
  class="sbb-paginator__page--number-item"
135
146
  data-index=${e}
136
147
  aria-label="${this.accessibilityPageLabel ? this.accessibilityPageLabel : B[this.language.current]} ${e + 1}"
137
- aria-current=${this.pageIndex === e ? "true" : E}
138
- @click=${() => this.pageIndex = e}
148
+ aria-current=${this.pageIndex === e ? "true" : F}
149
+ @click=${() => this.changeAndEmitPage(e)}
139
150
  @keyup=${this._handleKeyUp}
140
151
  >
141
152
  <span class="sbb-paginator__page--number-item-label">${e + 1}</span>
@@ -158,18 +169,19 @@ let ie = (() => {
158
169
  </div>
159
170
  `;
160
171
  }
161
- }, l = new WeakMap(), c = new WeakMap(), d = new WeakMap(), o = s, (() => {
162
- const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(f[Symbol.metadata] ?? null) : void 0;
163
- y = [_({ attribute: "page-size-options", type: Array })], z = [_({ attribute: "pager-position", reflect: !0 })], I = [M(), _({ attribute: "accessibility-items-per-page-label" })], v(s, null, y, { kind: "accessor", name: "pageSizeOptions", static: !1, private: !1, access: { has: (a) => "pageSizeOptions" in a, get: (a) => a.pageSizeOptions, set: (a, n) => {
164
- a.pageSizeOptions = n;
165
- } }, metadata: e }, x, P), v(s, null, z, { kind: "accessor", name: "pagerPosition", static: !1, private: !1, access: { has: (a) => "pagerPosition" in a, get: (a) => a.pagerPosition, set: (a, n) => {
166
- a.pagerPosition = n;
167
- } }, metadata: e }, w, k), v(s, null, I, { kind: "accessor", name: "accessibilityItemsPerPageLabel", static: !1, private: !1, access: { has: (a) => "accessibilityItemsPerPageLabel" in a, get: (a) => a.accessibilityItemsPerPageLabel, set: (a, n) => {
168
- a.accessibilityItemsPerPageLabel = n;
169
- } }, metadata: e }, S, $), v(null, i = { value: o }, t, { kind: "class", name: o.name, metadata: e }, null, r), o = i.value, e && Object.defineProperty(o, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
170
- })(), s.styles = H, s.events = {
171
- page: "page"
172
- }, g(o, r), o;
172
+ }, l = new WeakMap(), c = new WeakMap(), d = new WeakMap(), n = o, (() => {
173
+ const e = typeof Symbol == "function" && Symbol.metadata ? Object.create(y[Symbol.metadata] ?? null) : void 0;
174
+ x = [f({ attribute: "page-size-options", type: Array })], w = [f({ attribute: "pager-position", reflect: !0 })], I = [N(), f({ attribute: "accessibility-items-per-page-label" })], _(o, null, x, { kind: "accessor", name: "pageSizeOptions", static: !1, private: !1, access: { has: (a) => "pageSizeOptions" in a, get: (a) => a.pageSizeOptions, set: (a, s) => {
175
+ a.pageSizeOptions = s;
176
+ } }, metadata: e }, P, z), _(o, null, w, { kind: "accessor", name: "pagerPosition", static: !1, private: !1, access: { has: (a) => "pagerPosition" in a, get: (a) => a.pagerPosition, set: (a, s) => {
177
+ a.pagerPosition = s;
178
+ } }, metadata: e }, k, S), _(o, null, I, { kind: "accessor", name: "accessibilityItemsPerPageLabel", static: !1, private: !1, access: { has: (a) => "accessibilityItemsPerPageLabel" in a, get: (a) => a.accessibilityItemsPerPageLabel, set: (a, s) => {
179
+ a.accessibilityItemsPerPageLabel = s;
180
+ } }, metadata: e }, $, O), _(null, i = { value: n }, t, { kind: "class", name: n.name, metadata: e }, null, r), n = i.value, e && Object.defineProperty(n, Symbol.metadata, { enumerable: !0, configurable: !0, writable: !0, value: e });
181
+ })(), o.styles = H, o.events = {
182
+ page: "page",
183
+ ɵpage: "ɵpage"
184
+ }, p(n, r), n;
173
185
  })();
174
186
  export {
175
187
  ie as SbbPaginatorElement
@@ -18,7 +18,7 @@ import { i18nClosePopover as K } from "../../core/i18n.js";
18
18
  import { SbbHydrationMixin as ee } from "../../core/mixins.js";
19
19
  import { isEventOnElement as I, removeAriaOverlayTriggerAttributes as te, setAriaOverlayTriggerAttributes as oe, getElementPosition as se } from "../../core/overlay.js";
20
20
  import "../../button/secondary-button.js";
21
- const ie = U`*,:before,:after{box-sizing:border-box}:host{--sbb-popover-position: absolute;--sbb-popover-position-x: 0;--sbb-popover-position-y: 0;--sbb-popover-arrow-size: var(--sbb-spacing-fixed-4x);--sbb-popover-arrow-position-x: 0;--sbb-popover-max-width: calc(100% - var(--sbb-spacing-fixed-2x));--sbb-popover-inset: 0 auto auto 0;--sbb-popover-border-radius: var(--sbb-border-radius-8x);--sbb-popover-padding: var(--sbb-spacing-fixed-4x);--sbb-popover-background: var(--sbb-background-color-1);--sbb-popover-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-4x) );--sbb-popover-animation-easing: ease-out;--sbb-popover-transform: translateY(var(--sbb-spacing-fixed-2x));--sbb-focus-outline-color: var(--sbb-focus-outline-color-default);--sbb-focus-outline-color: light-dark( var(--sbb-focus-outline-color-default), var(--sbb-focus-outline-color-dark) );outline:none!important;display:none}:host([data-state]:not([data-state=closed])){display:block;--sbb-popover-inset: 0}:host([data-position=above]){--sbb-popover-transform: translateY(calc(var(--sbb-spacing-fixed-2x) * -1))}.sbb-popover:after,.sbb-popover__content:before{content:"";position:absolute;display:block;width:var(--sbb-popover-arrow-size);height:var(--sbb-popover-arrow-size);left:var(--sbb-popover-arrow-position-x);bottom:calc(100% - var(--sbb-popover-arrow-size) / 2);background-color:var(--sbb-popover-background);border-radius:var(--sbb-border-radius-2x) 0;transform:rotate(45deg)}.sbb-popover__container{position:fixed;inset:var(--sbb-popover-inset);pointer-events:none;z-index:var(--sbb-popover-z-index, var(--sbb-overlay-default-z-index))}.sbb-popover{box-shadow:var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-color-hard-2),var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-color-hard-1);display:none;position:var(--sbb-popover-position);pointer-events:all;top:var(--sbb-popover-position-y);bottom:unset;left:var(--sbb-popover-position-x);right:unset;border:none;border-radius:var(--sbb-popover-border-radius);padding:0;max-width:var(--sbb-popover-max-width);width:max-content;background-color:var(--sbb-popover-background);outline:none}:host(:focus-visible) .sbb-popover{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([data-state]:not([data-state=closed])) .sbb-popover{display:block;animation-name:open;animation-duration:var(--sbb-popover-animation-duration);animation-timing-function:var(--sbb-popover-animation-easing)}:host([data-state][data-state=closing]) .sbb-popover{pointer-events:none;animation-name:close;animation-duration:var(--sbb-popover-animation-duration);animation-timing-function:var(--sbb-popover-animation-easing)}.sbb-popover:after{z-index:-1;box-shadow:var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-color-hard-2),var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-color-hard-1)}@media (forced-colors: active){.sbb-popover:after{outline:var(--sbb-border-width-1x) solid CanvasText}}:host([data-position=above]) .sbb-popover:after{top:calc(100% - var(--sbb-popover-arrow-size) / 2)}@media (forced-colors: active){.sbb-popover{outline:var(--sbb-border-width-1x) solid CanvasText}}.sbb-popover:before{content:"";display:block;position:absolute;inset:0;z-index:-1;background-color:transparent}:host([data-position=below]) .sbb-popover:before{inset-block-start:calc(-1 * var(--sbb-spacing-fixed-6x))}:host([data-position=above]) .sbb-popover:before{inset-block-end:calc(-1 * var(--sbb-spacing-fixed-6x))}.sbb-popover__content{display:flex;gap:var(--sbb-spacing-fixed-4x);border-radius:var(--sbb-popover-border-radius);padding:var(--sbb-popover-padding);outline:none;background-color:var(--sbb-popover-background);overflow:hidden;flex-direction:row-reverse}:host([data-position=above]) .sbb-popover__content:before{top:calc(100% - var(--sbb-popover-arrow-size) / 2)}@keyframes open{0%{opacity:0;transform:var(--sbb-popover-transform)}to{opacity:1;transform:translateY(0)}}@keyframes close{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:var(--sbb-popover-transform)}}`, re = 16, ae = 32;
21
+ const ie = U`*,:before,:after{box-sizing:border-box}:host{--sbb-popover-position: absolute;--sbb-popover-position-x: 0;--sbb-popover-position-y: 0;--sbb-popover-arrow-size: var(--sbb-spacing-fixed-4x);--sbb-popover-arrow-position-x: 0;--sbb-popover-max-width: calc(100% - var(--sbb-spacing-fixed-2x));--sbb-popover-inset: 0 auto auto 0;--sbb-popover-border-radius: var(--sbb-border-radius-8x);--sbb-popover-padding: var(--sbb-spacing-fixed-4x);--sbb-popover-background: var(--sbb-background-color-1);--sbb-popover-animation-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-4x) );--sbb-popover-animation-easing: ease-out;--sbb-popover-transform: translateY(var(--sbb-spacing-fixed-2x));--sbb-focus-outline-color: var(--sbb-focus-outline-color-default);--sbb-focus-outline-color: light-dark( var(--sbb-focus-outline-color-default), var(--sbb-focus-outline-color-dark) );outline:none!important;display:none}:host([data-state]:not([data-state=closed])){display:block;--sbb-popover-inset: 0}:host([data-position=above]){--sbb-popover-transform: translateY(calc(var(--sbb-spacing-fixed-2x) * -1))}.sbb-popover:after,.sbb-popover__content:before{content:"";position:absolute;display:block;width:var(--sbb-popover-arrow-size);height:var(--sbb-popover-arrow-size);left:var(--sbb-popover-arrow-position-x);bottom:calc(100% - var(--sbb-popover-arrow-size) / 2);background-color:var(--sbb-popover-background);border-radius:var(--sbb-border-radius-2x) 0;transform:rotate(45deg)}.sbb-popover__container{position:fixed;inset:var(--sbb-popover-inset);pointer-events:none;z-index:var(--sbb-popover-z-index, var(--sbb-overlay-default-z-index))}.sbb-popover{box-shadow:var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-color-hard-2),var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-color-hard-1);display:none;position:var(--sbb-popover-position);pointer-events:all;top:var(--sbb-popover-position-y);bottom:unset;left:var(--sbb-popover-position-x);right:unset;border:none;border-radius:var(--sbb-popover-border-radius);padding:0;max-width:var(--sbb-popover-max-width);width:max-content;background-color:var(--sbb-popover-background);outline:none}:host(:focus-visible) .sbb-popover{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([data-state]:not([data-state=closed])) .sbb-popover{display:block;animation-name:open;animation-duration:var(--sbb-popover-animation-duration);animation-timing-function:var(--sbb-popover-animation-easing)}:host([data-state][data-state=closing]) .sbb-popover{pointer-events:none;animation-name:close;animation-duration:var(--sbb-popover-animation-duration);animation-timing-function:var(--sbb-popover-animation-easing)}.sbb-popover:after{z-index:-1;box-shadow:var(--sbb-shadow-elevation-level-5-shadow-2-offset-x) var(--sbb-shadow-elevation-level-5-shadow-2-offset-y) var(--sbb-shadow-elevation-level-5-shadow-2-blur) var(--sbb-shadow-elevation-level-5-shadow-2-spread) var(--sbb-shadow-color-hard-2),var(--sbb-shadow-elevation-level-5-shadow-1-offset-x) var(--sbb-shadow-elevation-level-5-shadow-1-offset-y) var(--sbb-shadow-elevation-level-5-shadow-1-blur) var(--sbb-shadow-elevation-level-5-shadow-1-spread) var(--sbb-shadow-color-hard-1)}@media(forced-colors:active){.sbb-popover:after{outline:var(--sbb-border-width-1x) solid CanvasText}}:host([data-position=above]) .sbb-popover:after{top:calc(100% - var(--sbb-popover-arrow-size) / 2)}@media(forced-colors:active){.sbb-popover{outline:var(--sbb-border-width-1x) solid CanvasText}}.sbb-popover:before{content:"";display:block;position:absolute;inset:0;z-index:-1;background-color:transparent}:host([data-position=below]) .sbb-popover:before{inset-block-start:calc(-1 * var(--sbb-spacing-fixed-6x))}:host([data-position=above]) .sbb-popover:before{inset-block-end:calc(-1 * var(--sbb-spacing-fixed-6x))}.sbb-popover__content{display:flex;gap:var(--sbb-spacing-fixed-4x);border-radius:var(--sbb-popover-border-radius);padding:var(--sbb-popover-padding);outline:none;background-color:var(--sbb-popover-background);overflow:hidden;flex-direction:row-reverse}:host([data-position=above]) .sbb-popover__content:before{top:calc(100% - var(--sbb-popover-arrow-size) / 2)}@keyframes open{0%{opacity:0;transform:var(--sbb-popover-transform)}to{opacity:1;transform:translateY(0)}}@keyframes close{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:var(--sbb-popover-transform)}}`, re = 16, ae = 32;
22
22
  let ne = 0;
23
23
  const x = /* @__PURE__ */ new Set(), le = E ? !1 : matchMedia(W).matches;
24
24
  let be = (() => {
@@ -5,7 +5,7 @@ import { SbbButtonBaseElement as v } from "../../core/base-elements.js";
5
5
  import { hostContext as i } from "../../core/dom.js";
6
6
  import { SbbDisabledTabIndexActionMixin as g, SbbNegativeMixin as p } from "../../core/mixins.js";
7
7
  import { SbbIconNameMixin as m } from "../../icon.js";
8
- const h = c`*,:before,:after{box-sizing:border-box}:host{display:inline-block;outline:none!important;--sbb-popover-color: inherit}@media (forced-colors: active){:host{--sbb-popover-color: ButtonText !important}}@media (any-hover: hover){:host(:hover){--sbb-popover-color: var(--sbb-color-4)}:host(:hover[negative]){--sbb-popover-color: var(--sbb-color-4-negative)}}:host([negative]){--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark)}:host(:is(:active,[data-active])){--sbb-popover-color: var(--sbb-color-anthracite);--sbb-popover-color: light-dark(var(--sbb-color-anthracite), var(--sbb-color-cement))}:host(:is(:active,[data-active])[negative]){--sbb-popover-color: var(--sbb-color-cement)}:host(:is(:disabled,[disabled-interactive])){pointer-events:none;--sbb-popover-color: var(--sbb-color-graphite);--sbb-popover-color: light-dark(var(--sbb-color-graphite), var(--sbb-color-smoke))}@media (forced-colors: active){:host(:is(:disabled,[disabled-interactive])){--sbb-popover-color: GrayText !important}}:host(:is(:disabled,[disabled-interactive])[negative]){--sbb-popover-color: var(--sbb-color-5)}:host([data-icon-small]){display:inline-block;-webkit-tap-highlight-color:transparent;height:fit-content;outline:none!important;--sbb-button-color-text: var(--sbb-color-3);--sbb-button-color-default-background: transparent;--sbb-button-color-hover-background: var(--sbb-background-color-3);--sbb-button-color-active-background: var(--sbb-background-color-4);--sbb-button-color-disabled-background: var(--sbb-background-color-3);--sbb-button-color-disabled-border: var(--sbb-border-color-5);--sbb-button-color-disabled-text: var(--sbb-color-granite);--sbb-button-color-disabled-text: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));--sbb-button-border-disabled-width: var(--sbb-border-width-1x);--sbb-button-border-disabled-style: dashed;--sbb-button-border-radius: var(--sbb-border-radius-infinity);--sbb-button-transition-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-2x) );--sbb-button-transition-easing-function: var(--sbb-animation-easing)}@media (forced-colors: active){:host([data-icon-small]){--sbb-button-color-text: ButtonText !important;--sbb-button-color-hover-background: Highlight !important;--sbb-button-color-active-background: Highlight !important;--sbb-button-color-disabled-background: Canvas !important;--sbb-button-color-disabled-border: GrayText !important;--sbb-button-color-disabled-text: GrayText !important}}:host([data-icon-small]) .sbb-popover-trigger{position:relative;transition-duration:var(--sbb-button-transition-duration);transition-timing-function:var(--sbb-button-transition-easing-function);transition-property:color;border-radius:var(--sbb-button-border-radius);color:var(--sbb-button-color-text);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}:host([data-icon-small]) .sbb-popover-trigger:before{position:absolute;content:"";inset:0;border-radius:var(--sbb-button-border-radius);background-color:var(--sbb-button-color-default-background);transition-duration:var(--sbb-button-transition-duration);transition-timing-function:var(--sbb-button-transition-easing-function);transition-property:inset,background-color}sbb-icon{transition:transform var(--sbb-button-transition-duration) var(--sbb-button-transition-easing-function);transform:translateY(var(--sbb-button-translate-y-content-hover, 0rem));display:flex}:host([data-icon-small][negative]){--sbb-button-color-text: var(--sbb-color-3-negative);--sbb-button-color-default-background: transparent;--sbb-button-color-hover-background: var(--sbb-background-color-3-negative);--sbb-button-color-active-background: var(--sbb-background-color-4-negative);--sbb-button-color-disabled-background: var(--sbb-background-color-3-negative);--sbb-button-color-disabled-border: var(--sbb-border-color-5);--sbb-button-color-disabled-text: var(--sbb-color-5)}:host([data-icon-small]:is(:disabled,[disabled-interactive])) .sbb-popover-trigger{color:var(--sbb-button-color-disabled-text);cursor:default;pointer-events:none}:host([data-icon-small]:is(:disabled,[disabled-interactive])) .sbb-popover-trigger:before{background-color:var(--sbb-button-color-disabled-background);border:var(--sbb-button-border-disabled-width) var(--sbb-button-border-disabled-style) var(--sbb-button-color-disabled-border)}:host([data-icon-small]:focus-visible) .sbb-popover-trigger: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)}@media (any-hover: hover){:host([data-icon-small]:not(:disabled,[disabled-interactive],active):hover){--sbb-button-translate-y-content-hover: -.0625rem}}@media (any-hover: hover){:host([data-icon-small]:not(:disabled,[disabled-interactive],active):hover) .sbb-popover-trigger:before{background-color:var(--sbb-button-color-hover-background)}}:host([data-icon-small]:is(active)) .sbb-popover-trigger:before{background-color:var(--sbb-button-color-active-background)}:host(:not([data-icon-small])) .sbb-popover-trigger{font-family:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;font-size:inherit;text-align:inherit;display:flex;cursor:pointer;color:var(--sbb-popover-color)}:host(:focus-visible:not([data-icon-small])) .sbb-popover-trigger{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);border-radius:var(--sbb-border-radius-4x)}sbb-icon{min-width:var(--sbb-size-icon-ui-small);min-height:var(--sbb-size-icon-ui-small)}`;
8
+ const h = c`*,:before,:after{box-sizing:border-box}:host{display:inline-block;outline:none!important;--sbb-popover-color: inherit}@media(forced-colors:active){:host{--sbb-popover-color: ButtonText !important}}@media(any-hover:hover){:host(:hover){--sbb-popover-color: var(--sbb-color-4)}:host(:hover[negative]){--sbb-popover-color: var(--sbb-color-4-negative)}}:host([negative]){--sbb-focus-outline-color: var(--sbb-focus-outline-color-dark)}:host(:is(:active,[data-active])){--sbb-popover-color: var(--sbb-color-anthracite);--sbb-popover-color: light-dark(var(--sbb-color-anthracite), var(--sbb-color-cement))}:host(:is(:active,[data-active])[negative]){--sbb-popover-color: var(--sbb-color-cement)}:host(:is(:disabled,[disabled-interactive])){pointer-events:none;--sbb-popover-color: var(--sbb-color-graphite);--sbb-popover-color: light-dark(var(--sbb-color-graphite), var(--sbb-color-smoke))}@media(forced-colors:active){:host(:is(:disabled,[disabled-interactive])){--sbb-popover-color: GrayText !important}}:host(:is(:disabled,[disabled-interactive])[negative]){--sbb-popover-color: var(--sbb-color-5)}:host([data-icon-small]){display:inline-block;-webkit-tap-highlight-color:transparent;height:fit-content;outline:none!important;--sbb-button-color-text: var(--sbb-color-3);--sbb-button-color-default-background: transparent;--sbb-button-color-hover-background: var(--sbb-background-color-3);--sbb-button-color-active-background: var(--sbb-background-color-4);--sbb-button-color-disabled-background: var(--sbb-background-color-3);--sbb-button-color-disabled-border: var(--sbb-border-color-5);--sbb-button-color-disabled-text: var(--sbb-color-granite);--sbb-button-color-disabled-text: light-dark(var(--sbb-color-granite), var(--sbb-color-smoke));--sbb-button-border-disabled-width: var(--sbb-border-width-1x);--sbb-button-border-disabled-style: dashed;--sbb-button-border-radius: var(--sbb-border-radius-infinity);--sbb-button-transition-duration: var( --sbb-disable-animation-duration, var(--sbb-animation-duration-2x) );--sbb-button-transition-easing-function: var(--sbb-animation-easing)}@media(forced-colors:active){:host([data-icon-small]){--sbb-button-color-text: ButtonText !important;--sbb-button-color-hover-background: Highlight !important;--sbb-button-color-active-background: Highlight !important;--sbb-button-color-disabled-background: Canvas !important;--sbb-button-color-disabled-border: GrayText !important;--sbb-button-color-disabled-text: GrayText !important}}:host([data-icon-small]) .sbb-popover-trigger{position:relative;transition-duration:var(--sbb-button-transition-duration);transition-timing-function:var(--sbb-button-transition-easing-function);transition-property:color;border-radius:var(--sbb-button-border-radius);color:var(--sbb-button-color-text);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}:host([data-icon-small]) .sbb-popover-trigger:before{position:absolute;content:"";inset:0;border-radius:var(--sbb-button-border-radius);background-color:var(--sbb-button-color-default-background);transition-duration:var(--sbb-button-transition-duration);transition-timing-function:var(--sbb-button-transition-easing-function);transition-property:inset,background-color}sbb-icon{transition:transform var(--sbb-button-transition-duration) var(--sbb-button-transition-easing-function);transform:translateY(var(--sbb-button-translate-y-content-hover, 0rem));display:flex}:host([data-icon-small][negative]){--sbb-button-color-text: var(--sbb-color-3-negative);--sbb-button-color-default-background: transparent;--sbb-button-color-hover-background: var(--sbb-background-color-3-negative);--sbb-button-color-active-background: var(--sbb-background-color-4-negative);--sbb-button-color-disabled-background: var(--sbb-background-color-3-negative);--sbb-button-color-disabled-border: var(--sbb-border-color-5);--sbb-button-color-disabled-text: var(--sbb-color-5)}:host([data-icon-small]:is(:disabled,[disabled-interactive])) .sbb-popover-trigger{color:var(--sbb-button-color-disabled-text);cursor:default;pointer-events:none}:host([data-icon-small]:is(:disabled,[disabled-interactive])) .sbb-popover-trigger:before{background-color:var(--sbb-button-color-disabled-background);border:var(--sbb-button-border-disabled-width) var(--sbb-button-border-disabled-style) var(--sbb-button-color-disabled-border)}:host([data-icon-small]:focus-visible) .sbb-popover-trigger: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)}@media(any-hover:hover){:host([data-icon-small]:not(:disabled,[disabled-interactive],active):hover){--sbb-button-translate-y-content-hover: -.0625rem}}@media(any-hover:hover){:host([data-icon-small]:not(:disabled,[disabled-interactive],active):hover) .sbb-popover-trigger:before{background-color:var(--sbb-button-color-hover-background)}}:host([data-icon-small]:is(active)) .sbb-popover-trigger:before{background-color:var(--sbb-button-color-active-background)}:host(:not([data-icon-small])) .sbb-popover-trigger{font-family:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;font-size:inherit;text-align:inherit;display:flex;cursor:pointer;color:var(--sbb-popover-color)}:host(:focus-visible:not([data-icon-small])) .sbb-popover-trigger{outline-offset:var(--sbb-focus-outline-offset);outline:var(--sbb-focus-outline-color) var(--sbb-focus-outline-style, solid) var(--sbb-focus-outline-width);border-radius:var(--sbb-border-radius-4x)}sbb-icon{min-width:var(--sbb-size-icon-ui-small);min-height:var(--sbb-size-icon-ui-small)}`;
9
9
  let T = (() => {
10
10
  var t;
11
11
  let s = [u("sbb-popover-trigger")], b, e = [], o, a = g(p(m(v)));