@aquera/nile-elements 0.1.50-beta-1.0 → 0.1.50
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 +4 -4
- package/demo/index.html +33 -150
- package/dist/axe.min-2720cd56.esm.js +1 -0
- package/dist/axe.min-69d47269.cjs.js +2 -0
- package/dist/axe.min-69d47269.cjs.js.map +1 -0
- package/dist/{fixture-372df3b0.esm.js → fixture-e7023246.esm.js} +1 -1
- package/dist/{fixture-161dee0b.cjs.js → fixture-fe6c932e.cjs.js} +2 -2
- package/dist/fixture-fe6c932e.cjs.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +10339 -0
- package/dist/internal/form.cjs.js +1 -1
- package/dist/internal/form.cjs.js.map +1 -1
- package/dist/internal/form.esm.js +1 -1
- package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
- package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
- package/dist/nile-auto-complete/index.cjs.js +1 -1
- package/dist/nile-auto-complete/index.esm.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.cjs.js +17 -1
- package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.esm.js +29 -8
- package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js.map +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.test.esm.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js +1 -1
- package/dist/nile-button/nile-button.test.esm.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
- package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
- package/dist/nile-card/nile-card.test.cjs.js +1 -1
- package/dist/nile-card/nile-card.test.esm.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
- package/dist/nile-chip/nile-chip.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
- package/dist/nile-chip/nile-chip.esm.js +1 -0
- package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
- package/dist/nile-chip/nile-chip.test.esm.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
- package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
- package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
- package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
- package/dist/nile-hero/nile-hero.test.esm.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
- package/dist/nile-icon/nile-icon.test.esm.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js +1 -1
- package/dist/nile-input/nile-input.test.esm.js +1 -1
- package/dist/nile-link/nile-link.test.cjs.js +1 -1
- package/dist/nile-link/nile-link.test.esm.js +1 -1
- package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
- package/dist/nile-loader/nile-loader.test.esm.js +1 -1
- package/dist/nile-option/nile-option.cjs.js +1 -1
- package/dist/nile-option/nile-option.cjs.js.map +1 -1
- package/dist/nile-option/nile-option.css.cjs.js +1 -1
- package/dist/nile-option/nile-option.css.cjs.js.map +1 -1
- package/dist/nile-option/nile-option.css.esm.js +1 -1
- package/dist/nile-option/nile-option.esm.js +2 -2
- 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.css.cjs.js +1 -1
- package/dist/nile-pagination/nile-pagination.css.cjs.js.map +1 -1
- package/dist/nile-pagination/nile-pagination.css.esm.js +152 -39
- package/dist/nile-pagination/nile-pagination.esm.js +118 -29
- package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
- package/dist/nile-popover/nile-popover.test.esm.js +1 -1
- package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
- package/dist/nile-popup/nile-popup.test.esm.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
- package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
- package/dist/nile-radio/nile-radio.test.esm.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
- package/dist/nile-select/index.cjs.js +1 -1
- package/dist/nile-select/index.esm.js +1 -1
- package/dist/nile-select/nile-select.cjs.js +1 -1
- package/dist/nile-select/nile-select.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.esm.js +2 -2
- package/dist/nile-select/nile-select.test.cjs.js +1 -1
- package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.test.esm.js +2 -2
- package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
- package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
- package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.js +0 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal/form.js +2 -2
- package/dist/src/internal/form.js.map +1 -1
- package/dist/src/nile-chip/nile-chip.js +1 -0
- package/dist/src/nile-chip/nile-chip.js.map +1 -1
- package/dist/src/nile-option/nile-option.css.js +1 -1
- package/dist/src/nile-option/nile-option.css.js.map +1 -1
- package/dist/src/nile-option/nile-option.d.ts +1 -5
- package/dist/src/nile-option/nile-option.js +6 -21
- package/dist/src/nile-option/nile-option.js.map +1 -1
- package/dist/src/nile-pagination/nile-pagination.css.js +151 -38
- package/dist/src/nile-pagination/nile-pagination.css.js.map +1 -1
- package/dist/src/nile-pagination/nile-pagination.d.ts +3 -0
- package/dist/src/nile-pagination/nile-pagination.js +167 -40
- package/dist/src/nile-pagination/nile-pagination.js.map +1 -1
- package/dist/src/nile-select/nile-select.d.ts +2 -11
- package/dist/src/nile-select/nile-select.js +18 -37
- package/dist/src/nile-select/nile-select.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/rollup.config.js +27 -39
- package/src/index.ts +1 -3
- package/src/internal/form.ts +2 -2
- package/src/nile-chip/nile-chip.ts +1 -0
- package/src/nile-option/nile-option.css.ts +1 -1
- package/src/nile-option/nile-option.ts +3 -17
- package/src/nile-pagination/nile-pagination.css.ts +151 -38
- package/src/nile-pagination/nile-pagination.ts +188 -46
- package/src/nile-select/nile-select.ts +9 -35
- package/vscode-html-custom-data.json +3 -230
- package/dist/axe.min-2b379f29.cjs.js +0 -12
- package/dist/axe.min-2b379f29.cjs.js.map +0 -1
- package/dist/axe.min-c2cd8733.esm.js +0 -12
- package/dist/fixture-161dee0b.cjs.js.map +0 -1
- package/dist/nile-select/virtual-scroll-helper.cjs.js +0 -2
- package/dist/nile-select/virtual-scroll-helper.cjs.js.map +0 -1
- package/dist/nile-select/virtual-scroll-helper.esm.js +0 -38
- package/dist/nile-virtual-select/index.cjs.js +0 -2
- package/dist/nile-virtual-select/index.cjs.js.map +0 -1
- package/dist/nile-virtual-select/index.esm.js +0 -1
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js +0 -2
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +0 -1
- package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +0 -2
- package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +0 -1
- package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +0 -467
- package/dist/nile-virtual-select/nile-virtual-select.esm.js +0 -227
- package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +0 -2
- package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js.map +0 -1
- package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +0 -49
- package/dist/nile-virtual-select/renderer.cjs.js +0 -2
- package/dist/nile-virtual-select/renderer.cjs.js.map +0 -1
- package/dist/nile-virtual-select/renderer.esm.js +0 -18
- package/dist/nile-virtual-select/search-manager.cjs.js +0 -2
- package/dist/nile-virtual-select/search-manager.cjs.js.map +0 -1
- package/dist/nile-virtual-select/search-manager.esm.js +0 -1
- package/dist/nile-virtual-select/selection-manager.cjs.js +0 -2
- package/dist/nile-virtual-select/selection-manager.cjs.js.map +0 -1
- package/dist/nile-virtual-select/selection-manager.esm.js +0 -1
- package/dist/nile-virtual-select/types.cjs.js +0 -2
- package/dist/nile-virtual-select/types.cjs.js.map +0 -1
- package/dist/nile-virtual-select/types.esm.js +0 -1
- package/dist/src/nile-select/virtual-scroll-helper.d.ts +0 -9
- package/dist/src/nile-select/virtual-scroll-helper.js +0 -51
- package/dist/src/nile-select/virtual-scroll-helper.js.map +0 -1
- package/dist/src/nile-virtual-select/index.d.ts +0 -1
- package/dist/src/nile-virtual-select/index.js +0 -2
- package/dist/src/nile-virtual-select/index.js.map +0 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.css.d.ts +0 -12
- package/dist/src/nile-virtual-select/nile-virtual-select.css.js +0 -479
- package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +0 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +0 -263
- package/dist/src/nile-virtual-select/nile-virtual-select.js +0 -1183
- package/dist/src/nile-virtual-select/nile-virtual-select.js.map +0 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.test.d.ts +0 -7
- package/dist/src/nile-virtual-select/nile-virtual-select.test.js +0 -341
- package/dist/src/nile-virtual-select/nile-virtual-select.test.js.map +0 -1
- package/dist/src/nile-virtual-select/renderer.d.ts +0 -11
- package/dist/src/nile-virtual-select/renderer.js +0 -51
- package/dist/src/nile-virtual-select/renderer.js.map +0 -1
- package/dist/src/nile-virtual-select/search-manager.d.ts +0 -12
- package/dist/src/nile-virtual-select/search-manager.js +0 -40
- package/dist/src/nile-virtual-select/search-manager.js.map +0 -1
- package/dist/src/nile-virtual-select/selection-manager.d.ts +0 -12
- package/dist/src/nile-virtual-select/selection-manager.js +0 -64
- package/dist/src/nile-virtual-select/selection-manager.js.map +0 -1
- package/dist/src/nile-virtual-select/types.d.ts +0 -50
- package/dist/src/nile-virtual-select/types.js +0 -8
- package/dist/src/nile-virtual-select/types.js.map +0 -1
- package/dist/virtualize-a4a40d96.esm.js +0 -22
- package/dist/virtualize-b6a2fbe0.cjs.js +0 -18
- package/dist/virtualize-b6a2fbe0.cjs.js.map +0 -1
- package/src/nile-select/virtual-scroll-helper.ts +0 -56
- package/src/nile-virtual-select/index.ts +0 -1
- package/src/nile-virtual-select/nile-virtual-select.css.ts +0 -481
- package/src/nile-virtual-select/nile-virtual-select.test.ts +0 -414
- package/src/nile-virtual-select/nile-virtual-select.ts +0 -1268
- package/src/nile-virtual-select/renderer.ts +0 -73
- package/src/nile-virtual-select/search-manager.ts +0 -50
- package/src/nile-virtual-select/selection-manager.ts +0 -75
- package/src/nile-virtual-select/types.ts +0 -54
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-option.js","sourceRoot":"","sources":["../../../src/nile-option/nile-option.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, CSSResultArray, TemplateResult } from 'lit';\nimport { styles } from './nile-option.css';\nimport '../nile-icon';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { html } from 'lit';\nimport { watch } from '../internal/watch';\nimport type { CSSResultGroup, PropertyValues } from 'lit';\nimport NileElement from '../internal/nile-element';\nimport '../nile-checkbox';\n\n/**\n * Nile icon component.\n *\n * @tag nile-option\n *\n */\n\n/**\n * @summary Options define the selectable items within various form controls such as [select](/components/select).\n * @status stable\n *\n * @dependency nile-icon\n *\n * @slot - The option's label.\n * @slot prefix - Used to prepend an icon or similar element to the menu item.\n * @slot suffix - Used to append an icon or similar element to the menu item.\n *\n * @csspart checked-icon - The checked icon, an `<nile-icon>` element.\n * @csspart base - The component's base wrapper.\n * @csspart label - The option's label.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart suffix - The container that wraps the suffix.\n */\n\n@customElement('nile-option')\nexport class NileOption extends NileElement {\n static styles: CSSResultGroup = styles;\n\n private cachedTextLabel: string;\n\n @query('.option__label') defaultSlot: HTMLSlotElement;\n\n @state() current = false; // the user has keyed into the option, but hasn't selected it yet (shows a highlight)\n @state() hasHover = false; // we need this because Safari doesn't honor :hover styles while dragging\n @state() hidden = false; // the option is hidden\n @state() isMultipleSelect = false;\n\n /**\n * The option's value. When selected, the containing form control will receive this value. The value must be unique\n * from other options in the same group. Values may not contain spaces, as spaces are used as delimiters when listing\n * multiple values.\n */\n @property({ reflect: true }) value = '';\n\n @property({ type: Boolean }) showCheckbox: boolean = false;\n\n /** Draws the option in a disabled state, preventing selection. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Forces the option to display in multiple select mode with checkboxes. */\n @property({ type: Boolean, reflect: true }) multiple = false;\n\n /** Indicates whether the option is selected. */\n @property({ type: Boolean, reflect: true }) selected = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'option');\n this.setAttribute('aria-selected', 'false');\n\n // Find the closest parent 'nile-select' or 'nile-virtual-select' element\n const parentSelect = this.closest('nile-select') || this.closest('nile-virtual-select');\n\n // Check if the parent has the 'multiple' attribute\n if (parentSelect && parentSelect.hasAttribute('multiple')) {\n let multipleValue = parentSelect.getAttribute('multiple');\n if (multipleValue !== 'false') {\n if(multipleValue === ''){\n multipleValue = 'true';\n }\n this.isMultipleSelect = Boolean(multipleValue);\n }\n }\n\n if (this.multiple) {\n this.isMultipleSelect = true;\n }\n }\n\n protected updated(_changedProperties: PropertyValues): void {\n if(_changedProperties.has('showCheckbox')) {\n this.isMultipleSelect = this.showCheckbox;\n }\n }\n\n private handleDefaultSlotChange() {\n const textLabel = this.getTextLabel();\n\n // Ignore the first time the label is set\n if (typeof this.cachedTextLabel === 'undefined') {\n this.cachedTextLabel = textLabel;\n return;\n }\n\n // When the label changes, emit a slotchange event so parent controls see it\n if (textLabel !== this.cachedTextLabel) {\n this.cachedTextLabel = textLabel;\n this.emit('slotchange');\n }\n }\n\n private handleMouseEnter() {\n this.hasHover = true;\n }\n\n private handleMouseLeave() {\n this.hasHover = false;\n }\n\n @watch('disabled')\n handleDisabledChange() {\n this.setAttribute('aria-disabled', this.disabled ? 'true' : 'false');\n }\n\n @watch('selected')\n handleSelectedChange() {\n this.setAttribute('aria-selected', this.selected ? 'true' : 'false');\n }\n\n @watch('multiple')\n handleMultipleChange() {\n this.isMultipleSelect = this.multiple;\n }\n\n @watch('value')\n handleValueChange() {\n // Ensure the value is a string. This ensures the next line doesn't error and allows framework users to pass numbers\n // instead of requiring them to cast the value to a string.\n if (typeof this.value !== 'string') {\n this.value = String(this.value);\n }\n\n // if (this.value.includes(' ')) {\n // console.error(\n // `Option values cannot include a space. All spaces have been replaced with underscores.`,\n // this\n // );\n // this.value = this.value.replace(/ /g, '_');\n // }\n }\n\n /** Returns a plain text label based on the option's content. */\n getTextLabel() {\n // Search for a label element inside the component\n const labelElement = this.querySelector('label');\n\n // If a label element is found, return its text content\n if (labelElement) {\n return labelElement.textContent?.trim() ?? '';\n }\n\n // If no label element is found, return the existing behavior\n return (this.textContent ?? '').trim();\n }\n\n render() {\n return html`\n ${!this.hidden\n ? html` <div\n part=\"base\"\n class=${classMap({\n option: true,\n 'option--single-select': !this.isMultipleSelect,\n 'option--current': this.selected && !this.isMultipleSelect,\n 'option--disabled': this.disabled,\n 'option--selected': this.selected && !this.isMultipleSelect,\n 'option--hover': this.hasHover,\n })}\n @mouseenter=${this.handleMouseEnter}\n @mouseleave=${this.handleMouseLeave}\n >\n\n ${this.isMultipleSelect ? html`<nile-checkbox class=\"option--checkbox\" .checked=${this.selected}></nile-checkbox>` : ''}\n\n <slot part=\"prefix\" name=\"prefix\" class=\"option__prefix\"></slot>\n <slot\n part=\"label\"\n class=\"option__label\"\n @slotchange=${this.handleDefaultSlotChange}\n ></slot>\n <slot part=\"suffix\" name=\"suffix\" class=\"option__suffix\"></slot>\n </div>`\n : ''}\n `;\n }\n}\n\nexport default NileOption;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-option': NileOption;\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"nile-option.js","sourceRoot":"","sources":["../../../src/nile-option/nile-option.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, CSSResultArray, TemplateResult } from 'lit';\nimport { styles } from './nile-option.css';\nimport '../nile-icon';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { html } from 'lit';\nimport { watch } from '../internal/watch';\nimport type { CSSResultGroup, PropertyValues } from 'lit';\nimport NileElement from '../internal/nile-element';\nimport '../nile-checkbox';\n\n/**\n * Nile icon component.\n *\n * @tag nile-option\n *\n */\n\n/**\n * @summary Options define the selectable items within various form controls such as [select](/components/select).\n * @status stable\n *\n * @dependency nile-icon\n *\n * @slot - The option's label.\n * @slot prefix - Used to prepend an icon or similar element to the menu item.\n * @slot suffix - Used to append an icon or similar element to the menu item.\n *\n * @csspart checked-icon - The checked icon, an `<nile-icon>` element.\n * @csspart base - The component's base wrapper.\n * @csspart label - The option's label.\n * @csspart prefix - The container that wraps the prefix.\n * @csspart suffix - The container that wraps the suffix.\n */\n\n@customElement('nile-option')\nexport class NileOption extends NileElement {\n static styles: CSSResultGroup = styles;\n\n private cachedTextLabel: string;\n\n @query('.option__label') defaultSlot: HTMLSlotElement;\n\n @state() current = false; // the user has keyed into the option, but hasn't selected it yet (shows a highlight)\n @state() selected = false; // the option is selected and has aria-selected=\"true\"\n @state() hasHover = false; // we need this because Safari doesn't honor :hover styles while dragging\n @state() hidden = false; // the option is hidden\n @state() isMultipleSelect = false;\n\n /**\n * The option's value. When selected, the containing form control will receive this value. The value must be unique\n * from other options in the same group. Values may not contain spaces, as spaces are used as delimiters when listing\n * multiple values.\n */\n @property({ reflect: true }) value = '';\n\n @property({ type: Boolean }) showCheckbox: boolean = false;\n\n /** Draws the option in a disabled state, preventing selection. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'option');\n this.setAttribute('aria-selected', 'false');\n\n // Find the closest parent 'nile-select' element\n const parentSelect = this.closest('nile-select');\n\n // Check if the parent has the 'multiple' attribute\n if (parentSelect && parentSelect.hasAttribute('multiple')) {\n let multipleValue = parentSelect.getAttribute('multiple');\n if (multipleValue !== 'false') {\n if(multipleValue === ''){\n multipleValue = 'true';\n }\n this.isMultipleSelect = Boolean(multipleValue);\n }\n }\n }\n\n protected updated(_changedProperties: PropertyValues): void {\n if(_changedProperties.has('showCheckbox')) {\n this.isMultipleSelect = this.showCheckbox;\n }\n }\n\n private handleDefaultSlotChange() {\n const textLabel = this.getTextLabel();\n\n // Ignore the first time the label is set\n if (typeof this.cachedTextLabel === 'undefined') {\n this.cachedTextLabel = textLabel;\n return;\n }\n\n // When the label changes, emit a slotchange event so parent controls see it\n if (textLabel !== this.cachedTextLabel) {\n this.cachedTextLabel = textLabel;\n this.emit('slotchange');\n }\n }\n\n private handleMouseEnter() {\n this.hasHover = true;\n }\n\n private handleMouseLeave() {\n this.hasHover = false;\n }\n\n @watch('disabled')\n handleDisabledChange() {\n this.setAttribute('aria-disabled', this.disabled ? 'true' : 'false');\n }\n\n @watch('selected')\n handleSelectedChange() {\n this.setAttribute('aria-selected', this.selected ? 'true' : 'false');\n }\n\n @watch('value')\n handleValueChange() {\n // Ensure the value is a string. This ensures the next line doesn't error and allows framework users to pass numbers\n // instead of requiring them to cast the value to a string.\n if (typeof this.value !== 'string') {\n this.value = String(this.value);\n }\n\n // if (this.value.includes(' ')) {\n // console.error(\n // `Option values cannot include a space. All spaces have been replaced with underscores.`,\n // this\n // );\n // this.value = this.value.replace(/ /g, '_');\n // }\n }\n\n /** Returns a plain text label based on the option's content. */\n getTextLabel() {\n // Search for a label element inside the component\n const labelElement = this.querySelector('label');\n\n // If a label element is found, return its text content\n if (labelElement) {\n return labelElement.textContent?.trim() ?? '';\n }\n\n // If no label element is found, return the existing behavior\n return (this.textContent ?? '').trim();\n }\n\n render() {\n return html`\n ${!this.hidden\n ? html` <div\n part=\"base\"\n class=${classMap({\n option: true,\n 'option--single-select': !this.isMultipleSelect,\n 'option--current': this.selected && !this.isMultipleSelect,\n 'option--disabled': this.disabled,\n 'option--selected': this.selected && !this.isMultipleSelect,\n 'option--hover': this.hasHover,\n })}\n @mouseenter=${this.handleMouseEnter}\n @mouseleave=${this.handleMouseLeave}\n >\n\n ${this.isMultipleSelect ? html`<nile-checkbox class=\"option--checkbox\" .checked=${this.selected}></nile-checkbox>` : ''}\n\n <slot part=\"prefix\" name=\"prefix\" class=\"option__prefix\"></slot>\n <slot\n part=\"label\"\n class=\"option__label\"\n @slotchange=${this.handleDefaultSlotChange}\n ></slot>\n <slot part=\"suffix\" name=\"suffix\" class=\"option__suffix\"></slot>\n </div>`\n : ''}\n `;\n }\n}\n\nexport default NileOption;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-option': NileOption;\n }\n}\n"]}
|
@@ -16,14 +16,10 @@ export const styles = css `
|
|
16
16
|
display: flex;
|
17
17
|
align-items: center;
|
18
18
|
justify-content: space-between;
|
19
|
-
padding: var(--nile-spacing-spacing-md) var(--nile-spacing-spacing-lg);
|
20
|
-
}
|
21
|
-
|
22
|
-
.pagination-wrapper.v2 {
|
23
|
-
justify-content: flex-start;
|
24
|
-
gap: var(--nile-spacing-spacing-lg);
|
19
|
+
padding: var(--nile-spacing-spacing-md) var(--nile-spacing-spacing-lg) ;
|
25
20
|
}
|
26
21
|
|
22
|
+
|
27
23
|
.pagination-wrapper.v2 .pager-container {
|
28
24
|
flex-direction: row;
|
29
25
|
align-items: center;
|
@@ -39,12 +35,79 @@ export const styles = css `
|
|
39
35
|
font-weight: var(--nile-font-weight-regular);
|
40
36
|
}
|
41
37
|
|
38
|
+
|
39
|
+
.pagination-wrapper.compact {
|
40
|
+
min-width: 324px;
|
41
|
+
justify-content: space-between;
|
42
|
+
}
|
43
|
+
|
44
|
+
|
45
|
+
|
46
|
+
.pagination-wrapper.compact .range-text {
|
47
|
+
margin-right: var(--nile-spacing-spacing-md);
|
48
|
+
white-space: nowrap;
|
49
|
+
}
|
50
|
+
|
51
|
+
|
52
|
+
.pagination-wrapper.compact .pager-container {
|
53
|
+
gap: var(--nile-spacing-spacing-md);
|
54
|
+
}
|
55
|
+
|
56
|
+
|
57
|
+
.pagination-wrapper.compact .pager-container {
|
58
|
+
display: flex;
|
59
|
+
align-items: center;
|
60
|
+
gap: var(--nile-spacing-spacing-md);
|
61
|
+
}
|
62
|
+
|
63
|
+
.pagination-wrapper.compact .page-size-dropdown ::part(base) {
|
64
|
+
min-width: 32px;
|
65
|
+
height: 32px;
|
66
|
+
padding: 0 6px;
|
67
|
+
}
|
68
|
+
|
69
|
+
.pagination-wrapper.compact .page-size-dropdown .chevron {
|
70
|
+
transition: transform 0.2s;
|
71
|
+
}
|
72
|
+
.pagination-wrapper.compact .page-size-dropdown .open .chevron {
|
73
|
+
transform: rotate(180deg);
|
74
|
+
}
|
75
|
+
|
76
|
+
.pagination-wrapper.compact ul.pagination:not(.compact-pagination) {
|
77
|
+
display: none;
|
78
|
+
}
|
79
|
+
|
80
|
+
.compact-pagination {
|
81
|
+
display: flex;
|
82
|
+
align-items: center;
|
83
|
+
gap: var(--nile-spacing-spacing-xs);
|
84
|
+
list-style: none;
|
85
|
+
margin: 0;
|
86
|
+
padding: 0;
|
87
|
+
}
|
88
|
+
.page-dropdown .current-page-btn {
|
89
|
+
padding: 2px;
|
90
|
+
font-size: var(--nile-font-size-small);
|
91
|
+
}
|
92
|
+
|
93
|
+
nile-button.current-page-btn::part(base){
|
94
|
+
min-width: 51px;
|
95
|
+
}
|
96
|
+
|
97
|
+
nile-button.current-page-btn::part(base):active {
|
98
|
+
min-width: 51px;
|
99
|
+
}
|
100
|
+
|
42
101
|
.pager-container {
|
43
102
|
display: flex;
|
44
103
|
align-items: center;
|
45
104
|
gap: var(--nile-spacing-spacing-3xl);
|
46
105
|
}
|
47
106
|
|
107
|
+
.pagination-wrapper.compact .pager-container {
|
108
|
+
gap: var(--nile-spacing-xxs) !important;
|
109
|
+
}
|
110
|
+
|
48
111
|
.range-text {
|
49
112
|
font-size: var(--nile-font-size-small);
|
50
113
|
color: var(--nile-colors-dark-900);
|
@@ -73,63 +136,113 @@ export const styles = css `
|
|
73
136
|
overflow-y: auto;
|
74
137
|
width: 66px;
|
75
138
|
}
|
139
|
+
.down-scroll-wrapper {
|
140
|
+
max-height: 150px;
|
141
|
+
overflow-y: auto;
|
142
|
+
width: 60px;
|
143
|
+
}
|
76
144
|
|
77
|
-
|
145
|
+
|
146
|
+
.compact-scroll-wrapper {
|
147
|
+
max-height: 160px;
|
148
|
+
overflow-y: auto;
|
149
|
+
width: 60px;
|
150
|
+
}
|
151
|
+
.compact-dropdown nile-menu {
|
152
|
+
overflow-y: auto;
|
153
|
+
padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);
|
154
|
+
box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);
|
155
|
+
}
|
156
|
+
|
157
|
+
.page-size-dropdown nile-menu {
|
78
158
|
overflow-y: auto;
|
79
159
|
padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);
|
80
160
|
box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);
|
81
161
|
}
|
82
162
|
|
83
|
-
|
163
|
+
.compact-scroll-wrapper1 {
|
164
|
+
max-height: 164px;
|
165
|
+
overflow-y: auto;
|
166
|
+
width: 60px;
|
167
|
+
}
|
84
168
|
|
85
|
-
.
|
86
|
-
max-height: 144px;
|
169
|
+
.compact-dropdown1 nile-menu {
|
87
170
|
overflow-y: auto;
|
171
|
+
padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);
|
172
|
+
box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);
|
173
|
+
}
|
174
|
+
|
175
|
+
.compact-dropdown1 nile-menu {
|
176
|
+
overflow-y: auto;
|
177
|
+
padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);
|
178
|
+
box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);
|
88
179
|
}
|
89
180
|
|
90
|
-
|
91
|
-
|
181
|
+
|
182
|
+
.ellipsis-dropdown nile-menu {
|
183
|
+
overflow-y: auto;
|
184
|
+
padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);
|
185
|
+
box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);
|
92
186
|
}
|
93
|
-
|
94
|
-
|
187
|
+
|
188
|
+
.page-size-menu {
|
189
|
+
max-height: 144px;
|
190
|
+
overflow-y: auto;
|
95
191
|
}
|
96
192
|
|
193
|
+
.pagination-wrapper.fluid ul.pagination li:first-child {
|
194
|
+
margin-right: var(--nile-spacing-spacing-xs);
|
195
|
+
}
|
196
|
+
.pagination-wrapper.fluid ul.pagination li:last-child {
|
197
|
+
margin-left: var(--nile-spacing-spacing-md);
|
198
|
+
}
|
199
|
+
|
200
|
+
|
97
201
|
.page-size-label {
|
98
202
|
font-size: var(--nile-type-scale-3);
|
99
203
|
color: var(--nile-colors-dark-500);
|
100
204
|
margin-left: var(--nile-spacing-spacing-md);
|
101
205
|
font-feature-settings: 'liga' off, 'clig' off;
|
102
|
-
font-weight: var(--nile-font-weight-regular);
|
206
|
+
font-weight: var(--nile-font-weight-regular);
|
103
207
|
}
|
104
208
|
|
105
209
|
nile-button::part(base) {
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
}
|
210
|
+
min-width: 32px;
|
211
|
+
height: 32px;
|
212
|
+
padding: 0px 6px;
|
213
|
+
box-shadow: none;
|
214
|
+
}
|
111
215
|
|
112
216
|
nile-button::part(base):active {
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
}
|
119
|
-
|
120
|
-
nile-button.down::part(base){
|
121
|
-
min-width: 62px;
|
122
|
-
|
123
|
-
}
|
124
|
-
.page-size-dropdown .chevron {
|
125
|
-
transition: transform 0.2s;
|
126
|
-
}
|
127
|
-
.page-size-dropdown .open .chevron {
|
128
|
-
transform: rotate(180deg);
|
129
|
-
}
|
130
|
-
|
217
|
+
min-width: 32px;
|
218
|
+
height: 32px;
|
219
|
+
padding: 0px 6px;
|
220
|
+
box-shadow: none;
|
221
|
+
border: none;
|
222
|
+
}
|
131
223
|
|
224
|
+
nile-button.down::part(base) {
|
225
|
+
min-width: 62px;
|
226
|
+
}
|
132
227
|
|
228
|
+
nile-button.compactbtn:part(base){
|
229
|
+
background-color: red;
|
230
|
+
}
|
231
|
+
.page-size-dropdown .chevron {
|
232
|
+
transition: transform 0.2s;
|
233
|
+
}
|
234
|
+
.page-size-dropdown .open .chevron {
|
235
|
+
transform: rotate(180deg);
|
236
|
+
}
|
237
|
+
|
238
|
+
.pagination-wrapper.compact .compact-dropdown .chevron,
|
239
|
+
.pagination-wrapper.compact .compact-dropdown1 .chevron {
|
240
|
+
transition: transform 0.2s;
|
241
|
+
}
|
242
|
+
.pagination-wrapper.compact .compact-dropdown .down.open .chevron,
|
243
|
+
.pagination-wrapper.compact .compact-dropdown1 .current-page-btn.open .chevron {
|
244
|
+
transform: rotate(180deg);
|
245
|
+
}
|
133
246
|
|
134
247
|
|
135
248
|
`;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-pagination.css.js","sourceRoot":"","sources":["../../../src/nile-pagination/nile-pagination.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA
|
1
|
+
{"version":3,"file":"nile-pagination.css.js","sourceRoot":"","sources":["../../../src/nile-pagination/nile-pagination.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6OxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","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 { css } from 'lit';\n\n/**\n * Pagination CSS\n */\nexport const styles = css`\n :host {\n }\n\n .pagination-wrapper {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--nile-spacing-spacing-md) var(--nile-spacing-spacing-lg) ;\n }\n\n \n .pagination-wrapper.v2 .pager-container {\n flex-direction: row;\n align-items: center;\n gap: var(--nile-spacing-spacing-md);\n margin-right: var(--nile-spacing-spacing-xl);\n }\n\n .pagination-wrapper.v2 .range-text {\n margin-right: var(--nile-spacing-spacing-md);\n font-size: var(--nile-font-size-small);\n color: var(--nile-colors-dark-900);\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular);\n }\n\n \n .pagination-wrapper.compact {\n min-width: 324px;\n justify-content: space-between;\n }\n\n\n\n.pagination-wrapper.compact .range-text {\n margin-right: var(--nile-spacing-spacing-md);\n white-space: nowrap;\n}\n\n\n.pagination-wrapper.compact .pager-container {\n gap: var(--nile-spacing-spacing-md);\n}\n\n\n .pagination-wrapper.compact .pager-container {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-md);\n }\n\n .pagination-wrapper.compact .page-size-dropdown ::part(base) {\n min-width: 32px;\n height: 32px;\n padding: 0 6px;\n }\n\n .pagination-wrapper.compact .page-size-dropdown .chevron {\n transition: transform 0.2s;\n }\n .pagination-wrapper.compact .page-size-dropdown .open .chevron {\n transform: rotate(180deg);\n }\n\n .pagination-wrapper.compact ul.pagination:not(.compact-pagination) {\n display: none;\n }\n\n .compact-pagination {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-xs);\n list-style: none;\n margin: 0;\n padding: 0;\n }\n .page-dropdown .current-page-btn {\n padding: 2px;\n font-size: var(--nile-font-size-small);\n }\n\n nile-button.current-page-btn::part(base){\n min-width: 51px;\n }\n\n nile-button.current-page-btn::part(base):active {\n min-width: 51px;\n}\n\n .pager-container {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-3xl);\n }\n\n.pagination-wrapper.compact .pager-container {\n gap: var(--nile-spacing-xxs) !important;\n}\n\n .range-text {\n font-size: var(--nile-font-size-small);\n color: var(--nile-colors-dark-900);\n white-space: nowrap;\n }\n\n .page-size-select {\n display: inline-flex;\n align-items: center;\n }\n\n ul.pagination {\n display: flex;\n list-style: none;\n padding: var(--nile-spacing-spacing-none);\n margin: var(--nile-spacing-spacing-none);\n gap: var(--nile-radius-radius-xxs);\n }\n\n ul.pagination li {\n margin: var(--nile-spacing-spacing-none);\n }\n\n .ellipsis-scroll-wrapper {\n max-height: 194px;\n overflow-y: auto;\n width: 66px;\n }\n .down-scroll-wrapper {\n max-height: 150px;\n overflow-y: auto;\n width: 60px;\n }\n\n\n .compact-scroll-wrapper {\n max-height: 160px;\n overflow-y: auto;\n width: 60px;\n }\n .compact-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n \n .page-size-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .compact-scroll-wrapper1 {\n max-height: 164px;\n overflow-y: auto;\n width: 60px;\n }\n\n .compact-dropdown1 nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n \n .compact-dropdown1 nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n\n .ellipsis-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg) var(--nile-spacing-spacing-none);\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .page-size-menu {\n max-height: 144px;\n overflow-y: auto;\n }\n\n.pagination-wrapper.fluid ul.pagination li:first-child {\n margin-right: var(--nile-spacing-spacing-xs);\n}\n.pagination-wrapper.fluid ul.pagination li:last-child {\n margin-left: var(--nile-spacing-spacing-md);\n}\n\n\n .page-size-label {\n font-size: var(--nile-type-scale-3);\n color: var(--nile-colors-dark-500);\n margin-left: var(--nile-spacing-spacing-md);\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular); \n }\n\n nile-button::part(base) {\n min-width: 32px;\n height: 32px;\n padding: 0px 6px;\n box-shadow: none;\n }\n\n nile-button::part(base):active {\n min-width: 32px;\n height: 32px;\n padding: 0px 6px;\n box-shadow: none;\n border: none;\n }\n\n nile-button.down::part(base) {\n min-width: 62px;\n }\n\n nile-button.compactbtn:part(base){\n background-color: red;\n }\n .page-size-dropdown .chevron {\n transition: transform 0.2s;\n }\n .page-size-dropdown .open .chevron {\n transform: rotate(180deg);\n }\n \n .pagination-wrapper.compact .compact-dropdown .chevron,\n .pagination-wrapper.compact .compact-dropdown1 .chevron {\n transition: transform 0.2s;\n }\n .pagination-wrapper.compact .compact-dropdown .down.open .chevron,\n .pagination-wrapper.compact .compact-dropdown1 .current-page-btn.open .chevron {\n transform: rotate(180deg);\n }\n\n\n`;\n\nexport default [styles];\n"]}
|
@@ -16,13 +16,16 @@ export declare class NilePagination extends NileElement {
|
|
16
16
|
disabled: boolean;
|
17
17
|
showTitle: boolean;
|
18
18
|
private _pageSizeOpen;
|
19
|
+
private _pageOpen;
|
19
20
|
private _pageSizeDropdown;
|
20
21
|
firstUpdated(): void;
|
21
22
|
private get totalPages();
|
22
23
|
private goToPage;
|
23
24
|
private onPageSizeSelect;
|
25
|
+
private renderCompactRangeText;
|
24
26
|
private renderRangeText;
|
25
27
|
private renderPageSizeSelect;
|
28
|
+
private renderCompactPageSize;
|
26
29
|
private renderPrevButton;
|
27
30
|
private renderNextButton;
|
28
31
|
private renderPageItem;
|
@@ -1,10 +1,10 @@
|
|
1
|
-
import { __decorate } from "tslib";
|
2
1
|
/**
|
3
2
|
* Copyright Aquera Inc 2025
|
4
3
|
*
|
5
4
|
* This source code is licensed under the BSD-3-Clause license found in the
|
6
5
|
* LICENSE file in the root directory of this source tree.
|
7
6
|
*/
|
7
|
+
import { __decorate } from "tslib";
|
8
8
|
import { html } from 'lit';
|
9
9
|
import { customElement, property, query, state } from 'lit/decorators.js';
|
10
10
|
import { styles } from './nile-pagination.css';
|
@@ -21,41 +21,57 @@ let NilePagination = class NilePagination extends NileElement {
|
|
21
21
|
this.disabled = false;
|
22
22
|
this.showTitle = true;
|
23
23
|
this._pageSizeOpen = false;
|
24
|
+
this._pageOpen = false;
|
24
25
|
}
|
25
26
|
static get styles() {
|
26
27
|
return [styles];
|
27
28
|
}
|
28
29
|
firstUpdated() {
|
29
|
-
this._pageSizeDropdown
|
30
|
-
this.
|
31
|
-
|
32
|
-
|
33
|
-
this.
|
34
|
-
|
30
|
+
if (this._pageSizeDropdown) {
|
31
|
+
this._pageSizeDropdown.addEventListener('nile-show', () => {
|
32
|
+
this._pageSizeOpen = true;
|
33
|
+
});
|
34
|
+
this._pageSizeDropdown.addEventListener('nile-after-hide', () => {
|
35
|
+
this._pageSizeOpen = false;
|
36
|
+
});
|
37
|
+
}
|
35
38
|
}
|
36
39
|
get totalPages() {
|
37
40
|
return Math.max(1, calculateTotalPages(this.totalItems, this.pageSize));
|
38
41
|
}
|
39
|
-
goToPage(
|
42
|
+
goToPage(newPage) {
|
40
43
|
if (this.disabled)
|
41
44
|
return;
|
42
|
-
this.currentPage
|
43
|
-
this.
|
45
|
+
const previousPage = this.currentPage;
|
46
|
+
this.currentPage = newPage;
|
47
|
+
this.emit('nile-change', { page: newPage, previousPage, pageSize: this.pageSize });
|
44
48
|
}
|
45
|
-
onPageSizeSelect(
|
46
|
-
if (this.disabled || this.pageSize ===
|
49
|
+
onPageSizeSelect(newSize) {
|
50
|
+
if (this.disabled || this.pageSize === newSize)
|
47
51
|
return;
|
48
|
-
|
52
|
+
const previousPage = this.currentPage;
|
53
|
+
this.pageSize = newSize;
|
49
54
|
this.currentPage = 1;
|
50
|
-
this.emit('nile-change', {
|
55
|
+
this.emit('nile-change', {
|
56
|
+
page: 1,
|
57
|
+
previousPage,
|
58
|
+
pageSize: newSize
|
59
|
+
});
|
60
|
+
}
|
61
|
+
renderCompactRangeText() {
|
62
|
+
const full = getRangeText(this.totalItems, this.pageSize, this.currentPage);
|
63
|
+
const trimmed = full.replace(/^Showing\s*/, '');
|
64
|
+
return html `<div class="range-text">${trimmed}</div>`;
|
51
65
|
}
|
52
66
|
renderRangeText() {
|
53
67
|
if (this.totalItems === 0) {
|
54
68
|
return html `<div class="range-text">Showing 0 of 0</div>`;
|
55
69
|
}
|
56
|
-
return html
|
57
|
-
|
58
|
-
|
70
|
+
return html `
|
71
|
+
<div part="range-text" class="range-text">
|
72
|
+
${getRangeText(this.totalItems, this.pageSize, this.currentPage)}
|
73
|
+
</div>
|
74
|
+
`;
|
59
75
|
}
|
60
76
|
renderPageSizeSelect() {
|
61
77
|
if (this.variant !== 'fluid')
|
@@ -63,24 +79,72 @@ let NilePagination = class NilePagination extends NileElement {
|
|
63
79
|
return html `
|
64
80
|
<div class="page-size-select">
|
65
81
|
<nile-dropdown class="page-size-dropdown" ?disabled=${this.disabled}>
|
66
|
-
<nile-button
|
82
|
+
<nile-button
|
83
|
+
slot="trigger"
|
84
|
+
variant="tertiary"
|
85
|
+
class="down ${this._pageSizeOpen ? 'open' : ''}"
|
67
86
|
?disabled=${this.disabled}
|
68
87
|
>
|
69
88
|
${this.pageSize}
|
70
|
-
<nile-icon
|
89
|
+
<nile-icon
|
90
|
+
name="chevrondown"
|
91
|
+
size="14"
|
92
|
+
color="var(--nile-colors-dark-500)"
|
93
|
+
class="chevron"
|
94
|
+
></nile-icon>
|
71
95
|
</nile-button>
|
72
|
-
<nile-menu
|
96
|
+
<nile-menu>
|
97
|
+
<div class="down-scroll-wrapper">
|
98
|
+
${this.pageSizeOptions.map(size => html `
|
99
|
+
<nile-menu-item
|
100
|
+
?disabled=${this.disabled}
|
101
|
+
@click=${() => this.onPageSizeSelect(size)}
|
102
|
+
>
|
103
|
+
${size}
|
104
|
+
</nile-menu-item>
|
105
|
+
`)}
|
106
|
+
</div>
|
107
|
+
</nile-menu>
|
108
|
+
</nile-dropdown>
|
109
|
+
<span part="pagesize-label" class="page-size-label">Items per page</span>
|
110
|
+
</div>
|
111
|
+
`;
|
112
|
+
}
|
113
|
+
renderCompactPageSize() {
|
114
|
+
return html `
|
115
|
+
<nile-dropdown
|
116
|
+
class="compact-dropdown"
|
117
|
+
?disabled=${this.disabled}
|
118
|
+
@nile-show=${() => (this._pageSizeOpen = true)}
|
119
|
+
@nile-after-hide=${() => (this._pageSizeOpen = false)}
|
120
|
+
>
|
121
|
+
<nile-button
|
122
|
+
slot="trigger"
|
123
|
+
variant="tertiary"
|
124
|
+
class="down ${this._pageSizeOpen ? 'open' : ''}"
|
125
|
+
?disabled=${this.disabled}
|
126
|
+
>
|
127
|
+
${this.pageSize}
|
128
|
+
<nile-icon
|
129
|
+
name="chevrondown"
|
130
|
+
size="14"
|
131
|
+
color="var(--nile-colors-dark-500)"
|
132
|
+
class="chevron"
|
133
|
+
></nile-icon>
|
134
|
+
</nile-button>
|
135
|
+
<nile-menu>
|
136
|
+
<div class="compact-scroll-wrapper">
|
73
137
|
${this.pageSizeOptions.map(size => html `
|
74
138
|
<nile-menu-item
|
75
139
|
?disabled=${this.disabled}
|
76
140
|
@click=${() => this.onPageSizeSelect(size)}
|
77
141
|
>
|
78
142
|
${size}
|
79
|
-
</nile-menu-item
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
</
|
143
|
+
</nile-menu-item>
|
144
|
+
`)}
|
145
|
+
</div>
|
146
|
+
</nile-menu>
|
147
|
+
</nile-dropdown>
|
84
148
|
`;
|
85
149
|
}
|
86
150
|
renderPrevButton() {
|
@@ -125,7 +189,8 @@ let NilePagination = class NilePagination extends NileElement {
|
|
125
189
|
@click=${() => this.goToPage(page)}
|
126
190
|
>
|
127
191
|
${page}
|
128
|
-
</nile-menu-item
|
192
|
+
</nile-menu-item>
|
193
|
+
`)}
|
129
194
|
</div>
|
130
195
|
</nile-menu>
|
131
196
|
</nile-dropdown>
|
@@ -145,10 +210,54 @@ let NilePagination = class NilePagination extends NileElement {
|
|
145
210
|
`;
|
146
211
|
}
|
147
212
|
renderPageList() {
|
213
|
+
if (this.variant === 'compact') {
|
214
|
+
return html `
|
215
|
+
<nav aria-label="Pagination">
|
216
|
+
<ul class="pagination compact-pagination">
|
217
|
+
${this.renderPrevButton()}
|
218
|
+
<li>
|
219
|
+
<nile-dropdown
|
220
|
+
class="compact-dropdown1"
|
221
|
+
?disabled=${this.disabled}
|
222
|
+
@nile-show=${() => (this._pageOpen = true)}
|
223
|
+
@nile-after-hide=${() => (this._pageOpen = false)}
|
224
|
+
>
|
225
|
+
<nile-button
|
226
|
+
slot="trigger"
|
227
|
+
variant="tertiary"
|
228
|
+
class="current-page-btn ${this._pageOpen ? 'open' : ''}"
|
229
|
+
?disabled=${this.disabled}
|
230
|
+
>
|
231
|
+
${this.currentPage}
|
232
|
+
<nile-icon
|
233
|
+
name="chevrondown"
|
234
|
+
size="14"
|
235
|
+
class="chevron"
|
236
|
+
></nile-icon>
|
237
|
+
</nile-button>
|
238
|
+
<nile-menu>
|
239
|
+
<div class="compact-scroll-wrapper1">
|
240
|
+
${Array.from({ length: this.totalPages }, (_, i) => i + 1).map(p => html `
|
241
|
+
<nile-menu-item
|
242
|
+
?disabled=${this.disabled}
|
243
|
+
@click=${() => this.goToPage(p)}
|
244
|
+
>
|
245
|
+
${p}
|
246
|
+
</nile-menu-item>
|
247
|
+
`)}
|
248
|
+
</div>
|
249
|
+
</nile-menu>
|
250
|
+
</nile-dropdown>
|
251
|
+
</li>
|
252
|
+
${this.renderNextButton()}
|
253
|
+
</ul>
|
254
|
+
</nav>
|
255
|
+
`;
|
256
|
+
}
|
148
257
|
const items = getPaginationItems(this.totalPages, this.currentPage);
|
149
258
|
return html `
|
150
259
|
<nav aria-label="Pagination">
|
151
|
-
<ul class="pagination">
|
260
|
+
<ul part="page-list" class="pagination">
|
152
261
|
${this.renderPrevButton()}
|
153
262
|
${items.map((item, idx) => this.renderPageItem(item, idx, items))}
|
154
263
|
${this.renderNextButton()}
|
@@ -158,33 +267,48 @@ let NilePagination = class NilePagination extends NileElement {
|
|
158
267
|
}
|
159
268
|
render() {
|
160
269
|
return html `
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
270
|
+
<div part="wrapper" class="pagination-wrapper ${this.variant}">
|
271
|
+
<div part="pager-container" class="pager-container">
|
272
|
+
${this.variant === 'fluid' && this.showTitle
|
273
|
+
? this.renderRangeText()
|
274
|
+
: this.variant === 'compact'
|
275
|
+
? this.renderCompactRangeText()
|
276
|
+
: null}
|
277
|
+
${this.variant === 'fluid'
|
278
|
+
? this.renderPageSizeSelect()
|
279
|
+
: this.renderCompactPageSize()}
|
167
280
|
</div>
|
168
|
-
|
281
|
+
${this.renderPageList()}
|
282
|
+
</div>
|
283
|
+
`;
|
169
284
|
}
|
170
285
|
};
|
171
286
|
__decorate([
|
172
|
-
property({ attribute: 'totalitems', reflect: true, converter: {
|
287
|
+
property({ attribute: 'totalitems', reflect: true, converter: {
|
288
|
+
fromAttribute: (v) => {
|
173
289
|
const n = Number(v);
|
174
290
|
return Number.isFinite(n) && n >= 0 ? Math.floor(n) : 0;
|
175
|
-
}
|
291
|
+
},
|
292
|
+
},
|
293
|
+
})
|
176
294
|
], NilePagination.prototype, "totalItems", void 0);
|
177
295
|
__decorate([
|
178
|
-
property({ attribute: 'currentpage', reflect: true, converter: {
|
296
|
+
property({ attribute: 'currentpage', reflect: true, converter: {
|
297
|
+
fromAttribute: (v) => {
|
179
298
|
const n = Number(v);
|
180
299
|
return Number.isFinite(n) && n >= 1 ? Math.floor(n) : 1;
|
181
|
-
}
|
300
|
+
},
|
301
|
+
},
|
302
|
+
})
|
182
303
|
], NilePagination.prototype, "currentPage", void 0);
|
183
304
|
__decorate([
|
184
|
-
property({ attribute: 'pagesize', reflect: true, converter: {
|
305
|
+
property({ attribute: 'pagesize', reflect: true, converter: {
|
306
|
+
fromAttribute: (v) => {
|
185
307
|
const n = Number(v);
|
186
308
|
return Number.isFinite(n) && n >= 1 ? Math.floor(n) : 50;
|
187
|
-
}
|
309
|
+
},
|
310
|
+
},
|
311
|
+
})
|
188
312
|
], NilePagination.prototype, "pageSize", void 0);
|
189
313
|
__decorate([
|
190
314
|
property({ attribute: 'pagesizeoptions', reflect: false, converter: { fromAttribute: (v) => {
|
@@ -210,6 +334,9 @@ __decorate([
|
|
210
334
|
__decorate([
|
211
335
|
state()
|
212
336
|
], NilePagination.prototype, "_pageSizeOpen", void 0);
|
337
|
+
__decorate([
|
338
|
+
state()
|
339
|
+
], NilePagination.prototype, "_pageOpen", void 0);
|
213
340
|
__decorate([
|
214
341
|
query('.page-size-dropdown')
|
215
342
|
], NilePagination.prototype, "_pageSizeDropdown", void 0);
|