@aquera/nile-elements 1.2.7-beta-1.5 → 1.2.7-beta-1.6

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 (742) hide show
  1. package/README.md +7 -1
  2. package/demo/index.html +352 -14
  3. package/demo/variables.css +1 -1
  4. package/dist/axe.min-140df6c2.cjs.js +2 -0
  5. package/dist/axe.min-140df6c2.cjs.js.map +1 -0
  6. package/dist/axe.min-591c52c3.esm.js +1 -0
  7. package/dist/{fixture-78a015b8.esm.js → fixture-985bba12.esm.js} +1 -1
  8. package/dist/{fixture-28d63bc4.cjs.js → fixture-dff65c89.cjs.js} +2 -2
  9. package/dist/{fixture-28d63bc4.cjs.js.map → fixture-dff65c89.cjs.js.map} +1 -1
  10. package/dist/{fixture-add72f26.esm.js → fixture-eddab1c0.esm.js} +2 -2
  11. package/dist/{fixture-82d27dd9.cjs.js → fixture-f575d0df.cjs.js} +4 -4
  12. package/dist/fixture-f575d0df.cjs.js.map +1 -0
  13. package/dist/floating-ui.dom-70d5643f.esm.js +1 -0
  14. package/dist/floating-ui.dom-f19772dc.cjs.js +2 -0
  15. package/dist/floating-ui.dom-f19772dc.cjs.js.map +1 -0
  16. package/dist/flow-3e83b6f4.esm.js +17 -0
  17. package/dist/flow-ca47f938.cjs.js +14 -0
  18. package/dist/flow-ca47f938.cjs.js.map +1 -0
  19. package/dist/index.cjs.js +1 -1
  20. package/dist/index.esm.js +1 -1
  21. package/dist/index.js +360 -372
  22. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  23. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  24. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  25. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  26. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  27. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  28. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  29. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  30. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  31. package/dist/nile-button/nile-button.test.esm.js +1 -1
  32. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  33. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  34. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  35. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  36. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  37. package/dist/nile-card/nile-card.test.esm.js +1 -1
  38. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  39. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  40. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  41. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  42. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  43. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  44. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  45. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  46. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  47. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  48. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  49. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  50. package/dist/nile-error-message/nile-error-message.css.cjs.js +1 -1
  51. package/dist/nile-error-message/nile-error-message.css.cjs.js.map +1 -1
  52. package/dist/nile-error-message/nile-error-message.css.esm.js +9 -10
  53. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  54. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  55. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  56. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  57. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  58. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  59. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  60. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  61. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  62. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  63. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  64. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  65. package/dist/nile-grid/index.cjs.js +1 -1
  66. package/dist/nile-grid/index.esm.js +1 -1
  67. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.cjs.js +1 -1
  68. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -1
  69. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +1 -1
  70. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -1
  71. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +4 -11
  72. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.esm.js +1 -1
  73. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +1 -1
  74. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +1 -1
  75. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +1 -1
  76. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.cjs.js +1 -1
  77. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -1
  78. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js +1 -1
  79. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -1
  80. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.esm.js +0 -6
  81. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.esm.js +2 -2
  82. package/dist/nile-grid/nile-grid-row/nile-grid-row.css.cjs.js +1 -1
  83. package/dist/nile-grid/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -1
  84. package/dist/nile-grid/nile-grid-row/nile-grid-row.css.esm.js +1 -1
  85. package/dist/nile-grid/nile-grid.cjs.js +1 -1
  86. package/dist/nile-grid/nile-grid.cjs.js.map +1 -1
  87. package/dist/nile-grid/nile-grid.esm.js +2 -2
  88. package/dist/nile-grid/nile-grid.layout.cjs.js +1 -1
  89. package/dist/nile-grid/nile-grid.layout.esm.js +1 -1
  90. package/dist/nile-grid/nile-grid.resize.cjs.js +1 -1
  91. package/dist/nile-grid/nile-grid.resize.esm.js +1 -1
  92. package/dist/nile-grid/nile-grid.utils.cjs.js.map +1 -1
  93. package/dist/nile-grid/nile-grid.width.cjs.js +1 -1
  94. package/dist/nile-grid/nile-grid.width.cjs.js.map +1 -1
  95. package/dist/nile-grid/nile-grid.width.esm.js +1 -1
  96. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  97. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  98. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  99. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  100. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  101. package/dist/nile-input/nile-input.test.esm.js +1 -1
  102. package/dist/nile-light-tooltip/index.cjs.js +2 -0
  103. package/dist/nile-light-tooltip/index.esm.js +1 -0
  104. package/dist/nile-light-tooltip/nile-light-tooltip.cjs.js +2 -0
  105. package/dist/nile-light-tooltip/nile-light-tooltip.cjs.js.map +1 -0
  106. package/dist/{nile-test-hello/nile-test-hello.css.cjs.js → nile-light-tooltip/nile-light-tooltip.css.cjs.js} +1 -1
  107. package/dist/nile-light-tooltip/nile-light-tooltip.css.cjs.js.map +1 -0
  108. package/dist/nile-light-tooltip/nile-light-tooltip.esm.js +1 -0
  109. package/dist/nile-light-tooltip/utils.cjs.js +2 -0
  110. package/dist/nile-light-tooltip/utils.cjs.js.map +1 -0
  111. package/dist/nile-light-tooltip/utils.esm.js +1 -0
  112. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  113. package/dist/nile-link/nile-link.test.esm.js +1 -1
  114. package/dist/nile-lite-tooltip/index.cjs.js +2 -0
  115. package/dist/nile-lite-tooltip/index.esm.js +1 -0
  116. package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js +2 -0
  117. package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js.map +1 -0
  118. package/dist/{nile-grid/nile-grid-columns/nile-grid-columns.css.cjs.js → nile-lite-tooltip/nile-lite-tooltip.css.cjs.js} +1 -1
  119. package/dist/nile-lite-tooltip/nile-lite-tooltip.css.cjs.js.map +1 -0
  120. package/dist/nile-lite-tooltip/nile-lite-tooltip.esm.js +1 -0
  121. package/dist/nile-lite-tooltip/utils.cjs.js +2 -0
  122. package/dist/nile-lite-tooltip/utils.cjs.js.map +1 -0
  123. package/dist/nile-lite-tooltip/utils.esm.js +1 -0
  124. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  125. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  126. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  127. package/dist/nile-popover/nile-popover.test.esm.js +1 -1
  128. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  129. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  130. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  131. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  132. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  133. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  134. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  135. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  136. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  137. package/dist/nile-select/nile-select.test.esm.js +1 -1
  138. package/dist/nile-select/virtual-scroll-helper.cjs.js +1 -1
  139. package/dist/nile-select/virtual-scroll-helper.cjs.js.map +1 -1
  140. package/dist/nile-select/virtual-scroll-helper.esm.js +2 -1
  141. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  142. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  143. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  144. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  145. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js +1 -1
  146. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
  147. package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +1 -5
  148. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  149. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  150. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +2 -2
  151. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  152. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +1 -1
  153. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +1 -1
  154. package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +1 -1
  155. package/dist/nile-virtual-select/nile-virtual-select.esm.js +6 -5
  156. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  157. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  158. package/dist/nile-virtual-select/portal-manager.cjs.js +1 -1
  159. package/dist/nile-virtual-select/portal-manager.cjs.js.map +1 -1
  160. package/dist/nile-virtual-select/portal-manager.esm.js +1 -1
  161. package/dist/scopedElementsWrapper-067597d2.cjs.js +6 -0
  162. package/dist/scopedElementsWrapper-067597d2.cjs.js.map +1 -0
  163. package/dist/scopedElementsWrapper-4374e962.esm.js +7 -0
  164. package/dist/sinon-esm-283dcc9b.cjs.js +2 -0
  165. package/dist/sinon-esm-283dcc9b.cjs.js.map +1 -0
  166. package/dist/sinon-esm-abe9b0ec.esm.js +1 -0
  167. package/dist/src/index.d.ts +1 -0
  168. package/dist/src/index.js +1 -0
  169. package/dist/src/index.js.map +1 -1
  170. package/dist/src/nile-error-message/nile-error-message.css.js +7 -8
  171. package/dist/src/nile-error-message/nile-error-message.css.js.map +1 -1
  172. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js +4 -11
  173. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -1
  174. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.js +1 -1
  175. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.js.map +1 -1
  176. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.js +2 -2
  177. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +1 -1
  178. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.js +0 -6
  179. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -1
  180. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.d.ts +0 -1
  181. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.js +0 -4
  182. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.js.map +1 -1
  183. package/dist/src/nile-grid/nile-grid-row/nile-grid-row.css.js +1 -1
  184. package/dist/src/nile-grid/nile-grid-row/nile-grid-row.css.js.map +1 -1
  185. package/dist/src/nile-grid/nile-grid.d.ts +0 -3
  186. package/dist/src/nile-grid/nile-grid.js +0 -10
  187. package/dist/src/nile-grid/nile-grid.js.map +1 -1
  188. package/dist/src/nile-grid/nile-grid.layout.js +5 -16
  189. package/dist/src/nile-grid/nile-grid.layout.js.map +1 -1
  190. package/dist/src/nile-grid/nile-grid.resize.d.ts +1 -1
  191. package/dist/src/nile-grid/nile-grid.resize.js +13 -8
  192. package/dist/src/nile-grid/nile-grid.resize.js.map +1 -1
  193. package/dist/src/nile-grid/nile-grid.utils.js.map +1 -1
  194. package/dist/src/nile-grid/nile-grid.width.d.ts +3 -3
  195. package/dist/src/nile-grid/nile-grid.width.js +19 -31
  196. package/dist/src/nile-grid/nile-grid.width.js.map +1 -1
  197. package/dist/src/nile-light-tooltip/index.d.ts +1 -0
  198. package/dist/src/nile-light-tooltip/index.js +2 -0
  199. package/dist/src/nile-light-tooltip/index.js.map +1 -0
  200. package/dist/src/{nile-group-header/nile-group-header.css.d.ts → nile-light-tooltip/nile-light-tooltip.css.d.ts} +1 -1
  201. package/dist/src/{nile-grid/nile-grid-columns/nile-grid-columns.css.js → nile-light-tooltip/nile-light-tooltip.css.js} +3 -3
  202. package/dist/src/nile-light-tooltip/nile-light-tooltip.css.js.map +1 -0
  203. package/dist/src/nile-light-tooltip/nile-light-tooltip.d.ts +79 -0
  204. package/dist/src/nile-light-tooltip/nile-light-tooltip.js +350 -0
  205. package/dist/src/nile-light-tooltip/nile-light-tooltip.js.map +1 -0
  206. package/dist/src/{nile-grid-cell/nile-grid-cell.css.d.ts → nile-light-tooltip/nile-lite-tooltip.css.d.ts} +1 -1
  207. package/dist/src/{nile-grid-columns/nile-grid-columns.css.js → nile-light-tooltip/nile-lite-tooltip.css.js} +3 -3
  208. package/dist/src/nile-light-tooltip/nile-lite-tooltip.css.js.map +1 -0
  209. package/dist/src/nile-light-tooltip/nile-lite-tooltip.d.ts +79 -0
  210. package/dist/src/nile-light-tooltip/nile-lite-tooltip.js +350 -0
  211. package/dist/src/nile-light-tooltip/nile-lite-tooltip.js.map +1 -0
  212. package/dist/src/nile-light-tooltip/utils.d.ts +2 -0
  213. package/dist/src/nile-light-tooltip/utils.js +29 -0
  214. package/dist/src/nile-light-tooltip/utils.js.map +1 -0
  215. package/dist/src/nile-lite-tooltip/index.d.ts +1 -0
  216. package/dist/src/nile-lite-tooltip/index.js +2 -0
  217. package/dist/src/{nile-sidebar-menu → nile-lite-tooltip}/index.js.map +1 -1
  218. package/dist/src/{nile-grid-columns/nile-grid-columns.css.d.ts → nile-lite-tooltip/nile-lite-tooltip.css.d.ts} +2 -2
  219. package/dist/src/{nile-grid-column/nile-grid-column.css.js → nile-lite-tooltip/nile-lite-tooltip.css.js} +3 -3
  220. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.css.js.map +1 -0
  221. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.d.ts +77 -0
  222. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.js +344 -0
  223. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.js.map +1 -0
  224. package/dist/src/nile-lite-tooltip/utils.d.ts +2 -0
  225. package/dist/src/nile-lite-tooltip/utils.js +29 -0
  226. package/dist/src/nile-lite-tooltip/utils.js.map +1 -0
  227. package/dist/src/nile-select/virtual-scroll-helper.js +2 -1
  228. package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -1
  229. package/dist/src/nile-table-header-item/nile-table-header-item.css.js +1 -5
  230. package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
  231. package/dist/src/nile-virtual-select/nile-virtual-select.css.js +1 -1
  232. package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +1 -1
  233. package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +0 -1
  234. package/dist/src/nile-virtual-select/nile-virtual-select.js +22 -25
  235. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
  236. package/dist/src/nile-virtual-select/portal-manager.d.ts +1 -0
  237. package/dist/src/nile-virtual-select/portal-manager.js +36 -0
  238. package/dist/src/nile-virtual-select/portal-manager.js.map +1 -1
  239. package/dist/src/version.js +3 -1
  240. package/dist/src/version.js.map +1 -1
  241. package/dist/tsconfig.tsbuildinfo +1 -1
  242. package/dist/version.cjs.js +1 -1
  243. package/dist/version.cjs.js.map +1 -1
  244. package/dist/version.esm.js +1 -1
  245. package/dist/virtualize-73f68d08.esm.js +22 -0
  246. package/dist/virtualize-eb33a9a0.cjs.js +18 -0
  247. package/dist/virtualize-eb33a9a0.cjs.js.map +1 -0
  248. package/package.json +19 -17
  249. package/src/index.ts +2 -1
  250. package/src/nile-error-message/nile-error-message.css.ts +7 -8
  251. package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.ts +4 -11
  252. package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.ts +1 -1
  253. package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.ts +2 -2
  254. package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.ts +0 -6
  255. package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.ts +0 -1
  256. package/src/nile-grid/nile-grid-row/nile-grid-row.css.ts +1 -1
  257. package/src/nile-grid/nile-grid.layout.ts +6 -15
  258. package/src/nile-grid/nile-grid.resize.ts +12 -8
  259. package/src/nile-grid/nile-grid.ts +0 -6
  260. package/src/nile-grid/nile-grid.utils.ts +1 -1
  261. package/src/nile-grid/nile-grid.width.ts +19 -34
  262. package/src/nile-lite-tooltip/index.ts +1 -0
  263. package/src/nile-lite-tooltip/nile-lite-tooltip.css.ts +19 -0
  264. package/src/nile-lite-tooltip/nile-lite-tooltip.ts +364 -0
  265. package/src/nile-lite-tooltip/utils.ts +33 -0
  266. package/src/nile-select/virtual-scroll-helper.ts +2 -1
  267. package/src/nile-table-header-item/nile-table-header-item.css.ts +1 -5
  268. package/src/nile-virtual-select/nile-virtual-select.css.ts +1 -1
  269. package/src/nile-virtual-select/nile-virtual-select.ts +21 -32
  270. package/src/nile-virtual-select/portal-manager.ts +45 -0
  271. package/src/version.ts +2 -0
  272. package/vscode-html-custom-data.json +218 -11
  273. package/dist/aquera-nile-elements-0.1.57-beta-2.0.tgz +0 -0
  274. package/dist/axe.min-2b379f29.cjs.js +0 -12
  275. package/dist/axe.min-2b379f29.cjs.js.map +0 -1
  276. package/dist/axe.min-c2cd8733.esm.js +0 -12
  277. package/dist/fixture-324a7ef9.cjs.js +0 -395
  278. package/dist/fixture-324a7ef9.cjs.js.map +0 -1
  279. package/dist/fixture-7a0c60c4.esm.js +0 -569
  280. package/dist/fixture-82d27dd9.cjs.js.map +0 -1
  281. package/dist/fixture-ba65eb22.esm.js +0 -569
  282. package/dist/fixture-c1bd203f.cjs.js +0 -395
  283. package/dist/fixture-c1bd203f.cjs.js.map +0 -1
  284. package/dist/fixture-cb376a7f.cjs.js +0 -395
  285. package/dist/fixture-cb376a7f.cjs.js.map +0 -1
  286. package/dist/fixture-d3ab97fa.cjs.js +0 -395
  287. package/dist/fixture-d3ab97fa.cjs.js.map +0 -1
  288. package/dist/fixture-f2693d97.esm.js +0 -569
  289. package/dist/nile-grid/nile-grid-column-cell-template/index.cjs.js +0 -2
  290. package/dist/nile-grid/nile-grid-column-cell-template/index.cjs.js.map +0 -1
  291. package/dist/nile-grid/nile-grid-column-cell-template/index.esm.js +0 -1
  292. package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.cjs.js +0 -2
  293. package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.cjs.js.map +0 -1
  294. package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.cjs.js +0 -2
  295. package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.cjs.js.map +0 -1
  296. package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.esm.js +0 -1
  297. package/dist/nile-grid/nile-grid-column-head-template/index.cjs.js +0 -2
  298. package/dist/nile-grid/nile-grid-column-head-template/index.cjs.js.map +0 -1
  299. package/dist/nile-grid/nile-grid-column-head-template/index.esm.js +0 -1
  300. package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.cjs.js +0 -2
  301. package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.cjs.js.map +0 -1
  302. package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.cjs.js +0 -2
  303. package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.cjs.js.map +0 -1
  304. package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.esm.js +0 -3
  305. package/dist/nile-grid/nile-grid-columns/index.cjs.js +0 -2
  306. package/dist/nile-grid/nile-grid-columns/index.cjs.js.map +0 -1
  307. package/dist/nile-grid/nile-grid-columns/index.esm.js +0 -1
  308. package/dist/nile-grid/nile-grid-columns/nile-grid-columns.cjs.js +0 -2
  309. package/dist/nile-grid/nile-grid-columns/nile-grid-columns.cjs.js.map +0 -1
  310. package/dist/nile-grid/nile-grid-columns/nile-grid-columns.css.cjs.js.map +0 -1
  311. package/dist/nile-grid/nile-grid-columns/nile-grid-columns.css.esm.js +0 -5
  312. package/dist/nile-grid/nile-grid-columns/nile-grid-columns.esm.js +0 -3
  313. package/dist/nile-grid/nile-grid.data-attribute.cjs.js +0 -2
  314. package/dist/nile-grid/nile-grid.data-attribute.cjs.js.map +0 -1
  315. package/dist/nile-grid/nile-grid.data-attribute.esm.js +0 -1
  316. package/dist/nile-grid/types/nile-grid.enums.cjs.js +0 -2
  317. package/dist/nile-grid/types/nile-grid.enums.cjs.js.map +0 -1
  318. package/dist/nile-grid/types/nile-grid.enums.esm.js +0 -1
  319. package/dist/nile-grid/types/nile-grid.types.cjs.js +0 -2
  320. package/dist/nile-grid/types/nile-grid.types.cjs.js.map +0 -1
  321. package/dist/nile-grid/types/nile-grid.types.esm.js +0 -1
  322. package/dist/nile-grid-body/index.cjs.js +0 -2
  323. package/dist/nile-grid-body/index.esm.js +0 -1
  324. package/dist/nile-grid-body/nile-grid-body.cjs.js +0 -2
  325. package/dist/nile-grid-body/nile-grid-body.cjs.js.map +0 -1
  326. package/dist/nile-grid-body/nile-grid-body.css.cjs.js +0 -2
  327. package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +0 -1
  328. package/dist/nile-grid-body/nile-grid-body.css.esm.js +0 -6
  329. package/dist/nile-grid-body/nile-grid-body.esm.js +0 -5
  330. package/dist/nile-grid-cell/index.cjs.js +0 -2
  331. package/dist/nile-grid-cell/index.cjs.js.map +0 -1
  332. package/dist/nile-grid-cell/index.esm.js +0 -1
  333. package/dist/nile-grid-cell/nile-grid-cell.cjs.js +0 -2
  334. package/dist/nile-grid-cell/nile-grid-cell.cjs.js.map +0 -1
  335. package/dist/nile-grid-cell/nile-grid-cell.css.cjs.js +0 -2
  336. package/dist/nile-grid-cell/nile-grid-cell.css.cjs.js.map +0 -1
  337. package/dist/nile-grid-cell/nile-grid-cell.css.esm.js +0 -35
  338. package/dist/nile-grid-cell/nile-grid-cell.esm.js +0 -12
  339. package/dist/nile-grid-cell/nile-grid-cell.utils.cjs.js +0 -2
  340. package/dist/nile-grid-cell/nile-grid-cell.utils.cjs.js.map +0 -1
  341. package/dist/nile-grid-cell/nile-grid-cell.utils.esm.js +0 -1
  342. package/dist/nile-grid-cell-item/index.cjs.js +0 -2
  343. package/dist/nile-grid-cell-item/index.esm.js +0 -1
  344. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +0 -2
  345. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +0 -1
  346. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +0 -2
  347. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +0 -1
  348. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +0 -50
  349. package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +0 -12
  350. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +0 -2
  351. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +0 -1
  352. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +0 -1
  353. package/dist/nile-grid-head/index.cjs.js +0 -2
  354. package/dist/nile-grid-head/index.cjs.js.map +0 -1
  355. package/dist/nile-grid-head/index.esm.js +0 -1
  356. package/dist/nile-grid-head/nile-grid-head.cjs.js +0 -2
  357. package/dist/nile-grid-head/nile-grid-head.cjs.js.map +0 -1
  358. package/dist/nile-grid-head/nile-grid-head.css.cjs.js +0 -2
  359. package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +0 -1
  360. package/dist/nile-grid-head/nile-grid-head.css.esm.js +0 -7
  361. package/dist/nile-grid-head/nile-grid-head.esm.js +0 -5
  362. package/dist/nile-grid-head-item/index.cjs.js +0 -2
  363. package/dist/nile-grid-head-item/index.cjs.js.map +0 -1
  364. package/dist/nile-grid-head-item/index.esm.js +0 -1
  365. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +0 -2
  366. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +0 -1
  367. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +0 -2
  368. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +0 -1
  369. package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +0 -49
  370. package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +0 -13
  371. package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +0 -2
  372. package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +0 -1
  373. package/dist/nile-grid-head-item/nile-grid-head-item.utils.esm.js +0 -1
  374. package/dist/nile-grid-row/index.cjs.js +0 -2
  375. package/dist/nile-grid-row/index.cjs.js.map +0 -1
  376. package/dist/nile-grid-row/index.esm.js +0 -1
  377. package/dist/nile-grid-row/nile-grid-row.cjs.js +0 -2
  378. package/dist/nile-grid-row/nile-grid-row.cjs.js.map +0 -1
  379. package/dist/nile-grid-row/nile-grid-row.css.cjs.js +0 -2
  380. package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +0 -1
  381. package/dist/nile-grid-row/nile-grid-row.css.esm.js +0 -27
  382. package/dist/nile-grid-row/nile-grid-row.esm.js +0 -6
  383. package/dist/nile-rich-text-editor/utils.cjs.js +0 -2
  384. package/dist/nile-rich-text-editor/utils.cjs.js.map +0 -1
  385. package/dist/nile-rich-text-editor/utils.esm.js +0 -1
  386. package/dist/nile-sidebar/index.cjs.js +0 -2
  387. package/dist/nile-sidebar/index.cjs.js.map +0 -1
  388. package/dist/nile-sidebar/index.esm.js +0 -75
  389. package/dist/nile-sidebar-menu/index.cjs.js +0 -2
  390. package/dist/nile-sidebar-menu/index.cjs.js.map +0 -1
  391. package/dist/nile-sidebar-menu/index.esm.js +0 -1
  392. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +0 -2
  393. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +0 -1
  394. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +0 -2
  395. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +0 -1
  396. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +0 -38
  397. package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +0 -10
  398. package/dist/nile-sidebar-menu-items/index.cjs.js +0 -2
  399. package/dist/nile-sidebar-menu-items/index.cjs.js.map +0 -1
  400. package/dist/nile-sidebar-menu-items/index.esm.js +0 -1
  401. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +0 -2
  402. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +0 -1
  403. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +0 -2
  404. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +0 -1
  405. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +0 -36
  406. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +0 -15
  407. package/dist/nile-sidebar-wrapper/index.cjs.js +0 -2
  408. package/dist/nile-sidebar-wrapper/index.cjs.js.map +0 -1
  409. package/dist/nile-sidebar-wrapper/index.esm.js +0 -1
  410. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +0 -2
  411. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +0 -1
  412. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +0 -2
  413. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +0 -1
  414. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +0 -105
  415. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +0 -16
  416. package/dist/nile-test-hello/index.cjs.js +0 -2
  417. package/dist/nile-test-hello/index.cjs.js.map +0 -1
  418. package/dist/nile-test-hello/index.esm.js +0 -1
  419. package/dist/nile-test-hello/nile-test-hello.cjs.js +0 -2
  420. package/dist/nile-test-hello/nile-test-hello.cjs.js.map +0 -1
  421. package/dist/nile-test-hello/nile-test-hello.css.cjs.js.map +0 -1
  422. package/dist/nile-test-hello/nile-test-hello.css.esm.js +0 -5
  423. package/dist/nile-test-hello/nile-test-hello.esm.js +0 -1
  424. package/dist/nile-test-hello-column/index.cjs.js +0 -2
  425. package/dist/nile-test-hello-column/index.cjs.js.map +0 -1
  426. package/dist/nile-test-hello-column/index.esm.js +0 -1
  427. package/dist/nile-test-hello-column/nile-test-hello-column.cjs.js +0 -2
  428. package/dist/nile-test-hello-column/nile-test-hello-column.cjs.js.map +0 -1
  429. package/dist/nile-test-hello-column/nile-test-hello-column.css.cjs.js +0 -2
  430. package/dist/nile-test-hello-column/nile-test-hello-column.css.cjs.js.map +0 -1
  431. package/dist/nile-test-hello-column/nile-test-hello-column.css.esm.js +0 -5
  432. package/dist/nile-test-hello-column/nile-test-hello-column.esm.js +0 -1
  433. package/dist/scopedElementsWrapper-4c29be11.esm.js +0 -7
  434. package/dist/scopedElementsWrapper-a112fc73.cjs.js +0 -6
  435. package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +0 -1
  436. package/dist/scopedElementsWrapper-c815042c.cjs.js +0 -2
  437. package/dist/scopedElementsWrapper-c815042c.cjs.js.map +0 -1
  438. package/dist/src/internal/expandable-row-helper.d.ts +0 -13
  439. package/dist/src/internal/expandable-row-helper.js +0 -37
  440. package/dist/src/internal/expandable-row-helper.js.map +0 -1
  441. package/dist/src/internal/expandable-row-styles.d.ts +0 -11
  442. package/dist/src/internal/expandable-row-styles.js +0 -27
  443. package/dist/src/internal/expandable-row-styles.js.map +0 -1
  444. package/dist/src/internal/table-expandable-helper.d.ts +0 -0
  445. package/dist/src/internal/table-expandable-helper.js +0 -2
  446. package/dist/src/internal/table-expandable-helper.js.map +0 -1
  447. package/dist/src/internal/table-row-expandable-helper.d.ts +0 -12
  448. package/dist/src/internal/table-row-expandable-helper.js +0 -32
  449. package/dist/src/internal/table-row-expandable-helper.js.map +0 -1
  450. package/dist/src/internal/table-row-expandable-styles.d.ts +0 -11
  451. package/dist/src/internal/table-row-expandable-styles.js +0 -12
  452. package/dist/src/internal/table-row-expandable-styles.js.map +0 -1
  453. package/dist/src/nile-grid/nile-grid-column-cell-template/index.d.ts +0 -1
  454. package/dist/src/nile-grid/nile-grid-column-cell-template/index.js +0 -2
  455. package/dist/src/nile-grid/nile-grid-column-cell-template/index.js.map +0 -1
  456. package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.d.ts +0 -12
  457. package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.js +0 -17
  458. package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.js.map +0 -1
  459. package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.d.ts +0 -36
  460. package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.js +0 -61
  461. package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.js.map +0 -1
  462. package/dist/src/nile-grid/nile-grid-column-head-template/index.d.ts +0 -1
  463. package/dist/src/nile-grid/nile-grid-column-head-template/index.js +0 -2
  464. package/dist/src/nile-grid/nile-grid-column-head-template/index.js.map +0 -1
  465. package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.d.ts +0 -12
  466. package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.js +0 -17
  467. package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.js.map +0 -1
  468. package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.d.ts +0 -32
  469. package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.js +0 -43
  470. package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.js.map +0 -1
  471. package/dist/src/nile-grid/nile-grid-columns/index.d.ts +0 -1
  472. package/dist/src/nile-grid/nile-grid-columns/index.js +0 -2
  473. package/dist/src/nile-grid/nile-grid-columns/index.js.map +0 -1
  474. package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.css.d.ts +0 -12
  475. package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.css.js.map +0 -1
  476. package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.d.ts +0 -32
  477. package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.js +0 -43
  478. package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.js.map +0 -1
  479. package/dist/src/nile-grid/nile-grid.computeWidth.d.ts +0 -0
  480. package/dist/src/nile-grid/nile-grid.computeWidth.js +0 -2
  481. package/dist/src/nile-grid/nile-grid.computeWidth.js.map +0 -1
  482. package/dist/src/nile-grid/nile-grid.data-attribute.d.ts +0 -2
  483. package/dist/src/nile-grid/nile-grid.data-attribute.js +0 -13
  484. package/dist/src/nile-grid/nile-grid.data-attribute.js.map +0 -1
  485. package/dist/src/nile-grid/nile-grid.enums.d.ts +0 -1
  486. package/dist/src/nile-grid/nile-grid.enums.js +0 -2
  487. package/dist/src/nile-grid/nile-grid.enums.js.map +0 -1
  488. package/dist/src/nile-grid/nile-spannable-table.css.d.ts +0 -12
  489. package/dist/src/nile-grid/nile-spannable-table.css.js +0 -21
  490. package/dist/src/nile-grid/nile-spannable-table.css.js.map +0 -1
  491. package/dist/src/nile-grid/nile-spannable-table.d.ts +0 -63
  492. package/dist/src/nile-grid/nile-spannable-table.js +0 -296
  493. package/dist/src/nile-grid/nile-spannable-table.js.map +0 -1
  494. package/dist/src/nile-grid/types/nile-grid.enums.d.ts +0 -1
  495. package/dist/src/nile-grid/types/nile-grid.enums.js +0 -2
  496. package/dist/src/nile-grid/types/nile-grid.enums.js.map +0 -1
  497. package/dist/src/nile-grid/types/nile-grid.types.d.ts +0 -3
  498. package/dist/src/nile-grid/types/nile-grid.types.js +0 -2
  499. package/dist/src/nile-grid/types/nile-grid.types.js.map +0 -1
  500. package/dist/src/nile-grid-body/index.d.ts +0 -1
  501. package/dist/src/nile-grid-body/index.js +0 -2
  502. package/dist/src/nile-grid-body/index.js.map +0 -1
  503. package/dist/src/nile-grid-body/nile-grid-body.css.d.ts +0 -12
  504. package/dist/src/nile-grid-body/nile-grid-body.css.js +0 -22
  505. package/dist/src/nile-grid-body/nile-grid-body.css.js.map +0 -1
  506. package/dist/src/nile-grid-body/nile-grid-body.d.ts +0 -29
  507. package/dist/src/nile-grid-body/nile-grid-body.js +0 -43
  508. package/dist/src/nile-grid-body/nile-grid-body.js.map +0 -1
  509. package/dist/src/nile-grid-cell/index.d.ts +0 -1
  510. package/dist/src/nile-grid-cell/index.js +0 -2
  511. package/dist/src/nile-grid-cell/index.js.map +0 -1
  512. package/dist/src/nile-grid-cell/nile-grid-cell.css.js +0 -47
  513. package/dist/src/nile-grid-cell/nile-grid-cell.css.js.map +0 -1
  514. package/dist/src/nile-grid-cell/nile-grid-cell.d.ts +0 -43
  515. package/dist/src/nile-grid-cell/nile-grid-cell.js +0 -102
  516. package/dist/src/nile-grid-cell/nile-grid-cell.js.map +0 -1
  517. package/dist/src/nile-grid-cell/nile-grid-cell.utils.d.ts +0 -10
  518. package/dist/src/nile-grid-cell/nile-grid-cell.utils.js +0 -41
  519. package/dist/src/nile-grid-cell/nile-grid-cell.utils.js.map +0 -1
  520. package/dist/src/nile-grid-cell/nile-gris-cell.utils.d.ts +0 -10
  521. package/dist/src/nile-grid-cell/nile-gris-cell.utils.js +0 -33
  522. package/dist/src/nile-grid-cell/nile-gris-cell.utils.js.map +0 -1
  523. package/dist/src/nile-grid-cell-item/index.d.ts +0 -1
  524. package/dist/src/nile-grid-cell-item/index.js +0 -2
  525. package/dist/src/nile-grid-cell-item/index.js.map +0 -1
  526. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.d.ts +0 -12
  527. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js +0 -47
  528. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js.map +0 -1
  529. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.d.ts +0 -36
  530. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js +0 -93
  531. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js.map +0 -1
  532. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +0 -10
  533. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js +0 -34
  534. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +0 -1
  535. package/dist/src/nile-grid-column/index.d.ts +0 -1
  536. package/dist/src/nile-grid-column/index.js +0 -2
  537. package/dist/src/nile-grid-column/index.js.map +0 -1
  538. package/dist/src/nile-grid-column/nile-grid-column.css.d.ts +0 -12
  539. package/dist/src/nile-grid-column/nile-grid-column.css.js.map +0 -1
  540. package/dist/src/nile-grid-column/nile-grid-column.d.ts +0 -32
  541. package/dist/src/nile-grid-column/nile-grid-column.js +0 -43
  542. package/dist/src/nile-grid-column/nile-grid-column.js.map +0 -1
  543. package/dist/src/nile-grid-columns/index.d.ts +0 -1
  544. package/dist/src/nile-grid-columns/index.js +0 -2
  545. package/dist/src/nile-grid-columns/index.js.map +0 -1
  546. package/dist/src/nile-grid-columns/nile-grid-columns.css.js.map +0 -1
  547. package/dist/src/nile-grid-columns/nile-grid-columns.d.ts +0 -32
  548. package/dist/src/nile-grid-columns/nile-grid-columns.js +0 -43
  549. package/dist/src/nile-grid-columns/nile-grid-columns.js.map +0 -1
  550. package/dist/src/nile-grid-head/index.d.ts +0 -1
  551. package/dist/src/nile-grid-head/index.js +0 -2
  552. package/dist/src/nile-grid-head/index.js.map +0 -1
  553. package/dist/src/nile-grid-head/nile-grid-head.css.d.ts +0 -12
  554. package/dist/src/nile-grid-head/nile-grid-head.css.js +0 -19
  555. package/dist/src/nile-grid-head/nile-grid-head.css.js.map +0 -1
  556. package/dist/src/nile-grid-head/nile-grid-head.d.ts +0 -28
  557. package/dist/src/nile-grid-head/nile-grid-head.js +0 -41
  558. package/dist/src/nile-grid-head/nile-grid-head.js.map +0 -1
  559. package/dist/src/nile-grid-head-item/index.d.ts +0 -1
  560. package/dist/src/nile-grid-head-item/index.js +0 -2
  561. package/dist/src/nile-grid-head-item/index.js.map +0 -1
  562. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.d.ts +0 -12
  563. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js +0 -46
  564. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js.map +0 -1
  565. package/dist/src/nile-grid-head-item/nile-grid-head-item.d.ts +0 -37
  566. package/dist/src/nile-grid-head-item/nile-grid-head-item.js +0 -100
  567. package/dist/src/nile-grid-head-item/nile-grid-head-item.js.map +0 -1
  568. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.d.ts +0 -10
  569. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js +0 -34
  570. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js.map +0 -1
  571. package/dist/src/nile-grid-header/index.d.ts +0 -1
  572. package/dist/src/nile-grid-header/index.js +0 -2
  573. package/dist/src/nile-grid-header/index.js.map +0 -1
  574. package/dist/src/nile-grid-header/nile-grid-head-item.css.d.ts +0 -12
  575. package/dist/src/nile-grid-header/nile-grid-head-item.css.js +0 -44
  576. package/dist/src/nile-grid-header/nile-grid-head-item.css.js.map +0 -1
  577. package/dist/src/nile-grid-header/nile-grid-head-item.d.ts +0 -42
  578. package/dist/src/nile-grid-header/nile-grid-head-item.js +0 -127
  579. package/dist/src/nile-grid-header/nile-grid-head-item.js.map +0 -1
  580. package/dist/src/nile-grid-header/nile-grid-header.css.d.ts +0 -12
  581. package/dist/src/nile-grid-header/nile-grid-header.css.js +0 -44
  582. package/dist/src/nile-grid-header/nile-grid-header.css.js.map +0 -1
  583. package/dist/src/nile-grid-header/nile-grid-header.d.ts +0 -42
  584. package/dist/src/nile-grid-header/nile-grid-header.js +0 -127
  585. package/dist/src/nile-grid-header/nile-grid-header.js.map +0 -1
  586. package/dist/src/nile-grid-row/index.d.ts +0 -1
  587. package/dist/src/nile-grid-row/index.js +0 -2
  588. package/dist/src/nile-grid-row/index.js.map +0 -1
  589. package/dist/src/nile-grid-row/nile-grid-row.css.d.ts +0 -12
  590. package/dist/src/nile-grid-row/nile-grid-row.css.js +0 -27
  591. package/dist/src/nile-grid-row/nile-grid-row.css.js.map +0 -1
  592. package/dist/src/nile-grid-row/nile-grid-row.d.ts +0 -29
  593. package/dist/src/nile-grid-row/nile-grid-row.js +0 -45
  594. package/dist/src/nile-grid-row/nile-grid-row.js.map +0 -1
  595. package/dist/src/nile-group-header/index.d.ts +0 -1
  596. package/dist/src/nile-group-header/index.js +0 -2
  597. package/dist/src/nile-group-header/index.js.map +0 -1
  598. package/dist/src/nile-group-header/nile-group-header.css.js +0 -30
  599. package/dist/src/nile-group-header/nile-group-header.css.js.map +0 -1
  600. package/dist/src/nile-group-header/nile-group-header.d.ts +0 -19
  601. package/dist/src/nile-group-header/nile-group-header.js +0 -36
  602. package/dist/src/nile-group-header/nile-group-header.js.map +0 -1
  603. package/dist/src/nile-group-header/nile-option-header.css.d.ts +0 -12
  604. package/dist/src/nile-group-header/nile-option-header.css.js +0 -30
  605. package/dist/src/nile-group-header/nile-option-header.css.js.map +0 -1
  606. package/dist/src/nile-group-header/nile-option-header.d.ts +0 -33
  607. package/dist/src/nile-group-header/nile-option-header.js +0 -51
  608. package/dist/src/nile-group-header/nile-option-header.js.map +0 -1
  609. package/dist/src/nile-option-header/index.d.ts +0 -1
  610. package/dist/src/nile-option-header/index.js +0 -2
  611. package/dist/src/nile-option-header/index.js.map +0 -1
  612. package/dist/src/nile-option-header/nile-option-header.css.d.ts +0 -12
  613. package/dist/src/nile-option-header/nile-option-header.css.js +0 -30
  614. package/dist/src/nile-option-header/nile-option-header.css.js.map +0 -1
  615. package/dist/src/nile-option-header/nile-option-header.d.ts +0 -33
  616. package/dist/src/nile-option-header/nile-option-header.js +0 -51
  617. package/dist/src/nile-option-header/nile-option-header.js.map +0 -1
  618. package/dist/src/nile-rich-text-editor/utils.d.ts +0 -13
  619. package/dist/src/nile-rich-text-editor/utils.js +0 -538
  620. package/dist/src/nile-rich-text-editor/utils.js.map +0 -1
  621. package/dist/src/nile-sidebar/index.d.ts +0 -28
  622. package/dist/src/nile-sidebar/index.js +0 -119
  623. package/dist/src/nile-sidebar/index.js.map +0 -1
  624. package/dist/src/nile-sidebar-menu/index.d.ts +0 -1
  625. package/dist/src/nile-sidebar-menu/index.js +0 -2
  626. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.d.ts +0 -12
  627. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js +0 -50
  628. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js.map +0 -1
  629. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.d.ts +0 -37
  630. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js +0 -84
  631. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js.map +0 -1
  632. package/dist/src/nile-sidebar-menu-items/index.d.ts +0 -1
  633. package/dist/src/nile-sidebar-menu-items/index.js +0 -2
  634. package/dist/src/nile-sidebar-menu-items/index.js.map +0 -1
  635. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.d.ts +0 -12
  636. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js +0 -48
  637. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js.map +0 -1
  638. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.d.ts +0 -35
  639. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js +0 -79
  640. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js.map +0 -1
  641. package/dist/src/nile-sidebar-wrapper/index.d.ts +0 -1
  642. package/dist/src/nile-sidebar-wrapper/index.js +0 -2
  643. package/dist/src/nile-sidebar-wrapper/index.js.map +0 -1
  644. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.d.ts +0 -12
  645. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js +0 -117
  646. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js.map +0 -1
  647. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.d.ts +0 -35
  648. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js +0 -89
  649. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js.map +0 -1
  650. package/dist/src/nile-spannable-table/index.d.ts +0 -1
  651. package/dist/src/nile-spannable-table/index.js +0 -2
  652. package/dist/src/nile-spannable-table/index.js.map +0 -1
  653. package/dist/src/nile-spannable-table/nile-spannable-table.css.d.ts +0 -12
  654. package/dist/src/nile-spannable-table/nile-spannable-table.css.js +0 -21
  655. package/dist/src/nile-spannable-table/nile-spannable-table.css.js.map +0 -1
  656. package/dist/src/nile-spannable-table/nile-spannable-table.d.ts +0 -63
  657. package/dist/src/nile-spannable-table/nile-spannable-table.js +0 -296
  658. package/dist/src/nile-spannable-table/nile-spannable-table.js.map +0 -1
  659. package/dist/src/nile-spannable-table-body/index.d.ts +0 -1
  660. package/dist/src/nile-spannable-table-body/index.js +0 -2
  661. package/dist/src/nile-spannable-table-body/index.js.map +0 -1
  662. package/dist/src/nile-spannable-table-body/nile-spannable-table-body.css.d.ts +0 -12
  663. package/dist/src/nile-spannable-table-body/nile-spannable-table-body.css.js +0 -23
  664. package/dist/src/nile-spannable-table-body/nile-spannable-table-body.css.js.map +0 -1
  665. package/dist/src/nile-spannable-table-body/nile-spannable-table-body.d.ts +0 -33
  666. package/dist/src/nile-spannable-table-body/nile-spannable-table-body.js +0 -45
  667. package/dist/src/nile-spannable-table-body/nile-spannable-table-body.js.map +0 -1
  668. package/dist/src/nile-spannable-table-cell/index.d.ts +0 -1
  669. package/dist/src/nile-spannable-table-cell/index.js +0 -2
  670. package/dist/src/nile-spannable-table-cell/index.js.map +0 -1
  671. package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.css.d.ts +0 -12
  672. package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.css.js +0 -21
  673. package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.css.js.map +0 -1
  674. package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.d.ts +0 -37
  675. package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.js +0 -63
  676. package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.js.map +0 -1
  677. package/dist/src/nile-spannable-table-header/index.d.ts +0 -1
  678. package/dist/src/nile-spannable-table-header/index.js +0 -2
  679. package/dist/src/nile-spannable-table-header/index.js.map +0 -1
  680. package/dist/src/nile-spannable-table-header/nile-spannable-table-header.css.d.ts +0 -12
  681. package/dist/src/nile-spannable-table-header/nile-spannable-table-header.css.js +0 -33
  682. package/dist/src/nile-spannable-table-header/nile-spannable-table-header.css.js.map +0 -1
  683. package/dist/src/nile-spannable-table-header/nile-spannable-table-header.d.ts +0 -42
  684. package/dist/src/nile-spannable-table-header/nile-spannable-table-header.js +0 -119
  685. package/dist/src/nile-spannable-table-header/nile-spannable-table-header.js.map +0 -1
  686. package/dist/src/nile-spannable-table-row/index.d.ts +0 -1
  687. package/dist/src/nile-spannable-table-row/index.js +0 -2
  688. package/dist/src/nile-spannable-table-row/index.js.map +0 -1
  689. package/dist/src/nile-spannable-table-row/nile-spannable-table-row.css.d.ts +0 -12
  690. package/dist/src/nile-spannable-table-row/nile-spannable-table-row.css.js +0 -17
  691. package/dist/src/nile-spannable-table-row/nile-spannable-table-row.css.js.map +0 -1
  692. package/dist/src/nile-spannable-table-row/nile-spannable-table-row.d.ts +0 -35
  693. package/dist/src/nile-spannable-table-row/nile-spannable-table-row.js +0 -57
  694. package/dist/src/nile-spannable-table-row/nile-spannable-table-row.js.map +0 -1
  695. package/dist/src/nile-table-row/TableRowExpandableHelper.d.ts +0 -9
  696. package/dist/src/nile-table-row/TableRowExpandableHelper.js +0 -26
  697. package/dist/src/nile-table-row/TableRowExpandableHelper.js.map +0 -1
  698. package/dist/src/nile-table-row/helper.ts.d.ts +0 -37
  699. package/dist/src/nile-table-row/helper.ts.js +0 -105
  700. package/dist/src/nile-table-row/helper.ts.js.map +0 -1
  701. package/dist/src/nile-table-row/nile-table-row-expandable.d.ts +0 -37
  702. package/dist/src/nile-table-row/nile-table-row-expandable.js +0 -105
  703. package/dist/src/nile-table-row/nile-table-row-expandable.js.map +0 -1
  704. package/dist/src/nile-table-row-expandable/index.d.ts +0 -1
  705. package/dist/src/nile-table-row-expandable/index.js +0 -2
  706. package/dist/src/nile-table-row-expandable/index.js.map +0 -1
  707. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.d.ts +0 -12
  708. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.js +0 -17
  709. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.js.map +0 -1
  710. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.d.ts +0 -37
  711. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.js +0 -103
  712. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.js.map +0 -1
  713. package/dist/src/nile-test-hello/index.d.ts +0 -1
  714. package/dist/src/nile-test-hello/index.js +0 -2
  715. package/dist/src/nile-test-hello/index.js.map +0 -1
  716. package/dist/src/nile-test-hello/nile-test-hello.css.d.ts +0 -12
  717. package/dist/src/nile-test-hello/nile-test-hello.css.js +0 -17
  718. package/dist/src/nile-test-hello/nile-test-hello.css.js.map +0 -1
  719. package/dist/src/nile-test-hello/nile-test-hello.d.ts +0 -33
  720. package/dist/src/nile-test-hello/nile-test-hello.js +0 -49
  721. package/dist/src/nile-test-hello/nile-test-hello.js.map +0 -1
  722. package/dist/src/nile-test-hello-column/index.d.ts +0 -1
  723. package/dist/src/nile-test-hello-column/index.js +0 -2
  724. package/dist/src/nile-test-hello-column/index.js.map +0 -1
  725. package/dist/src/nile-test-hello-column/nile-test-hello-column.css.d.ts +0 -12
  726. package/dist/src/nile-test-hello-column/nile-test-hello-column.css.js +0 -17
  727. package/dist/src/nile-test-hello-column/nile-test-hello-column.css.js.map +0 -1
  728. package/dist/src/nile-test-hello-column/nile-test-hello-column.d.ts +0 -13
  729. package/dist/src/nile-test-hello-column/nile-test-hello-column.js +0 -27
  730. package/dist/src/nile-test-hello-column/nile-test-hello-column.js.map +0 -1
  731. package/dist/src/nile-tooltip/nile-tooltip-utils.d.ts +0 -18
  732. package/dist/src/nile-tooltip/nile-tooltip-utils.js +0 -216
  733. package/dist/src/nile-tooltip/nile-tooltip-utils.js.map +0 -1
  734. package/dist/src/nile-tooltip/nile-tooltip.test.d.ts +0 -1
  735. package/dist/src/nile-tooltip/nile-tooltip.test.js +0 -148
  736. package/dist/src/nile-tooltip/nile-tooltip.test.js.map +0 -1
  737. package/src/nile-grid/types/nile-grid.enums.ts +0 -1
  738. package/src/nile-grid/types/nile-grid.types.ts +0 -1
  739. /package/dist/{nile-grid-body → nile-light-tooltip}/index.cjs.js.map +0 -0
  740. /package/dist/{nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.esm.js → nile-light-tooltip/nile-light-tooltip.css.esm.js} +0 -0
  741. /package/dist/{nile-grid-cell-item → nile-lite-tooltip}/index.cjs.js.map +0 -0
  742. /package/dist/{nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.esm.js → nile-lite-tooltip/nile-lite-tooltip.css.esm.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"nile-virtual-select.cjs.js","sources":["../../../../node_modules/@lit-labs/observers/resize-controller.js","../../../src/nile-virtual-select/nile-virtual-select.ts"],"sourcesContent":["import{isServer as s}from\"lit-html/is-server.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class t{constructor(t,{target:i,config:h,callback:e,skipInitial:o}){this.t=new Set,this.o=!1,this.i=!1,this.h=t,null!==i&&this.t.add(i??t),this.l=h,this.o=o??this.o,this.callback=e,s||(window.ResizeObserver?(this.u=new ResizeObserver((s=>{this.handleChanges(s),this.h.requestUpdate()})),t.addController(this)):console.warn(\"ResizeController error: browser does not support ResizeObserver.\"))}handleChanges(s){this.value=this.callback?.(s,this.u)}hostConnected(){for(const s of this.t)this.observe(s)}hostDisconnected(){this.disconnect()}async hostUpdated(){!this.o&&this.i&&this.handleChanges([]),this.i=!1}observe(s){this.t.add(s),this.u.observe(s,this.l),this.i=!0,this.h.requestUpdate()}unobserve(s){this.t.delete(s),this.u.unobserve(s)}disconnect(){this.u.disconnect()}}export{t as ResizeController};\n//# sourceMappingURL=resize-controller.js.map\n"," /**\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 {\n LitElement,\n html,\n} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-virtual-select.css';\n\nimport '../nile-icon';\nimport '../nile-popup/nile-popup';\nimport '../nile-tag/nile-tag';\nimport '../nile-checkbox/nile-checkbox';\nimport '../nile-loader/nile-loader';\nimport { animateTo, stopAnimations } from '../internal/animate';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query, state } from 'lit/decorators.js';\nimport { defaultValue } from '../internal/default-value';\nimport { FormControlController } from '../internal/form';\nimport {\n getAnimation,\n setDefaultAnimation,\n} from '../utilities/animation-registry';\nimport { HasSlotController } from '../internal/slot';\nimport { waitForEvent } from '../internal/event';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';\nimport type { NileFormControl } from '../internal/nile-element';\nimport type NileOption from '../nile-option/nile-option';\nimport type NilePopup from '../nile-popup/nile-popup';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport type { VirtualOption, NileRemoveEvent, RenderItemConfig } from './types.js';\nimport { VirtualSelectSelectionManager } from './selection-manager.js';\nimport { VirtualSelectSearchManager } from './search-manager.js';\nimport { VirtualSelectRenderer } from './renderer.js';\nimport { PortalManager } from './portal-manager.js';\nimport { ResizeController } from '@lit-labs/observers/resize-controller.js';\n\n/**\n * Nile Virtual Select component.\n *\n * @tag nile-virtual-select\n *\n */\n\n/**\n * @summary Virtual select component for handling large datasets with virtual scrolling.\n * @status stable\n * @since 2.0\n *\n * @dependency nile-icon\n * @dependency nile-popup\n * @dependency nile-tag\n * @dependency nile-checkbox\n *\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the combobox.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot expand-icon - The icon to show when the control is expanded and collapsed.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @event nile-change - Emitted when the control's value changes.\n * @event nile-clear - Emitted when the control's value is cleared.\n * @event nile-input - Emitted when the control receives input.\n * @event nile-focus - Emitted when the control gains focus.\n * @event nile-blur - Emitted when the control loses focus.\n * @event nile-show - Emitted when the select's menu opens.\n * @event nile-after-show - Emitted after the select's menu opens and all animations are complete.\n * @event nile-hide - Emitted when the select's menu closes.\n * @event nile-after-hide - Emitted after the select's menu closes and all animations are complete.\n * @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n * @event nile-search - Emitted when the user types in the search input. The event payload includes the search query for backend search functionality.\n * @event nile-scroll - Emitted when the user scrolls within the virtualized container. The event payload includes scroll position information.\n * @event nile-scroll-start - Emitted when the user starts scrolling within the virtualized container.\n * @event nile-scroll-end - Emitted when the user stops scrolling and reaches the bottom of the virtualized container (debounced).\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The select's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart combobox - The container the wraps the prefix, combobox, clear icon, and expand button.\n * @csspart prefix - The container that wraps the prefix slot.\n * @csspart display-input - The element that displays the selected option's label, an `<input>` element.\n * @csspart listbox - The listbox container where options are slotted.\n * @csspart tags - The container that houses option tags when `multiple` is used.\n * @csspart tag - The individual tags that represent each multiselect option.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n * @csspart footer - The footer container with show selected and clear all options.\n */\n\n@customElement('nile-virtual-select')\nexport class NileVirtualSelect extends NileElement implements NileFormControl {\n static styles: CSSResultGroup = styles;\n\n private readonly formControlController = new FormControlController(this, {\n assumeInteractionOn: ['nile-blur', 'nile-input'],\n });\n private readonly hasSlotController = new HasSlotController(\n this,\n 'help-text',\n 'label'\n );\n private readonly portalManager = new PortalManager(this);\n\n @query('.select') popup: NilePopup;\n @query('.select__combobox') combobox: HTMLElement;\n @query('.select__display-input') displayInput: HTMLInputElement;\n @query('.select__value-input') valueInput: HTMLInputElement;\n @query('.virtualized') virtualizedContainer: HTMLElement;\n\n @state() private hasFocus = false;\n @state() displayLabel = '';\n @state() selectedOptions: VirtualOption[] = [];\n @state() oldValue: string | string[] = '';\n \n private scrollTimeout: number | undefined;\n private scrolling = false;\n\n /** The name of the select, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /** Array of all option items for virtual scrolling */\n @property({ type: Array }) data: any = [];\n\n /** Original unfiltered option items for search functionality */\n @state() private originalOptionItems: any = [];\n\n /**\n * The current value of the select. When `multiple` is enabled, the value will be an array of selected values.\n */\n @property({\n converter: {\n fromAttribute: (value: string) => value.split(' '),\n toAttribute: (value: string[]) => value.join(' '),\n },\n })\n value: string | string[] = '';\n\n /** The default value of the form control. Primarily used for resetting the form control. */\n @defaultValue() defaultValue: string | string[] = '';\n\n /** The select's size. */\n @property() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Placeholder text to show as a hint when the select is empty. */\n @property() placeholder = 'Select...';\n\n /** Enable automatic resizing of tags area */\n @property({ type: Boolean }) autoResize = false;\n\n /** Current search value */\n @state() searchValue: string = '';\n\n /** Enable search functionality */\n @property({ type: Boolean, reflect: true }) searchEnabled = false;\n\n /** Search input placeholder */\n @property({attribute:'internal-search-placeholder'}) internalSearchPlaceHolder = 'Search...';\n\n /** Disable local search filtering */\n @property({ type: Boolean, reflect: true }) disableLocalSearch = false;\n\n /** Show loading state */\n @property({ type: Boolean, reflect: true }) optionsLoading = false;\n\n /** Show loading state using nile-loader */\n @property({ type: Boolean, reflect: true, attribute: true }) loading = false;\n\n /** Allows more than one option to be selected. */\n @property({ type: Boolean, reflect: true }) multiple = false;\n\n /** Help text */\n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n\n /** Error message */\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n /** Sets the input to a warning state */\n @property({ type: Boolean }) warning = false;\n\n /** Sets the input to an error state */\n @property({ type: Boolean }) error = false;\n\n /** Sets the input to a success state */\n @property({ type: Boolean }) success = false;\n\n /** Disables the select control. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Adds a clear button when the select is not empty. */\n @property({ type: Boolean, reflect: true }) clearable = false;\n\n /** The select's open state. */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /**\n * Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n */\n @property({ type: Boolean }) hoist = false;\n\n /** Draws a filled select. */\n @property({ type: Boolean, reflect: true }) filled = false;\n\n /** Draws a pill-style select with rounded edges. */\n @property({ type: Boolean, reflect: true }) pill = false;\n\n /** The select's label. If you need to display HTML, use the `label` slot instead. */\n @property() label = '';\n\n /**\n * The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\n * inside of the viewport.\n */\n @property({ reflect: true }) placement: 'top' | 'bottom' = 'bottom';\n\n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n\n /** The select's required attribute. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** Show no results message */\n @property({ type: Boolean }) showNoResults: boolean = false;\n\n /** No results message */\n @property({ type: String }) noResultsMessage: string = 'No results found';\n\n /** Show selected options only */\n @property({ type: Boolean }) showSelected = false;\n\n /** Enhanced configuration for rendering items with support for display text, value, and search text */\n @property({ attribute:false}) renderItemConfig?: RenderItemConfig;\n\n /** Block value change events */\n @property({ type: Boolean, reflect: true }) blockValueChange = false;\n\n /** Disable width synchronization */\n @property({ type: Boolean, reflect: true }) noWidthSync = false;\n\n /** \n * When true, the listbox will be appended to the document body instead of the parent container.\n * This is useful when the parent has overflow: hidden, clip-path, or transform applied.\n */\n @property({ type: Boolean, reflect: true }) portal = false;\n\n /**\n * The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\n * indicate the number of additional items that are selected. Set to 0 to remove the limit.\n */\n @property({ attribute: 'max-options-visible', type: Number })\n maxOptionsVisible = 3;\n\n @state() oldMaxOptionsVisible: number = 1;\n @state() showListbox: boolean = false;\n @state() private wasShowSelectedCheckedOnClose: boolean = false;\n\n /** Gets the validity state object */\n get validity() {\n return this.valueInput?.validity;\n }\n\n /** Gets the validation message */\n get validationMessage() {\n return this.valueInput?.validationMessage ?? '';\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.initializeComponent();\n this.setupEventListeners();\n \n this.updateComplete.then(() => {\n if (this.value && this.data.length > 0) {\n this.selectionChanged();\n }\n });\n }\n\n disconnectedCallback() {\n this.removeOpenListeners();\n // Clear any pending scroll timeout to prevent memory leaks\n if (this.scrollTimeout) {\n clearTimeout(this.scrollTimeout);\n this.scrollTimeout = undefined;\n }\n // Clean up body append elements\n this.portalManager.cleanupPortalAppend();\n }\n\n protected updated(changedProperties: PropertyValues): void {\n if(changedProperties.has('value')) {\n this.selectionChanged();\n }\n if (changedProperties.has('autoResize')) {\n const tagsDiv = this.shadowRoot?.querySelector('.select__tags') as HTMLElement;\n if (this.autoResize && tagsDiv) {\n this.resizeController.observe(tagsDiv);\n } else if (tagsDiv) {\n this.resizeController.unobserve(tagsDiv);\n }\n }\n }\n\n private initializeComponent(): void {\n this.open = false;\n this.emit('nile-init');\n }\n\n /**\n * Get display text for an item using renderItemConfig\n */\n private getDisplayText(item: any): string {\n if (this.renderItemConfig?.getDisplayText) {\n return this.renderItemConfig.getDisplayText(item);\n }\n // Fallback to basic display\n return item?.label || item?.name || item?.toString() || '';\n }\n\n /**\n * Get value for an item using renderItemConfig or fallback to item.value\n */\n private getItemValue(item: any): string {\n if (this.renderItemConfig?.getValue) {\n return this.renderItemConfig.getValue(item);\n }\n return item?.value || item;\n }\n\n /**\n * Get search text for an item using renderItemConfig or fallback to display text\n */\n private getSearchText(item: any): string {\n if (this.renderItemConfig?.getSearchText) {\n return this.renderItemConfig.getSearchText(item);\n }\n return this.getDisplayText(item);\n }\n\n private setupEventListeners(): void {\n this.handleDocumentFocusIn = this.handleDocumentFocusIn.bind(this);\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);\n this.handleWindowError = this.handleWindowError.bind(this);\n this.handleWindowResize = this.handleWindowResize.bind(this);\n this.handleWindowScroll = this.handleWindowScroll.bind(this);\n }\n\n private addOpenListeners(): void {\n document.addEventListener('focusin', this.handleDocumentFocusIn);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n window.addEventListener('error', this.handleWindowError);\n \n if (this.portal) {\n window.addEventListener('resize', this.handleWindowResize);\n window.addEventListener('scroll', this.handleWindowScroll, true);\n }\n }\n\n private removeOpenListeners(): void {\n document.removeEventListener('focusin', this.handleDocumentFocusIn);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n window.removeEventListener('error', this.handleWindowError);\n window.removeEventListener('resize', this.handleWindowResize);\n window.removeEventListener('scroll', this.handleWindowScroll, true);\n }\n\n private handleFocus(): void {\n this.hasFocus = true;\n this.emit('nile-focus');\n }\n\n private handleBlur(): void {\n this.hasFocus = false;\n this.emit('nile-blur');\n }\n\n private handleDocumentFocusIn(event: FocusEvent): void {\n if (!this.open) return; \n const path = event.composedPath(); \n const hitSelf = path.includes(this);\n const hitPopup = this.popup && path.includes(this.popup);\n const hitPortalAppend = this.portal && this.portalManager.portalContainerElement && path.includes(this.portalManager.portalContainerElement);\n\n if (!hitSelf && !hitPopup && !hitPortalAppend) {\n this.hide();\n }\n }\n\n private handleDocumentKeyDown(event: KeyboardEvent): void {\n if (this.shouldIgnoreKeyPress(event)) {\n return;\n }\n\n if (this.isEscapeKey(event)) {\n this.handleEscapeKey(event);\n }\n\n if (this.isEnterOrSpaceKey(event)) {\n this.handleEnterOrSpaceKey(event);\n }\n }\n\n private shouldIgnoreKeyPress(event: KeyboardEvent): boolean {\n const target = event.target as HTMLElement;\n const isClearButton = target.closest('.select__clear') !== null;\n const isIconButton = target.closest('nile-icon-button') !== null;\n return isClearButton || isIconButton;\n }\n\n private isEscapeKey(event: KeyboardEvent): boolean {\n return event.key === 'Escape' && this.open;\n }\n\n private handleEscapeKey(event: KeyboardEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n\n private isEnterOrSpaceKey(event: KeyboardEvent): boolean {\n return event.key === 'Enter' || event.key === ' ';\n }\n\n private handleEnterOrSpaceKey(event: KeyboardEvent): void {\n event.preventDefault();\n event.stopImmediatePropagation();\n\n if (!this.open) {\n this.show();\n return;\n }\n\n if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n\n private handleDocumentMouseDown = (event: MouseEvent): void => {\n if (!this.open) return; \n \n const path = event.composedPath();\n const hitSelf = path.includes(this);\n const hitPopup = this.popup && path.includes(this.popup);\n const hitPortalAppend = this.portal && this.portalManager.portalContainerElement && path.includes(this.portalManager.portalContainerElement);\n \n if (!hitSelf && !hitPopup && !hitPortalAppend) {\n this.hide();\n }\n };\n\n /**\n * This is a workaround for an error in the Lit Labs virtualizer.\n * Since there are no specific guidelines available to fix the issue,\n * we are catching only the error message related to the virtualizer.\n */\n private handleWindowError = (event: ErrorEvent): void => {\n const errorMessage = event.error?.message || event.message || '';\n if (errorMessage.includes('Cannot read properties of null (reading \\'insertBefore\\')')) {\n event.preventDefault();\n return;\n }\n };\n\n private handleWindowResize = (): void => {\n this.portalManager.updatePortalAppendPosition();\n };\n\n private handleWindowScroll = (): void => {\n this.portalManager.updatePortalAppendPosition();\n };\n\n private handleFooterClick(event: MouseEvent): void {\n event.stopPropagation();\n event.preventDefault();\n }\n\n private toggleShowSelected(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n if (this.selectedOptions?.length === 0) {\n return;\n }\n this.showSelected = !this.showSelected;\n\n if (this.showSelected) {\n const selectedValues = Array.isArray(this.value) ? this.value : [this.value];\n this.data = this.originalOptionItems.filter((item: any) => {\n const itemValue = this.getItemValue(item);\n return selectedValues.some(val => String(val) === String(itemValue));\n });\n } else {\n this.data = [...this.originalOptionItems];\n }\n\n // Reset measured height when show selected toggles (content height may change)\n this.portalManager.resetMeasuredHeight();\n\n this.requestUpdate();\n this.repaintOptionsContainer();\n }\n\n private unSelectAll(): void {\n this.showSelected = false;\n this.value = this.multiple ? [] : '';\n this.data = [...this.originalOptionItems];\n this.selectionChanged();\n this.emit('nile-change', { value: this.value, name: this.name });\n this.emit('nile-clear', { value: this.multiple ? this.value : '', name: this.name });\n this.resetScrollPosition();\n }\n\n private handleLabelClick(): void {\n this.displayInput.focus();\n this.hide();\n }\n\n private handleComboboxMouseDown(event: MouseEvent): void {\n if (this.shouldIgnoreComboboxClick(event)) {\n return;\n }\n\n event.preventDefault();\n this.displayInput.focus({ preventScroll: true });\n this.open = !this.open;\n }\n\n private resizeController = new ResizeController(this, {\n callback: (entries: ResizeObserverEntry[]) => {\n for (const entry of entries) {\n if (entry.target.classList.contains('select__tags')) {\n this.calculateTotalWidthOfTags();\n }\n }\n }\n });\n\n private shouldIgnoreComboboxClick(event: MouseEvent): boolean {\n const path = event.composedPath();\n const isIconButton = path.some(\n el =>\n el instanceof Element && el.tagName.toLowerCase() === 'nile-icon-button'\n );\n return this.disabled || isIconButton;\n }\n\n private handleComboboxKeyDown(event: KeyboardEvent): void {\n if (this.isEnterOrSpaceKey(event)) {\n event.preventDefault();\n this.open = !this.open;\n }\n }\n\n private handleClearClick(event: MouseEvent): void {\n event.stopPropagation();\n this.clearSelection();\n }\n\n private clearSelection(): void {\n const oldValue = this.value;\n this.value = this.multiple ? [] : '';\n this.selectionChanged();\n\n this.updateComplete.then(() => {\n this.nileInput({ value: this.value, name: this.name });\n this.nileChange({ value: this.value, name: this.name });\n this.emit('nile-clear');\n });\n }\n\n private handleClearMouseDown(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n private handleOptionClick(event: MouseEvent): void {\n const target = event.target as HTMLElement;\n const option = target.closest('nile-option');\n\n if (this.shouldBlockValueChange(option)) {\n return;\n }\n\n const oldValue = this.value;\n this.oldValue = oldValue;\n\n if (option && !option.disabled) {\n this.handleOptionSelection(option);\n }\n }\n\n private shouldBlockValueChange(option: Element | null): boolean {\n if (this.blockValueChange && option) {\n this.emit('nile-block-change', { value: (option as any)?.value, name: this.name });\n this.hide();\n return true;\n }\n return false;\n }\n\n private handleOptionSelection(option: Element): void {\n const optionValue = (option as any).value;\n \n if (this.multiple) {\n this.toggleOptionSelection(optionValue);\n } else {\n this.setSelectedOptions(optionValue);\n }\n\n this.updateComplete.then(() =>\n this.displayInput.focus({ preventScroll: true })\n );\n\n if (this.value !== this.oldValue) {\n this.updateComplete.then(() => {\n this.nileInput({ value: this.value, name: this.name });\n this.nileChange({ value: this.value, name: this.name });\n });\n }\n\n if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n\n private setSelectedOptions(optionValue: string): void {\n this.value = optionValue;\n this.selectionChanged();\n }\n\n private toggleOptionSelection(optionValue: string): void {\n const currentValues = Array.isArray(this.value) ? this.value : [];\n \n if (currentValues.includes(optionValue)) {\n this.value = currentValues.filter(v => v !== optionValue);\n } else {\n this.value = [...currentValues, optionValue];\n }\n \n this.selectionChanged();\n }\n\n private handleTagRemove(event: NileRemoveEvent, option: VirtualOption): void {\n event.stopPropagation();\n\n if (!this.disabled) {\n this.removeTagFromSelection(option);\n this.emitTagRemovalEvent(option);\n }\n }\n\n private removeTagFromSelection(option: VirtualOption): void {\n let currentValue = this.value;\n if (!Array.isArray(currentValue)) {\n currentValue = currentValue ? [currentValue] : [];\n }\n const newValue = currentValue.filter((v: string) => v !== option.value);\n this.value = newValue;\n this.selectionChanged();\n }\n\n private emitTagRemovalEvent(option: VirtualOption): void {\n this.updateComplete.then(() => {\n this.nileInput({ value: this.value, name: this.name });\n this.nileChange({ value: this.value, name: this.name });\n this.emit('nile-tag-remove', { value: this.value, name: this.name, removedtagvalue: option.value });\n });\n }\n\n private selectionChanged(): void {\n const itemsToSearch = this.originalOptionItems.length > 0 ? this.originalOptionItems : this.data;\n this.selectedOptions = VirtualSelectSelectionManager.createVirtualOptionsFromValues(\n this.value, \n itemsToSearch, \n this.getDisplayText.bind(this),\n this.renderItemConfig?.getValue\n );\n\n if (this.multiple) {\n if (this.placeholder && this.value.length === 0) {\n this.displayLabel = '';\n } else {\n this.displayLabel = this.selectedOptions.length + ' selected';\n }\n } else {\n const currentValue = Array.isArray(this.value) ? this.value[0] : this.value;\n const label = this.selectedOptions[0]?.getTextLabel();\n this.displayLabel = label ? label : currentValue ?? '';\n }\n\n this.updateValidity();\n\n if (this.selectedOptions.length === 0) {\n this.showSelected = false;\n this.filterVirtualOptions('');\n this.repaintOptionsContainer();\n }\n\n this.calculateTotalWidthOfTags();\n }\n \n\n handleSearchFocus(): void {\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchBlur(): void {\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchChange(e: any): void {\n this.searchValue = e.detail.value;\n \n this.emit('nile-search', { \n query: this.searchValue,\n name: this.name \n });\n \n if (!this.disableLocalSearch) {\n this.filterVirtualOptions(this.searchValue);\n this.repaintOptionsContainer();\n \n // Reset measured height when search changes (content height may change)\n this.portalManager.resetMeasuredHeight();\n }\n }\n \n repaintOptionsContainer() {\n this.resetScrollPosition();\n this.updateComplete.then(() => {\n const virtualized = this.shadowRoot?.querySelector('.virtualized') as HTMLElement;\n if (virtualized) {\n if (this.data.length <= 5) {\n virtualized.classList.add('no-scroll');\n } else {\n virtualized.classList.remove('no-scroll');\n }\n }\n });\n }\n\n handleScroll(e: Event): void {\n if(this.showSelected) {\n return;\n }\n\n const target = e.target as HTMLElement;\n \n this.emit('nile-scroll', {\n scrollTop: target.scrollTop,\n scrollLeft: target.scrollLeft,\n name: this.name\n });\n\n if (!this.scrolling) {\n this.scrolling = true;\n this.emit('nile-scroll-start', {\n scrollTop: target.scrollTop,\n scrollLeft: target.scrollLeft,\n name: this.name\n });\n }\n\n clearTimeout(this.scrollTimeout);\n this.scrollTimeout = window.setTimeout(() => {\n if (this.scrolling) {\n this.scrolling = false;\n }\n }, 300);\n\n const isAtBottom = Math.ceil(target.scrollTop) >= Math.floor(target.scrollHeight - target.offsetHeight);\n if (isAtBottom && !this.searchValue) {\n this.emit('nile-scroll-end', {\n scrollTop: target.scrollTop,\n scrollLeft: target.scrollLeft,\n name: this.name,\n isAtBottom: true\n });\n }\n }\n\n filterVirtualOptions(searchValue: string): void {\n const result = VirtualSelectSearchManager.filterVirtualOptions(\n searchValue,\n this.originalOptionItems,\n this.data,\n this.getDisplayText.bind(this),\n this.renderItemConfig?.getSearchText\n );\n\n this.data = result.filteredItems;\n this.showNoResults = result.showNoResults;\n this.showSelected = false;\n this.requestUpdate();\n }\n\n private handleInvalid(event: Event): void {\n this.formControlController.setValidity(false);\n this.formControlController.emitInvalidEvent(event);\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange(): void {\n if (this.disabled) {\n this.open = false;\n this.handleOpenChange();\n }\n }\n\n @watch('value', { waitUntilFirstUpdate: true })\n handleValueChange(): void {\n this.selectionChanged();\n this.requestUpdate();\n \n // Update body append content if it's active\n if (this.portal && this.portalManager.portalContainerElement) {\n this.portalManager.updatePortalAppendPosition();\n }\n }\n\n @watch('data', { waitUntilFirstUpdate: true })\n handleDataChange(): void {\n if (this.data.length > 0 && this.open && !this.showSelected && !this.searchValue) {\n this.originalOptionItems = [...this.data];\n }\n\n if(this.data.length > 0 && this.open && this.searchValue) {\n this.originalOptionItems = [...this.originalOptionItems, ...this.data];\n }\n \n this.selectionChanged();\n // Show no results message when data is empty and not loading\n if (!this.optionsLoading && !this.loading && this.data.length === 0) {\n this.showNoResults = true;\n } else if (this.data.length > 0) {\n this.showNoResults = false;\n }\n this.requestUpdate();\n \n // Reset measured height when data changes (content height may change)\n this.portalManager.resetMeasuredHeight();\n \n // Update body append content if it's active\n if (this.portal && this.portalManager.portalContainerElement) {\n this.portalManager.updatePortalAppendPosition();\n }\n }\n\n @watch('renderItemConfig', { waitUntilFirstUpdate: true })\n handleRenderItemConfigChange(): void {\n if (this.value && this.data.length > 0) {\n this.selectionChanged();\n this.requestUpdate();\n }\n }\n\n @watch('optionsLoading', { waitUntilFirstUpdate: true })\n handleOptionsLoadingChange(): void {\n // Show no results message when loading stops and there are no results\n if (!this.optionsLoading && this.data.length === 0) {\n this.showNoResults = true;\n }\n this.requestUpdate();\n \n // Update body append content if it's active\n if (this.portal && this.portalManager.portalContainerElement) {\n this.portalManager.updatePortalAppendPosition();\n }\n }\n\n @watch('portal', { waitUntilFirstUpdate: true })\n handlePortalAppendChange(): void {\n if (this.open) {\n if (this.portal) {\n this.portalManager.setupPortalAppend();\n } else {\n this.portalManager.cleanupPortalAppend();\n }\n }\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange(): Promise<void> {\n if (this.open && !this.disabled) {\n await this.handleOpen();\n this.showListbox = true;\n \n if (this.portal) {\n this.portalManager.setupPortalAppend();\n }\n } else {\n await this.handleClose();\n this.showListbox = false;\n \n if (this.portal) {\n this.portalManager.cleanupPortalAppend();\n }\n }\n }\n\n private async handleOpen(): Promise<void> {\n this.emit('nile-show', { value: this.value, name: this.name });\n this.addOpenListeners();\n this.showNoResults = !this.data?.length;\n\n await stopAnimations(this);\n this.popup.active = true;\n\n const { keyframes, options } = getAnimation(this, 'select.show', {\n dir: 'ltr',\n });\n await animateTo(this.popup.popup, keyframes, options);\n\n if (this.wasShowSelectedCheckedOnClose) {\n this.showSelected = false;\n this.data = [...this.originalOptionItems];\n this.wasShowSelectedCheckedOnClose = false;\n }\n\n this.initializeOriginalItems();\n this.filterVirtualOptions(this.searchValue);\n this.resetScrollPosition();\n this.emit('nile-after-show', { value: this.value, name: this.name });\n }\n\n private async handleClose(): Promise<void> {\n this.emit('nile-hide', { value: this.value, name: this.name });\n this.removeOpenListeners();\n\n this.wasShowSelectedCheckedOnClose = this.showSelected;\n\n await stopAnimations(this);\n const { keyframes, options } = getAnimation(this, 'select.hide', {\n dir: 'ltr',\n });\n await animateTo(this.popup.popup, keyframes, options);\n this.popup.active = false;\n\n this.searchValue = '';\n \n // Reset measured height when popup closes (content may change on next open)\n this.portalManager.resetMeasuredHeight();\n \n this.emit('nile-after-hide', { value: this.value, name: this.name });\n }\n\n private initializeOriginalItems(): void {\n if (this.data.length > 0) {\n this.originalOptionItems = [...this.data];\n }\n }\n\n async show(): Promise<unknown> {\n if (this.open || this.disabled) {\n this.open = false;\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, 'nile-after-show');\n }\n\n async hide(): Promise<unknown> {\n if (!this.open || this.disabled) {\n this.open = false;\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, 'nile-after-hide');\n }\n\n checkValidity(): boolean {\n return this.valueInput.checkValidity();\n }\n\n getForm(): HTMLFormElement | null {\n return this.formControlController.getForm();\n }\n\n reportValidity(): boolean {\n return this.valueInput.reportValidity();\n }\n\n setCustomValidity(message: string): void {\n this.valueInput.setCustomValidity(message);\n this.formControlController.updateValidity();\n }\n\n focus(options?: FocusOptions): void {\n this.displayInput.focus(options);\n }\n\n blur(): void {\n this.displayInput.blur();\n }\n\n onInputChange(event: Event): void {\n event.stopPropagation();\n }\n\n render(): TemplateResult {\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasLabelSuffixSlot = this.hasSlotController.test('label-suffix');\n const hasCustomSelect = this.hasSlotController.test('custom-select');\n const hasLabel = this.label ? true : !!hasLabelSlot;\n const hasClearIcon =\n this.clearable && !this.disabled && this.value.length > 0;\n const isPlaceholderVisible = !!this.placeholder && this.value.length === 0;\n const hasHelpText = !!this.helpText;\n const hasErrorMessage = !!this.errorMessage;\n\n return html`\n <div\n part=\"form-control\"\n class=${classMap({\n 'form-control': true,\n 'form-control--small': this.size === 'small',\n 'form-control--medium': this.size === 'medium',\n 'form-control--large': this.size === 'large',\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText,\n })}\n >\n ${this.renderLabel(hasLabel, hasLabelSuffixSlot)}\n ${this.renderFormControlInput(hasCustomSelect, hasClearIcon, isPlaceholderVisible, hasHelpText, hasErrorMessage)}\n </div>\n `;\n }\n\n private renderLabel(hasLabel: boolean, hasLabelSuffixSlot: boolean): TemplateResult {\n return html`\n <label\n id=\"label\"\n part=\"form-control-label\"\n class=\"form-control__label\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n @click=${this.handleLabelClick}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n ${hasLabelSuffixSlot ? html` <slot name=\"label-suffix\"></slot> ` : ``}\n `;\n }\n\n private renderFormControlInput(\n hasCustomSelect: boolean, \n hasClearIcon: boolean, \n isPlaceholderVisible: boolean, \n hasHelpText: boolean, \n hasErrorMessage: boolean\n ): TemplateResult {\n return html`\n <div part=\"form-control-input\" class=\"form-control-input\">\n ${this.renderPopup(hasCustomSelect, hasClearIcon, isPlaceholderVisible)}\n ${this.renderHelpText(hasHelpText, hasErrorMessage)}\n </div>\n `;\n }\n\n private renderPopup(hasCustomSelect: boolean, hasClearIcon: boolean, isPlaceholderVisible: boolean): TemplateResult {\n return html`\n <nile-popup\n class=${classMap({\n select: true,\n 'select--warning': this.warning,\n 'select--error': this.error,\n 'select--success': this.success,\n 'select--standard': true,\n 'select--filled': this.filled,\n 'select--pill': this.pill,\n 'select--open': this.open,\n 'select--disabled': this.disabled,\n 'select--multiple': this.multiple,\n 'select--focused': this.hasFocus,\n 'select--placeholder-visible': isPlaceholderVisible,\n 'select--top': this.placement === 'top',\n 'select--bottom': this.placement === 'bottom',\n 'select--small': this.size === 'small',\n 'select--medium': this.size === 'medium',\n 'select--large': this.size === 'large',\n })}\n placement=${this.placement}\n strategy=${this.portal ? 'fixed' : (this.hoist ? 'fixed' : 'absolute')}\n distance=\"6\"\n ?flip=${!this.portal}\n ?shift=${!this.portal}\n sync=${ifDefined(!this.noWidthSync ? 'width' : undefined)}\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n >\n ${this.renderCustomSelect(hasCustomSelect)}\n ${this.renderCombobox(hasCustomSelect, hasClearIcon)}\n ${this.showListbox ? this.renderListbox() : html``}\n </nile-popup>\n `;\n }\n\n private renderCustomSelect(hasCustomSelect: boolean): TemplateResult {\n return hasCustomSelect\n ? html`<slot\n slot=\"anchor\"\n name=\"custom-select\"\n class=\"custom-select\"\n @keydown=${this.handleComboboxKeyDown}\n @mousedown=${this.handleComboboxMouseDown}\n ></slot>`\n : html``;\n }\n\n private renderCombobox(hasCustomSelect: boolean, hasClearIcon: boolean): TemplateResult {\n return html`\n <div\n part=\"combobox\"\n class=${classMap({\n select__combobox: true,\n 'select__hide-default': hasCustomSelect,\n })}\n slot=\"anchor\"\n @keydown=${this.handleComboboxKeyDown}\n @mousedown=${this.handleComboboxMouseDown}\n >\n ${this.renderPrefix()}\n ${this.renderDisplayInput()}\n ${this.renderTags()}\n ${this.renderValueInput()}\n ${this.renderClearButton(hasClearIcon)}\n ${this.renderSuffix()}\n ${this.renderExpandIcon()}\n </div>\n `;\n }\n\n private renderPrefix(): TemplateResult {\n return html`\n <slot\n part=\"prefix\"\n name=\"prefix\"\n class=${classMap({\n select__prefix: true,\n multiple: this.multiple,\n })}\n ></slot>\n `;\n }\n\n private renderDisplayInput(): TemplateResult {\n return html`\n <input\n part=\"display-input\"\n class=\"select__display-input\"\n type=\"text\"\n placeholder=${this.placeholder}\n .disabled=${this.disabled}\n .value=${this.displayLabel}\n autocomplete=\"off\"\n spellcheck=\"false\"\n autocapitalize=\"off\"\n readonly\n aria-controls=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-haspopup=\"listbox\"\n aria-labelledby=\"label\"\n aria-disabled=${this.disabled ? 'true' : 'false'}\n aria-describedby=\"help-text\"\n role=\"combobox\"\n tabindex=\"0\"\n />\n `;\n }\n\n private renderTags(): TemplateResult {\n return this.multiple\n ? html`\n <div part=\"tags\" class=\"select__tags\">\n ${this.selectedOptions.map((option, index) => {\n if (\n index < this.maxOptionsVisible ||\n this.maxOptionsVisible <= 0\n ) {\n const classes = {\n select__invisible:\n index + 1 > this.oldMaxOptionsVisible &&\n this.maxOptionsVisible === Infinity,\n };\n return html`\n <nile-tag\n class=${classMap(classes)}\n part=\"tag\"\n exportparts=\"\n base:tag__base,\n content:tag__content,\n remove-button:tag__remove-button,\n remove-button__base:tag__remove-button__base\n \"\n ?pill=${this.pill}\n size=${this.size}\n removable\n @nile-remove=${(event: NileRemoveEvent) =>\n this.handleTagRemove(event, option)}\n >\n ${option.getTextLabel()}\n </nile-tag>\n `;\n } else if (index === this.maxOptionsVisible) {\n return html`\n <span class=\"select__tags-count\"\n >+${this.selectedOptions.length - index} More\n </span>\n `;\n } else {\n return null;\n }\n })}\n </div>\n `\n : html``;\n }\n\n private renderValueInput(): TemplateResult {\n return html`\n <input\n class=\"select__value-input\"\n type=\"text\"\n ?disabled=${this.disabled}\n ?required=${this.required}\n .value=${Array.isArray(this.value)\n ? this.value.join(', ')\n : this.value}\n tabindex=\"-1\"\n aria-hidden=\"true\"\n @focus=${() => this.focus()}\n @invalid=${this.handleInvalid}\n />\n `;\n }\n\n private renderClearButton(hasClearIcon: boolean): TemplateResult {\n return hasClearIcon\n ? html`\n <button\n part=\"clear-button\"\n class=\"select__clear\"\n type=\"button\"\n aria-label=\"clearEntry\"\n @mousedown=${this.handleClearMouseDown}\n @click=${this.handleClearClick}\n tabindex=\"-1\"\n >\n <slot name=\"clear-icon\">\n <nile-icon name=\"var(--nile-icon-close, var(--ng-icon-x-close))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" library=\"system\"></nile-icon>\n </slot>\n </button>\n `\n : html``;\n }\n\n private renderSuffix(): TemplateResult {\n return html`\n <slot\n part=\"suffix\"\n name=\"suffix\"\n class=${classMap({\n select__suffix: true,\n })}\n ></slot>\n `;\n }\n\n private renderExpandIcon(): TemplateResult {\n return html`\n <slot\n name=\"expand-icon\"\n part=\"expand-icon\"\n class=\"select__expand-icon\"\n >\n <nile-icon library=\"system\" name=\"var(--nile-icon-arrow-down, var(--ng-icon-chevron-down))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"></nile-icon>\n </slot>\n `;\n }\n\n private renderListbox(): TemplateResult {\n return html`\n <div\n id=\"listbox\"\n role=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-multiselectable=${this.multiple ? 'true' : 'false'}\n aria-labelledby=\"label\"\n part=\"listbox\"\n class=\"select__listbox ${this.searchEnabled\n ? 'select__search-enabled '\n : ''} ${this.portal ? 'select__portal-append-hidden' : ''}\"\n tabindex=\"-1\"\n @mouseup=${this.handleOptionClick}\n style=${this.portal ? 'display: none;' : ''}\n >\n ${this.renderSearch()}\n ${this.renderLoader()}\n ${this.getVirtualizedContent()}\n ${this.renderFooter()}\n </div>\n `;\n }\n\n private renderSearch(): TemplateResult {\n return this.searchEnabled\n ? html`\n <div part=\"search\" class=\"select__search\">\n <nile-input\n size=\"small\"\n clearable\n .value=${this.searchValue}\n placeholder=\"${this.internalSearchPlaceHolder}\"\n @nile-input=${this.handleSearchChange}\n @nile-focus=${this.handleSearchFocus}\n @nile-change=\"${this.onInputChange}\"\n >\n <nile-icon name=\"var(--nile-icon-search, var(--ng-icon-search-lg))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" slot=\"suffix\"> </nile-icon>\n </nile-input>\n </div>\n `\n : html``;\n }\n\n private renderLoader(): TemplateResult {\n if (this.loading) {\n return html`\n <span part=\"loader\" class=\"virtual-select-loader\">\n <nile-loader size=\"sm\"></nile-loader>\n </span>\n `;\n }\n \n if (this.optionsLoading) {\n return html`\n <span part=\"loader\" class=\"select__loader\">\n <nile-icon\n class=\"select__loader--icon\"\n name=\"button-loading-blue\"\n ></nile-icon>\n </span>\n `;\n }\n \n return html``;\n }\n\n private renderFooter(): TemplateResult {\n return this.multiple\n ? html`\n <div\n part=\"footer\"\n class=\"select__footer ${this.loading ? 'loading' : ''}\"\n @click=\"${this.handleFooterClick}\"\n >\n <span\n @click=\"${this.toggleShowSelected}\"\n style=\"cursor: pointer;\"\n >\n <nile-checkbox\n ?disabled=\"${this.selectedOptions.length === 0}\"\n ?checked=\"${this.showSelected}\"\n >\n &nbsp; Show Selected</nile-checkbox\n >\n </span>\n ${this.selectedOptions.length !== 0\n ? html`\n <span\n class=\"select__clear\"\n @click=\"${this.unSelectAll}\"\n >\n Clear All\n </span>\n `\n : ``}\n </div>\n `\n : html``;\n }\n\n private renderHelpText(hasHelpText: boolean, hasErrorMessage: boolean): TemplateResult {\n return html`\n ${hasHelpText\n ? html` <nile-form-help-text>${this.helpText}</nile-form-help-text> `\n : ``}\n ${hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``}\n `;\n }\n\n getVirtualizedContent(): TemplateResult {\n return VirtualSelectRenderer.getVirtualizedContent(\n this.data,\n this.searchEnabled,\n this.getDisplayText.bind(this),\n this.value,\n this.multiple,\n this.renderItemConfig?.getDisplayText,\n this.renderItemConfig?.getValue,\n this.showNoResults,\n this.noResultsMessage,\n this.optionsLoading || this.loading,\n this.handleScroll.bind(this)\n );\n }\n\n nileInput(value: any): void {\n this.emit('nile-input', value);\n }\n\n nileChange(value: any): void {\n this.emit('nile-change', value);\n }\n\n private updateValidity(): void {\n this.updateComplete.then(() => {\n this.formControlController.updateValidity();\n });\n }\n\n private calculateWidthOfSelectTagsDiv(): number | null {\n if (this.shadowRoot) {\n const selectTagsDiv = this.shadowRoot.querySelector('.select__tags') as HTMLElement;\n if (selectTagsDiv) {\n const width = selectTagsDiv.offsetWidth;\n return width - 70;\n }\n }\n return null;\n }\n\n private calculateTotalWidthOfTags(): void {\n if (this.maxOptionsVisible !== Infinity) {\n this.oldMaxOptionsVisible = this.maxOptionsVisible;\n }\n\n this.maxOptionsVisible = Infinity;\n setTimeout(() => {\n let widths: number[] = [];\n if (this.shadowRoot) {\n const tags = this.shadowRoot.querySelectorAll('nile-tag');\n tags.forEach(tag => {\n if (tag instanceof HTMLElement) {\n widths.push(tag.offsetWidth);\n }\n });\n }\n if (this.value.length !== widths.length) {\n return;\n }\n\n let sum = widths.reduce(\n (accumulator, currentValue) => accumulator + currentValue,\n 0\n );\n const widthOfSelectTagsDiv = this.calculateWidthOfSelectTagsDiv();\n if (!widthOfSelectTagsDiv) {\n return;\n }\n\n let summ = 0;\n let lastindex = 0;\n\n for (let i = 0; i < widths.length; i++) {\n summ += widths[i];\n\n if (summ > widthOfSelectTagsDiv) {\n lastindex = i;\n break;\n }\n }\n this.maxOptionsVisible = lastindex;\n }, 1);\n }\n\n private resetScrollPosition(): void {\n this.updateComplete.then(() => {\n if (this.virtualizedContainer && this.virtualizedContainer.isConnected) {\n this.virtualizedContainer.scrollTop = 0;\n \n const listbox = this.shadowRoot?.querySelector('.select__listbox') as HTMLElement;\n if (listbox && listbox.isConnected) {\n listbox.scrollTop = 0;\n }\n \n const virtualizer = this.virtualizedContainer.querySelector('lit-virtualizer') as HTMLElement;\n if (virtualizer && virtualizer.isConnected) {\n virtualizer.scrollTop = 0;\n }\n }\n });\n }\n\n}\n\nsetDefaultAnimation('select.show', {\n keyframes: [\n { opacity: 0, scale: 0.9 },\n { opacity: 1, scale: 1 },\n ],\n options: { duration: 100, easing: 'ease' },\n});\n\nsetDefaultAnimation('select.hide', {\n keyframes: [\n { opacity: 1, scale: 1 },\n { opacity: 0, scale: 0.9 },\n ],\n options: { duration: 100, easing: 'ease' },\n});\n\nexport default NileVirtualSelect;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-virtual-select': NileVirtualSelect;\n }\n}\n"],"names":["t","x","target","this","i","config","h","callback","e","skipInitial","o","Set","add","l","window","ResizeObserver","u","s","handleChanges","requestUpdate","addController","console","warn","_createClass","key","value","hostConnected","_iterator","_step","n","done","observe","err","f","hostDisconnected","disconnect","_hostUpdated","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context2","prev","next","hostUpdated","stop","unobserve","delete","_export","NileVirtualSelect","k","constructor","formControlController","FormControlController","assumeInteractionOn","hasSlotController","HasSlotController","portalManager","PortalManager","hasFocus","displayLabel","selectedOptions","oldValue","scrolling","name","data","originalOptionItems","defaultValue","size","placeholder","autoResize","searchValue","searchEnabled","internalSearchPlaceHolder","disableLocalSearch","optionsLoading","loading","multiple","helpText","errorMessage","warning","error","success","disabled","clearable","open","hoist","filled","pill","label","placement","form","required","showNoResults","noResultsMessage","showSelected","blockValueChange","noWidthSync","portal","maxOptionsVisible","oldMaxOptionsVisible","showListbox","wasShowSelectedCheckedOnClose","handleDocumentMouseDown","event","path","composedPath","hitSelf","includes","hitPopup","popup","hitPortalAppend","portalContainerElement","hide","handleWindowError","message","preventDefault","handleWindowResize","updatePortalAppendPosition","handleWindowScroll","resizeController","ResizeController","entries","_iterator2","_step2","entry","classList","contains","calculateTotalWidthOfTags","_this2","_inherits","_u","get","_this$valueInput","valueInput","validity","validationMessage","_this$valueInput$vali","_this$valueInput2","connectedCallback","super","initializeComponent","setupEventListeners","updateComplete","then","length","selectionChanged","disconnectedCallback","removeOpenListeners","scrollTimeout","clearTimeout","undefined","cleanupPortalAppend","updated","changedProperties","has","_this$shadowRoot","tagsDiv","shadowRoot","querySelector","emit","getDisplayText","item","renderItemConfig","toString","getItemValue","getValue","getSearchText","_this$renderItemConfi3","handleDocumentFocusIn","bind","handleDocumentKeyDown","addOpenListeners","document","addEventListener","removeEventListener","handleFocus","handleBlur","shouldIgnoreKeyPress","isEscapeKey","handleEscapeKey","isEnterOrSpaceKey","handleEnterOrSpaceKey","isClearButton","closest","isIconButton","stopPropagation","displayInput","focus","preventScroll","stopImmediatePropagation","show","handleFooterClick","toggleShowSelected","selectedValues","Array","isArray","filter","itemValue","some","val","String","_toConsumableArray","resetMeasuredHeight","repaintOptionsContainer","unSelectAll","resetScrollPosition","handleLabelClick","handleComboboxMouseDown","shouldIgnoreComboboxClick","el","Element","tagName","toLowerCase","handleComboboxKeyDown","handleClearClick","clearSelection","nileInput","nileChange","handleClearMouseDown","handleOptionClick","option","shouldBlockValueChange","handleOptionSelection","_this6","optionValue","toggleOptionSelection","setSelectedOptions","currentValues","v","concat","handleTagRemove","removeTagFromSelection","emitTagRemovalEvent","currentValue","newValue","removedtagvalue","_this$renderItemConfi4","itemsToSearch","VirtualSelectSelectionManager","createVirtualOptionsFromValues","_this$selectedOptions2","getTextLabel","updateValidity","filterVirtualOptions","handleSearchFocus","handleSearchBlur","handleSearchChange","detail","query","_this8$shadowRoot","virtualized","remove","handleScroll","_this9","scrollTop","scrollLeft","setTimeout","Math","ceil","floor","scrollHeight","offsetHeight","isAtBottom","result","VirtualSelectSearchManager","filteredItems","handleInvalid","setValidity","emitInvalidEvent","handleDisabledChange","handleOpenChange","handleValueChange","handleDataChange","handleRenderItemConfigChange","handleOptionsLoadingChange","handlePortalAppendChange","setupPortalAppend","_handleOpenChange","_callee2","_callee2$","_context3","handleOpen","handleClose","_callee3","_this$data","_g","_callee3$","_context4","stopAnimations","active","getAnimation","dir","animateTo","keyframes","options","initializeOriginalItems","_callee4","_g2","_callee4$","_context5","_show","_callee5","_callee5$","_context6","abrupt","waitForEvent","_callee6","_callee6$","_context7","checkValidity","getForm","reportValidity","setCustomValidity","blur","onInputChange","render","hasLabelSlot","test","hasLabelSuffixSlot","hasCustomSelect","hasLabel","hasClearIcon","isPlaceholderVisible","hasHelpText","hasErrorMessage","html","_templateObject","_taggedTemplateLiteral","classMap","renderLabel","renderFormControlInput","_templateObject2","_templateObject3","_templateObject4","renderPopup","renderHelpText","_templateObject5","select","ifDefined","renderCustomSelect","renderCombobox","renderListbox","_templateObject6","_templateObject7","_templateObject8","_templateObject9","select__combobox","renderPrefix","renderDisplayInput","renderTags","renderValueInput","renderClearButton","renderSuffix","renderExpandIcon","_templateObject10","select__prefix","_templateObject11","_templateObject12","map","index","classes","select__invisible","Infinity","_templateObject13","_templateObject14","_templateObject15","_templateObject16","join","_templateObject17","_templateObject18","_templateObject19","select__suffix","_templateObject20","_templateObject21","renderSearch","renderLoader","getVirtualizedContent","renderFooter","_templateObject22","_templateObject23","_templateObject24","_templateObject25","_templateObject26","_templateObject27","_templateObject28","_templateObject29","_templateObject30","_templateObject31","_templateObject32","VirtualSelectRenderer","calculateWidthOfSelectTagsDiv","selectTagsDiv","offsetWidth","widths","querySelectorAll","forEach","tag","HTMLElement","push","widthOfSelectTagsDiv","summ","lastindex","virtualizedContainer","isConnected","_this14$shadowRoot","listbox","virtualizer","NileElement","styles","__decorate","prototype","state","property","type","converter","fromAttribute","split","toAttribute","Boolean","reflect","attribute","Number","watch","waitUntilFirstUpdate","customElement","setDefaultAnimation","opacity","scale","duration","easing"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"nile-virtual-select.cjs.js","sources":["../../../../node_modules/@lit-labs/observers/resize-controller.js","../../../src/nile-virtual-select/nile-virtual-select.ts"],"sourcesContent":["import{isServer as s}from\"lit-html/is-server.js\";\n/**\n * @license\n * Copyright 2021 Google LLC\n * SPDX-License-Identifier: BSD-3-Clause\n */class t{constructor(t,{target:i,config:h,callback:e,skipInitial:o}){this.t=new Set,this.o=!1,this.i=!1,this.h=t,null!==i&&this.t.add(i??t),this.l=h,this.o=o??this.o,this.callback=e,s||(window.ResizeObserver?(this.u=new ResizeObserver((s=>{this.handleChanges(s),this.h.requestUpdate()})),t.addController(this)):console.warn(\"ResizeController error: browser does not support ResizeObserver.\"))}handleChanges(s){this.value=this.callback?.(s,this.u)}hostConnected(){for(const s of this.t)this.observe(s)}hostDisconnected(){this.disconnect()}async hostUpdated(){!this.o&&this.i&&this.handleChanges([]),this.i=!1}observe(s){this.t.add(s),this.u.observe(s,this.l),this.i=!0,this.h.requestUpdate()}unobserve(s){this.t.delete(s),this.u.unobserve(s)}disconnect(){this.u.disconnect()}}export{t as ResizeController};\n//# sourceMappingURL=resize-controller.js.map\n"," /**\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 {\n LitElement,\n html,\n} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-virtual-select.css';\n\nimport '../nile-icon';\nimport '../nile-popup/nile-popup';\nimport '../nile-tag/nile-tag';\nimport '../nile-checkbox/nile-checkbox';\nimport '../nile-loader/nile-loader';\nimport { animateTo, stopAnimations } from '../internal/animate';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query, state } from 'lit/decorators.js';\nimport { defaultValue } from '../internal/default-value';\nimport { FormControlController } from '../internal/form';\nimport {\n getAnimation,\n setDefaultAnimation,\n} from '../utilities/animation-registry';\nimport { HasSlotController } from '../internal/slot';\nimport { waitForEvent } from '../internal/event';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';\nimport type { NileFormControl } from '../internal/nile-element';\nimport type NileOption from '../nile-option/nile-option';\nimport type NilePopup from '../nile-popup/nile-popup';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport type { VirtualOption, NileRemoveEvent, RenderItemConfig } from './types.js';\nimport { VirtualSelectSelectionManager } from './selection-manager.js';\nimport { VirtualSelectSearchManager } from './search-manager.js';\nimport { VirtualSelectRenderer } from './renderer.js';\nimport { PortalManager } from './portal-manager.js';\nimport { ResizeController } from '@lit-labs/observers/resize-controller.js';\n\n/**\n * Nile Virtual Select component.\n *\n * @tag nile-virtual-select\n *\n */\n\n/**\n * @summary Virtual select component for handling large datasets with virtual scrolling.\n * @status stable\n * @since 2.0\n *\n * @dependency nile-icon\n * @dependency nile-popup\n * @dependency nile-tag\n * @dependency nile-checkbox\n *\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the combobox.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot expand-icon - The icon to show when the control is expanded and collapsed.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @event nile-change - Emitted when the control's value changes.\n * @event nile-clear - Emitted when the control's value is cleared.\n * @event nile-input - Emitted when the control receives input.\n * @event nile-focus - Emitted when the control gains focus.\n * @event nile-blur - Emitted when the control loses focus.\n * @event nile-show - Emitted when the select's menu opens.\n * @event nile-after-show - Emitted after the select's menu opens and all animations are complete.\n * @event nile-hide - Emitted when the select's menu closes.\n * @event nile-after-hide - Emitted after the select's menu closes and all animations are complete.\n * @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n * @event nile-search - Emitted when the user types in the search input. The event payload includes the search query for backend search functionality.\n * @event nile-scroll - Emitted when the user scrolls within the virtualized container. The event payload includes scroll position information.\n * @event nile-scroll-start - Emitted when the user starts scrolling within the virtualized container.\n * @event nile-scroll-end - Emitted when the user stops scrolling and reaches the bottom of the virtualized container (debounced).\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The select's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart combobox - The container the wraps the prefix, combobox, clear icon, and expand button.\n * @csspart prefix - The container that wraps the prefix slot.\n * @csspart display-input - The element that displays the selected option's label, an `<input>` element.\n * @csspart listbox - The listbox container where options are slotted.\n * @csspart tags - The container that houses option tags when `multiple` is used.\n * @csspart tag - The individual tags that represent each multiselect option.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n * @csspart footer - The footer container with show selected and clear all options.\n */\n\n@customElement('nile-virtual-select')\nexport class NileVirtualSelect extends NileElement implements NileFormControl {\n static styles: CSSResultGroup = styles;\n\n private readonly formControlController = new FormControlController(this, {\n assumeInteractionOn: ['nile-blur', 'nile-input'],\n });\n private readonly hasSlotController = new HasSlotController(\n this,\n 'help-text',\n 'label'\n );\n private readonly portalManager = new PortalManager(this);\n\n @query('.select') popup: NilePopup;\n @query('.select__combobox') combobox: HTMLElement;\n @query('.select__display-input') displayInput: HTMLInputElement;\n @query('.select__value-input') valueInput: HTMLInputElement;\n @query('.virtualized') virtualizedContainer: HTMLElement;\n\n @state() private hasFocus = false;\n @state() displayLabel = '';\n @state() selectedOptions: VirtualOption[] = [];\n @state() oldValue: string | string[] = '';\n \n private scrollTimeout: number | undefined;\n private scrolling = false;\n\n /** The name of the select, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /** Array of all option items for virtual scrolling */\n @property({ type: Array }) data: any = [];\n\n /** Original unfiltered option items for search functionality */\n @state() private originalOptionItems: any = [];\n\n /**\n * The current value of the select. When `multiple` is enabled, the value will be an array of selected values.\n */\n @property({\n converter: {\n fromAttribute: (value: string) => value.split(' '),\n toAttribute: (value: string[]) => value.join(' '),\n },\n })\n value: string | string[] = '';\n\n /** The default value of the form control. Primarily used for resetting the form control. */\n @defaultValue() defaultValue: string | string[] = '';\n\n /** The select's size. */\n @property() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Placeholder text to show as a hint when the select is empty. */\n @property() placeholder = 'Select...';\n\n /** Enable automatic resizing of tags area */\n @property({ type: Boolean }) autoResize = false;\n\n /** Current search value */\n @state() searchValue: string = '';\n\n /** Enable search functionality */\n @property({ type: Boolean, reflect: true }) searchEnabled = false;\n\n /** Search input placeholder */\n @property({attribute:'internal-search-placeholder'}) internalSearchPlaceHolder = 'Search...';\n\n /** Disable local search filtering */\n @property({ type: Boolean, reflect: true }) disableLocalSearch = false;\n\n /** Show loading state */\n @property({ type: Boolean, reflect: true }) optionsLoading = false;\n\n /** Show loading state using nile-loader */\n @property({ type: Boolean, reflect: true, attribute: true }) loading = false;\n\n /** Allows more than one option to be selected. */\n @property({ type: Boolean, reflect: true }) multiple = false;\n\n /** Help text */\n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n\n /** Error message */\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n /** Sets the input to a warning state */\n @property({ type: Boolean }) warning = false;\n\n /** Sets the input to an error state */\n @property({ type: Boolean }) error = false;\n\n /** Sets the input to a success state */\n @property({ type: Boolean }) success = false;\n\n /** Disables the select control. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Adds a clear button when the select is not empty. */\n @property({ type: Boolean, reflect: true }) clearable = false;\n\n /** The select's open state. */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /**\n * Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n */\n @property({ type: Boolean }) hoist = false;\n\n /** Draws a filled select. */\n @property({ type: Boolean, reflect: true }) filled = false;\n\n /** Draws a pill-style select with rounded edges. */\n @property({ type: Boolean, reflect: true }) pill = false;\n\n /** The select's label. If you need to display HTML, use the `label` slot instead. */\n @property() label = '';\n\n /**\n * The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\n * inside of the viewport.\n */\n @property({ reflect: true }) placement: 'top' | 'bottom' = 'bottom';\n\n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n\n /** The select's required attribute. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** Show no results message */\n @property({ type: Boolean }) showNoResults: boolean = false;\n\n /** No results message */\n @property({ type: String }) noResultsMessage: string = 'No results found';\n\n /** Show selected options only */\n @property({ type: Boolean }) showSelected = false;\n\n /** Enhanced configuration for rendering items with support for display text, value, and search text */\n @property({ attribute:false}) renderItemConfig?: RenderItemConfig;\n\n /** Block value change events */\n @property({ type: Boolean, reflect: true }) blockValueChange = false;\n\n /** Disable width synchronization */\n @property({ type: Boolean, reflect: true }) noWidthSync = false;\n\n /** \n * When true, the listbox will be appended to the document body instead of the parent container.\n * This is useful when the parent has overflow: hidden, clip-path, or transform applied.\n */\n @property({ type: Boolean, reflect: true }) portal = false;\n\n /**\n * The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\n * indicate the number of additional items that are selected. Set to 0 to remove the limit.\n */\n @property({ attribute: 'max-options-visible', type: Number })\n maxOptionsVisible = 3;\n\n @state() oldMaxOptionsVisible: number = 1;\n @state() showListbox: boolean = false;\n @state() private wasShowSelectedCheckedOnClose: boolean = false;\n\n /** Gets the validity state object */\n get validity() {\n return this.valueInput?.validity;\n }\n\n /** Gets the validation message */\n get validationMessage() {\n return this.valueInput?.validationMessage ?? '';\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.initializeComponent();\n this.setupEventListeners();\n \n this.updateComplete.then(() => {\n if (this.value && this.data.length > 0) {\n this.selectionChanged();\n }\n });\n }\n\n disconnectedCallback() {\n this.removeOpenListeners();\n // Clear any pending scroll timeout to prevent memory leaks\n if (this.scrollTimeout) {\n clearTimeout(this.scrollTimeout);\n this.scrollTimeout = undefined;\n }\n // Clean up body append elements\n this.portalManager.cleanupPortalAppend();\n }\n\n protected updated(changedProperties: PropertyValues): void {\n if(changedProperties.has('value')) {\n this.selectionChanged();\n }\n if (changedProperties.has('autoResize')) {\n const tagsDiv = this.shadowRoot?.querySelector('.select__tags') as HTMLElement;\n if (this.autoResize && tagsDiv) {\n this.resizeController.observe(tagsDiv);\n } else if (tagsDiv) {\n this.resizeController.unobserve(tagsDiv);\n }\n }\n }\n\n private initializeComponent(): void {\n this.open = false;\n this.emit('nile-init');\n }\n\n /**\n * Get display text for an item using renderItemConfig\n */\n private getDisplayText(item: any): string {\n if (this.renderItemConfig?.getDisplayText) {\n return this.renderItemConfig.getDisplayText(item);\n }\n // Fallback to basic display\n return item?.label || item?.name || item?.toString() || '';\n }\n\n /**\n * Get value for an item using renderItemConfig or fallback to item.value\n */\n private getItemValue(item: any): string {\n if (this.renderItemConfig?.getValue) {\n return this.renderItemConfig.getValue(item);\n }\n return item?.value || item;\n }\n\n /**\n * Get search text for an item using renderItemConfig or fallback to display text\n */\n private getSearchText(item: any): string {\n if (this.renderItemConfig?.getSearchText) {\n return this.renderItemConfig.getSearchText(item);\n }\n return this.getDisplayText(item);\n }\n\n private setupEventListeners(): void {\n this.handleDocumentFocusIn = this.handleDocumentFocusIn.bind(this);\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);\n this.handleWindowError = this.handleWindowError.bind(this);\n this.handleWindowResize = this.handleWindowResize.bind(this);\n this.handleWindowScroll = this.handleWindowScroll.bind(this);\n }\n\n private addOpenListeners(): void {\n document.addEventListener('focusin', this.handleDocumentFocusIn);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n window.addEventListener('error', this.handleWindowError);\n \n if (this.portal) {\n window.addEventListener('resize', this.handleWindowResize);\n window.addEventListener('scroll', this.handleWindowScroll, true);\n }\n }\n\n private removeOpenListeners(): void {\n document.removeEventListener('focusin', this.handleDocumentFocusIn);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n window.removeEventListener('error', this.handleWindowError);\n window.removeEventListener('resize', this.handleWindowResize);\n window.removeEventListener('scroll', this.handleWindowScroll, true);\n }\n\n private handleFocus(): void {\n this.hasFocus = true;\n this.emit('nile-focus');\n }\n\n private handleBlur(): void {\n this.hasFocus = false;\n this.emit('nile-blur');\n }\n\n private handleDocumentFocusIn(event: FocusEvent): void {\n if (!this.open) return; \n const path = event.composedPath(); \n const hitSelf = path.includes(this);\n const hitPopup = this.popup && path.includes(this.popup);\n const hitPortalAppend = this.portal && this.portalManager.portalContainerElement && path.includes(this.portalManager.portalContainerElement);\n\n if (!hitSelf && !hitPopup && !hitPortalAppend) {\n this.hide();\n }\n }\n\n private handleDocumentKeyDown(event: KeyboardEvent): void {\n if (this.shouldIgnoreKeyPress(event)) {\n return;\n }\n\n if (this.isEscapeKey(event)) {\n this.handleEscapeKey(event);\n }\n\n if (this.isEnterOrSpaceKey(event)) {\n this.handleEnterOrSpaceKey(event);\n }\n }\n\n private shouldIgnoreKeyPress(event: KeyboardEvent): boolean {\n const target = event.target as HTMLElement;\n const isClearButton = target.closest('.select__clear') !== null;\n const isIconButton = target.closest('nile-icon-button') !== null;\n return isClearButton || isIconButton;\n }\n\n private isEscapeKey(event: KeyboardEvent): boolean {\n return event.key === 'Escape' && this.open;\n }\n\n private handleEscapeKey(event: KeyboardEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n\n private isEnterOrSpaceKey(event: KeyboardEvent): boolean {\n return event.key === 'Enter' || event.key === ' ';\n }\n\n private handleEnterOrSpaceKey(event: KeyboardEvent): void {\n event.preventDefault();\n event.stopImmediatePropagation();\n\n if (!this.open) {\n this.show();\n return;\n }\n\n if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n\n private handleDocumentMouseDown = (event: MouseEvent): void => {\n if (!this.open) return; \n \n const path = event.composedPath();\n const hitSelf = path.includes(this);\n const hitPopup = this.popup && path.includes(this.popup);\n const hitPortalAppend = this.portal && this.portalManager.portalContainerElement && path.includes(this.portalManager.portalContainerElement);\n \n if (!hitSelf && !hitPopup && !hitPortalAppend) {\n this.hide();\n }\n };\n\n /**\n * This is a workaround for an error in the Lit Labs virtualizer.\n * Since there are no specific guidelines available to fix the issue,\n * we are catching only the error message related to the virtualizer.\n */\n private handleWindowError = (event: ErrorEvent): void => {\n const errorMessage = event.error?.message || event.message || '';\n if (errorMessage.includes('Cannot read properties of null (reading \\'insertBefore\\')')) {\n event.preventDefault();\n return;\n }\n };\n\n private handleWindowResize = (): void => {\n this.portalManager.updatePortalAppendPosition();\n };\n\n private handleWindowScroll = (): void => {\n this.portalManager.updatePortalAppendPosition();\n };\n\n private handleFooterClick(event: MouseEvent): void {\n event.stopPropagation();\n event.preventDefault();\n }\n\n private toggleShowSelected(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n if (this.selectedOptions?.length === 0) {\n return;\n }\n this.showSelected = !this.showSelected;\n\n if (this.showSelected) {\n this.searchValue = \"\";\n const selectedValues = Array.isArray(this.value) ? this.value : [this.value];\n this.data = this.originalOptionItems.filter((item: any) => {\n const itemValue = this.getItemValue(item);\n return selectedValues.some(val => String(val) === String(itemValue));\n });\n } else {\n this.data = [...this.originalOptionItems];\n }\n\n // Reset measured height when show selected toggles (content height may change)\n this.portalManager.resetMeasuredHeight();\n\n this.requestUpdate();\n this.repaintOptionsContainer();\n }\n\n private unSelectAll(): void {\n this.showSelected = false;\n this.value = this.multiple ? [] : '';\n this.data = [...this.originalOptionItems];\n this.selectionChanged();\n this.emit('nile-change', { value: this.value, name: this.name });\n this.emit('nile-clear', { value: this.multiple ? this.value : '', name: this.name });\n this.resetScrollPosition();\n }\n\n private handleLabelClick(): void {\n this.displayInput.focus();\n this.hide();\n }\n\n private handleComboboxMouseDown(event: MouseEvent): void {\n if (this.shouldIgnoreComboboxClick(event)) {\n return;\n }\n\n event.preventDefault();\n this.displayInput.focus({ preventScroll: true });\n this.open = !this.open;\n }\n\n private resizeController = new ResizeController(this, {\n callback: (entries: ResizeObserverEntry[]) => {\n for (const entry of entries) {\n if (entry.target.classList.contains('select__tags')) {\n this.calculateTotalWidthOfTags();\n }\n }\n }\n });\n\n private shouldIgnoreComboboxClick(event: MouseEvent): boolean {\n const path = event.composedPath();\n const isIconButton = path.some(\n el =>\n el instanceof Element && el.tagName.toLowerCase() === 'nile-icon-button'\n );\n return this.disabled || isIconButton;\n }\n\n private handleComboboxKeyDown(event: KeyboardEvent): void {\n if (this.isEnterOrSpaceKey(event)) {\n event.preventDefault();\n this.open = !this.open;\n }\n }\n\n private handleClearClick(event: MouseEvent): void {\n event.stopPropagation();\n this.clearSelection();\n }\n\n private clearSelection(): void {\n const oldValue = this.value;\n this.value = this.multiple ? [] : '';\n this.selectionChanged();\n\n this.updateComplete.then(() => {\n this.nileInput({ value: this.value, name: this.name });\n this.nileChange({ value: this.value, name: this.name });\n this.emit('nile-clear');\n });\n }\n\n private handleClearMouseDown(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n private handleOptionClick(event: MouseEvent): void {\n const target = event.target as HTMLElement;\n const option = target.closest('nile-option');\n\n if (this.shouldBlockValueChange(option)) {\n return;\n }\n\n const oldValue = this.value;\n this.oldValue = oldValue;\n\n if (option && !option.disabled) {\n this.handleOptionSelection(option);\n }\n }\n\n private shouldBlockValueChange(option: Element | null): boolean {\n if (this.blockValueChange && option) {\n this.emit('nile-block-change', { value: (option as any)?.value, name: this.name });\n this.hide();\n return true;\n }\n return false;\n }\n\n private handleOptionSelection(option: Element): void {\n const optionValue = (option as any).value;\n \n if (this.multiple) {\n this.toggleOptionSelection(optionValue);\n } else {\n this.setSelectedOptions(optionValue);\n }\n\n this.updateComplete.then(() =>\n this.displayInput.focus({ preventScroll: true })\n );\n\n if (this.value !== this.oldValue) {\n this.updateComplete.then(() => {\n this.nileInput({ value: this.value, name: this.name });\n this.nileChange({ value: this.value, name: this.name });\n });\n }\n\n if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n\n private setSelectedOptions(optionValue: string): void {\n this.value = optionValue;\n this.selectionChanged();\n }\n\n private toggleOptionSelection(optionValue: string): void {\n const currentValues = Array.isArray(this.value) ? this.value : [];\n \n if (currentValues.includes(optionValue)) {\n this.value = currentValues.filter(v => v !== optionValue);\n } else {\n this.value = [...currentValues, optionValue];\n }\n \n this.selectionChanged();\n }\n\n private handleTagRemove(event: NileRemoveEvent, option: VirtualOption): void {\n event.stopPropagation();\n\n if (!this.disabled) {\n this.removeTagFromSelection(option);\n this.emitTagRemovalEvent(option);\n }\n }\n\n private removeTagFromSelection(option: VirtualOption): void {\n let currentValue = this.value;\n if (!Array.isArray(currentValue)) {\n currentValue = currentValue ? [currentValue] : [];\n }\n const newValue = currentValue.filter((v: string) => v !== option.value);\n this.value = newValue;\n this.selectionChanged();\n }\n\n private emitTagRemovalEvent(option: VirtualOption): void {\n this.updateComplete.then(() => {\n this.nileInput({ value: this.value, name: this.name });\n this.nileChange({ value: this.value, name: this.name });\n this.emit('nile-tag-remove', { value: this.value, name: this.name, removedtagvalue: option.value });\n });\n }\n\n private selectionChanged(): void {\n const itemsToSearch = this.originalOptionItems.length > 0 ? this.originalOptionItems : this.data;\n this.selectedOptions = VirtualSelectSelectionManager.createVirtualOptionsFromValues(\n this.value, \n itemsToSearch, \n this.getDisplayText.bind(this),\n this.renderItemConfig?.getValue\n );\n\n if (this.multiple) {\n if (this.placeholder && this.value.length === 0) {\n this.displayLabel = '';\n } else {\n this.displayLabel = this.selectedOptions.length + ' selected';\n }\n } else {\n const currentValue = Array.isArray(this.value) ? this.value[0] : this.value;\n const label = this.selectedOptions[0]?.getTextLabel();\n this.displayLabel = label ? label : currentValue ?? '';\n }\n\n this.updateValidity();\n\n if (this.selectedOptions.length === 0) {\n this.showSelected = false;\n if(this.originalOptionItems?.length > 0 && !this.searchValue) {\n this.data = [...this.originalOptionItems];\n }\n this.repaintOptionsContainer();\n }\n\n this.calculateTotalWidthOfTags();\n }\n \n\n handleSearchFocus(): void {\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchBlur(): void {\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchChange(e: any): void {\n this.searchValue = e.detail.value;\n if (this.portal) {\n this.portalManager.updatePortalAppendPosition();\n }\n \n this.emit('nile-search', { \n query: this.searchValue,\n name: this.name \n });\n \n if (!this.disableLocalSearch) {\n this.filterVirtualOptions(this.searchValue);\n this.repaintOptionsContainer();\n \n // Reset measured height when search changes (content height may change)\n this.portalManager.resetMeasuredHeight();\n }\n }\n \n repaintOptionsContainer() {\n this.resetScrollPosition();\n this.updateComplete.then(() => {\n const virtualized = this.shadowRoot?.querySelector('.virtualized') as HTMLElement;\n if (virtualized) {\n if (this.data.length <= 5) {\n virtualized.classList.add('no-scroll');\n } else {\n virtualized.classList.remove('no-scroll');\n }\n }\n });\n }\n\n handleScroll(e: Event): void {\n if(this.showSelected) {\n return;\n }\n\n const target = e.target as HTMLElement;\n \n this.emit('nile-scroll', {\n scrollTop: target.scrollTop,\n scrollLeft: target.scrollLeft,\n name: this.name\n });\n\n if (!this.scrolling) {\n this.scrolling = true;\n this.emit('nile-scroll-start', {\n scrollTop: target.scrollTop,\n scrollLeft: target.scrollLeft,\n name: this.name\n });\n }\n\n clearTimeout(this.scrollTimeout);\n this.scrollTimeout = window.setTimeout(() => {\n if (this.scrolling) {\n this.scrolling = false;\n }\n }, 300);\n\n const isAtBottom = Math.ceil(target.scrollTop) >= Math.floor(target.scrollHeight - target.offsetHeight);\n if (isAtBottom && !this.searchValue) {\n this.emit('nile-scroll-end', {\n scrollTop: target.scrollTop,\n scrollLeft: target.scrollLeft,\n name: this.name,\n isAtBottom: true\n });\n }\n }\n\n filterVirtualOptions(searchValue: string): void {\n const result = VirtualSelectSearchManager.filterVirtualOptions(\n searchValue,\n this.originalOptionItems,\n this.data,\n this.getDisplayText.bind(this),\n this.renderItemConfig?.getSearchText\n );\n if (this.portal) {\n this.portalManager.updatePortalAppendPosition();\n this.updateComplete.then(() => {\n requestAnimationFrame(() => {\n this.resetScrollPosition();\n });\n });\n } else {\n this.resetScrollPosition();\n }\n this.data = result.filteredItems;\n this.showNoResults = result.showNoResults;\n this.showSelected = false;\n this.requestUpdate();\n }\n\n private handleInvalid(event: Event): void {\n this.formControlController.setValidity(false);\n this.formControlController.emitInvalidEvent(event);\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange(): void {\n if (this.disabled) {\n this.open = false;\n this.handleOpenChange();\n }\n }\n\n @watch('value', { waitUntilFirstUpdate: true })\n handleValueChange(): void {\n this.selectionChanged();\n this.requestUpdate();\n \n // Update body append content if it's active\n if (this.portal && this.portalManager.portalContainerElement) {\n this.portalManager.updatePortalAppendPosition();\n }\n }\n\n @watch('data', { waitUntilFirstUpdate: true })\n handleDataChange(): void {\n if (this.data.length > 0 && this.open && !this.showSelected && !this.searchValue) {\n this.originalOptionItems = [...this.data];\n }\n this.selectionChanged();\n // Show no results message when data is empty and not loading\n if (!this.optionsLoading && !this.loading && this.data.length === 0) {\n this.showNoResults = true;\n } else if (this.data.length > 0) {\n this.showNoResults = false;\n }\n this.requestUpdate();\n \n // Reset measured height when data changes (content height may change)\n this.portalManager.resetMeasuredHeight();\n \n // Update body append content if it's active\n if (this.portal && this.portalManager.portalContainerElement) {\n this.portalManager.updatePortalAppendPosition();\n }\n }\n\n @watch('renderItemConfig', { waitUntilFirstUpdate: true })\n handleRenderItemConfigChange(): void {\n if (this.value && this.data.length > 0) {\n this.selectionChanged();\n this.requestUpdate();\n }\n }\n\n @watch('optionsLoading', { waitUntilFirstUpdate: true })\n handleOptionsLoadingChange(): void {\n // Show no results message when loading stops and there are no results\n if (!this.optionsLoading && this.data.length === 0) {\n this.showNoResults = true;\n }\n this.requestUpdate();\n \n // Update body append content if it's active\n if (this.portal && this.portalManager.portalContainerElement) {\n this.portalManager.updatePortalAppendPosition();\n }\n }\n\n @watch('portal', { waitUntilFirstUpdate: true })\n handlePortalAppendChange(): void {\n if (this.open) {\n if (this.portal) {\n this.portalManager.setupPortalAppend();\n } else {\n this.portalManager.cleanupPortalAppend();\n }\n }\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange(): Promise<void> {\n if (this.open && !this.disabled) {\n await this.handleOpen();\n this.showListbox = true;\n \n if (this.portal) {\n this.portalManager.setupPortalAppend();\n }\n } else {\n await this.handleClose();\n this.showListbox = false;\n \n if (this.portal) {\n this.portalManager.cleanupPortalAppend();\n }\n }\n }\n\n private async handleOpen(): Promise<void> {\n this.emit('nile-show', { value: this.value, name: this.name });\n this.addOpenListeners();\n this.showNoResults = !this.data?.length;\n\n await stopAnimations(this);\n this.popup.active = true;\n\n const { keyframes, options } = getAnimation(this, 'select.show', {\n dir: 'ltr',\n });\n await animateTo(this.popup.popup, keyframes, options);\n\n if (this.wasShowSelectedCheckedOnClose) {\n this.showSelected = false;\n this.data = [...this.originalOptionItems];\n this.wasShowSelectedCheckedOnClose = false;\n }\n\n this.filterVirtualOptions(\"\");\n this.resetScrollPosition();\n this.emit('nile-after-show', { value: this.value, name: this.name });\n }\n\n private async handleClose(): Promise<void> {\n this.emit('nile-hide', { value: this.value, name: this.name });\n this.removeOpenListeners();\n\n this.wasShowSelectedCheckedOnClose = this.showSelected;\n\n await stopAnimations(this);\n const { keyframes, options } = getAnimation(this, 'select.hide', {\n dir: 'ltr',\n });\n await animateTo(this.popup.popup, keyframes, options);\n this.popup.active = false;\n\n this.searchValue = '';\n \n // Reset measured height when popup closes (content may change on next open)\n this.portalManager.resetMeasuredHeight();\n \n this.emit('nile-after-hide', { value: this.value, name: this.name });\n }\n\n async show(): Promise<unknown> {\n if (this.open || this.disabled) {\n this.open = false;\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, 'nile-after-show');\n }\n\n async hide(): Promise<unknown> {\n if (!this.open || this.disabled) {\n this.open = false;\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, 'nile-after-hide');\n }\n\n checkValidity(): boolean {\n return this.valueInput.checkValidity();\n }\n\n getForm(): HTMLFormElement | null {\n return this.formControlController.getForm();\n }\n\n reportValidity(): boolean {\n return this.valueInput.reportValidity();\n }\n\n setCustomValidity(message: string): void {\n this.valueInput.setCustomValidity(message);\n this.formControlController.updateValidity();\n }\n\n focus(options?: FocusOptions): void {\n this.displayInput.focus(options);\n }\n\n blur(): void {\n this.displayInput.blur();\n }\n\n onInputChange(event: Event): void {\n event.stopPropagation();\n }\n\n render(): TemplateResult {\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasLabelSuffixSlot = this.hasSlotController.test('label-suffix');\n const hasCustomSelect = this.hasSlotController.test('custom-select');\n const hasLabel = this.label ? true : !!hasLabelSlot;\n const hasClearIcon =\n this.clearable && !this.disabled && this.value.length > 0;\n const isPlaceholderVisible = !!this.placeholder && this.value.length === 0;\n const hasHelpText = !!this.helpText;\n const hasErrorMessage = !!this.errorMessage;\n\n return html`\n <div\n part=\"form-control\"\n class=${classMap({\n 'form-control': true,\n 'form-control--small': this.size === 'small',\n 'form-control--medium': this.size === 'medium',\n 'form-control--large': this.size === 'large',\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText,\n })}\n >\n ${this.renderLabel(hasLabel, hasLabelSuffixSlot)}\n ${this.renderFormControlInput(hasCustomSelect, hasClearIcon, isPlaceholderVisible, hasHelpText, hasErrorMessage)}\n </div>\n `;\n }\n\n private renderLabel(hasLabel: boolean, hasLabelSuffixSlot: boolean): TemplateResult {\n return html`\n <label\n id=\"label\"\n part=\"form-control-label\"\n class=\"form-control__label\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n @click=${this.handleLabelClick}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n ${hasLabelSuffixSlot ? html` <slot name=\"label-suffix\"></slot> ` : ``}\n `;\n }\n\n private renderFormControlInput(\n hasCustomSelect: boolean, \n hasClearIcon: boolean, \n isPlaceholderVisible: boolean, \n hasHelpText: boolean, \n hasErrorMessage: boolean\n ): TemplateResult {\n return html`\n <div part=\"form-control-input\" class=\"form-control-input\">\n ${this.renderPopup(hasCustomSelect, hasClearIcon, isPlaceholderVisible)}\n ${this.renderHelpText(hasHelpText, hasErrorMessage)}\n </div>\n `;\n }\n\n private renderPopup(hasCustomSelect: boolean, hasClearIcon: boolean, isPlaceholderVisible: boolean): TemplateResult {\n return html`\n <nile-popup\n class=${classMap({\n select: true,\n 'select--warning': this.warning,\n 'select--error': this.error,\n 'select--success': this.success,\n 'select--standard': true,\n 'select--filled': this.filled,\n 'select--pill': this.pill,\n 'select--open': this.open,\n 'select--disabled': this.disabled,\n 'select--multiple': this.multiple,\n 'select--focused': this.hasFocus,\n 'select--placeholder-visible': isPlaceholderVisible,\n 'select--top': this.placement === 'top',\n 'select--bottom': this.placement === 'bottom',\n 'select--small': this.size === 'small',\n 'select--medium': this.size === 'medium',\n 'select--large': this.size === 'large',\n })}\n placement=${this.placement}\n strategy=${this.portal ? 'fixed' : (this.hoist ? 'fixed' : 'absolute')}\n distance=\"6\"\n ?flip=${!this.portal}\n ?shift=${!this.portal}\n sync=${ifDefined(!this.noWidthSync ? 'width' : undefined)}\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n exportparts=\"tag__content\"\n >\n ${this.renderCustomSelect(hasCustomSelect)}\n ${this.renderCombobox(hasCustomSelect, hasClearIcon)}\n ${this.showListbox ? this.renderListbox() : html``}\n </nile-popup>\n `;\n }\n\n private renderCustomSelect(hasCustomSelect: boolean): TemplateResult {\n return hasCustomSelect\n ? html`<slot\n slot=\"anchor\"\n name=\"custom-select\"\n class=\"custom-select\"\n @keydown=${this.handleComboboxKeyDown}\n @mousedown=${this.handleComboboxMouseDown}\n ></slot>`\n : html``;\n }\n\n private renderCombobox(hasCustomSelect: boolean, hasClearIcon: boolean): TemplateResult {\n return html`\n <div\n part=\"combobox\"\n class=${classMap({\n select__combobox: true,\n 'select__hide-default': hasCustomSelect,\n })}\n slot=\"anchor\"\n @keydown=${this.handleComboboxKeyDown}\n @mousedown=${this.handleComboboxMouseDown}\n >\n ${this.renderPrefix()}\n ${this.renderDisplayInput()}\n ${this.renderTags()}\n ${this.renderValueInput()}\n ${this.renderClearButton(hasClearIcon)}\n ${this.renderSuffix()}\n ${this.renderExpandIcon()}\n </div>\n `;\n }\n\n private renderPrefix(): TemplateResult {\n return html`\n <slot\n part=\"prefix\"\n name=\"prefix\"\n class=${classMap({\n select__prefix: true,\n multiple: this.multiple,\n })}\n ></slot>\n `;\n }\n\n private renderDisplayInput(): TemplateResult {\n return html`\n <input\n part=\"display-input\"\n class=\"select__display-input\"\n type=\"text\"\n placeholder=${this.placeholder}\n .disabled=${this.disabled}\n .value=${this.displayLabel}\n autocomplete=\"off\"\n spellcheck=\"false\"\n autocapitalize=\"off\"\n readonly\n aria-controls=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-haspopup=\"listbox\"\n aria-labelledby=\"label\"\n aria-disabled=${this.disabled ? 'true' : 'false'}\n aria-describedby=\"help-text\"\n role=\"combobox\"\n tabindex=\"0\"\n />\n `;\n }\n\n private renderTags(): TemplateResult {\n return this.multiple\n ? html`\n <div part=\"tags\" class=\"select__tags\">\n ${this.selectedOptions.map((option, index) => {\n if (\n index < this.maxOptionsVisible ||\n this.maxOptionsVisible <= 0\n ) {\n const classes = {\n select__invisible:\n index + 1 > this.oldMaxOptionsVisible &&\n this.maxOptionsVisible === Infinity,\n };\n return html`\n <nile-tag\n class=${classMap(classes)}\n part=\"tag\"\n exportparts=\"\n base:tag__base,\n content:tag__content,\n remove-button:tag__remove-button,\n remove-button__base:tag__remove-button__base\n \"\n ?pill=${this.pill}\n size=${this.size}\n removable\n @nile-remove=${(event: NileRemoveEvent) =>\n this.handleTagRemove(event, option)}\n >\n ${option.getTextLabel()}\n </nile-tag>\n `;\n } else if (index === this.maxOptionsVisible) {\n return html`\n <span class=\"select__tags-count\"\n >+${this.selectedOptions.length - index} More\n </span>\n `;\n } else {\n return null;\n }\n })}\n </div>\n `\n : html``;\n }\n\n private renderValueInput(): TemplateResult {\n return html`\n <input\n class=\"select__value-input\"\n type=\"text\"\n ?disabled=${this.disabled}\n ?required=${this.required}\n .value=${Array.isArray(this.value)\n ? this.value.join(', ')\n : this.value}\n tabindex=\"-1\"\n aria-hidden=\"true\"\n @focus=${() => this.focus()}\n @invalid=${this.handleInvalid}\n />\n `;\n }\n\n private renderClearButton(hasClearIcon: boolean): TemplateResult {\n return hasClearIcon\n ? html`\n <button\n part=\"clear-button\"\n class=\"select__clear\"\n type=\"button\"\n aria-label=\"clearEntry\"\n @mousedown=${this.handleClearMouseDown}\n @click=${this.handleClearClick}\n tabindex=\"-1\"\n >\n <slot name=\"clear-icon\">\n <nile-icon name=\"var(--nile-icon-close, var(--ng-icon-x-close))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" library=\"system\"></nile-icon>\n </slot>\n </button>\n `\n : html``;\n }\n\n private renderSuffix(): TemplateResult {\n return html`\n <slot\n part=\"suffix\"\n name=\"suffix\"\n class=${classMap({\n select__suffix: true,\n })}\n ></slot>\n `;\n }\n\n private renderExpandIcon(): TemplateResult {\n return html`\n <slot\n name=\"expand-icon\"\n part=\"expand-icon\"\n class=\"select__expand-icon\"\n >\n <nile-icon library=\"system\" name=\"var(--nile-icon-arrow-down, var(--ng-icon-chevron-down))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"></nile-icon>\n </slot>\n `;\n }\n\n private renderListbox(): TemplateResult {\n return html`\n <div\n id=\"listbox\"\n role=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-multiselectable=${this.multiple ? 'true' : 'false'}\n aria-labelledby=\"label\"\n part=\"listbox\"\n class=\"select__listbox ${this.searchEnabled\n ? 'select__search-enabled '\n : ''} ${this.portal ? 'select__portal-append-hidden' : ''}\"\n tabindex=\"-1\"\n @mouseup=${this.handleOptionClick}\n style=${this.portal ? 'display: none;' : ''}\n >\n ${this.renderSearch()}\n ${this.renderLoader()}\n ${this.getVirtualizedContent()}\n ${this.renderFooter()}\n </div>\n `;\n }\n\n private renderSearch(): TemplateResult {\n return this.searchEnabled\n ? html`\n <div part=\"search\" class=\"select__search\">\n <nile-input\n size=\"small\"\n clearable\n .value=${this.searchValue}\n placeholder=\"${this.internalSearchPlaceHolder}\"\n @nile-input=${this.handleSearchChange}\n @nile-focus=${this.handleSearchFocus}\n @nile-change=\"${this.onInputChange}\"\n >\n <nile-icon name=\"var(--nile-icon-search, var(--ng-icon-search-lg))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" slot=\"suffix\"> </nile-icon>\n </nile-input>\n </div>\n `\n : html``;\n }\n\n private renderLoader(): TemplateResult {\n if (this.loading) {\n return html`\n <span part=\"loader\" class=\"virtual-select-loader\">\n <nile-loader size=\"sm\"></nile-loader>\n </span>\n `;\n }\n \n if (this.optionsLoading) {\n return html`\n <span part=\"loader\" class=\"select__loader\">\n <nile-icon\n class=\"select__loader--icon\"\n name=\"button-loading-blue\"\n ></nile-icon>\n </span>\n `;\n }\n \n return html``;\n }\n\n private renderFooter(): TemplateResult {\n return this.multiple\n ? html`\n <div\n part=\"footer\"\n class=\"select__footer ${this.loading ? 'loading' : ''}\"\n @click=\"${this.handleFooterClick}\"\n >\n <span\n @click=\"${this.toggleShowSelected}\"\n style=\"cursor: pointer;\"\n >\n <nile-checkbox\n ?disabled=\"${this.selectedOptions.length === 0}\"\n ?checked=\"${this.showSelected}\"\n >\n &nbsp; Show Selected</nile-checkbox\n >\n </span>\n ${this.selectedOptions.length !== 0\n ? html`\n <span\n class=\"select__clear\"\n @click=\"${this.unSelectAll}\"\n >\n Clear All\n </span>\n `\n : ``}\n </div>\n `\n : html``;\n }\n\n private renderHelpText(hasHelpText: boolean, hasErrorMessage: boolean): TemplateResult {\n return html`\n ${hasHelpText\n ? html` <nile-form-help-text>${this.helpText}</nile-form-help-text> `\n : ``}\n ${hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``}\n `;\n }\n\n getVirtualizedContent(): TemplateResult {\n return VirtualSelectRenderer.getVirtualizedContent(\n this.data,\n this.searchEnabled,\n this.getDisplayText.bind(this),\n this.value,\n this.multiple,\n this.renderItemConfig?.getDisplayText,\n this.renderItemConfig?.getValue,\n this.showNoResults,\n this.noResultsMessage,\n this.optionsLoading || this.loading,\n this.handleScroll.bind(this)\n );\n }\n\n nileInput(value: any): void {\n this.emit('nile-input', value);\n }\n\n nileChange(value: any): void {\n this.emit('nile-change', value);\n }\n\n private updateValidity(): void {\n this.updateComplete.then(() => {\n this.formControlController.updateValidity();\n });\n }\n\n private calculateWidthOfSelectTagsDiv(): number | null {\n if (this.shadowRoot) {\n const selectTagsDiv = this.shadowRoot.querySelector('.select__tags') as HTMLElement;\n if (selectTagsDiv) {\n const width = selectTagsDiv.offsetWidth;\n return width - 70;\n }\n }\n return null;\n }\n\n private calculateTotalWidthOfTags(): void {\n if (this.maxOptionsVisible !== Infinity) {\n this.oldMaxOptionsVisible = this.maxOptionsVisible;\n }\n\n this.maxOptionsVisible = Infinity;\n setTimeout(() => {\n let widths: number[] = [];\n if (this.shadowRoot) {\n const tags = this.shadowRoot.querySelectorAll('nile-tag');\n tags.forEach(tag => {\n if (tag instanceof HTMLElement) {\n widths.push(tag.offsetWidth);\n }\n });\n }\n if (this.value.length !== widths.length) {\n return;\n }\n\n let sum = widths.reduce(\n (accumulator, currentValue) => accumulator + currentValue,\n 0\n );\n const widthOfSelectTagsDiv = this.calculateWidthOfSelectTagsDiv();\n if (!widthOfSelectTagsDiv) {\n return;\n }\n\n let summ = 0;\n let lastindex = 0;\n\n for (let i = 0; i < widths.length; i++) {\n summ += widths[i];\n\n if (summ > widthOfSelectTagsDiv) {\n lastindex = i;\n break;\n }\n }\n this.maxOptionsVisible = lastindex;\n }, 1);\n }\n\n private async resetScrollPosition(): Promise<void> {\n await this.portalManager.resetScrollPosition();\n }\n}\n\nsetDefaultAnimation('select.show', {\n keyframes: [\n { opacity: 0, scale: 0.9 },\n { opacity: 1, scale: 1 },\n ],\n options: { duration: 100, easing: 'ease' },\n});\n\nsetDefaultAnimation('select.hide', {\n keyframes: [\n { opacity: 1, scale: 1 },\n { opacity: 0, scale: 0.9 },\n ],\n options: { duration: 100, easing: 'ease' },\n});\n\nexport default NileVirtualSelect;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-virtual-select': NileVirtualSelect;\n }\n}\n"],"names":["t","x","target","this","i","config","h","callback","e","skipInitial","o","Set","add","l","window","ResizeObserver","u","s","handleChanges","requestUpdate","addController","console","warn","_createClass","key","value","hostConnected","_iterator","_step","n","done","observe","err","f","hostDisconnected","disconnect","_hostUpdated","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context2","prev","next","hostUpdated","stop","unobserve","delete","_export","NileVirtualSelect","k","constructor","formControlController","FormControlController","assumeInteractionOn","hasSlotController","HasSlotController","portalManager","PortalManager","hasFocus","displayLabel","selectedOptions","oldValue","scrolling","name","data","originalOptionItems","defaultValue","size","placeholder","autoResize","searchValue","searchEnabled","internalSearchPlaceHolder","disableLocalSearch","optionsLoading","loading","multiple","helpText","errorMessage","warning","error","success","disabled","clearable","open","hoist","filled","pill","label","placement","form","required","showNoResults","noResultsMessage","showSelected","blockValueChange","noWidthSync","portal","maxOptionsVisible","oldMaxOptionsVisible","showListbox","wasShowSelectedCheckedOnClose","handleDocumentMouseDown","event","path","composedPath","hitSelf","includes","hitPopup","popup","hitPortalAppend","portalContainerElement","hide","handleWindowError","message","preventDefault","handleWindowResize","updatePortalAppendPosition","handleWindowScroll","resizeController","ResizeController","entries","_iterator2","_step2","entry","classList","contains","calculateTotalWidthOfTags","_this2","_inherits","_u","get","_this$valueInput","valueInput","validity","validationMessage","_this$valueInput$vali","_this$valueInput2","connectedCallback","super","initializeComponent","setupEventListeners","updateComplete","then","length","selectionChanged","disconnectedCallback","removeOpenListeners","scrollTimeout","clearTimeout","undefined","cleanupPortalAppend","updated","changedProperties","has","_this$shadowRoot","tagsDiv","shadowRoot","querySelector","emit","getDisplayText","item","renderItemConfig","toString","getItemValue","getValue","getSearchText","_this$renderItemConfi3","handleDocumentFocusIn","bind","handleDocumentKeyDown","addOpenListeners","document","addEventListener","removeEventListener","handleFocus","handleBlur","shouldIgnoreKeyPress","isEscapeKey","handleEscapeKey","isEnterOrSpaceKey","handleEnterOrSpaceKey","isClearButton","closest","isIconButton","stopPropagation","displayInput","focus","preventScroll","stopImmediatePropagation","show","handleFooterClick","toggleShowSelected","_this$selectedOptions","_this4","selectedValues","Array","isArray","filter","itemValue","some","val","String","_toConsumableArray","resetMeasuredHeight","repaintOptionsContainer","unSelectAll","resetScrollPosition","handleLabelClick","handleComboboxMouseDown","shouldIgnoreComboboxClick","el","Element","tagName","toLowerCase","handleComboboxKeyDown","handleClearClick","clearSelection","nileInput","nileChange","handleClearMouseDown","handleOptionClick","option","shouldBlockValueChange","handleOptionSelection","optionValue","toggleOptionSelection","setSelectedOptions","currentValues","v","handleTagRemove","removeTagFromSelection","emitTagRemovalEvent","currentValue","newValue","removedtagvalue","itemsToSearch","VirtualSelectSelectionManager","createVirtualOptionsFromValues","_this$selectedOptions2","getTextLabel","updateValidity","handleSearchFocus","handleSearchBlur","handleSearchChange","detail","query","filterVirtualOptions","_this8$shadowRoot","virtualized","remove","handleScroll","scrollTop","scrollLeft","setTimeout","Math","ceil","floor","scrollHeight","offsetHeight","isAtBottom","result","VirtualSelectSearchManager","requestAnimationFrame","filteredItems","handleInvalid","setValidity","emitInvalidEvent","handleDisabledChange","handleOpenChange","handleValueChange","handleDataChange","handleRenderItemConfigChange","handleOptionsLoadingChange","handlePortalAppendChange","setupPortalAppend","_handleOpenChange","_callee2","_callee2$","_context3","handleOpen","handleClose","_callee3","_this$data","_g","_callee3$","_context4","stopAnimations","active","getAnimation","dir","keyframes","options","animateTo","_callee4","_g2","_callee4$","_context5","_callee5","_callee5$","_context6","abrupt","waitForEvent","_callee6","_callee6$","_context7","checkValidity","getForm","reportValidity","setCustomValidity","blur","onInputChange","render","hasLabelSlot","test","hasLabelSuffixSlot","hasCustomSelect","hasLabel","hasClearIcon","isPlaceholderVisible","hasHelpText","hasErrorMessage","html","_templateObject","_taggedTemplateLiteral","classMap","renderLabel","renderFormControlInput","_templateObject2","_templateObject3","_templateObject4","renderPopup","renderHelpText","_templateObject5","select","ifDefined","renderCustomSelect","renderCombobox","renderListbox","_templateObject6","_templateObject7","_templateObject8","_templateObject9","select__combobox","renderPrefix","renderDisplayInput","renderTags","renderValueInput","renderClearButton","renderSuffix","renderExpandIcon","_templateObject10","select__prefix","_templateObject11","_templateObject12","map","index","classes","select__invisible","Infinity","_templateObject13","_templateObject14","_templateObject15","_templateObject16","join","_templateObject17","_templateObject18","_templateObject19","select__suffix","_templateObject20","_templateObject21","renderSearch","renderLoader","getVirtualizedContent","renderFooter","_templateObject22","_templateObject23","_templateObject24","_templateObject25","_templateObject26","_templateObject27","_templateObject28","_templateObject29","_templateObject30","_templateObject31","_templateObject32","VirtualSelectRenderer","calculateWidthOfSelectTagsDiv","selectTagsDiv","offsetWidth","widths","querySelectorAll","forEach","tag","HTMLElement","push","widthOfSelectTagsDiv","summ","lastindex","_resetScrollPosition","_callee7","_callee7$","_context8","NileElement","styles","__decorate","prototype","state","property","type","converter","fromAttribute","split","toAttribute","Boolean","reflect","attribute","Number","watch","waitUntilFirstUpdate","customElement","setDefaultAnimation","opacity","scale","duration","easing"],"mappings":"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","x_google_ignoreList":[0]}