@aquera/nile-elements 0.1.65-beta-1.0 → 0.1.65

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 (1263) hide show
  1. package/README.md +30 -1
  2. package/demo/index.html +18 -120
  3. package/dist/{fixture-75825990.cjs.js → fixture-3bfb4490.cjs.js} +2 -2
  4. package/dist/{fixture-75825990.cjs.js.map → fixture-3bfb4490.cjs.js.map} +1 -1
  5. package/dist/{fixture-e831ec79.esm.js → fixture-8edec91c.esm.js} +1 -1
  6. package/dist/index.cjs.js +1 -1
  7. package/dist/index.esm.js +1 -1
  8. package/dist/index.js +7871 -5850
  9. package/dist/internal/form.cjs.js +1 -1
  10. package/dist/internal/form.cjs.js.map +1 -1
  11. package/dist/internal/form.esm.js +1 -1
  12. package/dist/internal/resizable-table-helper.cjs.js +2 -0
  13. package/dist/internal/resizable-table-helper.cjs.js.map +1 -0
  14. package/dist/internal/resizable-table-helper.esm.js +1 -0
  15. package/dist/internal/resizable-table-styles.cjs.js +2 -0
  16. package/dist/internal/resizable-table-styles.cjs.js.map +1 -0
  17. package/dist/internal/resizable-table-styles.esm.js +132 -0
  18. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  19. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  20. package/dist/nile-auto-complete/index.cjs.js +1 -1
  21. package/dist/nile-auto-complete/index.esm.js +1 -1
  22. package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -17
  23. package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
  24. package/dist/nile-auto-complete/nile-auto-complete.esm.js +8 -29
  25. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  26. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js.map +1 -1
  27. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  28. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  29. package/dist/nile-avatar/nile-avatar.test.cjs.js.map +1 -1
  30. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  31. package/dist/nile-badge/index.cjs.js +1 -1
  32. package/dist/nile-badge/index.esm.js +1 -1
  33. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  34. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  35. package/dist/nile-badge/nile-badge.esm.js +1 -1
  36. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  37. package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -1
  38. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  39. package/dist/nile-button/index.cjs.js +1 -1
  40. package/dist/nile-button/index.esm.js +1 -1
  41. package/dist/nile-button/nile-button.cjs.js +1 -1
  42. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  43. package/dist/nile-button/nile-button.esm.js +2 -2
  44. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  45. package/dist/nile-button/nile-button.test.cjs.js.map +1 -1
  46. package/dist/nile-button/nile-button.test.esm.js +1 -1
  47. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  48. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  49. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  50. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
  51. package/dist/nile-calendar/nile-calendar.test.esm.js +5 -5
  52. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  53. package/dist/nile-card/nile-card.test.esm.js +1 -1
  54. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  55. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  56. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  57. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  58. package/dist/nile-chip/nile-chip.esm.js +1 -1
  59. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  60. package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
  61. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  62. package/dist/nile-code-editor/extensionSetup.cjs.js +5 -5
  63. package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
  64. package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
  65. package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
  66. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  67. package/dist/nile-code-editor/nile-code-editor.esm.js +3 -3
  68. package/dist/nile-code-editor/theme.cjs.js +1 -1
  69. package/dist/nile-code-editor/theme.cjs.js.map +1 -1
  70. package/dist/nile-code-editor/theme.esm.js +1 -1
  71. package/dist/nile-dialog/index.cjs.js +1 -1
  72. package/dist/nile-dialog/index.esm.js +1 -1
  73. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  74. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  75. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  76. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  77. package/dist/nile-dialog/nile-dialog.test.cjs.js.map +1 -1
  78. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  79. package/dist/nile-drawer/index.cjs.js +1 -1
  80. package/dist/nile-drawer/index.esm.js +1 -1
  81. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  82. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  83. package/dist/nile-drawer/nile-drawer.esm.js +2 -2
  84. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  85. package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -1
  86. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  87. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  88. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  89. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  90. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  91. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  92. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  93. package/dist/nile-file-preview/nile-file-preview.cjs.js +1 -1
  94. package/dist/nile-file-preview/nile-file-preview.cjs.js.map +1 -1
  95. package/dist/nile-file-preview/nile-file-preview.css.cjs.js +1 -1
  96. package/dist/nile-file-preview/nile-file-preview.css.cjs.js.map +1 -1
  97. package/dist/nile-file-preview/nile-file-preview.css.esm.js +203 -184
  98. package/dist/nile-file-preview/nile-file-preview.esm.js +1 -3
  99. package/dist/nile-file-preview/nile-file-preview.template.cjs.js +1 -1
  100. package/dist/nile-file-preview/nile-file-preview.template.cjs.js.map +1 -1
  101. package/dist/nile-file-preview/nile-file-preview.template.esm.js +59 -62
  102. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  103. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  104. package/dist/nile-file-preview/types/nile-file-preview.enums.cjs.js +1 -1
  105. package/dist/nile-file-preview/types/nile-file-preview.enums.cjs.js.map +1 -1
  106. package/dist/nile-file-preview/types/nile-file-preview.enums.esm.js +1 -1
  107. package/dist/nile-file-preview/utils/index.cjs.js +1 -1
  108. package/dist/nile-file-preview/utils/index.esm.js +1 -1
  109. package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js +1 -1
  110. package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js.map +1 -1
  111. package/dist/nile-file-preview/utils/nile-file-preview.util.esm.js +1 -1
  112. package/dist/nile-file-upload/index.cjs.js +1 -1
  113. package/dist/nile-file-upload/index.esm.js +1 -1
  114. package/dist/nile-file-upload/nile-file-upload.cjs.js +1 -1
  115. package/dist/nile-file-upload/nile-file-upload.cjs.js.map +1 -1
  116. package/dist/nile-file-upload/nile-file-upload.css.cjs.js +1 -1
  117. package/dist/nile-file-upload/nile-file-upload.css.cjs.js.map +1 -1
  118. package/dist/nile-file-upload/nile-file-upload.css.esm.js +142 -89
  119. package/dist/nile-file-upload/nile-file-upload.esm.js +2 -2
  120. package/dist/nile-file-upload/nile-file-upload.template.cjs.js +3 -3
  121. package/dist/nile-file-upload/nile-file-upload.template.cjs.js.map +1 -1
  122. package/dist/nile-file-upload/nile-file-upload.template.esm.js +44 -98
  123. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  124. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  125. package/dist/nile-file-upload/types/file-upload.enums.cjs.js +1 -1
  126. package/dist/nile-file-upload/types/file-upload.enums.cjs.js.map +1 -1
  127. package/dist/nile-file-upload/types/file-upload.enums.esm.js +1 -1
  128. package/dist/nile-file-upload/utils/drag-drop.util.cjs.js +1 -1
  129. package/dist/nile-file-upload/utils/drag-drop.util.cjs.js.map +1 -1
  130. package/dist/nile-file-upload/utils/drag-drop.util.esm.js +1 -1
  131. package/dist/nile-file-upload/utils/file-validation.util.cjs.js +2 -1
  132. package/dist/nile-file-upload/utils/file-validation.util.cjs.js.map +1 -1
  133. package/dist/nile-file-upload/utils/file-validation.util.esm.js +1 -1
  134. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  135. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  136. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  137. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  138. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  139. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  140. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  141. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  142. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  143. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  144. package/dist/nile-icon/index.cjs.js +1 -1
  145. package/dist/nile-icon/index.cjs.js.map +1 -1
  146. package/dist/nile-icon/index.esm.js +1 -1
  147. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  148. package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -1
  149. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  150. package/dist/nile-icon-button/index.cjs.js +1 -1
  151. package/dist/nile-icon-button/index.esm.js +1 -1
  152. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  153. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  154. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  155. package/dist/nile-input/index.cjs.js +1 -1
  156. package/dist/nile-input/index.esm.js +1 -1
  157. package/dist/nile-input/nile-input.cjs.js +1 -1
  158. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  159. package/dist/nile-input/nile-input.esm.js +1 -1
  160. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  161. package/dist/nile-input/nile-input.test.cjs.js.map +1 -1
  162. package/dist/nile-input/nile-input.test.esm.js +2 -2
  163. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  164. package/dist/nile-link/nile-link.test.esm.js +1 -1
  165. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  166. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  167. package/dist/nile-menu-item/index.cjs.js +1 -1
  168. package/dist/nile-menu-item/index.esm.js +1 -1
  169. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  170. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  171. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  172. package/dist/nile-option/index.cjs.js +1 -1
  173. package/dist/nile-option/index.esm.js +1 -1
  174. package/dist/nile-option/nile-option.cjs.js +1 -1
  175. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  176. package/dist/nile-option/nile-option.esm.js +3 -3
  177. package/dist/nile-popover/index.cjs.js +1 -1
  178. package/dist/nile-popover/index.esm.js +1 -1
  179. package/dist/nile-popover/nile-popover.cjs.js +3 -11
  180. package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
  181. package/dist/nile-popover/nile-popover.esm.js +7 -13
  182. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  183. package/dist/nile-popover/nile-popover.test.cjs.js.map +1 -1
  184. package/dist/nile-popover/nile-popover.test.esm.js +3 -3
  185. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  186. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  187. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  188. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  189. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  190. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  191. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  192. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  193. package/dist/nile-select/index.cjs.js +1 -1
  194. package/dist/nile-select/index.esm.js +1 -1
  195. package/dist/nile-select/nile-select.cjs.js +1 -1
  196. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  197. package/dist/nile-select/nile-select.esm.js +2 -2
  198. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  199. package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
  200. package/dist/nile-select/nile-select.test.esm.js +2 -2
  201. package/dist/nile-select/virtual-scroll-helper.cjs.js +2 -0
  202. package/dist/nile-select/virtual-scroll-helper.cjs.js.map +1 -0
  203. package/dist/nile-select/virtual-scroll-helper.esm.js +38 -0
  204. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  205. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  206. package/dist/nile-slider/index.cjs.js +2 -0
  207. package/dist/nile-slider/index.esm.js +1 -0
  208. package/dist/nile-slider/nile-slider.cjs.js +2 -0
  209. package/dist/nile-slider/nile-slider.cjs.js.map +1 -0
  210. package/dist/nile-slider/nile-slider.css.cjs.js +2 -0
  211. package/dist/nile-slider/nile-slider.css.cjs.js.map +1 -0
  212. package/dist/nile-slider/nile-slider.css.esm.js +106 -0
  213. package/dist/nile-slider/nile-slider.esm.js +27 -0
  214. package/dist/nile-slider/nile-slider.template.cjs.js +2 -0
  215. package/dist/nile-slider/nile-slider.template.cjs.js.map +1 -0
  216. package/dist/nile-slider/nile-slider.template.esm.js +59 -0
  217. package/dist/nile-slider/types/nile-slider.enums.cjs.js +2 -0
  218. package/dist/nile-slider/types/nile-slider.enums.cjs.js.map +1 -0
  219. package/dist/nile-slider/types/nile-slider.enums.esm.js +1 -0
  220. package/dist/nile-slider/types/nile-slider.types.cjs.js +2 -0
  221. package/dist/nile-slider/types/nile-slider.types.cjs.js.map +1 -0
  222. package/dist/nile-slider/types/nile-slider.types.esm.js +1 -0
  223. package/dist/nile-slider/utils/nile-slider.utils.cjs.js +2 -0
  224. package/dist/nile-slider/utils/nile-slider.utils.cjs.js.map +1 -0
  225. package/dist/nile-slider/utils/nile-slider.utils.esm.js +1 -0
  226. package/dist/nile-tab/index.cjs.js +1 -1
  227. package/dist/nile-tab/index.esm.js +1 -1
  228. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  229. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  230. package/dist/nile-tab/nile-tab.esm.js +1 -1
  231. package/dist/nile-tab-group/index.cjs.js +1 -1
  232. package/dist/nile-tab-group/index.esm.js +1 -1
  233. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  234. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  235. package/dist/nile-tab-group/nile-tab-group.esm.js +2 -2
  236. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  237. package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +1 -1
  238. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  239. package/dist/nile-table-body/index.cjs.js +1 -1
  240. package/dist/nile-table-body/index.esm.js +1 -1
  241. package/dist/nile-table-body/nile-table-body.cjs.js +1 -1
  242. package/dist/nile-table-body/nile-table-body.cjs.js.map +1 -1
  243. package/dist/nile-table-body/nile-table-body.css.cjs.js +1 -1
  244. package/dist/nile-table-body/nile-table-body.css.cjs.js.map +1 -1
  245. package/dist/nile-table-body/nile-table-body.css.esm.js +4 -2
  246. package/dist/nile-table-body/nile-table-body.esm.js +3 -2
  247. package/dist/nile-table-cell-item/index.cjs.js +1 -1
  248. package/dist/nile-table-cell-item/index.esm.js +1 -1
  249. package/dist/nile-table-cell-item/nile-table-cell-item.cjs.js +1 -1
  250. package/dist/nile-table-cell-item/nile-table-cell-item.cjs.js.map +1 -1
  251. package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js +1 -1
  252. package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js.map +1 -1
  253. package/dist/nile-table-cell-item/nile-table-cell-item.css.esm.js +16 -3
  254. package/dist/nile-table-cell-item/nile-table-cell-item.esm.js +8 -3
  255. package/dist/nile-table-header-item/index.cjs.js +1 -1
  256. package/dist/nile-table-header-item/index.esm.js +1 -1
  257. package/dist/nile-table-header-item/nile-table-header-item.cjs.js +1 -1
  258. package/dist/nile-table-header-item/nile-table-header-item.cjs.js.map +1 -1
  259. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js +1 -1
  260. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
  261. package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +5 -2
  262. package/dist/nile-table-header-item/nile-table-header-item.esm.js +9 -8
  263. package/dist/nile-tag/index.cjs.js +1 -1
  264. package/dist/nile-tag/index.esm.js +1 -1
  265. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  266. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  267. package/dist/nile-tag/nile-tag.esm.js +1 -1
  268. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  269. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  270. package/dist/nile-toast/index.cjs.js +1 -1
  271. package/dist/nile-toast/index.esm.js +1 -1
  272. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  273. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  274. package/dist/nile-toast/nile-toast.esm.js +1 -1
  275. package/dist/nile-tree/index.cjs.js +1 -1
  276. package/dist/nile-tree/index.esm.js +1 -1
  277. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  278. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  279. package/dist/nile-tree/nile-tree.esm.js +1 -1
  280. package/dist/nile-tree-item/index.cjs.js +1 -1
  281. package/dist/nile-tree-item/index.esm.js +1 -1
  282. package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
  283. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
  284. package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
  285. package/dist/nile-virtual-select/index.cjs.js +2 -0
  286. package/dist/nile-virtual-select/index.esm.js +1 -0
  287. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +2 -0
  288. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -0
  289. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +2 -0
  290. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +1 -0
  291. package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +477 -0
  292. package/dist/nile-virtual-select/nile-virtual-select.esm.js +227 -0
  293. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +2 -0
  294. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js.map +1 -0
  295. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +93 -0
  296. package/dist/nile-virtual-select/renderer.cjs.js +2 -0
  297. package/dist/nile-virtual-select/renderer.cjs.js.map +1 -0
  298. package/dist/nile-virtual-select/renderer.esm.js +27 -0
  299. package/dist/nile-virtual-select/search-manager.cjs.js +2 -0
  300. package/dist/nile-virtual-select/search-manager.cjs.js.map +1 -0
  301. package/dist/nile-virtual-select/search-manager.esm.js +1 -0
  302. package/dist/nile-virtual-select/selection-manager.cjs.js +2 -0
  303. package/dist/nile-virtual-select/selection-manager.cjs.js.map +1 -0
  304. package/dist/nile-virtual-select/selection-manager.esm.js +1 -0
  305. package/dist/nile-virtual-select/types.cjs.js +2 -0
  306. package/dist/nile-virtual-select/types.cjs.js.map +1 -0
  307. package/dist/nile-virtual-select/types.esm.js +1 -0
  308. package/dist/src/index.d.ts +4 -3
  309. package/dist/src/index.js +4 -3
  310. package/dist/src/index.js.map +1 -1
  311. package/dist/src/internal/form.js +3 -3
  312. package/dist/src/internal/form.js.map +1 -1
  313. package/dist/src/internal/resizable-table-helper.d.ts +59 -0
  314. package/dist/src/internal/resizable-table-helper.js +111 -0
  315. package/dist/src/internal/resizable-table-helper.js.map +1 -0
  316. package/dist/src/internal/resizable-table-styles.d.ts +16 -0
  317. package/dist/src/internal/resizable-table-styles.js +149 -0
  318. package/dist/src/internal/resizable-table-styles.js.map +1 -0
  319. package/dist/src/nile-chip/nile-chip.js +10 -1
  320. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  321. package/dist/src/nile-code-editor/nile-code-editor.d.ts +3 -0
  322. package/dist/src/nile-code-editor/nile-code-editor.js +23 -3
  323. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  324. package/dist/src/nile-code-editor/theme.d.ts +6 -0
  325. package/dist/src/nile-code-editor/theme.js +8 -2
  326. package/dist/src/nile-code-editor/theme.js.map +1 -1
  327. package/dist/src/nile-file-preview/nile-file-preview.css.js +201 -182
  328. package/dist/src/nile-file-preview/nile-file-preview.css.js.map +1 -1
  329. package/dist/src/nile-file-preview/nile-file-preview.d.ts +6 -2
  330. package/dist/src/nile-file-preview/nile-file-preview.js +49 -20
  331. package/dist/src/nile-file-preview/nile-file-preview.js.map +1 -1
  332. package/dist/src/nile-file-preview/nile-file-preview.template.d.ts +3 -2
  333. package/dist/src/nile-file-preview/nile-file-preview.template.js +51 -47
  334. package/dist/src/nile-file-preview/nile-file-preview.template.js.map +1 -1
  335. package/dist/src/nile-file-preview/types/nile-file-preview.enums.d.ts +4 -3
  336. package/dist/src/nile-file-preview/types/nile-file-preview.enums.js +3 -2
  337. package/dist/src/nile-file-preview/types/nile-file-preview.enums.js.map +1 -1
  338. package/dist/src/nile-file-preview/utils/nile-file-preview.util.d.ts +4 -0
  339. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js +25 -0
  340. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js.map +1 -1
  341. package/dist/src/nile-file-upload/nile-file-upload.css.js +140 -87
  342. package/dist/src/nile-file-upload/nile-file-upload.css.js.map +1 -1
  343. package/dist/src/nile-file-upload/nile-file-upload.d.ts +4 -1
  344. package/dist/src/nile-file-upload/nile-file-upload.js +30 -20
  345. package/dist/src/nile-file-upload/nile-file-upload.js.map +1 -1
  346. package/dist/src/nile-file-upload/nile-file-upload.template.d.ts +7 -5
  347. package/dist/src/nile-file-upload/nile-file-upload.template.js +63 -105
  348. package/dist/src/nile-file-upload/nile-file-upload.template.js.map +1 -1
  349. package/dist/src/nile-file-upload/types/file-upload.enums.d.ts +11 -4
  350. package/dist/src/nile-file-upload/types/file-upload.enums.js +8 -1
  351. package/dist/src/nile-file-upload/types/file-upload.enums.js.map +1 -1
  352. package/dist/src/nile-file-upload/utils/drag-drop.util.d.ts +2 -4
  353. package/dist/src/nile-file-upload/utils/drag-drop.util.js +18 -21
  354. package/dist/src/nile-file-upload/utils/drag-drop.util.js.map +1 -1
  355. package/dist/src/nile-file-upload/utils/file-validation.util.d.ts +3 -1
  356. package/dist/src/nile-file-upload/utils/file-validation.util.js +82 -32
  357. package/dist/src/nile-file-upload/utils/file-validation.util.js.map +1 -1
  358. package/dist/src/nile-icon/icons/svg/index.d.ts +0 -19
  359. package/dist/src/nile-icon/icons/svg/index.js +0 -19
  360. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  361. package/dist/src/nile-option/nile-option.d.ts +3 -1
  362. package/dist/src/nile-option/nile-option.js +22 -15
  363. package/dist/src/nile-option/nile-option.js.map +1 -1
  364. package/dist/src/nile-select/nile-select.d.ts +14 -3
  365. package/dist/src/nile-select/nile-select.js +64 -21
  366. package/dist/src/nile-select/nile-select.js.map +1 -1
  367. package/dist/src/nile-select/virtual-scroll-helper.d.ts +9 -0
  368. package/dist/src/nile-select/virtual-scroll-helper.js +51 -0
  369. package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -0
  370. package/dist/src/nile-slider/index.d.ts +1 -0
  371. package/dist/src/nile-slider/index.js +2 -0
  372. package/dist/src/nile-slider/index.js.map +1 -0
  373. package/dist/src/{nile-rich-text-editor/nile-rich-text-editor.css.d.ts → nile-slider/nile-slider.css.d.ts} +3 -0
  374. package/dist/src/nile-slider/nile-slider.css.js +118 -0
  375. package/dist/src/nile-slider/nile-slider.css.js.map +1 -0
  376. package/dist/src/nile-slider/nile-slider.d.ts +48 -0
  377. package/dist/src/nile-slider/nile-slider.js +217 -0
  378. package/dist/src/nile-slider/nile-slider.js.map +1 -0
  379. package/dist/src/nile-slider/nile-slider.template.d.ts +5 -0
  380. package/dist/src/nile-slider/nile-slider.template.js +73 -0
  381. package/dist/src/nile-slider/nile-slider.template.js.map +1 -0
  382. package/dist/src/nile-slider/types/nile-slider.enums.d.ts +10 -0
  383. package/dist/src/nile-slider/types/nile-slider.enums.js +2 -0
  384. package/dist/src/nile-slider/types/nile-slider.enums.js.map +1 -0
  385. package/dist/src/nile-slider/types/nile-slider.types.d.ts +1 -0
  386. package/dist/src/nile-slider/types/nile-slider.types.js +2 -0
  387. package/dist/src/nile-slider/types/nile-slider.types.js.map +1 -0
  388. package/dist/src/nile-slider/utils/nile-slider.utils.d.ts +11 -0
  389. package/dist/src/nile-slider/utils/nile-slider.utils.js +99 -0
  390. package/dist/src/nile-slider/utils/nile-slider.utils.js.map +1 -0
  391. package/dist/src/nile-table-body/nile-table-body.css.js +3 -0
  392. package/dist/src/nile-table-body/nile-table-body.css.js.map +1 -1
  393. package/dist/src/nile-table-body/nile-table-body.d.ts +2 -0
  394. package/dist/src/nile-table-body/nile-table-body.js +10 -0
  395. package/dist/src/nile-table-body/nile-table-body.js.map +1 -1
  396. package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js +15 -1
  397. package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js.map +1 -1
  398. package/dist/src/nile-table-cell-item/nile-table-cell-item.d.ts +3 -0
  399. package/dist/src/nile-table-cell-item/nile-table-cell-item.js +27 -8
  400. package/dist/src/nile-table-cell-item/nile-table-cell-item.js.map +1 -1
  401. package/dist/src/nile-table-header-item/nile-table-header-item.css.js +4 -0
  402. package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
  403. package/dist/src/nile-table-header-item/nile-table-header-item.d.ts +3 -0
  404. package/dist/src/nile-table-header-item/nile-table-header-item.js +22 -15
  405. package/dist/src/nile-table-header-item/nile-table-header-item.js.map +1 -1
  406. package/dist/src/nile-virtual-select/index.d.ts +1 -0
  407. package/dist/src/nile-virtual-select/index.js +2 -0
  408. package/dist/src/nile-virtual-select/index.js.map +1 -0
  409. package/dist/src/nile-virtual-select/nile-virtual-select.css.d.ts +12 -0
  410. package/dist/src/nile-virtual-select/nile-virtual-select.css.js +489 -0
  411. package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +1 -0
  412. package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +266 -0
  413. package/dist/src/nile-virtual-select/nile-virtual-select.js +1226 -0
  414. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -0
  415. package/dist/src/nile-virtual-select/nile-virtual-select.test.d.ts +7 -0
  416. package/dist/src/nile-virtual-select/nile-virtual-select.test.js +631 -0
  417. package/dist/src/nile-virtual-select/nile-virtual-select.test.js.map +1 -0
  418. package/dist/src/nile-virtual-select/renderer.d.ts +16 -0
  419. package/dist/src/nile-virtual-select/renderer.js +71 -0
  420. package/dist/src/nile-virtual-select/renderer.js.map +1 -0
  421. package/dist/src/nile-virtual-select/search-manager.d.ts +12 -0
  422. package/dist/src/nile-virtual-select/search-manager.js +40 -0
  423. package/dist/src/nile-virtual-select/search-manager.js.map +1 -0
  424. package/dist/src/nile-virtual-select/selection-manager.d.ts +12 -0
  425. package/dist/src/nile-virtual-select/selection-manager.js +64 -0
  426. package/dist/src/nile-virtual-select/selection-manager.js.map +1 -0
  427. package/dist/src/nile-virtual-select/types.d.ts +50 -0
  428. package/dist/src/nile-virtual-select/types.js +8 -0
  429. package/dist/src/nile-virtual-select/types.js.map +1 -0
  430. package/dist/tsconfig.tsbuildinfo +1 -1
  431. package/dist/virtualize-a4a40d96.esm.js +22 -0
  432. package/dist/virtualize-b6a2fbe0.cjs.js +18 -0
  433. package/dist/virtualize-b6a2fbe0.cjs.js.map +1 -0
  434. package/package.json +3 -5
  435. package/src/index.ts +4 -3
  436. package/src/internal/form.ts +3 -3
  437. package/src/internal/resizable-table-helper.ts +151 -0
  438. package/src/internal/resizable-table-styles.ts +156 -0
  439. package/src/nile-chip/nile-chip.ts +9 -1
  440. package/src/nile-code-editor/nile-code-editor.ts +25 -4
  441. package/src/nile-code-editor/theme.ts +8 -2
  442. package/src/nile-file-preview/index.ts +1 -0
  443. package/src/nile-file-preview/nile-file-preview.css.ts +589 -0
  444. package/src/nile-file-preview/nile-file-preview.template.ts +259 -0
  445. package/src/nile-file-preview/nile-file-preview.test.ts +38 -0
  446. package/src/nile-file-preview/nile-file-preview.ts +205 -0
  447. package/src/nile-file-preview/types/index.ts +2 -0
  448. package/src/nile-file-preview/types/nile-file-preview.enums.ts +32 -0
  449. package/src/nile-file-preview/types/nile-file-preview.interface.ts +4 -0
  450. package/src/nile-file-preview/utils/index.ts +1 -0
  451. package/src/nile-file-preview/utils/nile-file-preview.util.ts +72 -0
  452. package/src/nile-file-upload/index.ts +1 -0
  453. package/src/nile-file-upload/nile-file-upload.css.ts +624 -0
  454. package/src/nile-file-upload/nile-file-upload.template.ts +217 -0
  455. package/src/nile-file-upload/nile-file-upload.test.ts +38 -0
  456. package/src/nile-file-upload/nile-file-upload.ts +161 -0
  457. package/src/nile-file-upload/types/file-upload.enums.ts +46 -0
  458. package/src/nile-file-upload/types/file-upload.type.ts +5 -0
  459. package/src/nile-file-upload/types/index.ts +2 -0
  460. package/src/nile-file-upload/utils/drag-drop.util.ts +106 -0
  461. package/src/nile-file-upload/utils/file-validation.util.ts +216 -0
  462. package/src/nile-icon/icons/svg/index.ts +0 -19
  463. package/src/nile-option/nile-option.ts +19 -12
  464. package/src/nile-select/nile-select.ts +65 -13
  465. package/src/nile-select/virtual-scroll-helper.ts +56 -0
  466. package/src/nile-slider/index.ts +1 -0
  467. package/src/nile-slider/nile-slider.css.ts +119 -0
  468. package/src/nile-slider/nile-slider.template.ts +77 -0
  469. package/src/nile-slider/nile-slider.ts +215 -0
  470. package/src/nile-slider/types/nile-slider.enums.ts +10 -0
  471. package/src/nile-slider/types/nile-slider.types.ts +13 -0
  472. package/src/nile-slider/utils/nile-slider.utils.ts +136 -0
  473. package/src/nile-table-body/nile-table-body.css.ts +3 -0
  474. package/src/nile-table-body/nile-table-body.ts +9 -0
  475. package/src/nile-table-cell-item/nile-table-cell-item.css.ts +15 -1
  476. package/src/nile-table-cell-item/nile-table-cell-item.ts +22 -5
  477. package/src/nile-table-header-item/nile-table-header-item.css.ts +4 -0
  478. package/src/nile-table-header-item/nile-table-header-item.ts +11 -5
  479. package/src/nile-virtual-select/index.ts +1 -0
  480. package/src/nile-virtual-select/nile-virtual-select.css.ts +491 -0
  481. package/src/nile-virtual-select/nile-virtual-select.test.ts +774 -0
  482. package/src/nile-virtual-select/nile-virtual-select.ts +1314 -0
  483. package/src/nile-virtual-select/renderer.ts +99 -0
  484. package/src/nile-virtual-select/search-manager.ts +50 -0
  485. package/src/nile-virtual-select/selection-manager.ts +75 -0
  486. package/src/nile-virtual-select/types.ts +54 -0
  487. package/vscode-html-custom-data.json +527 -201
  488. package/dist/axe.min-2b379f29.cjs.js +0 -12
  489. package/dist/axe.min-2b379f29.cjs.js.map +0 -1
  490. package/dist/axe.min-c2cd8733.esm.js +0 -12
  491. package/dist/fixture-2b5b3aba.esm.js +0 -569
  492. package/dist/fixture-3330277d.cjs.js +0 -395
  493. package/dist/fixture-3330277d.cjs.js.map +0 -1
  494. package/dist/fixture-588a3119.esm.js +0 -569
  495. package/dist/fixture-7bfb866e.cjs.js +0 -395
  496. package/dist/fixture-7bfb866e.cjs.js.map +0 -1
  497. package/dist/nile-icon/icons/svg/bold-try.cjs.js +0 -2
  498. package/dist/nile-icon/icons/svg/bold-try.cjs.js.map +0 -1
  499. package/dist/nile-icon/icons/svg/bold-try.esm.js +0 -1
  500. package/dist/nile-icon/icons/svg/bold.cjs.js +0 -2
  501. package/dist/nile-icon/icons/svg/bold.cjs.js.map +0 -1
  502. package/dist/nile-icon/icons/svg/bold.esm.js +0 -1
  503. package/dist/nile-icon/icons/svg/center-align.cjs.js +0 -2
  504. package/dist/nile-icon/icons/svg/center-align.cjs.js.map +0 -1
  505. package/dist/nile-icon/icons/svg/center-align.esm.js +0 -1
  506. package/dist/nile-icon/icons/svg/itallic.cjs.js +0 -2
  507. package/dist/nile-icon/icons/svg/itallic.cjs.js.map +0 -1
  508. package/dist/nile-icon/icons/svg/itallic.esm.js +0 -1
  509. package/dist/nile-icon/icons/svg/justify-align.cjs.js +0 -2
  510. package/dist/nile-icon/icons/svg/justify-align.cjs.js.map +0 -1
  511. package/dist/nile-icon/icons/svg/justify-align.esm.js +0 -1
  512. package/dist/nile-icon/icons/svg/left-align.cjs.js +0 -2
  513. package/dist/nile-icon/icons/svg/left-align.cjs.js.map +0 -1
  514. package/dist/nile-icon/icons/svg/left-align.esm.js +0 -1
  515. package/dist/nile-icon/icons/svg/ng-activity.cjs.js +0 -2
  516. package/dist/nile-icon/icons/svg/ng-activity.cjs.js.map +0 -1
  517. package/dist/nile-icon/icons/svg/ng-activity.esm.js +0 -1
  518. package/dist/nile-icon/icons/svg/ng-align-center.cjs.js +0 -2
  519. package/dist/nile-icon/icons/svg/ng-align-center.cjs.js.map +0 -1
  520. package/dist/nile-icon/icons/svg/ng-align-center.esm.js +0 -1
  521. package/dist/nile-icon/icons/svg/ng-annotation-x.cjs.js +0 -2
  522. package/dist/nile-icon/icons/svg/ng-annotation-x.cjs.js.map +0 -1
  523. package/dist/nile-icon/icons/svg/ng-annotation-x.esm.js +0 -1
  524. package/dist/nile-icon/icons/svg/ng-arrow-down.cjs.js +0 -2
  525. package/dist/nile-icon/icons/svg/ng-arrow-down.cjs.js.map +0 -1
  526. package/dist/nile-icon/icons/svg/ng-arrow-down.esm.js +0 -1
  527. package/dist/nile-icon/icons/svg/ng-arrow-narrow-down.cjs.js +0 -2
  528. package/dist/nile-icon/icons/svg/ng-arrow-narrow-down.cjs.js.map +0 -1
  529. package/dist/nile-icon/icons/svg/ng-arrow-narrow-down.esm.js +0 -1
  530. package/dist/nile-icon/icons/svg/ng-arrow-narrow-left.cjs.js +0 -2
  531. package/dist/nile-icon/icons/svg/ng-arrow-narrow-left.cjs.js.map +0 -1
  532. package/dist/nile-icon/icons/svg/ng-arrow-narrow-left.esm.js +0 -1
  533. package/dist/nile-icon/icons/svg/ng-arrow-up.cjs.js +0 -2
  534. package/dist/nile-icon/icons/svg/ng-arrow-up.cjs.js.map +0 -1
  535. package/dist/nile-icon/icons/svg/ng-arrow-up.esm.js +0 -1
  536. package/dist/nile-icon/icons/svg/ng-bar-chart-12.cjs.js +0 -2
  537. package/dist/nile-icon/icons/svg/ng-bar-chart-12.cjs.js.map +0 -1
  538. package/dist/nile-icon/icons/svg/ng-bar-chart-12.esm.js +0 -1
  539. package/dist/nile-icon/icons/svg/ng-bell-01.cjs.js +0 -2
  540. package/dist/nile-icon/icons/svg/ng-bell-01.cjs.js.map +0 -1
  541. package/dist/nile-icon/icons/svg/ng-bell-01.esm.js +0 -1
  542. package/dist/nile-icon/icons/svg/ng-bell-ringing-04.cjs.js +0 -2
  543. package/dist/nile-icon/icons/svg/ng-bell-ringing-04.cjs.js.map +0 -1
  544. package/dist/nile-icon/icons/svg/ng-bell-ringing-04.esm.js +0 -1
  545. package/dist/nile-icon/icons/svg/ng-bold-01.cjs.js +0 -2
  546. package/dist/nile-icon/icons/svg/ng-bold-01.cjs.js.map +0 -1
  547. package/dist/nile-icon/icons/svg/ng-bold-01.esm.js +0 -1
  548. package/dist/nile-icon/icons/svg/ng-calendar-plus-02.cjs.js +0 -2
  549. package/dist/nile-icon/icons/svg/ng-calendar-plus-02.cjs.js.map +0 -1
  550. package/dist/nile-icon/icons/svg/ng-calendar-plus-02.esm.js +0 -1
  551. package/dist/nile-icon/icons/svg/ng-calendar.cjs.js +0 -2
  552. package/dist/nile-icon/icons/svg/ng-calendar.cjs.js.map +0 -1
  553. package/dist/nile-icon/icons/svg/ng-calendar.esm.js +0 -1
  554. package/dist/nile-icon/icons/svg/ng-check-circle.cjs.js +0 -2
  555. package/dist/nile-icon/icons/svg/ng-check-circle.cjs.js.map +0 -1
  556. package/dist/nile-icon/icons/svg/ng-check-circle.esm.js +0 -1
  557. package/dist/nile-icon/icons/svg/ng-check-square-broken.cjs.js +0 -2
  558. package/dist/nile-icon/icons/svg/ng-check-square-broken.cjs.js.map +0 -1
  559. package/dist/nile-icon/icons/svg/ng-check-square-broken.esm.js +0 -1
  560. package/dist/nile-icon/icons/svg/ng-chevron-down.cjs.js +0 -2
  561. package/dist/nile-icon/icons/svg/ng-chevron-down.cjs.js.map +0 -1
  562. package/dist/nile-icon/icons/svg/ng-chevron-down.esm.js +0 -1
  563. package/dist/nile-icon/icons/svg/ng-chevron-left.cjs.js +0 -2
  564. package/dist/nile-icon/icons/svg/ng-chevron-left.cjs.js.map +0 -1
  565. package/dist/nile-icon/icons/svg/ng-chevron-left.esm.js +0 -1
  566. package/dist/nile-icon/icons/svg/ng-chevron-right.cjs.js +0 -2
  567. package/dist/nile-icon/icons/svg/ng-chevron-right.cjs.js.map +0 -1
  568. package/dist/nile-icon/icons/svg/ng-chevron-right.esm.js +0 -1
  569. package/dist/nile-icon/icons/svg/ng-chevron-selector-vertical.cjs.js +0 -2
  570. package/dist/nile-icon/icons/svg/ng-chevron-selector-vertical.cjs.js.map +0 -1
  571. package/dist/nile-icon/icons/svg/ng-chevron-selector-vertical.esm.js +0 -1
  572. package/dist/nile-icon/icons/svg/ng-chevron-up-double.cjs.js +0 -2
  573. package/dist/nile-icon/icons/svg/ng-chevron-up-double.cjs.js.map +0 -1
  574. package/dist/nile-icon/icons/svg/ng-chevron-up-double.esm.js +0 -1
  575. package/dist/nile-icon/icons/svg/ng-chevron-up.cjs.js +0 -2
  576. package/dist/nile-icon/icons/svg/ng-chevron-up.cjs.js.map +0 -1
  577. package/dist/nile-icon/icons/svg/ng-chevron-up.esm.js +0 -1
  578. package/dist/nile-icon/icons/svg/ng-copy-03.cjs.js +0 -2
  579. package/dist/nile-icon/icons/svg/ng-copy-03.cjs.js.map +0 -1
  580. package/dist/nile-icon/icons/svg/ng-copy-03.esm.js +0 -1
  581. package/dist/nile-icon/icons/svg/ng-dots-grid.cjs.js +0 -2
  582. package/dist/nile-icon/icons/svg/ng-dots-grid.cjs.js.map +0 -1
  583. package/dist/nile-icon/icons/svg/ng-dots-grid.esm.js +0 -1
  584. package/dist/nile-icon/icons/svg/ng-dots-vertical.cjs.js +0 -2
  585. package/dist/nile-icon/icons/svg/ng-dots-vertical.cjs.js.map +0 -1
  586. package/dist/nile-icon/icons/svg/ng-dots-vertical.esm.js +0 -1
  587. package/dist/nile-icon/icons/svg/ng-download-01.cjs.js +0 -2
  588. package/dist/nile-icon/icons/svg/ng-download-01.cjs.js.map +0 -1
  589. package/dist/nile-icon/icons/svg/ng-download-01.esm.js +0 -1
  590. package/dist/nile-icon/icons/svg/ng-dropdown.cjs.js +0 -2
  591. package/dist/nile-icon/icons/svg/ng-dropdown.cjs.js.map +0 -1
  592. package/dist/nile-icon/icons/svg/ng-dropdown.esm.js +0 -1
  593. package/dist/nile-icon/icons/svg/ng-edit-02.cjs.js +0 -2
  594. package/dist/nile-icon/icons/svg/ng-edit-02.cjs.js.map +0 -1
  595. package/dist/nile-icon/icons/svg/ng-edit-02.esm.js +0 -1
  596. package/dist/nile-icon/icons/svg/ng-edit-05.cjs.js +0 -2
  597. package/dist/nile-icon/icons/svg/ng-edit-05.cjs.js.map +0 -1
  598. package/dist/nile-icon/icons/svg/ng-edit-05.esm.js +0 -1
  599. package/dist/nile-icon/icons/svg/ng-expand-06.cjs.js +0 -2
  600. package/dist/nile-icon/icons/svg/ng-expand-06.cjs.js.map +0 -1
  601. package/dist/nile-icon/icons/svg/ng-expand-06.esm.js +0 -1
  602. package/dist/nile-icon/icons/svg/ng-eye.cjs.js +0 -2
  603. package/dist/nile-icon/icons/svg/ng-eye.cjs.js.map +0 -1
  604. package/dist/nile-icon/icons/svg/ng-eye.esm.js +0 -1
  605. package/dist/nile-icon/icons/svg/ng-file-02.cjs.js +0 -2
  606. package/dist/nile-icon/icons/svg/ng-file-02.cjs.js.map +0 -1
  607. package/dist/nile-icon/icons/svg/ng-file-02.esm.js +0 -1
  608. package/dist/nile-icon/icons/svg/ng-file-check-02.cjs.js +0 -2
  609. package/dist/nile-icon/icons/svg/ng-file-check-02.cjs.js.map +0 -1
  610. package/dist/nile-icon/icons/svg/ng-file-check-02.esm.js +0 -1
  611. package/dist/nile-icon/icons/svg/ng-file-question-03.cjs.js +0 -2
  612. package/dist/nile-icon/icons/svg/ng-file-question-03.cjs.js.map +0 -1
  613. package/dist/nile-icon/icons/svg/ng-file-question-03.esm.js +0 -1
  614. package/dist/nile-icon/icons/svg/ng-filter-lines.cjs.js +0 -2
  615. package/dist/nile-icon/icons/svg/ng-filter-lines.cjs.js.map +0 -1
  616. package/dist/nile-icon/icons/svg/ng-filter-lines.esm.js +0 -1
  617. package/dist/nile-icon/icons/svg/ng-grid-01.cjs.js +0 -2
  618. package/dist/nile-icon/icons/svg/ng-grid-01.cjs.js.map +0 -1
  619. package/dist/nile-icon/icons/svg/ng-grid-01.esm.js +0 -1
  620. package/dist/nile-icon/icons/svg/ng-help-circle.cjs.js +0 -2
  621. package/dist/nile-icon/icons/svg/ng-help-circle.cjs.js.map +0 -1
  622. package/dist/nile-icon/icons/svg/ng-help-circle.esm.js +0 -1
  623. package/dist/nile-icon/icons/svg/ng-image-user-left.cjs.js +0 -2
  624. package/dist/nile-icon/icons/svg/ng-image-user-left.cjs.js.map +0 -1
  625. package/dist/nile-icon/icons/svg/ng-image-user-left.esm.js +0 -1
  626. package/dist/nile-icon/icons/svg/ng-info-circle.cjs.js +0 -2
  627. package/dist/nile-icon/icons/svg/ng-info-circle.cjs.js.map +0 -1
  628. package/dist/nile-icon/icons/svg/ng-info-circle.esm.js +0 -1
  629. package/dist/nile-icon/icons/svg/ng-italic-01.cjs.js +0 -2
  630. package/dist/nile-icon/icons/svg/ng-italic-01.cjs.js.map +0 -1
  631. package/dist/nile-icon/icons/svg/ng-italic-01.esm.js +0 -1
  632. package/dist/nile-icon/icons/svg/ng-layers-three-01.cjs.js +0 -2
  633. package/dist/nile-icon/icons/svg/ng-layers-three-01.cjs.js.map +0 -1
  634. package/dist/nile-icon/icons/svg/ng-layers-three-01.esm.js +0 -1
  635. package/dist/nile-icon/icons/svg/ng-list.cjs.js +0 -2
  636. package/dist/nile-icon/icons/svg/ng-list.cjs.js.map +0 -1
  637. package/dist/nile-icon/icons/svg/ng-list.esm.js +0 -1
  638. package/dist/nile-icon/icons/svg/ng-log-out-01.cjs.js +0 -2
  639. package/dist/nile-icon/icons/svg/ng-log-out-01.cjs.js.map +0 -1
  640. package/dist/nile-icon/icons/svg/ng-log-out-01.esm.js +0 -1
  641. package/dist/nile-icon/icons/svg/ng-mail-01.cjs.js +0 -2
  642. package/dist/nile-icon/icons/svg/ng-mail-01.cjs.js.map +0 -1
  643. package/dist/nile-icon/icons/svg/ng-mail-01.esm.js +0 -1
  644. package/dist/nile-icon/icons/svg/ng-mail-04.cjs.js +0 -2
  645. package/dist/nile-icon/icons/svg/ng-mail-04.cjs.js.map +0 -1
  646. package/dist/nile-icon/icons/svg/ng-mail-04.esm.js +0 -1
  647. package/dist/nile-icon/icons/svg/ng-menu-05.cjs.js +0 -2
  648. package/dist/nile-icon/icons/svg/ng-menu-05.cjs.js.map +0 -1
  649. package/dist/nile-icon/icons/svg/ng-menu-05.esm.js +0 -1
  650. package/dist/nile-icon/icons/svg/ng-message-text-square-01.cjs.js +0 -2
  651. package/dist/nile-icon/icons/svg/ng-message-text-square-01.cjs.js.map +0 -1
  652. package/dist/nile-icon/icons/svg/ng-message-text-square-01.esm.js +0 -1
  653. package/dist/nile-icon/icons/svg/ng-minimize-02.cjs.js +0 -2
  654. package/dist/nile-icon/icons/svg/ng-minimize-02.cjs.js.map +0 -1
  655. package/dist/nile-icon/icons/svg/ng-minimize-02.esm.js +0 -1
  656. package/dist/nile-icon/icons/svg/ng-plus.cjs.js +0 -2
  657. package/dist/nile-icon/icons/svg/ng-plus.cjs.js.map +0 -1
  658. package/dist/nile-icon/icons/svg/ng-plus.esm.js +0 -1
  659. package/dist/nile-icon/icons/svg/ng-refresh-cw-02.cjs.js +0 -2
  660. package/dist/nile-icon/icons/svg/ng-refresh-cw-02.cjs.js.map +0 -1
  661. package/dist/nile-icon/icons/svg/ng-refresh-cw-02.esm.js +0 -1
  662. package/dist/nile-icon/icons/svg/ng-rocket-02.cjs.js +0 -2
  663. package/dist/nile-icon/icons/svg/ng-rocket-02.cjs.js.map +0 -1
  664. package/dist/nile-icon/icons/svg/ng-rocket-02.esm.js +0 -1
  665. package/dist/nile-icon/icons/svg/ng-search-lg.cjs.js +0 -2
  666. package/dist/nile-icon/icons/svg/ng-search-lg.cjs.js.map +0 -1
  667. package/dist/nile-icon/icons/svg/ng-search-lg.esm.js +0 -1
  668. package/dist/nile-icon/icons/svg/ng-send-01.cjs.js +0 -2
  669. package/dist/nile-icon/icons/svg/ng-send-01.cjs.js.map +0 -1
  670. package/dist/nile-icon/icons/svg/ng-send-01.esm.js +0 -1
  671. package/dist/nile-icon/icons/svg/ng-settings-01.cjs.js +0 -2
  672. package/dist/nile-icon/icons/svg/ng-settings-01.cjs.js.map +0 -1
  673. package/dist/nile-icon/icons/svg/ng-settings-01.esm.js +0 -1
  674. package/dist/nile-icon/icons/svg/ng-share-04.cjs.js +0 -2
  675. package/dist/nile-icon/icons/svg/ng-share-04.cjs.js.map +0 -1
  676. package/dist/nile-icon/icons/svg/ng-share-04.esm.js +0 -1
  677. package/dist/nile-icon/icons/svg/ng-share-06.cjs.js +0 -2
  678. package/dist/nile-icon/icons/svg/ng-share-06.cjs.js.map +0 -1
  679. package/dist/nile-icon/icons/svg/ng-share-06.esm.js +0 -1
  680. package/dist/nile-icon/icons/svg/ng-stars-02.cjs.js +0 -2
  681. package/dist/nile-icon/icons/svg/ng-stars-02.cjs.js.map +0 -1
  682. package/dist/nile-icon/icons/svg/ng-stars-02.esm.js +0 -1
  683. package/dist/nile-icon/icons/svg/ng-trash-01.cjs.js +0 -2
  684. package/dist/nile-icon/icons/svg/ng-trash-01.cjs.js.map +0 -1
  685. package/dist/nile-icon/icons/svg/ng-trash-01.esm.js +0 -1
  686. package/dist/nile-icon/icons/svg/ng-trash-03.cjs.js +0 -2
  687. package/dist/nile-icon/icons/svg/ng-trash-03.cjs.js.map +0 -1
  688. package/dist/nile-icon/icons/svg/ng-trash-03.esm.js +0 -1
  689. package/dist/nile-icon/icons/svg/ng-trend-up-01.cjs.js +0 -2
  690. package/dist/nile-icon/icons/svg/ng-trend-up-01.cjs.js.map +0 -1
  691. package/dist/nile-icon/icons/svg/ng-trend-up-01.esm.js +0 -1
  692. package/dist/nile-icon/icons/svg/ng-underline-01.cjs.js +0 -2
  693. package/dist/nile-icon/icons/svg/ng-underline-01.cjs.js.map +0 -1
  694. package/dist/nile-icon/icons/svg/ng-underline-01.esm.js +0 -1
  695. package/dist/nile-icon/icons/svg/ng-upload-01.cjs.js +0 -2
  696. package/dist/nile-icon/icons/svg/ng-upload-01.cjs.js.map +0 -1
  697. package/dist/nile-icon/icons/svg/ng-upload-01.esm.js +0 -1
  698. package/dist/nile-icon/icons/svg/ng-upload-cloud-02.cjs.js +0 -2
  699. package/dist/nile-icon/icons/svg/ng-upload-cloud-02.cjs.js.map +0 -1
  700. package/dist/nile-icon/icons/svg/ng-upload-cloud-02.esm.js +0 -1
  701. package/dist/nile-icon/icons/svg/ng-user-01.cjs.js +0 -2
  702. package/dist/nile-icon/icons/svg/ng-user-01.cjs.js.map +0 -1
  703. package/dist/nile-icon/icons/svg/ng-user-01.esm.js +0 -1
  704. package/dist/nile-icon/icons/svg/ng-user-check-02-1.cjs.js +0 -2
  705. package/dist/nile-icon/icons/svg/ng-user-check-02-1.cjs.js.map +0 -1
  706. package/dist/nile-icon/icons/svg/ng-user-check-02-1.esm.js +0 -1
  707. package/dist/nile-icon/icons/svg/ng-user-check-02.cjs.js +0 -2
  708. package/dist/nile-icon/icons/svg/ng-user-check-02.cjs.js.map +0 -1
  709. package/dist/nile-icon/icons/svg/ng-user-check-02.esm.js +0 -1
  710. package/dist/nile-icon/icons/svg/ng-user-plus-02.cjs.js +0 -2
  711. package/dist/nile-icon/icons/svg/ng-user-plus-02.cjs.js.map +0 -1
  712. package/dist/nile-icon/icons/svg/ng-user-plus-02.esm.js +0 -1
  713. package/dist/nile-icon/icons/svg/ng-user-right-01.cjs.js +0 -2
  714. package/dist/nile-icon/icons/svg/ng-user-right-01.cjs.js.map +0 -1
  715. package/dist/nile-icon/icons/svg/ng-user-right-01.esm.js +0 -1
  716. package/dist/nile-icon/icons/svg/ng-users-01.cjs.js +0 -2
  717. package/dist/nile-icon/icons/svg/ng-users-01.cjs.js.map +0 -1
  718. package/dist/nile-icon/icons/svg/ng-users-01.esm.js +0 -1
  719. package/dist/nile-icon/icons/svg/ng-x-close.cjs.js +0 -2
  720. package/dist/nile-icon/icons/svg/ng-x-close.cjs.js.map +0 -1
  721. package/dist/nile-icon/icons/svg/ng-x-close.esm.js +0 -1
  722. package/dist/nile-icon/icons/svg/ng-x-square.cjs.js +0 -2
  723. package/dist/nile-icon/icons/svg/ng-x-square.cjs.js.map +0 -1
  724. package/dist/nile-icon/icons/svg/ng-x-square.esm.js +0 -1
  725. package/dist/nile-icon/icons/svg/nile-bold.cjs.js +0 -2
  726. package/dist/nile-icon/icons/svg/nile-bold.cjs.js.map +0 -1
  727. package/dist/nile-icon/icons/svg/nile-bold.esm.js +0 -1
  728. package/dist/nile-icon/icons/svg/nile-centeralign.cjs.js +0 -2
  729. package/dist/nile-icon/icons/svg/nile-centeralign.cjs.js.map +0 -1
  730. package/dist/nile-icon/icons/svg/nile-centeralign.esm.js +0 -1
  731. package/dist/nile-icon/icons/svg/nile-italic.cjs.js +0 -2
  732. package/dist/nile-icon/icons/svg/nile-italic.cjs.js.map +0 -1
  733. package/dist/nile-icon/icons/svg/nile-italic.esm.js +0 -1
  734. package/dist/nile-icon/icons/svg/nile-justify.cjs.js +0 -2
  735. package/dist/nile-icon/icons/svg/nile-justify.cjs.js.map +0 -1
  736. package/dist/nile-icon/icons/svg/nile-justify.esm.js +0 -1
  737. package/dist/nile-icon/icons/svg/nile-leftalign.cjs.js +0 -2
  738. package/dist/nile-icon/icons/svg/nile-leftalign.cjs.js.map +0 -1
  739. package/dist/nile-icon/icons/svg/nile-leftalign.esm.js +0 -1
  740. package/dist/nile-icon/icons/svg/nile-ol.cjs.js +0 -2
  741. package/dist/nile-icon/icons/svg/nile-ol.cjs.js.map +0 -1
  742. package/dist/nile-icon/icons/svg/nile-ol.esm.js +0 -1
  743. package/dist/nile-icon/icons/svg/nile-rightalign.cjs.js +0 -2
  744. package/dist/nile-icon/icons/svg/nile-rightalign.cjs.js.map +0 -1
  745. package/dist/nile-icon/icons/svg/nile-rightalign.esm.js +0 -1
  746. package/dist/nile-icon/icons/svg/nile-ul.cjs.js +0 -2
  747. package/dist/nile-icon/icons/svg/nile-ul.cjs.js.map +0 -1
  748. package/dist/nile-icon/icons/svg/nile-ul.esm.js +0 -1
  749. package/dist/nile-icon/icons/svg/nile-underline.cjs.js +0 -2
  750. package/dist/nile-icon/icons/svg/nile-underline.cjs.js.map +0 -1
  751. package/dist/nile-icon/icons/svg/nile-underline.esm.js +0 -1
  752. package/dist/nile-icon/icons/svg/ol.cjs.js +0 -2
  753. package/dist/nile-icon/icons/svg/ol.cjs.js.map +0 -1
  754. package/dist/nile-icon/icons/svg/ol.esm.js +0 -1
  755. package/dist/nile-icon/icons/svg/right-align.cjs.js +0 -2
  756. package/dist/nile-icon/icons/svg/right-align.cjs.js.map +0 -1
  757. package/dist/nile-icon/icons/svg/right-align.esm.js +0 -1
  758. package/dist/nile-icon/icons/svg/ul.cjs.js +0 -2
  759. package/dist/nile-icon/icons/svg/ul.cjs.js.map +0 -1
  760. package/dist/nile-icon/icons/svg/ul.esm.js +0 -1
  761. package/dist/nile-icon/icons/svg/underline.cjs.js +0 -2
  762. package/dist/nile-icon/icons/svg/underline.cjs.js.map +0 -1
  763. package/dist/nile-icon/icons/svg/underline.esm.js +0 -1
  764. package/dist/nile-lightdomeditor/index.cjs.js +0 -2
  765. package/dist/nile-lightdomeditor/index.esm.js +0 -1
  766. package/dist/nile-lightdomeditor/nile-lightdomeditor.cjs.js +0 -2
  767. package/dist/nile-lightdomeditor/nile-lightdomeditor.cjs.js.map +0 -1
  768. package/dist/nile-lightdomeditor/nile-lightdomeditor.css.cjs.js +0 -2
  769. package/dist/nile-lightdomeditor/nile-lightdomeditor.css.cjs.js.map +0 -1
  770. package/dist/nile-lightdomeditor/nile-lightdomeditor.css.esm.js +0 -225
  771. package/dist/nile-lightdomeditor/nile-lightdomeditor.esm.js +0 -122
  772. package/dist/nile-rich-text-editor/index.cjs.js +0 -2
  773. package/dist/nile-rich-text-editor/index.esm.js +0 -1
  774. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +0 -2
  775. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +0 -1
  776. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +0 -2
  777. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +0 -1
  778. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +0 -87
  779. package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +0 -1
  780. package/dist/nile-rich-text-editor/nile-rte-color.cjs.js +0 -2
  781. package/dist/nile-rich-text-editor/nile-rte-color.cjs.js.map +0 -1
  782. package/dist/nile-rich-text-editor/nile-rte-color.esm.js +0 -1
  783. package/dist/nile-rich-text-editor/nile-rte-divider.cjs.js +0 -2
  784. package/dist/nile-rich-text-editor/nile-rte-divider.cjs.js.map +0 -1
  785. package/dist/nile-rich-text-editor/nile-rte-divider.esm.js +0 -1
  786. package/dist/nile-rich-text-editor/nile-rte-mentions-item.cjs.js +0 -2
  787. package/dist/nile-rich-text-editor/nile-rte-mentions-item.cjs.js.map +0 -1
  788. package/dist/nile-rich-text-editor/nile-rte-mentions-item.esm.js +0 -1
  789. package/dist/nile-rich-text-editor/nile-rte-mentions.cjs.js +0 -3
  790. package/dist/nile-rich-text-editor/nile-rte-mentions.cjs.js.map +0 -1
  791. package/dist/nile-rich-text-editor/nile-rte-mentions.esm.js +0 -1
  792. package/dist/nile-rich-text-editor/nile-rte-preview.cjs.js +0 -2
  793. package/dist/nile-rich-text-editor/nile-rte-preview.cjs.js.map +0 -1
  794. package/dist/nile-rich-text-editor/nile-rte-preview.esm.js +0 -1
  795. package/dist/nile-rich-text-editor/nile-rte-select.cjs.js +0 -2
  796. package/dist/nile-rich-text-editor/nile-rte-select.cjs.js.map +0 -1
  797. package/dist/nile-rich-text-editor/nile-rte-select.esm.js +0 -52
  798. package/dist/nile-rich-text-editor/nile-rte-toolbar-item.cjs.js +0 -2
  799. package/dist/nile-rich-text-editor/nile-rte-toolbar-item.cjs.js.map +0 -1
  800. package/dist/nile-rich-text-editor/nile-rte-toolbar-item.esm.js +0 -1
  801. package/dist/nile-rich-text-editor/nile-rte-toolbar.cjs.js +0 -2
  802. package/dist/nile-rich-text-editor/nile-rte-toolbar.cjs.js.map +0 -1
  803. package/dist/nile-rich-text-editor/nile-rte-toolbar.esm.js +0 -1
  804. package/dist/nile-rich-text-editor/utils.cjs.js +0 -2
  805. package/dist/nile-rich-text-editor/utils.cjs.js.map +0 -1
  806. package/dist/nile-rich-text-editor/utils.esm.js +0 -1
  807. package/dist/nile-richcodeeditor/index.cjs.js +0 -2
  808. package/dist/nile-richcodeeditor/index.cjs.js.map +0 -1
  809. package/dist/nile-richcodeeditor/index.esm.js +0 -1
  810. package/dist/nile-richcodeeditor/nile-richcodeeditor.cjs.js +0 -2
  811. package/dist/nile-richcodeeditor/nile-richcodeeditor.cjs.js.map +0 -1
  812. package/dist/nile-richcodeeditor/nile-richcodeeditor.css.cjs.js +0 -2
  813. package/dist/nile-richcodeeditor/nile-richcodeeditor.css.cjs.js.map +0 -1
  814. package/dist/nile-richcodeeditor/nile-richcodeeditor.css.esm.js +0 -5
  815. package/dist/nile-richcodeeditor/nile-richcodeeditor.esm.js +0 -66
  816. package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +0 -17
  817. package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +0 -310
  818. package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +0 -34
  819. package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +0 -31
  820. package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +0 -47
  821. package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +0 -16
  822. package/dist/src/nile-icon/icons/svg/bold-try.d.ts +0 -5
  823. package/dist/src/nile-icon/icons/svg/bold-try.js +0 -5
  824. package/dist/src/nile-icon/icons/svg/bold-try.js.map +0 -1
  825. package/dist/src/nile-icon/icons/svg/bold.d.ts +0 -5
  826. package/dist/src/nile-icon/icons/svg/bold.js +0 -5
  827. package/dist/src/nile-icon/icons/svg/bold.js.map +0 -1
  828. package/dist/src/nile-icon/icons/svg/center-align.d.ts +0 -5
  829. package/dist/src/nile-icon/icons/svg/center-align.js +0 -5
  830. package/dist/src/nile-icon/icons/svg/center-align.js.map +0 -1
  831. package/dist/src/nile-icon/icons/svg/itallic.d.ts +0 -5
  832. package/dist/src/nile-icon/icons/svg/itallic.js +0 -5
  833. package/dist/src/nile-icon/icons/svg/itallic.js.map +0 -1
  834. package/dist/src/nile-icon/icons/svg/justify-align.d.ts +0 -5
  835. package/dist/src/nile-icon/icons/svg/justify-align.js +0 -5
  836. package/dist/src/nile-icon/icons/svg/justify-align.js.map +0 -1
  837. package/dist/src/nile-icon/icons/svg/left-align.d.ts +0 -5
  838. package/dist/src/nile-icon/icons/svg/left-align.js +0 -5
  839. package/dist/src/nile-icon/icons/svg/left-align.js.map +0 -1
  840. package/dist/src/nile-icon/icons/svg/ng-activity.d.ts +0 -5
  841. package/dist/src/nile-icon/icons/svg/ng-activity.js +0 -5
  842. package/dist/src/nile-icon/icons/svg/ng-activity.js.map +0 -1
  843. package/dist/src/nile-icon/icons/svg/ng-align-center.d.ts +0 -5
  844. package/dist/src/nile-icon/icons/svg/ng-align-center.js +0 -5
  845. package/dist/src/nile-icon/icons/svg/ng-align-center.js.map +0 -1
  846. package/dist/src/nile-icon/icons/svg/ng-annotation-x.d.ts +0 -5
  847. package/dist/src/nile-icon/icons/svg/ng-annotation-x.js +0 -5
  848. package/dist/src/nile-icon/icons/svg/ng-annotation-x.js.map +0 -1
  849. package/dist/src/nile-icon/icons/svg/ng-arrow-down.d.ts +0 -5
  850. package/dist/src/nile-icon/icons/svg/ng-arrow-down.js +0 -5
  851. package/dist/src/nile-icon/icons/svg/ng-arrow-down.js.map +0 -1
  852. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.d.ts +0 -5
  853. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js +0 -5
  854. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js.map +0 -1
  855. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.d.ts +0 -5
  856. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js +0 -5
  857. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js.map +0 -1
  858. package/dist/src/nile-icon/icons/svg/ng-arrow-up.d.ts +0 -5
  859. package/dist/src/nile-icon/icons/svg/ng-arrow-up.js +0 -5
  860. package/dist/src/nile-icon/icons/svg/ng-arrow-up.js.map +0 -1
  861. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.d.ts +0 -5
  862. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js +0 -5
  863. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js.map +0 -1
  864. package/dist/src/nile-icon/icons/svg/ng-bell-01.d.ts +0 -5
  865. package/dist/src/nile-icon/icons/svg/ng-bell-01.js +0 -5
  866. package/dist/src/nile-icon/icons/svg/ng-bell-01.js.map +0 -1
  867. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.d.ts +0 -5
  868. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js +0 -5
  869. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js.map +0 -1
  870. package/dist/src/nile-icon/icons/svg/ng-bold-01.d.ts +0 -5
  871. package/dist/src/nile-icon/icons/svg/ng-bold-01.js +0 -5
  872. package/dist/src/nile-icon/icons/svg/ng-bold-01.js.map +0 -1
  873. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.d.ts +0 -5
  874. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js +0 -5
  875. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js.map +0 -1
  876. package/dist/src/nile-icon/icons/svg/ng-calendar.d.ts +0 -5
  877. package/dist/src/nile-icon/icons/svg/ng-calendar.js +0 -5
  878. package/dist/src/nile-icon/icons/svg/ng-calendar.js.map +0 -1
  879. package/dist/src/nile-icon/icons/svg/ng-check-circle.d.ts +0 -5
  880. package/dist/src/nile-icon/icons/svg/ng-check-circle.js +0 -5
  881. package/dist/src/nile-icon/icons/svg/ng-check-circle.js.map +0 -1
  882. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.d.ts +0 -5
  883. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js +0 -5
  884. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js.map +0 -1
  885. package/dist/src/nile-icon/icons/svg/ng-chevron-down.d.ts +0 -5
  886. package/dist/src/nile-icon/icons/svg/ng-chevron-down.js +0 -5
  887. package/dist/src/nile-icon/icons/svg/ng-chevron-down.js.map +0 -1
  888. package/dist/src/nile-icon/icons/svg/ng-chevron-left.d.ts +0 -5
  889. package/dist/src/nile-icon/icons/svg/ng-chevron-left.js +0 -5
  890. package/dist/src/nile-icon/icons/svg/ng-chevron-left.js.map +0 -1
  891. package/dist/src/nile-icon/icons/svg/ng-chevron-right.d.ts +0 -5
  892. package/dist/src/nile-icon/icons/svg/ng-chevron-right.js +0 -5
  893. package/dist/src/nile-icon/icons/svg/ng-chevron-right.js.map +0 -1
  894. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.d.ts +0 -5
  895. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js +0 -5
  896. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js.map +0 -1
  897. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.d.ts +0 -5
  898. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js +0 -5
  899. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js.map +0 -1
  900. package/dist/src/nile-icon/icons/svg/ng-chevron-up.d.ts +0 -5
  901. package/dist/src/nile-icon/icons/svg/ng-chevron-up.js +0 -5
  902. package/dist/src/nile-icon/icons/svg/ng-chevron-up.js.map +0 -1
  903. package/dist/src/nile-icon/icons/svg/ng-copy-03.d.ts +0 -5
  904. package/dist/src/nile-icon/icons/svg/ng-copy-03.js +0 -5
  905. package/dist/src/nile-icon/icons/svg/ng-copy-03.js.map +0 -1
  906. package/dist/src/nile-icon/icons/svg/ng-dots-grid.d.ts +0 -5
  907. package/dist/src/nile-icon/icons/svg/ng-dots-grid.js +0 -5
  908. package/dist/src/nile-icon/icons/svg/ng-dots-grid.js.map +0 -1
  909. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.d.ts +0 -5
  910. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js +0 -5
  911. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js.map +0 -1
  912. package/dist/src/nile-icon/icons/svg/ng-download-01.d.ts +0 -5
  913. package/dist/src/nile-icon/icons/svg/ng-download-01.js +0 -5
  914. package/dist/src/nile-icon/icons/svg/ng-download-01.js.map +0 -1
  915. package/dist/src/nile-icon/icons/svg/ng-dropdown.d.ts +0 -5
  916. package/dist/src/nile-icon/icons/svg/ng-dropdown.js +0 -5
  917. package/dist/src/nile-icon/icons/svg/ng-dropdown.js.map +0 -1
  918. package/dist/src/nile-icon/icons/svg/ng-edit-02.d.ts +0 -5
  919. package/dist/src/nile-icon/icons/svg/ng-edit-02.js +0 -5
  920. package/dist/src/nile-icon/icons/svg/ng-edit-02.js.map +0 -1
  921. package/dist/src/nile-icon/icons/svg/ng-edit-05.d.ts +0 -5
  922. package/dist/src/nile-icon/icons/svg/ng-edit-05.js +0 -5
  923. package/dist/src/nile-icon/icons/svg/ng-edit-05.js.map +0 -1
  924. package/dist/src/nile-icon/icons/svg/ng-expand-06.d.ts +0 -5
  925. package/dist/src/nile-icon/icons/svg/ng-expand-06.js +0 -5
  926. package/dist/src/nile-icon/icons/svg/ng-expand-06.js.map +0 -1
  927. package/dist/src/nile-icon/icons/svg/ng-eye.d.ts +0 -5
  928. package/dist/src/nile-icon/icons/svg/ng-eye.js +0 -5
  929. package/dist/src/nile-icon/icons/svg/ng-eye.js.map +0 -1
  930. package/dist/src/nile-icon/icons/svg/ng-file-02.d.ts +0 -5
  931. package/dist/src/nile-icon/icons/svg/ng-file-02.js +0 -5
  932. package/dist/src/nile-icon/icons/svg/ng-file-02.js.map +0 -1
  933. package/dist/src/nile-icon/icons/svg/ng-file-check-02.d.ts +0 -5
  934. package/dist/src/nile-icon/icons/svg/ng-file-check-02.js +0 -5
  935. package/dist/src/nile-icon/icons/svg/ng-file-check-02.js.map +0 -1
  936. package/dist/src/nile-icon/icons/svg/ng-file-question-03.d.ts +0 -5
  937. package/dist/src/nile-icon/icons/svg/ng-file-question-03.js +0 -5
  938. package/dist/src/nile-icon/icons/svg/ng-file-question-03.js.map +0 -1
  939. package/dist/src/nile-icon/icons/svg/ng-filter-lines.d.ts +0 -5
  940. package/dist/src/nile-icon/icons/svg/ng-filter-lines.js +0 -5
  941. package/dist/src/nile-icon/icons/svg/ng-filter-lines.js.map +0 -1
  942. package/dist/src/nile-icon/icons/svg/ng-grid-01.d.ts +0 -5
  943. package/dist/src/nile-icon/icons/svg/ng-grid-01.js +0 -5
  944. package/dist/src/nile-icon/icons/svg/ng-grid-01.js.map +0 -1
  945. package/dist/src/nile-icon/icons/svg/ng-help-circle.d.ts +0 -5
  946. package/dist/src/nile-icon/icons/svg/ng-help-circle.js +0 -5
  947. package/dist/src/nile-icon/icons/svg/ng-help-circle.js.map +0 -1
  948. package/dist/src/nile-icon/icons/svg/ng-image-user-left.d.ts +0 -5
  949. package/dist/src/nile-icon/icons/svg/ng-image-user-left.js +0 -5
  950. package/dist/src/nile-icon/icons/svg/ng-image-user-left.js.map +0 -1
  951. package/dist/src/nile-icon/icons/svg/ng-info-circle.d.ts +0 -5
  952. package/dist/src/nile-icon/icons/svg/ng-info-circle.js +0 -5
  953. package/dist/src/nile-icon/icons/svg/ng-info-circle.js.map +0 -1
  954. package/dist/src/nile-icon/icons/svg/ng-italic-01.d.ts +0 -5
  955. package/dist/src/nile-icon/icons/svg/ng-italic-01.js +0 -5
  956. package/dist/src/nile-icon/icons/svg/ng-italic-01.js.map +0 -1
  957. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.d.ts +0 -5
  958. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js +0 -5
  959. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js.map +0 -1
  960. package/dist/src/nile-icon/icons/svg/ng-list.d.ts +0 -5
  961. package/dist/src/nile-icon/icons/svg/ng-list.js +0 -5
  962. package/dist/src/nile-icon/icons/svg/ng-list.js.map +0 -1
  963. package/dist/src/nile-icon/icons/svg/ng-log-out-01.d.ts +0 -5
  964. package/dist/src/nile-icon/icons/svg/ng-log-out-01.js +0 -5
  965. package/dist/src/nile-icon/icons/svg/ng-log-out-01.js.map +0 -1
  966. package/dist/src/nile-icon/icons/svg/ng-mail-01.d.ts +0 -5
  967. package/dist/src/nile-icon/icons/svg/ng-mail-01.js +0 -5
  968. package/dist/src/nile-icon/icons/svg/ng-mail-01.js.map +0 -1
  969. package/dist/src/nile-icon/icons/svg/ng-mail-04.d.ts +0 -5
  970. package/dist/src/nile-icon/icons/svg/ng-mail-04.js +0 -5
  971. package/dist/src/nile-icon/icons/svg/ng-mail-04.js.map +0 -1
  972. package/dist/src/nile-icon/icons/svg/ng-menu-05.d.ts +0 -5
  973. package/dist/src/nile-icon/icons/svg/ng-menu-05.js +0 -5
  974. package/dist/src/nile-icon/icons/svg/ng-menu-05.js.map +0 -1
  975. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.d.ts +0 -5
  976. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js +0 -5
  977. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js.map +0 -1
  978. package/dist/src/nile-icon/icons/svg/ng-minimize-02.d.ts +0 -5
  979. package/dist/src/nile-icon/icons/svg/ng-minimize-02.js +0 -5
  980. package/dist/src/nile-icon/icons/svg/ng-minimize-02.js.map +0 -1
  981. package/dist/src/nile-icon/icons/svg/ng-plus.d.ts +0 -5
  982. package/dist/src/nile-icon/icons/svg/ng-plus.js +0 -5
  983. package/dist/src/nile-icon/icons/svg/ng-plus.js.map +0 -1
  984. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.d.ts +0 -5
  985. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js +0 -5
  986. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js.map +0 -1
  987. package/dist/src/nile-icon/icons/svg/ng-rocket-02.d.ts +0 -5
  988. package/dist/src/nile-icon/icons/svg/ng-rocket-02.js +0 -5
  989. package/dist/src/nile-icon/icons/svg/ng-rocket-02.js.map +0 -1
  990. package/dist/src/nile-icon/icons/svg/ng-search-lg.d.ts +0 -5
  991. package/dist/src/nile-icon/icons/svg/ng-search-lg.js +0 -5
  992. package/dist/src/nile-icon/icons/svg/ng-search-lg.js.map +0 -1
  993. package/dist/src/nile-icon/icons/svg/ng-send-01.d.ts +0 -5
  994. package/dist/src/nile-icon/icons/svg/ng-send-01.js +0 -5
  995. package/dist/src/nile-icon/icons/svg/ng-send-01.js.map +0 -1
  996. package/dist/src/nile-icon/icons/svg/ng-settings-01.d.ts +0 -5
  997. package/dist/src/nile-icon/icons/svg/ng-settings-01.js +0 -5
  998. package/dist/src/nile-icon/icons/svg/ng-settings-01.js.map +0 -1
  999. package/dist/src/nile-icon/icons/svg/ng-share-04.d.ts +0 -5
  1000. package/dist/src/nile-icon/icons/svg/ng-share-04.js +0 -5
  1001. package/dist/src/nile-icon/icons/svg/ng-share-04.js.map +0 -1
  1002. package/dist/src/nile-icon/icons/svg/ng-share-06.d.ts +0 -5
  1003. package/dist/src/nile-icon/icons/svg/ng-share-06.js +0 -5
  1004. package/dist/src/nile-icon/icons/svg/ng-share-06.js.map +0 -1
  1005. package/dist/src/nile-icon/icons/svg/ng-stars-02.d.ts +0 -5
  1006. package/dist/src/nile-icon/icons/svg/ng-stars-02.js +0 -5
  1007. package/dist/src/nile-icon/icons/svg/ng-stars-02.js.map +0 -1
  1008. package/dist/src/nile-icon/icons/svg/ng-trash-01.d.ts +0 -5
  1009. package/dist/src/nile-icon/icons/svg/ng-trash-01.js +0 -5
  1010. package/dist/src/nile-icon/icons/svg/ng-trash-01.js.map +0 -1
  1011. package/dist/src/nile-icon/icons/svg/ng-trash-03.d.ts +0 -5
  1012. package/dist/src/nile-icon/icons/svg/ng-trash-03.js +0 -5
  1013. package/dist/src/nile-icon/icons/svg/ng-trash-03.js.map +0 -1
  1014. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.d.ts +0 -5
  1015. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js +0 -5
  1016. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js.map +0 -1
  1017. package/dist/src/nile-icon/icons/svg/ng-underline-01.d.ts +0 -5
  1018. package/dist/src/nile-icon/icons/svg/ng-underline-01.js +0 -5
  1019. package/dist/src/nile-icon/icons/svg/ng-underline-01.js.map +0 -1
  1020. package/dist/src/nile-icon/icons/svg/ng-upload-01.d.ts +0 -5
  1021. package/dist/src/nile-icon/icons/svg/ng-upload-01.js +0 -5
  1022. package/dist/src/nile-icon/icons/svg/ng-upload-01.js.map +0 -1
  1023. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.d.ts +0 -5
  1024. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js +0 -5
  1025. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js.map +0 -1
  1026. package/dist/src/nile-icon/icons/svg/ng-user-01.d.ts +0 -5
  1027. package/dist/src/nile-icon/icons/svg/ng-user-01.js +0 -5
  1028. package/dist/src/nile-icon/icons/svg/ng-user-01.js.map +0 -1
  1029. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.d.ts +0 -5
  1030. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js +0 -5
  1031. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js.map +0 -1
  1032. package/dist/src/nile-icon/icons/svg/ng-user-check-02.d.ts +0 -5
  1033. package/dist/src/nile-icon/icons/svg/ng-user-check-02.js +0 -5
  1034. package/dist/src/nile-icon/icons/svg/ng-user-check-02.js.map +0 -1
  1035. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.d.ts +0 -5
  1036. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js +0 -5
  1037. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js.map +0 -1
  1038. package/dist/src/nile-icon/icons/svg/ng-user-right-01.d.ts +0 -5
  1039. package/dist/src/nile-icon/icons/svg/ng-user-right-01.js +0 -5
  1040. package/dist/src/nile-icon/icons/svg/ng-user-right-01.js.map +0 -1
  1041. package/dist/src/nile-icon/icons/svg/ng-users-01.d.ts +0 -5
  1042. package/dist/src/nile-icon/icons/svg/ng-users-01.js +0 -5
  1043. package/dist/src/nile-icon/icons/svg/ng-users-01.js.map +0 -1
  1044. package/dist/src/nile-icon/icons/svg/ng-x-close.d.ts +0 -5
  1045. package/dist/src/nile-icon/icons/svg/ng-x-close.js +0 -5
  1046. package/dist/src/nile-icon/icons/svg/ng-x-close.js.map +0 -1
  1047. package/dist/src/nile-icon/icons/svg/ng-x-square.d.ts +0 -5
  1048. package/dist/src/nile-icon/icons/svg/ng-x-square.js +0 -5
  1049. package/dist/src/nile-icon/icons/svg/ng-x-square.js.map +0 -1
  1050. package/dist/src/nile-icon/icons/svg/nile-bold.d.ts +0 -5
  1051. package/dist/src/nile-icon/icons/svg/nile-bold.js +0 -5
  1052. package/dist/src/nile-icon/icons/svg/nile-bold.js.map +0 -1
  1053. package/dist/src/nile-icon/icons/svg/nile-centeralign.d.ts +0 -5
  1054. package/dist/src/nile-icon/icons/svg/nile-centeralign.js +0 -5
  1055. package/dist/src/nile-icon/icons/svg/nile-centeralign.js.map +0 -1
  1056. package/dist/src/nile-icon/icons/svg/nile-italic.d.ts +0 -5
  1057. package/dist/src/nile-icon/icons/svg/nile-italic.js +0 -5
  1058. package/dist/src/nile-icon/icons/svg/nile-italic.js.map +0 -1
  1059. package/dist/src/nile-icon/icons/svg/nile-justify.d.ts +0 -5
  1060. package/dist/src/nile-icon/icons/svg/nile-justify.js +0 -5
  1061. package/dist/src/nile-icon/icons/svg/nile-justify.js.map +0 -1
  1062. package/dist/src/nile-icon/icons/svg/nile-leftalign.d.ts +0 -5
  1063. package/dist/src/nile-icon/icons/svg/nile-leftalign.js +0 -5
  1064. package/dist/src/nile-icon/icons/svg/nile-leftalign.js.map +0 -1
  1065. package/dist/src/nile-icon/icons/svg/nile-ol.d.ts +0 -5
  1066. package/dist/src/nile-icon/icons/svg/nile-ol.js +0 -5
  1067. package/dist/src/nile-icon/icons/svg/nile-ol.js.map +0 -1
  1068. package/dist/src/nile-icon/icons/svg/nile-rightalign.d.ts +0 -5
  1069. package/dist/src/nile-icon/icons/svg/nile-rightalign.js +0 -5
  1070. package/dist/src/nile-icon/icons/svg/nile-rightalign.js.map +0 -1
  1071. package/dist/src/nile-icon/icons/svg/nile-ul.d.ts +0 -5
  1072. package/dist/src/nile-icon/icons/svg/nile-ul.js +0 -5
  1073. package/dist/src/nile-icon/icons/svg/nile-ul.js.map +0 -1
  1074. package/dist/src/nile-icon/icons/svg/nile-underline.d.ts +0 -5
  1075. package/dist/src/nile-icon/icons/svg/nile-underline.js +0 -5
  1076. package/dist/src/nile-icon/icons/svg/nile-underline.js.map +0 -1
  1077. package/dist/src/nile-icon/icons/svg/ol.d.ts +0 -5
  1078. package/dist/src/nile-icon/icons/svg/ol.js +0 -5
  1079. package/dist/src/nile-icon/icons/svg/ol.js.map +0 -1
  1080. package/dist/src/nile-icon/icons/svg/right-align.d.ts +0 -5
  1081. package/dist/src/nile-icon/icons/svg/right-align.js +0 -5
  1082. package/dist/src/nile-icon/icons/svg/right-align.js.map +0 -1
  1083. package/dist/src/nile-icon/icons/svg/ul.d.ts +0 -5
  1084. package/dist/src/nile-icon/icons/svg/ul.js +0 -5
  1085. package/dist/src/nile-icon/icons/svg/ul.js.map +0 -1
  1086. package/dist/src/nile-icon/icons/svg/underline.d.ts +0 -5
  1087. package/dist/src/nile-icon/icons/svg/underline.js +0 -5
  1088. package/dist/src/nile-icon/icons/svg/underline.js.map +0 -1
  1089. package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +0 -75
  1090. package/dist/src/nile-lightdomeditor/index.d.ts +0 -1
  1091. package/dist/src/nile-lightdomeditor/index.js +0 -2
  1092. package/dist/src/nile-lightdomeditor/index.js.map +0 -1
  1093. package/dist/src/nile-lightdomeditor/nile-lightdomeditor.css.d.ts +0 -6
  1094. package/dist/src/nile-lightdomeditor/nile-lightdomeditor.css.js +0 -237
  1095. package/dist/src/nile-lightdomeditor/nile-lightdomeditor.css.js.map +0 -1
  1096. package/dist/src/nile-lightdomeditor/nile-lightdomeditor.d.ts +0 -74
  1097. package/dist/src/nile-lightdomeditor/nile-lightdomeditor.js +0 -591
  1098. package/dist/src/nile-lightdomeditor/nile-lightdomeditor.js.map +0 -1
  1099. package/dist/src/nile-lightdomeditor/utils/nile-mention.d.ts +0 -13
  1100. package/dist/src/nile-lightdomeditor/utils/nile-mention.js +0 -47
  1101. package/dist/src/nile-lightdomeditor/utils/nile-mention.js.map +0 -1
  1102. package/dist/src/nile-markdowneditor/index.d.ts +0 -1
  1103. package/dist/src/nile-markdowneditor/index.js +0 -2
  1104. package/dist/src/nile-markdowneditor/index.js.map +0 -1
  1105. package/dist/src/nile-markdowneditor/nile-markdowneditor.css.d.ts +0 -12
  1106. package/dist/src/nile-markdowneditor/nile-markdowneditor.css.js +0 -17
  1107. package/dist/src/nile-markdowneditor/nile-markdowneditor.css.js.map +0 -1
  1108. package/dist/src/nile-markdowneditor/nile-markdowneditor.d.ts +0 -32
  1109. package/dist/src/nile-markdowneditor/nile-markdowneditor.js +0 -43
  1110. package/dist/src/nile-markdowneditor/nile-markdowneditor.js.map +0 -1
  1111. package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +0 -22
  1112. package/dist/src/nile-prosemirror-poc/index.d.ts +0 -1
  1113. package/dist/src/nile-prosemirror-poc/index.js +0 -2
  1114. package/dist/src/nile-prosemirror-poc/index.js.map +0 -1
  1115. package/dist/src/nile-prosemirror-poc/nile-prosemirror-poc.css.d.ts +0 -12
  1116. package/dist/src/nile-prosemirror-poc/nile-prosemirror-poc.css.js +0 -17
  1117. package/dist/src/nile-prosemirror-poc/nile-prosemirror-poc.css.js.map +0 -1
  1118. package/dist/src/nile-prosemirror-poc/nile-prosemirror-poc.d.ts +0 -24
  1119. package/dist/src/nile-prosemirror-poc/nile-prosemirror-poc.js +0 -190
  1120. package/dist/src/nile-prosemirror-poc/nile-prosemirror-poc.js.map +0 -1
  1121. package/dist/src/nile-rich-text-editor/index.d.ts +0 -1
  1122. package/dist/src/nile-rich-text-editor/index.js +0 -2
  1123. package/dist/src/nile-rich-text-editor/index.js.map +0 -1
  1124. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +0 -91
  1125. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +0 -1
  1126. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.d.ts +0 -57
  1127. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +0 -603
  1128. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +0 -1
  1129. package/dist/src/nile-rich-text-editor/nile-rte-color.d.ts +0 -14
  1130. package/dist/src/nile-rich-text-editor/nile-rte-color.js +0 -28
  1131. package/dist/src/nile-rich-text-editor/nile-rte-color.js.map +0 -1
  1132. package/dist/src/nile-rich-text-editor/nile-rte-divider.d.ts +0 -10
  1133. package/dist/src/nile-rich-text-editor/nile-rte-divider.js +0 -12
  1134. package/dist/src/nile-rich-text-editor/nile-rte-divider.js.map +0 -1
  1135. package/dist/src/nile-rich-text-editor/nile-rte-mentions-item.d.ts +0 -18
  1136. package/dist/src/nile-rich-text-editor/nile-rte-mentions-item.js +0 -47
  1137. package/dist/src/nile-rich-text-editor/nile-rte-mentions-item.js.map +0 -1
  1138. package/dist/src/nile-rich-text-editor/nile-rte-mentions.d.ts +0 -57
  1139. package/dist/src/nile-rich-text-editor/nile-rte-mentions.js +0 -442
  1140. package/dist/src/nile-rich-text-editor/nile-rte-mentions.js.map +0 -1
  1141. package/dist/src/nile-rich-text-editor/nile-rte-preview.d.ts +0 -10
  1142. package/dist/src/nile-rich-text-editor/nile-rte-preview.js +0 -12
  1143. package/dist/src/nile-rich-text-editor/nile-rte-preview.js.map +0 -1
  1144. package/dist/src/nile-rich-text-editor/nile-rte-select.d.ts +0 -37
  1145. package/dist/src/nile-rich-text-editor/nile-rte-select.js +0 -200
  1146. package/dist/src/nile-rich-text-editor/nile-rte-select.js.map +0 -1
  1147. package/dist/src/nile-rich-text-editor/nile-rte-toolbar-item.d.ts +0 -12
  1148. package/dist/src/nile-rich-text-editor/nile-rte-toolbar-item.js +0 -23
  1149. package/dist/src/nile-rich-text-editor/nile-rte-toolbar-item.js.map +0 -1
  1150. package/dist/src/nile-rich-text-editor/nile-rte-toolbar.d.ts +0 -10
  1151. package/dist/src/nile-rich-text-editor/nile-rte-toolbar.js +0 -12
  1152. package/dist/src/nile-rich-text-editor/nile-rte-toolbar.js.map +0 -1
  1153. package/dist/src/nile-rich-text-editor/nille-rte-mention.d.ts +0 -21
  1154. package/dist/src/nile-rich-text-editor/nille-rte-mention.js +0 -47
  1155. package/dist/src/nile-rich-text-editor/nille-rte-mention.js.map +0 -1
  1156. package/dist/src/nile-rich-text-editor/nille-rte-mentions.d.ts +0 -21
  1157. package/dist/src/nile-rich-text-editor/nille-rte-mentions.js +0 -47
  1158. package/dist/src/nile-rich-text-editor/nille-rte-mentions.js.map +0 -1
  1159. package/dist/src/nile-rich-text-editor/sub-components/nile-rich-text-editor-toolbar-item.d.ts +0 -0
  1160. package/dist/src/nile-rich-text-editor/sub-components/nile-rich-text-editor-toolbar-item.js +0 -2
  1161. package/dist/src/nile-rich-text-editor/sub-components/nile-rich-text-editor-toolbar-item.js.map +0 -1
  1162. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-content/nile-rich-text-editor-content.d.ts +0 -8
  1163. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-content/nile-rich-text-editor-content.js +0 -39
  1164. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-content/nile-rich-text-editor-content.js.map +0 -1
  1165. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-content/nile-rich-text-editor-preview.d.ts +0 -0
  1166. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-content/nile-rich-text-editor-preview.js +0 -2
  1167. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-content/nile-rich-text-editor-preview.js.map +0 -1
  1168. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-mentions/nile-rich-text-editor-mentions.d.ts +0 -12
  1169. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-mentions/nile-rich-text-editor-mentions.js +0 -24
  1170. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-mentions/nile-rich-text-editor-mentions.js.map +0 -1
  1171. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-mentions-item/nile-rich-text-editor-mentions-item.d.ts +0 -25
  1172. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-mentions-item/nile-rich-text-editor-mentions-item.js +0 -89
  1173. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-mentions-item/nile-rich-text-editor-mentions-item.js.map +0 -1
  1174. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-preview/nile-rich-text-editor-preview.css.d.ts +0 -12
  1175. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-preview/nile-rich-text-editor-preview.css.js +0 -47
  1176. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-preview/nile-rich-text-editor-preview.css.js.map +0 -1
  1177. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-preview/nile-rich-text-editor-preview.d.ts +0 -7
  1178. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-preview/nile-rich-text-editor-preview.js +0 -28
  1179. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-preview/nile-rich-text-editor-preview.js.map +0 -1
  1180. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar/nile-rich-text-editor-toolbar.css.d.ts +0 -6
  1181. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar/nile-rich-text-editor-toolbar.css.js +0 -237
  1182. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar/nile-rich-text-editor-toolbar.css.js.map +0 -1
  1183. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar/nile-rich-text-editor-toolbar.d.ts +0 -5
  1184. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar/nile-rich-text-editor-toolbar.js +0 -26
  1185. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar/nile-rich-text-editor-toolbar.js.map +0 -1
  1186. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar-item/nile-rich-text-editor-toolbar-item.css.d.ts +0 -6
  1187. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar-item/nile-rich-text-editor-toolbar-item.css.js +0 -237
  1188. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar-item/nile-rich-text-editor-toolbar-item.css.js.map +0 -1
  1189. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar-item/nile-rich-text-editor-toolbar-item.d.ts +0 -8
  1190. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar-item/nile-rich-text-editor-toolbar-item.js +0 -36
  1191. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar-item/nile-rich-text-editor-toolbar-item.js.map +0 -1
  1192. package/dist/src/nile-rich-text-editor/utils.d.ts +0 -13
  1193. package/dist/src/nile-rich-text-editor/utils.js +0 -251
  1194. package/dist/src/nile-rich-text-editor/utils.js.map +0 -1
  1195. package/dist/src/nile-richcodeeditor/index.d.ts +0 -1
  1196. package/dist/src/nile-richcodeeditor/index.js +0 -2
  1197. package/dist/src/nile-richcodeeditor/index.js.map +0 -1
  1198. package/dist/src/nile-richcodeeditor/nile-richcodeeditor.css.d.ts +0 -12
  1199. package/dist/src/nile-richcodeeditor/nile-richcodeeditor.css.js +0 -17
  1200. package/dist/src/nile-richcodeeditor/nile-richcodeeditor.css.js.map +0 -1
  1201. package/dist/src/nile-richcodeeditor/nile-richcodeeditor.d.ts +0 -31
  1202. package/dist/src/nile-richcodeeditor/nile-richcodeeditor.js +0 -203
  1203. package/dist/src/nile-richcodeeditor/nile-richcodeeditor.js.map +0 -1
  1204. package/dist/src/nile-richeditor/index.d.ts +0 -1
  1205. package/dist/src/nile-richeditor/index.js +0 -2
  1206. package/dist/src/nile-richeditor/index.js.map +0 -1
  1207. package/dist/src/nile-richeditor/nile-richeditor.css.d.ts +0 -12
  1208. package/dist/src/nile-richeditor/nile-richeditor.css.js +0 -17
  1209. package/dist/src/nile-richeditor/nile-richeditor.css.js.map +0 -1
  1210. package/dist/src/nile-richeditor/nile-richeditor.d.ts +0 -19
  1211. package/dist/src/nile-richeditor/nile-richeditor.js +0 -234
  1212. package/dist/src/nile-richeditor/nile-richeditor.js.map +0 -1
  1213. package/dist/src/nile-richtexteditor/index.d.ts +0 -1
  1214. package/dist/src/nile-richtexteditor/index.js +0 -2
  1215. package/dist/src/nile-richtexteditor/index.js.map +0 -1
  1216. package/dist/src/nile-richtexteditor/nile-richtexteditor.css.d.ts +0 -6
  1217. package/dist/src/nile-richtexteditor/nile-richtexteditor.css.js +0 -237
  1218. package/dist/src/nile-richtexteditor/nile-richtexteditor.css.js.map +0 -1
  1219. package/dist/src/nile-richtexteditor/nile-richtexteditor.d.ts +0 -32
  1220. package/dist/src/nile-richtexteditor/nile-richtexteditor.js +0 -46
  1221. package/dist/src/nile-richtexteditor/nile-richtexteditor.js.map +0 -1
  1222. package/dist/src/nile-richtexteditor/utils/nile-mention.d.ts +0 -13
  1223. package/dist/src/nile-richtexteditor/utils/nile-mention.js +0 -47
  1224. package/dist/src/nile-richtexteditor/utils/nile-mention.js.map +0 -1
  1225. package/src/nile-icon/icons/svg/bold-try.ts +0 -5
  1226. package/src/nile-icon/icons/svg/bold.ts +0 -5
  1227. package/src/nile-icon/icons/svg/center-align.ts +0 -5
  1228. package/src/nile-icon/icons/svg/itallic.ts +0 -5
  1229. package/src/nile-icon/icons/svg/justify-align.ts +0 -5
  1230. package/src/nile-icon/icons/svg/left-align.ts +0 -5
  1231. package/src/nile-icon/icons/svg/nile-bold.ts +0 -5
  1232. package/src/nile-icon/icons/svg/nile-centeralign.ts +0 -5
  1233. package/src/nile-icon/icons/svg/nile-italic.ts +0 -5
  1234. package/src/nile-icon/icons/svg/nile-justify.ts +0 -5
  1235. package/src/nile-icon/icons/svg/nile-leftalign.ts +0 -5
  1236. package/src/nile-icon/icons/svg/nile-ol.ts +0 -5
  1237. package/src/nile-icon/icons/svg/nile-rightalign.ts +0 -5
  1238. package/src/nile-icon/icons/svg/nile-ul.ts +0 -5
  1239. package/src/nile-icon/icons/svg/nile-underline.ts +0 -5
  1240. package/src/nile-icon/icons/svg/ol.ts +0 -5
  1241. package/src/nile-icon/icons/svg/right-align.ts +0 -5
  1242. package/src/nile-icon/icons/svg/ul.ts +0 -5
  1243. package/src/nile-icon/icons/svg/underline.ts +0 -5
  1244. package/src/nile-lightdomeditor/index.ts +0 -1
  1245. package/src/nile-lightdomeditor/nile-lightdomeditor.css.ts +0 -238
  1246. package/src/nile-lightdomeditor/nile-lightdomeditor.ts +0 -523
  1247. package/src/nile-rich-text-editor/index.ts +0 -1
  1248. package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +0 -92
  1249. package/src/nile-rich-text-editor/nile-rich-text-editor.ts +0 -640
  1250. package/src/nile-rich-text-editor/nile-rte-color.ts +0 -14
  1251. package/src/nile-rich-text-editor/nile-rte-divider.ts +0 -9
  1252. package/src/nile-rich-text-editor/nile-rte-mentions-item.ts +0 -42
  1253. package/src/nile-rich-text-editor/nile-rte-mentions.ts +0 -465
  1254. package/src/nile-rich-text-editor/nile-rte-preview.ts +0 -9
  1255. package/src/nile-rich-text-editor/nile-rte-select.ts +0 -208
  1256. package/src/nile-rich-text-editor/nile-rte-toolbar-item.ts +0 -13
  1257. package/src/nile-rich-text-editor/nile-rte-toolbar.ts +0 -9
  1258. package/src/nile-rich-text-editor/utils.ts +0 -197
  1259. package/src/nile-richcodeeditor/index.ts +0 -1
  1260. package/src/nile-richcodeeditor/nile-richcodeeditor.css.ts +0 -19
  1261. package/src/nile-richcodeeditor/nile-richcodeeditor.ts +0 -192
  1262. /package/dist/{nile-lightdomeditor → nile-slider}/index.cjs.js.map +0 -0
  1263. /package/dist/{nile-rich-text-editor → nile-virtual-select}/index.cjs.js.map +0 -0
@@ -24,6 +24,8 @@ import { watch } from '../internal/watch';
24
24
  import NileElement from '../internal/nile-element';
25
25
  import { unsafeHTML } from 'lit/directives/unsafe-html.js';
26
26
  import { ifDefined } from 'lit/directives/if-defined.js';
27
+ import '../nile-virtual-select/nile-virtual-select';
28
+ import { VirtualScrollHelper } from './virtual-scroll-helper';
27
29
  /**
28
30
  * Nile icon component.
29
31
  *
@@ -38,6 +40,7 @@ import { ifDefined } from 'lit/directives/if-defined.js';
38
40
  * @dependency nile-icon
39
41
  * @dependency nile-popup
40
42
  * @dependency nile-tag
43
+ * @dependency nile-virtual-select
41
44
  *
42
45
  * @slot - The listbox options. Must be `<nile-option>` elements. You can use `<nile-divider>` to group items visually.
43
46
  * @slot label - The input's label. Alternatively, you can use the `label` attribute.
@@ -75,12 +78,16 @@ import { ifDefined } from 'lit/directives/if-defined.js';
75
78
  * @csspart expand-icon - The container that wraps the expand icon.
76
79
  */
77
80
  let NileSelect = class NileSelect extends NileElement {
81
+ /** Gets the validity state object */
82
+ get validity() {
83
+ return this.valueInput?.validity;
84
+ }
85
+ /** Gets the validation message */
86
+ get validationMessage() {
87
+ return this.valueInput?.validationMessage;
88
+ }
78
89
  constructor() {
79
- super(...arguments);
80
- // protected override BUBBLES=false;
81
- this.formControlController = new FormControlController(this, {
82
- assumeInteractionOn: ['nile-blur', 'nile-input'],
83
- });
90
+ super();
84
91
  this.hasSlotController = new HasSlotController(this, 'help-text', 'label');
85
92
  this.typeToSelectString = '';
86
93
  this.hasFocus = false;
@@ -160,17 +167,18 @@ let NileSelect = class NileSelect extends NileElement {
160
167
  this.oldMaxOptionsVisible = 1;
161
168
  this.showNoResults = false;
162
169
  this.noResultsMessage = 'No results found';
163
- }
164
- /** Gets the validity state object */
165
- get validity() {
166
- return this.valueInput?.validity;
167
- }
168
- /** Gets the validation message */
169
- get validationMessage() {
170
- return this.valueInput?.validationMessage;
170
+ this.data = [];
171
+ this.enableVirtualScroll = false;
172
+ this.options = [];
171
173
  }
172
174
  connectedCallback() {
173
175
  super.connectedCallback();
176
+ if (!this.enableVirtualScroll) {
177
+ this.formControlController = new FormControlController(this, {
178
+ assumeInteractionOn: ['nile-blur', 'nile-input'],
179
+ });
180
+ }
181
+ this.virtualScrollHelper = new VirtualScrollHelper(this);
174
182
  this.handleDocumentFocusIn = this.handleDocumentFocusIn.bind(this);
175
183
  this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);
176
184
  this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);
@@ -187,9 +195,16 @@ let NileSelect = class NileSelect extends NileElement {
187
195
  this.setCheckBoxInOption(this.multiple);
188
196
  }
189
197
  }
198
+ firstUpdated(_changedProperties) {
199
+ if (_changedProperties.has('multiple')) {
200
+ this.setCheckBoxInOption(this.multiple);
201
+ }
202
+ }
190
203
  setCheckBoxInOption(checked) {
191
- const options = this.getAllOptions();
192
- options.forEach((option) => {
204
+ if (!this.options.length) {
205
+ this.options = this.getAllOptions();
206
+ }
207
+ this.options.forEach((option) => {
193
208
  option.showCheckbox = checked;
194
209
  });
195
210
  }
@@ -373,6 +388,8 @@ let NileSelect = class NileSelect extends NileElement {
373
388
  event.stopPropagation();
374
389
  if (this.value !== '') {
375
390
  this.setSelectedOptions([]);
391
+ this.showSelected = false;
392
+ this.value = '';
376
393
  this.displayInput.focus({ preventScroll: true });
377
394
  // Emit after update
378
395
  this.updateComplete.then(() => {
@@ -587,7 +604,7 @@ let NileSelect = class NileSelect extends NileElement {
587
604
  }
588
605
  // Update validity
589
606
  this.updateComplete.then(() => {
590
- this.formControlController.updateValidity();
607
+ this.formControlController?.updateValidity();
591
608
  });
592
609
  this.calculateTotalWidthOfTags();
593
610
  }
@@ -629,8 +646,8 @@ let NileSelect = class NileSelect extends NileElement {
629
646
  return filteredOptions;
630
647
  }
631
648
  handleInvalid(event) {
632
- this.formControlController.setValidity(false);
633
- this.formControlController.emitInvalidEvent(event);
649
+ this.formControlController?.setValidity(false);
650
+ this.formControlController?.emitInvalidEvent(event);
634
651
  }
635
652
  handleDisabledChange() {
636
653
  // Close the listbox when the control is disabled
@@ -712,7 +729,7 @@ let NileSelect = class NileSelect extends NileElement {
712
729
  }
713
730
  /** Gets the associated form, if one exists. */
714
731
  getForm() {
715
- return this.formControlController.getForm();
732
+ return this.formControlController?.getForm() || null;
716
733
  }
717
734
  /** Checks for validity and shows the browser's validation message if the control is invalid. */
718
735
  reportValidity() {
@@ -721,7 +738,7 @@ let NileSelect = class NileSelect extends NileElement {
721
738
  /** Sets a custom validation message. Pass an empty string to restore validity. */
722
739
  setCustomValidity(message) {
723
740
  this.valueInput.setCustomValidity(message);
724
- this.formControlController.updateValidity();
741
+ this.formControlController?.updateValidity();
725
742
  }
726
743
  /** Sets focus on the control. */
727
744
  focus(options) {
@@ -780,6 +797,9 @@ let NileSelect = class NileSelect extends NileElement {
780
797
  }, 1);
781
798
  }
782
799
  render() {
800
+ if (this.enableVirtualScroll) {
801
+ return this.virtualScrollHelper.renderVirtualizedContent();
802
+ }
783
803
  const hasLabelSlot = this.hasSlotController.test('label');
784
804
  const hasHelpTextSlot = this.hasSlotController.test('help-text');
785
805
  const hasLabelSuffixSlot = this.hasSlotController.test('label-suffix');
@@ -1177,7 +1197,21 @@ __decorate([
1177
1197
  property({ type: Boolean, reflect: true })
1178
1198
  ], NileSelect.prototype, "noWidthSync", void 0);
1179
1199
  __decorate([
1180
- property({ type: Boolean, reflect: true })
1200
+ property({
1201
+ reflect: true,
1202
+ converter: {
1203
+ fromAttribute(value) {
1204
+ if (value === '' || value === 'true')
1205
+ return true;
1206
+ if (value === 'false')
1207
+ return false;
1208
+ return value;
1209
+ },
1210
+ toAttribute(value) {
1211
+ return typeof value === 'boolean' ? String(value) : value;
1212
+ }
1213
+ }
1214
+ })
1181
1215
  ], NileSelect.prototype, "multiple", void 0);
1182
1216
  __decorate([
1183
1217
  property({ attribute: 'help-text', reflect: true })
@@ -1239,6 +1273,15 @@ __decorate([
1239
1273
  __decorate([
1240
1274
  property({ type: String })
1241
1275
  ], NileSelect.prototype, "noResultsMessage", void 0);
1276
+ __decorate([
1277
+ property({ attribute: false })
1278
+ ], NileSelect.prototype, "renderItemConfig", void 0);
1279
+ __decorate([
1280
+ property({ type: Array })
1281
+ ], NileSelect.prototype, "data", void 0);
1282
+ __decorate([
1283
+ property({ type: Boolean })
1284
+ ], NileSelect.prototype, "enableVirtualScroll", void 0);
1242
1285
  __decorate([
1243
1286
  watch('disabled', { waitUntilFirstUpdate: true })
1244
1287
  ], NileSelect.prototype, "handleDisabledChange", null);
@@ -1 +1 @@
1
- {"version":3,"file":"nile-select.js","sourceRoot":"","sources":["../../../src/nile-select/nile-select.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-select.css';\n\nimport '../nile-icon';\nimport '../nile-popup/nile-popup';\nimport '../nile-tag/nile-tag';\nimport { animateTo, stopAnimations } from '../internal/animate';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query, state } from 'lit/decorators.js';\nimport { defaultValue } from '../internal/default-value';\nimport { FormControlController } from '../internal/form';\nimport {\n getAnimation,\n setDefaultAnimation,\n} from '../utilities/animation-registry';\nimport { HasSlotController } from '../internal/slot';\nimport { scrollIntoView } from '../internal/scroll';\nimport { waitForEvent } from '../internal/event';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValues } from 'lit';\nimport type { NileFormControl } from '../internal/nile-element';\nimport type NileOption from '../nile-option/nile-option';\nimport type NilePopup from '../nile-popup/nile-popup';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\ntype NileRemoveEvent = CustomEvent<Record<PropertyKey, never>>;\n\n/**\n * Nile icon component.\n *\n * @tag nile-select\n *\n */\n\n/**\n * @summary Selects allow you to choose items from a menu of predefined options.\n * @status stable\n * @since 2.0\n *\n * @dependency nile-icon\n * @dependency nile-popup\n * @dependency nile-tag\n *\n * @slot - The listbox options. Must be `<nile-option>` elements. You can use `<nile-divider>` to group items visually.\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the combobox.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot expand-icon - The icon to show when the control is expanded and collapsed. Rotates on open and close.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @event nile-change - Emitted when the control's value changes.\n * @event nile-clear - Emitted when the control's value is cleared.\n * @event nile-input - Emitted when the control receives input.\n * @event nile-focus - Emitted when the control gains focus.\n * @event nile-blur - Emitted when the control loses focus.\n * @event nile-show - Emitted when the select's menu opens.\n * @event nile-after-show - Emitted after the select's menu opens and all animations are complete.\n * @event nile-hide - Emitted when the select's menu closes.\n * @event nile-after-hide - Emitted after the select's menu closes and all animations are complete.\n * @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The select's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart combobox - The container the wraps the prefix, combobox, clear icon, and expand button.\n * @csspart prefix - The container that wraps the prefix slot.\n * @csspart display-input - The element that displays the selected option's label, an `<input>` element.\n * @csspart listbox - The listbox container where options are slotted.\n * @csspart tags - The container that houses option tags when `multiselect` is used.\n * @csspart tag - The individual tags that represent each multiselect option.\n * @csspart tag__base - The tag's base part.\n * @csspart tag__content - The tag's content part.\n * @csspart tag__remove-button - The tag's remove button.\n * @csspart tag__remove-button__base - The tag's remove button base part.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n */\n\n@customElement('nile-select')\nexport class NileSelect extends NileElement implements NileFormControl {\n static styles: CSSResultGroup = styles;\n\n // protected override BUBBLES=false;\n\n private readonly formControlController = new FormControlController(this, {\n assumeInteractionOn: ['nile-blur', 'nile-input'],\n });\n private readonly hasSlotController = new HasSlotController(\n this,\n 'help-text',\n 'label'\n );\n private typeToSelectString = '';\n private typeToSelectTimeout: number;\n\n @query('.select') popup: NilePopup;\n @query('.select__combobox') combobox: HTMLSlotElement;\n @query('.select__display-input') displayInput: HTMLInputElement;\n @query('.select__value-input') valueInput: HTMLInputElement;\n @query('.select__listbox') listbox: HTMLSlotElement;\n\n @state() private hasFocus = false;\n @state() displayLabel = '';\n @state() currentOption: NileOption;\n @state() selectedOptions: NileOption[] = [];\n @state() oldValue: string | string[] = '';\n\n /** The name of the select, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /**\n * The current value of the select, submitted as a name/value pair with form data. When `multiple` is enabled, the\n * value will be a space-delimited list of values based on the options selected.\n */\n @property({\n converter: {\n fromAttribute: (value: string) => value.split(' '),\n toAttribute: (value: string[]) => value.join(' '),\n },\n })\n value: string | string[] = '';\n\n /** The default value of the form control. Primarily used for resetting the form control. */\n @defaultValue() defaultValue: string | string[] = '';\n\n /** The select's size. */\n @property() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Placeholder text to show as a hint when the select is empty. */\n @property() placeholder = 'Select...';\n\n /** Placeholder text to show as a hint when the select is empty. */\n @state() searchValue: string = '';\n\n @property({ type: Boolean, reflect: true }) searchEnabled = false;\n\n @property({attribute:'internal-search-placeholder'}) internalSearchPlaceHolder = 'Search...';\n\n @property({ type: Boolean, reflect: true }) blockValueChange = false;\n\n @property({ type: Boolean, reflect: true }) disableLocalSearch = false;\n\n @property({ type: Boolean, reflect: true }) optionsLoading = false;\n\n @property({ type: Boolean, reflect: true }) noWidthSync = false;\n\n /** Allows more than one option to be selected. */\n @property({ type: Boolean, reflect: true }) multiple = false;\n\n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n /** Sets the input to a warning state, changing its visual appearance. */\n @property({ type: Boolean }) warning = false;\n\n /** Sets the input to an error state, changing its visual appearance. */\n @property({ type: Boolean }) error = false;\n\n /** Sets the input to a success state, changing its visual appearance. */\n @property({ type: Boolean }) success = false;\n\n /**\n * The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\n * indicate the number of additional items that are selected. Set to 0 to remove the limit.\n */\n @property({ attribute: 'max-options-visible', type: Number })\n maxOptionsVisible = 3;\n\n /** Disables the select control. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Adds a clear button when the select is not empty. */\n @property({ type: Boolean }) clearable = false;\n\n /**\n * Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\n * use the `show()` and `hide()` methods and this attribute will reflect the select's open state.\n */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /**\n * Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n */\n @property({ type: Boolean }) hoist = false;\n\n /** Draws a filled select. */\n @property({ type: Boolean, reflect: true }) filled = false;\n\n /** Draws a pill-style select with rounded edges. */\n @property({ type: Boolean, reflect: true }) pill = false;\n\n /** The select's label. If you need to display HTML, use the `label` slot instead. */\n @property() label = '';\n\n /**\n * The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\n * inside of the viewport.\n */\n @property({ reflect: true }) placement: 'top' | 'bottom' = 'bottom';\n\n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n\n /** The select's required attribute. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n @property({ type: Boolean }) showSelected = false;\n\n @state() oldMaxOptionsVisible: number = 1;\n\n @property({ type: Boolean }) showNoResults: boolean = false;\n\n @property({ type: String }) noResultsMessage: string = 'No results found';\n\n /** Gets the validity state object */\n get validity() {\n return this.valueInput?.validity;\n }\n\n /** Gets the validation message */\n get validationMessage() {\n return this.valueInput?.validationMessage;\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.handleDocumentFocusIn = this.handleDocumentFocusIn.bind(this);\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);\n\n // Because this is a form control, it shouldn't be opened initially\n this.open = false;\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n protected updated(_changedProperties: PropertyValues): void {\n if(_changedProperties.has('multiple')) {\n this.setCheckBoxInOption(this.multiple);\n }\n }\n\n setCheckBoxInOption(checked: boolean): void {\n const options = this.getAllOptions();\n options.forEach((option: NileOption) => {\n option.showCheckbox = checked;\n })\n }\n\n private addOpenListeners() {\n document.addEventListener('focusin', this.handleDocumentFocusIn);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n }\n\n private removeOpenListeners() {\n document.removeEventListener('focusin', this.handleDocumentFocusIn);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.displayInput.setSelectionRange(0, 0);\n this.emit('nile-focus', { value: this.value, name: this.name });\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('nile-blur', { value: this.value, name: this.name });\n }\n\n private handleDocumentFocusIn(event: FocusEvent) {\n // Close when focusing out of the select\n const path = event.composedPath();\n if (this && !path.includes(this)) {\n this.hide();\n }\n }\n\n /**\n * Handles the click event on the footer.\n * @param event - The click event.\n */\n private handleFooterClick(event: MouseEvent): void {\n event.stopPropagation();\n event.preventDefault();\n }\n\n /**\n * Toggles the display of selected options in the dropdown\n * @param event - the event object\n */\n private toggleShowSelected(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n // Only toggle if there are selected options\n if (this.selectedOptions?.length === 0) {\n return;\n }\n // Toggle the showSelected property\n this.showSelected = !this.showSelected;\n\n // Hide unselected options if showSelected is true\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n }\n });\n\n // this.requestUpdate();\n }\n\n /**\n * Deselects all options and updates the value, selectedOptions, and displayLabel properties accordingly\n */\n private unSlectAll(): void {\n this.showSelected = false;\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n el.selected = false;\n el.hidden = false;\n });\n this.value = '';\n this.selectionChanged();\n this.emit('nile-change', { value: this.value, name: this.name });\n this.emit('nile-clear',{ value: this.multiple?this.value:'', name: this.name })\n }\n\n private handleDocumentKeyDown(event: KeyboardEvent) {\n const target = event.target as HTMLElement;\n const isClearButton = target.closest('.select__clear') !== null;\n const isIconButton = target.closest('nile-icon-button') !== null;\n\n // Ignore presses when the target is an icon button (e.g. the remove button in <nile-tag>)\n if (isClearButton || isIconButton) {\n return;\n }\n\n // Close when pressing escape\n if (event.key === 'Escape' && this.open) {\n event.preventDefault();\n event.stopPropagation();\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n\n // Handle enter and space. When pressing space, we allow for type to select behaviors so if there's anything in the\n // buffer we _don't_ close it.\n if (\n event.key === 'Enter' ||\n (event.key === ' ' && this.typeToSelectString === '')\n ) {\n event.preventDefault();\n event.stopImmediatePropagation();\n\n // If it's not open, open it\n if (!this.open) {\n this.show();\n return;\n }\n\n // If it is open, update the value based on the current selection and close it\n if (this.currentOption && !this.currentOption.disabled) {\n if (this.multiple) {\n this.toggleOptionSelection(this.currentOption);\n } else {\n this.setSelectedOptions(this.currentOption);\n }\n\n // Emit after updating\n this.updateComplete.then(() => {\n this.nileInput({ value: this.value, name: this.name })\n this.nileChange({ value: this.value, name: this.name })\n });\n\n if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n\n return;\n }\n\n // All other \"printable\" keys trigger type to select\n if (event.key.length === 1 || event.key === 'Backspace') {\n const allOptions = this.getAllOptions();\n\n // Don't block important key combos like CMD+R\n if (event.metaKey || event.ctrlKey || event.altKey) {\n return;\n }\n\n // Open, unless the key that triggered is backspace\n if (!this.open) {\n if (event.key === 'Backspace') {\n return;\n }\n\n this.show();\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n clearTimeout(this.typeToSelectTimeout);\n this.typeToSelectTimeout = window.setTimeout(\n () => (this.typeToSelectString = ''),\n 1000\n );\n\n if (event.key === 'Backspace') {\n this.typeToSelectString = this.typeToSelectString.slice(0, -1);\n } else {\n this.typeToSelectString += event.key.toLowerCase();\n }\n\n for (const option of allOptions) {\n const label = option.getTextLabel().toLowerCase();\n\n if (label.startsWith(this.typeToSelectString)) {\n this.setCurrentOption(option);\n break;\n }\n }\n }\n }\n\n private handleDocumentMouseDown(event: MouseEvent) {\n // Close when clicking outside of the select\n const path = event.composedPath();\n if (this && !path.includes(this)) {\n this.hide();\n }\n }\n\n private handleLabelClick() {\n this.displayInput.focus();\n this.hide();\n }\n\n private handleComboboxMouseDown(event: MouseEvent) {\n const path = event.composedPath();\n const isIconButton = path.some(\n el =>\n el instanceof Element && el.tagName.toLowerCase() === 'nile-icon-button'\n );\n\n // Ignore disabled controls and clicks on tags (remove buttons)\n if (this.disabled || isIconButton) {\n return;\n }\n\n event.preventDefault();\n this.displayInput.focus({ preventScroll: true });\n this.open = !this.open;\n }\n\n private handleComboboxKeyDown(event: KeyboardEvent) {\n event.stopPropagation();\n this.handleDocumentKeyDown(event);\n }\n\n private handleClearClick(event: MouseEvent) {\n event.stopPropagation();\n\n if (this.value !== '') {\n this.setSelectedOptions([]);\n this.displayInput.focus({ preventScroll: true });\n\n // Emit after update\n this.updateComplete.then(() => {\n const val={ value: this.multiple?this.value:'', name: this.name }\n this.emit('nile-clear', val);\n this.nileInput(val);\n this.nileChange(val);\n });\n }\n }\n\n private handleClearMouseDown(event: MouseEvent) {\n // Don't lose focus or propagate events when clicking the clear button\n event.stopPropagation();\n event.preventDefault();\n }\n\n private handleOptionClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const option = target.closest('nile-option');\n\n if (this.blockValueChange && option) {\n this.emit('nile-block-change', { value: option?.value, name: this.name });\n this.hide();\n return;\n }\n\n const oldValue = this.value;\n this.oldValue = oldValue;\n\n if (option && !option.disabled) {\n if (this.multiple) {\n this.toggleOptionSelection(option);\n } else {\n this.setSelectedOptions(option);\n }\n\n // Set focus after updating so the value is announced by screen readers\n this.updateComplete.then(() =>\n this.displayInput.focus({ preventScroll: true })\n );\n\n if (this.value !== oldValue) {\n // Emit after updating\n this.updateComplete.then(() => {\n this.nileInput({ value: this.value, name: this.name });\n this.nileChange({ value: this.value, name: this.name });\n });\n }\n\n if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n\n if (this.showSelected) {\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n }\n });\n\n this.requestUpdate();\n }\n }\n\n private handleDefaultSlotChange() {\n const allOptions = this.getAllOptions();\n const value = Array.isArray(this.value) ? this.value : [this.value];\n const values: string[] = [];\n\n // Check for duplicate values in menu items\n if (customElements.get('nile-option')) {\n allOptions.forEach(option => values.push(option.value));\n\n // Select only the options that match the new value\n this.setSelectedOptions(\n allOptions.filter(el => value.map(String).includes(el.value))\n );\n } else {\n // Rerun this handler when <nile-option> is registered\n customElements\n .whenDefined('nile-option')\n .then(() => this.handleDefaultSlotChange());\n }\n }\n\n private handleTagRemove(event: NileRemoveEvent, option: NileOption) {\n event.stopPropagation();\n\n if (!this.disabled) {\n this.toggleOptionSelection(option, false);\n\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n }\n });\n\n // Emit after updating\n this.updateComplete.then(() => {\n this.nileInput( { value: this.value, name: this.name });\n this.nileChange( { value: this.value, name: this.name });\n this.emit('nile-tag-remove', { value: this.value, name: this.name,removedtagvalue:option.value });\n });\n }\n }\n\n // Gets an array of all <nile-option> elements\n private getAllOptions() {\n // Get all options as an array\n const options = [...this.querySelectorAll<NileOption>('nile-option')];\n\n // Sort the options based on the order of values selected\n if (this.multiple && this.oldValue?.length > 0) {\n options.sort((a, b) => {\n let indexA = this.oldValue.indexOf(a.value);\n let indexB = this.oldValue.indexOf(b.value);\n\n // Handle cases where a __value is not found\n if (indexA === -1) {\n indexA = Infinity; // Place at the end if not found\n }\n if (indexB === -1) {\n indexB = Infinity; // Place at the end if not found\n }\n\n if (indexA < indexB) {\n return -1;\n }\n if (indexA > indexB) {\n return 1;\n }\n return 0;\n });\n }\n\n return options;\n }\n\n private getOptionPrefix(option: NileOption): string {\n const prefixSlot = option.shadowRoot?.querySelector(\n 'slot[name=\"prefix\"]'\n ) as HTMLSlotElement;\n if (!prefixSlot) return '';\n\n const assignedNodes = prefixSlot.assignedNodes();\n const htmlStrings: string[] = [];\n\n assignedNodes.forEach(node => {\n if (node instanceof HTMLElement) {\n htmlStrings.push(node.outerHTML);\n } else if (node.nodeType === Node.TEXT_NODE) {\n // Text node\n htmlStrings.push(node.textContent || '');\n }\n });\n\n return htmlStrings.join('');\n }\n\n // Gets the first <nile-option> element\n private getFirstOption() {\n return this.querySelector<NileOption>('nile-option');\n }\n\n // Sets the current option, which is the option the user is currently interacting with (e.g. via keyboard). Only one\n // option may be \"current\" at a time.\n private setCurrentOption(option: NileOption | null) {\n const allOptions = this.getAllOptions();\n\n // Clear selection\n allOptions.forEach(el => {\n el.current = false;\n el.tabIndex = -1;\n });\n\n // Select the target option\n if (option) {\n this.currentOption = option;\n option.current = true;\n option.tabIndex = 0;\n option.focus();\n }\n }\n\n // Sets the selected option(s)\n private setSelectedOptions(option: NileOption | NileOption[]) {\n const allOptions = this.getAllOptions();\n const newSelectedOptions = Array.isArray(option) ? option : [option];\n\n // Clear existing selection\n allOptions.forEach(el => (el.selected = false));\n\n // Set the new selection\n if (newSelectedOptions.length) {\n newSelectedOptions.forEach(el => (el.selected = true));\n }\n\n // Update selection, value, and display label\n this.selectionChanged();\n }\n\n // Toggles an option's selected state\n private toggleOptionSelection(option: NileOption, force?: boolean) {\n if (force === true || force === false) {\n option.selected = force;\n } else {\n option.selected = !option.selected;\n }\n\n this.selectionChanged();\n }\n\n // This method must be called whenever the selection changes. It will update the selected options cache, the current\n // value, and the display value\n private selectionChanged() {\n // Update selected options cache\n this.selectedOptions = this.getAllOptions().filter(el => el.selected);\n\n // Update the value and display label\n if (this.multiple) {\n this.value = this.selectedOptions.map(el => el.value);\n\n if (this.placeholder && this.value.length === 0) {\n // When no items are selected, keep the value empty so the placeholder shows\n this.displayLabel = '';\n } else {\n this.displayLabel = this.selectedOptions.length + ' selected';\n }\n\n if (this.selectedOptions.length === 0) {\n this.showSelected = false;\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n } else {}\n });\n\n this.requestUpdate();\n }\n } else {\n this.value = this.selectedOptions[0]?.value ?? this.value;\n this.displayLabel = this.selectedOptions[0]?.getTextLabel()\n ? this.selectedOptions[0].getTextLabel()\n : this.value ?? '';\n }\n\n // Update validity\n this.updateComplete.then(() => {\n this.formControlController.updateValidity();\n });\n\n this.calculateTotalWidthOfTags();\n }\n\n handleSearchFocus() {\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchBlur() {\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchChange(e: any) {\n this.searchValue = e.detail.value;\n if (!this.disableLocalSearch) {\n let filteredOptions = this.filterOptions(this.searchValue);\n if (filteredOptions.length === 0) {\n // Display 'No results found' message.\n this.showNoResults = true;\n } else {\n this.showNoResults = false;\n }\n }\n }\n\n filterOptions(searchValue: string) {\n const allOptions = this.getAllOptions();\n const lowerCaseSearchValue = searchValue.toLowerCase();\n\n let filteredOptions: NileOption[] = [];\n\n allOptions.forEach(el => {\n const lowerCaseLabel = el.getTextLabel().toLowerCase();\n const lowerCaseValue = (el.value || '').toLowerCase();\n if (\n lowerCaseLabel.includes(lowerCaseSearchValue) ||\n lowerCaseValue.includes(lowerCaseSearchValue)\n ) {\n el.hidden = false;\n filteredOptions.push(el);\n } else {\n el.hidden = true;\n }\n });\n\n return filteredOptions;\n }\n\n private handleInvalid(event: Event) {\n this.formControlController.setValidity(false);\n this.formControlController.emitInvalidEvent(event);\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Close the listbox when the control is disabled\n if (this.disabled) {\n this.open = false;\n this.handleOpenChange();\n }\n }\n\n @watch('value', { waitUntilFirstUpdate: true })\n handleValueChange() {\n const allOptions = this.getAllOptions();\n const value = Array.isArray(this.value) ? this.value : [this.value];\n\n // Select only the options that match the new value\n this.setSelectedOptions(allOptions.filter(el => value.includes(el.value)));\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open && !this.disabled) {\n // Reset the current option\n this.setCurrentOption(this.selectedOptions[0] || this.getFirstOption());\n\n // Show\n this.emit('nile-show', { value: this.value, name: this.name });\n this.addOpenListeners();\n\n this.showNoResults = !this.getAllOptions()?.length;\n\n await stopAnimations(this);\n this.listbox.hidden = false;\n this.popup.active = true;\n\n // Select the appropriate option based on value after the listbox opens\n requestAnimationFrame(() => {\n this.setCurrentOption(this.currentOption);\n });\n\n const { keyframes, options } = getAnimation(this, 'select.show', {\n dir: 'ltr',\n });\n await animateTo(this.popup.popup, keyframes, options);\n\n // Make sure the current option is scrolled into view (required for Safari)\n if (this.currentOption) {\n scrollIntoView(this.currentOption, this.listbox, 'vertical', 'auto');\n }\n this.searchValue = '';\n this.filterOptions(this.searchValue);\n\n this.emit('nile-after-show', { value: this.value, name: this.name });\n } else {\n // Hide\n this.emit('nile-hide', { value: this.value, name: this.name });\n this.showSelected = false;\n this.removeOpenListeners();\n\n await stopAnimations(this);\n const { keyframes, options } = getAnimation(this, 'select.hide', {\n dir: 'ltr',\n });\n await animateTo(this.popup.popup, keyframes, options);\n this.listbox.hidden = true;\n this.popup.active = false;\n\n this.searchValue = '';\n this.emit('nile-after-hide', { value: this.value, name: this.name });\n }\n }\n\n /** Shows the listbox. */\n async show() {\n if (this.open || this.disabled) {\n this.open = false;\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, 'nile-after-show');\n }\n\n /** Hides the listbox. */\n async hide() {\n if (!this.open || this.disabled) {\n this.open = false;\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, 'nile-after-hide');\n }\n\n /** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */\n checkValidity() {\n return this.valueInput.checkValidity();\n }\n\n /** Gets the associated form, if one exists. */\n getForm(): HTMLFormElement | null {\n return this.formControlController.getForm();\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n reportValidity() {\n return this.valueInput.reportValidity();\n }\n\n /** Sets a custom validation message. Pass an empty string to restore validity. */\n setCustomValidity(message: string) {\n this.valueInput.setCustomValidity(message);\n this.formControlController.updateValidity();\n }\n\n /** Sets focus on the control. */\n focus(options?: FocusOptions) {\n this.displayInput.focus(options);\n }\n\n /** Removes focus from the control. */\n blur() {\n this.displayInput.blur();\n }\n\n onInputChange(event: Event) {\n // This will stop the event from bubbling up to the parent `nile-select` component\n event.stopPropagation();\n }\n\n calculateWidthOfSelectTagsDiv() {\n if (this.shadowRoot) {\n const selectTagsDiv = this.shadowRoot.querySelector('div.select__tags');\n if (selectTagsDiv instanceof HTMLElement) {\n const width = selectTagsDiv.offsetWidth;\n return width - 70;\n }\n }\n }\n\n calculateTotalWidthOfTags() {\n if (this.maxOptionsVisible !== Infinity) {\n this.oldMaxOptionsVisible = this.maxOptionsVisible;\n }\n\n this.maxOptionsVisible = Infinity;\n setTimeout(() => {\n let widths: number[] = [];\n if (this.shadowRoot) {\n const tags = this.shadowRoot.querySelectorAll('nile-tag');\n tags.forEach(tag => {\n if (tag instanceof HTMLElement) {\n widths.push(tag.offsetWidth);\n }\n });\n }\n if (this.value.length !== widths.length) {\n return;\n }\n\n let sum = widths.reduce(\n (accumulator, currentValue) => accumulator + currentValue,\n 0\n );\n const widthOfSelectTagsDiv = this.calculateWidthOfSelectTagsDiv();\n if (!widthOfSelectTagsDiv) {\n return;\n }\n\n let summ = 0;\n let lastindex = 0;\n\n for (let i = 0; i < widths.length; i++) {\n summ += widths[i];\n\n if (summ > widthOfSelectTagsDiv) {\n lastindex = i;\n break;\n }\n }\n this.maxOptionsVisible = lastindex;\n }, 1);\n }\n\n render() {\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasLabelSuffixSlot = this.hasSlotController.test('label-suffix');\n const hasCustomSelect = this.hasSlotController.test('custom-select');\n const hasLabel = this.label ? true : !!hasLabelSlot;\n const hasClearIcon =\n this.clearable && !this.disabled && this.value.length > 0;\n const isPlaceholderVisible = this.placeholder && this.value.length === 0;\n const hasHelpText = this.helpText ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n const prefixContent = this.selectedOptions[0]\n ? this.getOptionPrefix(this.selectedOptions[0])\n : '';\n\n return html`\n <div\n part=\"form-control\"\n class=${classMap({\n 'form-control': true,\n 'form-control--small': this.size === 'small',\n 'form-control--medium': this.size === 'medium',\n 'form-control--large': this.size === 'large',\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText,\n })}\n >\n <label\n id=\"label\"\n part=\"form-control-label\"\n class=\"form-control__label\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n @click=${this.handleLabelClick}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n ${hasLabelSuffixSlot ? html` <slot name=\"label-suffix\"></slot> ` : ``}\n\n <div part=\"form-control-input\" class=\"form-control-input\">\n <nile-popup\n class=${classMap({\n select: true,\n 'select--warning': this.warning,\n 'select--error': this.error,\n 'select--success': this.success,\n 'select--standard': true,\n 'select--filled': this.filled,\n 'select--pill': this.pill,\n 'select--open': this.open,\n 'select--disabled': this.disabled,\n 'select--multiple': this.multiple,\n 'select--focused': this.hasFocus,\n 'select--placeholder-visible': isPlaceholderVisible,\n 'select--top': this.placement === 'top',\n 'select--bottom': this.placement === 'bottom',\n 'select--small': this.size === 'small',\n 'select--medium': this.size === 'medium',\n 'select--large': this.size === 'large',\n })}\n placement=${this.placement}\n strategy=${this.hoist ? 'fixed' : 'absolute'}\n distance=\"6\"\n flip\n shift\n sync=${ifDefined(!this.noWidthSync ? 'width' : undefined)}\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n >\n ${hasCustomSelect\n ? html`<slot\n slot=\"anchor\"\n name=\"custom-select\"\n class=\"custom-select\"\n @keydown=${this.handleComboboxKeyDown}\n @mousedown=${this.handleComboboxMouseDown}\n ></slot>`\n : html``}\n <div\n part=\"combobox\"\n class=${classMap({\n select__combobox: true,\n 'select__hide-default': hasCustomSelect,\n })}\n slot=\"anchor\"\n @keydown=${this.handleComboboxKeyDown}\n @mousedown=${this.handleComboboxMouseDown}\n >\n ${prefixContent && !this.multiple\n ? html`<div class=\"select__prefix--from-options\">\n ${unsafeHTML(prefixContent)}\n </div>`\n : html`<slot\n part=\"prefix\"\n name=\"prefix\"\n class=${classMap({\n select__prefix: true,\n multiple: this.multiple,\n })}\n ></slot>`}\n\n <input\n part=\"display-input\"\n class=\"select__display-input\"\n type=\"text\"\n placeholder=${this.placeholder}\n .disabled=${this.disabled}\n .value=${this.displayLabel}\n autocomplete=\"off\"\n spellcheck=\"false\"\n autocapitalize=\"off\"\n readonly\n aria-controls=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-haspopup=\"listbox\"\n aria-labelledby=\"label\"\n aria-disabled=${this.disabled ? 'true' : 'false'}\n aria-describedby=\"help-text\"\n role=\"combobox\"\n tabindex=\"0\"\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n\n ${this.multiple\n ? html`\n <div part=\"tags\" class=\"select__tags\">\n ${this.selectedOptions.map((option, index) => {\n if (\n index < this.maxOptionsVisible ||\n this.maxOptionsVisible <= 0\n ) {\n const classes = {\n select__invisible:\n index + 1 > this.oldMaxOptionsVisible &&\n this.maxOptionsVisible === Infinity,\n };\n return html`\n <nile-tag\n class=${classMap(classes)}\n part=\"tag\"\n exportparts=\"\n base:tag__base,\n content:tag__content,\n remove-button:tag__remove-button,\n remove-button__base:tag__remove-button__base\n \"\n ?pill=${this.pill}\n size=${this.size}\n removable\n @nile-remove=${(event: NileRemoveEvent) =>\n this.handleTagRemove(event, option)}\n >\n ${this.getOptionPrefix(option)\n ? html`<span class=\"tag__prefix\" slot=\"prefix\"\n >${unsafeHTML(\n this.getOptionPrefix(option)\n )}</span\n >`\n : ''}\n ${option.getTextLabel()}\n </nile-tag>\n `;\n } else if (index === this.maxOptionsVisible) {\n return html`\n <span class=\"select__tags-count\"\n >+${this.selectedOptions.length - index} More\n </span>\n `;\n } else {\n return null;\n }\n })}\n </div>\n `\n : ''}\n\n <input\n class=\"select__value-input\"\n type=\"text\"\n ?disabled=${this.disabled}\n ?required=${this.required}\n .value=${Array.isArray(this.value)\n ? this.value.join(', ')\n : this.value}\n tabindex=\"-1\"\n aria-hidden=\"true\"\n @focus=${() => this.focus()}\n @invalid=${this.handleInvalid}\n />\n\n ${hasClearIcon\n ? html`\n <button\n part=\"clear-button\"\n class=\"select__clear\"\n type=\"button\"\n aria-label=\"clearEntry\"\n @mousedown=${this.handleClearMouseDown}\n @click=${this.handleClearClick}\n tabindex=\"-1\"\n >\n <slot name=\"clear-icon\">\n <nile-icon name=\"close\" library=\"system\"></nile-icon>\n </slot>\n </button>\n `\n : ''}\n\n <slot\n part=\"suffix\"\n name=\"suffix\"\n class=${classMap({\n select__suffix: true,\n })}\n ></slot>\n\n <slot\n name=\"expand-icon\"\n part=\"expand-icon\"\n class=\"select__expand-icon\"\n >\n <nile-icon library=\"system\" name=\"arrowdown\"></nile-icon>\n </slot>\n </div>\n\n <div\n id=\"listbox\"\n role=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-multiselectable=${this.multiple ? 'true' : 'false'}\n aria-labelledby=\"label\"\n part=\"listbox\"\n class=\"select__listbox ${this.searchEnabled\n ? 'select__search-enabled '\n : ''}\"\n tabindex=\"-1\"\n @mouseup=${this.handleOptionClick}\n @slotchange=${this.handleDefaultSlotChange}\n >\n ${this.searchEnabled\n ? html` <div class=\"select__search\">\n <nile-input\n size=\"small\"\n clearable\n .value=${this.searchValue}\n placeholder=\"${this.internalSearchPlaceHolder}\"\n @nile-input=${this.handleSearchChange}\n @nile-focus=${this.handleSearchFocus}\n @nile-change=\"${this.onInputChange}\"\n >\n <nile-icon name=\"search\" slot=\"suffix\"> </nile-icon>\n </nile-input>\n </div>`\n : ``}\n ${this.optionsLoading\n ? html`\n <span class=\"select__loader\">\n <nile-icon\n class=\"select__loader--icon\"\n name=\"button-loading-blue\"\n ></nile-icon>\n </span>\n `\n : ''}\n\n <div\n class=\"select__options ${this.searchEnabled\n ? 'select__options__search-enabled'\n : ``}\"\n >\n ${this.showNoResults\n ? html`\n <div class=\"select__no-results\">\n ${this.noResultsMessage}\n </div>\n `\n : ''}\n <slot></slot>\n </div>\n\n ${this.multiple\n ? html` <div\n part=\"footer\"\n class=\"select__footer\"\n @click=\"${this.handleFooterClick}\"\n >\n <span\n @click=\"${this.toggleShowSelected}\"\n style=\"cursor: pointer;\"\n >\n <nile-checkbox\n ?disabled=\"${this.selectedOptions.length === 0}\"\n ?checked=\"${this.showSelected}\"\n >\n &nbsp; Show Selected</nile-checkbox\n >\n </span>\n ${this.selectedOptions.length !== 0\n ? html` <span\n class=\"select__clear\"\n @click=\"${this.unSlectAll}\"\n >Clear All</span\n >`\n : ``}\n </div>`\n : ``}\n </div>\n </nile-popup>\n </div>\n\n ${hasHelpText\n ? html` <nile-form-help-text>${this.helpText}</nile-form-help-text> `\n : ``}\n ${hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``}\n </div>\n `;\n }\n\n nileInput(value:any){\n this.emit('nile-input',value)\n }\n\n nileChange(value:any){\n this.emit('nile-change',value)\n }\n\n}\n\nsetDefaultAnimation('select.show', {\n keyframes: [\n { opacity: 0, scale: 0.9 },\n { opacity: 1, scale: 1 },\n ],\n options: { duration: 100, easing: 'ease' },\n});\n\nsetDefaultAnimation('select.hide', {\n keyframes: [\n { opacity: 1, scale: 1 },\n { opacity: 0, scale: 0.9 },\n ],\n options: { duration: 100, easing: 'ease' },\n});\n\nexport default NileSelect;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-select': NileSelect;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-select.js","sourceRoot":"","sources":["../../../src/nile-select/nile-select.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-select.css';\n\nimport '../nile-icon';\nimport '../nile-popup/nile-popup';\nimport '../nile-tag/nile-tag';\nimport { animateTo, stopAnimations } from '../internal/animate';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query, state } from 'lit/decorators.js';\nimport { defaultValue } from '../internal/default-value';\nimport { FormControlController } from '../internal/form';\nimport {\n getAnimation,\n setDefaultAnimation,\n} from '../utilities/animation-registry';\nimport { HasSlotController } from '../internal/slot';\nimport { scrollIntoView } from '../internal/scroll';\nimport { waitForEvent } from '../internal/event';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValues } from 'lit';\nimport type { NileFormControl } from '../internal/nile-element';\nimport type NileOption from '../nile-option/nile-option';\nimport type NilePopup from '../nile-popup/nile-popup';\nimport type { RenderItemConfig } from '../nile-virtual-select/types.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport '../nile-virtual-select/nile-virtual-select';\nimport { VirtualScrollHelper } from './virtual-scroll-helper';\n\ntype NileRemoveEvent = CustomEvent<Record<PropertyKey, never>>;\n\n/**\n * Nile icon component.\n *\n * @tag nile-select\n *\n */\n\n/**\n * @summary Selects allow you to choose items from a menu of predefined options.\n * @status stable\n * @since 2.0\n *\n * @dependency nile-icon\n * @dependency nile-popup\n * @dependency nile-tag\n * @dependency nile-virtual-select\n *\n * @slot - The listbox options. Must be `<nile-option>` elements. You can use `<nile-divider>` to group items visually.\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the combobox.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot expand-icon - The icon to show when the control is expanded and collapsed. Rotates on open and close.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @event nile-change - Emitted when the control's value changes.\n * @event nile-clear - Emitted when the control's value is cleared.\n * @event nile-input - Emitted when the control receives input.\n * @event nile-focus - Emitted when the control gains focus.\n * @event nile-blur - Emitted when the control loses focus.\n * @event nile-show - Emitted when the select's menu opens.\n * @event nile-after-show - Emitted after the select's menu opens and all animations are complete.\n * @event nile-hide - Emitted when the select's menu closes.\n * @event nile-after-hide - Emitted after the select's menu closes and all animations are complete.\n * @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The select's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart combobox - The container the wraps the prefix, combobox, clear icon, and expand button.\n * @csspart prefix - The container that wraps the prefix slot.\n * @csspart display-input - The element that displays the selected option's label, an `<input>` element.\n * @csspart listbox - The listbox container where options are slotted.\n * @csspart tags - The container that houses option tags when `multiselect` is used.\n * @csspart tag - The individual tags that represent each multiselect option.\n * @csspart tag__base - The tag's base part.\n * @csspart tag__content - The tag's content part.\n * @csspart tag__remove-button - The tag's remove button.\n * @csspart tag__remove-button__base - The tag's remove button base part.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n */\n\n@customElement('nile-select')\nexport class NileSelect extends NileElement implements NileFormControl{\n static styles: CSSResultGroup = styles;\n\n // protected override BUBBLES=false;\n\n private formControlController: FormControlController | null;\n private virtualScrollHelper!: VirtualScrollHelper;\n\n\n private readonly hasSlotController = new HasSlotController(\n this,\n 'help-text',\n 'label'\n );\n private typeToSelectString = '';\n private typeToSelectTimeout: number;\n\n @query('.select') popup: NilePopup;\n @query('.select__combobox') combobox: HTMLSlotElement;\n @query('.select__display-input') displayInput: HTMLInputElement;\n @query('.select__value-input') valueInput: HTMLInputElement;\n @query('.select__listbox') listbox: HTMLSlotElement;\n\n @state() private hasFocus = false;\n @state() displayLabel = '';\n @state() currentOption: NileOption;\n @state() selectedOptions: NileOption[] = [];\n @state() oldValue: string | string[] = '';\n\n /** The name of the select, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /**\n * The current value of the select, submitted as a name/value pair with form data. When `multiple` is enabled, the\n * value will be a space-delimited list of values based on the options selected.\n */\n @property({\n converter: {\n fromAttribute: (value: string) => value.split(' '),\n toAttribute: (value: string[]) => value.join(' '),\n },\n })\n value: string | string[] = '';\n\n /** The default value of the form control. Primarily used for resetting the form control. */\n @defaultValue() defaultValue: string | string[] = '';\n\n /** The select's size. */\n @property() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Placeholder text to show as a hint when the select is empty. */\n @property() placeholder = 'Select...';\n\n /** Placeholder text to show as a hint when the select is empty. */\n @state() searchValue: string = '';\n\n @property({ type: Boolean, reflect: true }) searchEnabled = false;\n\n @property({attribute:'internal-search-placeholder'}) internalSearchPlaceHolder = 'Search...';\n\n @property({ type: Boolean, reflect: true }) blockValueChange = false;\n\n @property({ type: Boolean, reflect: true }) disableLocalSearch = false;\n\n @property({ type: Boolean, reflect: true }) optionsLoading = false;\n\n @property({ type: Boolean, reflect: true }) noWidthSync = false;\n\n /** Allows more than one option to be selected. */\n @property({\n reflect: true,\n converter: {\n fromAttribute(value) {\n if (value === '' || value === 'true') return true;\n if (value === 'false') return false;\n return value;\n },\n toAttribute(value) {\n return typeof value === 'boolean' ? String(value) : value;\n }\n }\n })\n multiple = false as boolean | string;\n \n\n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n /** Sets the input to a warning state, changing its visual appearance. */\n @property({ type: Boolean }) warning = false;\n\n /** Sets the input to an error state, changing its visual appearance. */\n @property({ type: Boolean }) error = false;\n\n /** Sets the input to a success state, changing its visual appearance. */\n @property({ type: Boolean }) success = false;\n\n /**\n * The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\n * indicate the number of additional items that are selected. Set to 0 to remove the limit.\n */\n @property({ attribute: 'max-options-visible', type: Number })\n maxOptionsVisible = 3;\n\n /** Disables the select control. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Adds a clear button when the select is not empty. */\n @property({ type: Boolean }) clearable = false;\n\n /**\n * Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\n * use the `show()` and `hide()` methods and this attribute will reflect the select's open state.\n */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /**\n * Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n */\n @property({ type: Boolean }) hoist = false;\n\n /** Draws a filled select. */\n @property({ type: Boolean, reflect: true }) filled = false;\n\n /** Draws a pill-style select with rounded edges. */\n @property({ type: Boolean, reflect: true }) pill = false;\n\n /** The select's label. If you need to display HTML, use the `label` slot instead. */\n @property() label = '';\n\n /**\n * The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\n * inside of the viewport.\n */\n @property({ reflect: true }) placement: 'top' | 'bottom' = 'bottom';\n\n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n\n /** The select's required attribute. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n @property({ type: Boolean }) showSelected = false;\n\n @state() oldMaxOptionsVisible: number = 1;\n\n @property({ type: Boolean }) showNoResults: boolean = false;\n\n @property({ type: String }) noResultsMessage: string = 'No results found';\n\n /** Enhanced configuration for rendering items with support for display text, value, and search text */\n @property({ attribute: false }) renderItemConfig?: RenderItemConfig;\n\n @property({ type: Array }) data: any = [];\n\n @property({ type: Boolean }) enableVirtualScroll = false;\n\n /** Gets the validity state object */\n get validity() {\n return this.valueInput?.validity;\n }\n\n /** Gets the validation message */\n get validationMessage() {\n return this.valueInput?.validationMessage;\n }\n\n constructor() {\n super();\n }\n\n connectedCallback() {\n super.connectedCallback();\n if(!this.enableVirtualScroll) {\n this.formControlController = new FormControlController(this, {\n assumeInteractionOn: ['nile-blur', 'nile-input'],\n });\n }\n this.virtualScrollHelper = new VirtualScrollHelper(this);\n this.handleDocumentFocusIn = this.handleDocumentFocusIn.bind(this);\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);\n\n // Because this is a form control, it shouldn't be opened initially\n this.open = false;\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n private options: NileOption[] = [];\n\n protected updated(_changedProperties: PropertyValues): void {\n if(_changedProperties.has('multiple')) {\n this.setCheckBoxInOption(this.multiple as boolean);\n }\n }\n\n protected firstUpdated(_changedProperties: PropertyValues): void {\n if(_changedProperties.has('multiple')) {\n this.setCheckBoxInOption(this.multiple as boolean);\n }\n }\n\n setCheckBoxInOption(checked: boolean): void {\n if(!this.options.length) { \n this.options = this.getAllOptions();\n } \n this.options.forEach((option: NileOption) => {\n option.showCheckbox = checked;\n })\n }\n\n private addOpenListeners() {\n document.addEventListener('focusin', this.handleDocumentFocusIn);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n }\n\n private removeOpenListeners() {\n document.removeEventListener('focusin', this.handleDocumentFocusIn);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.displayInput.setSelectionRange(0, 0);\n this.emit('nile-focus', { value: this.value, name: this.name });\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('nile-blur', { value: this.value, name: this.name });\n }\n\n private handleDocumentFocusIn(event: FocusEvent) {\n // Close when focusing out of the select\n const path = event.composedPath();\n if (this && !path.includes(this)) {\n this.hide();\n }\n }\n\n /**\n * Handles the click event on the footer.\n * @param event - The click event.\n */\n private handleFooterClick(event: MouseEvent): void {\n event.stopPropagation();\n event.preventDefault();\n }\n\n /**\n * Toggles the display of selected options in the dropdown\n * @param event - the event object\n */\n private toggleShowSelected(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n // Only toggle if there are selected options\n if (this.selectedOptions?.length === 0) {\n return;\n }\n // Toggle the showSelected property\n this.showSelected = !this.showSelected;\n\n // Hide unselected options if showSelected is true\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n }\n });\n\n // this.requestUpdate();\n }\n\n /**\n * Deselects all options and updates the value, selectedOptions, and displayLabel properties accordingly\n */\n private unSlectAll(): void {\n this.showSelected = false;\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n el.selected = false;\n el.hidden = false;\n });\n this.value = '';\n this.selectionChanged();\n this.emit('nile-change', { value: this.value, name: this.name });\n this.emit('nile-clear',{ value: this.multiple?this.value:'', name: this.name })\n }\n\n private handleDocumentKeyDown(event: KeyboardEvent) {\n const target = event.target as HTMLElement;\n const isClearButton = target.closest('.select__clear') !== null;\n const isIconButton = target.closest('nile-icon-button') !== null;\n\n // Ignore presses when the target is an icon button (e.g. the remove button in <nile-tag>)\n if (isClearButton || isIconButton) {\n return;\n }\n\n // Close when pressing escape\n if (event.key === 'Escape' && this.open) {\n event.preventDefault();\n event.stopPropagation();\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n\n // Handle enter and space. When pressing space, we allow for type to select behaviors so if there's anything in the\n // buffer we _don't_ close it.\n if (\n event.key === 'Enter' ||\n (event.key === ' ' && this.typeToSelectString === '')\n ) {\n event.preventDefault();\n event.stopImmediatePropagation();\n\n // If it's not open, open it\n if (!this.open) {\n this.show();\n return;\n }\n\n // If it is open, update the value based on the current selection and close it\n if (this.currentOption && !this.currentOption.disabled) {\n if (this.multiple) {\n this.toggleOptionSelection(this.currentOption);\n } else {\n this.setSelectedOptions(this.currentOption);\n }\n\n // Emit after updating\n this.updateComplete.then(() => {\n this.nileInput({ value: this.value, name: this.name })\n this.nileChange({ value: this.value, name: this.name })\n });\n\n if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n\n return;\n }\n\n // All other \"printable\" keys trigger type to select\n if (event.key.length === 1 || event.key === 'Backspace') {\n const allOptions = this.getAllOptions();\n\n // Don't block important key combos like CMD+R\n if (event.metaKey || event.ctrlKey || event.altKey) {\n return;\n }\n\n // Open, unless the key that triggered is backspace\n if (!this.open) {\n if (event.key === 'Backspace') {\n return;\n }\n\n this.show();\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n clearTimeout(this.typeToSelectTimeout);\n this.typeToSelectTimeout = window.setTimeout(\n () => (this.typeToSelectString = ''),\n 1000\n );\n\n if (event.key === 'Backspace') {\n this.typeToSelectString = this.typeToSelectString.slice(0, -1);\n } else {\n this.typeToSelectString += event.key.toLowerCase();\n }\n\n for (const option of allOptions) {\n const label = option.getTextLabel().toLowerCase();\n\n if (label.startsWith(this.typeToSelectString)) {\n this.setCurrentOption(option);\n break;\n }\n }\n }\n }\n\n private handleDocumentMouseDown(event: MouseEvent) {\n // Close when clicking outside of the select\n const path = event.composedPath();\n if (this && !path.includes(this)) {\n this.hide();\n }\n }\n\n private handleLabelClick() {\n this.displayInput.focus();\n this.hide();\n }\n\n private handleComboboxMouseDown(event: MouseEvent) {\n const path = event.composedPath();\n const isIconButton = path.some(\n el =>\n el instanceof Element && el.tagName.toLowerCase() === 'nile-icon-button'\n );\n\n // Ignore disabled controls and clicks on tags (remove buttons)\n if (this.disabled || isIconButton) {\n return;\n }\n\n event.preventDefault();\n this.displayInput.focus({ preventScroll: true });\n this.open = !this.open;\n }\n\n private handleComboboxKeyDown(event: KeyboardEvent) {\n event.stopPropagation();\n this.handleDocumentKeyDown(event);\n }\n\n private handleClearClick(event: MouseEvent) {\n event.stopPropagation();\n\n if (this.value !== '') {\n this.setSelectedOptions([]);\n this.showSelected = false;\n this.value = '';\n this.displayInput.focus({ preventScroll: true });\n\n // Emit after update\n this.updateComplete.then(() => {\n const val={ value: this.multiple?this.value:'', name: this.name }\n this.emit('nile-clear', val);\n this.nileInput(val);\n this.nileChange(val);\n });\n }\n }\n\n private handleClearMouseDown(event: MouseEvent) {\n // Don't lose focus or propagate events when clicking the clear button\n event.stopPropagation();\n event.preventDefault();\n }\n\n private handleOptionClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const option = target.closest('nile-option');\n\n if (this.blockValueChange && option) {\n this.emit('nile-block-change', { value: option?.value, name: this.name });\n this.hide();\n return;\n }\n\n const oldValue = this.value;\n this.oldValue = oldValue;\n\n if (option && !option.disabled) {\n if (this.multiple) {\n this.toggleOptionSelection(option);\n } else {\n this.setSelectedOptions(option);\n }\n\n // Set focus after updating so the value is announced by screen readers\n this.updateComplete.then(() =>\n this.displayInput.focus({ preventScroll: true })\n );\n\n if (this.value !== oldValue) {\n // Emit after updating\n this.updateComplete.then(() => {\n this.nileInput({ value: this.value, name: this.name });\n this.nileChange({ value: this.value, name: this.name });\n });\n }\n\n if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n\n if (this.showSelected) {\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n }\n });\n\n this.requestUpdate();\n }\n }\n\n private handleDefaultSlotChange() {\n const allOptions = this.getAllOptions();\n const value = Array.isArray(this.value) ? this.value : [this.value];\n const values: string[] = [];\n\n // Check for duplicate values in menu items\n if (customElements.get('nile-option')) {\n allOptions.forEach(option => values.push(option.value));\n\n // Select only the options that match the new value\n this.setSelectedOptions(\n allOptions.filter(el => value.map(String).includes(el.value))\n );\n } else {\n // Rerun this handler when <nile-option> is registered\n customElements\n .whenDefined('nile-option')\n .then(() => this.handleDefaultSlotChange());\n }\n }\n\n private handleTagRemove(event: NileRemoveEvent, option: NileOption) {\n event.stopPropagation();\n\n if (!this.disabled) {\n this.toggleOptionSelection(option, false);\n\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n }\n });\n\n // Emit after updating\n this.updateComplete.then(() => {\n this.nileInput( { value: this.value, name: this.name });\n this.nileChange( { value: this.value, name: this.name });\n this.emit('nile-tag-remove', { value: this.value, name: this.name,removedtagvalue:option.value });\n });\n }\n }\n\n // Gets an array of all <nile-option> elements\n private getAllOptions() {\n // Get all options as an array\n const options = [...this.querySelectorAll<NileOption>('nile-option')];\n\n // Sort the options based on the order of values selected\n if (this.multiple && this.oldValue?.length > 0) {\n options.sort((a, b) => {\n let indexA = this.oldValue.indexOf(a.value);\n let indexB = this.oldValue.indexOf(b.value);\n\n // Handle cases where a __value is not found\n if (indexA === -1) {\n indexA = Infinity; // Place at the end if not found\n }\n if (indexB === -1) {\n indexB = Infinity; // Place at the end if not found\n }\n\n if (indexA < indexB) {\n return -1;\n }\n if (indexA > indexB) {\n return 1;\n }\n return 0;\n });\n }\n\n return options;\n }\n\n private getOptionPrefix(option: NileOption): string {\n const prefixSlot = option.shadowRoot?.querySelector(\n 'slot[name=\"prefix\"]'\n ) as HTMLSlotElement;\n if (!prefixSlot) return '';\n\n const assignedNodes = prefixSlot.assignedNodes();\n const htmlStrings: string[] = [];\n\n assignedNodes.forEach(node => {\n if (node instanceof HTMLElement) {\n htmlStrings.push(node.outerHTML);\n } else if (node.nodeType === Node.TEXT_NODE) {\n // Text node\n htmlStrings.push(node.textContent || '');\n }\n });\n\n return htmlStrings.join('');\n }\n\n // Gets the first <nile-option> element\n private getFirstOption() {\n return this.querySelector<NileOption>('nile-option');\n }\n\n // Sets the current option, which is the option the user is currently interacting with (e.g. via keyboard). Only one\n // option may be \"current\" at a time.\n private setCurrentOption(option: NileOption | null) {\n const allOptions = this.getAllOptions();\n\n // Clear selection\n allOptions.forEach(el => {\n el.current = false;\n el.tabIndex = -1;\n });\n\n // Select the target option\n if (option) {\n this.currentOption = option;\n option.current = true;\n option.tabIndex = 0;\n option.focus();\n }\n }\n\n // Sets the selected option(s)\n private setSelectedOptions(option: NileOption | NileOption[]) {\n const allOptions = this.getAllOptions();\n const newSelectedOptions = Array.isArray(option) ? option : [option];\n\n // Clear existing selection\n allOptions.forEach(el => (el.selected = false));\n\n // Set the new selection\n if (newSelectedOptions.length) {\n newSelectedOptions.forEach(el => (el.selected = true));\n }\n\n // Update selection, value, and display label\n this.selectionChanged();\n }\n\n // Toggles an option's selected state\n private toggleOptionSelection(option: NileOption, force?: boolean) {\n if (force === true || force === false) {\n option.selected = force;\n } else {\n option.selected = !option.selected;\n }\n\n this.selectionChanged();\n }\n\n // This method must be called whenever the selection changes. It will update the selected options cache, the current\n // value, and the display value\n private selectionChanged() {\n // Update selected options cache\n this.selectedOptions = this.getAllOptions().filter(el => el.selected);\n\n // Update the value and display label\n if (this.multiple) {\n this.value = this.selectedOptions.map(el => el.value);\n\n if (this.placeholder && this.value.length === 0) {\n // When no items are selected, keep the value empty so the placeholder shows\n this.displayLabel = '';\n } else {\n this.displayLabel = this.selectedOptions.length + ' selected';\n }\n\n if (this.selectedOptions.length === 0) {\n this.showSelected = false;\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n } else {}\n });\n\n this.requestUpdate();\n }\n } else {\n this.value = this.selectedOptions[0]?.value ?? this.value;\n this.displayLabel = this.selectedOptions[0]?.getTextLabel()\n ? this.selectedOptions[0].getTextLabel()\n : this.value ?? '';\n }\n\n // Update validity\n this.updateComplete.then(() => {\n this.formControlController?.updateValidity();\n });\n\n this.calculateTotalWidthOfTags();\n }\n\n handleSearchFocus() {\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchBlur() {\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchChange(e: any) {\n this.searchValue = e.detail.value;\n if (!this.disableLocalSearch) {\n let filteredOptions = this.filterOptions(this.searchValue);\n if (filteredOptions.length === 0) {\n // Display 'No results found' message.\n this.showNoResults = true;\n } else {\n this.showNoResults = false;\n }\n }\n }\n\n filterOptions(searchValue: string) {\n const allOptions = this.getAllOptions();\n const lowerCaseSearchValue = searchValue.toLowerCase();\n\n let filteredOptions: NileOption[] = [];\n\n allOptions.forEach(el => {\n const lowerCaseLabel = el.getTextLabel().toLowerCase();\n const lowerCaseValue = (el.value || '').toLowerCase();\n if (\n lowerCaseLabel.includes(lowerCaseSearchValue) ||\n lowerCaseValue.includes(lowerCaseSearchValue)\n ) {\n el.hidden = false;\n filteredOptions.push(el);\n } else {\n el.hidden = true;\n }\n });\n\n return filteredOptions;\n }\n\n private handleInvalid(event: Event) {\n this.formControlController?.setValidity(false);\n this.formControlController?.emitInvalidEvent(event);\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Close the listbox when the control is disabled\n if (this.disabled) {\n this.open = false;\n this.handleOpenChange();\n }\n }\n\n @watch('value', { waitUntilFirstUpdate: true })\n handleValueChange() {\n const allOptions = this.getAllOptions();\n const value = Array.isArray(this.value) ? this.value : [this.value];\n\n // Select only the options that match the new value\n this.setSelectedOptions(allOptions.filter(el => value.includes(el.value)));\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open && !this.disabled) {\n // Reset the current option\n this.setCurrentOption(this.selectedOptions[0] || this.getFirstOption());\n\n // Show\n this.emit('nile-show', { value: this.value, name: this.name });\n this.addOpenListeners();\n\n this.showNoResults = !this.getAllOptions()?.length;\n\n await stopAnimations(this);\n this.listbox.hidden = false;\n this.popup.active = true;\n\n // Select the appropriate option based on value after the listbox opens\n requestAnimationFrame(() => {\n this.setCurrentOption(this.currentOption);\n });\n\n const { keyframes, options } = getAnimation(this, 'select.show', {\n dir: 'ltr',\n });\n await animateTo(this.popup.popup, keyframes, options);\n\n // Make sure the current option is scrolled into view (required for Safari)\n if (this.currentOption) {\n scrollIntoView(this.currentOption, this.listbox, 'vertical', 'auto');\n }\n this.searchValue = '';\n this.filterOptions(this.searchValue);\n\n this.emit('nile-after-show', { value: this.value, name: this.name });\n } else {\n // Hide\n this.emit('nile-hide', { value: this.value, name: this.name });\n this.showSelected = false;\n this.removeOpenListeners();\n\n await stopAnimations(this);\n const { keyframes, options } = getAnimation(this, 'select.hide', {\n dir: 'ltr',\n });\n await animateTo(this.popup.popup, keyframes, options);\n this.listbox.hidden = true;\n this.popup.active = false;\n\n this.searchValue = '';\n this.emit('nile-after-hide', { value: this.value, name: this.name });\n }\n }\n\n /** Shows the listbox. */\n async show() {\n if (this.open || this.disabled) {\n this.open = false;\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, 'nile-after-show');\n }\n\n /** Hides the listbox. */\n async hide() {\n if (!this.open || this.disabled) {\n this.open = false;\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, 'nile-after-hide');\n }\n\n /** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */\n checkValidity() {\n return this.valueInput.checkValidity();\n }\n\n /** Gets the associated form, if one exists. */\n getForm(): HTMLFormElement | null {\n return this.formControlController?.getForm() || null;\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n reportValidity() {\n return this.valueInput.reportValidity();\n }\n\n /** Sets a custom validation message. Pass an empty string to restore validity. */\n setCustomValidity(message: string) {\n this.valueInput.setCustomValidity(message);\n this.formControlController?.updateValidity();\n }\n\n /** Sets focus on the control. */\n focus(options?: FocusOptions) {\n this.displayInput.focus(options);\n }\n\n /** Removes focus from the control. */\n blur() {\n this.displayInput.blur();\n }\n\n onInputChange(event: Event) {\n // This will stop the event from bubbling up to the parent `nile-select` component\n event.stopPropagation();\n }\n\n calculateWidthOfSelectTagsDiv() {\n if (this.shadowRoot) {\n const selectTagsDiv = this.shadowRoot.querySelector('div.select__tags');\n if (selectTagsDiv instanceof HTMLElement) {\n const width = selectTagsDiv.offsetWidth;\n return width - 70;\n }\n }\n }\n\n calculateTotalWidthOfTags() {\n if (this.maxOptionsVisible !== Infinity) {\n this.oldMaxOptionsVisible = this.maxOptionsVisible;\n }\n\n this.maxOptionsVisible = Infinity;\n setTimeout(() => {\n let widths: number[] = [];\n if (this.shadowRoot) {\n const tags = this.shadowRoot.querySelectorAll('nile-tag');\n tags.forEach(tag => {\n if (tag instanceof HTMLElement) {\n widths.push(tag.offsetWidth);\n }\n });\n }\n if (this.value.length !== widths.length) {\n return;\n }\n\n let sum = widths.reduce(\n (accumulator, currentValue) => accumulator + currentValue,\n 0\n );\n const widthOfSelectTagsDiv = this.calculateWidthOfSelectTagsDiv();\n if (!widthOfSelectTagsDiv) {\n return;\n }\n\n let summ = 0;\n let lastindex = 0;\n\n for (let i = 0; i < widths.length; i++) {\n summ += widths[i];\n\n if (summ > widthOfSelectTagsDiv) {\n lastindex = i;\n break;\n }\n }\n this.maxOptionsVisible = lastindex;\n }, 1);\n }\n\n render() {\n if(this.enableVirtualScroll) {\n return this.virtualScrollHelper.renderVirtualizedContent();\n }\n\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasLabelSuffixSlot = this.hasSlotController.test('label-suffix');\n const hasCustomSelect = this.hasSlotController.test('custom-select');\n const hasLabel = this.label ? true : !!hasLabelSlot;\n const hasClearIcon =\n this.clearable && !this.disabled && this.value.length > 0;\n const isPlaceholderVisible = this.placeholder && this.value.length === 0;\n const hasHelpText = this.helpText ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n const prefixContent = this.selectedOptions[0]\n ? this.getOptionPrefix(this.selectedOptions[0])\n : '';\n\n return html`\n <div\n part=\"form-control\"\n class=${classMap({\n 'form-control': true,\n 'form-control--small': this.size === 'small',\n 'form-control--medium': this.size === 'medium',\n 'form-control--large': this.size === 'large',\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText,\n })}\n >\n <label\n id=\"label\"\n part=\"form-control-label\"\n class=\"form-control__label\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n @click=${this.handleLabelClick}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n ${hasLabelSuffixSlot ? html` <slot name=\"label-suffix\"></slot> ` : ``}\n\n <div part=\"form-control-input\" class=\"form-control-input\">\n <nile-popup\n class=${classMap({\n select: true,\n 'select--warning': this.warning,\n 'select--error': this.error,\n 'select--success': this.success,\n 'select--standard': true,\n 'select--filled': this.filled,\n 'select--pill': this.pill,\n 'select--open': this.open,\n 'select--disabled': this.disabled,\n 'select--multiple': this.multiple,\n 'select--focused': this.hasFocus,\n 'select--placeholder-visible': isPlaceholderVisible,\n 'select--top': this.placement === 'top',\n 'select--bottom': this.placement === 'bottom',\n 'select--small': this.size === 'small',\n 'select--medium': this.size === 'medium',\n 'select--large': this.size === 'large',\n })}\n placement=${this.placement}\n strategy=${this.hoist ? 'fixed' : 'absolute'}\n distance=\"6\"\n flip\n shift\n sync=${ifDefined(!this.noWidthSync ? 'width' : undefined)}\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n >\n ${hasCustomSelect\n ? html`<slot\n slot=\"anchor\"\n name=\"custom-select\"\n class=\"custom-select\"\n @keydown=${this.handleComboboxKeyDown}\n @mousedown=${this.handleComboboxMouseDown}\n ></slot>`\n : html``}\n <div\n part=\"combobox\"\n class=${classMap({\n select__combobox: true,\n 'select__hide-default': hasCustomSelect,\n })}\n slot=\"anchor\"\n @keydown=${this.handleComboboxKeyDown}\n @mousedown=${this.handleComboboxMouseDown}\n >\n ${prefixContent && !this.multiple\n ? html`<div class=\"select__prefix--from-options\">\n ${unsafeHTML(prefixContent)}\n </div>`\n : html`<slot\n part=\"prefix\"\n name=\"prefix\"\n class=${classMap({\n select__prefix: true,\n multiple: this.multiple,\n })}\n ></slot>`}\n\n <input\n part=\"display-input\"\n class=\"select__display-input\"\n type=\"text\"\n placeholder=${this.placeholder}\n .disabled=${this.disabled}\n .value=${this.displayLabel}\n autocomplete=\"off\"\n spellcheck=\"false\"\n autocapitalize=\"off\"\n readonly\n aria-controls=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-haspopup=\"listbox\"\n aria-labelledby=\"label\"\n aria-disabled=${this.disabled ? 'true' : 'false'}\n aria-describedby=\"help-text\"\n role=\"combobox\"\n tabindex=\"0\"\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n\n ${this.multiple\n ? html`\n <div part=\"tags\" class=\"select__tags\">\n ${this.selectedOptions.map((option, index) => {\n if (\n index < this.maxOptionsVisible ||\n this.maxOptionsVisible <= 0\n ) {\n const classes = {\n select__invisible:\n index + 1 > this.oldMaxOptionsVisible &&\n this.maxOptionsVisible === Infinity,\n };\n return html`\n <nile-tag\n class=${classMap(classes)}\n part=\"tag\"\n exportparts=\"\n base:tag__base,\n content:tag__content,\n remove-button:tag__remove-button,\n remove-button__base:tag__remove-button__base\n \"\n ?pill=${this.pill}\n size=${this.size}\n removable\n @nile-remove=${(event: NileRemoveEvent) =>\n this.handleTagRemove(event, option)}\n >\n ${this.getOptionPrefix(option)\n ? html`<span class=\"tag__prefix\" slot=\"prefix\"\n >${unsafeHTML(\n this.getOptionPrefix(option)\n )}</span\n >`\n : ''}\n ${option.getTextLabel()}\n </nile-tag>\n `;\n } else if (index === this.maxOptionsVisible) {\n return html`\n <span class=\"select__tags-count\"\n >+${this.selectedOptions.length - index} More\n </span>\n `;\n } else {\n return null;\n }\n })}\n </div>\n `\n : ''}\n\n <input\n class=\"select__value-input\"\n type=\"text\"\n ?disabled=${this.disabled}\n ?required=${this.required}\n .value=${Array.isArray(this.value)\n ? this.value.join(', ')\n : this.value}\n tabindex=\"-1\"\n aria-hidden=\"true\"\n @focus=${() => this.focus()}\n @invalid=${this.handleInvalid}\n />\n\n ${hasClearIcon\n ? html`\n <button\n part=\"clear-button\"\n class=\"select__clear\"\n type=\"button\"\n aria-label=\"clearEntry\"\n @mousedown=${this.handleClearMouseDown}\n @click=${this.handleClearClick}\n tabindex=\"-1\"\n >\n <slot name=\"clear-icon\">\n <nile-icon name=\"close\" library=\"system\"></nile-icon>\n </slot>\n </button>\n `\n : ''}\n\n <slot\n part=\"suffix\"\n name=\"suffix\"\n class=${classMap({\n select__suffix: true,\n })}\n ></slot>\n\n <slot\n name=\"expand-icon\"\n part=\"expand-icon\"\n class=\"select__expand-icon\"\n >\n <nile-icon library=\"system\" name=\"arrowdown\"></nile-icon>\n </slot>\n </div>\n\n <div\n id=\"listbox\"\n role=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-multiselectable=${this.multiple ? 'true' : 'false'}\n aria-labelledby=\"label\"\n part=\"listbox\"\n class=\"select__listbox ${this.searchEnabled\n ? 'select__search-enabled '\n : ''}\"\n tabindex=\"-1\"\n @mouseup=${this.handleOptionClick}\n @slotchange=${this.handleDefaultSlotChange}\n >\n ${this.searchEnabled\n ? html` <div class=\"select__search\">\n <nile-input\n size=\"small\"\n clearable\n .value=${this.searchValue}\n placeholder=\"${this.internalSearchPlaceHolder}\"\n @nile-input=${this.handleSearchChange}\n @nile-focus=${this.handleSearchFocus}\n @nile-change=\"${this.onInputChange}\"\n >\n <nile-icon name=\"search\" slot=\"suffix\"> </nile-icon>\n </nile-input>\n </div>`\n : ``}\n ${this.optionsLoading\n ? html`\n <span class=\"select__loader\">\n <nile-icon\n class=\"select__loader--icon\"\n name=\"button-loading-blue\"\n ></nile-icon>\n </span>\n `\n : ''}\n\n <div\n class=\"select__options ${this.searchEnabled\n ? 'select__options__search-enabled'\n : ``}\"\n >\n ${this.showNoResults\n ? html`\n <div class=\"select__no-results\">\n ${this.noResultsMessage}\n </div>\n `\n : ''}\n <slot></slot>\n </div>\n\n ${this.multiple\n ? html` <div\n part=\"footer\"\n class=\"select__footer\"\n @click=\"${this.handleFooterClick}\"\n >\n <span\n @click=\"${this.toggleShowSelected}\"\n style=\"cursor: pointer;\"\n >\n <nile-checkbox\n ?disabled=\"${this.selectedOptions.length === 0}\"\n ?checked=\"${this.showSelected}\"\n >\n &nbsp; Show Selected</nile-checkbox\n >\n </span>\n ${this.selectedOptions.length !== 0\n ? html` <span\n class=\"select__clear\"\n @click=\"${this.unSlectAll}\"\n >Clear All</span\n >`\n : ``}\n </div>`\n : ``}\n </div>\n </nile-popup>\n </div>\n\n ${hasHelpText\n ? html` <nile-form-help-text>${this.helpText}</nile-form-help-text> `\n : ``}\n ${hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``}\n </div>\n `;\n }\n\n nileInput(value:any){\n this.emit('nile-input',value)\n }\n\n nileChange(value:any){\n this.emit('nile-change',value)\n }\n\n}\n\nsetDefaultAnimation('select.show', {\n keyframes: [\n { opacity: 0, scale: 0.9 },\n { opacity: 1, scale: 1 },\n ],\n options: { duration: 100, easing: 'ease' },\n});\n\nsetDefaultAnimation('select.hide', {\n keyframes: [\n { opacity: 1, scale: 1 },\n { opacity: 0, scale: 0.9 },\n ],\n options: { duration: 100, easing: 'ease' },\n});\n\nexport default NileSelect;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-select': NileSelect;\n }\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import type NileElement from '../internal/nile-element';
2
+ /**
3
+ * Helper class to manage virtual scroll functionality for nile-select component
4
+ */
5
+ export declare class VirtualScrollHelper {
6
+ private component;
7
+ constructor(component: NileElement);
8
+ renderVirtualizedContent(): any;
9
+ }
@@ -0,0 +1,51 @@
1
+ import { html } from 'lit';
2
+ /**
3
+ * Helper class to manage virtual scroll functionality for nile-select component
4
+ */
5
+ export class VirtualScrollHelper {
6
+ constructor(component) {
7
+ this.component = component;
8
+ }
9
+ renderVirtualizedContent() {
10
+ const component = this.component;
11
+ return html `
12
+ <div class="virtual-select">
13
+ <nile-virtual-select
14
+ .name=${component.name}
15
+ .value=${component.value}
16
+ .placeholder=${component.placeholder}
17
+ .size=${component.size}
18
+ .searchEnabled=${component.searchEnabled}
19
+ .internalSearchPlaceHolder=${component.internalSearchPlaceHolder}
20
+ .disableLocalSearch=${component.disableLocalSearch}
21
+ .optionsLoading=${component.optionsLoading}
22
+ .multiple=${component.multiple}
23
+ .helpText=${component.helpText}
24
+ .errorMessage=${component.errorMessage}
25
+ .warning=${component.warning}
26
+ .error=${component.error}
27
+ .success=${component.success}
28
+ .disabled=${component.disabled}
29
+ .clearable=${component.clearable}
30
+ .hoist=${component.hoist}
31
+ .filled=${component.filled}
32
+ .pill=${component.pill}
33
+ .label=${component.label}
34
+ .placement=${component.placement}
35
+ .form=${component.form}
36
+ .required=${component.required}
37
+ .showNoResults=${component.showNoResults}
38
+ .noResultsMessage=${component.noResultsMessage}
39
+ .renderItemConfig=${component.renderItemConfig}
40
+ .blockValueChange=${component.blockValueChange}
41
+ .noWidthSync=${component.noWidthSync}
42
+ .maxOptionsVisible=${component.maxOptionsVisible}
43
+ .data=${component.data}
44
+ >
45
+ <slot name="prefix" slot="prefix"></slot>
46
+ </nile-virtual-select>
47
+ </div>
48
+ `;
49
+ }
50
+ }
51
+ //# sourceMappingURL=virtual-scroll-helper.js.map