@cas-smartdesign/combo-box 7.4.1 → 7.4.2
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/dist/combo-box.mjs
CHANGED
|
@@ -5,7 +5,7 @@ import _ from "@cas-smartdesign/lit-input";
|
|
|
5
5
|
import p, { ListDataProvider as y, SelectionType as u } from "@cas-smartdesign/virtual-list";
|
|
6
6
|
import { generator as w } from "@cas-smartdesign/list-item";
|
|
7
7
|
import I from "@cas-smartdesign/image-tools";
|
|
8
|
-
const V = ":host{display:inline-flex;position:relative;cursor:text;font-family:Segoe UI,Lucida Sans,Arial,sans-serif;font-size:16px;color:#111;contain:layout style;flex-direction:column}:host([hidden]),:host([type=hidden]){display:none!important}:host([effective-disabled]){opacity:.6;cursor:default;filter:grayscale(100%)}:host([effective-disabled]) .unfocused-line,:host([effective-disabled]) .focused-line{border-bottom-style:dashed}:host(:not([effective-disabled]):focus) .focused-line,:host(:not([effective-disabled])[focused]) .focused-line{transform:none;transition:transform .25s}:host(:not([effective-disabled]):focus) .label.float,:host(:not([effective-disabled])[focused]) .label.float{color:var(--sd-input-focused-color, #1467ba)}:host([inactive]) .input{pointer-events:none}:host([effective-disabled]:focus),:host([effective-disabled][focused]){box-shadow:0 0 0 1px #111}:host(:not([effective-disabled])[validationlevel]) .focused-line,:host(:not([effective-disabled]):invalid) .focused-line{transform:none;transition:transform .25s}:host([validationlevel=warn i]) .focused-line{border-bottom-color:var(--sd-input-validation-color, #555555)}:host([validationlevel=warn i]) .label,:host([validationlevel=warn i]) .validation-message{color:var(--sd-input-validation-color, #555555)!important}:host([validationlevel=suggest i]) .focused-line{border-bottom-color:var(--sd-input-validation-color, #bf8800)}:host([validationlevel=suggest i]) .label,:host([validationlevel=suggest i]) .validation-message{color:var(--sd-input-validation-color, #bf8800)!important}:host([validationlevel=error i]) .focused-line,:host(:not([validationlevel]):invalid) .focused-line{border-bottom-color:var(--sd-input-validation-color, #cc0017)}:host([validationlevel=error i]) .label,:host([validationlevel=error i]) .validation-message,:host(:not([validationlevel]):invalid) .label,:host(:not([validationlevel]):invalid) .validation-message{color:var(--sd-input-validation-color, #cc0017)!important}.validation-message-wrapper{min-height:var(--sd-input-validation-message-minheight, 0px);position:relative;font-size:0}.validation-message{position:relative;position:var(--sd-input-validation-message-minheight, absolute);left:0;right:0}.label.float{transform:translateY(-75%) scale(.75);width:133%}.label:not(.float){max-width:100%}.floated-label-placeholder{height:20px;width:100%}.label{position:absolute;top:0;left:0;line-height:24px;pointer-events:none;color:var(--sd-input-color, #767676);transition:transform .25s,width .25s;transform-origin:left top}.input-wrapper{position:relative;display:flex;flex-direction:row;align-items:center;background-color:var(--input-wrapper-background-color)}:host([extended-prefix]:focus-within:not([effective-disabled])) .input-wrapper{flex-direction:column;align-items:baseline}:host([extended-prefix]:focus-within:not([effective-disabled])) .input-container{width:100%}:host([extended-prefix]:not(:focus-within)) .input-container,:host([extended-prefix][effective-disabled]) .input-container{width:0px}.input-container{line-height:var(--sd-input-line-height, 24px);flex:1 1 auto}.input{width:100%;background:var(--sd-input-background, transparent);font-family:inherit;font-size:inherit;text-align:inherit;color:inherit;border:none;outline:none;resize:none;padding-left:0;padding-right:0}.input:-webkit-autofill{animation-name:onautofillstart}.input:not(:-webkit-autofill){animation-name:onautofillcancel}@keyframes onautofillstart{0%{outline:none}}@keyframes onautofillcancel{0%{outline:none}}.label,input.input
|
|
8
|
+
const V = ":host{display:inline-flex;position:relative;cursor:text;font-family:Segoe UI,Lucida Sans,Arial,sans-serif;font-size:16px;color:#111;contain:layout style;flex-direction:column}:host([hidden]),:host([type=hidden]){display:none!important}:host([effective-disabled]){opacity:.6;cursor:default;filter:grayscale(100%)}:host([effective-disabled]) .unfocused-line,:host([effective-disabled]) .focused-line{border-bottom-style:dashed}:host(:not([effective-disabled]):focus) .focused-line,:host(:not([effective-disabled])[focused]) .focused-line{transform:none;transition:transform .25s}:host(:not([effective-disabled]):focus) .label.float,:host(:not([effective-disabled])[focused]) .label.float{color:var(--sd-input-focused-color, #1467ba)}:host([inactive]) .input{pointer-events:none}:host([effective-disabled]:focus),:host([effective-disabled][focused]){box-shadow:0 0 0 1px #111}:host(:not([effective-disabled])[validationlevel]) .focused-line,:host(:not([effective-disabled]):invalid) .focused-line{transform:none;transition:transform .25s}:host([validationlevel=warn i]) .focused-line{border-bottom-color:var(--sd-input-validation-color, #555555)}:host([validationlevel=warn i]) .label,:host([validationlevel=warn i]) .validation-message{color:var(--sd-input-validation-color, #555555)!important}:host([validationlevel=suggest i]) .focused-line{border-bottom-color:var(--sd-input-validation-color, #bf8800)}:host([validationlevel=suggest i]) .label,:host([validationlevel=suggest i]) .validation-message{color:var(--sd-input-validation-color, #bf8800)!important}:host([validationlevel=error i]) .focused-line,:host(:not([validationlevel]):invalid) .focused-line{border-bottom-color:var(--sd-input-validation-color, #cc0017)}:host([validationlevel=error i]) .label,:host([validationlevel=error i]) .validation-message,:host(:not([validationlevel]):invalid) .label,:host(:not([validationlevel]):invalid) .validation-message{color:var(--sd-input-validation-color, #cc0017)!important}.validation-message-wrapper{min-height:var(--sd-input-validation-message-minheight, 0px);position:relative;font-size:0}.validation-message{position:relative;position:var(--sd-input-validation-message-minheight, absolute);left:0;right:0}.label.float{transform:translateY(-75%) scale(.75);width:133%}.label:not(.float){max-width:100%}.floated-label-placeholder{height:20px;width:100%}.label{position:absolute;top:0;left:0;line-height:24px;pointer-events:none;color:var(--sd-input-color, #767676);transition:transform .25s,width .25s;transform-origin:left top}.input-wrapper{position:relative;display:flex;flex-direction:row;align-items:center;background-color:var(--input-wrapper-background-color)}:host([extended-prefix]:focus-within:not([effective-disabled])) .input-wrapper{flex-direction:column;align-items:baseline}:host([extended-prefix]:focus-within:not([effective-disabled])) .input-container{width:100%}:host([extended-prefix]:not(:focus-within)) .input-container,:host([extended-prefix][effective-disabled]) .input-container{width:0px}.input-container{line-height:var(--sd-input-line-height, 24px);flex:1 1 auto}.input{width:100%;background:var(--sd-input-background, transparent);font-family:inherit;font-size:inherit;text-align:inherit;color:inherit;border:none;outline:none;resize:none;padding-left:0;padding-right:0}.input:-webkit-autofill{animation-name:onautofillstart}.input:not(:-webkit-autofill){animation-name:onautofillcancel}@keyframes onautofillstart{0%{outline:none}}@keyframes onautofillcancel{0%{outline:none}}.label,input.input{text-overflow:ellipsis;overflow-x:hidden;white-space:nowrap}.validation-message{text-overflow:ellipsis;overflow-x:hidden;white-space:normal;white-space:var(--sd-input-validation-message-minheight, nowrap)}.input::placeholder{color:var(--sd-input-color, #767676)}.underline{height:2px;width:100%;position:relative}.unfocused-line,.focused-line{position:absolute;top:0;right:0;bottom:0;left:0}.unfocused-line{border-bottom:1px solid var(--sd-input-underline-color, #959595)}.focused-line{border-bottom:2px solid var(--sd-input-focused-color, #1467ba);transform-origin:center center;transform:scale3d(0,1,1)}.prefix,.suffix{display:flex;flex-wrap:nowrap;max-width:100%}.prefix ::slotted(*),.suffix ::slotted(*){display:flex}:host(:focus){outline:none}.suffix ::slotted(.clear-button),.suffix ::slotted(.toggle-button){cursor:pointer;width:16px;height:32px;padding:0 8px;margin-top:-8px;margin-bottom:-8px;fill:#666;outline:none;flex-shrink:0}.suffix ::slotted(.toggle-button){transition:transform .2s}:host([opened]) .suffix ::slotted(.toggle-button){transform:rotate(180deg)}:host([disabled]) .suffix ::slotted(.clear-button),:host([disabled]) .suffix ::slotted(.toggle-button){display:none!important}.prefix ::slotted(.icon-wrapper){width:32px;height:32px;padding-right:4px;margin-top:-8px;margin-bottom:-8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}:host(:not([has-value])) .suffix ::slotted(.clear-button),:host([null-setting-disallowed]) .suffix ::slotted(.clear-button){display:none!important}:host(:not([allow-custom-value]):not([trigger-only])) .input{caret-color:transparent}:host(:not([allow-custom-value]):not([disabled])) .input{cursor:pointer}#default-slot{display:none}", C = `<svg xmlns="http://www.w3.org/2000/svg" class="toggle-button" slot="suffix" viewBox="0 0 16 16">\r
|
|
9
9
|
<path d="M13 4v2l-5 5-5-5v-2l5 5z"/>\r
|
|
10
10
|
</svg>\r
|
|
11
11
|
`, B = `<svg xmlns="http://www.w3.org/2000/svg" class="clear-button" slot="suffix" viewBox="0 0 16 16">\r
|
package/dist/combo-box.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"combo-box.mjs","sources":["../toggle.svg?raw","../clear.svg?raw","../combo-box.ts"],"sourcesContent":["export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"toggle-button\\\" slot=\\\"suffix\\\" viewBox=\\\"0 0 16 16\\\">\\r\\n <path d=\\\"M13 4v2l-5 5-5-5v-2l5 5z\\\"/>\\r\\n</svg>\\r\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"clear-button\\\" slot=\\\"suffix\\\" viewBox=\\\"0 0 16 16\\\">\\r\\n <path d=\\\"M12.96 4.46l-1.42-1.42-3.54 3.55-3.54-3.55-1.42 1.42 3.55 3.54-3.55 3.54 1.42 1.42 3.54-3.55 3.54 3.55 1.42-1.42-3.55-3.54 3.55-3.54z\\\"/>\\r\\n</svg>\\r\\n\"","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { unsafeCSS, PropertyValues, css, TemplateResult, html } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { createPopper, Instance as Popper } from \"@popperjs/core\";\nimport SDInput, { CustomEventMap as InputCustomEventMap } from \"@cas-smartdesign/lit-input\";\nimport VirtualList, { SelectionType, ItemGenerator, ListDataProvider } from \"@cas-smartdesign/virtual-list\";\nimport { ItemData, generator } from \"@cas-smartdesign/list-item\";\n\nconst TAG_NAME = \"sd-combo-box\";\n\nfunction debounce<T>(func: (...args: T[]) => unknown, delay: number): typeof func {\n let timeout: number;\n return function (...args: T[]) {\n if (timeout != null) {\n clearTimeout(timeout);\n }\n timeout = window.setTimeout(() => func(...args), delay);\n };\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [TAG_NAME]: ComboBox;\n }\n}\n\nimport style from \"./style.scss?inline\";\nimport toggleSvg from \"./toggle.svg?raw\";\nimport clearSvg from \"./clear.svg?raw\";\nimport ImageTools from \"@cas-smartdesign/image-tools\";\n\nexport type ComboBoxValue = {\n index: number;\n item: ItemData | any;\n};\nexport type InMemoryFilter = (filterText: string, item: any) => boolean;\nexport type DataResponse = {\n items: any[];\n finalSizeIsKnown: boolean;\n};\n\nlet idCounter = 0;\n\nexport interface ISelectionEvent {\n selection: ComboBoxValue | string;\n isCustomValue: boolean;\n}\nexport interface IFilterChangeEvent {\n value: string;\n}\n\nexport interface CustomEventMap extends InputCustomEventMap {\n \"selection-change\": CustomEvent<ISelectionEvent>;\n \"filter-change\": CustomEvent<IFilterChangeEvent>;\n}\n\nexport default interface ComboBox {\n addEventListener<K extends keyof CustomEventMap>(\n event: K,\n listener: ((this: this, ev: CustomEventMap[K]) => unknown) | null,\n options?: AddEventListenerOptions | boolean,\n ): void;\n addEventListener(\n type: string,\n callback: EventListenerOrEventListenerObject | null,\n options?: AddEventListenerOptions | boolean,\n ): void;\n removeEventListener<K extends keyof CustomEventMap>(\n type: K,\n listener: (this: this, ev: CustomEventMap[K]) => unknown,\n options?: boolean | EventListenerOptions,\n ): void;\n removeEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions,\n ): void;\n dispatchEvent<EventType extends CustomEventMap[keyof CustomEventMap]>(event: EventType): boolean;\n}\n\nexport default class ComboBox extends SDInput {\n public static readonly ID: string = TAG_NAME;\n public static ensureDefined = (): void => {\n VirtualList.ensureDefined();\n if (!customElements.get(ComboBox.ID)) {\n customElements.define(ComboBox.ID, ComboBox);\n }\n };\n static formAssociated = true;\n\n private static readonly DATA_REQUEST_CANCELLED: string = \"cancel_data_request\";\n\n @property({ type: Boolean, reflect: true })\n public opened = false;\n @property({ type: Number, attribute: \"item-height\" })\n public itemHeight = 50;\n @property({ type: Boolean, attribute: \"allow-custom-value\", reflect: true })\n public allowCustomValue: boolean;\n @property({ type: Boolean, attribute: \"trigger-only\", reflect: true })\n public triggerOnly: boolean;\n @property({ type: Boolean, attribute: \"null-setting-disallowed\", reflect: true })\n public nullSettingDisallowed: boolean;\n @property({ type: Boolean, attribute: \"show-icon\", reflect: true })\n public showIcon: boolean;\n @property({ type: String, attribute: \"display-value-path\", noAccessor: true })\n public displayValuePath = \"caption\";\n @property({ type: String, attribute: \"filter-property\", noAccessor: true })\n public filterProperty: string;\n @property({ type: String, attribute: true, reflect: true })\n public id: string = ComboBox.ID + \"_\" + idCounter++;\n\n public inMemoryFilter: InMemoryFilter = (filterText, item) => {\n if (!filterText) {\n return true;\n }\n const lowerCaseFilter = filterText.toLowerCase();\n if (typeof item.caption == \"string\" && item.caption.toLowerCase().includes(lowerCaseFilter)) {\n return true;\n }\n if (typeof item.description == \"string\" && item.description.toLowerCase().includes(lowerCaseFilter)) {\n return true;\n }\n return false;\n };\n\n public filterText: string;\n public minimumOverlayWidth = 250;\n\n private _comboBoxValue: ComboBoxValue | string;\n private _clearButton: SVGElement;\n private _toggleButton: SVGElement;\n private _popper: Popper;\n private _list: VirtualList;\n private _dataProvider: ListDataProvider;\n private _itemGenerator: ItemGenerator = generator;\n private _itemCache: any[] = [];\n private _declarativeItems: HTMLElement[];\n private _onDataRequest: (filterText: string, page: number) => Promise<DataResponse>;\n private _pendingDataRequest: { cancel: (reason?: any) => void };\n private _openedByFilterTextChange: boolean;\n private _lastRequestedPage: number;\n private _lastRequestedFilterText: string;\n private _icon: HTMLElement;\n\n constructor() {\n super();\n this._dataProvider = new ListDataProvider();\n this._dataProvider.finalSizeIsKnown = true;\n }\n\n public get clearFilterOnLazyLoadedSelection(): boolean {\n return this.triggerOnly;\n }\n\n /**\n * @deprecated The method should not be used.\n * Use {@link ComboBox#triggerOnly} instead.\n * @param {boolean} value\n */\n public set clearFilterOnLazyLoadedSelection(value: boolean) {\n console.warn(\n \"Using clearFilterOnLazyLoadedSelection setting on a combo-box is deprecated. Use triggerOnly instead.\",\n );\n this.triggerOnly = value;\n }\n\n public get itemGenerator(): ItemGenerator {\n return this._itemGenerator;\n }\n\n public set itemGenerator(value: ItemGenerator) {\n this._itemGenerator = value;\n if (this._list) {\n this._list.itemGenerator = this._itemGenerator;\n }\n }\n\n public get items(): any[] {\n return this._itemCache;\n }\n\n public set items(items: any[]) {\n this._itemCache = items;\n if (this.isLazyLoadConfigured) {\n this._dataProvider.items = items;\n this._lastRequestedPage = null;\n }\n if (this.value && !this.comboBoxValue) {\n this.updateComboBoxValueFromValue();\n }\n this.filterItemsInMemory();\n if (this.opened && this._popper) {\n this._popper.update();\n }\n }\n\n public get finalSizeIsKnown(): boolean {\n return this._dataProvider.finalSizeIsKnown;\n }\n\n public set finalSizeIsKnown(value: boolean) {\n this._dataProvider.finalSizeIsKnown = value;\n }\n\n public configureLazyLoad(onDataRequest: (filterText: string, page: number) => Promise<DataResponse>): void {\n if (!onDataRequest) {\n throw new Error(\"It is not possible to configure lazy load without a given onDataRequest calback.\");\n }\n this._dataProvider.finalSizeIsKnown = false;\n this._onDataRequest = onDataRequest;\n this._dataProvider.onDataRequest = (page: number) => {\n this.requestData(page, false);\n };\n }\n\n public get comboBoxValue(): ComboBoxValue | string {\n return this._comboBoxValue;\n }\n\n public set comboBoxValue(value: ComboBoxValue | string) {\n this._comboBoxValue = value;\n this.updateInputValue(null);\n this.updateHasValue();\n }\n\n public get selectedIndex(): number {\n if (this.isCustomValue(this.comboBoxValue) || !this.comboBoxValue) {\n return -1;\n }\n return this.comboBoxValue.index;\n }\n\n public get displayValue(): string {\n return this.value;\n }\n\n public open(): void {\n this.opened = true;\n }\n\n static get styles() {\n return [\n css`\n ${unsafeCSS(style)}\n `,\n ];\n }\n\n public disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this._popper) {\n this._popper.destroy();\n this._popper = null;\n }\n }\n\n public render(): TemplateResult {\n return html`\n ${super.render()}\n <slot @slotchange=${this.onDefaultSlotChange} id=\"default-slot\"></slot>\n `;\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n if (oldValue !== newValue) {\n switch (name) {\n case \"opened\": {\n this.handleOpenedStateChange();\n break;\n }\n case \"item-height\": {\n if (this._list) {\n this._list.itemHeight = this.itemHeight;\n }\n break;\n }\n case \"id\": {\n this.updateListId();\n break;\n }\n }\n }\n }\n\n public firstUpdated(changedProperties: PropertyValues): void {\n super.firstUpdated(changedProperties);\n\n if (this.value && !this.comboBoxValue) {\n this.updateComboBoxValueFromValue();\n }\n window.requestAnimationFrame(() => {\n this.initClearButtton();\n this.initToggleButtton();\n this.updateHasValue();\n\n this.addEventListener(\"click\", () => {\n if (!this.disabled) {\n this.opened = !this.opened;\n }\n });\n this.addEventListener(\"keydown\", (event: KeyboardEvent) => {\n if (!this.disabled) {\n this.handleKeyDown(event);\n }\n });\n });\n this.inputElement.setAttribute(\"role\", \"combobox\");\n this.inputElement.setAttribute(\"aria-autocomplete\", \"list\");\n }\n\n private updateComboBoxValueFromValue() {\n if (this.value) {\n const selectedIndex = this._itemCache.findIndex(\n (item) => (item[this.displayValuePath] ?? \"\") === this.value,\n );\n if (selectedIndex > -1) {\n this._comboBoxValue = { index: selectedIndex, item: this._itemCache[selectedIndex] };\n } else if (this.allowCustomValue) {\n this._comboBoxValue = this.value;\n } else {\n this._comboBoxValue = null;\n }\n this.updateHasValue();\n this.updateIconFromCurrentValue();\n }\n }\n\n public updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n if (changedProperties.has(\"showIcon\")) {\n if (this.showIcon) {\n if (this._icon == null) {\n this.initIconWrapper();\n }\n } else if (this._icon != null) {\n this._icon.remove();\n this._icon = null;\n }\n }\n if (changedProperties.has(\"currentText\")) {\n this.updateHasValue();\n }\n if (changedProperties.has(\"triggerOnly\") && this._list) {\n this._list.selectionType = this.triggerOnly ? SelectionType.TriggerOnly : SelectionType.Single;\n }\n }\n\n private initIconWrapper() {\n this._icon = document.createElement(\"div\");\n this._icon.className = \"icon-wrapper\";\n this._icon.role = \"img\";\n const iconEl = document.createElement(\"div\");\n iconEl.style.backgroundRepeat = \"no-repeat\";\n iconEl.style.backgroundPosition = \"center\";\n iconEl.style.backgroundSize = \"cover\";\n iconEl.style.height = \"24px\";\n iconEl.style.width = \"24px\";\n this._icon.appendChild(iconEl);\n this._icon.slot = \"prefix\";\n this.appendChild(this._icon);\n this.updateIconFromCurrentValue();\n }\n\n private updateIconFromCurrentValue() {\n if (this.isCustomValue(this.comboBoxValue)) {\n this.updateIcon(null);\n } else {\n this.updateIcon(this.comboBoxValue?.item);\n }\n }\n\n private updateIcon(item) {\n if (this._icon) {\n if (item && (item.icon || item.iconPlaceholder)) {\n const selectedItem = item as {\n iconBackgroundColor?: string;\n attributes?: Record<string, string>;\n };\n if (selectedItem.attributes == null) {\n this._icon.title = \"\";\n this._icon.ariaLabel = \"\";\n } else {\n this._icon.title = selectedItem.attributes[\"icon-attr-title\"] ?? \"\";\n this._icon.ariaLabel = selectedItem.attributes[\"icon-attr-aria-label\"] ?? \"\";\n }\n this._icon.style.backgroundColor = selectedItem.iconBackgroundColor;\n this._icon.style.display = \"\";\n ImageTools.showImage(this._icon.querySelector(\"div\"), item.icon, item.iconPlaceholder);\n } else if (this._icon) {\n this._icon.style.display = \"none\";\n }\n }\n }\n\n private updateHasValue() {\n if (this.currentText || (this.comboBoxValue != null && this.comboBoxValue != \"\")) {\n this.setAttribute(\"has-value\", \"\");\n if (this._clearButton) {\n this._clearButton.style.display = \"\";\n }\n } else {\n this.removeAttribute(\"has-value\");\n }\n }\n\n protected shouldFloat() {\n return super.shouldFloat() || (this.comboBoxValue != null && this.comboBoxValue != \"\");\n }\n\n private initClearButtton(): void {\n const clearButtonTemplate = document.createElement(\"template\");\n clearButtonTemplate.innerHTML = clearSvg;\n this._clearButton = clearButtonTemplate.content.firstChild as SVGElement;\n this.appendChild(this._clearButton);\n\n this._clearButton.addEventListener(\"click\", (event) => {\n event.preventDefault();\n event.stopPropagation();\n this.opened = false;\n this.clearValue();\n });\n }\n\n private initToggleButtton(): void {\n const toggleButtonTemplate = document.createElement(\"template\");\n toggleButtonTemplate.innerHTML = toggleSvg;\n this._toggleButton = toggleButtonTemplate.content.firstChild as SVGElement;\n this.appendChild(this._toggleButton);\n\n this._toggleButton.addEventListener(\"click\", (event) => {\n event.preventDefault();\n event.stopPropagation();\n this.opened = !this.opened;\n this.select();\n });\n }\n\n private debouncedFilterItemsInMemory = debounce(this.filterItemsInMemory.bind(this), 200);\n private filterItemsInMemory(): void {\n if (this.isLazyLoadConfigured) {\n return;\n }\n let filteredInMemory = false;\n if (this.filterText) {\n if (this.filterProperty) {\n this._dataProvider.items = this._itemCache.filter((item) => {\n return item[this.filterProperty] && String(item[this.filterProperty]).indexOf(this.filterText) > -1;\n });\n filteredInMemory = true;\n } else if (this.inMemoryFilter) {\n this._dataProvider.items = this._itemCache.filter((item) => this.inMemoryFilter(this.filterText, item));\n filteredInMemory = true;\n }\n }\n if (!filteredInMemory) {\n this._dataProvider.items = this._itemCache;\n if (this._list) {\n this.updateFocusAndSelectedIndexFromValue();\n }\n } else if (this._list) {\n if (this.comboBoxValue && !this.isCustomValue(this.comboBoxValue)) {\n let index = this._dataProvider.items.indexOf(this.comboBoxValue.item);\n if (index == -1) {\n const selectedId = this.comboBoxValue.item.id;\n if (selectedId != null) {\n index = this._dataProvider.items.findIndex((item: any) => item.id == selectedId);\n }\n }\n this._list.focusIndex = index;\n this._list.selectedIndices = index == -1 ? [] : [index];\n } else {\n this._list.focusIndex = null;\n }\n }\n if (this.opened && this._popper) {\n this._popper.update();\n }\n }\n\n private ensureListAndPopperInitialized(): void {\n if (!this._list) {\n this._list = document.createElement(VirtualList.ID) as VirtualList;\n this.updateListId();\n this._list.classList.add(\"combo-box-dropdown\");\n this._list.itemHeight = this.itemHeight;\n this._list.itemGenerator = this.itemGenerator;\n this._list.selectionType = this.triggerOnly ? SelectionType.TriggerOnly : SelectionType.Single;\n this._list.setAttribute(\"focus-target\", \"\");\n Object.assign(this._list.style, {\n zIndex: \"21000\",\n boxShadow: `rgba(0, 0, 0, 0.14) 0px 2px 2px 0px,\n rgba(0, 0, 0, 0.12) 0px 1px 5px 0px,\n rgba(0, 0, 0, 0.2) 0px 3px 1px -2px`,\n background: \"white\",\n overflowY: \"auto\",\n });\n this._list.addEventListener(\"selection\", this.handleSelection);\n this._dataProvider.connectList(this._list);\n }\n if (!this._popper) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const comboBox = this;\n this._popper = createPopper(this, this._list, {\n placement: \"bottom-start\",\n modifiers: [\n {\n name: \"computeStyles\",\n options: {\n gpuAcceleration: true,\n },\n },\n {\n name: \"hide\",\n enabled: false,\n },\n {\n name: \"closeIfReferenceHidden\",\n enabled: true,\n phase: \"afterWrite\",\n fn({ state }) {\n const comboBox = state.elements.reference as ComboBox;\n comboBox.closeIfNotVisible();\n },\n },\n {\n name: \"offset\",\n options: {\n offset: ({ placement }) => {\n if (placement.indexOf(\"top\") > -1) {\n return [0, -parseInt(getComputedStyle(comboBox).paddingTop, 10)];\n }\n if (placement.indexOf(\"bottom\") > -1) {\n return [\n 0,\n -parseInt(getComputedStyle(comboBox).paddingBottom, 10) -\n ((\n this.shadowRoot.querySelector(\n \".validation-message-wrapper\",\n ) as HTMLElement\n )?.offsetHeight ?? 0),\n ];\n }\n return [0, 0];\n },\n },\n },\n {\n name: \"adjustWidthIfNeeded\",\n enabled: true,\n phase: \"read\",\n fn({ state }) {\n const list = state.elements.popper as VirtualList;\n list.increaseWidthOnNextRenderIfNeeded();\n },\n },\n ],\n });\n }\n }\n\n private closeIfNotVisible(): void {\n const elementFromPoint = this.elementFromMiddleOfComboBox();\n // elementFromPoint might be the list itself in Safari, thus it needs to be checked as well (Fixes: 244485)\n if (\n !this.contains(elementFromPoint) &&\n !this.shadowRoot.contains(elementFromPoint) &&\n elementFromPoint !== this._list\n ) {\n if (this.triggerOnly) {\n this.value = null;\n }\n this.opened = false;\n }\n }\n\n private elementFromMiddleOfComboBox(): Element {\n const rect = this.getBoundingClientRect();\n return document.elementFromPoint(rect.left + rect.width / 2, rect.top + rect.height / 2);\n }\n\n private handleSelection = (event: CustomEvent) => {\n const selectedItem = this._dataProvider.items[event.detail.index];\n if (!event.detail.selected) {\n // null selection is not allowed via clicking inside the dropdown\n this._list.selectedIndices = [event.detail.index];\n }\n this.comboBoxValue = { index: this._itemCache.indexOf(selectedItem), item: selectedItem };\n this.dispatchSelectionChangeEvent();\n this.opened = false;\n };\n\n private async handleOpenedStateChange(): Promise<void> {\n this.inputElement.setAttribute(\"aria-expanded\", String(this.opened));\n if (this.opened) {\n if (!this.disabled) {\n this.ensureListAndPopperInitialized();\n\n const filterChanged = (this.filterText ?? \"\") !== (this._lastRequestedFilterText ?? \"\");\n if (this.isLazyLoadConfigured && (this.items.length == 0 || filterChanged)) {\n this.requestData(0, filterChanged);\n }\n\n this.updateDropdownSizes();\n this.ownerDocument.body.appendChild(this._list);\n this.updateFocusAndSelectedIndexFromValue();\n\n window.requestAnimationFrame(() => {\n if (this._popper) {\n this._popper.update();\n }\n });\n\n window.addEventListener(\"pointerdown\", this.handleWindowPointerDown);\n\n if (!this.allowCustomValue && !this._openedByFilterTextChange) {\n this.select();\n }\n }\n this._openedByFilterTextChange = false;\n } else {\n await this._list.updateComplete;\n if (this._popper) {\n await this._popper.update;\n }\n this.ownerDocument.body.removeChild(this._list);\n window.removeEventListener(\"pointerdown\", this.handleWindowPointerDown);\n this.updateValueOnClose();\n this.clearFilter();\n this.setSelectionRange(0, 0);\n this.inputElement.removeAttribute(\"aria-activedescendant\");\n\n if (this._popper) {\n this._popper.destroy();\n this._popper = null;\n }\n }\n }\n\n private updateValueOnClose(): void {\n const oldValue = this.comboBoxValue ?? \"\";\n if (this.nullSettingDisallowed && !this.value && this.comboBoxValue) {\n this.restorePreviousSelection();\n } else if (this.value !== (this.convertToDisplayValue(null) ?? \"\")) {\n // value change only if needed\n const focusedItem = this._dataProvider.items[this._list.focusIndex] as {\n disabled?: boolean;\n };\n if (focusedItem && (focusedItem[this.displayValuePath] ?? \"\") === this.value) {\n if (focusedItem.disabled) {\n this.restorePreviousSelection();\n return;\n }\n // 1. select focused item if the input's value is the same\n this.comboBoxValue = { index: this._itemCache.indexOf(focusedItem), item: focusedItem };\n } else if (this.allowCustomValue || !this.value) {\n // 2. set as a custom or empty value\n this.comboBoxValue = this.value;\n } else {\n // 3. try to search for an identical item\n const selectedIndex = this._itemCache.findIndex(\n (item) => (item[this.displayValuePath] ?? \"\") === this.value && !item.disabled,\n );\n if (selectedIndex > -1) {\n this.comboBoxValue = { index: selectedIndex, item: this._itemCache[selectedIndex] };\n } else {\n this.restorePreviousSelection(); // Fixes C1XRTYID\n }\n }\n } else {\n // Allow selecting another item with same caption but different id\n const focusedItem = this._dataProvider.items[this._list.focusIndex] as {\n id?: string;\n disabled?: boolean;\n };\n if (focusedItem && focusedItem.id != null) {\n if (focusedItem.disabled) {\n this.restorePreviousSelection();\n return;\n }\n if (\n !this.comboBoxValue ||\n this.isCustomValue(this.comboBoxValue) ||\n this.comboBoxValue.item.id != focusedItem.id\n ) {\n this.comboBoxValue = { index: this._itemCache.indexOf(focusedItem), item: focusedItem };\n }\n }\n }\n if (oldValue !== (this.comboBoxValue ?? \"\")) {\n this.dispatchSelectionChangeEvent();\n }\n this.updateIcon(this.isCustomValue(this.comboBoxValue) ? null : this.comboBoxValue?.item);\n }\n\n private restorePreviousSelection() {\n this.updateInputValue(null);\n }\n\n private updateFocusAndSelectedIndexFromValue(): void {\n if (this.comboBoxValue && !this.isCustomValue(this.comboBoxValue) && !this._openedByFilterTextChange) {\n let index = this.comboBoxValue.index;\n if (index == -1 || this.isLazyLoadConfigured) {\n index = this.items.indexOf(this.comboBoxValue.item);\n if (index == -1) {\n const selectedId = this.comboBoxValue.item.id;\n if (selectedId != null) {\n index = this.items.findIndex((item) => item.id == selectedId);\n }\n }\n }\n this._list.focusIndex = index;\n this._list.selectedIndices = index == -1 ? [] : [index];\n } else {\n this._list.focusIndex = -1;\n this._list.selectedIndices = [];\n }\n this.updateActiveDescendant();\n }\n\n private handleWindowPointerDown = (event: PointerEvent) => {\n const contains = event.target instanceof Node && this.contains(event.target);\n if (!contains && this.opened && event.composedPath().indexOf(this._list) === -1) {\n if (this.triggerOnly) {\n this.value = null;\n }\n this.opened = false;\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n switch (event.key) {\n case \"Down\":\n case \"ArrowDown\": {\n event.preventDefault();\n this.navigateInList(+1);\n break;\n }\n case \"Up\":\n case \"ArrowUp\": {\n event.preventDefault();\n this.navigateInList(-1);\n break;\n }\n case \"Enter\": {\n if (this.opened) {\n event.preventDefault();\n event.stopPropagation();\n this.opened = false;\n }\n break;\n }\n case \"Escape\": {\n if (this.opened) {\n event.preventDefault();\n event.stopPropagation();\n if (\n this._list.selectedIndices.indexOf(this._list.focusIndex) > -1 &&\n this._dataProvider.items.length > this._list.focusIndex\n ) {\n this.opened = false;\n } else {\n this.clearFilter();\n this.updateInputValue(null);\n this.updateFocusAndSelectedIndexFromValue();\n if (!this._list.selectedIndices.includes(this._list.focusIndex)) {\n this._list.selectedIndices.push(this._list.focusIndex);\n }\n }\n }\n break;\n }\n case \"Tab\": {\n if (this.opened) {\n if (this.triggerOnly) {\n this.value = null;\n }\n this.opened = false;\n }\n break;\n }\n }\n };\n\n private navigateInList(offset: number): void {\n if (!this.opened) {\n this.opened = true;\n } else {\n if (this._list.focusIndex == null) {\n if (offset > 0) {\n this._list.focusIndex = 0;\n } else {\n this._list.focusIndex = Math.max(0, this._dataProvider.items.length - 1);\n }\n } else {\n this._list.focusIndex = Math.max(\n 0,\n Math.min(this._dataProvider.items.length - 1, this._list.focusIndex + offset),\n );\n }\n this.updateInputValue(this._dataProvider.items[this._list.focusIndex] as ItemData | any);\n this.updateActiveDescendant();\n if (!this.allowCustomValue) {\n this.select();\n }\n }\n }\n\n private updateActiveDescendant() {\n const focusedListItem = this._list && this._list.getListItem(this._list.focusIndex);\n if (focusedListItem) {\n this.inputElement.setAttribute(\"aria-activedescendant\", focusedListItem.id);\n } else {\n this.inputElement.removeAttribute(\"aria-activedescendant\");\n }\n }\n\n private updateInputValue(item: ItemData): void {\n this.updateComplete.then(() => {\n this.value = this.convertToDisplayValue(item);\n if (item) {\n this.updateIcon(item);\n } else {\n this.updateIconFromCurrentValue();\n }\n });\n }\n\n private convertToDisplayValue(item: ItemData): string {\n if (item) {\n return item[this.displayValuePath];\n } else if (this.comboBoxValue) {\n if (this.isCustomValue(this.comboBoxValue)) {\n return this.comboBoxValue;\n } else {\n return this.comboBoxValue.item[this.displayValuePath];\n }\n } else {\n return null;\n }\n }\n\n protected fireValueChange(immediate?: boolean): void {\n if (immediate) {\n if (this.filterText !== this.value) {\n const effectiveFilterChange = (this.filterText ?? \"\") !== this.value;\n this.filterText = this.value;\n this.updateIcon(null);\n if (!this.opened) {\n this._openedByFilterTextChange = true;\n this.opened = true;\n }\n if (effectiveFilterChange) {\n this.dispatchFilterChangeEvent();\n this.debouncedFilterItemsInMemory();\n }\n }\n }\n // consume both change events triggered from input, combo box provides a different API for that\n }\n\n private clearValue(): void {\n if (!this.nullSettingDisallowed) {\n this.value = null;\n this.inputElement.removeAttribute(\"aria-activedescendant\");\n if (this._list) {\n this._list.selectedIndices = [];\n }\n this.clearFilter();\n if (this.comboBoxValue) {\n this.comboBoxValue = null;\n this.dispatchSelectionChangeEvent();\n }\n this.requestUpdate();\n }\n }\n\n private clearFilter(): void {\n if (this.filterText != null) {\n this.filterText = undefined;\n this.filterItemsInMemory();\n this.dispatchFilterChangeEvent();\n this.updateIconFromCurrentValue();\n }\n }\n\n private updateDropdownSizes(): void {\n const viewportHeight = window.innerHeight || document.documentElement.clientHeight;\n const overlayMaxHeight = (viewportHeight - this.offsetHeight) * 0.5;\n Object.assign(this._list.style, {\n maxHeight: `${overlayMaxHeight}px`,\n minWidth: `${Math.max(this.offsetWidth, this.minimumOverlayWidth)}px`,\n maxWidth: `max(50vw, ${this.offsetWidth}px)`,\n });\n }\n\n private updateListId() {\n if (this.inputElement && this._list) {\n this._list.id = this.id + \"_list\";\n this.inputElement.setAttribute(\"aria-controls\", this._list.id);\n }\n }\n\n private isCustomValue(value: ComboBoxValue | string): value is string {\n return typeof value === \"string\";\n }\n\n private dispatchSelectionChangeEvent(): void {\n this.updateComplete\n .then(() => {\n this.dispatchEvent(\n new CustomEvent<ISelectionEvent>(\"selection-change\", {\n detail: {\n selection: this.comboBoxValue,\n isCustomValue: this.isCustomValue(this.comboBoxValue),\n },\n }),\n );\n if (this.triggerOnly) {\n this.comboBoxValue = null;\n } else {\n const comboBoxValue = this.comboBoxValue;\n if (this.isCustomValue(comboBoxValue)) {\n this.setFormValue(comboBoxValue);\n } else {\n this.setFormValue(comboBoxValue?.item?.caption);\n }\n }\n })\n .catch((e) => {\n console.error(\"Could not dispatch selection change event due to:\", e);\n });\n }\n\n private dispatchFilterChangeEvent(): void {\n this.dispatchEvent(\n new CustomEvent<IFilterChangeEvent>(\"filter-change\", {\n detail: { value: this.filterText },\n composed: true,\n }),\n );\n this.debouncedRequestData(0);\n }\n\n private get isLazyLoadConfigured(): boolean {\n return !!this._onDataRequest;\n }\n\n /**\n * Used only when lazy loading is configured.\n */\n private debouncedRequestData = debounce(this.requestData.bind(this), 250);\n private requestData(page: number, filterChanged?: boolean) {\n if (filterChanged == null) {\n filterChanged = (this.filterText ?? \"\") !== (this._lastRequestedFilterText ?? \"\");\n }\n if (this.isLazyLoadConfigured) {\n if (!this.opened) {\n if (filterChanged) {\n this._dataProvider.items = [];\n this._itemCache = [];\n }\n return;\n }\n if (this._lastRequestedPage == page && !filterChanged) {\n return;\n }\n if (this._pendingDataRequest) {\n this._pendingDataRequest.cancel(ComboBox.DATA_REQUEST_CANCELLED);\n }\n const cancellationPromise = new Promise<DataResponse>((_resolve, reject) => {\n this._pendingDataRequest = { cancel: reject };\n });\n this._lastRequestedPage = page;\n this._lastRequestedFilterText = this.filterText;\n this.setAttribute(\"loading\", \"\");\n Promise.race([cancellationPromise, this._onDataRequest(this._lastRequestedFilterText, page)])\n .then((dataResponse) => {\n if (this.filterText == this._lastRequestedFilterText && this._lastRequestedPage == page) {\n this._dataProvider.finalSizeIsKnown = dataResponse.finalSizeIsKnown;\n if (filterChanged) {\n this._dataProvider.items = dataResponse.items;\n this._itemCache = dataResponse.items;\n } else {\n this._dataProvider.addItems(dataResponse.items);\n this._itemCache = this._dataProvider.items;\n }\n if (this._list) {\n this._list.itemCount = this._dataProvider.items.length;\n }\n if (this._popper && this.opened) {\n if (this.comboBoxValue && !this.isCustomValue(this.comboBoxValue)) {\n const selectedItem = this.comboBoxValue.item;\n if (\n this._list.selectedIndices.length == 0 ||\n this.items[this._list.selectedIndices[0]] != selectedItem\n ) {\n let index = this.items.indexOf(selectedItem);\n if (index == -1) {\n const selectedId = selectedItem.id;\n if (selectedId != null) {\n index = this.items.findIndex((item) => item.id == selectedId);\n }\n }\n this.comboBoxValue.index = index;\n this._list.selectedIndices = index == -1 ? [] : [index];\n }\n }\n this.updateDropdownSizes();\n this._popper.update();\n }\n }\n this._pendingDataRequest = null;\n this.removeAttribute(\"loading\");\n })\n .catch((e) => {\n if (e !== ComboBox.DATA_REQUEST_CANCELLED) {\n console.error(\n `Data could not be loaded for filter \"${this._lastRequestedFilterText}\" and page number \"${page}\" due to the following error:\\n${e}`,\n );\n this._dataProvider.finalSizeIsKnown = true;\n\n if (this.items.length == 0) {\n this.opened = false;\n } else if (this._list) {\n this._list.itemCount = this.items.length;\n }\n this.removeAttribute(\"loading\");\n }\n this._pendingDataRequest = null;\n });\n }\n }\n\n private get defaultSlot(): HTMLSlotElement {\n return this.shadowRoot.querySelector(\"#default-slot\");\n }\n\n private onDefaultSlotChange(): void {\n this._declarativeItems = this.defaultSlot.assignedElements() as HTMLElement[];\n if (this._declarativeItems.length > 0) {\n this.finalSizeIsKnown = true;\n this.itemGenerator = (_data, index) => {\n return this._declarativeItems[index].cloneNode(true) as HTMLElement;\n };\n this.items = this._declarativeItems.map((item) => {\n const data = {\n caption: item.getAttribute(\"caption\"),\n description: item.getAttribute(\"description\"),\n };\n if (\"caption\" != this.displayValuePath && \"description\" != this.displayValuePath) {\n data[this.displayValuePath] =\n item[this.displayValuePath] || item.getAttribute(this.displayValuePath);\n }\n return data;\n });\n }\n }\n}\n\nComboBox.ensureDefined();\n"],"names":["toggleSvg","clearSvg","TAG_NAME","debounce","func","delay","timeout","args","idCounter","_ComboBox","_a","SDInput","filterText","item","lowerCaseFilter","generator","event","selectedItem","ListDataProvider","value","items","onDataRequest","page","css","unsafeCSS","style","html","name","oldValue","newValue","changedProperties","selectedIndex","SelectionType","iconEl","ImageTools","clearButtonTemplate","toggleButtonTemplate","filteredInMemory","index","selectedId","VirtualList","comboBox","createPopper","state","placement","elementFromPoint","rect","filterChanged","focusedItem","offset","focusedListItem","immediate","effectiveFilterChange","overlayMaxHeight","comboBoxValue","e","cancellationPromise","_resolve","reject","dataResponse","_data","data","__decorateClass","property","ComboBox"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"combo-box.mjs","sources":["../toggle.svg?raw","../clear.svg?raw","../combo-box.ts"],"sourcesContent":["export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"toggle-button\\\" slot=\\\"suffix\\\" viewBox=\\\"0 0 16 16\\\">\\r\\n <path d=\\\"M13 4v2l-5 5-5-5v-2l5 5z\\\"/>\\r\\n</svg>\\r\\n\"","export default \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" class=\\\"clear-button\\\" slot=\\\"suffix\\\" viewBox=\\\"0 0 16 16\\\">\\r\\n <path d=\\\"M12.96 4.46l-1.42-1.42-3.54 3.55-3.54-3.55-1.42 1.42 3.55 3.54-3.55 3.54 1.42 1.42 3.54-3.55 3.54 3.55 1.42-1.42-3.55-3.54 3.55-3.54z\\\"/>\\r\\n</svg>\\r\\n\"","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { unsafeCSS, PropertyValues, css, TemplateResult, html } from \"lit\";\nimport { property } from \"lit/decorators/property.js\";\nimport { createPopper, Instance as Popper } from \"@popperjs/core\";\nimport SDInput, { CustomEventMap as InputCustomEventMap } from \"@cas-smartdesign/lit-input\";\nimport VirtualList, { SelectionType, ItemGenerator, ListDataProvider } from \"@cas-smartdesign/virtual-list\";\nimport { ItemData, generator } from \"@cas-smartdesign/list-item\";\n\nconst TAG_NAME = \"sd-combo-box\";\n\nfunction debounce<T>(func: (...args: T[]) => unknown, delay: number): typeof func {\n let timeout: number;\n return function (...args: T[]) {\n if (timeout != null) {\n clearTimeout(timeout);\n }\n timeout = window.setTimeout(() => func(...args), delay);\n };\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [TAG_NAME]: ComboBox;\n }\n}\n\nimport style from \"./style.scss?inline\";\nimport toggleSvg from \"./toggle.svg?raw\";\nimport clearSvg from \"./clear.svg?raw\";\nimport ImageTools from \"@cas-smartdesign/image-tools\";\n\nexport type ComboBoxValue = {\n index: number;\n item: ItemData | any;\n};\nexport type InMemoryFilter = (filterText: string, item: any) => boolean;\nexport type DataResponse = {\n items: any[];\n finalSizeIsKnown: boolean;\n};\n\nlet idCounter = 0;\n\nexport interface ISelectionEvent {\n selection: ComboBoxValue | string;\n isCustomValue: boolean;\n}\nexport interface IFilterChangeEvent {\n value: string;\n}\n\nexport interface CustomEventMap extends InputCustomEventMap {\n \"selection-change\": CustomEvent<ISelectionEvent>;\n \"filter-change\": CustomEvent<IFilterChangeEvent>;\n}\n\nexport default interface ComboBox {\n addEventListener<K extends keyof CustomEventMap>(\n event: K,\n listener: ((this: this, ev: CustomEventMap[K]) => unknown) | null,\n options?: AddEventListenerOptions | boolean,\n ): void;\n addEventListener(\n type: string,\n callback: EventListenerOrEventListenerObject | null,\n options?: AddEventListenerOptions | boolean,\n ): void;\n removeEventListener<K extends keyof CustomEventMap>(\n type: K,\n listener: (this: this, ev: CustomEventMap[K]) => unknown,\n options?: boolean | EventListenerOptions,\n ): void;\n removeEventListener(\n type: string,\n listener: EventListenerOrEventListenerObject,\n options?: boolean | EventListenerOptions,\n ): void;\n dispatchEvent<EventType extends CustomEventMap[keyof CustomEventMap]>(event: EventType): boolean;\n}\n\nexport default class ComboBox extends SDInput {\n public static readonly ID: string = TAG_NAME;\n public static ensureDefined = (): void => {\n VirtualList.ensureDefined();\n if (!customElements.get(ComboBox.ID)) {\n customElements.define(ComboBox.ID, ComboBox);\n }\n };\n static formAssociated = true;\n\n private static readonly DATA_REQUEST_CANCELLED: string = \"cancel_data_request\";\n\n @property({ type: Boolean, reflect: true })\n public opened = false;\n @property({ type: Number, attribute: \"item-height\" })\n public itemHeight = 50;\n @property({ type: Boolean, attribute: \"allow-custom-value\", reflect: true })\n public allowCustomValue: boolean;\n @property({ type: Boolean, attribute: \"trigger-only\", reflect: true })\n public triggerOnly: boolean;\n @property({ type: Boolean, attribute: \"null-setting-disallowed\", reflect: true })\n public nullSettingDisallowed: boolean;\n @property({ type: Boolean, attribute: \"show-icon\", reflect: true })\n public showIcon: boolean;\n @property({ type: String, attribute: \"display-value-path\", noAccessor: true })\n public displayValuePath = \"caption\";\n @property({ type: String, attribute: \"filter-property\", noAccessor: true })\n public filterProperty: string;\n @property({ type: String, attribute: true, reflect: true })\n public id: string = ComboBox.ID + \"_\" + idCounter++;\n\n public inMemoryFilter: InMemoryFilter = (filterText, item) => {\n if (!filterText) {\n return true;\n }\n const lowerCaseFilter = filterText.toLowerCase();\n if (typeof item.caption == \"string\" && item.caption.toLowerCase().includes(lowerCaseFilter)) {\n return true;\n }\n if (typeof item.description == \"string\" && item.description.toLowerCase().includes(lowerCaseFilter)) {\n return true;\n }\n return false;\n };\n\n public filterText: string;\n public minimumOverlayWidth = 250;\n\n private _comboBoxValue: ComboBoxValue | string;\n private _clearButton: SVGElement;\n private _toggleButton: SVGElement;\n private _popper: Popper;\n private _list: VirtualList;\n private _dataProvider: ListDataProvider;\n private _itemGenerator: ItemGenerator = generator;\n private _itemCache: any[] = [];\n private _declarativeItems: HTMLElement[];\n private _onDataRequest: (filterText: string, page: number) => Promise<DataResponse>;\n private _pendingDataRequest: { cancel: (reason?: any) => void };\n private _openedByFilterTextChange: boolean;\n private _lastRequestedPage: number;\n private _lastRequestedFilterText: string;\n private _icon: HTMLElement;\n\n constructor() {\n super();\n this._dataProvider = new ListDataProvider();\n this._dataProvider.finalSizeIsKnown = true;\n }\n\n public get clearFilterOnLazyLoadedSelection(): boolean {\n return this.triggerOnly;\n }\n\n /**\n * @deprecated The method should not be used.\n * Use {@link ComboBox#triggerOnly} instead.\n * @param {boolean} value\n */\n public set clearFilterOnLazyLoadedSelection(value: boolean) {\n console.warn(\n \"Using clearFilterOnLazyLoadedSelection setting on a combo-box is deprecated. Use triggerOnly instead.\",\n );\n this.triggerOnly = value;\n }\n\n public get itemGenerator(): ItemGenerator {\n return this._itemGenerator;\n }\n\n public set itemGenerator(value: ItemGenerator) {\n this._itemGenerator = value;\n if (this._list) {\n this._list.itemGenerator = this._itemGenerator;\n }\n }\n\n public get items(): any[] {\n return this._itemCache;\n }\n\n public set items(items: any[]) {\n this._itemCache = items;\n if (this.isLazyLoadConfigured) {\n this._dataProvider.items = items;\n this._lastRequestedPage = null;\n }\n if (this.value && !this.comboBoxValue) {\n this.updateComboBoxValueFromValue();\n }\n this.filterItemsInMemory();\n if (this.opened && this._popper) {\n this._popper.update();\n }\n }\n\n public get finalSizeIsKnown(): boolean {\n return this._dataProvider.finalSizeIsKnown;\n }\n\n public set finalSizeIsKnown(value: boolean) {\n this._dataProvider.finalSizeIsKnown = value;\n }\n\n public configureLazyLoad(onDataRequest: (filterText: string, page: number) => Promise<DataResponse>): void {\n if (!onDataRequest) {\n throw new Error(\"It is not possible to configure lazy load without a given onDataRequest calback.\");\n }\n this._dataProvider.finalSizeIsKnown = false;\n this._onDataRequest = onDataRequest;\n this._dataProvider.onDataRequest = (page: number) => {\n this.requestData(page, false);\n };\n }\n\n public get comboBoxValue(): ComboBoxValue | string {\n return this._comboBoxValue;\n }\n\n public set comboBoxValue(value: ComboBoxValue | string) {\n this._comboBoxValue = value;\n this.updateInputValue(null);\n this.updateHasValue();\n }\n\n public get selectedIndex(): number {\n if (this.isCustomValue(this.comboBoxValue) || !this.comboBoxValue) {\n return -1;\n }\n return this.comboBoxValue.index;\n }\n\n public get displayValue(): string {\n return this.value;\n }\n\n public open(): void {\n this.opened = true;\n }\n\n static get styles() {\n return [\n css`\n ${unsafeCSS(style)}\n `,\n ];\n }\n\n public disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this._popper) {\n this._popper.destroy();\n this._popper = null;\n }\n }\n\n public render(): TemplateResult {\n return html`\n ${super.render()}\n <slot @slotchange=${this.onDefaultSlotChange} id=\"default-slot\"></slot>\n `;\n }\n\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n super.attributeChangedCallback(name, oldValue, newValue);\n if (oldValue !== newValue) {\n switch (name) {\n case \"opened\": {\n this.handleOpenedStateChange();\n break;\n }\n case \"item-height\": {\n if (this._list) {\n this._list.itemHeight = this.itemHeight;\n }\n break;\n }\n case \"id\": {\n this.updateListId();\n break;\n }\n }\n }\n }\n\n public firstUpdated(changedProperties: PropertyValues): void {\n super.firstUpdated(changedProperties);\n\n if (this.value && !this.comboBoxValue) {\n this.updateComboBoxValueFromValue();\n }\n window.requestAnimationFrame(() => {\n this.initClearButtton();\n this.initToggleButtton();\n this.updateHasValue();\n\n this.addEventListener(\"click\", () => {\n if (!this.disabled) {\n this.opened = !this.opened;\n }\n });\n this.addEventListener(\"keydown\", (event: KeyboardEvent) => {\n if (!this.disabled) {\n this.handleKeyDown(event);\n }\n });\n });\n this.inputElement.setAttribute(\"role\", \"combobox\");\n this.inputElement.setAttribute(\"aria-autocomplete\", \"list\");\n }\n\n private updateComboBoxValueFromValue() {\n if (this.value) {\n const selectedIndex = this._itemCache.findIndex(\n (item) => (item[this.displayValuePath] ?? \"\") === this.value,\n );\n if (selectedIndex > -1) {\n this._comboBoxValue = { index: selectedIndex, item: this._itemCache[selectedIndex] };\n } else if (this.allowCustomValue) {\n this._comboBoxValue = this.value;\n } else {\n this._comboBoxValue = null;\n }\n this.updateHasValue();\n this.updateIconFromCurrentValue();\n }\n }\n\n public updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n if (changedProperties.has(\"showIcon\")) {\n if (this.showIcon) {\n if (this._icon == null) {\n this.initIconWrapper();\n }\n } else if (this._icon != null) {\n this._icon.remove();\n this._icon = null;\n }\n }\n if (changedProperties.has(\"currentText\")) {\n this.updateHasValue();\n }\n if (changedProperties.has(\"triggerOnly\") && this._list) {\n this._list.selectionType = this.triggerOnly ? SelectionType.TriggerOnly : SelectionType.Single;\n }\n }\n\n private initIconWrapper() {\n this._icon = document.createElement(\"div\");\n this._icon.className = \"icon-wrapper\";\n this._icon.role = \"img\";\n const iconEl = document.createElement(\"div\");\n iconEl.style.backgroundRepeat = \"no-repeat\";\n iconEl.style.backgroundPosition = \"center\";\n iconEl.style.backgroundSize = \"cover\";\n iconEl.style.height = \"24px\";\n iconEl.style.width = \"24px\";\n this._icon.appendChild(iconEl);\n this._icon.slot = \"prefix\";\n this.appendChild(this._icon);\n this.updateIconFromCurrentValue();\n }\n\n private updateIconFromCurrentValue() {\n if (this.isCustomValue(this.comboBoxValue)) {\n this.updateIcon(null);\n } else {\n this.updateIcon(this.comboBoxValue?.item);\n }\n }\n\n private updateIcon(item) {\n if (this._icon) {\n if (item && (item.icon || item.iconPlaceholder)) {\n const selectedItem = item as {\n iconBackgroundColor?: string;\n attributes?: Record<string, string>;\n };\n if (selectedItem.attributes == null) {\n this._icon.title = \"\";\n this._icon.ariaLabel = \"\";\n } else {\n this._icon.title = selectedItem.attributes[\"icon-attr-title\"] ?? \"\";\n this._icon.ariaLabel = selectedItem.attributes[\"icon-attr-aria-label\"] ?? \"\";\n }\n this._icon.style.backgroundColor = selectedItem.iconBackgroundColor;\n this._icon.style.display = \"\";\n ImageTools.showImage(this._icon.querySelector(\"div\"), item.icon, item.iconPlaceholder);\n } else if (this._icon) {\n this._icon.style.display = \"none\";\n }\n }\n }\n\n private updateHasValue() {\n if (this.currentText || (this.comboBoxValue != null && this.comboBoxValue != \"\")) {\n this.setAttribute(\"has-value\", \"\");\n if (this._clearButton) {\n this._clearButton.style.display = \"\";\n }\n } else {\n this.removeAttribute(\"has-value\");\n }\n }\n\n protected shouldFloat() {\n return super.shouldFloat() || (this.comboBoxValue != null && this.comboBoxValue != \"\");\n }\n\n private initClearButtton(): void {\n const clearButtonTemplate = document.createElement(\"template\");\n clearButtonTemplate.innerHTML = clearSvg;\n this._clearButton = clearButtonTemplate.content.firstChild as SVGElement;\n this.appendChild(this._clearButton);\n\n this._clearButton.addEventListener(\"click\", (event) => {\n event.preventDefault();\n event.stopPropagation();\n this.opened = false;\n this.clearValue();\n });\n }\n\n private initToggleButtton(): void {\n const toggleButtonTemplate = document.createElement(\"template\");\n toggleButtonTemplate.innerHTML = toggleSvg;\n this._toggleButton = toggleButtonTemplate.content.firstChild as SVGElement;\n this.appendChild(this._toggleButton);\n\n this._toggleButton.addEventListener(\"click\", (event) => {\n event.preventDefault();\n event.stopPropagation();\n this.opened = !this.opened;\n this.select();\n });\n }\n\n private debouncedFilterItemsInMemory = debounce(this.filterItemsInMemory.bind(this), 200);\n private filterItemsInMemory(): void {\n if (this.isLazyLoadConfigured) {\n return;\n }\n let filteredInMemory = false;\n if (this.filterText) {\n if (this.filterProperty) {\n this._dataProvider.items = this._itemCache.filter((item) => {\n return item[this.filterProperty] && String(item[this.filterProperty]).indexOf(this.filterText) > -1;\n });\n filteredInMemory = true;\n } else if (this.inMemoryFilter) {\n this._dataProvider.items = this._itemCache.filter((item) => this.inMemoryFilter(this.filterText, item));\n filteredInMemory = true;\n }\n }\n if (!filteredInMemory) {\n this._dataProvider.items = this._itemCache;\n if (this._list) {\n this.updateFocusAndSelectedIndexFromValue();\n }\n } else if (this._list) {\n if (this.comboBoxValue && !this.isCustomValue(this.comboBoxValue)) {\n let index = this._dataProvider.items.indexOf(this.comboBoxValue.item);\n if (index == -1) {\n const selectedId = this.comboBoxValue.item.id;\n if (selectedId != null) {\n index = this._dataProvider.items.findIndex((item: any) => item.id == selectedId);\n }\n }\n this._list.focusIndex = index;\n this._list.selectedIndices = index == -1 ? [] : [index];\n } else {\n this._list.focusIndex = null;\n }\n }\n if (this.opened && this._popper) {\n this._popper.update();\n }\n }\n\n private ensureListAndPopperInitialized(): void {\n if (!this._list) {\n this._list = document.createElement(VirtualList.ID) as VirtualList;\n this.updateListId();\n this._list.classList.add(\"combo-box-dropdown\");\n this._list.itemHeight = this.itemHeight;\n this._list.itemGenerator = this.itemGenerator;\n this._list.selectionType = this.triggerOnly ? SelectionType.TriggerOnly : SelectionType.Single;\n this._list.setAttribute(\"focus-target\", \"\");\n Object.assign(this._list.style, {\n zIndex: \"21000\",\n boxShadow: `rgba(0, 0, 0, 0.14) 0px 2px 2px 0px,\n rgba(0, 0, 0, 0.12) 0px 1px 5px 0px,\n rgba(0, 0, 0, 0.2) 0px 3px 1px -2px`,\n background: \"white\",\n overflowY: \"auto\",\n });\n this._list.addEventListener(\"selection\", this.handleSelection);\n this._dataProvider.connectList(this._list);\n }\n if (!this._popper) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const comboBox = this;\n this._popper = createPopper(this, this._list, {\n placement: \"bottom-start\",\n modifiers: [\n {\n name: \"computeStyles\",\n options: {\n gpuAcceleration: true,\n },\n },\n {\n name: \"hide\",\n enabled: false,\n },\n {\n name: \"closeIfReferenceHidden\",\n enabled: true,\n phase: \"afterWrite\",\n fn({ state }) {\n const comboBox = state.elements.reference as ComboBox;\n comboBox.closeIfNotVisible();\n },\n },\n {\n name: \"offset\",\n options: {\n offset: ({ placement }) => {\n if (placement.indexOf(\"top\") > -1) {\n return [0, -parseInt(getComputedStyle(comboBox).paddingTop, 10)];\n }\n if (placement.indexOf(\"bottom\") > -1) {\n return [\n 0,\n -parseInt(getComputedStyle(comboBox).paddingBottom, 10) -\n ((\n this.shadowRoot.querySelector(\n \".validation-message-wrapper\",\n ) as HTMLElement\n )?.offsetHeight ?? 0),\n ];\n }\n return [0, 0];\n },\n },\n },\n {\n name: \"adjustWidthIfNeeded\",\n enabled: true,\n phase: \"read\",\n fn({ state }) {\n const list = state.elements.popper as VirtualList;\n list.increaseWidthOnNextRenderIfNeeded();\n },\n },\n ],\n });\n }\n }\n\n private closeIfNotVisible(): void {\n const elementFromPoint = this.elementFromMiddleOfComboBox();\n // elementFromPoint might be the list itself in Safari, thus it needs to be checked as well (Fixes: 244485)\n if (\n !this.contains(elementFromPoint) &&\n !this.shadowRoot.contains(elementFromPoint) &&\n elementFromPoint !== this._list\n ) {\n if (this.triggerOnly) {\n this.value = null;\n }\n this.opened = false;\n }\n }\n\n private elementFromMiddleOfComboBox(): Element {\n const rect = this.getBoundingClientRect();\n return document.elementFromPoint(rect.left + rect.width / 2, rect.top + rect.height / 2);\n }\n\n private handleSelection = (event: CustomEvent) => {\n const selectedItem = this._dataProvider.items[event.detail.index];\n if (!event.detail.selected) {\n // null selection is not allowed via clicking inside the dropdown\n this._list.selectedIndices = [event.detail.index];\n }\n this.comboBoxValue = { index: this._itemCache.indexOf(selectedItem), item: selectedItem };\n this.dispatchSelectionChangeEvent();\n this.opened = false;\n };\n\n private async handleOpenedStateChange(): Promise<void> {\n this.inputElement.setAttribute(\"aria-expanded\", String(this.opened));\n if (this.opened) {\n if (!this.disabled) {\n this.ensureListAndPopperInitialized();\n\n const filterChanged = (this.filterText ?? \"\") !== (this._lastRequestedFilterText ?? \"\");\n if (this.isLazyLoadConfigured && (this.items.length == 0 || filterChanged)) {\n this.requestData(0, filterChanged);\n }\n\n this.updateDropdownSizes();\n this.ownerDocument.body.appendChild(this._list);\n this.updateFocusAndSelectedIndexFromValue();\n\n window.requestAnimationFrame(() => {\n if (this._popper) {\n this._popper.update();\n }\n });\n\n window.addEventListener(\"pointerdown\", this.handleWindowPointerDown);\n\n if (!this.allowCustomValue && !this._openedByFilterTextChange) {\n this.select();\n }\n }\n this._openedByFilterTextChange = false;\n } else {\n await this._list.updateComplete;\n if (this._popper) {\n await this._popper.update;\n }\n this.ownerDocument.body.removeChild(this._list);\n window.removeEventListener(\"pointerdown\", this.handleWindowPointerDown);\n this.updateValueOnClose();\n this.clearFilter();\n this.setSelectionRange(0, 0);\n this.inputElement.removeAttribute(\"aria-activedescendant\");\n\n if (this._popper) {\n this._popper.destroy();\n this._popper = null;\n }\n }\n }\n\n private updateValueOnClose(): void {\n const oldValue = this.comboBoxValue ?? \"\";\n if (this.nullSettingDisallowed && !this.value && this.comboBoxValue) {\n this.restorePreviousSelection();\n } else if (this.value !== (this.convertToDisplayValue(null) ?? \"\")) {\n // value change only if needed\n const focusedItem = this._dataProvider.items[this._list.focusIndex] as {\n disabled?: boolean;\n };\n if (focusedItem && (focusedItem[this.displayValuePath] ?? \"\") === this.value) {\n if (focusedItem.disabled) {\n this.restorePreviousSelection();\n return;\n }\n // 1. select focused item if the input's value is the same\n this.comboBoxValue = { index: this._itemCache.indexOf(focusedItem), item: focusedItem };\n } else if (this.allowCustomValue || !this.value) {\n // 2. set as a custom or empty value\n this.comboBoxValue = this.value;\n } else {\n // 3. try to search for an identical item\n const selectedIndex = this._itemCache.findIndex(\n (item) => (item[this.displayValuePath] ?? \"\") === this.value && !item.disabled,\n );\n if (selectedIndex > -1) {\n this.comboBoxValue = { index: selectedIndex, item: this._itemCache[selectedIndex] };\n } else {\n this.restorePreviousSelection(); // Fixes C1XRTYID\n }\n }\n } else {\n // Allow selecting another item with same caption but different id\n const focusedItem = this._dataProvider.items[this._list.focusIndex] as {\n id?: string;\n disabled?: boolean;\n };\n if (focusedItem && focusedItem.id != null) {\n if (focusedItem.disabled) {\n this.restorePreviousSelection();\n return;\n }\n if (\n !this.comboBoxValue ||\n this.isCustomValue(this.comboBoxValue) ||\n this.comboBoxValue.item.id != focusedItem.id\n ) {\n this.comboBoxValue = { index: this._itemCache.indexOf(focusedItem), item: focusedItem };\n }\n }\n }\n if (oldValue !== (this.comboBoxValue ?? \"\")) {\n this.dispatchSelectionChangeEvent();\n }\n this.updateIcon(this.isCustomValue(this.comboBoxValue) ? null : this.comboBoxValue?.item);\n }\n\n private restorePreviousSelection() {\n this.updateInputValue(null);\n }\n\n private updateFocusAndSelectedIndexFromValue(): void {\n if (this.comboBoxValue && !this.isCustomValue(this.comboBoxValue) && !this._openedByFilterTextChange) {\n let index = this.comboBoxValue.index;\n if (index == -1 || this.isLazyLoadConfigured) {\n index = this.items.indexOf(this.comboBoxValue.item);\n if (index == -1) {\n const selectedId = this.comboBoxValue.item.id;\n if (selectedId != null) {\n index = this.items.findIndex((item) => item.id == selectedId);\n }\n }\n }\n this._list.focusIndex = index;\n this._list.selectedIndices = index == -1 ? [] : [index];\n } else {\n this._list.focusIndex = -1;\n this._list.selectedIndices = [];\n }\n this.updateActiveDescendant();\n }\n\n private handleWindowPointerDown = (event: PointerEvent) => {\n const contains = event.target instanceof Node && this.contains(event.target);\n if (!contains && this.opened && event.composedPath().indexOf(this._list) === -1) {\n if (this.triggerOnly) {\n this.value = null;\n }\n this.opened = false;\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n switch (event.key) {\n case \"Down\":\n case \"ArrowDown\": {\n event.preventDefault();\n this.navigateInList(+1);\n break;\n }\n case \"Up\":\n case \"ArrowUp\": {\n event.preventDefault();\n this.navigateInList(-1);\n break;\n }\n case \"Enter\": {\n if (this.opened) {\n event.preventDefault();\n event.stopPropagation();\n this.opened = false;\n }\n break;\n }\n case \"Escape\": {\n if (this.opened) {\n event.preventDefault();\n event.stopPropagation();\n if (\n this._list.selectedIndices.indexOf(this._list.focusIndex) > -1 &&\n this._dataProvider.items.length > this._list.focusIndex\n ) {\n this.opened = false;\n } else {\n this.clearFilter();\n this.updateInputValue(null);\n this.updateFocusAndSelectedIndexFromValue();\n if (!this._list.selectedIndices.includes(this._list.focusIndex)) {\n this._list.selectedIndices.push(this._list.focusIndex);\n }\n }\n }\n break;\n }\n case \"Tab\": {\n if (this.opened) {\n if (this.triggerOnly) {\n this.value = null;\n }\n this.opened = false;\n }\n break;\n }\n }\n };\n\n private navigateInList(offset: number): void {\n if (!this.opened) {\n this.opened = true;\n } else {\n if (this._list.focusIndex == null) {\n if (offset > 0) {\n this._list.focusIndex = 0;\n } else {\n this._list.focusIndex = Math.max(0, this._dataProvider.items.length - 1);\n }\n } else {\n this._list.focusIndex = Math.max(\n 0,\n Math.min(this._dataProvider.items.length - 1, this._list.focusIndex + offset),\n );\n }\n this.updateInputValue(this._dataProvider.items[this._list.focusIndex] as ItemData | any);\n this.updateActiveDescendant();\n if (!this.allowCustomValue) {\n this.select();\n }\n }\n }\n\n private updateActiveDescendant() {\n const focusedListItem = this._list && this._list.getListItem(this._list.focusIndex);\n if (focusedListItem) {\n this.inputElement.setAttribute(\"aria-activedescendant\", focusedListItem.id);\n } else {\n this.inputElement.removeAttribute(\"aria-activedescendant\");\n }\n }\n\n private updateInputValue(item: ItemData): void {\n this.updateComplete.then(() => {\n this.value = this.convertToDisplayValue(item);\n if (item) {\n this.updateIcon(item);\n } else {\n this.updateIconFromCurrentValue();\n }\n });\n }\n\n private convertToDisplayValue(item: ItemData): string {\n if (item) {\n return item[this.displayValuePath];\n } else if (this.comboBoxValue) {\n if (this.isCustomValue(this.comboBoxValue)) {\n return this.comboBoxValue;\n } else {\n return this.comboBoxValue.item[this.displayValuePath];\n }\n } else {\n return null;\n }\n }\n\n protected fireValueChange(immediate?: boolean): void {\n if (immediate) {\n if (this.filterText !== this.value) {\n const effectiveFilterChange = (this.filterText ?? \"\") !== this.value;\n this.filterText = this.value;\n this.updateIcon(null);\n if (!this.opened) {\n this._openedByFilterTextChange = true;\n this.opened = true;\n }\n if (effectiveFilterChange) {\n this.dispatchFilterChangeEvent();\n this.debouncedFilterItemsInMemory();\n }\n }\n }\n // consume both change events triggered from input, combo box provides a different API for that\n }\n\n private clearValue(): void {\n if (!this.nullSettingDisallowed) {\n this.value = null;\n this.inputElement.removeAttribute(\"aria-activedescendant\");\n if (this._list) {\n this._list.selectedIndices = [];\n }\n this.clearFilter();\n if (this.comboBoxValue) {\n this.comboBoxValue = null;\n this.dispatchSelectionChangeEvent();\n }\n this.requestUpdate();\n }\n }\n\n private clearFilter(): void {\n if (this.filterText != null) {\n this.filterText = undefined;\n this.filterItemsInMemory();\n this.dispatchFilterChangeEvent();\n this.updateIconFromCurrentValue();\n }\n }\n\n private updateDropdownSizes(): void {\n const viewportHeight = window.innerHeight || document.documentElement.clientHeight;\n const overlayMaxHeight = (viewportHeight - this.offsetHeight) * 0.5;\n Object.assign(this._list.style, {\n maxHeight: `${overlayMaxHeight}px`,\n minWidth: `${Math.max(this.offsetWidth, this.minimumOverlayWidth)}px`,\n maxWidth: `max(50vw, ${this.offsetWidth}px)`,\n });\n }\n\n private updateListId() {\n if (this.inputElement && this._list) {\n this._list.id = this.id + \"_list\";\n this.inputElement.setAttribute(\"aria-controls\", this._list.id);\n }\n }\n\n private isCustomValue(value: ComboBoxValue | string): value is string {\n return typeof value === \"string\";\n }\n\n private dispatchSelectionChangeEvent(): void {\n this.updateComplete\n .then(() => {\n this.dispatchEvent(\n new CustomEvent<ISelectionEvent>(\"selection-change\", {\n detail: {\n selection: this.comboBoxValue,\n isCustomValue: this.isCustomValue(this.comboBoxValue),\n },\n }),\n );\n if (this.triggerOnly) {\n this.comboBoxValue = null;\n } else {\n const comboBoxValue = this.comboBoxValue;\n if (this.isCustomValue(comboBoxValue)) {\n this.setFormValue(comboBoxValue);\n } else {\n this.setFormValue(comboBoxValue?.item?.caption);\n }\n }\n })\n .catch((e) => {\n console.error(\"Could not dispatch selection change event due to:\", e);\n });\n }\n\n private dispatchFilterChangeEvent(): void {\n this.dispatchEvent(\n new CustomEvent<IFilterChangeEvent>(\"filter-change\", {\n detail: { value: this.filterText },\n composed: true,\n }),\n );\n this.debouncedRequestData(0);\n }\n\n private get isLazyLoadConfigured(): boolean {\n return !!this._onDataRequest;\n }\n\n /**\n * Used only when lazy loading is configured.\n */\n private debouncedRequestData = debounce(this.requestData.bind(this), 250);\n private requestData(page: number, filterChanged?: boolean) {\n if (filterChanged == null) {\n filterChanged = (this.filterText ?? \"\") !== (this._lastRequestedFilterText ?? \"\");\n }\n if (this.isLazyLoadConfigured) {\n if (!this.opened) {\n if (filterChanged) {\n this._dataProvider.items = [];\n this._itemCache = [];\n }\n return;\n }\n if (this._lastRequestedPage == page && !filterChanged) {\n return;\n }\n if (this._pendingDataRequest) {\n this._pendingDataRequest.cancel(ComboBox.DATA_REQUEST_CANCELLED);\n }\n const cancellationPromise = new Promise<DataResponse>((_resolve, reject) => {\n this._pendingDataRequest = { cancel: reject };\n });\n this._lastRequestedPage = page;\n this._lastRequestedFilterText = this.filterText;\n this.setAttribute(\"loading\", \"\");\n Promise.race([cancellationPromise, this._onDataRequest(this._lastRequestedFilterText, page)])\n .then((dataResponse) => {\n if (this.filterText == this._lastRequestedFilterText && this._lastRequestedPage == page) {\n this._dataProvider.finalSizeIsKnown = dataResponse.finalSizeIsKnown;\n if (filterChanged) {\n this._dataProvider.items = dataResponse.items;\n this._itemCache = dataResponse.items;\n } else {\n this._dataProvider.addItems(dataResponse.items);\n this._itemCache = this._dataProvider.items;\n }\n if (this._list) {\n this._list.itemCount = this._dataProvider.items.length;\n }\n if (this._popper && this.opened) {\n if (this.comboBoxValue && !this.isCustomValue(this.comboBoxValue)) {\n const selectedItem = this.comboBoxValue.item;\n if (\n this._list.selectedIndices.length == 0 ||\n this.items[this._list.selectedIndices[0]] != selectedItem\n ) {\n let index = this.items.indexOf(selectedItem);\n if (index == -1) {\n const selectedId = selectedItem.id;\n if (selectedId != null) {\n index = this.items.findIndex((item) => item.id == selectedId);\n }\n }\n this.comboBoxValue.index = index;\n this._list.selectedIndices = index == -1 ? [] : [index];\n }\n }\n this.updateDropdownSizes();\n this._popper.update();\n }\n }\n this._pendingDataRequest = null;\n this.removeAttribute(\"loading\");\n })\n .catch((e) => {\n if (e !== ComboBox.DATA_REQUEST_CANCELLED) {\n console.error(\n `Data could not be loaded for filter \"${this._lastRequestedFilterText}\" and page number \"${page}\" due to the following error:\\n${e}`,\n );\n this._dataProvider.finalSizeIsKnown = true;\n\n if (this.items.length == 0) {\n this.opened = false;\n } else if (this._list) {\n this._list.itemCount = this.items.length;\n }\n this.removeAttribute(\"loading\");\n }\n this._pendingDataRequest = null;\n });\n }\n }\n\n private get defaultSlot(): HTMLSlotElement {\n return this.shadowRoot.querySelector(\"#default-slot\");\n }\n\n private onDefaultSlotChange(): void {\n this._declarativeItems = this.defaultSlot.assignedElements() as HTMLElement[];\n if (this._declarativeItems.length > 0) {\n this.finalSizeIsKnown = true;\n this.itemGenerator = (_data, index) => {\n return this._declarativeItems[index].cloneNode(true) as HTMLElement;\n };\n this.items = this._declarativeItems.map((item) => {\n const data = {\n caption: item.getAttribute(\"caption\"),\n description: item.getAttribute(\"description\"),\n };\n if (\"caption\" != this.displayValuePath && \"description\" != this.displayValuePath) {\n data[this.displayValuePath] =\n item[this.displayValuePath] || item.getAttribute(this.displayValuePath);\n }\n return data;\n });\n }\n }\n}\n\nComboBox.ensureDefined();\n"],"names":["toggleSvg","clearSvg","TAG_NAME","debounce","func","delay","timeout","args","idCounter","_ComboBox","_a","SDInput","filterText","item","lowerCaseFilter","generator","event","selectedItem","ListDataProvider","value","items","onDataRequest","page","css","unsafeCSS","style","html","name","oldValue","newValue","changedProperties","selectedIndex","SelectionType","iconEl","ImageTools","clearButtonTemplate","toggleButtonTemplate","filteredInMemory","index","selectedId","VirtualList","comboBox","createPopper","state","placement","elementFromPoint","rect","filterChanged","focusedItem","offset","focusedListItem","immediate","effectiveFilterChange","overlayMaxHeight","comboBoxValue","e","cancellationPromise","_resolve","reject","dataResponse","_data","data","__decorateClass","property","ComboBox"],"mappings":"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"}
|
package/dist/docs/doc.mjs
CHANGED
|
@@ -1417,7 +1417,7 @@ function updateMandatory(combobox: ComboBox) {
|
|
|
1417
1417
|
\f\r]`,gt=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,Vs=/-->/g,Fs=/>/g,Te=RegExp(`>|${Li}(?:([^\\s"'>=/]+)(${Li}*=${Li}*(?:[^
|
|
1418
1418
|
\f\r"'\`<>=]|("|')|))|$)`,"g"),Hs=/'/g,Us=/"/g,La=/^(?:script|style|textarea|title)$/i,Br=s=>(e,...t)=>({_$litType$:s,strings:e,values:t}),ne=Br(1),Ue=Symbol.for("lit-noChange"),F=Symbol.for("lit-nothing"),Gs=new WeakMap,je=He.createTreeWalker(He,129,null,!1);function Pa(s,e){if(!Array.isArray(s)||!s.hasOwnProperty("raw"))throw Error("invalid template strings array");return js!==void 0?js.createHTML(e):e}const Tr=(s,e)=>{const t=s.length-1,i=[];let a,r=e===2?"<svg>":"",n=gt;for(let o=0;o<t;o++){const l=s[o];let c,m,u=-1,h=0;for(;h<l.length&&(n.lastIndex=h,m=n.exec(l),m!==null);)h=n.lastIndex,n===gt?m[1]==="!--"?n=Vs:m[1]!==void 0?n=Fs:m[2]!==void 0?(La.test(m[2])&&(a=RegExp("</"+m[2],"g")),n=Te):m[3]!==void 0&&(n=Te):n===Te?m[0]===">"?(n=a??gt,u=-1):m[1]===void 0?u=-2:(u=n.lastIndex-m[2].length,c=m[1],n=m[3]===void 0?Te:m[3]==='"'?Us:Hs):n===Us||n===Hs?n=Te:n===Vs||n===Fs?n=gt:(n=Te,a=void 0);const g=n===Te&&s[o+1].startsWith("/>")?" ":"";r+=n===gt?l+Pr:u>=0?(i.push(c),l.slice(0,u)+Gi+l.slice(u)+Ie+g):l+Ie+(u===-2?(i.push(void 0),o):g)}return[Pa(s,r+(s[t]||"<?>")+(e===2?"</svg>":"")),i]};class At{constructor({strings:e,_$litType$:t},i){let a;this.parts=[];let r=0,n=0;const o=e.length-1,l=this.parts,[c,m]=Tr(e,t);if(this.el=At.createElement(c,i),je.currentNode=this.el.content,t===2){const u=this.el.content,h=u.firstChild;h.remove(),u.append(...h.childNodes)}for(;(a=je.nextNode())!==null&&l.length<o;){if(a.nodeType===1){if(a.hasAttributes()){const u=[];for(const h of a.getAttributeNames())if(h.endsWith(Gi)||h.startsWith(Ie)){const g=m[n++];if(u.push(h),g!==void 0){const _=a.getAttribute(g.toLowerCase()+Gi).split(Ie),y=/([.?@])?(.*)/.exec(g);l.push({type:1,index:r,name:y[2],strings:_,ctor:y[1]==="."?jr:y[1]==="?"?Fr:y[1]==="@"?Hr:yi})}else l.push({type:6,index:r})}for(const h of u)a.removeAttribute(h)}if(La.test(a.tagName)){const u=a.textContent.split(Ie),h=u.length-1;if(h>0){a.textContent=it?it.emptyScript:"";for(let g=0;g<h;g++)a.append(u[g],Ct()),je.nextNode(),l.push({type:2,index:++r});a.append(u[h],Ct())}}}else if(a.nodeType===8)if(a.data===Ia)l.push({type:2,index:r});else{let u=-1;for(;(u=a.data.indexOf(Ie,u+1))!==-1;)l.push({type:7,index:r}),u+=Ie.length-1}r++}}static createElement(e,t){const i=He.createElement("template");return i.innerHTML=e,i}}function st(s,e,t=s,i){var a,r,n,o;if(e===Ue)return e;let l=i!==void 0?(a=t._$Co)===null||a===void 0?void 0:a[i]:t._$Cl;const c=Et(e)?void 0:e._$litDirective$;return(l==null?void 0:l.constructor)!==c&&((r=l==null?void 0:l._$AO)===null||r===void 0||r.call(l,!1),c===void 0?l=void 0:(l=new c(s),l._$AT(s,t,i)),i!==void 0?((n=(o=t)._$Co)!==null&&n!==void 0?n:o._$Co=[])[i]=l:t._$Cl=l),l!==void 0&&(e=st(s,l._$AS(s,e.values),l,i)),e}class zr{constructor(e,t){this._$AV=[],this._$AN=void 0,this._$AD=e,this._$AM=t}get parentNode(){return this._$AM.parentNode}get _$AU(){return this._$AM._$AU}u(e){var t;const{el:{content:i},parts:a}=this._$AD,r=((t=e==null?void 0:e.creationScope)!==null&&t!==void 0?t:He).importNode(i,!0);je.currentNode=r;let n=je.nextNode(),o=0,l=0,c=a[0];for(;c!==void 0;){if(o===c.index){let m;c.type===2?m=new zt(n,n.nextSibling,this,e):c.type===1?m=new c.ctor(n,c.name,c.strings,this,e):c.type===6&&(m=new Ur(n,this,e)),this._$AV.push(m),c=a[++l]}o!==(c==null?void 0:c.index)&&(n=je.nextNode(),o++)}return je.currentNode=He,r}v(e){let t=0;for(const i of this._$AV)i!==void 0&&(i.strings!==void 0?(i._$AI(e,i,t),t+=i.strings.length-2):i._$AI(e[t])),t++}}class zt{constructor(e,t,i,a){var r;this.type=2,this._$AH=F,this._$AN=void 0,this._$AA=e,this._$AB=t,this._$AM=i,this.options=a,this._$Cp=(r=a==null?void 0:a.isConnected)===null||r===void 0||r}get _$AU(){var e,t;return(t=(e=this._$AM)===null||e===void 0?void 0:e._$AU)!==null&&t!==void 0?t:this._$Cp}get parentNode(){let e=this._$AA.parentNode;const t=this._$AM;return t!==void 0&&(e==null?void 0:e.nodeType)===11&&(e=t.parentNode),e}get startNode(){return this._$AA}get endNode(){return this._$AB}_$AI(e,t=this){e=st(this,e,t),Et(e)?e===F||e==null||e===""?(this._$AH!==F&&this._$AR(),this._$AH=F):e!==this._$AH&&e!==Ue&&this._(e):e._$litType$!==void 0?this.g(e):e.nodeType!==void 0?this.$(e):Dr(e)?this.T(e):this._(e)}k(e){return this._$AA.parentNode.insertBefore(e,this._$AB)}$(e){this._$AH!==e&&(this._$AR(),this._$AH=this.k(e))}_(e){this._$AH!==F&&Et(this._$AH)?this._$AA.nextSibling.data=e:this.$(He.createTextNode(e)),this._$AH=e}g(e){var t;const{values:i,_$litType$:a}=e,r=typeof a=="number"?this._$AC(e):(a.el===void 0&&(a.el=At.createElement(Pa(a.h,a.h[0]),this.options)),a);if(((t=this._$AH)===null||t===void 0?void 0:t._$AD)===r)this._$AH.v(i);else{const n=new zr(r,this),o=n.u(this.options);n.v(i),this.$(o),this._$AH=n}}_$AC(e){let t=Gs.get(e.strings);return t===void 0&&Gs.set(e.strings,t=new At(e)),t}T(e){Ra(this._$AH)||(this._$AH=[],this._$AR());const t=this._$AH;let i,a=0;for(const r of e)a===t.length?t.push(i=new zt(this.k(Ct()),this.k(Ct()),this,this.options)):i=t[a],i._$AI(r),a++;a<t.length&&(this._$AR(i&&i._$AB.nextSibling,a),t.length=a)}_$AR(e=this._$AA.nextSibling,t){var i;for((i=this._$AP)===null||i===void 0||i.call(this,!1,!0,t);e&&e!==this._$AB;){const a=e.nextSibling;e.remove(),e=a}}setConnected(e){var t;this._$AM===void 0&&(this._$Cp=e,(t=this._$AP)===null||t===void 0||t.call(this,e))}}let yi=class{constructor(e,t,i,a,r){this.type=1,this._$AH=F,this._$AN=void 0,this.element=e,this.name=t,this._$AM=a,this.options=r,i.length>2||i[0]!==""||i[1]!==""?(this._$AH=Array(i.length-1).fill(new String),this.strings=i):this._$AH=F}get tagName(){return this.element.tagName}get _$AU(){return this._$AM._$AU}_$AI(e,t=this,i,a){const r=this.strings;let n=!1;if(r===void 0)e=st(this,e,t,0),n=!Et(e)||e!==this._$AH&&e!==Ue,n&&(this._$AH=e);else{const o=e;let l,c;for(e=r[0],l=0;l<r.length-1;l++)c=st(this,o[i+l],t,l),c===Ue&&(c=this._$AH[l]),n||(n=!Et(c)||c!==this._$AH[l]),c===F?e=F:e!==F&&(e+=(c??"")+r[l+1]),this._$AH[l]=c}n&&!a&&this.j(e)}j(e){e===F?this.element.removeAttribute(this.name):this.element.setAttribute(this.name,e??"")}};class jr extends yi{constructor(){super(...arguments),this.type=3}j(e){this.element[this.name]=e===F?void 0:e}}const Vr=it?it.emptyScript:"";let Fr=class extends yi{constructor(){super(...arguments),this.type=4}j(e){e&&e!==F?this.element.setAttribute(this.name,Vr):this.element.removeAttribute(this.name)}},Hr=class extends yi{constructor(e,t,i,a,r){super(e,t,i,a,r),this.type=5}_$AI(e,t=this){var i;if((e=(i=st(this,e,t,0))!==null&&i!==void 0?i:F)===Ue)return;const a=this._$AH,r=e===F&&a!==F||e.capture!==a.capture||e.once!==a.once||e.passive!==a.passive,n=e!==F&&(a===F||r);r&&this.element.removeEventListener(this.name,this,a),n&&this.element.addEventListener(this.name,this,e),this._$AH=e}handleEvent(e){var t,i;typeof this._$AH=="function"?this._$AH.call((i=(t=this.options)===null||t===void 0?void 0:t.host)!==null&&i!==void 0?i:this.element,e):this._$AH.handleEvent(e)}};class Ur{constructor(e,t,i){this.element=e,this.type=6,this._$AN=void 0,this._$AM=t,this.options=i}get _$AU(){return this._$AM._$AU}_$AI(e){st(this,e)}}const Ws=di.litHtmlPolyfillSupport;Ws==null||Ws(At,zt),((Ri=di.litHtmlVersions)!==null&&Ri!==void 0?Ri:di.litHtmlVersions=[]).push("2.8.0");const Gr=(s,e,t)=>{var i,a;const r=(i=t==null?void 0:t.renderBefore)!==null&&i!==void 0?i:e;let n=r._$litPart$;if(n===void 0){const o=(a=t==null?void 0:t.renderBefore)!==null&&a!==void 0?a:null;r._$litPart$=n=new zt(e.insertBefore(Ct(),o),o,void 0,t??{})}return n._$AI(s),n};var Pi,Di;let Ee=class extends et{constructor(){super(...arguments),this.renderOptions={host:this},this._$Do=void 0}createRenderRoot(){var e,t;const i=super.createRenderRoot();return(e=(t=this.renderOptions).renderBefore)!==null&&e!==void 0||(t.renderBefore=i.firstChild),i}update(e){const t=this.render();this.hasUpdated||(this.renderOptions.isConnected=this.isConnected),super.update(e),this._$Do=Gr(t,this.renderRoot,this.renderOptions)}connectedCallback(){var e;super.connectedCallback(),(e=this._$Do)===null||e===void 0||e.setConnected(!0)}disconnectedCallback(){var e;super.disconnectedCallback(),(e=this._$Do)===null||e===void 0||e.setConnected(!1)}render(){return Ue}};Ee.finalized=!0,Ee._$litElement$=!0,(Pi=globalThis.litElementHydrateSupport)===null||Pi===void 0||Pi.call(globalThis,{LitElement:Ee});const Ks=globalThis.litElementPolyfillSupport;Ks==null||Ks({LitElement:Ee});((Di=globalThis.litElementVersions)!==null&&Di!==void 0?Di:globalThis.litElementVersions=[]).push("3.3.3");const Wr=(s,e)=>e.kind==="method"&&e.descriptor&&!("value"in e.descriptor)?{...e,finisher(t){t.createProperty(e.key,s)}}:{kind:"field",key:Symbol(),placement:"own",descriptor:{},originalKey:e.key,initializer(){typeof e.initializer=="function"&&(this[e.key]=e.initializer.call(this))},finisher(t){t.createProperty(e.key,s)}},Kr=(s,e,t)=>{e.constructor.createProperty(t,s)};function v(s){return(e,t)=>t!==void 0?Kr(s,e,t):Wr(s,e)}var re="top",ue="bottom",he="right",oe="left",hs="auto",jt=[re,ue,he,oe],at="start",kt="end",qr="clippingParents",Da="viewport",Nt="popper",Jr="reference",qs=jt.reduce(function(s,e){return s.concat([e+"-"+at,e+"-"+kt])},[]),Ba=[].concat(jt,[hs]).reduce(function(s,e){return s.concat([e,e+"-"+at,e+"-"+kt])},[]),Zr="beforeRead",Xr="read",Yr="afterRead",Qr="beforeMain",eo="main",to="afterMain",io="beforeWrite",so="write",ao="afterWrite",no=[Zr,Xr,Yr,Qr,eo,to,io,so,ao];function _e(s){return s?(s.nodeName||"").toLowerCase():null}function me(s){if(s==null)return window;if(s.toString()!=="[object Window]"){var e=s.ownerDocument;return e&&e.defaultView||window}return s}function Ge(s){var e=me(s).Element;return s instanceof e||s instanceof Element}function de(s){var e=me(s).HTMLElement;return s instanceof e||s instanceof HTMLElement}function fs(s){if(typeof ShadowRoot>"u")return!1;var e=me(s).ShadowRoot;return s instanceof e||s instanceof ShadowRoot}function ro(s){var e=s.state;Object.keys(e.elements).forEach(function(t){var i=e.styles[t]||{},a=e.attributes[t]||{},r=e.elements[t];!de(r)||!_e(r)||(Object.assign(r.style,i),Object.keys(a).forEach(function(n){var o=a[n];o===!1?r.removeAttribute(n):r.setAttribute(n,o===!0?"":o)}))})}function oo(s){var e=s.state,t={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,t.popper),e.styles=t,e.elements.arrow&&Object.assign(e.elements.arrow.style,t.arrow),function(){Object.keys(e.elements).forEach(function(i){var a=e.elements[i],r=e.attributes[i]||{},n=Object.keys(e.styles.hasOwnProperty(i)?e.styles[i]:t[i]),o=n.reduce(function(l,c){return l[c]="",l},{});!de(a)||!_e(a)||(Object.assign(a.style,o),Object.keys(r).forEach(function(l){a.removeAttribute(l)}))})}}const lo={name:"applyStyles",enabled:!0,phase:"write",fn:ro,effect:oo,requires:["computeStyles"]};function we(s){return s.split("-")[0]}var Ve=Math.max,ui=Math.min,nt=Math.round;function Wi(){var s=navigator.userAgentData;return s!=null&&s.brands&&Array.isArray(s.brands)?s.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function Ta(){return!/^((?!chrome|android).)*safari/i.test(Wi())}function rt(s,e,t){e===void 0&&(e=!1),t===void 0&&(t=!1);var i=s.getBoundingClientRect(),a=1,r=1;e&&de(s)&&(a=s.offsetWidth>0&&nt(i.width)/s.offsetWidth||1,r=s.offsetHeight>0&&nt(i.height)/s.offsetHeight||1);var n=Ge(s)?me(s):window,o=n.visualViewport,l=!Ta()&&t,c=(i.left+(l&&o?o.offsetLeft:0))/a,m=(i.top+(l&&o?o.offsetTop:0))/r,u=i.width/a,h=i.height/r;return{width:u,height:h,top:m,right:c+u,bottom:m+h,left:c,x:c,y:m}}function ps(s){var e=rt(s),t=s.offsetWidth,i=s.offsetHeight;return Math.abs(e.width-t)<=1&&(t=e.width),Math.abs(e.height-i)<=1&&(i=e.height),{x:s.offsetLeft,y:s.offsetTop,width:t,height:i}}function za(s,e){var t=e.getRootNode&&e.getRootNode();if(s.contains(e))return!0;if(t&&fs(t)){var i=e;do{if(i&&s.isSameNode(i))return!0;i=i.parentNode||i.host}while(i)}return!1}function Ae(s){return me(s).getComputedStyle(s)}function co(s){return["table","td","th"].indexOf(_e(s))>=0}function Le(s){return((Ge(s)?s.ownerDocument:s.document)||window.document).documentElement}function xi(s){return _e(s)==="html"?s:s.assignedSlot||s.parentNode||(fs(s)?s.host:null)||Le(s)}function Js(s){return!de(s)||Ae(s).position==="fixed"?null:s.offsetParent}function mo(s){var e=/firefox/i.test(Wi()),t=/Trident/i.test(Wi());if(t&&de(s)){var i=Ae(s);if(i.position==="fixed")return null}var a=xi(s);for(fs(a)&&(a=a.host);de(a)&&["html","body"].indexOf(_e(a))<0;){var r=Ae(a);if(r.transform!=="none"||r.perspective!=="none"||r.contain==="paint"||["transform","perspective"].indexOf(r.willChange)!==-1||e&&r.willChange==="filter"||e&&r.filter&&r.filter!=="none")return a;a=a.parentNode}return null}function Vt(s){for(var e=me(s),t=Js(s);t&&co(t)&&Ae(t).position==="static";)t=Js(t);return t&&(_e(t)==="html"||_e(t)==="body"&&Ae(t).position==="static")?e:t||mo(s)||e}function gs(s){return["top","bottom"].indexOf(s)>=0?"x":"y"}function wt(s,e,t){return Ve(s,ui(e,t))}function uo(s,e,t){var i=wt(s,e,t);return i>t?t:i}function ja(){return{top:0,right:0,bottom:0,left:0}}function Va(s){return Object.assign({},ja(),s)}function Fa(s,e){return e.reduce(function(t,i){return t[i]=s,t},{})}var ho=function(e,t){return e=typeof e=="function"?e(Object.assign({},t.rects,{placement:t.placement})):e,Va(typeof e!="number"?e:Fa(e,jt))};function fo(s){var e,t=s.state,i=s.name,a=s.options,r=t.elements.arrow,n=t.modifiersData.popperOffsets,o=we(t.placement),l=gs(o),c=[oe,he].indexOf(o)>=0,m=c?"height":"width";if(!(!r||!n)){var u=ho(a.padding,t),h=ps(r),g=l==="y"?re:oe,_=l==="y"?ue:he,y=t.rects.reference[m]+t.rects.reference[l]-n[l]-t.rects.popper[m],f=n[l]-t.rects.reference[l],A=Vt(r),M=A?l==="y"?A.clientHeight||0:A.clientWidth||0:0,I=y/2-f/2,x=u[g],E=M-h[m]-u[_],$=M/2-h[m]/2+I,R=wt(x,$,E),P=l;t.modifiersData[i]=(e={},e[P]=R,e.centerOffset=R-$,e)}}function po(s){var e=s.state,t=s.options,i=t.element,a=i===void 0?"[data-popper-arrow]":i;a!=null&&(typeof a=="string"&&(a=e.elements.popper.querySelector(a),!a)||za(e.elements.popper,a)&&(e.elements.arrow=a))}const go={name:"arrow",enabled:!0,phase:"main",fn:fo,effect:po,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function ot(s){return s.split("-")[1]}var No={top:"auto",right:"auto",bottom:"auto",left:"auto"};function bo(s,e){var t=s.x,i=s.y,a=e.devicePixelRatio||1;return{x:nt(t*a)/a||0,y:nt(i*a)/a||0}}function Zs(s){var e,t=s.popper,i=s.popperRect,a=s.placement,r=s.variation,n=s.offsets,o=s.position,l=s.gpuAcceleration,c=s.adaptive,m=s.roundOffsets,u=s.isFixed,h=n.x,g=h===void 0?0:h,_=n.y,y=_===void 0?0:_,f=typeof m=="function"?m({x:g,y}):{x:g,y};g=f.x,y=f.y;var A=n.hasOwnProperty("x"),M=n.hasOwnProperty("y"),I=oe,x=re,E=window;if(c){var $=Vt(t),R="clientHeight",P="clientWidth";if($===me(t)&&($=Le(t),Ae($).position!=="static"&&o==="absolute"&&(R="scrollHeight",P="scrollWidth")),$=$,a===re||(a===oe||a===he)&&r===kt){x=ue;var O=u&&$===E&&E.visualViewport?E.visualViewport.height:$[R];y-=O-i.height,y*=l?1:-1}if(a===oe||(a===re||a===ue)&&r===kt){I=he;var T=u&&$===E&&E.visualViewport?E.visualViewport.width:$[P];g-=T-i.width,g*=l?1:-1}}var K=Object.assign({position:o},c&&No),ee=m===!0?bo({x:g,y},me(t)):{x:g,y};if(g=ee.x,y=ee.y,l){var q;return Object.assign({},K,(q={},q[x]=M?"0":"",q[I]=A?"0":"",q.transform=(E.devicePixelRatio||1)<=1?"translate("+g+"px, "+y+"px)":"translate3d("+g+"px, "+y+"px, 0)",q))}return Object.assign({},K,(e={},e[x]=M?y+"px":"",e[I]=A?g+"px":"",e.transform="",e))}function vo(s){var e=s.state,t=s.options,i=t.gpuAcceleration,a=i===void 0?!0:i,r=t.adaptive,n=r===void 0?!0:r,o=t.roundOffsets,l=o===void 0?!0:o,c={placement:we(e.placement),variation:ot(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:a,isFixed:e.options.strategy==="fixed"};e.modifiersData.popperOffsets!=null&&(e.styles.popper=Object.assign({},e.styles.popper,Zs(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:n,roundOffsets:l})))),e.modifiersData.arrow!=null&&(e.styles.arrow=Object.assign({},e.styles.arrow,Zs(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})}const yo={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:vo,data:{}};var Kt={passive:!0};function xo(s){var e=s.state,t=s.instance,i=s.options,a=i.scroll,r=a===void 0?!0:a,n=i.resize,o=n===void 0?!0:n,l=me(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return r&&c.forEach(function(m){m.addEventListener("scroll",t.update,Kt)}),o&&l.addEventListener("resize",t.update,Kt),function(){r&&c.forEach(function(m){m.removeEventListener("scroll",t.update,Kt)}),o&&l.removeEventListener("resize",t.update,Kt)}}const wo={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:xo,data:{}};var _o={left:"right",right:"left",bottom:"top",top:"bottom"};function ri(s){return s.replace(/left|right|bottom|top/g,function(e){return _o[e]})}var So={start:"end",end:"start"};function Xs(s){return s.replace(/start|end/g,function(e){return So[e]})}function Ns(s){var e=me(s),t=e.pageXOffset,i=e.pageYOffset;return{scrollLeft:t,scrollTop:i}}function bs(s){return rt(Le(s)).left+Ns(s).scrollLeft}function Co(s,e){var t=me(s),i=Le(s),a=t.visualViewport,r=i.clientWidth,n=i.clientHeight,o=0,l=0;if(a){r=a.width,n=a.height;var c=Ta();(c||!c&&e==="fixed")&&(o=a.offsetLeft,l=a.offsetTop)}return{width:r,height:n,x:o+bs(s),y:l}}function Eo(s){var e,t=Le(s),i=Ns(s),a=(e=s.ownerDocument)==null?void 0:e.body,r=Ve(t.scrollWidth,t.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),n=Ve(t.scrollHeight,t.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),o=-i.scrollLeft+bs(s),l=-i.scrollTop;return Ae(a||t).direction==="rtl"&&(o+=Ve(t.clientWidth,a?a.clientWidth:0)-r),{width:r,height:n,x:o,y:l}}function vs(s){var e=Ae(s),t=e.overflow,i=e.overflowX,a=e.overflowY;return/auto|scroll|overlay|hidden/.test(t+a+i)}function Ha(s){return["html","body","#document"].indexOf(_e(s))>=0?s.ownerDocument.body:de(s)&&vs(s)?s:Ha(xi(s))}function _t(s,e){var t;e===void 0&&(e=[]);var i=Ha(s),a=i===((t=s.ownerDocument)==null?void 0:t.body),r=me(i),n=a?[r].concat(r.visualViewport||[],vs(i)?i:[]):i,o=e.concat(n);return a?o:o.concat(_t(xi(n)))}function Ki(s){return Object.assign({},s,{left:s.x,top:s.y,right:s.x+s.width,bottom:s.y+s.height})}function Ao(s,e){var t=rt(s,!1,e==="fixed");return t.top=t.top+s.clientTop,t.left=t.left+s.clientLeft,t.bottom=t.top+s.clientHeight,t.right=t.left+s.clientWidth,t.width=s.clientWidth,t.height=s.clientHeight,t.x=t.left,t.y=t.top,t}function Ys(s,e,t){return e===Da?Ki(Co(s,t)):Ge(e)?Ao(e,t):Ki(Eo(Le(s)))}function ko(s){var e=_t(xi(s)),t=["absolute","fixed"].indexOf(Ae(s).position)>=0,i=t&&de(s)?Vt(s):s;return Ge(i)?e.filter(function(a){return Ge(a)&&za(a,i)&&_e(a)!=="body"}):[]}function $o(s,e,t,i){var a=e==="clippingParents"?ko(s):[].concat(e),r=[].concat(a,[t]),n=r[0],o=r.reduce(function(l,c){var m=Ys(s,c,i);return l.top=Ve(m.top,l.top),l.right=ui(m.right,l.right),l.bottom=ui(m.bottom,l.bottom),l.left=Ve(m.left,l.left),l},Ys(s,n,i));return o.width=o.right-o.left,o.height=o.bottom-o.top,o.x=o.left,o.y=o.top,o}function Ua(s){var e=s.reference,t=s.element,i=s.placement,a=i?we(i):null,r=i?ot(i):null,n=e.x+e.width/2-t.width/2,o=e.y+e.height/2-t.height/2,l;switch(a){case re:l={x:n,y:e.y-t.height};break;case ue:l={x:n,y:e.y+e.height};break;case he:l={x:e.x+e.width,y:o};break;case oe:l={x:e.x-t.width,y:o};break;default:l={x:e.x,y:e.y}}var c=a?gs(a):null;if(c!=null){var m=c==="y"?"height":"width";switch(r){case at:l[c]=l[c]-(e[m]/2-t[m]/2);break;case kt:l[c]=l[c]+(e[m]/2-t[m]/2);break}}return l}function $t(s,e){e===void 0&&(e={});var t=e,i=t.placement,a=i===void 0?s.placement:i,r=t.strategy,n=r===void 0?s.strategy:r,o=t.boundary,l=o===void 0?qr:o,c=t.rootBoundary,m=c===void 0?Da:c,u=t.elementContext,h=u===void 0?Nt:u,g=t.altBoundary,_=g===void 0?!1:g,y=t.padding,f=y===void 0?0:y,A=Va(typeof f!="number"?f:Fa(f,jt)),M=h===Nt?Jr:Nt,I=s.rects.popper,x=s.elements[_?M:h],E=$o(Ge(x)?x:x.contextElement||Le(s.elements.popper),l,m,n),$=rt(s.elements.reference),R=Ua({reference:$,element:I,strategy:"absolute",placement:a}),P=Ki(Object.assign({},I,R)),O=h===Nt?P:$,T={top:E.top-O.top+A.top,bottom:O.bottom-E.bottom+A.bottom,left:E.left-O.left+A.left,right:O.right-E.right+A.right},K=s.modifiersData.offset;if(h===Nt&&K){var ee=K[a];Object.keys(T).forEach(function(q){var fe=[he,ue].indexOf(q)>=0?1:-1,te=[re,ue].indexOf(q)>=0?"y":"x";T[q]+=ee[te]*fe})}return T}function Oo(s,e){e===void 0&&(e={});var t=e,i=t.placement,a=t.boundary,r=t.rootBoundary,n=t.padding,o=t.flipVariations,l=t.allowedAutoPlacements,c=l===void 0?Ba:l,m=ot(i),u=m?o?qs:qs.filter(function(_){return ot(_)===m}):jt,h=u.filter(function(_){return c.indexOf(_)>=0});h.length===0&&(h=u);var g=h.reduce(function(_,y){return _[y]=$t(s,{placement:y,boundary:a,rootBoundary:r,padding:n})[we(y)],_},{});return Object.keys(g).sort(function(_,y){return g[_]-g[y]})}function Mo(s){if(we(s)===hs)return[];var e=ri(s);return[Xs(s),e,Xs(e)]}function Io(s){var e=s.state,t=s.options,i=s.name;if(!e.modifiersData[i]._skip){for(var a=t.mainAxis,r=a===void 0?!0:a,n=t.altAxis,o=n===void 0?!0:n,l=t.fallbackPlacements,c=t.padding,m=t.boundary,u=t.rootBoundary,h=t.altBoundary,g=t.flipVariations,_=g===void 0?!0:g,y=t.allowedAutoPlacements,f=e.options.placement,A=we(f),M=A===f,I=l||(M||!_?[ri(f)]:Mo(f)),x=[f].concat(I).reduce(function(pe,U){return pe.concat(we(U)===hs?Oo(e,{placement:U,boundary:m,rootBoundary:u,padding:c,flipVariations:_,allowedAutoPlacements:y}):U)},[]),E=e.rects.reference,$=e.rects.popper,R=new Map,P=!0,O=x[0],T=0;T<x.length;T++){var K=x[T],ee=we(K),q=ot(K)===at,fe=[re,ue].indexOf(ee)>=0,te=fe?"width":"height",Z=$t(e,{placement:K,boundary:m,rootBoundary:u,altBoundary:h,padding:c}),d=fe?q?he:oe:q?ue:re;E[te]>$[te]&&(d=ri(d));var N=ri(d),w=[];if(r&&w.push(Z[ee]<=0),o&&w.push(Z[d]<=0,Z[N]<=0),w.every(function(pe){return pe})){O=K,P=!1;break}R.set(K,w)}if(P)for(var k=_?3:1,z=function(U){var X=x.find(function(De){var be=R.get(De);if(be)return be.slice(0,U).every(function(qe){return qe})});if(X)return O=X,"break"},J=k;J>0;J--){var le=z(J);if(le==="break")break}e.placement!==O&&(e.modifiersData[i]._skip=!0,e.placement=O,e.reset=!0)}}const Ro={name:"flip",enabled:!0,phase:"main",fn:Io,requiresIfExists:["offset"],data:{_skip:!1}};function Qs(s,e,t){return t===void 0&&(t={x:0,y:0}),{top:s.top-e.height-t.y,right:s.right-e.width+t.x,bottom:s.bottom-e.height+t.y,left:s.left-e.width-t.x}}function ea(s){return[re,he,ue,oe].some(function(e){return s[e]>=0})}function Lo(s){var e=s.state,t=s.name,i=e.rects.reference,a=e.rects.popper,r=e.modifiersData.preventOverflow,n=$t(e,{elementContext:"reference"}),o=$t(e,{altBoundary:!0}),l=Qs(n,i),c=Qs(o,a,r),m=ea(l),u=ea(c);e.modifiersData[t]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:m,hasPopperEscaped:u},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":m,"data-popper-escaped":u})}const Po={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:Lo};function Do(s,e,t){var i=we(s),a=[oe,re].indexOf(i)>=0?-1:1,r=typeof t=="function"?t(Object.assign({},e,{placement:s})):t,n=r[0],o=r[1];return n=n||0,o=(o||0)*a,[oe,he].indexOf(i)>=0?{x:o,y:n}:{x:n,y:o}}function Bo(s){var e=s.state,t=s.options,i=s.name,a=t.offset,r=a===void 0?[0,0]:a,n=Ba.reduce(function(m,u){return m[u]=Do(u,e.rects,r),m},{}),o=n[e.placement],l=o.x,c=o.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[i]=n}const To={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:Bo};function zo(s){var e=s.state,t=s.name;e.modifiersData[t]=Ua({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})}const jo={name:"popperOffsets",enabled:!0,phase:"read",fn:zo,data:{}};function Vo(s){return s==="x"?"y":"x"}function Fo(s){var e=s.state,t=s.options,i=s.name,a=t.mainAxis,r=a===void 0?!0:a,n=t.altAxis,o=n===void 0?!1:n,l=t.boundary,c=t.rootBoundary,m=t.altBoundary,u=t.padding,h=t.tether,g=h===void 0?!0:h,_=t.tetherOffset,y=_===void 0?0:_,f=$t(e,{boundary:l,rootBoundary:c,padding:u,altBoundary:m}),A=we(e.placement),M=ot(e.placement),I=!M,x=gs(A),E=Vo(x),$=e.modifiersData.popperOffsets,R=e.rects.reference,P=e.rects.popper,O=typeof y=="function"?y(Object.assign({},e.rects,{placement:e.placement})):y,T=typeof O=="number"?{mainAxis:O,altAxis:O}:Object.assign({mainAxis:0,altAxis:0},O),K=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,ee={x:0,y:0};if($){if(r){var q,fe=x==="y"?re:oe,te=x==="y"?ue:he,Z=x==="y"?"height":"width",d=$[x],N=d+f[fe],w=d-f[te],k=g?-P[Z]/2:0,z=M===at?R[Z]:P[Z],J=M===at?-P[Z]:-R[Z],le=e.elements.arrow,pe=g&&le?ps(le):{width:0,height:0},U=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:ja(),X=U[fe],De=U[te],be=wt(0,R[Z],pe[Z]),qe=I?R[Z]/2-k-be-X-T.mainAxis:z-be-X-T.mainAxis,$i=I?-R[Z]/2+k+be+De+T.mainAxis:J+be+De+T.mainAxis,ft=e.elements.arrow&&Vt(e.elements.arrow),Oi=ft?x==="y"?ft.clientTop||0:ft.clientLeft||0:0,Ut=(q=K==null?void 0:K[x])!=null?q:0,Je=d+qe-Ut-Oi,Gt=d+$i-Ut,ce=wt(g?ui(N,Je):N,d,g?Ve(w,Gt):w);$[x]=ce,ee[x]=ce-d}if(o){var Wt,pt=x==="x"?re:oe,S=x==="x"?ue:he,ve=$[E],G=E==="y"?"height":"width",D=ve+f[pt],Be=ve-f[S],ge=[re,oe].indexOf(A)!==-1,Ze=(Wt=K==null?void 0:K[E])!=null?Wt:0,Xe=ge?D:ve-R[G]-P[G]-Ze+T.altAxis,p=ge?ve+R[G]+P[G]-Ze-T.altAxis:Be,b=g&&ge?uo(Xe,ve,p):wt(g?Xe:D,ve,g?p:Be);$[E]=b,ee[E]=b-ve}e.modifiersData[i]=ee}}const Ho={name:"preventOverflow",enabled:!0,phase:"main",fn:Fo,requiresIfExists:["offset"]};function Uo(s){return{scrollLeft:s.scrollLeft,scrollTop:s.scrollTop}}function Go(s){return s===me(s)||!de(s)?Ns(s):Uo(s)}function Wo(s){var e=s.getBoundingClientRect(),t=nt(e.width)/s.offsetWidth||1,i=nt(e.height)/s.offsetHeight||1;return t!==1||i!==1}function Ko(s,e,t){t===void 0&&(t=!1);var i=de(e),a=de(e)&&Wo(e),r=Le(e),n=rt(s,a,t),o={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(i||!i&&!t)&&((_e(e)!=="body"||vs(r))&&(o=Go(e)),de(e)?(l=rt(e,!0),l.x+=e.clientLeft,l.y+=e.clientTop):r&&(l.x=bs(r))),{x:n.left+o.scrollLeft-l.x,y:n.top+o.scrollTop-l.y,width:n.width,height:n.height}}function qo(s){var e=new Map,t=new Set,i=[];s.forEach(function(r){e.set(r.name,r)});function a(r){t.add(r.name);var n=[].concat(r.requires||[],r.requiresIfExists||[]);n.forEach(function(o){if(!t.has(o)){var l=e.get(o);l&&a(l)}}),i.push(r)}return s.forEach(function(r){t.has(r.name)||a(r)}),i}function Jo(s){var e=qo(s);return no.reduce(function(t,i){return t.concat(e.filter(function(a){return a.phase===i}))},[])}function Zo(s){var e;return function(){return e||(e=new Promise(function(t){Promise.resolve().then(function(){e=void 0,t(s())})})),e}}function Xo(s){var e=s.reduce(function(t,i){var a=t[i.name];return t[i.name]=a?Object.assign({},a,i,{options:Object.assign({},a.options,i.options),data:Object.assign({},a.data,i.data)}):i,t},{});return Object.keys(e).map(function(t){return e[t]})}var ta={placement:"bottom",modifiers:[],strategy:"absolute"};function ia(){for(var s=arguments.length,e=new Array(s),t=0;t<s;t++)e[t]=arguments[t];return!e.some(function(i){return!(i&&typeof i.getBoundingClientRect=="function")})}function Yo(s){s===void 0&&(s={});var e=s,t=e.defaultModifiers,i=t===void 0?[]:t,a=e.defaultOptions,r=a===void 0?ta:a;return function(o,l,c){c===void 0&&(c=r);var m={placement:"bottom",orderedModifiers:[],options:Object.assign({},ta,r),modifiersData:{},elements:{reference:o,popper:l},attributes:{},styles:{}},u=[],h=!1,g={state:m,setOptions:function(A){var M=typeof A=="function"?A(m.options):A;y(),m.options=Object.assign({},r,m.options,M),m.scrollParents={reference:Ge(o)?_t(o):o.contextElement?_t(o.contextElement):[],popper:_t(l)};var I=Jo(Xo([].concat(i,m.options.modifiers)));return m.orderedModifiers=I.filter(function(x){return x.enabled}),_(),g.update()},forceUpdate:function(){if(!h){var A=m.elements,M=A.reference,I=A.popper;if(ia(M,I)){m.rects={reference:Ko(M,Vt(I),m.options.strategy==="fixed"),popper:ps(I)},m.reset=!1,m.placement=m.options.placement,m.orderedModifiers.forEach(function(T){return m.modifiersData[T.name]=Object.assign({},T.data)});for(var x=0;x<m.orderedModifiers.length;x++){if(m.reset===!0){m.reset=!1,x=-1;continue}var E=m.orderedModifiers[x],$=E.fn,R=E.options,P=R===void 0?{}:R,O=E.name;typeof $=="function"&&(m=$({state:m,options:P,name:O,instance:g})||m)}}}},update:Zo(function(){return new Promise(function(f){g.forceUpdate(),f(m)})}),destroy:function(){y(),h=!0}};if(!ia(o,l))return g;g.setOptions(c).then(function(f){!h&&c.onFirstUpdate&&c.onFirstUpdate(f)});function _(){m.orderedModifiers.forEach(function(f){var A=f.name,M=f.options,I=M===void 0?{}:M,x=f.effect;if(typeof x=="function"){var E=x({state:m,name:A,instance:g,options:I}),$=function(){};u.push(E||$)}})}function y(){u.forEach(function(f){return f()}),u=[]}return g}}var Qo=[wo,jo,yo,lo,To,Ro,Ho,go,Po],el=Yo({defaultModifiers:Qo});const ie=s=>s??F,tl=":host{display:inline-block;font-size:13px;line-height:20px;font-family:Segoe UI,Lucida Sans,Arial,sans-serif;color:#111;contain:content}:host([hidden]){display:none!important}:host([level=warn i]){color:#555}:host([level=suggest i]){color:#bf8800}:host([level=error i]){color:#cc0017}:host([level=warn]){color:#555}:host([level=suggest]){color:#bf8800}:host([level=error]){color:#cc0017}.icon{height:12px;width:12px;padding-right:4px;margin-bottom:-1px}",il="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2012%2012'%3e%3cstyle%20id='style3'%3e%20.st0{fill:%23fff}.st1{fill:%23c00}%20%3c/style%3e%3cg%20id='g5'%3e%3cpath%20class='st1'%20d='M6%20.9c2.8%200%205.1%202.3%205.1%205.1S8.8%2011.1%206%2011.1.9%208.8.9%206%203.2.9%206%20.9m0-1C2.7-.1-.1%202.7-.1%206s2.7%206.1%206.1%206.1%206.1-2.7%206.1-6.1S9.3-.1%206-.1z'%20id='path9'/%3e%3c/g%3e%3cg%20id='g11'%3e%3cpath%20class='st0'%20id='rect13'%20d='M5.5%202.5h1v4h-1z'/%3e%3cpath%20class='st1'%20d='M6%203v3-3m1-1H5v5h2V2z'%20id='path15'/%3e%3c/g%3e%3cg%20id='g17'%3e%3cpath%20class='st0'%20id='rect19'%20d='M5.5%208.5h1v1h-1z'/%3e%3cpath%20class='st1'%20id='polygon21'%20d='M7%208H5v2h2V8z'/%3e%3c/g%3e%3c/svg%3e",sl="data:image/svg+xml,%3csvg%20id='Ebene_1'%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%3e%3cstyle%3e%20.st0{fill:%23bf8800}%20%3c/style%3e%3cpath%20class='st0'%20d='M12%20.8l11%2019.8v1.3H1v-1.3L12%20.8zm.8-.6h-1.6L0%2020v3h24v-3L12.8.2z'/%3e%3cpath%20class='st0'%20d='M11%208h2v8h-2zm0%2010h2v2h-2z'/%3e%3c/svg%3e",al="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2012%2012'%3e%3cpath%20class='st1'%20d='M6%20.9c2.8%200%205.1%202.3%205.1%205.1S8.8%2011.1%206%2011.1.9%208.8.9%206%203.2.9%206%20.9m0-1C2.7-.1-.1%202.7-.1%206s2.7%206.1%206.1%206.1%206.1-2.7%206.1-6.1S9.3-.1%206-.1z'%20fill='%23555'/%3e%3cpath%20d='M6%209V6v3m-1%201h2V5H5v5zm2-8H5v2h2z'%20class='st1'%20fill='%23555'/%3e%3c/svg%3e";var nl=Object.defineProperty,rl=Object.getOwnPropertyDescriptor,ys=(s,e,t,i)=>{for(var a=i>1?void 0:i?rl(e,t):e,r=s.length-1,n;r>=0;r--)(n=s[r])&&(a=(i?n(e,t,a):n(a))||a);return i&&a&&nl(e,t,a),a},Ye;const Ot=(Ye=class extends Ee{static parseLevel(s){if(s){const e=Object.keys(hi).find(t=>t.toLowerCase()===s.toLowerCase());return e&&hi[e]}}static get styles(){return[Tt`
|
|
1419
1419
|
${ht(tl)}
|
|
1420
|
-
`]}render(){return ne`${this.iconToUse&&ne`<img class="icon" src="${this.iconToUse}">`}${this.message}`}get iconToUse(){return this.icon||this._defaultIconPath}shouldUpdate(s){return s.has("level")&&(this._defaultIconPath=this.iconForLevel,!this.icon)?!0:super.shouldUpdate(s)}get iconForLevel(){switch(Ye.parseLevel(this.level)){case"warn":return al;case"suggest":return sl;case"error":return il;default:return null}}},Ye.ID="sd-field-validation-message",Ye.levelConverter={fromAttribute(s){return Ye.parseLevel(s)},toAttribute(s){return s&&s.toLowerCase()}},Ye);ys([v({type:String,attribute:!0})],Ot.prototype,"message",2);ys([v({type:String,attribute:!0})],Ot.prototype,"icon",2);ys([v({converter:Ot.levelConverter,reflect:!0})],Ot.prototype,"level",2);let Bi=Ot;var hi=(s=>(s.Warn="warn",s.Suggest="suggest",s.Error="error",s))(hi||{});customElements.get(Bi.ID)||customElements.define(Bi.ID,Bi);const ol=":host{display:inline-flex;position:relative;cursor:text;font-family:Segoe UI,Lucida Sans,Arial,sans-serif;font-size:16px;color:#111;contain:layout style;flex-direction:column}:host([hidden]),:host([type=hidden]){display:none!important}:host([effective-disabled]){opacity:.6;cursor:default;filter:grayscale(100%)}:host([effective-disabled]) .unfocused-line,:host([effective-disabled]) .focused-line{border-bottom-style:dashed}:host(:not([effective-disabled]):focus) .focused-line,:host(:not([effective-disabled])[focused]) .focused-line{transform:none;transition:transform .25s}:host(:not([effective-disabled]):focus) .label.float,:host(:not([effective-disabled])[focused]) .label.float{color:var(--sd-input-focused-color, #1467ba)}:host([inactive]) .input{pointer-events:none}:host([effective-disabled]:focus),:host([effective-disabled][focused]){box-shadow:0 0 0 1px #111}:host(:not([effective-disabled])[validationlevel]) .focused-line,:host(:not([effective-disabled]):invalid) .focused-line{transform:none;transition:transform .25s}:host([validationlevel=warn i]) .focused-line{border-bottom-color:var(--sd-input-validation-color, #555555)}:host([validationlevel=warn i]) .label,:host([validationlevel=warn i]) .validation-message{color:var(--sd-input-validation-color, #555555)!important}:host([validationlevel=suggest i]) .focused-line{border-bottom-color:var(--sd-input-validation-color, #bf8800)}:host([validationlevel=suggest i]) .label,:host([validationlevel=suggest i]) .validation-message{color:var(--sd-input-validation-color, #bf8800)!important}:host([validationlevel=error i]) .focused-line,:host(:not([validationlevel]):invalid) .focused-line{border-bottom-color:var(--sd-input-validation-color, #cc0017)}:host([validationlevel=error i]) .label,:host([validationlevel=error i]) .validation-message,:host(:not([validationlevel]):invalid) .label,:host(:not([validationlevel]):invalid) .validation-message{color:var(--sd-input-validation-color, #cc0017)!important}.validation-message-wrapper{min-height:var(--sd-input-validation-message-minheight, 0px);position:relative;font-size:0}.validation-message{position:relative;position:var(--sd-input-validation-message-minheight, absolute);left:0;right:0}.label.float{transform:translateY(-75%) scale(.75);width:133%}.label:not(.float){max-width:100%}.floated-label-placeholder{height:20px;width:100%}.label{position:absolute;top:0;left:0;line-height:24px;pointer-events:none;color:var(--sd-input-color, #767676);transition:transform .25s,width .25s;transform-origin:left top}.input-wrapper{position:relative;display:flex;flex-direction:row;align-items:center;background-color:var(--input-wrapper-background-color)}:host([extended-prefix]:focus-within:not([effective-disabled])) .input-wrapper{flex-direction:column;align-items:baseline}:host([extended-prefix]:focus-within:not([effective-disabled])) .input-container{width:100%}:host([extended-prefix]:not(:focus-within)) .input-container,:host([extended-prefix][effective-disabled]) .input-container{width:0px}.input-container{line-height:var(--sd-input-line-height, 24px);flex:1 1 auto}.input{width:100%;background:var(--sd-input-background, transparent);font-family:inherit;font-size:inherit;text-align:inherit;color:inherit;border:none;outline:none;resize:none;padding-left:0;padding-right:0}.input:-webkit-autofill{animation-name:onautofillstart}.input:not(:-webkit-autofill){animation-name:onautofillcancel}@keyframes onautofillstart{0%{outline:none}}@keyframes onautofillcancel{0%{outline:none}}.label,input.input
|
|
1420
|
+
`]}render(){return ne`${this.iconToUse&&ne`<img class="icon" src="${this.iconToUse}">`}${this.message}`}get iconToUse(){return this.icon||this._defaultIconPath}shouldUpdate(s){return s.has("level")&&(this._defaultIconPath=this.iconForLevel,!this.icon)?!0:super.shouldUpdate(s)}get iconForLevel(){switch(Ye.parseLevel(this.level)){case"warn":return al;case"suggest":return sl;case"error":return il;default:return null}}},Ye.ID="sd-field-validation-message",Ye.levelConverter={fromAttribute(s){return Ye.parseLevel(s)},toAttribute(s){return s&&s.toLowerCase()}},Ye);ys([v({type:String,attribute:!0})],Ot.prototype,"message",2);ys([v({type:String,attribute:!0})],Ot.prototype,"icon",2);ys([v({converter:Ot.levelConverter,reflect:!0})],Ot.prototype,"level",2);let Bi=Ot;var hi=(s=>(s.Warn="warn",s.Suggest="suggest",s.Error="error",s))(hi||{});customElements.get(Bi.ID)||customElements.define(Bi.ID,Bi);const ol=":host{display:inline-flex;position:relative;cursor:text;font-family:Segoe UI,Lucida Sans,Arial,sans-serif;font-size:16px;color:#111;contain:layout style;flex-direction:column}:host([hidden]),:host([type=hidden]){display:none!important}:host([effective-disabled]){opacity:.6;cursor:default;filter:grayscale(100%)}:host([effective-disabled]) .unfocused-line,:host([effective-disabled]) .focused-line{border-bottom-style:dashed}:host(:not([effective-disabled]):focus) .focused-line,:host(:not([effective-disabled])[focused]) .focused-line{transform:none;transition:transform .25s}:host(:not([effective-disabled]):focus) .label.float,:host(:not([effective-disabled])[focused]) .label.float{color:var(--sd-input-focused-color, #1467ba)}:host([inactive]) .input{pointer-events:none}:host([effective-disabled]:focus),:host([effective-disabled][focused]){box-shadow:0 0 0 1px #111}:host(:not([effective-disabled])[validationlevel]) .focused-line,:host(:not([effective-disabled]):invalid) .focused-line{transform:none;transition:transform .25s}:host([validationlevel=warn i]) .focused-line{border-bottom-color:var(--sd-input-validation-color, #555555)}:host([validationlevel=warn i]) .label,:host([validationlevel=warn i]) .validation-message{color:var(--sd-input-validation-color, #555555)!important}:host([validationlevel=suggest i]) .focused-line{border-bottom-color:var(--sd-input-validation-color, #bf8800)}:host([validationlevel=suggest i]) .label,:host([validationlevel=suggest i]) .validation-message{color:var(--sd-input-validation-color, #bf8800)!important}:host([validationlevel=error i]) .focused-line,:host(:not([validationlevel]):invalid) .focused-line{border-bottom-color:var(--sd-input-validation-color, #cc0017)}:host([validationlevel=error i]) .label,:host([validationlevel=error i]) .validation-message,:host(:not([validationlevel]):invalid) .label,:host(:not([validationlevel]):invalid) .validation-message{color:var(--sd-input-validation-color, #cc0017)!important}.validation-message-wrapper{min-height:var(--sd-input-validation-message-minheight, 0px);position:relative;font-size:0}.validation-message{position:relative;position:var(--sd-input-validation-message-minheight, absolute);left:0;right:0}.label.float{transform:translateY(-75%) scale(.75);width:133%}.label:not(.float){max-width:100%}.floated-label-placeholder{height:20px;width:100%}.label{position:absolute;top:0;left:0;line-height:24px;pointer-events:none;color:var(--sd-input-color, #767676);transition:transform .25s,width .25s;transform-origin:left top}.input-wrapper{position:relative;display:flex;flex-direction:row;align-items:center;background-color:var(--input-wrapper-background-color)}:host([extended-prefix]:focus-within:not([effective-disabled])) .input-wrapper{flex-direction:column;align-items:baseline}:host([extended-prefix]:focus-within:not([effective-disabled])) .input-container{width:100%}:host([extended-prefix]:not(:focus-within)) .input-container,:host([extended-prefix][effective-disabled]) .input-container{width:0px}.input-container{line-height:var(--sd-input-line-height, 24px);flex:1 1 auto}.input{width:100%;background:var(--sd-input-background, transparent);font-family:inherit;font-size:inherit;text-align:inherit;color:inherit;border:none;outline:none;resize:none;padding-left:0;padding-right:0}.input:-webkit-autofill{animation-name:onautofillstart}.input:not(:-webkit-autofill){animation-name:onautofillcancel}@keyframes onautofillstart{0%{outline:none}}@keyframes onautofillcancel{0%{outline:none}}.label,input.input{text-overflow:ellipsis;overflow-x:hidden;white-space:nowrap}.validation-message{text-overflow:ellipsis;overflow-x:hidden;white-space:normal;white-space:var(--sd-input-validation-message-minheight, nowrap)}.input::placeholder{color:var(--sd-input-color, #767676)}.underline{height:2px;width:100%;position:relative}.unfocused-line,.focused-line{position:absolute;top:0;right:0;bottom:0;left:0}.unfocused-line{border-bottom:1px solid var(--sd-input-underline-color, #959595)}.focused-line{border-bottom:2px solid var(--sd-input-focused-color, #1467ba);transform-origin:center center;transform:scale3d(0,1,1)}.prefix,.suffix{display:flex;flex-wrap:nowrap;max-width:100%}.prefix ::slotted(*),.suffix ::slotted(*){display:flex}";var ll=Object.defineProperty,cl=Object.getOwnPropertyDescriptor,W=(s,e,t,i)=>{for(var a=i>1?void 0:i?cl(e,t):e,r=s.length-1,n;r>=0;r--)(n=s[r])&&(a=(i?n(e,t,a):n(a))||a);return i&&a&&ll(e,t,a),a};const ml="sd-lit-input",sa="delegatesFocus"in window.ShadowRoot.prototype;let dl=0;var ye;const H=(ye=class extends Ee{constructor(){super(),this.rows=1,this.effectiveDisabled=!1,this.type="text",this.autocomplete="off";const s=dl++;this._validationMessageId=ye.ID+"_message_"+s,this._inputId=ye.ID+"_input_"+s,this.attachInternals&&!this.activeShadyDOM&&(this._internals=this.attachInternals())}connectedCallback(){super.connectedCallback(),this.hasAttribute("tabIndex")||(this.tabIndex=0)}firstUpdated(s){super.firstUpdated(s),this.initAutocompleted(this.inputElement),this.updateInitialValue(),this.updateFormValidity(),this.hasAttribute("disabled")&&(this.disabled=!0),this.inputElement.oninput=e=>{this.autocompleted=e.inputType==="insertReplacementText"||!("data"in e),this.currentText=this.inputElement.value,this.fireValueChange(!0)},this.inputElement.onchange=()=>this.fireValueChange(),sa||(this.inputElement.onfocus=()=>this.setAttribute("focused",""),this.inputElement.onblur=()=>this.removeAttribute("focused"),this.addEventListener("focus",e=>{e.target===this&&this.inputElement.focus()})),this.inputElement.addEventListener("keyup",()=>{this.updateFormValidity()}),this.addEventListener("keydown",e=>{var t,i;e.key=="Enter"&&((i=(t=this._internals)==null?void 0:t.form)==null||i.requestSubmit())}),this._initialized=!0}initAutocompleted(s){const e=t=>{/^onautofillstart(-sd-lit-input-\d+|\s?)$/.test(t.animationName)?this.autocompleted=!0:/^onautofillcancel(-sd-lit-input-\d+|\s?)$/.test(t.animationName)&&(this.autocompleted=!1)};this.activeShadyDOM?(this._needsAutocompletedCheck=!0,this.activeShadyDOM.nativeMethods.addEventListener.call(s,"animationstart",e)):s.addEventListener("animationstart",e)}get activeShadyDOM(){const s=window.ShadyDOM;return s&&s.inUse?s:null}updateInitialValue(){typeof this.currentText<"u"?this.value=this.currentText:this.value=this.getAttribute("value"),this.value&&(this.currentText=this.inputElement.value),this._initialValue=this.value}get disabled(){return this.hasAttribute("disabled")}set disabled(s){s?this.setAttribute("disabled",""):this.removeAttribute("disabled"),this._internals||(this.effectiveDisabled=s)}get inputElement(){return this.shadowRoot&&!this._inputElement&&(this._inputElement=this.shadowRoot.querySelector(".input")),this._inputElement}get value(){return this.inputElement&&this.inputElement.value}set value(s){this.currentText=s||"",this.inputElement&&(this.inputElement.value=this.currentText),this.setFormValue(this.currentText)}get selectionStart(){return this.inputElement?this.inputElement.selectionStart:0}focus(){this.inputElement?this.inputElement.focus():super.focus()}select(){this.inputElement&&this.inputElement.select()}setSelectionRange(s,e){this.updateComplete.then(()=>{this.inputElement&&this.inputElement.setSelectionRange(s,e)})}static get styles(){return[Tt`
|
|
1421
1421
|
${ht(ol)}
|
|
1422
1422
|
`]}render(){var s;let e;const t=this.validationMessage||((s=this.inputElement)==null?void 0:s.validationMessage),i=t||this.validationLevel!=null;return this.rows===1?e=ne`
|
|
1423
1423
|
<input
|
|
@@ -1524,7 +1524,7 @@ function updateMandatory(combobox: ComboBox) {
|
|
|
1524
1524
|
<div class="container" style="height: ${this.itemCount*this.itemHeight}px">
|
|
1525
1525
|
<slot name="items"></slot>
|
|
1526
1526
|
</div>
|
|
1527
|
-
`}updated(s){if(super.updated(s),this._lastRenderedScrollTop=this._lastKnownScrollTop,this.updateItems(),(this._increaseWidthOnNextRenderIfNeeded||this._reachedMaxWidth)&&this._firstVisibleIndex<this._lastVisibleIndex)if(this.querySelector("[item-index]"))this.adjustWidthIfNeeded();else{const e=new MutationObserver(()=>{this.adjustWidthIfNeeded(),e.disconnect()});e.observe(this)}}adjustWidthIfNeeded(){this._increaseWidthOnNextRenderIfNeeded?(this._increaseWidthOnNextRenderIfNeeded=!1,window.requestAnimationFrame(()=>{const s=Number.parseInt(getComputedStyle(this).maxWidth)-this.offsetWidth;if(s==0)this._reachedMaxWidth=!0,this.enableLineClampOnItemsIfNeeded();else{this._reachedMaxWidth=!1;const e=[...this.querySelectorAll("[item-index]")].map(i=>{if(i instanceof tt){i.enableLineClamp=!1;const a=i.missingWidthForTexts;return a>s&&(i.enableLineClamp=!0),a}}),t=Math.max(...e);t>0&&(this.style.width=`${this.offsetWidth+t}px`)}})):this._reachedMaxWidth&&this.enableLineClampOnItemsIfNeeded()}enableLineClampOnItemsIfNeeded(){this.querySelectorAll("[item-index]").forEach(s=>{s instanceof tt&&(s.enableLineClamp=s.enableLineClamp||s.missingWidthForTexts>0)})}increaseWidthOnNextRenderIfNeeded(){this._increaseWidthOnNextRenderIfNeeded=!0}updateItems(){const s=[...this.querySelectorAll("[item-index]")],e=new Map,t=document.createDocumentFragment();for(const i of this._itemsRenderData){const a=this.renderItem(i);a.parentElement||t.appendChild(a),e.set(i.dataHash,a);const r=s.indexOf(a);r!==-1&&s.splice(r,1)}this.appendChild(t);for(const i of s)i instanceof tt&&(i.enableLineClamp=!1),this.removeChild(i);e.forEach((i,a)=>{this._elementCache.set(a,i)})}renderItem({index:s,top:e,dataHash:t,data:i}){let a;return i?this._elementCache.has(t)?(a=this._elementCache.get(t),this._elementCache.delete(t)):(a=this.itemGenerator(i,s),a.setAttribute("slot","items")):(a=document.createElement("div"),a.setAttribute("placeholder-item",""),a.setAttribute("slot","items")),Object.assign(a.style,{transform:`translateY(${e}px)`,height:`${this.itemHeight}px`}),a.setAttribute("item-index",s.toString()),a.setAttribute("aria-setsize",String(this.finalSizeIsKnown?this.itemCount:-1)),a.setAttribute("aria-posinset",String(s+1)),(!a.id||a.id.startsWith(this.id+"_item_"))&&(a.id=this.id+"_item_"+s),this.itemCount-1==s?a.setAttribute("last",""):a.removeAttribute("last"),this.updateSelectedAttribute(s,a),this.updateFocusedAttribute(s,a),a}updateFocusedAttribute(s,e){this.focusIndex==s&&(this.focusTarget||document.activeElement==this)?(e.setAttribute("focused",""),this.setAttribute("aria-activedescendant",e.id)):e.removeAttribute("focused")}updateSelectedAttribute(s,e){const t=this.selectedIndices.indexOf(s)!==-1;t?e.setAttribute("selected",""):e.removeAttribute("selected"),e.setAttribute("aria-selected",String(t))}updateItemsRenderData(){if(this._itemsRenderData=[],this._visibleItemsNum=Math.min(Math.ceil(this.height/this.itemHeight),this.itemCount),this._visibleItemsNum>0){this._firstVisibleIndex=this.normalizeIndex(Math.floor(this._lastKnownScrollTop/this.itemHeight)),this._lastVisibleIndex=this.normalizeIndex(this._firstVisibleIndex+this._visibleItemsNum);const s=this.normalizeIndex(this._firstVisibleIndex-2),e=this.normalizeIndex(this._lastVisibleIndex+2);this.requestData(s,e);for(let t=s;t<=e;t++){const i=t-s,a=this.items[i];let r;a?r=JSON.stringify(a):r=`placeholder-${i}`,this._itemsRenderData.push({index:t,top:this.itemHeight*t,physicalIndex:i,dataHash:r,data:a})}}else this._firstVisibleIndex=0,this._lastVisibleIndex=0}normalizeIndex(s){return Math.max(0,Math.min(s,this.itemCount-1))}get height(){return this.offsetHeight}requestData(s,e){!Number.isNaN(s)&&!Number.isNaN(e)&&this.dispatchEvent(new CustomEvent("data-request",{detail:{startIndex:s,stopIndex:e}}))}handleSelection(s,e){if(s<0||this.itemCount<=s)return;const t=this.getListItem(s);if(t.getAttribute("aria-disabled")=="true"||t.hasAttribute("disabled"))return;let i=!0;if(this.selectionType!=="trigger-only"){const a=this.selectedIndices.indexOf(s);i=a==-1,i?this.selectionType==="single"?this.selectedIndices=[s]:this.selectedIndices.push(s):this.selectedIndices.splice(a,1),this.requestUpdate("selectedIndices")}this.focusIndex=s,this.dispatchSelectionEvent(s,i,e)}dispatchSelectionEvent(s,e,t){this.dispatchEvent(new CustomEvent("selection",{detail:{index:s,selected:e,hasModifier:t}}))}handleClick(s){const e=s.composedPath().find(t=>t.hasAttribute&&t.hasAttribute("item-index"));if(e){const t=parseInt(e.getAttribute("item-index"));if(Number.isInteger(t)){if(s.button==0||s.button==1){const i=s.type=="auxclick"&&s.button==1||s.metaKey||s.ctrlKey;this.handleSelection(t,i)}this.focusIndex=t}}}},Me.ID="sd-virtual-list",Me.ensureDefined=()=>{tt.ensureDefined(),customElements.get(Me.ID)||customElements.define(Me.ID,Me)},Me);Pe([v({type:Number,attribute:"item-height",reflect:!0})],$e.prototype,"itemHeight",2);Pe([v({type:Number})],$e.prototype,"itemCount",2);Pe([v({type:Array,attribute:!1})],$e.prototype,"items",2);Pe([v({type:String,attribute:"selection-type",reflect:!0,noAccessor:!0})],$e.prototype,"selectionType",2);Pe([v({type:String,attribute:!0,reflect:!0})],$e.prototype,"id",2);Pe([v({type:String,reflect:!0})],$e.prototype,"role",2);Pe([v({type:Number,attribute:"focus-index",reflect:!0})],$e.prototype,"focusIndex",1);Pe([v({type:Array,attribute:!1})],$e.prototype,"selectedIndices",1);let Ji=$e;Ji.ensureDefined();const El=":host{display:inline-flex;position:relative;cursor:text;font-family:Segoe UI,Lucida Sans,Arial,sans-serif;font-size:16px;color:#111;contain:layout style;flex-direction:column}:host([hidden]),:host([type=hidden]){display:none!important}:host([effective-disabled]){opacity:.6;cursor:default;filter:grayscale(100%)}:host([effective-disabled]) .unfocused-line,:host([effective-disabled]) .focused-line{border-bottom-style:dashed}:host(:not([effective-disabled]):focus) .focused-line,:host(:not([effective-disabled])[focused]) .focused-line{transform:none;transition:transform .25s}:host(:not([effective-disabled]):focus) .label.float,:host(:not([effective-disabled])[focused]) .label.float{color:var(--sd-input-focused-color, #1467ba)}:host([inactive]) .input{pointer-events:none}:host([effective-disabled]:focus),:host([effective-disabled][focused]){box-shadow:0 0 0 1px #111}:host(:not([effective-disabled])[validationlevel]) .focused-line,:host(:not([effective-disabled]):invalid) .focused-line{transform:none;transition:transform .25s}:host([validationlevel=warn i]) .focused-line{border-bottom-color:var(--sd-input-validation-color, #555555)}:host([validationlevel=warn i]) .label,:host([validationlevel=warn i]) .validation-message{color:var(--sd-input-validation-color, #555555)!important}:host([validationlevel=suggest i]) .focused-line{border-bottom-color:var(--sd-input-validation-color, #bf8800)}:host([validationlevel=suggest i]) .label,:host([validationlevel=suggest i]) .validation-message{color:var(--sd-input-validation-color, #bf8800)!important}:host([validationlevel=error i]) .focused-line,:host(:not([validationlevel]):invalid) .focused-line{border-bottom-color:var(--sd-input-validation-color, #cc0017)}:host([validationlevel=error i]) .label,:host([validationlevel=error i]) .validation-message,:host(:not([validationlevel]):invalid) .label,:host(:not([validationlevel]):invalid) .validation-message{color:var(--sd-input-validation-color, #cc0017)!important}.validation-message-wrapper{min-height:var(--sd-input-validation-message-minheight, 0px);position:relative;font-size:0}.validation-message{position:relative;position:var(--sd-input-validation-message-minheight, absolute);left:0;right:0}.label.float{transform:translateY(-75%) scale(.75);width:133%}.label:not(.float){max-width:100%}.floated-label-placeholder{height:20px;width:100%}.label{position:absolute;top:0;left:0;line-height:24px;pointer-events:none;color:var(--sd-input-color, #767676);transition:transform .25s,width .25s;transform-origin:left top}.input-wrapper{position:relative;display:flex;flex-direction:row;align-items:center;background-color:var(--input-wrapper-background-color)}:host([extended-prefix]:focus-within:not([effective-disabled])) .input-wrapper{flex-direction:column;align-items:baseline}:host([extended-prefix]:focus-within:not([effective-disabled])) .input-container{width:100%}:host([extended-prefix]:not(:focus-within)) .input-container,:host([extended-prefix][effective-disabled]) .input-container{width:0px}.input-container{line-height:var(--sd-input-line-height, 24px);flex:1 1 auto}.input{width:100%;background:var(--sd-input-background, transparent);font-family:inherit;font-size:inherit;text-align:inherit;color:inherit;border:none;outline:none;resize:none;padding-left:0;padding-right:0}.input:-webkit-autofill{animation-name:onautofillstart}.input:not(:-webkit-autofill){animation-name:onautofillcancel}@keyframes onautofillstart{0%{outline:none}}@keyframes onautofillcancel{0%{outline:none}}.label,input.input,.validation-message{text-overflow:ellipsis;overflow-x:hidden;white-space:normal;white-space:var(--sd-input-validation-message-minheight, nowrap)}.input::placeholder{color:var(--sd-input-color, #767676)}.underline{height:2px;width:100%;position:relative}.unfocused-line,.focused-line{position:absolute;top:0;right:0;bottom:0;left:0}.unfocused-line{border-bottom:1px solid var(--sd-input-underline-color, #959595)}.focused-line{border-bottom:2px solid var(--sd-input-focused-color, #1467ba);transform-origin:center center;transform:scale3d(0,1,1)}.prefix,.suffix{display:flex;flex-wrap:nowrap;max-width:100%}.prefix ::slotted(*),.suffix ::slotted(*){display:flex}:host(:focus){outline:none}.suffix ::slotted(.clear-button),.suffix ::slotted(.toggle-button){cursor:pointer;width:16px;height:32px;padding:0 8px;margin-top:-8px;margin-bottom:-8px;fill:#666;outline:none;flex-shrink:0}.suffix ::slotted(.toggle-button){transition:transform .2s}:host([opened]) .suffix ::slotted(.toggle-button){transform:rotate(180deg)}:host([disabled]) .suffix ::slotted(.clear-button),:host([disabled]) .suffix ::slotted(.toggle-button){display:none!important}.prefix ::slotted(.icon-wrapper){width:32px;height:32px;padding-right:4px;margin-top:-8px;margin-bottom:-8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}:host(:not([has-value])) .suffix ::slotted(.clear-button),:host([null-setting-disallowed]) .suffix ::slotted(.clear-button){display:none!important}:host(:not([allow-custom-value]):not([trigger-only])) .input{caret-color:transparent}:host(:not([allow-custom-value]):not([disabled])) .input{cursor:pointer}#default-slot{display:none}",Al=`<svg xmlns="http://www.w3.org/2000/svg" class="toggle-button" slot="suffix" viewBox="0 0 16 16">\r
|
|
1527
|
+
`}updated(s){if(super.updated(s),this._lastRenderedScrollTop=this._lastKnownScrollTop,this.updateItems(),(this._increaseWidthOnNextRenderIfNeeded||this._reachedMaxWidth)&&this._firstVisibleIndex<this._lastVisibleIndex)if(this.querySelector("[item-index]"))this.adjustWidthIfNeeded();else{const e=new MutationObserver(()=>{this.adjustWidthIfNeeded(),e.disconnect()});e.observe(this)}}adjustWidthIfNeeded(){this._increaseWidthOnNextRenderIfNeeded?(this._increaseWidthOnNextRenderIfNeeded=!1,window.requestAnimationFrame(()=>{const s=Number.parseInt(getComputedStyle(this).maxWidth)-this.offsetWidth;if(s==0)this._reachedMaxWidth=!0,this.enableLineClampOnItemsIfNeeded();else{this._reachedMaxWidth=!1;const e=[...this.querySelectorAll("[item-index]")].map(i=>{if(i instanceof tt){i.enableLineClamp=!1;const a=i.missingWidthForTexts;return a>s&&(i.enableLineClamp=!0),a}}),t=Math.max(...e);t>0&&(this.style.width=`${this.offsetWidth+t}px`)}})):this._reachedMaxWidth&&this.enableLineClampOnItemsIfNeeded()}enableLineClampOnItemsIfNeeded(){this.querySelectorAll("[item-index]").forEach(s=>{s instanceof tt&&(s.enableLineClamp=s.enableLineClamp||s.missingWidthForTexts>0)})}increaseWidthOnNextRenderIfNeeded(){this._increaseWidthOnNextRenderIfNeeded=!0}updateItems(){const s=[...this.querySelectorAll("[item-index]")],e=new Map,t=document.createDocumentFragment();for(const i of this._itemsRenderData){const a=this.renderItem(i);a.parentElement||t.appendChild(a),e.set(i.dataHash,a);const r=s.indexOf(a);r!==-1&&s.splice(r,1)}this.appendChild(t);for(const i of s)i instanceof tt&&(i.enableLineClamp=!1),this.removeChild(i);e.forEach((i,a)=>{this._elementCache.set(a,i)})}renderItem({index:s,top:e,dataHash:t,data:i}){let a;return i?this._elementCache.has(t)?(a=this._elementCache.get(t),this._elementCache.delete(t)):(a=this.itemGenerator(i,s),a.setAttribute("slot","items")):(a=document.createElement("div"),a.setAttribute("placeholder-item",""),a.setAttribute("slot","items")),Object.assign(a.style,{transform:`translateY(${e}px)`,height:`${this.itemHeight}px`}),a.setAttribute("item-index",s.toString()),a.setAttribute("aria-setsize",String(this.finalSizeIsKnown?this.itemCount:-1)),a.setAttribute("aria-posinset",String(s+1)),(!a.id||a.id.startsWith(this.id+"_item_"))&&(a.id=this.id+"_item_"+s),this.itemCount-1==s?a.setAttribute("last",""):a.removeAttribute("last"),this.updateSelectedAttribute(s,a),this.updateFocusedAttribute(s,a),a}updateFocusedAttribute(s,e){this.focusIndex==s&&(this.focusTarget||document.activeElement==this)?(e.setAttribute("focused",""),this.setAttribute("aria-activedescendant",e.id)):e.removeAttribute("focused")}updateSelectedAttribute(s,e){const t=this.selectedIndices.indexOf(s)!==-1;t?e.setAttribute("selected",""):e.removeAttribute("selected"),e.setAttribute("aria-selected",String(t))}updateItemsRenderData(){if(this._itemsRenderData=[],this._visibleItemsNum=Math.min(Math.ceil(this.height/this.itemHeight),this.itemCount),this._visibleItemsNum>0){this._firstVisibleIndex=this.normalizeIndex(Math.floor(this._lastKnownScrollTop/this.itemHeight)),this._lastVisibleIndex=this.normalizeIndex(this._firstVisibleIndex+this._visibleItemsNum);const s=this.normalizeIndex(this._firstVisibleIndex-2),e=this.normalizeIndex(this._lastVisibleIndex+2);this.requestData(s,e);for(let t=s;t<=e;t++){const i=t-s,a=this.items[i];let r;a?r=JSON.stringify(a):r=`placeholder-${i}`,this._itemsRenderData.push({index:t,top:this.itemHeight*t,physicalIndex:i,dataHash:r,data:a})}}else this._firstVisibleIndex=0,this._lastVisibleIndex=0}normalizeIndex(s){return Math.max(0,Math.min(s,this.itemCount-1))}get height(){return this.offsetHeight}requestData(s,e){!Number.isNaN(s)&&!Number.isNaN(e)&&this.dispatchEvent(new CustomEvent("data-request",{detail:{startIndex:s,stopIndex:e}}))}handleSelection(s,e){if(s<0||this.itemCount<=s)return;const t=this.getListItem(s);if(t.getAttribute("aria-disabled")=="true"||t.hasAttribute("disabled"))return;let i=!0;if(this.selectionType!=="trigger-only"){const a=this.selectedIndices.indexOf(s);i=a==-1,i?this.selectionType==="single"?this.selectedIndices=[s]:this.selectedIndices.push(s):this.selectedIndices.splice(a,1),this.requestUpdate("selectedIndices")}this.focusIndex=s,this.dispatchSelectionEvent(s,i,e)}dispatchSelectionEvent(s,e,t){this.dispatchEvent(new CustomEvent("selection",{detail:{index:s,selected:e,hasModifier:t}}))}handleClick(s){const e=s.composedPath().find(t=>t.hasAttribute&&t.hasAttribute("item-index"));if(e){const t=parseInt(e.getAttribute("item-index"));if(Number.isInteger(t)){if(s.button==0||s.button==1){const i=s.type=="auxclick"&&s.button==1||s.metaKey||s.ctrlKey;this.handleSelection(t,i)}this.focusIndex=t}}}},Me.ID="sd-virtual-list",Me.ensureDefined=()=>{tt.ensureDefined(),customElements.get(Me.ID)||customElements.define(Me.ID,Me)},Me);Pe([v({type:Number,attribute:"item-height",reflect:!0})],$e.prototype,"itemHeight",2);Pe([v({type:Number})],$e.prototype,"itemCount",2);Pe([v({type:Array,attribute:!1})],$e.prototype,"items",2);Pe([v({type:String,attribute:"selection-type",reflect:!0,noAccessor:!0})],$e.prototype,"selectionType",2);Pe([v({type:String,attribute:!0,reflect:!0})],$e.prototype,"id",2);Pe([v({type:String,reflect:!0})],$e.prototype,"role",2);Pe([v({type:Number,attribute:"focus-index",reflect:!0})],$e.prototype,"focusIndex",1);Pe([v({type:Array,attribute:!1})],$e.prototype,"selectedIndices",1);let Ji=$e;Ji.ensureDefined();const El=":host{display:inline-flex;position:relative;cursor:text;font-family:Segoe UI,Lucida Sans,Arial,sans-serif;font-size:16px;color:#111;contain:layout style;flex-direction:column}:host([hidden]),:host([type=hidden]){display:none!important}:host([effective-disabled]){opacity:.6;cursor:default;filter:grayscale(100%)}:host([effective-disabled]) .unfocused-line,:host([effective-disabled]) .focused-line{border-bottom-style:dashed}:host(:not([effective-disabled]):focus) .focused-line,:host(:not([effective-disabled])[focused]) .focused-line{transform:none;transition:transform .25s}:host(:not([effective-disabled]):focus) .label.float,:host(:not([effective-disabled])[focused]) .label.float{color:var(--sd-input-focused-color, #1467ba)}:host([inactive]) .input{pointer-events:none}:host([effective-disabled]:focus),:host([effective-disabled][focused]){box-shadow:0 0 0 1px #111}:host(:not([effective-disabled])[validationlevel]) .focused-line,:host(:not([effective-disabled]):invalid) .focused-line{transform:none;transition:transform .25s}:host([validationlevel=warn i]) .focused-line{border-bottom-color:var(--sd-input-validation-color, #555555)}:host([validationlevel=warn i]) .label,:host([validationlevel=warn i]) .validation-message{color:var(--sd-input-validation-color, #555555)!important}:host([validationlevel=suggest i]) .focused-line{border-bottom-color:var(--sd-input-validation-color, #bf8800)}:host([validationlevel=suggest i]) .label,:host([validationlevel=suggest i]) .validation-message{color:var(--sd-input-validation-color, #bf8800)!important}:host([validationlevel=error i]) .focused-line,:host(:not([validationlevel]):invalid) .focused-line{border-bottom-color:var(--sd-input-validation-color, #cc0017)}:host([validationlevel=error i]) .label,:host([validationlevel=error i]) .validation-message,:host(:not([validationlevel]):invalid) .label,:host(:not([validationlevel]):invalid) .validation-message{color:var(--sd-input-validation-color, #cc0017)!important}.validation-message-wrapper{min-height:var(--sd-input-validation-message-minheight, 0px);position:relative;font-size:0}.validation-message{position:relative;position:var(--sd-input-validation-message-minheight, absolute);left:0;right:0}.label.float{transform:translateY(-75%) scale(.75);width:133%}.label:not(.float){max-width:100%}.floated-label-placeholder{height:20px;width:100%}.label{position:absolute;top:0;left:0;line-height:24px;pointer-events:none;color:var(--sd-input-color, #767676);transition:transform .25s,width .25s;transform-origin:left top}.input-wrapper{position:relative;display:flex;flex-direction:row;align-items:center;background-color:var(--input-wrapper-background-color)}:host([extended-prefix]:focus-within:not([effective-disabled])) .input-wrapper{flex-direction:column;align-items:baseline}:host([extended-prefix]:focus-within:not([effective-disabled])) .input-container{width:100%}:host([extended-prefix]:not(:focus-within)) .input-container,:host([extended-prefix][effective-disabled]) .input-container{width:0px}.input-container{line-height:var(--sd-input-line-height, 24px);flex:1 1 auto}.input{width:100%;background:var(--sd-input-background, transparent);font-family:inherit;font-size:inherit;text-align:inherit;color:inherit;border:none;outline:none;resize:none;padding-left:0;padding-right:0}.input:-webkit-autofill{animation-name:onautofillstart}.input:not(:-webkit-autofill){animation-name:onautofillcancel}@keyframes onautofillstart{0%{outline:none}}@keyframes onautofillcancel{0%{outline:none}}.label,input.input{text-overflow:ellipsis;overflow-x:hidden;white-space:nowrap}.validation-message{text-overflow:ellipsis;overflow-x:hidden;white-space:normal;white-space:var(--sd-input-validation-message-minheight, nowrap)}.input::placeholder{color:var(--sd-input-color, #767676)}.underline{height:2px;width:100%;position:relative}.unfocused-line,.focused-line{position:absolute;top:0;right:0;bottom:0;left:0}.unfocused-line{border-bottom:1px solid var(--sd-input-underline-color, #959595)}.focused-line{border-bottom:2px solid var(--sd-input-focused-color, #1467ba);transform-origin:center center;transform:scale3d(0,1,1)}.prefix,.suffix{display:flex;flex-wrap:nowrap;max-width:100%}.prefix ::slotted(*),.suffix ::slotted(*){display:flex}:host(:focus){outline:none}.suffix ::slotted(.clear-button),.suffix ::slotted(.toggle-button){cursor:pointer;width:16px;height:32px;padding:0 8px;margin-top:-8px;margin-bottom:-8px;fill:#666;outline:none;flex-shrink:0}.suffix ::slotted(.toggle-button){transition:transform .2s}:host([opened]) .suffix ::slotted(.toggle-button){transform:rotate(180deg)}:host([disabled]) .suffix ::slotted(.clear-button),:host([disabled]) .suffix ::slotted(.toggle-button){display:none!important}.prefix ::slotted(.icon-wrapper){width:32px;height:32px;padding-right:4px;margin-top:-8px;margin-bottom:-8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}:host(:not([has-value])) .suffix ::slotted(.clear-button),:host([null-setting-disallowed]) .suffix ::slotted(.clear-button){display:none!important}:host(:not([allow-custom-value]):not([trigger-only])) .input{caret-color:transparent}:host(:not([allow-custom-value]):not([disabled])) .input{cursor:pointer}#default-slot{display:none}",Al=`<svg xmlns="http://www.w3.org/2000/svg" class="toggle-button" slot="suffix" viewBox="0 0 16 16">\r
|
|
1528
1528
|
<path d="M13 4v2l-5 5-5-5v-2l5 5z"/>\r
|
|
1529
1529
|
</svg>\r
|
|
1530
1530
|
`,kl=`<svg xmlns="http://www.w3.org/2000/svg" class="clear-button" slot="suffix" viewBox="0 0 16 16">\r
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cas-smartdesign/combo-box",
|
|
3
|
-
"version": "7.4.
|
|
3
|
+
"version": "7.4.2",
|
|
4
4
|
"description": "A combo-box element with the look and feel of the SmartDesign inputs & list item layouts",
|
|
5
5
|
"main": "dist/combo-box-with-externals.js",
|
|
6
6
|
"module": "dist/combo-box.mjs",
|
|
@@ -9,15 +9,15 @@
|
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@popperjs/core": "^2.11.8",
|
|
11
11
|
"lit": "^2.8.0",
|
|
12
|
-
"@cas-smartdesign/lit-input": "^7.3.0",
|
|
13
12
|
"@cas-smartdesign/image-tools": "^3.0.2",
|
|
14
|
-
"@cas-smartdesign/
|
|
15
|
-
"@cas-smartdesign/virtual-list": "^6.2.4"
|
|
13
|
+
"@cas-smartdesign/lit-input": "^7.3.1",
|
|
14
|
+
"@cas-smartdesign/virtual-list": "^6.2.4",
|
|
15
|
+
"@cas-smartdesign/list-item": "^7.2.4"
|
|
16
16
|
},
|
|
17
17
|
"devDependencies": {
|
|
18
|
+
"@cas-smartdesign/license-generator": "^1.6.3",
|
|
18
19
|
"@cas-smartdesign/element-preview": "^0.2.2",
|
|
19
|
-
"@cas-smartdesign/field-validation-message": "^5.0.2"
|
|
20
|
-
"@cas-smartdesign/license-generator": "^1.6.3"
|
|
20
|
+
"@cas-smartdesign/field-validation-message": "^5.0.2"
|
|
21
21
|
},
|
|
22
22
|
"files": [
|
|
23
23
|
"dist",
|