@aquera/nile-elements 0.1.73-beta-1.8 → 0.1.73

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 (444) hide show
  1. package/README.md +3 -1
  2. package/demo/index.html +9 -47
  3. package/dist/{fixture-5b79f853.cjs.js → fixture-3bfb4490.cjs.js} +2 -2
  4. package/dist/{fixture-5b79f853.cjs.js.map → fixture-3bfb4490.cjs.js.map} +1 -1
  5. package/dist/{fixture-cf7bfcf5.esm.js → fixture-8edec91c.esm.js} +1 -1
  6. package/dist/index.js +14 -14
  7. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  8. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  9. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  10. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  11. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  12. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  13. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  14. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  15. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  16. package/dist/nile-button/nile-button.test.esm.js +1 -1
  17. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  18. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  19. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  20. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  21. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  22. package/dist/nile-card/nile-card.test.esm.js +1 -1
  23. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  24. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  25. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  26. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  27. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  28. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  29. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  30. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  31. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  32. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  33. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  34. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  35. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  36. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  37. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  38. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  39. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  40. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  41. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  42. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  43. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  44. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  45. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  46. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  47. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  48. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  49. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  50. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  51. package/dist/nile-input/nile-input.cjs.js +1 -1
  52. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  53. package/dist/nile-input/nile-input.esm.js +2 -2
  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-option-group/nile-option-group.cjs.js +1 -1
  61. package/dist/nile-option-group/nile-option-group.cjs.js.map +1 -1
  62. package/dist/nile-option-group/nile-option-group.esm.js +1 -1
  63. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  64. package/dist/nile-popover/nile-popover.test.esm.js +1 -1
  65. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  66. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  67. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  68. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  69. package/dist/nile-radio/nile-radio.cjs.js +1 -1
  70. package/dist/nile-radio/nile-radio.cjs.js.map +1 -1
  71. package/dist/nile-radio/nile-radio.esm.js +2 -2
  72. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  73. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  74. package/dist/nile-radio-group/nile-radio-group.cjs.js +1 -1
  75. package/dist/nile-radio-group/nile-radio-group.cjs.js.map +1 -1
  76. package/dist/nile-radio-group/nile-radio-group.esm.js +2 -2
  77. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  78. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  79. package/dist/nile-select/nile-select.cjs.js +1 -1
  80. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  81. package/dist/nile-select/nile-select.esm.js +3 -2
  82. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  83. package/dist/nile-select/nile-select.test.esm.js +1 -1
  84. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  85. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  86. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  87. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  88. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  89. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  90. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +1 -1
  91. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  92. package/dist/nile-virtual-select/nile-virtual-select.esm.js +2 -2
  93. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  94. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  95. package/dist/nile-virtual-select/renderer.cjs.js +1 -1
  96. package/dist/nile-virtual-select/renderer.cjs.js.map +1 -1
  97. package/dist/nile-virtual-select/renderer.esm.js +3 -4
  98. package/dist/src/nile-input/nile-input.d.ts +1 -0
  99. package/dist/src/nile-input/nile-input.js +4 -1
  100. package/dist/src/nile-input/nile-input.js.map +1 -1
  101. package/dist/src/nile-option-group/nile-option-group.js +1 -1
  102. package/dist/src/nile-option-group/nile-option-group.js.map +1 -1
  103. package/dist/src/nile-radio/nile-radio.d.ts +1 -0
  104. package/dist/src/nile-radio/nile-radio.js +8 -1
  105. package/dist/src/nile-radio/nile-radio.js.map +1 -1
  106. package/dist/src/nile-radio-group/nile-radio-group.d.ts +4 -1
  107. package/dist/src/nile-radio-group/nile-radio-group.js +25 -2
  108. package/dist/src/nile-radio-group/nile-radio-group.js.map +1 -1
  109. package/dist/src/nile-select/nile-select.d.ts +4 -1
  110. package/dist/src/nile-select/nile-select.js +13 -1
  111. package/dist/src/nile-select/nile-select.js.map +1 -1
  112. package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +1 -9
  113. package/dist/src/nile-virtual-select/nile-virtual-select.js +5 -55
  114. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
  115. package/dist/src/nile-virtual-select/renderer.d.ts +2 -2
  116. package/dist/src/nile-virtual-select/renderer.js +5 -6
  117. package/dist/src/nile-virtual-select/renderer.js.map +1 -1
  118. package/dist/tsconfig.tsbuildinfo +1 -1
  119. package/package.json +1 -1
  120. package/src/nile-input/nile-input.ts +5 -1
  121. package/src/nile-option-group/nile-option-group.ts +1 -1
  122. package/src/nile-radio/nile-radio.ts +7 -1
  123. package/src/nile-radio-group/nile-radio-group.ts +26 -4
  124. package/src/nile-select/nile-select.ts +22 -12
  125. package/src/nile-virtual-select/nile-virtual-select.ts +7 -68
  126. package/src/nile-virtual-select/renderer.ts +5 -7
  127. package/vscode-html-custom-data.json +19 -20
  128. package/dist/fixture-90b199c4.esm.js +0 -569
  129. package/dist/fixture-dbd66009.cjs.js +0 -395
  130. package/dist/fixture-dbd66009.cjs.js.map +0 -1
  131. package/dist/src/internal/resizable-helper.d.ts +0 -59
  132. package/dist/src/internal/resizable-helper.js +0 -115
  133. package/dist/src/internal/resizable-helper.js.map +0 -1
  134. package/dist/src/internal/resizable-styles.d.ts +0 -16
  135. package/dist/src/internal/resizable-styles.js +0 -144
  136. package/dist/src/internal/resizable-styles.js.map +0 -1
  137. package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +0 -17
  138. package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +0 -310
  139. package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +0 -34
  140. package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +0 -31
  141. package/dist/src/nile-grid/data-processor.d.ts +0 -37
  142. package/dist/src/nile-grid/data-processor.js +0 -122
  143. package/dist/src/nile-grid/data-processor.js.map +0 -1
  144. package/dist/src/nile-grid/event-handlers.d.ts +0 -35
  145. package/dist/src/nile-grid/event-handlers.js +0 -158
  146. package/dist/src/nile-grid/event-handlers.js.map +0 -1
  147. package/dist/src/nile-grid/index.d.ts +0 -5
  148. package/dist/src/nile-grid/index.js +0 -6
  149. package/dist/src/nile-grid/index.js.map +0 -1
  150. package/dist/src/nile-grid/nile-grid.css.d.ts +0 -1
  151. package/dist/src/nile-grid/nile-grid.css.js +0 -120
  152. package/dist/src/nile-grid/nile-grid.css.js.map +0 -1
  153. package/dist/src/nile-grid/nile-grid.d.ts +0 -39
  154. package/dist/src/nile-grid/nile-grid.js +0 -182
  155. package/dist/src/nile-grid/nile-grid.js.map +0 -1
  156. package/dist/src/nile-grid/renderer.d.ts +0 -8
  157. package/dist/src/nile-grid/renderer.js +0 -78
  158. package/dist/src/nile-grid/renderer.js.map +0 -1
  159. package/dist/src/nile-grid/resize-handler.d.ts +0 -4
  160. package/dist/src/nile-grid/resize-handler.js +0 -36
  161. package/dist/src/nile-grid/resize-handler.js.map +0 -1
  162. package/dist/src/nile-grid/types.d.ts +0 -32
  163. package/dist/src/nile-grid/types.js +0 -2
  164. package/dist/src/nile-grid/types.js.map +0 -1
  165. package/dist/src/nile-grid/utils.d.ts +0 -4
  166. package/dist/src/nile-grid/utils.js +0 -32
  167. package/dist/src/nile-grid/utils.js.map +0 -1
  168. package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +0 -47
  169. package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +0 -16
  170. package/dist/src/nile-icon/icons/svg/ng-action.d.ts +0 -5
  171. package/dist/src/nile-icon/icons/svg/ng-action.js +0 -5
  172. package/dist/src/nile-icon/icons/svg/ng-action.js.map +0 -1
  173. package/dist/src/nile-icon/icons/svg/ng-activity.d.ts +0 -5
  174. package/dist/src/nile-icon/icons/svg/ng-activity.js +0 -5
  175. package/dist/src/nile-icon/icons/svg/ng-activity.js.map +0 -1
  176. package/dist/src/nile-icon/icons/svg/ng-alert-circle.d.ts +0 -5
  177. package/dist/src/nile-icon/icons/svg/ng-alert-circle.js +0 -5
  178. package/dist/src/nile-icon/icons/svg/ng-alert-circle.js.map +0 -1
  179. package/dist/src/nile-icon/icons/svg/ng-align-center.d.ts +0 -5
  180. package/dist/src/nile-icon/icons/svg/ng-align-center.js +0 -5
  181. package/dist/src/nile-icon/icons/svg/ng-align-center.js.map +0 -1
  182. package/dist/src/nile-icon/icons/svg/ng-annotation-x.d.ts +0 -5
  183. package/dist/src/nile-icon/icons/svg/ng-annotation-x.js +0 -5
  184. package/dist/src/nile-icon/icons/svg/ng-annotation-x.js.map +0 -1
  185. package/dist/src/nile-icon/icons/svg/ng-arrow-down.d.ts +0 -5
  186. package/dist/src/nile-icon/icons/svg/ng-arrow-down.js +0 -5
  187. package/dist/src/nile-icon/icons/svg/ng-arrow-down.js.map +0 -1
  188. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.d.ts +0 -5
  189. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js +0 -5
  190. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js.map +0 -1
  191. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.d.ts +0 -5
  192. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js +0 -5
  193. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js.map +0 -1
  194. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.d.ts +0 -5
  195. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.js +0 -5
  196. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.js.map +0 -1
  197. package/dist/src/nile-icon/icons/svg/ng-arrow-up.d.ts +0 -5
  198. package/dist/src/nile-icon/icons/svg/ng-arrow-up.js +0 -5
  199. package/dist/src/nile-icon/icons/svg/ng-arrow-up.js.map +0 -1
  200. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.d.ts +0 -5
  201. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js +0 -5
  202. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js.map +0 -1
  203. package/dist/src/nile-icon/icons/svg/ng-bell-01.d.ts +0 -5
  204. package/dist/src/nile-icon/icons/svg/ng-bell-01.js +0 -5
  205. package/dist/src/nile-icon/icons/svg/ng-bell-01.js.map +0 -1
  206. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.d.ts +0 -5
  207. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js +0 -5
  208. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js.map +0 -1
  209. package/dist/src/nile-icon/icons/svg/ng-bold-01.d.ts +0 -5
  210. package/dist/src/nile-icon/icons/svg/ng-bold-01.js +0 -5
  211. package/dist/src/nile-icon/icons/svg/ng-bold-01.js.map +0 -1
  212. package/dist/src/nile-icon/icons/svg/ng-building-01.d.ts +0 -5
  213. package/dist/src/nile-icon/icons/svg/ng-building-01.js +0 -5
  214. package/dist/src/nile-icon/icons/svg/ng-building-01.js.map +0 -1
  215. package/dist/src/nile-icon/icons/svg/ng-building-05.d.ts +0 -5
  216. package/dist/src/nile-icon/icons/svg/ng-building-05.js +0 -5
  217. package/dist/src/nile-icon/icons/svg/ng-building-05.js.map +0 -1
  218. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.d.ts +0 -5
  219. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.js +0 -5
  220. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.js.map +0 -1
  221. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.d.ts +0 -5
  222. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.js +0 -5
  223. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.js.map +0 -1
  224. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.d.ts +0 -5
  225. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js +0 -5
  226. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js.map +0 -1
  227. package/dist/src/nile-icon/icons/svg/ng-calendar.d.ts +0 -5
  228. package/dist/src/nile-icon/icons/svg/ng-calendar.js +0 -5
  229. package/dist/src/nile-icon/icons/svg/ng-calendar.js.map +0 -1
  230. package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.d.ts +0 -5
  231. package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.js +0 -5
  232. package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.js.map +0 -1
  233. package/dist/src/nile-icon/icons/svg/ng-check-circle.d.ts +0 -5
  234. package/dist/src/nile-icon/icons/svg/ng-check-circle.js +0 -5
  235. package/dist/src/nile-icon/icons/svg/ng-check-circle.js.map +0 -1
  236. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.d.ts +0 -5
  237. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js +0 -5
  238. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js.map +0 -1
  239. package/dist/src/nile-icon/icons/svg/ng-check.d.ts +0 -5
  240. package/dist/src/nile-icon/icons/svg/ng-check.js +0 -5
  241. package/dist/src/nile-icon/icons/svg/ng-check.js.map +0 -1
  242. package/dist/src/nile-icon/icons/svg/ng-chevron-down.d.ts +0 -5
  243. package/dist/src/nile-icon/icons/svg/ng-chevron-down.js +0 -5
  244. package/dist/src/nile-icon/icons/svg/ng-chevron-down.js.map +0 -1
  245. package/dist/src/nile-icon/icons/svg/ng-chevron-left.d.ts +0 -5
  246. package/dist/src/nile-icon/icons/svg/ng-chevron-left.js +0 -5
  247. package/dist/src/nile-icon/icons/svg/ng-chevron-left.js.map +0 -1
  248. package/dist/src/nile-icon/icons/svg/ng-chevron-right.d.ts +0 -5
  249. package/dist/src/nile-icon/icons/svg/ng-chevron-right.js +0 -5
  250. package/dist/src/nile-icon/icons/svg/ng-chevron-right.js.map +0 -1
  251. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.d.ts +0 -5
  252. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js +0 -5
  253. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js.map +0 -1
  254. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.d.ts +0 -5
  255. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js +0 -5
  256. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js.map +0 -1
  257. package/dist/src/nile-icon/icons/svg/ng-chevron-up.d.ts +0 -5
  258. package/dist/src/nile-icon/icons/svg/ng-chevron-up.js +0 -5
  259. package/dist/src/nile-icon/icons/svg/ng-chevron-up.js.map +0 -1
  260. package/dist/src/nile-icon/icons/svg/ng-copy-03.d.ts +0 -5
  261. package/dist/src/nile-icon/icons/svg/ng-copy-03.js +0 -5
  262. package/dist/src/nile-icon/icons/svg/ng-copy-03.js.map +0 -1
  263. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.d.ts +0 -5
  264. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.js +0 -5
  265. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.js.map +0 -1
  266. package/dist/src/nile-icon/icons/svg/ng-dots-grid.d.ts +0 -5
  267. package/dist/src/nile-icon/icons/svg/ng-dots-grid.js +0 -5
  268. package/dist/src/nile-icon/icons/svg/ng-dots-grid.js.map +0 -1
  269. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.d.ts +0 -5
  270. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js +0 -5
  271. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js.map +0 -1
  272. package/dist/src/nile-icon/icons/svg/ng-download-01.d.ts +0 -5
  273. package/dist/src/nile-icon/icons/svg/ng-download-01.js +0 -5
  274. package/dist/src/nile-icon/icons/svg/ng-download-01.js.map +0 -1
  275. package/dist/src/nile-icon/icons/svg/ng-dropdown.d.ts +0 -5
  276. package/dist/src/nile-icon/icons/svg/ng-dropdown.js +0 -5
  277. package/dist/src/nile-icon/icons/svg/ng-dropdown.js.map +0 -1
  278. package/dist/src/nile-icon/icons/svg/ng-edit-02.d.ts +0 -5
  279. package/dist/src/nile-icon/icons/svg/ng-edit-02.js +0 -5
  280. package/dist/src/nile-icon/icons/svg/ng-edit-02.js.map +0 -1
  281. package/dist/src/nile-icon/icons/svg/ng-edit-05.d.ts +0 -5
  282. package/dist/src/nile-icon/icons/svg/ng-edit-05.js +0 -5
  283. package/dist/src/nile-icon/icons/svg/ng-edit-05.js.map +0 -1
  284. package/dist/src/nile-icon/icons/svg/ng-expand-06.d.ts +0 -5
  285. package/dist/src/nile-icon/icons/svg/ng-expand-06.js +0 -5
  286. package/dist/src/nile-icon/icons/svg/ng-expand-06.js.map +0 -1
  287. package/dist/src/nile-icon/icons/svg/ng-eye-off.d.ts +0 -5
  288. package/dist/src/nile-icon/icons/svg/ng-eye-off.js +0 -5
  289. package/dist/src/nile-icon/icons/svg/ng-eye-off.js.map +0 -1
  290. package/dist/src/nile-icon/icons/svg/ng-eye.d.ts +0 -5
  291. package/dist/src/nile-icon/icons/svg/ng-eye.js +0 -5
  292. package/dist/src/nile-icon/icons/svg/ng-eye.js.map +0 -1
  293. package/dist/src/nile-icon/icons/svg/ng-file-02.d.ts +0 -5
  294. package/dist/src/nile-icon/icons/svg/ng-file-02.js +0 -5
  295. package/dist/src/nile-icon/icons/svg/ng-file-02.js.map +0 -1
  296. package/dist/src/nile-icon/icons/svg/ng-file-06.d.ts +0 -5
  297. package/dist/src/nile-icon/icons/svg/ng-file-06.js +0 -5
  298. package/dist/src/nile-icon/icons/svg/ng-file-06.js.map +0 -1
  299. package/dist/src/nile-icon/icons/svg/ng-file-check-02.d.ts +0 -5
  300. package/dist/src/nile-icon/icons/svg/ng-file-check-02.js +0 -5
  301. package/dist/src/nile-icon/icons/svg/ng-file-check-02.js.map +0 -1
  302. package/dist/src/nile-icon/icons/svg/ng-file-question-03.d.ts +0 -5
  303. package/dist/src/nile-icon/icons/svg/ng-file-question-03.js +0 -5
  304. package/dist/src/nile-icon/icons/svg/ng-file-question-03.js.map +0 -1
  305. package/dist/src/nile-icon/icons/svg/ng-filter-lines.d.ts +0 -5
  306. package/dist/src/nile-icon/icons/svg/ng-filter-lines.js +0 -5
  307. package/dist/src/nile-icon/icons/svg/ng-filter-lines.js.map +0 -1
  308. package/dist/src/nile-icon/icons/svg/ng-grid-01.d.ts +0 -5
  309. package/dist/src/nile-icon/icons/svg/ng-grid-01.js +0 -5
  310. package/dist/src/nile-icon/icons/svg/ng-grid-01.js.map +0 -1
  311. package/dist/src/nile-icon/icons/svg/ng-help-circle.d.ts +0 -5
  312. package/dist/src/nile-icon/icons/svg/ng-help-circle.js +0 -5
  313. package/dist/src/nile-icon/icons/svg/ng-help-circle.js.map +0 -1
  314. package/dist/src/nile-icon/icons/svg/ng-image-03.d.ts +0 -5
  315. package/dist/src/nile-icon/icons/svg/ng-image-03.js +0 -5
  316. package/dist/src/nile-icon/icons/svg/ng-image-03.js.map +0 -1
  317. package/dist/src/nile-icon/icons/svg/ng-image-user-left.d.ts +0 -5
  318. package/dist/src/nile-icon/icons/svg/ng-image-user-left.js +0 -5
  319. package/dist/src/nile-icon/icons/svg/ng-image-user-left.js.map +0 -1
  320. package/dist/src/nile-icon/icons/svg/ng-info-circle.d.ts +0 -5
  321. package/dist/src/nile-icon/icons/svg/ng-info-circle.js +0 -5
  322. package/dist/src/nile-icon/icons/svg/ng-info-circle.js.map +0 -1
  323. package/dist/src/nile-icon/icons/svg/ng-italic-01.d.ts +0 -5
  324. package/dist/src/nile-icon/icons/svg/ng-italic-01.js +0 -5
  325. package/dist/src/nile-icon/icons/svg/ng-italic-01.js.map +0 -1
  326. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.d.ts +0 -5
  327. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js +0 -5
  328. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js.map +0 -1
  329. package/dist/src/nile-icon/icons/svg/ng-list.d.ts +0 -5
  330. package/dist/src/nile-icon/icons/svg/ng-list.js +0 -5
  331. package/dist/src/nile-icon/icons/svg/ng-list.js.map +0 -1
  332. package/dist/src/nile-icon/icons/svg/ng-log-out-01.d.ts +0 -5
  333. package/dist/src/nile-icon/icons/svg/ng-log-out-01.js +0 -5
  334. package/dist/src/nile-icon/icons/svg/ng-log-out-01.js.map +0 -1
  335. package/dist/src/nile-icon/icons/svg/ng-mail-01.d.ts +0 -5
  336. package/dist/src/nile-icon/icons/svg/ng-mail-01.js +0 -5
  337. package/dist/src/nile-icon/icons/svg/ng-mail-01.js.map +0 -1
  338. package/dist/src/nile-icon/icons/svg/ng-mail-04.d.ts +0 -5
  339. package/dist/src/nile-icon/icons/svg/ng-mail-04.js +0 -5
  340. package/dist/src/nile-icon/icons/svg/ng-mail-04.js.map +0 -1
  341. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.d.ts +0 -5
  342. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.js +0 -5
  343. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.js.map +0 -1
  344. package/dist/src/nile-icon/icons/svg/ng-menu-05.d.ts +0 -5
  345. package/dist/src/nile-icon/icons/svg/ng-menu-05.js +0 -5
  346. package/dist/src/nile-icon/icons/svg/ng-menu-05.js.map +0 -1
  347. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.d.ts +0 -5
  348. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js +0 -5
  349. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js.map +0 -1
  350. package/dist/src/nile-icon/icons/svg/ng-minimize-02.d.ts +0 -5
  351. package/dist/src/nile-icon/icons/svg/ng-minimize-02.js +0 -5
  352. package/dist/src/nile-icon/icons/svg/ng-minimize-02.js.map +0 -1
  353. package/dist/src/nile-icon/icons/svg/ng-minus.d.ts +0 -5
  354. package/dist/src/nile-icon/icons/svg/ng-minus.js +0 -5
  355. package/dist/src/nile-icon/icons/svg/ng-minus.js.map +0 -1
  356. package/dist/src/nile-icon/icons/svg/ng-plus.d.ts +0 -5
  357. package/dist/src/nile-icon/icons/svg/ng-plus.js +0 -5
  358. package/dist/src/nile-icon/icons/svg/ng-plus.js.map +0 -1
  359. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.d.ts +0 -5
  360. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js +0 -5
  361. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js.map +0 -1
  362. package/dist/src/nile-icon/icons/svg/ng-rocket-02.d.ts +0 -5
  363. package/dist/src/nile-icon/icons/svg/ng-rocket-02.js +0 -5
  364. package/dist/src/nile-icon/icons/svg/ng-rocket-02.js.map +0 -1
  365. package/dist/src/nile-icon/icons/svg/ng-search-lg.d.ts +0 -5
  366. package/dist/src/nile-icon/icons/svg/ng-search-lg.js +0 -5
  367. package/dist/src/nile-icon/icons/svg/ng-search-lg.js.map +0 -1
  368. package/dist/src/nile-icon/icons/svg/ng-send-01.d.ts +0 -5
  369. package/dist/src/nile-icon/icons/svg/ng-send-01.js +0 -5
  370. package/dist/src/nile-icon/icons/svg/ng-send-01.js.map +0 -1
  371. package/dist/src/nile-icon/icons/svg/ng-settings-01.d.ts +0 -5
  372. package/dist/src/nile-icon/icons/svg/ng-settings-01.js +0 -5
  373. package/dist/src/nile-icon/icons/svg/ng-settings-01.js.map +0 -1
  374. package/dist/src/nile-icon/icons/svg/ng-share-04.d.ts +0 -5
  375. package/dist/src/nile-icon/icons/svg/ng-share-04.js +0 -5
  376. package/dist/src/nile-icon/icons/svg/ng-share-04.js.map +0 -1
  377. package/dist/src/nile-icon/icons/svg/ng-share-06.d.ts +0 -5
  378. package/dist/src/nile-icon/icons/svg/ng-share-06.js +0 -5
  379. package/dist/src/nile-icon/icons/svg/ng-share-06.js.map +0 -1
  380. package/dist/src/nile-icon/icons/svg/ng-stars-02.d.ts +0 -5
  381. package/dist/src/nile-icon/icons/svg/ng-stars-02.js +0 -5
  382. package/dist/src/nile-icon/icons/svg/ng-stars-02.js.map +0 -1
  383. package/dist/src/nile-icon/icons/svg/ng-trash-01.d.ts +0 -5
  384. package/dist/src/nile-icon/icons/svg/ng-trash-01.js +0 -5
  385. package/dist/src/nile-icon/icons/svg/ng-trash-01.js.map +0 -1
  386. package/dist/src/nile-icon/icons/svg/ng-trash-03.d.ts +0 -5
  387. package/dist/src/nile-icon/icons/svg/ng-trash-03.js +0 -5
  388. package/dist/src/nile-icon/icons/svg/ng-trash-03.js.map +0 -1
  389. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.d.ts +0 -5
  390. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js +0 -5
  391. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js.map +0 -1
  392. package/dist/src/nile-icon/icons/svg/ng-underline-01.d.ts +0 -5
  393. package/dist/src/nile-icon/icons/svg/ng-underline-01.js +0 -5
  394. package/dist/src/nile-icon/icons/svg/ng-underline-01.js.map +0 -1
  395. package/dist/src/nile-icon/icons/svg/ng-upload-01.d.ts +0 -5
  396. package/dist/src/nile-icon/icons/svg/ng-upload-01.js +0 -5
  397. package/dist/src/nile-icon/icons/svg/ng-upload-01.js.map +0 -1
  398. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.d.ts +0 -5
  399. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js +0 -5
  400. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js.map +0 -1
  401. package/dist/src/nile-icon/icons/svg/ng-user-01.d.ts +0 -5
  402. package/dist/src/nile-icon/icons/svg/ng-user-01.js +0 -5
  403. package/dist/src/nile-icon/icons/svg/ng-user-01.js.map +0 -1
  404. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.d.ts +0 -5
  405. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js +0 -5
  406. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js.map +0 -1
  407. package/dist/src/nile-icon/icons/svg/ng-user-check-02.d.ts +0 -5
  408. package/dist/src/nile-icon/icons/svg/ng-user-check-02.js +0 -5
  409. package/dist/src/nile-icon/icons/svg/ng-user-check-02.js.map +0 -1
  410. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.d.ts +0 -5
  411. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js +0 -5
  412. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js.map +0 -1
  413. package/dist/src/nile-icon/icons/svg/ng-user-right-01.d.ts +0 -5
  414. package/dist/src/nile-icon/icons/svg/ng-user-right-01.js +0 -5
  415. package/dist/src/nile-icon/icons/svg/ng-user-right-01.js.map +0 -1
  416. package/dist/src/nile-icon/icons/svg/ng-users-01.d.ts +0 -5
  417. package/dist/src/nile-icon/icons/svg/ng-users-01.js +0 -5
  418. package/dist/src/nile-icon/icons/svg/ng-users-01.js.map +0 -1
  419. package/dist/src/nile-icon/icons/svg/ng-x-circle.d.ts +0 -5
  420. package/dist/src/nile-icon/icons/svg/ng-x-circle.js +0 -5
  421. package/dist/src/nile-icon/icons/svg/ng-x-circle.js.map +0 -1
  422. package/dist/src/nile-icon/icons/svg/ng-x-close.d.ts +0 -5
  423. package/dist/src/nile-icon/icons/svg/ng-x-close.js +0 -5
  424. package/dist/src/nile-icon/icons/svg/ng-x-close.js.map +0 -1
  425. package/dist/src/nile-icon/icons/svg/ng-x-square.d.ts +0 -5
  426. package/dist/src/nile-icon/icons/svg/ng-x-square.js +0 -5
  427. package/dist/src/nile-icon/icons/svg/ng-x-square.js.map +0 -1
  428. package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +0 -75
  429. package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +0 -22
  430. package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +0 -9
  431. package/dist/src/nile-table-body/virtual-scroll-helper.js +0 -24
  432. package/dist/src/nile-table-body/virtual-scroll-helper.js.map +0 -1
  433. package/dist/src/nile-virtual-table-body/index.d.ts +0 -2
  434. package/dist/src/nile-virtual-table-body/index.js +0 -3
  435. package/dist/src/nile-virtual-table-body/index.js.map +0 -1
  436. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +0 -1
  437. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +0 -44
  438. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +0 -1
  439. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +0 -50
  440. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +0 -135
  441. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +0 -1
  442. package/dist/src/nile-virtual-table-body/renderer.d.ts +0 -16
  443. package/dist/src/nile-virtual-table-body/renderer.js +0 -49
  444. package/dist/src/nile-virtual-table-body/renderer.js.map +0 -1
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.73-beta-1.8",
6
+ "version": "0.1.73",
7
7
  "main": "dist/src/index.js",
8
8
  "type": "module",
9
9
  "module": "dist/src/index.js",
@@ -179,7 +179,7 @@ export class NileInput extends NileElement implements NileFormControl {
179
179
  @property() autocomplete: string = 'off';
180
180
 
181
181
  /** Indicates that the input should receive focus on page load. */
182
- @property({ type: Boolean }) autofocus: boolean;
182
+ @property({ type: Boolean, attribute: true, reflect: true }) autofocus: boolean;
183
183
 
184
184
  /** Used to customize the label or icon of the Enter key on virtual keyboards. */
185
185
  @property() enterkeyhint:
@@ -501,6 +501,10 @@ export class NileInput extends NileElement implements NileFormControl {
501
501
  this.formControlController.updateValidity();
502
502
  }
503
503
 
504
+ public inputFocus() {
505
+ this.input.focus();
506
+ }
507
+
504
508
  render() {
505
509
  const hasLabelSlot = this.hasSlotController.test('label');
506
510
  const hasHelpTextSlot = this.hasSlotController.test('help-text');
@@ -19,7 +19,7 @@ export class NileOptionGroup extends NileElement {
19
19
  }
20
20
 
21
21
  @property({type: String, reflect: true, attribute: true}) name: string = "";
22
- @property({type: Object, attribute: true}) data: OptionGroupData | null = null;
22
+ @property({ type: Object, reflect: true, attribute: true}) data: OptionGroupData | null = null;
23
23
 
24
24
  private checkForImageOrIcon() {
25
25
  return this.data?.prefix?.icon?.name || this.data?.prefix?.image?.src || this.data?.prefix?.prefixText;
@@ -51,6 +51,9 @@ export class NileRadio extends NileElement {
51
51
  /** The radio's labelborder. */
52
52
  @property({ type: Boolean, reflect: true }) islabelborder = false;
53
53
 
54
+
55
+ @property({ type: Boolean, reflect: true }) allowUncheck = false;
56
+
54
57
  connectedCallback() {
55
58
  super.connectedCallback();
56
59
  this.handleBlur = this.handleBlur.bind(this);
@@ -85,7 +88,10 @@ export class NileRadio extends NileElement {
85
88
  }
86
89
 
87
90
  private handleClick() {
88
- if (!this.disabled) {
91
+
92
+ if(this.allowUncheck && !this.disabled) {
93
+ this.checked = !this.checked;
94
+ } else if (!this.disabled) {
89
95
  this.checked = true;
90
96
  }
91
97
  }
@@ -6,7 +6,7 @@ import { html } from 'lit';
6
6
  import { watch } from '../internal/watch';
7
7
  import NileElement from '../internal/nile-element';
8
8
  import styles from './nile-radio-group.css';
9
- import type { CSSResultGroup } from 'lit';
9
+ import type { CSSResultGroup, PropertyValues } from 'lit';
10
10
  import type NileRadio from '../nile-radio/nile-radio';
11
11
 
12
12
  /**
@@ -73,6 +73,9 @@ export class NileRadioGroup extends NileElement {
73
73
  /** The radio's labelborder for whole gp. */
74
74
  @property({ type: Boolean, reflect: true }) islabelborder = false;
75
75
 
76
+ /** Allow the radio to be unchecked. */
77
+ @property({ type: Boolean, reflect: true, attribute: true }) allowUncheckGroup = false;
78
+
76
79
  connectedCallback() {
77
80
  super.connectedCallback();
78
81
  this.defaultValue = this.value;
@@ -99,11 +102,30 @@ export class NileRadioGroup extends NileElement {
99
102
  }
100
103
 
101
104
  this.value = target.value;
102
- radios.forEach(radio => (radio.checked = radio === target));
105
+ if (!this.allowUncheckGroup) {
106
+ radios.forEach(radio => {
107
+ radio.checked = radio === target;
108
+ });
109
+ }
103
110
 
104
- if (this.value !== oldValue) {
105
- this.emit('change',{value: this.value });
111
+ if (!this.allowUncheckGroup && this.value !== oldValue) {
112
+ this.emit('change', { value: this.value});
106
113
  this.emit('input');
114
+ } else if (this.allowUncheckGroup) {
115
+ this.emit('change', { value: this.value , checked: target.checked});
116
+ this.emit('input');
117
+ }
118
+ }
119
+
120
+ protected updated(changedProperties: PropertyValues): void {
121
+ super.updated(changedProperties);
122
+
123
+ if (changedProperties.has('allowUncheckGroup')) {
124
+ if (this.allowUncheckGroup) {
125
+ this.getAllRadios().forEach(radio => {
126
+ radio.allowUncheck = true;
127
+ });
128
+ }
107
129
  }
108
130
  }
109
131
 
@@ -119,6 +119,7 @@ export class NileSelect extends NileElement implements NileFormControl{
119
119
  private typeToSelectTimeout: number;
120
120
  private scrollTimeout: number | undefined;
121
121
  private scrolling = false;
122
+ private options: NileOption[] = [];
122
123
 
123
124
  @query('.select') popup: NilePopup;
124
125
  @query('.select__combobox') combobox: HTMLSlotElement;
@@ -269,6 +270,9 @@ export class NileSelect extends NileElement implements NileFormControl{
269
270
  /** To enable the group header in the select */
270
271
  @property({ type: Boolean, reflect: true, attribute: true }) enableGroupHeader = false;
271
272
 
273
+ /** To auto focus the search input when the select is opened */
274
+ @property({ type: Boolean, reflect: true, attribute: true }) autoFocusSearch = false;
275
+
272
276
  /** Gets the validity state object */
273
277
  get validity() {
274
278
  return this.valueInput?.validity;
@@ -310,8 +314,6 @@ export class NileSelect extends NileElement implements NileFormControl{
310
314
  this.emit('nile-destroy');
311
315
  }
312
316
 
313
- private options: NileOption[] = [];
314
-
315
317
  protected updated(_changedProperties: PropertyValues): void {
316
318
  if(_changedProperties.has('multiple')) {
317
319
  this.setCheckBoxInOption(this.multiple as boolean);
@@ -845,11 +847,11 @@ export class NileSelect extends NileElement implements NileFormControl{
845
847
 
846
848
  handleSearchChange(e: any) {
847
849
  this.searchValue = e.detail.value;
848
- this.emit('nile-search', {
850
+ this.emit('nile-search', {
849
851
  query: this.searchValue,
850
- name: this.name
852
+ name: this.name
851
853
  });
852
-
854
+
853
855
  if(this.enableGroupHeader) {
854
856
  this.handleGroupSearchChange();
855
857
  }
@@ -866,7 +868,7 @@ export class NileSelect extends NileElement implements NileFormControl{
866
868
 
867
869
  handleScroll(e: Event): void {
868
870
  const target = e.target as HTMLElement;
869
-
871
+
870
872
  this.emit('nile-scroll', {
871
873
  scrollTop: target.scrollTop,
872
874
  scrollLeft: target.scrollLeft,
@@ -891,12 +893,12 @@ export class NileSelect extends NileElement implements NileFormControl{
891
893
 
892
894
  const isAtBottom = Math.ceil(target.scrollTop) >= Math.floor(target.scrollHeight - target.offsetHeight);
893
895
  if (isAtBottom) {
894
- this.emit('nile-scroll-end', {
895
- scrollTop: target.scrollTop,
896
- scrollLeft: target.scrollLeft,
897
- name: this.name,
898
- isAtBottom: true
899
- });
896
+ this.emit('nile-scroll-end', {
897
+ scrollTop: target.scrollTop,
898
+ scrollLeft: target.scrollLeft,
899
+ name: this.name,
900
+ isAtBottom: true
901
+ });
900
902
  }
901
903
  }
902
904
 
@@ -986,6 +988,9 @@ export class NileSelect extends NileElement implements NileFormControl{
986
988
  this.filterOptions(this.searchValue);
987
989
 
988
990
  this.emit('nile-after-show', { value: this.value, name: this.name });
991
+ if (this.autoFocusSearch) {
992
+ this.handleInputAfterInit();
993
+ }
989
994
  } else {
990
995
  // Hide
991
996
  this.emit('nile-hide', { value: this.value, name: this.name });
@@ -1157,6 +1162,10 @@ export class NileSelect extends NileElement implements NileFormControl{
1157
1162
  }, 1);
1158
1163
  }
1159
1164
 
1165
+ handleInputAfterInit() {
1166
+ this.shadowRoot?.querySelector('nile-input')?.inputFocus();
1167
+ }
1168
+
1160
1169
  render() {
1161
1170
  if(this.enableVirtualScroll) {
1162
1171
  return this.virtualScrollHelper.renderVirtualizedContent();
@@ -1412,6 +1421,7 @@ export class NileSelect extends NileElement implements NileFormControl{
1412
1421
  @nile-input=${this.handleSearchChange}
1413
1422
  @nile-focus=${this.handleSearchFocus}
1414
1423
  @nile-change="${this.onInputChange}"
1424
+ @nile-after-init=${this.handleInputAfterInit}
1415
1425
  >
1416
1426
  <nile-icon name="search" slot="suffix"> </nile-icon>
1417
1427
  </nile-input>
@@ -29,7 +29,7 @@ import { HasSlotController } from '../internal/slot';
29
29
  import { waitForEvent } from '../internal/event';
30
30
  import { watch } from '../internal/watch';
31
31
  import NileElement from '../internal/nile-element';
32
- import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
32
+ import type { CSSResultGroup, TemplateResult } from 'lit';
33
33
  import type { NileFormControl } from '../internal/nile-element';
34
34
  import type NileOption from '../nile-option/nile-option';
35
35
  import type NilePopup from '../nile-popup/nile-popup';
@@ -73,10 +73,6 @@ 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).
80
76
  *
81
77
  * @csspart form-control - The form control that wraps the label, input, and help text.
82
78
  * @csspart form-control-label - The label's wrapper.
@@ -115,9 +111,6 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
115
111
  @state() displayLabel = '';
116
112
  @state() selectedOptions: VirtualOption[] = [];
117
113
  @state() oldValue: string | string[] = '';
118
-
119
- private scrollTimeout: number | undefined;
120
- private scrolling = false;
121
114
 
122
115
  /** The name of the select, submitted as a name/value pair with form data. */
123
116
  @property() name = '';
@@ -272,17 +265,6 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
272
265
 
273
266
  disconnectedCallback() {
274
267
  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
- }
280
- }
281
-
282
- protected updated(changedProperties: PropertyValues): void {
283
- if(changedProperties.has('value')) {
284
- this.selectionChanged();
285
- }
286
268
  }
287
269
 
288
270
  private initializeComponent(): void {
@@ -646,54 +628,12 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
646
628
 
647
629
  handleSearchChange(e: any): void {
648
630
  this.searchValue = e.detail.value;
649
-
650
- this.emit('nile-search', {
651
- query: this.searchValue,
652
- name: this.name
653
- });
654
-
655
631
  if (!this.disableLocalSearch) {
656
632
  this.filterVirtualOptions(this.searchValue);
657
633
  this.resetScrollPosition();
658
634
  }
659
635
  }
660
636
 
661
- handleScroll(e: Event): void {
662
- const target = e.target as HTMLElement;
663
-
664
- this.emit('nile-scroll', {
665
- scrollTop: target.scrollTop,
666
- scrollLeft: target.scrollLeft,
667
- name: this.name
668
- });
669
-
670
- if (!this.scrolling) {
671
- this.scrolling = true;
672
- this.emit('nile-scroll-start', {
673
- scrollTop: target.scrollTop,
674
- scrollLeft: target.scrollLeft,
675
- name: this.name
676
- });
677
- }
678
-
679
- clearTimeout(this.scrollTimeout);
680
- this.scrollTimeout = window.setTimeout(() => {
681
- if (this.scrolling) {
682
- this.scrolling = false;
683
- }
684
- }, 300);
685
-
686
- const isAtBottom = Math.ceil(target.scrollTop) >= Math.floor(target.scrollHeight - target.offsetHeight);
687
- if (isAtBottom) {
688
- this.emit('nile-scroll-end', {
689
- scrollTop: target.scrollTop,
690
- scrollLeft: target.scrollLeft,
691
- name: this.name,
692
- isAtBottom: true
693
- });
694
- }
695
- }
696
-
697
637
  filterVirtualOptions(searchValue: string): void {
698
638
  const result = VirtualSelectSearchManager.filterVirtualOptions(
699
639
  searchValue,
@@ -730,10 +670,6 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
730
670
 
731
671
  @watch('data', { waitUntilFirstUpdate: true })
732
672
  handleDataChange(): void {
733
- if (this.data.length > 0 && this.open) {
734
- this.originalOptionItems = [...this.data];
735
- }
736
-
737
673
  this.selectionChanged();
738
674
  // Show no results message when data is empty and not loading
739
675
  if (!this.optionsLoading && this.data.length === 0) {
@@ -742,6 +678,10 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
742
678
  this.showNoResults = false;
743
679
  }
744
680
  this.requestUpdate();
681
+
682
+ if (this.open) {
683
+ this.resetScrollPosition();
684
+ }
745
685
  }
746
686
 
747
687
  @watch('renderItemConfig', { waitUntilFirstUpdate: true })
@@ -805,7 +745,7 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
805
745
  }
806
746
 
807
747
  private initializeOriginalItems(): void {
808
- if (this.data.length > 0) {
748
+ if (this.originalOptionItems.length === 0 && this.data.length > 0) {
809
749
  this.originalOptionItems = [...this.data];
810
750
  }
811
751
  }
@@ -1257,8 +1197,7 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
1257
1197
  this.renderItemConfig?.getValue,
1258
1198
  this.showNoResults,
1259
1199
  this.noResultsMessage,
1260
- this.optionsLoading,
1261
- this.handleScroll.bind(this)
1200
+ this.optionsLoading
1262
1201
  );
1263
1202
  }
1264
1203
 
@@ -21,8 +21,7 @@ export class VirtualSelectRenderer {
21
21
  getItemValue?: (item: any) => string,
22
22
  showNoResults?: boolean,
23
23
  noResultsMessage?: string,
24
- optionsLoading?: boolean,
25
- onScroll?: (e: Event) => void
24
+ optionsLoading?: boolean
26
25
  ): TemplateResult {
27
26
  return html`
28
27
  <div part="select-options" class="select__options ${
@@ -38,7 +37,6 @@ export class VirtualSelectRenderer {
38
37
  <div
39
38
  class="virtualized"
40
39
  part="virtualized"
41
- @scroll=${onScroll}
42
40
  >
43
41
  ${VirtualSelectRenderer.shouldUseVirtualizer(data)
44
42
  ? html`
@@ -72,8 +70,8 @@ export class VirtualSelectRenderer {
72
70
 
73
71
  const optionValue = valueFn(item);
74
72
  const displayText = displayTextFn(item);
75
- const isDisabled = item?.disabled || false;
76
- const className = item?.className;
73
+ const isDisabled = item.disabled || false;
74
+ const className = item.className;
77
75
 
78
76
  let isSelected = false;
79
77
  if (multiple) {
@@ -97,9 +95,9 @@ export class VirtualSelectRenderer {
97
95
 
98
96
  /**
99
97
  * Determines whether to use virtualizer based on dataset size
100
- * For small datasets (less than 5 items), use regular rendering for better sizing
98
+ * For small datasets (less than 50 items), use regular rendering for better sizing
101
99
  */
102
100
  private static shouldUseVirtualizer(data: any[]): boolean {
103
- return data.length >= 5;
101
+ return data.length >= 50;
104
102
  }
105
103
  }
@@ -2867,7 +2867,7 @@
2867
2867
  },
2868
2868
  {
2869
2869
  "name": "nile-radio-group",
2870
- "description": "Events:\n\n * `change` {} - Emitted when the radio group's selected value changes.\n\n * `input` {} - Emitted when the radio group receives user input.\n\n * `invalid` {} - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\nSlots:\n\n * ` ` {} - The default slot where `<nile-radio>` or `<nile-radio-button>` elements are placed.\n\n * `label` {} - The radio group's label. Required for proper accessibility. Alternatively, you can use the `label`\nattribute.\n\nAttributes:\n\n * `label` {`string`} - The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.\n\n * `name` {`string`} - The name of the radio group, submitted as a name/value pair with form data.\n\n * `value` {`string`} - The current value of the radio group, submitted as a name/value pair with form data.\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`} - Ensures a child radio is checked before allowing the containing form to submit.\n\n * `labelInline` {`boolean`} - Used to show radio in inline or not\n\n * `disabled` {`boolean`} - Used to disabled or not\n\n * `help-text` {`string`} - \n\n * `error-message` {`string`} - \n\n * `islabelborder` {`boolean`} - The radio's labelborder for whole gp.\n\nProperties:\n\n * `styles` - \n\n * `hasSlotController` - \n\n * `customValidityMessage` {`string`} - \n\n * `defaultSlot` {`HTMLSlotElement`} - \n\n * `hasButtonGroup` {`boolean`} - \n\n * `defaultValue` {`string`} - \n\n * `label` {`string`} - The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.\n\n * `name` {`string`} - The name of the radio group, submitted as a name/value pair with form data.\n\n * `value` {`string`} - The current value of the radio group, submitted as a name/value pair with form data.\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`} - Ensures a child radio is checked before allowing the containing form to submit.\n\n * `labelInline` {`boolean`} - Used to show radio in inline or not\n\n * `disabled` {`boolean`} - Used to disabled or not\n\n * `helpText` {`string`} - \n\n * `errorMessage` {`string`} - \n\n * `islabelborder` {`boolean`} - The radio's labelborder for whole gp.\n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
2870
+ "description": "Events:\n\n * `change` {} - Emitted when the radio group's selected value changes.\n\n * `input` {} - Emitted when the radio group receives user input.\n\n * `invalid` {} - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n\nSlots:\n\n * ` ` {} - The default slot where `<nile-radio>` or `<nile-radio-button>` elements are placed.\n\n * `label` {} - The radio group's label. Required for proper accessibility. Alternatively, you can use the `label`\nattribute.\n\nAttributes:\n\n * `label` {`string`} - The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.\n\n * `name` {`string`} - The name of the radio group, submitted as a name/value pair with form data.\n\n * `value` {`string`} - The current value of the radio group, submitted as a name/value pair with form data.\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`} - Ensures a child radio is checked before allowing the containing form to submit.\n\n * `labelInline` {`boolean`} - Used to show radio in inline or not\n\n * `disabled` {`boolean`} - Used to disabled or not\n\n * `help-text` {`string`} - \n\n * `error-message` {`string`} - \n\n * `islabelborder` {`boolean`} - The radio's labelborder for whole gp.\n\n * `allowUncheckGroup` {`boolean`} - Allow the radio to be unchecked.\n\nProperties:\n\n * `styles` - \n\n * `hasSlotController` - \n\n * `customValidityMessage` {`string`} - \n\n * `defaultSlot` {`HTMLSlotElement`} - \n\n * `hasButtonGroup` {`boolean`} - \n\n * `defaultValue` {`string`} - \n\n * `label` {`string`} - The radio group's label. Required for proper accessibility. If you need to display HTML, use the `label` slot\ninstead.\n\n * `name` {`string`} - The name of the radio group, submitted as a name/value pair with form data.\n\n * `value` {`string`} - The current value of the radio group, submitted as a name/value pair with form data.\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`} - Ensures a child radio is checked before allowing the containing form to submit.\n\n * `labelInline` {`boolean`} - Used to show radio in inline or not\n\n * `disabled` {`boolean`} - Used to disabled or not\n\n * `helpText` {`string`} - \n\n * `errorMessage` {`string`} - \n\n * `islabelborder` {`boolean`} - The radio's labelborder for whole gp.\n\n * `allowUncheckGroup` {`boolean`} - Allow the radio to be unchecked.\n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
2871
2871
  "attributes": [
2872
2872
  {
2873
2873
  "name": "label",
@@ -2913,6 +2913,11 @@
2913
2913
  "description": "`islabelborder` {`boolean`} - The radio's labelborder for whole gp.\n\nProperty: islabelborder\n\nDefault: false",
2914
2914
  "valueSet": "v"
2915
2915
  },
2916
+ {
2917
+ "name": "allowUncheckGroup",
2918
+ "description": "`allowUncheckGroup` {`boolean`} - Allow the radio to be unchecked.\n\nProperty: allowUncheckGroup\n\nDefault: false",
2919
+ "valueSet": "v"
2920
+ },
2916
2921
  {
2917
2922
  "name": "onchange",
2918
2923
  "description": "`change` {} - Emitted when the radio group's selected value changes."
@@ -2929,7 +2934,7 @@
2929
2934
  },
2930
2935
  {
2931
2936
  "name": "nile-radio",
2932
- "description": "Nile icon component.\n\nEvents:\n\n * `blur` {} - Emitted when the control loses focus.\n\n * `focus` {} - Emitted when the control gains focus.\n\nSlots:\n\n * ` ` {} - The radio's label.\n\nAttributes:\n\n * `checked` {`boolean`} - \n\n * `value` {`string`} - The radio's value. When selected, the radio group will receive this value.\n\n * `size` {`\"medium\" | \"small\" | \"large\"`} - The radio's size.\n\n * `disabled` {`boolean`} - Disables the radio.\n\n * `islabelborder` {`boolean`} - The radio's labelborder.\n\nProperties:\n\n * `styles` - \n\n * `checked` {`boolean`} - \n\n * `hasFocus` {`boolean`} - \n\n * `value` {`string`} - The radio's value. When selected, the radio group will receive this value.\n\n * `size` {`\"medium\" | \"small\" | \"large\"`} - The radio's size.\n\n * `disabled` {`boolean`} - Disables the radio.\n\n * `islabelborder` {`boolean`} - The radio's labelborder.\n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
2937
+ "description": "Nile icon component.\n\nEvents:\n\n * `blur` {} - Emitted when the control loses focus.\n\n * `focus` {} - Emitted when the control gains focus.\n\nSlots:\n\n * ` ` {} - The radio's label.\n\nAttributes:\n\n * `checked` {`boolean`} - \n\n * `value` {`string`} - The radio's value. When selected, the radio group will receive this value.\n\n * `size` {`\"medium\" | \"small\" | \"large\"`} - The radio's size.\n\n * `disabled` {`boolean`} - Disables the radio.\n\n * `islabelborder` {`boolean`} - The radio's labelborder.\n\n * `allowUncheck` {`boolean`} - \n\nProperties:\n\n * `styles` - \n\n * `checked` {`boolean`} - \n\n * `hasFocus` {`boolean`} - \n\n * `value` {`string`} - The radio's value. When selected, the radio group will receive this value.\n\n * `size` {`\"medium\" | \"small\" | \"large\"`} - The radio's size.\n\n * `disabled` {`boolean`} - Disables the radio.\n\n * `islabelborder` {`boolean`} - The radio's labelborder.\n\n * `allowUncheck` {`boolean`} - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
2933
2938
  "attributes": [
2934
2939
  {
2935
2940
  "name": "checked",
@@ -2965,6 +2970,11 @@
2965
2970
  "description": "`islabelborder` {`boolean`} - The radio's labelborder.\n\nProperty: islabelborder\n\nDefault: false",
2966
2971
  "valueSet": "v"
2967
2972
  },
2973
+ {
2974
+ "name": "allowUncheck",
2975
+ "description": "`allowUncheck` {`boolean`} - \n\nProperty: allowUncheck\n\nDefault: false",
2976
+ "valueSet": "v"
2977
+ },
2968
2978
  {
2969
2979
  "name": "onblur",
2970
2980
  "description": "`blur` {} - Emitted when the control loses focus."
@@ -3013,7 +3023,7 @@
3013
3023
  },
3014
3024
  {
3015
3025
  "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\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`} - ",
3026
+ "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 * `autoFocusSearch` {`boolean`} - To auto focus the search input when the select is opened\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 * `options` {`NileOption[]`} - \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 * `autoFocusSearch` {`boolean`} - To auto focus the search input when the select is opened\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
3027
  "attributes": [
3018
3028
  {
3019
3029
  "name": "size",
@@ -3164,6 +3174,11 @@
3164
3174
  "description": "`enableGroupHeader` {`boolean`} - To enable the group header in the select\n\nProperty: enableGroupHeader\n\nDefault: false",
3165
3175
  "valueSet": "v"
3166
3176
  },
3177
+ {
3178
+ "name": "autoFocusSearch",
3179
+ "description": "`autoFocusSearch` {`boolean`} - To auto focus the search input when the select is opened\n\nProperty: autoFocusSearch\n\nDefault: false",
3180
+ "valueSet": "v"
3181
+ },
3167
3182
  {
3168
3183
  "name": "name",
3169
3184
  "description": "`name` {`string`} - The name of the select, submitted as a name/value pair with form data.\n\nProperty: name\n\nDefault: "
@@ -4356,7 +4371,7 @@
4356
4371
  },
4357
4372
  {
4358
4373
  "name": "nile-virtual-select",
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`} - ",
4374
+ "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`} - ",
4360
4375
  "attributes": [
4361
4376
  {
4362
4377
  "name": "data",
@@ -4559,22 +4574,6 @@
4559
4574
  {
4560
4575
  "name": "onnile-invalid",
4561
4576
  "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)."
4578
4577
  }
4579
4578
  ]
4580
4579
  }