@aquera/nile-elements 0.1.26 → 0.1.28-beta-1.1

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.
Files changed (86) hide show
  1. package/README.md +6 -0
  2. package/demo/index.html +0 -97
  3. package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
  4. package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
  5. package/dist/nile-auto-complete/nile-auto-complete.esm.js +1 -1
  6. package/dist/nile-circular-progressbar/nile-circular-progressbar.cjs.js +1 -1
  7. package/dist/nile-circular-progressbar/nile-circular-progressbar.cjs.js.map +1 -1
  8. package/dist/nile-circular-progressbar/nile-circular-progressbar.css.cjs.js +1 -1
  9. package/dist/nile-circular-progressbar/nile-circular-progressbar.css.cjs.js.map +1 -1
  10. package/dist/nile-circular-progressbar/nile-circular-progressbar.css.esm.js +23 -5
  11. package/dist/nile-circular-progressbar/nile-circular-progressbar.esm.js +22 -15
  12. package/dist/nile-progress-bar/nile-progress-bar.cjs.js +1 -1
  13. package/dist/nile-progress-bar/nile-progress-bar.cjs.js.map +1 -1
  14. package/dist/nile-progress-bar/nile-progress-bar.css.cjs.js +1 -1
  15. package/dist/nile-progress-bar/nile-progress-bar.css.cjs.js.map +1 -1
  16. package/dist/nile-progress-bar/nile-progress-bar.css.esm.js +15 -3
  17. package/dist/nile-progress-bar/nile-progress-bar.esm.js +3 -3
  18. package/dist/nile-stepper/nile-stepper.cjs.js +1 -1
  19. package/dist/nile-stepper/nile-stepper.cjs.js.map +1 -1
  20. package/dist/nile-stepper/nile-stepper.css.cjs.js +1 -1
  21. package/dist/nile-stepper/nile-stepper.css.cjs.js.map +1 -1
  22. package/dist/nile-stepper/nile-stepper.css.esm.js +8 -2
  23. package/dist/nile-stepper/nile-stepper.esm.js +3 -3
  24. package/dist/nile-stepper-item/nile-stepper-item.cjs.js +1 -1
  25. package/dist/nile-stepper-item/nile-stepper-item.cjs.js.map +1 -1
  26. package/dist/nile-stepper-item/nile-stepper-item.css.cjs.js +1 -1
  27. package/dist/nile-stepper-item/nile-stepper-item.css.cjs.js.map +1 -1
  28. package/dist/nile-stepper-item/nile-stepper-item.css.esm.js +37 -16
  29. package/dist/nile-stepper-item/nile-stepper-item.esm.js +20 -17
  30. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  31. package/dist/nile-tab-group/nile-tab-group.css.cjs.js +1 -1
  32. package/dist/nile-tab-group/nile-tab-group.css.cjs.js.map +1 -1
  33. package/dist/nile-tab-group/nile-tab-group.css.esm.js +3 -3
  34. package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.cjs.js +1 -1
  35. package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.cjs.js.map +1 -1
  36. package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.css.cjs.js +1 -1
  37. package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.css.cjs.js.map +1 -1
  38. package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.css.esm.js +28 -14
  39. package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.esm.js +11 -13
  40. package/dist/src/nile-auto-complete/nile-auto-complete.js +0 -1
  41. package/dist/src/nile-auto-complete/nile-auto-complete.js.map +1 -1
  42. package/dist/src/nile-circular-progressbar/nile-circular-progressbar.css.d.ts +5 -5
  43. package/dist/src/nile-circular-progressbar/nile-circular-progressbar.css.js +28 -10
  44. package/dist/src/nile-circular-progressbar/nile-circular-progressbar.css.js.map +1 -1
  45. package/dist/src/nile-circular-progressbar/nile-circular-progressbar.d.ts +3 -0
  46. package/dist/src/nile-circular-progressbar/nile-circular-progressbar.js +46 -20
  47. package/dist/src/nile-circular-progressbar/nile-circular-progressbar.js.map +1 -1
  48. package/dist/src/nile-progress-bar/nile-progress-bar.css.js +13 -1
  49. package/dist/src/nile-progress-bar/nile-progress-bar.css.js.map +1 -1
  50. package/dist/src/nile-progress-bar/nile-progress-bar.d.ts +1 -0
  51. package/dist/src/nile-progress-bar/nile-progress-bar.js +6 -1
  52. package/dist/src/nile-progress-bar/nile-progress-bar.js.map +1 -1
  53. package/dist/src/nile-stepper/nile-stepper.css.js +6 -0
  54. package/dist/src/nile-stepper/nile-stepper.css.js.map +1 -1
  55. package/dist/src/nile-stepper/nile-stepper.d.ts +2 -2
  56. package/dist/src/nile-stepper/nile-stepper.js +8 -8
  57. package/dist/src/nile-stepper/nile-stepper.js.map +1 -1
  58. package/dist/src/nile-stepper-item/nile-stepper-item.css.js +37 -16
  59. package/dist/src/nile-stepper-item/nile-stepper-item.css.js.map +1 -1
  60. package/dist/src/nile-stepper-item/nile-stepper-item.d.ts +5 -1
  61. package/dist/src/nile-stepper-item/nile-stepper-item.js +33 -14
  62. package/dist/src/nile-stepper-item/nile-stepper-item.js.map +1 -1
  63. package/dist/src/nile-tab-group/nile-tab-group.css.js +3 -3
  64. package/dist/src/nile-tab-group/nile-tab-group.css.js.map +1 -1
  65. package/dist/src/nile-tab-group/nile-tab-group.js.map +1 -1
  66. package/dist/src/nile-vertical-stepper-item/nile-vertical-stepper-item.css.js +28 -14
  67. package/dist/src/nile-vertical-stepper-item/nile-vertical-stepper-item.css.js.map +1 -1
  68. package/dist/src/nile-vertical-stepper-item/nile-vertical-stepper-item.d.ts +1 -0
  69. package/dist/src/nile-vertical-stepper-item/nile-vertical-stepper-item.js +10 -8
  70. package/dist/src/nile-vertical-stepper-item/nile-vertical-stepper-item.js.map +1 -1
  71. package/dist/tsconfig.tsbuildinfo +1 -1
  72. package/package.json +1 -1
  73. package/src/nile-auto-complete/nile-auto-complete.ts +0 -1
  74. package/src/nile-circular-progressbar/nile-circular-progressbar.css.ts +24 -6
  75. package/src/nile-circular-progressbar/nile-circular-progressbar.ts +39 -15
  76. package/src/nile-progress-bar/nile-progress-bar.css.ts +14 -2
  77. package/src/nile-progress-bar/nile-progress-bar.ts +4 -1
  78. package/src/nile-stepper/nile-stepper.css.ts +6 -0
  79. package/src/nile-stepper/nile-stepper.ts +11 -11
  80. package/src/nile-stepper-item/nile-stepper-item.css.ts +37 -16
  81. package/src/nile-stepper-item/nile-stepper-item.ts +34 -17
  82. package/src/nile-tab-group/nile-tab-group.css.ts +3 -3
  83. package/src/nile-tab-group/nile-tab-group.ts +1 -1
  84. package/src/nile-vertical-stepper-item/nile-vertical-stepper-item.css.ts +28 -14
  85. package/src/nile-vertical-stepper-item/nile-vertical-stepper-item.ts +12 -8
  86. package/vscode-html-custom-data.json +37 -6
@@ -1 +1 @@
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 = '&nbsp;';\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.emit('nile-input', { 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","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
+ {"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 = '&nbsp;';\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]}
@@ -46,4 +46,4 @@ class v{constructor(t){this._element=null;const i=t??window;this._node=i,t&&(thi
46
46
  <nile-menu-item value=${i}>
47
47
  ${i}
48
48
  </nile-menu-item>
49
- `}handleSelect(t){this.value=t.detail.value,this.emit("nile-complete",{value:t.detail.value}),this.emit("nile-input",{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};
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(["tslib","lit","lit/decorators.js","./nile-circular-progressbar.css.cjs.js","../internal/nile-element.cjs.js"],function(_export,_context){"use strict";var s,r,t,e,i,c,l,_templateObject,o;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _superPropGet(t,o,e,r){var p=_get(_getPrototypeOf(1&r?t.prototype:t),o,e);return 2&r&&"function"==typeof p?function(t){return p.apply(e,t);}:p;}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var p=_superPropBase(e,t);if(p){var n=Object.getOwnPropertyDescriptor(p,t);return n.get?n.get.call(arguments.length<3?e:r):n.value;}},_get.apply(null,arguments);}function _superPropBase(t,o){for(;!{}.hasOwnProperty.call(t,o)&&null!==(t=_getPrototypeOf(t)););return t;}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){s=_tslib.__decorate;},function(_lit){r=_lit.html;},function(_litDecoratorsJs){t=_litDecoratorsJs.query;e=_litDecoratorsJs.property;i=_litDecoratorsJs.customElement;},function(_nileCircularProgressbarCssCjsJs){c=_nileCircularProgressbarCssCjsJs.s;},function(_internalNileElementCjsJs){l=_internalNileElementCjsJs.N;}],execute:function execute(){_export("N",o=/*#__PURE__*/function(_l){function o(){var _this;_classCallCheck(this,o);_this=_callSuper(this,o,arguments),_this.progress=50;return _this;}_inherits(o,_l);return _createClass(o,[{key:"connectedCallback",value:function connectedCallback(){var _this2=this;_superPropGet(o,"connectedCallback",this,3)([]),this.updateComplete.then(function(){_this2.progress<0&&(_this2.progress=0),_this2.progress>100&&(_this2.progress=100),_this2.setProgress(_this2.progress);});}},{key:"setProgress",value:function setProgress(s){var r=2*this.progressCircle.r.baseVal.value*Math.PI;this.progressCircle.style.strokeDasharray=r,this.progressCircle.style.strokeDashoffset=r-s/100*r;}},{key:"render",value:function render(){return r(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <svg width=\"40\" height=\"40\">\n <circle r=\"19\" cx=\"20\" cy=\"20\" class=\"track\"></circle>\n <circle r=\"19\" cx=\"20\" cy=\"20\" class=\"progress\"></circle>\n <text\n x=\"50%\"\n y=\"50%\"\n text-anchor=\"middle\"\n alignment-baseline=\"middle\"\n class=\"circle__text\"\n >\n "," %\n </text>\n </svg>\n "])),this.progress);}}],[{key:"styles",get:function get(){return[c];}}]);}(l));s([t(".progress")],o.prototype,"progressCircle",void 0),s([e({type:Number,reflect:!0})],o.prototype,"progress",void 0),_export("N",o=s([i("nile-circular-progressbar")],o));}};});
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(["tslib","lit","lit/decorators.js","./nile-circular-progressbar.css.cjs.js","../internal/nile-element.cjs.js"],function(_export,_context){"use strict";var e,t,s,r,i,c,o,_templateObject,l;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _superPropGet(t,o,e,r){var p=_get(_getPrototypeOf(1&r?t.prototype:t),o,e);return 2&r&&"function"==typeof p?function(t){return p.apply(e,t);}:p;}function _get(){return _get="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(e,t,r){var p=_superPropBase(e,t);if(p){var n=Object.getOwnPropertyDescriptor(p,t);return n.get?n.get.call(arguments.length<3?e:r):n.value;}},_get.apply(null,arguments);}function _superPropBase(t,o){for(;!{}.hasOwnProperty.call(t,o)&&null!==(t=_getPrototypeOf(t)););return t;}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){e=_tslib.__decorate;},function(_lit){t=_lit.html;},function(_litDecoratorsJs){s=_litDecoratorsJs.query;r=_litDecoratorsJs.property;i=_litDecoratorsJs.customElement;},function(_nileCircularProgressbarCssCjsJs){c=_nileCircularProgressbarCssCjsJs.s;},function(_internalNileElementCjsJs){o=_internalNileElementCjsJs.N;}],execute:function execute(){_export("N",l=/*#__PURE__*/function(_o){function l(){var _this;_classCallCheck(this,l);_this=_callSuper(this,l,arguments),_this.progress=50,_this.size="md";return _this;}_inherits(l,_o);return _createClass(l,[{key:"circleSize",get:function get(){switch(this.size){case"sm":return{radius:9,viewBox:24,fontSize:"5px"};case"lg":return{radius:28,viewBox:64,fontSize:"10px"};default:return{radius:18,viewBox:40,fontSize:"10px"};}}},{key:"connectedCallback",value:function connectedCallback(){var _this2=this;_superPropGet(l,"connectedCallback",this,3)([]),this.updateComplete.then(function(){_this2.progress<0&&(_this2.progress=0),_this2.progress>100&&(_this2.progress=100),_this2.setProgress(_this2.progress);});}},{key:"setProgress",value:function setProgress(e){var t=2*this.progressCircle.r.baseVal.value*Math.PI;this.progressCircle.style.strokeDasharray=t,this.progressCircle.style.strokeDashoffset=t-e/100*t;}},{key:"render",value:function render(){var _this$circleSize=this.circleSize,e=_this$circleSize.radius,s=_this$circleSize.viewBox,r=_this$circleSize.fontSize,i=void 0===this.content?"".concat(Math.round(this.progress),"%"):this.content;return t(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <svg width=\"","\" height=\"","\" viewBox=\"0 0 "," ","\">\n <circle r=\"","\" cx=\"","\" cy=\"","\" class=\"track\"></circle>\n <circle r=\"","\" cx=\"","\" cy=\"","\" class=\"progress\"></circle>\n \n \n <text\n x=\"50%\"\n y=\"53%\"\n text-anchor=\"middle\"\n alignment-baseline=\"middle\"\n class=\"circle__text\"\n style=\"font-size: ",";\"\n >\n ","\n </text>\n \n </svg>\n\n\n \n "])),s,s,s,s,e,s/2,s/2,e,s/2,s/2,r,i);}}],[{key:"styles",get:function get(){return[c];}}]);}(o));e([s(".progress")],l.prototype,"progressCircle",void 0),e([r({type:Number,reflect:!0})],l.prototype,"progress",void 0),e([r({reflect:!0})],l.prototype,"content",void 0),e([r({type:String,reflect:!0})],l.prototype,"size",void 0),_export("N",l=e([i("nile-circular-progressbar")],l));}};});
2
2
  //# sourceMappingURL=nile-circular-progressbar.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-circular-progressbar.cjs.js","sources":["../../../src/nile-circular-progressbar/nile-circular-progressbar.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n} from 'lit';\nimport { customElement, query, property } from 'lit/decorators.js';\nimport { styles } from './nile-circular-progressbar.css';\nimport NileElement from '../internal/nile-element';\nimport logInfo from '../nile-icon/icons/svg/log-info';\n\n/**\n * Nile icon component.\n *\n * @tag nile-progressbar\n *\n */\n@customElement('nile-circular-progressbar')\nexport class NileCircularProgressbar extends NileElement {\n /**\n * The styles for Progressbar\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n @query('.progress') progressCircle: any;\n @property({ type: Number, reflect: true }) progress = 50;\n\n /* #endregion */\n\n /* #region Methods */\n\n /**\n * Render method\n * @slot This is a slot test\n */\n // make reactive to pass through\n\n connectedCallback() {\n super.connectedCallback();\n this.updateComplete.then(() => {\n if (this.progress < 0) {\n this.progress = 0;\n }\n if (this.progress > 100) {\n this.progress = 100;\n }\n this.setProgress(this.progress);\n });\n }\n private setProgress(percent: number) {\n const circleRadius = this.progressCircle.r.baseVal.value;\n let circumference = circleRadius * 2 * Math.PI;\n this.progressCircle.style.strokeDasharray = circumference;\n this.progressCircle.style.strokeDashoffset =\n circumference - (percent / 100) * circumference;\n }\n\n public render(): TemplateResult {\n return html`\n <svg width=\"40\" height=\"40\">\n <circle r=\"19\" cx=\"20\" cy=\"20\" class=\"track\"></circle>\n <circle r=\"19\" cx=\"20\" cy=\"20\" class=\"progress\"></circle>\n <text\n x=\"50%\"\n y=\"50%\"\n text-anchor=\"middle\"\n alignment-baseline=\"middle\"\n class=\"circle__text\"\n >\n ${this.progress} %\n </text>\n </svg>\n `;\n }\n\n /* #endregion */\n}\n\nexport default NileCircularProgressbar;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-circular-progressbar': NileCircularProgressbar;\n }\n}\n"],"names":["NileCircularProgressbar","_l","o","constructor","this","progress","_this","_inherits","_createClass","key","value","connectedCallback","super","updateComplete","then","setProgress","percent","circumference","progressCircle","r","baseVal","Math","PI","style","strokeDasharray","strokeDashoffset","render","html","_templateObject","_taggedTemplateLiteral","__decorate","get","styles","NileElement","query","prototype","property","type","Number","reflect","customElement"],"mappings":"2sHAyBaA,CAAN,uBAAAC,EAAA,EAAA,SAAAC,EAAA,CAAAC,KAAAA,KAAAA,CAAAA,eAAAA,MAAAA,CAAAA,mCASsCC,EAAAA,KAAAA,CAAQC,QAAG,CAAA,EAmDvD,QAAAC,KAAA,EAvDQC,SAAA,CAAAL,CAAA,CAAAD,EAAA,SAAAO,YAAA,CAAAN,CAAA,GAAAO,GAAA,qBAAAC,KAAA,CAgBP,SAAAC,iBAAAA,CAAAA,CAAAA,KAAAA,MAAAA,MACEC,aAAAA,CAAAA,CAAAA,iCACAR,KAAKS,cAAeC,CAAAA,IAAAA,CAAK,WACnBV,MAAKC,CAAAA,QAAAA,CAAW,IAClBD,MAAKC,CAAAA,QAAAA,CAAW,CAEdD,CAAAA,CAAAA,MAAAA,CAAKC,SAAW,GAClBD,GAAAA,MAAAA,CAAKC,SAAW,GAElBD,CAAAA,CAAAA,MAAAA,CAAKW,YAAYX,MAAKC,CAAAA,QAAAA,CAAS,EAElC,CAAA,EACO,GAAAI,GAAA,eAAAC,KAAA,UAAAK,WAAAA,CAAYC,CAAAA,CAAAA,CAElB,GAAIC,CAAAA,CAA+B,CAAA,CAAA,CADdb,KAAKc,cAAeC,CAAAA,CAAAA,CAAEC,OAAQV,CAAAA,KAAAA,CACZW,KAAKC,EAC5ClB,CAAAA,IAAAA,CAAKc,eAAeK,KAAMC,CAAAA,eAAAA,CAAkBP,EAC5Cb,IAAKc,CAAAA,cAAAA,CAAeK,MAAME,gBACxBR,CAAAA,CAAAA,CAAiBD,EAAU,GAAOC,CAAAA,CACrC,EAEM,GAAAR,GAAA,UAAAC,KAAA,UAAAgB,MAAAA,CAAAA,CAAAA,CACL,MAAOC,CAAAA,CAAI,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA,0aAWHzB,IAAKC,CAAAA,QAAAA,EAId,CAjDmByB,KAAAA,GAAAA,UAAAA,GAAAA,CAHb,SAAAC,IAAA,CAAWC,CAChB,MAAO,CAACA,CAAAA,CACT,EAcD,MArB2CC,IAQvBH,CAAAA,CAAA,CAAnBI,CAAAA,CAAM,WAAiClC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAmC,UAAA,gBAAA,CAAA,IAAA,EAAA,CAAA,CACGL,CAAA,CAAA,CAA1CM,CAAS,CAAA,CAAEC,KAAMC,MAAQC,CAAAA,OAAAA,CAAAA,CAAS,CAAsBvC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAmC,SAAA,CAAA,UAAA,CAAA,IAAA,EAT9CnC,CAAAA,CAAAA,OAAAA,KAAAA,CAAAA,CAAuB8B,CAAA,CAAA,CADnCU,CAAc,CAAA,2BAAA,CAAA,CAAA,CACFxC"}
1
+ {"version":3,"file":"nile-circular-progressbar.cjs.js","sources":["../../../src/nile-circular-progressbar/nile-circular-progressbar.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n} from 'lit';\nimport { customElement, query, property } from 'lit/decorators.js';\nimport { styles } from './nile-circular-progressbar.css';\nimport NileElement from '../internal/nile-element';\nimport logInfo from '../nile-icon/icons/svg/log-info';\n\n/**\n * Nile icon component.\n *\n * @tag nile-progressbar\n *\n */\n@customElement('nile-circular-progressbar')\nexport class NileCircularProgressbar extends NileElement {\n /**\n * The styles for Progressbar\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n @query('.progress') progressCircle: any;\n @property({ type: Number, reflect: true }) progress = 50;\n @property({ reflect: true }) content: String;\n /* #endregion */\n\n /* #region Methods */\n\n /**\n * Render method\n * @slot This is a slot test\n */\n // make reactive to pass through\n @property({ type: String, reflect: true }) size: 'sm' | 'md' | 'lg' = 'md';\n\n private get circleSize() {\n switch (this.size) {\n case 'sm':\n return { radius: 9, viewBox: 24, fontSize: '5px' };\n case 'lg':\n return { radius: 28, viewBox: 64, fontSize: '10px' };\n default:\n return { radius: 18, viewBox: 40, fontSize: '10px' };\n }\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.updateComplete.then(() => {\n if (this.progress < 0) {\n this.progress = 0;\n }\n if (this.progress > 100) {\n this.progress = 100;\n }\n this.setProgress(this.progress);\n });\n }\n private setProgress(percent: number) {\n const circleRadius = this.progressCircle.r.baseVal.value;\n let circumference = circleRadius * 2 * Math.PI;\n this.progressCircle.style.strokeDasharray = circumference;\n this.progressCircle.style.strokeDashoffset =\n circumference - (percent / 100) * circumference;\n }\n\n public render(): TemplateResult {\n const { radius, viewBox, fontSize } = this.circleSize;\n const innerText = this.content === undefined ? `${Math.round(this.progress)}%` : this.content;\n\n\n return html`\n <svg width=\"${viewBox}\" height=\"${viewBox}\" viewBox=\"0 0 ${viewBox} ${viewBox}\">\n <circle r=\"${radius}\" cx=\"${viewBox / 2}\" cy=\"${viewBox / 2}\" class=\"track\"></circle>\n <circle r=\"${radius}\" cx=\"${viewBox / 2}\" cy=\"${viewBox / 2}\" class=\"progress\"></circle>\n \n \n <text\n x=\"50%\"\n y=\"53%\"\n text-anchor=\"middle\"\n alignment-baseline=\"middle\"\n class=\"circle__text\"\n style=\"font-size: ${fontSize};\"\n >\n ${innerText}\n </text>\n \n </svg>\n\n\n \n `;\n }\n\n /* #endregion */\n}\n\nexport default NileCircularProgressbar;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-circular-progressbar': NileCircularProgressbar;\n }\n}\n"],"names":["NileCircularProgressbar","l","this","progress","size","_this","_inherits","_o","_createClass","key","get","circleSize","radius","viewBox","fontSize","value","connectedCallback","super","updateComplete","then","setProgress","percent","circumference","progressCircle","r","baseVal","Math","PI","style","strokeDasharray","strokeDashoffset","render","_this$circleSize","innerText","undefined","content","round","html","_templateObject","_taggedTemplateLiteral","__decorate","styles","NileElement","query","prototype","property","type","Number","reflect","String","_export","customElement"],"mappings":"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"}