@aquera/nile-elements 0.1.52-beta-1.2 → 0.1.52-beta-1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -3
- package/demo/index.html +33 -150
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +639 -1385
- package/dist/internal/form.cjs.js +1 -1
- package/dist/internal/form.cjs.js.map +1 -1
- package/dist/internal/form.esm.js +1 -1
- package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
- package/dist/nile-auto-complete/index.cjs.js +1 -1
- package/dist/nile-auto-complete/index.esm.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.cjs.js +17 -1
- package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.esm.js +29 -8
- package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js.map +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
- package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
- package/dist/nile-card/nile-card.test.cjs.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
- package/dist/nile-chip/nile-chip.test.esm.js +1 -1
- package/dist/nile-code-editor/extensionSetup.cjs.js +5 -5
- package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
- package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
- package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
- package/dist/nile-code-editor/nile-code-editor.esm.js +3 -3
- package/dist/nile-code-editor/theme.cjs.js +1 -1
- package/dist/nile-code-editor/theme.cjs.js.map +1 -1
- package/dist/nile-code-editor/theme.esm.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
- package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
- package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js +1 -1
- package/dist/nile-link/nile-link.test.cjs.js +1 -1
- package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
- package/dist/nile-option/nile-option.cjs.js +1 -1
- package/dist/nile-option/nile-option.cjs.js.map +1 -1
- package/dist/nile-option/nile-option.css.cjs.js +1 -1
- package/dist/nile-option/nile-option.css.cjs.js.map +1 -1
- package/dist/nile-option/nile-option.css.esm.js +1 -1
- package/dist/nile-option/nile-option.esm.js +2 -2
- package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
- package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
- package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
- package/dist/nile-select/index.cjs.js +1 -1
- package/dist/nile-select/index.esm.js +1 -1
- package/dist/nile-select/nile-select.cjs.js +1 -1
- package/dist/nile-select/nile-select.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.esm.js +2 -2
- package/dist/nile-select/nile-select.test.cjs.js +1 -1
- package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.test.esm.js +2 -2
- package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
- package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.js +0 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal/form.js +2 -2
- package/dist/src/internal/form.js.map +1 -1
- package/dist/src/nile-code-editor/nile-code-editor.d.ts +2 -0
- package/dist/src/nile-code-editor/nile-code-editor.js +46 -4
- package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
- package/dist/src/nile-code-editor/theme.d.ts +68 -0
- package/dist/src/nile-code-editor/theme.js +68 -0
- package/dist/src/nile-code-editor/theme.js.map +1 -1
- package/dist/src/nile-option/nile-option.css.js +1 -1
- package/dist/src/nile-option/nile-option.css.js.map +1 -1
- package/dist/src/nile-option/nile-option.d.ts +1 -5
- package/dist/src/nile-option/nile-option.js +6 -21
- package/dist/src/nile-option/nile-option.js.map +1 -1
- package/dist/src/nile-select/nile-select.d.ts +2 -11
- package/dist/src/nile-select/nile-select.js +18 -37
- package/dist/src/nile-select/nile-select.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +4 -1
- package/src/index.ts +1 -3
- package/src/internal/form.ts +2 -2
- package/src/nile-code-editor/nile-code-editor.ts +53 -4
- package/src/nile-code-editor/theme.ts +69 -0
- package/src/nile-option/nile-option.css.ts +1 -1
- package/src/nile-option/nile-option.ts +3 -17
- package/src/nile-select/nile-select.ts +9 -35
- package/vscode-html-custom-data.json +8 -230
- package/dist/nile-select/virtual-scroll-helper.cjs.js +0 -2
- package/dist/nile-select/virtual-scroll-helper.cjs.js.map +0 -1
- package/dist/nile-select/virtual-scroll-helper.esm.js +0 -38
- package/dist/nile-virtual-select/index.cjs.js +0 -2
- package/dist/nile-virtual-select/index.cjs.js.map +0 -1
- package/dist/nile-virtual-select/index.esm.js +0 -1
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js +0 -2
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +0 -1
- package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +0 -2
- package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +0 -1
- package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +0 -467
- package/dist/nile-virtual-select/nile-virtual-select.esm.js +0 -227
- package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +0 -2
- package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js.map +0 -1
- package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +0 -49
- package/dist/nile-virtual-select/renderer.cjs.js +0 -2
- package/dist/nile-virtual-select/renderer.cjs.js.map +0 -1
- package/dist/nile-virtual-select/renderer.esm.js +0 -18
- package/dist/nile-virtual-select/search-manager.cjs.js +0 -2
- package/dist/nile-virtual-select/search-manager.cjs.js.map +0 -1
- package/dist/nile-virtual-select/search-manager.esm.js +0 -1
- package/dist/nile-virtual-select/selection-manager.cjs.js +0 -2
- package/dist/nile-virtual-select/selection-manager.cjs.js.map +0 -1
- package/dist/nile-virtual-select/selection-manager.esm.js +0 -1
- package/dist/nile-virtual-select/types.cjs.js +0 -2
- package/dist/nile-virtual-select/types.cjs.js.map +0 -1
- package/dist/nile-virtual-select/types.esm.js +0 -1
- package/dist/src/nile-select/virtual-scroll-helper.d.ts +0 -9
- package/dist/src/nile-select/virtual-scroll-helper.js +0 -51
- package/dist/src/nile-select/virtual-scroll-helper.js.map +0 -1
- package/dist/src/nile-virtual-select/index.d.ts +0 -1
- package/dist/src/nile-virtual-select/index.js +0 -2
- package/dist/src/nile-virtual-select/index.js.map +0 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.css.d.ts +0 -12
- package/dist/src/nile-virtual-select/nile-virtual-select.css.js +0 -479
- package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +0 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +0 -263
- package/dist/src/nile-virtual-select/nile-virtual-select.js +0 -1183
- package/dist/src/nile-virtual-select/nile-virtual-select.js.map +0 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.test.d.ts +0 -7
- package/dist/src/nile-virtual-select/nile-virtual-select.test.js +0 -341
- package/dist/src/nile-virtual-select/nile-virtual-select.test.js.map +0 -1
- package/dist/src/nile-virtual-select/renderer.d.ts +0 -11
- package/dist/src/nile-virtual-select/renderer.js +0 -51
- package/dist/src/nile-virtual-select/renderer.js.map +0 -1
- package/dist/src/nile-virtual-select/search-manager.d.ts +0 -12
- package/dist/src/nile-virtual-select/search-manager.js +0 -40
- package/dist/src/nile-virtual-select/search-manager.js.map +0 -1
- package/dist/src/nile-virtual-select/selection-manager.d.ts +0 -12
- package/dist/src/nile-virtual-select/selection-manager.js +0 -64
- package/dist/src/nile-virtual-select/selection-manager.js.map +0 -1
- package/dist/src/nile-virtual-select/types.d.ts +0 -50
- package/dist/src/nile-virtual-select/types.js +0 -8
- package/dist/src/nile-virtual-select/types.js.map +0 -1
- package/dist/virtualize-a4a40d96.esm.js +0 -22
- package/dist/virtualize-b6a2fbe0.cjs.js +0 -18
- package/dist/virtualize-b6a2fbe0.cjs.js.map +0 -1
- package/src/nile-select/virtual-scroll-helper.ts +0 -56
- package/src/nile-virtual-select/index.ts +0 -1
- package/src/nile-virtual-select/nile-virtual-select.css.ts +0 -481
- package/src/nile-virtual-select/nile-virtual-select.test.ts +0 -414
- package/src/nile-virtual-select/nile-virtual-select.ts +0 -1268
- package/src/nile-virtual-select/renderer.ts +0 -73
- package/src/nile-virtual-select/search-manager.ts +0 -50
- package/src/nile-virtual-select/selection-manager.ts +0 -75
- package/src/nile-virtual-select/types.ts +0 -54
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-auto-complete.cjs.js","sources":["../../../src/nile-auto-complete/nile-auto-complete.ts"],"sourcesContent":["import {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n nothing,\n} from 'lit';\nimport { customElement, query, state, property } from 'lit/decorators.js';\nimport { styles } from './nile-auto-complete.css';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValues } from 'lit';\nimport { NileDropdown } from '../nile-dropdown';\n\nimport { virtualize } from '@lit-labs/virtualizer/virtualize.js';\n\n// Define the custom element 'nile-auto-complete'\n@customElement('nile-auto-complete')\nexport class NileAutoComplete extends NileElement {\n\n static styles: CSSResultGroup = styles;\n\n @query('nile-dropdown') dropdownElement: NileDropdown;\n\n // Define component properties\n\n @property({ type: Boolean }) disabled: boolean = false;\n\n @property({ type: Boolean }) isDropdownOpen: boolean = false;\n\n @property({ type: Boolean }) enableVirtualScroll: boolean = false;\n\n @property({ type: Boolean }) openOnFocus: boolean = false;\n\n @property({ type: String }) value: string = '';\n\n @property({ type: String }) placeholder: string = 'Type here ..';\n\n @property({ type: Boolean }) noBorder: boolean = false;\n\n @property({ type: Boolean }) loading: boolean = false;\n\n @property({ attribute:false}) filterFunction: (item:string,searchedValue:string)=>boolean=(item:string,searchedValue:string)=>item.toLowerCase().includes(searchedValue.toLowerCase());\n\n @property({ attribute:false}) renderItemFunction: (item:any)=>string = (item:any)=>item;\n\n @property({ type: Array }) allMenuItems: any = [];\n\n @state() menuItems: any = [];\n\n connectedCallback() {\n super.connectedCallback();\n this.renderItemFunction=(item:any)=>item;\n }\n\n protected updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n if (changedProperties.has('allMenuItems')){\n this.menuItems = this.applyFilter(this.allMenuItems,this.filterFunction);\n this.setVirtualMenuWidth();\n }\n if (changedProperties.has('isDropdownOpen')) this.menuItems = this.applyFilter(this.allMenuItems,this.filterFunction);\n if (changedProperties.has('value')){\n this.menuItems = this.applyFilter(this.allMenuItems,this.filterFunction);\n }\n }\n\n public render(): TemplateResult {\n const content=this.enableVirtualScroll?this.getVirtualizedContent():this.getContent();\n return html`\n <nile-dropdown class=\"nile-dropdown--input\" ?open=${this.isDropdownOpen} noOpenOnCLick>\n <nile-input class=\"nile-auto-complete--input\"\n ?no-border=${this.noBorder}\n .disabled=${this.disabled}\n .value=${this.value}\n @nile-input=${this.handleSearch}\n @focus=${this.handleFocus}\n @click=${this.handleClick}\n slot=\"trigger\"\n placeholder=${this.placeholder}\n >\n ${this.loading?html`<nile-icon slot=\"suffix\" color=\"var(--nile-colors-primary-600)\" name=\"button-loading-blue-animated\"></nile-icon>`:nothing}\n </nile-input>\n ${this.menuItems.length > 0 && !this.loading\n ? content\n : nothing}\n </nile-dropdown>\n `;\n } \n \n getVirtualizedContent():TemplateResult{\n return html`\n <nile-menu class=\"virtualized__menu\" @nile-select=${this.handleSelect} id=\"content-menu\" exportparts=\"menu__items-wrapper:options__wrapper\">\n ${virtualize({\n items: this.menuItems,\n renderItem: (item:any):TemplateResult=>this.getItemRenderFunction(item),\n\t\t\t\t\tscroller:true\n })}\n </nile-menu>\n `\n }\n\n getContent():TemplateResult{\n return html`\n <nile-menu id=\"content-menu\" @nile-select=${this.handleSelect} exportparts=\"menu__items-wrapper:options__wrapper\">\n ${this.menuItems.map((item: any) => this.getItemRenderFunction(item))}\n </nile-menu>`\n }\n\n getItemRenderFunction(item:any):TemplateResult{\n const value=this.renderItemFunction(item)\n return html`\n <nile-menu-item value=${value}>\n ${value}\n </nile-menu-item>\n `;\n }\n\n private handleSelect(event: CustomEvent) {\n this.value = event.detail.value;\n this.emit('nile-complete', { value: event.detail.value });\n this.isDropdownOpen = false;\n this.dropdownElement?.hide();\n }\n\n private setVirtualMenuWidth() {\n const maxLengthOption = this.menuItems\n .reduce((acc: number, curr: any) => {\n const currLength = this.renderItemFunction(curr).length\n return acc > currLength ? acc : currLength\n }, 0)\n const defaultWith = 110;\n const pixelMultiplier = 9.5;\n const menuWidth = maxLengthOption * pixelMultiplier < defaultWith ? defaultWith : maxLengthOption * pixelMultiplier;\n this.style.setProperty(\"--virtual-scroll-container-width\", menuWidth + \"px\");\n }\n\n private handleSearch(event: CustomEvent) {\n this.value = event.detail.value.toLowerCase();\n\n // Filter menu items based on the search value\n this.menuItems = this.applyFilter(this.allMenuItems,this.filterFunction);\n\n this.isDropdownOpen = this.menuItems.length > 0;\n if (this.isDropdownOpen) this.dropdownElement?.show();\n }\n\n public handleFocus() {\n if (!this.openOnFocus) {\n return;\n }\n\n // Delay opening the dropdown to allow focus to take effect\n setTimeout(() => {\n this.isDropdownOpen = true;\n this.dropdownElement?.show();\n }, 300);\n }\n\n private handleClick() {\n this.isDropdownOpen = true;\n this.dropdownElement?.show();\n }\n\n applyFilter<T>(list: T[], filterFn: (item: T,searchValue?:string) => boolean): T[] {\n if(typeof(list)!=='object') return []\n const res:T[]=[]\n list.forEach( el=> filterFn(el,this.value) && res.push(el) )\n return res\n }\n\n}\n\nexport default NileAutoComplete;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-auto-complete': NileAutoComplete;\n }\n}"],"names":["NileAutoComplete","_h","a","this","disabled","isDropdownOpen","enableVirtualScroll","openOnFocus","value","placeholder","noBorder","loading","filterFunction","item","searchedValue","toLowerCase","includes","renderItemFunction","allMenuItems","menuItems","_this","_inherits","_createClass","key","connectedCallback","super","updated","changedProperties","has","applyFilter","setVirtualMenuWidth","render","content","getVirtualizedContent","getContent","html","_templateObject","_taggedTemplateLiteral","handleSearch","handleFocus","handleClick","_templateObject2","nothing","length","_this2","_templateObject3","handleSelect","virtualize","items","renderItem","getItemRenderFunction","scroller","_this3","_templateObject4","map","_templateObject5","event","detail","emit","_this$dropdownElement","dropdownElement","hide","maxLengthOption","reduce","acc","curr","currLength","menuWidth","style","setProperty","show","setTimeout","_this5$dropdownElemen","_this$dropdownElement3","list","filterFn","_this6","_typeof","t","res","forEach","el","push","NileElement","styles","__decorate","query","prototype","property","type","Boolean","String","attribute","Array","state","_export","customElement"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"nile-auto-complete.cjs.js","sources":["../../../../node_modules/@lit-labs/virtualizer/Virtualizer.js","../../../../node_modules/@lit-labs/virtualizer/virtualize.js","../../../../node_modules/@lit-labs/virtualizer/events.js","../../../../node_modules/@lit-labs/virtualizer/ScrollerController.js","../../../src/nile-auto-complete/nile-auto-complete.ts"],"sourcesContent":["/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { RangeChangedEvent, VisibilityChangedEvent, UnpinnedEvent, } from './events.js';\nimport { ScrollerController } from './ScrollerController.js';\n// Virtualizer depends on `ResizeObserver`, which is supported in\n// all modern browsers. For developers whose browser support\n// matrix includes older browsers, we include a compatible\n// polyfill in the package; this bit of module state facilitates\n// a simple mechanism (see ./polyfillLoaders/ResizeObserver.js.)\n// for loading the polyfill.\nlet _ResizeObserver = typeof window !== 'undefined' ? window.ResizeObserver : undefined;\n/**\n * Call this function to provide a `ResizeObserver` polyfill for Virtualizer to use.\n * @param Ctor Constructor for a `ResizeObserver` polyfill (recommend using the one provided with the Virtualizer package)\n */\nexport function provideResizeObserver(Ctor) {\n _ResizeObserver = Ctor;\n}\nexport const virtualizerRef = Symbol('virtualizerRef');\nconst SIZER_ATTRIBUTE = 'virtualizer-sizer';\nlet DefaultLayoutConstructor;\n/**\n * Provides virtual scrolling boilerplate.\n *\n * Extensions of this class must set hostElement and layout.\n *\n * Extensions of this class must also override VirtualRepeater's DOM\n * manipulation methods.\n */\nexport class Virtualizer {\n constructor(config) {\n this._benchmarkStart = null;\n this._layout = null;\n this._clippingAncestors = [];\n /**\n * Layout provides these values, we set them on _render().\n * TODO @straversi: Can we find an XOR type, usable for the key here?\n */\n this._scrollSize = null;\n /**\n * Difference between scroll target's current and required scroll offsets.\n * Provided by layout.\n */\n this._scrollError = null;\n /**\n * A list of the positions (top, left) of the children in the current range.\n */\n this._childrenPos = null;\n // TODO: (graynorton): type\n this._childMeasurements = null;\n this._toBeMeasured = new Map();\n this._rangeChanged = true;\n this._itemsChanged = true;\n this._visibilityChanged = true;\n this._scrollerController = null;\n this._isScroller = false;\n this._sizer = null;\n /**\n * Resize observer attached to hostElement.\n */\n this._hostElementRO = null;\n /**\n * Resize observer attached to children.\n */\n this._childrenRO = null;\n this._mutationObserver = null;\n this._scrollEventListeners = [];\n this._scrollEventListenerOptions = {\n passive: true,\n };\n // TODO (graynorton): Rethink, per longer comment below\n this._loadListener = this._childLoaded.bind(this);\n /**\n * Index of element to scroll into view, plus scroll\n * behavior options, as imperatively specified via\n * `element(index).scrollIntoView()`\n */\n this._scrollIntoViewTarget = null;\n this._updateScrollIntoViewCoordinates = null;\n /**\n * Items to render. Set by items.\n */\n this._items = [];\n /**\n * Index of the first child in the range, not necessarily the first visible child.\n * TODO @straversi: Consider renaming these.\n */\n this._first = -1;\n /**\n * Index of the last child in the range.\n */\n this._last = -1;\n /**\n * Index of the first item intersecting the viewport.\n */\n this._firstVisible = -1;\n /**\n * Index of the last item intersecting the viewport.\n */\n this._lastVisible = -1;\n this._scheduled = new WeakSet();\n /**\n * Invoked at the end of each render cycle: children in the range are\n * measured, and their dimensions passed to this callback. Use it to layout\n * children as needed.\n */\n this._measureCallback = null;\n this._measureChildOverride = null;\n /**\n * State for `layoutComplete` promise\n */\n this._layoutCompletePromise = null;\n this._layoutCompleteResolver = null;\n this._layoutCompleteRejecter = null;\n this._pendingLayoutComplete = null;\n /**\n * Layout initialization is async because we dynamically load\n * the default layout if none is specified. This state is to track\n * whether init is complete.\n */\n this._layoutInitialized = null;\n /**\n * Track connection state to guard against errors / unnecessary work\n */\n this._connected = false;\n if (!config) {\n throw new Error('Virtualizer constructor requires a configuration object');\n }\n if (config.hostElement) {\n this._init(config);\n }\n else {\n throw new Error('Virtualizer configuration requires the \"hostElement\" property');\n }\n }\n set items(items) {\n if (Array.isArray(items) && items !== this._items) {\n this._itemsChanged = true;\n this._items = items;\n this._schedule(this._updateLayout);\n }\n }\n _init(config) {\n this._isScroller = !!config.scroller;\n this._initHostElement(config);\n // If no layout is specified, we make an empty\n // layout config, which will result in the default\n // layout with default parameters\n const layoutConfig = config.layout || {};\n // Save the promise returned by `_initLayout` as a state\n // variable we can check before updating layout config\n this._layoutInitialized = this._initLayout(layoutConfig);\n }\n _initObservers() {\n this._mutationObserver = new MutationObserver(this._finishDOMUpdate.bind(this));\n this._hostElementRO = new _ResizeObserver(() => this._hostElementSizeChanged());\n this._childrenRO = new _ResizeObserver(this._childrenSizeChanged.bind(this));\n }\n _initHostElement(config) {\n const hostElement = (this._hostElement = config.hostElement);\n this._applyVirtualizerStyles();\n hostElement[virtualizerRef] = this;\n }\n connected() {\n this._initObservers();\n const includeSelf = this._isScroller;\n this._clippingAncestors = getClippingAncestors(this._hostElement, includeSelf);\n this._scrollerController = new ScrollerController(this, this._clippingAncestors[0]);\n this._schedule(this._updateLayout);\n this._observeAndListen();\n this._connected = true;\n }\n _observeAndListen() {\n this._mutationObserver.observe(this._hostElement, { childList: true });\n this._hostElementRO.observe(this._hostElement);\n this._scrollEventListeners.push(window);\n window.addEventListener('scroll', this, this._scrollEventListenerOptions);\n this._clippingAncestors.forEach((ancestor) => {\n ancestor.addEventListener('scroll', this, this._scrollEventListenerOptions);\n this._scrollEventListeners.push(ancestor);\n this._hostElementRO.observe(ancestor);\n });\n this._hostElementRO.observe(this._scrollerController.element);\n this._children.forEach((child) => this._childrenRO.observe(child));\n this._scrollEventListeners.forEach((target) => target.addEventListener('scroll', this, this._scrollEventListenerOptions));\n }\n disconnected() {\n this._scrollEventListeners.forEach((target) => target.removeEventListener('scroll', this, this._scrollEventListenerOptions));\n this._scrollEventListeners = [];\n this._clippingAncestors = [];\n this._scrollerController?.detach(this);\n this._scrollerController = null;\n this._mutationObserver?.disconnect();\n this._mutationObserver = null;\n this._hostElementRO?.disconnect();\n this._hostElementRO = null;\n this._childrenRO?.disconnect();\n this._childrenRO = null;\n this._rejectLayoutCompletePromise('disconnected');\n this._connected = false;\n }\n _applyVirtualizerStyles() {\n const hostElement = this._hostElement;\n // Would rather set these CSS properties on the host using Shadow Root\n // style scoping (and falling back to a global stylesheet where native\n // Shadow DOM is not available), but this Mobile Safari bug is preventing\n // that from working: https://bugs.webkit.org/show_bug.cgi?id=226195\n const style = hostElement.style;\n style.display = style.display || 'block';\n style.position = style.position || 'relative';\n style.contain = style.contain || 'size layout';\n if (this._isScroller) {\n style.overflow = style.overflow || 'auto';\n style.minHeight = style.minHeight || '150px';\n }\n }\n _getSizer() {\n const hostElement = this._hostElement;\n if (!this._sizer) {\n // Use a preexisting sizer element if provided (for better integration\n // with vDOM renderers)\n let sizer = hostElement.querySelector(`[${SIZER_ATTRIBUTE}]`);\n if (!sizer) {\n sizer = document.createElement('div');\n sizer.setAttribute(SIZER_ATTRIBUTE, '');\n hostElement.appendChild(sizer);\n }\n // When the scrollHeight is large, the height of this element might be\n // ignored. Setting content and font-size ensures the element has a size.\n Object.assign(sizer.style, {\n position: 'absolute',\n margin: '-2px 0 0 0',\n padding: 0,\n visibility: 'hidden',\n fontSize: '2px',\n });\n sizer.textContent = ' ';\n sizer.setAttribute(SIZER_ATTRIBUTE, '');\n this._sizer = sizer;\n }\n return this._sizer;\n }\n async updateLayoutConfig(layoutConfig) {\n // If layout initialization hasn't finished yet, we wait\n // for it to finish so we can check whether the new config\n // is compatible with the existing layout before proceeding.\n await this._layoutInitialized;\n const Ctor = layoutConfig.type ||\n // The new config is compatible with the current layout,\n // so we update the config and return true to indicate\n // a successful update\n DefaultLayoutConstructor;\n if (typeof Ctor === 'function' && this._layout instanceof Ctor) {\n const config = { ...layoutConfig };\n delete config.type;\n this._layout.config = config;\n // The new config requires a different layout altogether, but\n // to limit implementation complexity we don't support dynamically\n // changing the layout of an existing virtualizer instance.\n // Returning false here lets the caller know that they should\n // instead make a new virtualizer instance with the desired layout.\n return true;\n }\n return false;\n }\n async _initLayout(layoutConfig) {\n let config;\n let Ctor;\n if (typeof layoutConfig.type === 'function') {\n // If we have a full LayoutSpecifier, the `type` property\n // gives us our constructor...\n Ctor = layoutConfig.type;\n // ...while the rest of the specifier is our layout config\n const copy = { ...layoutConfig };\n delete copy.type;\n config = copy;\n }\n else {\n // If we don't have a full LayoutSpecifier, we just\n // have a config for the default layout\n config = layoutConfig;\n }\n if (Ctor === undefined) {\n // If we don't have a constructor yet, load the default\n DefaultLayoutConstructor = Ctor = (await import('./layouts/flow.js'))\n .FlowLayout;\n }\n this._layout = new Ctor((message) => this._handleLayoutMessage(message), config);\n if (this._layout.measureChildren &&\n typeof this._layout.updateItemSizes === 'function') {\n if (typeof this._layout.measureChildren === 'function') {\n this._measureChildOverride = this._layout.measureChildren;\n }\n this._measureCallback = this._layout.updateItemSizes.bind(this._layout);\n }\n if (this._layout.listenForChildLoadEvents) {\n this._hostElement.addEventListener('load', this._loadListener, true);\n }\n this._schedule(this._updateLayout);\n }\n // TODO (graynorton): Rework benchmarking so that it has no API and\n // instead is always on except in production builds\n startBenchmarking() {\n if (this._benchmarkStart === null) {\n this._benchmarkStart = window.performance.now();\n }\n }\n stopBenchmarking() {\n if (this._benchmarkStart !== null) {\n const now = window.performance.now();\n const timeElapsed = now - this._benchmarkStart;\n const entries = performance.getEntriesByName('uv-virtualizing', 'measure');\n const virtualizationTime = entries\n .filter((e) => e.startTime >= this._benchmarkStart && e.startTime < now)\n .reduce((t, m) => t + m.duration, 0);\n this._benchmarkStart = null;\n return { timeElapsed, virtualizationTime };\n }\n return null;\n }\n _measureChildren() {\n const mm = {};\n const children = this._children;\n const fn = this._measureChildOverride || this._measureChild;\n for (let i = 0; i < children.length; i++) {\n const child = children[i];\n const idx = this._first + i;\n if (this._itemsChanged || this._toBeMeasured.has(child)) {\n mm[idx] = fn.call(this, child, this._items[idx]);\n }\n }\n this._childMeasurements = mm;\n this._schedule(this._updateLayout);\n this._toBeMeasured.clear();\n }\n /**\n * Returns the width, height, and margins of the given child.\n */\n _measureChild(element) {\n // offsetWidth doesn't take transforms in consideration, so we use\n // getBoundingClientRect which does.\n const { width, height } = element.getBoundingClientRect();\n return Object.assign({ width, height }, getMargins(element));\n }\n async _schedule(method) {\n if (!this._scheduled.has(method)) {\n this._scheduled.add(method);\n await Promise.resolve();\n this._scheduled.delete(method);\n method.call(this);\n }\n }\n async _updateDOM(state) {\n this._scrollSize = state.scrollSize;\n this._adjustRange(state.range);\n this._childrenPos = state.childPositions;\n this._scrollError = state.scrollError || null;\n const { _rangeChanged, _itemsChanged } = this;\n if (this._visibilityChanged) {\n this._notifyVisibility();\n this._visibilityChanged = false;\n }\n if (_rangeChanged || _itemsChanged) {\n this._notifyRange();\n this._rangeChanged = false;\n }\n this._finishDOMUpdate();\n }\n _finishDOMUpdate() {\n if (this._connected) {\n // _childrenRO should be non-null if we're connected\n this._children.forEach((child) => this._childrenRO.observe(child));\n this._checkScrollIntoViewTarget(this._childrenPos);\n this._positionChildren(this._childrenPos);\n this._sizeHostElement(this._scrollSize);\n this._correctScrollError();\n if (this._benchmarkStart && 'mark' in window.performance) {\n window.performance.mark('uv-end');\n }\n }\n }\n _updateLayout() {\n if (this._layout && this._connected) {\n this._layout.items = this._items;\n this._updateView();\n if (this._childMeasurements !== null) {\n // If the layout has been changed, we may have measurements but no callback\n if (this._measureCallback) {\n this._measureCallback(this._childMeasurements);\n }\n this._childMeasurements = null;\n }\n this._layout.reflowIfNeeded();\n if (this._benchmarkStart && 'mark' in window.performance) {\n window.performance.mark('uv-end');\n }\n }\n }\n _handleScrollEvent() {\n if (this._benchmarkStart && 'mark' in window.performance) {\n try {\n window.performance.measure('uv-virtualizing', 'uv-start', 'uv-end');\n }\n catch (e) {\n console.warn('Error measuring performance data: ', e);\n }\n window.performance.mark('uv-start');\n }\n if (this._scrollerController.correctingScrollError === false) {\n // This is a user-initiated scroll, so we unpin the layout\n this._layout?.unpin();\n }\n this._schedule(this._updateLayout);\n }\n handleEvent(event) {\n switch (event.type) {\n case 'scroll':\n if (event.currentTarget === window ||\n this._clippingAncestors.includes(event.currentTarget)) {\n this._handleScrollEvent();\n }\n break;\n default:\n console.warn('event not handled', event);\n }\n }\n _handleLayoutMessage(message) {\n if (message.type === 'stateChanged') {\n this._updateDOM(message);\n }\n else if (message.type === 'visibilityChanged') {\n this._firstVisible = message.firstVisible;\n this._lastVisible = message.lastVisible;\n this._notifyVisibility();\n }\n else if (message.type === 'unpinned') {\n this._hostElement.dispatchEvent(new UnpinnedEvent());\n }\n }\n get _children() {\n const arr = [];\n let next = this._hostElement.firstElementChild;\n while (next) {\n if (!next.hasAttribute(SIZER_ATTRIBUTE)) {\n arr.push(next);\n }\n next = next.nextElementSibling;\n }\n return arr;\n }\n _updateView() {\n const hostElement = this._hostElement;\n const scrollingElement = this._scrollerController?.element;\n const layout = this._layout;\n if (hostElement && scrollingElement && layout) {\n let top, left, bottom, right;\n const hostElementBounds = hostElement.getBoundingClientRect();\n top = 0;\n left = 0;\n bottom = window.innerHeight;\n right = window.innerWidth;\n const ancestorBounds = this._clippingAncestors.map((ancestor) => ancestor.getBoundingClientRect());\n ancestorBounds.unshift(hostElementBounds);\n for (const bounds of ancestorBounds) {\n top = Math.max(top, bounds.top);\n left = Math.max(left, bounds.left);\n bottom = Math.min(bottom, bounds.bottom);\n right = Math.min(right, bounds.right);\n }\n const scrollingElementBounds = scrollingElement.getBoundingClientRect();\n const offsetWithinScroller = {\n left: hostElementBounds.left - scrollingElementBounds.left,\n top: hostElementBounds.top - scrollingElementBounds.top,\n };\n const totalScrollSize = {\n width: scrollingElement.scrollWidth,\n height: scrollingElement.scrollHeight,\n };\n const scrollTop = top - hostElementBounds.top + hostElement.scrollTop;\n const scrollLeft = left - hostElementBounds.left + hostElement.scrollLeft;\n const height = Math.max(0, bottom - top);\n const width = Math.max(0, right - left);\n layout.viewportSize = { width, height };\n layout.viewportScroll = { top: scrollTop, left: scrollLeft };\n layout.totalScrollSize = totalScrollSize;\n layout.offsetWithinScroller = offsetWithinScroller;\n }\n }\n /**\n * Styles the host element so that its size reflects the\n * total size of all items.\n */\n _sizeHostElement(size) {\n // Some browsers seem to crap out if the host element gets larger than\n // a certain size, so we clamp it here (this value based on ad hoc\n // testing in Chrome / Safari / Firefox Mac)\n const max = 8200000;\n const h = size && size.width !== null ? Math.min(max, size.width) : 0;\n const v = size && size.height !== null ? Math.min(max, size.height) : 0;\n if (this._isScroller) {\n this._getSizer().style.transform = `translate(${h}px, ${v}px)`;\n }\n else {\n const style = this._hostElement.style;\n style.minWidth = h ? `${h}px` : '100%';\n style.minHeight = v ? `${v}px` : '100%';\n }\n }\n /**\n * Sets the top and left transform style of the children from the values in\n * pos.\n */\n _positionChildren(pos) {\n if (pos) {\n pos.forEach(({ top, left, width, height, xOffset, yOffset }, index) => {\n const child = this._children[index - this._first];\n if (child) {\n child.style.position = 'absolute';\n child.style.boxSizing = 'border-box';\n child.style.transform = `translate(${left}px, ${top}px)`;\n if (width !== undefined) {\n child.style.width = width + 'px';\n }\n if (height !== undefined) {\n child.style.height = height + 'px';\n }\n child.style.left =\n xOffset === undefined ? null : xOffset + 'px';\n child.style.top =\n yOffset === undefined ? null : yOffset + 'px';\n }\n });\n }\n }\n async _adjustRange(range) {\n const { _first, _last, _firstVisible, _lastVisible } = this;\n this._first = range.first;\n this._last = range.last;\n this._firstVisible = range.firstVisible;\n this._lastVisible = range.lastVisible;\n this._rangeChanged =\n this._rangeChanged || this._first !== _first || this._last !== _last;\n this._visibilityChanged =\n this._visibilityChanged ||\n this._firstVisible !== _firstVisible ||\n this._lastVisible !== _lastVisible;\n }\n _correctScrollError() {\n if (this._scrollError) {\n const { scrollTop, scrollLeft } = this._scrollerController;\n const { top, left } = this._scrollError;\n this._scrollError = null;\n this._scrollerController.correctScrollError({\n top: scrollTop - top,\n left: scrollLeft - left,\n });\n }\n }\n element(index) {\n if (index === Infinity) {\n index = this._items.length - 1;\n }\n return this._items?.[index] === undefined\n ? undefined\n : {\n scrollIntoView: (options = {}) => this._scrollElementIntoView({ ...options, index }),\n };\n }\n _scrollElementIntoView(options) {\n if (options.index >= this._first && options.index <= this._last) {\n this._children[options.index - this._first].scrollIntoView(options);\n }\n else {\n options.index = Math.min(options.index, this._items.length - 1);\n if (options.behavior === 'smooth') {\n const coordinates = this._layout.getScrollIntoViewCoordinates(options);\n const { behavior } = options;\n this._updateScrollIntoViewCoordinates =\n this._scrollerController.managedScrollTo(Object.assign(coordinates, { behavior }), () => this._layout.getScrollIntoViewCoordinates(options), () => (this._scrollIntoViewTarget = null));\n this._scrollIntoViewTarget = options;\n }\n else {\n this._layout.pin = options;\n }\n }\n }\n /**\n * If we are smoothly scrolling to an element and the target element\n * is in the DOM, we update our target coordinates as needed\n */\n _checkScrollIntoViewTarget(pos) {\n const { index } = this._scrollIntoViewTarget || {};\n if (index && pos?.has(index)) {\n this._updateScrollIntoViewCoordinates(this._layout.getScrollIntoViewCoordinates(this._scrollIntoViewTarget));\n }\n }\n /**\n * Emits a rangechange event with the current first, last, firstVisible, and\n * lastVisible.\n */\n _notifyRange() {\n this._hostElement.dispatchEvent(new RangeChangedEvent({ first: this._first, last: this._last }));\n }\n _notifyVisibility() {\n this._hostElement.dispatchEvent(new VisibilityChangedEvent({\n first: this._firstVisible,\n last: this._lastVisible,\n }));\n }\n get layoutComplete() {\n // Lazily create promise\n if (!this._layoutCompletePromise) {\n this._layoutCompletePromise = new Promise((resolve, reject) => {\n this._layoutCompleteResolver = resolve;\n this._layoutCompleteRejecter = reject;\n });\n }\n return this._layoutCompletePromise;\n }\n _rejectLayoutCompletePromise(reason) {\n if (this._layoutCompleteRejecter !== null) {\n this._layoutCompleteRejecter(reason);\n }\n this._resetLayoutCompleteState();\n }\n _scheduleLayoutComplete() {\n // Don't do anything unless we have a pending promise\n // And only request a frame if we haven't already done so\n if (this._layoutCompletePromise && this._pendingLayoutComplete === null) {\n // Wait one additional frame to be sure the layout is stable\n this._pendingLayoutComplete = requestAnimationFrame(() => requestAnimationFrame(() => this._resolveLayoutCompletePromise()));\n }\n }\n _resolveLayoutCompletePromise() {\n if (this._layoutCompleteResolver !== null) {\n this._layoutCompleteResolver();\n }\n this._resetLayoutCompleteState();\n }\n _resetLayoutCompleteState() {\n this._layoutCompletePromise = null;\n this._layoutCompleteResolver = null;\n this._layoutCompleteRejecter = null;\n this._pendingLayoutComplete = null;\n }\n /**\n * Render and update the view at the next opportunity with the given\n * hostElement size.\n */\n _hostElementSizeChanged() {\n this._schedule(this._updateLayout);\n }\n // TODO (graynorton): Rethink how this works. Probably child loading is too specific\n // to have dedicated support for; might want some more generic lifecycle hooks for\n // layouts to use. Possibly handle measurement this way, too, or maybe that remains\n // a first-class feature?\n _childLoaded() { }\n // This is the callback for the ResizeObserver that watches the\n // virtualizer's children. We land here at the end of every virtualizer\n // update cycle that results in changes to physical items, and we also\n // end up here if one or more children change size independently of\n // the virtualizer update cycle.\n _childrenSizeChanged(changes) {\n // Only measure if the layout requires it\n if (this._layout?.measureChildren) {\n for (const change of changes) {\n this._toBeMeasured.set(change.target, change.contentRect);\n }\n this._measureChildren();\n }\n // If this is the end of an update cycle, we need to reset some\n // internal state. This should be a harmless no-op if we're handling\n // an out-of-cycle ResizeObserver callback, so we don't need to\n // distinguish between the two cases.\n this._scheduleLayoutComplete();\n this._itemsChanged = false;\n this._rangeChanged = false;\n }\n}\nfunction getMargins(el) {\n const style = window.getComputedStyle(el);\n return {\n marginTop: getMarginValue(style.marginTop),\n marginRight: getMarginValue(style.marginRight),\n marginBottom: getMarginValue(style.marginBottom),\n marginLeft: getMarginValue(style.marginLeft),\n };\n}\nfunction getMarginValue(value) {\n const float = value ? parseFloat(value) : NaN;\n return Number.isNaN(float) ? 0 : float;\n}\n// TODO (graynorton): Deal with iframes?\nfunction getParentElement(el) {\n if (el.assignedSlot !== null) {\n return el.assignedSlot;\n }\n if (el.parentElement !== null) {\n return el.parentElement;\n }\n const parentNode = el.parentNode;\n if (parentNode && parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n return parentNode.host || null;\n }\n return null;\n}\n///\nfunction getElementAncestors(el, includeSelf = false) {\n const ancestors = [];\n let parent = includeSelf ? el : getParentElement(el);\n while (parent !== null) {\n ancestors.push(parent);\n parent = getParentElement(parent);\n }\n return ancestors;\n}\nfunction getClippingAncestors(el, includeSelf = false) {\n let foundFixed = false;\n return getElementAncestors(el, includeSelf).filter((a) => {\n if (foundFixed) {\n return false;\n }\n const style = getComputedStyle(a);\n foundFixed = style.position === 'fixed';\n return style.overflow !== 'visible';\n });\n}\n//# sourceMappingURL=Virtualizer.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nimport { html, noChange } from 'lit';\nimport { directive, PartType } from 'lit/directive.js';\nimport { AsyncDirective } from 'lit/async-directive.js';\nimport { repeat } from 'lit/directives/repeat.js';\nimport { Virtualizer } from './Virtualizer.js';\nexport { virtualizerRef } from './Virtualizer.js';\nexport const defaultKeyFunction = (item) => item;\nexport const defaultRenderItem = (item, idx) => html `${idx}: ${JSON.stringify(item, null, 2)}`;\nclass VirtualizeDirective extends AsyncDirective {\n constructor(part) {\n super(part);\n this._virtualizer = null;\n this._first = 0;\n this._last = -1;\n this._renderItem = (item, idx) => defaultRenderItem(item, idx + this._first);\n this._keyFunction = (item, idx) => defaultKeyFunction(item, idx + this._first);\n this._items = [];\n if (part.type !== PartType.CHILD) {\n throw new Error('The virtualize directive can only be used in child expressions');\n }\n }\n render(config) {\n if (config) {\n this._setFunctions(config);\n }\n const itemsToRender = [];\n if (this._first >= 0 && this._last >= this._first) {\n for (let i = this._first; i <= this._last; i++) {\n itemsToRender.push(this._items[i]);\n }\n }\n return repeat(itemsToRender, this._keyFunction, this._renderItem);\n }\n update(part, [config]) {\n this._setFunctions(config);\n const itemsChanged = this._items !== config.items;\n this._items = config.items || [];\n if (this._virtualizer) {\n this._updateVirtualizerConfig(part, config);\n }\n else {\n this._initialize(part, config);\n }\n return itemsChanged ? noChange : this.render();\n }\n async _updateVirtualizerConfig(part, config) {\n const compatible = await this._virtualizer.updateLayoutConfig(config.layout || {});\n if (!compatible) {\n const hostElement = part.parentNode;\n this._makeVirtualizer(hostElement, config);\n }\n this._virtualizer.items = this._items;\n }\n _setFunctions(config) {\n const { renderItem, keyFunction } = config;\n if (renderItem) {\n this._renderItem = (item, idx) => renderItem(item, idx + this._first);\n }\n if (keyFunction) {\n this._keyFunction = (item, idx) => keyFunction(item, idx + this._first);\n }\n }\n _makeVirtualizer(hostElement, config) {\n if (this._virtualizer) {\n this._virtualizer.disconnected();\n }\n const { layout, scroller, items } = config;\n this._virtualizer = new Virtualizer({ hostElement, layout, scroller });\n this._virtualizer.items = items;\n this._virtualizer.connected();\n }\n _initialize(part, config) {\n const hostElement = part.parentNode;\n if (hostElement && hostElement.nodeType === 1) {\n hostElement.addEventListener('rangeChanged', (e) => {\n this._first = e.first;\n this._last = e.last;\n this.setValue(this.render());\n });\n this._makeVirtualizer(hostElement, config);\n }\n }\n disconnected() {\n this._virtualizer?.disconnected();\n }\n reconnected() {\n this._virtualizer?.connected();\n }\n}\nexport const virtualize = directive(VirtualizeDirective);\n//# sourceMappingURL=virtualize.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nexport class RangeChangedEvent extends Event {\n constructor(range) {\n super(RangeChangedEvent.eventName, { bubbles: false });\n this.first = range.first;\n this.last = range.last;\n }\n}\nRangeChangedEvent.eventName = 'rangeChanged';\nexport class VisibilityChangedEvent extends Event {\n constructor(range) {\n super(VisibilityChangedEvent.eventName, { bubbles: false });\n this.first = range.first;\n this.last = range.last;\n }\n}\nVisibilityChangedEvent.eventName = 'visibilityChanged';\nexport class UnpinnedEvent extends Event {\n constructor() {\n super(UnpinnedEvent.eventName, { bubbles: false });\n }\n}\nUnpinnedEvent.eventName = 'unpinned';\n//# sourceMappingURL=events.js.map","/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */\nexport class ScrollerShim {\n constructor(element) {\n this._element = null;\n const node = element ?? window;\n this._node = node;\n if (element) {\n this._element = element;\n }\n }\n get element() {\n return (this._element || document.scrollingElement || document.documentElement);\n }\n get scrollTop() {\n return this.element.scrollTop || window.scrollY;\n }\n get scrollLeft() {\n return this.element.scrollLeft || window.scrollX;\n }\n get scrollHeight() {\n return this.element.scrollHeight;\n }\n get scrollWidth() {\n return this.element.scrollWidth;\n }\n get viewportHeight() {\n return this._element\n ? this._element.getBoundingClientRect().height\n : window.innerHeight;\n }\n get viewportWidth() {\n return this._element\n ? this._element.getBoundingClientRect().width\n : window.innerWidth;\n }\n get maxScrollTop() {\n return this.scrollHeight - this.viewportHeight;\n }\n get maxScrollLeft() {\n return this.scrollWidth - this.viewportWidth;\n }\n}\nexport class ScrollerController extends ScrollerShim {\n constructor(client, element) {\n super(element);\n this._clients = new Set();\n this._retarget = null;\n this._end = null;\n this.__destination = null;\n this.correctingScrollError = false;\n this._checkForArrival = this._checkForArrival.bind(this);\n this._updateManagedScrollTo = this._updateManagedScrollTo.bind(this);\n this.scrollTo = this.scrollTo.bind(this);\n this.scrollBy = this.scrollBy.bind(this);\n const node = this._node;\n this._originalScrollTo = node.scrollTo;\n this._originalScrollBy = node.scrollBy;\n this._originalScroll = node.scroll;\n this._attach(client);\n }\n get _destination() {\n return this.__destination;\n }\n get scrolling() {\n return this._destination !== null;\n }\n scrollTo(p1, p2) {\n const options = typeof p1 === 'number' && typeof p2 === 'number'\n ? { left: p1, top: p2 }\n : p1;\n this._scrollTo(options);\n }\n scrollBy(p1, p2) {\n const options = typeof p1 === 'number' && typeof p2 === 'number'\n ? { left: p1, top: p2 }\n : p1;\n if (options.top !== undefined) {\n options.top += this.scrollTop;\n }\n if (options.left !== undefined) {\n options.left += this.scrollLeft;\n }\n this._scrollTo(options);\n }\n _nativeScrollTo(options) {\n this._originalScrollTo.bind(this._element || window)(options);\n }\n _scrollTo(options, retarget = null, end = null) {\n if (this._end !== null) {\n this._end();\n }\n if (options.behavior === 'smooth') {\n this._setDestination(options);\n this._retarget = retarget;\n this._end = end;\n }\n else {\n this._resetScrollState();\n }\n this._nativeScrollTo(options);\n }\n _setDestination(options) {\n let { top, left } = options;\n top =\n top === undefined\n ? undefined\n : Math.max(0, Math.min(top, this.maxScrollTop));\n left =\n left === undefined\n ? undefined\n : Math.max(0, Math.min(left, this.maxScrollLeft));\n if (this._destination !== null &&\n left === this._destination.left &&\n top === this._destination.top) {\n return false;\n }\n this.__destination = { top, left, behavior: 'smooth' };\n return true;\n }\n _resetScrollState() {\n this.__destination = null;\n this._retarget = null;\n this._end = null;\n }\n _updateManagedScrollTo(coordinates) {\n if (this._destination) {\n if (this._setDestination(coordinates)) {\n this._nativeScrollTo(this._destination);\n }\n }\n }\n managedScrollTo(options, retarget, end) {\n this._scrollTo(options, retarget, end);\n return this._updateManagedScrollTo;\n }\n correctScrollError(coordinates) {\n this.correctingScrollError = true;\n requestAnimationFrame(() => requestAnimationFrame(() => (this.correctingScrollError = false)));\n // Correct the error\n this._nativeScrollTo(coordinates);\n // Then, if we were headed for a specific destination, we continue scrolling:\n // First, we update our target destination, if applicable...\n if (this._retarget) {\n this._setDestination(this._retarget());\n }\n // Then we go ahead and resume scrolling\n if (this._destination) {\n this._nativeScrollTo(this._destination);\n }\n }\n _checkForArrival() {\n if (this._destination !== null) {\n const { scrollTop, scrollLeft } = this;\n let { top, left } = this._destination;\n top = Math.min(top || 0, this.maxScrollTop);\n left = Math.min(left || 0, this.maxScrollLeft);\n const topDiff = Math.abs(top - scrollTop);\n const leftDiff = Math.abs(left - scrollLeft);\n // We check to see if we've arrived at our destination.\n if (topDiff < 1 && leftDiff < 1) {\n if (this._end) {\n this._end();\n }\n this._resetScrollState();\n }\n }\n }\n detach(client) {\n this._clients.delete(client);\n /**\n * If there aren't any more clients, then return the node's default\n * scrolling methods\n */\n if (this._clients.size === 0) {\n this._node.scrollTo = this._originalScrollTo;\n this._node.scrollBy = this._originalScrollBy;\n this._node.scroll = this._originalScroll;\n this._node.removeEventListener('scroll', this._checkForArrival);\n }\n return null;\n }\n _attach(client) {\n this._clients.add(client);\n /**\n * The node should only have the methods shimmed when adding the first\n * client – otherwise it's redundant\n */\n if (this._clients.size === 1) {\n this._node.scrollTo = this.scrollTo;\n this._node.scrollBy = this.scrollBy;\n this._node.scroll = this.scrollTo;\n this._node.addEventListener('scroll', this._checkForArrival);\n }\n }\n}\n//# sourceMappingURL=ScrollerController.js.map","import {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n nothing,\n} from 'lit';\nimport { customElement, query, state, property } from 'lit/decorators.js';\nimport { styles } from './nile-auto-complete.css';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValues } from 'lit';\nimport { NileDropdown } from '../nile-dropdown';\n\nimport { virtualize } from '@lit-labs/virtualizer/virtualize.js';\n\n// Define the custom element 'nile-auto-complete'\n@customElement('nile-auto-complete')\nexport class NileAutoComplete extends NileElement {\n\n static styles: CSSResultGroup = styles;\n\n @query('nile-dropdown') dropdownElement: NileDropdown;\n\n // Define component properties\n\n @property({ type: Boolean }) disabled: boolean = false;\n\n @property({ type: Boolean }) isDropdownOpen: boolean = false;\n\n @property({ type: Boolean }) enableVirtualScroll: boolean = false;\n\n @property({ type: Boolean }) openOnFocus: boolean = false;\n\n @property({ type: String }) value: string = '';\n\n @property({ type: String }) placeholder: string = 'Type here ..';\n\n @property({ type: Boolean }) noBorder: boolean = false;\n\n @property({ type: Boolean }) loading: boolean = false;\n\n @property({ attribute:false}) filterFunction: (item:string,searchedValue:string)=>boolean=(item:string,searchedValue:string)=>item.toLowerCase().includes(searchedValue.toLowerCase());\n\n @property({ attribute:false}) renderItemFunction: (item:any)=>string = (item:any)=>item;\n\n @property({ type: Array }) allMenuItems: any = [];\n\n @state() menuItems: any = [];\n\n connectedCallback() {\n super.connectedCallback();\n this.renderItemFunction=(item:any)=>item;\n }\n\n protected updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n if (changedProperties.has('allMenuItems')){\n this.menuItems = this.applyFilter(this.allMenuItems,this.filterFunction);\n this.setVirtualMenuWidth();\n }\n if (changedProperties.has('isDropdownOpen')) this.menuItems = this.applyFilter(this.allMenuItems,this.filterFunction);\n if (changedProperties.has('value')){\n this.menuItems = this.applyFilter(this.allMenuItems,this.filterFunction);\n }\n }\n\n public render(): TemplateResult {\n const content=this.enableVirtualScroll?this.getVirtualizedContent():this.getContent();\n return html`\n <nile-dropdown class=\"nile-dropdown--input\" ?open=${this.isDropdownOpen} noOpenOnCLick>\n <nile-input class=\"nile-auto-complete--input\"\n ?no-border=${this.noBorder}\n .disabled=${this.disabled}\n .value=${this.value}\n @nile-input=${this.handleSearch}\n @focus=${this.handleFocus}\n @click=${this.handleClick}\n slot=\"trigger\"\n placeholder=${this.placeholder}\n >\n ${this.loading?html`<nile-icon slot=\"suffix\" color=\"var(--nile-colors-primary-600)\" name=\"button-loading-blue-animated\"></nile-icon>`:nothing}\n </nile-input>\n ${this.menuItems.length > 0 && !this.loading\n ? content\n : nothing}\n </nile-dropdown>\n `;\n } \n \n getVirtualizedContent():TemplateResult{\n return html`\n <nile-menu class=\"virtualized__menu\" @nile-select=${this.handleSelect} id=\"content-menu\" exportparts=\"menu__items-wrapper:options__wrapper\">\n ${virtualize({\n items: this.menuItems,\n renderItem: (item:any):TemplateResult=>this.getItemRenderFunction(item),\n\t\t\t\t\tscroller:true\n })}\n </nile-menu>\n `\n }\n\n getContent():TemplateResult{\n return html`\n <nile-menu id=\"content-menu\" @nile-select=${this.handleSelect} exportparts=\"menu__items-wrapper:options__wrapper\">\n ${this.menuItems.map((item: any) => this.getItemRenderFunction(item))}\n </nile-menu>`\n }\n\n getItemRenderFunction(item:any):TemplateResult{\n const value=this.renderItemFunction(item)\n return html`\n <nile-menu-item value=${value}>\n ${value}\n </nile-menu-item>\n `;\n }\n\n private handleSelect(event: CustomEvent) {\n this.value = event.detail.value;\n this.emit('nile-complete', { value: event.detail.value });\n this.isDropdownOpen = false;\n this.dropdownElement?.hide();\n }\n\n private setVirtualMenuWidth() {\n const maxLengthOption = this.menuItems\n .reduce((acc: number, curr: any) => {\n const currLength = this.renderItemFunction(curr).length\n return acc > currLength ? acc : currLength\n }, 0)\n const defaultWith = 110;\n const pixelMultiplier = 9.5;\n const menuWidth = maxLengthOption * pixelMultiplier < defaultWith ? defaultWith : maxLengthOption * pixelMultiplier;\n this.style.setProperty(\"--virtual-scroll-container-width\", menuWidth + \"px\");\n }\n\n private handleSearch(event: CustomEvent) {\n this.value = event.detail.value.toLowerCase();\n\n // Filter menu items based on the search value\n this.menuItems = this.applyFilter(this.allMenuItems,this.filterFunction);\n\n this.isDropdownOpen = this.menuItems.length > 0;\n if (this.isDropdownOpen) this.dropdownElement?.show();\n }\n\n public handleFocus() {\n if (!this.openOnFocus) {\n return;\n }\n\n // Delay opening the dropdown to allow focus to take effect\n setTimeout(() => {\n this.isDropdownOpen = true;\n this.dropdownElement?.show();\n }, 300);\n }\n\n private handleClick() {\n this.isDropdownOpen = true;\n this.dropdownElement?.show();\n }\n\n applyFilter<T>(list: T[], filterFn: (item: T,searchValue?:string) => boolean): T[] {\n if(typeof(list)!=='object') return []\n const res:T[]=[]\n list.forEach( el=> filterFn(el,this.value) && res.push(el) )\n return res\n }\n\n}\n\nexport default NileAutoComplete;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-auto-complete': NileAutoComplete;\n }\n}"],"names":["getMarginValue","value","float","parseFloat","NaN","Number","isNaN","getParentElement","el","assignedSlot","parentElement","parentNode","nodeType","Node","DOCUMENT_FRAGMENT_NODE","host","setters","_tslib","RangeChangedEvent","Event","m","range","super","eventName","bubbles","this","first","last","_this","_inherits","_Event","_createClass","_wrapNativeSuper","VisibilityChangedEvent","f","_this2","_Event2","UnpinnedEvent","w","constructor","ScrollerShim","v","element","_element","node","window","_node","key","get","document","scrollingElement","documentElement","scrollTop","scrollY","scrollLeft","scrollX","scrollHeight","scrollWidth","getBoundingClientRect","height","innerHeight","width","innerWidth","viewportHeight","viewportWidth","ScrollerController","g","client","_clients","Set","_retarget","_end","__destination","correctingScrollError","_checkForArrival","bind","_updateManagedScrollTo","scrollTo","scrollBy","_originalScrollTo","_originalScrollBy","_originalScroll","scroll","_attach","_this3","_v","_destination","p1","p2","options","left","top","_scrollTo","undefined","_nativeScrollTo","retarget","end","behavior","_setDestination","_resetScrollState","Math","max","min","maxScrollTop","maxScrollLeft","coordinates","managedScrollTo","correctScrollError","requestAnimationFrame","_this$_destination","topDiff","abs","leftDiff","detach","size","removeEventListener","add","addEventListener","_ResizeObserver","ResizeObserver","virtualizerRef","Symbol","SIZER_ATTRIBUTE","Virtualizer","S","config","_classCallCheck","_benchmarkStart","_layout","_clippingAncestors","_scrollSize","_scrollError","_childrenPos","_childMeasurements","_toBeMeasured","Map","_rangeChanged","_itemsChanged","_visibilityChanged","_scrollerController","_isScroller","_sizer","_hostElementRO","_childrenRO","_mutationObserver","_scrollEventListeners","_scrollEventListenerOptions","passive","_loadListener","_childLoaded","_scrollIntoViewTarget","_updateScrollIntoViewCoordinates","_items","_first","_last","_firstVisible","_lastVisible","_scheduled","WeakSet","_measureCallback","_measureChildOverride","_layoutCompletePromise","_layoutCompleteResolver","_layoutCompleteRejecter","_pendingLayoutComplete","_layoutInitialized","_connected","Error","hostElement","_init","set","items","Array","isArray","_schedule","_updateLayout","scroller","_initHostElement","layoutConfig","layout","_initLayout","_initObservers","MutationObserver","_finishDOMUpdate","_hostElementSizeChanged","_childrenSizeChanged","_hostElement","_applyVirtualizerStyles","connected","includeSelf","foundFixed","ancestors","parent","push","getElementAncestors","filter","a","style","getComputedStyle","position","overflow","_observeAndListen","observe","childList","forEach","ancestor","_children","child","target","disconnected","_this$_scrollerContro","_this$_mutationObserv","disconnect","_rejectLayoutCompletePromise","display","contain","minHeight","_getSizer","sizer","querySelector","concat","createElement","setAttribute","appendChild","Object","assign","margin","padding","visibility","fontSize","textContent","_updateLayoutConfig","_asyncToGenerator","_regeneratorRuntime","mark","_callee","Ctor","type","DefaultLayoutConstructor","_context2","next","abrupt","stop","updateLayoutConfig","_callee2","copy","_objectSpread","FlowLayout","message","_handleLayoutMessage","measureChildren","updateItemSizes","listenForChildLoadEvents","_context3","startBenchmarking","performance","now","stopBenchmarking","timeElapsed","virtualizationTime","getEntriesByName","e","startTime","reduce","t","duration","_measureChildren","mm","children","fn","_measureChild","i","length","idx","has","call","clear","_t$getBoundingClientR","s","marginTop","marginRight","marginBottom","marginLeft","getMargins","_schedule2","_callee3","method","Promise","resolve","_callee4","state","scrollSize","_adjustRange","childPositions","scrollError","_notifyVisibility","_notifyRange","_context5","_updateDOM","_checkScrollIntoViewTarget","_positionChildren","_sizeHostElement","_correctScrollError","_updateView","reflowIfNeeded","_handleScrollEvent","measure","console","warn","unpin","handleEvent","event","currentTarget","includes","firstVisible","lastVisible","dispatchEvent","arr","firstElementChild","hasAttribute","nextElementSibling","bottom","right","hostElementBounds","ancestorBounds","map","unshift","_iterator","_createForOfIteratorHelper","_step","n","done","bounds","err","scrollingElementBounds","offsetWithinScroller","totalScrollSize","viewportSize","viewportScroll","h","transform","minWidth","pos","_ref","index","yOffset","xOffset","boxSizing","_adjustRange2","_callee5","wrap","_callee5$","_context6","prev","_this$_scrollerContro3","_this$_items","_this12","Infinity","scrollIntoView","arguments","_scrollElementIntoView","getScrollIntoViewCoordinates","pin","_ref2","layoutComplete","reject","reason","_resetLayoutCompleteState","_scheduleLayoutComplete","_resolveLayoutCompletePromise","changes","_this$_layout2","_iterator2","_step2","change","contentRect","virtualize","directive","_d2","_class","part","_virtualizer","_renderItem","item","html","_templateObject","_taggedTemplateLiteral","JSON","stringify","_keyFunction","PartType","CHILD","_this16","render","_setFunctions","itemsToRender","repeat","update","itemsChanged","_updateVirtualizerConfig","_initialize","noChange","_updateVirtualizerConfig2","_callee6","_s2","_callee6$","_context7","sent","_makeVirtualizer","_this17","renderItem","keyFunction","_this18","setValue","reconnected","AsyncDirective","_export","NileAutoComplete","z","disabled","isDropdownOpen","enableVirtualScroll","openOnFocus","placeholder","noBorder","loading","filterFunction","searchedValue","toLowerCase","renderItemFunction","allMenuItems","menuItems","_this19","_u2","connectedCallback","updated","changedProperties","applyFilter","setVirtualMenuWidth","content","getVirtualizedContent","getContent","_templateObject2","handleSearch","handleFocus","handleClick","_templateObject3","nothing","_this20","_templateObject4","handleSelect","getItemRenderFunction","_this21","_templateObject5","_templateObject6","detail","emit","_this$dropdownElement","dropdownElement","hide","maxLengthOption","acc","curr","currLength","menuWidth","setProperty","show","setTimeout","_this23$dropdownEleme","_this$dropdownElement3","list","filterFn","_this24","_typeof","res","NileElement","styles","__decorate","query","prototype","property","Boolean","String","attribute","customElement"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
|
@@ -1,4 +1,25 @@
|
|
1
|
-
import{__decorate as t}from"tslib";import{html as
|
1
|
+
import{__decorate as t}from"tslib";import{noChange as i,html as s,nothing as h}from"lit";import{query as e,property as n,state as o,customElement as l}from"lit/decorators.js";import{s as r}from"./nile-auto-complete.css.esm.js";import{N as u}from"../internal/nile-element.esm.js";import{directive as a,PartType as c}from"lit/directive.js";import{AsyncDirective as d}from"lit/async-directive.js";import{repeat as p}from"lit/directives/repeat.js";
|
2
|
+
/**
|
3
|
+
* @license
|
4
|
+
* Copyright 2021 Google LLC
|
5
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
6
|
+
*/class m extends Event{constructor(t){super(m.eventName,{bubbles:!1}),this.first=t.first,this.last=t.last}}m.eventName="rangeChanged";class f extends Event{constructor(t){super(f.eventName,{bubbles:!1}),this.first=t.first,this.last=t.last}}f.eventName="visibilityChanged";class w extends Event{constructor(){super(w.eventName,{bubbles:!1})}}w.eventName="unpinned";
|
7
|
+
/**
|
8
|
+
* @license
|
9
|
+
* Copyright 2021 Google LLC
|
10
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
11
|
+
*/
|
12
|
+
class v{constructor(t){this._element=null;const i=t??window;this._node=i,t&&(this._element=t)}get element(){return this._element||document.scrollingElement||document.documentElement}get scrollTop(){return this.element.scrollTop||window.scrollY}get scrollLeft(){return this.element.scrollLeft||window.scrollX}get scrollHeight(){return this.element.scrollHeight}get scrollWidth(){return this.element.scrollWidth}get viewportHeight(){return this._element?this._element.getBoundingClientRect().height:window.innerHeight}get viewportWidth(){return this._element?this._element.getBoundingClientRect().width:window.innerWidth}get maxScrollTop(){return this.scrollHeight-this.viewportHeight}get maxScrollLeft(){return this.scrollWidth-this.viewportWidth}}class g extends v{constructor(t,i){super(i),this._clients=new Set,this._retarget=null,this._end=null,this.t=null,this.correctingScrollError=!1,this._checkForArrival=this._checkForArrival.bind(this),this._updateManagedScrollTo=this._updateManagedScrollTo.bind(this),this.scrollTo=this.scrollTo.bind(this),this.scrollBy=this.scrollBy.bind(this);const s=this._node;this._originalScrollTo=s.scrollTo,this._originalScrollBy=s.scrollBy,this._originalScroll=s.scroll,this._attach(t)}get _destination(){return this.t}get scrolling(){return null!==this._destination}scrollTo(t,i){const s="number"==typeof t&&"number"==typeof i?{left:t,top:i}:t;this._scrollTo(s)}scrollBy(t,i){const s="number"==typeof t&&"number"==typeof i?{left:t,top:i}:t;void 0!==s.top&&(s.top+=this.scrollTop),void 0!==s.left&&(s.left+=this.scrollLeft),this._scrollTo(s)}_nativeScrollTo(t){this._originalScrollTo.bind(this._element||window)(t)}_scrollTo(t,i=null,s=null){null!==this._end&&this._end(),"smooth"===t.behavior?(this._setDestination(t),this._retarget=i,this._end=s):this._resetScrollState(),this._nativeScrollTo(t)}_setDestination(t){let{top:i,left:s}=t;return i=void 0===i?void 0:Math.max(0,Math.min(i,this.maxScrollTop)),s=void 0===s?void 0:Math.max(0,Math.min(s,this.maxScrollLeft)),(null===this._destination||s!==this._destination.left||i!==this._destination.top)&&(this.t={top:i,left:s,behavior:"smooth"},!0)}_resetScrollState(){this.t=null,this._retarget=null,this._end=null}_updateManagedScrollTo(t){this._destination&&this._setDestination(t)&&this._nativeScrollTo(this._destination)}managedScrollTo(t,i,s){return this._scrollTo(t,i,s),this._updateManagedScrollTo}correctScrollError(t){this.correctingScrollError=!0,requestAnimationFrame((()=>requestAnimationFrame((()=>this.correctingScrollError=!1)))),this._nativeScrollTo(t),this._retarget&&this._setDestination(this._retarget()),this._destination&&this._nativeScrollTo(this._destination)}_checkForArrival(){if(null!==this._destination){const{scrollTop:t,scrollLeft:i}=this;let{top:s,left:h}=this._destination;s=Math.min(s||0,this.maxScrollTop),h=Math.min(h||0,this.maxScrollLeft);const e=Math.abs(s-t),n=Math.abs(h-i);e<1&&n<1&&(this._end&&this._end(),this._resetScrollState())}}detach(t){return this._clients.delete(t),0===this._clients.size&&(this._node.scrollTo=this._originalScrollTo,this._node.scrollBy=this._originalScrollBy,this._node.scroll=this._originalScroll,this._node.removeEventListener("scroll",this._checkForArrival)),null}_attach(t){this._clients.add(t),1===this._clients.size&&(this._node.scrollTo=this.scrollTo,this._node.scrollBy=this.scrollBy,this._node.scroll=this.scrollTo,this._node.addEventListener("scroll",this._checkForArrival))}}
|
13
|
+
/**
|
14
|
+
* @license
|
15
|
+
* Copyright 2021 Google LLC
|
16
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
17
|
+
*/let _="undefined"!=typeof window?window.ResizeObserver:void 0;const y=Symbol("virtualizerRef"),b="virtualizer-sizer";let x;class S{constructor(t){if(this._benchmarkStart=null,this._layout=null,this._clippingAncestors=[],this._scrollSize=null,this._scrollError=null,this._childrenPos=null,this._childMeasurements=null,this._toBeMeasured=new Map,this._rangeChanged=!0,this._itemsChanged=!0,this._visibilityChanged=!0,this._scrollerController=null,this._isScroller=!1,this._sizer=null,this._hostElementRO=null,this._childrenRO=null,this._mutationObserver=null,this._scrollEventListeners=[],this._scrollEventListenerOptions={passive:!0},this._loadListener=this._childLoaded.bind(this),this._scrollIntoViewTarget=null,this._updateScrollIntoViewCoordinates=null,this._items=[],this._first=-1,this._last=-1,this._firstVisible=-1,this._lastVisible=-1,this._scheduled=new WeakSet,this._measureCallback=null,this._measureChildOverride=null,this._layoutCompletePromise=null,this._layoutCompleteResolver=null,this._layoutCompleteRejecter=null,this._pendingLayoutComplete=null,this._layoutInitialized=null,this._connected=!1,!t)throw new Error("Virtualizer constructor requires a configuration object");if(!t.hostElement)throw new Error('Virtualizer configuration requires the "hostElement" property');this._init(t)}set items(t){Array.isArray(t)&&t!==this._items&&(this._itemsChanged=!0,this._items=t,this._schedule(this._updateLayout))}_init(t){this._isScroller=!!t.scroller,this._initHostElement(t);const i=t.layout||{};this._layoutInitialized=this._initLayout(i)}_initObservers(){this._mutationObserver=new MutationObserver(this._finishDOMUpdate.bind(this)),this._hostElementRO=new _((()=>this._hostElementSizeChanged())),this._childrenRO=new _(this._childrenSizeChanged.bind(this))}_initHostElement(t){const i=this._hostElement=t.hostElement;this._applyVirtualizerStyles(),i[y]=this}connected(){this._initObservers();const t=this._isScroller;this._clippingAncestors=function(t,i=!1){let s=!1;return function(t,i=!1){const s=[];let h=i?t:C(t);for(;null!==h;)s.push(h),h=C(h);return s}(t,i).filter((t=>{if(s)return!1;const i=getComputedStyle(t);return s="fixed"===i.position,"visible"!==i.overflow}))}
|
18
|
+
/**
|
19
|
+
* @license
|
20
|
+
* Copyright 2021 Google LLC
|
21
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
22
|
+
*/(this._hostElement,t),this._scrollerController=new g(this,this._clippingAncestors[0]),this._schedule(this._updateLayout),this._observeAndListen(),this._connected=!0}_observeAndListen(){this._mutationObserver.observe(this._hostElement,{childList:!0}),this._hostElementRO.observe(this._hostElement),this._scrollEventListeners.push(window),window.addEventListener("scroll",this,this._scrollEventListenerOptions),this._clippingAncestors.forEach((t=>{t.addEventListener("scroll",this,this._scrollEventListenerOptions),this._scrollEventListeners.push(t),this._hostElementRO.observe(t)})),this._hostElementRO.observe(this._scrollerController.element),this._children.forEach((t=>this._childrenRO.observe(t))),this._scrollEventListeners.forEach((t=>t.addEventListener("scroll",this,this._scrollEventListenerOptions)))}disconnected(){this._scrollEventListeners.forEach((t=>t.removeEventListener("scroll",this,this._scrollEventListenerOptions))),this._scrollEventListeners=[],this._clippingAncestors=[],this._scrollerController?.detach(this),this._scrollerController=null,this._mutationObserver?.disconnect(),this._mutationObserver=null,this._hostElementRO?.disconnect(),this._hostElementRO=null,this._childrenRO?.disconnect(),this._childrenRO=null,this._rejectLayoutCompletePromise("disconnected"),this._connected=!1}_applyVirtualizerStyles(){const t=this._hostElement.style;t.display=t.display||"block",t.position=t.position||"relative",t.contain=t.contain||"size layout",this._isScroller&&(t.overflow=t.overflow||"auto",t.minHeight=t.minHeight||"150px")}_getSizer(){const t=this._hostElement;if(!this._sizer){let i=t.querySelector(`[${b}]`);i||(i=document.createElement("div"),i.setAttribute(b,""),t.appendChild(i)),Object.assign(i.style,{position:"absolute",margin:"-2px 0 0 0",padding:0,visibility:"hidden",fontSize:"2px"}),i.textContent=" ",i.setAttribute(b,""),this._sizer=i}return this._sizer}async updateLayoutConfig(t){await this._layoutInitialized;const i=t.type||x;if("function"==typeof i&&this._layout instanceof i){const i={...t};return delete i.type,this._layout.config=i,!0}return!1}async _initLayout(t){let i,s;if("function"==typeof t.type){s=t.type;const h={...t};delete h.type,i=h}else i=t;void 0===s&&(x=s=(await import("../flow-8340c041.esm.js")).FlowLayout),this._layout=new s((t=>this._handleLayoutMessage(t)),i),this._layout.measureChildren&&"function"==typeof this._layout.updateItemSizes&&("function"==typeof this._layout.measureChildren&&(this._measureChildOverride=this._layout.measureChildren),this._measureCallback=this._layout.updateItemSizes.bind(this._layout)),this._layout.listenForChildLoadEvents&&this._hostElement.addEventListener("load",this._loadListener,!0),this._schedule(this._updateLayout)}startBenchmarking(){null===this._benchmarkStart&&(this._benchmarkStart=window.performance.now())}stopBenchmarking(){if(null!==this._benchmarkStart){const t=window.performance.now(),i=t-this._benchmarkStart,s=performance.getEntriesByName("uv-virtualizing","measure").filter((i=>i.startTime>=this._benchmarkStart&&i.startTime<t)).reduce(((t,i)=>t+i.duration),0);return this._benchmarkStart=null,{timeElapsed:i,virtualizationTime:s}}return null}_measureChildren(){const t={},i=this._children,s=this._measureChildOverride||this._measureChild;for(let h=0;h<i.length;h++){const e=i[h],n=this._first+h;(this._itemsChanged||this._toBeMeasured.has(e))&&(t[n]=s.call(this,e,this._items[n]))}this._childMeasurements=t,this._schedule(this._updateLayout),this._toBeMeasured.clear()}_measureChild(t){const{width:i,height:s}=t.getBoundingClientRect();return Object.assign({width:i,height:s},function(t){const i=window.getComputedStyle(t);return{marginTop:M(i.marginTop),marginRight:M(i.marginRight),marginBottom:M(i.marginBottom),marginLeft:M(i.marginLeft)}}(t))}async _schedule(t){this._scheduled.has(t)||(this._scheduled.add(t),await Promise.resolve(),this._scheduled.delete(t),t.call(this))}async _updateDOM(t){this._scrollSize=t.scrollSize,this._adjustRange(t.range),this._childrenPos=t.childPositions,this._scrollError=t.scrollError||null;const{_rangeChanged:i,_itemsChanged:s}=this;this._visibilityChanged&&(this._notifyVisibility(),this._visibilityChanged=!1),(i||s)&&(this._notifyRange(),this._rangeChanged=!1),this._finishDOMUpdate()}_finishDOMUpdate(){this._connected&&(this._children.forEach((t=>this._childrenRO.observe(t))),this._checkScrollIntoViewTarget(this._childrenPos),this._positionChildren(this._childrenPos),this._sizeHostElement(this._scrollSize),this._correctScrollError(),this._benchmarkStart&&"mark"in window.performance&&window.performance.mark("uv-end"))}_updateLayout(){this._layout&&this._connected&&(this._layout.items=this._items,this._updateView(),null!==this._childMeasurements&&(this._measureCallback&&this._measureCallback(this._childMeasurements),this._childMeasurements=null),this._layout.reflowIfNeeded(),this._benchmarkStart&&"mark"in window.performance&&window.performance.mark("uv-end"))}_handleScrollEvent(){if(this._benchmarkStart&&"mark"in window.performance){try{window.performance.measure("uv-virtualizing","uv-start","uv-end")}catch(t){console.warn("Error measuring performance data: ",t)}window.performance.mark("uv-start")}!1===this._scrollerController.correctingScrollError&&this._layout?.unpin(),this._schedule(this._updateLayout)}handleEvent(t){if("scroll"===t.type)(t.currentTarget===window||this._clippingAncestors.includes(t.currentTarget))&&this._handleScrollEvent();else console.warn("event not handled",t)}_handleLayoutMessage(t){"stateChanged"===t.type?this._updateDOM(t):"visibilityChanged"===t.type?(this._firstVisible=t.firstVisible,this._lastVisible=t.lastVisible,this._notifyVisibility()):"unpinned"===t.type&&this._hostElement.dispatchEvent(new w)}get _children(){const t=[];let i=this._hostElement.firstElementChild;for(;i;)i.hasAttribute(b)||t.push(i),i=i.nextElementSibling;return t}_updateView(){const t=this._hostElement,i=this._scrollerController?.element,s=this._layout;if(t&&i&&s){let h,e,n,o;const l=t.getBoundingClientRect();h=0,e=0,n=window.innerHeight,o=window.innerWidth;const r=this._clippingAncestors.map((t=>t.getBoundingClientRect()));r.unshift(l);for(const t of r)h=Math.max(h,t.top),e=Math.max(e,t.left),n=Math.min(n,t.bottom),o=Math.min(o,t.right);const u=i.getBoundingClientRect(),a={left:l.left-u.left,top:l.top-u.top},c={width:i.scrollWidth,height:i.scrollHeight},d=h-l.top+t.scrollTop,p=e-l.left+t.scrollLeft,m=Math.max(0,n-h),f=Math.max(0,o-e);s.viewportSize={width:f,height:m},s.viewportScroll={top:d,left:p},s.totalScrollSize=c,s.offsetWithinScroller=a}}_sizeHostElement(t){const i=82e5,s=t&&null!==t.width?Math.min(i,t.width):0,h=t&&null!==t.height?Math.min(i,t.height):0;if(this._isScroller)this._getSizer().style.transform=`translate(${s}px, ${h}px)`;else{const t=this._hostElement.style;t.minWidth=s?`${s}px`:"100%",t.minHeight=h?`${h}px`:"100%"}}_positionChildren(t){t&&t.forEach((({top:t,left:i,width:s,height:h,xOffset:e,yOffset:n},o)=>{const l=this._children[o-this._first];l&&(l.style.position="absolute",l.style.boxSizing="border-box",l.style.transform=`translate(${i}px, ${t}px)`,void 0!==s&&(l.style.width=s+"px"),void 0!==h&&(l.style.height=h+"px"),l.style.left=void 0===e?null:e+"px",l.style.top=void 0===n?null:n+"px")}))}async _adjustRange(t){const{_first:i,_last:s,_firstVisible:h,_lastVisible:e}=this;this._first=t.first,this._last=t.last,this._firstVisible=t.firstVisible,this._lastVisible=t.lastVisible,this._rangeChanged=this._rangeChanged||this._first!==i||this._last!==s,this._visibilityChanged=this._visibilityChanged||this._firstVisible!==h||this._lastVisible!==e}_correctScrollError(){if(this._scrollError){const{scrollTop:t,scrollLeft:i}=this._scrollerController,{top:s,left:h}=this._scrollError;this._scrollError=null,this._scrollerController.correctScrollError({top:t-s,left:i-h})}}element(t){return t===1/0&&(t=this._items.length-1),void 0===this._items?.[t]?void 0:{scrollIntoView:(i={})=>this._scrollElementIntoView({...i,index:t})}}_scrollElementIntoView(t){if(t.index>=this._first&&t.index<=this._last)this._children[t.index-this._first].scrollIntoView(t);else if(t.index=Math.min(t.index,this._items.length-1),"smooth"===t.behavior){const i=this._layout.getScrollIntoViewCoordinates(t),{behavior:s}=t;this._updateScrollIntoViewCoordinates=this._scrollerController.managedScrollTo(Object.assign(i,{behavior:s}),(()=>this._layout.getScrollIntoViewCoordinates(t)),(()=>this._scrollIntoViewTarget=null)),this._scrollIntoViewTarget=t}else this._layout.pin=t}_checkScrollIntoViewTarget(t){const{index:i}=this._scrollIntoViewTarget||{};i&&t?.has(i)&&this._updateScrollIntoViewCoordinates(this._layout.getScrollIntoViewCoordinates(this._scrollIntoViewTarget))}_notifyRange(){this._hostElement.dispatchEvent(new m({first:this._first,last:this._last}))}_notifyVisibility(){this._hostElement.dispatchEvent(new f({first:this._firstVisible,last:this._lastVisible}))}get layoutComplete(){return this._layoutCompletePromise||(this._layoutCompletePromise=new Promise(((t,i)=>{this._layoutCompleteResolver=t,this._layoutCompleteRejecter=i}))),this._layoutCompletePromise}_rejectLayoutCompletePromise(t){null!==this._layoutCompleteRejecter&&this._layoutCompleteRejecter(t),this._resetLayoutCompleteState()}_scheduleLayoutComplete(){this._layoutCompletePromise&&null===this._pendingLayoutComplete&&(this._pendingLayoutComplete=requestAnimationFrame((()=>requestAnimationFrame((()=>this._resolveLayoutCompletePromise())))))}_resolveLayoutCompletePromise(){null!==this._layoutCompleteResolver&&this._layoutCompleteResolver(),this._resetLayoutCompleteState()}_resetLayoutCompleteState(){this._layoutCompletePromise=null,this._layoutCompleteResolver=null,this._layoutCompleteRejecter=null,this._pendingLayoutComplete=null}_hostElementSizeChanged(){this._schedule(this._updateLayout)}_childLoaded(){}_childrenSizeChanged(t){if(this._layout?.measureChildren){for(const i of t)this._toBeMeasured.set(i.target,i.contentRect);this._measureChildren()}this._scheduleLayoutComplete(),this._itemsChanged=!1,this._rangeChanged=!1}}function M(t){const i=t?parseFloat(t):NaN;return Number.isNaN(i)?0:i}function C(t){if(null!==t.assignedSlot)return t.assignedSlot;if(null!==t.parentElement)return t.parentElement;const i=t.parentNode;return i&&i.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&i.host||null}const $=a(class extends d{constructor(t){if(super(t),this._virtualizer=null,this._first=0,this._last=-1,this._renderItem=(t,i)=>((t,i)=>s`${i}: ${JSON.stringify(t,null,2)}`)(t,i+this._first),this._keyFunction=(t,i)=>(t=>t)(t,this._first),this._items=[],t.type!==c.CHILD)throw new Error("The virtualize directive can only be used in child expressions")}render(t){t&&this._setFunctions(t);const i=[];if(this._first>=0&&this._last>=this._first)for(let t=this._first;t<=this._last;t++)i.push(this._items[t]);return p(i,this._keyFunction,this._renderItem)}update(t,[s]){this._setFunctions(s);const h=this._items!==s.items;return this._items=s.items||[],this._virtualizer?this._updateVirtualizerConfig(t,s):this._initialize(t,s),h?i:this.render()}async _updateVirtualizerConfig(t,i){if(!await this._virtualizer.updateLayoutConfig(i.layout||{})){const s=t.parentNode;this._makeVirtualizer(s,i)}this._virtualizer.items=this._items}_setFunctions(t){const{renderItem:i,keyFunction:s}=t;i&&(this._renderItem=(t,s)=>i(t,s+this._first)),s&&(this._keyFunction=(t,i)=>s(t,i+this._first))}_makeVirtualizer(t,i){this._virtualizer&&this._virtualizer.disconnected();const{layout:s,scroller:h,items:e}=i;this._virtualizer=new S({hostElement:t,layout:s,scroller:h}),this._virtualizer.items=e,this._virtualizer.connected()}_initialize(t,i){const s=t.parentNode;s&&1===s.nodeType&&(s.addEventListener("rangeChanged",(t=>{this._first=t.first,this._last=t.last,this.setValue(this.render())})),this._makeVirtualizer(s,i))}disconnected(){this._virtualizer?.disconnected()}reconnected(){this._virtualizer?.connected()}});let z=class extends u{constructor(){super(...arguments),this.disabled=!1,this.isDropdownOpen=!1,this.enableVirtualScroll=!1,this.openOnFocus=!1,this.value="",this.placeholder="Type here ..",this.noBorder=!1,this.loading=!1,this.filterFunction=(t,i)=>t.toLowerCase().includes(i.toLowerCase()),this.renderItemFunction=t=>t,this.allMenuItems=[],this.menuItems=[]}connectedCallback(){super.connectedCallback(),this.renderItemFunction=t=>t}updated(t){super.updated(t),t.has("allMenuItems")&&(this.menuItems=this.applyFilter(this.allMenuItems,this.filterFunction),this.setVirtualMenuWidth()),t.has("isDropdownOpen")&&(this.menuItems=this.applyFilter(this.allMenuItems,this.filterFunction)),t.has("value")&&(this.menuItems=this.applyFilter(this.allMenuItems,this.filterFunction))}render(){const t=this.enableVirtualScroll?this.getVirtualizedContent():this.getContent();return s`
|
2
23
|
<nile-dropdown class="nile-dropdown--input" ?open=${this.isDropdownOpen} noOpenOnCLick>
|
3
24
|
<nile-input class="nile-auto-complete--input"
|
4
25
|
?no-border=${this.noBorder}
|
@@ -10,19 +31,19 @@ import{__decorate as t}from"tslib";import{html as e,nothing as i}from"lit";impor
|
|
10
31
|
slot="trigger"
|
11
32
|
placeholder=${this.placeholder}
|
12
33
|
>
|
13
|
-
${this.loading?
|
34
|
+
${this.loading?s`<nile-icon slot="suffix" color="var(--nile-colors-primary-600)" name="button-loading-blue-animated"></nile-icon>`:h}
|
14
35
|
</nile-input>
|
15
|
-
${this.menuItems.length>0&&!this.loading?t:
|
36
|
+
${this.menuItems.length>0&&!this.loading?t:h}
|
16
37
|
</nile-dropdown>
|
17
|
-
`}getVirtualizedContent(){return
|
38
|
+
`}getVirtualizedContent(){return s`
|
18
39
|
<nile-menu class="virtualized__menu" @nile-select=${this.handleSelect} id="content-menu" exportparts="menu__items-wrapper:options__wrapper">
|
19
|
-
${
|
40
|
+
${$({items:this.menuItems,renderItem:t=>this.getItemRenderFunction(t),scroller:!0})}
|
20
41
|
</nile-menu>
|
21
|
-
`}getContent(){return
|
42
|
+
`}getContent(){return s`
|
22
43
|
<nile-menu id="content-menu" @nile-select=${this.handleSelect} exportparts="menu__items-wrapper:options__wrapper">
|
23
44
|
${this.menuItems.map((t=>this.getItemRenderFunction(t)))}
|
24
|
-
</nile-menu>`}getItemRenderFunction(t){const i=this.renderItemFunction(t);return
|
45
|
+
</nile-menu>`}getItemRenderFunction(t){const i=this.renderItemFunction(t);return s`
|
25
46
|
<nile-menu-item value=${i}>
|
26
47
|
${i}
|
27
48
|
</nile-menu-item>
|
28
|
-
`}handleSelect(t){this.value=t.detail.value,this.emit("nile-complete",{value:t.detail.value}),this.isDropdownOpen=!1,this.dropdownElement?.hide()}setVirtualMenuWidth(){const t=this.menuItems.reduce(((t,
|
49
|
+
`}handleSelect(t){this.value=t.detail.value,this.emit("nile-complete",{value:t.detail.value}),this.isDropdownOpen=!1,this.dropdownElement?.hide()}setVirtualMenuWidth(){const t=this.menuItems.reduce(((t,i)=>{const s=this.renderItemFunction(i).length;return t>s?t:s}),0),i=9.5*t<110?110:9.5*t;this.style.setProperty("--virtual-scroll-container-width",i+"px")}handleSearch(t){this.value=t.detail.value.toLowerCase(),this.menuItems=this.applyFilter(this.allMenuItems,this.filterFunction),this.isDropdownOpen=this.menuItems.length>0,this.isDropdownOpen&&this.dropdownElement?.show()}handleFocus(){this.openOnFocus&&setTimeout((()=>{this.isDropdownOpen=!0,this.dropdownElement?.show()}),300)}handleClick(){this.isDropdownOpen=!0,this.dropdownElement?.show()}applyFilter(t,i){if("object"!=typeof t)return[];const s=[];return t.forEach((t=>i(t,this.value)&&s.push(t))),s}};z.styles=r,t([e("nile-dropdown")],z.prototype,"dropdownElement",void 0),t([n({type:Boolean})],z.prototype,"disabled",void 0),t([n({type:Boolean})],z.prototype,"isDropdownOpen",void 0),t([n({type:Boolean})],z.prototype,"enableVirtualScroll",void 0),t([n({type:Boolean})],z.prototype,"openOnFocus",void 0),t([n({type:String})],z.prototype,"value",void 0),t([n({type:String})],z.prototype,"placeholder",void 0),t([n({type:Boolean})],z.prototype,"noBorder",void 0),t([n({type:Boolean})],z.prototype,"loading",void 0),t([n({attribute:!1})],z.prototype,"filterFunction",void 0),t([n({attribute:!1})],z.prototype,"renderItemFunction",void 0),t([n({type:Array})],z.prototype,"allMenuItems",void 0),t([o()],z.prototype,"menuItems",void 0),z=t([l("nile-auto-complete")],z);export{z as N};
|
@@ -1,2 +1,2 @@
|
|
1
|
-
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["../fixture-fe6c932e.cjs.js","lit/static-html.js","lit/html.js","lit/directive-helpers.js","lit","lit/directives/unsafe-html.js","./nile-auto-complete.cjs.js","tslib","lit/decorators.js","./nile-auto-complete.css.cjs.js","../internal/nile-element.cjs.js","../virtualize-b6a2fbe0.cjs.js","lit/directive.js","lit/async-directive.js","lit/directives/repeat.js"],function(_export,_context){"use strict";var e,t,i,o,l,_templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,_templateObject6,_templateObject7;function _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */_regeneratorRuntime=function _regeneratorRuntime(){return e;};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value;},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function define(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e];}try{define({},"");}catch(t){define=function define(t,e,r){return t[e]=r;};}function wrap(t,e,r,n){var i=e&&e.prototype instanceof Generator?e:Generator,a=Object.create(i.prototype),c=new Context(n||[]);return o(a,"_invoke",{value:makeInvokeMethod(t,r,c)}),a;}function tryCatch(t,e,r){try{return{type:"normal",arg:t.call(e,r)};}catch(t){return{type:"throw",arg:t};}}e.wrap=wrap;var h="suspendedStart",l="suspendedYield",f="executing",s="completed",y={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var p={};define(p,a,function(){return this;});var d=Object.getPrototypeOf,v=d&&d(d(values([])));v&&v!==r&&n.call(v,a)&&(p=v);var g=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(p);function defineIteratorMethods(t){["next","throw","return"].forEach(function(e){define(t,e,function(t){return this._invoke(e,t);});});}function AsyncIterator(t,e){function invoke(r,o,i,a){var c=tryCatch(t[r],t,o);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==_typeof(h)&&n.call(h,"__await")?e.resolve(h.__await).then(function(t){invoke("next",t,i,a);},function(t){invoke("throw",t,i,a);}):e.resolve(h).then(function(t){u.value=t,i(u);},function(t){return invoke("throw",t,i,a);});}a(c.arg);}var r;o(this,"_invoke",{value:function value(t,n){function callInvokeWithMethodAndArg(){return new e(function(e,r){invoke(t,n,e,r);});}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg();}});}function makeInvokeMethod(e,r,n){var o=h;return function(i,a){if(o===f)throw Error("Generator is already running");if(o===s){if("throw"===i)throw a;return{value:t,done:!0};}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=maybeInvokeDelegate(c,n);if(u){if(u===y)continue;return u;}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=s,n.arg;n.dispatchException(n.arg);}else"return"===n.method&&n.abrupt("return",n.arg);o=f;var p=tryCatch(e,r,n);if("normal"===p.type){if(o=n.done?s:l,p.arg===y)continue;return{value:p.arg,done:n.done};}"throw"===p.type&&(o=s,n.method="throw",n.arg=p.arg);}};}function maybeInvokeDelegate(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator["return"]&&(r.method="return",r.arg=t,maybeInvokeDelegate(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=tryCatch(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y);}function pushTryEntry(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e);}function resetTryEntry(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e;}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0);}function values(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function next(){for(;++o<e.length;)if(n.call(e,o))return next.value=e[o],next.done=!1,next;return next.value=t,next.done=!0,next;};return i.next=i;}}throw new TypeError(_typeof(e)+" is not iterable");}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(g,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===GeneratorFunction||"GeneratorFunction"===(e.displayName||e.name));},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,u,"GeneratorFunction")),t.prototype=Object.create(g),t;},e.awrap=function(t){return{__await:t};},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,c,function(){return this;}),e.AsyncIterator=AsyncIterator,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new AsyncIterator(wrap(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next();});},defineIteratorMethods(g),define(g,u,"Generator"),define(g,a,function(){return this;}),define(g,"toString",function(){return"[object Generator]";}),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in e)return next.value=t,next.done=!1,next;}return next.done=!0,next;};},e.values=values,Context.prototype={constructor:Context,reset:function reset(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t);},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval;},dispatchException:function dispatchException(e){if(this.done)throw e;var r=this;function handle(n,o){return a.type="throw",a.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o;}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return handle("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}else if(c){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}}}},abrupt:function abrupt(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break;}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a);},complete:function complete(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y;},finish:function finish(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),y;}},"catch":function _catch(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;resetTryEntry(r);}return o;}}throw Error("illegal catch attempt");},delegateYield:function delegateYield(e,r,n){return this.delegate={iterator:values(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y;}},e;}function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value;}catch(n){return void e(n);}i.done?t(u):Promise.resolve(u).then(r,o);}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n);}function _throw(n){asyncGeneratorStep(a,r,o,_next,_throw,"throw",n);}_next(void 0);});};}return{setters:[function(_fixture002CjsJs){e=_fixture002CjsJs.f;t=_fixture002CjsJs.a;i=_fixture002CjsJs.e;},function(_litStaticHtmlJs){o=_litStaticHtmlJs.html;},function(_litHtmlJs){},function(_litDirectiveHelpersJs){},function(_lit){},function(_litDirectivesUnsafeHtmlJs){},function(_nileAutoCompleteCjsJs){l=_nileAutoCompleteCjsJs.N;},function(_tslib){},function(_litDecoratorsJs){},function(_nileAutoCompleteCssCjsJs){},function(_internalNileElementCjsJs){},function(_virtualize001CjsJs){},function(_litDirectiveJs){},function(_litAsyncDirectiveJs){},function(_litDirectivesRepeatJs){}],execute:function execute(){describe("NileAutoComplete",function(){it("should render correctly",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){var i;return _regeneratorRuntime().wrap(function _callee$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=2;return e(o(_templateObject||(_templateObject=_taggedTemplateLiteral(["<nile-auto-complete></nile-auto-complete>"]))));case 2:i=_context2.sent;t(i).to.be.instanceOf(l),t(i.shadowRoot).not.to.be["null"];case 4:case"end":return _context2.stop();}},_callee);}))),it("should have an empty value and dropdown closed by default",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(){var i;return _regeneratorRuntime().wrap(function _callee2$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=2;return e(o(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["<nile-auto-complete></nile-auto-complete>"]))));case 2:i=_context3.sent;t(i.value).to.equal(""),t(i.isDropdownOpen).to.be["false"];case 4:case"end":return _context3.stop();}},_callee2);}))),it("should close the dropdown if no items match the search",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(){var _l$shadowRoot;var l,a;return _regeneratorRuntime().wrap(function _callee3$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return e(o(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["\n <nile-auto-complete .allMenuItems=","></nile-auto-complete>\n "])),["Apple","Banana","Cherry"]));case 2:l=_context4.sent;a=(_l$shadowRoot=l.shadowRoot)===null||_l$shadowRoot===void 0?void 0:_l$shadowRoot.querySelector("nile-input");a!==null&&a!==void 0&&a.dispatchEvent(new CustomEvent("nile-input",{detail:{value:"Orange"}}));_context4.next=7;return i(l);case 7:t(l.menuItems).to.deep.equal([]);t(l.isDropdownOpen).to.be["false"];case 9:case"end":return _context4.stop();}},_callee3);}))),it("should apply the placeholder text to the input",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(){var _i$shadowRoot;var i,l;return _regeneratorRuntime().wrap(function _callee4$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:_context5.next=2;return e(o(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["\n <nile-auto-complete placeholder=\"Search items...\"></nile-auto-complete>\n "]))));case 2:i=_context5.sent;l=(_i$shadowRoot=i.shadowRoot)===null||_i$shadowRoot===void 0?void 0:_i$shadowRoot.querySelector("nile-input");t(l===null||l===void 0?void 0:l.getAttribute("placeholder")).to.equal("Search items...");case 5:case"end":return _context5.stop();}},_callee4);}))),it("should toggle border visibility based on the noBorder property",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(){var _l$shadowRoot2;var l,a;return _regeneratorRuntime().wrap(function _callee5$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:_context6.next=2;return e(o(_templateObject5||(_templateObject5=_taggedTemplateLiteral(["\n <nile-auto-complete noBorder></nile-auto-complete>\n "]))));case 2:l=_context6.sent;a=(_l$shadowRoot2=l.shadowRoot)===null||_l$shadowRoot2===void 0?void 0:_l$shadowRoot2.querySelector("nile-input");t(a===null||a===void 0?void 0:a.hasAttribute("no-border")).to.be["true"];l.noBorder=!1;_context6.next=8;return i(l);case 8:t(a===null||a===void 0?void 0:a.hasAttribute("no-border")).to.be["false"];case 9:case"end":return _context6.stop();}},_callee5);}))),it("should handle an empty list of menu items",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(){var _l$shadowRoot3;var l,a;return _regeneratorRuntime().wrap(function _callee6$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:_context7.next=2;return e(o(_templateObject6||(_templateObject6=_taggedTemplateLiteral(["<nile-auto-complete .allMenuItems=","></nile-auto-complete>"])),[]));case 2:l=_context7.sent;a=(_l$shadowRoot3=l.shadowRoot)===null||_l$shadowRoot3===void 0?void 0:_l$shadowRoot3.querySelector("nile-input");a!==null&&a!==void 0&&a.dispatchEvent(new CustomEvent("nile-input",{detail:{value:"test"}}));_context7.next=7;return i(l);case 7:t(l.menuItems.length).to.equal(0);t(l.isDropdownOpen).to.be["false"];case 9:case"end":return _context7.stop();}},_callee6);}))),it("should hide the dropdown when no results are found",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(){var _l$shadowRoot4;var l,a;return _regeneratorRuntime().wrap(function _callee7$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:_context8.next=2;return e(o(_templateObject7||(_templateObject7=_taggedTemplateLiteral(["\n <nile-auto-complete .allMenuItems=","></nile-auto-complete>\n "])),["Apple","Banana","Cherry"]));case 2:l=_context8.sent;a=(_l$shadowRoot4=l.shadowRoot)===null||_l$shadowRoot4===void 0?void 0:_l$shadowRoot4.querySelector("nile-input");a!==null&&a!==void 0&&a.dispatchEvent(new CustomEvent("nile-input",{detail:{value:"NonMatchingValue"}}));_context8.next=7;return i(l);case 7:t(l.isDropdownOpen).to.be["false"];t(l.menuItems.length).to.equal(0);case 9:case"end":return _context8.stop();}},_callee7);})));});}};});
|
1
|
+
function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["../fixture-fe6c932e.cjs.js","lit/static-html.js","lit/html.js","lit/directive-helpers.js","lit","lit/directives/unsafe-html.js","./nile-auto-complete.cjs.js","tslib","lit/decorators.js","./nile-auto-complete.css.cjs.js","../internal/nile-element.cjs.js","lit/directive.js","lit/async-directive.js","lit/directives/repeat.js"],function(_export,_context){"use strict";var e,t,i,o,l,_templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,_templateObject6,_templateObject7;function _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */_regeneratorRuntime=function _regeneratorRuntime(){return e;};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value;},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function define(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e];}try{define({},"");}catch(t){define=function define(t,e,r){return t[e]=r;};}function wrap(t,e,r,n){var i=e&&e.prototype instanceof Generator?e:Generator,a=Object.create(i.prototype),c=new Context(n||[]);return o(a,"_invoke",{value:makeInvokeMethod(t,r,c)}),a;}function tryCatch(t,e,r){try{return{type:"normal",arg:t.call(e,r)};}catch(t){return{type:"throw",arg:t};}}e.wrap=wrap;var h="suspendedStart",l="suspendedYield",f="executing",s="completed",y={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var p={};define(p,a,function(){return this;});var d=Object.getPrototypeOf,v=d&&d(d(values([])));v&&v!==r&&n.call(v,a)&&(p=v);var g=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(p);function defineIteratorMethods(t){["next","throw","return"].forEach(function(e){define(t,e,function(t){return this._invoke(e,t);});});}function AsyncIterator(t,e){function invoke(r,o,i,a){var c=tryCatch(t[r],t,o);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==_typeof(h)&&n.call(h,"__await")?e.resolve(h.__await).then(function(t){invoke("next",t,i,a);},function(t){invoke("throw",t,i,a);}):e.resolve(h).then(function(t){u.value=t,i(u);},function(t){return invoke("throw",t,i,a);});}a(c.arg);}var r;o(this,"_invoke",{value:function value(t,n){function callInvokeWithMethodAndArg(){return new e(function(e,r){invoke(t,n,e,r);});}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg();}});}function makeInvokeMethod(e,r,n){var o=h;return function(i,a){if(o===f)throw Error("Generator is already running");if(o===s){if("throw"===i)throw a;return{value:t,done:!0};}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=maybeInvokeDelegate(c,n);if(u){if(u===y)continue;return u;}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=s,n.arg;n.dispatchException(n.arg);}else"return"===n.method&&n.abrupt("return",n.arg);o=f;var p=tryCatch(e,r,n);if("normal"===p.type){if(o=n.done?s:l,p.arg===y)continue;return{value:p.arg,done:n.done};}"throw"===p.type&&(o=s,n.method="throw",n.arg=p.arg);}};}function maybeInvokeDelegate(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator["return"]&&(r.method="return",r.arg=t,maybeInvokeDelegate(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=tryCatch(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y);}function pushTryEntry(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e);}function resetTryEntry(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e;}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0);}function values(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function next(){for(;++o<e.length;)if(n.call(e,o))return next.value=e[o],next.done=!1,next;return next.value=t,next.done=!0,next;};return i.next=i;}}throw new TypeError(_typeof(e)+" is not iterable");}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(g,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===GeneratorFunction||"GeneratorFunction"===(e.displayName||e.name));},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,u,"GeneratorFunction")),t.prototype=Object.create(g),t;},e.awrap=function(t){return{__await:t};},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,c,function(){return this;}),e.AsyncIterator=AsyncIterator,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new AsyncIterator(wrap(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next();});},defineIteratorMethods(g),define(g,u,"Generator"),define(g,a,function(){return this;}),define(g,"toString",function(){return"[object Generator]";}),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in e)return next.value=t,next.done=!1,next;}return next.done=!0,next;};},e.values=values,Context.prototype={constructor:Context,reset:function reset(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t);},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval;},dispatchException:function dispatchException(e){if(this.done)throw e;var r=this;function handle(n,o){return a.type="throw",a.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o;}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return handle("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}else if(c){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}}}},abrupt:function abrupt(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break;}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a);},complete:function complete(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y;},finish:function finish(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),y;}},"catch":function _catch(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;resetTryEntry(r);}return o;}}throw Error("illegal catch attempt");},delegateYield:function delegateYield(e,r,n){return this.delegate={iterator:values(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y;}},e;}function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value;}catch(n){return void e(n);}i.done?t(u):Promise.resolve(u).then(r,o);}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n);}function _throw(n){asyncGeneratorStep(a,r,o,_next,_throw,"throw",n);}_next(void 0);});};}return{setters:[function(_fixture001CjsJs){e=_fixture001CjsJs.f;t=_fixture001CjsJs.a;i=_fixture001CjsJs.e;},function(_litStaticHtmlJs){o=_litStaticHtmlJs.html;},function(_litHtmlJs){},function(_litDirectiveHelpersJs){},function(_lit){},function(_litDirectivesUnsafeHtmlJs){},function(_nileAutoCompleteCjsJs){l=_nileAutoCompleteCjsJs.N;},function(_tslib){},function(_litDecoratorsJs){},function(_nileAutoCompleteCssCjsJs){},function(_internalNileElementCjsJs){},function(_litDirectiveJs){},function(_litAsyncDirectiveJs){},function(_litDirectivesRepeatJs){}],execute:function execute(){describe("NileAutoComplete",function(){it("should render correctly",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){var i;return _regeneratorRuntime().wrap(function _callee$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=2;return e(o(_templateObject||(_templateObject=_taggedTemplateLiteral(["<nile-auto-complete></nile-auto-complete>"]))));case 2:i=_context2.sent;t(i).to.be.instanceOf(l),t(i.shadowRoot).not.to.be["null"];case 4:case"end":return _context2.stop();}},_callee);}))),it("should have an empty value and dropdown closed by default",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(){var i;return _regeneratorRuntime().wrap(function _callee2$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=2;return e(o(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["<nile-auto-complete></nile-auto-complete>"]))));case 2:i=_context3.sent;t(i.value).to.equal(""),t(i.isDropdownOpen).to.be["false"];case 4:case"end":return _context3.stop();}},_callee2);}))),it("should close the dropdown if no items match the search",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(){var _l$shadowRoot;var l,a;return _regeneratorRuntime().wrap(function _callee3$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return e(o(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["\n <nile-auto-complete .allMenuItems=","></nile-auto-complete>\n "])),["Apple","Banana","Cherry"]));case 2:l=_context4.sent;a=(_l$shadowRoot=l.shadowRoot)===null||_l$shadowRoot===void 0?void 0:_l$shadowRoot.querySelector("nile-input");a!==null&&a!==void 0&&a.dispatchEvent(new CustomEvent("nile-input",{detail:{value:"Orange"}}));_context4.next=7;return i(l);case 7:t(l.menuItems).to.deep.equal([]);t(l.isDropdownOpen).to.be["false"];case 9:case"end":return _context4.stop();}},_callee3);}))),it("should apply the placeholder text to the input",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(){var _i$shadowRoot;var i,l;return _regeneratorRuntime().wrap(function _callee4$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:_context5.next=2;return e(o(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["\n <nile-auto-complete placeholder=\"Search items...\"></nile-auto-complete>\n "]))));case 2:i=_context5.sent;l=(_i$shadowRoot=i.shadowRoot)===null||_i$shadowRoot===void 0?void 0:_i$shadowRoot.querySelector("nile-input");t(l===null||l===void 0?void 0:l.getAttribute("placeholder")).to.equal("Search items...");case 5:case"end":return _context5.stop();}},_callee4);}))),it("should toggle border visibility based on the noBorder property",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(){var _l$shadowRoot2;var l,a;return _regeneratorRuntime().wrap(function _callee5$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:_context6.next=2;return e(o(_templateObject5||(_templateObject5=_taggedTemplateLiteral(["\n <nile-auto-complete noBorder></nile-auto-complete>\n "]))));case 2:l=_context6.sent;a=(_l$shadowRoot2=l.shadowRoot)===null||_l$shadowRoot2===void 0?void 0:_l$shadowRoot2.querySelector("nile-input");t(a===null||a===void 0?void 0:a.hasAttribute("no-border")).to.be["true"];l.noBorder=!1;_context6.next=8;return i(l);case 8:t(a===null||a===void 0?void 0:a.hasAttribute("no-border")).to.be["false"];case 9:case"end":return _context6.stop();}},_callee5);}))),it("should handle an empty list of menu items",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(){var _l$shadowRoot3;var l,a;return _regeneratorRuntime().wrap(function _callee6$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:_context7.next=2;return e(o(_templateObject6||(_templateObject6=_taggedTemplateLiteral(["<nile-auto-complete .allMenuItems=","></nile-auto-complete>"])),[]));case 2:l=_context7.sent;a=(_l$shadowRoot3=l.shadowRoot)===null||_l$shadowRoot3===void 0?void 0:_l$shadowRoot3.querySelector("nile-input");a!==null&&a!==void 0&&a.dispatchEvent(new CustomEvent("nile-input",{detail:{value:"test"}}));_context7.next=7;return i(l);case 7:t(l.menuItems.length).to.equal(0);t(l.isDropdownOpen).to.be["false"];case 9:case"end":return _context7.stop();}},_callee6);}))),it("should hide the dropdown when no results are found",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(){var _l$shadowRoot4;var l,a;return _regeneratorRuntime().wrap(function _callee7$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:_context8.next=2;return e(o(_templateObject7||(_templateObject7=_taggedTemplateLiteral(["\n <nile-auto-complete .allMenuItems=","></nile-auto-complete>\n "])),["Apple","Banana","Cherry"]));case 2:l=_context8.sent;a=(_l$shadowRoot4=l.shadowRoot)===null||_l$shadowRoot4===void 0?void 0:_l$shadowRoot4.querySelector("nile-input");a!==null&&a!==void 0&&a.dispatchEvent(new CustomEvent("nile-input",{detail:{value:"NonMatchingValue"}}));_context8.next=7;return i(l);case 7:t(l.isDropdownOpen).to.be["false"];t(l.menuItems.length).to.equal(0);case 9:case"end":return _context8.stop();}},_callee7);})));});}};});
|
2
2
|
//# sourceMappingURL=nile-auto-complete.test.cjs.js.map
|