@govtechsg/sgds-web-component 1.1.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Masthead/index.js +1 -1
- package/base/sgds-element.cjs2.js +1 -1
- package/base/sgds-element2.js +1 -1
- package/components/Accordion/index.umd.js +3 -3
- package/components/Accordion/index.umd.js.map +1 -1
- package/components/Accordion/sgds-accordion.cjs.js +2 -2
- package/components/Accordion/sgds-accordion.cjs.js.map +1 -1
- package/components/Accordion/sgds-accordion.js +2 -2
- package/components/Accordion/sgds-accordion.js.map +1 -1
- package/components/ActionCard/index.umd.js +1 -1
- package/components/Alert/index.umd.js +1 -1
- package/components/Badge/index.umd.js +1 -1
- package/components/Breadcrumb/index.umd.js +1 -1
- package/components/Button/index.umd.js +1 -1
- package/components/Card/index.umd.js +1 -1
- package/components/Checkbox/index.umd.js +1 -1
- package/components/ComboBox/index.umd.js +10 -5
- package/components/ComboBox/index.umd.js.map +1 -1
- package/components/Datepicker/datepicker-calendar.cjs.js +43 -23
- package/components/Datepicker/datepicker-calendar.cjs.js.map +1 -1
- package/components/Datepicker/datepicker-calendar.cjs2.js +1 -1
- package/components/Datepicker/datepicker-calendar.d.ts +0 -1
- package/components/Datepicker/datepicker-calendar.js +43 -23
- package/components/Datepicker/datepicker-calendar.js.map +1 -1
- package/components/Datepicker/datepicker-calendar2.js +1 -1
- package/components/Datepicker/datepicker-header.cjs.js +44 -9
- package/components/Datepicker/datepicker-header.cjs.js.map +1 -1
- package/components/Datepicker/datepicker-header.cjs2.js +1 -1
- package/components/Datepicker/datepicker-header.d.ts +5 -1
- package/components/Datepicker/datepicker-header.js +44 -9
- package/components/Datepicker/datepicker-header.js.map +1 -1
- package/components/Datepicker/datepicker-header2.js +1 -1
- package/components/Datepicker/datepicker-input.cjs.js +4 -0
- package/components/Datepicker/datepicker-input.cjs.js.map +1 -1
- package/components/Datepicker/datepicker-input.d.ts +1 -0
- package/components/Datepicker/datepicker-input.js +4 -0
- package/components/Datepicker/datepicker-input.js.map +1 -1
- package/components/Datepicker/index.umd.js +252 -166
- package/components/Datepicker/index.umd.js.map +1 -1
- package/components/Datepicker/sgds-datepicker.cjs.js +25 -2
- package/components/Datepicker/sgds-datepicker.cjs.js.map +1 -1
- package/components/Datepicker/sgds-datepicker.d.ts +7 -1
- package/components/Datepicker/sgds-datepicker.js +25 -2
- package/components/Datepicker/sgds-datepicker.js.map +1 -1
- package/components/Datepicker/types.d.ts +0 -3
- package/components/Drawer/index.umd.js +1 -1
- package/components/Dropdown/index.umd.js +1 -1
- package/components/FileUpload/index.umd.js +2 -1
- package/components/FileUpload/index.umd.js.map +1 -1
- package/components/FileUpload/sgds-file-upload.cjs.js +1 -0
- package/components/FileUpload/sgds-file-upload.cjs.js.map +1 -1
- package/components/FileUpload/sgds-file-upload.d.ts +1 -0
- package/components/FileUpload/sgds-file-upload.js +1 -0
- package/components/FileUpload/sgds-file-upload.js.map +1 -1
- package/components/Footer/index.umd.js +1 -1
- package/components/Input/index.umd.js +10 -5
- package/components/Input/index.umd.js.map +1 -1
- package/components/Input/sgds-input.cjs.js +9 -4
- package/components/Input/sgds-input.cjs.js.map +1 -1
- package/components/Input/sgds-input.d.ts +1 -0
- package/components/Input/sgds-input.js +9 -4
- package/components/Input/sgds-input.js.map +1 -1
- package/components/Mainnav/index.umd.js +5989 -6128
- package/components/Mainnav/index.umd.js.map +1 -1
- package/components/Mainnav/sgds-mainnav.cjs.js +102 -29
- package/components/Mainnav/sgds-mainnav.cjs.js.map +1 -1
- package/components/Mainnav/sgds-mainnav.d.ts +16 -4
- package/components/Mainnav/sgds-mainnav.js +103 -26
- package/components/Mainnav/sgds-mainnav.js.map +1 -1
- package/components/Masthead/index.umd.js +1 -1
- package/components/Modal/index.umd.js +1 -1
- package/components/Pagination/index.umd.js +231 -41
- package/components/Pagination/index.umd.js.map +1 -1
- package/components/Pagination/sgds-pagination.cjs.js +94 -39
- package/components/Pagination/sgds-pagination.cjs.js.map +1 -1
- package/components/Pagination/sgds-pagination.cjs2.js +1 -1
- package/components/Pagination/sgds-pagination.d.ts +20 -13
- package/components/Pagination/sgds-pagination.js +95 -40
- package/components/Pagination/sgds-pagination.js.map +1 -1
- package/components/Pagination/sgds-pagination2.js +1 -1
- package/components/Progress/index.umd.js +1 -1
- package/components/QuantityToggle/index.umd.js +26 -8
- package/components/QuantityToggle/index.umd.js.map +1 -1
- package/components/QuantityToggle/sgds-quantity-toggle.cjs.js +25 -7
- package/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +1 -1
- package/components/QuantityToggle/sgds-quantity-toggle.d.ts +1 -0
- package/components/QuantityToggle/sgds-quantity-toggle.js +25 -7
- package/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -1
- package/components/Radio/index.umd.js +1 -1
- package/components/Sidenav/index.umd.js +505 -1648
- package/components/Sidenav/index.umd.js.map +1 -1
- package/components/Sidenav/sgds-sidenav-item.cjs.js +122 -45
- package/components/Sidenav/sgds-sidenav-item.cjs.js.map +1 -1
- package/components/Sidenav/sgds-sidenav-item.d.ts +19 -8
- package/components/Sidenav/sgds-sidenav-item.js +123 -42
- package/components/Sidenav/sgds-sidenav-item.js.map +1 -1
- package/components/Sidenav/sgds-sidenav.cjs.js +38 -12
- package/components/Sidenav/sgds-sidenav.cjs.js.map +1 -1
- package/components/Sidenav/sgds-sidenav.cjs2.js +1 -1
- package/components/Sidenav/sgds-sidenav.d.ts +9 -0
- package/components/Sidenav/sgds-sidenav.js +39 -13
- package/components/Sidenav/sgds-sidenav.js.map +1 -1
- package/components/Sidenav/sgds-sidenav2.js +1 -1
- package/components/Spinner/index.umd.js +1 -1
- package/components/Stepper/index.umd.js +1 -1
- package/components/Tab/index.umd.js +1 -1
- package/components/Table/index.umd.js +1 -1
- package/components/Textarea/index.umd.js +1 -1
- package/components/Toast/index.umd.js +1 -1
- package/components/Tooltip/index.umd.js +1 -1
- package/components/index.umd.js +534 -539
- package/components/index.umd.js.map +1 -1
- package/index.umd.js +534 -539
- package/index.umd.js.map +1 -1
- package/package.json +2 -2
- package/react/mainnav/index.cjs.js +6 -1
- package/react/mainnav/index.cjs.js.map +1 -1
- package/react/mainnav/index.js +6 -1
- package/react/mainnav/index.js.map +1 -1
- package/react/sidenav-item/index.cjs.js +5 -1
- package/react/sidenav-item/index.cjs.js.map +1 -1
- package/react/sidenav-item/index.js +5 -1
- package/react/sidenav-item/index.js.map +1 -1
|
@@ -8,6 +8,7 @@ var decorators_js = require('lit/decorators.js');
|
|
|
8
8
|
var sgdsElement = require('../../base/sgds-element.cjs.js');
|
|
9
9
|
var sgdsPagination = require('./sgds-pagination.cjs2.js');
|
|
10
10
|
var watch = require('../../utils/watch.cjs.js');
|
|
11
|
+
var classMap_js = require('lit/directives/class-map.js');
|
|
11
12
|
|
|
12
13
|
/**
|
|
13
14
|
* @summary The Pagination component enables the user to select a specific page from a range of pages
|
|
@@ -44,21 +45,25 @@ class SgdsPagination extends sgdsElement["default"] {
|
|
|
44
45
|
this.ellipsisOn = false;
|
|
45
46
|
/** When ellipsisOn is true, length of decrementing/incrementing of pages can be set with a number value*/
|
|
46
47
|
this.ellipsisJump = 3;
|
|
48
|
+
/** Enables rendering of the first-page button on the pagination, allowing users to jump to the initial page. By default, it will be false. When true, the first ellipsis will always be rendered */
|
|
49
|
+
this.showFirstPage = false;
|
|
50
|
+
/** Enables rendering of the last-page button on the pagination, allowing users to jump to the last page. By default, it will be false */
|
|
51
|
+
this.showLastPage = false;
|
|
47
52
|
this.ellipsisContent = lit.html `
|
|
48
53
|
<span aria-hidden="true">…</span>
|
|
49
54
|
<span class="visually-hidden">Ellipsis</span>
|
|
50
55
|
`;
|
|
51
56
|
/** @internal */
|
|
52
|
-
this.
|
|
53
|
-
const
|
|
54
|
-
if (
|
|
57
|
+
this._renderFirstEllipsis = () => {
|
|
58
|
+
const isHidden = !(this.pages.length !== this._sanitizeLimit && this.currentPage - Math.floor(this._sanitizeLimit / 2) > 1);
|
|
59
|
+
if (isHidden) {
|
|
55
60
|
return null;
|
|
56
61
|
}
|
|
57
|
-
const tabIndex =
|
|
62
|
+
const tabIndex = isHidden ? -1 : 0;
|
|
58
63
|
return lit.html `
|
|
59
64
|
<li
|
|
60
|
-
class
|
|
61
|
-
@click=${this.
|
|
65
|
+
class=${classMap_js.classMap({ "page-item": true, disabled: !this.ellipsisOn })}
|
|
66
|
+
@click=${this.ellipsisOn && this._handlePrevEllipsisButton}
|
|
62
67
|
@keydown=${(e) => this._handleKeyDown(e, "ellipsis", undefined, true)}
|
|
63
68
|
>
|
|
64
69
|
<span class="page-link" role="button" tabindex=${tabIndex}>${this.ellipsisContent}</span>
|
|
@@ -66,11 +71,12 @@ class SgdsPagination extends sgdsElement["default"] {
|
|
|
66
71
|
`;
|
|
67
72
|
};
|
|
68
73
|
}
|
|
69
|
-
|
|
74
|
+
/**@internal */
|
|
75
|
+
_handleValueChange() {
|
|
70
76
|
this.emit("sgds-page-change", { detail: { currentPage: this.currentPage } });
|
|
71
77
|
}
|
|
72
78
|
/** @internal */
|
|
73
|
-
|
|
79
|
+
_handlePageClick(event) {
|
|
74
80
|
const liTarget = event.target;
|
|
75
81
|
const clickedLi = liTarget.closest("li");
|
|
76
82
|
if (clickedLi) {
|
|
@@ -81,21 +87,21 @@ class SgdsPagination extends sgdsElement["default"] {
|
|
|
81
87
|
}
|
|
82
88
|
}
|
|
83
89
|
/** @internal */
|
|
84
|
-
|
|
90
|
+
_handleNextButton() {
|
|
85
91
|
this.currentPage = this.currentPage + 1;
|
|
86
92
|
}
|
|
87
93
|
/** @internal */
|
|
88
|
-
|
|
94
|
+
_handlePrevButton() {
|
|
89
95
|
this.currentPage = this.currentPage - 1;
|
|
90
96
|
}
|
|
91
97
|
/** @internal */
|
|
92
|
-
|
|
98
|
+
_handleNextEllipsisButton() {
|
|
93
99
|
this.currentPage = this.currentPage + this.ellipsisJump;
|
|
94
100
|
if (this.currentPage >= this.pages.length)
|
|
95
101
|
this.currentPage = this.pages.length;
|
|
96
102
|
}
|
|
97
103
|
/** @internal */
|
|
98
|
-
|
|
104
|
+
_handlePrevEllipsisButton() {
|
|
99
105
|
this.currentPage = this.currentPage - this.ellipsisJump;
|
|
100
106
|
if (this.currentPage <= 1)
|
|
101
107
|
this.currentPage = this.pages[0];
|
|
@@ -109,7 +115,7 @@ class SgdsPagination extends sgdsElement["default"] {
|
|
|
109
115
|
return pages;
|
|
110
116
|
}
|
|
111
117
|
/** @internal */
|
|
112
|
-
get
|
|
118
|
+
get _sanitizeLimit() {
|
|
113
119
|
return this.limit >= this.pages.length ? this.pages.length : this.limit;
|
|
114
120
|
}
|
|
115
121
|
/**@internal */
|
|
@@ -121,30 +127,49 @@ class SgdsPagination extends sgdsElement["default"] {
|
|
|
121
127
|
break;
|
|
122
128
|
case "ellipsis":
|
|
123
129
|
if (isFirstEllipsis) {
|
|
124
|
-
this.
|
|
130
|
+
this._handlePrevEllipsisButton();
|
|
125
131
|
}
|
|
126
132
|
else {
|
|
127
|
-
this.
|
|
133
|
+
this._handleNextEllipsisButton();
|
|
128
134
|
}
|
|
129
135
|
break;
|
|
130
136
|
case "directionButton":
|
|
131
137
|
if (isPrevButton) {
|
|
132
|
-
this.
|
|
138
|
+
this._handlePrevButton();
|
|
133
139
|
}
|
|
134
140
|
else {
|
|
135
|
-
this.
|
|
141
|
+
this._handleNextButton();
|
|
136
142
|
}
|
|
137
143
|
break;
|
|
138
144
|
}
|
|
139
145
|
}
|
|
140
146
|
}
|
|
147
|
+
_renderFirstPage() {
|
|
148
|
+
const sanitizeStartPage = this.currentPage - Math.floor(this._sanitizeLimit / 2);
|
|
149
|
+
if (sanitizeStartPage > 1) {
|
|
150
|
+
return lit.html `
|
|
151
|
+
<li key=${1} class="page-item ${this.currentPage === 1 ? "active" : ""}">
|
|
152
|
+
<span
|
|
153
|
+
class="page-link"
|
|
154
|
+
tabindex="0"
|
|
155
|
+
@click=${this._handlePageClick}
|
|
156
|
+
@keydown=${(e) => this._handleKeyDown(e, "pageNumber", 1)}
|
|
157
|
+
>1</span
|
|
158
|
+
>
|
|
159
|
+
</li>
|
|
160
|
+
`;
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
return null;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
141
166
|
/** @internal */
|
|
142
|
-
|
|
167
|
+
_renderPgNumbers() {
|
|
143
168
|
const pagesToShow = [];
|
|
144
169
|
let sanitizeStartPage = 1;
|
|
145
170
|
let endPage;
|
|
146
171
|
if (this.limit < this.pages.length) {
|
|
147
|
-
sanitizeStartPage = this.currentPage - Math.floor(this.
|
|
172
|
+
sanitizeStartPage = this.currentPage - Math.floor(this._sanitizeLimit / 2);
|
|
148
173
|
}
|
|
149
174
|
if (this.pages.length - sanitizeStartPage < this.limit) {
|
|
150
175
|
sanitizeStartPage = this.pages.length + 1 - this.limit;
|
|
@@ -152,12 +177,12 @@ class SgdsPagination extends sgdsElement["default"] {
|
|
|
152
177
|
if (sanitizeStartPage <= 0) {
|
|
153
178
|
sanitizeStartPage = 1;
|
|
154
179
|
}
|
|
155
|
-
endPage = sanitizeStartPage + this.
|
|
180
|
+
endPage = sanitizeStartPage + this._sanitizeLimit - 1;
|
|
156
181
|
if (endPage > this.pages.length) {
|
|
157
182
|
endPage = this.pages.length;
|
|
158
183
|
}
|
|
159
184
|
if (this.currentPage === this.pages.length) {
|
|
160
|
-
sanitizeStartPage = this.pages.length - this.
|
|
185
|
+
sanitizeStartPage = this.pages.length - this._sanitizeLimit + 1;
|
|
161
186
|
}
|
|
162
187
|
for (let i = sanitizeStartPage; i <= endPage; i++) {
|
|
163
188
|
pagesToShow.push(i);
|
|
@@ -167,7 +192,7 @@ class SgdsPagination extends sgdsElement["default"] {
|
|
|
167
192
|
<span
|
|
168
193
|
class="page-link"
|
|
169
194
|
tabindex="0"
|
|
170
|
-
@click=${this.
|
|
195
|
+
@click=${this._handlePageClick}
|
|
171
196
|
@keydown=${(e) => this._handleKeyDown(e, "pageNumber", number)}
|
|
172
197
|
>${number}</span
|
|
173
198
|
>
|
|
@@ -175,21 +200,21 @@ class SgdsPagination extends sgdsElement["default"] {
|
|
|
175
200
|
`);
|
|
176
201
|
}
|
|
177
202
|
/** @internal */
|
|
178
|
-
|
|
179
|
-
const isEvenLimit = this.
|
|
203
|
+
_renderLastEllipsis() {
|
|
204
|
+
const isEvenLimit = this._sanitizeLimit % 2 === 0;
|
|
180
205
|
const differentialLimitCondition = isEvenLimit
|
|
181
|
-
? this.currentPage + Math.floor(this.
|
|
182
|
-
: this.currentPage + Math.floor(this.
|
|
206
|
+
? this.currentPage + Math.floor(this._sanitizeLimit / 2) <= this.pages.length
|
|
207
|
+
: this.currentPage + Math.floor(this._sanitizeLimit / 2) < this.pages.length;
|
|
183
208
|
const shouldRenderEllipsis = this.pages.length !== this.limit && differentialLimitCondition;
|
|
184
209
|
const tabIndex = shouldRenderEllipsis && this.ellipsisOn ? 0 : -1;
|
|
185
|
-
if (!shouldRenderEllipsis || this.
|
|
210
|
+
if (!shouldRenderEllipsis || this._sanitizeLimit >= this.pages.length) {
|
|
186
211
|
return null;
|
|
187
212
|
}
|
|
188
213
|
if (this.ellipsisOn) {
|
|
189
214
|
return lit.html `
|
|
190
215
|
<li
|
|
191
216
|
class="page-item ${this.ellipsisOn ? "" : "disabled"} "
|
|
192
|
-
@click=${this.
|
|
217
|
+
@click=${this.ellipsisOn && this._handleNextEllipsisButton}
|
|
193
218
|
@keydown=${(e) => this._handleKeyDown(e, "ellipsis", undefined, false)}
|
|
194
219
|
>
|
|
195
220
|
<span class="page-link" role="button" tabindex=${tabIndex}>${this.ellipsisContent}</span>
|
|
@@ -204,8 +229,30 @@ class SgdsPagination extends sgdsElement["default"] {
|
|
|
204
229
|
`;
|
|
205
230
|
}
|
|
206
231
|
}
|
|
232
|
+
_renderLastPage() {
|
|
233
|
+
const isEvenLimit = this._sanitizeLimit % 2 === 0;
|
|
234
|
+
const differentialLimitCondition = isEvenLimit
|
|
235
|
+
? this.currentPage + Math.floor(this._sanitizeLimit / 2) <= this.pages.length
|
|
236
|
+
: this.currentPage + Math.floor(this._sanitizeLimit / 2) < this.pages.length;
|
|
237
|
+
if (this.pages.length !== this._sanitizeLimit && differentialLimitCondition) {
|
|
238
|
+
return lit.html `
|
|
239
|
+
<li key=${this.pages.length} class="page-item ${this.currentPage === this.pages.length ? "active" : ""}">
|
|
240
|
+
<span
|
|
241
|
+
class="page-link"
|
|
242
|
+
tabindex="0"
|
|
243
|
+
@click=${this._handlePageClick}
|
|
244
|
+
@keydown=${(e) => this._handleKeyDown(e, "pageNumber", this.pages.length)}
|
|
245
|
+
>${this.pages.length}</span
|
|
246
|
+
>
|
|
247
|
+
</li>
|
|
248
|
+
`;
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
207
254
|
/** @internal */
|
|
208
|
-
|
|
255
|
+
_getLeftChevronSVG() {
|
|
209
256
|
return lit.html `
|
|
210
257
|
<svg
|
|
211
258
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -223,7 +270,7 @@ class SgdsPagination extends sgdsElement["default"] {
|
|
|
223
270
|
`;
|
|
224
271
|
}
|
|
225
272
|
/** @internal */
|
|
226
|
-
|
|
273
|
+
_getRightChevronSVG() {
|
|
227
274
|
return lit.html `
|
|
228
275
|
<svg
|
|
229
276
|
xmlns="http://www.w3.org/2000/svg"
|
|
@@ -241,7 +288,7 @@ class SgdsPagination extends sgdsElement["default"] {
|
|
|
241
288
|
`;
|
|
242
289
|
}
|
|
243
290
|
/** @internal */
|
|
244
|
-
|
|
291
|
+
_renderDirectionButton(directionLabel, iconClass, clickHandler, keydownHandler, directionVariant) {
|
|
245
292
|
const isDisabled = iconClass === "left" ? this.currentPage === 1 : this.currentPage === this.pages.length;
|
|
246
293
|
const tabIndex = isDisabled ? -1 : 0;
|
|
247
294
|
const keydownListener = (event) => {
|
|
@@ -254,13 +301,13 @@ class SgdsPagination extends sgdsElement["default"] {
|
|
|
254
301
|
<span class="page-link" tabindex=${tabIndex} @keydown=${keydownListener}>
|
|
255
302
|
${directionVariant === "icon-text"
|
|
256
303
|
? lit.html `
|
|
257
|
-
${iconClass === "left" ? this.
|
|
258
|
-
${iconClass === "right" ? this.
|
|
304
|
+
${iconClass === "left" ? this._getLeftChevronSVG() : ""} ${directionLabel}
|
|
305
|
+
${iconClass === "right" ? this._getRightChevronSVG() : ""}
|
|
259
306
|
`
|
|
260
307
|
: directionVariant === "text"
|
|
261
308
|
? lit.html `${directionLabel}`
|
|
262
309
|
: directionVariant === "icon"
|
|
263
|
-
? lit.html `${iconClass === "left" ? this.
|
|
310
|
+
? lit.html `${iconClass === "left" ? this._getLeftChevronSVG() : this._getRightChevronSVG()}`
|
|
264
311
|
: lit.html ``}
|
|
265
312
|
</span>
|
|
266
313
|
</li>
|
|
@@ -268,11 +315,13 @@ class SgdsPagination extends sgdsElement["default"] {
|
|
|
268
315
|
}
|
|
269
316
|
render() {
|
|
270
317
|
return lit.html `
|
|
271
|
-
<nav aria-label="pagination">
|
|
318
|
+
<nav aria-label="pagination" role="navigation">
|
|
272
319
|
<ul class="pagination pagination-${this.size} sgds" directionVariant=${this.directionVariant}>
|
|
273
|
-
${this.
|
|
274
|
-
${this.
|
|
275
|
-
${this.
|
|
320
|
+
${this._renderDirectionButton("Previous", "left", this._handlePrevButton, (e) => this._handleKeyDown(e, "directionButton", undefined, undefined, true), this.directionVariant)}
|
|
321
|
+
${this.showFirstPage ? this._renderFirstPage() : lit.nothing}
|
|
322
|
+
${this.showFirstPage || this.ellipsisOn ? this._renderFirstEllipsis() : lit.nothing} ${this._renderPgNumbers()}
|
|
323
|
+
${this._renderLastEllipsis()} ${this.showLastPage ? this._renderLastPage() : lit.nothing}
|
|
324
|
+
${this._renderDirectionButton("Next", "right", this._handleNextButton, (e) => this._handleKeyDown(e, "directionButton", undefined, undefined, false), this.directionVariant)}
|
|
276
325
|
</ul>
|
|
277
326
|
</nav>
|
|
278
327
|
`;
|
|
@@ -303,9 +352,15 @@ tslib.__decorate([
|
|
|
303
352
|
tslib.__decorate([
|
|
304
353
|
decorators_js.property({ type: Number })
|
|
305
354
|
], SgdsPagination.prototype, "ellipsisJump", void 0);
|
|
355
|
+
tslib.__decorate([
|
|
356
|
+
decorators_js.property({ type: Boolean })
|
|
357
|
+
], SgdsPagination.prototype, "showFirstPage", void 0);
|
|
358
|
+
tslib.__decorate([
|
|
359
|
+
decorators_js.property({ type: Boolean })
|
|
360
|
+
], SgdsPagination.prototype, "showLastPage", void 0);
|
|
306
361
|
tslib.__decorate([
|
|
307
362
|
watch.watch("currentPage")
|
|
308
|
-
], SgdsPagination.prototype, "
|
|
363
|
+
], SgdsPagination.prototype, "_handleValueChange", null);
|
|
309
364
|
|
|
310
365
|
exports.SgdsPagination = SgdsPagination;
|
|
311
366
|
exports["default"] = SgdsPagination;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sgds-pagination.cjs.js","sources":["../../../src/components/Pagination/sgds-pagination.ts"],"sourcesContent":["import { TemplateResult, html } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-pagination.scss\";\nimport { watch } from \"../../utils/watch\";\n\n/**\n * @summary The Pagination component enables the user to select a specific page from a range of pages\n *\n * @event sgds-page-change - Event is emitted when `handleNextButton`, `handlePrevButton`, `handleNextEllipsisButton` and `handlePrevEllipsisButton` was called.\n *\n * @cssproperty --pagination-color Sets the pagination color. <br>Default value `--sgds-cyan`\n * @cssproperty --pagination-bg-color Sets the pagination background color. <br>Default value `--sgds-white`\n * @cssproperty --pagination-hover-bg-color Sets the pagination hover state background color. <br>Default value `--sgds-gray-200`\n * @cssproperty --pagination-hover-border-color Sets the pagination hover state border color. <br>Default value `--sgds-gray-300`\n * @cssproperty --pagination-active-color Sets the pagination hover state color. <br>Default value `--sgds-white`\n * @cssproperty --pagination-active-bg-color Sets the pagination active state background color. <br>Default value `--sgds-cyan`\n * @cssproperty --pagination-disabled-color Sets the pagination disabled state color. <br>Default value `--sgds-gray-600`\n * @cssproperty --pagination-disabled-bg-color Sets the pagination disabled state background color. <br>Default value `--sgds-white`\n *\n *\n **/\nexport class SgdsPagination extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** Inserts the length value from a given sets of data objects*/\n @property({ type: Number }) dataLength = 0;\n\n /** Sets the starting active page upon render*/\n @property({ type: Number }) currentPage = 1;\n\n /** Sets the amount of data objects to be displayed per page */\n @property({ type: Number }) itemsPerPage = 5;\n\n /** Sets the page limit to be displayed at any given render. e.g 3, 5, 7, 9 */\n @property({ type: Number }) limit = 3;\n\n /** Sets the page direction button to contain text and/or icon */\n @property({ type: String }) directionVariant: directionVariant = \"icon-text\";\n\n /** Sets the size of all page items. */\n @property({ type: String }) size: sizeVariant = \"sm\";\n\n /** Toggles ellipsis buttons to be able to increment/decrement pages based on the ellipsisJump value set. By default, it will be false */\n @property({ type: Boolean }) ellipsisOn = false;\n\n /** When ellipsisOn is true, length of decrementing/incrementing of pages can be set with a number value*/\n @property({ type: Number }) ellipsisJump = 3;\n\n @watch(\"currentPage\")\n handleValueChange() {\n this.emit(\"sgds-page-change\", { detail: { currentPage: this.currentPage } });\n }\n\n /** @internal */\n private handlePageClick(event: MouseEvent) {\n const liTarget = event.target as HTMLElement;\n const clickedLi = liTarget.closest(\"li\");\n\n if (clickedLi) {\n const clickedPage = Number(clickedLi.getAttribute(\"key\"));\n if (clickedPage !== this.currentPage) {\n this.currentPage = clickedPage;\n }\n }\n }\n\n /** @internal */\n private handleNextButton() {\n this.currentPage = this.currentPage + 1;\n }\n\n /** @internal */\n private handlePrevButton() {\n this.currentPage = this.currentPage - 1;\n }\n\n /** @internal */\n private handleNextEllipsisButton() {\n this.currentPage = this.currentPage + this.ellipsisJump;\n if (this.currentPage >= this.pages.length) this.currentPage = this.pages.length;\n }\n\n /** @internal */\n private handlePrevEllipsisButton() {\n this.currentPage = this.currentPage - this.ellipsisJump;\n if (this.currentPage <= 1) this.currentPage = this.pages[0];\n }\n\n /** @internal */\n private get pages() {\n const pages = [];\n for (let i = 1; i <= Math.ceil(this.dataLength / this.itemsPerPage); i++) {\n pages.push(i);\n }\n return pages;\n }\n\n /** @internal */\n private get sanitizeLimit() {\n return this.limit >= this.pages.length ? this.pages.length : this.limit;\n }\n\n /**@internal */\n private _handleKeyDown(\n event: KeyboardEvent,\n action: string,\n number?: number,\n isFirstEllipsis?: boolean,\n isPrevButton?: boolean\n ) {\n if (event.key === \"Enter\") {\n switch (action) {\n case \"pageNumber\":\n this.currentPage = number;\n break;\n case \"ellipsis\":\n if (isFirstEllipsis) {\n this.handlePrevEllipsisButton();\n } else {\n this.handleNextEllipsisButton();\n }\n break;\n case \"directionButton\":\n if (isPrevButton) {\n this.handlePrevButton();\n } else {\n this.handleNextButton();\n }\n break;\n }\n }\n }\n\n /** @internal */\n private renderPgNumbers() {\n const pagesToShow = [];\n let sanitizeStartPage = 1;\n let endPage: number;\n\n if (this.limit < this.pages.length) {\n sanitizeStartPage = this.currentPage - Math.floor(this.sanitizeLimit / 2);\n }\n\n if (this.pages.length - sanitizeStartPage < this.limit) {\n sanitizeStartPage = this.pages.length + 1 - this.limit;\n }\n\n if (sanitizeStartPage <= 0) {\n sanitizeStartPage = 1;\n }\n\n endPage = sanitizeStartPage + this.sanitizeLimit - 1;\n\n if (endPage > this.pages.length) {\n endPage = this.pages.length;\n }\n\n if (this.currentPage === this.pages.length) {\n sanitizeStartPage = this.pages.length - this.sanitizeLimit + 1;\n }\n\n for (let i = sanitizeStartPage; i <= endPage; i++) {\n pagesToShow.push(i);\n }\n\n return pagesToShow.map(\n number => html`\n <li key=${number} class=\"page-item ${this.currentPage === number ? \"active\" : \"\"}\">\n <span\n class=\"page-link\"\n tabindex=\"0\"\n @click=${this.handlePageClick}\n @keydown=${(e: KeyboardEvent) => this._handleKeyDown(e, \"pageNumber\", number)}\n >${number}</span\n >\n </li>\n `\n );\n }\n\n private ellipsisContent = html`\n <span aria-hidden=\"true\">…</span>\n <span class=\"visually-hidden\">Ellipsis</span>\n `;\n\n /** @internal */\n private renderFirstEllipsis = () => {\n const isDisabled = !(\n this.pages.length !== this.sanitizeLimit && this.currentPage - Math.floor(this.sanitizeLimit / 2) > 1\n );\n\n if (isDisabled) {\n return null;\n }\n\n const tabIndex = isDisabled ? -1 : 0;\n\n return html`\n <li\n class=\"page-item\"\n @click=${this.handlePrevEllipsisButton}\n @keydown=${(e: KeyboardEvent) => this._handleKeyDown(e, \"ellipsis\", undefined, true)}\n >\n <span class=\"page-link\" role=\"button\" tabindex=${tabIndex}>${this.ellipsisContent}</span>\n </li>\n `;\n };\n\n /** @internal */\n private renderLastEllipsis() {\n const isEvenLimit = this.sanitizeLimit % 2 === 0;\n const differentialLimitCondition = isEvenLimit\n ? this.currentPage + Math.floor(this.sanitizeLimit / 2) <= this.pages.length\n : this.currentPage + Math.floor(this.sanitizeLimit / 2) < this.pages.length;\n\n const shouldRenderEllipsis = this.pages.length !== this.limit && differentialLimitCondition;\n const tabIndex = shouldRenderEllipsis && this.ellipsisOn ? 0 : -1;\n if (!shouldRenderEllipsis || this.sanitizeLimit >= this.pages.length) {\n return null;\n }\n\n if (this.ellipsisOn) {\n return html`\n <li\n class=\"page-item ${this.ellipsisOn ? \"\" : \"disabled\"} \"\n @click=${this.handleNextEllipsisButton}\n @keydown=${(e: KeyboardEvent) => this._handleKeyDown(e, \"ellipsis\", undefined, false)}\n >\n <span class=\"page-link\" role=\"button\" tabindex=${tabIndex}>${this.ellipsisContent}</span>\n </li>\n `;\n } else {\n return html`\n <li class=\"page-item ${this.ellipsisOn ? \"\" : \"disabled\"} \">\n <span class=\"page-link disabled\" tabindex=${tabIndex}>${this.ellipsisContent}</span>\n </li>\n `;\n }\n }\n\n /** @internal */\n private getLeftChevronSVG() {\n return html`\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-left\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"\n />\n </svg>\n `;\n }\n\n /** @internal */\n private getRightChevronSVG() {\n return html`\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-right\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n `;\n }\n\n /** @internal */\n private renderDirectionButton(\n directionLabel: string,\n iconClass: string,\n clickHandler: (event: MouseEvent) => void,\n keydownHandler: (event: KeyboardEvent) => void,\n directionVariant: string\n ): TemplateResult {\n const isDisabled = iconClass === \"left\" ? this.currentPage === 1 : this.currentPage === this.pages.length;\n\n const tabIndex = isDisabled ? -1 : 0;\n\n const keydownListener = (event: KeyboardEvent) => {\n if (!isDisabled && event.key === \"Enter\") {\n keydownHandler(event);\n }\n };\n\n return html`\n <li class=\"page-item ${isDisabled ? \"disabled\" : \"\"}\" @click=${isDisabled ? undefined : clickHandler}>\n <span class=\"page-link\" tabindex=${tabIndex} @keydown=${keydownListener}>\n ${directionVariant === \"icon-text\"\n ? html`\n ${iconClass === \"left\" ? this.getLeftChevronSVG() : \"\"} ${directionLabel}\n ${iconClass === \"right\" ? this.getRightChevronSVG() : \"\"}\n `\n : directionVariant === \"text\"\n ? html`${directionLabel}`\n : directionVariant === \"icon\"\n ? html`${iconClass === \"left\" ? this.getLeftChevronSVG() : this.getRightChevronSVG()}`\n : html``}\n </span>\n </li>\n `;\n }\n\n render() {\n return html`\n <nav aria-label=\"pagination\">\n <ul class=\"pagination pagination-${this.size} sgds\" directionVariant=${this.directionVariant}>\n ${this.renderDirectionButton(\n \"Previous\",\n \"left\",\n this.handlePrevButton,\n (e: KeyboardEvent) => this._handleKeyDown(e, \"directionButton\", undefined, undefined, true),\n this.directionVariant\n )}\n ${this.ellipsisOn ? this.renderFirstEllipsis() : null} ${this.renderPgNumbers()} ${this.renderLastEllipsis()}\n ${this.renderDirectionButton(\n \"Next\",\n \"right\",\n this.handleNextButton,\n (e: KeyboardEvent) => this._handleKeyDown(e, \"directionButton\", undefined, undefined, false),\n this.directionVariant\n )}\n </ul>\n </nav>\n `;\n }\n}\n\nexport type directionVariant = \"icon\" | \"icon-text\" | \"text\";\n\nexport type sizeVariant = \"sm\" | \"md\" | \"lg\";\n\nexport default SgdsPagination;\n"],"names":["SgdsElement","html","styles","__decorate","property","watch"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sgds-pagination.cjs.js","sources":["../../../src/components/Pagination/sgds-pagination.ts"],"sourcesContent":["import { TemplateResult, html, nothing } from \"lit\";\nimport { property } from \"lit/decorators.js\";\nimport SgdsElement from \"../../base/sgds-element\";\nimport styles from \"./sgds-pagination.scss\";\nimport { watch } from \"../../utils/watch\";\nimport { classMap } from \"lit/directives/class-map.js\";\n\n/**\n * @summary The Pagination component enables the user to select a specific page from a range of pages\n *\n * @event sgds-page-change - Event is emitted when `handleNextButton`, `handlePrevButton`, `handleNextEllipsisButton` and `handlePrevEllipsisButton` was called.\n *\n * @cssproperty --pagination-color Sets the pagination color. <br>Default value `--sgds-cyan`\n * @cssproperty --pagination-bg-color Sets the pagination background color. <br>Default value `--sgds-white`\n * @cssproperty --pagination-hover-bg-color Sets the pagination hover state background color. <br>Default value `--sgds-gray-200`\n * @cssproperty --pagination-hover-border-color Sets the pagination hover state border color. <br>Default value `--sgds-gray-300`\n * @cssproperty --pagination-active-color Sets the pagination hover state color. <br>Default value `--sgds-white`\n * @cssproperty --pagination-active-bg-color Sets the pagination active state background color. <br>Default value `--sgds-cyan`\n * @cssproperty --pagination-disabled-color Sets the pagination disabled state color. <br>Default value `--sgds-gray-600`\n * @cssproperty --pagination-disabled-bg-color Sets the pagination disabled state background color. <br>Default value `--sgds-white`\n *\n *\n **/\nexport class SgdsPagination extends SgdsElement {\n static styles = [SgdsElement.styles, styles];\n\n /** Inserts the length value from a given sets of data objects*/\n @property({ type: Number }) dataLength = 0;\n\n /** Sets the starting active page upon render*/\n @property({ type: Number }) currentPage = 1;\n\n /** Sets the amount of data objects to be displayed per page */\n @property({ type: Number }) itemsPerPage = 5;\n\n /** Sets the page limit to be displayed at any given render. e.g 3, 5, 7, 9 */\n @property({ type: Number }) limit = 3;\n\n /** Sets the page direction button to contain text and/or icon */\n @property({ type: String }) directionVariant: directionVariant = \"icon-text\";\n\n /** Sets the size of all page items. */\n @property({ type: String }) size: sizeVariant = \"sm\";\n\n /** Toggles ellipsis buttons to be able to increment/decrement pages based on the ellipsisJump value set. By default, it will be false */\n @property({ type: Boolean }) ellipsisOn = false;\n\n /** When ellipsisOn is true, length of decrementing/incrementing of pages can be set with a number value*/\n @property({ type: Number }) ellipsisJump = 3;\n /** Enables rendering of the first-page button on the pagination, allowing users to jump to the initial page. By default, it will be false. When true, the first ellipsis will always be rendered */\n @property({ type: Boolean }) showFirstPage = false;\n /** Enables rendering of the last-page button on the pagination, allowing users to jump to the last page. By default, it will be false */\n @property({ type: Boolean }) showLastPage = false;\n\n /**@internal */\n @watch(\"currentPage\")\n _handleValueChange() {\n this.emit(\"sgds-page-change\", { detail: { currentPage: this.currentPage } });\n }\n\n /** @internal */\n private _handlePageClick(event: MouseEvent) {\n const liTarget = event.target as HTMLElement;\n const clickedLi = liTarget.closest(\"li\");\n\n if (clickedLi) {\n const clickedPage = Number(clickedLi.getAttribute(\"key\"));\n if (clickedPage !== this.currentPage) {\n this.currentPage = clickedPage;\n }\n }\n }\n\n /** @internal */\n private _handleNextButton() {\n this.currentPage = this.currentPage + 1;\n }\n\n /** @internal */\n private _handlePrevButton() {\n this.currentPage = this.currentPage - 1;\n }\n\n /** @internal */\n private _handleNextEllipsisButton() {\n this.currentPage = this.currentPage + this.ellipsisJump;\n if (this.currentPage >= this.pages.length) this.currentPage = this.pages.length;\n }\n\n /** @internal */\n private _handlePrevEllipsisButton() {\n this.currentPage = this.currentPage - this.ellipsisJump;\n if (this.currentPage <= 1) this.currentPage = this.pages[0];\n }\n\n /** @internal */\n private get pages() {\n const pages = [];\n for (let i = 1; i <= Math.ceil(this.dataLength / this.itemsPerPage); i++) {\n pages.push(i);\n }\n return pages;\n }\n\n /** @internal */\n private get _sanitizeLimit() {\n return this.limit >= this.pages.length ? this.pages.length : this.limit;\n }\n\n /**@internal */\n private _handleKeyDown(\n event: KeyboardEvent,\n action: string,\n number?: number,\n isFirstEllipsis?: boolean,\n isPrevButton?: boolean\n ) {\n if (event.key === \"Enter\") {\n switch (action) {\n case \"pageNumber\":\n this.currentPage = number;\n break;\n case \"ellipsis\":\n if (isFirstEllipsis) {\n this._handlePrevEllipsisButton();\n } else {\n this._handleNextEllipsisButton();\n }\n break;\n case \"directionButton\":\n if (isPrevButton) {\n this._handlePrevButton();\n } else {\n this._handleNextButton();\n }\n break;\n }\n }\n }\n\n private _renderFirstPage() {\n const sanitizeStartPage = this.currentPage - Math.floor(this._sanitizeLimit / 2);\n if (sanitizeStartPage > 1) {\n return html`\n <li key=${1} class=\"page-item ${this.currentPage === 1 ? \"active\" : \"\"}\">\n <span\n class=\"page-link\"\n tabindex=\"0\"\n @click=${this._handlePageClick}\n @keydown=${(e: KeyboardEvent) => this._handleKeyDown(e, \"pageNumber\", 1)}\n >1</span\n >\n </li>\n `;\n } else {\n return null;\n }\n }\n /** @internal */\n private _renderPgNumbers() {\n const pagesToShow = [];\n let sanitizeStartPage = 1;\n let endPage: number;\n\n if (this.limit < this.pages.length) {\n sanitizeStartPage = this.currentPage - Math.floor(this._sanitizeLimit / 2);\n }\n\n if (this.pages.length - sanitizeStartPage < this.limit) {\n sanitizeStartPage = this.pages.length + 1 - this.limit;\n }\n\n if (sanitizeStartPage <= 0) {\n sanitizeStartPage = 1;\n }\n\n endPage = sanitizeStartPage + this._sanitizeLimit - 1;\n\n if (endPage > this.pages.length) {\n endPage = this.pages.length;\n }\n\n if (this.currentPage === this.pages.length) {\n sanitizeStartPage = this.pages.length - this._sanitizeLimit + 1;\n }\n\n for (let i = sanitizeStartPage; i <= endPage; i++) {\n pagesToShow.push(i);\n }\n return pagesToShow.map(\n number => html`\n <li key=${number} class=\"page-item ${this.currentPage === number ? \"active\" : \"\"}\">\n <span\n class=\"page-link\"\n tabindex=\"0\"\n @click=${this._handlePageClick}\n @keydown=${(e: KeyboardEvent) => this._handleKeyDown(e, \"pageNumber\", number)}\n >${number}</span\n >\n </li>\n `\n );\n }\n\n private ellipsisContent = html`\n <span aria-hidden=\"true\">…</span>\n <span class=\"visually-hidden\">Ellipsis</span>\n `;\n\n /** @internal */\n private _renderFirstEllipsis = () => {\n const isHidden = !(\n this.pages.length !== this._sanitizeLimit && this.currentPage - Math.floor(this._sanitizeLimit / 2) > 1\n );\n\n if (isHidden) {\n return null;\n }\n\n const tabIndex = isHidden ? -1 : 0;\n\n return html`\n <li\n class=${classMap({ \"page-item\": true, disabled: !this.ellipsisOn })}\n @click=${this.ellipsisOn && this._handlePrevEllipsisButton}\n @keydown=${(e: KeyboardEvent) => this._handleKeyDown(e, \"ellipsis\", undefined, true)}\n >\n <span class=\"page-link\" role=\"button\" tabindex=${tabIndex}>${this.ellipsisContent}</span>\n </li>\n `;\n };\n\n /** @internal */\n private _renderLastEllipsis() {\n const isEvenLimit = this._sanitizeLimit % 2 === 0;\n const differentialLimitCondition = isEvenLimit\n ? this.currentPage + Math.floor(this._sanitizeLimit / 2) <= this.pages.length\n : this.currentPage + Math.floor(this._sanitizeLimit / 2) < this.pages.length;\n\n const shouldRenderEllipsis = this.pages.length !== this.limit && differentialLimitCondition;\n const tabIndex = shouldRenderEllipsis && this.ellipsisOn ? 0 : -1;\n if (!shouldRenderEllipsis || this._sanitizeLimit >= this.pages.length) {\n return null;\n }\n\n if (this.ellipsisOn) {\n return html`\n <li\n class=\"page-item ${this.ellipsisOn ? \"\" : \"disabled\"} \"\n @click=${this.ellipsisOn && this._handleNextEllipsisButton}\n @keydown=${(e: KeyboardEvent) => this._handleKeyDown(e, \"ellipsis\", undefined, false)}\n >\n <span class=\"page-link\" role=\"button\" tabindex=${tabIndex}>${this.ellipsisContent}</span>\n </li>\n `;\n } else {\n return html`\n <li class=\"page-item ${this.ellipsisOn ? \"\" : \"disabled\"} \">\n <span class=\"page-link disabled\" tabindex=${tabIndex}>${this.ellipsisContent}</span>\n </li>\n `;\n }\n }\n\n private _renderLastPage() {\n const isEvenLimit = this._sanitizeLimit % 2 === 0;\n const differentialLimitCondition = isEvenLimit\n ? this.currentPage + Math.floor(this._sanitizeLimit / 2) <= this.pages.length\n : this.currentPage + Math.floor(this._sanitizeLimit / 2) < this.pages.length;\n\n if (this.pages.length !== this._sanitizeLimit && differentialLimitCondition) {\n return html`\n <li key=${this.pages.length} class=\"page-item ${this.currentPage === this.pages.length ? \"active\" : \"\"}\">\n <span\n class=\"page-link\"\n tabindex=\"0\"\n @click=${this._handlePageClick}\n @keydown=${(e: KeyboardEvent) => this._handleKeyDown(e, \"pageNumber\", this.pages.length)}\n >${this.pages.length}</span\n >\n </li>\n `;\n } else {\n return null;\n }\n }\n\n /** @internal */\n private _getLeftChevronSVG() {\n return html`\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-left\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z\"\n />\n </svg>\n `;\n }\n\n /** @internal */\n private _getRightChevronSVG() {\n return html`\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"16\"\n height=\"16\"\n fill=\"currentColor\"\n class=\"bi bi-chevron-right\"\n viewBox=\"0 0 16 16\"\n >\n <path\n fill-rule=\"evenodd\"\n d=\"M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z\"\n />\n </svg>\n `;\n }\n\n /** @internal */\n private _renderDirectionButton(\n directionLabel: string,\n iconClass: string,\n clickHandler: (event: MouseEvent) => void,\n keydownHandler: (event: KeyboardEvent) => void,\n directionVariant: string\n ): TemplateResult {\n const isDisabled = iconClass === \"left\" ? this.currentPage === 1 : this.currentPage === this.pages.length;\n\n const tabIndex = isDisabled ? -1 : 0;\n\n const keydownListener = (event: KeyboardEvent) => {\n if (!isDisabled && event.key === \"Enter\") {\n keydownHandler(event);\n }\n };\n\n return html`\n <li class=\"page-item ${isDisabled ? \"disabled\" : \"\"}\" @click=${isDisabled ? undefined : clickHandler}>\n <span class=\"page-link\" tabindex=${tabIndex} @keydown=${keydownListener}>\n ${directionVariant === \"icon-text\"\n ? html`\n ${iconClass === \"left\" ? this._getLeftChevronSVG() : \"\"} ${directionLabel}\n ${iconClass === \"right\" ? this._getRightChevronSVG() : \"\"}\n `\n : directionVariant === \"text\"\n ? html`${directionLabel}`\n : directionVariant === \"icon\"\n ? html`${iconClass === \"left\" ? this._getLeftChevronSVG() : this._getRightChevronSVG()}`\n : html``}\n </span>\n </li>\n `;\n }\n\n render() {\n return html`\n <nav aria-label=\"pagination\" role=\"navigation\">\n <ul class=\"pagination pagination-${this.size} sgds\" directionVariant=${this.directionVariant}>\n ${this._renderDirectionButton(\n \"Previous\",\n \"left\",\n this._handlePrevButton,\n (e: KeyboardEvent) => this._handleKeyDown(e, \"directionButton\", undefined, undefined, true),\n this.directionVariant\n )}\n ${this.showFirstPage ? this._renderFirstPage() : nothing}\n ${this.showFirstPage || this.ellipsisOn ? this._renderFirstEllipsis() : nothing} ${this._renderPgNumbers()}\n ${this._renderLastEllipsis()} ${this.showLastPage ? this._renderLastPage() : nothing}\n ${this._renderDirectionButton(\n \"Next\",\n \"right\",\n this._handleNextButton,\n (e: KeyboardEvent) => this._handleKeyDown(e, \"directionButton\", undefined, undefined, false),\n this.directionVariant\n )}\n </ul>\n </nav>\n `;\n }\n}\n\nexport type directionVariant = \"icon\" | \"icon-text\" | \"text\";\n\nexport type sizeVariant = \"sm\" | \"md\" | \"lg\";\n\nexport default SgdsPagination;\n"],"names":["SgdsElement","html","classMap","nothing","styles","__decorate","property","watch"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var lit = require('lit');
|
|
6
6
|
|
|
7
|
-
var css_248z = lit.css`:host{--pagination-color:var(--sgds-
|
|
7
|
+
var css_248z = lit.css`:host{--pagination-color:var(--sgds-info,#0f71bb);--pagination-bg-color:var(--sgds-white,#fff);--pagination-hover-bg-color:var(--sgds-gray-200,#e4e7ec);--pagination-hover-border-color:var(--sgds-gray-300,#d0d5dd);--pagination-active-color:var(--sgds-white,#fff);--pagination-active-bg-color:var(--sgds-info,#0f71bb);--pagination-disabled-color:var(--sgds-gray-600,#344054);--pagination-disabled-bg-color:var(--sgds-white,#fff)}ul.pagination.sgds li{cursor:pointer}ul.pagination.sgds li.disabled{cursor:default}ul.pagination.sgds li.page-item span.page-link{background-color:var(--pagination-bg-color);color:var(--pagination-color)}ul.pagination.sgds li.page-item span.page-link:hover{background-color:var(--pagination-hover-bg-color);border-color:var(--pagination-hover-border-color);color:var(--pagination-color)}ul.pagination.sgds li.page-item.disabled .page-link{background-color:var(--pagination-disabled-bg-color);color:var(--pagination-disabled-color)}ul.pagination.sgds li.page-item.active .page-link{background-color:var(--pagination-active-bg-color);color:var(--pagination-active-color)}`;
|
|
8
8
|
|
|
9
9
|
exports["default"] = css_248z;
|
|
10
10
|
//# sourceMappingURL=sgds-pagination.cjs2.js.map
|
|
@@ -34,36 +34,43 @@ export declare class SgdsPagination extends SgdsElement {
|
|
|
34
34
|
ellipsisOn: boolean;
|
|
35
35
|
/** When ellipsisOn is true, length of decrementing/incrementing of pages can be set with a number value*/
|
|
36
36
|
ellipsisJump: number;
|
|
37
|
-
|
|
37
|
+
/** Enables rendering of the first-page button on the pagination, allowing users to jump to the initial page. By default, it will be false. When true, the first ellipsis will always be rendered */
|
|
38
|
+
showFirstPage: boolean;
|
|
39
|
+
/** Enables rendering of the last-page button on the pagination, allowing users to jump to the last page. By default, it will be false */
|
|
40
|
+
showLastPage: boolean;
|
|
41
|
+
/**@internal */
|
|
42
|
+
_handleValueChange(): void;
|
|
38
43
|
/** @internal */
|
|
39
|
-
private
|
|
44
|
+
private _handlePageClick;
|
|
40
45
|
/** @internal */
|
|
41
|
-
private
|
|
46
|
+
private _handleNextButton;
|
|
42
47
|
/** @internal */
|
|
43
|
-
private
|
|
48
|
+
private _handlePrevButton;
|
|
44
49
|
/** @internal */
|
|
45
|
-
private
|
|
50
|
+
private _handleNextEllipsisButton;
|
|
46
51
|
/** @internal */
|
|
47
|
-
private
|
|
52
|
+
private _handlePrevEllipsisButton;
|
|
48
53
|
/** @internal */
|
|
49
54
|
private get pages();
|
|
50
55
|
/** @internal */
|
|
51
|
-
private get
|
|
56
|
+
private get _sanitizeLimit();
|
|
52
57
|
/**@internal */
|
|
53
58
|
private _handleKeyDown;
|
|
59
|
+
private _renderFirstPage;
|
|
54
60
|
/** @internal */
|
|
55
|
-
private
|
|
61
|
+
private _renderPgNumbers;
|
|
56
62
|
private ellipsisContent;
|
|
57
63
|
/** @internal */
|
|
58
|
-
private
|
|
64
|
+
private _renderFirstEllipsis;
|
|
59
65
|
/** @internal */
|
|
60
|
-
private
|
|
66
|
+
private _renderLastEllipsis;
|
|
67
|
+
private _renderLastPage;
|
|
61
68
|
/** @internal */
|
|
62
|
-
private
|
|
69
|
+
private _getLeftChevronSVG;
|
|
63
70
|
/** @internal */
|
|
64
|
-
private
|
|
71
|
+
private _getRightChevronSVG;
|
|
65
72
|
/** @internal */
|
|
66
|
-
private
|
|
73
|
+
private _renderDirectionButton;
|
|
67
74
|
render(): TemplateResult<1>;
|
|
68
75
|
}
|
|
69
76
|
export type directionVariant = "icon" | "icon-text" | "text";
|