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

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 (446) hide show
  1. package/demo/index.html +107 -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 +10 -5
  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.esm.js +1 -1
  23. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  24. package/dist/nile-card/nile-card.test.esm.js +1 -1
  25. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  26. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  27. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  28. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  29. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  30. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  31. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  32. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  33. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  34. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  35. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  36. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  37. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  38. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  39. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  40. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  41. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  42. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  43. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  44. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  45. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  46. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  47. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  48. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  49. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  50. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  51. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  52. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  53. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  54. package/dist/nile-input/nile-input.test.esm.js +1 -1
  55. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  56. package/dist/nile-link/nile-link.test.esm.js +1 -1
  57. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  58. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  59. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  60. package/dist/nile-popover/nile-popover.test.esm.js +1 -1
  61. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  62. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  63. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  64. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  65. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  66. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  67. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  68. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  69. package/dist/nile-select/nile-select.cjs.js +1 -1
  70. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  71. package/dist/nile-select/nile-select.esm.js +1 -1
  72. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  73. package/dist/nile-select/nile-select.test.esm.js +1 -1
  74. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  75. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  76. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  77. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  78. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  79. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  80. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +1 -1
  81. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  82. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +1 -1
  83. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +1 -1
  84. package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +4 -0
  85. package/dist/nile-virtual-select/nile-virtual-select.esm.js +2 -2
  86. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  87. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  88. package/dist/nile-virtual-select/renderer.cjs.js +1 -1
  89. package/dist/nile-virtual-select/renderer.cjs.js.map +1 -1
  90. package/dist/nile-virtual-select/renderer.esm.js +4 -3
  91. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js +2 -0
  92. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js.map +1 -0
  93. package/dist/nile-virtual-select/temp_nile-virtual-select copy.esm.js +231 -0
  94. package/dist/src/internal/resizable-helper.d.ts +59 -0
  95. package/dist/src/internal/resizable-helper.js +115 -0
  96. package/dist/src/internal/resizable-helper.js.map +1 -0
  97. package/dist/src/internal/resizable-styles.d.ts +16 -0
  98. package/dist/src/internal/resizable-styles.js +144 -0
  99. package/dist/src/internal/resizable-styles.js.map +1 -0
  100. package/dist/src/internal/virtualizer-error-handler.d.ts +30 -0
  101. package/dist/src/internal/virtualizer-error-handler.js +82 -0
  102. package/dist/src/internal/virtualizer-error-handler.js.map +1 -0
  103. package/dist/src/lib/index.d.ts +7 -0
  104. package/dist/src/lib/index.js +8 -0
  105. package/dist/src/lib/index.js.map +1 -0
  106. package/dist/src/lib/virtualize.d.ts +32 -0
  107. package/dist/src/lib/virtualize.js +105 -0
  108. package/dist/src/lib/virtualize.js.map +1 -0
  109. package/dist/src/lib/virtualize.test.d.ts +7 -0
  110. package/dist/src/lib/virtualize.test.js +57 -0
  111. package/dist/src/lib/virtualize.test.js.map +1 -0
  112. package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +17 -0
  113. package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +310 -0
  114. package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +34 -0
  115. package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +31 -0
  116. package/dist/src/nile-grid/data-processor.d.ts +37 -0
  117. package/dist/src/nile-grid/data-processor.js +122 -0
  118. package/dist/src/nile-grid/data-processor.js.map +1 -0
  119. package/dist/src/nile-grid/event-handlers.d.ts +35 -0
  120. package/dist/src/nile-grid/event-handlers.js +158 -0
  121. package/dist/src/nile-grid/event-handlers.js.map +1 -0
  122. package/dist/src/nile-grid/index.d.ts +5 -0
  123. package/dist/src/nile-grid/index.js +6 -0
  124. package/dist/src/nile-grid/index.js.map +1 -0
  125. package/dist/src/nile-grid/nile-grid.css.d.ts +1 -0
  126. package/dist/src/nile-grid/nile-grid.css.js +120 -0
  127. package/dist/src/nile-grid/nile-grid.css.js.map +1 -0
  128. package/dist/src/nile-grid/nile-grid.d.ts +39 -0
  129. package/dist/src/nile-grid/nile-grid.js +182 -0
  130. package/dist/src/nile-grid/nile-grid.js.map +1 -0
  131. package/dist/src/nile-grid/renderer.d.ts +8 -0
  132. package/dist/src/nile-grid/renderer.js +78 -0
  133. package/dist/src/nile-grid/renderer.js.map +1 -0
  134. package/dist/src/nile-grid/resize-handler.d.ts +4 -0
  135. package/dist/src/nile-grid/resize-handler.js +36 -0
  136. package/dist/src/nile-grid/resize-handler.js.map +1 -0
  137. package/dist/src/nile-grid/types.d.ts +32 -0
  138. package/dist/src/nile-grid/types.js +2 -0
  139. package/dist/src/nile-grid/types.js.map +1 -0
  140. package/dist/src/nile-grid/utils.d.ts +4 -0
  141. package/dist/src/nile-grid/utils.js +32 -0
  142. package/dist/src/nile-grid/utils.js.map +1 -0
  143. package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +47 -0
  144. package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +16 -0
  145. package/dist/src/nile-icon/icons/svg/ng-action.d.ts +5 -0
  146. package/dist/src/nile-icon/icons/svg/ng-action.js +5 -0
  147. package/dist/src/nile-icon/icons/svg/ng-action.js.map +1 -0
  148. package/dist/src/nile-icon/icons/svg/ng-activity.d.ts +5 -0
  149. package/dist/src/nile-icon/icons/svg/ng-activity.js +5 -0
  150. package/dist/src/nile-icon/icons/svg/ng-activity.js.map +1 -0
  151. package/dist/src/nile-icon/icons/svg/ng-alert-circle.d.ts +5 -0
  152. package/dist/src/nile-icon/icons/svg/ng-alert-circle.js +5 -0
  153. package/dist/src/nile-icon/icons/svg/ng-alert-circle.js.map +1 -0
  154. package/dist/src/nile-icon/icons/svg/ng-align-center.d.ts +5 -0
  155. package/dist/src/nile-icon/icons/svg/ng-align-center.js +5 -0
  156. package/dist/src/nile-icon/icons/svg/ng-align-center.js.map +1 -0
  157. package/dist/src/nile-icon/icons/svg/ng-annotation-x.d.ts +5 -0
  158. package/dist/src/nile-icon/icons/svg/ng-annotation-x.js +5 -0
  159. package/dist/src/nile-icon/icons/svg/ng-annotation-x.js.map +1 -0
  160. package/dist/src/nile-icon/icons/svg/ng-arrow-down.d.ts +5 -0
  161. package/dist/src/nile-icon/icons/svg/ng-arrow-down.js +5 -0
  162. package/dist/src/nile-icon/icons/svg/ng-arrow-down.js.map +1 -0
  163. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.d.ts +5 -0
  164. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js +5 -0
  165. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js.map +1 -0
  166. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.d.ts +5 -0
  167. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js +5 -0
  168. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js.map +1 -0
  169. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.d.ts +5 -0
  170. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.js +5 -0
  171. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.js.map +1 -0
  172. package/dist/src/nile-icon/icons/svg/ng-arrow-up.d.ts +5 -0
  173. package/dist/src/nile-icon/icons/svg/ng-arrow-up.js +5 -0
  174. package/dist/src/nile-icon/icons/svg/ng-arrow-up.js.map +1 -0
  175. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.d.ts +5 -0
  176. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js +5 -0
  177. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js.map +1 -0
  178. package/dist/src/nile-icon/icons/svg/ng-bell-01.d.ts +5 -0
  179. package/dist/src/nile-icon/icons/svg/ng-bell-01.js +5 -0
  180. package/dist/src/nile-icon/icons/svg/ng-bell-01.js.map +1 -0
  181. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.d.ts +5 -0
  182. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js +5 -0
  183. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js.map +1 -0
  184. package/dist/src/nile-icon/icons/svg/ng-bold-01.d.ts +5 -0
  185. package/dist/src/nile-icon/icons/svg/ng-bold-01.js +5 -0
  186. package/dist/src/nile-icon/icons/svg/ng-bold-01.js.map +1 -0
  187. package/dist/src/nile-icon/icons/svg/ng-building-01.d.ts +5 -0
  188. package/dist/src/nile-icon/icons/svg/ng-building-01.js +5 -0
  189. package/dist/src/nile-icon/icons/svg/ng-building-01.js.map +1 -0
  190. package/dist/src/nile-icon/icons/svg/ng-building-05.d.ts +5 -0
  191. package/dist/src/nile-icon/icons/svg/ng-building-05.js +5 -0
  192. package/dist/src/nile-icon/icons/svg/ng-building-05.js.map +1 -0
  193. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.d.ts +5 -0
  194. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.js +5 -0
  195. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.js.map +1 -0
  196. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.d.ts +5 -0
  197. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.js +5 -0
  198. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.js.map +1 -0
  199. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.d.ts +5 -0
  200. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js +5 -0
  201. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js.map +1 -0
  202. package/dist/src/nile-icon/icons/svg/ng-calendar.d.ts +5 -0
  203. package/dist/src/nile-icon/icons/svg/ng-calendar.js +5 -0
  204. package/dist/src/nile-icon/icons/svg/ng-calendar.js.map +1 -0
  205. package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.d.ts +5 -0
  206. package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.js +5 -0
  207. package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.js.map +1 -0
  208. package/dist/src/nile-icon/icons/svg/ng-check-circle.d.ts +5 -0
  209. package/dist/src/nile-icon/icons/svg/ng-check-circle.js +5 -0
  210. package/dist/src/nile-icon/icons/svg/ng-check-circle.js.map +1 -0
  211. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.d.ts +5 -0
  212. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js +5 -0
  213. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js.map +1 -0
  214. package/dist/src/nile-icon/icons/svg/ng-check.d.ts +5 -0
  215. package/dist/src/nile-icon/icons/svg/ng-check.js +5 -0
  216. package/dist/src/nile-icon/icons/svg/ng-check.js.map +1 -0
  217. package/dist/src/nile-icon/icons/svg/ng-chevron-down.d.ts +5 -0
  218. package/dist/src/nile-icon/icons/svg/ng-chevron-down.js +5 -0
  219. package/dist/src/nile-icon/icons/svg/ng-chevron-down.js.map +1 -0
  220. package/dist/src/nile-icon/icons/svg/ng-chevron-left.d.ts +5 -0
  221. package/dist/src/nile-icon/icons/svg/ng-chevron-left.js +5 -0
  222. package/dist/src/nile-icon/icons/svg/ng-chevron-left.js.map +1 -0
  223. package/dist/src/nile-icon/icons/svg/ng-chevron-right.d.ts +5 -0
  224. package/dist/src/nile-icon/icons/svg/ng-chevron-right.js +5 -0
  225. package/dist/src/nile-icon/icons/svg/ng-chevron-right.js.map +1 -0
  226. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.d.ts +5 -0
  227. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js +5 -0
  228. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js.map +1 -0
  229. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.d.ts +5 -0
  230. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js +5 -0
  231. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js.map +1 -0
  232. package/dist/src/nile-icon/icons/svg/ng-chevron-up.d.ts +5 -0
  233. package/dist/src/nile-icon/icons/svg/ng-chevron-up.js +5 -0
  234. package/dist/src/nile-icon/icons/svg/ng-chevron-up.js.map +1 -0
  235. package/dist/src/nile-icon/icons/svg/ng-copy-03.d.ts +5 -0
  236. package/dist/src/nile-icon/icons/svg/ng-copy-03.js +5 -0
  237. package/dist/src/nile-icon/icons/svg/ng-copy-03.js.map +1 -0
  238. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.d.ts +5 -0
  239. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.js +5 -0
  240. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.js.map +1 -0
  241. package/dist/src/nile-icon/icons/svg/ng-dots-grid.d.ts +5 -0
  242. package/dist/src/nile-icon/icons/svg/ng-dots-grid.js +5 -0
  243. package/dist/src/nile-icon/icons/svg/ng-dots-grid.js.map +1 -0
  244. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.d.ts +5 -0
  245. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js +5 -0
  246. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js.map +1 -0
  247. package/dist/src/nile-icon/icons/svg/ng-download-01.d.ts +5 -0
  248. package/dist/src/nile-icon/icons/svg/ng-download-01.js +5 -0
  249. package/dist/src/nile-icon/icons/svg/ng-download-01.js.map +1 -0
  250. package/dist/src/nile-icon/icons/svg/ng-dropdown.d.ts +5 -0
  251. package/dist/src/nile-icon/icons/svg/ng-dropdown.js +5 -0
  252. package/dist/src/nile-icon/icons/svg/ng-dropdown.js.map +1 -0
  253. package/dist/src/nile-icon/icons/svg/ng-edit-02.d.ts +5 -0
  254. package/dist/src/nile-icon/icons/svg/ng-edit-02.js +5 -0
  255. package/dist/src/nile-icon/icons/svg/ng-edit-02.js.map +1 -0
  256. package/dist/src/nile-icon/icons/svg/ng-edit-05.d.ts +5 -0
  257. package/dist/src/nile-icon/icons/svg/ng-edit-05.js +5 -0
  258. package/dist/src/nile-icon/icons/svg/ng-edit-05.js.map +1 -0
  259. package/dist/src/nile-icon/icons/svg/ng-expand-06.d.ts +5 -0
  260. package/dist/src/nile-icon/icons/svg/ng-expand-06.js +5 -0
  261. package/dist/src/nile-icon/icons/svg/ng-expand-06.js.map +1 -0
  262. package/dist/src/nile-icon/icons/svg/ng-eye-off.d.ts +5 -0
  263. package/dist/src/nile-icon/icons/svg/ng-eye-off.js +5 -0
  264. package/dist/src/nile-icon/icons/svg/ng-eye-off.js.map +1 -0
  265. package/dist/src/nile-icon/icons/svg/ng-eye.d.ts +5 -0
  266. package/dist/src/nile-icon/icons/svg/ng-eye.js +5 -0
  267. package/dist/src/nile-icon/icons/svg/ng-eye.js.map +1 -0
  268. package/dist/src/nile-icon/icons/svg/ng-file-02.d.ts +5 -0
  269. package/dist/src/nile-icon/icons/svg/ng-file-02.js +5 -0
  270. package/dist/src/nile-icon/icons/svg/ng-file-02.js.map +1 -0
  271. package/dist/src/nile-icon/icons/svg/ng-file-06.d.ts +5 -0
  272. package/dist/src/nile-icon/icons/svg/ng-file-06.js +5 -0
  273. package/dist/src/nile-icon/icons/svg/ng-file-06.js.map +1 -0
  274. package/dist/src/nile-icon/icons/svg/ng-file-check-02.d.ts +5 -0
  275. package/dist/src/nile-icon/icons/svg/ng-file-check-02.js +5 -0
  276. package/dist/src/nile-icon/icons/svg/ng-file-check-02.js.map +1 -0
  277. package/dist/src/nile-icon/icons/svg/ng-file-question-03.d.ts +5 -0
  278. package/dist/src/nile-icon/icons/svg/ng-file-question-03.js +5 -0
  279. package/dist/src/nile-icon/icons/svg/ng-file-question-03.js.map +1 -0
  280. package/dist/src/nile-icon/icons/svg/ng-filter-lines.d.ts +5 -0
  281. package/dist/src/nile-icon/icons/svg/ng-filter-lines.js +5 -0
  282. package/dist/src/nile-icon/icons/svg/ng-filter-lines.js.map +1 -0
  283. package/dist/src/nile-icon/icons/svg/ng-grid-01.d.ts +5 -0
  284. package/dist/src/nile-icon/icons/svg/ng-grid-01.js +5 -0
  285. package/dist/src/nile-icon/icons/svg/ng-grid-01.js.map +1 -0
  286. package/dist/src/nile-icon/icons/svg/ng-help-circle.d.ts +5 -0
  287. package/dist/src/nile-icon/icons/svg/ng-help-circle.js +5 -0
  288. package/dist/src/nile-icon/icons/svg/ng-help-circle.js.map +1 -0
  289. package/dist/src/nile-icon/icons/svg/ng-image-03.d.ts +5 -0
  290. package/dist/src/nile-icon/icons/svg/ng-image-03.js +5 -0
  291. package/dist/src/nile-icon/icons/svg/ng-image-03.js.map +1 -0
  292. package/dist/src/nile-icon/icons/svg/ng-image-user-left.d.ts +5 -0
  293. package/dist/src/nile-icon/icons/svg/ng-image-user-left.js +5 -0
  294. package/dist/src/nile-icon/icons/svg/ng-image-user-left.js.map +1 -0
  295. package/dist/src/nile-icon/icons/svg/ng-info-circle.d.ts +5 -0
  296. package/dist/src/nile-icon/icons/svg/ng-info-circle.js +5 -0
  297. package/dist/src/nile-icon/icons/svg/ng-info-circle.js.map +1 -0
  298. package/dist/src/nile-icon/icons/svg/ng-italic-01.d.ts +5 -0
  299. package/dist/src/nile-icon/icons/svg/ng-italic-01.js +5 -0
  300. package/dist/src/nile-icon/icons/svg/ng-italic-01.js.map +1 -0
  301. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.d.ts +5 -0
  302. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js +5 -0
  303. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js.map +1 -0
  304. package/dist/src/nile-icon/icons/svg/ng-list.d.ts +5 -0
  305. package/dist/src/nile-icon/icons/svg/ng-list.js +5 -0
  306. package/dist/src/nile-icon/icons/svg/ng-list.js.map +1 -0
  307. package/dist/src/nile-icon/icons/svg/ng-lock-03.d.ts +5 -0
  308. package/dist/src/nile-icon/icons/svg/ng-lock-03.js +5 -0
  309. package/dist/src/nile-icon/icons/svg/ng-lock-03.js.map +1 -0
  310. package/dist/src/nile-icon/icons/svg/ng-log-out-01.d.ts +5 -0
  311. package/dist/src/nile-icon/icons/svg/ng-log-out-01.js +5 -0
  312. package/dist/src/nile-icon/icons/svg/ng-log-out-01.js.map +1 -0
  313. package/dist/src/nile-icon/icons/svg/ng-mail-01.d.ts +5 -0
  314. package/dist/src/nile-icon/icons/svg/ng-mail-01.js +5 -0
  315. package/dist/src/nile-icon/icons/svg/ng-mail-01.js.map +1 -0
  316. package/dist/src/nile-icon/icons/svg/ng-mail-04.d.ts +5 -0
  317. package/dist/src/nile-icon/icons/svg/ng-mail-04.js +5 -0
  318. package/dist/src/nile-icon/icons/svg/ng-mail-04.js.map +1 -0
  319. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.d.ts +5 -0
  320. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.js +5 -0
  321. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.js.map +1 -0
  322. package/dist/src/nile-icon/icons/svg/ng-menu-05.d.ts +5 -0
  323. package/dist/src/nile-icon/icons/svg/ng-menu-05.js +5 -0
  324. package/dist/src/nile-icon/icons/svg/ng-menu-05.js.map +1 -0
  325. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.d.ts +5 -0
  326. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js +5 -0
  327. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js.map +1 -0
  328. package/dist/src/nile-icon/icons/svg/ng-minimize-02.d.ts +5 -0
  329. package/dist/src/nile-icon/icons/svg/ng-minimize-02.js +5 -0
  330. package/dist/src/nile-icon/icons/svg/ng-minimize-02.js.map +1 -0
  331. package/dist/src/nile-icon/icons/svg/ng-minus.d.ts +5 -0
  332. package/dist/src/nile-icon/icons/svg/ng-minus.js +5 -0
  333. package/dist/src/nile-icon/icons/svg/ng-minus.js.map +1 -0
  334. package/dist/src/nile-icon/icons/svg/ng-plus.d.ts +5 -0
  335. package/dist/src/nile-icon/icons/svg/ng-plus.js +5 -0
  336. package/dist/src/nile-icon/icons/svg/ng-plus.js.map +1 -0
  337. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.d.ts +5 -0
  338. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js +5 -0
  339. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js.map +1 -0
  340. package/dist/src/nile-icon/icons/svg/ng-rocket-02.d.ts +5 -0
  341. package/dist/src/nile-icon/icons/svg/ng-rocket-02.js +5 -0
  342. package/dist/src/nile-icon/icons/svg/ng-rocket-02.js.map +1 -0
  343. package/dist/src/nile-icon/icons/svg/ng-search-lg.d.ts +5 -0
  344. package/dist/src/nile-icon/icons/svg/ng-search-lg.js +5 -0
  345. package/dist/src/nile-icon/icons/svg/ng-search-lg.js.map +1 -0
  346. package/dist/src/nile-icon/icons/svg/ng-send-01.d.ts +5 -0
  347. package/dist/src/nile-icon/icons/svg/ng-send-01.js +5 -0
  348. package/dist/src/nile-icon/icons/svg/ng-send-01.js.map +1 -0
  349. package/dist/src/nile-icon/icons/svg/ng-settings-01.d.ts +5 -0
  350. package/dist/src/nile-icon/icons/svg/ng-settings-01.js +5 -0
  351. package/dist/src/nile-icon/icons/svg/ng-settings-01.js.map +1 -0
  352. package/dist/src/nile-icon/icons/svg/ng-share-04.d.ts +5 -0
  353. package/dist/src/nile-icon/icons/svg/ng-share-04.js +5 -0
  354. package/dist/src/nile-icon/icons/svg/ng-share-04.js.map +1 -0
  355. package/dist/src/nile-icon/icons/svg/ng-share-06.d.ts +5 -0
  356. package/dist/src/nile-icon/icons/svg/ng-share-06.js +5 -0
  357. package/dist/src/nile-icon/icons/svg/ng-share-06.js.map +1 -0
  358. package/dist/src/nile-icon/icons/svg/ng-stars-02.d.ts +5 -0
  359. package/dist/src/nile-icon/icons/svg/ng-stars-02.js +5 -0
  360. package/dist/src/nile-icon/icons/svg/ng-stars-02.js.map +1 -0
  361. package/dist/src/nile-icon/icons/svg/ng-trash-01.d.ts +5 -0
  362. package/dist/src/nile-icon/icons/svg/ng-trash-01.js +5 -0
  363. package/dist/src/nile-icon/icons/svg/ng-trash-01.js.map +1 -0
  364. package/dist/src/nile-icon/icons/svg/ng-trash-03.d.ts +5 -0
  365. package/dist/src/nile-icon/icons/svg/ng-trash-03.js +5 -0
  366. package/dist/src/nile-icon/icons/svg/ng-trash-03.js.map +1 -0
  367. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.d.ts +5 -0
  368. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js +5 -0
  369. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js.map +1 -0
  370. package/dist/src/nile-icon/icons/svg/ng-underline-01.d.ts +5 -0
  371. package/dist/src/nile-icon/icons/svg/ng-underline-01.js +5 -0
  372. package/dist/src/nile-icon/icons/svg/ng-underline-01.js.map +1 -0
  373. package/dist/src/nile-icon/icons/svg/ng-upload-01.d.ts +5 -0
  374. package/dist/src/nile-icon/icons/svg/ng-upload-01.js +5 -0
  375. package/dist/src/nile-icon/icons/svg/ng-upload-01.js.map +1 -0
  376. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.d.ts +5 -0
  377. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js +5 -0
  378. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js.map +1 -0
  379. package/dist/src/nile-icon/icons/svg/ng-user-01.d.ts +5 -0
  380. package/dist/src/nile-icon/icons/svg/ng-user-01.js +5 -0
  381. package/dist/src/nile-icon/icons/svg/ng-user-01.js.map +1 -0
  382. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.d.ts +5 -0
  383. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js +5 -0
  384. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js.map +1 -0
  385. package/dist/src/nile-icon/icons/svg/ng-user-check-02.d.ts +5 -0
  386. package/dist/src/nile-icon/icons/svg/ng-user-check-02.js +5 -0
  387. package/dist/src/nile-icon/icons/svg/ng-user-check-02.js.map +1 -0
  388. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.d.ts +5 -0
  389. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js +5 -0
  390. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js.map +1 -0
  391. package/dist/src/nile-icon/icons/svg/ng-user-right-01.d.ts +5 -0
  392. package/dist/src/nile-icon/icons/svg/ng-user-right-01.js +5 -0
  393. package/dist/src/nile-icon/icons/svg/ng-user-right-01.js.map +1 -0
  394. package/dist/src/nile-icon/icons/svg/ng-users-01.d.ts +5 -0
  395. package/dist/src/nile-icon/icons/svg/ng-users-01.js +5 -0
  396. package/dist/src/nile-icon/icons/svg/ng-users-01.js.map +1 -0
  397. package/dist/src/nile-icon/icons/svg/ng-x-circle.d.ts +5 -0
  398. package/dist/src/nile-icon/icons/svg/ng-x-circle.js +5 -0
  399. package/dist/src/nile-icon/icons/svg/ng-x-circle.js.map +1 -0
  400. package/dist/src/nile-icon/icons/svg/ng-x-close.d.ts +5 -0
  401. package/dist/src/nile-icon/icons/svg/ng-x-close.js +5 -0
  402. package/dist/src/nile-icon/icons/svg/ng-x-close.js.map +1 -0
  403. package/dist/src/nile-icon/icons/svg/ng-x-square.d.ts +5 -0
  404. package/dist/src/nile-icon/icons/svg/ng-x-square.js +5 -0
  405. package/dist/src/nile-icon/icons/svg/ng-x-square.js.map +1 -0
  406. package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +75 -0
  407. package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +22 -0
  408. package/dist/src/nile-select/nile-select.js +3 -2
  409. package/dist/src/nile-select/nile-select.js.map +1 -1
  410. package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +9 -0
  411. package/dist/src/nile-table-body/virtual-scroll-helper.js +24 -0
  412. package/dist/src/nile-table-body/virtual-scroll-helper.js.map +1 -0
  413. package/dist/src/nile-virtual-select/nile-virtual-select.css.js +4 -0
  414. package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +1 -1
  415. package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +10 -1
  416. package/dist/src/nile-virtual-select/nile-virtual-select.js +71 -9
  417. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
  418. package/dist/src/nile-virtual-select/renderer.d.ts +2 -2
  419. package/dist/src/nile-virtual-select/renderer.js +6 -5
  420. package/dist/src/nile-virtual-select/renderer.js.map +1 -1
  421. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.d.ts +273 -0
  422. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js +1305 -0
  423. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js.map +1 -0
  424. package/dist/src/nile-virtual-select/virtualizer-error-handler.d.ts +21 -0
  425. package/dist/src/nile-virtual-select/virtualizer-error-handler.js +56 -0
  426. package/dist/src/nile-virtual-select/virtualizer-error-handler.js.map +1 -0
  427. package/dist/src/nile-virtual-table-body/index.d.ts +2 -0
  428. package/dist/src/nile-virtual-table-body/index.js +3 -0
  429. package/dist/src/nile-virtual-table-body/index.js.map +1 -0
  430. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +1 -0
  431. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +44 -0
  432. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +1 -0
  433. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +50 -0
  434. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +135 -0
  435. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +1 -0
  436. package/dist/src/nile-virtual-table-body/renderer.d.ts +16 -0
  437. package/dist/src/nile-virtual-table-body/renderer.js +49 -0
  438. package/dist/src/nile-virtual-table-body/renderer.js.map +1 -0
  439. package/dist/tsconfig.tsbuildinfo +1 -1
  440. package/package.json +1 -1
  441. package/src/nile-select/nile-select.ts +3 -2
  442. package/src/nile-virtual-select/nile-virtual-select.css.ts +4 -0
  443. package/src/nile-virtual-select/nile-virtual-select.ts +86 -11
  444. package/src/nile-virtual-select/renderer.ts +7 -5
  445. package/src/nile-virtual-select/temp_nile-virtual-select copy.ts +1398 -0
  446. package/vscode-html-custom-data.json +246 -1
@@ -1 +1 @@
1
- {"version":3,"file":"nile-virtual-select.css.js","sourceRoot":"","sources":["../../../src/nile-virtual-select/nile-virtual-select.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4dxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {css} from 'lit';\n\n/**\n * Select_2 CSS\n */\nexport const styles = css`\n :host {\n box-sizing: border-box;\n }\n\n .virtualized{\n min-width: 110px;\n width: 100%;\n }\n\n .virtualized ::slotted(nile-option),\n .virtualized nile-option {\n width: 100%;\n display: block;\n }\n\n /* Ensure proper sizing for non-virtualized options (small datasets) */\n .virtualized:not(:has(lit-virtualizer)) {\n display: flex;\n flex-direction: column;\n }\n\n .virtualized:not(:has(lit-virtualizer)) nile-option {\n flex-shrink: 0;\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none !important;\n }\n\n .form-control .form-control__label {\n display: none;\n }\n\n .form-control .form-control__help-text {\n display: none;\n }\n\n /* Label */\n .form-control--has-label .form-control__label {\n display: block;\n margin-bottom: 6px;\n color: var(--nile-colors-dark-900);\n font-family: Colfax-regular;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n letter-spacing: 0.2px;\n }\n\n .form-control--has-label.form-control--medium .form-control__label {\n font-size: 14px;\n }\n\n :host([required]) .form-control--has-label .form-control__label::after {\n content: '*';\n margin-inline-start: -2px;\n color: var(--nile-colors-red-700);\n }\n\n /* Help text */\n .form-control--has-help-text .form-control__help-text {\n display: block;\n color: var(--nile-colors-dark-500);\n margin-top: 0.75rem;\n }\n\n .form-control--has-help-text.form-control--medium .form-control__help-text {\n font-size: 0.875rem;\n }\n\n .form-control--has-help-text.form-control--radio-group\n .form-control__help-text {\n margin-top: 0.25rem;\n }\n\n :host {\n display: block;\n }\n\n /** The popup */\n .select {\n flex: 1 1 auto;\n display: inline-flex;\n width: 100%;\n position: relative;\n vertical-align: middle;\n }\n\n .select::part(popup) {\n z-index: 9999;\n }\n\n .select[data-current-placement^='top']::part(popup) {\n transform-origin: bottom;\n }\n\n .select[data-current-placement^='bottom']::part(popup) {\n transform-origin: top;\n }\n\n /* Combobox */\n .select__combobox {\n flex: 1;\n display: flex;\n width: 100%;\n min-width: 0;\n position: relative;\n align-items: center;\n justify-content: start;\n font-family: var(--nile-font-family-sans-serif);\n font-weight: 400;\n letter-spacing: normal;\n vertical-align: middle;\n overflow: hidden;\n cursor: pointer;\n transition: 150ms color, 150ms border, 150ms box-shadow,\n 150ms background-color;\n }\n\n .select__display-input {\n position: relative;\n width: 100%;\n font: inherit;\n border: none;\n background: none;\n color: var(--nile-colors-dark-900);\n cursor: inherit;\n overflow: hidden;\n padding: 0;\n margin: 0;\n -webkit-appearance: none;\n font-family: var(--nile-font-family-serif);\n }\n\n .select__display-input::placeholder {\n font-family: var(--nile-font-family-serif);\n }\n\n .select:not(.select--disabled):hover .select__display-input {\n color: var(--nile-colors-dark-900);\n }\n\n .select__display-input:focus {\n outline: none;\n }\n\n /* Visually hide the display input when multiple is enabled */\n .select--multiple:not(.select--placeholder-visible) .select__display-input {\n position: absolute;\n z-index: -1;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n }\n\n .select__value-input {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: -1;\n }\n\n .select__tags {\n display: flex;\n flex: 1;\n align-items: center;\n flex-wrap: no-wrap;\n margin-inline-start: 0.5rem;\n width: 100%;\n overflow: hidden;\n }\n\n .select__tags-count {\n color: var(--nile-colors-primary-600);\n font-family: Colfax-regular;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 14px;\n letter-spacing: 0.2px;\n margin: 6px;\n }\n\n .select__tags-count-clearable {\n margin-right: 50px;\n }\n\n .select__tags::slotted(nile-tag) {\n cursor: pointer !important;\n }\n\n .select--disabled .select__tags,\n .select--disabled .select__tags::slotted(nile-tag) {\n cursor: not-allowed !important;\n }\n\n /* Standard selects */\n .select--standard .select__combobox {\n background-color: var(--nile-colors-white-base);\n border: solid 1px var(--nile-colors-neutral-500);\n }\n\n .select--standard .select__combobox:hover {\n border: 1px solid var(--nile-colors-dark-900);\n background: var(--nile-colors-white-base);\n }\n\n .select--standard.select--disabled .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n border-color: var(--nile-colors-neutral-500);\n color: var(--nile-colors-dark-500);\n opacity: 0.5;\n cursor: not-allowed;\n outline: none;\n }\n\n .select--standard:not(.select--disabled).select--open .select__combobox,\n .select--standard:not(.select--disabled).select--focused .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n }\n\n .select--warning .select__combobox {\n border-color: var(--nile-colors-yellow-500);\n }\n\n .select--error .select__combobox {\n border-color: var(--nile-colors-red-500);\n }\n\n .select--success {\n border-color: var(--nile-colors-green-500);\n }\n\n /* Filled selects */\n .select--filled .select__combobox {\n border: none;\n background-color: var(--nile-colors-neutral-100);\n color: var(--nile-colors-dark-900);\n }\n\n .select--filled:hover:not(.select--disabled) .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n }\n\n .select--filled.select--disabled .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .select--filled:not(.select--disabled).select--open .select__combobox,\n .select--filled:not(.select--disabled).select--focused .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n outline: 3px solid rgba(0, 89, 255, 0.4);\n }\n\n .select--medium .select__combobox {\n border-radius: 4px;\n font-size: 14px;\n padding: 12px;\n height: 40px;\n box-sizing: border-box;\n }\n\n .select--medium .select__clear {\n margin-inline-start: 0.75rem;\n }\n\n .select--medium .select__prefix::slotted(*) {\n margin-inline-end: 0.75rem;\n }\n\n .select--medium .select__prefix.multiple::slotted(*) {\n margin-inline-start: 0.75rem;\n }\n\n .select--medium.select--multiple:not(.select--placeholder-visible)\n .select__combobox {\n padding-inline-start: 0;\n }\n\n .select--medium .select__tags {\n gap: 3px;\n }\n\n /* Pills */\n .select--pill.select--medium .select__combobox {\n border-radius: 2.5rem;\n }\n\n /* Prefix */\n .select__prefix {\n flex: 0;\n display: inline-flex;\n align-items: center;\n color: var(--nile-colors-dark-500);\n }\n\n .select__suffix {\n flex: 0;\n display: inline-flex;\n align-items: center;\n color: var(--nile-colors-dark-500);\n }\n\n /* Clear button */\n .select__clear {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: inherit;\n color: var(--nile-colors-primary-600);\n border: none;\n background: none;\n padding: 0;\n transition: 150ms color;\n cursor: pointer;\n }\n\n .select__clear:hover {\n color: var(--nile-colors-dark-500);\n }\n\n .select__clear:focus {\n outline: none;\n }\n\n /* Expand icon */\n .select__expand-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n transition: 250ms rotate ease;\n rotate: 0;\n margin-inline-start: 0.25rem;\n }\n\n .select--open .select__expand-icon {\n rotate: -180deg;\n }\n\n /* Listbox */\n .select__listbox {\n display: block;\n position: relative;\n font-size: 1rem;\n font-weight: 400;\n background: var(--nile-colors-white-base);\n border: solid 1px var(--nile-colors-neutral-500);\n border-radius: 0.25rem;\n padding-block: 0;\n padding-inline: 0;\n overflow: auto;\n overscroll-behavior: none;\n /* Make sure it adheres to the popup's auto size */\n max-width: var(--auto-size-available-width);\n max-height: var(--auto-size-available-height);\n }\n\n .select__options {\n font-size: 14px;\n color: rgb(133, 129, 129);\n width: 100%;\n }\n\n .select__options__search-enabled {\n padding-top: 10px;\n width: 100%;\n }\n\n .select__listbox::slotted(nile-divider) {\n --spacing: 0.25rem;\n }\n\n .select__listbox::slotted(small) {\n font-size: 0.875rem;\n font-weight: 600;\n color: var(--nile-colors-dark-500);\n padding-block: 0.25rem;\n padding-inline: 1rem;\n }\n\n .select__search {\n position: sticky;\n top: 0px;\n z-index: 1;\n width: calc(100% - 16px);\n padding: 8px;\n background-color: white;\n margin-bottom: -8px;\n }\n\n .select__footer {\n position: sticky;\n bottom: 0px;\n background: var(--nile-colors-neutral-100);\n border: 1px solid var(--nile-colors-neutral-400);\n display: flex;\n height: 15px;\n /* Auto layout */\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 8px 12px 16px;\n gap: 12px;\n justify-content: space-between;\n }\n\n .tag__prefix[slot='prefix'] {\n height: 14px;\n display: inline-block;\n overflow: hidden;\n }\n\n .tag__prefix[slot='prefix'] img {\n max-height: 100%;\n }\n\n .select__loader {\n width: 100%;\n text-align: center;\n display: block;\n }\n\n .select__loader--icon {\n margin-top: 20px;\n animation: spin 0.6s linear infinite;\n }\n\n .select__no-results {\n padding: 10px;\n }\n\n @keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .select__invisible{\n opacity: 0;\n }\n\n .select__prefix--from-options {\n margin-inline-end: 12px;\n }\n \n .select__hide-default{\n display: none;\n }\n\n .virtualized nile-option[selected] {\n background-color: var(--nile-colors-neutral-100);\n }\n\n .virtualized nile-option[selected]::part(base) {\n color: var(--nile-colors-primary-600);\n }\n`;\n\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-virtual-select.css.js","sourceRoot":"","sources":["../../../src/nile-virtual-select/nile-virtual-select.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgexB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {css} from 'lit';\n\n/**\n * Select_2 CSS\n */\nexport const styles = css`\n :host {\n box-sizing: border-box;\n }\n\n .virtualized{\n min-width: 110px;\n width: 100%;\n }\n\n .virtualized ::slotted(nile-option),\n .virtualized nile-option {\n width: 100%;\n display: block;\n }\n\n /* Ensure proper sizing for non-virtualized options (small datasets) */\n .virtualized:not(:has(lit-virtualizer)) {\n display: flex;\n flex-direction: column;\n }\n\n .virtualized div[virtualizer-sizer] {\n display: none !important;\n }\n\n .virtualized:not(:has(lit-virtualizer)) nile-option {\n flex-shrink: 0;\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none !important;\n }\n\n .form-control .form-control__label {\n display: none;\n }\n\n .form-control .form-control__help-text {\n display: none;\n }\n\n /* Label */\n .form-control--has-label .form-control__label {\n display: block;\n margin-bottom: 6px;\n color: var(--nile-colors-dark-900);\n font-family: Colfax-regular;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n letter-spacing: 0.2px;\n }\n\n .form-control--has-label.form-control--medium .form-control__label {\n font-size: 14px;\n }\n\n :host([required]) .form-control--has-label .form-control__label::after {\n content: '*';\n margin-inline-start: -2px;\n color: var(--nile-colors-red-700);\n }\n\n /* Help text */\n .form-control--has-help-text .form-control__help-text {\n display: block;\n color: var(--nile-colors-dark-500);\n margin-top: 0.75rem;\n }\n\n .form-control--has-help-text.form-control--medium .form-control__help-text {\n font-size: 0.875rem;\n }\n\n .form-control--has-help-text.form-control--radio-group\n .form-control__help-text {\n margin-top: 0.25rem;\n }\n\n :host {\n display: block;\n }\n\n /** The popup */\n .select {\n flex: 1 1 auto;\n display: inline-flex;\n width: 100%;\n position: relative;\n vertical-align: middle;\n }\n\n .select::part(popup) {\n z-index: 9999;\n }\n\n .select[data-current-placement^='top']::part(popup) {\n transform-origin: bottom;\n }\n\n .select[data-current-placement^='bottom']::part(popup) {\n transform-origin: top;\n }\n\n /* Combobox */\n .select__combobox {\n flex: 1;\n display: flex;\n width: 100%;\n min-width: 0;\n position: relative;\n align-items: center;\n justify-content: start;\n font-family: var(--nile-font-family-sans-serif);\n font-weight: 400;\n letter-spacing: normal;\n vertical-align: middle;\n overflow: hidden;\n cursor: pointer;\n transition: 150ms color, 150ms border, 150ms box-shadow,\n 150ms background-color;\n }\n\n .select__display-input {\n position: relative;\n width: 100%;\n font: inherit;\n border: none;\n background: none;\n color: var(--nile-colors-dark-900);\n cursor: inherit;\n overflow: hidden;\n padding: 0;\n margin: 0;\n -webkit-appearance: none;\n font-family: var(--nile-font-family-serif);\n }\n\n .select__display-input::placeholder {\n font-family: var(--nile-font-family-serif);\n }\n\n .select:not(.select--disabled):hover .select__display-input {\n color: var(--nile-colors-dark-900);\n }\n\n .select__display-input:focus {\n outline: none;\n }\n\n /* Visually hide the display input when multiple is enabled */\n .select--multiple:not(.select--placeholder-visible) .select__display-input {\n position: absolute;\n z-index: -1;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n }\n\n .select__value-input {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: -1;\n }\n\n .select__tags {\n display: flex;\n flex: 1;\n align-items: center;\n flex-wrap: no-wrap;\n margin-inline-start: 0.5rem;\n width: 100%;\n overflow: hidden;\n }\n\n .select__tags-count {\n color: var(--nile-colors-primary-600);\n font-family: Colfax-regular;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 14px;\n letter-spacing: 0.2px;\n margin: 6px;\n }\n\n .select__tags-count-clearable {\n margin-right: 50px;\n }\n\n .select__tags::slotted(nile-tag) {\n cursor: pointer !important;\n }\n\n .select--disabled .select__tags,\n .select--disabled .select__tags::slotted(nile-tag) {\n cursor: not-allowed !important;\n }\n\n /* Standard selects */\n .select--standard .select__combobox {\n background-color: var(--nile-colors-white-base);\n border: solid 1px var(--nile-colors-neutral-500);\n }\n\n .select--standard .select__combobox:hover {\n border: 1px solid var(--nile-colors-dark-900);\n background: var(--nile-colors-white-base);\n }\n\n .select--standard.select--disabled .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n border-color: var(--nile-colors-neutral-500);\n color: var(--nile-colors-dark-500);\n opacity: 0.5;\n cursor: not-allowed;\n outline: none;\n }\n\n .select--standard:not(.select--disabled).select--open .select__combobox,\n .select--standard:not(.select--disabled).select--focused .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n }\n\n .select--warning .select__combobox {\n border-color: var(--nile-colors-yellow-500);\n }\n\n .select--error .select__combobox {\n border-color: var(--nile-colors-red-500);\n }\n\n .select--success {\n border-color: var(--nile-colors-green-500);\n }\n\n /* Filled selects */\n .select--filled .select__combobox {\n border: none;\n background-color: var(--nile-colors-neutral-100);\n color: var(--nile-colors-dark-900);\n }\n\n .select--filled:hover:not(.select--disabled) .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n }\n\n .select--filled.select--disabled .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .select--filled:not(.select--disabled).select--open .select__combobox,\n .select--filled:not(.select--disabled).select--focused .select__combobox {\n background-color: var(--nile-colors-neutral-100);\n outline: 3px solid rgba(0, 89, 255, 0.4);\n }\n\n .select--medium .select__combobox {\n border-radius: 4px;\n font-size: 14px;\n padding: 12px;\n height: 40px;\n box-sizing: border-box;\n }\n\n .select--medium .select__clear {\n margin-inline-start: 0.75rem;\n }\n\n .select--medium .select__prefix::slotted(*) {\n margin-inline-end: 0.75rem;\n }\n\n .select--medium .select__prefix.multiple::slotted(*) {\n margin-inline-start: 0.75rem;\n }\n\n .select--medium.select--multiple:not(.select--placeholder-visible)\n .select__combobox {\n padding-inline-start: 0;\n }\n\n .select--medium .select__tags {\n gap: 3px;\n }\n\n /* Pills */\n .select--pill.select--medium .select__combobox {\n border-radius: 2.5rem;\n }\n\n /* Prefix */\n .select__prefix {\n flex: 0;\n display: inline-flex;\n align-items: center;\n color: var(--nile-colors-dark-500);\n }\n\n .select__suffix {\n flex: 0;\n display: inline-flex;\n align-items: center;\n color: var(--nile-colors-dark-500);\n }\n\n /* Clear button */\n .select__clear {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: inherit;\n color: var(--nile-colors-primary-600);\n border: none;\n background: none;\n padding: 0;\n transition: 150ms color;\n cursor: pointer;\n }\n\n .select__clear:hover {\n color: var(--nile-colors-dark-500);\n }\n\n .select__clear:focus {\n outline: none;\n }\n\n /* Expand icon */\n .select__expand-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n transition: 250ms rotate ease;\n rotate: 0;\n margin-inline-start: 0.25rem;\n }\n\n .select--open .select__expand-icon {\n rotate: -180deg;\n }\n\n /* Listbox */\n .select__listbox {\n display: block;\n position: relative;\n font-size: 1rem;\n font-weight: 400;\n background: var(--nile-colors-white-base);\n border: solid 1px var(--nile-colors-neutral-500);\n border-radius: 0.25rem;\n padding-block: 0;\n padding-inline: 0;\n overflow: auto;\n overscroll-behavior: none;\n /* Make sure it adheres to the popup's auto size */\n max-width: var(--auto-size-available-width);\n max-height: var(--auto-size-available-height);\n }\n\n .select__options {\n font-size: 14px;\n color: rgb(133, 129, 129);\n width: 100%;\n }\n\n .select__options__search-enabled {\n padding-top: 10px;\n width: 100%;\n }\n\n .select__listbox::slotted(nile-divider) {\n --spacing: 0.25rem;\n }\n\n .select__listbox::slotted(small) {\n font-size: 0.875rem;\n font-weight: 600;\n color: var(--nile-colors-dark-500);\n padding-block: 0.25rem;\n padding-inline: 1rem;\n }\n\n .select__search {\n position: sticky;\n top: 0px;\n z-index: 1;\n width: calc(100% - 16px);\n padding: 8px;\n background-color: white;\n margin-bottom: -8px;\n }\n\n .select__footer {\n position: sticky;\n bottom: 0px;\n background: var(--nile-colors-neutral-100);\n border: 1px solid var(--nile-colors-neutral-400);\n display: flex;\n height: 15px;\n /* Auto layout */\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 8px 12px 16px;\n gap: 12px;\n justify-content: space-between;\n }\n\n .tag__prefix[slot='prefix'] {\n height: 14px;\n display: inline-block;\n overflow: hidden;\n }\n\n .tag__prefix[slot='prefix'] img {\n max-height: 100%;\n }\n\n .select__loader {\n width: 100%;\n text-align: center;\n display: block;\n }\n\n .select__loader--icon {\n margin-top: 20px;\n animation: spin 0.6s linear infinite;\n }\n\n .select__no-results {\n padding: 10px;\n }\n\n @keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .select__invisible{\n opacity: 0;\n }\n\n .select__prefix--from-options {\n margin-inline-end: 12px;\n }\n \n .select__hide-default{\n display: none;\n }\n\n .virtualized nile-option[selected] {\n background-color: var(--nile-colors-neutral-100);\n }\n\n .virtualized nile-option[selected]::part(base) {\n color: var(--nile-colors-primary-600);\n }\n`;\n\nexport default [styles];\n"]}
@@ -9,7 +9,7 @@ import '../nile-popup/nile-popup';
9
9
  import '../nile-tag/nile-tag';
10
10
  import '../nile-checkbox/nile-checkbox';
11
11
  import NileElement from '../internal/nile-element';
12
- import type { CSSResultGroup, TemplateResult } from 'lit';
12
+ import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
13
13
  import type { NileFormControl } from '../internal/nile-element';
14
14
  import type NilePopup from '../nile-popup/nile-popup';
15
15
  import type { VirtualOption, RenderItemConfig } from './types.js';
@@ -45,6 +45,10 @@ import type { VirtualOption, RenderItemConfig } from './types.js';
45
45
  * @event nile-hide - Emitted when the select's menu closes.
46
46
  * @event nile-after-hide - Emitted after the select's menu closes and all animations are complete.
47
47
  * @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.
48
+ * @event nile-search - Emitted when the user types in the search input. The event payload includes the search query for backend search functionality.
49
+ * @event nile-scroll - Emitted when the user scrolls within the virtualized container. The event payload includes scroll position information.
50
+ * @event nile-scroll-start - Emitted when the user starts scrolling within the virtualized container.
51
+ * @event nile-scroll-end - Emitted when the user stops scrolling and reaches the bottom of the virtualized container (debounced).
48
52
  *
49
53
  * @csspart form-control - The form control that wraps the label, input, and help text.
50
54
  * @csspart form-control-label - The label's wrapper.
@@ -72,6 +76,8 @@ export declare class NileVirtualSelect extends NileElement implements NileFormCo
72
76
  displayLabel: string;
73
77
  selectedOptions: VirtualOption[];
74
78
  oldValue: string | string[];
79
+ private scrollTimeout;
80
+ private scrolling;
75
81
  /** The name of the select, submitted as a name/value pair with form data. */
76
82
  name: string;
77
83
  /** Array of all option items for virtual scrolling */
@@ -164,6 +170,7 @@ export declare class NileVirtualSelect extends NileElement implements NileFormCo
164
170
  get validationMessage(): string;
165
171
  connectedCallback(): void;
166
172
  disconnectedCallback(): void;
173
+ protected updated(changedProperties: PropertyValues): void;
167
174
  private initializeComponent;
168
175
  /**
169
176
  * Get display text for an item using renderItemConfig
@@ -190,6 +197,7 @@ export declare class NileVirtualSelect extends NileElement implements NileFormCo
190
197
  private isEnterOrSpaceKey;
191
198
  private handleEnterOrSpaceKey;
192
199
  private handleDocumentMouseDown;
200
+ private handleWindowError;
193
201
  private handleFooterClick;
194
202
  private toggleShowSelected;
195
203
  private unSelectAll;
@@ -212,6 +220,7 @@ export declare class NileVirtualSelect extends NileElement implements NileFormCo
212
220
  handleSearchFocus(): void;
213
221
  handleSearchBlur(): void;
214
222
  handleSearchChange(e: any): void;
223
+ handleScroll(e: Event): void;
215
224
  filterVirtualOptions(searchValue: string): void;
216
225
  private handleInvalid;
217
226
  handleDisabledChange(): void;
@@ -58,6 +58,10 @@ import { VirtualSelectRenderer } from './renderer.js';
58
58
  * @event nile-hide - Emitted when the select's menu closes.
59
59
  * @event nile-after-hide - Emitted after the select's menu closes and all animations are complete.
60
60
  * @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.
61
+ * @event nile-search - Emitted when the user types in the search input. The event payload includes the search query for backend search functionality.
62
+ * @event nile-scroll - Emitted when the user scrolls within the virtualized container. The event payload includes scroll position information.
63
+ * @event nile-scroll-start - Emitted when the user starts scrolling within the virtualized container.
64
+ * @event nile-scroll-end - Emitted when the user stops scrolling and reaches the bottom of the virtualized container (debounced).
61
65
  *
62
66
  * @csspart form-control - The form control that wraps the label, input, and help text.
63
67
  * @csspart form-control-label - The label's wrapper.
@@ -84,6 +88,7 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
84
88
  this.displayLabel = '';
85
89
  this.selectedOptions = [];
86
90
  this.oldValue = '';
91
+ this.scrolling = false;
87
92
  /** The name of the select, submitted as a name/value pair with form data. */
88
93
  this.name = '';
89
94
  /** Array of all option items for virtual scrolling */
@@ -178,6 +183,13 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
178
183
  this.hide();
179
184
  }
180
185
  };
186
+ this.handleWindowError = (event) => {
187
+ const errorMessage = event.error?.message || event.message || '';
188
+ if (errorMessage.includes('Cannot read properties of null (reading \'insertBefore\')')) {
189
+ event.preventDefault();
190
+ return;
191
+ }
192
+ };
181
193
  }
182
194
  /** Gets the validity state object */
183
195
  get validity() {
@@ -199,6 +211,16 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
199
211
  }
200
212
  disconnectedCallback() {
201
213
  this.removeOpenListeners();
214
+ // Clear any pending scroll timeout to prevent memory leaks
215
+ if (this.scrollTimeout) {
216
+ clearTimeout(this.scrollTimeout);
217
+ this.scrollTimeout = undefined;
218
+ }
219
+ }
220
+ updated(changedProperties) {
221
+ if (changedProperties.has('value')) {
222
+ this.selectionChanged();
223
+ }
202
224
  }
203
225
  initializeComponent() {
204
226
  this.open = false;
@@ -236,16 +258,19 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
236
258
  this.handleDocumentFocusIn = this.handleDocumentFocusIn.bind(this);
237
259
  this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);
238
260
  this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);
261
+ this.handleWindowError = this.handleWindowError.bind(this);
239
262
  }
240
263
  addOpenListeners() {
241
264
  document.addEventListener('focusin', this.handleDocumentFocusIn);
242
265
  document.addEventListener('keydown', this.handleDocumentKeyDown);
243
266
  document.addEventListener('mousedown', this.handleDocumentMouseDown);
267
+ window.addEventListener('error', this.handleWindowError);
244
268
  }
245
269
  removeOpenListeners() {
246
270
  document.removeEventListener('focusin', this.handleDocumentFocusIn);
247
271
  document.removeEventListener('keydown', this.handleDocumentKeyDown);
248
272
  document.removeEventListener('mousedown', this.handleDocumentMouseDown);
273
+ window.removeEventListener('error', this.handleWindowError);
249
274
  }
250
275
  handleFocus() {
251
276
  this.hasFocus = true;
@@ -483,11 +508,49 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
483
508
  }
484
509
  handleSearchChange(e) {
485
510
  this.searchValue = e.detail.value;
511
+ this.emit('nile-search', {
512
+ query: this.searchValue,
513
+ name: this.name
514
+ });
486
515
  if (!this.disableLocalSearch) {
487
516
  this.filterVirtualOptions(this.searchValue);
488
517
  this.resetScrollPosition();
489
518
  }
490
519
  }
520
+ handleScroll(e) {
521
+ if (this.showSelected) {
522
+ return;
523
+ }
524
+ const target = e.target;
525
+ this.emit('nile-scroll', {
526
+ scrollTop: target.scrollTop,
527
+ scrollLeft: target.scrollLeft,
528
+ name: this.name
529
+ });
530
+ if (!this.scrolling) {
531
+ this.scrolling = true;
532
+ this.emit('nile-scroll-start', {
533
+ scrollTop: target.scrollTop,
534
+ scrollLeft: target.scrollLeft,
535
+ name: this.name
536
+ });
537
+ }
538
+ clearTimeout(this.scrollTimeout);
539
+ this.scrollTimeout = window.setTimeout(() => {
540
+ if (this.scrolling) {
541
+ this.scrolling = false;
542
+ }
543
+ }, 300);
544
+ const isAtBottom = Math.ceil(target.scrollTop) >= Math.floor(target.scrollHeight - target.offsetHeight);
545
+ if (isAtBottom) {
546
+ this.emit('nile-scroll-end', {
547
+ scrollTop: target.scrollTop,
548
+ scrollLeft: target.scrollLeft,
549
+ name: this.name,
550
+ isAtBottom: true
551
+ });
552
+ }
553
+ }
491
554
  filterVirtualOptions(searchValue) {
492
555
  const result = VirtualSelectSearchManager.filterVirtualOptions(searchValue, this.originalOptionItems, this.data, this.getDisplayText.bind(this), this.renderItemConfig?.getSearchText);
493
556
  this.data = result.filteredItems;
@@ -510,8 +573,10 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
510
573
  this.requestUpdate();
511
574
  }
512
575
  handleDataChange() {
576
+ if (this.data.length > 0 && this.open && !this.showSelected) {
577
+ this.originalOptionItems = [...this.data];
578
+ }
513
579
  this.selectionChanged();
514
- // Show no results message when data is empty and not loading
515
580
  if (!this.optionsLoading && this.data.length === 0) {
516
581
  this.showNoResults = true;
517
582
  }
@@ -519,9 +584,6 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
519
584
  this.showNoResults = false;
520
585
  }
521
586
  this.requestUpdate();
522
- if (this.open) {
523
- this.resetScrollPosition();
524
- }
525
587
  }
526
588
  handleRenderItemConfigChange() {
527
589
  if (this.value && this.data.length > 0) {
@@ -572,7 +634,7 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
572
634
  this.emit('nile-after-hide', { value: this.value, name: this.name });
573
635
  }
574
636
  initializeOriginalItems() {
575
- if (this.originalOptionItems.length === 0 && this.data.length > 0) {
637
+ if (this.data.length > 0) {
576
638
  this.originalOptionItems = [...this.data];
577
639
  }
578
640
  }
@@ -974,7 +1036,7 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
974
1036
  `;
975
1037
  }
976
1038
  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);
1039
+ 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.handleScroll.bind(this));
978
1040
  }
979
1041
  nileInput(value) {
980
1042
  this.emit('nile-input', value);
@@ -1034,14 +1096,14 @@ let NileVirtualSelect = class NileVirtualSelect extends NileElement {
1034
1096
  }
1035
1097
  resetScrollPosition() {
1036
1098
  this.updateComplete.then(() => {
1037
- if (this.virtualizedContainer) {
1099
+ if (this.virtualizedContainer && this.virtualizedContainer.isConnected) {
1038
1100
  this.virtualizedContainer.scrollTop = 0;
1039
1101
  const listbox = this.shadowRoot?.querySelector('.select__listbox');
1040
- if (listbox) {
1102
+ if (listbox && listbox.isConnected) {
1041
1103
  listbox.scrollTop = 0;
1042
1104
  }
1043
1105
  const virtualizer = this.virtualizedContainer.querySelector('lit-virtualizer');
1044
- if (virtualizer) {
1106
+ if (virtualizer && virtualizer.isConnected) {
1045
1107
  virtualizer.scrollTop = 0;
1046
1108
  }
1047
1109
  }