@aquera/nile-elements 0.1.75-beta-1.2 → 0.1.75-beta-1.3
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/demo/index.html +5 -17
- package/dist/index.js +35 -16
- 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-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 +1 -1
- package/dist/nile-select/virtual-scroll-helper.cjs.js +1 -1
- package/dist/nile-select/virtual-scroll-helper.cjs.js.map +1 -1
- package/dist/nile-select/virtual-scroll-helper.esm.js +1 -0
- package/dist/nile-virtual-select/index.cjs.js +1 -1
- package/dist/nile-virtual-select/index.esm.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +14 -0
- package/dist/nile-virtual-select/nile-virtual-select.esm.js +15 -11
- package/dist/nile-virtual-select/renderer.cjs.js +1 -1
- package/dist/nile-virtual-select/renderer.cjs.js.map +1 -1
- package/dist/nile-virtual-select/renderer.esm.js +10 -10
- package/dist/nile-virtual-select/selection-manager.cjs.js +1 -1
- package/dist/nile-virtual-select/selection-manager.cjs.js.map +1 -1
- package/dist/nile-virtual-select/selection-manager.esm.js +1 -1
- package/dist/src/nile-select/nile-select.d.ts +2 -0
- package/dist/src/nile-select/nile-select.js +5 -0
- package/dist/src/nile-select/nile-select.js.map +1 -1
- package/dist/src/nile-select/virtual-scroll-helper.js +1 -0
- package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.css.js +14 -0
- package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +1 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +8 -0
- package/dist/src/nile-virtual-select/nile-virtual-select.js +38 -15
- package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
- package/dist/src/nile-virtual-select/renderer.d.ts +1 -1
- package/dist/src/nile-virtual-select/renderer.js +4 -4
- package/dist/src/nile-virtual-select/renderer.js.map +1 -1
- package/dist/src/nile-virtual-select/selection-manager.js +1 -1
- package/dist/src/nile-virtual-select/selection-manager.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/nile-select/nile-select.ts +3 -0
- package/src/nile-select/virtual-scroll-helper.ts +1 -0
- package/src/nile-virtual-select/nile-virtual-select.css.ts +14 -0
- package/src/nile-virtual-select/nile-virtual-select.ts +38 -17
- package/src/nile-virtual-select/renderer.ts +4 -4
- package/src/nile-virtual-select/selection-manager.ts +1 -1
- package/vscode-html-custom-data.json +7 -226
- package/src/nile-virtual-select/temp_nile-virtual-select copy.ts +0 -1398
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-virtual-select.cjs.js","sources":["../../../src/nile-virtual-select/nile-virtual-select.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 {\n LitElement,\n html,\n} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-virtual-select.css';\n\nimport '../nile-icon';\nimport '../nile-popup/nile-popup';\nimport '../nile-tag/nile-tag';\nimport '../nile-checkbox/nile-checkbox';\nimport { animateTo, stopAnimations } from '../internal/animate';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query, state } from 'lit/decorators.js';\nimport { defaultValue } from '../internal/default-value';\nimport { FormControlController } from '../internal/form';\nimport {\n getAnimation,\n setDefaultAnimation,\n} from '../utilities/animation-registry';\nimport { HasSlotController } from '../internal/slot';\nimport { waitForEvent } from '../internal/event';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';\nimport type { NileFormControl } from '../internal/nile-element';\nimport type NileOption from '../nile-option/nile-option';\nimport type NilePopup from '../nile-popup/nile-popup';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport type { VirtualOption, NileRemoveEvent, RenderItemConfig } from './types.js';\nimport { VirtualSelectSelectionManager } from './selection-manager.js';\nimport { VirtualSelectSearchManager } from './search-manager.js';\nimport { VirtualSelectRenderer } from './renderer.js';\n\n/**\n * Nile Virtual Select component.\n *\n * @tag nile-virtual-select\n *\n */\n\n/**\n * @summary Virtual select component for handling large datasets with virtual scrolling.\n * @status stable\n * @since 2.0\n *\n * @dependency nile-icon\n * @dependency nile-popup\n * @dependency nile-tag\n * @dependency nile-checkbox\n *\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the combobox.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot expand-icon - The icon to show when the control is expanded and collapsed.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @event nile-change - Emitted when the control's value changes.\n * @event nile-clear - Emitted when the control's value is cleared.\n * @event nile-input - Emitted when the control receives input.\n * @event nile-focus - Emitted when the control gains focus.\n * @event nile-blur - Emitted when the control loses focus.\n * @event nile-show - Emitted when the select's menu opens.\n * @event nile-after-show - Emitted after the select's menu opens and all animations are complete.\n * @event nile-hide - Emitted when the select's menu closes.\n * @event nile-after-hide - Emitted after the select's menu closes and all animations are complete.\n * @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n * @event nile-search - Emitted when the user types in the search input. The event payload includes the search query for backend search functionality.\n * @event nile-scroll - Emitted when the user scrolls within the virtualized container. The event payload includes scroll position information.\n * @event nile-scroll-start - Emitted when the user starts scrolling within the virtualized container.\n * @event nile-scroll-end - Emitted when the user stops scrolling and reaches the bottom of the virtualized container (debounced).\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The select's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart combobox - The container the wraps the prefix, combobox, clear icon, and expand button.\n * @csspart prefix - The container that wraps the prefix slot.\n * @csspart display-input - The element that displays the selected option's label, an `<input>` element.\n * @csspart listbox - The listbox container where options are slotted.\n * @csspart tags - The container that houses option tags when `multiple` is used.\n * @csspart tag - The individual tags that represent each multiselect option.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n * @csspart footer - The footer container with show selected and clear all options.\n */\n\n@customElement('nile-virtual-select')\nexport class NileVirtualSelect extends NileElement implements NileFormControl {\n static styles: CSSResultGroup = styles;\n\n private readonly formControlController = new FormControlController(this, {\n assumeInteractionOn: ['nile-blur', 'nile-input'],\n });\n private readonly hasSlotController = new HasSlotController(\n this,\n 'help-text',\n 'label'\n );\n\n @query('.select') popup: NilePopup;\n @query('.select__display-input') displayInput: HTMLInputElement;\n @query('.select__value-input') valueInput: HTMLInputElement;\n @query('.virtualized') virtualizedContainer: HTMLElement;\n\n @state() private hasFocus = false;\n @state() displayLabel = '';\n @state() selectedOptions: VirtualOption[] = [];\n @state() oldValue: string | string[] = '';\n \n private scrollTimeout: number | undefined;\n private scrolling = false;\n\n /** The name of the select, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /** Array of all option items for virtual scrolling */\n @property({ type: Array }) data: any = [];\n\n /** Original unfiltered option items for search functionality */\n @state() private originalOptionItems: any = [];\n\n /**\n * The current value of the select. When `multiple` is enabled, the value will be an array of selected values.\n */\n @property({\n converter: {\n fromAttribute: (value: string) => value.split(' '),\n toAttribute: (value: string[]) => value.join(' '),\n },\n })\n value: string | string[] = '';\n\n /** The default value of the form control. Primarily used for resetting the form control. */\n @defaultValue() defaultValue: string | string[] = '';\n\n /** The select's size. */\n @property() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Placeholder text to show as a hint when the select is empty. */\n @property() placeholder = 'Select...';\n\n /** Current search value */\n @state() searchValue: string = '';\n\n /** Enable search functionality */\n @property({ type: Boolean, reflect: true }) searchEnabled = false;\n\n /** Search input placeholder */\n @property({attribute:'internal-search-placeholder'}) internalSearchPlaceHolder = 'Search...';\n\n /** Disable local search filtering */\n @property({ type: Boolean, reflect: true }) disableLocalSearch = false;\n\n /** Show loading state */\n @property({ type: Boolean, reflect: true }) optionsLoading = false;\n\n /** Allows more than one option to be selected. */\n @property({ type: Boolean, reflect: true }) multiple = false;\n\n /** Help text */\n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n\n /** Error message */\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n /** Sets the input to a warning state */\n @property({ type: Boolean }) warning = false;\n\n /** Sets the input to an error state */\n @property({ type: Boolean }) error = false;\n\n /** Sets the input to a success state */\n @property({ type: Boolean }) success = false;\n\n /** Disables the select control. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Adds a clear button when the select is not empty. */\n @property({ type: Boolean, reflect: true }) clearable = false;\n\n /** The select's open state. */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /**\n * Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n */\n @property({ type: Boolean }) hoist = false;\n\n /** Draws a filled select. */\n @property({ type: Boolean, reflect: true }) filled = false;\n\n /** Draws a pill-style select with rounded edges. */\n @property({ type: Boolean, reflect: true }) pill = false;\n\n /** The select's label. If you need to display HTML, use the `label` slot instead. */\n @property() label = '';\n\n /**\n * The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\n * inside of the viewport.\n */\n @property({ reflect: true }) placement: 'top' | 'bottom' = 'bottom';\n\n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n\n /** The select's required attribute. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** Show no results message */\n @property({ type: Boolean }) showNoResults: boolean = false;\n\n /** No results message */\n @property({ type: String }) noResultsMessage: string = 'No results found';\n\n /** Show selected options only */\n @property({ type: Boolean }) showSelected = false;\n\n /** Enhanced configuration for rendering items with support for display text, value, and search text */\n @property({ attribute:false}) renderItemConfig?: RenderItemConfig;\n\n /** Block value change events */\n @property({ type: Boolean, reflect: true }) blockValueChange = false;\n\n /** Disable width synchronization */\n @property({ type: Boolean, reflect: true }) noWidthSync = false;\n\n /**\n * The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\n * indicate the number of additional items that are selected. Set to 0 to remove the limit.\n */\n @property({ attribute: 'max-options-visible', type: Number })\n maxOptionsVisible = 3;\n\n @state() oldMaxOptionsVisible: number = 1;\n\n /** Gets the validity state object */\n get validity() {\n return this.valueInput?.validity;\n }\n\n /** Gets the validation message */\n get validationMessage() {\n return this.valueInput?.validationMessage ?? '';\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.initializeComponent();\n this.setupEventListeners();\n \n this.updateComplete.then(() => {\n if (this.value && this.data.length > 0) {\n this.selectionChanged();\n }\n });\n }\n\n disconnectedCallback() {\n this.removeOpenListeners();\n // Clear any pending scroll timeout to prevent memory leaks\n if (this.scrollTimeout) {\n clearTimeout(this.scrollTimeout);\n this.scrollTimeout = undefined;\n }\n }\n\n protected updated(changedProperties: PropertyValues): void {\n if(changedProperties.has('value')) {\n this.selectionChanged();\n }\n }\n\n private initializeComponent(): void {\n this.open = false;\n this.emit('nile-init');\n }\n\n /**\n * Get display text for an item using renderItemConfig\n */\n private getDisplayText(item: any): string {\n if (this.renderItemConfig?.getDisplayText) {\n return this.renderItemConfig.getDisplayText(item);\n }\n // Fallback to basic display\n return item?.label || item?.name || item?.toString() || '';\n }\n\n /**\n * Get value for an item using renderItemConfig or fallback to item.value\n */\n private getItemValue(item: any): string {\n if (this.renderItemConfig?.getValue) {\n return this.renderItemConfig.getValue(item);\n }\n return item?.value || item;\n }\n\n /**\n * Get search text for an item using renderItemConfig or fallback to display text\n */\n private getSearchText(item: any): string {\n if (this.renderItemConfig?.getSearchText) {\n return this.renderItemConfig.getSearchText(item);\n }\n return this.getDisplayText(item);\n }\n\n private setupEventListeners(): void {\n this.handleDocumentFocusIn = this.handleDocumentFocusIn.bind(this);\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);\n this.handleWindowError = this.handleWindowError.bind(this);\n }\n\n private addOpenListeners(): void {\n document.addEventListener('focusin', this.handleDocumentFocusIn);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n window.addEventListener('error', this.handleWindowError);\n }\n\n private removeOpenListeners(): void {\n document.removeEventListener('focusin', this.handleDocumentFocusIn);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n window.removeEventListener('error', this.handleWindowError);\n }\n\n private handleFocus(): void {\n this.hasFocus = true;\n this.emit('nile-focus');\n }\n\n private handleBlur(): void {\n this.hasFocus = false;\n this.emit('nile-blur');\n }\n\n private handleDocumentFocusIn(event: FocusEvent): void {\n if (!this.open) return; \n const path = event.composedPath(); \n const hitSelf = path.includes(this);\n const hitPopup = this.popup && path.includes(this.popup);\n\n if (!hitSelf && !hitPopup) {\n this.hide();\n }\n }\n\n private handleDocumentKeyDown(event: KeyboardEvent): void {\n if (this.shouldIgnoreKeyPress(event)) {\n return;\n }\n\n if (this.isEscapeKey(event)) {\n this.handleEscapeKey(event);\n }\n\n if (this.isEnterOrSpaceKey(event)) {\n this.handleEnterOrSpaceKey(event);\n }\n }\n\n private shouldIgnoreKeyPress(event: KeyboardEvent): boolean {\n const target = event.target as HTMLElement;\n const isClearButton = target.closest('.select__clear') !== null;\n const isIconButton = target.closest('nile-icon-button') !== null;\n return isClearButton || isIconButton;\n }\n\n private isEscapeKey(event: KeyboardEvent): boolean {\n return event.key === 'Escape' && this.open;\n }\n\n private handleEscapeKey(event: KeyboardEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n\n private isEnterOrSpaceKey(event: KeyboardEvent): boolean {\n return event.key === 'Enter' || event.key === ' ';\n }\n\n private handleEnterOrSpaceKey(event: KeyboardEvent): void {\n event.preventDefault();\n event.stopImmediatePropagation();\n\n if (!this.open) {\n this.show();\n return;\n }\n\n if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n\n private handleDocumentMouseDown = (event: MouseEvent): void => {\n if (!this.open) return; \n \n const path = event.composedPath();\n const hitSelf = path.includes(this);\n const hitPopup = this.popup && path.includes(this.popup);\n \n if (!hitSelf && !hitPopup) {\n this.hide();\n }\n };\n\n private handleWindowError = (event: ErrorEvent): void => {\n const errorMessage = event.error?.message || event.message || '';\n if (errorMessage.includes('Cannot read properties of null (reading \\'insertBefore\\')')) {\n event.preventDefault();\n return;\n }\n };\n\n private handleFooterClick(event: MouseEvent): void {\n event.stopPropagation();\n event.preventDefault();\n }\n\n private toggleShowSelected(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n if (this.selectedOptions?.length === 0) {\n return;\n }\n this.showSelected = !this.showSelected;\n\n if (this.showSelected) {\n const selectedValues = Array.isArray(this.value) ? this.value : [this.value];\n this.data = this.originalOptionItems.filter((item: any) => \n selectedValues.includes(item.value)\n );\n } else {\n this.data = [...this.originalOptionItems];\n }\n\n this.requestUpdate();\n this.resetScrollPosition();\n }\n\n private unSelectAll(): void {\n this.showSelected = false;\n this.value = this.multiple ? [] : '';\n this.data = [...this.originalOptionItems];\n this.selectionChanged();\n this.emit('nile-change', { value: this.value, name: this.name });\n this.emit('nile-clear', { value: this.multiple ? this.value : '', name: this.name });\n this.resetScrollPosition();\n }\n\n private handleLabelClick(): void {\n this.displayInput.focus();\n this.hide();\n }\n\n private handleComboboxMouseDown(event: MouseEvent): void {\n if (this.shouldIgnoreComboboxClick(event)) {\n return;\n }\n\n event.preventDefault();\n this.displayInput.focus({ preventScroll: true });\n this.open = !this.open;\n }\n\n private shouldIgnoreComboboxClick(event: MouseEvent): boolean {\n const path = event.composedPath();\n const isIconButton = path.some(\n el =>\n el instanceof Element && el.tagName.toLowerCase() === 'nile-icon-button'\n );\n return this.disabled || isIconButton;\n }\n\n private handleComboboxKeyDown(event: KeyboardEvent): void {\n if (this.isEnterOrSpaceKey(event)) {\n event.preventDefault();\n this.open = !this.open;\n }\n }\n\n private handleClearClick(event: MouseEvent): void {\n event.stopPropagation();\n this.clearSelection();\n }\n\n private clearSelection(): void {\n const oldValue = this.value;\n this.value = this.multiple ? [] : '';\n this.selectionChanged();\n\n this.updateComplete.then(() => {\n this.nileInput({ value: this.value, name: this.name });\n this.nileChange({ value: this.value, name: this.name });\n this.emit('nile-clear');\n });\n }\n\n private handleClearMouseDown(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n private handleOptionClick(event: MouseEvent): void {\n const target = event.target as HTMLElement;\n const option = target.closest('nile-option');\n\n if (this.shouldBlockValueChange(option)) {\n return;\n }\n\n const oldValue = this.value;\n this.oldValue = oldValue;\n\n if (option && !option.disabled) {\n this.handleOptionSelection(option);\n }\n }\n\n private shouldBlockValueChange(option: Element | null): boolean {\n if (this.blockValueChange && option) {\n this.emit('nile-block-change', { value: (option as any)?.value, name: this.name });\n this.hide();\n return true;\n }\n return false;\n }\n\n private handleOptionSelection(option: Element): void {\n const optionValue = (option as any).value;\n \n if (this.multiple) {\n this.toggleOptionSelection(optionValue);\n } else {\n this.setSelectedOptions(optionValue);\n }\n\n this.updateComplete.then(() =>\n this.displayInput.focus({ preventScroll: true })\n );\n\n if (this.value !== this.oldValue) {\n this.updateComplete.then(() => {\n this.nileInput({ value: this.value, name: this.name });\n this.nileChange({ value: this.value, name: this.name });\n });\n }\n\n if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n\n private setSelectedOptions(optionValue: string): void {\n this.value = optionValue;\n this.selectionChanged();\n }\n\n private toggleOptionSelection(optionValue: string): void {\n const currentValues = Array.isArray(this.value) ? this.value : [];\n \n if (currentValues.includes(optionValue)) {\n this.value = currentValues.filter(v => v !== optionValue);\n } else {\n this.value = [...currentValues, optionValue];\n }\n \n this.selectionChanged();\n }\n\n private handleTagRemove(event: NileRemoveEvent, option: VirtualOption): void {\n event.stopPropagation();\n\n if (!this.disabled) {\n this.removeTagFromSelection(option);\n this.emitTagRemovalEvent(option);\n }\n }\n\n private removeTagFromSelection(option: VirtualOption): void {\n let currentValue = this.value;\n if (!Array.isArray(currentValue)) {\n currentValue = currentValue ? [currentValue] : [];\n }\n const newValue = currentValue.filter((v: string) => v !== option.value);\n this.value = newValue;\n this.selectionChanged();\n }\n\n private emitTagRemovalEvent(option: VirtualOption): void {\n this.updateComplete.then(() => {\n this.nileInput({ value: this.value, name: this.name });\n this.nileChange({ value: this.value, name: this.name });\n this.emit('nile-tag-remove', { value: this.value, name: this.name, removedtagvalue: option.value });\n });\n }\n\n private selectionChanged(): void {\n const itemsToSearch = this.originalOptionItems.length > 0 ? this.originalOptionItems : this.data;\n this.selectedOptions = VirtualSelectSelectionManager.createVirtualOptionsFromValues(\n this.value, \n itemsToSearch, \n this.getDisplayText.bind(this),\n this.renderItemConfig?.getValue\n );\n\n if (this.multiple) {\n if (this.placeholder && this.value.length === 0) {\n this.displayLabel = '';\n } else {\n this.displayLabel = this.selectedOptions.length + ' selected';\n }\n } else {\n const currentValue = Array.isArray(this.value) ? this.value[0] : this.value;\n const label = this.selectedOptions[0]?.getTextLabel();\n this.displayLabel = label ? label : currentValue ?? '';\n }\n\n this.updateValidity();\n\n if (this.selectedOptions.length === 0) {\n this.showSelected = false;\n }\n\n this.calculateTotalWidthOfTags();\n }\n\n handleSearchFocus(): void {\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchBlur(): void {\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchChange(e: any): void {\n this.searchValue = e.detail.value;\n \n this.emit('nile-search', { \n query: this.searchValue,\n name: this.name \n });\n \n if (!this.disableLocalSearch) {\n this.filterVirtualOptions(this.searchValue);\n this.resetScrollPosition();\n }\n }\n\n handleScroll(e: Event): void {\n if(this.showSelected) {\n return;\n }\n\n const target = e.target as HTMLElement;\n \n this.emit('nile-scroll', {\n scrollTop: target.scrollTop,\n scrollLeft: target.scrollLeft,\n name: this.name\n });\n\n if (!this.scrolling) {\n this.scrolling = true;\n this.emit('nile-scroll-start', {\n scrollTop: target.scrollTop,\n scrollLeft: target.scrollLeft,\n name: this.name\n });\n }\n\n clearTimeout(this.scrollTimeout);\n this.scrollTimeout = window.setTimeout(() => {\n if (this.scrolling) {\n this.scrolling = false;\n }\n }, 300);\n\n const isAtBottom = Math.ceil(target.scrollTop) >= Math.floor(target.scrollHeight - target.offsetHeight);\n if (isAtBottom) {\n this.emit('nile-scroll-end', {\n scrollTop: target.scrollTop,\n scrollLeft: target.scrollLeft,\n name: this.name,\n isAtBottom: true\n });\n }\n }\n\n filterVirtualOptions(searchValue: string): void {\n const result = VirtualSelectSearchManager.filterVirtualOptions(\n searchValue,\n this.originalOptionItems,\n this.data,\n this.getDisplayText.bind(this),\n this.renderItemConfig?.getSearchText\n );\n\n this.data = result.filteredItems;\n this.showNoResults = result.showNoResults;\n this.showSelected = false;\n this.requestUpdate();\n }\n\n private handleInvalid(event: Event): void {\n this.formControlController.setValidity(false);\n this.formControlController.emitInvalidEvent(event);\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange(): void {\n if (this.disabled) {\n this.open = false;\n this.handleOpenChange();\n }\n }\n\n @watch('value', { waitUntilFirstUpdate: true })\n handleValueChange(): void {\n this.selectionChanged();\n this.requestUpdate();\n }\n\n @watch('data', { waitUntilFirstUpdate: true })\n handleDataChange(): void {\n if (this.data.length > 0 && this.open && !this.showSelected) {\n this.originalOptionItems = [...this.data];\n }\n \n this.selectionChanged();\n if (!this.optionsLoading && this.data.length === 0) {\n this.showNoResults = true;\n } else if (this.data.length > 0) {\n this.showNoResults = false;\n }\n this.requestUpdate();\n }\n\n @watch('renderItemConfig', { waitUntilFirstUpdate: true })\n handleRenderItemConfigChange(): void {\n if (this.value && this.data.length > 0) {\n this.selectionChanged();\n this.requestUpdate();\n }\n }\n\n @watch('optionsLoading', { waitUntilFirstUpdate: true })\n handleOptionsLoadingChange(): void {\n // Show no results message when loading stops and there are no results\n if (!this.optionsLoading && this.data.length === 0) {\n this.showNoResults = true;\n }\n this.requestUpdate();\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange(): Promise<void> {\n if (this.open && !this.disabled) {\n await this.handleOpen();\n } else {\n await this.handleClose();\n }\n }\n\n private async handleOpen(): Promise<void> {\n this.emit('nile-show', { value: this.value, name: this.name });\n this.addOpenListeners();\n this.showNoResults = !this.data?.length;\n\n await stopAnimations(this);\n this.popup.active = true;\n\n const { keyframes, options } = getAnimation(this, 'select.show', {\n dir: 'ltr',\n });\n await animateTo(this.popup.popup, keyframes, options);\n\n this.initializeOriginalItems();\n this.filterVirtualOptions(this.searchValue);\n this.resetScrollPosition();\n this.emit('nile-after-show', { value: this.value, name: this.name });\n }\n\n private async handleClose(): Promise<void> {\n this.emit('nile-hide', { value: this.value, name: this.name });\n this.removeOpenListeners();\n\n await stopAnimations(this);\n const { keyframes, options } = getAnimation(this, 'select.hide', {\n dir: 'ltr',\n });\n await animateTo(this.popup.popup, keyframes, options);\n this.popup.active = false;\n\n this.searchValue = '';\n this.emit('nile-after-hide', { value: this.value, name: this.name });\n }\n\n private initializeOriginalItems(): void {\n if (this.data.length > 0) {\n this.originalOptionItems = [...this.data];\n }\n }\n\n async show(): Promise<unknown> {\n if (this.open || this.disabled) {\n this.open = false;\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, 'nile-after-show');\n }\n\n async hide(): Promise<unknown> {\n if (!this.open || this.disabled) {\n this.open = false;\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, 'nile-after-hide');\n }\n\n checkValidity(): boolean {\n return this.valueInput.checkValidity();\n }\n\n getForm(): HTMLFormElement | null {\n return this.formControlController.getForm();\n }\n\n reportValidity(): boolean {\n return this.valueInput.reportValidity();\n }\n\n setCustomValidity(message: string): void {\n this.valueInput.setCustomValidity(message);\n this.formControlController.updateValidity();\n }\n\n focus(options?: FocusOptions): void {\n this.displayInput.focus(options);\n }\n\n blur(): void {\n this.displayInput.blur();\n }\n\n onInputChange(event: Event): void {\n event.stopPropagation();\n }\n\n render(): TemplateResult {\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasLabelSuffixSlot = this.hasSlotController.test('label-suffix');\n const hasCustomSelect = this.hasSlotController.test('custom-select');\n const hasLabel = this.label ? true : !!hasLabelSlot;\n const hasClearIcon =\n this.clearable && !this.disabled && this.value.length > 0;\n const isPlaceholderVisible = !!this.placeholder && this.value.length === 0;\n const hasHelpText = !!this.helpText;\n const hasErrorMessage = !!this.errorMessage;\n\n return html`\n <div\n part=\"form-control\"\n class=${classMap({\n 'form-control': true,\n 'form-control--small': this.size === 'small',\n 'form-control--medium': this.size === 'medium',\n 'form-control--large': this.size === 'large',\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText,\n })}\n >\n ${this.renderLabel(hasLabel, hasLabelSuffixSlot)}\n ${this.renderFormControlInput(hasCustomSelect, hasClearIcon, isPlaceholderVisible, hasHelpText, hasErrorMessage)}\n </div>\n `;\n }\n\n private renderLabel(hasLabel: boolean, hasLabelSuffixSlot: boolean): TemplateResult {\n return html`\n <label\n id=\"label\"\n part=\"form-control-label\"\n class=\"form-control__label\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n @click=${this.handleLabelClick}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n ${hasLabelSuffixSlot ? html` <slot name=\"label-suffix\"></slot> ` : ``}\n `;\n }\n\n private renderFormControlInput(\n hasCustomSelect: boolean, \n hasClearIcon: boolean, \n isPlaceholderVisible: boolean, \n hasHelpText: boolean, \n hasErrorMessage: boolean\n ): TemplateResult {\n return html`\n <div part=\"form-control-input\" class=\"form-control-input\">\n ${this.renderPopup(hasCustomSelect, hasClearIcon, isPlaceholderVisible)}\n ${this.renderHelpText(hasHelpText, hasErrorMessage)}\n </div>\n `;\n }\n\n private renderPopup(hasCustomSelect: boolean, hasClearIcon: boolean, isPlaceholderVisible: boolean): TemplateResult {\n return html`\n <nile-popup\n class=${classMap({\n select: true,\n 'select--warning': this.warning,\n 'select--error': this.error,\n 'select--success': this.success,\n 'select--standard': true,\n 'select--filled': this.filled,\n 'select--pill': this.pill,\n 'select--open': this.open,\n 'select--disabled': this.disabled,\n 'select--multiple': this.multiple,\n 'select--focused': this.hasFocus,\n 'select--placeholder-visible': isPlaceholderVisible,\n 'select--top': this.placement === 'top',\n 'select--bottom': this.placement === 'bottom',\n 'select--small': this.size === 'small',\n 'select--medium': this.size === 'medium',\n 'select--large': this.size === 'large',\n })}\n placement=${this.placement}\n strategy=${this.hoist ? 'fixed' : 'absolute'}\n distance=\"6\"\n flip\n shift\n sync=${ifDefined(!this.noWidthSync ? 'width' : undefined)}\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n >\n ${this.renderCustomSelect(hasCustomSelect)}\n ${this.renderCombobox(hasCustomSelect, hasClearIcon)}\n ${this.renderListbox()}\n </nile-popup>\n `;\n }\n\n private renderCustomSelect(hasCustomSelect: boolean): TemplateResult {\n return hasCustomSelect\n ? html`<slot\n slot=\"anchor\"\n name=\"custom-select\"\n class=\"custom-select\"\n @keydown=${this.handleComboboxKeyDown}\n @mousedown=${this.handleComboboxMouseDown}\n ></slot>`\n : html``;\n }\n\n private renderCombobox(hasCustomSelect: boolean, hasClearIcon: boolean): TemplateResult {\n return html`\n <div\n part=\"combobox\"\n class=${classMap({\n select__combobox: true,\n 'select__hide-default': hasCustomSelect,\n })}\n slot=\"anchor\"\n @keydown=${this.handleComboboxKeyDown}\n @mousedown=${this.handleComboboxMouseDown}\n >\n ${this.renderPrefix()}\n ${this.renderDisplayInput()}\n ${this.renderTags()}\n ${this.renderValueInput()}\n ${this.renderClearButton(hasClearIcon)}\n ${this.renderSuffix()}\n ${this.renderExpandIcon()}\n </div>\n `;\n }\n\n private renderPrefix(): TemplateResult {\n return html`\n <slot\n part=\"prefix\"\n name=\"prefix\"\n class=${classMap({\n select__prefix: true,\n multiple: this.multiple,\n })}\n ></slot>\n `;\n }\n\n private renderDisplayInput(): TemplateResult {\n return html`\n <input\n part=\"display-input\"\n class=\"select__display-input\"\n type=\"text\"\n placeholder=${this.placeholder}\n .disabled=${this.disabled}\n .value=${this.displayLabel}\n autocomplete=\"off\"\n spellcheck=\"false\"\n autocapitalize=\"off\"\n readonly\n aria-controls=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-haspopup=\"listbox\"\n aria-labelledby=\"label\"\n aria-disabled=${this.disabled ? 'true' : 'false'}\n aria-describedby=\"help-text\"\n role=\"combobox\"\n tabindex=\"0\"\n />\n `;\n }\n\n private renderTags(): TemplateResult {\n return this.multiple\n ? html`\n <div part=\"tags\" class=\"select__tags\">\n ${this.selectedOptions.map((option, index) => {\n if (\n index < this.maxOptionsVisible ||\n this.maxOptionsVisible <= 0\n ) {\n const classes = {\n select__invisible:\n index + 1 > this.oldMaxOptionsVisible &&\n this.maxOptionsVisible === Infinity,\n };\n return html`\n <nile-tag\n class=${classMap(classes)}\n part=\"tag\"\n exportparts=\"\n base:tag__base,\n content:tag__content,\n remove-button:tag__remove-button,\n remove-button__base:tag__remove-button__base\n \"\n ?pill=${this.pill}\n size=${this.size}\n removable\n @nile-remove=${(event: NileRemoveEvent) =>\n this.handleTagRemove(event, option)}\n >\n ${option.getTextLabel()}\n </nile-tag>\n `;\n } else if (index === this.maxOptionsVisible) {\n return html`\n <span class=\"select__tags-count\"\n >+${this.selectedOptions.length - index} More\n </span>\n `;\n } else {\n return null;\n }\n })}\n </div>\n `\n : html``;\n }\n\n private renderValueInput(): TemplateResult {\n return html`\n <input\n class=\"select__value-input\"\n type=\"text\"\n ?disabled=${this.disabled}\n ?required=${this.required}\n .value=${Array.isArray(this.value)\n ? this.value.join(', ')\n : this.value}\n tabindex=\"-1\"\n aria-hidden=\"true\"\n @focus=${() => this.focus()}\n @invalid=${this.handleInvalid}\n />\n `;\n }\n\n private renderClearButton(hasClearIcon: boolean): TemplateResult {\n return hasClearIcon\n ? html`\n <button\n part=\"clear-button\"\n class=\"select__clear\"\n type=\"button\"\n aria-label=\"clearEntry\"\n @mousedown=${this.handleClearMouseDown}\n @click=${this.handleClearClick}\n tabindex=\"-1\"\n >\n <slot name=\"clear-icon\">\n <nile-icon name=\"close\" library=\"system\"></nile-icon>\n </slot>\n </button>\n `\n : html``;\n }\n\n private renderSuffix(): TemplateResult {\n return html`\n <slot\n part=\"suffix\"\n name=\"suffix\"\n class=${classMap({\n select__suffix: true,\n })}\n ></slot>\n `;\n }\n\n private renderExpandIcon(): TemplateResult {\n return html`\n <slot\n name=\"expand-icon\"\n part=\"expand-icon\"\n class=\"select__expand-icon\"\n >\n <nile-icon library=\"system\" name=\"arrowdown\"></nile-icon>\n </slot>\n `;\n }\n\n private renderListbox(): TemplateResult {\n return html`\n <div\n id=\"listbox\"\n role=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-multiselectable=${this.multiple ? 'true' : 'false'}\n aria-labelledby=\"label\"\n part=\"listbox\"\n class=\"select__listbox ${this.searchEnabled\n ? 'select__search-enabled '\n : ''}\"\n tabindex=\"-1\"\n @mouseup=${this.handleOptionClick}\n >\n ${this.renderSearch()}\n ${this.renderLoader()}\n ${this.getVirtualizedContent()}\n ${this.renderFooter()}\n </div>\n `;\n }\n\n private renderSearch(): TemplateResult {\n return this.searchEnabled\n ? html`\n <div part=\"search\" class=\"select__search\">\n <nile-input\n size=\"small\"\n clearable\n .value=${this.searchValue}\n placeholder=\"${this.internalSearchPlaceHolder}\"\n @nile-input=${this.handleSearchChange}\n @nile-focus=${this.handleSearchFocus}\n @nile-change=\"${this.onInputChange}\"\n >\n <nile-icon name=\"search\" slot=\"suffix\"> </nile-icon>\n </nile-input>\n </div>\n `\n : html``;\n }\n\n private renderLoader(): TemplateResult {\n return this.optionsLoading\n ? html`\n <span part=\"loader\" class=\"select__loader\">\n <nile-icon\n class=\"select__loader--icon\"\n name=\"button-loading-blue\"\n ></nile-icon>\n </span>\n `\n : html``;\n }\n\n private renderFooter(): TemplateResult {\n return this.multiple\n ? html`\n <div\n part=\"footer\"\n class=\"select__footer\"\n @click=\"${this.handleFooterClick}\"\n >\n <span\n @click=\"${this.toggleShowSelected}\"\n style=\"cursor: pointer;\"\n >\n <nile-checkbox\n ?disabled=\"${this.selectedOptions.length === 0}\"\n ?checked=\"${this.showSelected}\"\n >\n Show Selected</nile-checkbox\n >\n </span>\n ${this.selectedOptions.length !== 0\n ? html`\n <span\n class=\"select__clear\"\n @click=\"${this.unSelectAll}\"\n >\n Clear All\n </span>\n `\n : ``}\n </div>\n `\n : html``;\n }\n\n private renderHelpText(hasHelpText: boolean, hasErrorMessage: boolean): TemplateResult {\n return html`\n ${hasHelpText\n ? html` <nile-form-help-text>${this.helpText}</nile-form-help-text> `\n : ``}\n ${hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``}\n `;\n }\n\n getVirtualizedContent(): TemplateResult {\n return VirtualSelectRenderer.getVirtualizedContent(\n this.data,\n this.searchEnabled,\n this.getDisplayText.bind(this),\n this.value,\n this.multiple,\n this.renderItemConfig?.getDisplayText,\n this.renderItemConfig?.getValue,\n this.showNoResults,\n this.noResultsMessage,\n this.optionsLoading,\n this.handleScroll.bind(this)\n );\n }\n\n nileInput(value: any): void {\n this.emit('nile-input', value);\n }\n\n nileChange(value: any): void {\n this.emit('nile-change', value);\n }\n\n private updateValidity(): void {\n this.updateComplete.then(() => {\n this.formControlController.updateValidity();\n });\n }\n\n private calculateWidthOfSelectTagsDiv(): number | null {\n if (this.shadowRoot) {\n const selectTagsDiv = this.shadowRoot.querySelector('.select__tags') as HTMLElement;\n if (selectTagsDiv) {\n const width = selectTagsDiv.offsetWidth;\n return width - 70;\n }\n }\n return null;\n }\n\n private calculateTotalWidthOfTags(): void {\n if (this.maxOptionsVisible !== Infinity) {\n this.oldMaxOptionsVisible = this.maxOptionsVisible;\n }\n\n this.maxOptionsVisible = Infinity;\n setTimeout(() => {\n let widths: number[] = [];\n if (this.shadowRoot) {\n const tags = this.shadowRoot.querySelectorAll('nile-tag');\n tags.forEach(tag => {\n if (tag instanceof HTMLElement) {\n widths.push(tag.offsetWidth);\n }\n });\n }\n if (this.value.length !== widths.length) {\n return;\n }\n\n let sum = widths.reduce(\n (accumulator, currentValue) => accumulator + currentValue,\n 0\n );\n const widthOfSelectTagsDiv = this.calculateWidthOfSelectTagsDiv();\n if (!widthOfSelectTagsDiv) {\n return;\n }\n\n let summ = 0;\n let lastindex = 0;\n\n for (let i = 0; i < widths.length; i++) {\n summ += widths[i];\n\n if (summ > widthOfSelectTagsDiv) {\n lastindex = i;\n break;\n }\n }\n this.maxOptionsVisible = lastindex;\n }, 1);\n }\n\n private resetScrollPosition(): void {\n this.updateComplete.then(() => {\n if (this.virtualizedContainer && this.virtualizedContainer.isConnected) {\n this.virtualizedContainer.scrollTop = 0;\n \n const listbox = this.shadowRoot?.querySelector('.select__listbox') as HTMLElement;\n if (listbox && listbox.isConnected) {\n listbox.scrollTop = 0;\n }\n \n const virtualizer = this.virtualizedContainer.querySelector('lit-virtualizer') as HTMLElement;\n if (virtualizer && virtualizer.isConnected) {\n virtualizer.scrollTop = 0;\n }\n }\n });\n }\n}\n\nsetDefaultAnimation('select.show', {\n keyframes: [\n { opacity: 0, scale: 0.9 },\n { opacity: 1, scale: 1 },\n ],\n options: { duration: 100, easing: 'ease' },\n});\n\nsetDefaultAnimation('select.hide', {\n keyframes: [\n { opacity: 1, scale: 1 },\n { opacity: 0, scale: 0.9 },\n ],\n options: { duration: 100, easing: 'ease' },\n});\n\nexport default NileVirtualSelect;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-virtual-select': NileVirtualSelect;\n }\n}\n"],"names":["NileVirtualSelect","x","constructor","this","formControlController","FormControlController","assumeInteractionOn","hasSlotController","HasSlotController","hasFocus","displayLabel","selectedOptions","oldValue","scrolling","name","data","originalOptionItems","value","defaultValue","size","placeholder","searchValue","searchEnabled","internalSearchPlaceHolder","disableLocalSearch","optionsLoading","multiple","helpText","errorMessage","warning","error","success","disabled","clearable","open","hoist","filled","pill","label","placement","form","required","showNoResults","noResultsMessage","showSelected","blockValueChange","noWidthSync","maxOptionsVisible","oldMaxOptionsVisible","handleDocumentMouseDown","event","path","composedPath","hitSelf","includes","hitPopup","popup","hide","handleWindowError","message","preventDefault","_this","_inherits","_u","_createClass","key","get","validity","_this$valueInput","valueInput","_this$valueInput$vali","_this$valueInput2","validationMessage","connectedCallback","super","initializeComponent","setupEventListeners","updateComplete","then","length","selectionChanged","disconnectedCallback","removeOpenListeners","scrollTimeout","clearTimeout","undefined","updated","changedProperties","has","emit","getDisplayText","item","_this$renderItemConfi","renderItemConfig","toString","getItemValue","_this$renderItemConfi2","getValue","getSearchText","handleDocumentFocusIn","bind","handleDocumentKeyDown","addOpenListeners","document","addEventListener","window","removeEventListener","handleFocus","handleBlur","shouldIgnoreKeyPress","isEscapeKey","handleEscapeKey","isEnterOrSpaceKey","handleEnterOrSpaceKey","target","isClearButton","closest","isIconButton","stopPropagation","displayInput","focus","preventScroll","stopImmediatePropagation","show","handleFooterClick","toggleShowSelected","_this$selectedOptions","selectedValues","Array","isArray","filter","requestUpdate","resetScrollPosition","unSelectAll","handleLabelClick","handleComboboxMouseDown","shouldIgnoreComboboxClick","some","el","Element","tagName","toLowerCase","handleComboboxKeyDown","handleClearClick","clearSelection","nileInput","nileChange","handleClearMouseDown","handleOptionClick","option","shouldBlockValueChange","handleOptionSelection","optionValue","toggleOptionSelection","setSelectedOptions","currentValues","v","concat","_toConsumableArray","handleTagRemove","removeTagFromSelection","emitTagRemovalEvent","currentValue","newValue","removedtagvalue","_this$renderItemConfi4","itemsToSearch","VirtualSelectSelectionManager","createVirtualOptionsFromValues","_this$selectedOptions2","getTextLabel","updateValidity","calculateTotalWidthOfTags","handleSearchFocus","handleSearchBlur","handleSearchChange","e","detail","query","filterVirtualOptions","handleScroll","_this6","scrollTop","scrollLeft","setTimeout","Math","ceil","floor","scrollHeight","offsetHeight","isAtBottom","_this$renderItemConfi5","result","VirtualSelectSearchManager","filteredItems","handleInvalid","setValidity","emitInvalidEvent","handleDisabledChange","handleOpenChange","handleValueChange","handleDataChange","handleRenderItemConfigChange","handleOptionsLoadingChange","_handleOpenChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context2","prev","next","handleOpen","handleClose","stop","_callee2","_this$data","_h","i","s","_callee2$","_context3","stopAnimations","active","getAnimation","dir","keyframes","options","animateTo","initializeOriginalItems","_callee3","_h2","_callee3$","_context4","_show","_callee4","_callee4$","_context5","waitForEvent","_callee5","_callee5$","_context6","checkValidity","getForm","reportValidity","setCustomValidity","blur","onInputChange","render","hasLabelSlot","test","hasLabelSuffixSlot","hasCustomSelect","hasLabel","hasClearIcon","isPlaceholderVisible","hasHelpText","hasErrorMessage","html","_templateObject","_taggedTemplateLiteral","classMap","renderLabel","renderFormControlInput","_templateObject2","_templateObject3","_templateObject4","renderPopup","renderHelpText","_templateObject5","select","ifDefined","renderCustomSelect","renderCombobox","renderListbox","_templateObject6","_templateObject7","_templateObject8","select__combobox","renderPrefix","renderDisplayInput","renderTags","renderValueInput","renderClearButton","renderSuffix","renderExpandIcon","_templateObject9","select__prefix","_templateObject10","_templateObject11","map","index","classes","select__invisible","Infinity","_templateObject12","_templateObject13","_templateObject14","_templateObject15","join","_templateObject16","_templateObject17","_templateObject18","select__suffix","_templateObject19","_templateObject20","renderSearch","renderLoader","getVirtualizedContent","renderFooter","_templateObject21","_templateObject22","_templateObject23","_templateObject24","_templateObject25","_templateObject26","_templateObject27","_templateObject28","_templateObject29","_templateObject30","_this$renderItemConfi6","_this$renderItemConfi7","VirtualSelectRenderer","calculateWidthOfSelectTagsDiv","shadowRoot","selectTagsDiv","querySelector","offsetWidth","widths","querySelectorAll","forEach","tag","HTMLElement","push","widthOfSelectTagsDiv","summ","lastindex","virtualizedContainer","isConnected","_this11$shadowRoot","listbox","virtualizer","NileElement","styles","__decorate","prototype","state","property","type","converter","fromAttribute","split","toAttribute","Boolean","reflect","attribute","String","Number","watch","waitUntilFirstUpdate","customElement","setDefaultAnimation","opacity","scale","duration","easing"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"nile-virtual-select.cjs.js","sources":["../../../src/nile-virtual-select/nile-virtual-select.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 {\n LitElement,\n html,\n} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-virtual-select.css';\n\nimport '../nile-icon';\nimport '../nile-popup/nile-popup';\nimport '../nile-tag/nile-tag';\nimport '../nile-checkbox/nile-checkbox';\nimport '../nile-loader/nile-loader';\nimport { animateTo, stopAnimations } from '../internal/animate';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query, state } from 'lit/decorators.js';\nimport { defaultValue } from '../internal/default-value';\nimport { FormControlController } from '../internal/form';\nimport {\n getAnimation,\n setDefaultAnimation,\n} from '../utilities/animation-registry';\nimport { HasSlotController } from '../internal/slot';\nimport { waitForEvent } from '../internal/event';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';\nimport type { NileFormControl } from '../internal/nile-element';\nimport type NileOption from '../nile-option/nile-option';\nimport type NilePopup from '../nile-popup/nile-popup';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport type { VirtualOption, NileRemoveEvent, RenderItemConfig } from './types.js';\nimport { VirtualSelectSelectionManager } from './selection-manager.js';\nimport { VirtualSelectSearchManager } from './search-manager.js';\nimport { VirtualSelectRenderer } from './renderer.js';\n\n/**\n * Nile Virtual Select component.\n *\n * @tag nile-virtual-select\n *\n */\n\n/**\n * @summary Virtual select component for handling large datasets with virtual scrolling.\n * @status stable\n * @since 2.0\n *\n * @dependency nile-icon\n * @dependency nile-popup\n * @dependency nile-tag\n * @dependency nile-checkbox\n *\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the combobox.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot expand-icon - The icon to show when the control is expanded and collapsed.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @event nile-change - Emitted when the control's value changes.\n * @event nile-clear - Emitted when the control's value is cleared.\n * @event nile-input - Emitted when the control receives input.\n * @event nile-focus - Emitted when the control gains focus.\n * @event nile-blur - Emitted when the control loses focus.\n * @event nile-show - Emitted when the select's menu opens.\n * @event nile-after-show - Emitted after the select's menu opens and all animations are complete.\n * @event nile-hide - Emitted when the select's menu closes.\n * @event nile-after-hide - Emitted after the select's menu closes and all animations are complete.\n * @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n * @event nile-search - Emitted when the user types in the search input. The event payload includes the search query for backend search functionality.\n * @event nile-scroll - Emitted when the user scrolls within the virtualized container. The event payload includes scroll position information.\n * @event nile-scroll-start - Emitted when the user starts scrolling within the virtualized container.\n * @event nile-scroll-end - Emitted when the user stops scrolling and reaches the bottom of the virtualized container (debounced).\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The select's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart combobox - The container the wraps the prefix, combobox, clear icon, and expand button.\n * @csspart prefix - The container that wraps the prefix slot.\n * @csspart display-input - The element that displays the selected option's label, an `<input>` element.\n * @csspart listbox - The listbox container where options are slotted.\n * @csspart tags - The container that houses option tags when `multiple` is used.\n * @csspart tag - The individual tags that represent each multiselect option.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n * @csspart footer - The footer container with show selected and clear all options.\n */\n\n@customElement('nile-virtual-select')\nexport class NileVirtualSelect extends NileElement implements NileFormControl {\n static styles: CSSResultGroup = styles;\n\n private readonly formControlController = new FormControlController(this, {\n assumeInteractionOn: ['nile-blur', 'nile-input'],\n });\n private readonly hasSlotController = new HasSlotController(\n this,\n 'help-text',\n 'label'\n );\n\n @query('.select') popup: NilePopup;\n @query('.select__display-input') displayInput: HTMLInputElement;\n @query('.select__value-input') valueInput: HTMLInputElement;\n @query('.virtualized') virtualizedContainer: HTMLElement;\n\n @state() private hasFocus = false;\n @state() displayLabel = '';\n @state() selectedOptions: VirtualOption[] = [];\n @state() oldValue: string | string[] = '';\n \n private scrollTimeout: number | undefined;\n private scrolling = false;\n\n /** The name of the select, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /** Array of all option items for virtual scrolling */\n @property({ type: Array }) data: any = [];\n\n /** Original unfiltered option items for search functionality */\n @state() private originalOptionItems: any = [];\n\n /**\n * The current value of the select. When `multiple` is enabled, the value will be an array of selected values.\n */\n @property({\n converter: {\n fromAttribute: (value: string) => value.split(' '),\n toAttribute: (value: string[]) => value.join(' '),\n },\n })\n value: string | string[] = '';\n\n /** The default value of the form control. Primarily used for resetting the form control. */\n @defaultValue() defaultValue: string | string[] = '';\n\n /** The select's size. */\n @property() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Placeholder text to show as a hint when the select is empty. */\n @property() placeholder = 'Select...';\n\n /** Current search value */\n @state() searchValue: string = '';\n\n /** Enable search functionality */\n @property({ type: Boolean, reflect: true }) searchEnabled = false;\n\n /** Search input placeholder */\n @property({attribute:'internal-search-placeholder'}) internalSearchPlaceHolder = 'Search...';\n\n /** Disable local search filtering */\n @property({ type: Boolean, reflect: true }) disableLocalSearch = false;\n\n /** Show loading state */\n @property({ type: Boolean, reflect: true }) optionsLoading = false;\n\n /** Show loading state using nile-loader */\n @property({ type: Boolean, reflect: true, attribute: true }) loading = false;\n\n /** Allows more than one option to be selected. */\n @property({ type: Boolean, reflect: true }) multiple = false;\n\n /** Help text */\n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n\n /** Error message */\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n /** Sets the input to a warning state */\n @property({ type: Boolean }) warning = false;\n\n /** Sets the input to an error state */\n @property({ type: Boolean }) error = false;\n\n /** Sets the input to a success state */\n @property({ type: Boolean }) success = false;\n\n /** Disables the select control. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Adds a clear button when the select is not empty. */\n @property({ type: Boolean, reflect: true }) clearable = false;\n\n /** The select's open state. */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /**\n * Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n */\n @property({ type: Boolean }) hoist = false;\n\n /** Draws a filled select. */\n @property({ type: Boolean, reflect: true }) filled = false;\n\n /** Draws a pill-style select with rounded edges. */\n @property({ type: Boolean, reflect: true }) pill = false;\n\n /** The select's label. If you need to display HTML, use the `label` slot instead. */\n @property() label = '';\n\n /**\n * The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\n * inside of the viewport.\n */\n @property({ reflect: true }) placement: 'top' | 'bottom' = 'bottom';\n\n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n\n /** The select's required attribute. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** Show no results message */\n @property({ type: Boolean }) showNoResults: boolean = false;\n\n /** No results message */\n @property({ type: String }) noResultsMessage: string = 'No results found';\n\n /** Show selected options only */\n @property({ type: Boolean }) showSelected = false;\n\n /** Enhanced configuration for rendering items with support for display text, value, and search text */\n @property({ attribute:false}) renderItemConfig?: RenderItemConfig;\n\n /** Block value change events */\n @property({ type: Boolean, reflect: true }) blockValueChange = false;\n\n /** Disable width synchronization */\n @property({ type: Boolean, reflect: true }) noWidthSync = false;\n\n /**\n * The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\n * indicate the number of additional items that are selected. Set to 0 to remove the limit.\n */\n @property({ attribute: 'max-options-visible', type: Number })\n maxOptionsVisible = 3;\n\n @state() oldMaxOptionsVisible: number = 1;\n\n /** Gets the validity state object */\n get validity() {\n return this.valueInput?.validity;\n }\n\n /** Gets the validation message */\n get validationMessage() {\n return this.valueInput?.validationMessage ?? '';\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.initializeComponent();\n this.setupEventListeners();\n \n this.updateComplete.then(() => {\n if (this.value && this.data.length > 0) {\n this.selectionChanged();\n }\n });\n }\n\n disconnectedCallback() {\n this.removeOpenListeners();\n // Clear any pending scroll timeout to prevent memory leaks\n if (this.scrollTimeout) {\n clearTimeout(this.scrollTimeout);\n this.scrollTimeout = undefined;\n }\n }\n\n protected updated(changedProperties: PropertyValues): void {\n if(changedProperties.has('value')) {\n this.selectionChanged();\n }\n }\n\n private initializeComponent(): void {\n this.open = false;\n this.emit('nile-init');\n }\n\n /**\n * Get display text for an item using renderItemConfig\n */\n private getDisplayText(item: any): string {\n if (this.renderItemConfig?.getDisplayText) {\n return this.renderItemConfig.getDisplayText(item);\n }\n // Fallback to basic display\n return item?.label || item?.name || item?.toString() || '';\n }\n\n /**\n * Get value for an item using renderItemConfig or fallback to item.value\n */\n private getItemValue(item: any): string {\n if (this.renderItemConfig?.getValue) {\n return this.renderItemConfig.getValue(item);\n }\n return item?.value || item;\n }\n\n /**\n * Get search text for an item using renderItemConfig or fallback to display text\n */\n private getSearchText(item: any): string {\n if (this.renderItemConfig?.getSearchText) {\n return this.renderItemConfig.getSearchText(item);\n }\n return this.getDisplayText(item);\n }\n\n private setupEventListeners(): void {\n this.handleDocumentFocusIn = this.handleDocumentFocusIn.bind(this);\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);\n this.handleWindowError = this.handleWindowError.bind(this);\n }\n\n private addOpenListeners(): void {\n document.addEventListener('focusin', this.handleDocumentFocusIn);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n window.addEventListener('error', this.handleWindowError);\n }\n\n private removeOpenListeners(): void {\n document.removeEventListener('focusin', this.handleDocumentFocusIn);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n window.removeEventListener('error', this.handleWindowError);\n }\n\n private handleFocus(): void {\n this.hasFocus = true;\n this.emit('nile-focus');\n }\n\n private handleBlur(): void {\n this.hasFocus = false;\n this.emit('nile-blur');\n }\n\n private handleDocumentFocusIn(event: FocusEvent): void {\n if (!this.open) return; \n const path = event.composedPath(); \n const hitSelf = path.includes(this);\n const hitPopup = this.popup && path.includes(this.popup);\n\n if (!hitSelf && !hitPopup) {\n this.hide();\n }\n }\n\n private handleDocumentKeyDown(event: KeyboardEvent): void {\n if (this.shouldIgnoreKeyPress(event)) {\n return;\n }\n\n if (this.isEscapeKey(event)) {\n this.handleEscapeKey(event);\n }\n\n if (this.isEnterOrSpaceKey(event)) {\n this.handleEnterOrSpaceKey(event);\n }\n }\n\n private shouldIgnoreKeyPress(event: KeyboardEvent): boolean {\n const target = event.target as HTMLElement;\n const isClearButton = target.closest('.select__clear') !== null;\n const isIconButton = target.closest('nile-icon-button') !== null;\n return isClearButton || isIconButton;\n }\n\n private isEscapeKey(event: KeyboardEvent): boolean {\n return event.key === 'Escape' && this.open;\n }\n\n private handleEscapeKey(event: KeyboardEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n\n private isEnterOrSpaceKey(event: KeyboardEvent): boolean {\n return event.key === 'Enter' || event.key === ' ';\n }\n\n private handleEnterOrSpaceKey(event: KeyboardEvent): void {\n event.preventDefault();\n event.stopImmediatePropagation();\n\n if (!this.open) {\n this.show();\n return;\n }\n\n if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n\n private handleDocumentMouseDown = (event: MouseEvent): void => {\n if (!this.open) return; \n \n const path = event.composedPath();\n const hitSelf = path.includes(this);\n const hitPopup = this.popup && path.includes(this.popup);\n \n if (!hitSelf && !hitPopup) {\n this.hide();\n }\n };\n\n /**\n * This is a workaround for an error in the Lit Labs virtualizer.\n * Since there are no specific guidelines available to fix the issue,\n * we are catching only the error message related to the virtualizer.\n */\n private handleWindowError = (event: ErrorEvent): void => {\n const errorMessage = event.error?.message || event.message || '';\n if (errorMessage.includes('Cannot read properties of null (reading \\'insertBefore\\')')) {\n event.preventDefault();\n return;\n }\n };\n\n private handleFooterClick(event: MouseEvent): void {\n event.stopPropagation();\n event.preventDefault();\n }\n\n private toggleShowSelected(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n if (this.selectedOptions?.length === 0) {\n return;\n }\n this.showSelected = !this.showSelected;\n\n if (this.showSelected) {\n const selectedValues = Array.isArray(this.value) ? this.value : [this.value];\n this.data = this.originalOptionItems.filter((item: any) => {\n const itemValue = this.getItemValue(item);\n return selectedValues.some(val => String(val) === String(itemValue));\n });\n } else {\n this.data = [...this.originalOptionItems];\n }\n\n this.requestUpdate();\n this.resetScrollPosition();\n }\n\n private unSelectAll(): void {\n this.showSelected = false;\n this.value = this.multiple ? [] : '';\n this.data = [...this.originalOptionItems];\n this.selectionChanged();\n this.emit('nile-change', { value: this.value, name: this.name });\n this.emit('nile-clear', { value: this.multiple ? this.value : '', name: this.name });\n this.resetScrollPosition();\n }\n\n private handleLabelClick(): void {\n this.displayInput.focus();\n this.hide();\n }\n\n private handleComboboxMouseDown(event: MouseEvent): void {\n if (this.shouldIgnoreComboboxClick(event)) {\n return;\n }\n\n event.preventDefault();\n this.displayInput.focus({ preventScroll: true });\n this.open = !this.open;\n }\n\n private shouldIgnoreComboboxClick(event: MouseEvent): boolean {\n const path = event.composedPath();\n const isIconButton = path.some(\n el =>\n el instanceof Element && el.tagName.toLowerCase() === 'nile-icon-button'\n );\n return this.disabled || isIconButton;\n }\n\n private handleComboboxKeyDown(event: KeyboardEvent): void {\n if (this.isEnterOrSpaceKey(event)) {\n event.preventDefault();\n this.open = !this.open;\n }\n }\n\n private handleClearClick(event: MouseEvent): void {\n event.stopPropagation();\n this.clearSelection();\n }\n\n private clearSelection(): void {\n const oldValue = this.value;\n this.value = this.multiple ? [] : '';\n this.selectionChanged();\n\n this.updateComplete.then(() => {\n this.nileInput({ value: this.value, name: this.name });\n this.nileChange({ value: this.value, name: this.name });\n this.emit('nile-clear');\n });\n }\n\n private handleClearMouseDown(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n private handleOptionClick(event: MouseEvent): void {\n const target = event.target as HTMLElement;\n const option = target.closest('nile-option');\n\n if (this.shouldBlockValueChange(option)) {\n return;\n }\n\n const oldValue = this.value;\n this.oldValue = oldValue;\n\n if (option && !option.disabled) {\n this.handleOptionSelection(option);\n }\n }\n\n private shouldBlockValueChange(option: Element | null): boolean {\n if (this.blockValueChange && option) {\n this.emit('nile-block-change', { value: (option as any)?.value, name: this.name });\n this.hide();\n return true;\n }\n return false;\n }\n\n private handleOptionSelection(option: Element): void {\n const optionValue = (option as any).value;\n \n if (this.multiple) {\n this.toggleOptionSelection(optionValue);\n } else {\n this.setSelectedOptions(optionValue);\n }\n\n this.updateComplete.then(() =>\n this.displayInput.focus({ preventScroll: true })\n );\n\n if (this.value !== this.oldValue) {\n this.updateComplete.then(() => {\n this.nileInput({ value: this.value, name: this.name });\n this.nileChange({ value: this.value, name: this.name });\n });\n }\n\n if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n\n private setSelectedOptions(optionValue: string): void {\n this.value = optionValue;\n this.selectionChanged();\n }\n\n private toggleOptionSelection(optionValue: string): void {\n const currentValues = Array.isArray(this.value) ? this.value : [];\n \n if (currentValues.includes(optionValue)) {\n this.value = currentValues.filter(v => v !== optionValue);\n } else {\n this.value = [...currentValues, optionValue];\n }\n \n this.selectionChanged();\n }\n\n private handleTagRemove(event: NileRemoveEvent, option: VirtualOption): void {\n event.stopPropagation();\n\n if (!this.disabled) {\n this.removeTagFromSelection(option);\n this.emitTagRemovalEvent(option);\n }\n }\n\n private removeTagFromSelection(option: VirtualOption): void {\n let currentValue = this.value;\n if (!Array.isArray(currentValue)) {\n currentValue = currentValue ? [currentValue] : [];\n }\n const newValue = currentValue.filter((v: string) => v !== option.value);\n this.value = newValue;\n this.selectionChanged();\n }\n\n private emitTagRemovalEvent(option: VirtualOption): void {\n this.updateComplete.then(() => {\n this.nileInput({ value: this.value, name: this.name });\n this.nileChange({ value: this.value, name: this.name });\n this.emit('nile-tag-remove', { value: this.value, name: this.name, removedtagvalue: option.value });\n });\n }\n\n private selectionChanged(): void {\n const itemsToSearch = this.originalOptionItems.length > 0 ? this.originalOptionItems : this.data;\n this.selectedOptions = VirtualSelectSelectionManager.createVirtualOptionsFromValues(\n this.value, \n itemsToSearch, \n this.getDisplayText.bind(this),\n this.renderItemConfig?.getValue\n );\n\n if (this.multiple) {\n if (this.placeholder && this.value.length === 0) {\n this.displayLabel = '';\n } else {\n this.displayLabel = this.selectedOptions.length + ' selected';\n }\n } else {\n const currentValue = Array.isArray(this.value) ? this.value[0] : this.value;\n const label = this.selectedOptions[0]?.getTextLabel();\n this.displayLabel = label ? label : currentValue ?? '';\n }\n\n this.updateValidity();\n\n if (this.selectedOptions.length === 0) {\n this.showSelected = false;\n }\n\n this.calculateTotalWidthOfTags();\n }\n\n handleSearchFocus(): void {\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchBlur(): void {\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchChange(e: any): void {\n this.searchValue = e.detail.value;\n \n this.emit('nile-search', { \n query: this.searchValue,\n name: this.name \n });\n \n if (!this.disableLocalSearch) {\n this.filterVirtualOptions(this.searchValue);\n this.resetScrollPosition();\n }\n }\n\n handleScroll(e: Event): void {\n if(this.showSelected) {\n return;\n }\n\n const target = e.target as HTMLElement;\n \n this.emit('nile-scroll', {\n scrollTop: target.scrollTop,\n scrollLeft: target.scrollLeft,\n name: this.name\n });\n\n if (!this.scrolling) {\n this.scrolling = true;\n this.emit('nile-scroll-start', {\n scrollTop: target.scrollTop,\n scrollLeft: target.scrollLeft,\n name: this.name\n });\n }\n\n clearTimeout(this.scrollTimeout);\n this.scrollTimeout = window.setTimeout(() => {\n if (this.scrolling) {\n this.scrolling = false;\n }\n }, 300);\n\n const isAtBottom = Math.ceil(target.scrollTop) >= Math.floor(target.scrollHeight - target.offsetHeight);\n if (isAtBottom) {\n this.emit('nile-scroll-end', {\n scrollTop: target.scrollTop,\n scrollLeft: target.scrollLeft,\n name: this.name,\n isAtBottom: true\n });\n }\n }\n\n filterVirtualOptions(searchValue: string): void {\n const result = VirtualSelectSearchManager.filterVirtualOptions(\n searchValue,\n this.originalOptionItems,\n this.data,\n this.getDisplayText.bind(this),\n this.renderItemConfig?.getSearchText\n );\n\n this.data = result.filteredItems;\n this.showNoResults = result.showNoResults;\n this.showSelected = false;\n this.requestUpdate();\n }\n\n private handleInvalid(event: Event): void {\n this.formControlController.setValidity(false);\n this.formControlController.emitInvalidEvent(event);\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange(): void {\n if (this.disabled) {\n this.open = false;\n this.handleOpenChange();\n }\n }\n\n @watch('value', { waitUntilFirstUpdate: true })\n handleValueChange(): void {\n this.selectionChanged();\n this.requestUpdate();\n }\n\n @watch('data', { waitUntilFirstUpdate: true })\n handleDataChange(): void {\n if (this.data.length > 0 && this.open && !this.showSelected && !this.searchValue) {\n this.originalOptionItems = [...this.data];\n }\n \n this.selectionChanged();\n // Show no results message when data is empty and not loading\n if (!this.optionsLoading && !this.loading && this.data.length === 0) {\n this.showNoResults = true;\n } else if (this.data.length > 0) {\n this.showNoResults = false;\n }\n this.requestUpdate();\n }\n\n @watch('renderItemConfig', { waitUntilFirstUpdate: true })\n handleRenderItemConfigChange(): void {\n if (this.value && this.data.length > 0) {\n this.selectionChanged();\n this.requestUpdate();\n }\n }\n\n @watch('optionsLoading', { waitUntilFirstUpdate: true })\n handleOptionsLoadingChange(): void {\n // Show no results message when loading stops and there are no results\n if (!this.optionsLoading && this.data.length === 0) {\n this.showNoResults = true;\n }\n this.requestUpdate();\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange(): Promise<void> {\n if (this.open && !this.disabled) {\n await this.handleOpen();\n } else {\n await this.handleClose();\n }\n }\n\n private async handleOpen(): Promise<void> {\n this.emit('nile-show', { value: this.value, name: this.name });\n this.addOpenListeners();\n this.showNoResults = !this.data?.length;\n\n await stopAnimations(this);\n this.popup.active = true;\n\n const { keyframes, options } = getAnimation(this, 'select.show', {\n dir: 'ltr',\n });\n await animateTo(this.popup.popup, keyframes, options);\n\n this.initializeOriginalItems();\n this.filterVirtualOptions(this.searchValue);\n this.resetScrollPosition();\n this.emit('nile-after-show', { value: this.value, name: this.name });\n }\n\n private async handleClose(): Promise<void> {\n this.emit('nile-hide', { value: this.value, name: this.name });\n this.removeOpenListeners();\n\n await stopAnimations(this);\n const { keyframes, options } = getAnimation(this, 'select.hide', {\n dir: 'ltr',\n });\n await animateTo(this.popup.popup, keyframes, options);\n this.popup.active = false;\n\n this.searchValue = '';\n this.emit('nile-after-hide', { value: this.value, name: this.name });\n }\n\n private initializeOriginalItems(): void {\n if (this.data.length > 0) {\n this.originalOptionItems = [...this.data];\n }\n }\n\n async show(): Promise<unknown> {\n if (this.open || this.disabled) {\n this.open = false;\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, 'nile-after-show');\n }\n\n async hide(): Promise<unknown> {\n if (!this.open || this.disabled) {\n this.open = false;\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, 'nile-after-hide');\n }\n\n checkValidity(): boolean {\n return this.valueInput.checkValidity();\n }\n\n getForm(): HTMLFormElement | null {\n return this.formControlController.getForm();\n }\n\n reportValidity(): boolean {\n return this.valueInput.reportValidity();\n }\n\n setCustomValidity(message: string): void {\n this.valueInput.setCustomValidity(message);\n this.formControlController.updateValidity();\n }\n\n focus(options?: FocusOptions): void {\n this.displayInput.focus(options);\n }\n\n blur(): void {\n this.displayInput.blur();\n }\n\n onInputChange(event: Event): void {\n event.stopPropagation();\n }\n\n render(): TemplateResult {\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasLabelSuffixSlot = this.hasSlotController.test('label-suffix');\n const hasCustomSelect = this.hasSlotController.test('custom-select');\n const hasLabel = this.label ? true : !!hasLabelSlot;\n const hasClearIcon =\n this.clearable && !this.disabled && this.value.length > 0;\n const isPlaceholderVisible = !!this.placeholder && this.value.length === 0;\n const hasHelpText = !!this.helpText;\n const hasErrorMessage = !!this.errorMessage;\n\n return html`\n <div\n part=\"form-control\"\n class=${classMap({\n 'form-control': true,\n 'form-control--small': this.size === 'small',\n 'form-control--medium': this.size === 'medium',\n 'form-control--large': this.size === 'large',\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText,\n })}\n >\n ${this.renderLabel(hasLabel, hasLabelSuffixSlot)}\n ${this.renderFormControlInput(hasCustomSelect, hasClearIcon, isPlaceholderVisible, hasHelpText, hasErrorMessage)}\n </div>\n `;\n }\n\n private renderLabel(hasLabel: boolean, hasLabelSuffixSlot: boolean): TemplateResult {\n return html`\n <label\n id=\"label\"\n part=\"form-control-label\"\n class=\"form-control__label\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n @click=${this.handleLabelClick}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n ${hasLabelSuffixSlot ? html` <slot name=\"label-suffix\"></slot> ` : ``}\n `;\n }\n\n private renderFormControlInput(\n hasCustomSelect: boolean, \n hasClearIcon: boolean, \n isPlaceholderVisible: boolean, \n hasHelpText: boolean, \n hasErrorMessage: boolean\n ): TemplateResult {\n return html`\n <div part=\"form-control-input\" class=\"form-control-input\">\n ${this.renderPopup(hasCustomSelect, hasClearIcon, isPlaceholderVisible)}\n ${this.renderHelpText(hasHelpText, hasErrorMessage)}\n </div>\n `;\n }\n\n private renderPopup(hasCustomSelect: boolean, hasClearIcon: boolean, isPlaceholderVisible: boolean): TemplateResult {\n return html`\n <nile-popup\n class=${classMap({\n select: true,\n 'select--warning': this.warning,\n 'select--error': this.error,\n 'select--success': this.success,\n 'select--standard': true,\n 'select--filled': this.filled,\n 'select--pill': this.pill,\n 'select--open': this.open,\n 'select--disabled': this.disabled,\n 'select--multiple': this.multiple,\n 'select--focused': this.hasFocus,\n 'select--placeholder-visible': isPlaceholderVisible,\n 'select--top': this.placement === 'top',\n 'select--bottom': this.placement === 'bottom',\n 'select--small': this.size === 'small',\n 'select--medium': this.size === 'medium',\n 'select--large': this.size === 'large',\n })}\n placement=${this.placement}\n strategy=${this.hoist ? 'fixed' : 'absolute'}\n distance=\"6\"\n flip\n shift\n sync=${ifDefined(!this.noWidthSync ? 'width' : undefined)}\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n >\n ${this.renderCustomSelect(hasCustomSelect)}\n ${this.renderCombobox(hasCustomSelect, hasClearIcon)}\n ${this.renderListbox()}\n </nile-popup>\n `;\n }\n\n private renderCustomSelect(hasCustomSelect: boolean): TemplateResult {\n return hasCustomSelect\n ? html`<slot\n slot=\"anchor\"\n name=\"custom-select\"\n class=\"custom-select\"\n @keydown=${this.handleComboboxKeyDown}\n @mousedown=${this.handleComboboxMouseDown}\n ></slot>`\n : html``;\n }\n\n private renderCombobox(hasCustomSelect: boolean, hasClearIcon: boolean): TemplateResult {\n return html`\n <div\n part=\"combobox\"\n class=${classMap({\n select__combobox: true,\n 'select__hide-default': hasCustomSelect,\n })}\n slot=\"anchor\"\n @keydown=${this.handleComboboxKeyDown}\n @mousedown=${this.handleComboboxMouseDown}\n >\n ${this.renderPrefix()}\n ${this.renderDisplayInput()}\n ${this.renderTags()}\n ${this.renderValueInput()}\n ${this.renderClearButton(hasClearIcon)}\n ${this.renderSuffix()}\n ${this.renderExpandIcon()}\n </div>\n `;\n }\n\n private renderPrefix(): TemplateResult {\n return html`\n <slot\n part=\"prefix\"\n name=\"prefix\"\n class=${classMap({\n select__prefix: true,\n multiple: this.multiple,\n })}\n ></slot>\n `;\n }\n\n private renderDisplayInput(): TemplateResult {\n return html`\n <input\n part=\"display-input\"\n class=\"select__display-input\"\n type=\"text\"\n placeholder=${this.placeholder}\n .disabled=${this.disabled}\n .value=${this.displayLabel}\n autocomplete=\"off\"\n spellcheck=\"false\"\n autocapitalize=\"off\"\n readonly\n aria-controls=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-haspopup=\"listbox\"\n aria-labelledby=\"label\"\n aria-disabled=${this.disabled ? 'true' : 'false'}\n aria-describedby=\"help-text\"\n role=\"combobox\"\n tabindex=\"0\"\n />\n `;\n }\n\n private renderTags(): TemplateResult {\n return this.multiple\n ? html`\n <div part=\"tags\" class=\"select__tags\">\n ${this.selectedOptions.map((option, index) => {\n if (\n index < this.maxOptionsVisible ||\n this.maxOptionsVisible <= 0\n ) {\n const classes = {\n select__invisible:\n index + 1 > this.oldMaxOptionsVisible &&\n this.maxOptionsVisible === Infinity,\n };\n return html`\n <nile-tag\n class=${classMap(classes)}\n part=\"tag\"\n exportparts=\"\n base:tag__base,\n content:tag__content,\n remove-button:tag__remove-button,\n remove-button__base:tag__remove-button__base\n \"\n ?pill=${this.pill}\n size=${this.size}\n removable\n @nile-remove=${(event: NileRemoveEvent) =>\n this.handleTagRemove(event, option)}\n >\n ${option.getTextLabel()}\n </nile-tag>\n `;\n } else if (index === this.maxOptionsVisible) {\n return html`\n <span class=\"select__tags-count\"\n >+${this.selectedOptions.length - index} More\n </span>\n `;\n } else {\n return null;\n }\n })}\n </div>\n `\n : html``;\n }\n\n private renderValueInput(): TemplateResult {\n return html`\n <input\n class=\"select__value-input\"\n type=\"text\"\n ?disabled=${this.disabled}\n ?required=${this.required}\n .value=${Array.isArray(this.value)\n ? this.value.join(', ')\n : this.value}\n tabindex=\"-1\"\n aria-hidden=\"true\"\n @focus=${() => this.focus()}\n @invalid=${this.handleInvalid}\n />\n `;\n }\n\n private renderClearButton(hasClearIcon: boolean): TemplateResult {\n return hasClearIcon\n ? html`\n <button\n part=\"clear-button\"\n class=\"select__clear\"\n type=\"button\"\n aria-label=\"clearEntry\"\n @mousedown=${this.handleClearMouseDown}\n @click=${this.handleClearClick}\n tabindex=\"-1\"\n >\n <slot name=\"clear-icon\">\n <nile-icon name=\"close\" library=\"system\"></nile-icon>\n </slot>\n </button>\n `\n : html``;\n }\n\n private renderSuffix(): TemplateResult {\n return html`\n <slot\n part=\"suffix\"\n name=\"suffix\"\n class=${classMap({\n select__suffix: true,\n })}\n ></slot>\n `;\n }\n\n private renderExpandIcon(): TemplateResult {\n return html`\n <slot\n name=\"expand-icon\"\n part=\"expand-icon\"\n class=\"select__expand-icon\"\n >\n <nile-icon library=\"system\" name=\"arrowdown\"></nile-icon>\n </slot>\n `;\n }\n\n private renderListbox(): TemplateResult {\n return html`\n <div\n id=\"listbox\"\n role=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-multiselectable=${this.multiple ? 'true' : 'false'}\n aria-labelledby=\"label\"\n part=\"listbox\"\n class=\"select__listbox ${this.searchEnabled\n ? 'select__search-enabled '\n : ''}\"\n tabindex=\"-1\"\n @mouseup=${this.handleOptionClick}\n >\n ${this.renderSearch()}\n ${this.renderLoader()}\n ${this.getVirtualizedContent()}\n ${this.renderFooter()}\n </div>\n `;\n }\n\n private renderSearch(): TemplateResult {\n return this.searchEnabled\n ? html`\n <div part=\"search\" class=\"select__search\">\n <nile-input\n size=\"small\"\n clearable\n .value=${this.searchValue}\n placeholder=\"${this.internalSearchPlaceHolder}\"\n @nile-input=${this.handleSearchChange}\n @nile-focus=${this.handleSearchFocus}\n @nile-change=\"${this.onInputChange}\"\n >\n <nile-icon name=\"search\" slot=\"suffix\"> </nile-icon>\n </nile-input>\n </div>\n `\n : html``;\n }\n\n private renderLoader(): TemplateResult {\n if (this.loading) {\n return html`\n <span part=\"loader\" class=\"virtual-select-loader\">\n <nile-loader size=\"sm\"></nile-loader>\n </span>\n `;\n }\n \n if (this.optionsLoading) {\n return html`\n <span part=\"loader\" class=\"select__loader\">\n <nile-icon\n class=\"select__loader--icon\"\n name=\"button-loading-blue\"\n ></nile-icon>\n </span>\n `;\n }\n \n return html``;\n }\n\n private renderFooter(): TemplateResult {\n return this.multiple\n ? html`\n <div\n part=\"footer\"\n class=\"select__footer ${this.loading ? 'loading' : ''}\"\n @click=\"${this.handleFooterClick}\"\n >\n <span\n @click=\"${this.toggleShowSelected}\"\n style=\"cursor: pointer;\"\n >\n <nile-checkbox\n ?disabled=\"${this.selectedOptions.length === 0}\"\n ?checked=\"${this.showSelected}\"\n >\n Show Selected</nile-checkbox\n >\n </span>\n ${this.selectedOptions.length !== 0\n ? html`\n <span\n class=\"select__clear\"\n @click=\"${this.unSelectAll}\"\n >\n Clear All\n </span>\n `\n : ``}\n </div>\n `\n : html``;\n }\n\n private renderHelpText(hasHelpText: boolean, hasErrorMessage: boolean): TemplateResult {\n return html`\n ${hasHelpText\n ? html` <nile-form-help-text>${this.helpText}</nile-form-help-text> `\n : ``}\n ${hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``}\n `;\n }\n\n getVirtualizedContent(): TemplateResult {\n return VirtualSelectRenderer.getVirtualizedContent(\n this.data,\n this.searchEnabled,\n this.getDisplayText.bind(this),\n this.value,\n this.multiple,\n this.renderItemConfig?.getDisplayText,\n this.renderItemConfig?.getValue,\n this.showNoResults,\n this.noResultsMessage,\n this.optionsLoading || this.loading,\n this.handleScroll.bind(this)\n );\n }\n\n nileInput(value: any): void {\n this.emit('nile-input', value);\n }\n\n nileChange(value: any): void {\n this.emit('nile-change', value);\n }\n\n private updateValidity(): void {\n this.updateComplete.then(() => {\n this.formControlController.updateValidity();\n });\n }\n\n private calculateWidthOfSelectTagsDiv(): number | null {\n if (this.shadowRoot) {\n const selectTagsDiv = this.shadowRoot.querySelector('.select__tags') as HTMLElement;\n if (selectTagsDiv) {\n const width = selectTagsDiv.offsetWidth;\n return width - 70;\n }\n }\n return null;\n }\n\n private calculateTotalWidthOfTags(): void {\n if (this.maxOptionsVisible !== Infinity) {\n this.oldMaxOptionsVisible = this.maxOptionsVisible;\n }\n\n this.maxOptionsVisible = Infinity;\n setTimeout(() => {\n let widths: number[] = [];\n if (this.shadowRoot) {\n const tags = this.shadowRoot.querySelectorAll('nile-tag');\n tags.forEach(tag => {\n if (tag instanceof HTMLElement) {\n widths.push(tag.offsetWidth);\n }\n });\n }\n if (this.value.length !== widths.length) {\n return;\n }\n\n let sum = widths.reduce(\n (accumulator, currentValue) => accumulator + currentValue,\n 0\n );\n const widthOfSelectTagsDiv = this.calculateWidthOfSelectTagsDiv();\n if (!widthOfSelectTagsDiv) {\n return;\n }\n\n let summ = 0;\n let lastindex = 0;\n\n for (let i = 0; i < widths.length; i++) {\n summ += widths[i];\n\n if (summ > widthOfSelectTagsDiv) {\n lastindex = i;\n break;\n }\n }\n this.maxOptionsVisible = lastindex;\n }, 1);\n }\n\n private resetScrollPosition(): void {\n this.updateComplete.then(() => {\n if (this.virtualizedContainer && this.virtualizedContainer.isConnected) {\n this.virtualizedContainer.scrollTop = 0;\n \n const listbox = this.shadowRoot?.querySelector('.select__listbox') as HTMLElement;\n if (listbox && listbox.isConnected) {\n listbox.scrollTop = 0;\n }\n \n const virtualizer = this.virtualizedContainer.querySelector('lit-virtualizer') as HTMLElement;\n if (virtualizer && virtualizer.isConnected) {\n virtualizer.scrollTop = 0;\n }\n }\n });\n }\n}\n\nsetDefaultAnimation('select.show', {\n keyframes: [\n { opacity: 0, scale: 0.9 },\n { opacity: 1, scale: 1 },\n ],\n options: { duration: 100, easing: 'ease' },\n});\n\nsetDefaultAnimation('select.hide', {\n keyframes: [\n { opacity: 1, scale: 1 },\n { opacity: 0, scale: 0.9 },\n ],\n options: { duration: 100, easing: 'ease' },\n});\n\nexport default NileVirtualSelect;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-virtual-select': NileVirtualSelect;\n }\n}\n"],"names":["NileVirtualSelect","_u","x","this","formControlController","FormControlController","assumeInteractionOn","hasSlotController","HasSlotController","hasFocus","displayLabel","selectedOptions","oldValue","scrolling","name","data","originalOptionItems","value","defaultValue","size","placeholder","searchValue","searchEnabled","internalSearchPlaceHolder","disableLocalSearch","optionsLoading","loading","multiple","helpText","errorMessage","warning","error","success","disabled","clearable","open","hoist","filled","pill","label","placement","form","required","showNoResults","noResultsMessage","showSelected","blockValueChange","noWidthSync","maxOptionsVisible","oldMaxOptionsVisible","handleDocumentMouseDown","event","path","composedPath","hitSelf","includes","hitPopup","popup","hide","handleWindowError","message","preventDefault","_this","_inherits","_createClass","key","get","_this$valueInput","valueInput","validity","validationMessage","_this$valueInput$vali","_this$valueInput2","connectedCallback","super","initializeComponent","setupEventListeners","updateComplete","then","length","selectionChanged","disconnectedCallback","removeOpenListeners","scrollTimeout","clearTimeout","undefined","updated","changedProperties","has","emit","getDisplayText","item","renderItemConfig","toString","getItemValue","getValue","getSearchText","_this$renderItemConfi3","handleDocumentFocusIn","bind","handleDocumentKeyDown","addOpenListeners","document","addEventListener","window","removeEventListener","handleFocus","handleBlur","shouldIgnoreKeyPress","isEscapeKey","handleEscapeKey","isEnterOrSpaceKey","handleEnterOrSpaceKey","target","isClearButton","closest","isIconButton","stopPropagation","displayInput","focus","preventScroll","stopImmediatePropagation","show","handleFooterClick","toggleShowSelected","selectedValues","Array","isArray","filter","itemValue","some","val","String","_toConsumableArray","requestUpdate","resetScrollPosition","unSelectAll","handleLabelClick","handleComboboxMouseDown","shouldIgnoreComboboxClick","el","Element","tagName","toLowerCase","handleComboboxKeyDown","handleClearClick","clearSelection","nileInput","nileChange","handleClearMouseDown","handleOptionClick","option","shouldBlockValueChange","handleOptionSelection","optionValue","toggleOptionSelection","setSelectedOptions","currentValues","v","concat","handleTagRemove","removeTagFromSelection","emitTagRemovalEvent","currentValue","newValue","removedtagvalue","itemsToSearch","VirtualSelectSelectionManager","createVirtualOptionsFromValues","_this$selectedOptions2","getTextLabel","updateValidity","calculateTotalWidthOfTags","handleSearchFocus","handleSearchBlur","handleSearchChange","e","detail","query","filterVirtualOptions","handleScroll","_this7","scrollTop","scrollLeft","setTimeout","Math","ceil","floor","scrollHeight","offsetHeight","isAtBottom","result","VirtualSelectSearchManager","filteredItems","handleInvalid","setValidity","emitInvalidEvent","handleDisabledChange","handleOpenChange","handleValueChange","handleDataChange","handleRenderItemConfigChange","handleOptionsLoadingChange","_handleOpenChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context2","prev","next","handleOpen","handleClose","stop","_callee2","_this$data","_h","i","s","_callee2$","_context3","stopAnimations","active","getAnimation","dir","animateTo","keyframes","options","initializeOriginalItems","_callee3","_h2","_callee3$","_context4","_show","_callee4","_callee4$","_context5","abrupt","waitForEvent","_callee5","_callee5$","_context6","checkValidity","getForm","reportValidity","setCustomValidity","blur","onInputChange","render","hasLabelSlot","test","hasLabelSuffixSlot","hasCustomSelect","hasLabel","hasClearIcon","isPlaceholderVisible","hasHelpText","hasErrorMessage","html","_templateObject","_taggedTemplateLiteral","classMap","renderLabel","renderFormControlInput","_templateObject2","_templateObject3","_templateObject4","renderPopup","renderHelpText","_templateObject5","select","ifDefined","renderCustomSelect","renderCombobox","renderListbox","_templateObject6","_templateObject7","_templateObject8","select__combobox","renderPrefix","renderDisplayInput","renderTags","renderValueInput","renderClearButton","renderSuffix","renderExpandIcon","_templateObject9","select__prefix","_templateObject10","_templateObject11","map","index","classes","select__invisible","Infinity","_templateObject12","_templateObject13","_templateObject14","_templateObject15","join","_templateObject16","_templateObject17","_templateObject18","select__suffix","_templateObject19","_templateObject20","renderSearch","renderLoader","getVirtualizedContent","renderFooter","_templateObject21","_templateObject22","_templateObject23","_templateObject24","_templateObject25","_templateObject26","_templateObject27","_templateObject28","_templateObject29","_templateObject30","_templateObject31","VirtualSelectRenderer","calculateWidthOfSelectTagsDiv","shadowRoot","selectTagsDiv","querySelector","offsetWidth","widths","querySelectorAll","forEach","tag","HTMLElement","push","widthOfSelectTagsDiv","summ","lastindex","virtualizedContainer","isConnected","_this12$shadowRoot","listbox","virtualizer","NileElement","styles","__decorate","prototype","state","property","type","converter","fromAttribute","split","toAttribute","Boolean","reflect","attribute","Number","watch","waitUntilFirstUpdate","_export","customElement","setDefaultAnimation","opacity","scale","duration","easing"],"mappings":"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"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
System.register(["lit"],function(_export,_context){"use strict";var e,_templateObject,o;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",o=e(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n box-sizing: border-box;\n }\n\n .virtualized{\n min-width: 110px;\n width: 100%;\n }\n\n .virtualized ::slotted(nile-option),\n .virtualized nile-option {\n width: 100%;\n display: block;\n }\n\n /* Ensure proper sizing for non-virtualized options (small datasets) */\n .virtualized:not(:has(lit-virtualizer)) {\n display: flex;\n flex-direction: column;\n }\n\n .virtualized div[virtualizer-sizer] {\n display: none !important;\n }\n\n .virtualized:not(:has(lit-virtualizer)) nile-option {\n flex-shrink: 0;\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none !important;\n }\n\n .form-control .form-control__label {\n display: none;\n }\n\n .form-control .form-control__help-text {\n display: none;\n }\n\n /* Label */\n .form-control--has-label .form-control__label {\n display: block;\n margin-bottom: 6px;\n color: var(--nile-colors-dark-900);\n font-family: Colfax-regular;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n letter-spacing: 0.2px;\n }\n\n .form-control--has-label.form-control--medium .form-control__label {\n font-size: 14px;\n }\n\n :host([required]) .form-control--has-label .form-control__label::after {\n content: '*';\n margin-inline-start: -2px;\n color: var(--nile-colors-red-700);\n }\n\n /* Help text */\n .form-control--has-help-text .form-control__help-text {\n display: block;\n color: var(--nile-colors-dark-500);\n margin-top: 0.75rem;\n }\n\n .form-control--has-help-text.form-control--medium .form-control__help-text {\n font-size: 0.875rem;\n }\n\n .form-control--has-help-text.form-control--radio-group\n .form-control__help-text {\n margin-top: 0.25rem;\n }\n\n :host {\n display: block;\n }\n\n /** The popup */\n .select {\n flex: 1 1 auto;\n display: inline-flex;\n width: 100%;\n position: relative;\n vertical-align: middle;\n }\n\n .select::part(popup) {\n z-index: 9999;\n }\n\n .select[data-current-placement^='top']::part(popup) {\n transform-origin: bottom;\n }\n\n .select[data-current-placement^='bottom']::part(popup) {\n transform-origin: top;\n }\n\n /* Combobox */\n .select__combobox {\n flex: 1;\n display: flex;\n width: 100%;\n min-width: 0;\n position: relative;\n align-items: center;\n justify-content: start;\n font-family: var(--nile-font-family-sans-serif);\n font-weight: 400;\n letter-spacing: normal;\n vertical-align: middle;\n overflow: hidden;\n cursor: pointer;\n transition: 150ms color, 150ms border, 150ms box-shadow,\n 150ms background-color;\n }\n\n .select__display-input {\n position: relative;\n width: 100%;\n font: inherit;\n border: none;\n background: none;\n color: var(--nile-colors-dark-900);\n cursor: inherit;\n overflow: hidden;\n padding: 0;\n margin: 0;\n -webkit-appearance: none;\n font-family: var(--nile-font-family-serif);\n }\n\n .select__display-input::placeholder {\n font-family: var(--nile-font-family-serif);\n }\n\n .select:not(.select--disabled):hover .select__display-input {\n color: var(--nile-colors-dark-900);\n }\n\n .select__display-input:focus {\n outline: none;\n }\n\n /* Visually hide the display input when multiple is enabled */\n .select--multiple:not(.select--placeholder-visible) .select__display-input {\n position: absolute;\n z-index: -1;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n }\n\n .select__value-input {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: -1;\n }\n\n .select__tags {\n display: flex;\n flex: 1;\n align-items: center;\n flex-wrap: no-wrap;\n margin-inline-start: 0.5rem;\n width: 100%;\n overflow: hidden;\n }\n\n .select__tags-count {\n color: var(--nile-colors-primary-600);\n font-family: Colfax-regular;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 14px;\n letter-spacing: 0.2px;\n margin: 6px;\n }\n\n .select__tags-count-clearable {\n margin-right: 50px;\n }\n\n .select__tags::slotted(nile-tag) {\n cursor: pointer !important;\n }\n\n .select--disabled .select__tags,\n .select--disabled .select__tags::slotted(nile-tag) {\n cursor: not-allowed !important;\n }\n\n /* Standard selects */\n .select--standard .select__combobox {\n background-color: var(--nile-colors-white-base);\n border: solid 1px var(--nile-colors-neutral-500);\n }\n\n .select--standard .select__combobox:hover {\n border: 1px solid var(--nile-colors-dark-900);\n background: var(--nile-colors-white-base);\n }\n\n .select--standard.select--disabled .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n border-color: var(--nile-colors-neutral-500);\n color: var(--nile-colors-dark-500);\n opacity: 0.5;\n cursor: not-allowed;\n outline: none;\n }\n\n .select--standard:not(.select--disabled).select--open .select__combobox,\n .select--standard:not(.select--disabled).select--focused .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n }\n\n .select--warning .select__combobox {\n border-color: var(--nile-colors-yellow-500);\n }\n\n .select--error .select__combobox {\n border-color: var(--nile-colors-red-500);\n }\n\n .select--success {\n border-color: var(--nile-colors-green-500);\n }\n\n /* Filled selects */\n .select--filled .select__combobox {\n border: none;\n background-color: var(--nile-colors-neutral-100);\n color: var(--nile-colors-dark-900);\n }\n\n .select--filled:hover:not(.select--disabled) .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n }\n\n .select--filled.select--disabled .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .select--filled:not(.select--disabled).select--open .select__combobox,\n .select--filled:not(.select--disabled).select--focused .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n outline: 3px solid rgba(0, 89, 255, 0.4);\n }\n\n .select--medium .select__combobox {\n border-radius: 4px;\n font-size: 14px;\n padding: 12px;\n height: 40px;\n box-sizing: border-box;\n }\n\n .select--medium .select__clear {\n margin-inline-start: 0.75rem;\n }\n\n .select--medium .select__prefix::slotted(*) {\n margin-inline-end: 0.75rem;\n }\n\n .select--medium .select__prefix.multiple::slotted(*) {\n margin-inline-start: 0.75rem;\n }\n\n .select--medium.select--multiple:not(.select--placeholder-visible)\n .select__combobox {\n padding-inline-start: 0;\n }\n\n .select--medium .select__tags {\n gap: 3px;\n }\n\n /* Pills */\n .select--pill.select--medium .select__combobox {\n border-radius: 2.5rem;\n }\n\n /* Prefix */\n .select__prefix {\n flex: 0;\n display: inline-flex;\n align-items: center;\n color: var(--nile-colors-dark-500);\n }\n\n .select__suffix {\n flex: 0;\n display: inline-flex;\n align-items: center;\n color: var(--nile-colors-dark-500);\n }\n\n /* Clear button */\n .select__clear {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: inherit;\n color: var(--nile-colors-primary-600);\n border: none;\n background: none;\n padding: 0;\n transition: 150ms color;\n cursor: pointer;\n }\n\n .select__clear:hover {\n color: var(--nile-colors-dark-500);\n }\n\n .select__clear:focus {\n outline: none;\n }\n\n /* Expand icon */\n .select__expand-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n transition: 250ms rotate ease;\n rotate: 0;\n margin-inline-start: 0.25rem;\n }\n\n .select--open .select__expand-icon {\n rotate: -180deg;\n }\n\n /* Listbox */\n .select__listbox {\n display: block;\n position: relative;\n font-size: 1rem;\n font-weight: 400;\n background: var(--nile-colors-white-base);\n border: solid 1px var(--nile-colors-neutral-500);\n border-radius: 0.25rem;\n padding-block: 0;\n padding-inline: 0;\n overflow: auto;\n overscroll-behavior: none;\n /* Make sure it adheres to the popup's auto size */\n max-width: var(--auto-size-available-width);\n max-height: var(--auto-size-available-height);\n }\n\n .select__options {\n font-size: 14px;\n color: rgb(133, 129, 129);\n width: 100%;\n }\n\n .select__options__search-enabled {\n padding-top: 10px;\n width: 100%;\n }\n\n .select__listbox::slotted(nile-divider) {\n --spacing: 0.25rem;\n }\n\n .select__listbox::slotted(small) {\n font-size: 0.875rem;\n font-weight: 600;\n color: var(--nile-colors-dark-500);\n padding-block: 0.25rem;\n padding-inline: 1rem;\n }\n\n .select__search {\n position: sticky;\n top: 0px;\n z-index: 1;\n width: calc(100% - 16px);\n padding: 8px;\n background-color: white;\n margin-bottom: -8px;\n }\n\n .select__footer {\n position: sticky;\n bottom: 0px;\n background: var(--nile-colors-neutral-100);\n border: 1px solid var(--nile-colors-neutral-400);\n display: flex;\n height: 15px;\n /* Auto layout */\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 8px 12px 16px;\n gap: 12px;\n justify-content: space-between;\n }\n\n .tag__prefix[slot='prefix'] {\n height: 14px;\n display: inline-block;\n overflow: hidden;\n }\n\n .tag__prefix[slot='prefix'] img {\n max-height: 100%;\n }\n\n .select__loader {\n width: 100%;\n text-align: center;\n display: block;\n }\n\n .select__loader--icon {\n margin-top: 20px;\n animation: spin 0.6s linear infinite;\n }\n\n .select__no-results {\n padding: 10px;\n }\n\n @keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .select__invisible{\n opacity: 0;\n }\n\n .select__prefix--from-options {\n margin-inline-end: 12px;\n }\n \n .select__hide-default{\n display: none;\n }\n\n .virtualized nile-option[selected] {\n background-color: var(--nile-colors-neutral-100);\n }\n\n .virtualized nile-option[selected]::part(base) {\n color: var(--nile-colors-primary-600);\n }\n"]))));}};});
|
1
|
+
System.register(["lit"],function(_export,_context){"use strict";var e,_templateObject,o;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",o=e(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n box-sizing: border-box;\n }\n\n .virtualized{\n min-width: 110px;\n width: 100%;\n }\n\n .virtualized ::slotted(nile-option),\n .virtualized nile-option {\n width: 100%;\n display: block;\n }\n\n /* Ensure proper sizing for non-virtualized options (small datasets) */\n .virtualized:not(:has(lit-virtualizer)) {\n display: flex;\n flex-direction: column;\n }\n\n .virtualized div[virtualizer-sizer] {\n display: none !important;\n }\n\n .virtualized:not(:has(lit-virtualizer)) nile-option {\n flex-shrink: 0;\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none !important;\n }\n\n .form-control .form-control__label {\n display: none;\n }\n\n .form-control .form-control__help-text {\n display: none;\n }\n\n /* Label */\n .form-control--has-label .form-control__label {\n display: block;\n margin-bottom: 6px;\n color: var(--nile-colors-dark-900);\n font-family: Colfax-regular;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n letter-spacing: 0.2px;\n }\n\n .form-control--has-label.form-control--medium .form-control__label {\n font-size: 14px;\n }\n\n :host([required]) .form-control--has-label .form-control__label::after {\n content: '*';\n margin-inline-start: -2px;\n color: var(--nile-colors-red-700);\n }\n\n /* Help text */\n .form-control--has-help-text .form-control__help-text {\n display: block;\n color: var(--nile-colors-dark-500);\n margin-top: 0.75rem;\n }\n\n .form-control--has-help-text.form-control--medium .form-control__help-text {\n font-size: 0.875rem;\n }\n\n .form-control--has-help-text.form-control--radio-group\n .form-control__help-text {\n margin-top: 0.25rem;\n }\n\n :host {\n display: block;\n }\n\n /** The popup */\n .select {\n flex: 1 1 auto;\n display: inline-flex;\n width: 100%;\n position: relative;\n vertical-align: middle;\n }\n\n .select::part(popup) {\n z-index: 9999;\n }\n\n .select[data-current-placement^='top']::part(popup) {\n transform-origin: bottom;\n }\n\n .select[data-current-placement^='bottom']::part(popup) {\n transform-origin: top;\n }\n\n /* Combobox */\n .select__combobox {\n flex: 1;\n display: flex;\n width: 100%;\n min-width: 0;\n position: relative;\n align-items: center;\n justify-content: start;\n font-family: var(--nile-font-family-sans-serif);\n font-weight: 400;\n letter-spacing: normal;\n vertical-align: middle;\n overflow: hidden;\n cursor: pointer;\n transition: 150ms color, 150ms border, 150ms box-shadow,\n 150ms background-color;\n }\n\n .select__display-input {\n position: relative;\n width: 100%;\n font: inherit;\n border: none;\n background: none;\n color: var(--nile-colors-dark-900);\n cursor: inherit;\n overflow: hidden;\n padding: 0;\n margin: 0;\n -webkit-appearance: none;\n font-family: var(--nile-font-family-serif);\n }\n\n .select__display-input::placeholder {\n font-family: var(--nile-font-family-serif);\n }\n\n .select:not(.select--disabled):hover .select__display-input {\n color: var(--nile-colors-dark-900);\n }\n\n .select__display-input:focus {\n outline: none;\n }\n\n /* Visually hide the display input when multiple is enabled */\n .select--multiple:not(.select--placeholder-visible) .select__display-input {\n position: absolute;\n z-index: -1;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n }\n\n .select__value-input {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: -1;\n }\n\n .select__tags {\n display: flex;\n flex: 1;\n align-items: center;\n flex-wrap: no-wrap;\n margin-inline-start: 0.5rem;\n width: 100%;\n overflow: hidden;\n }\n\n .select__tags-count {\n color: var(--nile-colors-primary-600);\n font-family: Colfax-regular;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 14px;\n letter-spacing: 0.2px;\n margin: 6px;\n }\n\n .select__tags-count-clearable {\n margin-right: 50px;\n }\n\n .select__tags::slotted(nile-tag) {\n cursor: pointer !important;\n }\n\n .select--disabled .select__tags,\n .select--disabled .select__tags::slotted(nile-tag) {\n cursor: not-allowed !important;\n }\n\n /* Standard selects */\n .select--standard .select__combobox {\n background-color: var(--nile-colors-white-base);\n border: solid 1px var(--nile-colors-neutral-500);\n }\n\n .select--standard .select__combobox:hover {\n border: 1px solid var(--nile-colors-dark-900);\n background: var(--nile-colors-white-base);\n }\n\n .select--standard.select--disabled .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n border-color: var(--nile-colors-neutral-500);\n color: var(--nile-colors-dark-500);\n opacity: 0.5;\n cursor: not-allowed;\n outline: none;\n }\n\n .select--standard:not(.select--disabled).select--open .select__combobox,\n .select--standard:not(.select--disabled).select--focused .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n }\n\n .select--warning .select__combobox {\n border-color: var(--nile-colors-yellow-500);\n }\n\n .select--error .select__combobox {\n border-color: var(--nile-colors-red-500);\n }\n\n .select--success {\n border-color: var(--nile-colors-green-500);\n }\n\n /* Filled selects */\n .select--filled .select__combobox {\n border: none;\n background-color: var(--nile-colors-neutral-100);\n color: var(--nile-colors-dark-900);\n }\n\n .select--filled:hover:not(.select--disabled) .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n }\n\n .select--filled.select--disabled .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .select--filled:not(.select--disabled).select--open .select__combobox,\n .select--filled:not(.select--disabled).select--focused .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n outline: 3px solid rgba(0, 89, 255, 0.4);\n }\n\n .select--medium .select__combobox {\n border-radius: 4px;\n font-size: 14px;\n padding: 12px;\n height: 40px;\n box-sizing: border-box;\n }\n\n .select--medium .select__clear {\n margin-inline-start: 0.75rem;\n }\n\n .select--medium .select__prefix::slotted(*) {\n margin-inline-end: 0.75rem;\n }\n\n .select--medium .select__prefix.multiple::slotted(*) {\n margin-inline-start: 0.75rem;\n }\n\n .select--medium.select--multiple:not(.select--placeholder-visible)\n .select__combobox {\n padding-inline-start: 0;\n }\n\n .select--medium .select__tags {\n gap: 3px;\n }\n\n /* Pills */\n .select--pill.select--medium .select__combobox {\n border-radius: 2.5rem;\n }\n\n /* Prefix */\n .select__prefix {\n flex: 0;\n display: inline-flex;\n align-items: center;\n color: var(--nile-colors-dark-500);\n }\n\n .select__suffix {\n flex: 0;\n display: inline-flex;\n align-items: center;\n color: var(--nile-colors-dark-500);\n }\n\n /* Clear button */\n .select__clear {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: inherit;\n color: var(--nile-colors-primary-600);\n border: none;\n background: none;\n padding: 0;\n transition: 150ms color;\n cursor: pointer;\n }\n\n .select__clear:hover {\n color: var(--nile-colors-dark-500);\n }\n\n .select__clear:focus {\n outline: none;\n }\n\n /* Expand icon */\n .select__expand-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n transition: 250ms rotate ease;\n rotate: 0;\n margin-inline-start: 0.25rem;\n }\n\n .select--open .select__expand-icon {\n rotate: -180deg;\n }\n\n /* Listbox */\n .select__listbox {\n display: block;\n position: relative;\n font-size: 1rem;\n font-weight: 400;\n background: var(--nile-colors-white-base);\n border: solid 1px var(--nile-colors-neutral-500);\n border-radius: 0.25rem;\n padding-block: 0;\n padding-inline: 0;\n overflow: auto;\n overscroll-behavior: none;\n /* Make sure it adheres to the popup's auto size */\n max-width: var(--auto-size-available-width);\n max-height: var(--auto-size-available-height);\n }\n\n .select__options {\n font-size: 14px;\n color: rgb(133, 129, 129);\n width: 100%;\n }\n\n .select__options__search-enabled {\n padding-top: 10px;\n width: 100%;\n }\n\n .select__listbox::slotted(nile-divider) {\n --spacing: 0.25rem;\n }\n\n .select__listbox::slotted(small) {\n font-size: 0.875rem;\n font-weight: 600;\n color: var(--nile-colors-dark-500);\n padding-block: 0.25rem;\n padding-inline: 1rem;\n }\n\n .select__search {\n position: sticky;\n top: 0px;\n z-index: 1;\n width: calc(100% - 16px);\n padding: 8px;\n background-color: white;\n margin-bottom: -8px;\n }\n\n .select__footer {\n position: sticky;\n bottom: 0px;\n background: var(--nile-colors-neutral-100);\n border: 1px solid var(--nile-colors-neutral-400);\n display: flex;\n height: 15px;\n /* Auto layout */\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 8px 12px 16px;\n gap: 12px;\n justify-content: space-between;\n }\n\n .tag__prefix[slot='prefix'] {\n height: 14px;\n display: inline-block;\n overflow: hidden;\n }\n\n .tag__prefix[slot='prefix'] img {\n max-height: 100%;\n }\n\n .select__loader {\n width: 100%;\n text-align: center;\n display: block;\n }\n\n .select__loader--icon {\n margin-top: 20px;\n animation: spin 0.6s linear infinite;\n }\n\n .select__no-results {\n padding: 10px;\n }\n\n @keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .select__invisible{\n opacity: 0;\n }\n\n .select__prefix--from-options {\n margin-inline-end: 12px;\n }\n \n .select__hide-default{\n display: none;\n }\n\n .virtualized nile-option[selected] {\n background-color: var(--nile-colors-neutral-100);\n }\n\n .virtualized nile-option[selected]::part(base) {\n color: var(--nile-colors-primary-600);\n }\n\n .virtual-select-loader {\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 75%;\n }\n\n .select__footer.loading, .select__options.loading {\n opacity: 0.5;\n pointer-events: none;\n }\n"]))));}};});
|
2
2
|
//# sourceMappingURL=nile-virtual-select.css.cjs.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-virtual-select.css.cjs.js","sources":["../../../src/nile-virtual-select/nile-virtual-select.css.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 {css} from 'lit';\n\n/**\n * Select_2 CSS\n */\nexport const styles = css`\n :host {\n box-sizing: border-box;\n }\n\n .virtualized{\n min-width: 110px;\n width: 100%;\n }\n\n .virtualized ::slotted(nile-option),\n .virtualized nile-option {\n width: 100%;\n display: block;\n }\n\n /* Ensure proper sizing for non-virtualized options (small datasets) */\n .virtualized:not(:has(lit-virtualizer)) {\n display: flex;\n flex-direction: column;\n }\n\n .virtualized div[virtualizer-sizer] {\n display: none !important;\n }\n\n .virtualized:not(:has(lit-virtualizer)) nile-option {\n flex-shrink: 0;\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none !important;\n }\n\n .form-control .form-control__label {\n display: none;\n }\n\n .form-control .form-control__help-text {\n display: none;\n }\n\n /* Label */\n .form-control--has-label .form-control__label {\n display: block;\n margin-bottom: 6px;\n color: var(--nile-colors-dark-900);\n font-family: Colfax-regular;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n letter-spacing: 0.2px;\n }\n\n .form-control--has-label.form-control--medium .form-control__label {\n font-size: 14px;\n }\n\n :host([required]) .form-control--has-label .form-control__label::after {\n content: '*';\n margin-inline-start: -2px;\n color: var(--nile-colors-red-700);\n }\n\n /* Help text */\n .form-control--has-help-text .form-control__help-text {\n display: block;\n color: var(--nile-colors-dark-500);\n margin-top: 0.75rem;\n }\n\n .form-control--has-help-text.form-control--medium .form-control__help-text {\n font-size: 0.875rem;\n }\n\n .form-control--has-help-text.form-control--radio-group\n .form-control__help-text {\n margin-top: 0.25rem;\n }\n\n :host {\n display: block;\n }\n\n /** The popup */\n .select {\n flex: 1 1 auto;\n display: inline-flex;\n width: 100%;\n position: relative;\n vertical-align: middle;\n }\n\n .select::part(popup) {\n z-index: 9999;\n }\n\n .select[data-current-placement^='top']::part(popup) {\n transform-origin: bottom;\n }\n\n .select[data-current-placement^='bottom']::part(popup) {\n transform-origin: top;\n }\n\n /* Combobox */\n .select__combobox {\n flex: 1;\n display: flex;\n width: 100%;\n min-width: 0;\n position: relative;\n align-items: center;\n justify-content: start;\n font-family: var(--nile-font-family-sans-serif);\n font-weight: 400;\n letter-spacing: normal;\n vertical-align: middle;\n overflow: hidden;\n cursor: pointer;\n transition: 150ms color, 150ms border, 150ms box-shadow,\n 150ms background-color;\n }\n\n .select__display-input {\n position: relative;\n width: 100%;\n font: inherit;\n border: none;\n background: none;\n color: var(--nile-colors-dark-900);\n cursor: inherit;\n overflow: hidden;\n padding: 0;\n margin: 0;\n -webkit-appearance: none;\n font-family: var(--nile-font-family-serif);\n }\n\n .select__display-input::placeholder {\n font-family: var(--nile-font-family-serif);\n }\n\n .select:not(.select--disabled):hover .select__display-input {\n color: var(--nile-colors-dark-900);\n }\n\n .select__display-input:focus {\n outline: none;\n }\n\n /* Visually hide the display input when multiple is enabled */\n .select--multiple:not(.select--placeholder-visible) .select__display-input {\n position: absolute;\n z-index: -1;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n }\n\n .select__value-input {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: -1;\n }\n\n .select__tags {\n display: flex;\n flex: 1;\n align-items: center;\n flex-wrap: no-wrap;\n margin-inline-start: 0.5rem;\n width: 100%;\n overflow: hidden;\n }\n\n .select__tags-count {\n color: var(--nile-colors-primary-600);\n font-family: Colfax-regular;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 14px;\n letter-spacing: 0.2px;\n margin: 6px;\n }\n\n .select__tags-count-clearable {\n margin-right: 50px;\n }\n\n .select__tags::slotted(nile-tag) {\n cursor: pointer !important;\n }\n\n .select--disabled .select__tags,\n .select--disabled .select__tags::slotted(nile-tag) {\n cursor: not-allowed !important;\n }\n\n /* Standard selects */\n .select--standard .select__combobox {\n background-color: var(--nile-colors-white-base);\n border: solid 1px var(--nile-colors-neutral-500);\n }\n\n .select--standard .select__combobox:hover {\n border: 1px solid var(--nile-colors-dark-900);\n background: var(--nile-colors-white-base);\n }\n\n .select--standard.select--disabled .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n border-color: var(--nile-colors-neutral-500);\n color: var(--nile-colors-dark-500);\n opacity: 0.5;\n cursor: not-allowed;\n outline: none;\n }\n\n .select--standard:not(.select--disabled).select--open .select__combobox,\n .select--standard:not(.select--disabled).select--focused .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n }\n\n .select--warning .select__combobox {\n border-color: var(--nile-colors-yellow-500);\n }\n\n .select--error .select__combobox {\n border-color: var(--nile-colors-red-500);\n }\n\n .select--success {\n border-color: var(--nile-colors-green-500);\n }\n\n /* Filled selects */\n .select--filled .select__combobox {\n border: none;\n background-color: var(--nile-colors-neutral-100);\n color: var(--nile-colors-dark-900);\n }\n\n .select--filled:hover:not(.select--disabled) .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n }\n\n .select--filled.select--disabled .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .select--filled:not(.select--disabled).select--open .select__combobox,\n .select--filled:not(.select--disabled).select--focused .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n outline: 3px solid rgba(0, 89, 255, 0.4);\n }\n\n .select--medium .select__combobox {\n border-radius: 4px;\n font-size: 14px;\n padding: 12px;\n height: 40px;\n box-sizing: border-box;\n }\n\n .select--medium .select__clear {\n margin-inline-start: 0.75rem;\n }\n\n .select--medium .select__prefix::slotted(*) {\n margin-inline-end: 0.75rem;\n }\n\n .select--medium .select__prefix.multiple::slotted(*) {\n margin-inline-start: 0.75rem;\n }\n\n .select--medium.select--multiple:not(.select--placeholder-visible)\n .select__combobox {\n padding-inline-start: 0;\n }\n\n .select--medium .select__tags {\n gap: 3px;\n }\n\n /* Pills */\n .select--pill.select--medium .select__combobox {\n border-radius: 2.5rem;\n }\n\n /* Prefix */\n .select__prefix {\n flex: 0;\n display: inline-flex;\n align-items: center;\n color: var(--nile-colors-dark-500);\n }\n\n .select__suffix {\n flex: 0;\n display: inline-flex;\n align-items: center;\n color: var(--nile-colors-dark-500);\n }\n\n /* Clear button */\n .select__clear {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: inherit;\n color: var(--nile-colors-primary-600);\n border: none;\n background: none;\n padding: 0;\n transition: 150ms color;\n cursor: pointer;\n }\n\n .select__clear:hover {\n color: var(--nile-colors-dark-500);\n }\n\n .select__clear:focus {\n outline: none;\n }\n\n /* Expand icon */\n .select__expand-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n transition: 250ms rotate ease;\n rotate: 0;\n margin-inline-start: 0.25rem;\n }\n\n .select--open .select__expand-icon {\n rotate: -180deg;\n }\n\n /* Listbox */\n .select__listbox {\n display: block;\n position: relative;\n font-size: 1rem;\n font-weight: 400;\n background: var(--nile-colors-white-base);\n border: solid 1px var(--nile-colors-neutral-500);\n border-radius: 0.25rem;\n padding-block: 0;\n padding-inline: 0;\n overflow: auto;\n overscroll-behavior: none;\n /* Make sure it adheres to the popup's auto size */\n max-width: var(--auto-size-available-width);\n max-height: var(--auto-size-available-height);\n }\n\n .select__options {\n font-size: 14px;\n color: rgb(133, 129, 129);\n width: 100%;\n }\n\n .select__options__search-enabled {\n padding-top: 10px;\n width: 100%;\n }\n\n .select__listbox::slotted(nile-divider) {\n --spacing: 0.25rem;\n }\n\n .select__listbox::slotted(small) {\n font-size: 0.875rem;\n font-weight: 600;\n color: var(--nile-colors-dark-500);\n padding-block: 0.25rem;\n padding-inline: 1rem;\n }\n\n .select__search {\n position: sticky;\n top: 0px;\n z-index: 1;\n width: calc(100% - 16px);\n padding: 8px;\n background-color: white;\n margin-bottom: -8px;\n }\n\n .select__footer {\n position: sticky;\n bottom: 0px;\n background: var(--nile-colors-neutral-100);\n border: 1px solid var(--nile-colors-neutral-400);\n display: flex;\n height: 15px;\n /* Auto layout */\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 8px 12px 16px;\n gap: 12px;\n justify-content: space-between;\n }\n\n .tag__prefix[slot='prefix'] {\n height: 14px;\n display: inline-block;\n overflow: hidden;\n }\n\n .tag__prefix[slot='prefix'] img {\n max-height: 100%;\n }\n\n .select__loader {\n width: 100%;\n text-align: center;\n display: block;\n }\n\n .select__loader--icon {\n margin-top: 20px;\n animation: spin 0.6s linear infinite;\n }\n\n .select__no-results {\n padding: 10px;\n }\n\n @keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .select__invisible{\n opacity: 0;\n }\n\n .select__prefix--from-options {\n margin-inline-end: 12px;\n }\n \n .select__hide-default{\n display: none;\n }\n\n .virtualized nile-option[selected] {\n background-color: var(--nile-colors-neutral-100);\n }\n\n .virtualized nile-option[selected]::part(base) {\n color: var(--nile-colors-primary-600);\n }\n`;\n\nexport default [styles];\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTAYaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
|
1
|
+
{"version":3,"file":"nile-virtual-select.css.cjs.js","sources":["../../../src/nile-virtual-select/nile-virtual-select.css.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 {css} from 'lit';\n\n/**\n * Select_2 CSS\n */\nexport const styles = css`\n :host {\n box-sizing: border-box;\n }\n\n .virtualized{\n min-width: 110px;\n width: 100%;\n }\n\n .virtualized ::slotted(nile-option),\n .virtualized nile-option {\n width: 100%;\n display: block;\n }\n\n /* Ensure proper sizing for non-virtualized options (small datasets) */\n .virtualized:not(:has(lit-virtualizer)) {\n display: flex;\n flex-direction: column;\n }\n\n .virtualized div[virtualizer-sizer] {\n display: none !important;\n }\n\n .virtualized:not(:has(lit-virtualizer)) nile-option {\n flex-shrink: 0;\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none !important;\n }\n\n .form-control .form-control__label {\n display: none;\n }\n\n .form-control .form-control__help-text {\n display: none;\n }\n\n /* Label */\n .form-control--has-label .form-control__label {\n display: block;\n margin-bottom: 6px;\n color: var(--nile-colors-dark-900);\n font-family: Colfax-regular;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n letter-spacing: 0.2px;\n }\n\n .form-control--has-label.form-control--medium .form-control__label {\n font-size: 14px;\n }\n\n :host([required]) .form-control--has-label .form-control__label::after {\n content: '*';\n margin-inline-start: -2px;\n color: var(--nile-colors-red-700);\n }\n\n /* Help text */\n .form-control--has-help-text .form-control__help-text {\n display: block;\n color: var(--nile-colors-dark-500);\n margin-top: 0.75rem;\n }\n\n .form-control--has-help-text.form-control--medium .form-control__help-text {\n font-size: 0.875rem;\n }\n\n .form-control--has-help-text.form-control--radio-group\n .form-control__help-text {\n margin-top: 0.25rem;\n }\n\n :host {\n display: block;\n }\n\n /** The popup */\n .select {\n flex: 1 1 auto;\n display: inline-flex;\n width: 100%;\n position: relative;\n vertical-align: middle;\n }\n\n .select::part(popup) {\n z-index: 9999;\n }\n\n .select[data-current-placement^='top']::part(popup) {\n transform-origin: bottom;\n }\n\n .select[data-current-placement^='bottom']::part(popup) {\n transform-origin: top;\n }\n\n /* Combobox */\n .select__combobox {\n flex: 1;\n display: flex;\n width: 100%;\n min-width: 0;\n position: relative;\n align-items: center;\n justify-content: start;\n font-family: var(--nile-font-family-sans-serif);\n font-weight: 400;\n letter-spacing: normal;\n vertical-align: middle;\n overflow: hidden;\n cursor: pointer;\n transition: 150ms color, 150ms border, 150ms box-shadow,\n 150ms background-color;\n }\n\n .select__display-input {\n position: relative;\n width: 100%;\n font: inherit;\n border: none;\n background: none;\n color: var(--nile-colors-dark-900);\n cursor: inherit;\n overflow: hidden;\n padding: 0;\n margin: 0;\n -webkit-appearance: none;\n font-family: var(--nile-font-family-serif);\n }\n\n .select__display-input::placeholder {\n font-family: var(--nile-font-family-serif);\n }\n\n .select:not(.select--disabled):hover .select__display-input {\n color: var(--nile-colors-dark-900);\n }\n\n .select__display-input:focus {\n outline: none;\n }\n\n /* Visually hide the display input when multiple is enabled */\n .select--multiple:not(.select--placeholder-visible) .select__display-input {\n position: absolute;\n z-index: -1;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n }\n\n .select__value-input {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: -1;\n }\n\n .select__tags {\n display: flex;\n flex: 1;\n align-items: center;\n flex-wrap: no-wrap;\n margin-inline-start: 0.5rem;\n width: 100%;\n overflow: hidden;\n }\n\n .select__tags-count {\n color: var(--nile-colors-primary-600);\n font-family: Colfax-regular;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 14px;\n letter-spacing: 0.2px;\n margin: 6px;\n }\n\n .select__tags-count-clearable {\n margin-right: 50px;\n }\n\n .select__tags::slotted(nile-tag) {\n cursor: pointer !important;\n }\n\n .select--disabled .select__tags,\n .select--disabled .select__tags::slotted(nile-tag) {\n cursor: not-allowed !important;\n }\n\n /* Standard selects */\n .select--standard .select__combobox {\n background-color: var(--nile-colors-white-base);\n border: solid 1px var(--nile-colors-neutral-500);\n }\n\n .select--standard .select__combobox:hover {\n border: 1px solid var(--nile-colors-dark-900);\n background: var(--nile-colors-white-base);\n }\n\n .select--standard.select--disabled .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n border-color: var(--nile-colors-neutral-500);\n color: var(--nile-colors-dark-500);\n opacity: 0.5;\n cursor: not-allowed;\n outline: none;\n }\n\n .select--standard:not(.select--disabled).select--open .select__combobox,\n .select--standard:not(.select--disabled).select--focused .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n }\n\n .select--warning .select__combobox {\n border-color: var(--nile-colors-yellow-500);\n }\n\n .select--error .select__combobox {\n border-color: var(--nile-colors-red-500);\n }\n\n .select--success {\n border-color: var(--nile-colors-green-500);\n }\n\n /* Filled selects */\n .select--filled .select__combobox {\n border: none;\n background-color: var(--nile-colors-neutral-100);\n color: var(--nile-colors-dark-900);\n }\n\n .select--filled:hover:not(.select--disabled) .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n }\n\n .select--filled.select--disabled .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .select--filled:not(.select--disabled).select--open .select__combobox,\n .select--filled:not(.select--disabled).select--focused .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n outline: 3px solid rgba(0, 89, 255, 0.4);\n }\n\n .select--medium .select__combobox {\n border-radius: 4px;\n font-size: 14px;\n padding: 12px;\n height: 40px;\n box-sizing: border-box;\n }\n\n .select--medium .select__clear {\n margin-inline-start: 0.75rem;\n }\n\n .select--medium .select__prefix::slotted(*) {\n margin-inline-end: 0.75rem;\n }\n\n .select--medium .select__prefix.multiple::slotted(*) {\n margin-inline-start: 0.75rem;\n }\n\n .select--medium.select--multiple:not(.select--placeholder-visible)\n .select__combobox {\n padding-inline-start: 0;\n }\n\n .select--medium .select__tags {\n gap: 3px;\n }\n\n /* Pills */\n .select--pill.select--medium .select__combobox {\n border-radius: 2.5rem;\n }\n\n /* Prefix */\n .select__prefix {\n flex: 0;\n display: inline-flex;\n align-items: center;\n color: var(--nile-colors-dark-500);\n }\n\n .select__suffix {\n flex: 0;\n display: inline-flex;\n align-items: center;\n color: var(--nile-colors-dark-500);\n }\n\n /* Clear button */\n .select__clear {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: inherit;\n color: var(--nile-colors-primary-600);\n border: none;\n background: none;\n padding: 0;\n transition: 150ms color;\n cursor: pointer;\n }\n\n .select__clear:hover {\n color: var(--nile-colors-dark-500);\n }\n\n .select__clear:focus {\n outline: none;\n }\n\n /* Expand icon */\n .select__expand-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n transition: 250ms rotate ease;\n rotate: 0;\n margin-inline-start: 0.25rem;\n }\n\n .select--open .select__expand-icon {\n rotate: -180deg;\n }\n\n /* Listbox */\n .select__listbox {\n display: block;\n position: relative;\n font-size: 1rem;\n font-weight: 400;\n background: var(--nile-colors-white-base);\n border: solid 1px var(--nile-colors-neutral-500);\n border-radius: 0.25rem;\n padding-block: 0;\n padding-inline: 0;\n overflow: auto;\n overscroll-behavior: none;\n /* Make sure it adheres to the popup's auto size */\n max-width: var(--auto-size-available-width);\n max-height: var(--auto-size-available-height);\n }\n\n .select__options {\n font-size: 14px;\n color: rgb(133, 129, 129);\n width: 100%;\n }\n\n .select__options__search-enabled {\n padding-top: 10px;\n width: 100%;\n }\n\n .select__listbox::slotted(nile-divider) {\n --spacing: 0.25rem;\n }\n\n .select__listbox::slotted(small) {\n font-size: 0.875rem;\n font-weight: 600;\n color: var(--nile-colors-dark-500);\n padding-block: 0.25rem;\n padding-inline: 1rem;\n }\n\n .select__search {\n position: sticky;\n top: 0px;\n z-index: 1;\n width: calc(100% - 16px);\n padding: 8px;\n background-color: white;\n margin-bottom: -8px;\n }\n\n .select__footer {\n position: sticky;\n bottom: 0px;\n background: var(--nile-colors-neutral-100);\n border: 1px solid var(--nile-colors-neutral-400);\n display: flex;\n height: 15px;\n /* Auto layout */\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 8px 12px 16px;\n gap: 12px;\n justify-content: space-between;\n }\n\n .tag__prefix[slot='prefix'] {\n height: 14px;\n display: inline-block;\n overflow: hidden;\n }\n\n .tag__prefix[slot='prefix'] img {\n max-height: 100%;\n }\n\n .select__loader {\n width: 100%;\n text-align: center;\n display: block;\n }\n\n .select__loader--icon {\n margin-top: 20px;\n animation: spin 0.6s linear infinite;\n }\n\n .select__no-results {\n padding: 10px;\n }\n\n @keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .select__invisible{\n opacity: 0;\n }\n\n .select__prefix--from-options {\n margin-inline-end: 12px;\n }\n \n .select__hide-default{\n display: none;\n }\n\n .virtualized nile-option[selected] {\n background-color: var(--nile-colors-neutral-100);\n }\n\n .virtualized nile-option[selected]::part(base) {\n color: var(--nile-colors-primary-600);\n }\n\n .virtual-select-loader {\n position: absolute;\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 75%;\n }\n\n .select__footer.loading, .select__options.loading {\n opacity: 0.5;\n pointer-events: none;\n }\n`;\n\nexport default [styles];\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTAYaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
|
@@ -478,4 +478,18 @@ import{css as e}from"lit";const o=e`
|
|
478
478
|
.virtualized nile-option[selected]::part(base) {
|
479
479
|
color: var(--nile-colors-primary-600);
|
480
480
|
}
|
481
|
+
|
482
|
+
.virtual-select-loader {
|
483
|
+
position: absolute;
|
484
|
+
display: flex;
|
485
|
+
justify-content: center;
|
486
|
+
align-items: center;
|
487
|
+
width: 100%;
|
488
|
+
height: 75%;
|
489
|
+
}
|
490
|
+
|
491
|
+
.select__footer.loading, .select__options.loading {
|
492
|
+
opacity: 0.5;
|
493
|
+
pointer-events: none;
|
494
|
+
}
|
481
495
|
`;export{o as s};
|