@aquera/nile-elements 0.1.72 → 0.1.73-beta-1.4

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 (423) hide show
  1. package/README.md +3 -0
  2. package/demo/index.html +55 -32
  3. package/dist/{fixture-3bfb4490.cjs.js → fixture-5b79f853.cjs.js} +2 -2
  4. package/dist/{fixture-3bfb4490.cjs.js.map → fixture-5b79f853.cjs.js.map} +1 -1
  5. package/dist/fixture-90b199c4.esm.js +569 -0
  6. package/dist/{fixture-8edec91c.esm.js → fixture-cf7bfcf5.esm.js} +1 -1
  7. package/dist/fixture-dbd66009.cjs.js +395 -0
  8. package/dist/fixture-dbd66009.cjs.js.map +1 -0
  9. package/dist/index.js +7 -4
  10. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  11. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  12. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  13. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  14. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  15. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  16. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  17. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  18. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  19. package/dist/nile-button/nile-button.test.esm.js +1 -1
  20. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  21. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  22. package/dist/nile-calendar/nile-calendar.test.cjs.js +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/nile-select.cjs.js +1 -1
  71. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  72. package/dist/nile-select/nile-select.esm.js +5 -4
  73. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  74. package/dist/nile-select/nile-select.test.esm.js +1 -1
  75. package/dist/nile-select/virtual-scroll-helper.cjs.js +1 -1
  76. package/dist/nile-select/virtual-scroll-helper.cjs.js.map +1 -1
  77. package/dist/nile-select/virtual-scroll-helper.esm.js +1 -0
  78. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  79. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  80. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  81. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  82. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  83. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  84. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +1 -1
  85. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  86. package/dist/nile-virtual-select/nile-virtual-select.esm.js +2 -2
  87. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  88. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  89. package/dist/nile-virtual-select/renderer.cjs.js +1 -1
  90. package/dist/nile-virtual-select/renderer.cjs.js.map +1 -1
  91. package/dist/nile-virtual-select/renderer.esm.js +2 -1
  92. package/dist/src/internal/resizable-helper.d.ts +59 -0
  93. package/dist/src/internal/resizable-helper.js +115 -0
  94. package/dist/src/internal/resizable-helper.js.map +1 -0
  95. package/dist/src/internal/resizable-styles.d.ts +16 -0
  96. package/dist/src/internal/resizable-styles.js +144 -0
  97. package/dist/src/internal/resizable-styles.js.map +1 -0
  98. package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +17 -0
  99. package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +310 -0
  100. package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +34 -0
  101. package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +31 -0
  102. package/dist/src/nile-grid/data-processor.d.ts +37 -0
  103. package/dist/src/nile-grid/data-processor.js +122 -0
  104. package/dist/src/nile-grid/data-processor.js.map +1 -0
  105. package/dist/src/nile-grid/event-handlers.d.ts +35 -0
  106. package/dist/src/nile-grid/event-handlers.js +158 -0
  107. package/dist/src/nile-grid/event-handlers.js.map +1 -0
  108. package/dist/src/nile-grid/index.d.ts +5 -0
  109. package/dist/src/nile-grid/index.js +6 -0
  110. package/dist/src/nile-grid/index.js.map +1 -0
  111. package/dist/src/nile-grid/nile-grid.css.d.ts +1 -0
  112. package/dist/src/nile-grid/nile-grid.css.js +120 -0
  113. package/dist/src/nile-grid/nile-grid.css.js.map +1 -0
  114. package/dist/src/nile-grid/nile-grid.d.ts +39 -0
  115. package/dist/src/nile-grid/nile-grid.js +182 -0
  116. package/dist/src/nile-grid/nile-grid.js.map +1 -0
  117. package/dist/src/nile-grid/renderer.d.ts +8 -0
  118. package/dist/src/nile-grid/renderer.js +78 -0
  119. package/dist/src/nile-grid/renderer.js.map +1 -0
  120. package/dist/src/nile-grid/resize-handler.d.ts +4 -0
  121. package/dist/src/nile-grid/resize-handler.js +36 -0
  122. package/dist/src/nile-grid/resize-handler.js.map +1 -0
  123. package/dist/src/nile-grid/types.d.ts +32 -0
  124. package/dist/src/nile-grid/types.js +2 -0
  125. package/dist/src/nile-grid/types.js.map +1 -0
  126. package/dist/src/nile-grid/utils.d.ts +4 -0
  127. package/dist/src/nile-grid/utils.js +32 -0
  128. package/dist/src/nile-grid/utils.js.map +1 -0
  129. package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +47 -0
  130. package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +16 -0
  131. package/dist/src/nile-icon/icons/svg/ng-action.d.ts +5 -0
  132. package/dist/src/nile-icon/icons/svg/ng-action.js +5 -0
  133. package/dist/src/nile-icon/icons/svg/ng-action.js.map +1 -0
  134. package/dist/src/nile-icon/icons/svg/ng-activity.d.ts +5 -0
  135. package/dist/src/nile-icon/icons/svg/ng-activity.js +5 -0
  136. package/dist/src/nile-icon/icons/svg/ng-activity.js.map +1 -0
  137. package/dist/src/nile-icon/icons/svg/ng-alert-circle.d.ts +5 -0
  138. package/dist/src/nile-icon/icons/svg/ng-alert-circle.js +5 -0
  139. package/dist/src/nile-icon/icons/svg/ng-alert-circle.js.map +1 -0
  140. package/dist/src/nile-icon/icons/svg/ng-align-center.d.ts +5 -0
  141. package/dist/src/nile-icon/icons/svg/ng-align-center.js +5 -0
  142. package/dist/src/nile-icon/icons/svg/ng-align-center.js.map +1 -0
  143. package/dist/src/nile-icon/icons/svg/ng-annotation-x.d.ts +5 -0
  144. package/dist/src/nile-icon/icons/svg/ng-annotation-x.js +5 -0
  145. package/dist/src/nile-icon/icons/svg/ng-annotation-x.js.map +1 -0
  146. package/dist/src/nile-icon/icons/svg/ng-arrow-down.d.ts +5 -0
  147. package/dist/src/nile-icon/icons/svg/ng-arrow-down.js +5 -0
  148. package/dist/src/nile-icon/icons/svg/ng-arrow-down.js.map +1 -0
  149. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.d.ts +5 -0
  150. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js +5 -0
  151. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js.map +1 -0
  152. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.d.ts +5 -0
  153. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js +5 -0
  154. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js.map +1 -0
  155. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.d.ts +5 -0
  156. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.js +5 -0
  157. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.js.map +1 -0
  158. package/dist/src/nile-icon/icons/svg/ng-arrow-up.d.ts +5 -0
  159. package/dist/src/nile-icon/icons/svg/ng-arrow-up.js +5 -0
  160. package/dist/src/nile-icon/icons/svg/ng-arrow-up.js.map +1 -0
  161. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.d.ts +5 -0
  162. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js +5 -0
  163. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js.map +1 -0
  164. package/dist/src/nile-icon/icons/svg/ng-bell-01.d.ts +5 -0
  165. package/dist/src/nile-icon/icons/svg/ng-bell-01.js +5 -0
  166. package/dist/src/nile-icon/icons/svg/ng-bell-01.js.map +1 -0
  167. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.d.ts +5 -0
  168. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js +5 -0
  169. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js.map +1 -0
  170. package/dist/src/nile-icon/icons/svg/ng-bold-01.d.ts +5 -0
  171. package/dist/src/nile-icon/icons/svg/ng-bold-01.js +5 -0
  172. package/dist/src/nile-icon/icons/svg/ng-bold-01.js.map +1 -0
  173. package/dist/src/nile-icon/icons/svg/ng-building-01.d.ts +5 -0
  174. package/dist/src/nile-icon/icons/svg/ng-building-01.js +5 -0
  175. package/dist/src/nile-icon/icons/svg/ng-building-01.js.map +1 -0
  176. package/dist/src/nile-icon/icons/svg/ng-building-05.d.ts +5 -0
  177. package/dist/src/nile-icon/icons/svg/ng-building-05.js +5 -0
  178. package/dist/src/nile-icon/icons/svg/ng-building-05.js.map +1 -0
  179. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.d.ts +5 -0
  180. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.js +5 -0
  181. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.js.map +1 -0
  182. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.d.ts +5 -0
  183. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.js +5 -0
  184. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.js.map +1 -0
  185. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.d.ts +5 -0
  186. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js +5 -0
  187. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js.map +1 -0
  188. package/dist/src/nile-icon/icons/svg/ng-calendar.d.ts +5 -0
  189. package/dist/src/nile-icon/icons/svg/ng-calendar.js +5 -0
  190. package/dist/src/nile-icon/icons/svg/ng-calendar.js.map +1 -0
  191. package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.d.ts +5 -0
  192. package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.js +5 -0
  193. package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.js.map +1 -0
  194. package/dist/src/nile-icon/icons/svg/ng-check-circle.d.ts +5 -0
  195. package/dist/src/nile-icon/icons/svg/ng-check-circle.js +5 -0
  196. package/dist/src/nile-icon/icons/svg/ng-check-circle.js.map +1 -0
  197. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.d.ts +5 -0
  198. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js +5 -0
  199. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js.map +1 -0
  200. package/dist/src/nile-icon/icons/svg/ng-check.d.ts +5 -0
  201. package/dist/src/nile-icon/icons/svg/ng-check.js +5 -0
  202. package/dist/src/nile-icon/icons/svg/ng-check.js.map +1 -0
  203. package/dist/src/nile-icon/icons/svg/ng-chevron-down.d.ts +5 -0
  204. package/dist/src/nile-icon/icons/svg/ng-chevron-down.js +5 -0
  205. package/dist/src/nile-icon/icons/svg/ng-chevron-down.js.map +1 -0
  206. package/dist/src/nile-icon/icons/svg/ng-chevron-left.d.ts +5 -0
  207. package/dist/src/nile-icon/icons/svg/ng-chevron-left.js +5 -0
  208. package/dist/src/nile-icon/icons/svg/ng-chevron-left.js.map +1 -0
  209. package/dist/src/nile-icon/icons/svg/ng-chevron-right.d.ts +5 -0
  210. package/dist/src/nile-icon/icons/svg/ng-chevron-right.js +5 -0
  211. package/dist/src/nile-icon/icons/svg/ng-chevron-right.js.map +1 -0
  212. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.d.ts +5 -0
  213. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js +5 -0
  214. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js.map +1 -0
  215. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.d.ts +5 -0
  216. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js +5 -0
  217. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js.map +1 -0
  218. package/dist/src/nile-icon/icons/svg/ng-chevron-up.d.ts +5 -0
  219. package/dist/src/nile-icon/icons/svg/ng-chevron-up.js +5 -0
  220. package/dist/src/nile-icon/icons/svg/ng-chevron-up.js.map +1 -0
  221. package/dist/src/nile-icon/icons/svg/ng-copy-03.d.ts +5 -0
  222. package/dist/src/nile-icon/icons/svg/ng-copy-03.js +5 -0
  223. package/dist/src/nile-icon/icons/svg/ng-copy-03.js.map +1 -0
  224. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.d.ts +5 -0
  225. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.js +5 -0
  226. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.js.map +1 -0
  227. package/dist/src/nile-icon/icons/svg/ng-dots-grid.d.ts +5 -0
  228. package/dist/src/nile-icon/icons/svg/ng-dots-grid.js +5 -0
  229. package/dist/src/nile-icon/icons/svg/ng-dots-grid.js.map +1 -0
  230. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.d.ts +5 -0
  231. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js +5 -0
  232. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js.map +1 -0
  233. package/dist/src/nile-icon/icons/svg/ng-download-01.d.ts +5 -0
  234. package/dist/src/nile-icon/icons/svg/ng-download-01.js +5 -0
  235. package/dist/src/nile-icon/icons/svg/ng-download-01.js.map +1 -0
  236. package/dist/src/nile-icon/icons/svg/ng-dropdown.d.ts +5 -0
  237. package/dist/src/nile-icon/icons/svg/ng-dropdown.js +5 -0
  238. package/dist/src/nile-icon/icons/svg/ng-dropdown.js.map +1 -0
  239. package/dist/src/nile-icon/icons/svg/ng-edit-02.d.ts +5 -0
  240. package/dist/src/nile-icon/icons/svg/ng-edit-02.js +5 -0
  241. package/dist/src/nile-icon/icons/svg/ng-edit-02.js.map +1 -0
  242. package/dist/src/nile-icon/icons/svg/ng-edit-05.d.ts +5 -0
  243. package/dist/src/nile-icon/icons/svg/ng-edit-05.js +5 -0
  244. package/dist/src/nile-icon/icons/svg/ng-edit-05.js.map +1 -0
  245. package/dist/src/nile-icon/icons/svg/ng-expand-06.d.ts +5 -0
  246. package/dist/src/nile-icon/icons/svg/ng-expand-06.js +5 -0
  247. package/dist/src/nile-icon/icons/svg/ng-expand-06.js.map +1 -0
  248. package/dist/src/nile-icon/icons/svg/ng-eye-off.d.ts +5 -0
  249. package/dist/src/nile-icon/icons/svg/ng-eye-off.js +5 -0
  250. package/dist/src/nile-icon/icons/svg/ng-eye-off.js.map +1 -0
  251. package/dist/src/nile-icon/icons/svg/ng-eye.d.ts +5 -0
  252. package/dist/src/nile-icon/icons/svg/ng-eye.js +5 -0
  253. package/dist/src/nile-icon/icons/svg/ng-eye.js.map +1 -0
  254. package/dist/src/nile-icon/icons/svg/ng-file-02.d.ts +5 -0
  255. package/dist/src/nile-icon/icons/svg/ng-file-02.js +5 -0
  256. package/dist/src/nile-icon/icons/svg/ng-file-02.js.map +1 -0
  257. package/dist/src/nile-icon/icons/svg/ng-file-06.d.ts +5 -0
  258. package/dist/src/nile-icon/icons/svg/ng-file-06.js +5 -0
  259. package/dist/src/nile-icon/icons/svg/ng-file-06.js.map +1 -0
  260. package/dist/src/nile-icon/icons/svg/ng-file-check-02.d.ts +5 -0
  261. package/dist/src/nile-icon/icons/svg/ng-file-check-02.js +5 -0
  262. package/dist/src/nile-icon/icons/svg/ng-file-check-02.js.map +1 -0
  263. package/dist/src/nile-icon/icons/svg/ng-file-question-03.d.ts +5 -0
  264. package/dist/src/nile-icon/icons/svg/ng-file-question-03.js +5 -0
  265. package/dist/src/nile-icon/icons/svg/ng-file-question-03.js.map +1 -0
  266. package/dist/src/nile-icon/icons/svg/ng-filter-lines.d.ts +5 -0
  267. package/dist/src/nile-icon/icons/svg/ng-filter-lines.js +5 -0
  268. package/dist/src/nile-icon/icons/svg/ng-filter-lines.js.map +1 -0
  269. package/dist/src/nile-icon/icons/svg/ng-grid-01.d.ts +5 -0
  270. package/dist/src/nile-icon/icons/svg/ng-grid-01.js +5 -0
  271. package/dist/src/nile-icon/icons/svg/ng-grid-01.js.map +1 -0
  272. package/dist/src/nile-icon/icons/svg/ng-help-circle.d.ts +5 -0
  273. package/dist/src/nile-icon/icons/svg/ng-help-circle.js +5 -0
  274. package/dist/src/nile-icon/icons/svg/ng-help-circle.js.map +1 -0
  275. package/dist/src/nile-icon/icons/svg/ng-image-03.d.ts +5 -0
  276. package/dist/src/nile-icon/icons/svg/ng-image-03.js +5 -0
  277. package/dist/src/nile-icon/icons/svg/ng-image-03.js.map +1 -0
  278. package/dist/src/nile-icon/icons/svg/ng-image-user-left.d.ts +5 -0
  279. package/dist/src/nile-icon/icons/svg/ng-image-user-left.js +5 -0
  280. package/dist/src/nile-icon/icons/svg/ng-image-user-left.js.map +1 -0
  281. package/dist/src/nile-icon/icons/svg/ng-info-circle.d.ts +5 -0
  282. package/dist/src/nile-icon/icons/svg/ng-info-circle.js +5 -0
  283. package/dist/src/nile-icon/icons/svg/ng-info-circle.js.map +1 -0
  284. package/dist/src/nile-icon/icons/svg/ng-italic-01.d.ts +5 -0
  285. package/dist/src/nile-icon/icons/svg/ng-italic-01.js +5 -0
  286. package/dist/src/nile-icon/icons/svg/ng-italic-01.js.map +1 -0
  287. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.d.ts +5 -0
  288. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js +5 -0
  289. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js.map +1 -0
  290. package/dist/src/nile-icon/icons/svg/ng-list.d.ts +5 -0
  291. package/dist/src/nile-icon/icons/svg/ng-list.js +5 -0
  292. package/dist/src/nile-icon/icons/svg/ng-list.js.map +1 -0
  293. package/dist/src/nile-icon/icons/svg/ng-log-out-01.d.ts +5 -0
  294. package/dist/src/nile-icon/icons/svg/ng-log-out-01.js +5 -0
  295. package/dist/src/nile-icon/icons/svg/ng-log-out-01.js.map +1 -0
  296. package/dist/src/nile-icon/icons/svg/ng-mail-01.d.ts +5 -0
  297. package/dist/src/nile-icon/icons/svg/ng-mail-01.js +5 -0
  298. package/dist/src/nile-icon/icons/svg/ng-mail-01.js.map +1 -0
  299. package/dist/src/nile-icon/icons/svg/ng-mail-04.d.ts +5 -0
  300. package/dist/src/nile-icon/icons/svg/ng-mail-04.js +5 -0
  301. package/dist/src/nile-icon/icons/svg/ng-mail-04.js.map +1 -0
  302. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.d.ts +5 -0
  303. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.js +5 -0
  304. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.js.map +1 -0
  305. package/dist/src/nile-icon/icons/svg/ng-menu-05.d.ts +5 -0
  306. package/dist/src/nile-icon/icons/svg/ng-menu-05.js +5 -0
  307. package/dist/src/nile-icon/icons/svg/ng-menu-05.js.map +1 -0
  308. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.d.ts +5 -0
  309. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js +5 -0
  310. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js.map +1 -0
  311. package/dist/src/nile-icon/icons/svg/ng-minimize-02.d.ts +5 -0
  312. package/dist/src/nile-icon/icons/svg/ng-minimize-02.js +5 -0
  313. package/dist/src/nile-icon/icons/svg/ng-minimize-02.js.map +1 -0
  314. package/dist/src/nile-icon/icons/svg/ng-minus.d.ts +5 -0
  315. package/dist/src/nile-icon/icons/svg/ng-minus.js +5 -0
  316. package/dist/src/nile-icon/icons/svg/ng-minus.js.map +1 -0
  317. package/dist/src/nile-icon/icons/svg/ng-plus.d.ts +5 -0
  318. package/dist/src/nile-icon/icons/svg/ng-plus.js +5 -0
  319. package/dist/src/nile-icon/icons/svg/ng-plus.js.map +1 -0
  320. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.d.ts +5 -0
  321. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js +5 -0
  322. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js.map +1 -0
  323. package/dist/src/nile-icon/icons/svg/ng-rocket-02.d.ts +5 -0
  324. package/dist/src/nile-icon/icons/svg/ng-rocket-02.js +5 -0
  325. package/dist/src/nile-icon/icons/svg/ng-rocket-02.js.map +1 -0
  326. package/dist/src/nile-icon/icons/svg/ng-search-lg.d.ts +5 -0
  327. package/dist/src/nile-icon/icons/svg/ng-search-lg.js +5 -0
  328. package/dist/src/nile-icon/icons/svg/ng-search-lg.js.map +1 -0
  329. package/dist/src/nile-icon/icons/svg/ng-send-01.d.ts +5 -0
  330. package/dist/src/nile-icon/icons/svg/ng-send-01.js +5 -0
  331. package/dist/src/nile-icon/icons/svg/ng-send-01.js.map +1 -0
  332. package/dist/src/nile-icon/icons/svg/ng-settings-01.d.ts +5 -0
  333. package/dist/src/nile-icon/icons/svg/ng-settings-01.js +5 -0
  334. package/dist/src/nile-icon/icons/svg/ng-settings-01.js.map +1 -0
  335. package/dist/src/nile-icon/icons/svg/ng-share-04.d.ts +5 -0
  336. package/dist/src/nile-icon/icons/svg/ng-share-04.js +5 -0
  337. package/dist/src/nile-icon/icons/svg/ng-share-04.js.map +1 -0
  338. package/dist/src/nile-icon/icons/svg/ng-share-06.d.ts +5 -0
  339. package/dist/src/nile-icon/icons/svg/ng-share-06.js +5 -0
  340. package/dist/src/nile-icon/icons/svg/ng-share-06.js.map +1 -0
  341. package/dist/src/nile-icon/icons/svg/ng-stars-02.d.ts +5 -0
  342. package/dist/src/nile-icon/icons/svg/ng-stars-02.js +5 -0
  343. package/dist/src/nile-icon/icons/svg/ng-stars-02.js.map +1 -0
  344. package/dist/src/nile-icon/icons/svg/ng-trash-01.d.ts +5 -0
  345. package/dist/src/nile-icon/icons/svg/ng-trash-01.js +5 -0
  346. package/dist/src/nile-icon/icons/svg/ng-trash-01.js.map +1 -0
  347. package/dist/src/nile-icon/icons/svg/ng-trash-03.d.ts +5 -0
  348. package/dist/src/nile-icon/icons/svg/ng-trash-03.js +5 -0
  349. package/dist/src/nile-icon/icons/svg/ng-trash-03.js.map +1 -0
  350. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.d.ts +5 -0
  351. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js +5 -0
  352. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js.map +1 -0
  353. package/dist/src/nile-icon/icons/svg/ng-underline-01.d.ts +5 -0
  354. package/dist/src/nile-icon/icons/svg/ng-underline-01.js +5 -0
  355. package/dist/src/nile-icon/icons/svg/ng-underline-01.js.map +1 -0
  356. package/dist/src/nile-icon/icons/svg/ng-upload-01.d.ts +5 -0
  357. package/dist/src/nile-icon/icons/svg/ng-upload-01.js +5 -0
  358. package/dist/src/nile-icon/icons/svg/ng-upload-01.js.map +1 -0
  359. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.d.ts +5 -0
  360. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js +5 -0
  361. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js.map +1 -0
  362. package/dist/src/nile-icon/icons/svg/ng-user-01.d.ts +5 -0
  363. package/dist/src/nile-icon/icons/svg/ng-user-01.js +5 -0
  364. package/dist/src/nile-icon/icons/svg/ng-user-01.js.map +1 -0
  365. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.d.ts +5 -0
  366. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js +5 -0
  367. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js.map +1 -0
  368. package/dist/src/nile-icon/icons/svg/ng-user-check-02.d.ts +5 -0
  369. package/dist/src/nile-icon/icons/svg/ng-user-check-02.js +5 -0
  370. package/dist/src/nile-icon/icons/svg/ng-user-check-02.js.map +1 -0
  371. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.d.ts +5 -0
  372. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js +5 -0
  373. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js.map +1 -0
  374. package/dist/src/nile-icon/icons/svg/ng-user-right-01.d.ts +5 -0
  375. package/dist/src/nile-icon/icons/svg/ng-user-right-01.js +5 -0
  376. package/dist/src/nile-icon/icons/svg/ng-user-right-01.js.map +1 -0
  377. package/dist/src/nile-icon/icons/svg/ng-users-01.d.ts +5 -0
  378. package/dist/src/nile-icon/icons/svg/ng-users-01.js +5 -0
  379. package/dist/src/nile-icon/icons/svg/ng-users-01.js.map +1 -0
  380. package/dist/src/nile-icon/icons/svg/ng-x-circle.d.ts +5 -0
  381. package/dist/src/nile-icon/icons/svg/ng-x-circle.js +5 -0
  382. package/dist/src/nile-icon/icons/svg/ng-x-circle.js.map +1 -0
  383. package/dist/src/nile-icon/icons/svg/ng-x-close.d.ts +5 -0
  384. package/dist/src/nile-icon/icons/svg/ng-x-close.js +5 -0
  385. package/dist/src/nile-icon/icons/svg/ng-x-close.js.map +1 -0
  386. package/dist/src/nile-icon/icons/svg/ng-x-square.d.ts +5 -0
  387. package/dist/src/nile-icon/icons/svg/ng-x-square.js +5 -0
  388. package/dist/src/nile-icon/icons/svg/ng-x-square.js.map +1 -0
  389. package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +75 -0
  390. package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +22 -0
  391. package/dist/src/nile-select/nile-select.d.ts +7 -0
  392. package/dist/src/nile-select/nile-select.js +46 -0
  393. package/dist/src/nile-select/nile-select.js.map +1 -1
  394. package/dist/src/nile-select/virtual-scroll-helper.js +1 -0
  395. package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -1
  396. package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +9 -0
  397. package/dist/src/nile-table-body/virtual-scroll-helper.js +24 -0
  398. package/dist/src/nile-table-body/virtual-scroll-helper.js.map +1 -0
  399. package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +7 -0
  400. package/dist/src/nile-virtual-select/nile-virtual-select.js +46 -1
  401. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
  402. package/dist/src/nile-virtual-select/renderer.d.ts +1 -1
  403. package/dist/src/nile-virtual-select/renderer.js +2 -1
  404. package/dist/src/nile-virtual-select/renderer.js.map +1 -1
  405. package/dist/src/nile-virtual-table-body/index.d.ts +2 -0
  406. package/dist/src/nile-virtual-table-body/index.js +3 -0
  407. package/dist/src/nile-virtual-table-body/index.js.map +1 -0
  408. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +1 -0
  409. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +44 -0
  410. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +1 -0
  411. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +50 -0
  412. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +135 -0
  413. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +1 -0
  414. package/dist/src/nile-virtual-table-body/renderer.d.ts +16 -0
  415. package/dist/src/nile-virtual-table-body/renderer.js +49 -0
  416. package/dist/src/nile-virtual-table-body/renderer.js.map +1 -0
  417. package/dist/tsconfig.tsbuildinfo +1 -1
  418. package/package.json +1 -1
  419. package/src/nile-select/nile-select.ts +53 -0
  420. package/src/nile-select/virtual-scroll-helper.ts +1 -0
  421. package/src/nile-virtual-select/nile-virtual-select.ts +56 -1
  422. package/src/nile-virtual-select/renderer.ts +3 -1
  423. package/vscode-html-custom-data.json +34 -2
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Webcomponent nile-elements following open-wc recommendations",
4
4
  "license": "MIT",
5
5
  "author": "nile-elements",
6
- "version": "0.1.72",
6
+ "version": "0.1.73-beta-1.4",
7
7
  "main": "dist/src/index.js",
8
8
  "type": "module",
9
9
  "module": "dist/src/index.js",
@@ -77,6 +77,10 @@ type NileRemoveEvent = CustomEvent<Record<PropertyKey, never>>;
77
77
  * @event nile-hide - Emitted when the select's menu closes.
78
78
  * @event nile-after-hide - Emitted after the select's menu closes and all animations are complete.
79
79
  * @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.
80
+ * @event nile-search - Emitted when the user types in the search input. The event payload includes the search query for backend search functionality.
81
+ * @event nile-scroll - Emitted when the user scrolls within the listbox. The event payload includes scroll position information.
82
+ * @event nile-scroll-start - Emitted when the user starts scrolling within the listbox.
83
+ * @event nile-scroll-end - Emitted when the user stops scrolling and reaches the bottom of the listbox (debounced).
80
84
  *
81
85
  * @csspart form-control - The form control that wraps the label, input, and help text.
82
86
  * @csspart form-control-label - The label's wrapper.
@@ -113,6 +117,8 @@ export class NileSelect extends NileElement implements NileFormControl{
113
117
  );
114
118
  private typeToSelectString = '';
115
119
  private typeToSelectTimeout: number;
120
+ private scrollTimeout: number | undefined;
121
+ private scrolling = false;
116
122
 
117
123
  @query('.select') popup: NilePopup;
118
124
  @query('.select__combobox') combobox: HTMLSlotElement;
@@ -296,6 +302,11 @@ export class NileSelect extends NileElement implements NileFormControl{
296
302
 
297
303
  disconnectedCallback() {
298
304
  super.disconnectedCallback();
305
+ // Clear any pending scroll timeout to prevent memory leaks
306
+ if (this.scrollTimeout) {
307
+ clearTimeout(this.scrollTimeout);
308
+ this.scrollTimeout = undefined;
309
+ }
299
310
  this.emit('nile-destroy');
300
311
  }
301
312
 
@@ -834,6 +845,11 @@ export class NileSelect extends NileElement implements NileFormControl{
834
845
 
835
846
  handleSearchChange(e: any) {
836
847
  this.searchValue = e.detail.value;
848
+ this.emit('nile-search', {
849
+ query: this.searchValue,
850
+ name: this.name
851
+ });
852
+
837
853
  if(this.enableGroupHeader) {
838
854
  this.handleGroupSearchChange();
839
855
  }
@@ -848,6 +864,42 @@ export class NileSelect extends NileElement implements NileFormControl{
848
864
  }
849
865
  }
850
866
 
867
+ handleScroll(e: Event): void {
868
+ const target = e.target as HTMLElement;
869
+
870
+ this.emit('nile-scroll', {
871
+ scrollTop: target.scrollTop,
872
+ scrollLeft: target.scrollLeft,
873
+ name: this.name
874
+ });
875
+
876
+ if (!this.scrolling) {
877
+ this.scrolling = true;
878
+ this.emit('nile-scroll-start', {
879
+ scrollTop: target.scrollTop,
880
+ scrollLeft: target.scrollLeft,
881
+ name: this.name
882
+ });
883
+ }
884
+
885
+ clearTimeout(this.scrollTimeout);
886
+ this.scrollTimeout = window.setTimeout(() => {
887
+ if (this.scrolling) {
888
+ this.scrolling = false;
889
+ }
890
+ }, 300);
891
+
892
+ const isAtBottom = Math.ceil(target.scrollTop) >= Math.floor(target.scrollHeight - target.offsetHeight);
893
+ if (isAtBottom) {
894
+ this.emit('nile-scroll-end', {
895
+ scrollTop: target.scrollTop,
896
+ scrollLeft: target.scrollLeft,
897
+ name: this.name,
898
+ isAtBottom: true
899
+ });
900
+ }
901
+ }
902
+
851
903
  filterOptions(searchValue: string) {
852
904
  const allOptions = this.getAllOptions();
853
905
  const lowerCaseSearchValue = searchValue.toLowerCase();
@@ -1348,6 +1400,7 @@ export class NileSelect extends NileElement implements NileFormControl{
1348
1400
  tabindex="-1"
1349
1401
  @mouseup=${this.handleOptionClick}
1350
1402
  @slotchange=${this.handleDefaultSlotChange}
1403
+ @scroll=${this.handleScroll}
1351
1404
  >
1352
1405
  ${this.searchEnabled
1353
1406
  ? html` <div class="select__search">
@@ -47,6 +47,7 @@ export class VirtualScrollHelper {
47
47
  .noWidthSync=${component.noWidthSync}
48
48
  .maxOptionsVisible=${component.maxOptionsVisible}
49
49
  .data=${component.data}
50
+ .open=${component.open}
50
51
  exportparts="
51
52
  select-options,
52
53
  select-no-results,
@@ -73,6 +73,10 @@ import { VirtualSelectRenderer } from './renderer.js';
73
73
  * @event nile-hide - Emitted when the select's menu closes.
74
74
  * @event nile-after-hide - Emitted after the select's menu closes and all animations are complete.
75
75
  * @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.
76
+ * @event nile-search - Emitted when the user types in the search input. The event payload includes the search query for backend search functionality.
77
+ * @event nile-scroll - Emitted when the user scrolls within the virtualized container. The event payload includes scroll position information.
78
+ * @event nile-scroll-start - Emitted when the user starts scrolling within the virtualized container.
79
+ * @event nile-scroll-end - Emitted when the user stops scrolling and reaches the bottom of the virtualized container (debounced).
76
80
  *
77
81
  * @csspart form-control - The form control that wraps the label, input, and help text.
78
82
  * @csspart form-control-label - The label's wrapper.
@@ -111,6 +115,9 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
111
115
  @state() displayLabel = '';
112
116
  @state() selectedOptions: VirtualOption[] = [];
113
117
  @state() oldValue: string | string[] = '';
118
+
119
+ private scrollTimeout: number | undefined;
120
+ private scrolling = false;
114
121
 
115
122
  /** The name of the select, submitted as a name/value pair with form data. */
116
123
  @property() name = '';
@@ -265,6 +272,11 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
265
272
 
266
273
  disconnectedCallback() {
267
274
  this.removeOpenListeners();
275
+ // Clear any pending scroll timeout to prevent memory leaks
276
+ if (this.scrollTimeout) {
277
+ clearTimeout(this.scrollTimeout);
278
+ this.scrollTimeout = undefined;
279
+ }
268
280
  }
269
281
 
270
282
  private initializeComponent(): void {
@@ -628,12 +640,54 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
628
640
 
629
641
  handleSearchChange(e: any): void {
630
642
  this.searchValue = e.detail.value;
643
+
644
+ this.emit('nile-search', {
645
+ query: this.searchValue,
646
+ name: this.name
647
+ });
648
+
631
649
  if (!this.disableLocalSearch) {
632
650
  this.filterVirtualOptions(this.searchValue);
633
651
  this.resetScrollPosition();
634
652
  }
635
653
  }
636
654
 
655
+ handleScroll(e: Event): void {
656
+ const target = e.target as HTMLElement;
657
+
658
+ this.emit('nile-scroll', {
659
+ scrollTop: target.scrollTop,
660
+ scrollLeft: target.scrollLeft,
661
+ name: this.name
662
+ });
663
+
664
+ if (!this.scrolling) {
665
+ this.scrolling = true;
666
+ this.emit('nile-scroll-start', {
667
+ scrollTop: target.scrollTop,
668
+ scrollLeft: target.scrollLeft,
669
+ name: this.name
670
+ });
671
+ }
672
+
673
+ clearTimeout(this.scrollTimeout);
674
+ this.scrollTimeout = window.setTimeout(() => {
675
+ if (this.scrolling) {
676
+ this.scrolling = false;
677
+ }
678
+ }, 300);
679
+
680
+ const isAtBottom = Math.ceil(target.scrollTop) >= Math.floor(target.scrollHeight - target.offsetHeight);
681
+ if (isAtBottom) {
682
+ this.emit('nile-scroll-end', {
683
+ scrollTop: target.scrollTop,
684
+ scrollLeft: target.scrollLeft,
685
+ name: this.name,
686
+ isAtBottom: true
687
+ });
688
+ }
689
+ }
690
+
637
691
  filterVirtualOptions(searchValue: string): void {
638
692
  const result = VirtualSelectSearchManager.filterVirtualOptions(
639
693
  searchValue,
@@ -1197,7 +1251,8 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
1197
1251
  this.renderItemConfig?.getValue,
1198
1252
  this.showNoResults,
1199
1253
  this.noResultsMessage,
1200
- this.optionsLoading
1254
+ this.optionsLoading,
1255
+ this.handleScroll.bind(this)
1201
1256
  );
1202
1257
  }
1203
1258
 
@@ -21,7 +21,8 @@ export class VirtualSelectRenderer {
21
21
  getItemValue?: (item: any) => string,
22
22
  showNoResults?: boolean,
23
23
  noResultsMessage?: string,
24
- optionsLoading?: boolean
24
+ optionsLoading?: boolean,
25
+ onScroll?: (e: Event) => void
25
26
  ): TemplateResult {
26
27
  return html`
27
28
  <div part="select-options" class="select__options ${
@@ -37,6 +38,7 @@ export class VirtualSelectRenderer {
37
38
  <div
38
39
  class="virtualized"
39
40
  part="virtualized"
41
+ @scroll=${onScroll}
40
42
  >
41
43
  ${VirtualSelectRenderer.shouldUseVirtualizer(data)
42
44
  ? html`
@@ -3013,7 +3013,7 @@
3013
3013
  },
3014
3014
  {
3015
3015
  "name": "nile-select",
3016
- "description": "Events:\n\n * `nile-change` {} - Emitted when the control's value changes.\n\n * `nile-clear` {} - Emitted when the control's value is cleared.\n\n * `nile-input` {} - Emitted when the control receives input.\n\n * `nile-focus` {} - Emitted when the control gains focus.\n\n * `nile-blur` {} - Emitted when the control loses focus.\n\n * `nile-show` {} - Emitted when the select's menu opens.\n\n * `nile-after-show` {} - Emitted after the select's menu opens and all animations are complete.\n\n * `nile-hide` {} - Emitted when the select's menu closes.\n\n * `nile-after-hide` {} - Emitted after the select's menu closes and all animations are complete.\n\n * `nile-invalid` {} - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\nSlots:\n\n * ` ` {} - The listbox options. Must be `<nile-option>` elements. You can use `<nile-divider>` to group items visually.\n\n * `label` {} - The input's label. Alternatively, you can use the `label` attribute.\n\n * `prefix` {} - Used to prepend a presentational icon or similar element to the combobox.\n\n * `clear-icon` {} - An icon to use in lieu of the default clear icon.\n\n * `expand-icon` {} - The icon to show when the control is expanded and collapsed. Rotates on open and close.\n\n * `help-text` {} - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n\nAttributes:\n\n * `size` {`\"medium\" | \"small\" | \"large\"`} - The select's size.\n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the select is empty.\n\n * `searchEnabled` {`boolean`} - \n\n * `internal-search-placeholder` {`string`} - \n\n * `blockValueChange` {`boolean`} - \n\n * `disableLocalSearch` {`boolean`} - \n\n * `optionsLoading` {`boolean`} - \n\n * `noWidthSync` {`boolean`} - \n\n * `multiple` {`string | boolean`} - Allows more than one option to be selected.\n\n * `help-text` {`string`} - \n\n * `error-message` {`string`} - \n\n * `warning` {`boolean`} - Sets the input to a warning state, changing its visual appearance.\n\n * `error` {`boolean`} - Sets the input to an error state, changing its visual appearance.\n\n * `success` {`boolean`} - Sets the input to a success state, changing its visual appearance.\n\n * `max-options-visible` {`number`} - The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.\n\n * `clearable` {`boolean`} - Adds a clear button when the select is not empty.\n\n * `open` {`boolean`} - Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the select's open state.\n\n * `hoist` {`boolean`} - Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n\n * `filled` {`boolean`} - Draws a filled select.\n\n * `pill` {`boolean`} - Draws a pill-style select with rounded edges.\n\n * `label` {`string`} - The select's label. If you need to display HTML, use the `label` slot instead.\n\n * `placement` {`\"top\" | \"bottom\"`} - The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.\n\n * `showSelected` {`boolean`} - \n\n * `showNoResults` {`boolean`} - \n\n * `noResultsMessage` {`string`} - \n\n * `data` - \n\n * `enableVirtualScroll` {`boolean`} - \n\n * `enableGroupHeader` {`boolean`} - To enable the group header in the select\n\n * `name` {`string`} - The name of the select, submitted as a name/value pair with form data.\n\n * `value` {`string | string[]`} - The current value of the select, submitted as a name/value pair with form data. When `multiple` is enabled, the\nvalue will be a space-delimited list of values based on the options selected.\n\n * `disabled` {`boolean`} - Disables the select control.\n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `required` {`boolean`} - The select's required attribute.\n\nProperties:\n\n * `styles` - \n\n * `formControlController` - \n\n * `virtualScrollHelper` - \n\n * `hasSlotController` - \n\n * `typeToSelectString` {`string`} - \n\n * `typeToSelectTimeout` {`number`} - \n\n * `popup` - \n\n * `combobox` {`HTMLSlotElement`} - \n\n * `displayInput` {`HTMLInputElement`} - \n\n * `valueInput` {`HTMLInputElement`} - \n\n * `listbox` {`HTMLSlotElement`} - \n\n * `hasFocus` {`boolean`} - \n\n * `displayLabel` {`string`} - \n\n * `currentOption` - \n\n * `selectedOptions` {`NileOption[]`} - \n\n * `oldValue` {`string | string[]`} - \n\n * `size` {`\"medium\" | \"small\" | \"large\"`} - The select's size.\n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the select is empty.\n\n * `searchValue` {`string`} - Placeholder text to show as a hint when the select is empty.\n\n * `searchEnabled` {`boolean`} - \n\n * `internalSearchPlaceHolder` {`string`} - \n\n * `blockValueChange` {`boolean`} - \n\n * `disableLocalSearch` {`boolean`} - \n\n * `optionsLoading` {`boolean`} - \n\n * `noWidthSync` {`boolean`} - \n\n * `multiple` {`string | boolean`} - Allows more than one option to be selected.\n\n * `helpText` {`string`} - \n\n * `errorMessage` {`string`} - \n\n * `warning` {`boolean`} - Sets the input to a warning state, changing its visual appearance.\n\n * `error` {`boolean`} - Sets the input to an error state, changing its visual appearance.\n\n * `success` {`boolean`} - Sets the input to a success state, changing its visual appearance.\n\n * `maxOptionsVisible` {`number`} - The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.\n\n * `clearable` {`boolean`} - Adds a clear button when the select is not empty.\n\n * `open` {`boolean`} - Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the select's open state.\n\n * `hoist` {`boolean`} - Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n\n * `filled` {`boolean`} - Draws a filled select.\n\n * `pill` {`boolean`} - Draws a pill-style select with rounded edges.\n\n * `label` {`string`} - The select's label. If you need to display HTML, use the `label` slot instead.\n\n * `placement` {`\"top\" | \"bottom\"`} - The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.\n\n * `showSelected` {`boolean`} - \n\n * `oldMaxOptionsVisible` {`number`} - \n\n * `showNoResults` {`boolean`} - \n\n * `noResultsMessage` {`string`} - \n\n * `renderItemConfig` {`RenderItemConfig | undefined`} - Enhanced configuration for rendering items with support for display text, value, and search text\n\n * `data` - \n\n * `enableVirtualScroll` {`boolean`} - \n\n * `enableGroupHeader` {`boolean`} - To enable the group header in the select\n\n * `options` {`NileOption[]`} - \n\n * `name` {`string`} - The name of the select, submitted as a name/value pair with form data.\n\n * `value` {`string | string[]`} - The current value of the select, submitted as a name/value pair with form data. When `multiple` is enabled, the\nvalue will be a space-delimited list of values based on the options selected.\n\n * `disabled` {`boolean`} - Disables the select control.\n\n * `defaultValue` {`string | string[]`} - The default value of the form control. Primarily used for resetting the form control.\n\n * `defaultChecked` {`boolean | undefined`} - \n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `pattern` {`string | undefined`} - \n\n * `min` {`string | number | Date | undefined`} - \n\n * `max` {`string | number | Date | undefined`} - \n\n * `step` {`number | \"any\" | undefined`} - \n\n * `required` {`boolean`} - The select's required attribute.\n\n * `minlength` {`number | undefined`} - \n\n * `maxlength` {`number | undefined`} - \n\n * `validity` {`ValidityState`} - Gets the validity state object\n\n * `validationMessage` {`string`} - Gets the validation message\n\n * `checkValidity` - \n\n * `getForm` - \n\n * `reportValidity` - \n\n * `setCustomValidity` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
3016
+ "description": "Events:\n\n * `nile-change` {} - Emitted when the control's value changes.\n\n * `nile-clear` {} - Emitted when the control's value is cleared.\n\n * `nile-input` {} - Emitted when the control receives input.\n\n * `nile-focus` {} - Emitted when the control gains focus.\n\n * `nile-blur` {} - Emitted when the control loses focus.\n\n * `nile-show` {} - Emitted when the select's menu opens.\n\n * `nile-after-show` {} - Emitted after the select's menu opens and all animations are complete.\n\n * `nile-hide` {} - Emitted when the select's menu closes.\n\n * `nile-after-hide` {} - Emitted after the select's menu closes and all animations are complete.\n\n * `nile-invalid` {} - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n * `nile-search` {} - Emitted when the user types in the search input. The event payload includes the search query for backend search functionality.\n\n * `nile-scroll` {} - Emitted when the user scrolls within the listbox. The event payload includes scroll position information.\n\n * `nile-scroll-start` {} - Emitted when the user starts scrolling within the listbox.\n\n * `nile-scroll-end` {} - Emitted when the user stops scrolling and reaches the bottom of the listbox (debounced).\n\nSlots:\n\n * ` ` {} - The listbox options. Must be `<nile-option>` elements. You can use `<nile-divider>` to group items visually.\n\n * `label` {} - The input's label. Alternatively, you can use the `label` attribute.\n\n * `prefix` {} - Used to prepend a presentational icon or similar element to the combobox.\n\n * `clear-icon` {} - An icon to use in lieu of the default clear icon.\n\n * `expand-icon` {} - The icon to show when the control is expanded and collapsed. Rotates on open and close.\n\n * `help-text` {} - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n\nAttributes:\n\n * `size` {`\"medium\" | \"small\" | \"large\"`} - The select's size.\n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the select is empty.\n\n * `searchEnabled` {`boolean`} - \n\n * `internal-search-placeholder` {`string`} - \n\n * `blockValueChange` {`boolean`} - \n\n * `disableLocalSearch` {`boolean`} - \n\n * `optionsLoading` {`boolean`} - \n\n * `noWidthSync` {`boolean`} - \n\n * `multiple` {`string | boolean`} - Allows more than one option to be selected.\n\n * `help-text` {`string`} - \n\n * `error-message` {`string`} - \n\n * `warning` {`boolean`} - Sets the input to a warning state, changing its visual appearance.\n\n * `error` {`boolean`} - Sets the input to an error state, changing its visual appearance.\n\n * `success` {`boolean`} - Sets the input to a success state, changing its visual appearance.\n\n * `max-options-visible` {`number`} - The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.\n\n * `clearable` {`boolean`} - Adds a clear button when the select is not empty.\n\n * `open` {`boolean`} - Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the select's open state.\n\n * `hoist` {`boolean`} - Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n\n * `filled` {`boolean`} - Draws a filled select.\n\n * `pill` {`boolean`} - Draws a pill-style select with rounded edges.\n\n * `label` {`string`} - The select's label. If you need to display HTML, use the `label` slot instead.\n\n * `placement` {`\"top\" | \"bottom\"`} - The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.\n\n * `showSelected` {`boolean`} - \n\n * `showNoResults` {`boolean`} - \n\n * `noResultsMessage` {`string`} - \n\n * `data` - \n\n * `enableVirtualScroll` {`boolean`} - \n\n * `enableGroupHeader` {`boolean`} - To enable the group header in the select\n\n * `name` {`string`} - The name of the select, submitted as a name/value pair with form data.\n\n * `value` {`string | string[]`} - The current value of the select, submitted as a name/value pair with form data. When `multiple` is enabled, the\nvalue will be a space-delimited list of values based on the options selected.\n\n * `disabled` {`boolean`} - Disables the select control.\n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `required` {`boolean`} - The select's required attribute.\n\nProperties:\n\n * `styles` - \n\n * `formControlController` - \n\n * `virtualScrollHelper` - \n\n * `hasSlotController` - \n\n * `typeToSelectString` {`string`} - \n\n * `typeToSelectTimeout` {`number`} - \n\n * `scrollTimeout` {`number | undefined`} - \n\n * `scrolling` {`boolean`} - \n\n * `popup` - \n\n * `combobox` {`HTMLSlotElement`} - \n\n * `displayInput` {`HTMLInputElement`} - \n\n * `valueInput` {`HTMLInputElement`} - \n\n * `listbox` {`HTMLSlotElement`} - \n\n * `hasFocus` {`boolean`} - \n\n * `displayLabel` {`string`} - \n\n * `currentOption` - \n\n * `selectedOptions` {`NileOption[]`} - \n\n * `oldValue` {`string | string[]`} - \n\n * `size` {`\"medium\" | \"small\" | \"large\"`} - The select's size.\n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the select is empty.\n\n * `searchValue` {`string`} - Placeholder text to show as a hint when the select is empty.\n\n * `searchEnabled` {`boolean`} - \n\n * `internalSearchPlaceHolder` {`string`} - \n\n * `blockValueChange` {`boolean`} - \n\n * `disableLocalSearch` {`boolean`} - \n\n * `optionsLoading` {`boolean`} - \n\n * `noWidthSync` {`boolean`} - \n\n * `multiple` {`string | boolean`} - Allows more than one option to be selected.\n\n * `helpText` {`string`} - \n\n * `errorMessage` {`string`} - \n\n * `warning` {`boolean`} - Sets the input to a warning state, changing its visual appearance.\n\n * `error` {`boolean`} - Sets the input to an error state, changing its visual appearance.\n\n * `success` {`boolean`} - Sets the input to a success state, changing its visual appearance.\n\n * `maxOptionsVisible` {`number`} - The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.\n\n * `clearable` {`boolean`} - Adds a clear button when the select is not empty.\n\n * `open` {`boolean`} - Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\nuse the `show()` and `hide()` methods and this attribute will reflect the select's open state.\n\n * `hoist` {`boolean`} - Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n\n * `filled` {`boolean`} - Draws a filled select.\n\n * `pill` {`boolean`} - Draws a pill-style select with rounded edges.\n\n * `label` {`string`} - The select's label. If you need to display HTML, use the `label` slot instead.\n\n * `placement` {`\"top\" | \"bottom\"`} - The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.\n\n * `showSelected` {`boolean`} - \n\n * `oldMaxOptionsVisible` {`number`} - \n\n * `showNoResults` {`boolean`} - \n\n * `noResultsMessage` {`string`} - \n\n * `renderItemConfig` {`RenderItemConfig | undefined`} - Enhanced configuration for rendering items with support for display text, value, and search text\n\n * `data` - \n\n * `enableVirtualScroll` {`boolean`} - \n\n * `enableGroupHeader` {`boolean`} - To enable the group header in the select\n\n * `options` {`NileOption[]`} - \n\n * `name` {`string`} - The name of the select, submitted as a name/value pair with form data.\n\n * `value` {`string | string[]`} - The current value of the select, submitted as a name/value pair with form data. When `multiple` is enabled, the\nvalue will be a space-delimited list of values based on the options selected.\n\n * `disabled` {`boolean`} - Disables the select control.\n\n * `defaultValue` {`string | string[]`} - The default value of the form control. Primarily used for resetting the form control.\n\n * `defaultChecked` {`boolean | undefined`} - \n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `pattern` {`string | undefined`} - \n\n * `min` {`string | number | Date | undefined`} - \n\n * `max` {`string | number | Date | undefined`} - \n\n * `step` {`number | \"any\" | undefined`} - \n\n * `required` {`boolean`} - The select's required attribute.\n\n * `minlength` {`number | undefined`} - \n\n * `maxlength` {`number | undefined`} - \n\n * `validity` {`ValidityState`} - Gets the validity state object\n\n * `validationMessage` {`string`} - Gets the validation message\n\n * `checkValidity` - \n\n * `getForm` - \n\n * `reportValidity` - \n\n * `setCustomValidity` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
3017
3017
  "attributes": [
3018
3018
  {
3019
3019
  "name": "size",
@@ -3226,6 +3226,22 @@
3226
3226
  {
3227
3227
  "name": "onnile-invalid",
3228
3228
  "description": "`nile-invalid` {} - Emitted when the form control has been checked for validity and its constraints aren't satisfied."
3229
+ },
3230
+ {
3231
+ "name": "onnile-search",
3232
+ "description": "`nile-search` {} - Emitted when the user types in the search input. The event payload includes the search query for backend search functionality."
3233
+ },
3234
+ {
3235
+ "name": "onnile-scroll",
3236
+ "description": "`nile-scroll` {} - Emitted when the user scrolls within the listbox. The event payload includes scroll position information."
3237
+ },
3238
+ {
3239
+ "name": "onnile-scroll-start",
3240
+ "description": "`nile-scroll-start` {} - Emitted when the user starts scrolling within the listbox."
3241
+ },
3242
+ {
3243
+ "name": "onnile-scroll-end",
3244
+ "description": "`nile-scroll-end` {} - Emitted when the user stops scrolling and reaches the bottom of the listbox (debounced)."
3229
3245
  }
3230
3246
  ]
3231
3247
  },
@@ -4340,7 +4356,7 @@
4340
4356
  },
4341
4357
  {
4342
4358
  "name": "nile-virtual-select",
4343
- "description": "Events:\n\n * `nile-change` {} - Emitted when the control's value changes.\n\n * `nile-clear` {} - Emitted when the control's value is cleared.\n\n * `nile-input` {} - Emitted when the control receives input.\n\n * `nile-focus` {} - Emitted when the control gains focus.\n\n * `nile-blur` {} - Emitted when the control loses focus.\n\n * `nile-show` {} - Emitted when the select's menu opens.\n\n * `nile-after-show` {} - Emitted after the select's menu opens and all animations are complete.\n\n * `nile-hide` {} - Emitted when the select's menu closes.\n\n * `nile-after-hide` {} - Emitted after the select's menu closes and all animations are complete.\n\n * `nile-invalid` {} - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\nSlots:\n\n * `label` {} - The input's label. Alternatively, you can use the `label` attribute.\n\n * `prefix` {} - Used to prepend a presentational icon or similar element to the combobox.\n\n * `clear-icon` {} - An icon to use in lieu of the default clear icon.\n\n * `expand-icon` {} - The icon to show when the control is expanded and collapsed.\n\n * `help-text` {} - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n\nAttributes:\n\n * `data` - Array of all option items for virtual scrolling\n\n * `size` {`\"medium\" | \"small\" | \"large\"`} - The select's size.\n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the select is empty.\n\n * `searchEnabled` {`boolean`} - Enable search functionality\n\n * `internal-search-placeholder` {`string`} - Search input placeholder\n\n * `disableLocalSearch` {`boolean`} - Disable local search filtering\n\n * `optionsLoading` {`boolean`} - Show loading state\n\n * `multiple` {`boolean`} - Allows more than one option to be selected.\n\n * `help-text` {`string`} - Help text\n\n * `error-message` {`string`} - Error message\n\n * `warning` {`boolean`} - Sets the input to a warning state\n\n * `error` {`boolean`} - Sets the input to an error state\n\n * `success` {`boolean`} - Sets the input to a success state\n\n * `clearable` {`boolean`} - Adds a clear button when the select is not empty.\n\n * `open` {`boolean`} - The select's open state.\n\n * `hoist` {`boolean`} - Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n\n * `filled` {`boolean`} - Draws a filled select.\n\n * `pill` {`boolean`} - Draws a pill-style select with rounded edges.\n\n * `label` {`string`} - The select's label. If you need to display HTML, use the `label` slot instead.\n\n * `placement` {`\"top\" | \"bottom\"`} - The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.\n\n * `showNoResults` {`boolean`} - Show no results message\n\n * `noResultsMessage` {`string`} - No results message\n\n * `showSelected` {`boolean`} - Show selected options only\n\n * `blockValueChange` {`boolean`} - Block value change events\n\n * `noWidthSync` {`boolean`} - Disable width synchronization\n\n * `max-options-visible` {`number`} - The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.\n\n * `name` {`string`} - The name of the select, submitted as a name/value pair with form data.\n\n * `value` {`string | string[]`} - The current value of the select. When `multiple` is enabled, the value will be an array of selected values.\n\n * `disabled` {`boolean`} - Disables the select control.\n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `required` {`boolean`} - The select's required attribute.\n\nProperties:\n\n * `styles` - \n\n * `formControlController` - \n\n * `hasSlotController` - \n\n * `popup` - \n\n * `displayInput` {`HTMLInputElement`} - \n\n * `valueInput` {`HTMLInputElement`} - \n\n * `virtualizedContainer` {`HTMLElement`} - \n\n * `hasFocus` {`boolean`} - \n\n * `displayLabel` {`string`} - \n\n * `selectedOptions` {`VirtualOption[]`} - \n\n * `oldValue` {`string | string[]`} - \n\n * `data` - Array of all option items for virtual scrolling\n\n * `originalOptionItems` - Original unfiltered option items for search functionality\n\n * `size` {`\"medium\" | \"small\" | \"large\"`} - The select's size.\n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the select is empty.\n\n * `searchValue` {`string`} - Current search value\n\n * `searchEnabled` {`boolean`} - Enable search functionality\n\n * `internalSearchPlaceHolder` {`string`} - Search input placeholder\n\n * `disableLocalSearch` {`boolean`} - Disable local search filtering\n\n * `optionsLoading` {`boolean`} - Show loading state\n\n * `multiple` {`boolean`} - Allows more than one option to be selected.\n\n * `helpText` {`string`} - Help text\n\n * `errorMessage` {`string`} - Error message\n\n * `warning` {`boolean`} - Sets the input to a warning state\n\n * `error` {`boolean`} - Sets the input to an error state\n\n * `success` {`boolean`} - Sets the input to a success state\n\n * `clearable` {`boolean`} - Adds a clear button when the select is not empty.\n\n * `open` {`boolean`} - The select's open state.\n\n * `hoist` {`boolean`} - Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n\n * `filled` {`boolean`} - Draws a filled select.\n\n * `pill` {`boolean`} - Draws a pill-style select with rounded edges.\n\n * `label` {`string`} - The select's label. If you need to display HTML, use the `label` slot instead.\n\n * `placement` {`\"top\" | \"bottom\"`} - The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.\n\n * `showNoResults` {`boolean`} - Show no results message\n\n * `noResultsMessage` {`string`} - No results message\n\n * `showSelected` {`boolean`} - Show selected options only\n\n * `renderItemConfig` {`RenderItemConfig | undefined`} - Enhanced configuration for rendering items with support for display text, value, and search text\n\n * `blockValueChange` {`boolean`} - Block value change events\n\n * `noWidthSync` {`boolean`} - Disable width synchronization\n\n * `maxOptionsVisible` {`number`} - The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.\n\n * `oldMaxOptionsVisible` {`number`} - \n\n * `handleDocumentMouseDown` - \n\n * `name` {`string`} - The name of the select, submitted as a name/value pair with form data.\n\n * `value` {`string | string[]`} - The current value of the select. When `multiple` is enabled, the value will be an array of selected values.\n\n * `disabled` {`boolean`} - Disables the select control.\n\n * `defaultValue` {`string | string[]`} - The default value of the form control. Primarily used for resetting the form control.\n\n * `defaultChecked` {`boolean | undefined`} - \n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `pattern` {`string | undefined`} - \n\n * `min` {`string | number | Date | undefined`} - \n\n * `max` {`string | number | Date | undefined`} - \n\n * `step` {`number | \"any\" | undefined`} - \n\n * `required` {`boolean`} - The select's required attribute.\n\n * `minlength` {`number | undefined`} - \n\n * `maxlength` {`number | undefined`} - \n\n * `validity` {`ValidityState`} - Gets the validity state object\n\n * `validationMessage` {`string`} - Gets the validation message\n\n * `checkValidity` - \n\n * `getForm` - \n\n * `reportValidity` - \n\n * `setCustomValidity` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
4359
+ "description": "Events:\n\n * `nile-change` {} - Emitted when the control's value changes.\n\n * `nile-clear` {} - Emitted when the control's value is cleared.\n\n * `nile-input` {} - Emitted when the control receives input.\n\n * `nile-focus` {} - Emitted when the control gains focus.\n\n * `nile-blur` {} - Emitted when the control loses focus.\n\n * `nile-show` {} - Emitted when the select's menu opens.\n\n * `nile-after-show` {} - Emitted after the select's menu opens and all animations are complete.\n\n * `nile-hide` {} - Emitted when the select's menu closes.\n\n * `nile-after-hide` {} - Emitted after the select's menu closes and all animations are complete.\n\n * `nile-invalid` {} - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\n * `nile-search` {} - Emitted when the user types in the search input. The event payload includes the search query for backend search functionality.\n\n * `nile-scroll` {} - Emitted when the user scrolls within the virtualized container. The event payload includes scroll position information.\n\n * `nile-scroll-start` {} - Emitted when the user starts scrolling within the virtualized container.\n\n * `nile-scroll-end` {} - Emitted when the user stops scrolling and reaches the bottom of the virtualized container (debounced).\n\nSlots:\n\n * `label` {} - The input's label. Alternatively, you can use the `label` attribute.\n\n * `prefix` {} - Used to prepend a presentational icon or similar element to the combobox.\n\n * `clear-icon` {} - An icon to use in lieu of the default clear icon.\n\n * `expand-icon` {} - The icon to show when the control is expanded and collapsed.\n\n * `help-text` {} - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n\nAttributes:\n\n * `data` - Array of all option items for virtual scrolling\n\n * `size` {`\"medium\" | \"small\" | \"large\"`} - The select's size.\n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the select is empty.\n\n * `searchEnabled` {`boolean`} - Enable search functionality\n\n * `internal-search-placeholder` {`string`} - Search input placeholder\n\n * `disableLocalSearch` {`boolean`} - Disable local search filtering\n\n * `optionsLoading` {`boolean`} - Show loading state\n\n * `multiple` {`boolean`} - Allows more than one option to be selected.\n\n * `help-text` {`string`} - Help text\n\n * `error-message` {`string`} - Error message\n\n * `warning` {`boolean`} - Sets the input to a warning state\n\n * `error` {`boolean`} - Sets the input to an error state\n\n * `success` {`boolean`} - Sets the input to a success state\n\n * `clearable` {`boolean`} - Adds a clear button when the select is not empty.\n\n * `open` {`boolean`} - The select's open state.\n\n * `hoist` {`boolean`} - Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n\n * `filled` {`boolean`} - Draws a filled select.\n\n * `pill` {`boolean`} - Draws a pill-style select with rounded edges.\n\n * `label` {`string`} - The select's label. If you need to display HTML, use the `label` slot instead.\n\n * `placement` {`\"top\" | \"bottom\"`} - The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.\n\n * `showNoResults` {`boolean`} - Show no results message\n\n * `noResultsMessage` {`string`} - No results message\n\n * `showSelected` {`boolean`} - Show selected options only\n\n * `blockValueChange` {`boolean`} - Block value change events\n\n * `noWidthSync` {`boolean`} - Disable width synchronization\n\n * `max-options-visible` {`number`} - The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.\n\n * `name` {`string`} - The name of the select, submitted as a name/value pair with form data.\n\n * `value` {`string | string[]`} - The current value of the select. When `multiple` is enabled, the value will be an array of selected values.\n\n * `disabled` {`boolean`} - Disables the select control.\n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `required` {`boolean`} - The select's required attribute.\n\nProperties:\n\n * `styles` - \n\n * `formControlController` - \n\n * `hasSlotController` - \n\n * `popup` - \n\n * `displayInput` {`HTMLInputElement`} - \n\n * `valueInput` {`HTMLInputElement`} - \n\n * `virtualizedContainer` {`HTMLElement`} - \n\n * `hasFocus` {`boolean`} - \n\n * `displayLabel` {`string`} - \n\n * `selectedOptions` {`VirtualOption[]`} - \n\n * `oldValue` {`string | string[]`} - \n\n * `scrollTimeout` {`number | undefined`} - \n\n * `scrolling` {`boolean`} - \n\n * `data` - Array of all option items for virtual scrolling\n\n * `originalOptionItems` - Original unfiltered option items for search functionality\n\n * `size` {`\"medium\" | \"small\" | \"large\"`} - The select's size.\n\n * `placeholder` {`string`} - Placeholder text to show as a hint when the select is empty.\n\n * `searchValue` {`string`} - Current search value\n\n * `searchEnabled` {`boolean`} - Enable search functionality\n\n * `internalSearchPlaceHolder` {`string`} - Search input placeholder\n\n * `disableLocalSearch` {`boolean`} - Disable local search filtering\n\n * `optionsLoading` {`boolean`} - Show loading state\n\n * `multiple` {`boolean`} - Allows more than one option to be selected.\n\n * `helpText` {`string`} - Help text\n\n * `errorMessage` {`string`} - Error message\n\n * `warning` {`boolean`} - Sets the input to a warning state\n\n * `error` {`boolean`} - Sets the input to an error state\n\n * `success` {`boolean`} - Sets the input to a success state\n\n * `clearable` {`boolean`} - Adds a clear button when the select is not empty.\n\n * `open` {`boolean`} - The select's open state.\n\n * `hoist` {`boolean`} - Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n\n * `filled` {`boolean`} - Draws a filled select.\n\n * `pill` {`boolean`} - Draws a pill-style select with rounded edges.\n\n * `label` {`string`} - The select's label. If you need to display HTML, use the `label` slot instead.\n\n * `placement` {`\"top\" | \"bottom\"`} - The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\ninside of the viewport.\n\n * `showNoResults` {`boolean`} - Show no results message\n\n * `noResultsMessage` {`string`} - No results message\n\n * `showSelected` {`boolean`} - Show selected options only\n\n * `renderItemConfig` {`RenderItemConfig | undefined`} - Enhanced configuration for rendering items with support for display text, value, and search text\n\n * `blockValueChange` {`boolean`} - Block value change events\n\n * `noWidthSync` {`boolean`} - Disable width synchronization\n\n * `maxOptionsVisible` {`number`} - The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\nindicate the number of additional items that are selected. Set to 0 to remove the limit.\n\n * `oldMaxOptionsVisible` {`number`} - \n\n * `handleDocumentMouseDown` - \n\n * `name` {`string`} - The name of the select, submitted as a name/value pair with form data.\n\n * `value` {`string | string[]`} - The current value of the select. When `multiple` is enabled, the value will be an array of selected values.\n\n * `disabled` {`boolean`} - Disables the select control.\n\n * `defaultValue` {`string | string[]`} - The default value of the form control. Primarily used for resetting the form control.\n\n * `defaultChecked` {`boolean | undefined`} - \n\n * `form` {`string`} - By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\nto place the form control outside of a form and associate it with the form that has this `id`. The form must be in\nthe same document or shadow root for this to work.\n\n * `pattern` {`string | undefined`} - \n\n * `min` {`string | number | Date | undefined`} - \n\n * `max` {`string | number | Date | undefined`} - \n\n * `step` {`number | \"any\" | undefined`} - \n\n * `required` {`boolean`} - The select's required attribute.\n\n * `minlength` {`number | undefined`} - \n\n * `maxlength` {`number | undefined`} - \n\n * `validity` {`ValidityState`} - Gets the validity state object\n\n * `validationMessage` {`string`} - Gets the validation message\n\n * `checkValidity` - \n\n * `getForm` - \n\n * `reportValidity` - \n\n * `setCustomValidity` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
4344
4360
  "attributes": [
4345
4361
  {
4346
4362
  "name": "data",
@@ -4543,6 +4559,22 @@
4543
4559
  {
4544
4560
  "name": "onnile-invalid",
4545
4561
  "description": "`nile-invalid` {} - Emitted when the form control has been checked for validity and its constraints aren't satisfied."
4562
+ },
4563
+ {
4564
+ "name": "onnile-search",
4565
+ "description": "`nile-search` {} - Emitted when the user types in the search input. The event payload includes the search query for backend search functionality."
4566
+ },
4567
+ {
4568
+ "name": "onnile-scroll",
4569
+ "description": "`nile-scroll` {} - Emitted when the user scrolls within the virtualized container. The event payload includes scroll position information."
4570
+ },
4571
+ {
4572
+ "name": "onnile-scroll-start",
4573
+ "description": "`nile-scroll-start` {} - Emitted when the user starts scrolling within the virtualized container."
4574
+ },
4575
+ {
4576
+ "name": "onnile-scroll-end",
4577
+ "description": "`nile-scroll-end` {} - Emitted when the user stops scrolling and reaches the bottom of the virtualized container (debounced)."
4546
4578
  }
4547
4579
  ]
4548
4580
  }