@telia-ace/alliance-ui 1.0.8-next.0 → 1.0.8
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.
- package/CHANGELOG.md +19 -0
- package/chunks/{alliance-modal-6cef0241.js → alliance-modal-20f50b87.js} +5 -5
- package/chunks/{alliance-modal-6cef0241.js.map → alliance-modal-20f50b87.js.map} +1 -1
- package/chunks/alliance-paginator-button-25709222.js +313 -0
- package/chunks/alliance-paginator-button-25709222.js.map +1 -0
- package/chunks/{alliance-table-row-67a6becb.js → alliance-table-row-21cc74e0.js} +3 -3
- package/chunks/{alliance-table-row-67a6becb.js.map → alliance-table-row-21cc74e0.js.map} +1 -1
- package/chunks/check-circle-filled-42095247.js.map +1 -1
- package/chunks/chevron-down-50d47dd6.js.map +1 -1
- package/chunks/chevron-right-788ce8a9.js.map +1 -1
- package/chunks/close-7d423291.js.map +1 -1
- package/chunks/close-ac6e4f1c.js.map +1 -1
- package/chunks/error-filled-8de50bdd.js.map +1 -1
- package/chunks/getSvgContent-f2389ce0.js.map +1 -1
- package/chunks/{index-57f6bd40.js → index-d925c796.js} +14 -16
- package/chunks/index-d925c796.js.map +1 -0
- package/chunks/index-eef143db.js +531 -0
- package/chunks/{index-17652cf7.js.map → index-eef143db.js.map} +1 -1
- package/chunks/query-assigned-elements-4285356d.js.map +1 -1
- package/chunks/repeat-bf84f01f.js.map +1 -1
- package/chunks/stringCombiner-10b57054.js.map +1 -1
- package/chunks/{telia-button2-d25eddda.js → telia-button2-7783c019.js} +18 -43
- package/chunks/telia-button2-7783c019.js.map +1 -0
- package/chunks/{telia-card-frame2-2d46eef6.js → telia-card-frame2-1ac1c9e5.js} +4 -4
- package/chunks/telia-card-frame2-1ac1c9e5.js.map +1 -0
- package/chunks/{telia-field-assistive-text2-8e042a32.js → telia-field-assistive-text2-173ba2fb.js} +3 -3
- package/chunks/{telia-field-assistive-text2-8e042a32.js.map → telia-field-assistive-text2-173ba2fb.js.map} +1 -1
- package/chunks/{telia-field-error2-8beb1632.js → telia-field-error2-75dc8ceb.js} +4 -4
- package/chunks/{telia-field-error2-8beb1632.js.map → telia-field-error2-75dc8ceb.js.map} +1 -1
- package/chunks/{telia-field-valid2-bda898b1.js → telia-field-valid2-0f6759ac.js} +4 -4
- package/chunks/{telia-field-valid2-bda898b1.js.map → telia-field-valid2-0f6759ac.js.map} +1 -1
- package/chunks/{telia-heading2-9d3ab48b.js → telia-heading2-38ae44ae.js} +3 -3
- package/chunks/{telia-heading2-9d3ab48b.js.map → telia-heading2-38ae44ae.js.map} +1 -1
- package/chunks/{telia-icon2-34bf5aef.js → telia-icon2-d0e7c715.js} +3 -3
- package/chunks/{telia-icon2-34bf5aef.js.map → telia-icon2-d0e7c715.js.map} +1 -1
- package/chunks/{telia-label2-4d674e5e.js → telia-label2-f4c1eb47.js} +3 -3
- package/chunks/{telia-label2-4d674e5e.js.map → telia-label2-f4c1eb47.js.map} +1 -1
- package/chunks/{telia-link2-7769b385.js → telia-link2-4999bc77.js} +6 -6
- package/chunks/telia-link2-4999bc77.js.map +1 -0
- package/chunks/{telia-navigation-button2-a0b24d67.js → telia-navigation-button2-b6b0d39c.js} +4 -4
- package/chunks/{telia-navigation-button2-a0b24d67.js.map → telia-navigation-button2-b6b0d39c.js.map} +1 -1
- package/chunks/telia-style-link2-0bc93885.js +54 -0
- package/chunks/telia-style-link2-0bc93885.js.map +1 -0
- package/chunks/{telia-style-navigation-item2-58683cd9.js → telia-style-navigation-item2-b2eaedc2.js} +3 -3
- package/chunks/{telia-style-navigation-item2-58683cd9.js.map → telia-style-navigation-item2-b2eaedc2.js.map} +1 -1
- package/chunks/{telia-tab-header2-bd04582d.js → telia-tab-header2-94c52ad6.js} +4 -4
- package/chunks/{telia-tab-header2-bd04582d.js.map → telia-tab-header2-94c52ad6.js.map} +1 -1
- package/chunks/{telia-visually-hidden2-71416262.js → telia-visually-hidden2-9015e8cd.js} +3 -3
- package/chunks/{telia-visually-hidden2-71416262.js.map → telia-visually-hidden2-9015e8cd.js.map} +1 -1
- package/chunks/{telia-vst2-1a7f7bd6.js → telia-vst2-dfb33a56.js} +3 -3
- package/chunks/{telia-vst2-1a7f7bd6.js.map → telia-vst2-dfb33a56.js.map} +1 -1
- package/chunks/uniqueId-0daf01ec.js.map +1 -1
- package/components/alliance-modal.js +7 -7
- package/components/alliance-paginator/alliance-page-selector.d.ts +22 -0
- package/components/alliance-paginator/alliance-paginator.d.ts +4 -1
- package/components/alliance-paginator/index.d.ts +1 -0
- package/components/alliance-paginator/utils.d.ts +13 -0
- package/components/alliance-paginator.js +8 -7
- package/components/alliance-paginator.js.map +1 -1
- package/components/alliance-table.js +5 -5
- package/components/index.js +11 -11
- package/package.json +8 -8
- package/voca/components/telia-accordion-item.js +3 -3
- package/voca/components/telia-accordion-item.js.map +1 -1
- package/voca/components/telia-accordion.js +5 -5
- package/voca/components/telia-accordion.js.map +1 -1
- package/voca/components/telia-badge.js +2 -2
- package/voca/components/telia-badge.js.map +1 -1
- package/voca/components/telia-button.js +4 -4
- package/voca/components/telia-card-frame-link.js +6 -6
- package/voca/components/telia-card-frame-link.js.map +1 -1
- package/voca/components/telia-card-frame.js +3 -3
- package/voca/components/telia-checkbox.js +6 -6
- package/voca/components/telia-checkbox.js.map +1 -1
- package/voca/components/telia-chip-choice.js +2 -2
- package/voca/components/telia-chip-choice.js.map +1 -1
- package/voca/components/telia-chip-filter.js +4 -4
- package/voca/components/telia-chip-filter.js.map +1 -1
- package/voca/components/telia-col.js +2 -2
- package/voca/components/telia-col.js.map +1 -1
- package/voca/components/telia-color-dot.js +2 -2
- package/voca/components/telia-color-dot.js.map +1 -1
- package/voca/components/telia-cta-link.js +3 -3
- package/voca/components/telia-cta-link.js.map +1 -1
- package/voca/components/telia-date-picker.js +77 -65
- package/voca/components/telia-date-picker.js.map +1 -1
- package/voca/components/telia-divider.js +2 -2
- package/voca/components/telia-divider.js.map +1 -1
- package/voca/components/telia-field-assistive-text.js +3 -3
- package/voca/components/telia-field-error.js +4 -4
- package/voca/components/telia-field-valid.js +4 -4
- package/voca/components/telia-fieldset.js +2 -2
- package/voca/components/telia-fieldset.js.map +1 -1
- package/voca/components/telia-focus-trap.js +2 -2
- package/voca/components/telia-focus-trap.js.map +1 -1
- package/voca/components/telia-form.js +9 -7
- package/voca/components/telia-form.js.map +1 -1
- package/voca/components/telia-grid.js +3 -3
- package/voca/components/telia-grid.js.map +1 -1
- package/voca/components/telia-heading.js +3 -3
- package/voca/components/telia-icon.js +3 -3
- package/voca/components/telia-image.js +2 -2
- package/voca/components/telia-image.js.map +1 -1
- package/voca/components/telia-label.js +3 -3
- package/voca/components/telia-link-image.js +8 -8
- package/voca/components/telia-link-image.js.map +1 -1
- package/voca/components/telia-link.js +4 -4
- package/voca/components/telia-list.js +2 -2
- package/voca/components/telia-list.js.map +1 -1
- package/voca/components/telia-logo.js +2 -2
- package/voca/components/telia-logo.js.map +1 -1
- package/voca/components/telia-navigation-button.js +4 -4
- package/voca/components/telia-navigation-dropdown.js +5 -5
- package/voca/components/telia-navigation-dropdown.js.map +1 -1
- package/voca/components/telia-navigation-link.js +3 -3
- package/voca/components/telia-navigation-link.js.map +1 -1
- package/voca/components/telia-notification.js +5 -5
- package/voca/components/telia-notification.js.map +1 -1
- package/voca/components/telia-overlay.js +2 -2
- package/voca/components/telia-overlay.js.map +1 -1
- package/voca/components/telia-p.js +2 -2
- package/voca/components/telia-p.js.map +1 -1
- package/voca/components/telia-pictogram.js +2 -2
- package/voca/components/telia-pictogram.js.map +1 -1
- package/voca/components/telia-radio-button.js +4 -4
- package/voca/components/telia-radio-button.js.map +1 -1
- package/voca/components/telia-row.js +2 -2
- package/voca/components/telia-row.js.map +1 -1
- package/voca/components/telia-select.js +6 -6
- package/voca/components/telia-select.js.map +1 -1
- package/voca/components/telia-skeleton.js +11 -11
- package/voca/components/telia-skeleton.js.map +1 -1
- package/voca/components/telia-status-badge.js +3 -3
- package/voca/components/telia-status-badge.js.map +1 -1
- package/voca/components/telia-style-link.js +3 -3
- package/voca/components/telia-style-navigation-item.js +3 -3
- package/voca/components/telia-tab-content.js +20 -12
- package/voca/components/telia-tab-content.js.map +1 -1
- package/voca/components/telia-tab-header.js +4 -4
- package/voca/components/telia-tab.js +11 -8
- package/voca/components/telia-tab.js.map +1 -1
- package/voca/components/telia-text-input.js +9 -8
- package/voca/components/telia-text-input.js.map +1 -1
- package/voca/components/telia-text-spacing.js +2 -2
- package/voca/components/telia-text-spacing.js.map +1 -1
- package/voca/components/telia-textarea.js +6 -6
- package/voca/components/telia-textarea.js.map +1 -1
- package/voca/components/telia-toggle.js +4 -4
- package/voca/components/telia-toggle.js.map +1 -1
- package/voca/components/telia-visually-hidden.js +3 -3
- package/voca/components/telia-voca-stats.d.ts +1 -0
- package/voca/components/telia-voca-stats.js +54 -0
- package/voca/components/telia-voca-stats.js.map +1 -0
- package/voca/foundations/index.js +15 -18
- package/voca/foundations/index.js.map +1 -1
- package/voca/icons/index.js.map +1 -1
- package/chunks/alliance-paginator-button-83c050bc.js +0 -181
- package/chunks/alliance-paginator-button-83c050bc.js.map +0 -1
- package/chunks/index-17652cf7.js +0 -542
- package/chunks/index-57f6bd40.js.map +0 -1
- package/chunks/telia-button2-d25eddda.js.map +0 -1
- package/chunks/telia-card-frame2-2d46eef6.js.map +0 -1
- package/chunks/telia-link2-7769b385.js.map +0 -1
- package/chunks/telia-style-link2-bbd8d17a.js +0 -55
- package/chunks/telia-style-link2-bbd8d17a.js.map +0 -1
- 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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"}
|