@aquera/nile-elements 1.5.7 → 1.5.9

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 (201) hide show
  1. package/README.md +9 -0
  2. package/dist/index.cjs.js +1 -1
  3. package/dist/index.esm.js +1 -1
  4. package/dist/index.js +14 -16
  5. package/dist/nile-badge/index.cjs.js +1 -1
  6. package/dist/nile-badge/index.esm.js +1 -1
  7. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  8. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  9. package/dist/nile-badge/nile-badge.esm.js +1 -1
  10. package/dist/nile-button/index.cjs.js +1 -1
  11. package/dist/nile-button/index.esm.js +1 -1
  12. package/dist/nile-button/nile-button.cjs.js +1 -1
  13. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  14. package/dist/nile-button/nile-button.css.cjs.js +1 -1
  15. package/dist/nile-button/nile-button.css.cjs.js.map +1 -1
  16. package/dist/nile-button/nile-button.css.esm.js +8 -9
  17. package/dist/nile-button/nile-button.esm.js +1 -1
  18. package/dist/nile-carousel/index.cjs.js +1 -1
  19. package/dist/nile-carousel/index.esm.js +1 -1
  20. package/dist/nile-carousel/nile-carousel.cjs.js +1 -1
  21. package/dist/nile-carousel/nile-carousel.cjs.js.map +1 -1
  22. package/dist/nile-carousel/nile-carousel.esm.js +11 -11
  23. package/dist/nile-dialog/index.cjs.js +1 -1
  24. package/dist/nile-dialog/index.esm.js +1 -1
  25. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  26. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  27. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  28. package/dist/nile-drawer/index.cjs.js +1 -1
  29. package/dist/nile-drawer/index.esm.js +1 -1
  30. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  31. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  32. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  33. package/dist/nile-dropdown/nile-dropdown.cjs.js +1 -1
  34. package/dist/nile-dropdown/nile-dropdown.cjs.js.map +1 -1
  35. package/dist/nile-dropdown/nile-dropdown.esm.js +1 -1
  36. package/dist/nile-grid/nile-grid.cjs.js +1 -1
  37. package/dist/nile-grid/nile-grid.cjs.js.map +1 -1
  38. package/dist/nile-grid/nile-grid.css.cjs.js +1 -1
  39. package/dist/nile-grid/nile-grid.css.cjs.js.map +1 -1
  40. package/dist/nile-grid/nile-grid.css.esm.js +0 -1
  41. package/dist/nile-grid/nile-grid.esm.js +2 -2
  42. package/dist/nile-grid/nile-grid.width.cjs.js +1 -1
  43. package/dist/nile-grid/nile-grid.width.cjs.js.map +1 -1
  44. package/dist/nile-grid/nile-grid.width.esm.js +1 -1
  45. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  46. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  47. package/dist/nile-icon/icons/svg/ng-boolean.cjs.js +2 -0
  48. package/dist/nile-icon/icons/svg/ng-boolean.cjs.js.map +1 -0
  49. package/dist/nile-icon/icons/svg/ng-boolean.esm.js +1 -0
  50. package/dist/nile-icon/icons/svg/ng-building-07.cjs.js +2 -0
  51. package/dist/nile-icon/icons/svg/ng-building-07.cjs.js.map +1 -0
  52. package/dist/nile-icon/icons/svg/ng-building-07.esm.js +1 -0
  53. package/dist/nile-icon/icons/svg/ng-clock-refresh.cjs.js +2 -0
  54. package/dist/nile-icon/icons/svg/ng-clock-refresh.cjs.js.map +1 -0
  55. package/dist/nile-icon/icons/svg/ng-clock-refresh.esm.js +1 -0
  56. package/dist/nile-icon/icons/svg/ng-dataflow-02.cjs.js +2 -0
  57. package/dist/nile-icon/icons/svg/ng-dataflow-02.cjs.js.map +1 -0
  58. package/dist/nile-icon/icons/svg/ng-dataflow-02.esm.js +1 -0
  59. package/dist/nile-icon/icons/svg/ng-folder-code.cjs.js +2 -0
  60. package/dist/nile-icon/icons/svg/ng-folder-code.cjs.js.map +1 -0
  61. package/dist/nile-icon/icons/svg/ng-folder-code.esm.js +1 -0
  62. package/dist/nile-icon/icons/svg/ng-lightbulb-05.cjs.js +2 -0
  63. package/dist/nile-icon/icons/svg/ng-lightbulb-05.cjs.js.map +1 -0
  64. package/dist/nile-icon/icons/svg/ng-lightbulb-05.esm.js +1 -0
  65. package/dist/nile-icon/icons/svg/ng-number.cjs.js +2 -0
  66. package/dist/nile-icon/icons/svg/ng-number.cjs.js.map +1 -0
  67. package/dist/nile-icon/icons/svg/ng-number.esm.js +1 -0
  68. package/dist/nile-icon/icons/svg/ng-string.cjs.js +2 -0
  69. package/dist/nile-icon/icons/svg/ng-string.cjs.js.map +1 -0
  70. package/dist/nile-icon/icons/svg/ng-string.esm.js +1 -0
  71. package/dist/nile-icon/index.cjs.js +1 -1
  72. package/dist/nile-icon/index.cjs.js.map +1 -1
  73. package/dist/nile-icon/index.esm.js +1 -1
  74. package/dist/nile-icon-button/index.cjs.js +1 -1
  75. package/dist/nile-icon-button/index.esm.js +1 -1
  76. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  77. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  78. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  79. package/dist/nile-input/index.cjs.js +1 -1
  80. package/dist/nile-input/index.esm.js +1 -1
  81. package/dist/nile-input/nile-input.cjs.js +1 -1
  82. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  83. package/dist/nile-input/nile-input.esm.js +1 -1
  84. package/dist/nile-loader/nile-loader.css.cjs.js +1 -1
  85. package/dist/nile-loader/nile-loader.css.cjs.js.map +1 -1
  86. package/dist/nile-loader/nile-loader.css.esm.js +1 -1
  87. package/dist/nile-menu-item/index.cjs.js +1 -1
  88. package/dist/nile-menu-item/index.esm.js +1 -1
  89. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  90. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  91. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  92. package/dist/nile-option/index.cjs.js +1 -1
  93. package/dist/nile-option/index.esm.js +1 -1
  94. package/dist/nile-option/nile-option.cjs.js +1 -1
  95. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  96. package/dist/nile-option/nile-option.esm.js +1 -1
  97. package/dist/nile-select/index.cjs.js +1 -1
  98. package/dist/nile-select/index.esm.js +1 -1
  99. package/dist/nile-select/nile-select.cjs.js +1 -1
  100. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  101. package/dist/nile-select/nile-select.esm.js +4 -4
  102. package/dist/nile-side-bar-action-menu-item/index.cjs.js +1 -1
  103. package/dist/nile-side-bar-action-menu-item/index.esm.js +1 -1
  104. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js +1 -1
  105. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js.map +1 -1
  106. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.esm.js +1 -1
  107. package/dist/nile-tab/index.cjs.js +1 -1
  108. package/dist/nile-tab/index.esm.js +1 -1
  109. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  110. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  111. package/dist/nile-tab/nile-tab.esm.js +1 -1
  112. package/dist/nile-tab-group/index.cjs.js +1 -1
  113. package/dist/nile-tab-group/index.esm.js +1 -1
  114. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  115. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  116. package/dist/nile-tab-group/nile-tab-group.esm.js +2 -2
  117. package/dist/nile-tag/index.cjs.js +1 -1
  118. package/dist/nile-tag/index.esm.js +1 -1
  119. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  120. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  121. package/dist/nile-tag/nile-tag.esm.js +1 -1
  122. package/dist/nile-toast/index.cjs.js +1 -1
  123. package/dist/nile-toast/index.esm.js +1 -1
  124. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  125. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  126. package/dist/nile-toast/nile-toast.esm.js +1 -1
  127. package/dist/nile-tree/index.cjs.js +1 -1
  128. package/dist/nile-tree/index.esm.js +1 -1
  129. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  130. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  131. package/dist/nile-tree/nile-tree.esm.js +1 -1
  132. package/dist/nile-tree-item/index.cjs.js +1 -1
  133. package/dist/nile-tree-item/index.esm.js +1 -1
  134. package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
  135. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
  136. package/dist/nile-tree-item/nile-tree-item.esm.js +3 -3
  137. package/dist/nile-virtual-select/index.cjs.js +1 -1
  138. package/dist/nile-virtual-select/index.esm.js +1 -1
  139. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +3 -3
  140. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  141. package/dist/nile-virtual-select/nile-virtual-select.esm.js +3 -3
  142. package/dist/src/nile-button/nile-button.css.js +8 -9
  143. package/dist/src/nile-button/nile-button.css.js.map +1 -1
  144. package/dist/src/nile-dropdown/nile-dropdown.js +4 -2
  145. package/dist/src/nile-dropdown/nile-dropdown.js.map +1 -1
  146. package/dist/src/nile-grid/nile-grid.css.js +0 -1
  147. package/dist/src/nile-grid/nile-grid.css.js.map +1 -1
  148. package/dist/src/nile-grid/nile-grid.d.ts +5 -0
  149. package/dist/src/nile-grid/nile-grid.js +21 -1
  150. package/dist/src/nile-grid/nile-grid.js.map +1 -1
  151. package/dist/src/nile-grid/nile-grid.layout.js +4 -0
  152. package/dist/src/nile-grid/nile-grid.layout.js.map +1 -1
  153. package/dist/src/nile-icon/icons/svg/index.d.ts +8 -0
  154. package/dist/src/nile-icon/icons/svg/index.js +8 -0
  155. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  156. package/dist/src/nile-icon/icons/svg/ng-boolean.d.ts +5 -0
  157. package/dist/src/nile-icon/icons/svg/ng-boolean.js +5 -0
  158. package/dist/src/nile-icon/icons/svg/ng-boolean.js.map +1 -0
  159. package/dist/src/nile-icon/icons/svg/ng-building-07.d.ts +5 -0
  160. package/dist/src/nile-icon/icons/svg/ng-building-07.js +5 -0
  161. package/dist/src/nile-icon/icons/svg/ng-building-07.js.map +1 -0
  162. package/dist/src/nile-icon/icons/svg/ng-clock-refresh.d.ts +5 -0
  163. package/dist/src/nile-icon/icons/svg/ng-clock-refresh.js +5 -0
  164. package/dist/src/nile-icon/icons/svg/ng-clock-refresh.js.map +1 -0
  165. package/dist/src/nile-icon/icons/svg/ng-dataflow-02.d.ts +5 -0
  166. package/dist/src/nile-icon/icons/svg/ng-dataflow-02.js +5 -0
  167. package/dist/src/nile-icon/icons/svg/ng-dataflow-02.js.map +1 -0
  168. package/dist/src/nile-icon/icons/svg/ng-folder-code.d.ts +5 -0
  169. package/dist/src/nile-icon/icons/svg/ng-folder-code.js +5 -0
  170. package/dist/src/nile-icon/icons/svg/ng-folder-code.js.map +1 -0
  171. package/dist/src/nile-icon/icons/svg/ng-lightbulb-05.d.ts +5 -0
  172. package/dist/src/nile-icon/icons/svg/ng-lightbulb-05.js +5 -0
  173. package/dist/src/nile-icon/icons/svg/ng-lightbulb-05.js.map +1 -0
  174. package/dist/src/nile-icon/icons/svg/ng-number.d.ts +5 -0
  175. package/dist/src/nile-icon/icons/svg/ng-number.js +5 -0
  176. package/dist/src/nile-icon/icons/svg/ng-number.js.map +1 -0
  177. package/dist/src/nile-icon/icons/svg/ng-string.d.ts +5 -0
  178. package/dist/src/nile-icon/icons/svg/ng-string.js +5 -0
  179. package/dist/src/nile-icon/icons/svg/ng-string.js.map +1 -0
  180. package/dist/src/nile-loader/nile-loader.css.js +1 -1
  181. package/dist/src/nile-loader/nile-loader.css.js.map +1 -1
  182. package/dist/src/version.js +2 -2
  183. package/dist/src/version.js.map +1 -1
  184. package/dist/tsconfig.tsbuildinfo +1 -1
  185. package/package.json +1 -1
  186. package/src/nile-button/nile-button.css.ts +8 -9
  187. package/src/nile-dropdown/nile-dropdown.ts +5 -3
  188. package/src/nile-grid/nile-grid.css.ts +0 -1
  189. package/src/nile-grid/nile-grid.layout.ts +5 -0
  190. package/src/nile-grid/nile-grid.ts +22 -1
  191. package/src/nile-icon/icons/svg/index.ts +8 -0
  192. package/src/nile-icon/icons/svg/ng-boolean.ts +5 -0
  193. package/src/nile-icon/icons/svg/ng-building-07.ts +5 -0
  194. package/src/nile-icon/icons/svg/ng-clock-refresh.ts +5 -0
  195. package/src/nile-icon/icons/svg/ng-dataflow-02.ts +5 -0
  196. package/src/nile-icon/icons/svg/ng-folder-code.ts +5 -0
  197. package/src/nile-icon/icons/svg/ng-lightbulb-05.ts +5 -0
  198. package/src/nile-icon/icons/svg/ng-number.ts +5 -0
  199. package/src/nile-icon/icons/svg/ng-string.ts +5 -0
  200. package/src/nile-loader/nile-loader.css.ts +1 -1
  201. package/vscode-html-custom-data.json +5 -1
@@ -1 +1 @@
1
- {"version":3,"file":"nile-dropdown.cjs.js","sources":["../../../src/nile-dropdown/nile-dropdown.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 {LitElement, html, CSSResultArray, TemplateResult, PropertyValues} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport {styles} from './nile-dropdown.css';\nimport { animateTo, stopAnimations } from '../internal/animate';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query } from 'lit/decorators.js';\nimport { getAnimation, setDefaultAnimation } from '../utilities/animation-registry';\nimport { getTabbableBoundary } from '../internal/tabbable';\nimport { waitForEvent } from '../internal/event';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup } from 'lit';\nimport type NileButton from '../nile-button/nile-button';\nimport type NileIconButton from '../nile-icon-button/nile-icon-button';\nimport type { NileMenu } from '../nile-menu';\nimport type { NilePopup } from '../nile-popup';\nimport '../nile-popup';\nimport { DropdownPortalManager } from './portal-manager';\nimport { VisibilityManager } from '../utilities/visibility-manager.js';\n\n/**\n * Nile icon component.\n *\n * @tag nile-dropdown\n * @summary Dropdowns expose additional content that \"drops down\" in a panel.\n * @dependency nile-popup\n *\n * @slot - The dropdown's main content.\n * @slot trigger - The dropdown's trigger, usually a `<nile-button>` element.\n *\n * @event nile-show - Emitted when the dropdown opens.\n * @event nile-after-show - Emitted after the dropdown opens and all animations are complete.\n * @event nile-hide - Emitted when the dropdown closes.\n * @event nile-after-hide - Emitted after the dropdown closes and all animations are complete.\n *\n * @csspart base - The component's base wrapper.\n * @csspart trigger - The container that wraps the trigger.\n * @csspart panel - The panel that gets shown when the dropdown is open.\n *\n * @animation dropdown.show - The animation to use when showing the dropdown.\n * @animation dropdown.hide - The animation to use when hiding the dropdown.\n */\n@customElement('nile-dropdown')\nexport class NileDropdown extends NileElement {\n static styles: CSSResultGroup = styles;\n\n @query('.dropdown') popup: NilePopup;\n @query('.dropdown__trigger') trigger: HTMLSlotElement;\n @query('.dropdown__panel') panel: HTMLSlotElement;\n\n\n /**\n * Indicates whether or not the dropdown is open. You can toggle this attribute to show and hide the dropdown, or you\n * can use the `show()` and `hide()` methods and this attribute will reflect the dropdown's open state.\n */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /**\n * The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\n * inside of the viewport.\n */\n @property({ reflect: true }) placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'bottom-start';\n\n /** Disables the dropdown so the panel will not open. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /**\n * By default, the dropdown is closed when an item is selected. This attribute will keep it open instead. Useful for\n * dropdowns that allow for multiple interactions.\n */\n @property({ attribute: 'stay-open-on-select', type: Boolean, reflect: true }) stayOpenOnSelect = false;\n\n /**\n * The dropdown will close when the user interacts outside of this element (e.g. clicking). Useful for composing other\n * components that use a dropdown internally.\n */\n @property({ attribute: false }) containingElement?: HTMLElement;\n\n /** The distance in pixels from which to offset the panel away from its trigger. */\n @property({ type: Number }) distance = 0;\n\n\n @property({ type: Boolean }) noOpenOnClick = false;\n\n /** The distance in pixels from which to offset the panel along its trigger. */\n @property({ type: Number }) skidding = 0;\n\n /** Syncs the popup's width or height to that of the anchor element. */\n @property() sync: 'width' | 'height' | 'both';\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n */\n @property({ type: Boolean }) hoist = false;\n\n /**\n * Enable portal mode to render the dropdown panel in a portal outside the component's DOM tree.\n * This provides better positioning control and prevents clipping issues in complex layouts.\n */\n @property({ type: Boolean, reflect: true }) portal = false;\n\n @property({ type: Boolean, reflect: true }) enableVisibilityEffect = false;\n\n @property({ type: Boolean, reflect: true }) enableTabClose = false;\n\n\n private portalManager: DropdownPortalManager | null = null;\n private visibilityManager?: VisibilityManager;\n\n connectedCallback() {\n super.connectedCallback();\n this.handlePanelSelect = this.handlePanelSelect.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);\n\n if (!this.containingElement) {\n this.containingElement = this;\n }\n this.emit('nile-init');\n\n requestAnimationFrame(() => {\n if (this.portal && !this.portalManager) {\n this.portalManager = new DropdownPortalManager(this);\n }\n });\n }\n\n protected async firstUpdated(_changed: PropertyValues) {\n \n this.panel.hidden = !this.open;\n\n // If the dropdown is visible on init, update its position\n if (this.open) {\n this.addOpenListeners();\n this.popup.active = true;\n }\n \n await this.updateComplete;\n const triggerNode = this.trigger.assignedElements({ flatten: true })[0] as HTMLElement | undefined;\n \n this.visibilityManager = new VisibilityManager({\n host: this,\n target: triggerNode || null,\n enableVisibilityEffect: this.enableVisibilityEffect,\n enableTabClose: this.enableTabClose,\n isOpen: () => this.open,\n onAnchorOutOfView: () => {\n this.hide();\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'anchor-out-of-view',\n });\n },\n onDocumentHidden: () => {\n this.hide();\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'document-hidden',\n });\n },\n emit: (event, detail) => this.emit(`nile-${event}`, detail),\n });\n }\n \n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.visibilityManager?.cleanup();\n this.removeOpenListeners();\n this.hide();\n this.emit('nile-destroy');\n\n if (this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n this.portalManager = null;\n }\n }\n\n focusOnTrigger() {\n const trigger = this.trigger.assignedElements({ flatten: true })[0] as HTMLElement | undefined;\n if (typeof trigger?.focus === 'function') {\n trigger.focus();\n }\n }\n\n getMenu() {\n return this.panel.assignedElements({ flatten: true }).find(el => el.tagName.toLowerCase() === 'nile-menu') as\n | NileMenu\n | undefined;\n }\n\n handleKeyDown(event: KeyboardEvent) {\n // Close when escape is pressed inside an open dropdown. We need to listen on the panel itself and stop propagation\n // in case any ancestors are also listening for this key.\n if (this.open && event.key === 'Escape') {\n event.stopPropagation();\n this.hide();\n this.focusOnTrigger();\n }\n }\n\n handleDocumentKeyDown(event: KeyboardEvent) {\n // Close when escape or tab is pressed\n if (event.key === 'Escape' && this.open) {\n event.stopPropagation();\n this.focusOnTrigger();\n this.hide();\n return;\n }\n\n // Handle tabbing\n if (event.key === 'Tab') {\n // Tabbing within an open menu should close the dropdown and refocus the trigger\n if (this.open && document.activeElement?.tagName.toLowerCase() === 'nile-menu-item') {\n event.preventDefault();\n this.hide();\n this.focusOnTrigger();\n return;\n }\n\n // Tabbing outside of the containing element closes the panel\n //\n // If the dropdown is used within a shadow DOM, we need to obtain the activeElement within that shadowRoot,\n // otherwise `document.activeElement` will only return the name of the parent shadow DOM element.\n setTimeout(() => {\n const activeElement =\n this.containingElement?.getRootNode() instanceof ShadowRoot\n ? document.activeElement?.shadowRoot?.activeElement\n : document.activeElement;\n\n const hitSelf = this.containingElement && activeElement?.closest(this.containingElement.tagName.toLowerCase()) === this.containingElement;\n const hitPortalAppend = this.portal && this.portalManager?.portalContainerElement && \n (activeElement === this.portalManager.portalContainerElement || \n activeElement?.closest('.nile-dropdown-portal-append') === this.portalManager.portalContainerElement);\n\n if (!hitSelf && !hitPortalAppend) {\n this.hide();\n }\n });\n }\n }\n\n handleDocumentMouseDown(event: MouseEvent) {\n // Close when clicking outside of the containing element\n const path = event.composedPath();\n const hitSelf = this.containingElement && path.includes(this.containingElement);\n const hitPortalAppend = this.portal && this.portalManager?.portalContainerElement && path.includes(this.portalManager.portalContainerElement);\n\n if (!hitSelf && !hitPortalAppend) {\n this.hide();\n }\n }\n\n handlePanelSelect(event: any) {\n const target = event.target as HTMLElement;\n\n // Hide the dropdown when a menu item is selected\n if (!this.stayOpenOnSelect && target.tagName.toLowerCase() === 'nile-menu') {\n this.hide();\n this.focusOnTrigger();\n } else if(this.stayOpenOnSelect && target.tagName.toLowerCase() === 'nile-menu') {\n this.show();\n this.focusOnTrigger();\n }\n }\n\n handleTriggerClick() {\n if(this.noOpenOnClick){\n return;\n }\n if (this.open) {\n this.hide();\n } else {\n this.show();\n this.focusOnTrigger();\n }\n }\n\n handleTriggerKeyDown(event: KeyboardEvent) {\n // When spacebar/enter is pressed, show the panel but don't focus on the menu. This let's the user press the same\n // key again to hide the menu in case they don't want to make a selection.\n // if (['Enter'].includes(event.key)) {\n // event.preventDefault();\n // this.handleTriggerClick();\n // return;\n // }\n\n const menu = this.getMenu();\n\n if (menu) {\n const menuItems = menu.getAllItems();\n const firstMenuItem = menuItems[0];\n const lastMenuItem = menuItems[menuItems.length - 1];\n\n // When up/down is pressed, we make the assumption that the user is familiar with the menu and plans to make a\n // selection. Rather than toggle the panel, we focus on the menu (if one exists) and activate the first item for\n // faster navigation.\n if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {\n event.preventDefault();\n\n // Show the menu if it's not already open\n if (!this.open) {\n this.show();\n }\n\n if (menuItems.length > 0) {\n // Focus on the first/last menu item after showing\n this.updateComplete.then(() => {\n if (event.key === 'ArrowDown' || event.key === 'Home') {\n menu.setCurrentItem(firstMenuItem);\n firstMenuItem.focus();\n }\n\n if (event.key === 'ArrowUp' || event.key === 'End') {\n menu.setCurrentItem(lastMenuItem);\n lastMenuItem.focus();\n }\n });\n }\n }\n }\n }\n\n handleTriggerKeyUp(event: KeyboardEvent) {\n // Prevent space from triggering a click event in Firefox\n if (event.key === ' ') {\n event.preventDefault();\n }\n }\n\n handleTriggerSlotChange() {\n this.updateAccessibleTrigger();\n }\n\n //\n // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and\n // `aria-expanded`. These must be applied to the \"accessible trigger\" (the tabbable portion of the trigger element\n // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,\n // a child of the slotted element, or an element in the slotted element's shadow root.\n //\n // For example, the accessible trigger of an <nile-button> is a <button> located inside its shadow root.\n //\n // To determine this, we assume the first tabbable element in the trigger slot is the \"accessible trigger.\"\n //\n updateAccessibleTrigger() {\n const assignedElements = this.trigger.assignedElements({ flatten: true }) as HTMLElement[];\n const accessibleTrigger = assignedElements.find(el => getTabbableBoundary(el).start);\n let target: HTMLElement;\n\n if (accessibleTrigger) {\n switch (accessibleTrigger.tagName.toLowerCase()) {\n // nile buttons have to update the internal button so it's announced correctly by screen readers\n case 'nile-button':\n case 'nile-icon-button':\n target = (accessibleTrigger as NileButton | NileIconButton).button;\n break;\n\n default:\n target = accessibleTrigger;\n }\n\n target.setAttribute('aria-haspopup', 'true');\n target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n }\n\n /** Shows the dropdown panel. */\n async show() {\n if (this.open) {\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, 'nile-after-show');\n }\n\n /** Hides the dropdown panel */\n async hide() {\n if (!this.open) {\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, 'nile-after-hide');\n }\n\n /**\n * Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu\n * is activated.\n */\n reposition() {\n this.popup.reposition();\n }\n\n addOpenListeners() {\n this.panel.addEventListener('nile-select', this.handlePanelSelect);\n this.panel.addEventListener('keydown', this.handleKeyDown);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n }\n\n removeOpenListeners() {\n if (this.panel) {\n this.panel.removeEventListener('nile-select', this.handlePanelSelect);\n this.panel.removeEventListener('keydown', this.handleKeyDown);\n }\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n }\n\n protected updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n \n if (changedProperties.has('portal')) {\n if (this.portal && !this.portalManager) {\n this.portalManager = new DropdownPortalManager(this);\n if (this.open) {\n this.portalManager.setupPortalAppend();\n }\n } else if (!this.portal && this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n this.portalManager = null;\n }\n }\n if (changedProperties.has('disabled')) {\n this.updateTriggerDisabledState();\n }\n }\n \n private updateTriggerDisabledState() {\n const trigger = this.querySelector('[slot=\"trigger\"]') as HTMLElement | null;\n if (!trigger) return;\n if ('disabled' in trigger) {\n (trigger as any).disabled = this.disabled;\n }\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n this.visibilityManager?.setup();\n if (this.disabled) {\n this.open = false;\n return;\n }\n\n this.updateAccessibleTrigger();\n\n if (this.open) {\n // Show\n this.emit('nile-show');\n this.addOpenListeners();\n\n if (this.portal && this.portalManager) {\n this.portalManager.setupPortalAppend();\n } else if (this.portal && !this.portalManager) {\n this.portalManager = new DropdownPortalManager(this);\n this.portalManager.setupPortalAppend();\n }\n\n await stopAnimations(this);\n \n // Only show panel and animate if not using portal\n if (!this.portal) {\n this.panel.hidden = false;\n this.popup.active = true;\n const { keyframes, options } = getAnimation(this, 'dropdown.show', { dir: '' });\n await animateTo(this.popup.popup, keyframes, options);\n }\n\n this.emit('nile-after-show');\n } else {\n // Hide\n this.emit('nile-hide');\n this.removeOpenListeners();\n this.visibilityManager?.cleanup();\n\n if (this.portal && this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n }\n\n await stopAnimations(this);\n \n // Only hide panel and animate if not using portal\n if (!this.portal) {\n const { keyframes, options } = getAnimation(this, 'dropdown.hide', { dir: '' });\n await animateTo(this.popup.popup, keyframes, options);\n this.panel.hidden = true;\n this.popup.active = false;\n }\n\n this.emit('nile-after-hide');\n }\n }\n\n render() {\n return html`\n <nile-popup\n part=\"base\"\n id=\"dropdown\"\n placement=${this.placement}\n distance=${this.distance}\n skidding=${this.skidding}\n strategy=${this.hoist ? 'fixed' : 'absolute'}\n sync=${this.sync}\n flip\n shift\n auto-size=\"both\"\n auto-size-padding=\"10\"\n class=${classMap({\n dropdown: true,\n 'dropdown--open': this.open\n })}\n >\n <slot\n name=\"trigger\"\n slot=\"anchor\"\n part=\"trigger\"\n class=\"dropdown__trigger\"\n @click=${this.handleTriggerClick}\n @keydown=${this.handleTriggerKeyDown}\n @keyup=${this.handleTriggerKeyUp}\n @slotchange=${this.handleTriggerSlotChange}\n ></slot>\n\n <slot\n part=\"panel\"\n class=\"dropdown__panel\"\n aria-hidden=${this.open ? 'false' : 'true'}\n aria-labelledby=\"dropdown\"\n style=${this.portal && this.portalManager ? 'display: none;' : ''}\n ></slot>\n </nile-popup>\n `;\n }\n}\n\nsetDefaultAnimation('dropdown.show', {\n keyframes: [\n { opacity: 0, scale: 0.9 },\n { opacity: 1, scale: 1 }\n ],\n options: { duration: 100, easing: 'ease' }\n});\n\nsetDefaultAnimation('dropdown.hide', {\n keyframes: [\n { opacity: 1, scale: 1 },\n { opacity: 0, scale: 0.9 }\n ],\n options: { duration: 100, easing: 'ease' }\n});\n\nexport default NileDropdown;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-dropdown': NileDropdown;\n }\n}\n"],"names":["NileDropdown","y","this","open","placement","disabled","stayOpenOnSelect","distance","noOpenOnClick","skidding","hoist","portal","enableVisibilityEffect","enableTabClose","portalManager","_this","_inherits","_u","_createClass","key","value","connectedCallback","super","handlePanelSelect","bind","handleKeyDown","handleDocumentKeyDown","handleDocumentMouseDown","containingElement","emit","requestAnimationFrame","DropdownPortalManager","_firstUpdated","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_changed","panel","hidden","addOpenListeners","popup","active","updateComplete","triggerNode","trigger","assignedElements","flatten","visibilityManager","VisibilityManager","host","target","isOpen","onAnchorOutOfView","hide","visible","reason","onDocumentHidden","event","detail","_context2","stop","firstUpdated","disconnectedCallback","cleanup","removeOpenListeners","cleanupPortalAppend","focusOnTrigger","focus","getMenu","find","el","tagName","toLowerCase","stopPropagation","_document$activeEleme","document","activeElement","preventDefault","setTimeout","_this4$containingElem","_document$activeEleme2","_this4$portalManager","getRootNode","ShadowRoot","shadowRoot","hitSelf","closest","hitPortalAppend","portalContainerElement","path","composedPath","includes","show","handleTriggerClick","handleTriggerKeyDown","menu","menuItems","getAllItems","firstMenuItem","lastMenuItem","length","then","setCurrentItem","handleTriggerKeyUp","handleTriggerSlotChange","updateAccessibleTrigger","accessibleTrigger","getTabbableBoundary","start","button","setAttribute","_show","_callee2","wrap","_callee2$","_context3","prev","next","waitForEvent","_callee3","_callee3$","_context4","reposition","addEventListener","removeEventListener","updated","changedProperties","has","setupPortalAppend","updateTriggerDisabledState","querySelector","_handleOpenChange","_callee4","_this$visibilityManag2","_d","_t","_i","_this$visibilityManag3","_d2","_t2","_i2","_callee4$","_context5","setup","stopAnimations","getAnimation","dir","keyframes","options","animateTo","handleOpenChange","render","html","_templateObject","_taggedTemplateLiteral","sync","classMap","dropdown","NileElement","styles","__decorate","query","prototype","property","type","Boolean","reflect","attribute","Number","watch","waitUntilFirstUpdate","customElement","setDefaultAnimation","opacity","scale","duration","easing"],"mappings":"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"}
1
+ {"version":3,"file":"nile-dropdown.cjs.js","sources":["../../../src/nile-dropdown/nile-dropdown.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 {LitElement, html, CSSResultArray, TemplateResult, PropertyValues} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport {styles} from './nile-dropdown.css';\nimport { animateTo, stopAnimations } from '../internal/animate';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query } from 'lit/decorators.js';\nimport { getAnimation, setDefaultAnimation } from '../utilities/animation-registry';\nimport { getTabbableBoundary } from '../internal/tabbable';\nimport { waitForEvent } from '../internal/event';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup } from 'lit';\nimport type NileButton from '../nile-button/nile-button';\nimport type NileIconButton from '../nile-icon-button/nile-icon-button';\nimport type { NileMenu } from '../nile-menu';\nimport type { NilePopup } from '../nile-popup';\nimport '../nile-popup';\nimport { DropdownPortalManager } from './portal-manager';\nimport { VisibilityManager } from '../utilities/visibility-manager.js';\n\n/**\n * Nile icon component.\n *\n * @tag nile-dropdown\n * @summary Dropdowns expose additional content that \"drops down\" in a panel.\n * @dependency nile-popup\n *\n * @slot - The dropdown's main content.\n * @slot trigger - The dropdown's trigger, usually a `<nile-button>` element.\n *\n * @event nile-show - Emitted when the dropdown opens.\n * @event nile-after-show - Emitted after the dropdown opens and all animations are complete.\n * @event nile-hide - Emitted when the dropdown closes.\n * @event nile-after-hide - Emitted after the dropdown closes and all animations are complete.\n *\n * @csspart base - The component's base wrapper.\n * @csspart trigger - The container that wraps the trigger.\n * @csspart panel - The panel that gets shown when the dropdown is open.\n *\n * @animation dropdown.show - The animation to use when showing the dropdown.\n * @animation dropdown.hide - The animation to use when hiding the dropdown.\n */\n@customElement('nile-dropdown')\nexport class NileDropdown extends NileElement {\n static styles: CSSResultGroup = styles;\n\n @query('.dropdown') popup: NilePopup;\n @query('.dropdown__trigger') trigger: HTMLSlotElement;\n @query('.dropdown__panel') panel: HTMLSlotElement;\n\n\n /**\n * Indicates whether or not the dropdown is open. You can toggle this attribute to show and hide the dropdown, or you\n * can use the `show()` and `hide()` methods and this attribute will reflect the dropdown's open state.\n */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /**\n * The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\n * inside of the viewport.\n */\n @property({ reflect: true }) placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'bottom-start';\n\n /** Disables the dropdown so the panel will not open. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /**\n * By default, the dropdown is closed when an item is selected. This attribute will keep it open instead. Useful for\n * dropdowns that allow for multiple interactions.\n */\n @property({ attribute: 'stay-open-on-select', type: Boolean, reflect: true }) stayOpenOnSelect = false;\n\n /**\n * The dropdown will close when the user interacts outside of this element (e.g. clicking). Useful for composing other\n * components that use a dropdown internally.\n */\n @property({ attribute: false }) containingElement?: HTMLElement;\n\n /** The distance in pixels from which to offset the panel away from its trigger. */\n @property({ type: Number }) distance = 0;\n\n\n @property({ type: Boolean }) noOpenOnClick = false;\n\n /** The distance in pixels from which to offset the panel along its trigger. */\n @property({ type: Number }) skidding = 0;\n\n /** Syncs the popup's width or height to that of the anchor element. */\n @property() sync: 'width' | 'height' | 'both';\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n */\n @property({ type: Boolean }) hoist = false;\n\n /**\n * Enable portal mode to render the dropdown panel in a portal outside the component's DOM tree.\n * This provides better positioning control and prevents clipping issues in complex layouts.\n */\n @property({ type: Boolean, reflect: true }) portal = false;\n\n @property({ type: Boolean, reflect: true }) enableVisibilityEffect = false;\n\n @property({ type: Boolean, reflect: true }) enableTabClose = false;\n\n\n private portalManager: DropdownPortalManager | null = null;\n private visibilityManager?: VisibilityManager;\n\n connectedCallback() {\n super.connectedCallback();\n this.handlePanelSelect = this.handlePanelSelect.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);\n\n if (!this.containingElement) {\n this.containingElement = this;\n }\n this.emit('nile-init');\n\n requestAnimationFrame(() => {\n if (this.portal && !this.portalManager) {\n this.portalManager = new DropdownPortalManager(this);\n }\n });\n }\n\n protected async firstUpdated(_changed: PropertyValues) {\n \n this.panel.hidden = !this.open;\n\n // If the dropdown is visible on init, update its position\n if (this.open) {\n this.addOpenListeners();\n this.popup.active = true;\n }\n \n await this.updateComplete;\n const triggerNode = this.trigger.assignedElements({ flatten: true })[0] as HTMLElement | undefined;\n \n this.visibilityManager = new VisibilityManager({\n host: this,\n target: triggerNode || null,\n enableVisibilityEffect: this.enableVisibilityEffect,\n enableTabClose: this.enableTabClose,\n isOpen: () => this.open,\n onAnchorOutOfView: () => {\n this.hide();\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'anchor-out-of-view',\n });\n },\n onDocumentHidden: () => {\n this.hide();\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'document-hidden',\n });\n },\n emit: (event, detail) => this.emit(`nile-${event}`, detail),\n });\n }\n \n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.visibilityManager?.cleanup();\n this.removeOpenListeners();\n this.hide();\n this.emit('nile-destroy');\n\n if (this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n this.portalManager = null;\n }\n }\n\n focusOnTrigger() {\n const trigger = this.trigger.assignedElements({ flatten: true })[0] as HTMLElement | undefined;\n if (typeof trigger?.focus === 'function') {\n trigger.focus();\n }\n }\n\n getMenu() {\n return this.panel.assignedElements({ flatten: true }).find(el => el.tagName.toLowerCase() === 'nile-menu') as\n | NileMenu\n | undefined;\n }\n\n handleKeyDown(event: KeyboardEvent) {\n // Close when escape is pressed inside an open dropdown. We need to listen on the panel itself and stop propagation\n // in case any ancestors are also listening for this key.\n if (this.open && event.key === 'Escape') {\n event.stopPropagation();\n this.hide();\n this.focusOnTrigger();\n }\n }\n\n handleDocumentKeyDown(event: KeyboardEvent) {\n // Close when escape or tab is pressed\n if (event.key === 'Escape' && this.open) {\n event.stopPropagation();\n this.focusOnTrigger();\n this.hide();\n return;\n }\n\n // Handle tabbing\n if (event.key === 'Tab') {\n // Tabbing within an open menu should close the dropdown and refocus the trigger\n if (this.open && document.activeElement?.tagName.toLowerCase() === 'nile-menu-item') {\n event.preventDefault();\n this.hide();\n this.focusOnTrigger();\n return;\n }\n\n // Tabbing outside of the containing element closes the panel\n //\n // If the dropdown is used within a shadow DOM, we need to obtain the activeElement within that shadowRoot,\n // otherwise `document.activeElement` will only return the name of the parent shadow DOM element.\n setTimeout(() => {\n const activeElement =\n this.containingElement?.getRootNode() instanceof ShadowRoot\n ? document.activeElement?.shadowRoot?.activeElement\n : document.activeElement;\n\n const hitSelf = this.containingElement && activeElement?.closest(this.containingElement.tagName.toLowerCase()) === this.containingElement;\n const hitPortalAppend = this.portal && this.portalManager?.portalContainerElement && \n (activeElement === this.portalManager.portalContainerElement || \n activeElement?.closest('.nile-dropdown-portal-append') === this.portalManager.portalContainerElement);\n\n if (!hitSelf && !hitPortalAppend) {\n this.hide();\n }\n });\n }\n }\n\n handleDocumentMouseDown(event: MouseEvent) {\n // Close when clicking outside of the containing element\n const path = event.composedPath();\n const hitSelf = this.containingElement && path.includes(this.containingElement);\n const hitPortalAppend = this.portal && this.portalManager?.portalContainerElement && path.includes(this.portalManager.portalContainerElement);\n\n if (!hitSelf && !hitPortalAppend) {\n this.hide();\n }\n }\n\n handlePanelSelect(event: any) {\n const target = event.target as HTMLElement;\n\n // Hide the dropdown when a menu item is selected\n if (!this.stayOpenOnSelect && target.tagName.toLowerCase() === 'nile-menu') {\n this.hide();\n this.focusOnTrigger();\n } else if(this.stayOpenOnSelect && target.tagName.toLowerCase() === 'nile-menu') {\n this.show();\n this.focusOnTrigger();\n }\n }\n\n handleTriggerClick() {\n if(this.noOpenOnClick){\n return;\n }\n if (this.open) {\n this.hide();\n } else {\n this.show();\n this.focusOnTrigger();\n }\n }\n\n handleTriggerKeyDown(event: KeyboardEvent) {\n // When spacebar/enter is pressed, show the panel but don't focus on the menu. This let's the user press the same\n // key again to hide the menu in case they don't want to make a selection.\n // if (['Enter'].includes(event.key)) {\n // event.preventDefault();\n // this.handleTriggerClick();\n // return;\n // }\n\n const menu = this.getMenu();\n\n if (menu) {\n const menuItems = menu.getAllItems();\n const firstMenuItem = menuItems[0];\n const lastMenuItem = menuItems[menuItems.length - 1];\n\n // When up/down is pressed, we make the assumption that the user is familiar with the menu and plans to make a\n // selection. Rather than toggle the panel, we focus on the menu (if one exists) and activate the first item for\n // faster navigation.\n if (['ArrowDown', 'ArrowUp', 'Home', 'End'].includes(event.key)) {\n event.preventDefault();\n\n // Show the menu if it's not already open\n if (!this.open) {\n this.show();\n }\n\n if (menuItems.length > 0) {\n // Focus on the first/last menu item after showing\n this.updateComplete.then(() => {\n if (event.key === 'ArrowDown' || event.key === 'Home') {\n menu.setCurrentItem(firstMenuItem);\n firstMenuItem.focus();\n }\n\n if (event.key === 'ArrowUp' || event.key === 'End') {\n menu.setCurrentItem(lastMenuItem);\n lastMenuItem.focus();\n }\n });\n }\n }\n }\n }\n\n handleTriggerKeyUp(event: KeyboardEvent) {\n // Prevent space from triggering a click event in Firefox\n if (event.key === ' ') {\n event.preventDefault();\n }\n }\n\n handleTriggerSlotChange() {\n this.updateAccessibleTrigger();\n }\n\n //\n // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and\n // `aria-expanded`. These must be applied to the \"accessible trigger\" (the tabbable portion of the trigger element\n // that gets slotted in) so screen readers will understand them. The accessible trigger could be the slotted element,\n // a child of the slotted element, or an element in the slotted element's shadow root.\n //\n // For example, the accessible trigger of an <nile-button> is a <button> located inside its shadow root.\n //\n // To determine this, we assume the first tabbable element in the trigger slot is the \"accessible trigger.\"\n //\n updateAccessibleTrigger() {\n const assignedElements = this.trigger.assignedElements({ flatten: true }) as HTMLElement[];\n const accessibleTrigger = assignedElements.find(el => getTabbableBoundary(el).start);\n let target: HTMLElement;\n\n if (accessibleTrigger) {\n switch (accessibleTrigger.tagName.toLowerCase()) {\n // nile buttons have to update the internal button so it's announced correctly by screen readers\n case 'nile-button':\n case 'nile-icon-button':\n target = (accessibleTrigger as NileButton | NileIconButton).button;\n break;\n\n default:\n target = accessibleTrigger;\n }\n\n target.setAttribute('aria-haspopup', 'true');\n target.setAttribute('aria-expanded', this.open ? 'true' : 'false');\n }\n }\n\n /** Shows the dropdown panel. */\n async show() {\n if (this.open) {\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, 'nile-after-show');\n }\n\n /** Hides the dropdown panel */\n async hide() {\n if (!this.open) {\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, 'nile-after-hide');\n }\n\n /**\n * Instructs the dropdown menu to reposition. Useful when the position or size of the trigger changes when the menu\n * is activated.\n */\n reposition() {\n this.popup.reposition();\n }\n\n addOpenListeners() {\n this.panel.addEventListener('nile-select', this.handlePanelSelect);\n this.panel.addEventListener('keydown', this.handleKeyDown);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n }\n\n removeOpenListeners() {\n if (this.panel) {\n this.panel.removeEventListener('nile-select', this.handlePanelSelect);\n this.panel.removeEventListener('keydown', this.handleKeyDown);\n }\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n }\n\n protected updated(changedProperties: PropertyValues): void {\n super.updated(changedProperties);\n \n if (changedProperties.has('portal')) {\n if (this.portal && !this.portalManager) {\n this.portalManager = new DropdownPortalManager(this);\n if (this.open) {\n this.portalManager.setupPortalAppend();\n }\n } else if (!this.portal && this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n this.portalManager = null;\n }\n }\n if (changedProperties.has('disabled')) {\n this.updateTriggerDisabledState();\n }\n }\n \n private updateTriggerDisabledState() {\n const trigger = this.querySelector('[slot=\"trigger\"]') as any;\n if (!trigger) return;\n const triggerAlreadyDisabled = trigger.hasAttribute('disabled');\n if (this.disabled || triggerAlreadyDisabled) {\n trigger.disabled = true;\n this.disabled = true;\n }\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n this.visibilityManager?.setup();\n if (this.disabled) {\n this.open = false;\n return;\n }\n\n this.updateAccessibleTrigger();\n\n if (this.open) {\n // Show\n this.emit('nile-show');\n this.addOpenListeners();\n\n if (this.portal && this.portalManager) {\n this.portalManager.setupPortalAppend();\n } else if (this.portal && !this.portalManager) {\n this.portalManager = new DropdownPortalManager(this);\n this.portalManager.setupPortalAppend();\n }\n\n await stopAnimations(this);\n \n // Only show panel and animate if not using portal\n if (!this.portal) {\n this.panel.hidden = false;\n this.popup.active = true;\n const { keyframes, options } = getAnimation(this, 'dropdown.show', { dir: '' });\n await animateTo(this.popup.popup, keyframes, options);\n }\n\n this.emit('nile-after-show');\n } else {\n // Hide\n this.emit('nile-hide');\n this.removeOpenListeners();\n this.visibilityManager?.cleanup();\n\n if (this.portal && this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n }\n\n await stopAnimations(this);\n \n // Only hide panel and animate if not using portal\n if (!this.portal) {\n const { keyframes, options } = getAnimation(this, 'dropdown.hide', { dir: '' });\n await animateTo(this.popup.popup, keyframes, options);\n this.panel.hidden = true;\n this.popup.active = false;\n }\n\n this.emit('nile-after-hide');\n }\n }\n\n render() {\n return html`\n <nile-popup\n part=\"base\"\n id=\"dropdown\"\n placement=${this.placement}\n distance=${this.distance}\n skidding=${this.skidding}\n strategy=${this.hoist ? 'fixed' : 'absolute'}\n sync=${this.sync}\n flip\n shift\n auto-size=\"both\"\n auto-size-padding=\"10\"\n class=${classMap({\n dropdown: true,\n 'dropdown--open': this.open\n })}\n >\n <slot\n name=\"trigger\"\n slot=\"anchor\"\n part=\"trigger\"\n class=\"dropdown__trigger\"\n @click=${this.handleTriggerClick}\n @keydown=${this.handleTriggerKeyDown}\n @keyup=${this.handleTriggerKeyUp}\n @slotchange=${this.handleTriggerSlotChange}\n ></slot>\n\n <slot\n part=\"panel\"\n class=\"dropdown__panel\"\n aria-hidden=${this.open ? 'false' : 'true'}\n aria-labelledby=\"dropdown\"\n style=${this.portal && this.portalManager ? 'display: none;' : ''}\n ></slot>\n </nile-popup>\n `;\n }\n}\n\nsetDefaultAnimation('dropdown.show', {\n keyframes: [\n { opacity: 0, scale: 0.9 },\n { opacity: 1, scale: 1 }\n ],\n options: { duration: 100, easing: 'ease' }\n});\n\nsetDefaultAnimation('dropdown.hide', {\n keyframes: [\n { opacity: 1, scale: 1 },\n { opacity: 0, scale: 0.9 }\n ],\n options: { duration: 100, easing: 'ease' }\n});\n\nexport default NileDropdown;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-dropdown': NileDropdown;\n }\n}\n"],"names":["NileDropdown","y","this","open","placement","disabled","stayOpenOnSelect","distance","noOpenOnClick","skidding","hoist","portal","enableVisibilityEffect","enableTabClose","portalManager","_this","_inherits","_u","_createClass","key","value","connectedCallback","super","handlePanelSelect","bind","handleKeyDown","handleDocumentKeyDown","handleDocumentMouseDown","containingElement","emit","requestAnimationFrame","DropdownPortalManager","_firstUpdated","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_changed","panel","hidden","addOpenListeners","popup","active","_context2","next","updateComplete","triggerNode","trigger","assignedElements","flatten","visibilityManager","VisibilityManager","host","target","isOpen","onAnchorOutOfView","hide","visible","reason","onDocumentHidden","event","detail","stop","firstUpdated","disconnectedCallback","cleanup","removeOpenListeners","cleanupPortalAppend","focusOnTrigger","focus","getMenu","find","el","tagName","toLowerCase","stopPropagation","_this4","_document$activeEleme","document","activeElement","preventDefault","setTimeout","_this4$containingElem","_document$activeEleme2","_this4$portalManager","getRootNode","ShadowRoot","shadowRoot","hitSelf","closest","hitPortalAppend","portalContainerElement","_this$portalManager","path","composedPath","includes","show","handleTriggerClick","handleTriggerKeyDown","menu","menuItems","getAllItems","firstMenuItem","lastMenuItem","length","then","setCurrentItem","handleTriggerKeyUp","handleTriggerSlotChange","updateAccessibleTrigger","accessibleTrigger","getTabbableBoundary","start","button","setAttribute","_show","_callee2","wrap","_callee2$","_context3","prev","waitForEvent","_callee3","_callee3$","_context4","abrupt","reposition","addEventListener","removeEventListener","updated","changedProperties","has","setupPortalAppend","updateTriggerDisabledState","querySelector","triggerAlreadyDisabled","hasAttribute","_handleOpenChange","_callee4","_this$visibilityManag2","_d","_t","_i","_this$visibilityManag3","_d2","_t2","_i2","_callee4$","_context5","setup","stopAnimations","getAnimation","dir","animateTo","keyframes","options","handleOpenChange","render","html","_templateObject","_taggedTemplateLiteral","sync","classMap","dropdown","NileElement","styles","__decorate","query","prototype","property","type","Boolean","reflect","attribute","Number","watch","waitUntilFirstUpdate","customElement","setDefaultAnimation","opacity","scale","duration","easing"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import{__decorate as t}from"tslib";import{html as i}from"lit";import{query as s,property as e,customElement as n}from"lit/decorators.js";import{s as o}from"./nile-dropdown.css.esm.js";import{s as h,a}from"../internal/animate.esm.js";import{classMap as r}from"lit/directives/class-map.js";import{s as l,g as d}from"../utilities/animation-registry.esm.js";import{g as p}from"../internal/tabbable.esm.js";import{w as c}from"../internal/event.esm.js";import{w as m}from"../internal/watch.esm.js";import{N as u}from"../internal/nile-element.esm.js";import"../nile-popup/nile-popup.esm.js";import{D as f}from"./portal-manager.esm.js";import{V as w}from"../utilities/visibility-manager.esm.js";import"../floating-ui.dom-cc9126da.esm.js";import"../nile-popup/nile-popup.css.esm.js";import"./portal-utils.esm.js";let y=class extends u{constructor(){super(...arguments),this.open=!1,this.placement="bottom-start",this.disabled=!1,this.stayOpenOnSelect=!1,this.distance=0,this.noOpenOnClick=!1,this.skidding=0,this.hoist=!1,this.portal=!1,this.enableVisibilityEffect=!1,this.enableTabClose=!1,this.portalManager=null}connectedCallback(){super.connectedCallback(),this.handlePanelSelect=this.handlePanelSelect.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.containingElement||(this.containingElement=this),this.emit("nile-init"),requestAnimationFrame((()=>{this.portal&&!this.portalManager&&(this.portalManager=new f(this))}))}async firstUpdated(t){this.panel.hidden=!this.open,this.open&&(this.addOpenListeners(),this.popup.active=!0),await this.updateComplete;const i=this.trigger.assignedElements({flatten:!0})[0];this.visibilityManager=new w({host:this,target:i||null,enableVisibilityEffect:this.enableVisibilityEffect,enableTabClose:this.enableTabClose,isOpen:()=>this.open,onAnchorOutOfView:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"anchor-out-of-view"})},onDocumentHidden:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"document-hidden"})},emit:(t,i)=>this.emit(`nile-${t}`,i)})}disconnectedCallback(){super.disconnectedCallback(),this.visibilityManager?.cleanup(),this.removeOpenListeners(),this.hide(),this.emit("nile-destroy"),this.portalManager&&(this.portalManager.cleanupPortalAppend(),this.portalManager=null)}focusOnTrigger(){const t=this.trigger.assignedElements({flatten:!0})[0];"function"==typeof t?.focus&&t.focus()}getMenu(){return this.panel.assignedElements({flatten:!0}).find((t=>"nile-menu"===t.tagName.toLowerCase()))}handleKeyDown(t){this.open&&"Escape"===t.key&&(t.stopPropagation(),this.hide(),this.focusOnTrigger())}handleDocumentKeyDown(t){if("Escape"===t.key&&this.open)return t.stopPropagation(),this.focusOnTrigger(),void this.hide();if("Tab"===t.key){if(this.open&&"nile-menu-item"===document.activeElement?.tagName.toLowerCase())return t.preventDefault(),this.hide(),void this.focusOnTrigger();setTimeout((()=>{const t=this.containingElement?.getRootNode()instanceof ShadowRoot?document.activeElement?.shadowRoot?.activeElement:document.activeElement,i=this.containingElement&&t?.closest(this.containingElement.tagName.toLowerCase())===this.containingElement,s=this.portal&&this.portalManager?.portalContainerElement&&(t===this.portalManager.portalContainerElement||t?.closest(".nile-dropdown-portal-append")===this.portalManager.portalContainerElement);i||s||this.hide()}))}}handleDocumentMouseDown(t){const i=t.composedPath(),s=this.containingElement&&i.includes(this.containingElement),e=this.portal&&this.portalManager?.portalContainerElement&&i.includes(this.portalManager.portalContainerElement);s||e||this.hide()}handlePanelSelect(t){const i=t.target;this.stayOpenOnSelect||"nile-menu"!==i.tagName.toLowerCase()?this.stayOpenOnSelect&&"nile-menu"===i.tagName.toLowerCase()&&(this.show(),this.focusOnTrigger()):(this.hide(),this.focusOnTrigger())}handleTriggerClick(){this.noOpenOnClick||(this.open?this.hide():(this.show(),this.focusOnTrigger()))}handleTriggerKeyDown(t){const i=this.getMenu();if(i){const s=i.getAllItems(),e=s[0],n=s[s.length-1];["ArrowDown","ArrowUp","Home","End"].includes(t.key)&&(t.preventDefault(),this.open||this.show(),s.length>0&&this.updateComplete.then((()=>{"ArrowDown"!==t.key&&"Home"!==t.key||(i.setCurrentItem(e),e.focus()),"ArrowUp"!==t.key&&"End"!==t.key||(i.setCurrentItem(n),n.focus())})))}}handleTriggerKeyUp(t){" "===t.key&&t.preventDefault()}handleTriggerSlotChange(){this.updateAccessibleTrigger()}updateAccessibleTrigger(){const t=this.trigger.assignedElements({flatten:!0}).find((t=>p(t).start));let i;if(t){switch(t.tagName.toLowerCase()){case"nile-button":case"nile-icon-button":i=t.button;break;default:i=t}i.setAttribute("aria-haspopup","true"),i.setAttribute("aria-expanded",this.open?"true":"false")}}async show(){if(!this.open)return this.open=!0,c(this,"nile-after-show")}async hide(){if(this.open)return this.open=!1,c(this,"nile-after-hide")}reposition(){this.popup.reposition()}addOpenListeners(){this.panel.addEventListener("nile-select",this.handlePanelSelect),this.panel.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown)}removeOpenListeners(){this.panel&&(this.panel.removeEventListener("nile-select",this.handlePanelSelect),this.panel.removeEventListener("keydown",this.handleKeyDown)),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown)}updated(t){super.updated(t),t.has("portal")&&(this.portal&&!this.portalManager?(this.portalManager=new f(this),this.open&&this.portalManager.setupPortalAppend()):!this.portal&&this.portalManager&&(this.portalManager.cleanupPortalAppend(),this.portalManager=null)),t.has("disabled")&&this.updateTriggerDisabledState()}updateTriggerDisabledState(){const t=this.querySelector('[slot="trigger"]');t&&"disabled"in t&&(t.disabled=this.disabled)}async handleOpenChange(){if(this.visibilityManager?.setup(),this.disabled)this.open=!1;else if(this.updateAccessibleTrigger(),this.open){if(this.emit("nile-show"),this.addOpenListeners(),this.portal&&this.portalManager?this.portalManager.setupPortalAppend():this.portal&&!this.portalManager&&(this.portalManager=new f(this),this.portalManager.setupPortalAppend()),await h(this),!this.portal){this.panel.hidden=!1,this.popup.active=!0;const{keyframes:t,options:i}=d(this,"dropdown.show",{dir:""});await a(this.popup.popup,t,i)}this.emit("nile-after-show")}else{if(this.emit("nile-hide"),this.removeOpenListeners(),this.visibilityManager?.cleanup(),this.portal&&this.portalManager&&this.portalManager.cleanupPortalAppend(),await h(this),!this.portal){const{keyframes:t,options:i}=d(this,"dropdown.hide",{dir:""});await a(this.popup.popup,t,i),this.panel.hidden=!0,this.popup.active=!1}this.emit("nile-after-hide")}}render(){return i`
1
+ import{__decorate as t}from"tslib";import{html as i}from"lit";import{query as s,property as e,customElement as n}from"lit/decorators.js";import{s as o}from"./nile-dropdown.css.esm.js";import{s as h,a}from"../internal/animate.esm.js";import{classMap as r}from"lit/directives/class-map.js";import{s as l,g as d}from"../utilities/animation-registry.esm.js";import{g as p}from"../internal/tabbable.esm.js";import{w as c}from"../internal/event.esm.js";import{w as m}from"../internal/watch.esm.js";import{N as u}from"../internal/nile-element.esm.js";import"../nile-popup/nile-popup.esm.js";import{D as f}from"./portal-manager.esm.js";import{V as w}from"../utilities/visibility-manager.esm.js";import"../floating-ui.dom-cc9126da.esm.js";import"../nile-popup/nile-popup.css.esm.js";import"./portal-utils.esm.js";let y=class extends u{constructor(){super(...arguments),this.open=!1,this.placement="bottom-start",this.disabled=!1,this.stayOpenOnSelect=!1,this.distance=0,this.noOpenOnClick=!1,this.skidding=0,this.hoist=!1,this.portal=!1,this.enableVisibilityEffect=!1,this.enableTabClose=!1,this.portalManager=null}connectedCallback(){super.connectedCallback(),this.handlePanelSelect=this.handlePanelSelect.bind(this),this.handleKeyDown=this.handleKeyDown.bind(this),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.containingElement||(this.containingElement=this),this.emit("nile-init"),requestAnimationFrame((()=>{this.portal&&!this.portalManager&&(this.portalManager=new f(this))}))}async firstUpdated(t){this.panel.hidden=!this.open,this.open&&(this.addOpenListeners(),this.popup.active=!0),await this.updateComplete;const i=this.trigger.assignedElements({flatten:!0})[0];this.visibilityManager=new w({host:this,target:i||null,enableVisibilityEffect:this.enableVisibilityEffect,enableTabClose:this.enableTabClose,isOpen:()=>this.open,onAnchorOutOfView:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"anchor-out-of-view"})},onDocumentHidden:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"document-hidden"})},emit:(t,i)=>this.emit(`nile-${t}`,i)})}disconnectedCallback(){super.disconnectedCallback(),this.visibilityManager?.cleanup(),this.removeOpenListeners(),this.hide(),this.emit("nile-destroy"),this.portalManager&&(this.portalManager.cleanupPortalAppend(),this.portalManager=null)}focusOnTrigger(){const t=this.trigger.assignedElements({flatten:!0})[0];"function"==typeof t?.focus&&t.focus()}getMenu(){return this.panel.assignedElements({flatten:!0}).find((t=>"nile-menu"===t.tagName.toLowerCase()))}handleKeyDown(t){this.open&&"Escape"===t.key&&(t.stopPropagation(),this.hide(),this.focusOnTrigger())}handleDocumentKeyDown(t){if("Escape"===t.key&&this.open)return t.stopPropagation(),this.focusOnTrigger(),void this.hide();if("Tab"===t.key){if(this.open&&"nile-menu-item"===document.activeElement?.tagName.toLowerCase())return t.preventDefault(),this.hide(),void this.focusOnTrigger();setTimeout((()=>{const t=this.containingElement?.getRootNode()instanceof ShadowRoot?document.activeElement?.shadowRoot?.activeElement:document.activeElement,i=this.containingElement&&t?.closest(this.containingElement.tagName.toLowerCase())===this.containingElement,s=this.portal&&this.portalManager?.portalContainerElement&&(t===this.portalManager.portalContainerElement||t?.closest(".nile-dropdown-portal-append")===this.portalManager.portalContainerElement);i||s||this.hide()}))}}handleDocumentMouseDown(t){const i=t.composedPath(),s=this.containingElement&&i.includes(this.containingElement),e=this.portal&&this.portalManager?.portalContainerElement&&i.includes(this.portalManager.portalContainerElement);s||e||this.hide()}handlePanelSelect(t){const i=t.target;this.stayOpenOnSelect||"nile-menu"!==i.tagName.toLowerCase()?this.stayOpenOnSelect&&"nile-menu"===i.tagName.toLowerCase()&&(this.show(),this.focusOnTrigger()):(this.hide(),this.focusOnTrigger())}handleTriggerClick(){this.noOpenOnClick||(this.open?this.hide():(this.show(),this.focusOnTrigger()))}handleTriggerKeyDown(t){const i=this.getMenu();if(i){const s=i.getAllItems(),e=s[0],n=s[s.length-1];["ArrowDown","ArrowUp","Home","End"].includes(t.key)&&(t.preventDefault(),this.open||this.show(),s.length>0&&this.updateComplete.then((()=>{"ArrowDown"!==t.key&&"Home"!==t.key||(i.setCurrentItem(e),e.focus()),"ArrowUp"!==t.key&&"End"!==t.key||(i.setCurrentItem(n),n.focus())})))}}handleTriggerKeyUp(t){" "===t.key&&t.preventDefault()}handleTriggerSlotChange(){this.updateAccessibleTrigger()}updateAccessibleTrigger(){const t=this.trigger.assignedElements({flatten:!0}).find((t=>p(t).start));let i;if(t){switch(t.tagName.toLowerCase()){case"nile-button":case"nile-icon-button":i=t.button;break;default:i=t}i.setAttribute("aria-haspopup","true"),i.setAttribute("aria-expanded",this.open?"true":"false")}}async show(){if(!this.open)return this.open=!0,c(this,"nile-after-show")}async hide(){if(this.open)return this.open=!1,c(this,"nile-after-hide")}reposition(){this.popup.reposition()}addOpenListeners(){this.panel.addEventListener("nile-select",this.handlePanelSelect),this.panel.addEventListener("keydown",this.handleKeyDown),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown)}removeOpenListeners(){this.panel&&(this.panel.removeEventListener("nile-select",this.handlePanelSelect),this.panel.removeEventListener("keydown",this.handleKeyDown)),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown)}updated(t){super.updated(t),t.has("portal")&&(this.portal&&!this.portalManager?(this.portalManager=new f(this),this.open&&this.portalManager.setupPortalAppend()):!this.portal&&this.portalManager&&(this.portalManager.cleanupPortalAppend(),this.portalManager=null)),t.has("disabled")&&this.updateTriggerDisabledState()}updateTriggerDisabledState(){const t=this.querySelector('[slot="trigger"]');if(!t)return;const i=t.hasAttribute("disabled");(this.disabled||i)&&(t.disabled=!0,this.disabled=!0)}async handleOpenChange(){if(this.visibilityManager?.setup(),this.disabled)this.open=!1;else if(this.updateAccessibleTrigger(),this.open){if(this.emit("nile-show"),this.addOpenListeners(),this.portal&&this.portalManager?this.portalManager.setupPortalAppend():this.portal&&!this.portalManager&&(this.portalManager=new f(this),this.portalManager.setupPortalAppend()),await h(this),!this.portal){this.panel.hidden=!1,this.popup.active=!0;const{keyframes:t,options:i}=d(this,"dropdown.show",{dir:""});await a(this.popup.popup,t,i)}this.emit("nile-after-show")}else{if(this.emit("nile-hide"),this.removeOpenListeners(),this.visibilityManager?.cleanup(),this.portal&&this.portalManager&&this.portalManager.cleanupPortalAppend(),await h(this),!this.portal){const{keyframes:t,options:i}=d(this,"dropdown.hide",{dir:""});await a(this.popup.popup,t,i),this.panel.hidden=!0,this.popup.active=!1}this.emit("nile-after-hide")}}render(){return i`
2
2
  <nile-popup
3
3
  part="base"
4
4
  id="dropdown"
@@ -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-grid.css.cjs.js","../internal/nile-element.cjs.js","./nile-grid.width.cjs.js","./types/nile-grid.enums.cjs.js"],function(_export,_context){"use strict";var t,i,s,e,h,r,o,d,a,l,n,c,u,v,m,p,b,w,f,_templateObject,g;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){t=_tslib.__decorate;},function(_lit){i=_lit.html;},function(_litDecoratorsJs){s=_litDecoratorsJs.state;e=_litDecoratorsJs.query;h=_litDecoratorsJs.property;r=_litDecoratorsJs.customElement;},function(_nileGridCssCjsJs){o=_nileGridCssCjsJs.s;},function(_internalNileElementCjsJs){d=_internalNileElementCjsJs.N;},function(_nileGridWidthCjsJs){a=_nileGridWidthCjsJs.s;l=_nileGridWidthCjsJs.c;n=_nileGridWidthCjsJs.a;c=_nileGridWidthCjsJs.u;u=_nileGridWidthCjsJs.r;v=_nileGridWidthCjsJs.b;m=_nileGridWidthCjsJs.l;p=_nileGridWidthCjsJs.d;b=_nileGridWidthCjsJs.g;w=_nileGridWidthCjsJs.e;f=_nileGridWidthCjsJs.f;},function(_typesNileGridEnumsCjsJs){}],execute:function execute(){_export("N",g=/*#__PURE__*/function(_d){function g(){var _this;_classCallCheck(this,g);_this=_callSuper(this,g),_this.columnWidths=[],_this.enableScroll=!1,_this.hoverable=!1,_this.raf=0,_this.minColumnWidth=40,_this.stickyLeftIndexes=[],_this.stickyRightIndexes=[],_this.cellHeight=null,_this.headHeight=null,_this.widthsInitialized=!1,_this.lockedWidthColumns=[],_this.prefixSumColumnsWidth=[],_this.stickyColumns=[],_this.bodyRows=[],_this.headRows=[],_this.needsStructureLayout=!1,_this.needsWidthLayout=!1,_this.needsSpanLayout=!1,_this.colCount=0,_this.stickyLeftHeadEls=[],_this.stickyRightHeadEls=[],_this.stickyLeftBodyEls=[],_this.stickyRightBodyEls=[],_this.resizeTimer=0,_this.shadowRaf=0,_this.resizeBaseColumnWidths=[],_this.syncStickyShadowsRaf=function(){_this.shadowRaf||(_this.shadowRaf=requestAnimationFrame(function(){_this.shadowRaf=0,a(_assertThisInitialized(_this));}));},_this.onResize=function(t){t.stopPropagation(),_this.emit("nile-resize",{columnNumber:t.detail.col,columnWidth:t.detail.widthPx});var _t$detail=t.detail,i=_t$detail.col,s=_t$detail.widthPx;if(!_this.resizeBaseColumnWidths)return;l(_this.columnWidths,_this.resizeBaseColumnWidths);var _n=n({target:t.target,col:i,widthPx:s,floor:_this.minColumnWidth,columnWidths:_this.columnWidths}),e=_n.prevW,h=_n.newW,r=_n.delta0;0!==r?(_this.enableScroll?v({grid:_assertThisInitialized(_this),col:i,newW:h}):u({grid:_assertThisInitialized(_this),col:i,prevW:e,newW:h,floor:_this.minColumnWidth}),c(_assertThisInitialized(_this),i)):c(_assertThisInitialized(_this),i);};return _this;}_inherits(g,_d);return _createClass(g,[{key:"connectedCallback",value:function connectedCallback(){_superPropGet(g,"connectedCallback",this,3)([]),this.emit("nile-init");}},{key:"scheduleLayout",value:function scheduleLayout(){var _this2=this;this.raf&&cancelAnimationFrame(this.raf),this.raf=requestAnimationFrame(function(){_this2.raf=0,m(_this2,_this2.slotEl,_this2.ensureWidths.bind(_this2),_this2.stickyLeftIndexes,_this2.stickyRightIndexes),a(_this2);});}},{key:"ensureWidths",value:function ensureWidths(t){this.columnWidths.length!==t&&(this.columnWidths=Array(t).fill(0),this.lockedWidthColumns=Array(t).fill(!1));}},{key:"firstUpdated",value:function firstUpdated(){var _this3=this;this.setAttribute("role","table"),p(this,this.onResize,this.slotEl,this._attachObserverAndLayout.bind(this)),this.addEventListener("scroll",this.syncStickyShadowsRaf),this.resizeObserverStickyShadows=new ResizeObserver(function(){return a(_this3);}),this.resizeObserverStickyShadows.observe(this),this.syncStickyShadowsRaf();}},{key:"_attachObserverAndLayout",value:function _attachObserverAndLayout(){var _this$mo,_this4=this,_this$resizeObserver,_this$resizeObserver2,_this$columnWidths;(_this$mo=this.mo)!==null&&_this$mo!==void 0&&_this$mo.disconnect(),this.mo=new MutationObserver(function(){_this4.needsStructureLayout=!0,_this4.needsWidthLayout=!0,_this4.needsSpanLayout=!0,_this4.scheduleLayout();}),(_this$resizeObserver=this.resizeObserver)!==null&&_this$resizeObserver!==void 0&&_this$resizeObserver.disconnect(),this.resizeObserver=new ResizeObserver(function(){_this4.resizeTimer&&clearTimeout(_this4.resizeTimer),_this4.resizeTimer=setTimeout(function(){_this4.resizeTimer=0,_this4.needsWidthLayout=!0,_this4.scheduleLayout();},16);});var t=b(this.slotEl),i=w(this.slotEl);if(!t&&!i)return;var s=t!==null&&t!==void 0?t:this;this.mo.observe(s,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["colspan","rowspan","width","lockwidth","sticky"]}),(_this$resizeObserver2=this.resizeObserver)!==null&&_this$resizeObserver2!==void 0&&_this$resizeObserver2.observe(this),this.colCount&&((_this$columnWidths=this.columnWidths)===null||_this$columnWidths===void 0?void 0:_this$columnWidths.length)||(this.needsStructureLayout=!0,this.needsSpanLayout=!0,this.needsWidthLayout=!0,this.scheduleLayout());}},{key:"render",value:function render(){return i(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <div part=\"grid-base\" class=\"nile-grid-base\">\n <div part=\"grid-slot-wrapper\">\n <slot part=\"grid-slot\"></slot>\n </div>\n <div part=\"resize-start\" class=\"nile-resize-start\"></div>\n <div part=\"resize-end\" class=\"nile-resize-end\"></div>\n </div>\n "])));}},{key:"disconnectedCallback",value:function disconnectedCallback(){var _superPropGet2,_this$mo2,_this$resizeObserver3,_this$resizeObserverS;this.emit("nile-destroy"),(_superPropGet2=_superPropGet(g,"disconnectedCallback",this,3))!==null&&_superPropGet2!==void 0&&_superPropGet2([]),(_this$mo2=this.mo)!==null&&_this$mo2!==void 0&&_this$mo2.disconnect(),(_this$resizeObserver3=this.resizeObserver)!==null&&_this$resizeObserver3!==void 0&&_this$resizeObserver3.disconnect(),(_this$resizeObserverS=this.resizeObserverStickyShadows)!==null&&_this$resizeObserverS!==void 0&&_this$resizeObserverS.disconnect(),this.raf&&cancelAnimationFrame(this.raf),f(this,this.onResize,this.slotEl,this._attachObserverAndLayout.bind(this));}}],[{key:"styles",get:function get(){return[o];}}]);}(d));t([s()],g.prototype,"columnWidths",void 0),t([e("slot")],g.prototype,"slotEl",void 0),t([e(".nile-resize-start")],g.prototype,"resizeStart",void 0),t([e(".nile-resize-end")],g.prototype,"resizeEnd",void 0),t([e(".shadow-left")],g.prototype,"shadowLeft",void 0),t([e(".shadow-right")],g.prototype,"shadowRight",void 0),t([h({type:Boolean,attribute:!0,reflect:!0})],g.prototype,"enableScroll",void 0),t([h({type:Boolean,attribute:!0,reflect:!0})],g.prototype,"hoverable",void 0),t([h({type:Number,reflect:!0,attribute:!0})],g.prototype,"minColumnWidth",void 0),t([s()],g.prototype,"stickyLeftIndexes",void 0),t([s()],g.prototype,"stickyRightIndexes",void 0),t([s()],g.prototype,"cellHeight",void 0),t([s()],g.prototype,"headHeight",void 0),t([s()],g.prototype,"widthsInitialized",void 0),t([s()],g.prototype,"lockedWidthColumns",void 0),t([s()],g.prototype,"prefixSumColumnsWidth",void 0),t([s()],g.prototype,"stickyColumns",void 0),t([s()],g.prototype,"bodyRows",void 0),t([s()],g.prototype,"headRows",void 0),t([s()],g.prototype,"needsStructureLayout",void 0),t([s()],g.prototype,"needsWidthLayout",void 0),t([s()],g.prototype,"needsSpanLayout",void 0),t([s()],g.prototype,"colCount",void 0),_export("N",g=t([r("nile-grid")],g));}};});
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-grid.css.cjs.js","../internal/nile-element.cjs.js","./nile-grid.width.cjs.js","./types/nile-grid.enums.cjs.js"],function(_export,_context){"use strict";var t,i,s,e,h,r,o,d,l,a,n,c,u,v,m,p,b,f,w,_templateObject,g;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){t=_tslib.__decorate;},function(_lit){i=_lit.html;},function(_litDecoratorsJs){s=_litDecoratorsJs.state;e=_litDecoratorsJs.query;h=_litDecoratorsJs.property;r=_litDecoratorsJs.customElement;},function(_nileGridCssCjsJs){o=_nileGridCssCjsJs.s;},function(_internalNileElementCjsJs){d=_internalNileElementCjsJs.N;},function(_nileGridWidthCjsJs){l=_nileGridWidthCjsJs.s;a=_nileGridWidthCjsJs.c;n=_nileGridWidthCjsJs.a;c=_nileGridWidthCjsJs.u;u=_nileGridWidthCjsJs.r;v=_nileGridWidthCjsJs.b;m=_nileGridWidthCjsJs.l;p=_nileGridWidthCjsJs.d;b=_nileGridWidthCjsJs.g;f=_nileGridWidthCjsJs.e;w=_nileGridWidthCjsJs.f;},function(_typesNileGridEnumsCjsJs){}],execute:function execute(){_export("N",g=/*#__PURE__*/function(_d){function g(){var _this;_classCallCheck(this,g);_this=_callSuper(this,g),_this.columnWidths=[],_this.enableScroll=!1,_this.hoverable=!1,_this.overflowScrollBehaviour="none",_this.raf=0,_this.minColumnWidth=40,_this.stickyLeftIndexes=[],_this.stickyRightIndexes=[],_this.cellHeight=null,_this.headHeight=null,_this.widthsInitialized=!1,_this.lockedWidthColumns=[],_this.prefixSumColumnsWidth=[],_this.stickyColumns=[],_this.bodyRows=[],_this.headRows=[],_this.needsStructureLayout=!1,_this.needsWidthLayout=!1,_this.needsSpanLayout=!1,_this.colCount=0,_this.isGridReady=!1,_this.stickyLeftHeadEls=[],_this.stickyRightHeadEls=[],_this.stickyLeftBodyEls=[],_this.stickyRightBodyEls=[],_this.resizeTimer=0,_this.shadowRaf=0,_this.resizeBaseColumnWidths=[],_this.syncStickyShadowsRaf=function(){_this.shadowRaf||(_this.shadowRaf=requestAnimationFrame(function(){_this.shadowRaf=0,l(_assertThisInitialized(_this));}));},_this.onResize=function(t){t.stopPropagation(),_this.emit("nile-resize",{columnNumber:t.detail.col,columnWidth:t.detail.widthPx});var _t$detail=t.detail,i=_t$detail.col,s=_t$detail.widthPx;if(!_this.resizeBaseColumnWidths)return;a(_this.columnWidths,_this.resizeBaseColumnWidths);var _n=n({target:t.target,col:i,widthPx:s,floor:_this.minColumnWidth,columnWidths:_this.columnWidths}),e=_n.prevW,h=_n.newW,r=_n.delta0;0!==r?(_this.enableScroll?v({grid:_assertThisInitialized(_this),col:i,newW:h}):u({grid:_assertThisInitialized(_this),col:i,prevW:e,newW:h,floor:_this.minColumnWidth}),c(_assertThisInitialized(_this),i)):c(_assertThisInitialized(_this),i);};return _this;}_inherits(g,_d);return _createClass(g,[{key:"connectedCallback",value:function connectedCallback(){_superPropGet(g,"connectedCallback",this,3)([]),this.emit("nile-init");}},{key:"updateOverscrollBehavior",value:function updateOverscrollBehavior(){var t=this.scrollHeight>this.clientHeight;this.style.overscrollBehavior=t?this.overflowScrollBehaviour:"";}},{key:"scheduleLayout",value:function scheduleLayout(){var _this2=this;this.raf&&cancelAnimationFrame(this.raf),this.raf=requestAnimationFrame(function(){_this2.raf=0,m(_this2,_this2.slotEl,_this2.ensureWidths.bind(_this2),_this2.stickyLeftIndexes,_this2.stickyRightIndexes),l(_this2);});}},{key:"ensureWidths",value:function ensureWidths(t){this.columnWidths.length!==t&&(this.columnWidths=Array(t).fill(0),this.lockedWidthColumns=Array(t).fill(!1));}},{key:"firstUpdated",value:function firstUpdated(){var _this3=this;this.setAttribute("role","table"),p(this,this.onResize,this.slotEl,this._attachObserverAndLayout.bind(this)),this.addEventListener("scroll",this.syncStickyShadowsRaf),this.resizeObserverStickyShadows=new ResizeObserver(function(){l(_this3),_this3.updateOverscrollBehavior();}),this.resizeObserverStickyShadows.observe(this),this.syncStickyShadowsRaf();}},{key:"updated",value:function updated(t){t.has("overflowScrollBehaviour")&&this.updateOverscrollBehavior();}},{key:"_attachObserverAndLayout",value:function _attachObserverAndLayout(){var _this$mo,_this4=this,_this$resizeObserver,_this$resizeObserver2,_this$columnWidths;(_this$mo=this.mo)!==null&&_this$mo!==void 0&&_this$mo.disconnect(),this.mo=new MutationObserver(function(){_this4.needsStructureLayout=!0,_this4.needsWidthLayout=!0,_this4.needsSpanLayout=!0,_this4.scheduleLayout();}),(_this$resizeObserver=this.resizeObserver)!==null&&_this$resizeObserver!==void 0&&_this$resizeObserver.disconnect(),this.resizeObserver=new ResizeObserver(function(){_this4.resizeTimer&&clearTimeout(_this4.resizeTimer),_this4.resizeTimer=setTimeout(function(){_this4.resizeTimer=0,_this4.needsWidthLayout=!0,_this4.scheduleLayout();},16);});var t=b(this.slotEl),i=f(this.slotEl);if(!t&&!i)return;var s=t!==null&&t!==void 0?t:this;this.mo.observe(s,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["colspan","rowspan","width","lockwidth","sticky"]}),(_this$resizeObserver2=this.resizeObserver)!==null&&_this$resizeObserver2!==void 0&&_this$resizeObserver2.observe(this),this.colCount&&((_this$columnWidths=this.columnWidths)===null||_this$columnWidths===void 0?void 0:_this$columnWidths.length)||(this.needsStructureLayout=!0,this.needsSpanLayout=!0,this.needsWidthLayout=!0,this.scheduleLayout());}},{key:"render",value:function render(){return i(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <div part=\"grid-base\" class=\"nile-grid-base\">\n <div part=\"grid-slot-wrapper\">\n <slot part=\"grid-slot\"></slot>\n </div>\n <div part=\"resize-start\" class=\"nile-resize-start\"></div>\n <div part=\"resize-end\" class=\"nile-resize-end\"></div>\n </div>\n "])));}},{key:"disconnectedCallback",value:function disconnectedCallback(){var _superPropGet2,_this$mo2,_this$resizeObserver3,_this$resizeObserverS;this.emit("nile-destroy"),(_superPropGet2=_superPropGet(g,"disconnectedCallback",this,3))!==null&&_superPropGet2!==void 0&&_superPropGet2([]),(_this$mo2=this.mo)!==null&&_this$mo2!==void 0&&_this$mo2.disconnect(),(_this$resizeObserver3=this.resizeObserver)!==null&&_this$resizeObserver3!==void 0&&_this$resizeObserver3.disconnect(),(_this$resizeObserverS=this.resizeObserverStickyShadows)!==null&&_this$resizeObserverS!==void 0&&_this$resizeObserverS.disconnect(),this.raf&&cancelAnimationFrame(this.raf),w(this,this.onResize,this.slotEl,this._attachObserverAndLayout.bind(this));}}],[{key:"styles",get:function get(){return[o];}}]);}(d));t([s()],g.prototype,"columnWidths",void 0),t([e("slot")],g.prototype,"slotEl",void 0),t([e(".nile-resize-start")],g.prototype,"resizeStart",void 0),t([e(".nile-resize-end")],g.prototype,"resizeEnd",void 0),t([e(".shadow-left")],g.prototype,"shadowLeft",void 0),t([e(".shadow-right")],g.prototype,"shadowRight",void 0),t([h({type:Boolean,attribute:!0,reflect:!0})],g.prototype,"enableScroll",void 0),t([h({type:Boolean,attribute:!0,reflect:!0})],g.prototype,"hoverable",void 0),t([h({type:String,attribute:!0,reflect:!0})],g.prototype,"overflowScrollBehaviour",void 0),t([h({type:Number,reflect:!0,attribute:!0})],g.prototype,"minColumnWidth",void 0),t([s()],g.prototype,"stickyLeftIndexes",void 0),t([s()],g.prototype,"stickyRightIndexes",void 0),t([s()],g.prototype,"cellHeight",void 0),t([s()],g.prototype,"headHeight",void 0),t([s()],g.prototype,"widthsInitialized",void 0),t([s()],g.prototype,"lockedWidthColumns",void 0),t([s()],g.prototype,"prefixSumColumnsWidth",void 0),t([s()],g.prototype,"stickyColumns",void 0),t([s()],g.prototype,"bodyRows",void 0),t([s()],g.prototype,"headRows",void 0),t([s()],g.prototype,"needsStructureLayout",void 0),t([s()],g.prototype,"needsWidthLayout",void 0),t([s()],g.prototype,"needsSpanLayout",void 0),t([s()],g.prototype,"colCount",void 0),_export("N",g=t([r("nile-grid")],g));}};});
2
2
  //# sourceMappingURL=nile-grid.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-grid.cjs.js","sources":["../../../src/nile-grid/nile-grid.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { styles } from './nile-grid.css';\nimport NileElement from '../internal/nile-element';\nimport { syncStickyShadows, layout } from './nile-grid.layout';\nimport { listenToEventListeners, removeEventListeners, getHead, getBody, copyArrayValuesInPlace } from './nile-grid.utils';\nimport { computeNewWidth, resizeWithScroll, resizeNoScroll, updateResizeGuides } from './nile-grid.resize';\nimport { PrefixColumn } from './types/nile-grid.types';\n\n/**\n * Nile grid component.\n *\n * @tag nile-grid\n *\n */\n@customElement('nile-grid')\nexport class NileGrid extends NileElement {\n /**\n * The styles for nile-grid\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 /** To store the column widths in the beginning and after resizing */\n @state() public columnWidths: number[] = [];\n\n /** To get the slot element */\n @query('slot') public slotEl!: HTMLSlotElement;\n\n /** To get the first resize line to show the resize handle */\n @query('.nile-resize-start') resizeStart: HTMLElement;\n\n /** To get the last resize line to show the resize handle */\n @query('.nile-resize-end') resizeEnd: HTMLElement;\n\n /** To get the last resize line to show the resize handle */\n @query('.shadow-left') shadowLeft: HTMLElement;\n\n /** To get the last resize line to show the resize handle */\n @query('.shadow-right') shadowRight: HTMLElement;\n\n /** To enable horizontal scrolling when user is resizing */\n @property({ type: Boolean, attribute: true, reflect: true }) enableScroll: boolean = false;\n\n /** To enable hoverable rows */\n @property({ type: Boolean, attribute: true, reflect: true }) hoverable: boolean = false;\n\n /** To store the mutation observer */\n private mo?: MutationObserver;\n\n /** To store the resize observer */\n private resizeObserver?: ResizeObserver;\n\n private resizeObserverStickyShadows?: ResizeObserver;\n\n /** To store the request animation frame */\n private raf = 0;\n\n /** Minimum column width */\n @property({ type: Number, reflect: true, attribute: true }) minColumnWidth = 40;\n\n /** To store the sticky index's */\n @state() public stickyLeftIndexes: number[] = [];\n\n /** To store the sticky index's */\n @state() public stickyRightIndexes: number[] = [];\n\n /** To calculate the rowspan height */\n @state() public cellHeight: number | null = null;\n\n @state() public headHeight: number | null = null;\n\n /** To check if the widths are initialized */\n @state() public widthsInitialized = false;\n\n /** To check if the widths are initialized */\n @state() public lockedWidthColumns: boolean[] = [];\n\n /** prefix columns width */\n @state() public prefixSumColumnsWidth: PrefixColumn[] = [];\n\n /** prefix columns width */\n @state() public stickyColumns: number[] = [];\n\n /** body rows */\n @state() public bodyRows: HTMLElement[] = [];\n\n /** head rows */\n @state() public headRows: HTMLElement[] = [];\n\n @state() public needsStructureLayout = false;\n\n @state() public needsWidthLayout = false;\n\n @state() public needsSpanLayout = false;\n\n @state() public colCount = 0;\n \n public shadowLeftVisibleSticky?: boolean;\n\n public shadowRightVisibleSticky?: boolean;\n\n public stickyLeftHeadEls: HTMLElement[] = [];\n\n public stickyRightHeadEls: HTMLElement[] = [];\n\n public stickyLeftBodyEls: HTMLElement[] = [];\n\n public stickyRightBodyEls: HTMLElement[] = [];\n\n private resizeTimer: any = 0;\n\n /** To throttle sticky shadow updates */\n private shadowRaf = 0;\n\n public resizeBaseColumnWidths: number[] = [];\n\n constructor() {\n super();\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.emit('nile-init');\n }\n\n private syncStickyShadowsRaf = () => {\n if (this.shadowRaf) return;\n this.shadowRaf = requestAnimationFrame(() => {\n this.shadowRaf = 0;\n syncStickyShadows(this);\n });\n };\n\n\n private scheduleLayout() {\n if (this.raf) cancelAnimationFrame(this.raf);\n this.raf = requestAnimationFrame(() => {\n this.raf = 0;\n layout(\n this,\n this.slotEl,\n this.ensureWidths.bind(this),\n this.stickyLeftIndexes,\n this.stickyRightIndexes\n );\n syncStickyShadows(this);\n });\n }\n\n private ensureWidths(colCount: number) {\n if (this.columnWidths.length !== colCount) {\n this.columnWidths = Array(colCount).fill(0);\n this.lockedWidthColumns = Array(colCount).fill(false); \n }\n }\n\n private onResize = (e: Event) => {\n e.stopPropagation();\n this.emit('nile-resize', {\n columnNumber: (e as CustomEvent).detail.col,\n columnWidth: (e as CustomEvent).detail.widthPx,\n });\n const { col, widthPx } = (e as CustomEvent).detail as {\n col: number;\n widthPx: number;\n };\n if (!this.resizeBaseColumnWidths) return;\n \n copyArrayValuesInPlace(this.columnWidths, this.resizeBaseColumnWidths);\n const { prevW, newW, delta0 } = computeNewWidth({\n target: e.target as HTMLElement,\n col,\n widthPx,\n floor: this.minColumnWidth,\n columnWidths: this.columnWidths,\n });\n\n if (delta0 === 0) {\n updateResizeGuides(this, col);\n return;\n }\n\n if (!this.enableScroll) {\n resizeNoScroll({ grid: this, col, prevW, newW, floor: this.minColumnWidth });\n } else {\n resizeWithScroll({ grid: this, col, newW });\n }\n updateResizeGuides(this, col);\n };\n\n protected firstUpdated() {\n this.setAttribute('role', 'table');\n listenToEventListeners(\n this,\n this.onResize,\n this.slotEl,\n this._attachObserverAndLayout.bind(this)\n );\n this.addEventListener('scroll', this.syncStickyShadowsRaf);\n this.resizeObserverStickyShadows = new ResizeObserver(() => syncStickyShadows(this));\n this.resizeObserverStickyShadows.observe(this);\n this.syncStickyShadowsRaf();\n }\n\n private _attachObserverAndLayout() {\n this.mo?.disconnect();\n this.mo = new MutationObserver(() => {\n this.needsStructureLayout = true;\n this.needsWidthLayout = true;\n this.needsSpanLayout = true;\n this.scheduleLayout();\n });\n this.resizeObserver?.disconnect();\n this.resizeObserver = new ResizeObserver(() => {\n if (this.resizeTimer) clearTimeout(this.resizeTimer);\n this.resizeTimer = setTimeout(() => {\n this.resizeTimer = 0;\n this.needsWidthLayout = true;\n this.scheduleLayout();\n }, 16);\n });\n\n const head = getHead(this.slotEl);\n const body = getBody(this.slotEl);\n \n if (!head && !body) return;\n const target = head ?? this;\n this.mo.observe(target, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['colspan', 'rowspan', 'width', 'lockwidth', 'sticky']\n });\n this.resizeObserver?.observe(this);\n\n if (!this.colCount || !this.columnWidths?.length) {\n this.needsStructureLayout = true;\n this.needsSpanLayout = true;\n this.needsWidthLayout = true;\n this.scheduleLayout();\n }\n }\n\n public render(): TemplateResult {\n return html`\n <div part=\"grid-base\" class=\"nile-grid-base\">\n <div part=\"grid-slot-wrapper\">\n <slot part=\"grid-slot\"></slot>\n </div>\n <div part=\"resize-start\" class=\"nile-resize-start\"></div>\n <div part=\"resize-end\" class=\"nile-resize-end\"></div>\n </div>\n `;\n }\n\n disconnectedCallback(): void {\n this.emit('nile-destroy');\n super.disconnectedCallback?.();\n this.mo?.disconnect();\n this.resizeObserver?.disconnect();\n this.resizeObserverStickyShadows?.disconnect();\n\n if (this.raf) cancelAnimationFrame(this.raf);\n removeEventListeners(\n this,\n this.onResize,\n this.slotEl,\n this._attachObserverAndLayout.bind(this)\n );\n }\n\n /* #endregion */\n}\n\nexport default NileGrid;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-grid': NileGrid;\n }\n}\n"],"names":["NileGrid","g","constructor","super","this","columnWidths","enableScroll","hoverable","raf","minColumnWidth","stickyLeftIndexes","stickyRightIndexes","cellHeight","headHeight","widthsInitialized","lockedWidthColumns","prefixSumColumnsWidth","stickyColumns","bodyRows","headRows","needsStructureLayout","needsWidthLayout","needsSpanLayout","colCount","stickyLeftHeadEls","stickyRightHeadEls","stickyLeftBodyEls","stickyRightBodyEls","resizeTimer","shadowRaf","resizeBaseColumnWidths","syncStickyShadowsRaf","requestAnimationFrame","syncStickyShadows","onResize","e","stopPropagation","emit","columnNumber","detail","col","columnWidth","widthPx","_t$detail","copyArrayValuesInPlace","_n","computeNewWidth","target","floor","prevW","newW","delta0","resizeWithScroll","grid","resizeNoScroll","updateResizeGuides","_this","_inherits","_d","_createClass","key","value","connectedCallback","scheduleLayout","cancelAnimationFrame","layout","slotEl","ensureWidths","bind","length","Array","fill","firstUpdated","setAttribute","listenToEventListeners","_attachObserverAndLayout","addEventListener","resizeObserverStickyShadows","ResizeObserver","observe","mo","disconnect","MutationObserver","_this$resizeObserver","resizeObserver","clearTimeout","setTimeout","head","getHead","body","getBody","childList","subtree","attributes","attributeFilter","render","html","_templateObject","_taggedTemplateLiteral","disconnectedCallback","_superPropGet2","_superPropGet","_this$mo2","removeEventListeners","__decorate","get","styles","NileElement","state","prototype","query","property","type","Boolean","attribute","reflect","Number","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"nile-grid.cjs.js","sources":["../../../src/nile-grid/nile-grid.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { styles } from './nile-grid.css';\nimport NileElement from '../internal/nile-element';\nimport { syncStickyShadows, layout } from './nile-grid.layout';\nimport { listenToEventListeners, removeEventListeners, getHead, getBody, copyArrayValuesInPlace } from './nile-grid.utils';\nimport { computeNewWidth, resizeWithScroll, resizeNoScroll, updateResizeGuides } from './nile-grid.resize';\nimport { PrefixColumn } from './types/nile-grid.types';\n\n/**\n * Nile grid component.\n *\n * @tag nile-grid\n *\n */\n@customElement('nile-grid')\nexport class NileGrid extends NileElement {\n /**\n * The styles for nile-grid\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 /** To store the column widths in the beginning and after resizing */\n @state() public columnWidths: number[] = [];\n\n /** To get the slot element */\n @query('slot') public slotEl!: HTMLSlotElement;\n\n /** To get the first resize line to show the resize handle */\n @query('.nile-resize-start') resizeStart: HTMLElement;\n\n /** To get the last resize line to show the resize handle */\n @query('.nile-resize-end') resizeEnd: HTMLElement;\n\n /** To get the last resize line to show the resize handle */\n @query('.shadow-left') shadowLeft: HTMLElement;\n\n /** To get the last resize line to show the resize handle */\n @query('.shadow-right') shadowRight: HTMLElement;\n\n /** To enable horizontal scrolling when user is resizing */\n @property({ type: Boolean, attribute: true, reflect: true }) enableScroll: boolean = false;\n\n /** To enable hoverable rows */\n @property({ type: Boolean, attribute: true, reflect: true }) hoverable: boolean = false;\n\n /** Controls vertical overscroll behavior when the grid is scrollable. */\n @property({ type: String, attribute: true, reflect: true }) overflowScrollBehaviour: string = \"none\";\n\n /** To store the mutation observer */\n private mo?: MutationObserver;\n\n /** To store the resize observer */\n private resizeObserver?: ResizeObserver;\n\n private resizeObserverStickyShadows?: ResizeObserver;\n\n /** To store the request animation frame */\n private raf = 0;\n\n /** Minimum column width */\n @property({ type: Number, reflect: true, attribute: true }) minColumnWidth = 40;\n\n /** To store the sticky index's */\n @state() public stickyLeftIndexes: number[] = [];\n\n /** To store the sticky index's */\n @state() public stickyRightIndexes: number[] = [];\n\n /** To calculate the rowspan height */\n @state() public cellHeight: number | null = null;\n\n @state() public headHeight: number | null = null;\n\n /** To check if the widths are initialized */\n @state() public widthsInitialized = false;\n\n /** To check if the widths are initialized */\n @state() public lockedWidthColumns: boolean[] = [];\n\n /** prefix columns width */\n @state() public prefixSumColumnsWidth: PrefixColumn[] = [];\n\n /** prefix columns width */\n @state() public stickyColumns: number[] = [];\n\n /** body rows */\n @state() public bodyRows: HTMLElement[] = [];\n\n /** head rows */\n @state() public headRows: HTMLElement[] = [];\n\n @state() public needsStructureLayout = false;\n\n @state() public needsWidthLayout = false;\n\n @state() public needsSpanLayout = false;\n\n @state() public colCount = 0;\n \n public isGridReady = false;\n\n public shadowLeftVisibleSticky?: boolean;\n\n public shadowRightVisibleSticky?: boolean;\n\n public stickyLeftHeadEls: HTMLElement[] = [];\n\n public stickyRightHeadEls: HTMLElement[] = [];\n\n public stickyLeftBodyEls: HTMLElement[] = [];\n\n public stickyRightBodyEls: HTMLElement[] = [];\n\n private resizeTimer: any = 0;\n\n /** To throttle sticky shadow updates */\n private shadowRaf = 0;\n\n public resizeBaseColumnWidths: number[] = [];\n\n constructor() {\n super();\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.emit('nile-init');\n }\n\n private syncStickyShadowsRaf = () => {\n if (this.shadowRaf) return;\n this.shadowRaf = requestAnimationFrame(() => {\n this.shadowRaf = 0;\n syncStickyShadows(this);\n });\n };\n\n private updateOverscrollBehavior() {\n const isVerticallyScrollable = this.scrollHeight > this.clientHeight;\n this.style.overscrollBehavior = isVerticallyScrollable\n ? this.overflowScrollBehaviour\n : '';\n }\n\n\n private scheduleLayout() {\n if (this.raf) cancelAnimationFrame(this.raf);\n this.raf = requestAnimationFrame(() => {\n this.raf = 0;\n layout(\n this,\n this.slotEl,\n this.ensureWidths.bind(this),\n this.stickyLeftIndexes,\n this.stickyRightIndexes\n );\n syncStickyShadows(this);\n });\n }\n\n private ensureWidths(colCount: number) {\n if (this.columnWidths.length !== colCount) {\n this.columnWidths = Array(colCount).fill(0);\n this.lockedWidthColumns = Array(colCount).fill(false); \n }\n }\n\n private onResize = (e: Event) => {\n e.stopPropagation();\n this.emit('nile-resize', {\n columnNumber: (e as CustomEvent).detail.col,\n columnWidth: (e as CustomEvent).detail.widthPx,\n });\n const { col, widthPx } = (e as CustomEvent).detail as {\n col: number;\n widthPx: number;\n };\n if (!this.resizeBaseColumnWidths) return;\n \n copyArrayValuesInPlace(this.columnWidths, this.resizeBaseColumnWidths);\n const { prevW, newW, delta0 } = computeNewWidth({\n target: e.target as HTMLElement,\n col,\n widthPx,\n floor: this.minColumnWidth,\n columnWidths: this.columnWidths,\n });\n\n if (delta0 === 0) {\n updateResizeGuides(this, col);\n return;\n }\n\n if (!this.enableScroll) {\n resizeNoScroll({ grid: this, col, prevW, newW, floor: this.minColumnWidth });\n } else {\n resizeWithScroll({ grid: this, col, newW });\n }\n updateResizeGuides(this, col);\n };\n\n protected firstUpdated() {\n this.setAttribute('role', 'table');\n listenToEventListeners(\n this,\n this.onResize,\n this.slotEl,\n this._attachObserverAndLayout.bind(this)\n );\n this.addEventListener('scroll', this.syncStickyShadowsRaf);\n this.resizeObserverStickyShadows = new ResizeObserver(() => {\n syncStickyShadows(this);\n this.updateOverscrollBehavior();\n });\n this.resizeObserverStickyShadows.observe(this);\n this.syncStickyShadowsRaf();\n }\n\n updated(changed: Map<string, unknown>) {\n if (changed.has(\"overflowScrollBehaviour\")) {\n this.updateOverscrollBehavior();\n }\n }\n\n private _attachObserverAndLayout() {\n this.mo?.disconnect();\n this.mo = new MutationObserver(() => {\n this.needsStructureLayout = true;\n this.needsWidthLayout = true;\n this.needsSpanLayout = true;\n this.scheduleLayout();\n });\n this.resizeObserver?.disconnect();\n this.resizeObserver = new ResizeObserver(() => {\n if (this.resizeTimer) clearTimeout(this.resizeTimer);\n this.resizeTimer = setTimeout(() => {\n this.resizeTimer = 0;\n this.needsWidthLayout = true;\n this.scheduleLayout();\n }, 16);\n });\n\n const head = getHead(this.slotEl);\n const body = getBody(this.slotEl);\n \n if (!head && !body) return;\n const target = head ?? this;\n this.mo.observe(target, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['colspan', 'rowspan', 'width', 'lockwidth', 'sticky']\n });\n this.resizeObserver?.observe(this);\n\n if (!this.colCount || !this.columnWidths?.length) {\n this.needsStructureLayout = true;\n this.needsSpanLayout = true;\n this.needsWidthLayout = true;\n this.scheduleLayout();\n }\n }\n\n public render(): TemplateResult {\n return html`\n <div part=\"grid-base\" class=\"nile-grid-base\">\n <div part=\"grid-slot-wrapper\">\n <slot part=\"grid-slot\"></slot>\n </div>\n <div part=\"resize-start\" class=\"nile-resize-start\"></div>\n <div part=\"resize-end\" class=\"nile-resize-end\"></div>\n </div>\n `;\n }\n\n disconnectedCallback(): void {\n this.emit('nile-destroy');\n super.disconnectedCallback?.();\n this.mo?.disconnect();\n this.resizeObserver?.disconnect();\n this.resizeObserverStickyShadows?.disconnect();\n\n if (this.raf) cancelAnimationFrame(this.raf);\n removeEventListeners(\n this,\n this.onResize,\n this.slotEl,\n this._attachObserverAndLayout.bind(this)\n );\n }\n\n /* #endregion */\n}\n\nexport default NileGrid;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-grid': NileGrid;\n }\n}\n"],"names":["NileGrid","g","super","this","columnWidths","enableScroll","hoverable","overflowScrollBehaviour","raf","minColumnWidth","stickyLeftIndexes","stickyRightIndexes","cellHeight","headHeight","widthsInitialized","lockedWidthColumns","prefixSumColumnsWidth","stickyColumns","bodyRows","headRows","needsStructureLayout","needsWidthLayout","needsSpanLayout","colCount","isGridReady","stickyLeftHeadEls","stickyRightHeadEls","stickyLeftBodyEls","stickyRightBodyEls","resizeTimer","shadowRaf","resizeBaseColumnWidths","syncStickyShadowsRaf","requestAnimationFrame","syncStickyShadows","onResize","e","stopPropagation","emit","columnNumber","detail","col","columnWidth","widthPx","_t$detail","copyArrayValuesInPlace","_n","computeNewWidth","target","floor","prevW","newW","delta0","resizeWithScroll","grid","resizeNoScroll","updateResizeGuides","_this","_inherits","_d","_createClass","key","value","connectedCallback","updateOverscrollBehavior","isVerticallyScrollable","scrollHeight","clientHeight","style","overscrollBehavior","scheduleLayout","cancelAnimationFrame","layout","slotEl","ensureWidths","bind","length","Array","fill","firstUpdated","setAttribute","listenToEventListeners","_attachObserverAndLayout","addEventListener","resizeObserverStickyShadows","ResizeObserver","observe","updated","changed","has","mo","disconnect","MutationObserver","resizeObserver","clearTimeout","setTimeout","head","getHead","body","getBody","childList","subtree","attributes","attributeFilter","_this$resizeObserver2","render","html","_templateObject","_taggedTemplateLiteral","disconnectedCallback","_superPropGet2","_superPropGet","_this$mo2","removeEventListeners","__decorate","get","styles","NileElement","state","prototype","query","property","type","Boolean","attribute","reflect","String","Number","customElement"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- System.register(["lit"],function(_export,_context){"use strict";var o,_templateObject,r;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}return{setters:[function(_lit){o=_lit.css;}],execute:function execute(){_export("s",r=o(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n --min-width: 180px;\n display: grid;\n grid-template-rows: auto;\n overflow: auto;\n inline-size: 100%;\n position: relative;\n box-sizing: border-box;\n border: 1px solid var(--nile-colors-neutral-400, , var(--ng-colors-border-secondary));\n border-radius: var(--nile-radius-md, var(--ng-radius-xl));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n max-height: 100%;\n width: 100%;\n min-width: var(--min-width);\n box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));\n overscroll-behavior: none;\n }\n\n ::slotted(nile-grid-head),\n ::slotted(nile-grid-body) {\n inline-size: 100%;\n }\n\n .nile-resize-start,\n .nile-resize-end {\n position: absolute;\n z-index: 4;\n background-color: var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n width: 2px;\n height: 100%;\n top: 0;\n display: none;\n bottom: 0;\n }\n"]))));}};});
1
+ System.register(["lit"],function(_export,_context){"use strict";var o,_templateObject,r;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}return{setters:[function(_lit){o=_lit.css;}],execute:function execute(){_export("s",r=o(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n --min-width: 180px;\n display: grid;\n grid-template-rows: auto;\n overflow: auto;\n inline-size: 100%;\n position: relative;\n box-sizing: border-box;\n border: 1px solid var(--nile-colors-neutral-400, , var(--ng-colors-border-secondary));\n border-radius: var(--nile-radius-md, var(--ng-radius-xl));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n max-height: 100%;\n width: 100%;\n min-width: var(--min-width);\n box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));\n }\n\n ::slotted(nile-grid-head),\n ::slotted(nile-grid-body) {\n inline-size: 100%;\n }\n\n .nile-resize-start,\n .nile-resize-end {\n position: absolute;\n z-index: 4;\n background-color: var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n width: 2px;\n height: 100%;\n top: 0;\n display: none;\n bottom: 0;\n }\n"]))));}};});
2
2
  //# sourceMappingURL=nile-grid.css.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-grid.css.cjs.js","sources":["../../../src/nile-grid/nile-grid.css.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\nexport const styles = css`\n :host {\n --min-width: 180px;\n display: grid;\n grid-template-rows: auto;\n overflow: auto;\n inline-size: 100%;\n position: relative;\n box-sizing: border-box;\n border: 1px solid var(--nile-colors-neutral-400, , var(--ng-colors-border-secondary));\n border-radius: var(--nile-radius-md, var(--ng-radius-xl));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n max-height: 100%;\n width: 100%;\n min-width: var(--min-width);\n box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));\n overscroll-behavior: none;\n }\n\n ::slotted(nile-grid-head),\n ::slotted(nile-grid-body) {\n inline-size: 100%;\n }\n\n .nile-resize-start,\n .nile-resize-end {\n position: absolute;\n z-index: 4;\n background-color: var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n width: 2px;\n height: 100%;\n top: 0;\n display: none;\n bottom: 0;\n }\n`;\n\nexport default [styles];\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTASaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
1
+ {"version":3,"file":"nile-grid.css.cjs.js","sources":["../../../src/nile-grid/nile-grid.css.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\nexport const styles = css`\n :host {\n --min-width: 180px;\n display: grid;\n grid-template-rows: auto;\n overflow: auto;\n inline-size: 100%;\n position: relative;\n box-sizing: border-box;\n border: 1px solid var(--nile-colors-neutral-400, , var(--ng-colors-border-secondary));\n border-radius: var(--nile-radius-md, var(--ng-radius-xl));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n max-height: 100%;\n width: 100%;\n min-width: var(--min-width);\n box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));\n }\n\n ::slotted(nile-grid-head),\n ::slotted(nile-grid-body) {\n inline-size: 100%;\n }\n\n .nile-resize-start,\n .nile-resize-end {\n position: absolute;\n z-index: 4;\n background-color: var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n width: 2px;\n height: 100%;\n top: 0;\n display: none;\n bottom: 0;\n }\n`;\n\nexport default [styles];\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTASaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
@@ -14,7 +14,6 @@ import{css as o}from"lit";const r=o`
14
14
  width: 100%;
15
15
  min-width: var(--min-width);
16
16
  box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));
17
- overscroll-behavior: none;
18
17
  }
19
18
 
20
19
  ::slotted(nile-grid-head),
@@ -1,4 +1,4 @@
1
- import{__decorate as t}from"tslib";import{html as i}from"lit";import{state as s,query as e,property as h,customElement as r}from"lit/decorators.js";import{s as o}from"./nile-grid.css.esm.js";import{N as d}from"../internal/nile-element.esm.js";import{s as a,c as l,a as n,u as c,r as u,b as m,l as v,d as p,g as b,e as w,f}from"./nile-grid.width.esm.js";import"./types/nile-grid.enums.esm.js";let g=class extends d{static get styles(){return[o]}constructor(){super(),this.columnWidths=[],this.enableScroll=!1,this.hoverable=!1,this.raf=0,this.minColumnWidth=40,this.stickyLeftIndexes=[],this.stickyRightIndexes=[],this.cellHeight=null,this.headHeight=null,this.widthsInitialized=!1,this.lockedWidthColumns=[],this.prefixSumColumnsWidth=[],this.stickyColumns=[],this.bodyRows=[],this.headRows=[],this.needsStructureLayout=!1,this.needsWidthLayout=!1,this.needsSpanLayout=!1,this.colCount=0,this.stickyLeftHeadEls=[],this.stickyRightHeadEls=[],this.stickyLeftBodyEls=[],this.stickyRightBodyEls=[],this.resizeTimer=0,this.shadowRaf=0,this.resizeBaseColumnWidths=[],this.syncStickyShadowsRaf=()=>{this.shadowRaf||(this.shadowRaf=requestAnimationFrame((()=>{this.shadowRaf=0,a(this)})))},this.onResize=t=>{t.stopPropagation(),this.emit("nile-resize",{columnNumber:t.detail.col,columnWidth:t.detail.widthPx});const{col:i,widthPx:s}=t.detail;if(!this.resizeBaseColumnWidths)return;l(this.columnWidths,this.resizeBaseColumnWidths);const{prevW:e,newW:h,delta0:r}=n({target:t.target,col:i,widthPx:s,floor:this.minColumnWidth,columnWidths:this.columnWidths});0!==r?(this.enableScroll?m({grid:this,col:i,newW:h}):u({grid:this,col:i,prevW:e,newW:h,floor:this.minColumnWidth}),c(this,i)):c(this,i)}}connectedCallback(){super.connectedCallback(),this.emit("nile-init")}scheduleLayout(){this.raf&&cancelAnimationFrame(this.raf),this.raf=requestAnimationFrame((()=>{this.raf=0,v(this,this.slotEl,this.ensureWidths.bind(this),this.stickyLeftIndexes,this.stickyRightIndexes),a(this)}))}ensureWidths(t){this.columnWidths.length!==t&&(this.columnWidths=Array(t).fill(0),this.lockedWidthColumns=Array(t).fill(!1))}firstUpdated(){this.setAttribute("role","table"),p(this,this.onResize,this.slotEl,this._attachObserverAndLayout.bind(this)),this.addEventListener("scroll",this.syncStickyShadowsRaf),this.resizeObserverStickyShadows=new ResizeObserver((()=>a(this))),this.resizeObserverStickyShadows.observe(this),this.syncStickyShadowsRaf()}_attachObserverAndLayout(){this.mo?.disconnect(),this.mo=new MutationObserver((()=>{this.needsStructureLayout=!0,this.needsWidthLayout=!0,this.needsSpanLayout=!0,this.scheduleLayout()})),this.resizeObserver?.disconnect(),this.resizeObserver=new ResizeObserver((()=>{this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout((()=>{this.resizeTimer=0,this.needsWidthLayout=!0,this.scheduleLayout()}),16)}));const t=b(this.slotEl),i=w(this.slotEl);if(!t&&!i)return;const s=t??this;this.mo.observe(s,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["colspan","rowspan","width","lockwidth","sticky"]}),this.resizeObserver?.observe(this),this.colCount&&this.columnWidths?.length||(this.needsStructureLayout=!0,this.needsSpanLayout=!0,this.needsWidthLayout=!0,this.scheduleLayout())}render(){return i`
1
+ import{__decorate as t}from"tslib";import{html as i}from"lit";import{state as s,query as e,property as h,customElement as r}from"lit/decorators.js";import{s as o}from"./nile-grid.css.esm.js";import{N as d}from"../internal/nile-element.esm.js";import{s as l,c as a,a as n,u as c,r as u,b as v,l as m,d as p,g as b,e as f,f as w}from"./nile-grid.width.esm.js";import"./types/nile-grid.enums.esm.js";let g=class extends d{static get styles(){return[o]}constructor(){super(),this.columnWidths=[],this.enableScroll=!1,this.hoverable=!1,this.overflowScrollBehaviour="none",this.raf=0,this.minColumnWidth=40,this.stickyLeftIndexes=[],this.stickyRightIndexes=[],this.cellHeight=null,this.headHeight=null,this.widthsInitialized=!1,this.lockedWidthColumns=[],this.prefixSumColumnsWidth=[],this.stickyColumns=[],this.bodyRows=[],this.headRows=[],this.needsStructureLayout=!1,this.needsWidthLayout=!1,this.needsSpanLayout=!1,this.colCount=0,this.isGridReady=!1,this.stickyLeftHeadEls=[],this.stickyRightHeadEls=[],this.stickyLeftBodyEls=[],this.stickyRightBodyEls=[],this.resizeTimer=0,this.shadowRaf=0,this.resizeBaseColumnWidths=[],this.syncStickyShadowsRaf=()=>{this.shadowRaf||(this.shadowRaf=requestAnimationFrame((()=>{this.shadowRaf=0,l(this)})))},this.onResize=t=>{t.stopPropagation(),this.emit("nile-resize",{columnNumber:t.detail.col,columnWidth:t.detail.widthPx});const{col:i,widthPx:s}=t.detail;if(!this.resizeBaseColumnWidths)return;a(this.columnWidths,this.resizeBaseColumnWidths);const{prevW:e,newW:h,delta0:r}=n({target:t.target,col:i,widthPx:s,floor:this.minColumnWidth,columnWidths:this.columnWidths});0!==r?(this.enableScroll?v({grid:this,col:i,newW:h}):u({grid:this,col:i,prevW:e,newW:h,floor:this.minColumnWidth}),c(this,i)):c(this,i)}}connectedCallback(){super.connectedCallback(),this.emit("nile-init")}updateOverscrollBehavior(){const t=this.scrollHeight>this.clientHeight;this.style.overscrollBehavior=t?this.overflowScrollBehaviour:""}scheduleLayout(){this.raf&&cancelAnimationFrame(this.raf),this.raf=requestAnimationFrame((()=>{this.raf=0,m(this,this.slotEl,this.ensureWidths.bind(this),this.stickyLeftIndexes,this.stickyRightIndexes),l(this)}))}ensureWidths(t){this.columnWidths.length!==t&&(this.columnWidths=Array(t).fill(0),this.lockedWidthColumns=Array(t).fill(!1))}firstUpdated(){this.setAttribute("role","table"),p(this,this.onResize,this.slotEl,this._attachObserverAndLayout.bind(this)),this.addEventListener("scroll",this.syncStickyShadowsRaf),this.resizeObserverStickyShadows=new ResizeObserver((()=>{l(this),this.updateOverscrollBehavior()})),this.resizeObserverStickyShadows.observe(this),this.syncStickyShadowsRaf()}updated(t){t.has("overflowScrollBehaviour")&&this.updateOverscrollBehavior()}_attachObserverAndLayout(){this.mo?.disconnect(),this.mo=new MutationObserver((()=>{this.needsStructureLayout=!0,this.needsWidthLayout=!0,this.needsSpanLayout=!0,this.scheduleLayout()})),this.resizeObserver?.disconnect(),this.resizeObserver=new ResizeObserver((()=>{this.resizeTimer&&clearTimeout(this.resizeTimer),this.resizeTimer=setTimeout((()=>{this.resizeTimer=0,this.needsWidthLayout=!0,this.scheduleLayout()}),16)}));const t=b(this.slotEl),i=f(this.slotEl);if(!t&&!i)return;const s=t??this;this.mo.observe(s,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["colspan","rowspan","width","lockwidth","sticky"]}),this.resizeObserver?.observe(this),this.colCount&&this.columnWidths?.length||(this.needsStructureLayout=!0,this.needsSpanLayout=!0,this.needsWidthLayout=!0,this.scheduleLayout())}render(){return i`
2
2
  <div part="grid-base" class="nile-grid-base">
3
3
  <div part="grid-slot-wrapper">
4
4
  <slot part="grid-slot"></slot>
@@ -6,4 +6,4 @@ import{__decorate as t}from"tslib";import{html as i}from"lit";import{state as s,
6
6
  <div part="resize-start" class="nile-resize-start"></div>
7
7
  <div part="resize-end" class="nile-resize-end"></div>
8
8
  </div>
9
- `}disconnectedCallback(){this.emit("nile-destroy"),super.disconnectedCallback?.(),this.mo?.disconnect(),this.resizeObserver?.disconnect(),this.resizeObserverStickyShadows?.disconnect(),this.raf&&cancelAnimationFrame(this.raf),f(this,this.onResize,this.slotEl,this._attachObserverAndLayout.bind(this))}};t([s()],g.prototype,"columnWidths",void 0),t([e("slot")],g.prototype,"slotEl",void 0),t([e(".nile-resize-start")],g.prototype,"resizeStart",void 0),t([e(".nile-resize-end")],g.prototype,"resizeEnd",void 0),t([e(".shadow-left")],g.prototype,"shadowLeft",void 0),t([e(".shadow-right")],g.prototype,"shadowRight",void 0),t([h({type:Boolean,attribute:!0,reflect:!0})],g.prototype,"enableScroll",void 0),t([h({type:Boolean,attribute:!0,reflect:!0})],g.prototype,"hoverable",void 0),t([h({type:Number,reflect:!0,attribute:!0})],g.prototype,"minColumnWidth",void 0),t([s()],g.prototype,"stickyLeftIndexes",void 0),t([s()],g.prototype,"stickyRightIndexes",void 0),t([s()],g.prototype,"cellHeight",void 0),t([s()],g.prototype,"headHeight",void 0),t([s()],g.prototype,"widthsInitialized",void 0),t([s()],g.prototype,"lockedWidthColumns",void 0),t([s()],g.prototype,"prefixSumColumnsWidth",void 0),t([s()],g.prototype,"stickyColumns",void 0),t([s()],g.prototype,"bodyRows",void 0),t([s()],g.prototype,"headRows",void 0),t([s()],g.prototype,"needsStructureLayout",void 0),t([s()],g.prototype,"needsWidthLayout",void 0),t([s()],g.prototype,"needsSpanLayout",void 0),t([s()],g.prototype,"colCount",void 0),g=t([r("nile-grid")],g);export{g as N};
9
+ `}disconnectedCallback(){this.emit("nile-destroy"),super.disconnectedCallback?.(),this.mo?.disconnect(),this.resizeObserver?.disconnect(),this.resizeObserverStickyShadows?.disconnect(),this.raf&&cancelAnimationFrame(this.raf),w(this,this.onResize,this.slotEl,this._attachObserverAndLayout.bind(this))}};t([s()],g.prototype,"columnWidths",void 0),t([e("slot")],g.prototype,"slotEl",void 0),t([e(".nile-resize-start")],g.prototype,"resizeStart",void 0),t([e(".nile-resize-end")],g.prototype,"resizeEnd",void 0),t([e(".shadow-left")],g.prototype,"shadowLeft",void 0),t([e(".shadow-right")],g.prototype,"shadowRight",void 0),t([h({type:Boolean,attribute:!0,reflect:!0})],g.prototype,"enableScroll",void 0),t([h({type:Boolean,attribute:!0,reflect:!0})],g.prototype,"hoverable",void 0),t([h({type:String,attribute:!0,reflect:!0})],g.prototype,"overflowScrollBehaviour",void 0),t([h({type:Number,reflect:!0,attribute:!0})],g.prototype,"minColumnWidth",void 0),t([s()],g.prototype,"stickyLeftIndexes",void 0),t([s()],g.prototype,"stickyRightIndexes",void 0),t([s()],g.prototype,"cellHeight",void 0),t([s()],g.prototype,"headHeight",void 0),t([s()],g.prototype,"widthsInitialized",void 0),t([s()],g.prototype,"lockedWidthColumns",void 0),t([s()],g.prototype,"prefixSumColumnsWidth",void 0),t([s()],g.prototype,"stickyColumns",void 0),t([s()],g.prototype,"bodyRows",void 0),t([s()],g.prototype,"headRows",void 0),t([s()],g.prototype,"needsStructureLayout",void 0),t([s()],g.prototype,"needsWidthLayout",void 0),t([s()],g.prototype,"needsSpanLayout",void 0),t([s()],g.prototype,"colCount",void 0),g=t([r("nile-grid")],g);export{g as N};
@@ -1,2 +1,2 @@
1
- System.register(["./types/nile-grid.enums.cjs.js"],function(_export,_context){"use strict";var t,i,f,h,d,g,b,m;function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n12=0,F=function F(){};return{s:F,n:function n(){return _n12>=r.length?{done:!0}:{done:!1,value:r[_n12++]};},e:function e(r){throw r;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var o,a=!0,u=!1;return{s:function s(){t=t.call(r);},n:function n(){var r=t.next();return a=r.done,r;},e:function e(r){u=!0,o=r;},f:function f(){try{a||null==t["return"]||t["return"]();}finally{if(u)throw o;}}};}function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r);}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r);}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function n(t,n,i,c,l,a){var s=t.minColumnWidth,u=function(t){return Math.max(0,(t.getBoundingClientRect().width||0)-4);}(t),f=function(t,n,r,e,i,c,l){var a=Array(n).fill(null);if(c){var _e=d(t);_e&&function(t,n,r,e,i){var c=_toConsumableArray(t.children).filter(function(t){return"nile-grid-row"===t.tagName.toLowerCase();});var _iterator=_createForOfIteratorHelper(c),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _t=_step.value;o(_t,n,r,e,i);}}catch(err){_iterator.e(err);}finally{_iterator.f();}}(_e,a,n,r,i);}(l===null||l===void 0?void 0:l.length)&&l.some(function(t){return t>0;})&&(l===null||l===void 0?void 0:l.length)===n&&function(t,n,o){for(var _r=0;_r<n.length;_r++)null==t[_r]&&Number.isFinite(n[_r])&&(t[_r]=Math.max(o.minColumnWidth,Math.round(n[_r])));}(a,l,e);return a;}(c,n,u,t,l,a,i),h=function(t,n,o){var r=Array(t.length).fill(!1);for(var _e2=0;_e2<t.length;_e2++){var _t$_e;var _i=(_t$_e=t[_e2])!==null&&_t$_e!==void 0?_t$_e:null;n[_e2]=null==_i||Number.isNaN(_i)?0:Math.max(o,Number(_i)),r[_e2]=null!=_i&&!Number.isNaN(_i);}return r;}(f,i,s);!function(t,n,o,r){var e=t.reduce(function(t,n){return t+n;},0),i=o-e,c=Array.from({length:t.length},function(t,n){return n;}).filter(function(t){return!n[t];});if(0===c.length)return;var l=i/c.length;var _iterator2=_createForOfIteratorHelper(c),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var _n=_step2.value;t[_n]=Math.max(r,l);}}catch(err){_iterator2.e(err);}finally{_iterator2.f();}}(i,h,u,s),t.enableScroll||function(t,n,o){var i=(c=t,c.reduce(function(t,n){return t+n;},0));var c;i<n?function(t,n,o){if(!t.length)return;var r=n-o,e=o||1;for(var _n2=0;_n2<t.length;_n2++)t[_n2]+=r*(t[_n2]/e);}(t,n,i):i>n&&function(t,n,o,i){var c=o-n;for(var _n3=0;_n3<8&&c>.5;_n3++){var _r2=r(t,i),_n4=_r2.candidates,_o=_r2.weightSum;if(!_n4.length||_o<=0)break;var _l=e(t,_n4,_o,c,i);if(c-=_l,_l<.5)break;}}(t,n,i,o);}(i,u,s),function(t,n){for(var _o2=0;_o2<t.length;_o2++)t[_o2]=Math.max(n,Math.round(t[_o2]));}(i,s),S(t,i);}function o(t,n,o,r,e){var i=_toConsumableArray(t.children).filter(function(t){return"nile-grid-head-item"===t.tagName.toLowerCase();}).map(function(t){return function(t,n,o,_t$dataset,_ref,_t$width){var r=Number((_t$dataset=t.dataset)===null||_t$dataset===void 0?void 0:_t$dataset.cStart)||1,e=Math.max(1,Number(t.getAttribute("colspan"))||1),i=(_ref=(_t$width=t.width)!==null&&_t$width!==void 0?_t$width:t.getAttribute("width"))!==null&&_ref!==void 0?_ref:null;t.hasAttribute("lockWidth")&&(o[r-1]=!0);var c=function(t,n){if(null==t)return null;if("number"==typeof t&&Number.isFinite(t))return t;var o=String(t).trim().toLowerCase();if(!o)return null;if(o.endsWith("px")){var _t2=parseFloat(o);return Number.isFinite(_t2)?_t2:null;}if(o.endsWith("%")){var _t3=parseFloat(o);return Number.isFinite(_t3)?_t3/100*n:null;}var r=parseFloat(o);return Number.isFinite(r)?r:null;}(i,n);return{cStart:r,colspan:e,cw:c};}(t,r,e);}).filter(function(t){return null!=t.cw;});i.sort(function(t,n){return t.colspan-n.colspan;}),i.forEach(function(_ref2){var t=_ref2.cStart,r=_ref2.colspan,e=_ref2.cw;!function(t,n,o,r,e){var i=Math.round(r/o);for(var _r3=0;_r3<o;_r3++){var _o3=n-1+_r3;_o3>=0&&_o3<e&&null==t[_o3]&&(t[_o3]=i);}}(n,t,r,e,o);});}function r(t,n){var o=[];var r=0;for(var _e3=0;_e3<t.length;_e3++){Math.max(0,t[_e3]-n)>0&&(o.push(_e3),r+=t[_e3]);}return{candidates:o,weightSum:r};}function e(t,n,o,r,e){var i=0;var _iterator3=_createForOfIteratorHelper(n),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var _c=_step3.value;var _n5=Math.max(0,t[_c]-e),_l2=t[_c]/o,_a=Math.min(_n5,r*_l2);t[_c]-=_a,i+=_a;}}catch(err){_iterator3.e(err);}finally{_iterator3.f();}return i;}function c(t){var _i$o,_i3;var n=t.target,o=t.col,r=t.widthPx,e=t.floor,i=t.columnWidths,c=!!n.getAttribute("colspan")&&parseInt(n.getAttribute("colspan"),10)>1,l=(_i$o=i[o])!==null&&_i$o!==void 0?_i$o:e,a=c?r-((_i3=i[o-1])!==null&&_i3!==void 0?_i3:0):r,s=Math.max(e,Math.round(Number.isFinite(a)?a:l));return{prevW:l,newW:s,delta0:s-l};}function l(_ref3){var _t$lockedWidthColumns;var t=_ref3.grid,n=_ref3.col,o=_ref3.prevW,r=_ref3.newW,e=_ref3.floor;if((_t$lockedWidthColumns=t.lockedWidthColumns)!==null&&_t$lockedWidthColumns!==void 0&&_t$lockedWidthColumns[n])return;var i=r-o;if(i>0){var _r4=function(t,n,o,r){var e=0;for(var _i4=n;_i4<t.length;_i4++)(r===null||r===void 0?void 0:r[_i4])||(e+=Math.max(0,t[_i4]-o));return e;}(t.columnWidths,n+1,e,t.lockedWidthColumns);if(_r4<=0)return;i=Math.min(i,_r4),t.columnWidths[n]=o+i,function(t,n,o,r,e){var i=o;for(var _o4=n;_o4<t.length&&i>0;_o4++){if(e!==null&&e!==void 0&&e[_o4])continue;var _n6=t[_o4]-r;if(_n6<=0)continue;var _c2=Math.min(_n6,i);t[_o4]-=_c2,i-=_c2;}}(t.columnWidths,n+1,i,e,t.lockedWidthColumns);}else{var _i5=Math.max(e,r),_c3=o-_i5;t.columnWidths[n]=_i5,function(t,n,o){var r=o;n<t.length&&r>0&&(t[n]+=r,r=0);}(t.columnWidths,n+1,_c3);}}function a(t){var _n$lockedWidthColumns;var n=t.grid,o=t.col,r=t.newW;((_n$lockedWidthColumns=n.lockedWidthColumns)===null||_n$lockedWidthColumns===void 0?void 0:_n$lockedWidthColumns[o])||(n.columnWidths[o]=r);}function s(t,n){i(t.minColumnWidth,t.resizeStart,t.resizeEnd,n,t.scrollHeight,t.columnWidths),S(t,t.columnWidths);}function u(t,n){i(t.minColumnWidth,t.resizeStart,t.resizeEnd,n,t.scrollHeight,t.columnWidths);}function y(t,n){var o=Math.min(t.length,n.length);for(var _r5=0;_r5<o;_r5++)t[_r5]=n[_r5];}function M(t){var _ref4=function(t){if(!t.shadowRoot)return{head:void 0,body:void 0};var n=t.slotEl.assignedElements(),o=function o(t){return n.find(function(n){return n.tagName.toLowerCase()===t;});};return{head:o("nile-grid-head"),body:o("nile-grid-body")};}(t),n=_ref4.head,o=_ref4.body;t.stickyLeftHeadEls=n?Array.from(n.querySelectorAll('nile-grid-head-item[data-sticky="left"]')):[],t.stickyRightHeadEls=n?Array.from(n.querySelectorAll('nile-grid-head-item[data-sticky="right"]')):[],t.stickyLeftBodyEls=o?Array.from(o.querySelectorAll('nile-grid-cell-item[data-sticky="left"]')):[],t.stickyRightBodyEls=o?Array.from(o.querySelectorAll('nile-grid-cell-item[data-sticky="right"]')):[];}function p(t,n,o,r,e,i,c){return n.forEach(function(n,l){t.hoverable&&n.setAttribute("hover","true"),r=function(t,n,o,r,e,i,c,l){var a=1;var s=o+1,u=l.itemSelector.toLowerCase(),f=Array.from(n.children).filter(function(t){return t.tagName.toLowerCase()===u;});var _iterator4=_createForOfIteratorHelper(f),_step4;try{for(_iterator4.s();!(_step4=_iterator4.n()).done;){var _n9=_step4.value;for(;(r[a-1]||0)>0;)a++;var _k=k(t,_n9,a,s,r,e,i,c,l);a=_k.c;e=_k.colCount;}}catch(err){_iterator4.e(err);}finally{_iterator4.f();}return function(t){for(var _n8=0;_n8<t.length;_n8++)t[_n8]>0&&t[_n8]--;}(r),e;}(t,n,l,o,r,e,i,c);}),r;}function k(n,o,r,e,i,c,l,a,s){var u=Math.max(1,+o.getAttribute("colspan")||1),f=Math.max(1,+o.getAttribute("rowspan")||1);!function(n,o,r){if(r<=1)return;o.style.position="absolute",o.style.zIndex="1",o.tagName===t?(n.headHeight||(n.headHeight=o.getBoundingClientRect().height),o.style.height=n.headHeight*r+(r-1)+"px",o.style.backgroundColor="var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary))",o.style.backgroundColor="var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary))"):(n.cellHeight||(n.cellHeight=o.getBoundingClientRect().height),o.style.height=n.cellHeight*r+(r-1)+"px",o.style.backgroundColor="var(--nile-colors-white-base, var(--ng-colors-bg-primary))",o.style.backgroundColor="var(--nile-colors-white-base, var(--ng-colors-bg-primary))");}(n,o,f);var h=r,d=r+u;!function(t,n,o,r,e){var i=r+e;t.style.gridColumn="".concat(n," / ").concat(o),t.style.gridRow="".concat(r," / ").concat(i),t.dataset.cStart=String(n);}(o,h,d,e,f),(s.useStickyAttr||l.length||a.length)&&function(n,o,r,e,i){r.useStickyAttr&&"left"===n.getAttribute("sticky")&&!e.includes(o-1)&&e.push(o-1);r.useStickyAttr&&"right"===n.getAttribute("sticky")&&!i.includes(o-1)&&i.push(o-1);!function(n,o,r,e){var i=r.includes(o),c=e.includes(o);if(!i&&!c)return;(function(t){t.style.position="sticky",t.style.left="",t.style.right="",t.removeAttribute("data-sticky");})(n),i&&!c?function(n,o){n.setAttribute("data-sticky","left"),n.tagName===t?n.style.backgroundColor="var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary))":n.style.backgroundColor="var(--nile-colors-white-base, var(--ng-colors-bg-primary))";n.style.zIndex="1",n.style.left="var(--sticky-left-".concat(o,")");}(n,o):function(n,o){n.setAttribute("data-sticky","right"),n.tagName===t?n.style.backgroundColor="var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary))":n.style.backgroundColor="var(--nile-colors-white-base, var(--ng-colors-bg-primary))";n.style.zIndex="1",n.style.right="var(--sticky-right-".concat(o,")");}(n,o);}(n,o-1,e,i);}(o,h,s,l,a);for(var _t6=0;_t6<u;_t6++)i[r-1+_t6]=Math.max(i[r-1+_t6]||0,f);return{c:d,colCount:Math.max(c,d-1)};}function w(t){if(!t.stickyLeftIndexes.length&&!t.stickyRightIndexes.length)return;var _ref5=function(t){var n=Math.max(0,t.scrollWidth-t.clientWidth);return{showRightOnLeftStickies:t.scrollLeft>0,showLeftOnRightStickies:t.scrollLeft<n};}(t),n=_ref5.showRightOnLeftStickies,o=_ref5.showLeftOnRightStickies;if(t.shadowLeftVisibleSticky!==n||t.shadowRightVisibleSticky!==o){t.shadowLeftVisibleSticky=n,t.shadowRightVisibleSticky=o;var _iterator5=_createForOfIteratorHelper(t.stickyLeftHeadEls),_step5;try{for(_iterator5.s();!(_step5=_iterator5.n()).done;){var _o6=_step5.value;_o6.classList.toggle("shadow-left",n);}}catch(err){_iterator5.e(err);}finally{_iterator5.f();}var _iterator6=_createForOfIteratorHelper(t.stickyLeftBodyEls),_step6;try{for(_iterator6.s();!(_step6=_iterator6.n()).done;){var _o7=_step6.value;_o7.classList.toggle("shadow-left",n);}}catch(err){_iterator6.e(err);}finally{_iterator6.f();}var _iterator7=_createForOfIteratorHelper(t.stickyRightHeadEls),_step7;try{for(_iterator7.s();!(_step7=_iterator7.n()).done;){var _n10=_step7.value;_n10.classList.toggle("shadow-right",o);}}catch(err){_iterator7.e(err);}finally{_iterator7.f();}var _iterator8=_createForOfIteratorHelper(t.stickyRightBodyEls),_step8;try{for(_iterator8.s();!(_step8=_iterator8.n()).done;){var _n11=_step8.value;_n11.classList.toggle("shadow-right",o);}}catch(err){_iterator8.e(err);}finally{_iterator8.f();}}}function v(t,n,o,r,e,i){return p(t,n,o,r,e,i,{itemSelector:"nile-grid-cell-item",useStickyAttr:!1,handleRowBg:!0});}function S(t,n){var o=n.map(function(t,o){return o===n.length-1?"minmax(".concat(Math.round(t),"px, auto)"):"".concat(Math.max(0,Math.round(t)),"px");}).join(" ");t.style.setProperty("--nile-grid-columns",o);}_export({a:c,b:a,c:y,i:s,k:M,m:S,r:l,s:w,u:u});return{setters:[function(_typesNileGridEnumsCjsJs){t=_typesNileGridEnumsCjsJs.N;}],execute:function execute(){_export("h",i=function i(t,n,o,r,e,_i2){var _i$r;n.style.display="block",o.style.display="block",n.style.height=e+"px",o.style.height=e+"px";var c=t,l=function l(t){return Math.max(0,Math.round(t||0));},a=l(_i2.reduce(function(t,n){return t+(n||0);},0)),s=(u=r,l(_i2.slice(0,Math.max(0,u)).reduce(function(t,n){return t+(n||0);},0)));var u;var f=s+l(Math.max(c,(_i$r=_i2[r])!==null&&_i$r!==void 0?_i$r:c));var h=s+c,d=a;f=Math.min(Math.max(f,h),d),f=Math.max(f,20),n.style.left=f-6+"px",o.style.left=f-2+"px";});_export("d",f=function f(t,n,o,r){t.addEventListener("nile-column-resize",n),t.addEventListener("nile-resize-start",function(n){n.stopPropagation(),t.resizeBaseColumnWidths=_toConsumableArray(t.columnWidths),t.resizeStart.style.display="block";}),t.addEventListener("nile-resize-end",function(n){n.stopPropagation(),s(t,n.detail.col),t.resizeBaseColumnWidths=[],t.resizeStart.style.display="none",t.resizeEnd.style.display="none";}),o.addEventListener("slotchange",function(){return r();}),t.addEventListener("scroll",function(){return b(t);});}),_export("f",h=function h(t,n,o,r){t.removeEventListener("nile-column-resize",n),t.removeEventListener("nile-resize-start",function(){t.resizeStart.style.display="block";}),t.removeEventListener("nile-resize-end",function(){t.resizeStart.style.display="none",t.resizeEnd.style.display="none";}),o.removeEventListener("slotchange",function(){return r();}),t.removeEventListener("scroll",function(){return b(t);});}),_export("g",d=function d(t){var _t$assignedElements;return((_t$assignedElements=t===null||t===void 0?void 0:t.assignedElements())!==null&&_t$assignedElements!==void 0?_t$assignedElements:[]).find(function(t){return"nile-grid-head"===t.tagName.toLowerCase();})||null;}),_export("e",g=function g(t){var _t$assignedElements2;return((_t$assignedElements2=t===null||t===void 0?void 0:t.assignedElements())!==null&&_t$assignedElements2!==void 0?_t$assignedElements2:[]).find(function(t){return"nile-grid-body"===t.tagName.toLowerCase();})||null;}),_export("j",b=function b(t){var n=Math.max(1,t.scrollHeight-t.clientHeight),o=Math.max(1,t.scrollWidth-t.clientWidth),r=Math.round(t.scrollTop/n*100),e=Math.round(t.scrollLeft/o*100);t.emit("nile-scroll",{bubbles:!0,composed:!0,detail:{horizontalScroll:e,verticalScroll:r,left:t.scrollLeft,top:t.scrollTop}});});_export("l",m=function m(t,o,r,e,i){var c=d(o),l=g(o);if(!c&&!l)return;var a=t.colCount||0,s=!1;if(t.needsStructureLayout)s=!0,t.headRows=c?Array.from(c.querySelectorAll("nile-grid-row")):[],a=0,t.headRows.length&&(a=function(t,n,o,r,e,i){return p(t,n,o,r,e,i,{itemSelector:"nile-grid-head-item",useStickyAttr:!0,handleRowBg:!1});}(t,t.headRows,[],a,e,i)),l&&(t.bodyRows=Array.from(l.querySelectorAll("nile-grid-row")),a?v(t,t.bodyRows,[],a,e,i):a=v(t,t.bodyRows,[],a,e,i)),t.stickyLeftIndexes.length||t.stickyRightIndexes.length?M(t):(t.stickyLeftHeadEls=[],t.stickyRightHeadEls=[],t.stickyLeftBodyEls=[],t.stickyRightBodyEls=[],t.shadowLeftVisibleSticky=!1,t.shadowRightVisibleSticky=!1),t.colCount=a,t.needsStructureLayout=!1,t.needsSpanLayout=!1,t.needsWidthLayout=!0;else if(t.needsSpanLayout&&l){var _n7=t.bodyRows;a=t.colCount||0,a&&v(t,_n7,[],a,e,i),t.needsSpanLayout=!1;}if(t.needsWidthLayout){if(a=t.colCount||a,!a)return;r(a),n(t,a,t.columnWidths,o,t.lockedWidthColumns,s),function(t){var n=t.columnWidths,o=t.stickyLeftIndexes,r=t.stickyRightIndexes,e=[],i=t;var c=0;for(var _t4=0;_t4<o.length;_t4++){var _r6=o[_t4];e.push({colNumber:_r6,left:c,right:0}),i.style.setProperty("--sticky-left-".concat(_r6),"".concat(c,"px")),c+=n[_r6];}var l=0;for(var _t5=r.length-1;_t5>=0;_t5--){var _o5=r[_t5];e.push({colNumber:_o5,left:0,right:l}),i.style.setProperty("--sticky-right-".concat(_o5),"".concat(l,"px")),l+=n[_o5];}t.prefixSumColumnsWidth=e;}(t),S(t,t.columnWidths),t.needsWidthLayout=!1;}});}};});
1
+ System.register(["./types/nile-grid.enums.cjs.js"],function(_export,_context){"use strict";var t,i,f,h,d,g,b,m;function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n12=0,F=function F(){};return{s:F,n:function n(){return _n12>=r.length?{done:!0}:{done:!1,value:r[_n12++]};},e:function e(r){throw r;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var o,a=!0,u=!1;return{s:function s(){t=t.call(r);},n:function n(){var r=t.next();return a=r.done,r;},e:function e(r){u=!0,o=r;},f:function f(){try{a||null==t["return"]||t["return"]();}finally{if(u)throw o;}}};}function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r);}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r);}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function n(t,n,i,c,l,a){var s=t.minColumnWidth,u=function(t){return Math.max(0,(t.getBoundingClientRect().width||0)-4);}(t),f=function(t,n,r,e,i,c,l){var a=Array(n).fill(null);if(c){var _e=d(t);_e&&function(t,n,r,e,i){var c=_toConsumableArray(t.children).filter(function(t){return"nile-grid-row"===t.tagName.toLowerCase();});var _iterator=_createForOfIteratorHelper(c),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _t=_step.value;o(_t,n,r,e,i);}}catch(err){_iterator.e(err);}finally{_iterator.f();}}(_e,a,n,r,i);}(l===null||l===void 0?void 0:l.length)&&l.some(function(t){return t>0;})&&(l===null||l===void 0?void 0:l.length)===n&&function(t,n,o){for(var _r=0;_r<n.length;_r++)null==t[_r]&&Number.isFinite(n[_r])&&(t[_r]=Math.max(o.minColumnWidth,Math.round(n[_r])));}(a,l,e);return a;}(c,n,u,t,l,a,i),h=function(t,n,o){var r=Array(t.length).fill(!1);for(var _e2=0;_e2<t.length;_e2++){var _t$_e;var _i=(_t$_e=t[_e2])!==null&&_t$_e!==void 0?_t$_e:null;n[_e2]=null==_i||Number.isNaN(_i)?0:Math.max(o,Number(_i)),r[_e2]=null!=_i&&!Number.isNaN(_i);}return r;}(f,i,s);!function(t,n,o,r){var e=t.reduce(function(t,n){return t+n;},0),i=o-e,c=Array.from({length:t.length},function(t,n){return n;}).filter(function(t){return!n[t];});if(0===c.length)return;var l=i/c.length;var _iterator2=_createForOfIteratorHelper(c),_step2;try{for(_iterator2.s();!(_step2=_iterator2.n()).done;){var _n=_step2.value;t[_n]=Math.max(r,l);}}catch(err){_iterator2.e(err);}finally{_iterator2.f();}}(i,h,u,s),t.enableScroll||function(t,n,o){var i=(c=t,c.reduce(function(t,n){return t+n;},0));var c;i<n?function(t,n,o){if(!t.length)return;var r=n-o,e=o||1;for(var _n2=0;_n2<t.length;_n2++)t[_n2]+=r*(t[_n2]/e);}(t,n,i):i>n&&function(t,n,o,i){var c=o-n;for(var _n3=0;_n3<8&&c>.5;_n3++){var _r2=r(t,i),_n4=_r2.candidates,_o=_r2.weightSum;if(!_n4.length||_o<=0)break;var _l=e(t,_n4,_o,c,i);if(c-=_l,_l<.5)break;}}(t,n,i,o);}(i,u,s),function(t,n){for(var _o2=0;_o2<t.length;_o2++)t[_o2]=Math.max(n,Math.round(t[_o2]));}(i,s),S(t,i);}function o(t,n,o,r,e){var i=_toConsumableArray(t.children).filter(function(t){return"nile-grid-head-item"===t.tagName.toLowerCase();}).map(function(t){return function(t,n,o,_t$dataset,_ref,_t$width){var r=Number((_t$dataset=t.dataset)===null||_t$dataset===void 0?void 0:_t$dataset.cStart)||1,e=Math.max(1,Number(t.getAttribute("colspan"))||1),i=(_ref=(_t$width=t.width)!==null&&_t$width!==void 0?_t$width:t.getAttribute("width"))!==null&&_ref!==void 0?_ref:null;t.hasAttribute("lockWidth")&&(o[r-1]=!0);var c=function(t,n){if(null==t)return null;if("number"==typeof t&&Number.isFinite(t))return t;var o=String(t).trim().toLowerCase();if(!o)return null;if(o.endsWith("px")){var _t2=parseFloat(o);return Number.isFinite(_t2)?_t2:null;}if(o.endsWith("%")){var _t3=parseFloat(o);return Number.isFinite(_t3)?_t3/100*n:null;}var r=parseFloat(o);return Number.isFinite(r)?r:null;}(i,n);return{cStart:r,colspan:e,cw:c};}(t,r,e);}).filter(function(t){return null!=t.cw;});i.sort(function(t,n){return t.colspan-n.colspan;}),i.forEach(function(_ref2){var t=_ref2.cStart,r=_ref2.colspan,e=_ref2.cw;!function(t,n,o,r,e){var i=Math.round(r/o);for(var _r3=0;_r3<o;_r3++){var _o3=n-1+_r3;_o3>=0&&_o3<e&&null==t[_o3]&&(t[_o3]=i);}}(n,t,r,e,o);});}function r(t,n){var o=[];var r=0;for(var _e3=0;_e3<t.length;_e3++){Math.max(0,t[_e3]-n)>0&&(o.push(_e3),r+=t[_e3]);}return{candidates:o,weightSum:r};}function e(t,n,o,r,e){var i=0;var _iterator3=_createForOfIteratorHelper(n),_step3;try{for(_iterator3.s();!(_step3=_iterator3.n()).done;){var _c=_step3.value;var _n5=Math.max(0,t[_c]-e),_l2=t[_c]/o,_a=Math.min(_n5,r*_l2);t[_c]-=_a,i+=_a;}}catch(err){_iterator3.e(err);}finally{_iterator3.f();}return i;}function c(t){var _i$o,_i3;var n=t.target,o=t.col,r=t.widthPx,e=t.floor,i=t.columnWidths,c=!!n.getAttribute("colspan")&&parseInt(n.getAttribute("colspan"),10)>1,l=(_i$o=i[o])!==null&&_i$o!==void 0?_i$o:e,a=c?r-((_i3=i[o-1])!==null&&_i3!==void 0?_i3:0):r,s=Math.max(e,Math.round(Number.isFinite(a)?a:l));return{prevW:l,newW:s,delta0:s-l};}function l(_ref3){var _t$lockedWidthColumns;var t=_ref3.grid,n=_ref3.col,o=_ref3.prevW,r=_ref3.newW,e=_ref3.floor;if((_t$lockedWidthColumns=t.lockedWidthColumns)!==null&&_t$lockedWidthColumns!==void 0&&_t$lockedWidthColumns[n])return;var i=r-o;if(i>0){var _r4=function(t,n,o,r){var e=0;for(var _i4=n;_i4<t.length;_i4++)(r===null||r===void 0?void 0:r[_i4])||(e+=Math.max(0,t[_i4]-o));return e;}(t.columnWidths,n+1,e,t.lockedWidthColumns);if(_r4<=0)return;i=Math.min(i,_r4),t.columnWidths[n]=o+i,function(t,n,o,r,e){var i=o;for(var _o4=n;_o4<t.length&&i>0;_o4++){if(e!==null&&e!==void 0&&e[_o4])continue;var _n6=t[_o4]-r;if(_n6<=0)continue;var _c2=Math.min(_n6,i);t[_o4]-=_c2,i-=_c2;}}(t.columnWidths,n+1,i,e,t.lockedWidthColumns);}else{var _i5=Math.max(e,r),_c3=o-_i5;t.columnWidths[n]=_i5,function(t,n,o){var r=o;n<t.length&&r>0&&(t[n]+=r,r=0);}(t.columnWidths,n+1,_c3);}}function a(t){var _n$lockedWidthColumns;var n=t.grid,o=t.col,r=t.newW;((_n$lockedWidthColumns=n.lockedWidthColumns)===null||_n$lockedWidthColumns===void 0?void 0:_n$lockedWidthColumns[o])||(n.columnWidths[o]=r);}function s(t,n){i(t.minColumnWidth,t.resizeStart,t.resizeEnd,n,t.scrollHeight,t.columnWidths),S(t,t.columnWidths);}function u(t,n){i(t.minColumnWidth,t.resizeStart,t.resizeEnd,n,t.scrollHeight,t.columnWidths);}function y(t,n){var o=Math.min(t.length,n.length);for(var _r5=0;_r5<o;_r5++)t[_r5]=n[_r5];}function M(t){var _ref4=function(t){if(!t.shadowRoot)return{head:void 0,body:void 0};var n=t.slotEl.assignedElements(),o=function o(t){return n.find(function(n){return n.tagName.toLowerCase()===t;});};return{head:o("nile-grid-head"),body:o("nile-grid-body")};}(t),n=_ref4.head,o=_ref4.body;t.stickyLeftHeadEls=n?Array.from(n.querySelectorAll('nile-grid-head-item[data-sticky="left"]')):[],t.stickyRightHeadEls=n?Array.from(n.querySelectorAll('nile-grid-head-item[data-sticky="right"]')):[],t.stickyLeftBodyEls=o?Array.from(o.querySelectorAll('nile-grid-cell-item[data-sticky="left"]')):[],t.stickyRightBodyEls=o?Array.from(o.querySelectorAll('nile-grid-cell-item[data-sticky="right"]')):[];}function p(t,n,o,r,e,i,c){return n.forEach(function(n,l){t.hoverable&&n.setAttribute("hover","true"),r=function(t,n,o,r,e,i,c,l){var a=1;var s=o+1,u=l.itemSelector.toLowerCase(),f=Array.from(n.children).filter(function(t){return t.tagName.toLowerCase()===u;});var _iterator4=_createForOfIteratorHelper(f),_step4;try{for(_iterator4.s();!(_step4=_iterator4.n()).done;){var _n9=_step4.value;for(;(r[a-1]||0)>0;)a++;var _k=k(t,_n9,a,s,r,e,i,c,l);a=_k.c;e=_k.colCount;}}catch(err){_iterator4.e(err);}finally{_iterator4.f();}return function(t){for(var _n8=0;_n8<t.length;_n8++)t[_n8]>0&&t[_n8]--;}(r),e;}(t,n,l,o,r,e,i,c);}),r;}function k(n,o,r,e,i,c,l,a,s){var u=Math.max(1,+o.getAttribute("colspan")||1),f=Math.max(1,+o.getAttribute("rowspan")||1);!function(n,o,r){if(r<=1)return;o.style.position="absolute",o.style.zIndex="1",o.tagName===t?(n.headHeight||(n.headHeight=o.getBoundingClientRect().height),o.style.height=n.headHeight*r+(r-1)+"px",o.style.backgroundColor="var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary))",o.style.backgroundColor="var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary))"):(n.cellHeight||(n.cellHeight=o.getBoundingClientRect().height),o.style.height=n.cellHeight*r+(r-1)+"px",o.style.backgroundColor="var(--nile-colors-white-base, var(--ng-colors-bg-primary))",o.style.backgroundColor="var(--nile-colors-white-base, var(--ng-colors-bg-primary))");}(n,o,f);var h=r,d=r+u;!function(t,n,o,r,e){var i=r+e;t.style.gridColumn="".concat(n," / ").concat(o),t.style.gridRow="".concat(r," / ").concat(i),t.dataset.cStart=String(n);}(o,h,d,e,f),(s.useStickyAttr||l.length||a.length)&&function(n,o,r,e,i){r.useStickyAttr&&"left"===n.getAttribute("sticky")&&!e.includes(o-1)&&e.push(o-1);r.useStickyAttr&&"right"===n.getAttribute("sticky")&&!i.includes(o-1)&&i.push(o-1);!function(n,o,r,e){var i=r.includes(o),c=e.includes(o);if(!i&&!c)return;(function(t){t.style.position="sticky",t.style.left="",t.style.right="",t.removeAttribute("data-sticky");})(n),i&&!c?function(n,o){n.setAttribute("data-sticky","left"),n.tagName===t?n.style.backgroundColor="var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary))":n.style.backgroundColor="var(--nile-colors-white-base, var(--ng-colors-bg-primary))";n.style.zIndex="1",n.style.left="var(--sticky-left-".concat(o,")");}(n,o):function(n,o){n.setAttribute("data-sticky","right"),n.tagName===t?n.style.backgroundColor="var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary))":n.style.backgroundColor="var(--nile-colors-white-base, var(--ng-colors-bg-primary))";n.style.zIndex="1",n.style.right="var(--sticky-right-".concat(o,")");}(n,o);}(n,o-1,e,i);}(o,h,s,l,a);for(var _t6=0;_t6<u;_t6++)i[r-1+_t6]=Math.max(i[r-1+_t6]||0,f);return{c:d,colCount:Math.max(c,d-1)};}function w(t){if(!t.stickyLeftIndexes.length&&!t.stickyRightIndexes.length)return;var _ref5=function(t){var n=Math.max(0,t.scrollWidth-t.clientWidth);return{showRightOnLeftStickies:t.scrollLeft>0,showLeftOnRightStickies:t.scrollLeft<n};}(t),n=_ref5.showRightOnLeftStickies,o=_ref5.showLeftOnRightStickies;if(t.shadowLeftVisibleSticky!==n||t.shadowRightVisibleSticky!==o){t.shadowLeftVisibleSticky=n,t.shadowRightVisibleSticky=o;var _iterator5=_createForOfIteratorHelper(t.stickyLeftHeadEls),_step5;try{for(_iterator5.s();!(_step5=_iterator5.n()).done;){var _o6=_step5.value;_o6.classList.toggle("shadow-left",n);}}catch(err){_iterator5.e(err);}finally{_iterator5.f();}var _iterator6=_createForOfIteratorHelper(t.stickyLeftBodyEls),_step6;try{for(_iterator6.s();!(_step6=_iterator6.n()).done;){var _o7=_step6.value;_o7.classList.toggle("shadow-left",n);}}catch(err){_iterator6.e(err);}finally{_iterator6.f();}var _iterator7=_createForOfIteratorHelper(t.stickyRightHeadEls),_step7;try{for(_iterator7.s();!(_step7=_iterator7.n()).done;){var _n10=_step7.value;_n10.classList.toggle("shadow-right",o);}}catch(err){_iterator7.e(err);}finally{_iterator7.f();}var _iterator8=_createForOfIteratorHelper(t.stickyRightBodyEls),_step8;try{for(_iterator8.s();!(_step8=_iterator8.n()).done;){var _n11=_step8.value;_n11.classList.toggle("shadow-right",o);}}catch(err){_iterator8.e(err);}finally{_iterator8.f();}}}function v(t,n,o,r,e,i){return p(t,n,o,r,e,i,{itemSelector:"nile-grid-cell-item",useStickyAttr:!1,handleRowBg:!0});}function S(t,n){var o=n.map(function(t,o){return o===n.length-1?"minmax(".concat(Math.round(t),"px, auto)"):"".concat(Math.max(0,Math.round(t)),"px");}).join(" ");t.style.setProperty("--nile-grid-columns",o);}_export({a:c,b:a,c:y,i:s,k:M,m:S,r:l,s:w,u:u});return{setters:[function(_typesNileGridEnumsCjsJs){t=_typesNileGridEnumsCjsJs.N;}],execute:function execute(){_export("h",i=function i(t,n,o,r,e,_i2){var _i$r;n.style.display="block",o.style.display="block",n.style.height=e+"px",o.style.height=e+"px";var c=t,l=function l(t){return Math.max(0,Math.round(t||0));},a=l(_i2.reduce(function(t,n){return t+(n||0);},0)),s=(u=r,l(_i2.slice(0,Math.max(0,u)).reduce(function(t,n){return t+(n||0);},0)));var u;var f=s+l(Math.max(c,(_i$r=_i2[r])!==null&&_i$r!==void 0?_i$r:c));var h=s+c,d=a;f=Math.min(Math.max(f,h),d),f=Math.max(f,20),n.style.left=f-6+"px",o.style.left=f-2+"px";});_export("d",f=function f(t,n,o,r){t.addEventListener("nile-column-resize",n),t.addEventListener("nile-resize-start",function(n){n.stopPropagation(),t.resizeBaseColumnWidths=_toConsumableArray(t.columnWidths),t.resizeStart.style.display="block";}),t.addEventListener("nile-resize-end",function(n){n.stopPropagation(),s(t,n.detail.col),t.resizeBaseColumnWidths=[],t.resizeStart.style.display="none",t.resizeEnd.style.display="none";}),o.addEventListener("slotchange",function(){return r();}),t.addEventListener("scroll",function(){return b(t);});}),_export("f",h=function h(t,n,o,r){t.removeEventListener("nile-column-resize",n),t.removeEventListener("nile-resize-start",function(){t.resizeStart.style.display="block";}),t.removeEventListener("nile-resize-end",function(){t.resizeStart.style.display="none",t.resizeEnd.style.display="none";}),o.removeEventListener("slotchange",function(){return r();}),t.removeEventListener("scroll",function(){return b(t);});}),_export("g",d=function d(t){var _t$assignedElements;return((_t$assignedElements=t===null||t===void 0?void 0:t.assignedElements())!==null&&_t$assignedElements!==void 0?_t$assignedElements:[]).find(function(t){return"nile-grid-head"===t.tagName.toLowerCase();})||null;}),_export("e",g=function g(t){var _t$assignedElements2;return((_t$assignedElements2=t===null||t===void 0?void 0:t.assignedElements())!==null&&_t$assignedElements2!==void 0?_t$assignedElements2:[]).find(function(t){return"nile-grid-body"===t.tagName.toLowerCase();})||null;}),_export("j",b=function b(t){var n=Math.max(1,t.scrollHeight-t.clientHeight),o=Math.max(1,t.scrollWidth-t.clientWidth),r=Math.round(t.scrollTop/n*100),e=Math.round(t.scrollLeft/o*100);t.emit("nile-scroll",{bubbles:!0,composed:!0,detail:{horizontalScroll:e,verticalScroll:r,left:t.scrollLeft,top:t.scrollTop}});});_export("l",m=function m(t,o,r,e,i){var c=d(o),l=g(o);if(!c&&!l)return;var a=t.colCount||0,s=!1;if(t.needsStructureLayout)s=!0,t.headRows=c?Array.from(c.querySelectorAll("nile-grid-row")):[],a=0,t.headRows.length&&(a=function(t,n,o,r,e,i){return p(t,n,o,r,e,i,{itemSelector:"nile-grid-head-item",useStickyAttr:!0,handleRowBg:!1});}(t,t.headRows,[],a,e,i)),l&&(t.bodyRows=Array.from(l.querySelectorAll("nile-grid-row")),a?v(t,t.bodyRows,[],a,e,i):a=v(t,t.bodyRows,[],a,e,i)),t.stickyLeftIndexes.length||t.stickyRightIndexes.length?M(t):(t.stickyLeftHeadEls=[],t.stickyRightHeadEls=[],t.stickyLeftBodyEls=[],t.stickyRightBodyEls=[],t.shadowLeftVisibleSticky=!1,t.shadowRightVisibleSticky=!1),t.colCount=a,t.needsStructureLayout=!1,t.needsSpanLayout=!1,t.needsWidthLayout=!0;else if(t.needsSpanLayout&&l){var _n7=t.bodyRows;a=t.colCount||0,a&&v(t,_n7,[],a,e,i),t.needsSpanLayout=!1;}if(t.needsWidthLayout){if(a=t.colCount||a,!a)return;r(a),n(t,a,t.columnWidths,o,t.lockedWidthColumns,s),function(t){var n=t.columnWidths,o=t.stickyLeftIndexes,r=t.stickyRightIndexes,e=[],i=t;var c=0;for(var _t4=0;_t4<o.length;_t4++){var _r6=o[_t4];e.push({colNumber:_r6,left:c,right:0}),i.style.setProperty("--sticky-left-".concat(_r6),"".concat(c,"px")),c+=n[_r6];}var l=0;for(var _t5=r.length-1;_t5>=0;_t5--){var _o5=r[_t5];e.push({colNumber:_o5,left:0,right:l}),i.style.setProperty("--sticky-right-".concat(_o5),"".concat(l,"px")),l+=n[_o5];}t.prefixSumColumnsWidth=e;}(t),S(t,t.columnWidths),t.needsWidthLayout=!1,t.isGridReady||(t.isGridReady=!0,t.emit("nile-grid-ready"));}});}};});
2
2
  //# sourceMappingURL=nile-grid.width.cjs.js.map