@aquera/nile-elements 0.1.74 → 0.1.75-beta-1.3

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 (464) hide show
  1. package/demo/index.html +95 -9
  2. package/dist/{fixture-3bfb4490.cjs.js → fixture-5b79f853.cjs.js} +2 -2
  3. package/dist/{fixture-3bfb4490.cjs.js.map → fixture-5b79f853.cjs.js.map} +1 -1
  4. package/dist/fixture-90b199c4.esm.js +569 -0
  5. package/dist/{fixture-8edec91c.esm.js → fixture-cf7bfcf5.esm.js} +1 -1
  6. package/dist/fixture-dbd66009.cjs.js +395 -0
  7. package/dist/fixture-dbd66009.cjs.js.map +1 -0
  8. package/dist/index.js +41 -17
  9. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  10. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  11. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  12. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  13. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  14. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  15. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  16. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  17. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  18. package/dist/nile-button/nile-button.test.esm.js +1 -1
  19. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  20. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  21. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  22. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
  23. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  24. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  25. package/dist/nile-card/nile-card.test.esm.js +1 -1
  26. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  27. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  28. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  29. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  30. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  31. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  32. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  33. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  34. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  35. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  36. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  37. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  38. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  39. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  40. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  41. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  42. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  43. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  44. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  45. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  46. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  47. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  48. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  49. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  50. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  51. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  52. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  53. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  54. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  55. package/dist/nile-input/nile-input.test.esm.js +1 -1
  56. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  57. package/dist/nile-link/nile-link.test.esm.js +1 -1
  58. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  59. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  60. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  61. package/dist/nile-popover/nile-popover.test.esm.js +1 -1
  62. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  63. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  64. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  65. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  66. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  67. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  68. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  69. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  70. package/dist/nile-select/index.cjs.js +1 -1
  71. package/dist/nile-select/index.esm.js +1 -1
  72. package/dist/nile-select/nile-select.cjs.js +1 -1
  73. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  74. package/dist/nile-select/nile-select.esm.js +2 -2
  75. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  76. package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
  77. package/dist/nile-select/nile-select.test.esm.js +1 -1
  78. package/dist/nile-select/virtual-scroll-helper.cjs.js +1 -1
  79. package/dist/nile-select/virtual-scroll-helper.cjs.js.map +1 -1
  80. package/dist/nile-select/virtual-scroll-helper.esm.js +1 -0
  81. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  82. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  83. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  84. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  85. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  86. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  87. package/dist/nile-virtual-select/index.cjs.js +1 -1
  88. package/dist/nile-virtual-select/index.esm.js +1 -1
  89. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +1 -1
  90. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  91. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +1 -1
  92. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +1 -1
  93. package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +18 -0
  94. package/dist/nile-virtual-select/nile-virtual-select.esm.js +15 -11
  95. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  96. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  97. package/dist/nile-virtual-select/renderer.cjs.js +1 -1
  98. package/dist/nile-virtual-select/renderer.cjs.js.map +1 -1
  99. package/dist/nile-virtual-select/renderer.esm.js +11 -10
  100. package/dist/nile-virtual-select/selection-manager.cjs.js +1 -1
  101. package/dist/nile-virtual-select/selection-manager.cjs.js.map +1 -1
  102. package/dist/nile-virtual-select/selection-manager.esm.js +1 -1
  103. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js +2 -0
  104. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js.map +1 -0
  105. package/dist/nile-virtual-select/temp_nile-virtual-select copy.esm.js +231 -0
  106. package/dist/src/internal/resizable-helper.d.ts +59 -0
  107. package/dist/src/internal/resizable-helper.js +115 -0
  108. package/dist/src/internal/resizable-helper.js.map +1 -0
  109. package/dist/src/internal/resizable-styles.d.ts +16 -0
  110. package/dist/src/internal/resizable-styles.js +144 -0
  111. package/dist/src/internal/resizable-styles.js.map +1 -0
  112. package/dist/src/internal/virtualizer-error-handler.d.ts +30 -0
  113. package/dist/src/internal/virtualizer-error-handler.js +82 -0
  114. package/dist/src/internal/virtualizer-error-handler.js.map +1 -0
  115. package/dist/src/lib/index.d.ts +7 -0
  116. package/dist/src/lib/index.js +8 -0
  117. package/dist/src/lib/index.js.map +1 -0
  118. package/dist/src/lib/virtualize.d.ts +32 -0
  119. package/dist/src/lib/virtualize.js +105 -0
  120. package/dist/src/lib/virtualize.js.map +1 -0
  121. package/dist/src/lib/virtualize.test.d.ts +7 -0
  122. package/dist/src/lib/virtualize.test.js +57 -0
  123. package/dist/src/lib/virtualize.test.js.map +1 -0
  124. package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +17 -0
  125. package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +310 -0
  126. package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +34 -0
  127. package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +31 -0
  128. package/dist/src/nile-grid/data-processor.d.ts +37 -0
  129. package/dist/src/nile-grid/data-processor.js +122 -0
  130. package/dist/src/nile-grid/data-processor.js.map +1 -0
  131. package/dist/src/nile-grid/event-handlers.d.ts +35 -0
  132. package/dist/src/nile-grid/event-handlers.js +158 -0
  133. package/dist/src/nile-grid/event-handlers.js.map +1 -0
  134. package/dist/src/nile-grid/index.d.ts +5 -0
  135. package/dist/src/nile-grid/index.js +6 -0
  136. package/dist/src/nile-grid/index.js.map +1 -0
  137. package/dist/src/nile-grid/nile-grid.css.d.ts +1 -0
  138. package/dist/src/nile-grid/nile-grid.css.js +120 -0
  139. package/dist/src/nile-grid/nile-grid.css.js.map +1 -0
  140. package/dist/src/nile-grid/nile-grid.d.ts +39 -0
  141. package/dist/src/nile-grid/nile-grid.js +182 -0
  142. package/dist/src/nile-grid/nile-grid.js.map +1 -0
  143. package/dist/src/nile-grid/renderer.d.ts +8 -0
  144. package/dist/src/nile-grid/renderer.js +78 -0
  145. package/dist/src/nile-grid/renderer.js.map +1 -0
  146. package/dist/src/nile-grid/resize-handler.d.ts +4 -0
  147. package/dist/src/nile-grid/resize-handler.js +36 -0
  148. package/dist/src/nile-grid/resize-handler.js.map +1 -0
  149. package/dist/src/nile-grid/types.d.ts +32 -0
  150. package/dist/src/nile-grid/types.js +2 -0
  151. package/dist/src/nile-grid/types.js.map +1 -0
  152. package/dist/src/nile-grid/utils.d.ts +4 -0
  153. package/dist/src/nile-grid/utils.js +32 -0
  154. package/dist/src/nile-grid/utils.js.map +1 -0
  155. package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +47 -0
  156. package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +16 -0
  157. package/dist/src/nile-icon/icons/svg/ng-action.d.ts +5 -0
  158. package/dist/src/nile-icon/icons/svg/ng-action.js +5 -0
  159. package/dist/src/nile-icon/icons/svg/ng-action.js.map +1 -0
  160. package/dist/src/nile-icon/icons/svg/ng-activity.d.ts +5 -0
  161. package/dist/src/nile-icon/icons/svg/ng-activity.js +5 -0
  162. package/dist/src/nile-icon/icons/svg/ng-activity.js.map +1 -0
  163. package/dist/src/nile-icon/icons/svg/ng-alert-circle.d.ts +5 -0
  164. package/dist/src/nile-icon/icons/svg/ng-alert-circle.js +5 -0
  165. package/dist/src/nile-icon/icons/svg/ng-alert-circle.js.map +1 -0
  166. package/dist/src/nile-icon/icons/svg/ng-align-center.d.ts +5 -0
  167. package/dist/src/nile-icon/icons/svg/ng-align-center.js +5 -0
  168. package/dist/src/nile-icon/icons/svg/ng-align-center.js.map +1 -0
  169. package/dist/src/nile-icon/icons/svg/ng-annotation-x.d.ts +5 -0
  170. package/dist/src/nile-icon/icons/svg/ng-annotation-x.js +5 -0
  171. package/dist/src/nile-icon/icons/svg/ng-annotation-x.js.map +1 -0
  172. package/dist/src/nile-icon/icons/svg/ng-arrow-down.d.ts +5 -0
  173. package/dist/src/nile-icon/icons/svg/ng-arrow-down.js +5 -0
  174. package/dist/src/nile-icon/icons/svg/ng-arrow-down.js.map +1 -0
  175. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.d.ts +5 -0
  176. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js +5 -0
  177. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js.map +1 -0
  178. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.d.ts +5 -0
  179. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js +5 -0
  180. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js.map +1 -0
  181. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.d.ts +5 -0
  182. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.js +5 -0
  183. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.js.map +1 -0
  184. package/dist/src/nile-icon/icons/svg/ng-arrow-up.d.ts +5 -0
  185. package/dist/src/nile-icon/icons/svg/ng-arrow-up.js +5 -0
  186. package/dist/src/nile-icon/icons/svg/ng-arrow-up.js.map +1 -0
  187. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.d.ts +5 -0
  188. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js +5 -0
  189. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js.map +1 -0
  190. package/dist/src/nile-icon/icons/svg/ng-bell-01.d.ts +5 -0
  191. package/dist/src/nile-icon/icons/svg/ng-bell-01.js +5 -0
  192. package/dist/src/nile-icon/icons/svg/ng-bell-01.js.map +1 -0
  193. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.d.ts +5 -0
  194. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js +5 -0
  195. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js.map +1 -0
  196. package/dist/src/nile-icon/icons/svg/ng-bold-01.d.ts +5 -0
  197. package/dist/src/nile-icon/icons/svg/ng-bold-01.js +5 -0
  198. package/dist/src/nile-icon/icons/svg/ng-bold-01.js.map +1 -0
  199. package/dist/src/nile-icon/icons/svg/ng-building-01.d.ts +5 -0
  200. package/dist/src/nile-icon/icons/svg/ng-building-01.js +5 -0
  201. package/dist/src/nile-icon/icons/svg/ng-building-01.js.map +1 -0
  202. package/dist/src/nile-icon/icons/svg/ng-building-05.d.ts +5 -0
  203. package/dist/src/nile-icon/icons/svg/ng-building-05.js +5 -0
  204. package/dist/src/nile-icon/icons/svg/ng-building-05.js.map +1 -0
  205. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.d.ts +5 -0
  206. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.js +5 -0
  207. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.js.map +1 -0
  208. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.d.ts +5 -0
  209. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.js +5 -0
  210. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.js.map +1 -0
  211. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.d.ts +5 -0
  212. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js +5 -0
  213. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js.map +1 -0
  214. package/dist/src/nile-icon/icons/svg/ng-calendar.d.ts +5 -0
  215. package/dist/src/nile-icon/icons/svg/ng-calendar.js +5 -0
  216. package/dist/src/nile-icon/icons/svg/ng-calendar.js.map +1 -0
  217. package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.d.ts +5 -0
  218. package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.js +5 -0
  219. package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.js.map +1 -0
  220. package/dist/src/nile-icon/icons/svg/ng-check-circle.d.ts +5 -0
  221. package/dist/src/nile-icon/icons/svg/ng-check-circle.js +5 -0
  222. package/dist/src/nile-icon/icons/svg/ng-check-circle.js.map +1 -0
  223. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.d.ts +5 -0
  224. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js +5 -0
  225. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js.map +1 -0
  226. package/dist/src/nile-icon/icons/svg/ng-check.d.ts +5 -0
  227. package/dist/src/nile-icon/icons/svg/ng-check.js +5 -0
  228. package/dist/src/nile-icon/icons/svg/ng-check.js.map +1 -0
  229. package/dist/src/nile-icon/icons/svg/ng-chevron-down.d.ts +5 -0
  230. package/dist/src/nile-icon/icons/svg/ng-chevron-down.js +5 -0
  231. package/dist/src/nile-icon/icons/svg/ng-chevron-down.js.map +1 -0
  232. package/dist/src/nile-icon/icons/svg/ng-chevron-left.d.ts +5 -0
  233. package/dist/src/nile-icon/icons/svg/ng-chevron-left.js +5 -0
  234. package/dist/src/nile-icon/icons/svg/ng-chevron-left.js.map +1 -0
  235. package/dist/src/nile-icon/icons/svg/ng-chevron-right.d.ts +5 -0
  236. package/dist/src/nile-icon/icons/svg/ng-chevron-right.js +5 -0
  237. package/dist/src/nile-icon/icons/svg/ng-chevron-right.js.map +1 -0
  238. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.d.ts +5 -0
  239. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js +5 -0
  240. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js.map +1 -0
  241. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.d.ts +5 -0
  242. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js +5 -0
  243. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js.map +1 -0
  244. package/dist/src/nile-icon/icons/svg/ng-chevron-up.d.ts +5 -0
  245. package/dist/src/nile-icon/icons/svg/ng-chevron-up.js +5 -0
  246. package/dist/src/nile-icon/icons/svg/ng-chevron-up.js.map +1 -0
  247. package/dist/src/nile-icon/icons/svg/ng-copy-03.d.ts +5 -0
  248. package/dist/src/nile-icon/icons/svg/ng-copy-03.js +5 -0
  249. package/dist/src/nile-icon/icons/svg/ng-copy-03.js.map +1 -0
  250. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.d.ts +5 -0
  251. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.js +5 -0
  252. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.js.map +1 -0
  253. package/dist/src/nile-icon/icons/svg/ng-dots-grid.d.ts +5 -0
  254. package/dist/src/nile-icon/icons/svg/ng-dots-grid.js +5 -0
  255. package/dist/src/nile-icon/icons/svg/ng-dots-grid.js.map +1 -0
  256. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.d.ts +5 -0
  257. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js +5 -0
  258. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js.map +1 -0
  259. package/dist/src/nile-icon/icons/svg/ng-download-01.d.ts +5 -0
  260. package/dist/src/nile-icon/icons/svg/ng-download-01.js +5 -0
  261. package/dist/src/nile-icon/icons/svg/ng-download-01.js.map +1 -0
  262. package/dist/src/nile-icon/icons/svg/ng-dropdown.d.ts +5 -0
  263. package/dist/src/nile-icon/icons/svg/ng-dropdown.js +5 -0
  264. package/dist/src/nile-icon/icons/svg/ng-dropdown.js.map +1 -0
  265. package/dist/src/nile-icon/icons/svg/ng-edit-02.d.ts +5 -0
  266. package/dist/src/nile-icon/icons/svg/ng-edit-02.js +5 -0
  267. package/dist/src/nile-icon/icons/svg/ng-edit-02.js.map +1 -0
  268. package/dist/src/nile-icon/icons/svg/ng-edit-05.d.ts +5 -0
  269. package/dist/src/nile-icon/icons/svg/ng-edit-05.js +5 -0
  270. package/dist/src/nile-icon/icons/svg/ng-edit-05.js.map +1 -0
  271. package/dist/src/nile-icon/icons/svg/ng-expand-06.d.ts +5 -0
  272. package/dist/src/nile-icon/icons/svg/ng-expand-06.js +5 -0
  273. package/dist/src/nile-icon/icons/svg/ng-expand-06.js.map +1 -0
  274. package/dist/src/nile-icon/icons/svg/ng-eye-off.d.ts +5 -0
  275. package/dist/src/nile-icon/icons/svg/ng-eye-off.js +5 -0
  276. package/dist/src/nile-icon/icons/svg/ng-eye-off.js.map +1 -0
  277. package/dist/src/nile-icon/icons/svg/ng-eye.d.ts +5 -0
  278. package/dist/src/nile-icon/icons/svg/ng-eye.js +5 -0
  279. package/dist/src/nile-icon/icons/svg/ng-eye.js.map +1 -0
  280. package/dist/src/nile-icon/icons/svg/ng-file-02.d.ts +5 -0
  281. package/dist/src/nile-icon/icons/svg/ng-file-02.js +5 -0
  282. package/dist/src/nile-icon/icons/svg/ng-file-02.js.map +1 -0
  283. package/dist/src/nile-icon/icons/svg/ng-file-06.d.ts +5 -0
  284. package/dist/src/nile-icon/icons/svg/ng-file-06.js +5 -0
  285. package/dist/src/nile-icon/icons/svg/ng-file-06.js.map +1 -0
  286. package/dist/src/nile-icon/icons/svg/ng-file-check-02.d.ts +5 -0
  287. package/dist/src/nile-icon/icons/svg/ng-file-check-02.js +5 -0
  288. package/dist/src/nile-icon/icons/svg/ng-file-check-02.js.map +1 -0
  289. package/dist/src/nile-icon/icons/svg/ng-file-question-03.d.ts +5 -0
  290. package/dist/src/nile-icon/icons/svg/ng-file-question-03.js +5 -0
  291. package/dist/src/nile-icon/icons/svg/ng-file-question-03.js.map +1 -0
  292. package/dist/src/nile-icon/icons/svg/ng-filter-lines.d.ts +5 -0
  293. package/dist/src/nile-icon/icons/svg/ng-filter-lines.js +5 -0
  294. package/dist/src/nile-icon/icons/svg/ng-filter-lines.js.map +1 -0
  295. package/dist/src/nile-icon/icons/svg/ng-grid-01.d.ts +5 -0
  296. package/dist/src/nile-icon/icons/svg/ng-grid-01.js +5 -0
  297. package/dist/src/nile-icon/icons/svg/ng-grid-01.js.map +1 -0
  298. package/dist/src/nile-icon/icons/svg/ng-help-circle.d.ts +5 -0
  299. package/dist/src/nile-icon/icons/svg/ng-help-circle.js +5 -0
  300. package/dist/src/nile-icon/icons/svg/ng-help-circle.js.map +1 -0
  301. package/dist/src/nile-icon/icons/svg/ng-image-03.d.ts +5 -0
  302. package/dist/src/nile-icon/icons/svg/ng-image-03.js +5 -0
  303. package/dist/src/nile-icon/icons/svg/ng-image-03.js.map +1 -0
  304. package/dist/src/nile-icon/icons/svg/ng-image-user-left.d.ts +5 -0
  305. package/dist/src/nile-icon/icons/svg/ng-image-user-left.js +5 -0
  306. package/dist/src/nile-icon/icons/svg/ng-image-user-left.js.map +1 -0
  307. package/dist/src/nile-icon/icons/svg/ng-info-circle.d.ts +5 -0
  308. package/dist/src/nile-icon/icons/svg/ng-info-circle.js +5 -0
  309. package/dist/src/nile-icon/icons/svg/ng-info-circle.js.map +1 -0
  310. package/dist/src/nile-icon/icons/svg/ng-italic-01.d.ts +5 -0
  311. package/dist/src/nile-icon/icons/svg/ng-italic-01.js +5 -0
  312. package/dist/src/nile-icon/icons/svg/ng-italic-01.js.map +1 -0
  313. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.d.ts +5 -0
  314. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js +5 -0
  315. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js.map +1 -0
  316. package/dist/src/nile-icon/icons/svg/ng-list.d.ts +5 -0
  317. package/dist/src/nile-icon/icons/svg/ng-list.js +5 -0
  318. package/dist/src/nile-icon/icons/svg/ng-list.js.map +1 -0
  319. package/dist/src/nile-icon/icons/svg/ng-lock-03.d.ts +5 -0
  320. package/dist/src/nile-icon/icons/svg/ng-lock-03.js +5 -0
  321. package/dist/src/nile-icon/icons/svg/ng-lock-03.js.map +1 -0
  322. package/dist/src/nile-icon/icons/svg/ng-log-out-01.d.ts +5 -0
  323. package/dist/src/nile-icon/icons/svg/ng-log-out-01.js +5 -0
  324. package/dist/src/nile-icon/icons/svg/ng-log-out-01.js.map +1 -0
  325. package/dist/src/nile-icon/icons/svg/ng-mail-01.d.ts +5 -0
  326. package/dist/src/nile-icon/icons/svg/ng-mail-01.js +5 -0
  327. package/dist/src/nile-icon/icons/svg/ng-mail-01.js.map +1 -0
  328. package/dist/src/nile-icon/icons/svg/ng-mail-04.d.ts +5 -0
  329. package/dist/src/nile-icon/icons/svg/ng-mail-04.js +5 -0
  330. package/dist/src/nile-icon/icons/svg/ng-mail-04.js.map +1 -0
  331. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.d.ts +5 -0
  332. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.js +5 -0
  333. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.js.map +1 -0
  334. package/dist/src/nile-icon/icons/svg/ng-menu-05.d.ts +5 -0
  335. package/dist/src/nile-icon/icons/svg/ng-menu-05.js +5 -0
  336. package/dist/src/nile-icon/icons/svg/ng-menu-05.js.map +1 -0
  337. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.d.ts +5 -0
  338. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js +5 -0
  339. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js.map +1 -0
  340. package/dist/src/nile-icon/icons/svg/ng-minimize-02.d.ts +5 -0
  341. package/dist/src/nile-icon/icons/svg/ng-minimize-02.js +5 -0
  342. package/dist/src/nile-icon/icons/svg/ng-minimize-02.js.map +1 -0
  343. package/dist/src/nile-icon/icons/svg/ng-minus.d.ts +5 -0
  344. package/dist/src/nile-icon/icons/svg/ng-minus.js +5 -0
  345. package/dist/src/nile-icon/icons/svg/ng-minus.js.map +1 -0
  346. package/dist/src/nile-icon/icons/svg/ng-plus.d.ts +5 -0
  347. package/dist/src/nile-icon/icons/svg/ng-plus.js +5 -0
  348. package/dist/src/nile-icon/icons/svg/ng-plus.js.map +1 -0
  349. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.d.ts +5 -0
  350. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js +5 -0
  351. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js.map +1 -0
  352. package/dist/src/nile-icon/icons/svg/ng-rocket-02.d.ts +5 -0
  353. package/dist/src/nile-icon/icons/svg/ng-rocket-02.js +5 -0
  354. package/dist/src/nile-icon/icons/svg/ng-rocket-02.js.map +1 -0
  355. package/dist/src/nile-icon/icons/svg/ng-search-lg.d.ts +5 -0
  356. package/dist/src/nile-icon/icons/svg/ng-search-lg.js +5 -0
  357. package/dist/src/nile-icon/icons/svg/ng-search-lg.js.map +1 -0
  358. package/dist/src/nile-icon/icons/svg/ng-send-01.d.ts +5 -0
  359. package/dist/src/nile-icon/icons/svg/ng-send-01.js +5 -0
  360. package/dist/src/nile-icon/icons/svg/ng-send-01.js.map +1 -0
  361. package/dist/src/nile-icon/icons/svg/ng-settings-01.d.ts +5 -0
  362. package/dist/src/nile-icon/icons/svg/ng-settings-01.js +5 -0
  363. package/dist/src/nile-icon/icons/svg/ng-settings-01.js.map +1 -0
  364. package/dist/src/nile-icon/icons/svg/ng-share-04.d.ts +5 -0
  365. package/dist/src/nile-icon/icons/svg/ng-share-04.js +5 -0
  366. package/dist/src/nile-icon/icons/svg/ng-share-04.js.map +1 -0
  367. package/dist/src/nile-icon/icons/svg/ng-share-06.d.ts +5 -0
  368. package/dist/src/nile-icon/icons/svg/ng-share-06.js +5 -0
  369. package/dist/src/nile-icon/icons/svg/ng-share-06.js.map +1 -0
  370. package/dist/src/nile-icon/icons/svg/ng-stars-02.d.ts +5 -0
  371. package/dist/src/nile-icon/icons/svg/ng-stars-02.js +5 -0
  372. package/dist/src/nile-icon/icons/svg/ng-stars-02.js.map +1 -0
  373. package/dist/src/nile-icon/icons/svg/ng-trash-01.d.ts +5 -0
  374. package/dist/src/nile-icon/icons/svg/ng-trash-01.js +5 -0
  375. package/dist/src/nile-icon/icons/svg/ng-trash-01.js.map +1 -0
  376. package/dist/src/nile-icon/icons/svg/ng-trash-03.d.ts +5 -0
  377. package/dist/src/nile-icon/icons/svg/ng-trash-03.js +5 -0
  378. package/dist/src/nile-icon/icons/svg/ng-trash-03.js.map +1 -0
  379. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.d.ts +5 -0
  380. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js +5 -0
  381. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js.map +1 -0
  382. package/dist/src/nile-icon/icons/svg/ng-underline-01.d.ts +5 -0
  383. package/dist/src/nile-icon/icons/svg/ng-underline-01.js +5 -0
  384. package/dist/src/nile-icon/icons/svg/ng-underline-01.js.map +1 -0
  385. package/dist/src/nile-icon/icons/svg/ng-upload-01.d.ts +5 -0
  386. package/dist/src/nile-icon/icons/svg/ng-upload-01.js +5 -0
  387. package/dist/src/nile-icon/icons/svg/ng-upload-01.js.map +1 -0
  388. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.d.ts +5 -0
  389. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js +5 -0
  390. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js.map +1 -0
  391. package/dist/src/nile-icon/icons/svg/ng-user-01.d.ts +5 -0
  392. package/dist/src/nile-icon/icons/svg/ng-user-01.js +5 -0
  393. package/dist/src/nile-icon/icons/svg/ng-user-01.js.map +1 -0
  394. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.d.ts +5 -0
  395. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js +5 -0
  396. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js.map +1 -0
  397. package/dist/src/nile-icon/icons/svg/ng-user-check-02.d.ts +5 -0
  398. package/dist/src/nile-icon/icons/svg/ng-user-check-02.js +5 -0
  399. package/dist/src/nile-icon/icons/svg/ng-user-check-02.js.map +1 -0
  400. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.d.ts +5 -0
  401. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js +5 -0
  402. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js.map +1 -0
  403. package/dist/src/nile-icon/icons/svg/ng-user-right-01.d.ts +5 -0
  404. package/dist/src/nile-icon/icons/svg/ng-user-right-01.js +5 -0
  405. package/dist/src/nile-icon/icons/svg/ng-user-right-01.js.map +1 -0
  406. package/dist/src/nile-icon/icons/svg/ng-users-01.d.ts +5 -0
  407. package/dist/src/nile-icon/icons/svg/ng-users-01.js +5 -0
  408. package/dist/src/nile-icon/icons/svg/ng-users-01.js.map +1 -0
  409. package/dist/src/nile-icon/icons/svg/ng-x-circle.d.ts +5 -0
  410. package/dist/src/nile-icon/icons/svg/ng-x-circle.js +5 -0
  411. package/dist/src/nile-icon/icons/svg/ng-x-circle.js.map +1 -0
  412. package/dist/src/nile-icon/icons/svg/ng-x-close.d.ts +5 -0
  413. package/dist/src/nile-icon/icons/svg/ng-x-close.js +5 -0
  414. package/dist/src/nile-icon/icons/svg/ng-x-close.js.map +1 -0
  415. package/dist/src/nile-icon/icons/svg/ng-x-square.d.ts +5 -0
  416. package/dist/src/nile-icon/icons/svg/ng-x-square.js +5 -0
  417. package/dist/src/nile-icon/icons/svg/ng-x-square.js.map +1 -0
  418. package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +75 -0
  419. package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +22 -0
  420. package/dist/src/nile-select/nile-select.d.ts +2 -0
  421. package/dist/src/nile-select/nile-select.js +8 -2
  422. package/dist/src/nile-select/nile-select.js.map +1 -1
  423. package/dist/src/nile-select/virtual-scroll-helper.js +1 -0
  424. package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -1
  425. package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +9 -0
  426. package/dist/src/nile-table-body/virtual-scroll-helper.js +24 -0
  427. package/dist/src/nile-table-body/virtual-scroll-helper.js.map +1 -0
  428. package/dist/src/nile-virtual-select/nile-virtual-select.css.js +18 -0
  429. package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +1 -1
  430. package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +18 -1
  431. package/dist/src/nile-virtual-select/nile-virtual-select.js +106 -21
  432. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
  433. package/dist/src/nile-virtual-select/renderer.d.ts +2 -2
  434. package/dist/src/nile-virtual-select/renderer.js +9 -8
  435. package/dist/src/nile-virtual-select/renderer.js.map +1 -1
  436. package/dist/src/nile-virtual-select/selection-manager.js +1 -1
  437. package/dist/src/nile-virtual-select/selection-manager.js.map +1 -1
  438. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.d.ts +273 -0
  439. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js +1305 -0
  440. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js.map +1 -0
  441. package/dist/src/nile-virtual-select/virtualizer-error-handler.d.ts +21 -0
  442. package/dist/src/nile-virtual-select/virtualizer-error-handler.js +56 -0
  443. package/dist/src/nile-virtual-select/virtualizer-error-handler.js.map +1 -0
  444. package/dist/src/nile-virtual-table-body/index.d.ts +2 -0
  445. package/dist/src/nile-virtual-table-body/index.js +3 -0
  446. package/dist/src/nile-virtual-table-body/index.js.map +1 -0
  447. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +1 -0
  448. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +44 -0
  449. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +1 -0
  450. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +50 -0
  451. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +135 -0
  452. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +1 -0
  453. package/dist/src/nile-virtual-table-body/renderer.d.ts +16 -0
  454. package/dist/src/nile-virtual-table-body/renderer.js +49 -0
  455. package/dist/src/nile-virtual-table-body/renderer.js.map +1 -0
  456. package/dist/tsconfig.tsbuildinfo +1 -1
  457. package/package.json +1 -1
  458. package/src/nile-select/nile-select.ts +6 -2
  459. package/src/nile-select/virtual-scroll-helper.ts +1 -0
  460. package/src/nile-virtual-select/nile-virtual-select.css.ts +18 -0
  461. package/src/nile-virtual-select/nile-virtual-select.ts +121 -25
  462. package/src/nile-virtual-select/renderer.ts +10 -8
  463. package/src/nile-virtual-select/selection-manager.ts +1 -1
  464. package/vscode-html-custom-data.json +28 -2
@@ -8,8 +8,9 @@ import '../nile-icon';
8
8
  import '../nile-popup/nile-popup';
9
9
  import '../nile-tag/nile-tag';
10
10
  import '../nile-checkbox/nile-checkbox';
11
+ import '../nile-loader/nile-loader';
11
12
  import NileElement from '../internal/nile-element';
12
- import type { CSSResultGroup, TemplateResult } from 'lit';
13
+ import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
13
14
  import type { NileFormControl } from '../internal/nile-element';
14
15
  import type NilePopup from '../nile-popup/nile-popup';
15
16
  import type { VirtualOption, RenderItemConfig } from './types.js';
@@ -45,6 +46,10 @@ import type { VirtualOption, RenderItemConfig } from './types.js';
45
46
  * @event nile-hide - Emitted when the select's menu closes.
46
47
  * @event nile-after-hide - Emitted after the select's menu closes and all animations are complete.
47
48
  * @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.
49
+ * @event nile-search - Emitted when the user types in the search input. The event payload includes the search query for backend search functionality.
50
+ * @event nile-scroll - Emitted when the user scrolls within the virtualized container. The event payload includes scroll position information.
51
+ * @event nile-scroll-start - Emitted when the user starts scrolling within the virtualized container.
52
+ * @event nile-scroll-end - Emitted when the user stops scrolling and reaches the bottom of the virtualized container (debounced).
48
53
  *
49
54
  * @csspart form-control - The form control that wraps the label, input, and help text.
50
55
  * @csspart form-control-label - The label's wrapper.
@@ -72,6 +77,8 @@ export declare class NileVirtualSelect extends NileElement implements NileFormCo
72
77
  displayLabel: string;
73
78
  selectedOptions: VirtualOption[];
74
79
  oldValue: string | string[];
80
+ private scrollTimeout;
81
+ private scrolling;
75
82
  /** The name of the select, submitted as a name/value pair with form data. */
76
83
  name: string;
77
84
  /** Array of all option items for virtual scrolling */
@@ -98,6 +105,8 @@ export declare class NileVirtualSelect extends NileElement implements NileFormCo
98
105
  disableLocalSearch: boolean;
99
106
  /** Show loading state */
100
107
  optionsLoading: boolean;
108
+ /** Show loading state using nile-loader */
109
+ loading: boolean;
101
110
  /** Allows more than one option to be selected. */
102
111
  multiple: boolean;
103
112
  /** Help text */
@@ -164,6 +173,7 @@ export declare class NileVirtualSelect extends NileElement implements NileFormCo
164
173
  get validationMessage(): string;
165
174
  connectedCallback(): void;
166
175
  disconnectedCallback(): void;
176
+ protected updated(changedProperties: PropertyValues): void;
167
177
  private initializeComponent;
168
178
  /**
169
179
  * Get display text for an item using renderItemConfig
@@ -190,6 +200,12 @@ export declare class NileVirtualSelect extends NileElement implements NileFormCo
190
200
  private isEnterOrSpaceKey;
191
201
  private handleEnterOrSpaceKey;
192
202
  private handleDocumentMouseDown;
203
+ /**
204
+ * This is a workaround for an error in the Lit Labs virtualizer.
205
+ * Since there are no specific guidelines available to fix the issue,
206
+ * we are catching only the error message related to the virtualizer.
207
+ */
208
+ private handleWindowError;
193
209
  private handleFooterClick;
194
210
  private toggleShowSelected;
195
211
  private unSelectAll;
@@ -212,6 +228,7 @@ export declare class NileVirtualSelect extends NileElement implements NileFormCo
212
228
  handleSearchFocus(): void;
213
229
  handleSearchBlur(): void;
214
230
  handleSearchChange(e: any): void;
231
+ handleScroll(e: Event): void;
215
232
  filterVirtualOptions(searchValue: string): void;
216
233
  private handleInvalid;
217
234
  handleDisabledChange(): void;
@@ -12,6 +12,7 @@ import '../nile-icon';
12
12
  import '../nile-popup/nile-popup';
13
13
  import '../nile-tag/nile-tag';
14
14
  import '../nile-checkbox/nile-checkbox';
15
+ import '../nile-loader/nile-loader';
15
16
  import { animateTo, stopAnimations } from '../internal/animate';
16
17
  import { classMap } from 'lit/directives/class-map.js';
17
18
  import { query, state } from 'lit/decorators.js';
@@ -58,6 +59,10 @@ import { VirtualSelectRenderer } from './renderer.js';
58
59
  * @event nile-hide - Emitted when the select's menu closes.
59
60
  * @event nile-after-hide - Emitted after the select's menu closes and all animations are complete.
60
61
  * @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.
62
+ * @event nile-search - Emitted when the user types in the search input. The event payload includes the search query for backend search functionality.
63
+ * @event nile-scroll - Emitted when the user scrolls within the virtualized container. The event payload includes scroll position information.
64
+ * @event nile-scroll-start - Emitted when the user starts scrolling within the virtualized container.
65
+ * @event nile-scroll-end - Emitted when the user stops scrolling and reaches the bottom of the virtualized container (debounced).
61
66
  *
62
67
  * @csspart form-control - The form control that wraps the label, input, and help text.
63
68
  * @csspart form-control-label - The label's wrapper.
@@ -84,6 +89,7 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
84
89
  this.displayLabel = '';
85
90
  this.selectedOptions = [];
86
91
  this.oldValue = '';
92
+ this.scrolling = false;
87
93
  /** The name of the select, submitted as a name/value pair with form data. */
88
94
  this.name = '';
89
95
  /** Array of all option items for virtual scrolling */
@@ -110,6 +116,8 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
110
116
  this.disableLocalSearch = false;
111
117
  /** Show loading state */
112
118
  this.optionsLoading = false;
119
+ /** Show loading state using nile-loader */
120
+ this.loading = false;
113
121
  /** Allows more than one option to be selected. */
114
122
  this.multiple = false;
115
123
  /** Help text */
@@ -178,6 +186,18 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
178
186
  this.hide();
179
187
  }
180
188
  };
189
+ /**
190
+ * This is a workaround for an error in the Lit Labs virtualizer.
191
+ * Since there are no specific guidelines available to fix the issue,
192
+ * we are catching only the error message related to the virtualizer.
193
+ */
194
+ this.handleWindowError = (event) => {
195
+ const errorMessage = event.error?.message || event.message || '';
196
+ if (errorMessage.includes('Cannot read properties of null (reading \'insertBefore\')')) {
197
+ event.preventDefault();
198
+ return;
199
+ }
200
+ };
181
201
  }
182
202
  /** Gets the validity state object */
183
203
  get validity() {
@@ -199,6 +219,16 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
199
219
  }
200
220
  disconnectedCallback() {
201
221
  this.removeOpenListeners();
222
+ // Clear any pending scroll timeout to prevent memory leaks
223
+ if (this.scrollTimeout) {
224
+ clearTimeout(this.scrollTimeout);
225
+ this.scrollTimeout = undefined;
226
+ }
227
+ }
228
+ updated(changedProperties) {
229
+ if (changedProperties.has('value')) {
230
+ this.selectionChanged();
231
+ }
202
232
  }
203
233
  initializeComponent() {
204
234
  this.open = false;
@@ -236,16 +266,19 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
236
266
  this.handleDocumentFocusIn = this.handleDocumentFocusIn.bind(this);
237
267
  this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);
238
268
  this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);
269
+ this.handleWindowError = this.handleWindowError.bind(this);
239
270
  }
240
271
  addOpenListeners() {
241
272
  document.addEventListener('focusin', this.handleDocumentFocusIn);
242
273
  document.addEventListener('keydown', this.handleDocumentKeyDown);
243
274
  document.addEventListener('mousedown', this.handleDocumentMouseDown);
275
+ window.addEventListener('error', this.handleWindowError);
244
276
  }
245
277
  removeOpenListeners() {
246
278
  document.removeEventListener('focusin', this.handleDocumentFocusIn);
247
279
  document.removeEventListener('keydown', this.handleDocumentKeyDown);
248
280
  document.removeEventListener('mousedown', this.handleDocumentMouseDown);
281
+ window.removeEventListener('error', this.handleWindowError);
249
282
  }
250
283
  handleFocus() {
251
284
  this.hasFocus = true;
@@ -319,7 +352,10 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
319
352
  this.showSelected = !this.showSelected;
320
353
  if (this.showSelected) {
321
354
  const selectedValues = Array.isArray(this.value) ? this.value : [this.value];
322
- this.data = this.originalOptionItems.filter((item) => selectedValues.includes(item.value));
355
+ this.data = this.originalOptionItems.filter((item) => {
356
+ const itemValue = this.getItemValue(item);
357
+ return selectedValues.some(val => String(val) === String(itemValue));
358
+ });
323
359
  }
324
360
  else {
325
361
  this.data = [...this.originalOptionItems];
@@ -483,11 +519,49 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
483
519
  }
484
520
  handleSearchChange(e) {
485
521
  this.searchValue = e.detail.value;
522
+ this.emit('nile-search', {
523
+ query: this.searchValue,
524
+ name: this.name
525
+ });
486
526
  if (!this.disableLocalSearch) {
487
527
  this.filterVirtualOptions(this.searchValue);
488
528
  this.resetScrollPosition();
489
529
  }
490
530
  }
531
+ handleScroll(e) {
532
+ if (this.showSelected) {
533
+ return;
534
+ }
535
+ const target = e.target;
536
+ this.emit('nile-scroll', {
537
+ scrollTop: target.scrollTop,
538
+ scrollLeft: target.scrollLeft,
539
+ name: this.name
540
+ });
541
+ if (!this.scrolling) {
542
+ this.scrolling = true;
543
+ this.emit('nile-scroll-start', {
544
+ scrollTop: target.scrollTop,
545
+ scrollLeft: target.scrollLeft,
546
+ name: this.name
547
+ });
548
+ }
549
+ clearTimeout(this.scrollTimeout);
550
+ this.scrollTimeout = window.setTimeout(() => {
551
+ if (this.scrolling) {
552
+ this.scrolling = false;
553
+ }
554
+ }, 300);
555
+ const isAtBottom = Math.ceil(target.scrollTop) >= Math.floor(target.scrollHeight - target.offsetHeight);
556
+ if (isAtBottom) {
557
+ this.emit('nile-scroll-end', {
558
+ scrollTop: target.scrollTop,
559
+ scrollLeft: target.scrollLeft,
560
+ name: this.name,
561
+ isAtBottom: true
562
+ });
563
+ }
564
+ }
491
565
  filterVirtualOptions(searchValue) {
492
566
  const result = VirtualSelectSearchManager.filterVirtualOptions(searchValue, this.originalOptionItems, this.data, this.getDisplayText.bind(this), this.renderItemConfig?.getSearchText);
493
567
  this.data = result.filteredItems;
@@ -510,18 +584,18 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
510
584
  this.requestUpdate();
511
585
  }
512
586
  handleDataChange() {
587
+ if (this.data.length > 0 && this.open && !this.showSelected && !this.searchValue) {
588
+ this.originalOptionItems = [...this.data];
589
+ }
513
590
  this.selectionChanged();
514
591
  // Show no results message when data is empty and not loading
515
- if (!this.optionsLoading && this.data.length === 0) {
592
+ if (!this.optionsLoading && !this.loading && this.data.length === 0) {
516
593
  this.showNoResults = true;
517
594
  }
518
595
  else if (this.data.length > 0) {
519
596
  this.showNoResults = false;
520
597
  }
521
598
  this.requestUpdate();
522
- if (this.open) {
523
- this.resetScrollPosition();
524
- }
525
599
  }
526
600
  handleRenderItemConfigChange() {
527
601
  if (this.value && this.data.length > 0) {
@@ -572,7 +646,7 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
572
646
  this.emit('nile-after-hide', { value: this.value, name: this.name });
573
647
  }
574
648
  initializeOriginalItems() {
575
- if (this.originalOptionItems.length === 0 && this.data.length > 0) {
649
+ if (this.data.length > 0) {
576
650
  this.originalOptionItems = [...this.data];
577
651
  }
578
652
  }
@@ -915,23 +989,31 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
915
989
  : html ``;
916
990
  }
917
991
  renderLoader() {
918
- return this.optionsLoading
919
- ? html `
920
- <span part="loader" class="select__loader">
921
- <nile-icon
922
- class="select__loader--icon"
923
- name="button-loading-blue"
924
- ></nile-icon>
925
- </span>
926
- `
927
- : html ``;
992
+ if (this.loading) {
993
+ return html `
994
+ <span part="loader" class="virtual-select-loader">
995
+ <nile-loader size="sm"></nile-loader>
996
+ </span>
997
+ `;
998
+ }
999
+ if (this.optionsLoading) {
1000
+ return html `
1001
+ <span part="loader" class="select__loader">
1002
+ <nile-icon
1003
+ class="select__loader--icon"
1004
+ name="button-loading-blue"
1005
+ ></nile-icon>
1006
+ </span>
1007
+ `;
1008
+ }
1009
+ return html ``;
928
1010
  }
929
1011
  renderFooter() {
930
1012
  return this.multiple
931
1013
  ? html `
932
1014
  <div
933
1015
  part="footer"
934
- class="select__footer"
1016
+ class="select__footer ${this.loading ? 'loading' : ''}"
935
1017
  @click="${this.handleFooterClick}"
936
1018
  >
937
1019
  <span
@@ -974,7 +1056,7 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
974
1056
  `;
975
1057
  }
976
1058
  getVirtualizedContent() {
977
- return VirtualSelectRenderer.getVirtualizedContent(this.data, this.searchEnabled, this.getDisplayText.bind(this), this.value, this.multiple, this.renderItemConfig?.getDisplayText, this.renderItemConfig?.getValue, this.showNoResults, this.noResultsMessage, this.optionsLoading);
1059
+ return VirtualSelectRenderer.getVirtualizedContent(this.data, this.searchEnabled, this.getDisplayText.bind(this), this.value, this.multiple, this.renderItemConfig?.getDisplayText, this.renderItemConfig?.getValue, this.showNoResults, this.noResultsMessage, this.optionsLoading || this.loading, this.handleScroll.bind(this));
978
1060
  }
979
1061
  nileInput(value) {
980
1062
  this.emit('nile-input', value);
@@ -1034,14 +1116,14 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
1034
1116
  }
1035
1117
  resetScrollPosition() {
1036
1118
  this.updateComplete.then(() => {
1037
- if (this.virtualizedContainer) {
1119
+ if (this.virtualizedContainer && this.virtualizedContainer.isConnected) {
1038
1120
  this.virtualizedContainer.scrollTop = 0;
1039
1121
  const listbox = this.shadowRoot?.querySelector('.select__listbox');
1040
- if (listbox) {
1122
+ if (listbox && listbox.isConnected) {
1041
1123
  listbox.scrollTop = 0;
1042
1124
  }
1043
1125
  const virtualizer = this.virtualizedContainer.querySelector('lit-virtualizer');
1044
- if (virtualizer) {
1126
+ if (virtualizer && virtualizer.isConnected) {
1045
1127
  virtualizer.scrollTop = 0;
1046
1128
  }
1047
1129
  }
@@ -1114,6 +1196,9 @@ __decorate([
1114
1196
  __decorate([
1115
1197
  property({ type: Boolean, reflect: true })
1116
1198
  ], NileVirtualSelect.prototype, "optionsLoading", void 0);
1199
+ __decorate([
1200
+ property({ type: Boolean, reflect: true, attribute: true })
1201
+ ], NileVirtualSelect.prototype, "loading", void 0);
1117
1202
  __decorate([
1118
1203
  property({ type: Boolean, reflect: true })
1119
1204
  ], NileVirtualSelect.prototype, "multiple", void 0);