@aquera/nile-elements 0.1.50-beta-1.4 → 0.1.50-beta-1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -0
- package/demo/index.js +0 -1
- package/demo/variables.css +2 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +6 -6
- package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.cjs.js.map +1 -1
- package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
- package/dist/nile-badge/index.cjs.js +1 -1
- package/dist/nile-badge/index.esm.js +1 -1
- package/dist/nile-badge/nile-badge.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
- package/dist/nile-badge/nile-badge.esm.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -1
- package/dist/nile-badge/nile-badge.test.esm.js +1 -1
- package/dist/nile-button/index.cjs.js +1 -1
- package/dist/nile-button/index.esm.js +1 -1
- package/dist/nile-button/nile-button.cjs.js +1 -1
- package/dist/nile-button/nile-button.cjs.js.map +1 -1
- package/dist/nile-button/nile-button.esm.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js.map +1 -1
- package/dist/nile-button/nile-button.test.esm.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
- package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
- package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
- package/dist/nile-chip/nile-chip.test.esm.js +1 -1
- package/dist/nile-dialog/index.cjs.js +1 -1
- package/dist/nile-dialog/index.esm.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
- package/dist/nile-dialog/nile-dialog.esm.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.cjs.js.map +1 -1
- package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
- package/dist/nile-drawer/index.cjs.js +1 -1
- package/dist/nile-drawer/index.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
- package/dist/nile-drawer/nile-drawer.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -1
- package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
- package/dist/nile-icon/icons/svg/column-add.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/column-add.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/column-add.esm.js +1 -0
- package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
- package/dist/nile-icon/icons/svg/index.esm.js +1 -1
- package/dist/nile-icon/index.cjs.js +1 -1
- package/dist/nile-icon/index.cjs.js.map +1 -1
- package/dist/nile-icon/index.esm.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -1
- package/dist/nile-icon/nile-icon.test.esm.js +1 -1
- package/dist/nile-icon-button/index.cjs.js +1 -1
- package/dist/nile-icon-button/index.esm.js +1 -1
- package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
- package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
- package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
- package/dist/nile-input/index.cjs.js +1 -1
- package/dist/nile-input/index.esm.js +1 -1
- package/dist/nile-input/nile-input.cjs.js +1 -1
- package/dist/nile-input/nile-input.cjs.js.map +1 -1
- package/dist/nile-input/nile-input.esm.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js.map +1 -1
- package/dist/nile-input/nile-input.test.esm.js +1 -1
- package/dist/nile-menu-item/index.cjs.js +1 -1
- package/dist/nile-menu-item/index.esm.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
- package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
- package/dist/nile-option/index.cjs.js +1 -1
- package/dist/nile-option/index.esm.js +1 -1
- package/dist/nile-option/nile-option.cjs.js +1 -1
- package/dist/nile-option/nile-option.cjs.js.map +1 -1
- package/dist/nile-option/nile-option.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.css.cjs.js +1 -1
- package/dist/nile-select/nile-select.css.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.css.esm.js +2 -2
- package/dist/nile-select/nile-select.esm.js +9 -9
- 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-stepper-item/nile-stepper-item.css.cjs.js +1 -1
- package/dist/nile-stepper-item/nile-stepper-item.css.cjs.js.map +1 -1
- package/dist/nile-stepper-item/nile-stepper-item.css.esm.js +3 -3
- package/dist/nile-tab/index.cjs.js +1 -1
- package/dist/nile-tab/index.esm.js +1 -1
- package/dist/nile-tab/nile-tab.cjs.js +1 -1
- package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
- package/dist/nile-tab/nile-tab.esm.js +1 -1
- package/dist/nile-tab-group/index.cjs.js +1 -1
- package/dist/nile-tab-group/index.esm.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
- package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
- package/dist/nile-tag/index.cjs.js +1 -1
- package/dist/nile-tag/index.esm.js +1 -1
- package/dist/nile-tag/nile-tag.cjs.js +1 -1
- package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
- package/dist/nile-tag/nile-tag.esm.js +1 -1
- package/dist/nile-toast/index.cjs.js +1 -1
- package/dist/nile-toast/index.esm.js +1 -1
- package/dist/nile-toast/nile-toast.cjs.js +1 -1
- package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
- package/dist/nile-toast/nile-toast.esm.js +1 -1
- package/dist/nile-tree/index.cjs.js +1 -1
- package/dist/nile-tree/index.esm.js +1 -1
- package/dist/nile-tree/nile-tree.cjs.js +1 -1
- package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
- package/dist/nile-tree/nile-tree.esm.js +1 -1
- package/dist/nile-tree-item/index.cjs.js +1 -1
- package/dist/nile-tree-item/index.esm.js +1 -1
- package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
- package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
- package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
- package/dist/src/nile-icon/icons/svg/column-add.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/column-add.js +5 -0
- package/dist/src/nile-icon/icons/svg/column-add.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/index.d.ts +1 -0
- package/dist/src/nile-icon/icons/svg/index.js +1 -0
- package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
- package/dist/src/nile-select/nile-select.css.js +2 -2
- package/dist/src/nile-select/nile-select.css.js.map +1 -1
- package/dist/src/nile-stepper-item/nile-stepper-item.css.js +3 -3
- package/dist/src/nile-stepper-item/nile-stepper-item.css.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/nile-icon/icons/svg/column-add.ts +5 -0
- package/src/nile-icon/icons/svg/index.ts +1 -0
- package/src/nile-select/nile-select.css.ts +2 -2
- package/src/nile-stepper-item/nile-stepper-item.css.ts +3 -3
- package/demo/filenames.txt +0 -1
- package/demo/filenames.txt +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-select.cjs.js","sources":["../../../src/nile-select/nile-select.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-select.css';\n\nimport '../nile-icon';\nimport '../nile-popup/nile-popup';\nimport '../nile-tag/nile-tag';\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 { scrollIntoView } from '../internal/scroll';\nimport { waitForEvent } from '../internal/event';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValues } 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 { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\ntype NileRemoveEvent = CustomEvent<Record<PropertyKey, never>>;\n\n/**\n * Nile icon component.\n *\n * @tag nile-select\n *\n */\n\n/**\n * @summary Selects allow you to choose items from a menu of predefined options.\n * @status stable\n * @since 2.0\n *\n * @dependency nile-icon\n * @dependency nile-popup\n * @dependency nile-tag\n *\n * @slot - The listbox options. Must be `<nile-option>` elements. You can use `<nile-divider>` to group items visually.\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. Rotates on open and close.\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 *\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 `multiselect` is used.\n * @csspart tag - The individual tags that represent each multiselect option.\n * @csspart tag__base - The tag's base part.\n * @csspart tag__content - The tag's content part.\n * @csspart tag__remove-button - The tag's remove button.\n * @csspart tag__remove-button__base - The tag's remove button base part.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n */\n\n@customElement('nile-select')\nexport class NileSelect extends NileElement implements NileFormControl {\n static styles: CSSResultGroup = styles;\n\n // protected override BUBBLES=false;\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 private typeToSelectString = '';\n private typeToSelectTimeout: number;\n\n @query('.select') popup: NilePopup;\n @query('.select__combobox') combobox: HTMLSlotElement;\n @query('.select__display-input') displayInput: HTMLInputElement;\n @query('.select__value-input') valueInput: HTMLInputElement;\n @query('.select__listbox') listbox: HTMLSlotElement;\n\n @state() private hasFocus = false;\n @state() displayLabel = '';\n @state() currentOption: NileOption;\n @state() selectedOptions: NileOption[] = [];\n @state() oldValue: string | string[] = '';\n\n /** The name of the select, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /**\n * The current value of the select, submitted as a name/value pair with form data. When `multiple` is enabled, the\n * value will be a space-delimited list of values based on the options selected.\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 /** Placeholder text to show as a hint when the select is empty. */\n @state() searchValue: string = '';\n\n @property({ type: Boolean, reflect: true }) searchEnabled = false;\n\n @property({attribute:'internal-search-placeholder'}) internalSearchPlaceHolder = 'Search...';\n\n @property({ type: Boolean, reflect: true }) blockValueChange = false;\n\n @property({ type: Boolean, reflect: true }) disableLocalSearch = false;\n\n @property({ type: Boolean, reflect: true }) optionsLoading = false;\n\n @property({ type: Boolean, reflect: true }) noWidthSync = false;\n\n /** Allows more than one option to be selected. */\n @property({ type: Boolean, reflect: true }) multiple = false;\n\n @property({ attribute: true, reflect: true }) helpText = '';\n @property({ attribute: 'help-text', reflect: true }) help_text = '';\n\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n /** Sets the input to a warning state, changing its visual appearance. */\n @property({ type: Boolean }) warning = false;\n\n /** Sets the input to an error state, changing its visual appearance. */\n @property({ type: Boolean }) error = false;\n\n /** Sets the input to a success state, changing its visual appearance. */\n @property({ type: Boolean }) success = 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 /** 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 }) clearable = false;\n\n /**\n * Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\n * use the `show()` and `hide()` methods and this attribute will reflect the select's open state.\n */\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 @property({ type: Boolean }) showSelected = false;\n\n @state() oldMaxOptionsVisible: number = 1;\n\n @property({ type: Boolean }) showNoResults: boolean = false;\n\n @property({ type: String }) noResultsMessage: string = 'No results found';\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.handleDocumentFocusIn = this.handleDocumentFocusIn.bind(this);\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);\n\n // Because this is a form control, it shouldn't be opened initially\n this.open = false;\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n protected updated(_changedProperties: PropertyValues): void {\n if(_changedProperties.has('multiple')) {\n this.setCheckBoxInOption(this.multiple);\n }\n }\n\n setCheckBoxInOption(checked: boolean): void {\n const options = this.getAllOptions();\n options.forEach((option: NileOption) => {\n option.showCheckbox = checked;\n })\n }\n\n private addOpenListeners() {\n document.addEventListener('focusin', this.handleDocumentFocusIn);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n }\n\n private removeOpenListeners() {\n document.removeEventListener('focusin', this.handleDocumentFocusIn);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.displayInput.setSelectionRange(0, 0);\n this.emit('nile-focus', { value: this.value, name: this.name });\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('nile-blur', { value: this.value, name: this.name });\n }\n\n private handleDocumentFocusIn(event: FocusEvent) {\n // Close when focusing out of the select\n const path = event.composedPath();\n if (this && !path.includes(this)) {\n this.hide();\n }\n }\n\n /**\n * Handles the click event on the footer.\n * @param event - The click event.\n */\n private handleFooterClick(event: MouseEvent): void {\n event.stopPropagation();\n event.preventDefault();\n }\n\n /**\n * Toggles the display of selected options in the dropdown\n * @param event - the event object\n */\n private toggleShowSelected(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n // Only toggle if there are selected options\n if (this.selectedOptions?.length === 0) {\n return;\n }\n // Toggle the showSelected property\n this.showSelected = !this.showSelected;\n\n // Hide unselected options if showSelected is true\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n }\n });\n\n // this.requestUpdate();\n }\n\n /**\n * Deselects all options and updates the value, selectedOptions, and displayLabel properties accordingly\n */\n private unSlectAll(): void {\n this.showSelected = false;\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n el.selected = false;\n el.hidden = false;\n });\n this.value = '';\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 }\n\n private handleDocumentKeyDown(event: KeyboardEvent) {\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\n // Ignore presses when the target is an icon button (e.g. the remove button in <nile-tag>)\n if (isClearButton || isIconButton) {\n return;\n }\n\n // Close when pressing escape\n if (event.key === 'Escape' && this.open) {\n event.preventDefault();\n event.stopPropagation();\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n\n // Handle enter and space. When pressing space, we allow for type to select behaviors so if there's anything in the\n // buffer we _don't_ close it.\n if (\n event.key === 'Enter' ||\n (event.key === ' ' && this.typeToSelectString === '')\n ) {\n event.preventDefault();\n event.stopImmediatePropagation();\n\n // If it's not open, open it\n if (!this.open) {\n this.show();\n return;\n }\n\n // If it is open, update the value based on the current selection and close it\n if (this.currentOption && !this.currentOption.disabled) {\n if (this.multiple) {\n this.toggleOptionSelection(this.currentOption);\n } else {\n this.setSelectedOptions(this.currentOption);\n }\n\n // Emit after updating\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 if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n\n return;\n }\n\n // All other \"printable\" keys trigger type to select\n if (event.key.length === 1 || event.key === 'Backspace') {\n const allOptions = this.getAllOptions();\n\n // Don't block important key combos like CMD+R\n if (event.metaKey || event.ctrlKey || event.altKey) {\n return;\n }\n\n // Open, unless the key that triggered is backspace\n if (!this.open) {\n if (event.key === 'Backspace') {\n return;\n }\n\n this.show();\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n clearTimeout(this.typeToSelectTimeout);\n this.typeToSelectTimeout = window.setTimeout(\n () => (this.typeToSelectString = ''),\n 1000\n );\n\n if (event.key === 'Backspace') {\n this.typeToSelectString = this.typeToSelectString.slice(0, -1);\n } else {\n this.typeToSelectString += event.key.toLowerCase();\n }\n\n for (const option of allOptions) {\n const label = option.getTextLabel().toLowerCase();\n\n if (label.startsWith(this.typeToSelectString)) {\n this.setCurrentOption(option);\n break;\n }\n }\n }\n }\n\n private handleDocumentMouseDown(event: MouseEvent) {\n // Close when clicking outside of the select\n const path = event.composedPath();\n if (this && !path.includes(this)) {\n this.hide();\n }\n }\n\n private handleLabelClick() {\n this.displayInput.focus();\n this.hide();\n }\n\n private handleComboboxMouseDown(event: MouseEvent) {\n const path = event.composedPath();\n const isIconButton = path.some(\n el =>\n el instanceof Element && el.tagName.toLowerCase() === 'nile-icon-button'\n );\n\n // Ignore disabled controls and clicks on tags (remove buttons)\n if (this.disabled || isIconButton) {\n return;\n }\n\n event.preventDefault();\n this.displayInput.focus({ preventScroll: true });\n this.open = !this.open;\n }\n\n private handleComboboxKeyDown(event: KeyboardEvent) {\n event.stopPropagation();\n this.handleDocumentKeyDown(event);\n }\n\n private handleClearClick(event: MouseEvent) {\n event.stopPropagation();\n\n if (this.value !== '') {\n this.setSelectedOptions([]);\n this.displayInput.focus({ preventScroll: true });\n\n // Emit after update\n this.updateComplete.then(() => {\n const val={ value: this.multiple?this.value:'', name: this.name }\n this.emit('nile-clear', val);\n this.nileInput(val);\n this.nileChange(val);\n });\n }\n }\n\n private handleClearMouseDown(event: MouseEvent) {\n // Don't lose focus or propagate events when clicking the clear button\n event.stopPropagation();\n event.preventDefault();\n }\n\n private handleOptionClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const option = target.closest('nile-option');\n\n if (this.blockValueChange && option) {\n this.emit('nile-block-change', { value: option?.value, name: this.name });\n this.hide();\n return;\n }\n\n const oldValue = this.value;\n this.oldValue = oldValue;\n\n if (option && !option.disabled) {\n if (this.multiple) {\n this.toggleOptionSelection(option);\n } else {\n this.setSelectedOptions(option);\n }\n\n // Set focus after updating so the value is announced by screen readers\n this.updateComplete.then(() =>\n this.displayInput.focus({ preventScroll: true })\n );\n\n if (this.value !== oldValue) {\n // Emit after updating\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 if (this.showSelected) {\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n }\n });\n\n this.requestUpdate();\n }\n }\n\n private handleDefaultSlotChange() {\n const allOptions = this.getAllOptions();\n const value = Array.isArray(this.value) ? this.value : [this.value];\n const values: string[] = [];\n\n // Check for duplicate values in menu items\n if (customElements.get('nile-option')) {\n allOptions.forEach(option => values.push(option.value));\n\n // Select only the options that match the new value\n this.setSelectedOptions(\n allOptions.filter(el => value.map(String).includes(el.value))\n );\n } else {\n // Rerun this handler when <nile-option> is registered\n customElements\n .whenDefined('nile-option')\n .then(() => this.handleDefaultSlotChange());\n }\n }\n\n private handleTagRemove(event: NileRemoveEvent, option: NileOption) {\n event.stopPropagation();\n\n if (!this.disabled) {\n this.toggleOptionSelection(option, false);\n\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n }\n });\n\n // Emit after updating\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\n // Gets an array of all <nile-option> elements\n private getAllOptions() {\n // Get all options as an array\n const options = [...this.querySelectorAll<NileOption>('nile-option')];\n\n // Sort the options based on the order of values selected\n if (this.multiple && this.oldValue?.length > 0) {\n options.sort((a, b) => {\n let indexA = this.oldValue.indexOf(a.value);\n let indexB = this.oldValue.indexOf(b.value);\n\n // Handle cases where a __value is not found\n if (indexA === -1) {\n indexA = Infinity; // Place at the end if not found\n }\n if (indexB === -1) {\n indexB = Infinity; // Place at the end if not found\n }\n\n if (indexA < indexB) {\n return -1;\n }\n if (indexA > indexB) {\n return 1;\n }\n return 0;\n });\n }\n\n return options;\n }\n\n private getOptionPrefix(option: NileOption): string {\n const prefixSlot = option.shadowRoot?.querySelector(\n 'slot[name=\"prefix\"]'\n ) as HTMLSlotElement;\n if (!prefixSlot) return '';\n\n const assignedNodes = prefixSlot.assignedNodes();\n const htmlStrings: string[] = [];\n\n assignedNodes.forEach(node => {\n if (node instanceof HTMLElement) {\n htmlStrings.push(node.outerHTML);\n } else if (node.nodeType === Node.TEXT_NODE) {\n // Text node\n htmlStrings.push(node.textContent || '');\n }\n });\n\n return htmlStrings.join('');\n }\n\n // Gets the first <nile-option> element\n private getFirstOption() {\n return this.querySelector<NileOption>('nile-option');\n }\n\n // Sets the current option, which is the option the user is currently interacting with (e.g. via keyboard). Only one\n // option may be \"current\" at a time.\n private setCurrentOption(option: NileOption | null) {\n const allOptions = this.getAllOptions();\n\n // Clear selection\n allOptions.forEach(el => {\n el.current = false;\n el.tabIndex = -1;\n });\n\n // Select the target option\n if (option) {\n this.currentOption = option;\n option.current = true;\n option.tabIndex = 0;\n option.focus();\n }\n }\n\n // Sets the selected option(s)\n private setSelectedOptions(option: NileOption | NileOption[]) {\n const allOptions = this.getAllOptions();\n const newSelectedOptions = Array.isArray(option) ? option : [option];\n\n // Clear existing selection\n allOptions.forEach(el => (el.selected = false));\n\n // Set the new selection\n if (newSelectedOptions.length) {\n newSelectedOptions.forEach(el => (el.selected = true));\n }\n\n // Update selection, value, and display label\n this.selectionChanged();\n }\n\n // Toggles an option's selected state\n private toggleOptionSelection(option: NileOption, force?: boolean) {\n if (force === true || force === false) {\n option.selected = force;\n } else {\n option.selected = !option.selected;\n }\n\n this.selectionChanged();\n }\n\n // This method must be called whenever the selection changes. It will update the selected options cache, the current\n // value, and the display value\n private selectionChanged() {\n // Update selected options cache\n this.selectedOptions = this.getAllOptions().filter(el => el.selected);\n\n // Update the value and display label\n if (this.multiple) {\n this.value = this.selectedOptions.map(el => el.value);\n\n if (this.placeholder && this.value.length === 0) {\n // When no items are selected, keep the value empty so the placeholder shows\n this.displayLabel = '';\n } else {\n this.displayLabel = this.selectedOptions.length + ' selected';\n }\n\n if (this.selectedOptions.length === 0) {\n this.showSelected = false;\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n } else {}\n });\n\n this.requestUpdate();\n }\n } else {\n this.value = this.selectedOptions[0]?.value ?? this.value;\n this.displayLabel = this.selectedOptions[0]?.getTextLabel()\n ? this.selectedOptions[0].getTextLabel()\n : this.value ?? '';\n }\n\n // Update validity\n this.updateComplete.then(() => {\n this.formControlController.updateValidity();\n });\n\n this.calculateTotalWidthOfTags();\n }\n\n handleSearchFocus() {\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchBlur() {\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchChange(e: any) {\n this.searchValue = e.detail.value;\n if (!this.disableLocalSearch) {\n let filteredOptions = this.filterOptions(this.searchValue);\n if (filteredOptions.length === 0) {\n // Display 'No results found' message.\n this.showNoResults = true;\n } else {\n this.showNoResults = false;\n }\n }\n }\n\n filterOptions(searchValue: string) {\n const allOptions = this.getAllOptions();\n const lowerCaseSearchValue = searchValue.toLowerCase();\n\n let filteredOptions: NileOption[] = [];\n\n allOptions.forEach(el => {\n const lowerCaseLabel = el.getTextLabel().toLowerCase();\n const lowerCaseValue = (el.value || '').toLowerCase();\n if (\n lowerCaseLabel.includes(lowerCaseSearchValue) ||\n lowerCaseValue.includes(lowerCaseSearchValue)\n ) {\n el.hidden = false;\n filteredOptions.push(el);\n } else {\n el.hidden = true;\n }\n });\n\n return filteredOptions;\n }\n\n private handleInvalid(event: Event) {\n this.formControlController.setValidity(false);\n this.formControlController.emitInvalidEvent(event);\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Close the listbox when the control is disabled\n if (this.disabled) {\n this.open = false;\n this.handleOpenChange();\n }\n }\n\n @watch('value', { waitUntilFirstUpdate: true })\n handleValueChange() {\n const allOptions = this.getAllOptions();\n const value = Array.isArray(this.value) ? this.value : [this.value];\n\n // Select only the options that match the new value\n this.setSelectedOptions(allOptions.filter(el => value.includes(el.value)));\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open && !this.disabled) {\n // Reset the current option\n this.setCurrentOption(this.selectedOptions[0] || this.getFirstOption());\n\n // Show\n this.emit('nile-show', { value: this.value, name: this.name });\n this.addOpenListeners();\n\n this.showNoResults = !this.getAllOptions()?.length;\n\n await stopAnimations(this);\n this.listbox.hidden = false;\n this.popup.active = true;\n\n // Select the appropriate option based on value after the listbox opens\n requestAnimationFrame(() => {\n this.setCurrentOption(this.currentOption);\n });\n\n const { keyframes, options } = getAnimation(this, 'select.show', {\n dir: 'ltr',\n });\n await animateTo(this.popup.popup, keyframes, options);\n\n // Make sure the current option is scrolled into view (required for Safari)\n if (this.currentOption) {\n scrollIntoView(this.currentOption, this.listbox, 'vertical', 'auto');\n }\n this.searchValue = '';\n this.filterOptions(this.searchValue);\n\n this.emit('nile-after-show', { value: this.value, name: this.name });\n } else {\n // Hide\n this.emit('nile-hide', { value: this.value, name: this.name });\n this.showSelected = false;\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.listbox.hidden = true;\n this.popup.active = false;\n\n this.searchValue = '';\n this.emit('nile-after-hide', { value: this.value, name: this.name });\n }\n }\n\n /** Shows the listbox. */\n async show() {\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 /** Hides the listbox. */\n async hide() {\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 /** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */\n checkValidity() {\n return this.valueInput.checkValidity();\n }\n\n /** Gets the associated form, if one exists. */\n getForm(): HTMLFormElement | null {\n return this.formControlController.getForm();\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n reportValidity() {\n return this.valueInput.reportValidity();\n }\n\n /** Sets a custom validation message. Pass an empty string to restore validity. */\n setCustomValidity(message: string) {\n this.valueInput.setCustomValidity(message);\n this.formControlController.updateValidity();\n }\n\n /** Sets focus on the control. */\n focus(options?: FocusOptions) {\n this.displayInput.focus(options);\n }\n\n /** Removes focus from the control. */\n blur() {\n this.displayInput.blur();\n }\n\n onInputChange(event: Event) {\n // This will stop the event from bubbling up to the parent `nile-select` component\n event.stopPropagation();\n }\n\n calculateWidthOfSelectTagsDiv() {\n if (this.shadowRoot) {\n const selectTagsDiv = this.shadowRoot.querySelector('div.select__tags');\n if (selectTagsDiv instanceof HTMLElement) {\n const width = selectTagsDiv.offsetWidth;\n return width - 70;\n }\n }\n }\n\n calculateTotalWidthOfTags() {\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 render() {\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 || this.help_text) ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n const prefixContent = this.selectedOptions[0]\n ? this.getOptionPrefix(this.selectedOptions[0])\n : '';\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 <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 <div part=\"form-control-input\" class=\"form-control-input\">\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 ${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 <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 ${prefixContent && !this.multiple\n ? html`<div class=\"select__prefix--from-options\">\n ${unsafeHTML(prefixContent)}\n </div>`\n : html`<slot\n part=\"prefix\"\n name=\"prefix\"\n class=${classMap({\n select__prefix: true,\n multiple: this.multiple,\n })}\n ></slot>`}\n\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 @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n\n ${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 ${this.getOptionPrefix(option)\n ? html`<span class=\"tag__prefix\" slot=\"prefix\"\n >${unsafeHTML(\n this.getOptionPrefix(option)\n )}</span\n >`\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 : ''}\n\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 ${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 : ''}\n\n <slot\n part=\"suffix\"\n name=\"suffix\"\n class=${classMap({\n select__suffix: true,\n })}\n ></slot>\n\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 </div>\n\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 @slotchange=${this.handleDefaultSlotChange}\n >\n ${this.searchEnabled\n ? html` <div 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 ${this.optionsLoading\n ? html`\n <span 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 <div\n class=\"select__options ${this.searchEnabled\n ? 'select__options__search-enabled'\n : ``}\"\n >\n ${this.showNoResults\n ? html`\n <div class=\"select__no-results\">\n ${this.noResultsMessage}\n </div>\n `\n : ''}\n <slot></slot>\n </div>\n\n ${this.multiple\n ? html` <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` <span\n class=\"select__clear\"\n @click=\"${this.unSlectAll}\"\n >Clear All</span\n >`\n : ``}\n </div>`\n : ``}\n </div>\n </nile-popup>\n </div>\n\n ${hasHelpText\n ? html` <nile-form-help-text>${(this.helpText || this.help_text)}</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 </div>\n `;\n }\n\n nileInput(value:any){\n this.emit('nile-input',value)\n }\n\n nileChange(value:any){\n this.emit('nile-change',value)\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 NileSelect;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-select': NileSelect;\n }\n}\n"],"names":["NileSelect","w","this","formControlController","FormControlController","assumeInteractionOn","hasSlotController","HasSlotController","typeToSelectString","hasFocus","displayLabel","selectedOptions","oldValue","name","value","defaultValue","size","placeholder","searchValue","searchEnabled","internalSearchPlaceHolder","blockValueChange","disableLocalSearch","optionsLoading","noWidthSync","multiple","helpText","help_text","errorMessage","warning","error","success","maxOptionsVisible","disabled","clearable","open","hoist","filled","pill","label","placement","form","required","showSelected","oldMaxOptionsVisible","showNoResults","noResultsMessage","_this","_inherits","_f","_createClass","key","get","_this$valueInput","valueInput","validity","_this$valueInput2","validationMessage","connectedCallback","super","handleDocumentFocusIn","bind","handleDocumentKeyDown","handleDocumentMouseDown","emit","disconnectedCallback","updated","_changedProperties","has","setCheckBoxInOption","checked","getAllOptions","forEach","option","showCheckbox","addOpenListeners","document","addEventListener","removeOpenListeners","removeEventListener","handleFocus","displayInput","setSelectionRange","handleBlur","event","path","composedPath","includes","hide","handleFooterClick","stopPropagation","preventDefault","toggleShowSelected","_this$selectedOptions","_this2","length","el","selected","hidden","unSlectAll","selectionChanged","_this3","target","isClearButton","closest","isIconButton","focus","preventScroll","stopImmediatePropagation","currentOption","toggleOptionSelection","setSelectedOptions","updateComplete","then","nileInput","nileChange","show","allOptions","metaKey","ctrlKey","altKey","clearTimeout","typeToSelectTimeout","window","setTimeout","slice","toLowerCase","_iterator","_createForOfIteratorHelper","_step","s","n","done","getTextLabel","startsWith","setCurrentOption","err","e","f","handleLabelClick","handleComboboxMouseDown","some","Element","tagName","handleComboboxKeyDown","handleClearClick","val","handleClearMouseDown","handleOptionClick","requestUpdate","handleDefaultSlotChange","_this6","Array","isArray","values","customElements","push","filter","map","String","whenDefined","handleTagRemove","removedtagvalue","_this$oldValue","_this8","options","_toConsumableArray","querySelectorAll","sort","a","b","indexA","indexOf","indexB","Infinity","getOptionPrefix","prefixSlot","shadowRoot","querySelector","assignedNodes","htmlStrings","node","HTMLElement","outerHTML","nodeType","Node","TEXT_NODE","textContent","join","getFirstOption","current","tabIndex","newSelectedOptions","force","_this9","_this$selectedOptions2","_this$selectedOptions3","_this$selectedOptions4","_this$value","updateValidity","calculateTotalWidthOfTags","handleSearchFocus","handleSearchBlur","handleSearchChange","detail","filterOptions","lowerCaseSearchValue","filteredOptions","lowerCaseLabel","lowerCaseValue","handleInvalid","setValidity","emitInvalidEvent","handleDisabledChange","handleOpenChange","handleValueChange","_handleOpenChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_this10","_this$getAllOptions","_g","_i2","_s2","_g2","_i3","_s3","wrap","_callee$","_context2","prev","next","stopAnimations","listbox","popup","active","requestAnimationFrame","getAnimation","dir","keyframes","animateTo","scrollIntoView","stop","_callee2","_callee2$","_context3","waitForEvent","_callee3","_callee3$","_context4","checkValidity","getForm","reportValidity","setCustomValidity","message","blur","onInputChange","calculateWidthOfSelectTagsDiv","selectTagsDiv","offsetWidth","widths","tag","widthOfSelectTagsDiv","summ","lastindex","i","render","_this12","hasLabelSlot","test","hasLabelSuffixSlot","hasCustomSelect","hasLabel","hasClearIcon","isPlaceholderVisible","hasHelpText","hasErrorMessage","prefixContent","html","_templateObject","_taggedTemplateLiteral","classMap","_templateObject2","select","ifDefined","undefined","_templateObject3","_templateObject4","select__combobox","_templateObject5","unsafeHTML","_templateObject6","select__prefix","_templateObject7","index","classes","select__invisible","_templateObject8","_templateObject9","_templateObject10","_templateObject11","select__suffix","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","NileElement","styles","__decorate","query","prototype","state","property","converter","fromAttribute","split","toAttribute","type","Boolean","reflect","attribute","Number","watch","waitUntilFirstUpdate","_export","customElement","setDefaultAnimation","opacity","scale","duration","easing"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"nile-select.cjs.js","sources":["../../../src/nile-select/nile-select.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-select.css';\n\nimport '../nile-icon';\nimport '../nile-popup/nile-popup';\nimport '../nile-tag/nile-tag';\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 { scrollIntoView } from '../internal/scroll';\nimport { waitForEvent } from '../internal/event';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValues } 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 { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\ntype NileRemoveEvent = CustomEvent<Record<PropertyKey, never>>;\n\n/**\n * Nile icon component.\n *\n * @tag nile-select\n *\n */\n\n/**\n * @summary Selects allow you to choose items from a menu of predefined options.\n * @status stable\n * @since 2.0\n *\n * @dependency nile-icon\n * @dependency nile-popup\n * @dependency nile-tag\n *\n * @slot - The listbox options. Must be `<nile-option>` elements. You can use `<nile-divider>` to group items visually.\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. Rotates on open and close.\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 *\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 `multiselect` is used.\n * @csspart tag - The individual tags that represent each multiselect option.\n * @csspart tag__base - The tag's base part.\n * @csspart tag__content - The tag's content part.\n * @csspart tag__remove-button - The tag's remove button.\n * @csspart tag__remove-button__base - The tag's remove button base part.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n */\n\n@customElement('nile-select')\nexport class NileSelect extends NileElement implements NileFormControl {\n static styles: CSSResultGroup = styles;\n\n // protected override BUBBLES=false;\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 private typeToSelectString = '';\n private typeToSelectTimeout: number;\n\n @query('.select') popup: NilePopup;\n @query('.select__combobox') combobox: HTMLSlotElement;\n @query('.select__display-input') displayInput: HTMLInputElement;\n @query('.select__value-input') valueInput: HTMLInputElement;\n @query('.select__listbox') listbox: HTMLSlotElement;\n\n @state() private hasFocus = false;\n @state() displayLabel = '';\n @state() currentOption: NileOption;\n @state() selectedOptions: NileOption[] = [];\n @state() oldValue: string | string[] = '';\n\n /** The name of the select, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /**\n * The current value of the select, submitted as a name/value pair with form data. When `multiple` is enabled, the\n * value will be a space-delimited list of values based on the options selected.\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 /** Placeholder text to show as a hint when the select is empty. */\n @state() searchValue: string = '';\n\n @property({ type: Boolean, reflect: true }) searchEnabled = false;\n\n @property({attribute:'internal-search-placeholder'}) internalSearchPlaceHolder = 'Search...';\n\n @property({ type: Boolean, reflect: true }) blockValueChange = false;\n\n @property({ type: Boolean, reflect: true }) disableLocalSearch = false;\n\n @property({ type: Boolean, reflect: true }) optionsLoading = false;\n\n @property({ type: Boolean, reflect: true }) noWidthSync = false;\n\n /** Allows more than one option to be selected. */\n @property({ type: Boolean, reflect: true }) multiple = false;\n\n @property({ attribute: true, reflect: true }) helpText = '';\n @property({ attribute: 'help-text', reflect: true }) help_text = '';\n\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n /** Sets the input to a warning state, changing its visual appearance. */\n @property({ type: Boolean }) warning = false;\n\n /** Sets the input to an error state, changing its visual appearance. */\n @property({ type: Boolean }) error = false;\n\n /** Sets the input to a success state, changing its visual appearance. */\n @property({ type: Boolean }) success = 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 /** 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 }) clearable = false;\n\n /**\n * Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\n * use the `show()` and `hide()` methods and this attribute will reflect the select's open state.\n */\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 @property({ type: Boolean }) showSelected = false;\n\n @state() oldMaxOptionsVisible: number = 1;\n\n @property({ type: Boolean }) showNoResults: boolean = false;\n\n @property({ type: String }) noResultsMessage: string = 'No results found';\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.handleDocumentFocusIn = this.handleDocumentFocusIn.bind(this);\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);\n\n // Because this is a form control, it shouldn't be opened initially\n this.open = false;\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n protected updated(_changedProperties: PropertyValues): void {\n if(_changedProperties.has('multiple')) {\n this.setCheckBoxInOption(this.multiple);\n }\n }\n\n setCheckBoxInOption(checked: boolean): void {\n const options = this.getAllOptions();\n options.forEach((option: NileOption) => {\n option.showCheckbox = checked;\n })\n }\n\n private addOpenListeners() {\n document.addEventListener('focusin', this.handleDocumentFocusIn);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n }\n\n private removeOpenListeners() {\n document.removeEventListener('focusin', this.handleDocumentFocusIn);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.displayInput.setSelectionRange(0, 0);\n this.emit('nile-focus', { value: this.value, name: this.name });\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('nile-blur', { value: this.value, name: this.name });\n }\n\n private handleDocumentFocusIn(event: FocusEvent) {\n // Close when focusing out of the select\n const path = event.composedPath();\n if (this && !path.includes(this)) {\n this.hide();\n }\n }\n\n /**\n * Handles the click event on the footer.\n * @param event - The click event.\n */\n private handleFooterClick(event: MouseEvent): void {\n event.stopPropagation();\n event.preventDefault();\n }\n\n /**\n * Toggles the display of selected options in the dropdown\n * @param event - the event object\n */\n private toggleShowSelected(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n // Only toggle if there are selected options\n if (this.selectedOptions?.length === 0) {\n return;\n }\n // Toggle the showSelected property\n this.showSelected = !this.showSelected;\n\n // Hide unselected options if showSelected is true\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n }\n });\n\n // this.requestUpdate();\n }\n\n /**\n * Deselects all options and updates the value, selectedOptions, and displayLabel properties accordingly\n */\n private unSlectAll(): void {\n this.showSelected = false;\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n el.selected = false;\n el.hidden = false;\n });\n this.value = '';\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 }\n\n private handleDocumentKeyDown(event: KeyboardEvent) {\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\n // Ignore presses when the target is an icon button (e.g. the remove button in <nile-tag>)\n if (isClearButton || isIconButton) {\n return;\n }\n\n // Close when pressing escape\n if (event.key === 'Escape' && this.open) {\n event.preventDefault();\n event.stopPropagation();\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n\n // Handle enter and space. When pressing space, we allow for type to select behaviors so if there's anything in the\n // buffer we _don't_ close it.\n if (\n event.key === 'Enter' ||\n (event.key === ' ' && this.typeToSelectString === '')\n ) {\n event.preventDefault();\n event.stopImmediatePropagation();\n\n // If it's not open, open it\n if (!this.open) {\n this.show();\n return;\n }\n\n // If it is open, update the value based on the current selection and close it\n if (this.currentOption && !this.currentOption.disabled) {\n if (this.multiple) {\n this.toggleOptionSelection(this.currentOption);\n } else {\n this.setSelectedOptions(this.currentOption);\n }\n\n // Emit after updating\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 if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n\n return;\n }\n\n // All other \"printable\" keys trigger type to select\n if (event.key.length === 1 || event.key === 'Backspace') {\n const allOptions = this.getAllOptions();\n\n // Don't block important key combos like CMD+R\n if (event.metaKey || event.ctrlKey || event.altKey) {\n return;\n }\n\n // Open, unless the key that triggered is backspace\n if (!this.open) {\n if (event.key === 'Backspace') {\n return;\n }\n\n this.show();\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n clearTimeout(this.typeToSelectTimeout);\n this.typeToSelectTimeout = window.setTimeout(\n () => (this.typeToSelectString = ''),\n 1000\n );\n\n if (event.key === 'Backspace') {\n this.typeToSelectString = this.typeToSelectString.slice(0, -1);\n } else {\n this.typeToSelectString += event.key.toLowerCase();\n }\n\n for (const option of allOptions) {\n const label = option.getTextLabel().toLowerCase();\n\n if (label.startsWith(this.typeToSelectString)) {\n this.setCurrentOption(option);\n break;\n }\n }\n }\n }\n\n private handleDocumentMouseDown(event: MouseEvent) {\n // Close when clicking outside of the select\n const path = event.composedPath();\n if (this && !path.includes(this)) {\n this.hide();\n }\n }\n\n private handleLabelClick() {\n this.displayInput.focus();\n this.hide();\n }\n\n private handleComboboxMouseDown(event: MouseEvent) {\n const path = event.composedPath();\n const isIconButton = path.some(\n el =>\n el instanceof Element && el.tagName.toLowerCase() === 'nile-icon-button'\n );\n\n // Ignore disabled controls and clicks on tags (remove buttons)\n if (this.disabled || isIconButton) {\n return;\n }\n\n event.preventDefault();\n this.displayInput.focus({ preventScroll: true });\n this.open = !this.open;\n }\n\n private handleComboboxKeyDown(event: KeyboardEvent) {\n event.stopPropagation();\n this.handleDocumentKeyDown(event);\n }\n\n private handleClearClick(event: MouseEvent) {\n event.stopPropagation();\n\n if (this.value !== '') {\n this.setSelectedOptions([]);\n this.displayInput.focus({ preventScroll: true });\n\n // Emit after update\n this.updateComplete.then(() => {\n const val={ value: this.multiple?this.value:'', name: this.name }\n this.emit('nile-clear', val);\n this.nileInput(val);\n this.nileChange(val);\n });\n }\n }\n\n private handleClearMouseDown(event: MouseEvent) {\n // Don't lose focus or propagate events when clicking the clear button\n event.stopPropagation();\n event.preventDefault();\n }\n\n private handleOptionClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const option = target.closest('nile-option');\n\n if (this.blockValueChange && option) {\n this.emit('nile-block-change', { value: option?.value, name: this.name });\n this.hide();\n return;\n }\n\n const oldValue = this.value;\n this.oldValue = oldValue;\n\n if (option && !option.disabled) {\n if (this.multiple) {\n this.toggleOptionSelection(option);\n } else {\n this.setSelectedOptions(option);\n }\n\n // Set focus after updating so the value is announced by screen readers\n this.updateComplete.then(() =>\n this.displayInput.focus({ preventScroll: true })\n );\n\n if (this.value !== oldValue) {\n // Emit after updating\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 if (this.showSelected) {\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n }\n });\n\n this.requestUpdate();\n }\n }\n\n private handleDefaultSlotChange() {\n const allOptions = this.getAllOptions();\n const value = Array.isArray(this.value) ? this.value : [this.value];\n const values: string[] = [];\n\n // Check for duplicate values in menu items\n if (customElements.get('nile-option')) {\n allOptions.forEach(option => values.push(option.value));\n\n // Select only the options that match the new value\n this.setSelectedOptions(\n allOptions.filter(el => value.map(String).includes(el.value))\n );\n } else {\n // Rerun this handler when <nile-option> is registered\n customElements\n .whenDefined('nile-option')\n .then(() => this.handleDefaultSlotChange());\n }\n }\n\n private handleTagRemove(event: NileRemoveEvent, option: NileOption) {\n event.stopPropagation();\n\n if (!this.disabled) {\n this.toggleOptionSelection(option, false);\n\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n }\n });\n\n // Emit after updating\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\n // Gets an array of all <nile-option> elements\n private getAllOptions() {\n // Get all options as an array\n const options = [...this.querySelectorAll<NileOption>('nile-option')];\n\n // Sort the options based on the order of values selected\n if (this.multiple && this.oldValue?.length > 0) {\n options.sort((a, b) => {\n let indexA = this.oldValue.indexOf(a.value);\n let indexB = this.oldValue.indexOf(b.value);\n\n // Handle cases where a __value is not found\n if (indexA === -1) {\n indexA = Infinity; // Place at the end if not found\n }\n if (indexB === -1) {\n indexB = Infinity; // Place at the end if not found\n }\n\n if (indexA < indexB) {\n return -1;\n }\n if (indexA > indexB) {\n return 1;\n }\n return 0;\n });\n }\n\n return options;\n }\n\n private getOptionPrefix(option: NileOption): string {\n const prefixSlot = option.shadowRoot?.querySelector(\n 'slot[name=\"prefix\"]'\n ) as HTMLSlotElement;\n if (!prefixSlot) return '';\n\n const assignedNodes = prefixSlot.assignedNodes();\n const htmlStrings: string[] = [];\n\n assignedNodes.forEach(node => {\n if (node instanceof HTMLElement) {\n htmlStrings.push(node.outerHTML);\n } else if (node.nodeType === Node.TEXT_NODE) {\n // Text node\n htmlStrings.push(node.textContent || '');\n }\n });\n\n return htmlStrings.join('');\n }\n\n // Gets the first <nile-option> element\n private getFirstOption() {\n return this.querySelector<NileOption>('nile-option');\n }\n\n // Sets the current option, which is the option the user is currently interacting with (e.g. via keyboard). Only one\n // option may be \"current\" at a time.\n private setCurrentOption(option: NileOption | null) {\n const allOptions = this.getAllOptions();\n\n // Clear selection\n allOptions.forEach(el => {\n el.current = false;\n el.tabIndex = -1;\n });\n\n // Select the target option\n if (option) {\n this.currentOption = option;\n option.current = true;\n option.tabIndex = 0;\n option.focus();\n }\n }\n\n // Sets the selected option(s)\n private setSelectedOptions(option: NileOption | NileOption[]) {\n const allOptions = this.getAllOptions();\n const newSelectedOptions = Array.isArray(option) ? option : [option];\n\n // Clear existing selection\n allOptions.forEach(el => (el.selected = false));\n\n // Set the new selection\n if (newSelectedOptions.length) {\n newSelectedOptions.forEach(el => (el.selected = true));\n }\n\n // Update selection, value, and display label\n this.selectionChanged();\n }\n\n // Toggles an option's selected state\n private toggleOptionSelection(option: NileOption, force?: boolean) {\n if (force === true || force === false) {\n option.selected = force;\n } else {\n option.selected = !option.selected;\n }\n\n this.selectionChanged();\n }\n\n // This method must be called whenever the selection changes. It will update the selected options cache, the current\n // value, and the display value\n private selectionChanged() {\n // Update selected options cache\n this.selectedOptions = this.getAllOptions().filter(el => el.selected);\n\n // Update the value and display label\n if (this.multiple) {\n this.value = this.selectedOptions.map(el => el.value);\n\n if (this.placeholder && this.value.length === 0) {\n // When no items are selected, keep the value empty so the placeholder shows\n this.displayLabel = '';\n } else {\n this.displayLabel = this.selectedOptions.length + ' selected';\n }\n\n if (this.selectedOptions.length === 0) {\n this.showSelected = false;\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n } else {}\n });\n\n this.requestUpdate();\n }\n } else {\n this.value = this.selectedOptions[0]?.value ?? this.value;\n this.displayLabel = this.selectedOptions[0]?.getTextLabel()\n ? this.selectedOptions[0].getTextLabel()\n : this.value ?? '';\n }\n\n // Update validity\n this.updateComplete.then(() => {\n this.formControlController.updateValidity();\n });\n\n this.calculateTotalWidthOfTags();\n }\n\n handleSearchFocus() {\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchBlur() {\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchChange(e: any) {\n this.searchValue = e.detail.value;\n if (!this.disableLocalSearch) {\n let filteredOptions = this.filterOptions(this.searchValue);\n if (filteredOptions.length === 0) {\n // Display 'No results found' message.\n this.showNoResults = true;\n } else {\n this.showNoResults = false;\n }\n }\n }\n\n filterOptions(searchValue: string) {\n const allOptions = this.getAllOptions();\n const lowerCaseSearchValue = searchValue.toLowerCase();\n\n let filteredOptions: NileOption[] = [];\n\n allOptions.forEach(el => {\n const lowerCaseLabel = el.getTextLabel().toLowerCase();\n const lowerCaseValue = (el.value || '').toLowerCase();\n if (\n lowerCaseLabel.includes(lowerCaseSearchValue) ||\n lowerCaseValue.includes(lowerCaseSearchValue)\n ) {\n el.hidden = false;\n filteredOptions.push(el);\n } else {\n el.hidden = true;\n }\n });\n\n return filteredOptions;\n }\n\n private handleInvalid(event: Event) {\n this.formControlController.setValidity(false);\n this.formControlController.emitInvalidEvent(event);\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Close the listbox when the control is disabled\n if (this.disabled) {\n this.open = false;\n this.handleOpenChange();\n }\n }\n\n @watch('value', { waitUntilFirstUpdate: true })\n handleValueChange() {\n const allOptions = this.getAllOptions();\n const value = Array.isArray(this.value) ? this.value : [this.value];\n\n // Select only the options that match the new value\n this.setSelectedOptions(allOptions.filter(el => value.includes(el.value)));\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open && !this.disabled) {\n // Reset the current option\n this.setCurrentOption(this.selectedOptions[0] || this.getFirstOption());\n\n // Show\n this.emit('nile-show', { value: this.value, name: this.name });\n this.addOpenListeners();\n\n this.showNoResults = !this.getAllOptions()?.length;\n\n await stopAnimations(this);\n this.listbox.hidden = false;\n this.popup.active = true;\n\n // Select the appropriate option based on value after the listbox opens\n requestAnimationFrame(() => {\n this.setCurrentOption(this.currentOption);\n });\n\n const { keyframes, options } = getAnimation(this, 'select.show', {\n dir: 'ltr',\n });\n await animateTo(this.popup.popup, keyframes, options);\n\n // Make sure the current option is scrolled into view (required for Safari)\n if (this.currentOption) {\n scrollIntoView(this.currentOption, this.listbox, 'vertical', 'auto');\n }\n this.searchValue = '';\n this.filterOptions(this.searchValue);\n\n this.emit('nile-after-show', { value: this.value, name: this.name });\n } else {\n // Hide\n this.emit('nile-hide', { value: this.value, name: this.name });\n this.showSelected = false;\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.listbox.hidden = true;\n this.popup.active = false;\n\n this.searchValue = '';\n this.emit('nile-after-hide', { value: this.value, name: this.name });\n }\n }\n\n /** Shows the listbox. */\n async show() {\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 /** Hides the listbox. */\n async hide() {\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 /** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */\n checkValidity() {\n return this.valueInput.checkValidity();\n }\n\n /** Gets the associated form, if one exists. */\n getForm(): HTMLFormElement | null {\n return this.formControlController.getForm();\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n reportValidity() {\n return this.valueInput.reportValidity();\n }\n\n /** Sets a custom validation message. Pass an empty string to restore validity. */\n setCustomValidity(message: string) {\n this.valueInput.setCustomValidity(message);\n this.formControlController.updateValidity();\n }\n\n /** Sets focus on the control. */\n focus(options?: FocusOptions) {\n this.displayInput.focus(options);\n }\n\n /** Removes focus from the control. */\n blur() {\n this.displayInput.blur();\n }\n\n onInputChange(event: Event) {\n // This will stop the event from bubbling up to the parent `nile-select` component\n event.stopPropagation();\n }\n\n calculateWidthOfSelectTagsDiv() {\n if (this.shadowRoot) {\n const selectTagsDiv = this.shadowRoot.querySelector('div.select__tags');\n if (selectTagsDiv instanceof HTMLElement) {\n const width = selectTagsDiv.offsetWidth;\n return width - 70;\n }\n }\n }\n\n calculateTotalWidthOfTags() {\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 render() {\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 || this.help_text) ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n const prefixContent = this.selectedOptions[0]\n ? this.getOptionPrefix(this.selectedOptions[0])\n : '';\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 <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 <div part=\"form-control-input\" class=\"form-control-input\">\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 ${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 <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 ${prefixContent && !this.multiple\n ? html`<div class=\"select__prefix--from-options\">\n ${unsafeHTML(prefixContent)}\n </div>`\n : html`<slot\n part=\"prefix\"\n name=\"prefix\"\n class=${classMap({\n select__prefix: true,\n multiple: this.multiple,\n })}\n ></slot>`}\n\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 @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n\n ${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 ${this.getOptionPrefix(option)\n ? html`<span class=\"tag__prefix\" slot=\"prefix\"\n >${unsafeHTML(\n this.getOptionPrefix(option)\n )}</span\n >`\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 : ''}\n\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 ${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 : ''}\n\n <slot\n part=\"suffix\"\n name=\"suffix\"\n class=${classMap({\n select__suffix: true,\n })}\n ></slot>\n\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 </div>\n\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 @slotchange=${this.handleDefaultSlotChange}\n >\n ${this.searchEnabled\n ? html` <div 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 ${this.optionsLoading\n ? html`\n <span 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 <div\n class=\"select__options ${this.searchEnabled\n ? 'select__options__search-enabled'\n : ``}\"\n >\n ${this.showNoResults\n ? html`\n <div class=\"select__no-results\">\n ${this.noResultsMessage}\n </div>\n `\n : ''}\n <slot></slot>\n </div>\n\n ${this.multiple\n ? html` <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` <span\n class=\"select__clear\"\n @click=\"${this.unSlectAll}\"\n >Clear All</span\n >`\n : ``}\n </div>`\n : ``}\n </div>\n </nile-popup>\n </div>\n\n ${hasHelpText\n ? html` <nile-form-help-text>${(this.helpText || this.help_text)}</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 </div>\n `;\n }\n\n nileInput(value:any){\n this.emit('nile-input',value)\n }\n\n nileChange(value:any){\n this.emit('nile-change',value)\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 NileSelect;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-select': NileSelect;\n }\n}\n"],"names":["NileSelect","w","constructor","this","formControlController","FormControlController","assumeInteractionOn","hasSlotController","HasSlotController","typeToSelectString","hasFocus","displayLabel","selectedOptions","oldValue","name","value","defaultValue","size","placeholder","searchValue","searchEnabled","internalSearchPlaceHolder","blockValueChange","disableLocalSearch","optionsLoading","noWidthSync","multiple","helpText","help_text","errorMessage","warning","error","success","maxOptionsVisible","disabled","clearable","open","hoist","filled","pill","label","placement","form","required","showSelected","oldMaxOptionsVisible","showNoResults","noResultsMessage","_this","_inherits","_f","_createClass","key","get","_this$valueInput","valueInput","validity","validationMessage","_this$valueInput2","connectedCallback","super","handleDocumentFocusIn","bind","handleDocumentKeyDown","handleDocumentMouseDown","emit","disconnectedCallback","updated","_changedProperties","has","setCheckBoxInOption","checked","getAllOptions","forEach","option","showCheckbox","addOpenListeners","document","addEventListener","removeOpenListeners","removeEventListener","handleFocus","displayInput","setSelectionRange","handleBlur","event","path","composedPath","includes","hide","handleFooterClick","stopPropagation","preventDefault","toggleShowSelected","_this$selectedOptions","length","el","selected","hidden","unSlectAll","selectionChanged","target","isClearButton","closest","isIconButton","focus","preventScroll","stopImmediatePropagation","currentOption","toggleOptionSelection","setSelectedOptions","updateComplete","then","nileInput","nileChange","show","allOptions","metaKey","ctrlKey","altKey","clearTimeout","typeToSelectTimeout","window","setTimeout","slice","toLowerCase","_iterator","_createForOfIteratorHelper","s","_step","n","done","getTextLabel","startsWith","setCurrentOption","err","e","f","handleLabelClick","handleComboboxMouseDown","some","Element","tagName","handleComboboxKeyDown","handleClearClick","val","handleClearMouseDown","handleOptionClick","_this5","requestUpdate","handleDefaultSlotChange","Array","isArray","values","customElements","push","filter","map","String","whenDefined","handleTagRemove","_this7","removedtagvalue","options","querySelectorAll","sort","a","b","indexA","indexOf","indexB","Infinity","getOptionPrefix","_i$shadowRoot","prefixSlot","shadowRoot","querySelector","assignedNodes","htmlStrings","node","HTMLElement","outerHTML","nodeType","Node","TEXT_NODE","textContent","join","getFirstOption","current","tabIndex","newSelectedOptions","force","_this$value","updateValidity","calculateTotalWidthOfTags","handleSearchFocus","handleSearchBlur","handleSearchChange","detail","filterOptions","lowerCaseSearchValue","filteredOptions","lowerCaseLabel","lowerCaseValue","handleInvalid","setValidity","emitInvalidEvent","handleDisabledChange","handleOpenChange","handleValueChange","_handleOpenChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_this10","_this$getAllOptions","_g","_i2","_s2","_g2","_i3","_s3","wrap","_callee$","_context2","prev","next","stopAnimations","listbox","popup","active","requestAnimationFrame","getAnimation","dir","keyframes","animateTo","scrollIntoView","stop","_callee2","_callee2$","_context3","waitForEvent","_callee3","_callee3$","_context4","checkValidity","getForm","reportValidity","setCustomValidity","message","blur","onInputChange","calculateWidthOfSelectTagsDiv","selectTagsDiv","offsetWidth","widths","tag","widthOfSelectTagsDiv","summ","lastindex","i","render","_this12","hasLabelSlot","test","hasLabelSuffixSlot","hasCustomSelect","hasLabel","hasClearIcon","isPlaceholderVisible","hasHelpText","hasErrorMessage","prefixContent","html","_templateObject","_taggedTemplateLiteral","classMap","_templateObject2","select","ifDefined","undefined","_templateObject3","_templateObject4","select__combobox","_templateObject5","unsafeHTML","_templateObject6","select__prefix","_templateObject7","index","classes","select__invisible","_templateObject8","_templateObject9","_templateObject10","_templateObject11","select__suffix","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","NileElement","styles","__decorate","query","prototype","state","property","converter","fromAttribute","split","toAttribute","type","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 --ng-nxt-gen-outline: var(--ng-border-width-1) solid var(--ng-colors-border-brand);\n --ng-nxt-gen-outline-error: var(--ng-border-width-1) solid var(--ng-colors-border-error);\n --ng-private-outline-transparent: var(--ng-border-width-1) solid transparent;\n --ng-box-shadow: 0px 12px 16px -4px var(--ng-colors-effects-shadow-lg-01, rgba(10, 13, 18, 0.08)), 0px 4px 6px -2px var(--ng-colors-effects-shadow-lg-02, rgba(10, 13, 18, 0.03)), 0px 2px 2px -1px var(--ng-colors-effects-shadow-lg-03, rgba(10, 13, 18, 0.04));\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host *,\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: var(--nile-spacing-sm, var(--ng-spacing-sm));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-secondary-700));\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-style: normal;\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-medium));\n line-height: var(--nile-spacing-2xl, var(--ng-line-height-text-sm));\n letter-spacing: 0.2px;\n }\n\n .form-control--has-label.form-control--medium .form-control__label {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\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, var(--ng-colors-text-brand-tertiary-600));\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, var(--ng-colors-text-tertiary-600));\n margin-top: var(--nile-spacing-lg, var(--ng-spacing-lg));\n }\n\n .form-control--has-help-text.form-control--medium .form-control__help-text {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n }\n\n .form-control--has-help-text.form-control--radio-group\n .form-control__help-text {\n margin-top: var(--nile-spacing-xs, var(--ng-spacing-sm));\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, var(--ng-font-family-body));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-medium));\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, var(--ng-colors-text-primary-900));\n cursor: inherit;\n overflow: hidden;\n padding: var(--nile-spacing-none, var(--ng-spacing-none));\n margin: var(--nile-spacing-none, var(--ng-spacing-none));\n -webkit-appearance: none;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n }\n\n\n .select__display-input::placeholder {\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n color: var(--nile-colors-text-placeholder, var(--ng-colors-text-placeholder));\n }\n\n .select:not(.select--disabled):hover .select__display-input {\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-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: var(--nile-spacing-none);\n margin: var(--nile-spacing-none);\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: var(--nile-spacing-7px, var(--ng-spacing-md));\n width: 100%;\n overflow: hidden;\n }\n\n .select__tags-count {\n color: var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n\n font-style: normal;\n font-weight: var(--nile-font-weight-regular);\n line-height: var(--nile-line-height-xsmall);\n letter-spacing: 0.2px;\n margin: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .select__tags-count-clearable {\n margin-right: var(--nile-spacing-5xl, var(--ng-spacing-5xl));\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, var(--ng-colors-bg-primary));\n border: solid 1px var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n outline: var(--nile-outline-none, var(--ng-private-outline-transparent));\n }\n\n .select--standard .select__combobox:hover {\n border: 1px solid var(--nile-colors-dark-900, var(--ng-colors-border-brand));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n outline: var(--nile-outline-none, var(--ng-nxt-gen-outline));\n }\n\n .select--error:hover:not(.select--disabled) .select__combobox{\n border-color: var(--nile-colors-red-500, var(--ng-colors-border-error));\n outline: var(--nile-outline-none, var(--ng-colors-border-error));\n }\n\n .select--standard.select--disabled .select__combobox {\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-disabled-subtle));\n border-color: var(--nile-colors-neutral-500,var(--ng-colors-border-primary) );\n color: var(--nile-colors-dark-500, var(--ng-colors-text-disabled));\n opacity: var(--nile-opacity-50, var(--ng-opacity-100));\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, var(--ng-colors-border-warning));\n }\n\n .select--error .select__combobox {\n border-color: var(--nile-colors-red-500, var(--ng-colors-border-error));\n outline: var(--nile-outline-none, var(--ng-private-outline-transparent));\n }\n\n\n\n\n .select--success {\n border-color: var(--nile-colors-green-500, var(--ng-componentcolors-utility-success-500));\n }\n\n /* Filled selects */\n .select--filled .select__combobox {\n border: none;\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-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: var(--nile-radius-sm, var(--ng-radius-md));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n\n padding: var(--nile-spacing-lg, var(--ng-spacing-md)) var(--nile-spacing-lg, var(--ng-spacing-lg));\n height: var(--nile-height-40px, var(--ng-height-40px));\n box-sizing: border-box;\n }\n\n .select--medium .select__clear {\n margin-inline-start: var(--nile-spacing-lg, var(--ng-spacing-lg));\n }\n\n .select--medium .select__prefix::slotted(*) {\n margin-inline-end: var(--nile-spacing-lg, var(--ng-spacing-md));\n }\n\n .select--medium .select__prefix.multiple::slotted(*) {\n margin-right: var(--nile-spacing-lg, var(--ng-spacing-md));\n }\n\n .select--medium:not(.select--placeholder-visible) .select__prefix.multiple::slotted(*) {\n margin-inline-start: var(--nile-spacing-xsmall, var(--ng-spacing-lg));\n }\n\n .select--medium.select--multiple:not(.select--placeholder-visible)\n .select__combobox {\n padding-inline-start: var(--nile-spacing-none, var(--ng-spacing-none));\n }\n\n .select--medium .select__tags {\n gap: var(--nile-spacing-3px, var(--ng-spacing-sm));\n }\n\n /* Pills */\n .select--pill.select--medium .select__combobox {\n border-radius: var(--nile-radius-3xl);\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, var(--ng-colors-text-brand-secondary-700));\n border: none;\n background: none;\n padding: var(--nile-spacing-none);\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: var(--nile-spacing-xxxsmall, var(--ng-spacing-md));\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: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n font-weight: var(--nile-font-weight-regular, --ng-font-weight-regular);\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border: solid 1px var(--nile-colors-neutral-500, var(--ng-colors-border-secondary-alt));\n border-radius: var(--nile-radius-sm, var(--ng-radius-md));\n padding-block: var(--nile-spacing-none, var(--ng-spacing-xs));\n padding-inline: var(--nile-spacing-none, var(--ng-spacing-xs));\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 box-shadow: var(--nile-box-shadow-none, var(--ng-shadow-xs));\n }\n\n .select__options__search-enabled {\n padding-top: var(--nile-spacing-10px, var(--ng-spacing-lg));\n }\n\n .select__options {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n\n color: rgb(133, 129, 129);\n }\n\n .select__listbox::slotted(nile-divider) {\n --spacing: var(--nile-spacing-xs, var(--ng-spacing-sm));\n }\n\n .select__listbox::slotted(small) {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n\n font-weight: var(--nile-font-weight-semi-bold, var(--ng-font-weight-semibold));\n color: var(--nile-colors-dark-500);\n padding-block: var(--nile-spacing-xs, var(--ng-spacing-sm));\n padding-inline: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n .select__search {\n position: sticky;\n top: 0px;\n z-index: 1;\n width: calc(100% - 16px);\n padding: var(--nile-spacing-md, var(--ng-spacing-md));\n background-color: var(--nile-colors-white-base);\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:var(--nile-display-flex, var(--ng-display-none));\n flex-direction: row;\n align-items: flex-start;\n padding: var(--nile-spacing-md) var(--nile-spacing-lg)\n var(--nile-spacing-xl);\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\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: var(--nile-spacing-xl, var(--ng-spacing-xl));\n animation: spin 0.6s linear infinite;\n }\n\n .select__no-results {\n padding: var(--nile-spacing-lg, var(--ng-spacing-lg));\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: var(--nile-spacing-lg, var(--ng-spacing-md));\n }\n\n .select__prefix--from-options img{\n max-height: var(--nile-height-22px, var(--ng-height-24px));\n max-width: var(--nile-width-22px, var(--ng-width-6));\n }\n\n .select__hide-default {\n display: none;\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 --ng-nxt-gen-outline: var(--ng-border-width-1) solid var(--ng-colors-border-brand);\n --ng-nxt-gen-outline-error: var(--ng-border-width-1) solid var(--ng-colors-border-error);\n --ng-private-outline-transparent: var(--ng-border-width-1) solid transparent;\n --ng-box-shadow: 0px 12px 16px -4px var(--ng-colors-effects-shadow-lg-01, rgba(10, 13, 18, 0.08)), 0px 4px 6px -2px var(--ng-colors-effects-shadow-lg-02, rgba(10, 13, 18, 0.03)), 0px 2px 2px -1px var(--ng-colors-effects-shadow-lg-03, rgba(10, 13, 18, 0.04));\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host *,\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: var(--nile-spacing-sm, var(--ng-spacing-sm));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-secondary-700));\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-style: normal;\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-medium));\n line-height: var(--nile-spacing-2xl, var(--ng-line-height-text-sm));\n letter-spacing: 0.2px;\n }\n\n .form-control--has-label.form-control--medium .form-control__label {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\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, var(--ng-colors-text-brand-tertiary-600));\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, var(--ng-colors-text-tertiary-600));\n margin-top: var(--nile-spacing-lg, var(--ng-spacing-lg));\n }\n\n .form-control--has-help-text.form-control--medium .form-control__help-text {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n }\n\n .form-control--has-help-text.form-control--radio-group\n .form-control__help-text {\n margin-top: var(--nile-spacing-xs, var(--ng-spacing-sm));\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, var(--ng-font-family-body));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-medium));\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, var(--ng-colors-text-primary-900));\n cursor: inherit;\n overflow: hidden;\n padding: var(--nile-spacing-none, var(--ng-spacing-none));\n margin: var(--nile-spacing-none, var(--ng-spacing-none));\n -webkit-appearance: none;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n }\n\n\n .select__display-input::placeholder {\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n color: var(--nile-colors-text-placeholder, var(--ng-colors-text-placeholder));\n }\n\n .select:not(.select--disabled):hover .select__display-input {\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-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: var(--nile-spacing-none);\n margin: var(--nile-spacing-none);\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: var(--nile-spacing-7px, var(--ng-spacing-md));\n width: 100%;\n overflow: hidden;\n }\n\n .select__tags-count {\n color: var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n\n font-style: normal;\n font-weight: var(--nile-font-weight-regular);\n line-height: var(--nile-line-height-xsmall);\n letter-spacing: 0.2px;\n margin: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .select__tags-count-clearable {\n margin-right: var(--nile-spacing-5xl, var(--ng-spacing-5xl));\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, var(--ng-colors-bg-primary));\n border: solid 1px var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n outline: var(--nile-outline-none, var(--ng-private-outline-transparent));\n }\n\n .select--standard .select__combobox:hover {\n border: 1px solid var(--nile-colors-dark-900, var(--ng-colors-border-brand));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n outline: var(--nile-outline-none, var(--ng-nxt-gen-outline));\n }\n\n .select--error:hover:not(.select--disabled) .select__combobox{\n border-color: var(--nile-colors-red-500, var(--ng-colors-border-error));\n outline: var(--nile-outline-none, var(--ng-colors-border-error));\n }\n\n .select--standard.select--disabled .select__combobox {\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-disabled-subtle));\n border-color: var(--nile-colors-neutral-500,var(--ng-colors-border-primary) );\n color: var(--nile-colors-dark-500, var(--ng-colors-text-disabled));\n opacity: var(--nile-opacity-50, var(--ng-opacity-100));\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, var(--ng-colors-border-warning));\n }\n\n .select--error .select__combobox {\n border-color: var(--nile-colors-red-500, var(--ng-colors-border-error));\n outline: var(--nile-outline-none, var(--ng-private-outline-transparent));\n }\n\n\n\n\n .select--success {\n border-color: var(--nile-colors-green-500, var(--ng-componentcolors-utility-success-500));\n }\n\n /* Filled selects */\n .select--filled .select__combobox {\n border: none;\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-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: var(--nile-radius-sm, var(--ng-radius-md));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n\n padding: var(--nile-spacing-lg, var(--ng-spacing-md)) var(--nile-spacing-lg, var(--ng-spacing-lg));\n height: var(--nile-height-40px, var(--ng-height-40px));\n box-sizing: border-box;\n }\n\n .select--medium .select__clear {\n margin-inline-start: var(--nile-spacing-lg, var(--ng-spacing-lg));\n }\n\n .select--medium .select__prefix::slotted(*) {\n margin-inline-end: var(--nile-spacing-lg, var(--ng-spacing-md));\n }\n\n .select--medium .select__prefix.multiple::slotted(*) {\n margin-right: var(--nile-spacing-lg, var(--ng-spacing-md));\n }\n\n .select--medium:not(.select--placeholder-visible) .select__prefix.multiple::slotted(*) {\n margin-inline-start: var(--nile-spacing-xsmall, var(--ng-spacing-lg));\n }\n\n .select--medium.select--multiple:not(.select--placeholder-visible)\n .select__combobox {\n padding-inline-start: var(--nile-spacing-none, var(--ng-spacing-none));\n }\n\n .select--medium .select__tags {\n gap: var(--nile-spacing-3px, var(--ng-spacing-sm));\n }\n\n /* Pills */\n .select--pill.select--medium .select__combobox {\n border-radius: var(--nile-radius-3xl);\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, var(--ng-colors-text-brand-secondary-700));\n border: none;\n background: none;\n padding: var(--nile-spacing-none);\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: var(--nile-spacing-xxxsmall, var(--ng-spacing-md));\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: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n font-weight: var(--nile-font-weight-regular, --ng-font-weight-regular);\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border: solid 1px var(--nile-colors-neutral-500, var(--ng-colors-border-secondary-alt));\n border-radius: var(--nile-radius-sm, var(--ng-radius-md));\n padding-block: var(--nile-spacing-none, var(--ng-spacing-xs));\n padding-inline: var(--nile-spacing-none, var(--ng-spacing-xs));\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 box-shadow: var(--nile-box-shadow-none, var(--ng-shadow-xs));\n }\n\n .select__options__search-enabled {\n padding-top: var(--nile-spacing-10px, var(--ng-spacing-lg));\n }\n\n .select__options {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n\n color: rgb(133, 129, 129);\n }\n\n .select__listbox::slotted(nile-divider) {\n --spacing: var(--nile-spacing-xs, var(--ng-spacing-sm));\n }\n\n .select__listbox::slotted(small) {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n\n font-weight: var(--nile-font-weight-semi-bold, var(--ng-font-weight-semibold));\n color: var(--nile-colors-dark-500);\n padding-block: var(--nile-spacing-xs, var(--ng-spacing-sm));\n padding-inline: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n .select__search {\n position: sticky;\n top: 0px;\n z-index: 1;\n width: calc(100% - 16px);\n padding: var(--nile-spacing-md, var(--ng-spacing-md));\n background-color: var(--nile-colors-white-base);\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:var(--nile-display-flex, var(--ng-display-none));\n flex-direction: row;\n align-items: flex-start;\n padding: var(--nile-spacing-md) var(--nile-spacing-lg)\n var(--nile-spacing-xl);\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\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: var(--nile-spacing-xl, var(--ng-spacing-xl));\n animation: spin 0.6s linear infinite;\n }\n\n .select__no-results {\n padding: var(--nile-spacing-lg, var(--ng-spacing-lg));\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: var(--nile-spacing-lg, var(--ng-spacing-md));\n }\n\n .select__prefix--from-options img{\n max-height: var(--nile-height-none, var(--ng-height-24px));\n max-width: var(--nile-width-none, var(--ng-width-6));\n }\n\n .select__hide-default {\n display: none;\n }\n"]))));}};});
|
2
2
|
//# sourceMappingURL=nile-select.css.cjs.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-select.css.cjs.js","sources":["../../../src/nile-select/nile-select.css.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * Select_2 CSS\n */\nexport const styles = css`\n :host {\n box-sizing: border-box;\n --ng-nxt-gen-outline: var(--ng-border-width-1) solid var(--ng-colors-border-brand);\n --ng-nxt-gen-outline-error: var(--ng-border-width-1) solid var(--ng-colors-border-error);\n --ng-private-outline-transparent: var(--ng-border-width-1) solid transparent;\n --ng-box-shadow: 0px 12px 16px -4px var(--ng-colors-effects-shadow-lg-01, rgba(10, 13, 18, 0.08)), 0px 4px 6px -2px var(--ng-colors-effects-shadow-lg-02, rgba(10, 13, 18, 0.03)), 0px 2px 2px -1px var(--ng-colors-effects-shadow-lg-03, rgba(10, 13, 18, 0.04));\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host *,\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: var(--nile-spacing-sm, var(--ng-spacing-sm));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-secondary-700));\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-style: normal;\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-medium));\n line-height: var(--nile-spacing-2xl, var(--ng-line-height-text-sm));\n letter-spacing: 0.2px;\n }\n\n .form-control--has-label.form-control--medium .form-control__label {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\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, var(--ng-colors-text-brand-tertiary-600));\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, var(--ng-colors-text-tertiary-600));\n margin-top: var(--nile-spacing-lg, var(--ng-spacing-lg));\n }\n\n .form-control--has-help-text.form-control--medium .form-control__help-text {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n }\n\n .form-control--has-help-text.form-control--radio-group\n .form-control__help-text {\n margin-top: var(--nile-spacing-xs, var(--ng-spacing-sm));\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, var(--ng-font-family-body));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-medium));\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, var(--ng-colors-text-primary-900));\n cursor: inherit;\n overflow: hidden;\n padding: var(--nile-spacing-none, var(--ng-spacing-none));\n margin: var(--nile-spacing-none, var(--ng-spacing-none));\n -webkit-appearance: none;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n }\n\n\n .select__display-input::placeholder {\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n color: var(--nile-colors-text-placeholder, var(--ng-colors-text-placeholder));\n }\n\n .select:not(.select--disabled):hover .select__display-input {\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-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: var(--nile-spacing-none);\n margin: var(--nile-spacing-none);\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: var(--nile-spacing-7px, var(--ng-spacing-md));\n width: 100%;\n overflow: hidden;\n }\n\n .select__tags-count {\n color: var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n\n font-style: normal;\n font-weight: var(--nile-font-weight-regular);\n line-height: var(--nile-line-height-xsmall);\n letter-spacing: 0.2px;\n margin: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .select__tags-count-clearable {\n margin-right: var(--nile-spacing-5xl, var(--ng-spacing-5xl));\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, var(--ng-colors-bg-primary));\n border: solid 1px var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n outline: var(--nile-outline-none, var(--ng-private-outline-transparent));\n }\n\n .select--standard .select__combobox:hover {\n border: 1px solid var(--nile-colors-dark-900, var(--ng-colors-border-brand));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n outline: var(--nile-outline-none, var(--ng-nxt-gen-outline));\n }\n\n .select--error:hover:not(.select--disabled) .select__combobox{\n border-color: var(--nile-colors-red-500, var(--ng-colors-border-error));\n outline: var(--nile-outline-none, var(--ng-colors-border-error));\n }\n\n .select--standard.select--disabled .select__combobox {\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-disabled-subtle));\n border-color: var(--nile-colors-neutral-500,var(--ng-colors-border-primary) );\n color: var(--nile-colors-dark-500, var(--ng-colors-text-disabled));\n opacity: var(--nile-opacity-50, var(--ng-opacity-100));\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, var(--ng-colors-border-warning));\n }\n\n .select--error .select__combobox {\n border-color: var(--nile-colors-red-500, var(--ng-colors-border-error));\n outline: var(--nile-outline-none, var(--ng-private-outline-transparent));\n }\n\n\n\n\n .select--success {\n border-color: var(--nile-colors-green-500, var(--ng-componentcolors-utility-success-500));\n }\n\n /* Filled selects */\n .select--filled .select__combobox {\n border: none;\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-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: var(--nile-radius-sm, var(--ng-radius-md));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n\n padding: var(--nile-spacing-lg, var(--ng-spacing-md)) var(--nile-spacing-lg, var(--ng-spacing-lg));\n height: var(--nile-height-40px, var(--ng-height-40px));\n box-sizing: border-box;\n }\n\n .select--medium .select__clear {\n margin-inline-start: var(--nile-spacing-lg, var(--ng-spacing-lg));\n }\n\n .select--medium .select__prefix::slotted(*) {\n margin-inline-end: var(--nile-spacing-lg, var(--ng-spacing-md));\n }\n\n .select--medium .select__prefix.multiple::slotted(*) {\n margin-right: var(--nile-spacing-lg, var(--ng-spacing-md));\n }\n\n .select--medium:not(.select--placeholder-visible) .select__prefix.multiple::slotted(*) {\n margin-inline-start: var(--nile-spacing-xsmall, var(--ng-spacing-lg));\n }\n\n .select--medium.select--multiple:not(.select--placeholder-visible)\n .select__combobox {\n padding-inline-start: var(--nile-spacing-none, var(--ng-spacing-none));\n }\n\n .select--medium .select__tags {\n gap: var(--nile-spacing-3px, var(--ng-spacing-sm));\n }\n\n /* Pills */\n .select--pill.select--medium .select__combobox {\n border-radius: var(--nile-radius-3xl);\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, var(--ng-colors-text-brand-secondary-700));\n border: none;\n background: none;\n padding: var(--nile-spacing-none);\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: var(--nile-spacing-xxxsmall, var(--ng-spacing-md));\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: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n font-weight: var(--nile-font-weight-regular, --ng-font-weight-regular);\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border: solid 1px var(--nile-colors-neutral-500, var(--ng-colors-border-secondary-alt));\n border-radius: var(--nile-radius-sm, var(--ng-radius-md));\n padding-block: var(--nile-spacing-none, var(--ng-spacing-xs));\n padding-inline: var(--nile-spacing-none, var(--ng-spacing-xs));\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 box-shadow: var(--nile-box-shadow-none, var(--ng-shadow-xs));\n }\n\n .select__options__search-enabled {\n padding-top: var(--nile-spacing-10px, var(--ng-spacing-lg));\n }\n\n .select__options {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n\n color: rgb(133, 129, 129);\n }\n\n .select__listbox::slotted(nile-divider) {\n --spacing: var(--nile-spacing-xs, var(--ng-spacing-sm));\n }\n\n .select__listbox::slotted(small) {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n\n font-weight: var(--nile-font-weight-semi-bold, var(--ng-font-weight-semibold));\n color: var(--nile-colors-dark-500);\n padding-block: var(--nile-spacing-xs, var(--ng-spacing-sm));\n padding-inline: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n .select__search {\n position: sticky;\n top: 0px;\n z-index: 1;\n width: calc(100% - 16px);\n padding: var(--nile-spacing-md, var(--ng-spacing-md));\n background-color: var(--nile-colors-white-base);\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:var(--nile-display-flex, var(--ng-display-none));\n flex-direction: row;\n align-items: flex-start;\n padding: var(--nile-spacing-md) var(--nile-spacing-lg)\n var(--nile-spacing-xl);\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\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: var(--nile-spacing-xl, var(--ng-spacing-xl));\n animation: spin 0.6s linear infinite;\n }\n\n .select__no-results {\n padding: var(--nile-spacing-lg, var(--ng-spacing-lg));\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: var(--nile-spacing-lg, var(--ng-spacing-md));\n }\n\n .select__prefix--from-options img{\n max-height: var(--nile-height-22px, var(--ng-height-24px));\n max-width: var(--nile-width-22px, var(--ng-width-6));\n }\n\n .select__hide-default {\n display: none;\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-select.css.cjs.js","sources":["../../../src/nile-select/nile-select.css.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * Select_2 CSS\n */\nexport const styles = css`\n :host {\n box-sizing: border-box;\n --ng-nxt-gen-outline: var(--ng-border-width-1) solid var(--ng-colors-border-brand);\n --ng-nxt-gen-outline-error: var(--ng-border-width-1) solid var(--ng-colors-border-error);\n --ng-private-outline-transparent: var(--ng-border-width-1) solid transparent;\n --ng-box-shadow: 0px 12px 16px -4px var(--ng-colors-effects-shadow-lg-01, rgba(10, 13, 18, 0.08)), 0px 4px 6px -2px var(--ng-colors-effects-shadow-lg-02, rgba(10, 13, 18, 0.03)), 0px 2px 2px -1px var(--ng-colors-effects-shadow-lg-03, rgba(10, 13, 18, 0.04));\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n :host *,\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: var(--nile-spacing-sm, var(--ng-spacing-sm));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-secondary-700));\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-style: normal;\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-medium));\n line-height: var(--nile-spacing-2xl, var(--ng-line-height-text-sm));\n letter-spacing: 0.2px;\n }\n\n .form-control--has-label.form-control--medium .form-control__label {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\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, var(--ng-colors-text-brand-tertiary-600));\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, var(--ng-colors-text-tertiary-600));\n margin-top: var(--nile-spacing-lg, var(--ng-spacing-lg));\n }\n\n .form-control--has-help-text.form-control--medium .form-control__help-text {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n }\n\n .form-control--has-help-text.form-control--radio-group\n .form-control__help-text {\n margin-top: var(--nile-spacing-xs, var(--ng-spacing-sm));\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, var(--ng-font-family-body));\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-medium));\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, var(--ng-colors-text-primary-900));\n cursor: inherit;\n overflow: hidden;\n padding: var(--nile-spacing-none, var(--ng-spacing-none));\n margin: var(--nile-spacing-none, var(--ng-spacing-none));\n -webkit-appearance: none;\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n }\n\n\n .select__display-input::placeholder {\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n color: var(--nile-colors-text-placeholder, var(--ng-colors-text-placeholder));\n }\n\n .select:not(.select--disabled):hover .select__display-input {\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-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: var(--nile-spacing-none);\n margin: var(--nile-spacing-none);\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: var(--nile-spacing-7px, var(--ng-spacing-md));\n width: 100%;\n overflow: hidden;\n }\n\n .select__tags-count {\n color: var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n\n font-style: normal;\n font-weight: var(--nile-font-weight-regular);\n line-height: var(--nile-line-height-xsmall);\n letter-spacing: 0.2px;\n margin: var(--nile-spacing-sm, var(--ng-spacing-sm));\n }\n\n .select__tags-count-clearable {\n margin-right: var(--nile-spacing-5xl, var(--ng-spacing-5xl));\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, var(--ng-colors-bg-primary));\n border: solid 1px var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n outline: var(--nile-outline-none, var(--ng-private-outline-transparent));\n }\n\n .select--standard .select__combobox:hover {\n border: 1px solid var(--nile-colors-dark-900, var(--ng-colors-border-brand));\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n outline: var(--nile-outline-none, var(--ng-nxt-gen-outline));\n }\n\n .select--error:hover:not(.select--disabled) .select__combobox{\n border-color: var(--nile-colors-red-500, var(--ng-colors-border-error));\n outline: var(--nile-outline-none, var(--ng-colors-border-error));\n }\n\n .select--standard.select--disabled .select__combobox {\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-disabled-subtle));\n border-color: var(--nile-colors-neutral-500,var(--ng-colors-border-primary) );\n color: var(--nile-colors-dark-500, var(--ng-colors-text-disabled));\n opacity: var(--nile-opacity-50, var(--ng-opacity-100));\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, var(--ng-colors-border-warning));\n }\n\n .select--error .select__combobox {\n border-color: var(--nile-colors-red-500, var(--ng-colors-border-error));\n outline: var(--nile-outline-none, var(--ng-private-outline-transparent));\n }\n\n\n\n\n .select--success {\n border-color: var(--nile-colors-green-500, var(--ng-componentcolors-utility-success-500));\n }\n\n /* Filled selects */\n .select--filled .select__combobox {\n border: none;\n background-color: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-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: var(--nile-radius-sm, var(--ng-radius-md));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n\n padding: var(--nile-spacing-lg, var(--ng-spacing-md)) var(--nile-spacing-lg, var(--ng-spacing-lg));\n height: var(--nile-height-40px, var(--ng-height-40px));\n box-sizing: border-box;\n }\n\n .select--medium .select__clear {\n margin-inline-start: var(--nile-spacing-lg, var(--ng-spacing-lg));\n }\n\n .select--medium .select__prefix::slotted(*) {\n margin-inline-end: var(--nile-spacing-lg, var(--ng-spacing-md));\n }\n\n .select--medium .select__prefix.multiple::slotted(*) {\n margin-right: var(--nile-spacing-lg, var(--ng-spacing-md));\n }\n\n .select--medium:not(.select--placeholder-visible) .select__prefix.multiple::slotted(*) {\n margin-inline-start: var(--nile-spacing-xsmall, var(--ng-spacing-lg));\n }\n\n .select--medium.select--multiple:not(.select--placeholder-visible)\n .select__combobox {\n padding-inline-start: var(--nile-spacing-none, var(--ng-spacing-none));\n }\n\n .select--medium .select__tags {\n gap: var(--nile-spacing-3px, var(--ng-spacing-sm));\n }\n\n /* Pills */\n .select--pill.select--medium .select__combobox {\n border-radius: var(--nile-radius-3xl);\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, var(--ng-colors-text-brand-secondary-700));\n border: none;\n background: none;\n padding: var(--nile-spacing-none);\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: var(--nile-spacing-xxxsmall, var(--ng-spacing-md));\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: var(--nile-type-scale-3, var(--ng-font-size-text-md));\n font-weight: var(--nile-font-weight-regular, --ng-font-weight-regular);\n background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n border: solid 1px var(--nile-colors-neutral-500, var(--ng-colors-border-secondary-alt));\n border-radius: var(--nile-radius-sm, var(--ng-radius-md));\n padding-block: var(--nile-spacing-none, var(--ng-spacing-xs));\n padding-inline: var(--nile-spacing-none, var(--ng-spacing-xs));\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 box-shadow: var(--nile-box-shadow-none, var(--ng-shadow-xs));\n }\n\n .select__options__search-enabled {\n padding-top: var(--nile-spacing-10px, var(--ng-spacing-lg));\n }\n\n .select__options {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n\n color: rgb(133, 129, 129);\n }\n\n .select__listbox::slotted(nile-divider) {\n --spacing: var(--nile-spacing-xs, var(--ng-spacing-sm));\n }\n\n .select__listbox::slotted(small) {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n\n font-weight: var(--nile-font-weight-semi-bold, var(--ng-font-weight-semibold));\n color: var(--nile-colors-dark-500);\n padding-block: var(--nile-spacing-xs, var(--ng-spacing-sm));\n padding-inline: var(--nile-spacing-xl, var(--ng-spacing-xl));\n }\n\n .select__search {\n position: sticky;\n top: 0px;\n z-index: 1;\n width: calc(100% - 16px);\n padding: var(--nile-spacing-md, var(--ng-spacing-md));\n background-color: var(--nile-colors-white-base);\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:var(--nile-display-flex, var(--ng-display-none));\n flex-direction: row;\n align-items: flex-start;\n padding: var(--nile-spacing-md) var(--nile-spacing-lg)\n var(--nile-spacing-xl);\n gap: var(--nile-spacing-lg, var(--ng-spacing-lg));\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: var(--nile-spacing-xl, var(--ng-spacing-xl));\n animation: spin 0.6s linear infinite;\n }\n\n .select__no-results {\n padding: var(--nile-spacing-lg, var(--ng-spacing-lg));\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: var(--nile-spacing-lg, var(--ng-spacing-md));\n }\n\n .select__prefix--from-options img{\n max-height: var(--nile-height-none, var(--ng-height-24px));\n max-width: var(--nile-width-none, var(--ng-width-6));\n }\n\n .select__hide-default {\n display: none;\n }\n`;\n\nexport default [styles];\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTAYaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
|