@govtechsg/sgds-web-component 1.1.0 → 1.2.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 (133) hide show
  1. package/Masthead/index.js +1 -1
  2. package/base/sgds-element.cjs2.js +1 -1
  3. package/base/sgds-element2.js +1 -1
  4. package/components/Accordion/index.umd.js +3 -3
  5. package/components/Accordion/index.umd.js.map +1 -1
  6. package/components/Accordion/sgds-accordion.cjs.js +2 -2
  7. package/components/Accordion/sgds-accordion.cjs.js.map +1 -1
  8. package/components/Accordion/sgds-accordion.js +2 -2
  9. package/components/Accordion/sgds-accordion.js.map +1 -1
  10. package/components/ActionCard/index.umd.js +1 -1
  11. package/components/Alert/index.umd.js +1 -1
  12. package/components/Badge/index.umd.js +1 -1
  13. package/components/Breadcrumb/index.umd.js +1 -1
  14. package/components/Button/index.umd.js +1 -1
  15. package/components/Card/index.umd.js +5 -3
  16. package/components/Card/index.umd.js.map +1 -1
  17. package/components/Card/sgds-card.cjs.js +2 -1
  18. package/components/Card/sgds-card.cjs.js.map +1 -1
  19. package/components/Card/sgds-card.cjs2.js +10 -0
  20. package/components/Card/sgds-card.cjs2.js.map +1 -0
  21. package/components/Card/sgds-card.d.ts +1 -1
  22. package/components/Card/sgds-card.js +2 -1
  23. package/components/Card/sgds-card.js.map +1 -1
  24. package/components/Card/sgds-card2.js +6 -0
  25. package/components/Card/sgds-card2.js.map +1 -0
  26. package/components/Checkbox/index.umd.js +1 -1
  27. package/components/ComboBox/index.umd.js +10 -5
  28. package/components/ComboBox/index.umd.js.map +1 -1
  29. package/components/Datepicker/datepicker-calendar.cjs.js +43 -23
  30. package/components/Datepicker/datepicker-calendar.cjs.js.map +1 -1
  31. package/components/Datepicker/datepicker-calendar.cjs2.js +1 -1
  32. package/components/Datepicker/datepicker-calendar.d.ts +0 -1
  33. package/components/Datepicker/datepicker-calendar.js +43 -23
  34. package/components/Datepicker/datepicker-calendar.js.map +1 -1
  35. package/components/Datepicker/datepicker-calendar2.js +1 -1
  36. package/components/Datepicker/datepicker-header.cjs.js +44 -9
  37. package/components/Datepicker/datepicker-header.cjs.js.map +1 -1
  38. package/components/Datepicker/datepicker-header.cjs2.js +1 -1
  39. package/components/Datepicker/datepicker-header.d.ts +5 -1
  40. package/components/Datepicker/datepicker-header.js +44 -9
  41. package/components/Datepicker/datepicker-header.js.map +1 -1
  42. package/components/Datepicker/datepicker-header2.js +1 -1
  43. package/components/Datepicker/datepicker-input.cjs.js +4 -0
  44. package/components/Datepicker/datepicker-input.cjs.js.map +1 -1
  45. package/components/Datepicker/datepicker-input.d.ts +1 -0
  46. package/components/Datepicker/datepicker-input.js +4 -0
  47. package/components/Datepicker/datepicker-input.js.map +1 -1
  48. package/components/Datepicker/index.umd.js +252 -166
  49. package/components/Datepicker/index.umd.js.map +1 -1
  50. package/components/Datepicker/sgds-datepicker.cjs.js +25 -2
  51. package/components/Datepicker/sgds-datepicker.cjs.js.map +1 -1
  52. package/components/Datepicker/sgds-datepicker.d.ts +7 -1
  53. package/components/Datepicker/sgds-datepicker.js +25 -2
  54. package/components/Datepicker/sgds-datepicker.js.map +1 -1
  55. package/components/Datepicker/types.d.ts +0 -3
  56. package/components/Drawer/index.umd.js +1 -1
  57. package/components/Dropdown/index.umd.js +1 -1
  58. package/components/FileUpload/index.umd.js +2 -1
  59. package/components/FileUpload/index.umd.js.map +1 -1
  60. package/components/FileUpload/sgds-file-upload.cjs.js +1 -0
  61. package/components/FileUpload/sgds-file-upload.cjs.js.map +1 -1
  62. package/components/FileUpload/sgds-file-upload.d.ts +1 -0
  63. package/components/FileUpload/sgds-file-upload.js +1 -0
  64. package/components/FileUpload/sgds-file-upload.js.map +1 -1
  65. package/components/Footer/index.umd.js +1 -1
  66. package/components/Input/index.umd.js +10 -5
  67. package/components/Input/index.umd.js.map +1 -1
  68. package/components/Input/sgds-input.cjs.js +9 -4
  69. package/components/Input/sgds-input.cjs.js.map +1 -1
  70. package/components/Input/sgds-input.d.ts +1 -0
  71. package/components/Input/sgds-input.js +9 -4
  72. package/components/Input/sgds-input.js.map +1 -1
  73. package/components/Mainnav/index.umd.js +5989 -6128
  74. package/components/Mainnav/index.umd.js.map +1 -1
  75. package/components/Mainnav/sgds-mainnav.cjs.js +102 -29
  76. package/components/Mainnav/sgds-mainnav.cjs.js.map +1 -1
  77. package/components/Mainnav/sgds-mainnav.d.ts +16 -4
  78. package/components/Mainnav/sgds-mainnav.js +103 -26
  79. package/components/Mainnav/sgds-mainnav.js.map +1 -1
  80. package/components/Masthead/index.umd.js +1 -1
  81. package/components/Modal/index.umd.js +1 -1
  82. package/components/Pagination/index.umd.js +231 -41
  83. package/components/Pagination/index.umd.js.map +1 -1
  84. package/components/Pagination/sgds-pagination.cjs.js +94 -39
  85. package/components/Pagination/sgds-pagination.cjs.js.map +1 -1
  86. package/components/Pagination/sgds-pagination.cjs2.js +1 -1
  87. package/components/Pagination/sgds-pagination.d.ts +20 -13
  88. package/components/Pagination/sgds-pagination.js +95 -40
  89. package/components/Pagination/sgds-pagination.js.map +1 -1
  90. package/components/Pagination/sgds-pagination2.js +1 -1
  91. package/components/Progress/index.umd.js +1 -1
  92. package/components/QuantityToggle/index.umd.js +26 -8
  93. package/components/QuantityToggle/index.umd.js.map +1 -1
  94. package/components/QuantityToggle/sgds-quantity-toggle.cjs.js +25 -7
  95. package/components/QuantityToggle/sgds-quantity-toggle.cjs.js.map +1 -1
  96. package/components/QuantityToggle/sgds-quantity-toggle.d.ts +1 -0
  97. package/components/QuantityToggle/sgds-quantity-toggle.js +25 -7
  98. package/components/QuantityToggle/sgds-quantity-toggle.js.map +1 -1
  99. package/components/Radio/index.umd.js +1 -1
  100. package/components/Sidenav/index.umd.js +505 -1648
  101. package/components/Sidenav/index.umd.js.map +1 -1
  102. package/components/Sidenav/sgds-sidenav-item.cjs.js +122 -45
  103. package/components/Sidenav/sgds-sidenav-item.cjs.js.map +1 -1
  104. package/components/Sidenav/sgds-sidenav-item.d.ts +19 -8
  105. package/components/Sidenav/sgds-sidenav-item.js +123 -42
  106. package/components/Sidenav/sgds-sidenav-item.js.map +1 -1
  107. package/components/Sidenav/sgds-sidenav.cjs.js +38 -12
  108. package/components/Sidenav/sgds-sidenav.cjs.js.map +1 -1
  109. package/components/Sidenav/sgds-sidenav.cjs2.js +1 -1
  110. package/components/Sidenav/sgds-sidenav.d.ts +9 -0
  111. package/components/Sidenav/sgds-sidenav.js +39 -13
  112. package/components/Sidenav/sgds-sidenav.js.map +1 -1
  113. package/components/Sidenav/sgds-sidenav2.js +1 -1
  114. package/components/Spinner/index.umd.js +1 -1
  115. package/components/Stepper/index.umd.js +1 -1
  116. package/components/Tab/index.umd.js +1 -1
  117. package/components/Table/index.umd.js +1 -1
  118. package/components/Textarea/index.umd.js +1 -1
  119. package/components/Toast/index.umd.js +1 -1
  120. package/components/Tooltip/index.umd.js +1 -1
  121. package/components/index.umd.js +557 -560
  122. package/components/index.umd.js.map +1 -1
  123. package/index.umd.js +557 -560
  124. package/index.umd.js.map +1 -1
  125. package/package.json +2 -2
  126. package/react/mainnav/index.cjs.js +6 -1
  127. package/react/mainnav/index.cjs.js.map +1 -1
  128. package/react/mainnav/index.js +6 -1
  129. package/react/mainnav/index.js.map +1 -1
  130. package/react/sidenav-item/index.cjs.js +5 -1
  131. package/react/sidenav-item/index.cjs.js.map +1 -1
  132. package/react/sidenav-item/index.js +5 -1
  133. 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.renderFirstEllipsis = () => {
53
- const isDisabled = !(this.pages.length !== this.sanitizeLimit && this.currentPage - Math.floor(this.sanitizeLimit / 2) > 1);
54
- if (isDisabled) {
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 = isDisabled ? -1 : 0;
62
+ const tabIndex = isHidden ? -1 : 0;
58
63
  return lit.html `
59
64
  <li
60
- class="page-item"
61
- @click=${this.handlePrevEllipsisButton}
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
- handleValueChange() {
74
+ /**@internal */
75
+ _handleValueChange() {
70
76
  this.emit("sgds-page-change", { detail: { currentPage: this.currentPage } });
71
77
  }
72
78
  /** @internal */
73
- handlePageClick(event) {
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
- handleNextButton() {
90
+ _handleNextButton() {
85
91
  this.currentPage = this.currentPage + 1;
86
92
  }
87
93
  /** @internal */
88
- handlePrevButton() {
94
+ _handlePrevButton() {
89
95
  this.currentPage = this.currentPage - 1;
90
96
  }
91
97
  /** @internal */
92
- handleNextEllipsisButton() {
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
- handlePrevEllipsisButton() {
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 sanitizeLimit() {
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.handlePrevEllipsisButton();
130
+ this._handlePrevEllipsisButton();
125
131
  }
126
132
  else {
127
- this.handleNextEllipsisButton();
133
+ this._handleNextEllipsisButton();
128
134
  }
129
135
  break;
130
136
  case "directionButton":
131
137
  if (isPrevButton) {
132
- this.handlePrevButton();
138
+ this._handlePrevButton();
133
139
  }
134
140
  else {
135
- this.handleNextButton();
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
- renderPgNumbers() {
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.sanitizeLimit / 2);
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.sanitizeLimit - 1;
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.sanitizeLimit + 1;
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.handlePageClick}
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
- renderLastEllipsis() {
179
- const isEvenLimit = this.sanitizeLimit % 2 === 0;
203
+ _renderLastEllipsis() {
204
+ const isEvenLimit = this._sanitizeLimit % 2 === 0;
180
205
  const differentialLimitCondition = isEvenLimit
181
- ? this.currentPage + Math.floor(this.sanitizeLimit / 2) <= this.pages.length
182
- : this.currentPage + Math.floor(this.sanitizeLimit / 2) < this.pages.length;
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.sanitizeLimit >= this.pages.length) {
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.handleNextEllipsisButton}
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
- getLeftChevronSVG() {
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
- getRightChevronSVG() {
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
- renderDirectionButton(directionLabel, iconClass, clickHandler, keydownHandler, directionVariant) {
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.getLeftChevronSVG() : ""} ${directionLabel}
258
- ${iconClass === "right" ? this.getRightChevronSVG() : ""}
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.getLeftChevronSVG() : this.getRightChevronSVG()}`
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.renderDirectionButton("Previous", "left", this.handlePrevButton, (e) => this._handleKeyDown(e, "directionButton", undefined, undefined, true), this.directionVariant)}
274
- ${this.ellipsisOn ? this.renderFirstEllipsis() : null} ${this.renderPgNumbers()} ${this.renderLastEllipsis()}
275
- ${this.renderDirectionButton("Next", "right", this.handleNextButton, (e) => this._handleKeyDown(e, "directionButton", undefined, undefined, false), this.directionVariant)}
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, "handleValueChange", null);
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-cyan);--pagination-bg-color:var(--sgds-white);--pagination-hover-bg-color:var(--sgds-gray-200);--pagination-hover-border-color:var(--sgds-gray-300);--pagination-active-color:var(--sgds-white);--pagination-active-bg-color:var(--sgds-cyan);--pagination-disabled-color:var(--sgds-gray-600);--pagination-disabled-bg-color:var(--sgds-white)}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)}`;
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
- handleValueChange(): void;
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 handlePageClick;
44
+ private _handlePageClick;
40
45
  /** @internal */
41
- private handleNextButton;
46
+ private _handleNextButton;
42
47
  /** @internal */
43
- private handlePrevButton;
48
+ private _handlePrevButton;
44
49
  /** @internal */
45
- private handleNextEllipsisButton;
50
+ private _handleNextEllipsisButton;
46
51
  /** @internal */
47
- private handlePrevEllipsisButton;
52
+ private _handlePrevEllipsisButton;
48
53
  /** @internal */
49
54
  private get pages();
50
55
  /** @internal */
51
- private get sanitizeLimit();
56
+ private get _sanitizeLimit();
52
57
  /**@internal */
53
58
  private _handleKeyDown;
59
+ private _renderFirstPage;
54
60
  /** @internal */
55
- private renderPgNumbers;
61
+ private _renderPgNumbers;
56
62
  private ellipsisContent;
57
63
  /** @internal */
58
- private renderFirstEllipsis;
64
+ private _renderFirstEllipsis;
59
65
  /** @internal */
60
- private renderLastEllipsis;
66
+ private _renderLastEllipsis;
67
+ private _renderLastPage;
61
68
  /** @internal */
62
- private getLeftChevronSVG;
69
+ private _getLeftChevronSVG;
63
70
  /** @internal */
64
- private getRightChevronSVG;
71
+ private _getRightChevronSVG;
65
72
  /** @internal */
66
- private renderDirectionButton;
73
+ private _renderDirectionButton;
67
74
  render(): TemplateResult<1>;
68
75
  }
69
76
  export type directionVariant = "icon" | "icon-text" | "text";