@aquera/nile-elements 2.0.2 → 2.0.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.
- package/README.md +19 -0
- package/demo/nxtgen-classes.css +2 -2
- package/demo/nxtgen-properties.css +2 -2
- package/demo/nxtgen-utilities.css +4 -4
- package/demo/nxtgen.css +2 -2
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1120 -674
- package/dist/nile-empty-state/nile-empty-state.cjs.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.cjs.js.map +1 -1
- package/dist/nile-empty-state/nile-empty-state.css.cjs.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.css.cjs.js.map +1 -1
- package/dist/nile-empty-state/nile-empty-state.css.esm.js +129 -6
- package/dist/nile-empty-state/nile-empty-state.esm.js +45 -31
- package/dist/nile-pagination/nile-pagination.cjs.js +1 -1
- package/dist/nile-pagination/nile-pagination.cjs.js.map +1 -1
- package/dist/nile-pagination/nile-pagination.esm.js +25 -25
- package/dist/nile-segmented-progress-bar/index.cjs.js +2 -0
- package/dist/nile-segmented-progress-bar/index.cjs.js.map +1 -0
- package/dist/nile-segmented-progress-bar/index.esm.js +1 -0
- package/dist/nile-segmented-progress-bar/nile-segmented-progress-bar.cjs.js +2 -0
- package/dist/nile-segmented-progress-bar/nile-segmented-progress-bar.cjs.js.map +1 -0
- package/dist/nile-segmented-progress-bar/nile-segmented-progress-bar.css.cjs.js +2 -0
- package/dist/nile-segmented-progress-bar/nile-segmented-progress-bar.css.cjs.js.map +1 -0
- package/dist/nile-segmented-progress-bar/nile-segmented-progress-bar.css.esm.js +243 -0
- package/dist/nile-segmented-progress-bar/nile-segmented-progress-bar.esm.js +69 -0
- package/dist/nile-wysiwyg-editor/engine/commands.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/commands.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/commands.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/create-state.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/create-state.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/index.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/index.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.cjs.js.map +1 -1
- package/dist/nile-wysiwyg-editor/engine/plugins/code-highlight.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/index.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/index.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/nile-wysiwyg-editor.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/code-block-menu.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/code-block-menu.esm.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/source-view.cjs.js +1 -1
- package/dist/nile-wysiwyg-editor/ui/source-view.esm.js +1 -1
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-empty-state/nile-empty-state.css.js +127 -4
- package/dist/src/nile-empty-state/nile-empty-state.css.js.map +1 -1
- package/dist/src/nile-empty-state/nile-empty-state.d.ts +35 -5
- package/dist/src/nile-empty-state/nile-empty-state.js +159 -42
- package/dist/src/nile-empty-state/nile-empty-state.js.map +1 -1
- package/dist/src/nile-empty-state/nile-empty-state.test.d.ts +1 -0
- package/dist/src/nile-empty-state/nile-empty-state.test.js +186 -15
- package/dist/src/nile-empty-state/nile-empty-state.test.js.map +1 -1
- package/dist/src/nile-pagination/nile-pagination.js +5 -5
- package/dist/src/nile-pagination/nile-pagination.js.map +1 -1
- package/dist/src/nile-segmented-progress-bar/index.d.ts +2 -0
- package/dist/src/nile-segmented-progress-bar/index.js +2 -0
- package/dist/src/nile-segmented-progress-bar/index.js.map +1 -0
- package/dist/src/nile-segmented-progress-bar/nile-segmented-progress-bar.css.d.ts +9 -0
- package/dist/src/nile-segmented-progress-bar/nile-segmented-progress-bar.css.js +252 -0
- package/dist/src/nile-segmented-progress-bar/nile-segmented-progress-bar.css.js.map +1 -0
- package/dist/src/nile-segmented-progress-bar/nile-segmented-progress-bar.d.ts +135 -0
- package/dist/src/nile-segmented-progress-bar/nile-segmented-progress-bar.js +373 -0
- package/dist/src/nile-segmented-progress-bar/nile-segmented-progress-bar.js.map +1 -0
- package/dist/src/nile-segmented-progress-bar/nile-segmented-progress-bar.test.d.ts +1 -0
- package/dist/src/nile-segmented-progress-bar/nile-segmented-progress-bar.test.js +961 -0
- package/dist/src/nile-segmented-progress-bar/nile-segmented-progress-bar.test.js.map +1 -0
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/xml-09119317.cjs.js +2 -0
- package/dist/xml-09119317.cjs.js.map +1 -0
- package/dist/{xml-25c4108a.esm.js → xml-9bf771b3.esm.js} +1 -1
- package/package.json +2 -1
- package/src/index.ts +5 -0
- package/src/nile-empty-state/nile-empty-state.css.ts +127 -4
- package/src/nile-empty-state/nile-empty-state.test.ts +192 -15
- package/src/nile-empty-state/nile-empty-state.ts +195 -34
- package/src/nile-pagination/nile-pagination.ts +5 -5
- package/src/nile-segmented-progress-bar/index.ts +5 -0
- package/src/nile-segmented-progress-bar/nile-segmented-progress-bar.css.ts +254 -0
- package/src/nile-segmented-progress-bar/nile-segmented-progress-bar.test.ts +1298 -0
- package/src/nile-segmented-progress-bar/nile-segmented-progress-bar.ts +437 -0
- package/vscode-html-custom-data.json +192 -16
- package/dist/xml-90fd974e.cjs.js +0 -2
- package/dist/xml-90fd974e.cjs.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-pagination.cjs.js","sources":["../../../src/nile-pagination/nile-pagination.ts"],"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' | 'mini' = 'fluid';\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property({ type: Boolean }) showTitle = true;\n @property({ type: Boolean, reflect: true }) portal = false;\n\n @state() private _pageSizeOpen = false;\n @state() private _pageOpen = false;\n @state() private _miniPageOpen = 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\" ?portal=${this.portal} ?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=\"var(--nile-icon-chevron-down, var(--ng-icon-chevron-down))\"\n size=\"14\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\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 ?portal=${this.portal}\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=\"var(--nile-icon-chevron-down, var(--ng-icon-chevron-down))\"\n size=\"14\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\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 class=\"prev-button\"\n >\n <nile-icon name=\"var(--nile-icon-arrow-left, var(--ng-icon-chevron-left))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" 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 class=\"next-button\"\n >\n <nile-icon name=\"var(--nile-icon-arrow-right, var(--ng-icon-chevron-right))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" 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\" ?portal=${this.portal} ?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 renderMiniPrevButton(): 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 class=\"mini-prev-button\"\n >\n <nile-icon name=\"var(--nile-icon-arrow-left, var(--ng-icon-chevron-left))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" size=\"12\"></nile-icon>\n </nile-button>\n </li>\n `;\n }\n\n private renderMiniNextButton(): 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 class=\"mini-next-button\"\n >\n <nile-icon name=\"var(--nile-icon-arrow-right, var(--ng-icon-chevron-right))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" size=\"12\"></nile-icon>\n </nile-button>\n </li>\n `;\n }\n\n private renderMini(): TemplateResult {\n return html`\n <div part=\"wrapper\" class=\"pagination-wrapper mini\">\n <span part=\"mini-showing-label\" class=\"mini-showing-label\">Showing</span>\n <nile-dropdown\n part=\"mini-page-dropdown\"\n class=\"mini-page-dropdown\"\n ?portal=${this.portal}\n ?disabled=${this.disabled}\n @nile-show=${() => (this._miniPageOpen = true)}\n @nile-after-hide=${() => (this._miniPageOpen = false)}\n >\n <nile-button\n slot=\"trigger\"\n variant=\"tertiary\"\n class=\"mini-page-btn ${this._miniPageOpen ? 'open' : ''}\"\n ?disabled=${this.disabled}\n >\n ${this.currentPage}\n <nile-icon\n name=\"var(--nile-icon-chevron-down, var(--ng-icon-chevron-down))\"\n size=\"12\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n class=\"chevron\"\n ></nile-icon>\n </nile-button>\n <nile-menu>\n <div class=\"mini-scroll-wrapper\">\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 <span part=\"mini-of-label\" class=\"mini-of-label\">of ${this.totalPages}</span>\n <nav aria-label=\"Pagination\" part=\"mini-nav\" class=\"mini-nav\">\n <ul part=\"mini-page-list\" class=\"pagination mini-pagination\">\n ${this.renderMiniPrevButton()}\n ${this.renderMiniNextButton()}\n </ul>\n </nav>\n </div>\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 ?portal=${this.portal}\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=\"var(--nile-icon-chevron-down, var(--ng-icon-chevron-down))\"\n size=\"14\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\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 if (this.variant === 'mini') {\n return this.renderMini();\n }\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"],"names":["NilePagination","p","this","totalItems","currentPage","pageSize","pageSizeOptions","variant","disabled","showTitle","portal","_pageSizeOpen","_pageOpen","_miniPageOpen","_this","_inherits","_l","_createClass","key","value","firstUpdated","_pageSizeDropdown","addEventListener","get","totalPages","Math","max","calculateTotalPages","goToPage","newPage","previousPage","emit","page","onPageSizeSelect","newSize","renderCompactRangeText","trimmed","getRangeText","replace","html","_templateObject","_taggedTemplateLiteral","renderRangeText","_templateObject2","_templateObject3","renderPageSizeSelect","_this3","_templateObject4","map","size","_templateObject5","renderCompactPageSize","_this4","_templateObject6","_templateObject7","renderPrevButton","_this5","_templateObject8","renderNextButton","_this6","_templateObject9","renderPageItem","item","idx","items","_templateObject10","getHiddenPages","indexOf","_templateObject11","_templateObject12","renderMiniPrevButton","_this8","_templateObject13","renderMiniNextButton","_this9","_templateObject14","renderMini","_this10","_templateObject15","Array","from","length","_","i","_templateObject16","renderPageList","_this11","_templateObject17","_templateObject18","getPaginationItems","_templateObject19","render","_templateObject20","__decorate","styles","NileElement","property","attribute","reflect","converter","fromAttribute","v","n","Number","isFinite","floor","prototype","arr","JSON","parse","isArray","every","x","_unused","type","String","Boolean","state","query","_export","customElement"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nile-pagination.cjs.js","sources":["../../../src/nile-pagination/nile-pagination.ts"],"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' | 'mini' = 'fluid';\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property({ type: Boolean }) showTitle = true;\n @property({ type: Boolean, reflect: true }) portal = false;\n\n @state() private _pageSizeOpen = false;\n @state() private _pageOpen = false;\n @state() private _miniPageOpen = 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\" ?portal=${this.portal} ?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=\"var(--nile-icon-chevron-down, var(--ng-icon-chevron-down))\"\n size=\"14\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n class=\"chevron\"\n ></nile-icon>\n </nile-button>\n <nile-menu>\n <div part=\"dropdown-list\" 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 ?portal=${this.portal}\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=\"var(--nile-icon-chevron-down, var(--ng-icon-chevron-down))\"\n size=\"14\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n class=\"chevron\"\n ></nile-icon>\n </nile-button>\n <nile-menu>\n <div part=\"dropdown-list\" 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 class=\"prev-button\"\n >\n <nile-icon name=\"var(--nile-icon-arrow-left, var(--ng-icon-chevron-left))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" 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 class=\"next-button\"\n >\n <nile-icon name=\"var(--nile-icon-arrow-right, var(--ng-icon-chevron-right))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" 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\" ?portal=${this.portal} ?disabled=${this.disabled}>\n <nile-button slot=\"trigger\" variant=\"ghost\" ?disabled=${this.disabled}>\n …\n </nile-button>\n <nile-menu>\n <div part=\"dropdown-list\" 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 renderMiniPrevButton(): 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 class=\"mini-prev-button\"\n >\n <nile-icon name=\"var(--nile-icon-arrow-left, var(--ng-icon-chevron-left))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" size=\"12\"></nile-icon>\n </nile-button>\n </li>\n `;\n }\n\n private renderMiniNextButton(): 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 class=\"mini-next-button\"\n >\n <nile-icon name=\"var(--nile-icon-arrow-right, var(--ng-icon-chevron-right))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" size=\"12\"></nile-icon>\n </nile-button>\n </li>\n `;\n }\n\n private renderMini(): TemplateResult {\n return html`\n <div part=\"wrapper\" class=\"pagination-wrapper mini\">\n <span part=\"mini-showing-label\" class=\"mini-showing-label\">Showing</span>\n <nile-dropdown\n part=\"mini-page-dropdown\"\n class=\"mini-page-dropdown\"\n ?portal=${this.portal}\n ?disabled=${this.disabled}\n @nile-show=${() => (this._miniPageOpen = true)}\n @nile-after-hide=${() => (this._miniPageOpen = false)}\n >\n <nile-button\n slot=\"trigger\"\n variant=\"tertiary\"\n class=\"mini-page-btn ${this._miniPageOpen ? 'open' : ''}\"\n ?disabled=${this.disabled}\n >\n ${this.currentPage}\n <nile-icon\n name=\"var(--nile-icon-chevron-down, var(--ng-icon-chevron-down))\"\n size=\"12\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n class=\"chevron\"\n ></nile-icon>\n </nile-button>\n <nile-menu>\n <div part=\"dropdown-list\" class=\"mini-scroll-wrapper\">\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 <span part=\"mini-of-label\" class=\"mini-of-label\">of ${this.totalPages}</span>\n <nav aria-label=\"Pagination\" part=\"mini-nav\" class=\"mini-nav\">\n <ul part=\"mini-page-list\" class=\"pagination mini-pagination\">\n ${this.renderMiniPrevButton()}\n ${this.renderMiniNextButton()}\n </ul>\n </nav>\n </div>\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 ?portal=${this.portal}\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=\"var(--nile-icon-chevron-down, var(--ng-icon-chevron-down))\"\n size=\"14\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n class=\"chevron\"\n ></nile-icon>\n </nile-button>\n <nile-menu>\n <div part=\"dropdown-list\" 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 if (this.variant === 'mini') {\n return this.renderMini();\n }\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"],"names":["NilePagination","p","this","totalItems","currentPage","pageSize","pageSizeOptions","variant","disabled","showTitle","portal","_pageSizeOpen","_pageOpen","_miniPageOpen","_this","_inherits","_o","_createClass","key","value","firstUpdated","_pageSizeDropdown","addEventListener","get","totalPages","Math","max","calculateTotalPages","goToPage","newPage","previousPage","emit","page","onPageSizeSelect","newSize","renderCompactRangeText","trimmed","getRangeText","replace","html","_templateObject","_taggedTemplateLiteral","renderRangeText","_templateObject2","_templateObject3","renderPageSizeSelect","_this3","_templateObject4","map","size","_templateObject5","renderCompactPageSize","_this4","_templateObject6","_templateObject7","renderPrevButton","_this5","_templateObject8","renderNextButton","_this6","_templateObject9","renderPageItem","item","idx","items","_templateObject10","getHiddenPages","indexOf","_templateObject11","_templateObject12","renderMiniPrevButton","_this8","_templateObject13","renderMiniNextButton","_this9","_templateObject14","renderMini","_this10","_templateObject15","Array","from","length","_","i","_templateObject16","renderPageList","_this11","_templateObject17","_templateObject18","getPaginationItems","_templateObject19","render","_templateObject20","__decorate","styles","NileElement","property","attribute","reflect","converter","fromAttribute","v","n","Number","isFinite","floor","prototype","arr","JSON","parse","isArray","every","x","_unused","type","String","Boolean","state","query","_export","customElement"],"mappings":"qgIAmBaA,CAAAA,uBAAAA,EAAAA,EAAN,SAAAC,EAAA,uEAWHC,KAAAA,CAAUC,UAAW,CAAA,CAAA,CAQrBD,KAAAA,CAAWE,WAAW,CAAA,CAAA,CAQtBF,KAAAA,CAAQG,QAAW,CAAA,EAAA,CAWtBH,KAAAA,CAAeI,eAAa,CAAA,CAAC,GAAI,EAAI,CAAA,EAAA,CAAI,KAEbJ,KAAAA,CAAOK,OAAAA,CAAiC,QACvBL,KAAAA,CAAQM,QAAAA,CAAAA,CAAG,EAC1BN,KAAAA,CAASO,SAAAA,CAAAA,CAAG,EACGP,KAAAA,CAAMQ,MAAAA,CAAAA,CAAG,EAEpCR,KAAAA,CAAaS,aAAAA,CAAAA,CAAG,EAChBT,KAAAA,CAASU,SAAAA,CAAAA,CAAG,EACZV,KAAAA,CAAaW,aAAAA,CAAAA,CAAG,CA4XlC,QAAAC,KAAA,EA1aQC,SAAA,CAAAd,CAAA,CAAAe,EAAA,SAAAC,YAAA,CAAAhB,CAAA,GAAAiB,GAAA,gBAAAC,KAAA,CAiDP,SAAAC,YAAAA,CAAAA,kBACMlB,IAAKmB,CAAAA,iBAAAA,GACTnB,KAAKmB,iBAAkBC,CAAAA,gBAAAA,CAAiB,YAAa,UACnDpB,CAAAA,MAAAA,CAAKS,eAAgB,CAAI,EAAA,CAAA,CAE3BT,KAAKmB,iBAAkBC,CAAAA,gBAAAA,CAAiB,kBAAmB,UACzDpB,CAAAA,MAAAA,CAAKS,eAAgB,CAAK,EAAA,CAAA,CAG7B,EAED,GAAAO,GAAA,cAAAK,GAAA,UAAAA,IAAA,CAAYC,CACV,MAAOC,CAAAA,IAAKC,CAAAA,GAAAA,CAAI,EAAGC,CAAoBzB,CAAAA,IAAAA,CAAKC,WAAYD,IAAKG,CAAAA,QAAAA,CAAAA,CAC9D,EAEO,GAAAa,GAAA,YAAAC,KAAA,UAAAS,QAAAA,CAASC,GAEf,GAAI3B,IAAAA,CAAKM,SAAU,OACnB,GAAMsB,CAAAA,EAAe5B,IAAKE,CAAAA,WAAAA,CAC1BF,KAAKE,WAAcyB,CAAAA,CAAAA,CACnB3B,KAAK6B,IAAK,CAAA,aAAA,CAAe,CAAEC,IAAMH,CAAAA,CAAAA,CAASC,eAAczB,QAAUH,CAAAA,IAAAA,CAAKG,UACxE,EAEM,GAAAa,GAAA,oBAAAC,KAAA,UAAAc,gBAAAA,CAAiBC,CACxB,CAAA,CAAA,GAAIhC,KAAKM,QAAYN,EAAAA,IAAAA,CAAKG,WAAa6B,CAAS,CAAA,OAEhD,GAAMJ,CAAAA,CAAe5B,CAAAA,IAAAA,CAAKE,YAC1BF,IAAKG,CAAAA,QAAAA,CAAW6B,EAChBhC,IAAKE,CAAAA,WAAAA,CAAc,EACnBF,IAAK6B,CAAAA,IAAAA,CAAK,cAAe,CACvBC,IAAAA,CAAM,EACNF,YACAzB,CAAAA,CAAAA,CAAAA,QAAAA,CAAU6B,GAEb,EAEO,GAAAhB,GAAA,0BAAAC,KAAA,UAAAgB,sBAAAA,CAAAA,EACN,GACMC,CAAAA,CAAAA,CADOC,EAAanC,IAAKC,CAAAA,UAAAA,CAAYD,KAAKG,QAAUH,CAAAA,IAAAA,CAAKE,aAC1CkC,OAAQ,CAAA,aAAA,CAAe,IAC5C,MAAOC,CAAAA,CAAI,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA,2CAA2BL,CACvC,EAAA,CAGS,GAAAlB,GAAA,mBAAAC,KAAA,UAAAuB,eAAAA,CAAAA,CACN,CAAA,MAAwB,KAApBxC,IAAKC,CAAAA,UAAAA,CACAoC,CAAI,CAAAI,gBAAA,GAAAA,gBAAA,CAAAF,sBAAA,uDAENF,CAAI,CAAAK,gBAAA,GAAAA,gBAAA,CAAAH,sBAAA,+FAELJ,CAAAA,CAAanC,IAAKC,CAAAA,UAAAA,CAAYD,IAAKG,CAAAA,QAAAA,CAAUH,IAAKE,CAAAA,WAAAA,CAAAA,CAGzD,EAEO,GAAAc,GAAA,wBAAAC,KAAA,UAAA0B,oBAAAA,CAAAA,CACN,KAAAC,MAAA,MAAA,MAAqB,UAAjB5C,IAAKK,CAAAA,OAAAA,CAA4B,KAC9BgC,CAAI,CAAAQ,gBAAA,GAAAA,gBAAA,CAAAN,sBAAA,s4BAE6CvC,IAAAA,CAAKQ,OAAoBR,IAAKM,CAAAA,QAAAA,CAIhEN,IAAAA,CAAKS,cAAgB,MAAS,CAAA,EAAA,CAChCT,IAAKM,CAAAA,QAAAA,CAEfN,IAAKG,CAAAA,QAAAA,CAUHH,IAAKI,CAAAA,eAAAA,CAAgB0C,GACrBC,CAAAA,SAAAA,CAAAA,QAAQV,CAAAA,CAAI,CAAAW,gBAAA,GAAAA,gBAAA,CAAAT,sBAAA,mNAEIvC,MAAKM,CAAAA,QAAAA,CACR,iBAAMN,CAAAA,OAAK+B,gBAAiBgB,CAAAA,CAAAA,CAAAA,GAEnCA,CAAAA,KAUnB,EAGO,GAAA/B,GAAA,yBAAAC,KAAA,UAAAgC,qBAAAA,CAAAA,CACN,KAAAC,MAAA,MAAA,MAAOb,CAAAA,CAAI,CAAAc,gBAAA,GAAAA,gBAAA,CAAAZ,sBAAA,yyBAGGvC,IAAKQ,CAAAA,MAAAA,CACHR,IAAKM,CAAAA,QAAAA,CACJ,iBAAON,CAAAA,OAAKS,aAAgB,CAAA,CAAA,CAAA,GACtB,iBAAOT,CAAAA,OAAKS,aAAgB,CAAA,CAAA,CAAA,GAK/BT,IAAAA,CAAKS,cAAgB,MAAS,CAAA,EAAA,CAChCT,IAAKM,CAAAA,QAAAA,CAEfN,IAAKG,CAAAA,QAAAA,CAUHH,IAAKI,CAAAA,eAAAA,CAAgB0C,GACrBC,CAAAA,SAAAA,CAAAA,QAAQV,CAAAA,CAAI,CAAAe,gBAAA,GAAAA,gBAAA,CAAAb,sBAAA,qMAEIvC,MAAKM,CAAAA,QAAAA,CACR,iBAAMN,CAAAA,OAAK+B,gBAAiBgB,CAAAA,CAAAA,CAAAA,GAEnCA,CAAAA,MAQjB,CAGO,GAAA/B,GAAA,oBAAAC,KAAA,UAAAoC,gBAAAA,CAAAA,CACN,KAAAC,MAAA,MAAA,MAAOjB,CAAAA,CAAI,CAAAkB,gBAAA,GAAAA,gBAAA,CAAAhB,sBAAA,qYAI4B,CAArBvC,GAAAA,IAAAA,CAAKE,aAAqBF,IAAKM,CAAAA,QAAAA,CAClC,iBAAMN,CAAAA,MAAAA,CAAK0B,QAAS1B,CAAAA,MAAAA,CAAKE,WAAc,CAAA,CAAA,CAAA,IAOvD,CAEO,GAAAc,GAAA,oBAAAC,KAAA,UAAAuC,gBAAAA,CAAAA,CACN,KAAAC,MAAA,MAAA,MAAOpB,CAAAA,CAAI,CAAAqB,gBAAA,GAAAA,gBAAA,CAAAnB,sBAAA,uYAIOvC,IAAKE,CAAAA,WAAAA,GAAgBF,IAAKsB,CAAAA,UAAAA,EAActB,IAAKM,CAAAA,QAAAA,CAChD,iBAAMN,CAAAA,MAAAA,CAAK0B,QAAS1B,CAAAA,MAAAA,CAAKE,WAAc,CAAA,CAAA,CAAA,IAOvD,CAEO,GAAAc,GAAA,kBAAAC,KAAA,UAAA0C,cAAAA,CACNC,CACAC,CAAAA,CAAAA,CACAC,mBAEA,MAAa,GAAA,GAATF,EACKvB,CAAI,CAAA0B,iBAAA,GAAAA,iBAAA,CAAAxB,sBAAA,ocAE4CvC,IAAAA,CAAKQ,OAAoBR,IAAKM,CAAAA,QAAAA,CACvBN,IAAKM,CAAAA,QAAAA,CAKvD0D,CAAAA,CACAhE,IAAKsB,CAAAA,UAAAA,CACLwC,CACA9D,CAAAA,IAAAA,CAAKE,YACL2D,CAAMC,CAAAA,CAAAA,CAAMG,OAAQjE,CAAAA,IAAAA,CAAKE,WAAe,CAAA,CAAA,MAAA,CAAS,OACjD4C,CAAAA,CAAAA,GAAAA,CACAhB,SAAAA,SAAQO,CAAAA,CAAI,CAAA6B,iBAAA,GAAAA,iBAAA,CAAA3B,sBAAA,iOAEIvC,MAAKM,CAAAA,QAAAA,CACR,iBAAMN,CAAAA,OAAK0B,QAASI,CAAAA,CAAAA,CAAAA,GAE3BA,CAAAA,MAUbO,CAAI,CAAA8B,iBAAA,GAAAA,iBAAA,CAAA5B,sBAAA,qLAGKqB,CAAS5D,GAAAA,IAAAA,CAAKE,YAAc,SAAY,CAAA,OAAA,CACtCF,IAAKM,CAAAA,QAAAA,CACR,iBAAMN,CAAAA,OAAK0B,QAASkC,CAAAA,CAAAA,CAAAA,GAE3BA,CAAAA,CAIT,EAEO,GAAA5C,GAAA,wBAAAC,KAAA,UAAAmD,oBAAAA,CAAAA,CACN,KAAAC,MAAA,MAAA,MAAOhC,CAAAA,CAAI,CAAAiC,iBAAA,GAAAA,iBAAA,CAAA/B,sBAAA,0YAI4B,CAArBvC,GAAAA,IAAAA,CAAKE,aAAqBF,IAAKM,CAAAA,QAAAA,CAClC,iBAAMN,CAAAA,MAAAA,CAAK0B,QAAS1B,CAAAA,MAAAA,CAAKE,WAAc,CAAA,CAAA,CAAA,IAOvD,CAEO,GAAAc,GAAA,wBAAAC,KAAA,UAAAsD,oBAAAA,CAAAA,CACN,KAAAC,MAAA,MAAA,MAAOnC,CAAAA,CAAI,CAAAoC,iBAAA,GAAAA,iBAAA,CAAAlC,sBAAA,4YAIOvC,IAAKE,CAAAA,WAAAA,GAAgBF,IAAKsB,CAAAA,UAAAA,EAActB,IAAKM,CAAAA,QAAAA,CAChD,iBAAMN,CAAAA,MAAAA,CAAK0B,QAAS1B,CAAAA,MAAAA,CAAKE,WAAc,CAAA,CAAA,CAAA,IAOvD,CAEO,GAAAc,GAAA,cAAAC,KAAA,UAAAyD,UAAAA,CAAAA,CACN,KAAAC,OAAA,MAAA,MAAOtC,CAAAA,CAAI,CAAAuC,iBAAA,GAAAA,iBAAA,CAAArC,sBAAA,01CAMKvC,IAAKQ,CAAAA,MAAAA,CACHR,IAAKM,CAAAA,QAAAA,CACJ,iBAAON,CAAAA,QAAKW,aAAgB,CAAA,CAAA,CAAA,GACtB,iBAAOX,CAAAA,QAAKW,aAAgB,CAAA,CAAA,CAAA,GAKtBX,IAAAA,CAAKW,cAAgB,MAAS,CAAA,EAAA,CACzCX,IAAKM,CAAAA,QAAAA,CAEfN,IAAKE,CAAAA,WAAAA,CAUH2E,KAAAA,CAAMC,IAAK,CAAA,CAAEC,MAAQ/E,CAAAA,IAAAA,CAAKsB,UAAc,CAAA,CAAA,SAAC0D,CAAGC,CAAAA,CAAAA,QAAMA,CAAAA,CAAI,CAAA,CAAA,EAAA,CAAA,CAAGnC,GACzD/C,CAAAA,SAAAA,CAAAA,QAAKsC,CAAAA,CAAI,CAAA6C,iBAAA,GAAAA,iBAAA,CAAA3C,sBAAA,mNAEOvC,OAAKM,CAAAA,QAAAA,CACR,iBAAMN,CAAAA,QAAK0B,QAAS3B,CAAAA,CAAAA,CAAAA,GAE3BA,CAAAA,KAOwCC,IAAKsB,CAAAA,UAAAA,CAGrDtB,IAAKoE,CAAAA,oBAAAA,CAAAA,CAAAA,CACLpE,IAAKuE,CAAAA,oBAAAA,CAAAA,CAAAA,EAKhB,CAEO,GAAAvD,GAAA,kBAAAC,KAAA,UAAAkE,cAAAA,CAAAA,CACN,KAAAC,OAAA,MAAA,GAAqB,YAAjBpF,IAAKK,CAAAA,OAAAA,CACP,MAAOgC,CAAAA,CAAI,CAAAgD,iBAAA,GAAAA,iBAAA,CAAA9C,sBAAA,utCAGHvC,IAAKqD,CAAAA,gBAAAA,CAAAA,CAAAA,CAIOrD,IAAKQ,CAAAA,MAAAA,CACHR,IAAKM,CAAAA,QAAAA,CACJ,iBAAON,CAAAA,QAAKU,SAAY,CAAA,CAAA,CAAA,GAClB,iBAAOV,CAAAA,QAAKU,SAAY,CAAA,CAAA,CAAA,GAKfV,IAAAA,CAAKU,UAAY,MAAS,CAAA,EAAA,CACxCV,IAAKM,CAAAA,QAAAA,CAEfN,IAAKE,CAAAA,WAAAA,CAUH2E,KAAAA,CAAMC,IAAK,CAAA,CAAEC,MAAQ/E,CAAAA,IAAAA,CAAKsB,UAAc,CAAA,CAAA,SAAC0D,CAAGC,CAAAA,CAAAA,QAAMA,CAAAA,CAAI,CAAA,CAAA,EAAA,CAAA,CAAGnC,GACzD/C,CAAAA,SAAAA,CAAAA,QAAKsC,CAAAA,CAAI,CAAAiD,iBAAA,GAAAA,iBAAA,CAAA/C,sBAAA,6PAEOvC,OAAKM,CAAAA,QAAAA,CACR,iBAAMN,CAAAA,QAAK0B,QAAS3B,CAAAA,CAAAA,CAAAA,GAE3BA,CAAAA,KAQdC,IAAKwD,CAAAA,gBAAAA,CAAAA,CAAAA,EAKf,GAAMM,CAAAA,EAAQyB,CAAmBvF,CAAAA,IAAAA,CAAKsB,WAAYtB,IAAKE,CAAAA,WAAAA,CAAAA,CACvD,MAAOmC,CAAAA,CAAI,CAAAmD,iBAAA,GAAAA,iBAAA,CAAAjD,sBAAA,qLAGHvC,IAAKqD,CAAAA,gBAAAA,CAAAA,CAAAA,CACLS,CAAAA,CAAMhB,IAAI,SAACc,CAAAA,CAAMC,SAAQ7D,CAAAA,OAAK2D,CAAAA,cAAAA,CAAeC,EAAMC,CAAKC,CAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CACxD9D,IAAKwD,CAAAA,gBAAAA,CAAAA,CAAAA,EAId,CAEK,GAAAxC,GAAA,UAAAC,KAAA,UAAAwE,MAAAA,CAAAA,EACN,MAAqB,MAAA,GAAjBzF,KAAKK,OACAL,CAAAA,IAAAA,CAAK0E,aAEPrC,CAAI,CAAAqD,iBAAA,GAAAA,iBAAA,CAAAnD,sBAAA,wMACuCvC,IAAKK,CAAAA,OAAAA,CAE9B,OAAjBL,GAAAA,IAAAA,CAAKK,OAAuBL,EAAAA,IAAAA,CAAKO,SAC7BP,CAAAA,IAAAA,CAAKwC,kBACU,SAAjBxC,GAAAA,IAAAA,CAAKK,OACHL,CAAAA,IAAAA,CAAKiC,sBACL,CAAA,CAAA,CAAA,IAAA,CACa,OAAA,GAAjBjC,IAAKK,CAAAA,OAAAA,CACHL,IAAK2C,CAAAA,oBAAAA,CAAAA,CAAAA,CACL3C,IAAKiD,CAAAA,qBAAAA,CAAAA,CAAAA,CAETjD,IAAKmF,CAAAA,cAAAA,CAAAA,CAAAA,CAGZ,EA/ZGQ,KAAAA,GAAAA,UAAAA,GAAAA,CAVK,SAAAtE,IAAA,EACL,MAAO,CAACuE,EACT,EA+CD,MAlDkCC,CAA7B,GAWHF,CAAAA,CAAA,CANDG,CAAS,CAAA,CAACC,UAAW,YAAaC,CAAAA,OAAAA,CAAAA,CAAS,CAAKC,CAAAA,SAAAA,CAAW,CACxDC,aAAAA,CAAgBC,QAAhBD,CAAAA,aAAAA,CAAgBC,GACd,GAAMC,CAAAA,CAAAA,CAAIC,MAAOF,CAAAA,CAAAA,CAAAA,CACjB,MAAOE,CAAAA,MAAAA,CAAOC,SAASF,CAAMA,CAAAA,EAAAA,CAAAA,EAAK,CAAI7E,CAAAA,IAAAA,CAAKgF,KAAMH,CAAAA,CAAAA,CAAAA,CAAK,CAAC,EAGpCtG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA0G,UAAA,YAAA,CAAA,IAAA,EAAA,CAAA,CAQvBb,EAAA,CANDG,CAAAA,CAAS,CAACC,SAAAA,CAAW,aAAeC,CAAAA,OAAAA,CAAAA,CAAS,EAAMC,SAAW,CAAA,CAC3DC,aAAgBC,CAAAA,QAAhBD,CAAAA,aAAgBC,CAAAA,CAAAA,CAAAA,CACd,GAAMC,CAAAA,CAAAA,CAAIC,OAAOF,CACjB,CAAA,CAAA,MAAOE,CAAAA,MAAOC,CAAAA,QAAAA,CAASF,CAAMA,CAAAA,EAAAA,CAAAA,EAAK,EAAI7E,IAAKgF,CAAAA,KAAAA,CAAMH,GAAK,CAAC,EAAA,CAAA,CAAA,CAAA,CAAA,CAGnCtG,EAAA0G,SAAA,CAAA,aAAA,CAAA,IAAA,EAQxBb,CAAAA,CAAAA,CAAAA,CAAA,CANDG,CAAAA,CAAS,CAACC,SAAW,CAAA,UAAA,CAAWC,OAAS,CAAA,CAAA,CAAA,CAAKC,SAAW,CAAA,CACtDC,cAAgBC,QAAhBD,CAAAA,cAAgBC,CACd,CAAA,CAAA,GAAMC,CAAAA,CAAIC,CAAAA,MAAAA,CAAOF,CACjB,CAAA,CAAA,MAAOE,CAAAA,OAAOC,QAASF,CAAAA,CAAAA,CAAAA,EAAMA,CAAK,EAAA,CAAA,CAAI7E,IAAKgF,CAAAA,KAAAA,CAAMH,GAAK,EAAE,EAAA,CAAA,CAAA,CAAA,CAAA,CAGtCtG,CAAA0G,CAAAA,SAAAA,CAAA,UAAA,CAAA,IAAA,EAAA,CAAA,CAWzBb,EAAA,CATEG,CAAAA,CAAS,CAAEC,SAAAA,CAAW,iBAAmBC,CAAAA,OAAAA,CAAAA,CAAS,EAAOC,SAAW,CAAA,CAAEC,aAAgBC,CAAAA,QAAhBD,CAAAA,aAAgBC,CAAAA,CAAAA,CAAAA,CACjF,GACE,CAAA,GAAMM,CAAAA,GAAMC,IAAKC,CAAAA,KAAAA,CAAMR,GACvB,GAAItB,KAAAA,CAAM+B,QAAQH,EAAQA,CAAAA,EAAAA,EAAAA,CAAII,KAAMC,CAAAA,SAAAA,CAAAA,QAAkB,QAANA,EAAAA,MAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAC9C,MAAOL,CAAAA,EAEV,EAAC,MAAAM,OAAA,CAAQ,CAAA,CACV,MAAO,CAAC,GAAI,EAAI,CAAA,EAAA,CAAI,GAAI,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,CAEejH,CAAA0G,CAAAA,SAAAA,CAAA,sBAAA,EAElBb,CAAAA,CAAAA,CAAAA,CAAA,CAA1BG,CAAS,CAAA,CAAEkB,KAAMC,MAAyDnH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA0G,SAAA,CAAA,SAAA,CAAA,IAAA,EAC/Bb,CAAAA,CAAAA,CAAAA,CAAA,CAA3CG,CAAS,CAAA,CAAEkB,IAAME,CAAAA,OAAAA,CAASlB,OAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyBlG,EAAA0G,SAAA,CAAA,UAAA,CAAA,IAAA,EAChCb,CAAAA,CAAAA,CAAAA,CAAA,CAA5BG,CAAAA,CAAS,CAAEkB,IAAME,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA,CAA4BpH,EAAA0G,SAAA,CAAA,WAAA,CAAA,IAAA,IACFb,CAAA,CAAA,CAA3CG,CAAS,CAAA,CAAEkB,IAAME,CAAAA,OAAAA,CAASlB,SAAS,CAAuBlG,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA0G,SAAA,CAAA,QAAA,CAAA,IAAA,EAE1Cb,CAAAA,CAAAA,CAAAA,CAAA,CAAhBwB,CAAsCrH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA0G,SAAA,CAAA,eAAA,CAAA,IAAA,EACtBb,CAAAA,CAAAA,CAAAA,CAAA,CAAhBwB,CAAkCrH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA0G,SAAA,CAAA,WAAA,CAAA,IAAA,EAClBb,CAAAA,CAAAA,CAAAA,CAAA,CAAhBwB,CAAsCrH,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAA0G,SAAA,CAAA,eAAA,CAAA,IAAA,EACDb,CAAAA,CAAAA,CAAAA,CAAA,CAArCyB,CAAM,CAAA,qBAAA,CAAA,CAAA,CAA+DtH,CAAA0G,CAAAA,SAAAA,CAAA,mBAAA,CAAA,IAAA,EAAA,CAAA,CAAAa,OAAA,KAhD3DvH,EAAc6F,CAAA,CAAA,CAD1B2B,CAAc,CAAA,iBAAA,CAAA,CAAA,CACFxH"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import{__decorate as i}from"tslib";import{html as
|
|
1
|
+
import{__decorate as i}from"tslib";import{html as t}from"lit";import{property as e,state as n,query as s,customElement as r}from"lit/decorators.js";import{s as a}from"./nile-pagination.css.esm.js";import{N as o}from"../internal/nile-element.esm.js";import{c as l,g as h,a as d,b as c}from"./nile-pagination-utils.esm.js";import"../internal/accessibility/a11y.state.enum.esm.js";import"../internal/accessibility/a11y.property.enum.esm.js";import"../internal/accessibility/role.enum.esm.js";let p=class extends o{constructor(){super(...arguments),this.totalItems=0,this.currentPage=1,this.pageSize=50,this.pageSizeOptions=[10,25,50,100],this.variant="fluid",this.disabled=!1,this.showTitle=!0,this.portal=!1,this._pageSizeOpen=!1,this._pageOpen=!1,this._miniPageOpen=!1}static get styles(){return[a]}firstUpdated(){this._pageSizeDropdown&&(this._pageSizeDropdown.addEventListener("nile-show",(()=>{this._pageSizeOpen=!0})),this._pageSizeDropdown.addEventListener("nile-after-hide",(()=>{this._pageSizeOpen=!1})))}get totalPages(){return Math.max(1,l(this.totalItems,this.pageSize))}goToPage(i){if(this.disabled)return;const t=this.currentPage;this.currentPage=i,this.emit("nile-change",{page:i,previousPage:t,pageSize:this.pageSize})}onPageSizeSelect(i){if(this.disabled||this.pageSize===i)return;const t=this.currentPage;this.pageSize=i,this.currentPage=1,this.emit("nile-change",{page:1,previousPage:t,pageSize:i})}renderCompactRangeText(){const i=h(this.totalItems,this.pageSize,this.currentPage).replace(/^Showing\s*/,"");return t`<div class="range-text">${i}</div>`}renderRangeText(){return 0===this.totalItems?t`<div class="range-text">Showing 0 of 0</div>`:t`
|
|
2
2
|
<div part="range-text" class="range-text">
|
|
3
3
|
${h(this.totalItems,this.pageSize,this.currentPage)}
|
|
4
4
|
</div>
|
|
5
|
-
`}renderPageSizeSelect(){return"fluid"!==this.variant?null:
|
|
5
|
+
`}renderPageSizeSelect(){return"fluid"!==this.variant?null:t`
|
|
6
6
|
<div class="page-size-select">
|
|
7
7
|
<nile-dropdown class="page-size-dropdown" ?portal=${this.portal} ?disabled=${this.disabled}>
|
|
8
8
|
<nile-button
|
|
@@ -20,8 +20,8 @@ import{__decorate as i}from"tslib";import{html as e}from"lit";import{property as
|
|
|
20
20
|
></nile-icon>
|
|
21
21
|
</nile-button>
|
|
22
22
|
<nile-menu>
|
|
23
|
-
<div class="down-scroll-wrapper">
|
|
24
|
-
${this.pageSizeOptions.map((i=>
|
|
23
|
+
<div part="dropdown-list" class="down-scroll-wrapper">
|
|
24
|
+
${this.pageSizeOptions.map((i=>t`
|
|
25
25
|
<nile-menu-item
|
|
26
26
|
?disabled=${this.disabled}
|
|
27
27
|
@click=${()=>this.onPageSizeSelect(i)}
|
|
@@ -34,7 +34,7 @@ import{__decorate as i}from"tslib";import{html as e}from"lit";import{property as
|
|
|
34
34
|
</nile-dropdown>
|
|
35
35
|
<span part="pagesize-label" class="page-size-label">Items per page</span>
|
|
36
36
|
</div>
|
|
37
|
-
`}renderCompactPageSize(){return
|
|
37
|
+
`}renderCompactPageSize(){return t`
|
|
38
38
|
<nile-dropdown
|
|
39
39
|
class="compact-dropdown"
|
|
40
40
|
?portal=${this.portal}
|
|
@@ -57,8 +57,8 @@ import{__decorate as i}from"tslib";import{html as e}from"lit";import{property as
|
|
|
57
57
|
></nile-icon>
|
|
58
58
|
</nile-button>
|
|
59
59
|
<nile-menu>
|
|
60
|
-
<div class="compact-scroll-wrapper">
|
|
61
|
-
${this.pageSizeOptions.map((i=>
|
|
60
|
+
<div part="dropdown-list" class="compact-scroll-wrapper">
|
|
61
|
+
${this.pageSizeOptions.map((i=>t`
|
|
62
62
|
<nile-menu-item
|
|
63
63
|
?disabled=${this.disabled}
|
|
64
64
|
@click=${()=>this.onPageSizeSelect(i)}
|
|
@@ -69,7 +69,7 @@ import{__decorate as i}from"tslib";import{html as e}from"lit";import{property as
|
|
|
69
69
|
</div>
|
|
70
70
|
</nile-menu>
|
|
71
71
|
</nile-dropdown>
|
|
72
|
-
`}renderPrevButton(){return
|
|
72
|
+
`}renderPrevButton(){return t`
|
|
73
73
|
<li>
|
|
74
74
|
<nile-button
|
|
75
75
|
variant="tertiary"
|
|
@@ -80,7 +80,7 @@ import{__decorate as i}from"tslib";import{html as e}from"lit";import{property as
|
|
|
80
80
|
<nile-icon name="var(--nile-icon-arrow-left, var(--ng-icon-chevron-left))" method="var(--nile-svg-method-fill, var(--ng-svg-method-stroke))" size="14"></nile-icon>
|
|
81
81
|
</nile-button>
|
|
82
82
|
</li>
|
|
83
|
-
`}renderNextButton(){return
|
|
83
|
+
`}renderNextButton(){return t`
|
|
84
84
|
<li>
|
|
85
85
|
<nile-button
|
|
86
86
|
variant="tertiary"
|
|
@@ -91,15 +91,15 @@ import{__decorate as i}from"tslib";import{html as e}from"lit";import{property as
|
|
|
91
91
|
<nile-icon name="var(--nile-icon-arrow-right, var(--ng-icon-chevron-right))" method="var(--nile-svg-method-fill, var(--ng-svg-method-stroke))" size="14"></nile-icon>
|
|
92
92
|
</nile-button>
|
|
93
93
|
</li>
|
|
94
|
-
`}renderPageItem(i,
|
|
94
|
+
`}renderPageItem(i,e,n){return"…"===i?t`
|
|
95
95
|
<li>
|
|
96
96
|
<nile-dropdown class="ellipsis-dropdown" ?portal=${this.portal} ?disabled=${this.disabled}>
|
|
97
97
|
<nile-button slot="trigger" variant="ghost" ?disabled=${this.disabled}>
|
|
98
98
|
…
|
|
99
99
|
</nile-button>
|
|
100
100
|
<nile-menu>
|
|
101
|
-
<div class="ellipsis-scroll-wrapper">
|
|
102
|
-
${d(this.totalPages,n,this.currentPage,
|
|
101
|
+
<div part="dropdown-list" class="ellipsis-scroll-wrapper">
|
|
102
|
+
${d(this.totalPages,n,this.currentPage,e<n.indexOf(this.currentPage)?"left":"right").map((i=>t`
|
|
103
103
|
<nile-menu-item
|
|
104
104
|
?disabled=${this.disabled}
|
|
105
105
|
@click=${()=>this.goToPage(i)}
|
|
@@ -111,7 +111,7 @@ import{__decorate as i}from"tslib";import{html as e}from"lit";import{property as
|
|
|
111
111
|
</nile-menu>
|
|
112
112
|
</nile-dropdown>
|
|
113
113
|
</li>
|
|
114
|
-
`:
|
|
114
|
+
`:t`
|
|
115
115
|
<li>
|
|
116
116
|
<nile-button
|
|
117
117
|
variant=${i===this.currentPage?"primary":"ghost"}
|
|
@@ -121,7 +121,7 @@ import{__decorate as i}from"tslib";import{html as e}from"lit";import{property as
|
|
|
121
121
|
${i}
|
|
122
122
|
</nile-button>
|
|
123
123
|
</li>
|
|
124
|
-
`}renderMiniPrevButton(){return
|
|
124
|
+
`}renderMiniPrevButton(){return t`
|
|
125
125
|
<li>
|
|
126
126
|
<nile-button
|
|
127
127
|
variant="tertiary"
|
|
@@ -132,7 +132,7 @@ import{__decorate as i}from"tslib";import{html as e}from"lit";import{property as
|
|
|
132
132
|
<nile-icon name="var(--nile-icon-arrow-left, var(--ng-icon-chevron-left))" method="var(--nile-svg-method-fill, var(--ng-svg-method-stroke))" size="12"></nile-icon>
|
|
133
133
|
</nile-button>
|
|
134
134
|
</li>
|
|
135
|
-
`}renderMiniNextButton(){return
|
|
135
|
+
`}renderMiniNextButton(){return t`
|
|
136
136
|
<li>
|
|
137
137
|
<nile-button
|
|
138
138
|
variant="tertiary"
|
|
@@ -143,7 +143,7 @@ import{__decorate as i}from"tslib";import{html as e}from"lit";import{property as
|
|
|
143
143
|
<nile-icon name="var(--nile-icon-arrow-right, var(--ng-icon-chevron-right))" method="var(--nile-svg-method-fill, var(--ng-svg-method-stroke))" size="12"></nile-icon>
|
|
144
144
|
</nile-button>
|
|
145
145
|
</li>
|
|
146
|
-
`}renderMini(){return
|
|
146
|
+
`}renderMini(){return t`
|
|
147
147
|
<div part="wrapper" class="pagination-wrapper mini">
|
|
148
148
|
<span part="mini-showing-label" class="mini-showing-label">Showing</span>
|
|
149
149
|
<nile-dropdown
|
|
@@ -169,8 +169,8 @@ import{__decorate as i}from"tslib";import{html as e}from"lit";import{property as
|
|
|
169
169
|
></nile-icon>
|
|
170
170
|
</nile-button>
|
|
171
171
|
<nile-menu>
|
|
172
|
-
<div class="mini-scroll-wrapper">
|
|
173
|
-
${Array.from({length:this.totalPages},((i,
|
|
172
|
+
<div part="dropdown-list" class="mini-scroll-wrapper">
|
|
173
|
+
${Array.from({length:this.totalPages},((i,t)=>t+1)).map((i=>t`
|
|
174
174
|
<nile-menu-item
|
|
175
175
|
?disabled=${this.disabled}
|
|
176
176
|
@click=${()=>this.goToPage(i)}
|
|
@@ -189,7 +189,7 @@ import{__decorate as i}from"tslib";import{html as e}from"lit";import{property as
|
|
|
189
189
|
</ul>
|
|
190
190
|
</nav>
|
|
191
191
|
</div>
|
|
192
|
-
`}renderPageList(){if("compact"===this.variant)return
|
|
192
|
+
`}renderPageList(){if("compact"===this.variant)return t`
|
|
193
193
|
<nav aria-label="Pagination">
|
|
194
194
|
<ul class="pagination compact-pagination">
|
|
195
195
|
${this.renderPrevButton()}
|
|
@@ -216,8 +216,8 @@ import{__decorate as i}from"tslib";import{html as e}from"lit";import{property as
|
|
|
216
216
|
></nile-icon>
|
|
217
217
|
</nile-button>
|
|
218
218
|
<nile-menu>
|
|
219
|
-
<div class="compact-scroll-wrapper1">
|
|
220
|
-
${Array.from({length:this.totalPages},((i,
|
|
219
|
+
<div part="dropdown-list" class="compact-scroll-wrapper1">
|
|
220
|
+
${Array.from({length:this.totalPages},((i,t)=>t+1)).map((i=>t`
|
|
221
221
|
<nile-menu-item
|
|
222
222
|
?disabled=${this.disabled}
|
|
223
223
|
@click=${()=>this.goToPage(i)}
|
|
@@ -232,15 +232,15 @@ import{__decorate as i}from"tslib";import{html as e}from"lit";import{property as
|
|
|
232
232
|
${this.renderNextButton()}
|
|
233
233
|
</ul>
|
|
234
234
|
</nav>
|
|
235
|
-
`;const i=c(this.totalPages,this.currentPage);return
|
|
235
|
+
`;const i=c(this.totalPages,this.currentPage);return t`
|
|
236
236
|
<nav aria-label="Pagination">
|
|
237
237
|
<ul part="page-list" class="pagination">
|
|
238
238
|
${this.renderPrevButton()}
|
|
239
|
-
${i.map(((e
|
|
239
|
+
${i.map(((t,e)=>this.renderPageItem(t,e,i)))}
|
|
240
240
|
${this.renderNextButton()}
|
|
241
241
|
</ul>
|
|
242
242
|
</nav>
|
|
243
|
-
`}render(){return"mini"===this.variant?this.renderMini():
|
|
243
|
+
`}render(){return"mini"===this.variant?this.renderMini():t`
|
|
244
244
|
<div part="wrapper" class="pagination-wrapper ${this.variant}">
|
|
245
245
|
<div part="pager-container" class="pager-container">
|
|
246
246
|
${"fluid"===this.variant&&this.showTitle?this.renderRangeText():"compact"===this.variant?this.renderCompactRangeText():null}
|
|
@@ -248,4 +248,4 @@ import{__decorate as i}from"tslib";import{html as e}from"lit";import{property as
|
|
|
248
248
|
</div>
|
|
249
249
|
${this.renderPageList()}
|
|
250
250
|
</div>
|
|
251
|
-
`}};i([
|
|
251
|
+
`}};i([e({attribute:"totalitems",reflect:!0,converter:{fromAttribute:i=>{const t=Number(i);return Number.isFinite(t)&&t>=0?Math.floor(t):0}}})],p.prototype,"totalItems",void 0),i([e({attribute:"currentpage",reflect:!0,converter:{fromAttribute:i=>{const t=Number(i);return Number.isFinite(t)&&t>=1?Math.floor(t):1}}})],p.prototype,"currentPage",void 0),i([e({attribute:"pagesize",reflect:!0,converter:{fromAttribute:i=>{const t=Number(i);return Number.isFinite(t)&&t>=1?Math.floor(t):50}}})],p.prototype,"pageSize",void 0),i([e({attribute:"pagesizeoptions",reflect:!1,converter:{fromAttribute:i=>{try{const t=JSON.parse(i);if(Array.isArray(t)&&t.every((i=>"number"==typeof i)))return t}catch{}return[10,25,50,100]}}})],p.prototype,"pageSizeOptions",void 0),i([e({type:String})],p.prototype,"variant",void 0),i([e({type:Boolean,reflect:!0})],p.prototype,"disabled",void 0),i([e({type:Boolean})],p.prototype,"showTitle",void 0),i([e({type:Boolean,reflect:!0})],p.prototype,"portal",void 0),i([n()],p.prototype,"_pageSizeOpen",void 0),i([n()],p.prototype,"_pageOpen",void 0),i([n()],p.prototype,"_miniPageOpen",void 0),i([s(".page-size-dropdown")],p.prototype,"_pageSizeDropdown",void 0),p=i([r("nile-pagination")],p);export{p as N};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["./nile-segmented-progress-bar.cjs.js","tslib","lit","./nile-segmented-progress-bar.css.cjs.js","lit/directives/class-map.js","lit/directives/style-map.js","lit/decorators.js","../internal/nile-element.cjs.js","../internal/accessibility/a11y.state.enum.cjs.js","../internal/accessibility/a11y.property.enum.cjs.js","../internal/accessibility/role.enum.cjs.js","../nile-lite-tooltip/nile-lite-tooltip.cjs.js","../nile-lite-tooltip/nile-lite-tooltip.css.cjs.js","../tippy.esm-78baa8f2.cjs.js","../nile-lite-tooltip/utils.cjs.js","../utilities/visibility-manager.cjs.js"],function(_export,_context){"use strict";return{setters:[function(_nileSegmentedProgressBarCjsJs){_export("NileSegmentedProgressBar",_nileSegmentedProgressBarCjsJs.N);},function(_tslib){},function(_lit){},function(_nileSegmentedProgressBarCssCjsJs){},function(_litDirectivesClassMapJs){},function(_litDirectivesStyleMapJs){},function(_litDecoratorsJs){},function(_internalNileElementCjsJs){},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){},function(_nileLiteTooltipNileLiteTooltipCjsJs){},function(_nileLiteTooltipNileLiteTooltipCssCjsJs){},function(_tippyEsm009CjsJs){},function(_nileLiteTooltipUtilsCjsJs){},function(_utilitiesVisibilityManagerCjsJs){}],execute:function execute(){}};});
|
|
2
|
+
//# sourceMappingURL=index.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export{N as NileSegmentedProgressBar}from"./nile-segmented-progress-bar.esm.js";import"tslib";import"lit";import"./nile-segmented-progress-bar.css.esm.js";import"lit/directives/class-map.js";import"lit/directives/style-map.js";import"lit/decorators.js";import"../internal/nile-element.esm.js";import"../internal/accessibility/a11y.state.enum.esm.js";import"../internal/accessibility/a11y.property.enum.esm.js";import"../internal/accessibility/role.enum.esm.js";import"../nile-lite-tooltip/nile-lite-tooltip.esm.js";import"../nile-lite-tooltip/nile-lite-tooltip.css.esm.js";import"../tippy.esm-57628c2b.esm.js";import"../nile-lite-tooltip/utils.esm.js";import"../utilities/visibility-manager.esm.js";
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","./nile-segmented-progress-bar.css.cjs.js","lit/directives/class-map.js","lit/directives/style-map.js","lit/decorators.js","../internal/nile-element.cjs.js","../nile-lite-tooltip/nile-lite-tooltip.cjs.js","../internal/accessibility/a11y.state.enum.cjs.js","../internal/accessibility/a11y.property.enum.cjs.js","../internal/accessibility/role.enum.cjs.js","../nile-lite-tooltip/nile-lite-tooltip.css.cjs.js","../tippy.esm-78baa8f2.cjs.js","../nile-lite-tooltip/utils.cjs.js","../utilities/visibility-manager.cjs.js"],function(_export,_context){"use strict";var e,t,s,i,r,a,n,o,l,_templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,_templateObject6,_templateObject7,d;function _defineProperty(e,r,t){return(r=_toPropertyKey(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e;}function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _superPropGet(t,o,e,r){var p=_get(_getPrototypeOf(1&r?t.prototype:t),o,e);return 2&r&&"function"==typeof p?function(t){return p.apply(e,t);}:p;}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var p=_superPropBase(e,t);if(p){var n=Object.getOwnPropertyDescriptor(p,t);return n.get?n.get.call(arguments.length<3?e:r):n.value;}},_get.apply(null,arguments);}function _superPropBase(t,o){for(;!{}.hasOwnProperty.call(t,o)&&null!==(t=_getPrototypeOf(t)););return t;}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){e=_tslib.__decorate;},function(_lit){t=_lit.nothing;s=_lit.html;},function(_nileSegmentedProgressBarCssCjsJs){i=_nileSegmentedProgressBarCssCjsJs.s;},function(_litDirectivesClassMapJs){r=_litDirectivesClassMapJs.classMap;},function(_litDirectivesStyleMapJs){a=_litDirectivesStyleMapJs.styleMap;},function(_litDecoratorsJs){n=_litDecoratorsJs.property;o=_litDecoratorsJs.customElement;},function(_internalNileElementCjsJs){l=_internalNileElementCjsJs.N;},function(_nileLiteTooltipNileLiteTooltipCjsJs){},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){},function(_nileLiteTooltipNileLiteTooltipCssCjsJs){},function(_tippyEsm009CjsJs){},function(_nileLiteTooltipUtilsCjsJs){},function(_utilitiesVisibilityManagerCjsJs){}],execute:function execute(){_export("N",d=/*#__PURE__*/function(_l){function d(){var _this;_classCallCheck(this,d);_this=_callSuper(this,d,arguments),_this.segments=[],_this.label="",_this.showLegend=!0,_this.showTooltip=!0,_this.showValues=!0,_this.size="medium",_this.rounded=!0,_this.minSegmentWidth=2,_this.tooltipPlacement="top";return _this;}_inherits(d,_l);return _createClass(d,[{key:"sanitizeValue",value:function sanitizeValue(e){var t=Number(e);return!Number.isFinite(t)||t<0?0:t;}},{key:"values",get:function get(){var _this2=this;return(Array.isArray(this.segments)?this.segments:[]).map(function(e){return _this2.sanitizeValue(e===null||e===void 0?void 0:e.value);});}},{key:"sum",get:function get(){return this.values.reduce(function(e,t){return e+t;},0);}},{key:"denominator",get:function get(){var e=this.sum,t=Number(this.total);return Number.isFinite(t)&&t>e?t:e;}},{key:"percentages",get:function get(){var e=this.denominator;return e<=0?this.values.map(function(){return 0;}):this.values.map(function(t){return t/e*100;});}},{key:"largestIndex",get:function get(){var e=this.values;var t=-1,s=0;return e.forEach(function(e,i){e>s&&(s=e,t=i);}),t;}},{key:"formatPercentage",value:function formatPercentage(e){if(!Number.isFinite(e))return"0";var t=Math.round(10*e)/10;return Number.isInteger(t)?String(t):t.toFixed(1);}},{key:"describeSegment",value:function describeSegment(e){var _this$segments,_this$values$e,_this$percentages$e,_t$label;var t=(_this$segments=this.segments)===null||_this$segments===void 0?void 0:_this$segments[e],s=(_this$values$e=this.values[e])!==null&&_this$values$e!==void 0?_this$values$e:0,i=this.formatPercentage((_this$percentages$e=this.percentages[e])!==null&&_this$percentages$e!==void 0?_this$percentages$e:0);return"".concat((_t$label=t===null||t===void 0?void 0:t.label)!==null&&_t$label!==void 0?_t$label:"",": ").concat(s," (").concat(i,"%)");}},{key:"tooltipFor",value:function tooltipFor(e){var _this$segments2;var t=(_this$segments2=this.segments)===null||_this$segments2===void 0||(_this$segments2=_this$segments2[e])===null||_this$segments2===void 0?void 0:_this$segments2.tooltip;return t&&t.length>0?t:this.describeSegment(e);}},{key:"accessibleSummary",get:function get(){var _this3=this;var e=(Array.isArray(this.segments)?this.segments:[]).map(function(e,t){return _this3.describeSegment(t);}),t=e.length>0?e.join(", "):"No data";return this.label?"".concat(this.label,": ").concat(t):t;}},{key:"updated",value:function updated(e){_superPropGet(d,"updated",this,3)([e]),(e.has("segments")||e.has("total"))&&this.validateConfig();}},{key:"validateConfig",value:function validateConfig(){(Array.isArray(this.segments)?this.segments:[]).forEach(function(e,t){var s=Number(e===null||e===void 0?void 0:e.value);Number.isFinite(s)?s<0&&console.error("[NileSegmentedProgressBar]: Invalid value (".concat(s,") detected at segment index ").concat(t,". Value must be greater than or equal to 0. Falling back to 0.")):console.error("[NileSegmentedProgressBar]: Invalid value (".concat(String(e===null||e===void 0?void 0:e.value),") detected at segment index ").concat(t,". Value must be a finite number. Falling back to 0."));});var e=Number(this.total);void 0!==this.total&&null!==this.total&&(!Number.isFinite(e)||e<0?console.error("[NileSegmentedProgressBar]: Invalid total (".concat(String(this.total),") detected. Total must be a finite number greater than or equal to 0. Falling back to the sum of the segment values.")):e<this.sum&&console.error("[NileSegmentedProgressBar]: Invalid total (".concat(e,") detected. Total must be greater than or equal to the sum of the segment values (").concat(this.sum,"). Falling back to the sum.")));}},{key:"activate",value:function activate(e){var _this$segments3,_this$percentages$e2;var t=(_this$segments3=this.segments)===null||_this$segments3===void 0?void 0:_this$segments3[e];t&&this.emit("nile-segment-click",{segment:t,index:e,percentage:(_this$percentages$e2=this.percentages[e])!==null&&_this$percentages$e2!==void 0?_this$percentages$e2:0});}},{key:"handleKeyDown",value:function handleKeyDown(e,t){"Enter"!==e.key&&" "!==e.key&&"Spacebar"!==e.key||(e.preventDefault(),this.activate(t));}},{key:"renderSegment",value:function renderSegment(e){var _this$percentages$e3,_this4=this;var i=this.segments[e],n=(_this$percentages$e3=this.percentages[e])!==null&&_this$percentages$e3!==void 0?_this$percentages$e3:0;if(n<=0)return t;var o=e===this.largestIndex,l=Math.max(0,Number(this.minSegmentWidth)||0),_d=this.describeSegment(e),m=s(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <div\n part=\"segment\"\n role=\"button\"\n tabindex=\"0\"\n data-index=","\n class=","\n style=","\n aria-label=","\n @click=","\n @keydown=","\n ></div>\n "])),e,r(_defineProperty({"segmented-progress-bar__segment":!0},"segmented-progress-bar__palette-"+e%10,!i.color)),a({flexBasis:"".concat(n,"%"),flexShrink:o?"1":"0",minWidth:o?"0px":"".concat(l,"px"),backgroundColor:i.color||void 0}),_d,function(){return _this4.activate(e);},function(t){return _this4.handleKeyDown(t,e);});return this.showTooltip?s(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n <nile-lite-tooltip\n size=\"small\"\n content=","\n placement=","\n >\n ","\n </nile-lite-tooltip>\n "])),this.tooltipFor(e),this.tooltipPlacement,m):m;}},{key:"renderLegendItem",value:function renderLegendItem(e){var _this$values$e2,_this5=this;var i=this.segments[e],n=(_this$values$e2=this.values[e])!==null&&_this$values$e2!==void 0?_this$values$e2:0;return s(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["\n <div\n part=\"legend-item\"\n role=\"button\"\n tabindex=\"0\"\n data-index=","\n class=\"segmented-progress-bar__legend-item\"\n aria-label=","\n @click=","\n @keydown=","\n >\n <span\n part=\"legend-swatch\"\n aria-hidden=\"true\"\n class=","\n style=","\n ></span>\n <span part=\"legend-label\" class=\"segmented-progress-bar__legend-label\"\n >","</span\n >\n ","\n </div>\n "])),e,this.describeSegment(e),function(){return _this5.activate(e);},function(t){return _this5.handleKeyDown(t,e);},r(_defineProperty({"segmented-progress-bar__legend-swatch":!0},"segmented-progress-bar__palette-"+e%10,!i.color)),a({backgroundColor:i.color||void 0}),i.label,this.showValues?s(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["<span\n part=\"legend-value\"\n class=\"segmented-progress-bar__legend-value\"\n >","</span\n >"])),n):t);}},{key:"render",value:function render(){var _this6=this;var e=Array.isArray(this.segments)?this.segments:[];return s(_templateObject5||(_templateObject5=_taggedTemplateLiteral(["\n <div\n part=\"container\"\n class=","\n >\n ","\n\n <div\n part=\"bar track\"\n class=\"segmented-progress-bar__track\"\n role=\"group\"\n aria-label=","\n >\n ","\n </div>\n\n ","\n </div>\n "])),r({"segmented-progress-bar":!0,"segmented-progress-bar--small":"small"===this.size,"segmented-progress-bar--medium":"medium"===this.size,"segmented-progress-bar--large":"large"===this.size,"segmented-progress-bar--rounded":this.rounded}),this.label?s(_templateObject6||(_templateObject6=_taggedTemplateLiteral(["<div part=\"label\" class=\"segmented-progress-bar__label\">\n ","\n </div>"])),this.label):t,this.accessibleSummary,e.map(function(e,t){return _this6.renderSegment(t);}),this.showLegend?s(_templateObject7||(_templateObject7=_taggedTemplateLiteral(["<div part=\"legend\" class=\"segmented-progress-bar__legend\">\n ","\n </div>"])),e.map(function(e,t){return _this6.renderLegendItem(t);})):t);}}]);}(l));d.styles=i,e([n({type:Array})],d.prototype,"segments",void 0),e([n({type:String,reflect:!0})],d.prototype,"label",void 0),e([n({type:Boolean,attribute:"show-legend"})],d.prototype,"showLegend",void 0),e([n({type:Boolean,attribute:"show-tooltip"})],d.prototype,"showTooltip",void 0),e([n({type:Boolean,attribute:"show-values"})],d.prototype,"showValues",void 0),e([n({reflect:!0})],d.prototype,"size",void 0),e([n({type:Number})],d.prototype,"total",void 0),e([n({type:Boolean})],d.prototype,"rounded",void 0),e([n({type:Number,attribute:"min-segment-width"})],d.prototype,"minSegmentWidth",void 0),e([n({attribute:"tooltip-placement"})],d.prototype,"tooltipPlacement",void 0),_export("N",d=e([o("nile-segmented-progress-bar")],d));}};});
|
|
2
|
+
//# sourceMappingURL=nile-segmented-progress-bar.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nile-segmented-progress-bar.cjs.js","sources":["../../../src/nile-segmented-progress-bar/nile-segmented-progress-bar.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2026\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 { html, nothing } from 'lit';\nimport { styles } from './nile-segmented-progress-bar.css';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { customElement, property } from 'lit/decorators.js';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';\nimport '../nile-lite-tooltip/index';\n\n/** A single slice of the distribution rendered by `nile-segmented-progress-bar`. */\nexport interface NileProgressSegment {\n /** Legend label, also used in the default tooltip text. */\n label: string;\n /** Raw magnitude of this segment. */\n value: number;\n /** Any CSS color; falls back to the palette rotation when omitted. */\n color?: string;\n /** Overrides the default tooltip content for this segment. */\n tooltip?: string;\n}\n\n/** Placement values forwarded to `nile-lite-tooltip`. */\nexport type NileSegmentTooltipPlacement =\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end'\n | 'auto'\n | 'auto-start'\n | 'auto-end';\n\n/** The number of palette classes declared in the stylesheet. */\nconst PALETTE_LENGTH = 10;\n\n/**\n * Nile segmented progress bar component.\n *\n * @tag nile-segmented-progress-bar\n *\n * @summary A config-driven, responsive multi-segment progress / distribution bar\n * with an optional wrapping legend — a single rounded track split into colored\n * proportional segments (for example Success / Failure / Errors / Running / Other).\n * @status experimental\n *\n * @event nile-segment-click - Emitted when a segment or its legend entry is activated by click,\n * `Enter` or `Space`. The `detail` contains `{ segment, index, percentage }`.\n *\n * @csspart container - The component's base wrapper.\n * @csspart label - The optional heading above the bar.\n * @csspart bar - The bar/track element (also exposed as `track`).\n * @csspart track - The bar/track element (also exposed as `bar`).\n * @csspart segment - An individual colored segment inside the track.\n * @csspart legend - The wrapping legend row.\n * @csspart legend-item - A single legend entry (swatch + label + value).\n * @csspart legend-swatch - The small rounded square in the segment color.\n * @csspart legend-label - The legend entry's label text.\n * @csspart legend-value - The legend entry's bold value.\n *\n * @example\n * <nile-segmented-progress-bar\n * label=\"Run outcomes\"\n * .segments=${[\n * { label: 'Success', value: 45623 },\n * { label: 'Failure', value: 50342 },\n * { label: 'Errors', value: 682 },\n * { label: 'Running', value: 166 },\n * { label: 'Other', value: 1552 },\n * ]}\n * ></nile-segmented-progress-bar>\n */\n@customElement('nile-segmented-progress-bar')\nexport class NileSegmentedProgressBar extends NileElement {\n static styles: CSSResultGroup = styles;\n\n /** The segments to distribute across the bar. This is the component's config. */\n @property({ type: Array }) segments: NileProgressSegment[] = [];\n\n /** Optional heading rendered above the bar. Nothing renders when empty. */\n @property({ type: String, reflect: true }) label = '';\n\n /** Renders the legend below the bar. */\n @property({ type: Boolean, attribute: 'show-legend' }) showLegend = true;\n\n /** Wraps every segment in a `nile-lite-tooltip`. */\n @property({ type: Boolean, attribute: 'show-tooltip' }) showTooltip = true;\n\n /** Renders the bold value alongside each legend label. */\n @property({ type: Boolean, attribute: 'show-values' }) showValues = true;\n\n /** The thickness of the bar. */\n @property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * Optional denominator. When omitted the denominator is the sum of the segment\n * values, so the segments always fill 100%. When larger than the sum, the\n * remainder renders as an unfilled track.\n */\n @property({ type: Number }) total?: number;\n\n /** Rounds the bar's outer ends. */\n @property({ type: Boolean }) rounded = true;\n\n /**\n * Minimum rendered width, in pixels, of a non-zero segment. Guarantees sub-1%\n * segments stay a discernible sliver. The largest segment absorbs whatever\n * overflow this introduces, so the row still totals exactly 100%.\n */\n @property({ type: Number, attribute: 'min-segment-width' })\n minSegmentWidth = 2;\n\n /** Passed straight through to `nile-lite-tooltip`'s `placement`. */\n @property({ attribute: 'tooltip-placement' })\n tooltipPlacement: NileSegmentTooltipPlacement = 'top';\n\n /* #region Math */\n\n /** Coerces a configured value into a usable, non-negative, finite number. */\n private sanitizeValue(value: unknown): number {\n const numeric = Number(value);\n if (!Number.isFinite(numeric) || numeric < 0) return 0;\n return numeric;\n }\n\n /** The sanitized magnitude of every configured segment, in config order. */\n private get values(): number[] {\n const list = Array.isArray(this.segments) ? this.segments : [];\n return list.map(segment => this.sanitizeValue(segment?.value));\n }\n\n /** The sum of every sanitized segment value. */\n private get sum(): number {\n return this.values.reduce((runningTotal, value) => runningTotal + value, 0);\n }\n\n /** The denominator the percentages are computed against. */\n private get denominator(): number {\n const sum = this.sum;\n const total = Number(this.total);\n if (Number.isFinite(total) && total > sum) return total;\n return sum;\n }\n\n /** Each segment's share of the denominator, in config order. */\n private get percentages(): number[] {\n const denominator = this.denominator;\n if (denominator <= 0) return this.values.map(() => 0);\n return this.values.map(value => (value / denominator) * 100);\n }\n\n /**\n * The index of the widest rendered segment. That segment is the one allowed to\n * shrink, so it absorbs the overflow introduced by `minSegmentWidth` on the\n * tiny ones and the row still adds up to exactly 100% of the track.\n */\n private get largestIndex(): number {\n const values = this.values;\n let largest = -1;\n let largestValue = 0;\n values.forEach((value, index) => {\n if (value > largestValue) {\n largestValue = value;\n largest = index;\n }\n });\n return largest;\n }\n\n /** Formats a percentage to one decimal, trimming a trailing `.0`. */\n private formatPercentage(percentage: number): string {\n if (!Number.isFinite(percentage)) return '0';\n const rounded = Math.round(percentage * 10) / 10;\n return Number.isInteger(rounded) ? String(rounded) : rounded.toFixed(1);\n }\n\n /* #endregion */\n\n /* #region Text */\n\n /** The default tooltip / aria text for a segment. */\n private describeSegment(index: number): string {\n const segment = this.segments?.[index];\n const value = this.values[index] ?? 0;\n const percentage = this.formatPercentage(this.percentages[index] ?? 0);\n return `${segment?.label ?? ''}: ${value} (${percentage}%)`;\n }\n\n /** The tooltip content for a segment, honouring a per-segment override. */\n private tooltipFor(index: number): string {\n const override = this.segments?.[index]?.tooltip;\n return override && override.length > 0\n ? override\n : this.describeSegment(index);\n }\n\n /**\n * A single sentence describing the whole distribution, used as the track's\n * accessible name so screen readers get the breakdown without tabbing it.\n */\n private get accessibleSummary(): string {\n const list = Array.isArray(this.segments) ? this.segments : [];\n const parts = list.map((_, index) => this.describeSegment(index));\n const body = parts.length > 0 ? parts.join(', ') : 'No data';\n return this.label ? `${this.label}: ${body}` : body;\n }\n\n /* #endregion */\n\n /* #region Validation */\n\n override updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n if (changedProperties.has('segments') || changedProperties.has('total')) {\n this.validateConfig();\n }\n }\n\n /** Logs invalid config the way `nile-progress-bar` reports out-of-range values. */\n private validateConfig(): void {\n const list = Array.isArray(this.segments) ? this.segments : [];\n\n list.forEach((segment, index) => {\n const numeric = Number(segment?.value);\n if (!Number.isFinite(numeric)) {\n console.error(\n `[NileSegmentedProgressBar]: Invalid value (${String(\n segment?.value\n )}) detected at segment index ${index}. Value must be a finite number. Falling back to 0.`\n );\n return;\n }\n if (numeric < 0) {\n console.error(\n `[NileSegmentedProgressBar]: Invalid value (${numeric}) detected at segment index ${index}. Value must be greater than or equal to 0. Falling back to 0.`\n );\n }\n });\n\n const total = Number(this.total);\n if (this.total !== undefined && this.total !== null) {\n if (!Number.isFinite(total) || total < 0) {\n console.error(\n `[NileSegmentedProgressBar]: Invalid total (${String(\n this.total\n )}) detected. Total must be a finite number greater than or equal to 0. Falling back to the sum of the segment values.`\n );\n } else if (total < this.sum) {\n console.error(\n `[NileSegmentedProgressBar]: Invalid total (${total}) detected. Total must be greater than or equal to the sum of the segment values (${this.sum}). Falling back to the sum.`\n );\n }\n }\n }\n\n /* #endregion */\n\n /* #region Interaction */\n\n private activate(index: number): void {\n const segment = this.segments?.[index];\n if (!segment) return;\n this.emit('nile-segment-click', {\n segment,\n index,\n percentage: this.percentages[index] ?? 0,\n });\n }\n\n /**\n * `Enter` and `Space` activate a segment or legend entry. The affordances are\n * `role=\"button\"` elements rather than native buttons, so activation is wired\n * up explicitly and a key press never double-fires alongside a synthetic click.\n */\n private handleKeyDown(event: KeyboardEvent, index: number): void {\n if (\n event.key !== 'Enter' &&\n event.key !== ' ' &&\n event.key !== 'Spacebar'\n ) {\n return;\n }\n event.preventDefault();\n this.activate(index);\n }\n\n /* #endregion */\n\n /* #region Render */\n\n private renderSegment(index: number): TemplateResult | typeof nothing {\n const segment = this.segments[index];\n const percentage = this.percentages[index] ?? 0;\n if (percentage <= 0) return nothing;\n\n const isLargest = index === this.largestIndex;\n const minWidth = Math.max(0, Number(this.minSegmentWidth) || 0);\n const description = this.describeSegment(index);\n\n const bar = html`\n <div\n part=\"segment\"\n role=\"button\"\n tabindex=\"0\"\n data-index=${index}\n class=${classMap({\n 'segmented-progress-bar__segment': true,\n [`segmented-progress-bar__palette-${index % PALETTE_LENGTH}`]:\n !segment.color,\n })}\n style=${styleMap({\n flexBasis: `${percentage}%`,\n // Only the widest segment may shrink, so it soaks up every pixel the\n // min-width floors add to the row and the total stays at 100%.\n flexShrink: isLargest ? '1' : '0',\n minWidth: isLargest ? '0px' : `${minWidth}px`,\n backgroundColor: segment.color || undefined,\n })}\n aria-label=${description}\n @click=${() => this.activate(index)}\n @keydown=${(event: KeyboardEvent) => this.handleKeyDown(event, index)}\n ></div>\n `;\n\n if (!this.showTooltip) return bar;\n\n return html`\n <nile-lite-tooltip\n size=\"small\"\n content=${this.tooltipFor(index)}\n placement=${this.tooltipPlacement}\n >\n ${bar}\n </nile-lite-tooltip>\n `;\n }\n\n private renderLegendItem(index: number): TemplateResult {\n const segment = this.segments[index];\n const value = this.values[index] ?? 0;\n\n return html`\n <div\n part=\"legend-item\"\n role=\"button\"\n tabindex=\"0\"\n data-index=${index}\n class=\"segmented-progress-bar__legend-item\"\n aria-label=${this.describeSegment(index)}\n @click=${() => this.activate(index)}\n @keydown=${(event: KeyboardEvent) => this.handleKeyDown(event, index)}\n >\n <span\n part=\"legend-swatch\"\n aria-hidden=\"true\"\n class=${classMap({\n 'segmented-progress-bar__legend-swatch': true,\n [`segmented-progress-bar__palette-${index % PALETTE_LENGTH}`]:\n !segment.color,\n })}\n style=${styleMap({ backgroundColor: segment.color || undefined })}\n ></span>\n <span part=\"legend-label\" class=\"segmented-progress-bar__legend-label\"\n >${segment.label}</span\n >\n ${this.showValues\n ? html`<span\n part=\"legend-value\"\n class=\"segmented-progress-bar__legend-value\"\n >${value}</span\n >`\n : nothing}\n </div>\n `;\n }\n\n render(): TemplateResult {\n const segments = Array.isArray(this.segments) ? this.segments : [];\n\n return html`\n <div\n part=\"container\"\n class=${classMap({\n 'segmented-progress-bar': true,\n 'segmented-progress-bar--small': this.size === 'small',\n 'segmented-progress-bar--medium': this.size === 'medium',\n 'segmented-progress-bar--large': this.size === 'large',\n 'segmented-progress-bar--rounded': this.rounded,\n })}\n >\n ${this.label\n ? html`<div part=\"label\" class=\"segmented-progress-bar__label\">\n ${this.label}\n </div>`\n : nothing}\n\n <div\n part=\"bar track\"\n class=\"segmented-progress-bar__track\"\n role=\"group\"\n aria-label=${this.accessibleSummary}\n >\n ${segments.map((_, index) => this.renderSegment(index))}\n </div>\n\n ${this.showLegend\n ? html`<div part=\"legend\" class=\"segmented-progress-bar__legend\">\n ${segments.map((_, index) => this.renderLegendItem(index))}\n </div>`\n : nothing}\n </div>\n `;\n }\n\n /* #endregion */\n}\n\nexport default NileSegmentedProgressBar;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-segmented-progress-bar': NileSegmentedProgressBar;\n }\n}\n"],"names":["NileSegmentedProgressBar","d","this","segments","label","showLegend","showTooltip","showValues","size","rounded","minSegmentWidth","tooltipPlacement","_this","_inherits","_l","_createClass","key","value","sanitizeValue","numeric","Number","isFinite","get","_this2","Array","isArray","map","segment","sum","values","reduce","runningTotal","total","percentages","denominator","largest","largestValue","forEach","index","formatPercentage","percentage","Math","round","isInteger","String","toFixed","describeSegment","concat","_t$label","tooltipFor","_this$segments2","override","tooltip","length","parts","_","body","join","updated","changedProperties","super","has","validateConfig","console","error","undefined","activate","_this$segments3","_this$percentages$e2","emit","handleKeyDown","event","preventDefault","renderSegment","_this$percentages$e3","nothing","isLargest","largestIndex","minWidth","max","description","bar","html","_templateObject","_taggedTemplateLiteral","classMap","color","styleMap","flexBasis","flexShrink","backgroundColor","_templateObject2","renderLegendItem","_this$values$e2","_templateObject3","_templateObject4","render","_templateObject5","_templateObject6","accessibleSummary","_templateObject7","NileElement","styles","__decorate","property","type","prototype","reflect","Boolean","attribute","customElement"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
System.register(["lit"],function(_export,_context){"use strict";var e,_templateObject,r;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}return{setters:[function(_lit){e=_lit.css;}],execute:function execute(){_export("s",r=e(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n -webkit-font-smoothing: var(\n --nile-webkit-font-smoothing,\n var(--ng-webkit-font-smoothing)\n );\n -moz-osx-font-smoothing: var(\n --nile-moz-osx-font-smoothing,\n var(--ng-moz-osx-font-smoothing)\n );\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n display: block;\n width: 100%;\n }\n\n .segmented-progress-bar {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-sm, var(--ng-spacing-2));\n box-sizing: border-box;\n width: 100%;\n min-width: 0;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n }\n\n /* #region Label */\n\n .segmented-progress-bar__label {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-sm));\n line-height: var(--nile-type-scale-5, var(--ng-line-height-text-sm));\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n }\n\n /* #endregion */\n\n /* #region Track */\n\n .segmented-progress-bar__track {\n display: flex;\n flex-wrap: nowrap;\n align-items: stretch;\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n overflow: hidden;\n background-color: var(\n --nile-progress-bar-track-color-stroke,\n var(--ng-colors-bg-quaternary)\n );\n border-radius: var(--nile-radius-none, var(--ng-radius-none));\n height: var(--nile-height-8px, var(--ng-height-8px));\n }\n\n .segmented-progress-bar--rounded .segmented-progress-bar__track {\n border-radius: var(--nile-radius-full, var(--ng-radius-full));\n }\n\n .segmented-progress-bar--small .segmented-progress-bar__track {\n height: var(--nile-height-4px, var(--ng-height-4px));\n }\n\n .segmented-progress-bar--medium .segmented-progress-bar__track {\n height: var(--nile-height-8px, var(--ng-height-8px));\n }\n\n .segmented-progress-bar--large .segmented-progress-bar__track {\n height: var(--nile-height-12px, var(--ng-height-12px));\n }\n \n .segmented-progress-bar__track nile-lite-tooltip {\n display: contents;\n }\n\n /* #endregion */\n\n /* #region Segments */\n\n .segmented-progress-bar__segment {\n appearance: none;\n -webkit-appearance: none;\n display: block;\n padding: var(--nile-spacing-none, var(--ng-spacing-0));\n margin: var(--nile-spacing-none, var(--ng-spacing-0));\n border: none;\n border-radius: var(--nile-radius-none, var(--ng-radius-none));\n height: 100%;\n align-self: stretch;\n box-sizing: border-box;\n cursor: pointer;\n flex-grow: 0;\n transition: opacity 0.15s ease-in-out;\n }\n\n .segmented-progress-bar__segment:hover {\n opacity: 0.85;\n }\n\n .segmented-progress-bar__segment:focus-visible {\n outline: var(--nile-height-2px, var(--ng-height-2px)) solid\n var(--nile-colors-brand-600, var(--ng-colors-border-brand));\n outline-offset: var(--nile-height-1px, var(--ng-height-1px));\n }\n\n /* #endregion */\n\n .segmented-progress-bar__palette-0 {\n background-color: var(--nile-colors-green-500, var(--ng-componentcolors-utility-success-500));\n }\n\n .segmented-progress-bar__palette-1 {\n background-color: var(--nile-colors-red-500, var(--ng-componentcolors-utility-error-500));\n }\n\n .segmented-progress-bar__palette-2 {\n background-color: var(--nile-colors-orange-500, var(--ng-componentcolors-utility-orange-500));\n }\n\n .segmented-progress-bar__palette-3 {\n background-color: var(--nile-colors-blue-500, var(--ng-componentcolors-utility-blue-500));\n }\n .segmented-progress-bar__palette-4 {\n background-color: var(--nile-colors-neutral-700, var(--ng-componentcolors-utility-gray-500));\n }\n\n .segmented-progress-bar__palette-5 {\n background-color: var(--nile-colors-purple-500, var(--ng-componentcolors-utility-purple-500));\n }\n\n .segmented-progress-bar__palette-6 {\n background-color: var(--nile-colors-yellow-500, var(--ng-componentcolors-utility-warning-500));\n }\n\n .segmented-progress-bar__palette-7 {\n background-color: var(--nile-colors-pink-500, var(--ng-componentcolors-utility-pink-500));\n }\n\n .segmented-progress-bar__palette-8 {\n background-color: var(--nile-colors-indigo-500, var(--ng-componentcolors-utility-indigo-500));\n }\n\n .segmented-progress-bar__palette-9 {\n background-color: var(--nile-colors-fuchsia-500, var(--ng-componentcolors-utility-fuchsia-500));\n }\n\n /* #endregion */\n\n /* #region Legend */\n\n .segmented-progress-bar__legend {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n column-gap: var(--nile-spacing-lg, var(--ng-spacing-4));\n row-gap: var(--nile-spacing-sm, var(--ng-spacing-2));\n width: 100%;\n min-width: 0;\n margin-top: var(--nile-spacing-xs, var(--ng-spacing-1));\n }\n\n .segmented-progress-bar__legend-item {\n appearance: none;\n -webkit-appearance: none;\n display: inline-flex;\n align-items: center;\n gap: var(--nile-spacing-xs, var(--ng-spacing-2));\n padding: var(--nile-spacing-none, var(--ng-spacing-0));\n margin: var(--nile-spacing-none, var(--ng-spacing-0));\n border: none;\n background: none;\n border-radius: var(--nile-radius-xs, var(--ng-radius-xs));\n cursor: pointer;\n /* Keep swatch, label and value on one line \u2014 never break mid-entry. */\n white-space: nowrap;\n flex: 0 0 auto;\n max-width: 100%;\n font-family: inherit;\n text-align: left;\n }\n\n .segmented-progress-bar__legend-item:focus-visible {\n outline: var(--nile-height-2px, var(--ng-height-2px)) solid\n var(--nile-colors-brand-600, var(--ng-colors-border-brand));\n outline-offset: var(--nile-height-2px, var(--ng-height-2px));\n }\n\n .segmented-progress-bar__legend-swatch {\n flex: none;\n width: var(--nile-height-10px, var(--ng-height-10px));\n height: var(--nile-height-10px, var(--ng-height-10px));\n border-radius: var(--nile-radius-xxs, var(--ng-radius-xxs));\n }\n\n .segmented-progress-bar__legend-label {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-sm));\n line-height: var(--nile-type-scale-5, var(--ng-line-height-text-sm));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n color: var(--nile-colors-text-secondary, var(--ng-colors-text-secondary-700));\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .segmented-progress-bar__legend-value {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-sm));\n line-height: var(--nile-type-scale-5, var(--ng-line-height-text-sm));\n font-weight: var(--nile-font-weight-bold, var(--ng-font-weight-semibold));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n }\n\n /* #endregion */\n\n /* #region Sizes \u2014 legend scales with the bar */\n\n .segmented-progress-bar--small .segmented-progress-bar__legend-swatch {\n width: var(--nile-height-8px, var(--ng-height-8px));\n height: var(--nile-height-8px, var(--ng-height-8px));\n }\n\n .segmented-progress-bar--small .segmented-progress-bar__legend-label,\n .segmented-progress-bar--small .segmented-progress-bar__legend-value {\n font-size: var(--nile-type-scale-1, var(--ng-font-size-text-xs));\n line-height: var(--nile-type-scale-4, var(--ng-line-height-text-xs));\n }\n\n .segmented-progress-bar--large .segmented-progress-bar__legend-swatch {\n width: var(--nile-height-12px, var(--ng-height-12px));\n height: var(--nile-height-12px, var(--ng-height-12px));\n }\n\n .segmented-progress-bar--large .segmented-progress-bar__legend-label,\n .segmented-progress-bar--large .segmented-progress-bar__legend-value {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n line-height: var(--nile-type-scale-6, var(--ng-line-height-text-md));\n }\n\n /* #endregion */\n\n @media (prefers-reduced-motion: reduce) {\n .segmented-progress-bar__segment {\n transition: none;\n }\n }\n"]))));}};});
|
|
2
|
+
//# sourceMappingURL=nile-segmented-progress-bar.css.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nile-segmented-progress-bar.css.cjs.js","sources":["../../../src/nile-segmented-progress-bar/nile-segmented-progress-bar.css.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2026\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\nexport const styles = css`\n :host {\n -webkit-font-smoothing: var(\n --nile-webkit-font-smoothing,\n var(--ng-webkit-font-smoothing)\n );\n -moz-osx-font-smoothing: var(\n --nile-moz-osx-font-smoothing,\n var(--ng-moz-osx-font-smoothing)\n );\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n display: block;\n width: 100%;\n }\n\n .segmented-progress-bar {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-sm, var(--ng-spacing-2));\n box-sizing: border-box;\n width: 100%;\n min-width: 0;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n }\n\n /* #region Label */\n\n .segmented-progress-bar__label {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-sm));\n line-height: var(--nile-type-scale-5, var(--ng-line-height-text-sm));\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n }\n\n /* #endregion */\n\n /* #region Track */\n\n .segmented-progress-bar__track {\n display: flex;\n flex-wrap: nowrap;\n align-items: stretch;\n width: 100%;\n min-width: 0;\n box-sizing: border-box;\n overflow: hidden;\n background-color: var(\n --nile-progress-bar-track-color-stroke,\n var(--ng-colors-bg-quaternary)\n );\n border-radius: var(--nile-radius-none, var(--ng-radius-none));\n height: var(--nile-height-8px, var(--ng-height-8px));\n }\n\n .segmented-progress-bar--rounded .segmented-progress-bar__track {\n border-radius: var(--nile-radius-full, var(--ng-radius-full));\n }\n\n .segmented-progress-bar--small .segmented-progress-bar__track {\n height: var(--nile-height-4px, var(--ng-height-4px));\n }\n\n .segmented-progress-bar--medium .segmented-progress-bar__track {\n height: var(--nile-height-8px, var(--ng-height-8px));\n }\n\n .segmented-progress-bar--large .segmented-progress-bar__track {\n height: var(--nile-height-12px, var(--ng-height-12px));\n }\n \n .segmented-progress-bar__track nile-lite-tooltip {\n display: contents;\n }\n\n /* #endregion */\n\n /* #region Segments */\n\n .segmented-progress-bar__segment {\n appearance: none;\n -webkit-appearance: none;\n display: block;\n padding: var(--nile-spacing-none, var(--ng-spacing-0));\n margin: var(--nile-spacing-none, var(--ng-spacing-0));\n border: none;\n border-radius: var(--nile-radius-none, var(--ng-radius-none));\n height: 100%;\n align-self: stretch;\n box-sizing: border-box;\n cursor: pointer;\n flex-grow: 0;\n transition: opacity 0.15s ease-in-out;\n }\n\n .segmented-progress-bar__segment:hover {\n opacity: 0.85;\n }\n\n .segmented-progress-bar__segment:focus-visible {\n outline: var(--nile-height-2px, var(--ng-height-2px)) solid\n var(--nile-colors-brand-600, var(--ng-colors-border-brand));\n outline-offset: var(--nile-height-1px, var(--ng-height-1px));\n }\n\n /* #endregion */\n\n .segmented-progress-bar__palette-0 {\n background-color: var(--nile-colors-green-500, var(--ng-componentcolors-utility-success-500));\n }\n\n .segmented-progress-bar__palette-1 {\n background-color: var(--nile-colors-red-500, var(--ng-componentcolors-utility-error-500));\n }\n\n .segmented-progress-bar__palette-2 {\n background-color: var(--nile-colors-orange-500, var(--ng-componentcolors-utility-orange-500));\n }\n\n .segmented-progress-bar__palette-3 {\n background-color: var(--nile-colors-blue-500, var(--ng-componentcolors-utility-blue-500));\n }\n .segmented-progress-bar__palette-4 {\n background-color: var(--nile-colors-neutral-700, var(--ng-componentcolors-utility-gray-500));\n }\n\n .segmented-progress-bar__palette-5 {\n background-color: var(--nile-colors-purple-500, var(--ng-componentcolors-utility-purple-500));\n }\n\n .segmented-progress-bar__palette-6 {\n background-color: var(--nile-colors-yellow-500, var(--ng-componentcolors-utility-warning-500));\n }\n\n .segmented-progress-bar__palette-7 {\n background-color: var(--nile-colors-pink-500, var(--ng-componentcolors-utility-pink-500));\n }\n\n .segmented-progress-bar__palette-8 {\n background-color: var(--nile-colors-indigo-500, var(--ng-componentcolors-utility-indigo-500));\n }\n\n .segmented-progress-bar__palette-9 {\n background-color: var(--nile-colors-fuchsia-500, var(--ng-componentcolors-utility-fuchsia-500));\n }\n\n /* #endregion */\n\n /* #region Legend */\n\n .segmented-progress-bar__legend {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n column-gap: var(--nile-spacing-lg, var(--ng-spacing-4));\n row-gap: var(--nile-spacing-sm, var(--ng-spacing-2));\n width: 100%;\n min-width: 0;\n margin-top: var(--nile-spacing-xs, var(--ng-spacing-1));\n }\n\n .segmented-progress-bar__legend-item {\n appearance: none;\n -webkit-appearance: none;\n display: inline-flex;\n align-items: center;\n gap: var(--nile-spacing-xs, var(--ng-spacing-2));\n padding: var(--nile-spacing-none, var(--ng-spacing-0));\n margin: var(--nile-spacing-none, var(--ng-spacing-0));\n border: none;\n background: none;\n border-radius: var(--nile-radius-xs, var(--ng-radius-xs));\n cursor: pointer;\n /* Keep swatch, label and value on one line — never break mid-entry. */\n white-space: nowrap;\n flex: 0 0 auto;\n max-width: 100%;\n font-family: inherit;\n text-align: left;\n }\n\n .segmented-progress-bar__legend-item:focus-visible {\n outline: var(--nile-height-2px, var(--ng-height-2px)) solid\n var(--nile-colors-brand-600, var(--ng-colors-border-brand));\n outline-offset: var(--nile-height-2px, var(--ng-height-2px));\n }\n\n .segmented-progress-bar__legend-swatch {\n flex: none;\n width: var(--nile-height-10px, var(--ng-height-10px));\n height: var(--nile-height-10px, var(--ng-height-10px));\n border-radius: var(--nile-radius-xxs, var(--ng-radius-xxs));\n }\n\n .segmented-progress-bar__legend-label {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-sm));\n line-height: var(--nile-type-scale-5, var(--ng-line-height-text-sm));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n color: var(--nile-colors-text-secondary, var(--ng-colors-text-secondary-700));\n overflow: hidden;\n text-overflow: ellipsis;\n }\n\n .segmented-progress-bar__legend-value {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-sm));\n line-height: var(--nile-type-scale-5, var(--ng-line-height-text-sm));\n font-weight: var(--nile-font-weight-bold, var(--ng-font-weight-semibold));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n }\n\n /* #endregion */\n\n /* #region Sizes — legend scales with the bar */\n\n .segmented-progress-bar--small .segmented-progress-bar__legend-swatch {\n width: var(--nile-height-8px, var(--ng-height-8px));\n height: var(--nile-height-8px, var(--ng-height-8px));\n }\n\n .segmented-progress-bar--small .segmented-progress-bar__legend-label,\n .segmented-progress-bar--small .segmented-progress-bar__legend-value {\n font-size: var(--nile-type-scale-1, var(--ng-font-size-text-xs));\n line-height: var(--nile-type-scale-4, var(--ng-line-height-text-xs));\n }\n\n .segmented-progress-bar--large .segmented-progress-bar__legend-swatch {\n width: var(--nile-height-12px, var(--ng-height-12px));\n height: var(--nile-height-12px, var(--ng-height-12px));\n }\n\n .segmented-progress-bar--large .segmented-progress-bar__legend-label,\n .segmented-progress-bar--large .segmented-progress-bar__legend-value {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n line-height: var(--nile-type-scale-6, var(--ng-line-height-text-md));\n }\n\n /* #endregion */\n\n @media (prefers-reduced-motion: reduce) {\n .segmented-progress-bar__segment {\n transition: none;\n }\n }\n`;\n\nexport default [styles];\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTASaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
|