@aquera/nile-elements 0.1.50-beta-1.2 → 0.1.50-beta-1.4

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 (48) hide show
  1. package/README.md +8 -0
  2. package/dist/index.js +389 -195
  3. package/dist/nile-content-editor/nile-content-editor.css.cjs.js +1 -1
  4. package/dist/nile-content-editor/nile-content-editor.css.cjs.js.map +1 -1
  5. package/dist/nile-content-editor/nile-content-editor.css.esm.js +2 -2
  6. package/dist/nile-input/nile-input.css.cjs.js +1 -1
  7. package/dist/nile-input/nile-input.css.cjs.js.map +1 -1
  8. package/dist/nile-input/nile-input.css.esm.js +4 -4
  9. package/dist/nile-pagination/nile-pagination.cjs.js +1 -1
  10. package/dist/nile-pagination/nile-pagination.cjs.js.map +1 -1
  11. package/dist/nile-pagination/nile-pagination.css.cjs.js +1 -1
  12. package/dist/nile-pagination/nile-pagination.css.cjs.js.map +1 -1
  13. package/dist/nile-pagination/nile-pagination.css.esm.js +170 -63
  14. package/dist/nile-pagination/nile-pagination.esm.js +120 -33
  15. package/dist/nile-stepper/nile-stepper.css.cjs.js +1 -1
  16. package/dist/nile-stepper/nile-stepper.css.cjs.js.map +1 -1
  17. package/dist/nile-stepper/nile-stepper.css.esm.js +2 -2
  18. package/dist/nile-stepper-item/nile-stepper-item.css.cjs.js +1 -1
  19. package/dist/nile-stepper-item/nile-stepper-item.css.cjs.js.map +1 -1
  20. package/dist/nile-stepper-item/nile-stepper-item.css.esm.js +5 -5
  21. package/dist/nile-tab/nile-tab.css.cjs.js +1 -1
  22. package/dist/nile-tab/nile-tab.css.cjs.js.map +1 -1
  23. package/dist/nile-tab/nile-tab.css.esm.js +3 -3
  24. package/dist/src/nile-content-editor/nile-content-editor.css.js +2 -2
  25. package/dist/src/nile-content-editor/nile-content-editor.css.js.map +1 -1
  26. package/dist/src/nile-input/nile-input.css.js +4 -4
  27. package/dist/src/nile-input/nile-input.css.js.map +1 -1
  28. package/dist/src/nile-pagination/nile-pagination.css.js +168 -61
  29. package/dist/src/nile-pagination/nile-pagination.css.js.map +1 -1
  30. package/dist/src/nile-pagination/nile-pagination.d.ts +3 -0
  31. package/dist/src/nile-pagination/nile-pagination.js +169 -44
  32. package/dist/src/nile-pagination/nile-pagination.js.map +1 -1
  33. package/dist/src/nile-stepper/nile-stepper.css.js +2 -2
  34. package/dist/src/nile-stepper/nile-stepper.css.js.map +1 -1
  35. package/dist/src/nile-stepper-item/nile-stepper-item.css.js +3 -3
  36. package/dist/src/nile-stepper-item/nile-stepper-item.css.js.map +1 -1
  37. package/dist/src/nile-tab/nile-tab.css.js +1 -1
  38. package/dist/src/nile-tab/nile-tab.css.js.map +1 -1
  39. package/dist/tsconfig.tsbuildinfo +1 -1
  40. package/package.json +1 -1
  41. package/src/nile-content-editor/nile-content-editor.css.ts +2 -2
  42. package/src/nile-input/nile-input.css.ts +4 -4
  43. package/src/nile-pagination/nile-pagination.css.ts +168 -61
  44. package/src/nile-pagination/nile-pagination.ts +190 -50
  45. package/src/nile-stepper/nile-stepper.css.ts +3 -3
  46. package/src/nile-stepper-item/nile-stepper-item.css.ts +3 -3
  47. package/src/nile-tab/nile-tab.css.ts +1 -1
  48. package/vscode-html-custom-data.json +1 -1
@@ -1,10 +1,10 @@
1
- import { __decorate } from "tslib";
2
1
  /**
3
2
  * Copyright Aquera Inc 2025
4
3
  *
5
4
  * This source code is licensed under the BSD-3-Clause license found in the
6
5
  * LICENSE file in the root directory of this source tree.
7
6
  */
7
+ import { __decorate } from "tslib";
8
8
  import { html } from 'lit';
9
9
  import { customElement, property, query, state } from 'lit/decorators.js';
10
10
  import { styles } from './nile-pagination.css';
@@ -21,41 +21,57 @@ let NilePagination = class NilePagination extends NileElement {
21
21
  this.disabled = false;
22
22
  this.showTitle = true;
23
23
  this._pageSizeOpen = false;
24
+ this._pageOpen = false;
24
25
  }
25
26
  static get styles() {
26
27
  return [styles];
27
28
  }
28
29
  firstUpdated() {
29
- this._pageSizeDropdown.addEventListener('nile-show', () => {
30
- this._pageSizeOpen = true;
31
- });
32
- this._pageSizeDropdown.addEventListener('nile-after-hide', () => {
33
- this._pageSizeOpen = false;
34
- });
30
+ if (this._pageSizeDropdown) {
31
+ this._pageSizeDropdown.addEventListener('nile-show', () => {
32
+ this._pageSizeOpen = true;
33
+ });
34
+ this._pageSizeDropdown.addEventListener('nile-after-hide', () => {
35
+ this._pageSizeOpen = false;
36
+ });
37
+ }
35
38
  }
36
39
  get totalPages() {
37
40
  return Math.max(1, calculateTotalPages(this.totalItems, this.pageSize));
38
41
  }
39
- goToPage(page) {
42
+ goToPage(newPage) {
40
43
  if (this.disabled)
41
44
  return;
42
- this.currentPage = page;
43
- this.emit('nile-change', { page: this.currentPage, pageSize: this.pageSize });
45
+ const previousPage = this.currentPage;
46
+ this.currentPage = newPage;
47
+ this.emit('nile-change', { page: newPage, previousPage, pageSize: this.pageSize });
44
48
  }
45
- onPageSizeSelect(size) {
46
- if (this.disabled || this.pageSize === size)
49
+ onPageSizeSelect(newSize) {
50
+ if (this.disabled || this.pageSize === newSize)
47
51
  return;
48
- this.pageSize = size;
52
+ const previousPage = this.currentPage;
53
+ this.pageSize = newSize;
49
54
  this.currentPage = 1;
50
- this.emit('nile-change', { page: 1, pageSize: size });
55
+ this.emit('nile-change', {
56
+ page: 1,
57
+ previousPage,
58
+ pageSize: newSize
59
+ });
60
+ }
61
+ renderCompactRangeText() {
62
+ const full = getRangeText(this.totalItems, this.pageSize, this.currentPage);
63
+ const trimmed = full.replace(/^Showing\s*/, '');
64
+ return html `<div class="range-text">${trimmed}</div>`;
51
65
  }
52
66
  renderRangeText() {
53
67
  if (this.totalItems === 0) {
54
68
  return html `<div class="range-text">Showing 0 of 0</div>`;
55
69
  }
56
- return html `<div class="range-text">
57
- ${getRangeText(this.totalItems, this.pageSize, this.currentPage)}
58
- </div>`;
70
+ return html `
71
+ <div part="range-text" class="range-text">
72
+ ${getRangeText(this.totalItems, this.pageSize, this.currentPage)}
73
+ </div>
74
+ `;
59
75
  }
60
76
  renderPageSizeSelect() {
61
77
  if (this.variant !== 'fluid')
@@ -63,36 +79,83 @@ let NilePagination = class NilePagination extends NileElement {
63
79
  return html `
64
80
  <div class="page-size-select">
65
81
  <nile-dropdown class="page-size-dropdown" ?disabled=${this.disabled}>
66
- <nile-button slot="trigger" variant="tertiary" class="down ${this._pageSizeOpen ? 'open' : ''}"
82
+ <nile-button
83
+ slot="trigger"
84
+ variant="tertiary"
85
+ class="down ${this._pageSizeOpen ? 'open' : ''}"
67
86
  ?disabled=${this.disabled}
68
87
  >
69
88
  ${this.pageSize}
70
- <nile-icon name="chevrondown" size="14" color="var(--nile-colors-dark-500,var(--ng-colors-fg-quaternary-400))" class="chevron"></nile-icon>
89
+ <nile-icon
90
+ name="chevrondown"
91
+ size="14"
92
+ color="var(--nile-colors-dark-500)"
93
+ class="chevron"
94
+ ></nile-icon>
71
95
  </nile-button>
72
- <nile-menu class="page-size-menu">
96
+ <nile-menu>
97
+ <div class="down-scroll-wrapper">
98
+ ${this.pageSizeOptions.map(size => html `
99
+ <nile-menu-item
100
+ ?disabled=${this.disabled}
101
+ @click=${() => this.onPageSizeSelect(size)}
102
+ >
103
+ ${size}
104
+ </nile-menu-item>
105
+ `)}
106
+ </div>
107
+ </nile-menu>
108
+ </nile-dropdown>
109
+ <span part="pagesize-label" class="page-size-label">Items per page</span>
110
+ </div>
111
+ `;
112
+ }
113
+ renderCompactPageSize() {
114
+ return html `
115
+ <nile-dropdown
116
+ class="compact-dropdown"
117
+ ?disabled=${this.disabled}
118
+ @nile-show=${() => (this._pageSizeOpen = true)}
119
+ @nile-after-hide=${() => (this._pageSizeOpen = false)}
120
+ >
121
+ <nile-button
122
+ slot="trigger"
123
+ variant="tertiary"
124
+ class="down ${this._pageSizeOpen ? 'open' : ''}"
125
+ ?disabled=${this.disabled}
126
+ >
127
+ ${this.pageSize}
128
+ <nile-icon
129
+ name="chevrondown"
130
+ size="14"
131
+ color="var(--nile-colors-dark-500)"
132
+ class="chevron"
133
+ ></nile-icon>
134
+ </nile-button>
135
+ <nile-menu>
136
+ <div class="compact-scroll-wrapper">
73
137
  ${this.pageSizeOptions.map(size => html `
74
138
  <nile-menu-item
75
139
  ?disabled=${this.disabled}
76
140
  @click=${() => this.onPageSizeSelect(size)}
77
141
  >
78
142
  ${size}
79
- </nile-menu-item>`)}
80
- </nile-menu>
81
- </nile-dropdown>
82
- <span class="page-size-label">Items per page</span>
83
- </div>
143
+ </nile-menu-item>
144
+ `)}
145
+ </div>
146
+ </nile-menu>
147
+ </nile-dropdown>
84
148
  `;
85
149
  }
86
150
  renderPrevButton() {
87
151
  return html `
88
152
  <li>
89
153
  <nile-button
90
- class="arrow"
91
154
  variant="tertiary"
92
155
  ?disabled=${this.currentPage === 1 || this.disabled}
93
156
  @click=${() => this.goToPage(this.currentPage - 1)}
94
157
  >
95
- <nile-icon name="arrowleft" color="var(--nile-colors-dark-500, var(--ng-colors-fg-quaternary-400))" size="14"></nile-icon>
158
+ <nile-icon name="arrowleft" size="14"></nile-icon>
96
159
  </nile-button>
97
160
  </li>
98
161
  `;
@@ -102,11 +165,10 @@ let NilePagination = class NilePagination extends NileElement {
102
165
  <li>
103
166
  <nile-button
104
167
  variant="tertiary"
105
- class="arrow"
106
168
  ?disabled=${this.currentPage === this.totalPages || this.disabled}
107
169
  @click=${() => this.goToPage(this.currentPage + 1)}
108
170
  >
109
- <nile-icon name="arrowright" color="var(--nile-colors-dark-500, var(--ng-colors-fg-quaternary-400))" size="14"></nile-icon>
171
+ <nile-icon name="arrowright" size="14"></nile-icon>
110
172
  </nile-button>
111
173
  </li>
112
174
  `;
@@ -127,7 +189,8 @@ let NilePagination = class NilePagination extends NileElement {
127
189
  @click=${() => this.goToPage(page)}
128
190
  >
129
191
  ${page}
130
- </nile-menu-item>`)}
192
+ </nile-menu-item>
193
+ `)}
131
194
  </div>
132
195
  </nile-menu>
133
196
  </nile-dropdown>
@@ -147,10 +210,54 @@ let NilePagination = class NilePagination extends NileElement {
147
210
  `;
148
211
  }
149
212
  renderPageList() {
213
+ if (this.variant === 'compact') {
214
+ return html `
215
+ <nav aria-label="Pagination">
216
+ <ul class="pagination compact-pagination">
217
+ ${this.renderPrevButton()}
218
+ <li>
219
+ <nile-dropdown
220
+ class="compact-dropdown1"
221
+ ?disabled=${this.disabled}
222
+ @nile-show=${() => (this._pageOpen = true)}
223
+ @nile-after-hide=${() => (this._pageOpen = false)}
224
+ >
225
+ <nile-button
226
+ slot="trigger"
227
+ variant="tertiary"
228
+ class="current-page-btn ${this._pageOpen ? 'open' : ''}"
229
+ ?disabled=${this.disabled}
230
+ >
231
+ ${this.currentPage}
232
+ <nile-icon
233
+ name="chevrondown"
234
+ size="14"
235
+ class="chevron"
236
+ ></nile-icon>
237
+ </nile-button>
238
+ <nile-menu>
239
+ <div class="compact-scroll-wrapper1">
240
+ ${Array.from({ length: this.totalPages }, (_, i) => i + 1).map(p => html `
241
+ <nile-menu-item
242
+ ?disabled=${this.disabled}
243
+ @click=${() => this.goToPage(p)}
244
+ >
245
+ ${p}
246
+ </nile-menu-item>
247
+ `)}
248
+ </div>
249
+ </nile-menu>
250
+ </nile-dropdown>
251
+ </li>
252
+ ${this.renderNextButton()}
253
+ </ul>
254
+ </nav>
255
+ `;
256
+ }
150
257
  const items = getPaginationItems(this.totalPages, this.currentPage);
151
258
  return html `
152
259
  <nav aria-label="Pagination">
153
- <ul class="pagination">
260
+ <ul part="page-list" class="pagination">
154
261
  ${this.renderPrevButton()}
155
262
  ${items.map((item, idx) => this.renderPageItem(item, idx, items))}
156
263
  ${this.renderNextButton()}
@@ -160,33 +267,48 @@ let NilePagination = class NilePagination extends NileElement {
160
267
  }
161
268
  render() {
162
269
  return html `
163
- <div class="pagination-wrapper ${this.variant}">
164
- <div class="pager-container">
165
- ${this.showTitle ? this.renderRangeText() : null}
166
- ${this.renderPageSizeSelect()}
167
- </div>
168
- ${this.renderPageList()}
270
+ <div part="wrapper" class="pagination-wrapper ${this.variant}">
271
+ <div part="pager-container" class="pager-container">
272
+ ${this.variant === 'fluid' && this.showTitle
273
+ ? this.renderRangeText()
274
+ : this.variant === 'compact'
275
+ ? this.renderCompactRangeText()
276
+ : null}
277
+ ${this.variant === 'fluid'
278
+ ? this.renderPageSizeSelect()
279
+ : this.renderCompactPageSize()}
169
280
  </div>
170
- `;
281
+ ${this.renderPageList()}
282
+ </div>
283
+ `;
171
284
  }
172
285
  };
173
286
  __decorate([
174
- property({ attribute: 'totalitems', reflect: true, converter: { fromAttribute: (v) => {
287
+ property({ attribute: 'totalitems', reflect: true, converter: {
288
+ fromAttribute: (v) => {
175
289
  const n = Number(v);
176
290
  return Number.isFinite(n) && n >= 0 ? Math.floor(n) : 0;
177
- } } })
291
+ },
292
+ },
293
+ })
178
294
  ], NilePagination.prototype, "totalItems", void 0);
179
295
  __decorate([
180
- property({ attribute: 'currentpage', reflect: true, converter: { fromAttribute: (v) => {
296
+ property({ attribute: 'currentpage', reflect: true, converter: {
297
+ fromAttribute: (v) => {
181
298
  const n = Number(v);
182
299
  return Number.isFinite(n) && n >= 1 ? Math.floor(n) : 1;
183
- } } })
300
+ },
301
+ },
302
+ })
184
303
  ], NilePagination.prototype, "currentPage", void 0);
185
304
  __decorate([
186
- property({ attribute: 'pagesize', reflect: true, converter: { fromAttribute: (v) => {
305
+ property({ attribute: 'pagesize', reflect: true, converter: {
306
+ fromAttribute: (v) => {
187
307
  const n = Number(v);
188
308
  return Number.isFinite(n) && n >= 1 ? Math.floor(n) : 50;
189
- } } })
309
+ },
310
+ },
311
+ })
190
312
  ], NilePagination.prototype, "pageSize", void 0);
191
313
  __decorate([
192
314
  property({ attribute: 'pagesizeoptions', reflect: false, converter: { fromAttribute: (v) => {
@@ -212,6 +334,9 @@ __decorate([
212
334
  __decorate([
213
335
  state()
214
336
  ], NilePagination.prototype, "_pageSizeOpen", void 0);
337
+ __decorate([
338
+ state()
339
+ ], NilePagination.prototype, "_pageOpen", void 0);
215
340
  __decorate([
216
341
  query('.page-size-dropdown')
217
342
  ], NilePagination.prototype, "_pageSizeDropdown", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"nile-pagination.js","sourceRoot":"","sources":["../../../src/nile-pagination/nile-pagination.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { LitElement, html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { styles } from './nile-pagination.css';\nimport NileElement from '../internal/nile-element';\nimport {\n calculateTotalPages,\n getPaginationItems,\n getHiddenPages,\n getRangeText,\n} from './nile-pagination-utils';\n\n@customElement('nile-pagination')\nexport class NilePagination extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n \n @property({attribute: 'totalitems',reflect: true, converter: { fromAttribute: (v: string) => {const n = Number(v);\n return Number.isFinite(n) && n >= 0 ? Math.floor(n) : 0; }}})totalItems: number = 0;\n\n @property({ attribute: 'currentpage',reflect: true,converter: { fromAttribute: (v: string) => { const n = Number(v);\n return Number.isFinite(n) && n >= 1 ? Math.floor(n) : 1;}}}) currentPage : number = 1;\n\n\n @property({attribute: 'pagesize',reflect: true, converter: { fromAttribute: (v: string) => {\n const n = Number(v);\n return Number.isFinite(n) && n >= 1 ? Math.floor(n) : 50;}}}) pageSize: number = 50;\n\n\n @property({ attribute: 'pagesizeoptions', reflect: false,converter: { fromAttribute: (v: string) => { try { const arr = JSON.parse(v);\n if (Array.isArray(arr) && arr.every(x => typeof x === 'number')) {\n return arr as number[];\n }\n } catch {}return [10, 25, 50, 100];}}}) pageSizeOptions: number[] = [10, 25, 50, 100];\n\n @property({ type: String }) variant: 'fluid' | 'compact' = 'fluid';\n @property({ type: Boolean }) disabled = false;\n @property({ type: Boolean }) showTitle = true;\n\n @state() private _pageSizeOpen = false;\n @query('.page-size-dropdown') private _pageSizeDropdown!: HTMLElement;\n\n firstUpdated() {\n this._pageSizeDropdown.addEventListener('nile-show', () => {\n this._pageSizeOpen = true;\n });\n this._pageSizeDropdown.addEventListener('nile-after-hide', () => {\n this._pageSizeOpen = false;\n });\n }\n \n private get totalPages(): number {\n return Math.max(1, calculateTotalPages(this.totalItems, this.pageSize));\n }\n\n private goToPage(page: number) {\n if (this.disabled) return;\n this.currentPage = page; \n this.emit('nile-change', { page: this.currentPage, pageSize: this.pageSize });\n }\n\n private onPageSizeSelect(size: number) {\n if (this.disabled || this.pageSize === size) return;\n this.pageSize = size;\n this.currentPage = 1;\n this.emit('nile-change', { page: 1, pageSize: size });\n }\n\n private renderRangeText(): TemplateResult {\n if (this.totalItems === 0) {\n return html`<div class=\"range-text\">Showing 0 of 0</div>`;\n }\n return html`<div class=\"range-text\">\n ${getRangeText(this.totalItems, this.pageSize, this.currentPage)}\n </div>`;\n }\n\n private renderPageSizeSelect(): TemplateResult | null {\n if (this.variant !== 'fluid') return null;\n return html`\n <div class=\"page-size-select\">\n <nile-dropdown class=\"page-size-dropdown\" ?disabled=${this.disabled}>\n <nile-button slot=\"trigger\" variant=\"tertiary\" class=\"down ${this._pageSizeOpen ? 'open' : ''}\"\n ?disabled=${this.disabled}\n >\n ${this.pageSize}\n <nile-icon name=\"chevrondown\" size=\"14\" color=\"var(--nile-colors-dark-500,var(--ng-colors-fg-quaternary-400))\" class=\"chevron\"></nile-icon>\n </nile-button>\n <nile-menu class=\"page-size-menu\">\n ${this.pageSizeOptions.map(\n size => html`\n <nile-menu-item\n ?disabled=${this.disabled}\n @click=${() => this.onPageSizeSelect(size)}\n >\n ${size}\n </nile-menu-item>`\n )}\n </nile-menu>\n </nile-dropdown>\n <span class=\"page-size-label\">Items per page</span>\n </div>\n `;\n }\n\n private renderPrevButton(): TemplateResult {\n return html`\n <li>\n <nile-button\n class=\"arrow\"\n variant=\"tertiary\"\n ?disabled=${this.currentPage === 1 || this.disabled}\n @click=${() => this.goToPage(this.currentPage - 1)}\n >\n <nile-icon name=\"arrowleft\" color=\"var(--nile-colors-dark-500, var(--ng-colors-fg-quaternary-400))\" size=\"14\"></nile-icon>\n </nile-button>\n </li>\n `;\n }\n\n private renderNextButton(): TemplateResult {\n return html`\n <li>\n <nile-button\n variant=\"tertiary\"\n class=\"arrow\" \n ?disabled=${this.currentPage === this.totalPages || this.disabled}\n @click=${() => this.goToPage(this.currentPage + 1)}\n >\n <nile-icon name=\"arrowright\" color=\"var(--nile-colors-dark-500, var(--ng-colors-fg-quaternary-400))\" size=\"14\"></nile-icon>\n </nile-button>\n </li>\n `;\n }\n\n private renderPageItem(\n item: number | string,\n idx: number,\n items: (number | string)[]\n ): TemplateResult {\n if (item === '…') {\n return html`\n <li>\n <nile-dropdown class=\"ellipsis-dropdown\" ?disabled=${this.disabled}>\n <nile-button slot=\"trigger\" variant=\"ghost\" ?disabled=${this.disabled}>\n …\n </nile-button>\n <nile-menu>\n <div class=\"ellipsis-scroll-wrapper\">\n ${getHiddenPages(\n this.totalPages,\n items,\n this.currentPage,\n idx < items.indexOf(this.currentPage) ? 'left' : 'right'\n ).map(\n page => html`\n <nile-menu-item\n ?disabled=${this.disabled}\n @click=${() => this.goToPage(page)}\n >\n ${page}\n </nile-menu-item>`\n )}\n </div>\n </nile-menu>\n </nile-dropdown>\n </li>\n `;\n }\n\n return html`\n <li>\n <nile-button\n variant=${item === this.currentPage ? 'primary' : 'ghost'}\n ?disabled=${this.disabled}\n @click=${() => this.goToPage(item as number)}\n >\n ${item}\n </nile-button>\n </li>\n `;\n }\n\n private renderPageList(): TemplateResult {\n const items = getPaginationItems(this.totalPages, this.currentPage);\n return html`\n <nav aria-label=\"Pagination\">\n <ul class=\"pagination\">\n ${this.renderPrevButton()}\n ${items.map((item, idx) => this.renderPageItem(item, idx, items))}\n ${this.renderNextButton()}\n </ul>\n </nav>\n `;\n }\n\n public render(): TemplateResult {\n return html`\n <div class=\"pagination-wrapper ${this.variant}\">\n <div class=\"pager-container\">\n ${this.showTitle ? this.renderRangeText() : null}\n ${this.renderPageSizeSelect()}\n </div>\n ${this.renderPageList()}\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-pagination': NilePagination;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-pagination.js","sourceRoot":"","sources":["../../../src/nile-pagination/nile-pagination.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { styles } from './nile-pagination.css';\nimport NileElement from '../internal/nile-element';\nimport {\n calculateTotalPages,\n getPaginationItems,\n getHiddenPages,\n getRangeText,\n} from './nile-pagination-utils';\n\n@customElement('nile-pagination')\nexport class NilePagination extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n @property({attribute: 'totalitems',reflect: true,converter: {\n fromAttribute: (v: string) => {\n const n = Number(v);\n return Number.isFinite(n) && n >= 0 ? Math.floor(n) : 0;\n },\n },\n })totalItems: number = 0;\n\n @property({attribute: 'currentpage', reflect: true, converter: {\n fromAttribute: (v: string) => {\n const n = Number(v);\n return Number.isFinite(n) && n >= 1 ? Math.floor(n) : 1;\n },\n },\n })currentPage: number = 1;\n\n @property({attribute: 'pagesize',reflect: true,converter: {\n fromAttribute: (v: string) => {\n const n = Number(v);\n return Number.isFinite(n) && n >= 1 ? Math.floor(n) : 50;\n },\n },\n })pageSize: number = 50;\n\n @property({ attribute: 'pagesizeoptions', reflect: false, converter: { fromAttribute: (v: string) => {\n try {\n const arr = JSON.parse(v);\n if (Array.isArray(arr) && arr.every(x => typeof x === 'number')) {\n return arr as number[];\n }\n } catch {}\n return [10, 25, 50, 100];\n }}})\n pageSizeOptions: number[] = [10, 25, 50, 100];\n\n @property({ type: String })variant: 'fluid' | 'compact' = 'fluid';\n @property({ type: Boolean }) disabled = false;\n @property({ type: Boolean }) showTitle = true;\n\n @state() private _pageSizeOpen = false;\n @state() private _pageOpen = false;\n @query('.page-size-dropdown') private _pageSizeDropdown!: HTMLElement;\n\n firstUpdated() {\n if (this._pageSizeDropdown) { \n this._pageSizeDropdown.addEventListener('nile-show', () => {\n this._pageSizeOpen = true;\n });\n this._pageSizeDropdown.addEventListener('nile-after-hide', () => {\n this._pageSizeOpen = false;\n });\n }\n }\n\n private get totalPages(): number {\n return Math.max(1, calculateTotalPages(this.totalItems, this.pageSize));\n }\n\n private goToPage(newPage: number) {\n \n if (this.disabled) return;\n const previousPage = this.currentPage;\n this.currentPage = newPage;\n this.emit('nile-change', { page: newPage, previousPage, pageSize: this.pageSize });\n }\n\n private onPageSizeSelect(newSize: number) {\n if (this.disabled || this.pageSize === newSize) return;\n\n const previousPage = this.currentPage;\n this.pageSize = newSize;\n this.currentPage = 1;\n this.emit('nile-change', {\n page: 1,\n previousPage,\n pageSize: newSize\n });\n}\n\nprivate renderCompactRangeText(): TemplateResult {\n const full = getRangeText(this.totalItems, this.pageSize, this.currentPage);\n const trimmed = full.replace(/^Showing\\s*/, ''); \n return html`<div class=\"range-text\">${trimmed}</div>`;\n}\n\n\n private renderRangeText(): TemplateResult {\n if (this.totalItems === 0) {\n return html`<div class=\"range-text\">Showing 0 of 0</div>`;\n }\n return html`\n <div part=\"range-text\" class=\"range-text\">\n ${getRangeText(this.totalItems, this.pageSize, this.currentPage)}\n </div>\n `;\n }\n\n private renderPageSizeSelect(): TemplateResult | null {\n if (this.variant !== 'fluid') return null;\n return html`\n <div class=\"page-size-select\">\n <nile-dropdown class=\"page-size-dropdown\" ?disabled=${this.disabled}>\n <nile-button\n slot=\"trigger\"\n variant=\"tertiary\"\n class=\"down ${this._pageSizeOpen ? 'open' : ''}\"\n ?disabled=${this.disabled}\n >\n ${this.pageSize}\n <nile-icon\n name=\"chevrondown\"\n size=\"14\"\n color=\"var(--nile-colors-dark-500)\"\n class=\"chevron\"\n ></nile-icon>\n </nile-button>\n <nile-menu>\n <div class=\"down-scroll-wrapper\">\n ${this.pageSizeOptions.map(\n size => html`\n <nile-menu-item\n ?disabled=${this.disabled}\n @click=${() => this.onPageSizeSelect(size)}\n >\n ${size}\n </nile-menu-item>\n `\n )}\n </div>\n </nile-menu>\n </nile-dropdown>\n <span part=\"pagesize-label\" class=\"page-size-label\">Items per page</span>\n </div>\n `;\n }\n\n\n private renderCompactPageSize(): TemplateResult {\n return html`\n <nile-dropdown\n class=\"compact-dropdown\"\n ?disabled=${this.disabled}\n @nile-show=${() => (this._pageSizeOpen = true)}\n @nile-after-hide=${() => (this._pageSizeOpen = false)}\n >\n <nile-button\n slot=\"trigger\"\n variant=\"tertiary\"\n class=\"down ${this._pageSizeOpen ? 'open' : ''}\"\n ?disabled=${this.disabled}\n >\n ${this.pageSize}\n <nile-icon\n name=\"chevrondown\"\n size=\"14\"\n color=\"var(--nile-colors-dark-500)\"\n class=\"chevron\"\n ></nile-icon>\n </nile-button>\n <nile-menu>\n <div class=\"compact-scroll-wrapper\">\n ${this.pageSizeOptions.map(\n size => html`\n <nile-menu-item\n ?disabled=${this.disabled}\n @click=${() => this.onPageSizeSelect(size)}\n >\n ${size}\n </nile-menu-item>\n `\n )}\n </div>\n </nile-menu>\n </nile-dropdown>\n `;\n }\n \n\n private renderPrevButton(): TemplateResult {\n return html`\n <li>\n <nile-button\n variant=\"tertiary\"\n ?disabled=${this.currentPage === 1 || this.disabled}\n @click=${() => this.goToPage(this.currentPage - 1)}\n >\n <nile-icon name=\"arrowleft\" size=\"14\"></nile-icon>\n </nile-button>\n </li>\n `;\n }\n\n private renderNextButton(): TemplateResult {\n return html`\n <li>\n <nile-button\n variant=\"tertiary\"\n ?disabled=${this.currentPage === this.totalPages || this.disabled}\n @click=${() => this.goToPage(this.currentPage + 1)}\n >\n <nile-icon name=\"arrowright\" size=\"14\"></nile-icon>\n </nile-button>\n </li>\n `;\n }\n\n private renderPageItem(\n item: number | string,\n idx: number,\n items: (number | string)[]\n ): TemplateResult {\n if (item === '…') {\n return html`\n <li>\n <nile-dropdown class=\"ellipsis-dropdown\" ?disabled=${this.disabled}>\n <nile-button slot=\"trigger\" variant=\"ghost\" ?disabled=${this.disabled}>\n …\n </nile-button>\n <nile-menu>\n <div class=\"ellipsis-scroll-wrapper\">\n ${getHiddenPages(\n this.totalPages,\n items,\n this.currentPage,\n idx < items.indexOf(this.currentPage) ? 'left' : 'right'\n ).map(\n page => html`\n <nile-menu-item\n ?disabled=${this.disabled}\n @click=${() => this.goToPage(page)}\n >\n ${page}\n </nile-menu-item>\n `\n )}\n </div>\n </nile-menu>\n </nile-dropdown>\n </li>\n `;\n }\n return html`\n <li>\n <nile-button\n variant=${item === this.currentPage ? 'primary' : 'ghost'}\n ?disabled=${this.disabled}\n @click=${() => this.goToPage(item as number)}\n >\n ${item}\n </nile-button>\n </li>\n `;\n }\n\n private renderPageList(): TemplateResult {\n if (this.variant === 'compact') {\n return html`\n <nav aria-label=\"Pagination\">\n <ul class=\"pagination compact-pagination\">\n ${this.renderPrevButton()}\n <li>\n <nile-dropdown\n class=\"compact-dropdown1\"\n ?disabled=${this.disabled}\n @nile-show=${() => (this._pageOpen = true)}\n @nile-after-hide=${() => (this._pageOpen = false)}\n >\n <nile-button\n slot=\"trigger\"\n variant=\"tertiary\"\n class=\"current-page-btn ${this._pageOpen ? 'open' : ''}\"\n ?disabled=${this.disabled}\n >\n ${this.currentPage}\n <nile-icon\n name=\"chevrondown\"\n size=\"14\"\n class=\"chevron\"\n ></nile-icon>\n </nile-button>\n <nile-menu>\n <div class=\"compact-scroll-wrapper1\">\n ${Array.from({ length: this.totalPages }, (_, i) => i + 1).map(\n p => html`\n <nile-menu-item\n ?disabled=${this.disabled}\n @click=${() => this.goToPage(p)}\n >\n ${p}\n </nile-menu-item>\n `\n )}\n </div>\n </nile-menu>\n </nile-dropdown>\n </li>\n ${this.renderNextButton()}\n </ul>\n </nav>\n `;\n }\n const items = getPaginationItems(this.totalPages, this.currentPage);\n return html`\n <nav aria-label=\"Pagination\">\n <ul part=\"page-list\" class=\"pagination\">\n ${this.renderPrevButton()}\n ${items.map((item, idx) => this.renderPageItem(item, idx, items))}\n ${this.renderNextButton()}\n </ul>\n </nav>\n `;\n }\n\n public render(): TemplateResult {\n return html`\n <div part=\"wrapper\" class=\"pagination-wrapper ${this.variant}\">\n <div part=\"pager-container\" class=\"pager-container\">\n ${this.variant === 'fluid' && this.showTitle\n ? this.renderRangeText()\n : this.variant === 'compact'\n ? this.renderCompactRangeText()\n : null}\n ${this.variant === 'fluid'\n ? this.renderPageSizeSelect()\n : this.renderCompactPageSize()}\n </div>\n ${this.renderPageList()}\n </div>\n `;\n}\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-pagination': NilePagination;\n }\n}\n"]}
@@ -22,14 +22,14 @@ export const styles = css `
22
22
  .nile-stepper--horizontal{
23
23
  display:flex;
24
24
  align-items:center;
25
- padding: var( --nile-spacing-2xl, var(--ng-spacing-2xl));
25
+ padding: var( --nile-spacing-spacing-3xl, var(--ng-spacing-2xl));
26
26
  }
27
27
 
28
28
  .nile-stepper--vertical{
29
29
  height:100%;
30
30
  display:flex;
31
31
  flex-direction:column;
32
- padding: var( --nile-spacing-2xl, var(--ng-spacing-2xl));
32
+ padding: var( --nile-spacing-spacing-3xl, var(--ng-spacing-2xl));
33
33
  }
34
34
  `;
35
35
  export default [styles];
@@ -1 +1 @@
1
- {"version":3,"file":"nile-stepper.css.js","sourceRoot":"","sources":["../../../src/nile-stepper/nile-stepper.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;CAuBxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2023\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport {css} from 'lit';\n\n/**\n * Stepper CSS\n */\nexport const styles = css`\n\t*{\n\t\tbox-sizing:border-box;\n\t}\n\t:host {\n\t\tdisplay:block;\n\t\theight:100%;\n\t\t-webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n\t}\n\t.nile-stepper--horizontal{\n\t\tdisplay:flex;\n\t\talign-items:center;\n\t\tpadding: var( --nile-spacing-2xl, var(--ng-spacing-2xl));\n\t}\n\n\t.nile-stepper--vertical{\n\t\theight:100%;\n\t\tdisplay:flex;\n\t\tflex-direction:column;\n\t\tpadding: var( --nile-spacing-2xl, var(--ng-spacing-2xl));\n\t}\n`;\n\nexport default [styles];"]}
1
+ {"version":3,"file":"nile-stepper.css.js","sourceRoot":"","sources":["../../../src/nile-stepper/nile-stepper.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;CAuBxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2023\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport {css} from 'lit';\n\n/**\n * Stepper CSS\n */\nexport const styles = css`\n\t*{\n\t\tbox-sizing:border-box;\n\t}\n\t:host {\n\t\tdisplay:block;\n\t\theight:100%;\n\t\t-webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n\t}\n\t.nile-stepper--horizontal{\n\t\tdisplay:flex;\n\t\talign-items:center;\n\t\tpadding: var( --nile-spacing-spacing-3xl, var(--ng-spacing-2xl));\n\t}\n\n\t.nile-stepper--vertical{\n\t\theight:100%;\n\t\tdisplay:flex;\n\t\tflex-direction:column;\n\t\tpadding: var( --nile-spacing-spacing-3xl, var(--ng-spacing-2xl));\n\t}\n`;\n\nexport default [styles];\n"]}
@@ -30,7 +30,7 @@ export const styles = css `
30
30
  --item-spacing: var( --nile-spacing-md, var(--ng-spacing-md));
31
31
  --stepper-item-title-size: var( --nile-type-scale-2, var(--ng-font-size-text-sm) );
32
32
  --stepper-item-subtitle-size: var( --nile-type-scale-1, var(--ng-font-size-text-sm) );
33
- --stepper-item-text-line-height: var( --nile-line-height-xsmall, var(--ng-line-height-text-sm) );
33
+ --stepper-item-text-line-height: var( --nile-height-16px, var(--ng-line-height-text-sm) );
34
34
  --circle-height:18px;
35
35
  }
36
36
 
@@ -38,7 +38,7 @@ export const styles = css `
38
38
  --item-spacing: var( --nile-spacing-md, var(--ng-spacing-lg));
39
39
  --stepper-item-title-size: var( --nile-type-scale-3, var(--ng-font-size-text-sm) );
40
40
  --stepper-item-subtitle-size: var( --nile-type-scale-2, var(--ng-font-size-text-sm) );
41
- --stepper-item-text-line-height: var( --nile-line-height-small, var(--ng-line-height-text-md) );
41
+ --stepper-item-text-line-height: var( --nile-height-18px, var(--ng-line-height-text-md) );
42
42
  --circle-height:22px;
43
43
  }
44
44
 
@@ -46,7 +46,7 @@ export const styles = css `
46
46
  --item-spacing: var( --nile-spacing-lg, var(--ng-spacing-lg));
47
47
  --stepper-item-title-size: var( --nile-type-scale-4, var(--ng-font-size-text-md) );
48
48
  --stepper-item-subtitle-size: var( --nile-type-scale-3, var(--ng-font-size-text-md) );
49
- --stepper-item-text-line-height: var( --nile-line-height-medium, var(--ng-line-height-text-lg) );
49
+ --stepper-item-text-line-height: var( --nile-height-22px, var(--ng-line-height-text-lg) );
50
50
  --circle-height:26px;
51
51
  }
52
52
 
@@ -1 +1 @@
1
- {"version":3,"file":"nile-stepper-item.css.js","sourceRoot":"","sources":["../../../src/nile-stepper-item/nile-stepper-item.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuKxB,CAAC;AACF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2023\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport { css } from 'lit';\n\n/**\n * StepperItem CSS\n */\nexport const styles = css`\n\t:host {\n\t\t--stepper-flex-val:1;\n\t\t--bulletin--dot--seperation:30%;\n\t\t--lines-thickness: var(--nile-width-1px, var(--ng-border-width-2));\n\t\t\n\t\tdisplay: inline-block;\n\t\tflex-grow:var(--stepper-flex-val);\n\t\tmin-width: 200px;\n\t\t-webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n\t}\n\t\n\t.stepper__item {\n\t\tmargin: var( --nile-spacing-none, var(--ng-spacing-none)) -1px;\n\t}\n\n\t.stepper__item--sm {\n\t\t--item-spacing: var( --nile-spacing-md, var(--ng-spacing-md));\n\t\t--stepper-item-title-size: var( --nile-type-scale-2, var(--ng-font-size-text-sm) );\n\t\t--stepper-item-subtitle-size: var( --nile-type-scale-1, var(--ng-font-size-text-sm) );\n\t\t--stepper-item-text-line-height: var( --nile-line-height-xsmall, var(--ng-line-height-text-sm) );\n\t\t--circle-height:18px;\n\t}\n\n\t.stepper__item--lg {\n\t\t--item-spacing: var( --nile-spacing-md, var(--ng-spacing-lg));\n\t\t--stepper-item-title-size: var( --nile-type-scale-3, var(--ng-font-size-text-sm) );\n\t\t--stepper-item-subtitle-size: var( --nile-type-scale-2, var(--ng-font-size-text-sm) );\n\t\t--stepper-item-text-line-height: var( --nile-line-height-small, var(--ng-line-height-text-md) );\n\t\t--circle-height:22px;\n\t}\n\n\t.stepper__item--xl {\n\t\t--item-spacing: var( --nile-spacing-lg, var(--ng-spacing-lg));\n\t\t--stepper-item-title-size: var( --nile-type-scale-4, var(--ng-font-size-text-md) );\n\t\t--stepper-item-subtitle-size: var( --nile-type-scale-3, var(--ng-font-size-text-md) );\n\t\t--stepper-item-text-line-height: var( --nile-line-height-medium, var(--ng-line-height-text-lg) );\n\t\t--circle-height:26px;\n\t}\n\n\t.stepper__line__content {\n\t\tdisplay:flex;\n\t\twidth:100%;\n\t\talign-items:center;\n\t\tgap: var(--nile-spacing-none, var(--ng-spacing-lg));\n\t}\n\n\t.stepper__line__container {\n\t\tflex-grow:1;\n\t\tpadding: var( --nile-spacing-none, var(--ng-spacing-none)) 1px;\n\t}\n\n\t.stepper__line--hastitle {\n\t\tdisplay:flex;\n\t\talign-items:center;\n\t}\n\n\t.stepper__line {\n\t\tdisplay: block;\n\t\tborder: 0;\n\t\tborder-top: var(--lines-thickness) solid var(--nile-colors-neutral-500, var(--ng-colors-border-secondary) );\n\t}\n\n\t.stepper__line--active {\n\t\tborder-top: var(--lines-thickness) solid var( --nile-colors-primary-600, var(--ng-colors-border-brand-alt) );\n\t}\n\n\t.stepper__item__content--above{\n\t\tposition: relative;\n\t\tmargin-right: var( --nile-spacing-md, var(--ng-spacing-md));\n\t}\n\n\t.stepper__item__content--above .stepper__content__subtitle{\n\t\tposition: absolute;\n top: 100%;\n white-space: nowrap;\n\t}\n\n\t.stepper__item__content--below {\n\t\tmargin-top: var(--item-spacing);\n\t\tdisplay:flex;\n\t\tflex-direction:column;\n\t\talign-items:center;\n\t}\n\t\n\t.stepper__item__bulletin {\n\t\tdisplay:grid;\n\t\tplace-content:center;\n\t\tmargin: var( --nile-spacing-none, var(--ng-spacing-none)) -1px;\n\t}\n\n\t.stepper__item__bulletin{\n\t\tmargin-left: var( --nile-spacing-sm, var(--ng-spacing-none));\n\t\tmargin-right: var( --nile-spacing-sm, var(--ng-spacing-none));\n\t}\n\t\n\t.stepper__item__bulletin--inline{\n\t\tmargin-right: var( --nile-spacing-sm, var(--ng-spacing-sm));\n\t}\n\n\t.stepper__item--selected .stepper__item__bulletin{\n\t\tpadding: var(--nile-spacing-2px, var(--ng-spacing-xxs));\n border: var(--nile-border-size-2, var(--ng-border-width-2)) solid var(--ng-colors-effects-focus-ring);\n border-radius: 50%;\n\t}\n\n\t.stepper__content__title {\n\t\tcolor:var( --nile-colors-dark-900, var(--ng-colors-text-secondary-700));\n\t\tfont-size: var(--stepper-item-title-size);\n\t\tline-height: var(--stepper-item-text-line-height);\n\t\tfont-family: var(--nile-font-family-medium, var(--ng-font-family-body));\n\t\tfont-weight: var(--nile-font-weight-regular, var(--ng-font-weight-semibold));\n\t}\n\n\t.stepper__content__title--inline{\n\t\tpadding: var( --nile-spacing-none, var(--ng-spacing-none)) var(--nile-spacing-md, var(--ng-spacing-md));\n\t\tcolor:var( --nile-colors-dark-900, var(--ng-colors-text-secondary-700) );\n\t}\n\n\t.stepper__content__title--active{\n\t\tcolor:var( --nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700) );\n\t\tfont-weight: var(--nile-font-weight-semi-bold, var(--ng-font-weight-semibold));\n\t}\n\n\t.stepper__content__subtitle {\n\t\tcolor:var(--nile-colors-dark-500, var(--ng-colors-text-tertiary-600) );\n\t\tfont-size: var(--stepper-item-subtitle-size);\n\t\tline-height: var(--stepper-item-text-line-height);\n\t\tfont-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));\n\t\tfont-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n\t}\n\n\t.stepper__content__subtitle--active{\n\t\tcolor:var( --nile-colors-primary-600, var(--ng-colors-text-brand-tertiary-600) );\n\t}\n\n\t.stepper__bulletin--dot {\n\t\twidth: var(--circle-height);\n\t\taspect-ratio: 1 / 1;\n\t\tborder-radius: var(--nile-radius-full, var(--ng-radius-full));\n\t\tbackground: radial-gradient(var(--nile-colors-neutral-500, var(--ng-colors-border-secondary) ) var(--bulletin--dot--seperation), var(--nile-colors-dark-200, var(--ng-colors-bg-primary)) var(--bulletin--dot--seperation));\n\t\tborder: var(--lines-thickness) solid var(--nile-colors-neutral-500, var(--ng-colors-border-secondary) );\n\t}\n\n\t.stepper__bulletin__dot--active{\n\t\tbackground: radial-gradient(var(--nile-colors-white-base, var(--ng-colors-bg-primary) ) var(--bulletin--dot--seperation), var( --nile-colors-primary-600, var(--ng-colors-bg-brand-solid) ) var(--bulletin--dot--seperation));\n\t\tborder: var(--lines-thickness) solid var( --nile-colors-primary-500, var(--ng-colors-border-brand-alt) );\n\t\twidth: calc( var(--circle-height) + calc( var(--lines-thickness) * 2 ) );\n\t}\n\n\t.stepper__bulletin--icon {\n\t\tdisplay: grid;\n\t\tplace-content:center;\n\t\twidth: var(--circle-height);\n\t\tborder: var(--lines-thickness) solid var( --nile-colors-primary-600, var(--ng-colors-bg-brand-solid) );\n\t\taspect-ratio: 1 / 1;\n\t\tborder-radius: var(--nile-radius-full, var(--ng-radius-full));\n\t\tbackground-color:var( --nile-colors-primary-600, var(--ng-colors-bg-brand-solid) );\n\t\toverflow:hidden;\n\t}\n\t\n\t.stepper__bulletin__icon--active {\n\t\tborder: 1px solid var( --nile-colors-primary-500, var(--ng-colors-bg-brand-solid) );\n\t\twidth: calc(var(--circle-height) + calc( var(--lines-thickness) * 2));\n\t}\n`;\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-stepper-item.css.js","sourceRoot":"","sources":["../../../src/nile-stepper-item/nile-stepper-item.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuKxB,CAAC;AACF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2023\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport { css } from 'lit';\n\n/**\n * StepperItem CSS\n */\nexport const styles = css`\n\t:host {\n\t\t--stepper-flex-val:1;\n\t\t--bulletin--dot--seperation:30%;\n\t\t--lines-thickness: var(--nile-width-1px, var(--ng-border-width-2));\n\t\t\n\t\tdisplay: inline-block;\n\t\tflex-grow:var(--stepper-flex-val);\n\t\tmin-width: 200px;\n\t\t-webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n\t}\n\t\n\t.stepper__item {\n\t\tmargin: var( --nile-spacing-none, var(--ng-spacing-none)) -1px;\n\t}\n\n\t.stepper__item--sm {\n\t\t--item-spacing: var( --nile-spacing-md, var(--ng-spacing-md));\n\t\t--stepper-item-title-size: var( --nile-type-scale-2, var(--ng-font-size-text-sm) );\n\t\t--stepper-item-subtitle-size: var( --nile-type-scale-1, var(--ng-font-size-text-sm) );\n\t\t--stepper-item-text-line-height: var( --nile-height-16px, var(--ng-line-height-text-sm) );\n\t\t--circle-height:18px;\n\t}\n\n\t.stepper__item--lg {\n\t\t--item-spacing: var( --nile-spacing-md, var(--ng-spacing-lg));\n\t\t--stepper-item-title-size: var( --nile-type-scale-3, var(--ng-font-size-text-sm) );\n\t\t--stepper-item-subtitle-size: var( --nile-type-scale-2, var(--ng-font-size-text-sm) );\n\t\t--stepper-item-text-line-height: var( --nile-height-18px, var(--ng-line-height-text-md) );\n\t\t--circle-height:22px;\n\t}\n\n\t.stepper__item--xl {\n\t\t--item-spacing: var( --nile-spacing-lg, var(--ng-spacing-lg));\n\t\t--stepper-item-title-size: var( --nile-type-scale-4, var(--ng-font-size-text-md) );\n\t\t--stepper-item-subtitle-size: var( --nile-type-scale-3, var(--ng-font-size-text-md) );\n\t\t--stepper-item-text-line-height: var( --nile-height-22px, var(--ng-line-height-text-lg) );\n\t\t--circle-height:26px;\n\t}\n\n\t.stepper__line__content {\n\t\tdisplay:flex;\n\t\twidth:100%;\n\t\talign-items:center;\n\t\tgap: var(--nile-spacing-none, var(--ng-spacing-lg));\n\t}\n\n\t.stepper__line__container {\n\t\tflex-grow:1;\n\t\tpadding: var( --nile-spacing-none, var(--ng-spacing-none)) 1px;\n\t}\n\n\t.stepper__line--hastitle {\n\t\tdisplay:flex;\n\t\talign-items:center;\n\t}\n\n\t.stepper__line {\n\t\tdisplay: block;\n\t\tborder: 0;\n\t\tborder-top: var(--lines-thickness) solid var(--nile-colors-neutral-500, var(--ng-colors-border-secondary) );\n\t}\n\n\t.stepper__line--active {\n\t\tborder-top: var(--lines-thickness) solid var( --nile-colors-primary-600, var(--ng-colors-border-brand-alt) );\n\t}\n\n\t.stepper__item__content--above{\n\t\tposition: relative;\n\t\tmargin-right: var( --nile-spacing-md, var(--ng-spacing-md));\n\t}\n\n\t.stepper__item__content--above .stepper__content__subtitle{\n\t\tposition: absolute;\n top: 100%;\n white-space: nowrap;\n\t}\n\n\t.stepper__item__content--below {\n\t\tmargin-top: var(--item-spacing);\n\t\tdisplay:flex;\n\t\tflex-direction:column;\n\t\talign-items:center;\n\t}\n\t\n\t.stepper__item__bulletin {\n\t\tdisplay:grid;\n\t\tplace-content:center;\n\t\tmargin: var( --nile-spacing-none, var(--ng-spacing-none)) -1px;\n\t}\n\n\t.stepper__item__bulletin{\n\t\tmargin-left: var( --nile-spacing-sm, var(--ng-spacing-none));\n\t\tmargin-right: var( --nile-spacing-sm, var(--ng-spacing-none));\n\t}\n\t\n\t.stepper__item__bulletin--inline{\n\t\tmargin-right: var( --nile-spacing-sm, var(--ng-spacing-sm));\n\t}\n\n\t.stepper__item--selected .stepper__item__bulletin{\n\t\tpadding: var(--nile-spacing-2px, var(--ng-spacing-xxs));\n border: var(--nile-border-size-2, var(--ng-border-width-2)) solid var(--ng-colors-effects-focus-ring);\n border-radius: 50%;\n\t}\n\n\t.stepper__content__title {\n\t\tcolor:var( --nile-colors-dark-900, var(--ng-colors-text-secondary-700));\n\t\tfont-size: var(--stepper-item-title-size);\n\t\tline-height: var(--stepper-item-text-line-height);\n\t\tfont-family: var(--nile-font-family-medium, var(--ng-font-family-body));\n\t\tfont-weight: var(--nile-font-weight-regular, var(--ng-font-weight-semibold));\n\t}\n\n\t.stepper__content__title--inline{\n\t\tpadding: var( --nile-spacing-none, var(--ng-spacing-none)) var(--nile-spacing-md, var(--ng-spacing-md));\n\t\tcolor:var( --nile-colors-dark-900, var(--ng-colors-text-secondary-700) );\n\t}\n\n\t.stepper__content__title--active{\n\t\tcolor:var( --nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700) );\n\t\tfont-weight: var(--nile-font-weight-semi-bold, var(--ng-font-weight-semibold));\n\t}\n\n\t.stepper__content__subtitle {\n\t\tcolor:var(--nile-colors-dark-500, var(--ng-colors-text-tertiary-600) );\n\t\tfont-size: var(--stepper-item-subtitle-size);\n\t\tline-height: var(--stepper-item-text-line-height);\n\t\tfont-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));\n\t\tfont-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n\t}\n\n\t.stepper__content__subtitle--active{\n\t\tcolor:var( --nile-colors-primary-600, var(--ng-colors-text-brand-tertiary-600) );\n\t}\n\n\t.stepper__bulletin--dot {\n\t\twidth: var(--circle-height);\n\t\taspect-ratio: 1 / 1;\n\t\tborder-radius: var(--nile-radius-full, var(--ng-radius-full));\n\t\tbackground: radial-gradient(var(--nile-colors-neutral-500, var(--ng-colors-border-secondary) ) var(--bulletin--dot--seperation), var(--nile-colors-dark-200, var(--ng-colors-bg-primary)) var(--bulletin--dot--seperation));\n\t\tborder: var(--lines-thickness) solid var(--nile-colors-neutral-500, var(--ng-colors-border-secondary) );\n\t}\n\n\t.stepper__bulletin__dot--active{\n\t\tbackground: radial-gradient(var(--nile-colors-white-base, var(--ng-colors-bg-primary) ) var(--bulletin--dot--seperation), var( --nile-colors-primary-600, var(--ng-colors-bg-brand-solid) ) var(--bulletin--dot--seperation));\n\t\tborder: var(--lines-thickness) solid var( --nile-colors-primary-500, var(--ng-colors-border-brand-alt) );\n\t\twidth: calc( var(--circle-height) + calc( var(--lines-thickness) * 2 ) );\n\t}\n\n\t.stepper__bulletin--icon {\n\t\tdisplay: grid;\n\t\tplace-content:center;\n\t\twidth: var(--circle-height);\n\t\tborder: var(--lines-thickness) solid var( --nile-colors-primary-600, var(--ng-colors-bg-brand-solid) );\n\t\taspect-ratio: 1 / 1;\n\t\tborder-radius: var(--nile-radius-full, var(--ng-radius-full));\n\t\tbackground-color:var( --nile-colors-primary-600, var(--ng-colors-bg-brand-solid) );\n\t\toverflow:hidden;\n\t}\n\t\n\t.stepper__bulletin__icon--active {\n\t\tborder: 1px solid var( --nile-colors-primary-500, var(--ng-colors-bg-brand-solid) );\n\t\twidth: calc(var(--circle-height) + calc( var(--lines-thickness) * 2));\n\t}\n`;\nexport default [styles];\n"]}
@@ -34,7 +34,7 @@ export const styles = css `
34
34
  width: 100%;
35
35
  align-items: center;
36
36
  border-radius: var(--tab-border-radius);
37
- color: var(--nile-colors-inherit, var(--ng-colors-text-quaternary-500));
37
+ color: var(--nile-colors-gray-light-mode-500, var(--ng-colors-text-quaternary-500));
38
38
  padding: var(--tab-padding);
39
39
  white-space: nowrap;
40
40
  user-select: none;
@@ -1 +1 @@
1
- {"version":3,"file":"nile-tab.css.js","sourceRoot":"","sources":["../../../src/nile-tab/nile-tab.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqFxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * Tab CSS\n */\nexport const styles = css`\n [hidden] {\n display: none !important;\n }\n\n :host {\n display: inline-block;\n --tab-border-radius: var(--nile-radius-md, var(--ng-radius-md));\n --tab-padding: var(--nile-spacing-none, var(--ng-spacing-none)) var(--nile-spacing-3px, var(--ng-spacing-xs)) var(--nile-spacing-lg, var(--ng--spacing-3)) var(--nile-spacing-3px, var(--ng-spacing-xs));\n --tab-hover-background-color:transparent;\n --tab-active-background-color: transparent;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host([centered]) {\n flex: 1;\n text-align: center;\n }\n\n .tab {\n display: inline-flex;\n width: 100%;\n align-items: center;\n border-radius: var(--tab-border-radius);\n color: var(--nile-colors-inherit, var(--ng-colors-text-quaternary-500));\n padding: var(--tab-padding);\n white-space: nowrap;\n user-select: none;\n cursor: pointer;\n transition: 0.2s box-shadow, 0.2s color;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-style: normal;\n font-weight: var(--nile-font-weight-semi-bold, var(--ng-font-weight-semibold));\n line-height: var(--nile-line-height-xsmall, var(--ng-line-height-text-sm));\n letter-spacing: 0.2px;\n gap: var(--nile-spacing-md, var(--ng-spacing-md));\n height: 36px;\n box-sizing: border-box;\n }\n\n .tab:hover:not(.tab--disabled) {\n color: var(--nile-colors-primary-700, var(--ng-colors-text-brand-secondary-700));\n background-color: var(--tab-hover-background-color);\n }\n\n .tab:focus {\n outline: none;\n }\n\n .tab:focus-visible:not(.tab--disabled) {\n color: var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));\n }\n\n .tab.tab--active:not(.tab--disabled) {\n color: var(--nile-colors-primary-700, var(--ng-colors-text-brand-secondary-700));\n background-color: var(--tab-active-background-color);\n }\n\n .tab.tab--closable {\n padding-inline-end: var(--nile-spacing-xs, var(--ng-spacing-xs));\n }\n\n .tab.tab--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .tab__close-button {\n font-size: var(--nile-type-scale-4, var(--ng-font-size-text-sm));\n margin-inline-start: var(--nile-spacing-xs, var(--ng-spacing-xs));\n }\n\n .tab__close-button::part(base) {\n padding: var(--nile-spacing-xs, var(--ng-spacing-xs));\n }\n\n @media (forced-colors: active) {\n .tab.tab--active:not(.tab--disabled) {\n outline: solid 1px transparent;\n outline-offset: -3px;\n }\n }\n`;\n\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-tab.css.js","sourceRoot":"","sources":["../../../src/nile-tab/nile-tab.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqFxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * Tab CSS\n */\nexport const styles = css`\n [hidden] {\n display: none !important;\n }\n\n :host {\n display: inline-block;\n --tab-border-radius: var(--nile-radius-md, var(--ng-radius-md));\n --tab-padding: var(--nile-spacing-none, var(--ng-spacing-none)) var(--nile-spacing-3px, var(--ng-spacing-xs)) var(--nile-spacing-lg, var(--ng--spacing-3)) var(--nile-spacing-3px, var(--ng-spacing-xs));\n --tab-hover-background-color:transparent;\n --tab-active-background-color: transparent;\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host([centered]) {\n flex: 1;\n text-align: center;\n }\n\n .tab {\n display: inline-flex;\n width: 100%;\n align-items: center;\n border-radius: var(--tab-border-radius);\n color: var(--nile-colors-gray-light-mode-500, var(--ng-colors-text-quaternary-500));\n padding: var(--tab-padding);\n white-space: nowrap;\n user-select: none;\n cursor: pointer;\n transition: 0.2s box-shadow, 0.2s color;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-style: normal;\n font-weight: var(--nile-font-weight-semi-bold, var(--ng-font-weight-semibold));\n line-height: var(--nile-line-height-xsmall, var(--ng-line-height-text-sm));\n letter-spacing: 0.2px;\n gap: var(--nile-spacing-md, var(--ng-spacing-md));\n height: 36px;\n box-sizing: border-box;\n }\n\n .tab:hover:not(.tab--disabled) {\n color: var(--nile-colors-primary-700, var(--ng-colors-text-brand-secondary-700));\n background-color: var(--tab-hover-background-color);\n }\n\n .tab:focus {\n outline: none;\n }\n\n .tab:focus-visible:not(.tab--disabled) {\n color: var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));\n }\n\n .tab.tab--active:not(.tab--disabled) {\n color: var(--nile-colors-primary-700, var(--ng-colors-text-brand-secondary-700));\n background-color: var(--tab-active-background-color);\n }\n\n .tab.tab--closable {\n padding-inline-end: var(--nile-spacing-xs, var(--ng-spacing-xs));\n }\n\n .tab.tab--disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .tab__close-button {\n font-size: var(--nile-type-scale-4, var(--ng-font-size-text-sm));\n margin-inline-start: var(--nile-spacing-xs, var(--ng-spacing-xs));\n }\n\n .tab__close-button::part(base) {\n padding: var(--nile-spacing-xs, var(--ng-spacing-xs));\n }\n\n @media (forced-colors: active) {\n .tab.tab--active:not(.tab--disabled) {\n outline: solid 1px transparent;\n outline-offset: -3px;\n }\n }\n`;\n\nexport default [styles];\n"]}