@telia-ace/alliance-ui 1.0.7 → 1.0.8-next.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 (167) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/chunks/{alliance-modal-6cef0241.js → alliance-modal-20f50b87.js} +6 -6
  3. package/chunks/{alliance-modal-6cef0241.js.map → alliance-modal-20f50b87.js.map} +1 -1
  4. package/chunks/alliance-paginator-button-25709222.js +313 -0
  5. package/chunks/alliance-paginator-button-25709222.js.map +1 -0
  6. package/chunks/{alliance-table-row-67a6becb.js → alliance-table-row-21cc74e0.js} +3 -3
  7. package/chunks/{alliance-table-row-67a6becb.js.map → alliance-table-row-21cc74e0.js.map} +1 -1
  8. package/chunks/check-circle-filled-42095247.js.map +1 -1
  9. package/chunks/chevron-down-50d47dd6.js.map +1 -1
  10. package/chunks/chevron-right-788ce8a9.js.map +1 -1
  11. package/chunks/close-7d423291.js.map +1 -1
  12. package/chunks/close-ac6e4f1c.js.map +1 -1
  13. package/chunks/error-filled-8de50bdd.js.map +1 -1
  14. package/chunks/getSvgContent-f2389ce0.js.map +1 -1
  15. package/chunks/{index-57f6bd40.js → index-d925c796.js} +14 -16
  16. package/chunks/index-d925c796.js.map +1 -0
  17. package/chunks/index-eef143db.js +531 -0
  18. package/chunks/{index-17652cf7.js.map → index-eef143db.js.map} +1 -1
  19. package/chunks/query-assigned-elements-4285356d.js.map +1 -1
  20. package/chunks/repeat-bf84f01f.js.map +1 -1
  21. package/chunks/stringCombiner-10b57054.js.map +1 -1
  22. package/chunks/{telia-button2-d25eddda.js → telia-button2-7783c019.js} +18 -43
  23. package/chunks/telia-button2-7783c019.js.map +1 -0
  24. package/chunks/{telia-card-frame2-2d46eef6.js → telia-card-frame2-1ac1c9e5.js} +4 -4
  25. package/chunks/telia-card-frame2-1ac1c9e5.js.map +1 -0
  26. package/chunks/{telia-field-assistive-text2-8e042a32.js → telia-field-assistive-text2-173ba2fb.js} +3 -3
  27. package/chunks/{telia-field-assistive-text2-8e042a32.js.map → telia-field-assistive-text2-173ba2fb.js.map} +1 -1
  28. package/chunks/{telia-field-error2-8beb1632.js → telia-field-error2-75dc8ceb.js} +4 -4
  29. package/chunks/{telia-field-error2-8beb1632.js.map → telia-field-error2-75dc8ceb.js.map} +1 -1
  30. package/chunks/{telia-field-valid2-bda898b1.js → telia-field-valid2-0f6759ac.js} +4 -4
  31. package/chunks/{telia-field-valid2-bda898b1.js.map → telia-field-valid2-0f6759ac.js.map} +1 -1
  32. package/chunks/{telia-heading2-9d3ab48b.js → telia-heading2-38ae44ae.js} +3 -3
  33. package/chunks/{telia-heading2-9d3ab48b.js.map → telia-heading2-38ae44ae.js.map} +1 -1
  34. package/chunks/{telia-icon2-34bf5aef.js → telia-icon2-d0e7c715.js} +3 -3
  35. package/chunks/{telia-icon2-34bf5aef.js.map → telia-icon2-d0e7c715.js.map} +1 -1
  36. package/chunks/{telia-label2-4d674e5e.js → telia-label2-f4c1eb47.js} +3 -3
  37. package/chunks/{telia-label2-4d674e5e.js.map → telia-label2-f4c1eb47.js.map} +1 -1
  38. package/chunks/{telia-link2-7769b385.js → telia-link2-4999bc77.js} +6 -6
  39. package/chunks/telia-link2-4999bc77.js.map +1 -0
  40. package/chunks/{telia-navigation-button2-a0b24d67.js → telia-navigation-button2-b6b0d39c.js} +4 -4
  41. package/chunks/{telia-navigation-button2-a0b24d67.js.map → telia-navigation-button2-b6b0d39c.js.map} +1 -1
  42. package/chunks/telia-style-link2-0bc93885.js +54 -0
  43. package/chunks/telia-style-link2-0bc93885.js.map +1 -0
  44. package/chunks/{telia-style-navigation-item2-58683cd9.js → telia-style-navigation-item2-b2eaedc2.js} +3 -3
  45. package/chunks/{telia-style-navigation-item2-58683cd9.js.map → telia-style-navigation-item2-b2eaedc2.js.map} +1 -1
  46. package/chunks/{telia-tab-header2-bd04582d.js → telia-tab-header2-94c52ad6.js} +4 -4
  47. package/chunks/{telia-tab-header2-bd04582d.js.map → telia-tab-header2-94c52ad6.js.map} +1 -1
  48. package/chunks/{telia-visually-hidden2-71416262.js → telia-visually-hidden2-9015e8cd.js} +3 -3
  49. package/chunks/{telia-visually-hidden2-71416262.js.map → telia-visually-hidden2-9015e8cd.js.map} +1 -1
  50. package/chunks/{telia-vst2-1a7f7bd6.js → telia-vst2-dfb33a56.js} +3 -3
  51. package/chunks/{telia-vst2-1a7f7bd6.js.map → telia-vst2-dfb33a56.js.map} +1 -1
  52. package/chunks/uniqueId-0daf01ec.js.map +1 -1
  53. package/components/alliance-modal.js +8 -8
  54. package/components/alliance-paginator/alliance-page-selector.d.ts +22 -0
  55. package/components/alliance-paginator/alliance-paginator.d.ts +4 -1
  56. package/components/alliance-paginator/index.d.ts +1 -0
  57. package/components/alliance-paginator/utils.d.ts +13 -0
  58. package/components/alliance-paginator.js +8 -7
  59. package/components/alliance-paginator.js.map +1 -1
  60. package/components/alliance-table.js +5 -5
  61. package/components/index.js +12 -12
  62. package/package.json +9 -8
  63. package/voca/components/telia-accordion-item.js +3 -3
  64. package/voca/components/telia-accordion-item.js.map +1 -1
  65. package/voca/components/telia-accordion.js +5 -5
  66. package/voca/components/telia-accordion.js.map +1 -1
  67. package/voca/components/telia-badge.js +2 -2
  68. package/voca/components/telia-badge.js.map +1 -1
  69. package/voca/components/telia-button.js +4 -4
  70. package/voca/components/telia-card-frame-link.js +6 -6
  71. package/voca/components/telia-card-frame-link.js.map +1 -1
  72. package/voca/components/telia-card-frame.js +3 -3
  73. package/voca/components/telia-checkbox.js +6 -6
  74. package/voca/components/telia-checkbox.js.map +1 -1
  75. package/voca/components/telia-chip-choice.js +2 -2
  76. package/voca/components/telia-chip-choice.js.map +1 -1
  77. package/voca/components/telia-chip-filter.js +4 -4
  78. package/voca/components/telia-chip-filter.js.map +1 -1
  79. package/voca/components/telia-col.js +2 -2
  80. package/voca/components/telia-col.js.map +1 -1
  81. package/voca/components/telia-color-dot.js +2 -2
  82. package/voca/components/telia-color-dot.js.map +1 -1
  83. package/voca/components/telia-cta-link.js +3 -3
  84. package/voca/components/telia-cta-link.js.map +1 -1
  85. package/voca/components/telia-date-picker.js +77 -65
  86. package/voca/components/telia-date-picker.js.map +1 -1
  87. package/voca/components/telia-divider.js +2 -2
  88. package/voca/components/telia-divider.js.map +1 -1
  89. package/voca/components/telia-field-assistive-text.js +3 -3
  90. package/voca/components/telia-field-error.js +4 -4
  91. package/voca/components/telia-field-valid.js +4 -4
  92. package/voca/components/telia-fieldset.js +2 -2
  93. package/voca/components/telia-fieldset.js.map +1 -1
  94. package/voca/components/telia-focus-trap.js +2 -2
  95. package/voca/components/telia-focus-trap.js.map +1 -1
  96. package/voca/components/telia-form.js +9 -7
  97. package/voca/components/telia-form.js.map +1 -1
  98. package/voca/components/telia-grid.js +3 -3
  99. package/voca/components/telia-grid.js.map +1 -1
  100. package/voca/components/telia-heading.js +3 -3
  101. package/voca/components/telia-icon.js +3 -3
  102. package/voca/components/telia-image.js +2 -2
  103. package/voca/components/telia-image.js.map +1 -1
  104. package/voca/components/telia-label.js +3 -3
  105. package/voca/components/telia-link-image.js +8 -8
  106. package/voca/components/telia-link-image.js.map +1 -1
  107. package/voca/components/telia-link.js +4 -4
  108. package/voca/components/telia-list.js +2 -2
  109. package/voca/components/telia-list.js.map +1 -1
  110. package/voca/components/telia-logo.js +2 -2
  111. package/voca/components/telia-logo.js.map +1 -1
  112. package/voca/components/telia-navigation-button.js +4 -4
  113. package/voca/components/telia-navigation-dropdown.js +5 -5
  114. package/voca/components/telia-navigation-dropdown.js.map +1 -1
  115. package/voca/components/telia-navigation-link.js +3 -3
  116. package/voca/components/telia-navigation-link.js.map +1 -1
  117. package/voca/components/telia-notification.js +6 -6
  118. package/voca/components/telia-notification.js.map +1 -1
  119. package/voca/components/telia-overlay.js +2 -2
  120. package/voca/components/telia-overlay.js.map +1 -1
  121. package/voca/components/telia-p.js +2 -2
  122. package/voca/components/telia-p.js.map +1 -1
  123. package/voca/components/telia-pictogram.js +2 -2
  124. package/voca/components/telia-pictogram.js.map +1 -1
  125. package/voca/components/telia-radio-button.js +4 -4
  126. package/voca/components/telia-radio-button.js.map +1 -1
  127. package/voca/components/telia-row.js +2 -2
  128. package/voca/components/telia-row.js.map +1 -1
  129. package/voca/components/telia-select.js +6 -6
  130. package/voca/components/telia-select.js.map +1 -1
  131. package/voca/components/telia-skeleton.js +11 -11
  132. package/voca/components/telia-skeleton.js.map +1 -1
  133. package/voca/components/telia-status-badge.js +3 -3
  134. package/voca/components/telia-status-badge.js.map +1 -1
  135. package/voca/components/telia-style-link.js +3 -3
  136. package/voca/components/telia-style-navigation-item.js +3 -3
  137. package/voca/components/telia-tab-content.js +20 -12
  138. package/voca/components/telia-tab-content.js.map +1 -1
  139. package/voca/components/telia-tab-header.js +4 -4
  140. package/voca/components/telia-tab.js +11 -8
  141. package/voca/components/telia-tab.js.map +1 -1
  142. package/voca/components/telia-text-input.js +9 -8
  143. package/voca/components/telia-text-input.js.map +1 -1
  144. package/voca/components/telia-text-spacing.js +2 -2
  145. package/voca/components/telia-text-spacing.js.map +1 -1
  146. package/voca/components/telia-textarea.js +6 -6
  147. package/voca/components/telia-textarea.js.map +1 -1
  148. package/voca/components/telia-toggle.js +4 -4
  149. package/voca/components/telia-toggle.js.map +1 -1
  150. package/voca/components/telia-visually-hidden.js +3 -3
  151. package/voca/components/telia-voca-stats.d.ts +1 -0
  152. package/voca/components/telia-voca-stats.js +54 -0
  153. package/voca/components/telia-voca-stats.js.map +1 -0
  154. package/voca/foundations/index.js +15 -18
  155. package/voca/foundations/index.js.map +1 -1
  156. package/voca/icons/index.js +1 -1
  157. package/voca/icons/index.js.map +1 -1
  158. package/chunks/alliance-paginator-button-83c050bc.js +0 -181
  159. package/chunks/alliance-paginator-button-83c050bc.js.map +0 -1
  160. package/chunks/index-17652cf7.js +0 -542
  161. package/chunks/index-57f6bd40.js.map +0 -1
  162. package/chunks/telia-button2-d25eddda.js.map +0 -1
  163. package/chunks/telia-card-frame2-2d46eef6.js.map +0 -1
  164. package/chunks/telia-link2-7769b385.js.map +0 -1
  165. package/chunks/telia-style-link2-bbd8d17a.js +0 -55
  166. package/chunks/telia-style-link2-bbd8d17a.js.map +0 -1
  167. package/components/alliance-paginator/get-pagination.d.ts +0 -8
@@ -1,181 +0,0 @@
1
- import "./telia-button2-d25eddda.js";
2
- import "./telia-label2-4d674e5e.js";
3
- import { d as x, c as D } from "./index-57f6bd40.js";
4
- import { e as s, i as R, r as $, s as S, y as g, a as _ } from "./query-assigned-elements-4285356d.js";
5
- import { c as I } from "./repeat-bf84f01f.js";
6
- import "./telia-icon2-34bf5aef.js";
7
- import { c as N, a as j } from "./chevron-right-788ce8a9.js";
8
- /**
9
- * @license
10
- * Copyright 2017 Google LLC
11
- * SPDX-License-Identifier: BSD-3-Clause
12
- */
13
- function z(t) {
14
- return s({ ...t, state: !0 });
15
- }
16
- const b = "...", f = (t, a) => {
17
- let i = a - t + 1;
18
- return Array.from({ length: i }, (r, e) => e + t);
19
- }, m = ({ itemCount: t, pageSize: a, siblingCount: i, currentPage: r }) => {
20
- const e = Math.ceil(t / a);
21
- if (i + 5 >= e)
22
- return f(1, e);
23
- const n = Math.max(r - i, 1), v = Math.min(r + i, e), d = n > 2, P = v < e - 2, y = 1, w = e;
24
- if (!d && P) {
25
- let h = 3 + 2 * i;
26
- return [...f(1, h), b, e];
27
- }
28
- if (d && !P) {
29
- let h = 3 + 2 * i, C = f(e - h + 1, e);
30
- return [y, b, ...C];
31
- }
32
- if (d && P) {
33
- let h = f(n, v);
34
- return [y, b, ...h, b, w];
35
- }
36
- return [];
37
- };
38
- var B = Object.defineProperty, L = Object.getOwnPropertyDescriptor, p = (t, a, i, r) => {
39
- for (var e = r > 1 ? void 0 : r ? L(a, i) : a, l = t.length - 1, n; l >= 0; l--)
40
- (n = t[l]) && (e = (r ? n(a, i, e) : n(e)) || e);
41
- return r && e && B(a, i, e), e;
42
- };
43
- let o = class extends S {
44
- constructor() {
45
- super(...arguments), this.itemCount = 0, this.pageSize = 50, this.initialPage = 1, this.siblingCount = 2, this.currentPage = this.initialPage, this.pages = [], this.changePage = (t) => {
46
- if (t === this.currentPage || // Next page is the same
47
- t < 1 || // Next page is 0
48
- t > this.pages[this.pages.length - 1])
49
- return;
50
- const a = new CustomEvent("change-page", {
51
- bubbles: !0,
52
- composed: !0,
53
- detail: { nextPage: t, previousPage: this.currentPage },
54
- cancelable: !0
55
- });
56
- this.dispatchEvent(a) && (this.currentPage = t, this.pages = m({
57
- itemCount: this.itemCount,
58
- pageSize: this.pageSize,
59
- siblingCount: this.siblingCount,
60
- currentPage: this.currentPage
61
- }));
62
- }, this.next = () => {
63
- this.changePage(this.currentPage + 1);
64
- }, this.previous = () => {
65
- this.changePage(this.currentPage - 1);
66
- };
67
- }
68
- connectedCallback() {
69
- super.connectedCallback(), this.currentPage = this.initialPage, this.pages = m({
70
- itemCount: this.itemCount,
71
- pageSize: this.pageSize,
72
- siblingCount: this.siblingCount,
73
- currentPage: this.currentPage
74
- });
75
- }
76
- attributeChangedCallback(t, a, i) {
77
- super.attributeChangedCallback(t, a, i), t === "initial-page" && (this.currentPage = this.initialPage), this.pages = m({
78
- itemCount: this.itemCount,
79
- pageSize: this.pageSize,
80
- siblingCount: this.siblingCount,
81
- currentPage: this.currentPage,
82
- [t]: i
83
- });
84
- }
85
- render() {
86
- return g`
87
- <alliance-paginator-button
88
- @click=${this.previous}
89
- ?disabled=${this.currentPage === 1}
90
- icon="left"
91
- ></alliance-paginator-button>
92
-
93
- ${I(
94
- this.pages,
95
- (t) => t === "..." ? g`<telia-label>...</telia-label>` : g`<alliance-paginator-button
96
- page=${t}
97
- @click=${() => this.changePage(t)}
98
- ?selected=${this.currentPage === t}
99
- ></alliance-paginator-button>`
100
- )}
101
-
102
- <alliance-paginator-button
103
- @click=${this.next}
104
- ?disabled=${this.currentPage === this.pages[this.pages.length - 1]}
105
- icon="right"
106
- ></alliance-paginator-button>
107
- `;
108
- }
109
- };
110
- o.styles = R`
111
- :host {
112
- display: flex;
113
- flex-direction: row;
114
- place-items: center;
115
- gap: ${$(x.spacing8)};
116
- }
117
-
118
- :host .telia-label {
119
- color: ${$(D.purple700)};
120
- }
121
-
122
- span {
123
- display: block;
124
- }
125
- `;
126
- p([
127
- s({ type: Number, attribute: "item-count" })
128
- ], o.prototype, "itemCount", 2);
129
- p([
130
- s({ type: Number, attribute: "page-size" })
131
- ], o.prototype, "pageSize", 2);
132
- p([
133
- s({ type: Number, attribute: "initial-page" })
134
- ], o.prototype, "initialPage", 2);
135
- p([
136
- s({ type: Number, attribute: "sibling-count" })
137
- ], o.prototype, "siblingCount", 2);
138
- p([
139
- z()
140
- ], o.prototype, "currentPage", 2);
141
- p([
142
- z()
143
- ], o.prototype, "pages", 2);
144
- o = p([
145
- _("alliance-paginator")
146
- ], o);
147
- var M = Object.defineProperty, E = Object.getOwnPropertyDescriptor, u = (t, a, i, r) => {
148
- for (var e = r > 1 ? void 0 : r ? E(a, i) : a, l = t.length - 1, n; l >= 0; l--)
149
- (n = t[l]) && (e = (r ? n(a, i, e) : n(e)) || e);
150
- return r && e && M(a, i, e), e;
151
- }, O = /* @__PURE__ */ ((t) => (t.Left = "left", t.Right = "right", t))(O || {});
152
- let c = class extends S {
153
- constructor() {
154
- super(...arguments), this.selected = !1, this.disabled = !1, this.clickable = !0;
155
- }
156
- renderContent() {
157
- return this.icon === "left" ? g`<telia-icon size="sm" svg="${N.svg}" />` : this.icon === "right" ? g`<telia-icon size="sm" svg="${j.svg}" />` : g`<span>${this.page}</span>`;
158
- }
159
- render() {
160
- return g`<telia-button ?disabled=${this.disabled} variant=${this.selected ? "primary" : "tertiary-purple"}>${this.renderContent()}</telia-button> `;
161
- }
162
- };
163
- u([
164
- s({ type: O })
165
- ], c.prototype, "icon", 2);
166
- u([
167
- s({ type: String })
168
- ], c.prototype, "page", 2);
169
- u([
170
- s({ type: Boolean })
171
- ], c.prototype, "selected", 2);
172
- u([
173
- s({ type: Boolean })
174
- ], c.prototype, "disabled", 2);
175
- u([
176
- s({ type: Boolean })
177
- ], c.prototype, "clickable", 2);
178
- c = u([
179
- _("alliance-paginator-button")
180
- ], c);
181
- //# sourceMappingURL=alliance-paginator-button-83c050bc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"alliance-paginator-button-83c050bc.js","sources":["../../../node_modules/.pnpm/@lit+reactive-element@1.6.1/node_modules/@lit/reactive-element/decorators/state.js","../src/components/alliance-paginator/get-pagination.ts","../src/components/alliance-paginator/alliance-paginator.ts","../src/components/alliance-paginator/alliance-paginator-button.ts"],"sourcesContent":["import{property as r}from\"./property.js\";\n/**\n * @license\n * Copyright 2017 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */function t(t){return r({...t,state:!0})}export{t as state};\n//# sourceMappingURL=state.js.map\n","/* \n Pagination logic taken from https://www.freecodecamp.org/news/build-a-custom-pagination-component-in-react/\n*/\nconst DOTS = '...';\n\nconst range = (start: number, end: number) => {\n let length = end - start + 1;\n /*\n Create an array of certain length and set the elements within it from\n start value to end value.\n */\n return Array.from({ length }, (_, idx) => idx + start);\n};\n\ntype Args = {\n itemCount: number;\n pageSize: number;\n siblingCount: number;\n currentPage: number;\n};\n\nexport default ({ itemCount, pageSize, siblingCount, currentPage }: Args): (number | '...')[] => {\n const totalPageCount = Math.ceil(itemCount / pageSize);\n\n // Pages count is determined as siblingCount + firstPage + lastPage + currentPage + 2*DOTS\n const totalPageNumbers = siblingCount + 5;\n\n /*\n Case 1:\n If the number of pages is less than the page numbers we want to show in our\n paginationComponent, we return the range [1..totalPageCount]\n */\n if (totalPageNumbers >= totalPageCount) {\n return range(1, totalPageCount);\n }\n\n /*\n Calculate left and right sibling index and make sure they are within range 1 and totalPageCount\n */\n const leftSiblingIndex = Math.max(currentPage - siblingCount, 1);\n const rightSiblingIndex = Math.min(currentPage + siblingCount, totalPageCount);\n\n /*\n We do not show dots just when there is just one page number to be inserted between the extremes of sibling and the page limits i.e 1 and totalPageCount. Hence we are using leftSiblingIndex > 2 and rightSiblingIndex < totalPageCount - 2\n */\n const shouldShowLeftDots = leftSiblingIndex > 2;\n const shouldShowRightDots = rightSiblingIndex < totalPageCount - 2;\n\n const firstPageIndex = 1;\n const lastPageIndex = totalPageCount;\n\n /*\n Case 2: No left dots to show, but rights dots to be shown\n */\n if (!shouldShowLeftDots && shouldShowRightDots) {\n let leftItemCount = 3 + 2 * siblingCount;\n let leftRange = range(1, leftItemCount);\n\n return [...leftRange, DOTS, totalPageCount];\n }\n\n /*\n Case 3: No right dots to show, but left dots to be shown\n */\n if (shouldShowLeftDots && !shouldShowRightDots) {\n let rightItemCount = 3 + 2 * siblingCount;\n let rightRange = range(totalPageCount - rightItemCount + 1, totalPageCount);\n return [firstPageIndex, DOTS, ...rightRange];\n }\n\n /*\n Case 4: Both left and right dots to be shown\n */\n if (shouldShowLeftDots && shouldShowRightDots) {\n let middleRange = range(leftSiblingIndex, rightSiblingIndex);\n return [firstPageIndex, DOTS, ...middleRange, DOTS, lastPageIndex];\n }\n\n return [];\n};\n","import '@/voca/components/telia-button';\nimport '@/voca/components/telia-label';\nimport { colors, spacing } from '@/voca/foundations';\nimport { css, html, LitElement, unsafeCSS } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { repeat } from 'lit/directives/repeat.js';\nimport getPagination from './get-pagination';\n\n/**\n * Event dispatched when pressing a page button.\n *\n * Event: `change-page`\n *\n * Detail: Object containing the properties `nextPage` and `previousPage`.\n */\nexport type ChangePageEvent = CustomEvent<{ nextPage: number; previousPage: number }>;\n\n@customElement('alliance-paginator')\nexport class Paginator extends LitElement {\n static styles = css`\n :host {\n display: flex;\n flex-direction: row;\n place-items: center;\n gap: ${unsafeCSS(spacing.spacing8)};\n }\n\n :host .telia-label {\n color: ${unsafeCSS(colors.purple700)};\n }\n\n span {\n display: block;\n }\n `;\n\n connectedCallback() {\n super.connectedCallback();\n\n this.currentPage = this.initialPage;\n this.pages = getPagination({\n itemCount: this.itemCount,\n pageSize: this.pageSize,\n siblingCount: this.siblingCount,\n currentPage: this.currentPage,\n });\n }\n\n attributeChangedCallback(name: string, _: string | null, value: string | null) {\n super.attributeChangedCallback(name, _, value);\n\n if (name === 'initial-page') {\n this.currentPage = this.initialPage;\n }\n\n this.pages = getPagination({\n itemCount: this.itemCount,\n pageSize: this.pageSize,\n siblingCount: this.siblingCount,\n currentPage: this.currentPage,\n [name]: value,\n });\n }\n\n @property({ type: Number, attribute: 'item-count' })\n itemCount: number = 0;\n\n @property({ type: Number, attribute: 'page-size' })\n pageSize: number = 50;\n\n @property({ type: Number, attribute: 'initial-page' })\n initialPage: number = 1;\n\n @property({ type: Number, attribute: 'sibling-count' })\n siblingCount: number = 2;\n\n @state()\n currentPage: number = this.initialPage;\n\n @state()\n pages: (number | '...')[] = [];\n\n changePage = (nextPage: number) => {\n if (\n nextPage === this.currentPage || // Next page is the same\n nextPage < 1 || // Next page is 0\n nextPage > this.pages[this.pages.length - 1] // Next page is outside of available pages\n ) {\n return;\n }\n\n const event: ChangePageEvent = new CustomEvent('change-page', {\n bubbles: true,\n composed: true,\n detail: { nextPage, previousPage: this.currentPage },\n cancelable: true,\n });\n const defaultNotPrevented = this.dispatchEvent(event);\n\n if (defaultNotPrevented) {\n this.currentPage = nextPage;\n\n this.pages = getPagination({\n itemCount: this.itemCount,\n pageSize: this.pageSize,\n siblingCount: this.siblingCount,\n currentPage: this.currentPage,\n });\n }\n };\n\n next = () => {\n this.changePage(this.currentPage + 1);\n };\n\n previous = () => {\n this.changePage(this.currentPage - 1);\n };\n\n render() {\n return html`\n <alliance-paginator-button\n @click=${this.previous}\n ?disabled=${this.currentPage === 1}\n icon=\"left\"\n ></alliance-paginator-button>\n\n ${repeat(this.pages, (pageNumber) =>\n pageNumber === '...'\n ? html`<telia-label>...</telia-label>`\n : html`<alliance-paginator-button\n page=${pageNumber}\n @click=${() => this.changePage(pageNumber)}\n ?selected=${this.currentPage === pageNumber}\n ></alliance-paginator-button>`\n )}\n\n <alliance-paginator-button\n @click=${this.next}\n ?disabled=${this.currentPage === this.pages[this.pages.length - 1]}\n icon=\"right\"\n ></alliance-paginator-button>\n `;\n }\n}\n","import '@/voca/components/telia-button';\nimport '@/voca/components/telia-icon';\nimport { chevronLeft, chevronRight } from '@/voca/icons';\nimport { html, LitElement } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nenum Icon {\n Left = 'left',\n Right = 'right',\n}\n\n@customElement('alliance-paginator-button')\nexport class PaginatorButton extends LitElement {\n @property({ type: Icon })\n icon?: Icon;\n\n @property({ type: String })\n page?: string;\n\n @property({ type: Boolean })\n selected: boolean = false;\n\n @property({ type: Boolean })\n disabled: boolean = false;\n\n @property({ type: Boolean })\n clickable: boolean = true;\n\n private renderContent() {\n if (this.icon === Icon.Left) {\n return html`<telia-icon size=\"sm\" svg=\"${chevronLeft.svg}\" />`;\n }\n\n if (this.icon === Icon.Right) {\n return html`<telia-icon size=\"sm\" svg=\"${chevronRight.svg}\" />`;\n }\n\n return html`<span>${this.page}</span>`;\n }\n\n render() {\n /*\n Ignore prettier on next line because Voca \n uses textContent on the telia-button element\n to detect whether or not it only contains an\n icon - which does not take account for white space...\n https://github.com/telia-company/design-system/issues/813\n */\n // prettier-ignore\n return html`<telia-button ?disabled=${this.disabled} variant=${this.selected ? 'primary' : 'tertiary-purple'}>${this.renderContent()}</telia-button> `;\n }\n}\n"],"names":["t","r","DOTS","range","start","end","length","_","idx","getPagination","itemCount","pageSize","siblingCount","currentPage","totalPageCount","leftSiblingIndex","rightSiblingIndex","shouldShowLeftDots","shouldShowRightDots","firstPageIndex","lastPageIndex","leftItemCount","rightItemCount","rightRange","middleRange","Paginator","LitElement","nextPage","event","name","value","html","repeat","pageNumber","css","unsafeCSS","spacing","colors","__decorateClass","property","state","customElement","Icon","PaginatorButton","chevronLeft","chevronRight"],"mappings":"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"}