@aquera/nile-elements 0.1.64-beta-1.0 → 0.1.64-beta-1.1

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 (1098) hide show
  1. package/README.md +59 -14
  2. package/demo/index.css +17 -53
  3. package/demo/index.html +195 -181
  4. package/demo/index.js +0 -1
  5. package/dist/{fixture-ba65eb22.esm.js → fixture-2b5b3aba.esm.js} +1 -1
  6. package/dist/{fixture-324a7ef9.cjs.js → fixture-3330277d.cjs.js} +2 -2
  7. package/dist/{fixture-324a7ef9.cjs.js.map → fixture-3330277d.cjs.js.map} +1 -1
  8. package/dist/{fixture-f2693d97.esm.js → fixture-588a3119.esm.js} +1 -1
  9. package/dist/{fixture-cb376a7f.cjs.js → fixture-75825990.cjs.js} +2 -2
  10. package/dist/fixture-75825990.cjs.js.map +1 -0
  11. package/dist/{fixture-c1bd203f.cjs.js → fixture-7bfb866e.cjs.js} +2 -2
  12. package/dist/{fixture-c1bd203f.cjs.js.map → fixture-7bfb866e.cjs.js.map} +1 -1
  13. package/dist/{fixture-add72f26.esm.js → fixture-e831ec79.esm.js} +1 -1
  14. package/dist/index.cjs.js +1 -1
  15. package/dist/index.esm.js +1 -1
  16. package/dist/index.js +935 -494
  17. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  18. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  19. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  20. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js.map +1 -1
  21. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  22. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  23. package/dist/nile-avatar/nile-avatar.test.cjs.js.map +1 -1
  24. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  25. package/dist/nile-badge/index.cjs.js +1 -1
  26. package/dist/nile-badge/index.esm.js +1 -1
  27. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  28. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  29. package/dist/nile-badge/nile-badge.esm.js +1 -1
  30. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  31. package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -1
  32. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  33. package/dist/nile-button/index.cjs.js +1 -1
  34. package/dist/nile-button/index.esm.js +1 -1
  35. package/dist/nile-button/nile-button.cjs.js +1 -1
  36. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  37. package/dist/nile-button/nile-button.esm.js +1 -1
  38. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  39. package/dist/nile-button/nile-button.test.cjs.js.map +1 -1
  40. package/dist/nile-button/nile-button.test.esm.js +1 -1
  41. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  42. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  43. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  44. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
  45. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  46. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  47. package/dist/nile-card/nile-card.test.esm.js +1 -1
  48. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  49. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  50. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  51. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  52. package/dist/nile-chip/nile-chip.esm.js +9 -17
  53. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  54. package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
  55. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  56. package/dist/nile-code-editor/extensionSetup.cjs.js +5 -5
  57. package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
  58. package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
  59. package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
  60. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  61. package/dist/nile-code-editor/nile-code-editor.esm.js +3 -3
  62. package/dist/nile-code-editor/theme.cjs.js +1 -1
  63. package/dist/nile-code-editor/theme.cjs.js.map +1 -1
  64. package/dist/nile-code-editor/theme.esm.js +1 -1
  65. package/dist/nile-dialog/index.cjs.js +1 -1
  66. package/dist/nile-dialog/index.esm.js +1 -1
  67. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  68. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  69. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  70. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  71. package/dist/nile-dialog/nile-dialog.test.cjs.js.map +1 -1
  72. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  73. package/dist/nile-drawer/index.cjs.js +1 -1
  74. package/dist/nile-drawer/index.esm.js +1 -1
  75. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  76. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  77. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  78. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  79. package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -1
  80. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  81. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  82. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  83. package/dist/nile-empty-state/nile-empty-state.cjs.js +1 -1
  84. package/dist/nile-empty-state/nile-empty-state.cjs.js.map +1 -1
  85. package/dist/nile-empty-state/nile-empty-state.esm.js +13 -13
  86. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  87. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  88. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  89. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  90. package/dist/nile-error-notification/nile-error-notification.cjs.js +1 -1
  91. package/dist/nile-error-notification/nile-error-notification.cjs.js.map +1 -1
  92. package/dist/nile-error-notification/nile-error-notification.esm.js +4 -2
  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 +170 -229
  98. package/dist/nile-file-preview/nile-file-preview.esm.js +2 -2
  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 +62 -59
  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 +89 -142
  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 +98 -44
  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 +1 -2
  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/accessreview.cjs.js +1 -1
  143. package/dist/nile-icon/icons/svg/accessreview.cjs.js.map +1 -1
  144. package/dist/nile-icon/icons/svg/accessreview.esm.js +1 -1
  145. package/dist/nile-icon/icons/svg/agent.cjs.js +1 -1
  146. package/dist/nile-icon/icons/svg/agent.cjs.js.map +1 -1
  147. package/dist/nile-icon/icons/svg/agent.esm.js +1 -1
  148. package/dist/nile-icon/icons/svg/api.cjs.js +1 -1
  149. package/dist/nile-icon/icons/svg/api.cjs.js.map +1 -1
  150. package/dist/nile-icon/icons/svg/api.esm.js +1 -1
  151. package/dist/nile-icon/icons/svg/apply-filter.cjs.js +1 -1
  152. package/dist/nile-icon/icons/svg/apply-filter.cjs.js.map +1 -1
  153. package/dist/nile-icon/icons/svg/apply-filter.esm.js +1 -1
  154. package/dist/nile-icon/icons/svg/arrowdropdown.cjs.js +1 -1
  155. package/dist/nile-icon/icons/svg/arrowdropdown.cjs.js.map +1 -1
  156. package/dist/nile-icon/icons/svg/arrowdropdown.esm.js +1 -1
  157. package/dist/nile-icon/icons/svg/arrowdropup.cjs.js +1 -1
  158. package/dist/nile-icon/icons/svg/arrowdropup.cjs.js.map +1 -1
  159. package/dist/nile-icon/icons/svg/arrowdropup.esm.js +1 -1
  160. package/dist/nile-icon/icons/svg/bold.cjs.js +2 -0
  161. package/dist/nile-icon/icons/svg/bold.cjs.js.map +1 -0
  162. package/dist/nile-icon/icons/svg/bold.esm.js +1 -0
  163. package/dist/nile-icon/icons/svg/center-align.cjs.js +2 -0
  164. package/dist/nile-icon/icons/svg/center-align.cjs.js.map +1 -0
  165. package/dist/nile-icon/icons/svg/center-align.esm.js +1 -0
  166. package/dist/nile-icon/icons/svg/database.cjs.js +1 -1
  167. package/dist/nile-icon/icons/svg/database.cjs.js.map +1 -1
  168. package/dist/nile-icon/icons/svg/database.esm.js +1 -1
  169. package/dist/nile-icon/icons/svg/done.cjs.js +1 -1
  170. package/dist/nile-icon/icons/svg/done.cjs.js.map +1 -1
  171. package/dist/nile-icon/icons/svg/done.esm.js +1 -1
  172. package/dist/nile-icon/icons/svg/dontmap.cjs.js +1 -1
  173. package/dist/nile-icon/icons/svg/dontmap.cjs.js.map +1 -1
  174. package/dist/nile-icon/icons/svg/dontmap.esm.js +1 -1
  175. package/dist/nile-icon/icons/svg/doublearrowleft.cjs.js +1 -1
  176. package/dist/nile-icon/icons/svg/doublearrowleft.cjs.js.map +1 -1
  177. package/dist/nile-icon/icons/svg/doublearrowleft.esm.js +1 -1
  178. package/dist/nile-icon/icons/svg/doublearrowright.cjs.js +1 -1
  179. package/dist/nile-icon/icons/svg/doublearrowright.cjs.js.map +1 -1
  180. package/dist/nile-icon/icons/svg/doublearrowright.esm.js +1 -1
  181. package/dist/nile-icon/icons/svg/drag.cjs.js +1 -1
  182. package/dist/nile-icon/icons/svg/drag.cjs.js.map +1 -1
  183. package/dist/nile-icon/icons/svg/drag.esm.js +1 -1
  184. package/dist/nile-icon/icons/svg/expand-06.cjs.js +1 -1
  185. package/dist/nile-icon/icons/svg/expand-06.cjs.js.map +1 -1
  186. package/dist/nile-icon/icons/svg/expand-06.esm.js +1 -1
  187. package/dist/nile-icon/icons/svg/expand.cjs.js +1 -1
  188. package/dist/nile-icon/icons/svg/expand.cjs.js.map +1 -1
  189. package/dist/nile-icon/icons/svg/expand.esm.js +1 -1
  190. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  191. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  192. package/dist/nile-icon/icons/svg/info.cjs.js +1 -1
  193. package/dist/nile-icon/icons/svg/info.cjs.js.map +1 -1
  194. package/dist/nile-icon/icons/svg/info.esm.js +1 -1
  195. package/dist/nile-icon/icons/svg/integer.cjs.js +1 -1
  196. package/dist/nile-icon/icons/svg/integer.cjs.js.map +1 -1
  197. package/dist/nile-icon/icons/svg/integer.esm.js +1 -1
  198. package/dist/nile-icon/icons/svg/itallic.cjs.js +2 -0
  199. package/dist/nile-icon/icons/svg/itallic.cjs.js.map +1 -0
  200. package/dist/nile-icon/icons/svg/itallic.esm.js +1 -0
  201. package/dist/nile-icon/icons/svg/justify-align.cjs.js +2 -0
  202. package/dist/nile-icon/icons/svg/justify-align.cjs.js.map +1 -0
  203. package/dist/nile-icon/icons/svg/justify-align.esm.js +1 -0
  204. package/dist/nile-icon/icons/svg/left-align.cjs.js +2 -0
  205. package/dist/nile-icon/icons/svg/left-align.cjs.js.map +1 -0
  206. package/dist/nile-icon/icons/svg/left-align.esm.js +1 -0
  207. package/dist/nile-icon/icons/svg/ng-activity.cjs.js +2 -0
  208. package/dist/nile-icon/icons/svg/ng-activity.cjs.js.map +1 -0
  209. package/dist/nile-icon/icons/svg/ng-activity.esm.js +1 -0
  210. package/dist/nile-icon/icons/svg/ng-align-center.cjs.js +2 -0
  211. package/dist/nile-icon/icons/svg/ng-align-center.cjs.js.map +1 -0
  212. package/dist/nile-icon/icons/svg/ng-align-center.esm.js +1 -0
  213. package/dist/nile-icon/icons/svg/ng-annotation-x.cjs.js +2 -0
  214. package/dist/nile-icon/icons/svg/ng-annotation-x.cjs.js.map +1 -0
  215. package/dist/nile-icon/icons/svg/ng-annotation-x.esm.js +1 -0
  216. package/dist/nile-icon/icons/svg/ng-arrow-down.cjs.js +2 -0
  217. package/dist/nile-icon/icons/svg/ng-arrow-down.cjs.js.map +1 -0
  218. package/dist/nile-icon/icons/svg/ng-arrow-down.esm.js +1 -0
  219. package/dist/nile-icon/icons/svg/ng-arrow-narrow-down.cjs.js +2 -0
  220. package/dist/nile-icon/icons/svg/ng-arrow-narrow-down.cjs.js.map +1 -0
  221. package/dist/nile-icon/icons/svg/ng-arrow-narrow-down.esm.js +1 -0
  222. package/dist/nile-icon/icons/svg/ng-arrow-narrow-left.cjs.js +2 -0
  223. package/dist/nile-icon/icons/svg/ng-arrow-narrow-left.cjs.js.map +1 -0
  224. package/dist/nile-icon/icons/svg/ng-arrow-narrow-left.esm.js +1 -0
  225. package/dist/nile-icon/icons/svg/ng-arrow-up.cjs.js +2 -0
  226. package/dist/nile-icon/icons/svg/ng-arrow-up.cjs.js.map +1 -0
  227. package/dist/nile-icon/icons/svg/ng-arrow-up.esm.js +1 -0
  228. package/dist/nile-icon/icons/svg/ng-bar-chart-12.cjs.js +2 -0
  229. package/dist/nile-icon/icons/svg/ng-bar-chart-12.cjs.js.map +1 -0
  230. package/dist/nile-icon/icons/svg/ng-bar-chart-12.esm.js +1 -0
  231. package/dist/nile-icon/icons/svg/ng-bell-01.cjs.js +2 -0
  232. package/dist/nile-icon/icons/svg/ng-bell-01.cjs.js.map +1 -0
  233. package/dist/nile-icon/icons/svg/ng-bell-01.esm.js +1 -0
  234. package/dist/nile-icon/icons/svg/ng-bell-ringing-04.cjs.js +2 -0
  235. package/dist/nile-icon/icons/svg/ng-bell-ringing-04.cjs.js.map +1 -0
  236. package/dist/nile-icon/icons/svg/ng-bell-ringing-04.esm.js +1 -0
  237. package/dist/nile-icon/icons/svg/ng-bold-01.cjs.js +2 -0
  238. package/dist/nile-icon/icons/svg/ng-bold-01.cjs.js.map +1 -0
  239. package/dist/nile-icon/icons/svg/ng-bold-01.esm.js +1 -0
  240. package/dist/nile-icon/icons/svg/ng-calendar-plus-02.cjs.js +2 -0
  241. package/dist/nile-icon/icons/svg/ng-calendar-plus-02.cjs.js.map +1 -0
  242. package/dist/nile-icon/icons/svg/ng-calendar-plus-02.esm.js +1 -0
  243. package/dist/nile-icon/icons/svg/ng-calendar.cjs.js +2 -0
  244. package/dist/nile-icon/icons/svg/ng-calendar.cjs.js.map +1 -0
  245. package/dist/nile-icon/icons/svg/ng-calendar.esm.js +1 -0
  246. package/dist/nile-icon/icons/svg/ng-check-circle.cjs.js +2 -0
  247. package/dist/nile-icon/icons/svg/ng-check-circle.cjs.js.map +1 -0
  248. package/dist/nile-icon/icons/svg/ng-check-circle.esm.js +1 -0
  249. package/dist/nile-icon/icons/svg/ng-check-square-broken.cjs.js +2 -0
  250. package/dist/nile-icon/icons/svg/ng-check-square-broken.cjs.js.map +1 -0
  251. package/dist/nile-icon/icons/svg/ng-check-square-broken.esm.js +1 -0
  252. package/dist/nile-icon/icons/svg/ng-chevron-down.cjs.js +2 -0
  253. package/dist/nile-icon/icons/svg/ng-chevron-down.cjs.js.map +1 -0
  254. package/dist/nile-icon/icons/svg/ng-chevron-down.esm.js +1 -0
  255. package/dist/nile-icon/icons/svg/ng-chevron-left.cjs.js +2 -0
  256. package/dist/nile-icon/icons/svg/ng-chevron-left.cjs.js.map +1 -0
  257. package/dist/nile-icon/icons/svg/ng-chevron-left.esm.js +1 -0
  258. package/dist/nile-icon/icons/svg/ng-chevron-right.cjs.js +2 -0
  259. package/dist/nile-icon/icons/svg/ng-chevron-right.cjs.js.map +1 -0
  260. package/dist/nile-icon/icons/svg/ng-chevron-right.esm.js +1 -0
  261. package/dist/nile-icon/icons/svg/ng-chevron-selector-vertical.cjs.js +2 -0
  262. package/dist/nile-icon/icons/svg/ng-chevron-selector-vertical.cjs.js.map +1 -0
  263. package/dist/nile-icon/icons/svg/ng-chevron-selector-vertical.esm.js +1 -0
  264. package/dist/nile-icon/icons/svg/ng-chevron-up-double.cjs.js +2 -0
  265. package/dist/nile-icon/icons/svg/ng-chevron-up-double.cjs.js.map +1 -0
  266. package/dist/nile-icon/icons/svg/ng-chevron-up-double.esm.js +1 -0
  267. package/dist/nile-icon/icons/svg/ng-chevron-up.cjs.js +2 -0
  268. package/dist/nile-icon/icons/svg/ng-chevron-up.cjs.js.map +1 -0
  269. package/dist/nile-icon/icons/svg/ng-chevron-up.esm.js +1 -0
  270. package/dist/nile-icon/icons/svg/ng-copy-03.cjs.js +2 -0
  271. package/dist/nile-icon/icons/svg/ng-copy-03.cjs.js.map +1 -0
  272. package/dist/nile-icon/icons/svg/ng-copy-03.esm.js +1 -0
  273. package/dist/nile-icon/icons/svg/ng-dots-grid.cjs.js +2 -0
  274. package/dist/nile-icon/icons/svg/ng-dots-grid.cjs.js.map +1 -0
  275. package/dist/nile-icon/icons/svg/ng-dots-grid.esm.js +1 -0
  276. package/dist/nile-icon/icons/svg/ng-dots-vertical.cjs.js +2 -0
  277. package/dist/nile-icon/icons/svg/ng-dots-vertical.cjs.js.map +1 -0
  278. package/dist/nile-icon/icons/svg/ng-dots-vertical.esm.js +1 -0
  279. package/dist/nile-icon/icons/svg/ng-download-01.cjs.js +2 -0
  280. package/dist/nile-icon/icons/svg/ng-download-01.cjs.js.map +1 -0
  281. package/dist/nile-icon/icons/svg/ng-download-01.esm.js +1 -0
  282. package/dist/nile-icon/icons/svg/ng-dropdown.cjs.js +2 -0
  283. package/dist/nile-icon/icons/svg/ng-dropdown.cjs.js.map +1 -0
  284. package/dist/nile-icon/icons/svg/ng-dropdown.esm.js +1 -0
  285. package/dist/nile-icon/icons/svg/ng-edit-02.cjs.js +2 -0
  286. package/dist/nile-icon/icons/svg/ng-edit-02.cjs.js.map +1 -0
  287. package/dist/nile-icon/icons/svg/ng-edit-02.esm.js +1 -0
  288. package/dist/nile-icon/icons/svg/ng-edit-05.cjs.js +2 -0
  289. package/dist/nile-icon/icons/svg/ng-edit-05.cjs.js.map +1 -0
  290. package/dist/nile-icon/icons/svg/ng-edit-05.esm.js +1 -0
  291. package/dist/nile-icon/icons/svg/ng-expand-06.cjs.js +2 -0
  292. package/dist/nile-icon/icons/svg/ng-expand-06.cjs.js.map +1 -0
  293. package/dist/nile-icon/icons/svg/ng-expand-06.esm.js +1 -0
  294. package/dist/nile-icon/icons/svg/ng-eye.cjs.js +2 -0
  295. package/dist/nile-icon/icons/svg/ng-eye.cjs.js.map +1 -0
  296. package/dist/nile-icon/icons/svg/ng-eye.esm.js +1 -0
  297. package/dist/nile-icon/icons/svg/ng-file-02.cjs.js +2 -0
  298. package/dist/nile-icon/icons/svg/ng-file-02.cjs.js.map +1 -0
  299. package/dist/nile-icon/icons/svg/ng-file-02.esm.js +1 -0
  300. package/dist/nile-icon/icons/svg/ng-file-check-02.cjs.js +2 -0
  301. package/dist/nile-icon/icons/svg/ng-file-check-02.cjs.js.map +1 -0
  302. package/dist/nile-icon/icons/svg/ng-file-check-02.esm.js +1 -0
  303. package/dist/nile-icon/icons/svg/ng-file-question-03.cjs.js +2 -0
  304. package/dist/nile-icon/icons/svg/ng-file-question-03.cjs.js.map +1 -0
  305. package/dist/nile-icon/icons/svg/ng-file-question-03.esm.js +1 -0
  306. package/dist/nile-icon/icons/svg/ng-filter-lines.cjs.js +2 -0
  307. package/dist/nile-icon/icons/svg/ng-filter-lines.cjs.js.map +1 -0
  308. package/dist/nile-icon/icons/svg/ng-filter-lines.esm.js +1 -0
  309. package/dist/nile-icon/icons/svg/ng-grid-01.cjs.js +2 -0
  310. package/dist/nile-icon/icons/svg/ng-grid-01.cjs.js.map +1 -0
  311. package/dist/nile-icon/icons/svg/ng-grid-01.esm.js +1 -0
  312. package/dist/nile-icon/icons/svg/ng-help-circle.cjs.js +2 -0
  313. package/dist/nile-icon/icons/svg/ng-help-circle.cjs.js.map +1 -0
  314. package/dist/nile-icon/icons/svg/ng-help-circle.esm.js +1 -0
  315. package/dist/nile-icon/icons/svg/ng-image-user-left.cjs.js +2 -0
  316. package/dist/nile-icon/icons/svg/ng-image-user-left.cjs.js.map +1 -0
  317. package/dist/nile-icon/icons/svg/ng-image-user-left.esm.js +1 -0
  318. package/dist/nile-icon/icons/svg/ng-info-circle.cjs.js +2 -0
  319. package/dist/nile-icon/icons/svg/ng-info-circle.cjs.js.map +1 -0
  320. package/dist/nile-icon/icons/svg/ng-info-circle.esm.js +1 -0
  321. package/dist/nile-icon/icons/svg/ng-italic-01.cjs.js +2 -0
  322. package/dist/nile-icon/icons/svg/ng-italic-01.cjs.js.map +1 -0
  323. package/dist/nile-icon/icons/svg/ng-italic-01.esm.js +1 -0
  324. package/dist/nile-icon/icons/svg/ng-layers-three-01.cjs.js +2 -0
  325. package/dist/nile-icon/icons/svg/ng-layers-three-01.cjs.js.map +1 -0
  326. package/dist/nile-icon/icons/svg/ng-layers-three-01.esm.js +1 -0
  327. package/dist/nile-icon/icons/svg/ng-list.cjs.js +2 -0
  328. package/dist/nile-icon/icons/svg/ng-list.cjs.js.map +1 -0
  329. package/dist/nile-icon/icons/svg/ng-list.esm.js +1 -0
  330. package/dist/nile-icon/icons/svg/ng-log-out-01.cjs.js +2 -0
  331. package/dist/nile-icon/icons/svg/ng-log-out-01.cjs.js.map +1 -0
  332. package/dist/nile-icon/icons/svg/ng-log-out-01.esm.js +1 -0
  333. package/dist/nile-icon/icons/svg/ng-mail-01.cjs.js +2 -0
  334. package/dist/nile-icon/icons/svg/ng-mail-01.cjs.js.map +1 -0
  335. package/dist/nile-icon/icons/svg/ng-mail-01.esm.js +1 -0
  336. package/dist/nile-icon/icons/svg/ng-mail-04.cjs.js +2 -0
  337. package/dist/nile-icon/icons/svg/ng-mail-04.cjs.js.map +1 -0
  338. package/dist/nile-icon/icons/svg/ng-mail-04.esm.js +1 -0
  339. package/dist/nile-icon/icons/svg/ng-menu-05.cjs.js +2 -0
  340. package/dist/nile-icon/icons/svg/ng-menu-05.cjs.js.map +1 -0
  341. package/dist/nile-icon/icons/svg/ng-menu-05.esm.js +1 -0
  342. package/dist/nile-icon/icons/svg/ng-message-text-square-01.cjs.js +2 -0
  343. package/dist/nile-icon/icons/svg/ng-message-text-square-01.cjs.js.map +1 -0
  344. package/dist/nile-icon/icons/svg/ng-message-text-square-01.esm.js +1 -0
  345. package/dist/nile-icon/icons/svg/ng-minimize-02.cjs.js +2 -0
  346. package/dist/nile-icon/icons/svg/ng-minimize-02.cjs.js.map +1 -0
  347. package/dist/nile-icon/icons/svg/ng-minimize-02.esm.js +1 -0
  348. package/dist/nile-icon/icons/svg/ng-plus.cjs.js +2 -0
  349. package/dist/nile-icon/icons/svg/ng-plus.cjs.js.map +1 -0
  350. package/dist/nile-icon/icons/svg/ng-plus.esm.js +1 -0
  351. package/dist/nile-icon/icons/svg/ng-refresh-cw-02.cjs.js +2 -0
  352. package/dist/nile-icon/icons/svg/ng-refresh-cw-02.cjs.js.map +1 -0
  353. package/dist/nile-icon/icons/svg/ng-refresh-cw-02.esm.js +1 -0
  354. package/dist/nile-icon/icons/svg/ng-rocket-02.cjs.js +2 -0
  355. package/dist/nile-icon/icons/svg/ng-rocket-02.cjs.js.map +1 -0
  356. package/dist/nile-icon/icons/svg/ng-rocket-02.esm.js +1 -0
  357. package/dist/nile-icon/icons/svg/ng-search-lg.cjs.js +2 -0
  358. package/dist/nile-icon/icons/svg/ng-search-lg.cjs.js.map +1 -0
  359. package/dist/nile-icon/icons/svg/ng-search-lg.esm.js +1 -0
  360. package/dist/nile-icon/icons/svg/ng-send-01.cjs.js +2 -0
  361. package/dist/nile-icon/icons/svg/ng-send-01.cjs.js.map +1 -0
  362. package/dist/nile-icon/icons/svg/ng-send-01.esm.js +1 -0
  363. package/dist/nile-icon/icons/svg/ng-settings-01.cjs.js +2 -0
  364. package/dist/nile-icon/icons/svg/ng-settings-01.cjs.js.map +1 -0
  365. package/dist/nile-icon/icons/svg/ng-settings-01.esm.js +1 -0
  366. package/dist/nile-icon/icons/svg/ng-share-04.cjs.js +2 -0
  367. package/dist/nile-icon/icons/svg/ng-share-04.cjs.js.map +1 -0
  368. package/dist/nile-icon/icons/svg/ng-share-04.esm.js +1 -0
  369. package/dist/nile-icon/icons/svg/ng-share-06.cjs.js +2 -0
  370. package/dist/nile-icon/icons/svg/ng-share-06.cjs.js.map +1 -0
  371. package/dist/nile-icon/icons/svg/ng-share-06.esm.js +1 -0
  372. package/dist/nile-icon/icons/svg/ng-stars-02.cjs.js +2 -0
  373. package/dist/nile-icon/icons/svg/ng-stars-02.cjs.js.map +1 -0
  374. package/dist/nile-icon/icons/svg/ng-stars-02.esm.js +1 -0
  375. package/dist/nile-icon/icons/svg/ng-trash-01.cjs.js +2 -0
  376. package/dist/nile-icon/icons/svg/ng-trash-01.cjs.js.map +1 -0
  377. package/dist/nile-icon/icons/svg/ng-trash-01.esm.js +1 -0
  378. package/dist/nile-icon/icons/svg/ng-trash-03.cjs.js +2 -0
  379. package/dist/nile-icon/icons/svg/ng-trash-03.cjs.js.map +1 -0
  380. package/dist/nile-icon/icons/svg/ng-trash-03.esm.js +1 -0
  381. package/dist/nile-icon/icons/svg/ng-trend-up-01.cjs.js +2 -0
  382. package/dist/nile-icon/icons/svg/ng-trend-up-01.cjs.js.map +1 -0
  383. package/dist/nile-icon/icons/svg/ng-trend-up-01.esm.js +1 -0
  384. package/dist/nile-icon/icons/svg/ng-underline-01.cjs.js +2 -0
  385. package/dist/nile-icon/icons/svg/ng-underline-01.cjs.js.map +1 -0
  386. package/dist/nile-icon/icons/svg/ng-underline-01.esm.js +1 -0
  387. package/dist/nile-icon/icons/svg/ng-upload-01.cjs.js +2 -0
  388. package/dist/nile-icon/icons/svg/ng-upload-01.cjs.js.map +1 -0
  389. package/dist/nile-icon/icons/svg/ng-upload-01.esm.js +1 -0
  390. package/dist/nile-icon/icons/svg/ng-upload-cloud-02.cjs.js +2 -0
  391. package/dist/nile-icon/icons/svg/ng-upload-cloud-02.cjs.js.map +1 -0
  392. package/dist/nile-icon/icons/svg/ng-upload-cloud-02.esm.js +1 -0
  393. package/dist/nile-icon/icons/svg/ng-user-01.cjs.js +2 -0
  394. package/dist/nile-icon/icons/svg/ng-user-01.cjs.js.map +1 -0
  395. package/dist/nile-icon/icons/svg/ng-user-01.esm.js +1 -0
  396. package/dist/nile-icon/icons/svg/ng-user-check-02-1.cjs.js +2 -0
  397. package/dist/nile-icon/icons/svg/ng-user-check-02-1.cjs.js.map +1 -0
  398. package/dist/nile-icon/icons/svg/ng-user-check-02-1.esm.js +1 -0
  399. package/dist/nile-icon/icons/svg/ng-user-check-02.cjs.js +2 -0
  400. package/dist/nile-icon/icons/svg/ng-user-check-02.cjs.js.map +1 -0
  401. package/dist/nile-icon/icons/svg/ng-user-check-02.esm.js +1 -0
  402. package/dist/nile-icon/icons/svg/ng-user-plus-02.cjs.js +2 -0
  403. package/dist/nile-icon/icons/svg/ng-user-plus-02.cjs.js.map +1 -0
  404. package/dist/nile-icon/icons/svg/ng-user-plus-02.esm.js +1 -0
  405. package/dist/nile-icon/icons/svg/ng-user-right-01.cjs.js +2 -0
  406. package/dist/nile-icon/icons/svg/ng-user-right-01.cjs.js.map +1 -0
  407. package/dist/nile-icon/icons/svg/ng-user-right-01.esm.js +1 -0
  408. package/dist/nile-icon/icons/svg/ng-users-01.cjs.js +2 -0
  409. package/dist/nile-icon/icons/svg/ng-users-01.cjs.js.map +1 -0
  410. package/dist/nile-icon/icons/svg/ng-users-01.esm.js +1 -0
  411. package/dist/nile-icon/icons/svg/ng-x-close.cjs.js +2 -0
  412. package/dist/nile-icon/icons/svg/ng-x-close.cjs.js.map +1 -0
  413. package/dist/nile-icon/icons/svg/ng-x-close.esm.js +1 -0
  414. package/dist/nile-icon/icons/svg/ng-x-square.cjs.js +2 -0
  415. package/dist/nile-icon/icons/svg/ng-x-square.cjs.js.map +1 -0
  416. package/dist/nile-icon/icons/svg/ng-x-square.esm.js +1 -0
  417. package/dist/nile-icon/icons/svg/ol.cjs.js +2 -0
  418. package/dist/nile-icon/icons/svg/ol.cjs.js.map +1 -0
  419. package/dist/nile-icon/icons/svg/ol.esm.js +1 -0
  420. package/dist/nile-icon/icons/svg/pluscircle.cjs.js +1 -1
  421. package/dist/nile-icon/icons/svg/pluscircle.cjs.js.map +1 -1
  422. package/dist/nile-icon/icons/svg/pluscircle.esm.js +1 -1
  423. package/dist/nile-icon/icons/svg/question.cjs.js +1 -1
  424. package/dist/nile-icon/icons/svg/question.cjs.js.map +1 -1
  425. package/dist/nile-icon/icons/svg/question.esm.js +1 -1
  426. package/dist/nile-icon/icons/svg/resource.cjs.js +1 -1
  427. package/dist/nile-icon/icons/svg/resource.cjs.js.map +1 -1
  428. package/dist/nile-icon/icons/svg/resource.esm.js +1 -1
  429. package/dist/nile-icon/icons/svg/right-align.cjs.js +2 -0
  430. package/dist/nile-icon/icons/svg/right-align.cjs.js.map +1 -0
  431. package/dist/nile-icon/icons/svg/right-align.esm.js +1 -0
  432. package/dist/nile-icon/icons/svg/sendescalation.cjs.js +1 -1
  433. package/dist/nile-icon/icons/svg/sendescalation.cjs.js.map +1 -1
  434. package/dist/nile-icon/icons/svg/sendescalation.esm.js +1 -1
  435. package/dist/nile-icon/icons/svg/sendreminder.cjs.js +1 -1
  436. package/dist/nile-icon/icons/svg/sendreminder.cjs.js.map +1 -1
  437. package/dist/nile-icon/icons/svg/sendreminder.esm.js +1 -1
  438. package/dist/nile-icon/icons/svg/timezone.cjs.js +1 -1
  439. package/dist/nile-icon/icons/svg/timezone.cjs.js.map +1 -1
  440. package/dist/nile-icon/icons/svg/timezone.esm.js +1 -1
  441. package/dist/nile-icon/icons/svg/ul.cjs.js +2 -0
  442. package/dist/nile-icon/icons/svg/ul.cjs.js.map +1 -0
  443. package/dist/nile-icon/icons/svg/ul.esm.js +1 -0
  444. package/dist/nile-icon/icons/svg/underline.cjs.js +2 -0
  445. package/dist/nile-icon/icons/svg/underline.cjs.js.map +1 -0
  446. package/dist/nile-icon/icons/svg/underline.esm.js +1 -0
  447. package/dist/nile-icon/icons/svg/unmute.cjs.js +1 -1
  448. package/dist/nile-icon/icons/svg/unmute.cjs.js.map +1 -1
  449. package/dist/nile-icon/icons/svg/unmute.esm.js +1 -1
  450. package/dist/nile-icon/icons/svg/upgrade.cjs.js +1 -1
  451. package/dist/nile-icon/icons/svg/upgrade.cjs.js.map +1 -1
  452. package/dist/nile-icon/icons/svg/upgrade.esm.js +1 -1
  453. package/dist/nile-icon/index.cjs.js +1 -1
  454. package/dist/nile-icon/index.cjs.js.map +1 -1
  455. package/dist/nile-icon/index.esm.js +1 -1
  456. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  457. package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -1
  458. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  459. package/dist/nile-icon-button/index.cjs.js +1 -1
  460. package/dist/nile-icon-button/index.esm.js +1 -1
  461. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  462. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  463. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  464. package/dist/nile-input/index.cjs.js +1 -1
  465. package/dist/nile-input/index.esm.js +1 -1
  466. package/dist/nile-input/nile-input.cjs.js +1 -1
  467. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  468. package/dist/nile-input/nile-input.esm.js +1 -1
  469. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  470. package/dist/nile-input/nile-input.test.cjs.js.map +1 -1
  471. package/dist/nile-input/nile-input.test.esm.js +2 -2
  472. package/dist/nile-lightdomeditor/index.cjs.js +2 -0
  473. package/dist/nile-lightdomeditor/index.esm.js +1 -0
  474. package/dist/nile-lightdomeditor/nile-lightdomeditor.cjs.js +2 -0
  475. package/dist/nile-lightdomeditor/nile-lightdomeditor.cjs.js.map +1 -0
  476. package/dist/nile-lightdomeditor/nile-lightdomeditor.css.cjs.js +2 -0
  477. package/dist/nile-lightdomeditor/nile-lightdomeditor.css.cjs.js.map +1 -0
  478. package/dist/nile-lightdomeditor/nile-lightdomeditor.css.esm.js +225 -0
  479. package/dist/nile-lightdomeditor/nile-lightdomeditor.esm.js +122 -0
  480. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  481. package/dist/nile-link/nile-link.test.esm.js +1 -1
  482. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  483. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  484. package/dist/nile-menu/nile-menu.css.cjs.js +1 -1
  485. package/dist/nile-menu/nile-menu.css.cjs.js.map +1 -1
  486. package/dist/nile-menu/nile-menu.css.esm.js +3 -3
  487. package/dist/nile-menu-item/index.cjs.js +1 -1
  488. package/dist/nile-menu-item/index.esm.js +1 -1
  489. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  490. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  491. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  492. package/dist/nile-option/index.cjs.js +1 -1
  493. package/dist/nile-option/index.esm.js +1 -1
  494. package/dist/nile-option/nile-option.cjs.js +1 -1
  495. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  496. package/dist/nile-option/nile-option.esm.js +2 -2
  497. package/dist/nile-popover/index.cjs.js +1 -1
  498. package/dist/nile-popover/index.esm.js +1 -1
  499. package/dist/nile-popover/nile-popover.cjs.js +11 -3
  500. package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
  501. package/dist/nile-popover/nile-popover.esm.js +13 -7
  502. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  503. package/dist/nile-popover/nile-popover.test.cjs.js.map +1 -1
  504. package/dist/nile-popover/nile-popover.test.esm.js +3 -3
  505. package/dist/nile-popup/nile-popup.cjs.js +1 -1
  506. package/dist/nile-popup/nile-popup.cjs.js.map +1 -1
  507. package/dist/nile-popup/nile-popup.esm.js +1 -1
  508. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  509. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  510. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  511. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  512. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  513. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  514. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  515. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  516. package/dist/nile-rich-text-editor/index.cjs.js +2 -0
  517. package/dist/nile-rich-text-editor/index.cjs.js.map +1 -0
  518. package/dist/nile-rich-text-editor/index.esm.js +1 -0
  519. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +2 -0
  520. package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +1 -0
  521. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +2 -0
  522. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -0
  523. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +7 -0
  524. package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +1 -0
  525. package/dist/nile-rich-text-editor/nile-rte-color.cjs.js +2 -0
  526. package/dist/nile-rich-text-editor/nile-rte-color.cjs.js.map +1 -0
  527. package/dist/nile-rich-text-editor/nile-rte-color.esm.js +1 -0
  528. package/dist/nile-rich-text-editor/nile-rte-divider.cjs.js +2 -0
  529. package/dist/nile-rich-text-editor/nile-rte-divider.cjs.js.map +1 -0
  530. package/dist/nile-rich-text-editor/nile-rte-divider.esm.js +1 -0
  531. package/dist/nile-rich-text-editor/nile-rte-mentions-item.cjs.js +2 -0
  532. package/dist/nile-rich-text-editor/nile-rte-mentions-item.cjs.js.map +1 -0
  533. package/dist/nile-rich-text-editor/nile-rte-mentions-item.esm.js +1 -0
  534. package/dist/nile-rich-text-editor/nile-rte-mentions.cjs.js +3 -0
  535. package/dist/nile-rich-text-editor/nile-rte-mentions.cjs.js.map +1 -0
  536. package/dist/nile-rich-text-editor/nile-rte-mentions.esm.js +1 -0
  537. package/dist/nile-rich-text-editor/nile-rte-preview.cjs.js +2 -0
  538. package/dist/nile-rich-text-editor/nile-rte-preview.cjs.js.map +1 -0
  539. package/dist/nile-rich-text-editor/nile-rte-preview.esm.js +1 -0
  540. package/dist/nile-rich-text-editor/nile-rte-select.cjs.js +2 -0
  541. package/dist/nile-rich-text-editor/nile-rte-select.cjs.js.map +1 -0
  542. package/dist/nile-rich-text-editor/nile-rte-select.esm.js +32 -0
  543. package/dist/nile-rich-text-editor/nile-rte-toolbar-item.cjs.js +2 -0
  544. package/dist/nile-rich-text-editor/nile-rte-toolbar-item.cjs.js.map +1 -0
  545. package/dist/nile-rich-text-editor/nile-rte-toolbar-item.esm.js +1 -0
  546. package/dist/nile-rich-text-editor/nile-rte-toolbar.cjs.js +2 -0
  547. package/dist/nile-rich-text-editor/nile-rte-toolbar.cjs.js.map +1 -0
  548. package/dist/nile-rich-text-editor/nile-rte-toolbar.esm.js +1 -0
  549. package/dist/nile-rich-text-editor/utils.cjs.js +2 -0
  550. package/dist/nile-rich-text-editor/utils.cjs.js.map +1 -0
  551. package/dist/nile-rich-text-editor/utils.esm.js +1 -0
  552. package/dist/nile-richcodeeditor/index.cjs.js +2 -0
  553. package/dist/nile-richcodeeditor/index.cjs.js.map +1 -0
  554. package/dist/nile-richcodeeditor/index.esm.js +1 -0
  555. package/dist/nile-richcodeeditor/nile-richcodeeditor.cjs.js +2 -0
  556. package/dist/nile-richcodeeditor/nile-richcodeeditor.cjs.js.map +1 -0
  557. package/dist/nile-richcodeeditor/nile-richcodeeditor.css.cjs.js +2 -0
  558. package/dist/nile-richcodeeditor/nile-richcodeeditor.css.cjs.js.map +1 -0
  559. package/dist/nile-richcodeeditor/nile-richcodeeditor.css.esm.js +5 -0
  560. package/dist/nile-richcodeeditor/nile-richcodeeditor.esm.js +66 -0
  561. package/dist/nile-select/index.cjs.js +1 -1
  562. package/dist/nile-select/index.esm.js +1 -1
  563. package/dist/nile-select/nile-select.cjs.js +1 -1
  564. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  565. package/dist/nile-select/nile-select.esm.js +1 -1
  566. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  567. package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
  568. package/dist/nile-select/nile-select.test.esm.js +1 -1
  569. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  570. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  571. package/dist/nile-tab/index.cjs.js +1 -1
  572. package/dist/nile-tab/index.esm.js +1 -1
  573. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  574. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  575. package/dist/nile-tab/nile-tab.esm.js +2 -2
  576. package/dist/nile-tab-group/index.cjs.js +1 -1
  577. package/dist/nile-tab-group/index.esm.js +1 -1
  578. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  579. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  580. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  581. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  582. package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +1 -1
  583. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  584. package/dist/nile-tag/index.cjs.js +1 -1
  585. package/dist/nile-tag/index.esm.js +1 -1
  586. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  587. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  588. package/dist/nile-tag/nile-tag.esm.js +1 -1
  589. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  590. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  591. package/dist/nile-toast/index.cjs.js +1 -1
  592. package/dist/nile-toast/index.esm.js +1 -1
  593. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  594. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  595. package/dist/nile-toast/nile-toast.esm.js +1 -1
  596. package/dist/nile-tree/index.cjs.js +1 -1
  597. package/dist/nile-tree/index.esm.js +1 -1
  598. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  599. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  600. package/dist/nile-tree/nile-tree.esm.js +1 -1
  601. package/dist/nile-tree-item/index.cjs.js +1 -1
  602. package/dist/nile-tree-item/index.esm.js +1 -1
  603. package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
  604. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
  605. package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
  606. package/dist/src/index.d.ts +4 -2
  607. package/dist/src/index.js +4 -2
  608. package/dist/src/index.js.map +1 -1
  609. package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +17 -0
  610. package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +310 -0
  611. package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +34 -0
  612. package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +31 -0
  613. package/dist/src/nile-chip/nile-chip.js +1 -9
  614. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  615. package/dist/src/nile-code-editor/nile-code-editor.d.ts +2 -0
  616. package/dist/src/nile-code-editor/nile-code-editor.js +48 -6
  617. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  618. package/dist/src/nile-code-editor/theme.d.ts +110 -0
  619. package/dist/src/nile-code-editor/theme.js +110 -0
  620. package/dist/src/nile-code-editor/theme.js.map +1 -1
  621. package/dist/src/nile-empty-state/nile-empty-state.js +11 -11
  622. package/dist/src/nile-empty-state/nile-empty-state.js.map +1 -1
  623. package/dist/src/nile-error-notification/nile-error-notification.js +4 -2
  624. package/dist/src/nile-error-notification/nile-error-notification.js.map +1 -1
  625. package/dist/src/nile-file-preview/nile-file-preview.css.js +168 -227
  626. package/dist/src/nile-file-preview/nile-file-preview.css.js.map +1 -1
  627. package/dist/src/nile-file-preview/nile-file-preview.d.ts +1 -2
  628. package/dist/src/nile-file-preview/nile-file-preview.js +13 -14
  629. package/dist/src/nile-file-preview/nile-file-preview.js.map +1 -1
  630. package/dist/src/nile-file-preview/nile-file-preview.template.d.ts +2 -3
  631. package/dist/src/nile-file-preview/nile-file-preview.template.js +47 -51
  632. package/dist/src/nile-file-preview/nile-file-preview.template.js.map +1 -1
  633. package/dist/src/nile-file-preview/types/nile-file-preview.enums.d.ts +3 -3
  634. package/dist/src/nile-file-preview/types/nile-file-preview.enums.js +2 -2
  635. package/dist/src/nile-file-preview/types/nile-file-preview.enums.js.map +1 -1
  636. package/dist/src/nile-file-preview/utils/nile-file-preview.util.d.ts +0 -4
  637. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js +0 -25
  638. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js.map +1 -1
  639. package/dist/src/nile-file-upload/nile-file-upload.css.js +87 -140
  640. package/dist/src/nile-file-upload/nile-file-upload.css.js.map +1 -1
  641. package/dist/src/nile-file-upload/nile-file-upload.d.ts +1 -4
  642. package/dist/src/nile-file-upload/nile-file-upload.js +20 -30
  643. package/dist/src/nile-file-upload/nile-file-upload.js.map +1 -1
  644. package/dist/src/nile-file-upload/nile-file-upload.template.d.ts +5 -5
  645. package/dist/src/nile-file-upload/nile-file-upload.template.js +103 -57
  646. package/dist/src/nile-file-upload/nile-file-upload.template.js.map +1 -1
  647. package/dist/src/nile-file-upload/types/file-upload.enums.d.ts +3 -8
  648. package/dist/src/nile-file-upload/types/file-upload.enums.js +1 -6
  649. package/dist/src/nile-file-upload/types/file-upload.enums.js.map +1 -1
  650. package/dist/src/nile-file-upload/utils/drag-drop.util.d.ts +4 -2
  651. package/dist/src/nile-file-upload/utils/drag-drop.util.js +21 -18
  652. package/dist/src/nile-file-upload/utils/drag-drop.util.js.map +1 -1
  653. package/dist/src/nile-file-upload/utils/file-validation.util.d.ts +1 -3
  654. package/dist/src/nile-file-upload/utils/file-validation.util.js +32 -83
  655. package/dist/src/nile-file-upload/utils/file-validation.util.js.map +1 -1
  656. package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +47 -0
  657. package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +16 -0
  658. package/dist/src/nile-icon/icons/svg/accessreview.d.ts +1 -1
  659. package/dist/src/nile-icon/icons/svg/accessreview.js +1 -1
  660. package/dist/src/nile-icon/icons/svg/accessreview.js.map +1 -1
  661. package/dist/src/nile-icon/icons/svg/agent.d.ts +1 -1
  662. package/dist/src/nile-icon/icons/svg/agent.js +1 -1
  663. package/dist/src/nile-icon/icons/svg/agent.js.map +1 -1
  664. package/dist/src/nile-icon/icons/svg/api.d.ts +1 -1
  665. package/dist/src/nile-icon/icons/svg/api.js +1 -1
  666. package/dist/src/nile-icon/icons/svg/api.js.map +1 -1
  667. package/dist/src/nile-icon/icons/svg/apply-filter.d.ts +1 -1
  668. package/dist/src/nile-icon/icons/svg/apply-filter.js +1 -1
  669. package/dist/src/nile-icon/icons/svg/apply-filter.js.map +1 -1
  670. package/dist/src/nile-icon/icons/svg/arrowdropdown.d.ts +1 -1
  671. package/dist/src/nile-icon/icons/svg/arrowdropdown.js +1 -1
  672. package/dist/src/nile-icon/icons/svg/arrowdropdown.js.map +1 -1
  673. package/dist/src/nile-icon/icons/svg/arrowdropup.d.ts +1 -1
  674. package/dist/src/nile-icon/icons/svg/arrowdropup.js +1 -1
  675. package/dist/src/nile-icon/icons/svg/arrowdropup.js.map +1 -1
  676. package/dist/src/nile-icon/icons/svg/bold.d.ts +5 -0
  677. package/dist/src/nile-icon/icons/svg/bold.js +5 -0
  678. package/dist/src/nile-icon/icons/svg/bold.js.map +1 -0
  679. package/dist/src/nile-icon/icons/svg/center-align.d.ts +5 -0
  680. package/dist/src/nile-icon/icons/svg/center-align.js +5 -0
  681. package/dist/src/nile-icon/icons/svg/center-align.js.map +1 -0
  682. package/dist/src/nile-icon/icons/svg/database.d.ts +1 -1
  683. package/dist/src/nile-icon/icons/svg/database.js +1 -1
  684. package/dist/src/nile-icon/icons/svg/database.js.map +1 -1
  685. package/dist/src/nile-icon/icons/svg/done.d.ts +1 -1
  686. package/dist/src/nile-icon/icons/svg/done.js +1 -1
  687. package/dist/src/nile-icon/icons/svg/done.js.map +1 -1
  688. package/dist/src/nile-icon/icons/svg/dontmap.d.ts +1 -1
  689. package/dist/src/nile-icon/icons/svg/dontmap.js +1 -1
  690. package/dist/src/nile-icon/icons/svg/dontmap.js.map +1 -1
  691. package/dist/src/nile-icon/icons/svg/doublearrowleft.d.ts +1 -1
  692. package/dist/src/nile-icon/icons/svg/doublearrowleft.js +1 -1
  693. package/dist/src/nile-icon/icons/svg/doublearrowleft.js.map +1 -1
  694. package/dist/src/nile-icon/icons/svg/doublearrowright.d.ts +1 -1
  695. package/dist/src/nile-icon/icons/svg/doublearrowright.js +1 -1
  696. package/dist/src/nile-icon/icons/svg/doublearrowright.js.map +1 -1
  697. package/dist/src/nile-icon/icons/svg/drag.d.ts +1 -1
  698. package/dist/src/nile-icon/icons/svg/drag.js +1 -1
  699. package/dist/src/nile-icon/icons/svg/drag.js.map +1 -1
  700. package/dist/src/nile-icon/icons/svg/expand-06.d.ts +1 -1
  701. package/dist/src/nile-icon/icons/svg/expand-06.js +1 -1
  702. package/dist/src/nile-icon/icons/svg/expand-06.js.map +1 -1
  703. package/dist/src/nile-icon/icons/svg/expand.d.ts +1 -1
  704. package/dist/src/nile-icon/icons/svg/expand.js +1 -1
  705. package/dist/src/nile-icon/icons/svg/expand.js.map +1 -1
  706. package/dist/src/nile-icon/icons/svg/index.d.ts +15 -0
  707. package/dist/src/nile-icon/icons/svg/index.js +15 -0
  708. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  709. package/dist/src/nile-icon/icons/svg/info.d.ts +1 -1
  710. package/dist/src/nile-icon/icons/svg/info.js +1 -1
  711. package/dist/src/nile-icon/icons/svg/info.js.map +1 -1
  712. package/dist/src/nile-icon/icons/svg/integer.d.ts +1 -1
  713. package/dist/src/nile-icon/icons/svg/integer.js +1 -1
  714. package/dist/src/nile-icon/icons/svg/integer.js.map +1 -1
  715. package/dist/src/nile-icon/icons/svg/itallic.d.ts +5 -0
  716. package/dist/src/nile-icon/icons/svg/itallic.js +5 -0
  717. package/dist/src/nile-icon/icons/svg/itallic.js.map +1 -0
  718. package/dist/src/nile-icon/icons/svg/justify-align.d.ts +5 -0
  719. package/dist/src/nile-icon/icons/svg/justify-align.js +5 -0
  720. package/dist/src/nile-icon/icons/svg/justify-align.js.map +1 -0
  721. package/dist/src/nile-icon/icons/svg/left-align.d.ts +5 -0
  722. package/dist/src/nile-icon/icons/svg/left-align.js +5 -0
  723. package/dist/src/nile-icon/icons/svg/left-align.js.map +1 -0
  724. package/dist/src/nile-icon/icons/svg/ol.d.ts +5 -0
  725. package/dist/src/nile-icon/icons/svg/ol.js +5 -0
  726. package/dist/src/nile-icon/icons/svg/ol.js.map +1 -0
  727. package/dist/src/nile-icon/icons/svg/pluscircle.d.ts +1 -1
  728. package/dist/src/nile-icon/icons/svg/pluscircle.js +1 -1
  729. package/dist/src/nile-icon/icons/svg/pluscircle.js.map +1 -1
  730. package/dist/src/nile-icon/icons/svg/question.d.ts +1 -1
  731. package/dist/src/nile-icon/icons/svg/question.js +1 -1
  732. package/dist/src/nile-icon/icons/svg/question.js.map +1 -1
  733. package/dist/src/nile-icon/icons/svg/resource.d.ts +1 -1
  734. package/dist/src/nile-icon/icons/svg/resource.js +1 -1
  735. package/dist/src/nile-icon/icons/svg/resource.js.map +1 -1
  736. package/dist/src/nile-icon/icons/svg/right-align.d.ts +5 -0
  737. package/dist/src/nile-icon/icons/svg/right-align.js +5 -0
  738. package/dist/src/nile-icon/icons/svg/right-align.js.map +1 -0
  739. package/dist/src/nile-icon/icons/svg/sendescalation.d.ts +1 -1
  740. package/dist/src/nile-icon/icons/svg/sendescalation.js +1 -1
  741. package/dist/src/nile-icon/icons/svg/sendescalation.js.map +1 -1
  742. package/dist/src/nile-icon/icons/svg/sendreminder.d.ts +1 -1
  743. package/dist/src/nile-icon/icons/svg/sendreminder.js +1 -1
  744. package/dist/src/nile-icon/icons/svg/sendreminder.js.map +1 -1
  745. package/dist/src/nile-icon/icons/svg/timezone.d.ts +1 -1
  746. package/dist/src/nile-icon/icons/svg/timezone.js +1 -1
  747. package/dist/src/nile-icon/icons/svg/timezone.js.map +1 -1
  748. package/dist/src/nile-icon/icons/svg/ul.d.ts +5 -0
  749. package/dist/src/nile-icon/icons/svg/ul.js +5 -0
  750. package/dist/src/nile-icon/icons/svg/ul.js.map +1 -0
  751. package/dist/src/nile-icon/icons/svg/underline.d.ts +5 -0
  752. package/dist/src/nile-icon/icons/svg/underline.js +5 -0
  753. package/dist/src/nile-icon/icons/svg/underline.js.map +1 -0
  754. package/dist/src/nile-icon/icons/svg/unmute.d.ts +1 -1
  755. package/dist/src/nile-icon/icons/svg/unmute.js +1 -1
  756. package/dist/src/nile-icon/icons/svg/unmute.js.map +1 -1
  757. package/dist/src/nile-icon/icons/svg/upgrade.d.ts +1 -1
  758. package/dist/src/nile-icon/icons/svg/upgrade.js +1 -1
  759. package/dist/src/nile-icon/icons/svg/upgrade.js.map +1 -1
  760. package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +75 -0
  761. package/dist/src/nile-lightdomeditor/index.d.ts +1 -0
  762. package/dist/src/nile-lightdomeditor/index.js +2 -0
  763. package/dist/src/nile-lightdomeditor/index.js.map +1 -0
  764. package/dist/src/nile-lightdomeditor/nile-lightdomeditor.css.d.ts +6 -0
  765. package/dist/src/nile-lightdomeditor/nile-lightdomeditor.css.js +237 -0
  766. package/dist/src/nile-lightdomeditor/nile-lightdomeditor.css.js.map +1 -0
  767. package/dist/src/nile-lightdomeditor/nile-lightdomeditor.d.ts +74 -0
  768. package/dist/src/nile-lightdomeditor/nile-lightdomeditor.js +591 -0
  769. package/dist/src/nile-lightdomeditor/nile-lightdomeditor.js.map +1 -0
  770. package/dist/src/nile-lightdomeditor/utils/nile-mention.d.ts +13 -0
  771. package/dist/src/nile-lightdomeditor/utils/nile-mention.js +47 -0
  772. package/dist/src/nile-lightdomeditor/utils/nile-mention.js.map +1 -0
  773. package/dist/src/nile-markdowneditor/index.d.ts +1 -0
  774. package/dist/src/nile-markdowneditor/index.js +2 -0
  775. package/dist/src/nile-markdowneditor/index.js.map +1 -0
  776. package/dist/src/nile-markdowneditor/nile-markdowneditor.css.d.ts +12 -0
  777. package/dist/src/nile-markdowneditor/nile-markdowneditor.css.js +17 -0
  778. package/dist/src/nile-markdowneditor/nile-markdowneditor.css.js.map +1 -0
  779. package/dist/src/nile-markdowneditor/nile-markdowneditor.d.ts +32 -0
  780. package/dist/src/nile-markdowneditor/nile-markdowneditor.js +43 -0
  781. package/dist/src/nile-markdowneditor/nile-markdowneditor.js.map +1 -0
  782. package/dist/src/nile-menu/nile-menu.css.js +1 -1
  783. package/dist/src/nile-menu/nile-menu.css.js.map +1 -1
  784. package/dist/src/nile-option/nile-option.d.ts +3 -1
  785. package/dist/src/nile-option/nile-option.js +9 -0
  786. package/dist/src/nile-option/nile-option.js.map +1 -1
  787. package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +22 -0
  788. package/dist/src/nile-popup/nile-popup.js +20 -1
  789. package/dist/src/nile-popup/nile-popup.js.map +1 -1
  790. package/dist/src/nile-prosemirror-poc/index.d.ts +1 -0
  791. package/dist/src/nile-prosemirror-poc/index.js +2 -0
  792. package/dist/src/nile-prosemirror-poc/index.js.map +1 -0
  793. package/dist/src/nile-prosemirror-poc/nile-prosemirror-poc.css.d.ts +12 -0
  794. package/dist/src/nile-prosemirror-poc/nile-prosemirror-poc.css.js +17 -0
  795. package/dist/src/nile-prosemirror-poc/nile-prosemirror-poc.css.js.map +1 -0
  796. package/dist/src/nile-prosemirror-poc/nile-prosemirror-poc.d.ts +24 -0
  797. package/dist/src/nile-prosemirror-poc/nile-prosemirror-poc.js +190 -0
  798. package/dist/src/nile-prosemirror-poc/nile-prosemirror-poc.js.map +1 -0
  799. package/dist/src/nile-rich-text-editor/index.d.ts +1 -0
  800. package/dist/src/nile-rich-text-editor/index.js +2 -0
  801. package/dist/src/nile-rich-text-editor/index.js.map +1 -0
  802. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.d.ts +12 -0
  803. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +19 -0
  804. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -0
  805. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.d.ts +54 -0
  806. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +591 -0
  807. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +1 -0
  808. package/dist/src/nile-rich-text-editor/nile-rte-color.d.ts +14 -0
  809. package/dist/src/nile-rich-text-editor/nile-rte-color.js +28 -0
  810. package/dist/src/nile-rich-text-editor/nile-rte-color.js.map +1 -0
  811. package/dist/src/nile-rich-text-editor/nile-rte-divider.d.ts +10 -0
  812. package/dist/src/nile-rich-text-editor/nile-rte-divider.js +12 -0
  813. package/dist/src/nile-rich-text-editor/nile-rte-divider.js.map +1 -0
  814. package/dist/src/nile-rich-text-editor/nile-rte-mentions-item.d.ts +17 -0
  815. package/dist/src/nile-rich-text-editor/nile-rte-mentions-item.js +42 -0
  816. package/dist/src/nile-rich-text-editor/nile-rte-mentions-item.js.map +1 -0
  817. package/dist/src/nile-rich-text-editor/nile-rte-mentions.d.ts +54 -0
  818. package/dist/src/nile-rich-text-editor/nile-rte-mentions.js +400 -0
  819. package/dist/src/nile-rich-text-editor/nile-rte-mentions.js.map +1 -0
  820. package/dist/src/nile-rich-text-editor/nile-rte-preview.d.ts +10 -0
  821. package/dist/src/nile-rich-text-editor/nile-rte-preview.js +12 -0
  822. package/dist/src/nile-rich-text-editor/nile-rte-preview.js.map +1 -0
  823. package/dist/src/nile-rich-text-editor/nile-rte-select.d.ts +23 -0
  824. package/dist/src/nile-rich-text-editor/nile-rte-select.js +144 -0
  825. package/dist/src/nile-rich-text-editor/nile-rte-select.js.map +1 -0
  826. package/dist/src/nile-rich-text-editor/nile-rte-toolbar-item.d.ts +12 -0
  827. package/dist/src/nile-rich-text-editor/nile-rte-toolbar-item.js +23 -0
  828. package/dist/src/nile-rich-text-editor/nile-rte-toolbar-item.js.map +1 -0
  829. package/dist/src/nile-rich-text-editor/nile-rte-toolbar.d.ts +10 -0
  830. package/dist/src/nile-rich-text-editor/nile-rte-toolbar.js +12 -0
  831. package/dist/src/nile-rich-text-editor/nile-rte-toolbar.js.map +1 -0
  832. package/dist/src/nile-rich-text-editor/nille-rte-mention.d.ts +21 -0
  833. package/dist/src/nile-rich-text-editor/nille-rte-mention.js +47 -0
  834. package/dist/src/nile-rich-text-editor/nille-rte-mention.js.map +1 -0
  835. package/dist/src/nile-rich-text-editor/nille-rte-mentions.d.ts +21 -0
  836. package/dist/src/nile-rich-text-editor/nille-rte-mentions.js +47 -0
  837. package/dist/src/nile-rich-text-editor/nille-rte-mentions.js.map +1 -0
  838. package/dist/src/nile-rich-text-editor/sub-components/nile-rich-text-editor-toolbar-item.d.ts +0 -0
  839. package/dist/src/nile-rich-text-editor/sub-components/nile-rich-text-editor-toolbar-item.js +2 -0
  840. package/dist/src/nile-rich-text-editor/sub-components/nile-rich-text-editor-toolbar-item.js.map +1 -0
  841. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-content/nile-rich-text-editor-content.d.ts +8 -0
  842. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-content/nile-rich-text-editor-content.js +39 -0
  843. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-content/nile-rich-text-editor-content.js.map +1 -0
  844. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-content/nile-rich-text-editor-preview.d.ts +0 -0
  845. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-content/nile-rich-text-editor-preview.js +2 -0
  846. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-content/nile-rich-text-editor-preview.js.map +1 -0
  847. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-mentions/nile-rich-text-editor-mentions.d.ts +12 -0
  848. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-mentions/nile-rich-text-editor-mentions.js +24 -0
  849. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-mentions/nile-rich-text-editor-mentions.js.map +1 -0
  850. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-mentions-item/nile-rich-text-editor-mentions-item.d.ts +25 -0
  851. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-mentions-item/nile-rich-text-editor-mentions-item.js +89 -0
  852. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-mentions-item/nile-rich-text-editor-mentions-item.js.map +1 -0
  853. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-preview/nile-rich-text-editor-preview.css.d.ts +12 -0
  854. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-preview/nile-rich-text-editor-preview.css.js +47 -0
  855. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-preview/nile-rich-text-editor-preview.css.js.map +1 -0
  856. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-preview/nile-rich-text-editor-preview.d.ts +7 -0
  857. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-preview/nile-rich-text-editor-preview.js +28 -0
  858. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-preview/nile-rich-text-editor-preview.js.map +1 -0
  859. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar/nile-rich-text-editor-toolbar.css.d.ts +6 -0
  860. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar/nile-rich-text-editor-toolbar.css.js +237 -0
  861. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar/nile-rich-text-editor-toolbar.css.js.map +1 -0
  862. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar/nile-rich-text-editor-toolbar.d.ts +5 -0
  863. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar/nile-rich-text-editor-toolbar.js +26 -0
  864. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar/nile-rich-text-editor-toolbar.js.map +1 -0
  865. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar-item/nile-rich-text-editor-toolbar-item.css.d.ts +6 -0
  866. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar-item/nile-rich-text-editor-toolbar-item.css.js +237 -0
  867. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar-item/nile-rich-text-editor-toolbar-item.css.js.map +1 -0
  868. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar-item/nile-rich-text-editor-toolbar-item.d.ts +8 -0
  869. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar-item/nile-rich-text-editor-toolbar-item.js +36 -0
  870. package/dist/src/nile-rich-text-editor/subcomponents/nile-rich-text-editor-toolbar-item/nile-rich-text-editor-toolbar-item.js.map +1 -0
  871. package/dist/src/nile-rich-text-editor/utils.d.ts +12 -0
  872. package/dist/src/nile-rich-text-editor/utils.js +234 -0
  873. package/dist/src/nile-rich-text-editor/utils.js.map +1 -0
  874. package/dist/src/nile-richcodeeditor/index.d.ts +1 -0
  875. package/dist/src/nile-richcodeeditor/index.js +2 -0
  876. package/dist/src/nile-richcodeeditor/index.js.map +1 -0
  877. package/dist/src/nile-richcodeeditor/nile-richcodeeditor.css.d.ts +12 -0
  878. package/dist/src/nile-richcodeeditor/nile-richcodeeditor.css.js +17 -0
  879. package/dist/src/nile-richcodeeditor/nile-richcodeeditor.css.js.map +1 -0
  880. package/dist/src/nile-richcodeeditor/nile-richcodeeditor.d.ts +31 -0
  881. package/dist/src/nile-richcodeeditor/nile-richcodeeditor.js +203 -0
  882. package/dist/src/nile-richcodeeditor/nile-richcodeeditor.js.map +1 -0
  883. package/dist/src/nile-richeditor/index.d.ts +1 -0
  884. package/dist/src/nile-richeditor/index.js +2 -0
  885. package/dist/src/nile-richeditor/index.js.map +1 -0
  886. package/dist/src/nile-richeditor/nile-richeditor.css.d.ts +12 -0
  887. package/dist/src/nile-richeditor/nile-richeditor.css.js +17 -0
  888. package/dist/src/nile-richeditor/nile-richeditor.css.js.map +1 -0
  889. package/dist/src/nile-richeditor/nile-richeditor.d.ts +19 -0
  890. package/dist/src/nile-richeditor/nile-richeditor.js +234 -0
  891. package/dist/src/nile-richeditor/nile-richeditor.js.map +1 -0
  892. package/dist/src/nile-richtexteditor/index.d.ts +1 -0
  893. package/dist/src/nile-richtexteditor/index.js +2 -0
  894. package/dist/src/nile-richtexteditor/index.js.map +1 -0
  895. package/dist/src/{nile-slider/nile-slider.css.d.ts → nile-richtexteditor/nile-richtexteditor.css.d.ts} +2 -2
  896. package/dist/src/nile-richtexteditor/nile-richtexteditor.css.js +237 -0
  897. package/dist/src/nile-richtexteditor/nile-richtexteditor.css.js.map +1 -0
  898. package/dist/src/nile-richtexteditor/nile-richtexteditor.d.ts +32 -0
  899. package/dist/src/nile-richtexteditor/nile-richtexteditor.js +46 -0
  900. package/dist/src/nile-richtexteditor/nile-richtexteditor.js.map +1 -0
  901. package/dist/src/nile-richtexteditor/utils/nile-mention.d.ts +13 -0
  902. package/dist/src/nile-richtexteditor/utils/nile-mention.js +47 -0
  903. package/dist/src/nile-richtexteditor/utils/nile-mention.js.map +1 -0
  904. package/dist/src/nile-select/nile-select.d.ts +3 -1
  905. package/dist/src/nile-select/nile-select.js +11 -0
  906. package/dist/src/nile-select/nile-select.js.map +1 -1
  907. package/dist/src/nile-tab/nile-tab.js +1 -1
  908. package/dist/src/nile-tab/nile-tab.js.map +1 -1
  909. package/dist/tsconfig.tsbuildinfo +1 -1
  910. package/package.json +7 -3
  911. package/rollup.config.js +27 -39
  912. package/src/index.ts +5 -3
  913. package/src/nile-chip/nile-chip.ts +1 -9
  914. package/src/nile-code-editor/nile-code-editor.ts +55 -6
  915. package/src/nile-code-editor/theme.ts +111 -0
  916. package/src/nile-empty-state/nile-empty-state.ts +11 -11
  917. package/src/nile-error-notification/nile-error-notification.ts +4 -3
  918. package/src/nile-icon/icons/svg/accessreview.ts +1 -1
  919. package/src/nile-icon/icons/svg/agent.ts +1 -1
  920. package/src/nile-icon/icons/svg/api.ts +1 -1
  921. package/src/nile-icon/icons/svg/apply-filter.ts +1 -1
  922. package/src/nile-icon/icons/svg/arrowdropdown.ts +1 -1
  923. package/src/nile-icon/icons/svg/arrowdropup.ts +1 -1
  924. package/src/nile-icon/icons/svg/attribute.ts +5 -0
  925. package/src/nile-icon/icons/svg/bold.ts +5 -0
  926. package/src/nile-icon/icons/svg/center-align.ts +5 -0
  927. package/src/nile-icon/icons/svg/class.ts +5 -0
  928. package/src/nile-icon/icons/svg/column-add.ts +5 -0
  929. package/src/nile-icon/icons/svg/database.ts +1 -1
  930. package/src/nile-icon/icons/svg/done.ts +1 -1
  931. package/src/nile-icon/icons/svg/dontmap.ts +1 -1
  932. package/src/nile-icon/icons/svg/doublearrowleft.ts +1 -1
  933. package/src/nile-icon/icons/svg/doublearrowright.ts +1 -1
  934. package/src/nile-icon/icons/svg/drag.ts +1 -1
  935. package/src/nile-icon/icons/svg/expand-06.ts +1 -1
  936. package/src/nile-icon/icons/svg/expand.ts +1 -1
  937. package/src/nile-icon/icons/svg/function.ts +5 -0
  938. package/src/nile-icon/icons/svg/index.ts +15 -0
  939. package/src/nile-icon/icons/svg/info.ts +1 -1
  940. package/src/nile-icon/icons/svg/integer.ts +1 -1
  941. package/src/nile-icon/icons/svg/itallic.ts +5 -0
  942. package/src/nile-icon/icons/svg/justify-align.ts +5 -0
  943. package/src/nile-icon/icons/svg/keyword.ts +5 -0
  944. package/src/nile-icon/icons/svg/left-align.ts +5 -0
  945. package/src/nile-icon/icons/svg/ol.ts +5 -0
  946. package/src/nile-icon/icons/svg/pluscircle.ts +1 -1
  947. package/src/nile-icon/icons/svg/question.ts +1 -1
  948. package/src/nile-icon/icons/svg/resource.ts +1 -1
  949. package/src/nile-icon/icons/svg/right-align.ts +5 -0
  950. package/src/nile-icon/icons/svg/savings.ts +5 -0
  951. package/src/nile-icon/icons/svg/sendescalation.ts +1 -1
  952. package/src/nile-icon/icons/svg/sendreminder.ts +1 -1
  953. package/src/nile-icon/icons/svg/timezone.ts +1 -1
  954. package/src/nile-icon/icons/svg/ul.ts +5 -0
  955. package/src/nile-icon/icons/svg/underline.ts +5 -0
  956. package/src/nile-icon/icons/svg/unmute.ts +1 -1
  957. package/src/nile-icon/icons/svg/upgrade.ts +1 -1
  958. package/src/nile-lightdomeditor/index.ts +1 -0
  959. package/src/nile-lightdomeditor/nile-lightdomeditor.css.ts +238 -0
  960. package/src/nile-lightdomeditor/nile-lightdomeditor.ts +523 -0
  961. package/src/nile-menu/nile-menu.css.ts +1 -1
  962. package/src/nile-option/nile-option.ts +9 -1
  963. package/src/nile-pagination/index.ts +1 -0
  964. package/src/nile-pagination/nile-pagination-utils.ts +63 -0
  965. package/src/nile-pagination/nile-pagination.css.ts +252 -0
  966. package/src/nile-pagination/nile-pagination.ts +361 -0
  967. package/src/nile-popup/nile-popup.ts +20 -3
  968. package/src/nile-rich-text-editor/index.ts +1 -0
  969. package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +21 -0
  970. package/src/nile-rich-text-editor/nile-rich-text-editor.ts +606 -0
  971. package/src/nile-rich-text-editor/nile-rte-color.ts +14 -0
  972. package/src/nile-rich-text-editor/nile-rte-divider.ts +9 -0
  973. package/src/nile-rich-text-editor/nile-rte-mentions-item.ts +37 -0
  974. package/src/nile-rich-text-editor/nile-rte-mentions.ts +426 -0
  975. package/src/nile-rich-text-editor/nile-rte-preview.ts +9 -0
  976. package/src/nile-rich-text-editor/nile-rte-select.ts +147 -0
  977. package/src/nile-rich-text-editor/nile-rte-toolbar-item.ts +13 -0
  978. package/src/nile-rich-text-editor/nile-rte-toolbar.ts +9 -0
  979. package/src/nile-rich-text-editor/utils.ts +179 -0
  980. package/src/nile-richcodeeditor/index.ts +1 -0
  981. package/src/nile-richcodeeditor/nile-richcodeeditor.css.ts +19 -0
  982. package/src/nile-richcodeeditor/nile-richcodeeditor.ts +192 -0
  983. package/src/nile-select/nile-select.ts +14 -1
  984. package/src/nile-tab/nile-tab.ts +1 -1
  985. package/vscode-html-custom-data.json +191 -145
  986. package/demo/filenames.txt +0 -1
  987. package/demo/filenames.txt +0 -1
  988. package/dist/aquera-nile-elements-0.1.57-beta-2.0.tgz +0 -0
  989. package/dist/fixture-cb376a7f.cjs.js.map +0 -1
  990. package/dist/nile-slider/index.cjs.js +0 -2
  991. package/dist/nile-slider/index.esm.js +0 -1
  992. package/dist/nile-slider/nile-slider.cjs.js +0 -2
  993. package/dist/nile-slider/nile-slider.cjs.js.map +0 -1
  994. package/dist/nile-slider/nile-slider.css.cjs.js +0 -2
  995. package/dist/nile-slider/nile-slider.css.cjs.js.map +0 -1
  996. package/dist/nile-slider/nile-slider.css.esm.js +0 -106
  997. package/dist/nile-slider/nile-slider.esm.js +0 -27
  998. package/dist/nile-slider/nile-slider.template.cjs.js +0 -2
  999. package/dist/nile-slider/nile-slider.template.cjs.js.map +0 -1
  1000. package/dist/nile-slider/nile-slider.template.esm.js +0 -59
  1001. package/dist/nile-slider/types/nile-slider.enums.cjs.js +0 -2
  1002. package/dist/nile-slider/types/nile-slider.enums.cjs.js.map +0 -1
  1003. package/dist/nile-slider/types/nile-slider.enums.esm.js +0 -1
  1004. package/dist/nile-slider/types/nile-slider.types.cjs.js +0 -2
  1005. package/dist/nile-slider/types/nile-slider.types.cjs.js.map +0 -1
  1006. package/dist/nile-slider/types/nile-slider.types.esm.js +0 -1
  1007. package/dist/nile-slider/utils/nile-slider.utils.cjs.js +0 -2
  1008. package/dist/nile-slider/utils/nile-slider.utils.cjs.js.map +0 -1
  1009. package/dist/nile-slider/utils/nile-slider.utils.esm.js +0 -1
  1010. package/dist/src/internal/resizable-table-helper.d.ts +0 -59
  1011. package/dist/src/internal/resizable-table-helper.js +0 -111
  1012. package/dist/src/internal/resizable-table-helper.js.map +0 -1
  1013. package/dist/src/internal/resizable-table-styles.d.ts +0 -16
  1014. package/dist/src/internal/resizable-table-styles.js +0 -149
  1015. package/dist/src/internal/resizable-table-styles.js.map +0 -1
  1016. package/dist/src/nile-icon/icons/svg/ng-building-01.d.ts +0 -5
  1017. package/dist/src/nile-icon/icons/svg/ng-building-01.js +0 -5
  1018. package/dist/src/nile-icon/icons/svg/ng-building-01.js.map +0 -1
  1019. package/dist/src/nile-icon/icons/svg/ng-building-05.d.ts +0 -5
  1020. package/dist/src/nile-icon/icons/svg/ng-building-05.js +0 -5
  1021. package/dist/src/nile-icon/icons/svg/ng-building-05.js.map +0 -1
  1022. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.d.ts +0 -5
  1023. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.js +0 -5
  1024. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.js.map +0 -1
  1025. package/dist/src/nile-icon/icons/svg/ng-eye-off.d.ts +0 -5
  1026. package/dist/src/nile-icon/icons/svg/ng-eye-off.js +0 -5
  1027. package/dist/src/nile-icon/icons/svg/ng-eye-off.js.map +0 -1
  1028. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.d.ts +0 -5
  1029. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.js +0 -5
  1030. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.js.map +0 -1
  1031. package/dist/src/nile-select/virtual-scroll-helper.d.ts +0 -9
  1032. package/dist/src/nile-select/virtual-scroll-helper.js +0 -51
  1033. package/dist/src/nile-select/virtual-scroll-helper.js.map +0 -1
  1034. package/dist/src/nile-slider/index.d.ts +0 -1
  1035. package/dist/src/nile-slider/index.js +0 -2
  1036. package/dist/src/nile-slider/index.js.map +0 -1
  1037. package/dist/src/nile-slider/nile-slider.css.js +0 -118
  1038. package/dist/src/nile-slider/nile-slider.css.js.map +0 -1
  1039. package/dist/src/nile-slider/nile-slider.d.ts +0 -48
  1040. package/dist/src/nile-slider/nile-slider.js +0 -217
  1041. package/dist/src/nile-slider/nile-slider.js.map +0 -1
  1042. package/dist/src/nile-slider/nile-slider.template.d.ts +0 -5
  1043. package/dist/src/nile-slider/nile-slider.template.js +0 -73
  1044. package/dist/src/nile-slider/nile-slider.template.js.map +0 -1
  1045. package/dist/src/nile-slider/types/nile-slider.enums.d.ts +0 -10
  1046. package/dist/src/nile-slider/types/nile-slider.enums.js +0 -2
  1047. package/dist/src/nile-slider/types/nile-slider.enums.js.map +0 -1
  1048. package/dist/src/nile-slider/types/nile-slider.types.d.ts +0 -1
  1049. package/dist/src/nile-slider/types/nile-slider.types.js +0 -2
  1050. package/dist/src/nile-slider/types/nile-slider.types.js.map +0 -1
  1051. package/dist/src/nile-slider/utils/nile-slider.utils.d.ts +0 -11
  1052. package/dist/src/nile-slider/utils/nile-slider.utils.js +0 -99
  1053. package/dist/src/nile-slider/utils/nile-slider.utils.js.map +0 -1
  1054. package/dist/src/nile-virtual-select/index.d.ts +0 -1
  1055. package/dist/src/nile-virtual-select/index.js +0 -2
  1056. package/dist/src/nile-virtual-select/index.js.map +0 -1
  1057. package/dist/src/nile-virtual-select/nile-virtual-select.css.d.ts +0 -12
  1058. package/dist/src/nile-virtual-select/nile-virtual-select.css.js +0 -489
  1059. package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +0 -1
  1060. package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +0 -266
  1061. package/dist/src/nile-virtual-select/nile-virtual-select.js +0 -1226
  1062. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +0 -1
  1063. package/dist/src/nile-virtual-select/nile-virtual-select.test.d.ts +0 -7
  1064. package/dist/src/nile-virtual-select/nile-virtual-select.test.js +0 -631
  1065. package/dist/src/nile-virtual-select/nile-virtual-select.test.js.map +0 -1
  1066. package/dist/src/nile-virtual-select/renderer.d.ts +0 -16
  1067. package/dist/src/nile-virtual-select/renderer.js +0 -71
  1068. package/dist/src/nile-virtual-select/renderer.js.map +0 -1
  1069. package/dist/src/nile-virtual-select/search-manager.d.ts +0 -12
  1070. package/dist/src/nile-virtual-select/search-manager.js +0 -40
  1071. package/dist/src/nile-virtual-select/search-manager.js.map +0 -1
  1072. package/dist/src/nile-virtual-select/selection-manager.d.ts +0 -12
  1073. package/dist/src/nile-virtual-select/selection-manager.js +0 -64
  1074. package/dist/src/nile-virtual-select/selection-manager.js.map +0 -1
  1075. package/dist/src/nile-virtual-select/types.d.ts +0 -50
  1076. package/dist/src/nile-virtual-select/types.js +0 -8
  1077. package/dist/src/nile-virtual-select/types.js.map +0 -1
  1078. package/src/nile-file-preview/index.ts +0 -1
  1079. package/src/nile-file-preview/nile-file-preview.css.ts +0 -629
  1080. package/src/nile-file-preview/nile-file-preview.template.ts +0 -259
  1081. package/src/nile-file-preview/nile-file-preview.test.ts +0 -38
  1082. package/src/nile-file-preview/nile-file-preview.ts +0 -176
  1083. package/src/nile-file-preview/types/index.ts +0 -2
  1084. package/src/nile-file-preview/types/nile-file-preview.enums.ts +0 -31
  1085. package/src/nile-file-preview/types/nile-file-preview.interface.ts +0 -4
  1086. package/src/nile-file-preview/utils/index.ts +0 -1
  1087. package/src/nile-file-preview/utils/nile-file-preview.util.ts +0 -72
  1088. package/src/nile-file-upload/index.ts +0 -1
  1089. package/src/nile-file-upload/nile-file-upload.css.ts +0 -624
  1090. package/src/nile-file-upload/nile-file-upload.template.ts +0 -192
  1091. package/src/nile-file-upload/nile-file-upload.test.ts +0 -38
  1092. package/src/nile-file-upload/nile-file-upload.ts +0 -157
  1093. package/src/nile-file-upload/types/file-upload.enums.ts +0 -44
  1094. package/src/nile-file-upload/types/file-upload.type.ts +0 -5
  1095. package/src/nile-file-upload/types/index.ts +0 -2
  1096. package/src/nile-file-upload/utils/drag-drop.util.ts +0 -106
  1097. package/src/nile-file-upload/utils/file-validation.util.ts +0 -218
  1098. /package/dist/{nile-slider → nile-lightdomeditor}/index.cjs.js.map +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-mention.js","sourceRoot":"","sources":["../../../../src/nile-richtexteditor/utils/nile-mention.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAS3B,IAAI,UAAU,GAAiB,IAAI,CAAC;AAEpC,MAAM,UAAU,aAAa,CAAC,MAAmB;IAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IAClC,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QAC1B,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IAC9C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IAClC,GAAG,EAAE,eAAe,EAAE,CAAC;IACvB,IAAI,UAAU;QAAE,GAAG,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,MAAmB,EACnB,OAAe;IAEf,IAAI,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IAC7B,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,EAAE,CAAC;IAC3C,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,cAAc,EAAE,CAAC;IAC1C,IAAI,CAAC,KAAK,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC/B,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAE3B,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAgB,CAAC;IACrE,MAAM,UAAU,GAAG,SAAS;QAC1B,CAAC,CAAC,SAAS,CAAC,qBAAqB,EAAE;QACnC,CAAC,CAAC,MAAM,CAAC,qBAAqB,EAAE,CAAC;IAEnC,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC;IACtE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,WAA0B,EAC1B,KAAa;IAEb,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAC/B,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CACvC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAmB,EACnB,OAAe;IAEf,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IAClC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE,CAAC;IAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["// src/utils/mention-utils.ts\n\nexport interface MentionItem {\n key: string;\n label: string;\n }\n \n export type MentionsConfig = Record<string, MentionItem[]>;\n \n let _lastRange: Range | null = null;\n \n export function saveSelection(editor: HTMLElement) {\n const sel = window.getSelection();\n if (sel && sel.rangeCount) {\n _lastRange = sel.getRangeAt(0).cloneRange();\n }\n }\n \n export function restoreSelection() {\n const sel = window.getSelection();\n sel?.removeAllRanges();\n if (_lastRange) sel?.addRange(_lastRange);\n }\n \n export function computeDropdownPosition(\n editor: HTMLElement,\n trigger: string\n ): { x: number; y: number } | null {\n if (!_lastRange) return null;\n const caretRange = _lastRange.cloneRange();\n caretRange.collapse(false);\n const rects = caretRange.getClientRects();\n if (!rects.length) return null;\n const caretRect = rects[0];\n \n const container = editor.closest('.editor-container') as HTMLElement;\n const anchorRect = container\n ? container.getBoundingClientRect()\n : editor.getBoundingClientRect();\n \n const x = caretRect.left - anchorRect.left + (editor.scrollLeft || 0);\n const y = caretRect.bottom - anchorRect.top + (editor.scrollTop || 0);\n return { x, y };\n }\n \n export function filterSuggestions(\n suggestions: MentionItem[],\n query: string\n ): MentionItem[] {\n const q = query.trim().toLowerCase();\n return suggestions.filter(item =>\n item.label.toLowerCase().startsWith(q)\n );\n }\n \n export function extractCurrentQuery(\n editor: HTMLElement,\n trigger: string\n ): string | null {\n const sel = window.getSelection();\n if (!sel || !sel.anchorNode) return null;\n const text = sel.anchorNode.textContent || '';\n const idx = text.lastIndexOf(trigger);\n if (idx >= 0) {\n return text.substring(idx + 1);\n }\n return null;\n }\n "]}
@@ -8,7 +8,7 @@ import '../nile-icon';
8
8
  import '../nile-popup/nile-popup';
9
9
  import '../nile-tag/nile-tag';
10
10
  import NileElement from '../internal/nile-element';
11
- import type { CSSResultGroup } from 'lit';
11
+ import type { CSSResultGroup, PropertyValues } from 'lit';
12
12
  import type { NileFormControl } from '../internal/nile-element';
13
13
  import type NileOption from '../nile-option/nile-option';
14
14
  import type NilePopup from '../nile-popup/nile-popup';
@@ -157,6 +157,8 @@ export declare class NileSelect extends NileElement implements NileFormControl {
157
157
  get validationMessage(): string;
158
158
  connectedCallback(): void;
159
159
  disconnectedCallback(): void;
160
+ protected updated(_changedProperties: PropertyValues): void;
161
+ setCheckBoxInOption(checked: boolean): void;
160
162
  private addOpenListeners;
161
163
  private removeOpenListeners;
162
164
  private handleFocus;
@@ -182,6 +182,17 @@ let NileSelect = class NileSelect extends NileElement {
182
182
  super.disconnectedCallback();
183
183
  this.emit('nile-destroy');
184
184
  }
185
+ updated(_changedProperties) {
186
+ if (_changedProperties.has('multiple')) {
187
+ this.setCheckBoxInOption(this.multiple);
188
+ }
189
+ }
190
+ setCheckBoxInOption(checked) {
191
+ const options = this.getAllOptions();
192
+ options.forEach((option) => {
193
+ option.showCheckbox = checked;
194
+ });
195
+ }
185
196
  addOpenListeners() {
186
197
  document.addEventListener('focusin', this.handleDocumentFocusIn);
187
198
  document.addEventListener('keydown', this.handleDocumentKeyDown);
@@ -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 } 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 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 { 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"]}
@@ -91,7 +91,7 @@ let NileTab = class NileTab extends NileElement {
91
91
  <nile-icon-button
92
92
  part="close-button"
93
93
  exportparts="base:close-button__base"
94
- name="x-lg"
94
+ name="close"
95
95
  library="system"
96
96
  label="close"
97
97
  class="tab__close-button"
@@ -1 +1 @@
1
- {"version":3,"file":"nile-tab.js","sourceRoot":"","sources":["../../../src/nile-tab/nile-tab.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 {LitElement, html, CSSResultArray, TemplateResult} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport {styles} from './nile-tab.css';\n\nimport '../nile-icon-button/nile-icon-button';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query } from 'lit/decorators.js';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValueMap } from 'lit';\n\nlet id = 0;\n\n/**\n * Nile icon component.\n *\n * @tag nile-tab\n *\n *\n * @dependency nile-icon-button\n *\n * @slot - The tab's label.\n *\n * @event nile-close - Emitted when the tab is closable and the close button is activated.\n *\n * @csspart base - The component's base wrapper.\n * @csspart close-button - The close button, an `<nile-icon-button>`.\n * @csspart close-button__base - The close button's exported `base` part.\n */\n@customElement('nile-tab')\nexport class NileTab extends NileElement {\n static styles: CSSResultGroup = styles;\n\n private readonly attrId = ++id;\n private readonly componentId = `nile-tab-${this.attrId}`;\n\n @query('.tab') tab: HTMLElement;\n\n /** The name of the tab panel this tab is associated with. The panel must be located in the same tab group. */\n @property({ reflect: true }) panel = '';\n\n /** Draws the tab in an active state. */\n @property({ type: Boolean, reflect: true }) active = false;\n\n /** Makes the tab closable and shows a close button. */\n @property({ type: Boolean }) closable = false;\n\n /** Disables the tab and prevents selection. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @property({ type: Boolean, reflect: true }) centered = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'tab');\n }\n\n private handleCloseClick(event: Event) {\n event.stopPropagation();\n this.emit('nile-close');\n }\n\n @watch('active')\n handleActiveChange() {\n if(this.active) this.emit('nile-toggle-change',{ value: this.panel })\n this.setAttribute('aria-selected', this.active ? 'true' : 'false');\n }\n\n @watch('disabled')\n handleDisabledChange() {\n this.setAttribute('aria-disabled', this.disabled ? 'true' : 'false');\n }\n\n /** Sets focus to the tab. */\n focus(options?: FocusOptions) {\n this.tab.focus(options);\n }\n\n /** Removes focus from the tab. */\n blur() {\n this.tab.blur();\n }\n\n render() {\n // If the user didn't provide an ID, we'll set one so we can link tabs and tab panels with aria labels\n this.id = this.id.length > 0 ? this.id : this.componentId;\n\n return html`\n <div\n part=\"base\"\n class=${classMap({\n tab: true,\n 'tab--centered': this.centered,\n 'tab--active': this.active,\n 'tab--closable': this.closable,\n 'tab--disabled': this.disabled\n })}\n tabindex=${this.disabled ? '-1' : '0'}\n >\n <slot name=\"prefix\"></slot>\n <slot></slot>\n ${this.closable\n ? html`\n <nile-icon-button\n part=\"close-button\"\n exportparts=\"base:close-button__base\"\n name=\"x-lg\"\n library=\"system\"\n label=\"close\"\n class=\"tab__close-button\"\n @click=${this.handleCloseClick}\n tabindex=\"-1\"\n ></nile-icon-button>\n `\n : ''}\n </div>\n `;\n }\n}\n\nexport default NileTab;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-tab': NileTab;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-tab.js","sourceRoot":"","sources":["../../../src/nile-tab/nile-tab.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 {LitElement, html, CSSResultArray, TemplateResult} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport {styles} from './nile-tab.css';\n\nimport '../nile-icon-button/nile-icon-button';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query } from 'lit/decorators.js';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValueMap } from 'lit';\n\nlet id = 0;\n\n/**\n * Nile icon component.\n *\n * @tag nile-tab\n *\n *\n * @dependency nile-icon-button\n *\n * @slot - The tab's label.\n *\n * @event nile-close - Emitted when the tab is closable and the close button is activated.\n *\n * @csspart base - The component's base wrapper.\n * @csspart close-button - The close button, an `<nile-icon-button>`.\n * @csspart close-button__base - The close button's exported `base` part.\n */\n@customElement('nile-tab')\nexport class NileTab extends NileElement {\n static styles: CSSResultGroup = styles;\n\n private readonly attrId = ++id;\n private readonly componentId = `nile-tab-${this.attrId}`;\n\n @query('.tab') tab: HTMLElement;\n\n /** The name of the tab panel this tab is associated with. The panel must be located in the same tab group. */\n @property({ reflect: true }) panel = '';\n\n /** Draws the tab in an active state. */\n @property({ type: Boolean, reflect: true }) active = false;\n\n /** Makes the tab closable and shows a close button. */\n @property({ type: Boolean }) closable = false;\n\n /** Disables the tab and prevents selection. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @property({ type: Boolean, reflect: true }) centered = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'tab');\n }\n\n private handleCloseClick(event: Event) {\n event.stopPropagation();\n this.emit('nile-close');\n }\n\n @watch('active')\n handleActiveChange() {\n if(this.active) this.emit('nile-toggle-change',{ value: this.panel })\n this.setAttribute('aria-selected', this.active ? 'true' : 'false');\n }\n\n @watch('disabled')\n handleDisabledChange() {\n this.setAttribute('aria-disabled', this.disabled ? 'true' : 'false');\n }\n\n /** Sets focus to the tab. */\n focus(options?: FocusOptions) {\n this.tab.focus(options);\n }\n\n /** Removes focus from the tab. */\n blur() {\n this.tab.blur();\n }\n\n render() {\n // If the user didn't provide an ID, we'll set one so we can link tabs and tab panels with aria labels\n this.id = this.id.length > 0 ? this.id : this.componentId;\n\n return html`\n <div\n part=\"base\"\n class=${classMap({\n tab: true,\n 'tab--centered': this.centered,\n 'tab--active': this.active,\n 'tab--closable': this.closable,\n 'tab--disabled': this.disabled\n })}\n tabindex=${this.disabled ? '-1' : '0'}\n >\n <slot name=\"prefix\"></slot>\n <slot></slot>\n ${this.closable\n ? html`\n <nile-icon-button\n part=\"close-button\"\n exportparts=\"base:close-button__base\"\n name=\"close\"\n library=\"system\"\n label=\"close\"\n class=\"tab__close-button\"\n @click=${this.handleCloseClick}\n tabindex=\"-1\"\n ></nile-icon-button>\n `\n : ''}\n </div>\n `;\n }\n}\n\nexport default NileTab;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-tab': NileTab;\n }\n}\n"]}