@aquera/nile-elements 0.0.66 → 0.0.68

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 (801) hide show
  1. package/README.md +19 -0
  2. package/demo/filenames.txt +1 -1
  3. package/demo/index.html +2 -1
  4. package/demo/variables.css +59 -3
  5. package/demo/variables_v2.css +24 -3
  6. package/dist/{index-cd2f9c12.esm.js → index-0a3007c5.esm.js} +1 -1
  7. package/dist/{index-7e13aee2.cjs.js → index-c7ad3b47.cjs.js} +2 -2
  8. package/dist/{index-7e13aee2.cjs.js.map → index-c7ad3b47.cjs.js.map} +1 -1
  9. package/dist/index.cjs.js +1 -1
  10. package/dist/index.esm.js +1 -1
  11. package/dist/index.iife.js +680 -284
  12. package/dist/nile-auto-complete/index.cjs.js +1 -1
  13. package/dist/nile-auto-complete/index.esm.js +1 -1
  14. package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
  15. package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js +1 -1
  16. package/dist/nile-auto-complete/nile-auto-complete.css.esm.js +1 -1
  17. package/dist/nile-auto-complete/nile-auto-complete.esm.js +1 -1
  18. package/dist/nile-avatar/index.cjs.js +1 -1
  19. package/dist/nile-avatar/index.esm.js +1 -1
  20. package/dist/nile-avatar/nile-avatar.cjs.js +1 -1
  21. package/dist/nile-avatar/nile-avatar.css.cjs.js +1 -1
  22. package/dist/nile-avatar/nile-avatar.css.esm.js +1 -1
  23. package/dist/nile-avatar/nile-avatar.esm.js +1 -1
  24. package/dist/nile-badge/index.cjs.js +1 -1
  25. package/dist/nile-badge/index.esm.js +1 -1
  26. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  27. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  28. package/dist/nile-badge/nile-badge.css.cjs.js +1 -1
  29. package/dist/nile-badge/nile-badge.css.esm.js +1 -1
  30. package/dist/nile-badge/nile-badge.esm.js +1 -1
  31. package/dist/nile-breadcrumb/index.cjs.js +1 -1
  32. package/dist/nile-breadcrumb/index.esm.js +1 -1
  33. package/dist/nile-breadcrumb/nile-breadcrumb.cjs.js +1 -1
  34. package/dist/nile-breadcrumb/nile-breadcrumb.css.cjs.js +1 -1
  35. package/dist/nile-breadcrumb/nile-breadcrumb.css.esm.js +1 -1
  36. package/dist/nile-breadcrumb/nile-breadcrumb.esm.js +1 -1
  37. package/dist/nile-breadcrumb-item/index.cjs.js +1 -1
  38. package/dist/nile-breadcrumb-item/index.esm.js +1 -1
  39. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.cjs.js +1 -1
  40. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.cjs.js +1 -1
  41. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.esm.js +1 -1
  42. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.esm.js +1 -1
  43. package/dist/nile-button/index.cjs.js +1 -1
  44. package/dist/nile-button/index.esm.js +1 -1
  45. package/dist/nile-button/nile-button.cjs.js +1 -1
  46. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  47. package/dist/nile-button/nile-button.css.cjs.js +1 -1
  48. package/dist/nile-button/nile-button.css.esm.js +1 -1
  49. package/dist/nile-button/nile-button.esm.js +2 -2
  50. package/dist/nile-button-filter/index.cjs.js +1 -1
  51. package/dist/nile-button-filter/index.esm.js +1 -1
  52. package/dist/nile-button-filter/nile-button-filter.cjs.js +1 -1
  53. package/dist/nile-button-filter/nile-button-filter.css.cjs.js +1 -1
  54. package/dist/nile-button-filter/nile-button-filter.css.esm.js +1 -1
  55. package/dist/nile-button-filter/nile-button-filter.esm.js +1 -1
  56. package/dist/nile-button-toggle/index.cjs.js +1 -1
  57. package/dist/nile-button-toggle/index.esm.js +1 -1
  58. package/dist/nile-button-toggle/nile-button-toggle.cjs.js +1 -1
  59. package/dist/nile-button-toggle/nile-button-toggle.css.cjs.js +1 -1
  60. package/dist/nile-button-toggle/nile-button-toggle.css.esm.js +1 -1
  61. package/dist/nile-button-toggle/nile-button-toggle.esm.js +1 -1
  62. package/dist/nile-button-toggle-group/index.cjs.js +1 -1
  63. package/dist/nile-button-toggle-group/index.esm.js +1 -1
  64. package/dist/nile-button-toggle-group/nile-button-toggle-group.cjs.js +1 -1
  65. package/dist/nile-button-toggle-group/nile-button-toggle-group.css.cjs.js +1 -1
  66. package/dist/nile-button-toggle-group/nile-button-toggle-group.css.esm.js +1 -1
  67. package/dist/nile-button-toggle-group/nile-button-toggle-group.esm.js +1 -1
  68. package/dist/nile-calendar/index.cjs.js +1 -1
  69. package/dist/nile-calendar/index.esm.js +1 -1
  70. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  71. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  72. package/dist/nile-calendar/nile-calendar.css.esm.js +1 -1
  73. package/dist/nile-calendar/nile-calendar.esm.js +1 -1
  74. package/dist/nile-card/index.cjs.js +1 -1
  75. package/dist/nile-card/index.esm.js +1 -1
  76. package/dist/nile-card/nile-card.cjs.js +1 -1
  77. package/dist/nile-card/nile-card.css.cjs.js +1 -1
  78. package/dist/nile-card/nile-card.css.esm.js +1 -1
  79. package/dist/nile-card/nile-card.esm.js +1 -1
  80. package/dist/nile-checkbox/index.cjs.js +1 -1
  81. package/dist/nile-checkbox/index.esm.js +1 -1
  82. package/dist/nile-checkbox/nile-checkbox.cjs.js +1 -1
  83. package/dist/nile-checkbox/nile-checkbox.cjs.js.map +1 -1
  84. package/dist/nile-checkbox/nile-checkbox.css.cjs.js +1 -1
  85. package/dist/nile-checkbox/nile-checkbox.css.esm.js +1 -1
  86. package/dist/nile-checkbox/nile-checkbox.esm.js +2 -2
  87. package/dist/nile-chip/index.cjs.js +1 -1
  88. package/dist/nile-chip/index.esm.js +1 -1
  89. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  90. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  91. package/dist/nile-chip/nile-chip.css.cjs.js +1 -1
  92. package/dist/nile-chip/nile-chip.css.esm.js +1 -1
  93. package/dist/nile-chip/nile-chip.esm.js +2 -2
  94. package/dist/nile-circular-progressbar/index.cjs.js +1 -1
  95. package/dist/nile-circular-progressbar/index.esm.js +1 -1
  96. package/dist/nile-circular-progressbar/nile-circular-progressbar.cjs.js +1 -1
  97. package/dist/nile-circular-progressbar/nile-circular-progressbar.css.cjs.js +1 -1
  98. package/dist/nile-circular-progressbar/nile-circular-progressbar.css.esm.js +1 -1
  99. package/dist/nile-circular-progressbar/nile-circular-progressbar.esm.js +1 -1
  100. package/dist/nile-code-editor/index.cjs.js +1 -1
  101. package/dist/nile-code-editor/index.esm.js +1 -1
  102. package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
  103. package/dist/nile-code-editor/nile-code-editor.css.cjs.js +1 -1
  104. package/dist/nile-code-editor/nile-code-editor.css.esm.js +1 -1
  105. package/dist/nile-code-editor/nile-code-editor.esm.js +1 -1
  106. package/dist/nile-content-editor/index.cjs.js +1 -1
  107. package/dist/nile-content-editor/index.esm.js +1 -1
  108. package/dist/nile-content-editor/nile-content-editor.cjs.js +1 -1
  109. package/dist/nile-content-editor/nile-content-editor.css.cjs.js +1 -1
  110. package/dist/nile-content-editor/nile-content-editor.css.esm.js +1 -1
  111. package/dist/nile-content-editor/nile-content-editor.esm.js +1 -1
  112. package/dist/nile-date-picker/index.cjs.js +1 -1
  113. package/dist/nile-date-picker/index.esm.js +1 -1
  114. package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
  115. package/dist/nile-date-picker/nile-date-picker.css.cjs.js +1 -1
  116. package/dist/nile-date-picker/nile-date-picker.css.esm.js +1 -1
  117. package/dist/nile-date-picker/nile-date-picker.esm.js +1 -1
  118. package/dist/nile-dialog/index.cjs.js +1 -1
  119. package/dist/nile-dialog/index.esm.js +1 -1
  120. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  121. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  122. package/dist/nile-dialog/nile-dialog.css.cjs.js +1 -1
  123. package/dist/nile-dialog/nile-dialog.css.esm.js +1 -1
  124. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  125. package/dist/nile-drawer/index.cjs.js +1 -1
  126. package/dist/nile-drawer/index.esm.js +1 -1
  127. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  128. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  129. package/dist/nile-drawer/nile-drawer.css.cjs.js +1 -1
  130. package/dist/nile-drawer/nile-drawer.css.esm.js +1 -1
  131. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  132. package/dist/nile-dropdown/index.cjs.js +1 -1
  133. package/dist/nile-dropdown/index.esm.js +1 -1
  134. package/dist/nile-dropdown/nile-dropdown.cjs.js +1 -1
  135. package/dist/nile-dropdown/nile-dropdown.css.cjs.js +1 -1
  136. package/dist/nile-dropdown/nile-dropdown.css.esm.js +1 -1
  137. package/dist/nile-dropdown/nile-dropdown.esm.js +1 -1
  138. package/dist/nile-empty-state/index.cjs.js +2 -0
  139. package/dist/nile-empty-state/index.cjs.js.map +1 -0
  140. package/dist/nile-empty-state/index.esm.js +1 -0
  141. package/dist/nile-empty-state/nile-empty-state.cjs.js +2 -0
  142. package/dist/nile-empty-state/nile-empty-state.cjs.js.map +1 -0
  143. package/dist/nile-empty-state/nile-empty-state.css.cjs.js +2 -0
  144. package/dist/nile-empty-state/nile-empty-state.css.cjs.js.map +1 -0
  145. package/dist/nile-empty-state/nile-empty-state.css.esm.js +117 -0
  146. package/dist/nile-empty-state/nile-empty-state.esm.js +32 -0
  147. package/dist/nile-error-message/index.cjs.js +1 -1
  148. package/dist/nile-error-message/index.esm.js +1 -1
  149. package/dist/nile-error-message/nile-error-message.cjs.js +1 -1
  150. package/dist/nile-error-message/nile-error-message.css.cjs.js +1 -1
  151. package/dist/nile-error-message/nile-error-message.css.esm.js +1 -1
  152. package/dist/nile-error-message/nile-error-message.esm.js +1 -1
  153. package/dist/nile-error-notification/index.cjs.js +1 -1
  154. package/dist/nile-error-notification/index.esm.js +1 -1
  155. package/dist/nile-error-notification/nile-error-notification.cjs.js +1 -1
  156. package/dist/nile-error-notification/nile-error-notification.cjs.js.map +1 -1
  157. package/dist/nile-error-notification/nile-error-notification.css.cjs.js +1 -1
  158. package/dist/nile-error-notification/nile-error-notification.css.esm.js +1 -1
  159. package/dist/nile-error-notification/nile-error-notification.esm.js +2 -2
  160. package/dist/nile-footer/index.cjs.js +1 -1
  161. package/dist/nile-footer/index.esm.js +1 -1
  162. package/dist/nile-footer/nile-footer.css.cjs.js +1 -1
  163. package/dist/nile-footer/nile-footer.css.esm.js +1 -1
  164. package/dist/nile-form-error-message/index.cjs.js +1 -1
  165. package/dist/nile-form-error-message/index.esm.js +1 -1
  166. package/dist/nile-form-error-message/nile-form-error-message.cjs.js +1 -1
  167. package/dist/nile-form-error-message/nile-form-error-message.css.cjs.js +1 -1
  168. package/dist/nile-form-error-message/nile-form-error-message.css.esm.js +1 -1
  169. package/dist/nile-form-error-message/nile-form-error-message.esm.js +1 -1
  170. package/dist/nile-form-group/index.cjs.js +1 -1
  171. package/dist/nile-form-group/index.esm.js +1 -1
  172. package/dist/nile-form-group/nile-form-group.cjs.js +1 -1
  173. package/dist/nile-form-group/nile-form-group.css.cjs.js +1 -1
  174. package/dist/nile-form-group/nile-form-group.css.esm.js +1 -1
  175. package/dist/nile-form-group/nile-form-group.esm.js +1 -1
  176. package/dist/nile-form-help-text/index.cjs.js +1 -1
  177. package/dist/nile-form-help-text/index.esm.js +1 -1
  178. package/dist/nile-form-help-text/nile-form-help-text.cjs.js +1 -1
  179. package/dist/nile-form-help-text/nile-form-help-text.cjs.js.map +1 -1
  180. package/dist/nile-form-help-text/nile-form-help-text.css.cjs.js +1 -1
  181. package/dist/nile-form-help-text/nile-form-help-text.css.cjs.js.map +1 -1
  182. package/dist/nile-form-help-text/nile-form-help-text.css.esm.js +1 -2
  183. package/dist/nile-form-help-text/nile-form-help-text.esm.js +2 -2
  184. package/dist/nile-hero/index.cjs.js +2 -0
  185. package/dist/nile-hero/index.cjs.js.map +1 -0
  186. package/dist/nile-hero/index.esm.js +1 -0
  187. package/dist/nile-hero/nile-hero.cjs.js +2 -0
  188. package/dist/nile-hero/nile-hero.cjs.js.map +1 -0
  189. package/dist/nile-hero/nile-hero.css.cjs.js +2 -0
  190. package/dist/nile-hero/nile-hero.css.cjs.js.map +1 -0
  191. package/dist/nile-hero/nile-hero.css.esm.js +57 -0
  192. package/dist/nile-hero/nile-hero.esm.js +16 -0
  193. package/dist/nile-icon/icons/svg/alert-circle.cjs.js +2 -0
  194. package/dist/nile-icon/icons/svg/alert-circle.cjs.js.map +1 -0
  195. package/dist/nile-icon/icons/svg/alert-circle.esm.js +1 -0
  196. package/dist/nile-icon/icons/svg/arrow-narrow-left.cjs.js +2 -0
  197. package/dist/nile-icon/icons/svg/arrow-narrow-left.cjs.js.map +1 -0
  198. package/dist/nile-icon/icons/svg/arrow-narrow-left.esm.js +1 -0
  199. package/dist/nile-icon/icons/svg/book-closed.cjs.js +2 -0
  200. package/dist/nile-icon/icons/svg/book-closed.cjs.js.map +1 -0
  201. package/dist/nile-icon/icons/svg/book-closed.esm.js +1 -0
  202. package/dist/nile-icon/icons/svg/box.cjs.js +2 -0
  203. package/dist/nile-icon/icons/svg/box.cjs.js.map +1 -0
  204. package/dist/nile-icon/icons/svg/box.esm.js +1 -0
  205. package/dist/nile-icon/icons/svg/check.cjs.js +2 -0
  206. package/dist/nile-icon/icons/svg/check.cjs.js.map +1 -0
  207. package/dist/nile-icon/icons/svg/check.esm.js +1 -0
  208. package/dist/nile-icon/icons/svg/chevron-left-double.cjs.js +2 -0
  209. package/dist/nile-icon/icons/svg/chevron-left-double.cjs.js.map +1 -0
  210. package/dist/nile-icon/icons/svg/chevron-left-double.esm.js +1 -0
  211. package/dist/nile-icon/icons/svg/chevron-selector-vertical.cjs.js +2 -0
  212. package/dist/nile-icon/icons/svg/chevron-selector-vertical.cjs.js.map +1 -0
  213. package/dist/nile-icon/icons/svg/chevron-selector-vertical.esm.js +1 -0
  214. package/dist/nile-icon/icons/svg/clock-check.cjs.js +2 -0
  215. package/dist/nile-icon/icons/svg/clock-check.cjs.js.map +1 -0
  216. package/dist/nile-icon/icons/svg/clock-check.esm.js +1 -0
  217. package/dist/nile-icon/icons/svg/clock-rewind.cjs.js +2 -0
  218. package/dist/nile-icon/icons/svg/clock-rewind.cjs.js.map +1 -0
  219. package/dist/nile-icon/icons/svg/clock-rewind.esm.js +1 -0
  220. package/dist/nile-icon/icons/svg/clock.cjs.js +2 -0
  221. package/dist/nile-icon/icons/svg/clock.cjs.js.map +1 -0
  222. package/dist/nile-icon/icons/svg/clock.esm.js +1 -0
  223. package/dist/nile-icon/icons/svg/cloud-01.cjs.js +2 -0
  224. package/dist/nile-icon/icons/svg/cloud-01.cjs.js.map +1 -0
  225. package/dist/nile-icon/icons/svg/cloud-01.esm.js +1 -0
  226. package/dist/nile-icon/icons/svg/copy-06.cjs.js +2 -0
  227. package/dist/nile-icon/icons/svg/copy-06.cjs.js.map +1 -0
  228. package/dist/nile-icon/icons/svg/copy-06.esm.js +1 -0
  229. package/dist/nile-icon/icons/svg/dataflow-03.cjs.js +2 -0
  230. package/dist/nile-icon/icons/svg/dataflow-03.cjs.js.map +1 -0
  231. package/dist/nile-icon/icons/svg/dataflow-03.esm.js +1 -0
  232. package/dist/nile-icon/icons/svg/dataflow-04.cjs.js +2 -0
  233. package/dist/nile-icon/icons/svg/dataflow-04.cjs.js.map +1 -0
  234. package/dist/nile-icon/icons/svg/dataflow-04.esm.js +1 -0
  235. package/dist/nile-icon/icons/svg/dotpoints-02.cjs.js +2 -0
  236. package/dist/nile-icon/icons/svg/dotpoints-02.cjs.js.map +1 -0
  237. package/dist/nile-icon/icons/svg/dotpoints-02.esm.js +1 -0
  238. package/dist/nile-icon/icons/svg/dots-vertical.cjs.js +2 -0
  239. package/dist/nile-icon/icons/svg/dots-vertical.cjs.js.map +1 -0
  240. package/dist/nile-icon/icons/svg/dots-vertical.esm.js +1 -0
  241. package/dist/nile-icon/icons/svg/download-02.cjs.js +2 -0
  242. package/dist/nile-icon/icons/svg/download-02.cjs.js.map +1 -0
  243. package/dist/nile-icon/icons/svg/download-02.esm.js +1 -0
  244. package/dist/nile-icon/icons/svg/edit-01.cjs.js +2 -0
  245. package/dist/nile-icon/icons/svg/edit-01.cjs.js.map +1 -0
  246. package/dist/nile-icon/icons/svg/edit-01.esm.js +1 -0
  247. package/dist/nile-icon/icons/svg/expand-06.cjs.js +2 -0
  248. package/dist/nile-icon/icons/svg/expand-06.cjs.js.map +1 -0
  249. package/dist/nile-icon/icons/svg/expand-06.esm.js +1 -0
  250. package/dist/nile-icon/icons/svg/eye-off.cjs.js +2 -0
  251. package/dist/nile-icon/icons/svg/eye-off.cjs.js.map +1 -0
  252. package/dist/nile-icon/icons/svg/eye-off.esm.js +1 -0
  253. package/dist/nile-icon/icons/svg/file-06.cjs.js +2 -0
  254. package/dist/nile-icon/icons/svg/file-06.cjs.js.map +1 -0
  255. package/dist/nile-icon/icons/svg/file-06.esm.js +1 -0
  256. package/dist/nile-icon/icons/svg/file-shield-01.cjs.js +2 -0
  257. package/dist/nile-icon/icons/svg/file-shield-01.cjs.js.map +1 -0
  258. package/dist/nile-icon/icons/svg/file-shield-01.esm.js +1 -0
  259. package/dist/nile-icon/icons/svg/globe-03.cjs.js +2 -0
  260. package/dist/nile-icon/icons/svg/globe-03.cjs.js.map +1 -0
  261. package/dist/nile-icon/icons/svg/globe-03.esm.js +1 -0
  262. package/dist/nile-icon/icons/svg/grid-01.cjs.js +2 -0
  263. package/dist/nile-icon/icons/svg/grid-01.cjs.js.map +1 -0
  264. package/dist/nile-icon/icons/svg/grid-01.esm.js +1 -0
  265. package/dist/nile-icon/icons/svg/help-circle.cjs.js +2 -0
  266. package/dist/nile-icon/icons/svg/help-circle.cjs.js.map +1 -0
  267. package/dist/nile-icon/icons/svg/help-circle.esm.js +1 -0
  268. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  269. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  270. package/dist/nile-icon/icons/svg/layout-alt-02.cjs.js +2 -0
  271. package/dist/nile-icon/icons/svg/layout-alt-02.cjs.js.map +1 -0
  272. package/dist/nile-icon/icons/svg/layout-alt-02.esm.js +1 -0
  273. package/dist/nile-icon/icons/svg/layout-alt-03.cjs.js +2 -0
  274. package/dist/nile-icon/icons/svg/layout-alt-03.cjs.js.map +1 -0
  275. package/dist/nile-icon/icons/svg/layout-alt-03.esm.js +1 -0
  276. package/dist/nile-icon/icons/svg/marker-pin-01.cjs.js +2 -0
  277. package/dist/nile-icon/icons/svg/marker-pin-01.cjs.js.map +1 -0
  278. package/dist/nile-icon/icons/svg/marker-pin-01.esm.js +1 -0
  279. package/dist/nile-icon/icons/svg/play-circle.cjs.js +2 -0
  280. package/dist/nile-icon/icons/svg/play-circle.cjs.js.map +1 -0
  281. package/dist/nile-icon/icons/svg/play-circle.esm.js +1 -0
  282. package/dist/nile-icon/icons/svg/refresh-cw-03.cjs.js +2 -0
  283. package/dist/nile-icon/icons/svg/refresh-cw-03.cjs.js.map +1 -0
  284. package/dist/nile-icon/icons/svg/refresh-cw-03.esm.js +1 -0
  285. package/dist/nile-icon/icons/svg/search-lg.cjs.js +2 -0
  286. package/dist/nile-icon/icons/svg/search-lg.cjs.js.map +1 -0
  287. package/dist/nile-icon/icons/svg/search-lg.esm.js +1 -0
  288. package/dist/nile-icon/icons/svg/server-03.cjs.js +2 -0
  289. package/dist/nile-icon/icons/svg/server-03.cjs.js.map +1 -0
  290. package/dist/nile-icon/icons/svg/server-03.esm.js +1 -0
  291. package/dist/nile-icon/icons/svg/stop-circle.cjs.js +2 -0
  292. package/dist/nile-icon/icons/svg/stop-circle.cjs.js.map +1 -0
  293. package/dist/nile-icon/icons/svg/stop-circle.esm.js +1 -0
  294. package/dist/nile-icon/icons/svg/user-circle.cjs.js +2 -0
  295. package/dist/nile-icon/icons/svg/user-circle.cjs.js.map +1 -0
  296. package/dist/nile-icon/icons/svg/user-circle.esm.js +1 -0
  297. package/dist/nile-icon/icons/svg/x-circle.cjs.js +2 -0
  298. package/dist/nile-icon/icons/svg/x-circle.cjs.js.map +1 -0
  299. package/dist/nile-icon/icons/svg/x-circle.esm.js +1 -0
  300. package/dist/nile-icon/index.cjs.js +1 -1
  301. package/dist/nile-icon/index.cjs.js.map +1 -1
  302. package/dist/nile-icon/index.esm.js +9 -4
  303. package/dist/nile-icon-button/index.cjs.js +1 -1
  304. package/dist/nile-icon-button/index.esm.js +1 -1
  305. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  306. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  307. package/dist/nile-icon-button/nile-icon-button.css.cjs.js +1 -1
  308. package/dist/nile-icon-button/nile-icon-button.css.esm.js +1 -1
  309. package/dist/nile-icon-button/nile-icon-button.esm.js +12 -12
  310. package/dist/nile-input/index.cjs.js +1 -1
  311. package/dist/nile-input/index.esm.js +1 -1
  312. package/dist/nile-input/nile-input.cjs.js +1 -1
  313. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  314. package/dist/nile-input/nile-input.css.cjs.js +1 -1
  315. package/dist/nile-input/nile-input.css.cjs.js.map +1 -1
  316. package/dist/nile-input/nile-input.css.esm.js +15 -10
  317. package/dist/nile-input/nile-input.esm.js +2 -2
  318. package/dist/nile-link/index.cjs.js +1 -1
  319. package/dist/nile-link/index.esm.js +1 -1
  320. package/dist/nile-link/nile-link.cjs.js +1 -1
  321. package/dist/nile-link/nile-link.css.cjs.js +1 -1
  322. package/dist/nile-link/nile-link.css.esm.js +1 -1
  323. package/dist/nile-link/nile-link.esm.js +1 -1
  324. package/dist/nile-loader/index.cjs.js +1 -1
  325. package/dist/nile-loader/index.esm.js +1 -1
  326. package/dist/nile-loader/nile-loader.cjs.js +1 -1
  327. package/dist/nile-loader/nile-loader.esm.js +1 -1
  328. package/dist/nile-menu/index.cjs.js +1 -1
  329. package/dist/nile-menu/index.esm.js +1 -1
  330. package/dist/nile-menu/nile-menu.cjs.js +1 -1
  331. package/dist/nile-menu/nile-menu.css.cjs.js +1 -1
  332. package/dist/nile-menu/nile-menu.css.esm.js +1 -1
  333. package/dist/nile-menu/nile-menu.esm.js +1 -1
  334. package/dist/nile-menu-item/index.cjs.js +1 -1
  335. package/dist/nile-menu-item/index.esm.js +1 -1
  336. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  337. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  338. package/dist/nile-menu-item/nile-menu-item.css.cjs.js +1 -1
  339. package/dist/nile-menu-item/nile-menu-item.css.esm.js +1 -1
  340. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  341. package/dist/nile-option/index.cjs.js +1 -1
  342. package/dist/nile-option/index.esm.js +1 -1
  343. package/dist/nile-option/nile-option.cjs.js +1 -1
  344. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  345. package/dist/nile-option/nile-option.css.cjs.js +1 -1
  346. package/dist/nile-option/nile-option.css.esm.js +1 -1
  347. package/dist/nile-option/nile-option.esm.js +1 -1
  348. package/dist/nile-page-header/index.cjs.js +1 -1
  349. package/dist/nile-page-header/index.esm.js +1 -1
  350. package/dist/nile-page-header/nile-page-header.cjs.js +1 -1
  351. package/dist/nile-page-header/nile-page-header.cjs.js.map +1 -1
  352. package/dist/nile-page-header/nile-page-header.css.cjs.js +1 -1
  353. package/dist/nile-page-header/nile-page-header.css.cjs.js.map +1 -1
  354. package/dist/nile-page-header/nile-page-header.css.esm.js +4 -8
  355. package/dist/nile-page-header/nile-page-header.esm.js +1 -2
  356. package/dist/nile-popover/index.cjs.js +1 -1
  357. package/dist/nile-popover/index.esm.js +1 -1
  358. package/dist/nile-popover/nile-popover.cjs.js +1 -1
  359. package/dist/nile-popover/nile-popover.css.cjs.js +1 -1
  360. package/dist/nile-popover/nile-popover.css.esm.js +1 -1
  361. package/dist/nile-popover/nile-popover.esm.js +1 -1
  362. package/dist/nile-popup/index.cjs.js +1 -1
  363. package/dist/nile-popup/index.esm.js +1 -1
  364. package/dist/nile-popup/nile-popup.cjs.js +1 -1
  365. package/dist/nile-popup/nile-popup.css.cjs.js +1 -1
  366. package/dist/nile-popup/nile-popup.css.esm.js +1 -1
  367. package/dist/nile-popup/nile-popup.esm.js +1 -1
  368. package/dist/nile-progress-bar/index.cjs.js +1 -1
  369. package/dist/nile-progress-bar/index.esm.js +1 -1
  370. package/dist/nile-progress-bar/nile-progress-bar.cjs.js +1 -1
  371. package/dist/nile-progress-bar/nile-progress-bar.esm.js +1 -1
  372. package/dist/nile-radio/index.cjs.js +1 -1
  373. package/dist/nile-radio/index.esm.js +1 -1
  374. package/dist/nile-radio/nile-radio.cjs.js +1 -1
  375. package/dist/nile-radio/nile-radio.css.cjs.js +1 -1
  376. package/dist/nile-radio/nile-radio.css.esm.js +1 -1
  377. package/dist/nile-radio/nile-radio.esm.js +1 -1
  378. package/dist/nile-radio-group/nile-radio-group.cjs.js +1 -1
  379. package/dist/nile-radio-group/nile-radio-group.cjs.js.map +1 -1
  380. package/dist/nile-radio-group/nile-radio-group.esm.js +1 -1
  381. package/dist/nile-select/index.cjs.js +1 -1
  382. package/dist/nile-select/index.esm.js +1 -1
  383. package/dist/nile-select/nile-select.cjs.js +1 -1
  384. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  385. package/dist/nile-select/nile-select.css.cjs.js +1 -1
  386. package/dist/nile-select/nile-select.css.esm.js +1 -1
  387. package/dist/nile-select/nile-select.esm.js +11 -10
  388. package/dist/nile-sidebar-menu/index.cjs.js +1 -1
  389. package/dist/nile-sidebar-menu/index.esm.js +1 -1
  390. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +1 -1
  391. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +1 -1
  392. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +1 -1
  393. package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +1 -1
  394. package/dist/nile-sidebar-menu-items/index.cjs.js +1 -1
  395. package/dist/nile-sidebar-menu-items/index.esm.js +1 -1
  396. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +1 -1
  397. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +1 -1
  398. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +1 -1
  399. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +1 -1
  400. package/dist/nile-sidebar-wrapper/index.cjs.js +1 -1
  401. package/dist/nile-sidebar-wrapper/index.esm.js +1 -1
  402. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +1 -1
  403. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +1 -1
  404. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +1 -1
  405. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +1 -1
  406. package/dist/nile-slide-toggle/index.cjs.js +1 -1
  407. package/dist/nile-slide-toggle/index.esm.js +1 -1
  408. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js +1 -1
  409. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js.map +1 -1
  410. package/dist/nile-slide-toggle/nile-slide-toggle.css.cjs.js +1 -1
  411. package/dist/nile-slide-toggle/nile-slide-toggle.css.cjs.js.map +1 -1
  412. package/dist/nile-slide-toggle/nile-slide-toggle.css.esm.js +18 -9
  413. package/dist/nile-slide-toggle/nile-slide-toggle.esm.js +22 -24
  414. package/dist/nile-spinner/index.cjs.js +1 -1
  415. package/dist/nile-spinner/index.esm.js +1 -1
  416. package/dist/nile-spinner/nile-spinner.cjs.js +1 -1
  417. package/dist/nile-spinner/nile-spinner.css.cjs.js +1 -1
  418. package/dist/nile-spinner/nile-spinner.css.esm.js +1 -1
  419. package/dist/nile-spinner/nile-spinner.esm.js +1 -1
  420. package/dist/nile-stepper/index.cjs.js +2 -0
  421. package/dist/nile-stepper/index.cjs.js.map +1 -0
  422. package/dist/nile-stepper/index.esm.js +1 -0
  423. package/dist/nile-stepper/nile-stepper.cjs.js +2 -0
  424. package/dist/nile-stepper/nile-stepper.cjs.js.map +1 -0
  425. package/dist/nile-stepper/nile-stepper.css.cjs.js +2 -0
  426. package/dist/nile-stepper/nile-stepper.css.cjs.js.map +1 -0
  427. package/dist/nile-stepper/nile-stepper.css.esm.js +7 -0
  428. package/dist/nile-stepper/nile-stepper.esm.js +5 -0
  429. package/dist/nile-stepper-item/index.cjs.js +2 -0
  430. package/dist/nile-stepper-item/index.cjs.js.map +1 -0
  431. package/dist/nile-stepper-item/index.esm.js +1 -0
  432. package/dist/nile-stepper-item/nile-stepper-item.cjs.js +6 -0
  433. package/dist/nile-stepper-item/nile-stepper-item.cjs.js.map +1 -0
  434. package/dist/nile-stepper-item/nile-stepper-item.css.cjs.js +2 -0
  435. package/dist/nile-stepper-item/nile-stepper-item.css.cjs.js.map +1 -0
  436. package/dist/nile-stepper-item/nile-stepper-item.css.esm.js +110 -0
  437. package/dist/nile-stepper-item/nile-stepper-item.esm.js +36 -0
  438. package/dist/nile-switcher/index.cjs.js +1 -1
  439. package/dist/nile-switcher/index.esm.js +1 -1
  440. package/dist/nile-switcher/nile-switcher.cjs.js +1 -1
  441. package/dist/nile-switcher/nile-switcher.css.cjs.js +1 -1
  442. package/dist/nile-switcher/nile-switcher.css.esm.js +1 -1
  443. package/dist/nile-switcher/nile-switcher.esm.js +1 -1
  444. package/dist/nile-tab/index.cjs.js +1 -1
  445. package/dist/nile-tab/index.esm.js +1 -1
  446. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  447. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  448. package/dist/nile-tab/nile-tab.css.cjs.js +1 -1
  449. package/dist/nile-tab/nile-tab.css.cjs.js.map +1 -1
  450. package/dist/nile-tab/nile-tab.css.esm.js +8 -8
  451. package/dist/nile-tab/nile-tab.esm.js +1 -1
  452. package/dist/nile-tab-group/index.cjs.js +1 -1
  453. package/dist/nile-tab-group/index.esm.js +1 -1
  454. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  455. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  456. package/dist/nile-tab-group/nile-tab-group.css.cjs.js +1 -1
  457. package/dist/nile-tab-group/nile-tab-group.css.cjs.js.map +1 -1
  458. package/dist/nile-tab-group/nile-tab-group.css.esm.js +3 -3
  459. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  460. package/dist/nile-tab-panel/index.cjs.js +1 -1
  461. package/dist/nile-tab-panel/index.esm.js +1 -1
  462. package/dist/nile-tab-panel/nile-tab-panel.cjs.js +1 -1
  463. package/dist/nile-tab-panel/nile-tab-panel.css.cjs.js +1 -1
  464. package/dist/nile-tab-panel/nile-tab-panel.css.esm.js +1 -1
  465. package/dist/nile-tab-panel/nile-tab-panel.esm.js +1 -1
  466. package/dist/nile-table-body/index.cjs.js +1 -1
  467. package/dist/nile-table-body/index.esm.js +1 -1
  468. package/dist/nile-table-body/nile-table-body.cjs.js +1 -1
  469. package/dist/nile-table-body/nile-table-body.cjs.js.map +1 -1
  470. package/dist/nile-table-body/nile-table-body.css.cjs.js +1 -1
  471. package/dist/nile-table-body/nile-table-body.css.esm.js +1 -1
  472. package/dist/nile-table-body/nile-table-body.esm.js +2 -2
  473. package/dist/nile-table-cell-item/index.cjs.js +1 -1
  474. package/dist/nile-table-cell-item/index.esm.js +1 -1
  475. package/dist/nile-table-cell-item/nile-table-cell-item.cjs.js +1 -1
  476. package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js +1 -1
  477. package/dist/nile-table-cell-item/nile-table-cell-item.css.esm.js +1 -1
  478. package/dist/nile-table-cell-item/nile-table-cell-item.esm.js +1 -1
  479. package/dist/nile-table-header-item/index.cjs.js +1 -1
  480. package/dist/nile-table-header-item/index.esm.js +1 -1
  481. package/dist/nile-table-header-item/nile-table-header-item.cjs.js +1 -1
  482. package/dist/nile-table-header-item/nile-table-header-item.cjs.js.map +1 -1
  483. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js +1 -1
  484. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
  485. package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +10 -2
  486. package/dist/nile-table-header-item/nile-table-header-item.esm.js +18 -14
  487. package/dist/nile-table-row/index.cjs.js +1 -1
  488. package/dist/nile-table-row/index.esm.js +1 -1
  489. package/dist/nile-table-row/nile-table-row.cjs.js +1 -1
  490. package/dist/nile-table-row/nile-table-row.cjs.js.map +1 -1
  491. package/dist/nile-table-row/nile-table-row.css.cjs.js +1 -1
  492. package/dist/nile-table-row/nile-table-row.css.esm.js +1 -1
  493. package/dist/nile-table-row/nile-table-row.esm.js +6 -1
  494. package/dist/nile-tag/index.cjs.js +1 -1
  495. package/dist/nile-tag/index.esm.js +1 -1
  496. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  497. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  498. package/dist/nile-tag/nile-tag.css.cjs.js +1 -1
  499. package/dist/nile-tag/nile-tag.css.esm.js +1 -1
  500. package/dist/nile-tag/nile-tag.esm.js +1 -1
  501. package/dist/nile-textarea/index.cjs.js +1 -1
  502. package/dist/nile-textarea/index.esm.js +1 -1
  503. package/dist/nile-textarea/nile-textarea.cjs.js +1 -1
  504. package/dist/nile-textarea/nile-textarea.cjs.js.map +1 -1
  505. package/dist/nile-textarea/nile-textarea.css.cjs.js +1 -1
  506. package/dist/nile-textarea/nile-textarea.css.esm.js +1 -1
  507. package/dist/nile-textarea/nile-textarea.esm.js +2 -2
  508. package/dist/nile-toast/index.cjs.js +1 -1
  509. package/dist/nile-toast/index.esm.js +1 -1
  510. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  511. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  512. package/dist/nile-toast/nile-toast.css.cjs.js +1 -1
  513. package/dist/nile-toast/nile-toast.css.esm.js +1 -1
  514. package/dist/nile-toast/nile-toast.esm.js +2 -2
  515. package/dist/nile-toolbar/index.cjs.js +1 -1
  516. package/dist/nile-toolbar/index.esm.js +1 -1
  517. package/dist/nile-toolbar/nile-toolbar.css.cjs.js +1 -1
  518. package/dist/nile-toolbar/nile-toolbar.css.esm.js +1 -1
  519. package/dist/nile-tooltip/index.cjs.js +1 -1
  520. package/dist/nile-tooltip/index.esm.js +1 -1
  521. package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
  522. package/dist/nile-tooltip/nile-tooltip.css.cjs.js +1 -1
  523. package/dist/nile-tooltip/nile-tooltip.css.esm.js +1 -1
  524. package/dist/nile-tooltip/nile-tooltip.esm.js +1 -1
  525. package/dist/src/index.d.ts +4 -0
  526. package/dist/src/index.js +4 -0
  527. package/dist/src/index.js.map +1 -1
  528. package/dist/src/nile-button/nile-button.js +12 -1
  529. package/dist/src/nile-button/nile-button.js.map +1 -1
  530. package/dist/src/nile-checkbox/nile-checkbox.d.ts +1 -1
  531. package/dist/src/nile-checkbox/nile-checkbox.js +5 -5
  532. package/dist/src/nile-checkbox/nile-checkbox.js.map +1 -1
  533. package/dist/src/nile-chip/nile-chip.js +2 -2
  534. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  535. package/dist/src/nile-empty-state/index.d.ts +1 -0
  536. package/dist/src/nile-empty-state/index.js +2 -0
  537. package/dist/src/nile-empty-state/index.js.map +1 -0
  538. package/dist/src/nile-empty-state/nile-empty-state.css.d.ts +12 -0
  539. package/dist/src/nile-empty-state/nile-empty-state.css.js +129 -0
  540. package/dist/src/nile-empty-state/nile-empty-state.css.js.map +1 -0
  541. package/dist/src/nile-empty-state/nile-empty-state.d.ts +38 -0
  542. package/dist/src/nile-empty-state/nile-empty-state.js +111 -0
  543. package/dist/src/nile-empty-state/nile-empty-state.js.map +1 -0
  544. package/dist/src/nile-error-notification/nile-error-notification.js +1 -1
  545. package/dist/src/nile-error-notification/nile-error-notification.js.map +1 -1
  546. package/dist/src/nile-form-help-text/nile-form-help-text.css.js +0 -1
  547. package/dist/src/nile-form-help-text/nile-form-help-text.css.js.map +1 -1
  548. package/dist/src/nile-form-help-text/nile-form-help-text.js +3 -3
  549. package/dist/src/nile-form-help-text/nile-form-help-text.js.map +1 -1
  550. package/dist/src/nile-hero/index.d.ts +1 -0
  551. package/dist/src/nile-hero/index.js +2 -0
  552. package/dist/src/nile-hero/index.js.map +1 -0
  553. package/dist/src/nile-hero/nile-hero.css.d.ts +12 -0
  554. package/dist/src/nile-hero/nile-hero.css.js +69 -0
  555. package/dist/src/nile-hero/nile-hero.css.js.map +1 -0
  556. package/dist/src/nile-hero/nile-hero.d.ts +35 -0
  557. package/dist/src/nile-hero/nile-hero.js +72 -0
  558. package/dist/src/nile-hero/nile-hero.js.map +1 -0
  559. package/dist/src/nile-icon/icons/svg/alert-circle.d.ts +5 -0
  560. package/dist/src/nile-icon/icons/svg/alert-circle.js +5 -0
  561. package/dist/src/nile-icon/icons/svg/alert-circle.js.map +1 -0
  562. package/dist/src/nile-icon/icons/svg/arrow-narrow-left.d.ts +5 -0
  563. package/dist/src/nile-icon/icons/svg/arrow-narrow-left.js +5 -0
  564. package/dist/src/nile-icon/icons/svg/arrow-narrow-left.js.map +1 -0
  565. package/dist/src/nile-icon/icons/svg/book-closed.d.ts +5 -0
  566. package/dist/src/nile-icon/icons/svg/book-closed.js +5 -0
  567. package/dist/src/nile-icon/icons/svg/book-closed.js.map +1 -0
  568. package/dist/src/nile-icon/icons/svg/box.d.ts +5 -0
  569. package/dist/src/nile-icon/icons/svg/box.js +5 -0
  570. package/dist/src/nile-icon/icons/svg/box.js.map +1 -0
  571. package/dist/src/nile-icon/icons/svg/check.d.ts +5 -0
  572. package/dist/src/nile-icon/icons/svg/check.js +5 -0
  573. package/dist/src/nile-icon/icons/svg/check.js.map +1 -0
  574. package/dist/src/nile-icon/icons/svg/chevron-left-double.d.ts +5 -0
  575. package/dist/src/nile-icon/icons/svg/chevron-left-double.js +5 -0
  576. package/dist/src/nile-icon/icons/svg/chevron-left-double.js.map +1 -0
  577. package/dist/src/nile-icon/icons/svg/chevron-selector-vertical.d.ts +5 -0
  578. package/dist/src/nile-icon/icons/svg/chevron-selector-vertical.js +5 -0
  579. package/dist/src/nile-icon/icons/svg/chevron-selector-vertical.js.map +1 -0
  580. package/dist/src/nile-icon/icons/svg/clock-check.d.ts +5 -0
  581. package/dist/src/nile-icon/icons/svg/clock-check.js +5 -0
  582. package/dist/src/nile-icon/icons/svg/clock-check.js.map +1 -0
  583. package/dist/src/nile-icon/icons/svg/clock-rewind.d.ts +5 -0
  584. package/dist/src/nile-icon/icons/svg/clock-rewind.js +5 -0
  585. package/dist/src/nile-icon/icons/svg/clock-rewind.js.map +1 -0
  586. package/dist/src/nile-icon/icons/svg/clock.d.ts +5 -0
  587. package/dist/src/nile-icon/icons/svg/clock.js +5 -0
  588. package/dist/src/nile-icon/icons/svg/clock.js.map +1 -0
  589. package/dist/src/nile-icon/icons/svg/cloud-01.d.ts +5 -0
  590. package/dist/src/nile-icon/icons/svg/cloud-01.js +5 -0
  591. package/dist/src/nile-icon/icons/svg/cloud-01.js.map +1 -0
  592. package/dist/src/nile-icon/icons/svg/copy-06.d.ts +5 -0
  593. package/dist/src/nile-icon/icons/svg/copy-06.js +5 -0
  594. package/dist/src/nile-icon/icons/svg/copy-06.js.map +1 -0
  595. package/dist/src/nile-icon/icons/svg/dataflow-03.d.ts +5 -0
  596. package/dist/src/nile-icon/icons/svg/dataflow-03.js +5 -0
  597. package/dist/src/nile-icon/icons/svg/dataflow-03.js.map +1 -0
  598. package/dist/src/nile-icon/icons/svg/dataflow-04.d.ts +5 -0
  599. package/dist/src/nile-icon/icons/svg/dataflow-04.js +5 -0
  600. package/dist/src/nile-icon/icons/svg/dataflow-04.js.map +1 -0
  601. package/dist/src/nile-icon/icons/svg/dotpoints-02.d.ts +5 -0
  602. package/dist/src/nile-icon/icons/svg/dotpoints-02.js +5 -0
  603. package/dist/src/nile-icon/icons/svg/dotpoints-02.js.map +1 -0
  604. package/dist/src/nile-icon/icons/svg/dots-vertical.d.ts +5 -0
  605. package/dist/src/nile-icon/icons/svg/dots-vertical.js +5 -0
  606. package/dist/src/nile-icon/icons/svg/dots-vertical.js.map +1 -0
  607. package/dist/src/nile-icon/icons/svg/download-02.d.ts +5 -0
  608. package/dist/src/nile-icon/icons/svg/download-02.js +5 -0
  609. package/dist/src/nile-icon/icons/svg/download-02.js.map +1 -0
  610. package/dist/src/nile-icon/icons/svg/edit-01.d.ts +5 -0
  611. package/dist/src/nile-icon/icons/svg/edit-01.js +5 -0
  612. package/dist/src/nile-icon/icons/svg/edit-01.js.map +1 -0
  613. package/dist/src/nile-icon/icons/svg/expand-06.d.ts +5 -0
  614. package/dist/src/nile-icon/icons/svg/expand-06.js +5 -0
  615. package/dist/src/nile-icon/icons/svg/expand-06.js.map +1 -0
  616. package/dist/src/nile-icon/icons/svg/eye-off.d.ts +5 -0
  617. package/dist/src/nile-icon/icons/svg/eye-off.js +5 -0
  618. package/dist/src/nile-icon/icons/svg/eye-off.js.map +1 -0
  619. package/dist/src/nile-icon/icons/svg/file-06.d.ts +5 -0
  620. package/dist/src/nile-icon/icons/svg/file-06.js +5 -0
  621. package/dist/src/nile-icon/icons/svg/file-06.js.map +1 -0
  622. package/dist/src/nile-icon/icons/svg/file-shield-01.d.ts +5 -0
  623. package/dist/src/nile-icon/icons/svg/file-shield-01.js +5 -0
  624. package/dist/src/nile-icon/icons/svg/file-shield-01.js.map +1 -0
  625. package/dist/src/nile-icon/icons/svg/globe-03.d.ts +5 -0
  626. package/dist/src/nile-icon/icons/svg/globe-03.js +5 -0
  627. package/dist/src/nile-icon/icons/svg/globe-03.js.map +1 -0
  628. package/dist/src/nile-icon/icons/svg/grid-01.d.ts +5 -0
  629. package/dist/src/nile-icon/icons/svg/grid-01.js +5 -0
  630. package/dist/src/nile-icon/icons/svg/grid-01.js.map +1 -0
  631. package/dist/src/nile-icon/icons/svg/help-circle.d.ts +5 -0
  632. package/dist/src/nile-icon/icons/svg/help-circle.js +5 -0
  633. package/dist/src/nile-icon/icons/svg/help-circle.js.map +1 -0
  634. package/dist/src/nile-icon/icons/svg/index.d.ts +35 -0
  635. package/dist/src/nile-icon/icons/svg/index.js +35 -0
  636. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  637. package/dist/src/nile-icon/icons/svg/layout-alt-02.d.ts +5 -0
  638. package/dist/src/nile-icon/icons/svg/layout-alt-02.js +5 -0
  639. package/dist/src/nile-icon/icons/svg/layout-alt-02.js.map +1 -0
  640. package/dist/src/nile-icon/icons/svg/layout-alt-03.d.ts +5 -0
  641. package/dist/src/nile-icon/icons/svg/layout-alt-03.js +5 -0
  642. package/dist/src/nile-icon/icons/svg/layout-alt-03.js.map +1 -0
  643. package/dist/src/nile-icon/icons/svg/marker-pin-01.d.ts +5 -0
  644. package/dist/src/nile-icon/icons/svg/marker-pin-01.js +5 -0
  645. package/dist/src/nile-icon/icons/svg/marker-pin-01.js.map +1 -0
  646. package/dist/src/nile-icon/icons/svg/play-circle.d.ts +5 -0
  647. package/dist/src/nile-icon/icons/svg/play-circle.js +5 -0
  648. package/dist/src/nile-icon/icons/svg/play-circle.js.map +1 -0
  649. package/dist/src/nile-icon/icons/svg/refresh-cw-03.d.ts +5 -0
  650. package/dist/src/nile-icon/icons/svg/refresh-cw-03.js +5 -0
  651. package/dist/src/nile-icon/icons/svg/refresh-cw-03.js.map +1 -0
  652. package/dist/src/nile-icon/icons/svg/search-lg.d.ts +5 -0
  653. package/dist/src/nile-icon/icons/svg/search-lg.js +5 -0
  654. package/dist/src/nile-icon/icons/svg/search-lg.js.map +1 -0
  655. package/dist/src/nile-icon/icons/svg/server-03.d.ts +5 -0
  656. package/dist/src/nile-icon/icons/svg/server-03.js +5 -0
  657. package/dist/src/nile-icon/icons/svg/server-03.js.map +1 -0
  658. package/dist/src/nile-icon/icons/svg/stop-circle.d.ts +5 -0
  659. package/dist/src/nile-icon/icons/svg/stop-circle.js +5 -0
  660. package/dist/src/nile-icon/icons/svg/stop-circle.js.map +1 -0
  661. package/dist/src/nile-icon/icons/svg/user-circle.d.ts +5 -0
  662. package/dist/src/nile-icon/icons/svg/user-circle.js +5 -0
  663. package/dist/src/nile-icon/icons/svg/user-circle.js.map +1 -0
  664. package/dist/src/nile-icon/icons/svg/x-circle.d.ts +5 -0
  665. package/dist/src/nile-icon/icons/svg/x-circle.js +5 -0
  666. package/dist/src/nile-icon/icons/svg/x-circle.js.map +1 -0
  667. package/dist/src/nile-icon/index.d.ts +1 -0
  668. package/dist/src/nile-icon/index.js +10 -0
  669. package/dist/src/nile-icon/index.js.map +1 -1
  670. package/dist/src/nile-input/nile-input.css.js +14 -9
  671. package/dist/src/nile-input/nile-input.css.js.map +1 -1
  672. package/dist/src/nile-input/nile-input.d.ts +0 -2
  673. package/dist/src/nile-input/nile-input.js +7 -6
  674. package/dist/src/nile-input/nile-input.js.map +1 -1
  675. package/dist/src/nile-page-header/nile-page-header.css.js +2 -6
  676. package/dist/src/nile-page-header/nile-page-header.css.js.map +1 -1
  677. package/dist/src/nile-page-header/nile-page-header.js +0 -1
  678. package/dist/src/nile-page-header/nile-page-header.js.map +1 -1
  679. package/dist/src/nile-radio-group/nile-radio-group.js +2 -2
  680. package/dist/src/nile-radio-group/nile-radio-group.js.map +1 -1
  681. package/dist/src/nile-select/nile-select.d.ts +1 -0
  682. package/dist/src/nile-select/nile-select.js +27 -19
  683. package/dist/src/nile-select/nile-select.js.map +1 -1
  684. package/dist/src/nile-slide-toggle/nile-slide-toggle.css.js +18 -9
  685. package/dist/src/nile-slide-toggle/nile-slide-toggle.css.js.map +1 -1
  686. package/dist/src/nile-slide-toggle/nile-slide-toggle.d.ts +1 -0
  687. package/dist/src/nile-slide-toggle/nile-slide-toggle.js +27 -25
  688. package/dist/src/nile-slide-toggle/nile-slide-toggle.js.map +1 -1
  689. package/dist/src/nile-stepper/index.d.ts +1 -0
  690. package/dist/src/nile-stepper/index.js +2 -0
  691. package/dist/src/nile-stepper/index.js.map +1 -0
  692. package/dist/src/nile-stepper/nile-stepper.css.d.ts +12 -0
  693. package/dist/src/nile-stepper/nile-stepper.css.js +19 -0
  694. package/dist/src/nile-stepper/nile-stepper.css.js.map +1 -0
  695. package/dist/src/nile-stepper/nile-stepper.d.ts +41 -0
  696. package/dist/src/nile-stepper/nile-stepper.js +135 -0
  697. package/dist/src/nile-stepper/nile-stepper.js.map +1 -0
  698. package/dist/src/nile-stepper-item/index.d.ts +1 -0
  699. package/dist/src/nile-stepper-item/index.js +2 -0
  700. package/dist/src/nile-stepper-item/index.js.map +1 -0
  701. package/dist/src/nile-stepper-item/nile-stepper-item.css.d.ts +12 -0
  702. package/dist/src/nile-stepper-item/nile-stepper-item.css.js +122 -0
  703. package/dist/src/nile-stepper-item/nile-stepper-item.css.js.map +1 -0
  704. package/dist/src/nile-stepper-item/nile-stepper-item.d.ts +46 -0
  705. package/dist/src/nile-stepper-item/nile-stepper-item.js +161 -0
  706. package/dist/src/nile-stepper-item/nile-stepper-item.js.map +1 -0
  707. package/dist/src/nile-tab/nile-tab.css.d.ts +5 -5
  708. package/dist/src/nile-tab/nile-tab.css.js +11 -11
  709. package/dist/src/nile-tab/nile-tab.css.js.map +1 -1
  710. package/dist/src/nile-tab-group/nile-tab-group.css.js +2 -2
  711. package/dist/src/nile-tab-group/nile-tab-group.css.js.map +1 -1
  712. package/dist/src/nile-tab-group/nile-tab-group.js +1 -1
  713. package/dist/src/nile-tab-group/nile-tab-group.js.map +1 -1
  714. package/dist/src/nile-table-body/nile-table-body.d.ts +0 -2
  715. package/dist/src/nile-table-body/nile-table-body.js +4 -33
  716. package/dist/src/nile-table-body/nile-table-body.js.map +1 -1
  717. package/dist/src/nile-table-header-item/nile-table-header-item.css.js +8 -0
  718. package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
  719. package/dist/src/nile-table-header-item/nile-table-header-item.d.ts +1 -0
  720. package/dist/src/nile-table-header-item/nile-table-header-item.js +29 -17
  721. package/dist/src/nile-table-header-item/nile-table-header-item.js.map +1 -1
  722. package/dist/src/nile-table-row/nile-table-row.d.ts +1 -0
  723. package/dist/src/nile-table-row/nile-table-row.js +18 -1
  724. package/dist/src/nile-table-row/nile-table-row.js.map +1 -1
  725. package/dist/src/nile-textarea/nile-textarea.d.ts +0 -2
  726. package/dist/src/nile-textarea/nile-textarea.js +3 -4
  727. package/dist/src/nile-textarea/nile-textarea.js.map +1 -1
  728. package/dist/tsconfig.tsbuildinfo +1 -1
  729. package/package.json +1 -1
  730. package/src/index.ts +4 -0
  731. package/src/nile-button/nile-button.ts +13 -1
  732. package/src/nile-checkbox/nile-checkbox.ts +3 -2
  733. package/src/nile-chip/nile-chip.ts +2 -2
  734. package/src/nile-empty-state/index.ts +1 -0
  735. package/src/nile-empty-state/nile-empty-state.css.ts +131 -0
  736. package/src/nile-empty-state/nile-empty-state.ts +117 -0
  737. package/src/nile-error-notification/nile-error-notification.ts +1 -1
  738. package/src/nile-form-help-text/nile-form-help-text.css.ts +0 -1
  739. package/src/nile-form-help-text/nile-form-help-text.ts +3 -3
  740. package/src/nile-hero/index.ts +1 -0
  741. package/src/nile-hero/nile-hero.css.ts +71 -0
  742. package/src/nile-hero/nile-hero.ts +70 -0
  743. package/src/nile-icon/icons/svg/alert-circle.ts +5 -0
  744. package/src/nile-icon/icons/svg/arrow-narrow-left.ts +5 -0
  745. package/src/nile-icon/icons/svg/book-closed.ts +5 -0
  746. package/src/nile-icon/icons/svg/box.ts +5 -0
  747. package/src/nile-icon/icons/svg/check.ts +5 -0
  748. package/src/nile-icon/icons/svg/chevron-left-double.ts +5 -0
  749. package/src/nile-icon/icons/svg/chevron-selector-vertical.ts +5 -0
  750. package/src/nile-icon/icons/svg/clock-check.ts +5 -0
  751. package/src/nile-icon/icons/svg/clock-rewind.ts +5 -0
  752. package/src/nile-icon/icons/svg/clock.ts +5 -0
  753. package/src/nile-icon/icons/svg/cloud-01.ts +5 -0
  754. package/src/nile-icon/icons/svg/copy-06.ts +5 -0
  755. package/src/nile-icon/icons/svg/dataflow-03.ts +5 -0
  756. package/src/nile-icon/icons/svg/dataflow-04.ts +5 -0
  757. package/src/nile-icon/icons/svg/dotpoints-02.ts +5 -0
  758. package/src/nile-icon/icons/svg/dots-vertical.ts +5 -0
  759. package/src/nile-icon/icons/svg/download-02.ts +5 -0
  760. package/src/nile-icon/icons/svg/edit-01.ts +5 -0
  761. package/src/nile-icon/icons/svg/expand-06.ts +5 -0
  762. package/src/nile-icon/icons/svg/eye-off.ts +5 -0
  763. package/src/nile-icon/icons/svg/file-06.ts +5 -0
  764. package/src/nile-icon/icons/svg/file-shield-01.ts +5 -0
  765. package/src/nile-icon/icons/svg/globe-03.ts +5 -0
  766. package/src/nile-icon/icons/svg/grid-01.ts +5 -0
  767. package/src/nile-icon/icons/svg/help-circle.ts +5 -0
  768. package/src/nile-icon/icons/svg/index.ts +36 -1
  769. package/src/nile-icon/icons/svg/layout-alt-02.ts +5 -0
  770. package/src/nile-icon/icons/svg/layout-alt-03.ts +5 -0
  771. package/src/nile-icon/icons/svg/marker-pin-01.ts +5 -0
  772. package/src/nile-icon/icons/svg/play-circle.ts +5 -0
  773. package/src/nile-icon/icons/svg/refresh-cw-03.ts +5 -0
  774. package/src/nile-icon/icons/svg/search-lg.ts +5 -0
  775. package/src/nile-icon/icons/svg/server-03.ts +5 -0
  776. package/src/nile-icon/icons/svg/stop-circle.ts +5 -0
  777. package/src/nile-icon/icons/svg/user-circle.ts +5 -0
  778. package/src/nile-icon/icons/svg/x-circle.ts +5 -0
  779. package/src/nile-icon/index.ts +9 -0
  780. package/src/nile-input/nile-input.css.ts +14 -9
  781. package/src/nile-input/nile-input.ts +13 -16
  782. package/src/nile-page-header/nile-page-header.css.ts +2 -6
  783. package/src/nile-page-header/nile-page-header.ts +0 -1
  784. package/src/nile-radio-group/nile-radio-group.ts +2 -2
  785. package/src/nile-select/nile-select.ts +26 -20
  786. package/src/nile-slide-toggle/nile-slide-toggle.css.ts +18 -9
  787. package/src/nile-slide-toggle/nile-slide-toggle.ts +28 -34
  788. package/src/nile-stepper/index.ts +1 -0
  789. package/src/nile-stepper/nile-stepper.css.ts +21 -0
  790. package/src/nile-stepper/nile-stepper.ts +127 -0
  791. package/src/nile-stepper-item/index.ts +1 -0
  792. package/src/nile-stepper-item/nile-stepper-item.css.ts +123 -0
  793. package/src/nile-stepper-item/nile-stepper-item.ts +138 -0
  794. package/src/nile-tab/nile-tab.css.ts +11 -11
  795. package/src/nile-tab-group/nile-tab-group.css.ts +2 -2
  796. package/src/nile-tab-group/nile-tab-group.ts +1 -1
  797. package/src/nile-table-body/nile-table-body.ts +4 -39
  798. package/src/nile-table-header-item/nile-table-header-item.css.ts +8 -0
  799. package/src/nile-table-header-item/nile-table-header-item.ts +27 -18
  800. package/src/nile-table-row/nile-table-row.ts +21 -1
  801. package/src/nile-textarea/nile-textarea.ts +2 -4
@@ -1 +1 @@
1
- {"version":3,"file":"nile-select.cjs.js","sources":["../../../src/nile-select/nile-select.ts"],"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 property,\n CSSResultArray,\n TemplateResult,\n} from 'lit-element';\nimport { customElement } 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 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({ type: Boolean, reflect: true }) blockValueChange = 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' }) helpText = '';\n\n @property({ attribute: 'error-message' }) 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 }\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.emit('nile-input', { value: this.value, name: this.name });\n this.emit('nile-change', { 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 // Navigate options\n if (['ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n const allOptions = this.getAllOptions();\n const currentIndex = allOptions.indexOf(this.currentOption);\n let newIndex = Math.max(0, currentIndex);\n\n // Prevent scrolling\n event.preventDefault();\n\n // Open it\n if (!this.open) {\n this.show();\n\n // If an option is already selected, stop here because we want that one to remain highlighted when the listbox\n // opens for the first time\n if (this.currentOption) {\n return;\n }\n }\n\n if (event.key === 'ArrowDown') {\n newIndex = currentIndex + 1;\n if (newIndex > allOptions.length - 1) newIndex = 0;\n } else if (event.key === 'ArrowUp') {\n newIndex = currentIndex - 1;\n if (newIndex < 0) newIndex = allOptions.length - 1;\n } else if (event.key === 'Home') {\n newIndex = 0;\n } else if (event.key === 'End') {\n newIndex = allOptions.length - 1;\n }\n\n this.setCurrentOption(allOptions[newIndex]);\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 this.emit('nile-clear', { value: this.value, name: this.name });\n this.emit('nile-input', { value: this.value, name: this.name });\n this.emit('nile-change', { value: this.value, name: this.name });\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.emit('nile-input', { value: this.value, name: this.name });\n this.emit('nile-change', { 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.emit('nile-input', { value: this.value, name: this.name });\n this.emit('nile-change', { value: this.value, name: this.name });\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 }\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 let filteredOptions = this.filterOptions(this.searchValue);\n\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 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 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\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.searchValue = '';\n this.filterOptions(this.searchValue);\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.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.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 ${this.searchEnabled\n ? html` <div class=\"select__search\">\n <nile-input\n size=\"small\"\n clearable\n .value=${this.searchValue}\n placeholder=\"Search...\"\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 <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\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"],"names":["NileSelect","y","constructor","this","formControlController","FormControlController","assumeInteractionOn","hasSlotController","HasSlotController","typeToSelectString","hasFocus","displayLabel","selectedOptions","oldValue","name","value","defaultValue","size","placeholder","searchValue","searchEnabled","blockValueChange","optionsLoading","noWidthSync","multiple","helpText","errorMessage","warning","error","success","maxOptionsVisible","disabled","clearable","open","hoist","filled","pill","label","placement","form","required","showSelected","oldMaxOptionsVisible","showNoResults","noResultsMessage","_this","_inherits","_u","_createClass","key","get","_this$valueInput","valueInput","validity","_this$valueInput2","validationMessage","connectedCallback","super","handleDocumentFocusIn","bind","handleDocumentKeyDown","handleDocumentMouseDown","emit","disconnectedCallback","addOpenListeners","document","addEventListener","removeOpenListeners","removeEventListener","handleFocus","displayInput","setSelectionRange","handleBlur","event","path","composedPath","includes","hide","handleFooterClick","stopPropagation","preventDefault","toggleShowSelected","_this$selectedOptions","_this2","length","getAllOptions","forEach","el","selected","hidden","requestUpdate","unSlectAll","selectionChanged","_this3","target","isClearButton","closest","isIconButton","focus","preventScroll","stopImmediatePropagation","currentOption","toggleOptionSelection","setSelectedOptions","updateComplete","then","show","allOptions","currentIndex","indexOf","newIndex","Math","max","setCurrentOption","metaKey","ctrlKey","altKey","clearTimeout","typeToSelectTimeout","window","setTimeout","slice","toLowerCase","_iterator","_createForOfIteratorHelper","s","_step","n","done","option","getTextLabel","startsWith","err","e","f","handleLabelClick","handleComboboxMouseDown","some","Element","tagName","handleComboboxKeyDown","handleClearClick","handleClearMouseDown","handleOptionClick","handleDefaultSlotChange","Array","isArray","values","customElements","push","filter","map","String","whenDefined","handleTagRemove","_this7","_this$oldValue","_this8","options","_toConsumableArray","querySelectorAll","sort","a","b","indexA","indexB","Infinity","getOptionPrefix","_i$shadowRoot","prefixSlot","shadowRoot","querySelector","assignedNodes","htmlStrings","node","HTMLElement","outerHTML","nodeType","Node","TEXT_NODE","textContent","join","getFirstOption","current","tabIndex","newSelectedOptions","force","_this$selectedOptions4","updateValidity","calculateTotalWidthOfTags","handleSearchFocus","handleSearchBlur","handleSearchChange","detail","filterOptions","lowerCaseSearchValue","filteredOptions","lowerCaseLabel","lowerCaseValue","handleInvalid","setValidity","emitInvalidEvent","handleDisabledChange","handleOpenChange","handleValueChange","_handleOpenChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_this10","_m","_i2","_s3","_m2","_i3","_s4","wrap","_callee$","_context2","prev","next","stopAnimations","listbox","popup","active","requestAnimationFrame","getAnimation","dir","animateTo","keyframes","scrollIntoView","stop","apply","arguments","_show","_callee2","_callee2$","_context3","waitForEvent","_hide","_callee3","_callee3$","_context4","abrupt","checkValidity","getForm","reportValidity","setCustomValidity","message","blur","onInputChange","calculateWidthOfSelectTagsDiv","selectTagsDiv","offsetWidth","widths","tag","widthOfSelectTagsDiv","summ","lastindex","i","render","hasLabelSlot","test","hasLabelSuffixSlot","hasCustomSelect","hasLabel","hasClearIcon","isPlaceholderVisible","hasHelpText","hasErrorMessage","prefixContent","html","_templateObject","_taggedTemplateLiteral","classMap","_templateObject2","select","ifDefined","undefined","_templateObject3","_templateObject4","select__combobox","_templateObject5","unsafeHTML","_templateObject6","select__prefix","_templateObject7","index","classes","select__invisible","_templateObject8","_templateObject9","_templateObject10","_templateObject11","select__suffix","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","NileElement","styles","__decorate","query","prototype","state","property","converter","fromAttribute","split","toAttribute","type","Boolean","reflect","attribute","Number","watch","waitUntilFirstUpdate","customElement","setDefaultAnimation","opacity","scale","duration","easing"],"mappings":"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"}
1
+ {"version":3,"file":"nile-select.cjs.js","sources":["../../../src/nile-select/nile-select.ts"],"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 property,\n CSSResultArray,\n TemplateResult,\n} from 'lit-element';\nimport { customElement } 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 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({ 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 }\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.emit('nile-input', { value: this.value, name: this.name });\n this.emit('nile-change', { 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 // Navigate options\n if (['ArrowUp', 'ArrowDown', 'Home', 'End'].includes(event.key)) {\n const allOptions = this.getAllOptions();\n const currentIndex = allOptions.indexOf(this.currentOption);\n let newIndex = Math.max(0, currentIndex);\n\n // Prevent scrolling\n event.preventDefault();\n\n // Open it\n if (!this.open) {\n this.show();\n\n // If an option is already selected, stop here because we want that one to remain highlighted when the listbox\n // opens for the first time\n if (this.currentOption) {\n return;\n }\n }\n\n if (event.key === 'ArrowDown') {\n newIndex = currentIndex + 1;\n if (newIndex > allOptions.length - 1) newIndex = 0;\n } else if (event.key === 'ArrowUp') {\n newIndex = currentIndex - 1;\n if (newIndex < 0) newIndex = allOptions.length - 1;\n } else if (event.key === 'Home') {\n newIndex = 0;\n } else if (event.key === 'End') {\n newIndex = allOptions.length - 1;\n }\n\n this.setCurrentOption(allOptions[newIndex]);\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 this.emit('nile-clear', { value: this.value, name: this.name });\n this.emit('nile-input', { value: this.value, name: this.name });\n this.emit('nile-change', { value: this.value, name: this.name });\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.emit('nile-input', { value: this.value, name: this.name });\n this.emit('nile-change', { 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.emit('nile-input', { value: this.value, name: this.name });\n this.emit('nile-change', { value: this.value, name: this.name });\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 }\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\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.searchValue = '';\n this.filterOptions(this.searchValue);\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.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=\"Search...\"\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\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"],"names":["NileSelect","y","this","formControlController","FormControlController","assumeInteractionOn","hasSlotController","HasSlotController","typeToSelectString","hasFocus","displayLabel","selectedOptions","oldValue","name","value","defaultValue","size","placeholder","searchValue","searchEnabled","blockValueChange","disableLocalSearch","optionsLoading","noWidthSync","multiple","helpText","errorMessage","warning","error","success","maxOptionsVisible","disabled","clearable","open","hoist","filled","pill","label","placement","form","required","showSelected","oldMaxOptionsVisible","showNoResults","noResultsMessage","_this","_inherits","_u","_createClass","key","get","validity","_this$valueInput","valueInput","_this$valueInput2","validationMessage","connectedCallback","super","handleDocumentFocusIn","bind","handleDocumentKeyDown","handleDocumentMouseDown","emit","disconnectedCallback","addOpenListeners","document","addEventListener","removeOpenListeners","removeEventListener","handleFocus","displayInput","setSelectionRange","handleBlur","event","path","composedPath","includes","hide","handleFooterClick","stopPropagation","preventDefault","toggleShowSelected","length","getAllOptions","forEach","el","selected","hidden","requestUpdate","unSlectAll","selectionChanged","_this3","target","isClearButton","closest","isIconButton","focus","preventScroll","stopImmediatePropagation","currentOption","toggleOptionSelection","setSelectedOptions","updateComplete","then","show","allOptions","currentIndex","indexOf","newIndex","Math","max","setCurrentOption","metaKey","ctrlKey","altKey","clearTimeout","typeToSelectTimeout","window","setTimeout","slice","toLowerCase","_iterator","_createForOfIteratorHelper","s","_step","n","done","option","getTextLabel","startsWith","err","e","f","handleLabelClick","handleComboboxMouseDown","some","Element","tagName","handleComboboxKeyDown","handleClearClick","handleClearMouseDown","handleOptionClick","handleDefaultSlotChange","Array","isArray","values","customElements","push","filter","map","String","whenDefined","handleTagRemove","_this7","_this$oldValue","_this8","options","_toConsumableArray","querySelectorAll","sort","a","b","indexA","indexB","Infinity","getOptionPrefix","prefixSlot","shadowRoot","querySelector","assignedNodes","htmlStrings","node","HTMLElement","outerHTML","nodeType","Node","TEXT_NODE","textContent","join","getFirstOption","current","tabIndex","newSelectedOptions","force","_this9","_this$selectedOptions2","_this$selectedOptions3","_this$selectedOptions4","_this$value","updateValidity","calculateTotalWidthOfTags","handleSearchFocus","handleSearchBlur","handleSearchChange","detail","filterOptions","lowerCaseSearchValue","filteredOptions","lowerCaseLabel","lowerCaseValue","handleInvalid","setValidity","emitInvalidEvent","handleDisabledChange","handleOpenChange","handleValueChange","_handleOpenChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_this10","_this$getAllOptions","_m","_i2","_s3","_m2","_i3","_s4","wrap","_callee$","_context2","prev","next","stopAnimations","listbox","popup","active","requestAnimationFrame","getAnimation","dir","animateTo","keyframes","scrollIntoView","stop","apply","arguments","_show","_callee2","_callee2$","_context3","waitForEvent","_hide","_callee3","_callee3$","_context4","checkValidity","getForm","reportValidity","setCustomValidity","message","blur","onInputChange","calculateWidthOfSelectTagsDiv","selectTagsDiv","offsetWidth","widths","tag","widthOfSelectTagsDiv","summ","lastindex","i","render","_this12","hasLabelSlot","test","hasLabelSuffixSlot","hasCustomSelect","hasLabel","hasClearIcon","isPlaceholderVisible","hasHelpText","hasErrorMessage","prefixContent","html","_templateObject","_taggedTemplateLiteral","classMap","_templateObject2","select","ifDefined","undefined","_templateObject3","_templateObject4","select__combobox","_templateObject5","unsafeHTML","_templateObject6","select__prefix","_templateObject7","index","classes","select__invisible","_templateObject8","_templateObject9","_templateObject10","_templateObject11","select__suffix","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","NileElement","styles","__decorate","query","prototype","state","property","converter","fromAttribute","split","toAttribute","type","Boolean","reflect","attribute","Number","watch","waitUntilFirstUpdate","customElement","setDefaultAnimation","opacity","scale","duration","easing"],"mappings":"oh0DAgGaA,CAAAA,uBAAAA,EAAAA,EAAN,SAAAC,EAAA,qEAGYC,EAAAA,KAAAA,CAAAC,qBAAwB,CAAA,GAAIC,CAAAA,gCAA4B,CACvEC,mBAAqB,CAAA,CAAC,WAAa,CAAA,YAAA,CAAA,CAAA,CAAA,CAEpBH,KAAAA,CAAiBI,iBAAAA,CAAG,GAAIC,CAAAA,CACvCL,CAAAA,sBAAAA,CAAAA,KAAAA,EACA,WACA,CAAA,OAAA,CAAA,CAEMA,KAAAA,CAAkBM,kBAAAA,CAAG,EASZN,CAAAA,KAAAA,CAAQO,UAAG,CACnBP,CAAAA,KAAAA,CAAYQ,YAAG,CAAA,EAAA,CAEfR,KAAAA,CAAeS,eAAAA,CAAiB,EAChCT,CAAAA,KAAAA,CAAQU,QAAsB,CAAA,EAAA,CAG3BV,KAAAA,CAAIW,IAAAA,CAAG,EAYnBX,CAAAA,KAAAA,CAAKY,KAAsB,CAAA,EAAA,CAGXZ,KAAAA,CAAYa,YAAsB,CAAA,EAAA,CAGtCb,KAAAA,CAAIc,IAAAA,CAAiC,QAGrCd,CAAAA,KAAAA,CAAWe,WAAG,CAAA,WAAA,CAGjBf,KAAAA,CAAWgB,WAAW,CAAA,EAAA,CAEahB,KAAAA,CAAaiB,aAAAA,CAAAA,CAAG,CAEhBjB,CAAAA,KAAAA,CAAgBkB,gBAAG,CAAA,CAAA,CAAA,CAEnBlB,KAAAA,CAAkBmB,kBAAG,CAAA,CAAA,CAAA,CAErBnB,KAAAA,CAAcoB,cAAAA,CAAAA,CAAG,CAEjBpB,CAAAA,KAAAA,CAAWqB,WAAG,CAAA,CAAA,CAAA,CAGdrB,KAAAA,CAAQsB,QAAG,CAAA,CAAA,CAAA,CAEFtB,KAAAA,CAAQuB,QAAAA,CAAG,EAEPvB,CAAAA,KAAAA,CAAYwB,YAAG,CAAA,EAAA,CAG3CxB,KAAAA,CAAOyB,OAAG,CAAA,CAAA,CAAA,CAGVzB,KAAAA,CAAK0B,KAAAA,CAAAA,CAAG,CAGR1B,CAAAA,KAAAA,CAAO2B,OAAG,CAAA,CAAA,CAAA,CAOvC3B,KAAAA,CAAiB4B,iBAAG,CAAA,CAAA,CAGwB5B,KAAAA,CAAQ6B,QAAAA,CAAAA,CAAG,CAG1B7B,CAAAA,KAAAA,CAAS8B,SAAG,CAAA,CAAA,CAAA,CAMG9B,KAAAA,CAAI+B,IAAG,CAAA,CAAA,CAAA,CAMtB/B,KAAAA,CAAKgC,KAAAA,CAAAA,CAAG,CAGOhC,CAAAA,KAAAA,CAAMiC,MAAG,CAAA,CAAA,CAAA,CAGTjC,KAAAA,CAAIkC,IAAG,CAAA,CAAA,CAAA,CAGvClC,KAAAA,CAAKmC,KAAAA,CAAG,EAMSnC,CAAAA,KAAAA,CAASoC,SAAqB,CAAA,QAAA,CAO9BpC,KAAAA,CAAIqC,IAAG,CAAA,EAAA,CAGQrC,KAAAA,CAAQsC,QAAAA,CAAAA,CAAG,CAE1BtC,CAAAA,KAAAA,CAAYuC,YAAG,CAAA,CAAA,CAAA,CAEnCvC,KAAAA,CAAoBwC,oBAAW,CAAA,CAAA,CAEXxC,KAAAA,CAAayC,aAAAA,CAAAA,CAAY,CAE1BzC,CAAAA,KAAAA,CAAgB0C,gBAAW,CAAA,kBAwkCxD,QAAAC,KAAA,EArkCCC,SAAA,CAAA7C,CAAA,CAAA8C,EAAA,SAAAC,YAAA,CAAA/C,CAAA,GAAAgD,GAAA,YAAAC,GAAA,UAAAA,IAAA,CAAIC,KAAAA,gBAAAA,CACF,OAAAC,gBAAA,CAAOlD,IAAAA,CAAKmD,UAAYF,UAAAA,gBAAAA,iBAAjBjD,gBAAAA,CAAiBiD,QACzB,EAGD,GAAAF,GAAA,qBAAAC,GAAA,UAAAA,IAAA,wBACE,OAAAI,iBAAA,CAAOpD,IAAAA,CAAKmD,UAAYE,UAAAA,iBAAAA,iBAAjBrD,iBAAAA,CAAiBqD,iBACzB,EAED,GAAAN,GAAA,qBAAAnC,KAAA,UAAA0C,kBAAA,CACEC,CAAAA,IAAAA,CAAAA,eAAAA,CAAAA,CAAAA,CAAAA,SAAAA,4BAAAA,IAAAA,OACAvD,IAAKwD,CAAAA,qBAAAA,CAAwBxD,IAAKwD,CAAAA,qBAAAA,CAAsBC,IAAKzD,CAAAA,IAAAA,CAAAA,CAC7DA,IAAK0D,CAAAA,qBAAAA,CAAwB1D,KAAK0D,qBAAsBD,CAAAA,IAAAA,CAAKzD,IAC7DA,CAAAA,CAAAA,IAAAA,CAAK2D,uBAA0B3D,CAAAA,IAAAA,CAAK2D,uBAAwBF,CAAAA,IAAAA,CAAKzD,MAGjEA,IAAK+B,CAAAA,IAAAA,CAAAA,CAAO,CACZ/B,CAAAA,IAAAA,CAAK4D,IAAK,CAAA,WAAA,CACX,EAED,GAAAb,GAAA,wBAAAnC,KAAA,UAAAiD,qBAAA,CACEN,CAAAA,IAAAA,CAAAA,eAAAA,CAAAA,CAAAA,CAAAA,SAAAA,+BAAAA,IAAAA,OACAvD,IAAAA,CAAK4D,IAAK,CAAA,cAAA,CACX,EAEO,GAAAb,GAAA,oBAAAnC,KAAA,UAAAkD,iBAAA,EACNC,QAASC,CAAAA,gBAAAA,CAAiB,SAAWhE,CAAAA,IAAAA,CAAKwD,qBAC1CO,CAAAA,CAAAA,QAAAA,CAASC,gBAAiB,CAAA,SAAA,CAAWhE,KAAK0D,qBAC1CK,CAAAA,CAAAA,QAAAA,CAASC,gBAAiB,CAAA,WAAA,CAAahE,IAAK2D,CAAAA,uBAAAA,CAC7C,EAEO,GAAAZ,GAAA,uBAAAnC,KAAA,UAAAqD,oBAAA,EACNF,QAASG,CAAAA,mBAAAA,CAAoB,SAAWlE,CAAAA,IAAAA,CAAKwD,qBAC7CO,CAAAA,CAAAA,QAAAA,CAASG,mBAAoB,CAAA,SAAA,CAAWlE,KAAK0D,qBAC7CK,CAAAA,CAAAA,QAAAA,CAASG,mBAAoB,CAAA,WAAA,CAAalE,IAAK2D,CAAAA,uBAAAA,CAChD,EAEO,GAAAZ,GAAA,eAAAnC,KAAA,UAAAuD,YAAA,EACNnE,IAAKO,CAAAA,QAAAA,CAAAA,CAAW,CAChBP,CAAAA,IAAAA,CAAKoE,YAAaC,CAAAA,iBAAAA,CAAkB,CAAG,CAAA,CAAA,CAAA,CACvCrE,KAAK4D,IAAK,CAAA,YAAA,CAAc,CAAEhD,KAAAA,CAAOZ,IAAKY,CAAAA,KAAAA,CAAOD,IAAMX,CAAAA,IAAAA,CAAKW,MACzD,EAEO,GAAAoC,GAAA,cAAAnC,KAAA,UAAA0D,WAAA,CACNtE,CAAAA,IAAAA,CAAKO,QAAW,CAAA,CAAA,CAAA,CAChBP,IAAK4D,CAAAA,IAAAA,CAAK,YAAa,CAAEhD,KAAAA,CAAOZ,IAAKY,CAAAA,KAAAA,CAAOD,IAAMX,CAAAA,IAAAA,CAAKW,IACxD,CAAA,CAAA,EAEO,GAAAoC,GAAA,yBAAAnC,KAAA,UAAA4C,sBAAsBe,CAAAA,CAAAA,CAE5B,GAAMC,CAAAA,CAAAA,CAAOD,CAAME,CAAAA,YAAAA,CAAAA,CAAAA,CACfzE,IAASwE,EAAAA,CAAAA,CAAAA,CAAKE,SAAS1E,IACzBA,CAAAA,EAAAA,IAAAA,CAAK2E,IAER,CAAA,CAAA,EAMO,GAAA5B,GAAA,qBAAAnC,KAAA,UAAAgE,kBAAkBL,CACxBA,CAAAA,CAAAA,CAAAA,CAAMM,kBACNN,CAAMO,CAAAA,cAAAA,CAAAA,CACP,EAMO,GAAA/B,GAAA,sBAAAnC,KAAA,UAAAmE,mBAAmBR,CAAAA,CAAAA,KAAAA,qBAAAA,CAAAA,MAAAA,MAIzB,GAHAA,CAAAA,CAAMM,kBACNN,CAAMO,CAAAA,cAAAA,CAAAA,CAAAA,CAE+B,CAAjC9E,KAAAA,qBAAAA,CAAAA,IAAAA,CAAKS,eAAiBuE,UAAAA,qBAAAA,iBAAtBhF,qBAAAA,CAAsBgF,MAAAA,EACxB,OAGFhF,IAAAA,CAAKuC,cAAgBvC,IAAKuC,CAAAA,YAAAA,CAGPvC,IAAKiF,CAAAA,aAAAA,CAAAA,CAAAA,CACbC,OAAQC,CAAAA,SAAAA,CAAAA,CAAAA,CACZA,CAAGC,CAAAA,QAAAA,GACND,EAAGE,MAASrF,CAAAA,MAAAA,CAAKuC,YAClB,CAAA,EAAA,CAAA,CAGHvC,IAAKsF,CAAAA,aAAAA,CAAAA,CACN,EAKO,GAAAvC,GAAA,cAAAnC,KAAA,UAAA2E,WAAA,EACNvF,IAAKuC,CAAAA,YAAAA,CAAAA,CAAe,CACDvC,CAAAA,IAAAA,CAAKiF,aACbC,CAAAA,CAAAA,CAAAA,OAAAA,CAAQC,SAAAA,CACjBA,CAAAA,CAAAA,CAAAA,CAAGC,QAAW,CAAA,CAAA,CAAA,CACdD,CAAGE,CAAAA,MAAAA,CAAAA,CAAS,CAAK,EAAA,CAAA,CAEnBrF,IAAKY,CAAAA,KAAAA,CAAQ,GACbZ,IAAKwF,CAAAA,gBAAAA,CAAAA,CAAAA,CACLxF,IAAK4D,CAAAA,IAAAA,CAAK,aAAe,CAAA,CAAEhD,KAAOZ,CAAAA,IAAAA,CAAKY,MAAOD,IAAMX,CAAAA,IAAAA,CAAKW,IAC1D,CAAA,CAAA,EAEO,GAAAoC,GAAA,yBAAAnC,KAAA,UAAA8C,sBAAsBa,CAC5B,CAAA,KAAAkB,MAAA,MAAA,GAAMC,CAAAA,EAASnB,CAAMmB,CAAAA,MAAAA,CACfC,CAAqD,CAAA,IAAA,GAArCD,CAAOE,CAAAA,OAAAA,CAAQ,gBAC/BC,CAAAA,CAAAA,CAAAA,CAAsD,OAAvCH,CAAOE,CAAAA,OAAAA,CAAQ,kBAGpC,CAAA,CAAA,GAAA,CAAID,CAAiBE,EAAAA,CAAAA,CAAAA,CAArB,CAcA,GATkB,WAAdtB,CAAMxB,CAAAA,GAAAA,EAAoB/C,IAAK+B,CAAAA,IAAAA,GACjCwC,CAAMO,CAAAA,cAAAA,CAAAA,CAAAA,CACNP,CAAMM,CAAAA,eAAAA,CAAAA,CAAAA,CACN7E,KAAK2E,IACL3E,CAAAA,CAAAA,CAAAA,IAAAA,CAAKoE,YAAa0B,CAAAA,KAAAA,CAAM,CAAEC,aAAAA,CAAAA,CAAe,CAM3B,CAAA,CAAA,CAAA,CAAA,OAAA,GAAdxB,EAAMxB,GACS,EAAA,GAAA,GAAdwB,CAAMxB,CAAAA,GAAAA,EAA2C,EAA5B/C,GAAAA,IAAAA,CAAKM,kBAM3B,CAAA,MAJAiE,CAAAA,EAAMO,cACNP,CAAAA,CAAAA,CAAAA,CAAAA,CAAMyB,wBAGDhG,CAAAA,CAAAA,CAAAA,IAAAA,CAAK+B,IAMN/B,CAAAA,KAAAA,IAAAA,CAAKiG,aAAkBjG,EAAAA,CAAAA,IAAAA,CAAKiG,cAAcpE,QACxC7B,GAAAA,IAAAA,CAAKsB,QACPtB,CAAAA,IAAAA,CAAKkG,qBAAsBlG,CAAAA,IAAAA,CAAKiG,aAEhCjG,CAAAA,CAAAA,IAAAA,CAAKmG,mBAAmBnG,IAAKiG,CAAAA,aAAAA,CAAAA,CAI/BjG,IAAKoG,CAAAA,cAAAA,CAAeC,IAAK,CAAA,UAAA,CACvBrG,MAAK4D,CAAAA,IAAAA,CAAK,aAAc,CAAEhD,KAAAA,CAAOZ,MAAKY,CAAAA,KAAAA,CAAOD,IAAMX,CAAAA,MAAAA,CAAKW,IACxDX,CAAAA,CAAAA,CAAAA,MAAAA,CAAK4D,KAAK,aAAe,CAAA,CAAEhD,KAAOZ,CAAAA,MAAAA,CAAKY,KAAOD,CAAAA,IAAAA,CAAMX,MAAKW,CAAAA,IAAAA,CAAAA,CAAO,IAG7DX,IAAKsB,CAAAA,QAAAA,GACRtB,IAAK2E,CAAAA,IAAAA,CAAAA,CAAAA,CACL3E,IAAKoE,CAAAA,YAAAA,CAAa0B,KAAM,CAAA,CAAEC,eAAe,CApB3C/F,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,KAAAA,CAAKsG,IA4BT,CAAA,CAAA,CAAA,GAAI,CAAC,SAAA,CAAW,WAAa,CAAA,MAAA,CAAQ,OAAO5B,QAASH,CAAAA,CAAAA,CAAMxB,GAAM,CAAA,CAAA,CAC/D,GAAMwD,CAAAA,EAAAA,CAAavG,IAAKiF,CAAAA,aAAAA,CAAAA,CAAAA,CAClBuB,EAAeD,CAAAA,EAAAA,CAAWE,OAAQzG,CAAAA,IAAAA,CAAKiG,aAC7C,CAAA,CAAA,GAAIS,CAAAA,EAAWC,CAAAA,IAAAA,CAAKC,IAAI,CAAGJ,CAAAA,EAAAA,CAAAA,CAM3B,GAHAjC,CAAAA,CAAMO,cAGD9E,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAK+B,IACR/B,GAAAA,IAAAA,CAAKsG,OAIDtG,IAAKiG,CAAAA,aAAAA,CAAAA,CACP,OAIc,WAAA,GAAd1B,CAAMxB,CAAAA,GAAAA,EACR2D,EAAWF,CAAAA,EAAAA,CAAe,EACtBE,EAAWH,CAAAA,EAAAA,CAAWvB,MAAS,CAAA,CAAA,GAAG0B,EAAW,CAAA,CAAA,CAAA,EAC1B,SAAdnC,GAAAA,CAAAA,CAAMxB,KACf2D,EAAWF,CAAAA,EAAAA,CAAe,CACtBE,CAAAA,EAAAA,CAAW,CAAGA,GAAAA,EAAAA,CAAWH,EAAWvB,CAAAA,MAAAA,CAAS,IAC1B,MAAdT,GAAAA,CAAAA,CAAMxB,GACf2D,CAAAA,EAAAA,CAAW,CACY,CAAA,KAAA,GAAdnC,CAAMxB,CAAAA,GAAAA,GACf2D,GAAWH,EAAWvB,CAAAA,MAAAA,CAAS,CAGjChF,CAAAA,CAAAA,IAAAA,CAAK6G,gBAAiBN,CAAAA,EAAAA,CAAWG,EAClC,CAAA,CAAA,EAGD,GAAyB,CAArBnC,GAAAA,CAAAA,CAAMxB,GAAIiC,CAAAA,MAAAA,EAA8B,WAAdT,GAAAA,CAAAA,CAAMxB,GAAqB,CAAA,CACvD,GAAMwD,CAAAA,GAAavG,CAAAA,IAAAA,CAAKiF,aAGxB,CAAA,CAAA,CAAA,GAAIV,CAAMuC,CAAAA,OAAAA,EAAWvC,CAAMwC,CAAAA,OAAAA,EAAWxC,EAAMyC,MAC1C,CAAA,OAIF,GAAKhH,CAAAA,IAAAA,CAAK+B,IAAM,CAAA,CACd,GAAkB,WAAA,GAAdwC,EAAMxB,GACR,CAAA,OAGF/C,IAAKsG,CAAAA,IAAAA,CAAAA,CACN,EAED/B,CAAAA,CAAMM,eACNN,CAAAA,CAAAA,CAAAA,CAAAA,CAAMO,iBAENmC,YAAajH,CAAAA,IAAAA,CAAKkH,mBAClBlH,CAAAA,CAAAA,IAAAA,CAAKkH,mBAAsBC,CAAAA,MAAAA,CAAOC,UAChC,CAAA,iBAAOpH,CAAAA,OAAKM,kBAAqB,CAAA,EAAA,GACjC,GAGgB,CAAA,CAAA,WAAA,GAAdiE,CAAMxB,CAAAA,GAAAA,CACR/C,IAAKM,CAAAA,kBAAAA,CAAqBN,KAAKM,kBAAmB+G,CAAAA,KAAAA,CAAM,CAAI,CAAA,CAAA,CAAA,CAAA,CAE5DrH,IAAKM,CAAAA,kBAAAA,EAAsBiE,CAAMxB,CAAAA,GAAAA,CAAIuE,cAGvC,IAAAC,SAAA,CAAAC,0BAAA,CAAqBjB,GAAAA,EAAAA,KAAAA,KAArB,IAAAgB,SAAA,CAAAE,CAAA,KAAAC,KAAA,CAAAH,SAAA,CAAAI,CAAA,IAAAC,IAAA,EAAiC,IAAtBC,CAAAA,EAAUtB,CAAAA,KAAAA,CAAAA,KAAAA,CAGnB,GAFcsB,EAAOC,CAAAA,YAAAA,CAAAA,CAAAA,CAAeR,cAE1BS,UAAW/H,CAAAA,IAAAA,CAAKM,kBAAqB,CAAA,CAAA,CAC7CN,IAAK6G,CAAAA,gBAAAA,CAAiBgB,EACtB,CAAA,CAAA,MACD,CACF,CACF,OAAAG,GAAA,EAAAT,SAAA,CAAAU,CAAA,CAAAD,GAAA,WAAAT,SAAA,CAAAW,CAAA,KA5HA,CA6HF,CAEO,GAAAnF,GAAA,2BAAAnC,KAAA,UAAA+C,wBAAwBY,CAAAA,CAAAA,CAE9B,GAAMC,CAAAA,CAAOD,CAAAA,CAAAA,CAAME,YACfzE,CAAAA,CAAAA,CAAAA,IAAAA,EAAAA,CAASwE,CAAKE,CAAAA,QAAAA,CAAS1E,IACzBA,CAAAA,EAAAA,IAAAA,CAAK2E,MAER,EAEO,GAAA5B,GAAA,oBAAAnC,KAAA,UAAAuH,iBAAA,CACNnI,CAAAA,IAAAA,CAAKoE,YAAa0B,CAAAA,KAAAA,CAAAA,CAAAA,CAClB9F,IAAK2E,CAAAA,IAAAA,CAAAA,CACN,EAEO,GAAA5B,GAAA,2BAAAnC,KAAA,UAAAwH,wBAAwB7D,CAC9B,CAAA,CAAA,GACMsB,CAAAA,CADOtB,CAAAA,CAAAA,CAAME,YACO4D,CAAAA,CAAAA,CAAAA,IAAAA,CACxBlD,SAAAA,SACEA,CAAAA,CAAcmD,WAAAA,CAAAA,OAAAA,EAAwC,kBAA7BnD,GAAAA,CAAAA,CAAGoD,OAAQjB,CAAAA,WAAAA,CAAAA,CAAAA,EAAAA,CAAAA,CAIpCtH,IAAK6B,CAAAA,QAAAA,EAAYgE,IAIrBtB,CAAMO,CAAAA,cAAAA,CAAAA,CAAAA,CACN9E,IAAKoE,CAAAA,YAAAA,CAAa0B,KAAM,CAAA,CAAEC,aAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CACzC/F,KAAK+B,IAAQ/B,CAAAA,CAAAA,IAAAA,CAAK+B,IACnB,CAAA,EAEO,GAAAgB,GAAA,yBAAAnC,KAAA,UAAA4H,sBAAsBjE,CAC5BA,CAAAA,CAAAA,CAAAA,CAAMM,kBACN7E,IAAK0D,CAAAA,qBAAAA,CAAsBa,CAC5B,CAAA,EAEO,GAAAxB,GAAA,oBAAAnC,KAAA,UAAA6H,iBAAiBlE,CACvBA,CAAAA,KAAAA,MAAAA,MAAAA,CAAAA,CAAMM,eAEa,CAAA,CAAA,CAAA,EAAA,GAAf7E,IAAKY,CAAAA,KAAAA,GACPZ,IAAKmG,CAAAA,kBAAAA,CAAmB,EACxBnG,CAAAA,CAAAA,IAAAA,CAAKoE,aAAa0B,KAAM,CAAA,CAAEC,aAAe,CAAA,CAAA,CAAA,CAAA,CAAA,CAGzC/F,IAAKoG,CAAAA,cAAAA,CAAeC,IAAK,CAAA,UAAA,CACvBrG,OAAK4D,IAAK,CAAA,YAAA,CAAc,CAAEhD,KAAAA,CAAOZ,MAAKY,CAAAA,KAAAA,CAAOD,IAAMX,CAAAA,MAAAA,CAAKW,OACxDX,MAAK4D,CAAAA,IAAAA,CAAK,YAAc,CAAA,CAAEhD,KAAOZ,CAAAA,MAAAA,CAAKY,KAAOD,CAAAA,IAAAA,CAAMX,OAAKW,IACxDX,CAAAA,CAAAA,CAAAA,MAAAA,CAAK4D,IAAK,CAAA,aAAA,CAAe,CAAEhD,KAAAA,CAAOZ,MAAKY,CAAAA,KAAAA,CAAOD,KAAMX,MAAKW,CAAAA,IAAAA,CAAAA,CAAO,EAGrE,CAAA,CAAA,EAEO,GAAAoC,GAAA,wBAAAnC,KAAA,UAAA8H,qBAAqBnE,CAE3BA,CAAAA,CAAAA,CAAAA,CAAMM,kBACNN,CAAMO,CAAAA,cAAAA,CAAAA,CACP,EAEO,GAAA/B,GAAA,qBAAAnC,KAAA,UAAA+H,kBAAkBpE,CAAAA,CAAAA,KAAAA,MAAAA,MACxB,GACMsD,CAAAA,CAAAA,CADStD,EAAMmB,MACCE,CAAAA,OAAAA,CAAQ,aAE9B,CAAA,CAAA,GAAI5F,IAAKkB,CAAAA,gBAAAA,EAAoB2G,CAG3B,CAAA,MAFA7H,KAAK4D,CAAAA,IAAAA,CAAK,mBAAqB,CAAA,CAAEhD,KAAOiH,CAAAA,CAAAA,SAAAA,CAAAA,iBAAAA,CAAAA,CAAQjH,KAAOD,CAAAA,IAAAA,CAAMX,KAAKW,IAClEX,CAAAA,CAAAA,CAAAA,IAAAA,KAAAA,CAAK2E,IAIP,CAAA,CAAA,CAAA,GAAMjE,CAAAA,CAAWV,CAAAA,IAAAA,CAAKY,KA6BtB,CAAA,GA5BAZ,KAAKU,QAAWA,CAAAA,CAAAA,CAEZmH,CAAWA,EAAAA,CAAAA,CAAAA,CAAOhG,QAChB7B,GAAAA,IAAAA,CAAKsB,QACPtB,CAAAA,IAAAA,CAAKkG,sBAAsB2B,CAE3B7H,CAAAA,CAAAA,IAAAA,CAAKmG,kBAAmB0B,CAAAA,CAAAA,CAAAA,CAI1B7H,IAAKoG,CAAAA,cAAAA,CAAeC,IAAK,CAAA,iBACvBrG,CAAAA,OAAKoE,YAAa0B,CAAAA,KAAAA,CAAM,CAAEC,aAAAA,CAAAA,CAAe,CAGvC/F,CAAAA,CAAAA,EAAAA,CAAAA,CAAAA,IAAAA,CAAKY,KAAUF,GAAAA,CAAAA,EAEjBV,KAAKoG,cAAeC,CAAAA,IAAAA,CAAK,UACvBrG,CAAAA,MAAAA,CAAK4D,IAAK,CAAA,YAAA,CAAc,CAAEhD,KAAAA,CAAOZ,OAAKY,KAAOD,CAAAA,IAAAA,CAAMX,MAAKW,CAAAA,IAAAA,CAAAA,CAAAA,CACxDX,MAAK4D,CAAAA,IAAAA,CAAK,aAAe,CAAA,CAAEhD,MAAOZ,MAAKY,CAAAA,KAAAA,CAAOD,IAAMX,CAAAA,MAAAA,CAAKW,IAAO,CAAA,CAAA,EAAA,CAAA,CAI/DX,IAAKsB,CAAAA,QAAAA,GACRtB,KAAK2E,IACL3E,CAAAA,CAAAA,CAAAA,IAAAA,CAAKoE,YAAa0B,CAAAA,KAAAA,CAAM,CAAEC,aAAAA,CAAAA,CAAe,CAIzC/F,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAKuC,aAAc,CACFvC,IAAAA,CAAKiF,aACbC,CAAAA,CAAAA,CAAAA,OAAAA,CAAQC,SAAAA,CACZA,CAAAA,CAAAA,CAAAA,CAAGC,QACND,GAAAA,CAAAA,CAAGE,OAASrF,MAAKuC,CAAAA,YAAAA,CAClB,EAGHvC,CAAAA,CAAAA,IAAAA,CAAKsF,aACN,CAAA,CAAA,EACF,CAEO,GAAAvC,GAAA,2BAAAnC,KAAA,UAAAgI,wBAAA,kBACN,GAAMrC,CAAAA,CAAAA,CAAavG,IAAKiF,CAAAA,aAAAA,CAAAA,CAAAA,CAClBrE,CAAQiI,CAAAA,KAAAA,CAAMC,OAAQ9I,CAAAA,IAAAA,CAAKY,OAASZ,IAAKY,CAAAA,KAAAA,CAAQ,CAACZ,IAAAA,CAAKY,KACvDmI,CAAAA,CAAAA,CAAAA,CAAmB,EAGrBC,CAAAA,cAAAA,CAAehG,IAAI,aACrBuD,CAAAA,EAAAA,CAAAA,CAAWrB,OAAQ2C,CAAAA,SAAAA,CAAAA,QAAUkB,CAAAA,CAAOE,CAAAA,IAAAA,CAAKpB,CAAOjH,CAAAA,KAAAA,CAAAA,EAAAA,CAAAA,CAGhDZ,KAAKmG,kBACHI,CAAAA,CAAAA,CAAW2C,MAAO/D,CAAAA,SAAAA,CAAAA,QAAMvE,CAAAA,CAAMuI,CAAAA,GAAAA,CAAIC,MAAQ1E,CAAAA,CAAAA,QAAAA,CAASS,EAAGvE,KAIxDoI,CAAAA,EAAAA,CAAAA,CAAAA,EAAAA,cAAAA,CACGK,WAAY,CAAA,aAAA,CAAA,CACZhD,IAAK,CAAA,iBAAMrG,CAAAA,MAAK4I,CAAAA,uBAAAA,CAAAA,CAAAA,EAAAA,CAEtB,EAEO,GAAA7F,GAAA,mBAAAnC,KAAA,UAAA0I,gBAAgB/E,CAAAA,CAAwBsD,CAG9C,CAAA,KAAA0B,MAAA,MAAA,GAFAhF,CAAMM,CAAAA,eAAAA,CAAAA,CAAAA,CAAAA,CAED7E,KAAK6B,QAAU,CAAA,CAClB7B,IAAKkG,CAAAA,qBAAAA,CAAsB2B,CAAQ,CAAA,CAAA,CAAA,CAAA,CAEhB7H,IAAKiF,CAAAA,aAAAA,CAAAA,CAAAA,CACbC,QAAQC,SAAAA,CACZA,CAAAA,CAAAA,CAAAA,CAAGC,QACND,GAAAA,CAAAA,CAAGE,MAASrF,CAAAA,MAAAA,CAAKuC,YAClB,CAAA,EAAA,CAAA,CAIHvC,KAAKoG,cAAeC,CAAAA,IAAAA,CAAK,UACvBrG,CAAAA,MAAAA,CAAK4D,IAAK,CAAA,YAAA,CAAc,CAAEhD,KAAAA,CAAOZ,OAAKY,KAAOD,CAAAA,IAAAA,CAAMX,MAAKW,CAAAA,IAAAA,CAAAA,CAAAA,CACxDX,MAAK4D,CAAAA,IAAAA,CAAK,aAAe,CAAA,CAAEhD,MAAOZ,MAAKY,CAAAA,KAAAA,CAAOD,IAAMX,CAAAA,MAAAA,CAAKW,IAAO,CAAA,CAAA,EAAA,CAEnE,EACF,CAGO,GAAAoC,GAAA,iBAAAnC,KAAA,UAAAqE,cAAA,CAEN,KAAAuE,cAAA,CAAAC,MAAA,MAAA,GAAMC,CAAAA,CAAU,CAAAC,kBAAA,CAAI3J,IAAK4J,CAAAA,gBAAAA,CAA6B,aA0BtD,CAAA,CAAA,CAAA,MAvBI5J,MAAKsB,QAAYtB,EAAAA,EAAAA,cAAAA,KAAAA,CAAKU,QAAUsE,UAAAA,cAAAA,iBAAfhF,cAAAA,CAAegF,MAAAA,EAAS,CAC3C0E,EAAAA,CAAAA,CAAQG,IAAK,CAAA,SAACC,EAAGC,CACf,CAAA,CAAA,GAAIC,CAAAA,CAAShK,CAAAA,MAAAA,CAAKU,QAAS+F,CAAAA,OAAAA,CAAQqD,CAAElJ,CAAAA,KAAAA,CAAAA,CACjCqJ,EAASjK,MAAKU,CAAAA,QAAAA,CAAS+F,OAAQsD,CAAAA,CAAAA,CAAEnJ,KAUrC,CAAA,CAAA,MAAA,CAPgB,CAAZoJ,GAAAA,CAAAA,GACFA,EAASE,CAEK,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,GAAZD,CACFA,GAAAA,CAAAA,CAASC,CAGPF,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAASC,CACH,CAAA,CAAA,CAAA,CAEND,EAASC,CACJ,CAAA,CAAA,CAEF,CAAC,EAAA,CAAA,CAILP,CACR,EAEO,GAAA3G,GAAA,mBAAAnC,KAAA,UAAAuJ,gBAAgBtC,qBACtB,GAAMuC,CAAAA,CAAAA,EAAAA,aAAAA,CAAavC,CAAOwC,CAAAA,UAAAA,UAAAA,aAAAA,iBAAPxC,aAAAA,CAAmByC,aACpC,CAAA,qBAAA,CAAA,CAEF,GAAKF,CAAAA,CAAAA,CAAY,MAAO,EAExB,CAAA,GAAMG,CAAAA,CAAgBH,CAAAA,CAAAA,CAAWG,aAC3BC,CAAAA,CAAAA,CAAAA,CAAAA,CAAwB,EAW9B,CAAA,MATAD,CAAAA,EAAcrF,OAAQuF,CAAAA,SAAAA,CAAAA,CAAAA,CAChBA,CAAgBC,WAAAA,CAAAA,WAAAA,CAClBF,CAAYvB,CAAAA,IAAAA,CAAKwB,CAAKE,CAAAA,SAAAA,CAAAA,CACbF,EAAKG,QAAaC,GAAAA,IAAAA,CAAKC,SAEhCN,EAAAA,CAAAA,CAAYvB,IAAKwB,CAAAA,CAAAA,CAAKM,WAAe,EAAA,EAAA,CACtC,EAGIP,CAAAA,CAAAA,CAAAA,CAAYQ,IAAK,CAAA,EAAA,CACzB,EAGO,GAAAjI,GAAA,kBAAAnC,KAAA,UAAAqK,eAAA,CACN,CAAA,MAAOjL,MAAKsK,aAA0B,CAAA,aAAA,CACvC,EAIO,GAAAvH,GAAA,oBAAAnC,KAAA,UAAAiG,iBAAiBgB,CAAAA,CAAAA,CACJ7H,IAAKiF,CAAAA,aAAAA,CAAAA,CAAAA,CAGbC,QAAQC,SAAAA,CACjBA,CAAAA,CAAAA,CAAAA,CAAG+F,OAAU,CAAA,CAAA,CAAA,CACb/F,CAAGgG,CAAAA,QAAAA,CAAAA,CAAY,CAAC,EAAA,CAAA,CAIdtD,IACF7H,IAAKiG,CAAAA,aAAAA,CAAgB4B,CACrBA,CAAAA,CAAAA,CAAOqD,OAAU,CAAA,CAAA,CAAA,CACjBrD,CAAOsD,CAAAA,QAAAA,CAAW,EAClBtD,CAAO/B,CAAAA,KAAAA,CAAAA,CAAAA,CAEV,EAGO,GAAA/C,GAAA,sBAAAnC,KAAA,UAAAuF,mBAAmB0B,CAAAA,CAAAA,CACzB,GAAMtB,CAAAA,CAAAA,CAAavG,KAAKiF,aAClBmG,CAAAA,CAAAA,CAAAA,CAAAA,CAAqBvC,KAAMC,CAAAA,OAAAA,CAAQjB,CAAUA,CAAAA,CAAAA,CAAAA,CAAS,CAACA,CAAAA,CAAAA,CAG7DtB,EAAWrB,OAAQC,CAAAA,SAAAA,CAAAA,QAAOA,CAAAA,CAAGC,CAAAA,QAAAA,CAAAA,CAAW,CAGpCgG,EAAAA,CAAAA,CAAAA,CAAAA,CAAmBpG,MACrBoG,EAAAA,CAAAA,CAAmBlG,QAAQC,SAAAA,CAAOA,QAAAA,CAAAA,CAAAA,CAAGC,QAAW,CAAA,CAAA,CAAA,EAAA,CAAA,CAIlDpF,IAAKwF,CAAAA,gBAAAA,CAAAA,CACN,EAGO,GAAAzC,GAAA,yBAAAnC,KAAA,UAAAsF,sBAAsB2B,CAAoBwD,CAAAA,CAAAA,CAAAA,CAE9CxD,CAAOzC,CAAAA,QAAAA,CAAAA,CADK,CAAViG,GAAAA,CAAAA,EAAAA,CAA4B,CAAVA,GAAAA,CAAAA,CACFA,GAECxD,CAAOzC,CAAAA,QAAAA,CAG5BpF,IAAKwF,CAAAA,gBAAAA,CAAAA,CACN,EAIO,GAAAzC,GAAA,oBAAAnC,KAAA,UAAA4E,iBAAA,CAKN,KAAA8F,MAAA,MAAAC,sBAAA,CAAAC,sBAAA,CAAAC,sBAAA,CAAAC,WAAA,CAAA,GAHA1L,KAAKS,eAAkBT,CAAAA,IAAAA,CAAKiF,aAAgBiE,CAAAA,CAAAA,CAAAA,MAAAA,CAAO/D,SAAAA,CAAMA,QAAAA,CAAAA,CAAAA,CAAGC,QAGxDpF,EAAAA,CAAAA,CAAAA,IAAAA,CAAKsB,UAUP,GATAtB,IAAAA,CAAKY,KAAQZ,CAAAA,IAAAA,CAAKS,eAAgB0I,CAAAA,GAAAA,CAAIhE,SAAAA,CAAMA,QAAAA,CAAAA,CAAAA,CAAGvE,SAE3CZ,IAAKe,CAAAA,WAAAA,EAAqC,CAAtBf,GAAAA,IAAAA,CAAKY,KAAMoE,CAAAA,MAAAA,CAEjChF,IAAKQ,CAAAA,YAAAA,CAAe,GAEpBR,IAAKQ,CAAAA,YAAAA,CAAeR,IAAKS,CAAAA,eAAAA,CAAgBuE,MAAS,CAAA,WAAA,CAGhB,CAAhChF,GAAAA,IAAAA,CAAKS,gBAAgBuE,MAAc,CAAA,CACrChF,IAAKuC,CAAAA,YAAAA,CAAAA,CAAe,CACDvC,CAAAA,IAAAA,CAAKiF,aACbC,CAAAA,CAAAA,CAAAA,OAAAA,CAAQC,SAAAA,GACZA,CAAGC,CAAAA,QAAAA,GACND,CAAGE,CAAAA,MAAAA,CAASrF,MAAKuC,CAAAA,YAAAA,CAClB,EAGHvC,CAAAA,CAAAA,IAAAA,CAAKsF,aACN,CAAA,CAAA,EAAA,CAAA,IAEDtF,KAAKY,CAAAA,KAAAA,EAAAA,sBAAAA,EAAAA,sBAAAA,CAAQZ,IAAKS,CAAAA,eAAAA,CAAgB,CAAIG,CAAAA,UAAAA,sBAAAA,iBAAzBZ,sBAAAA,CAAyBY,KAAAA,UAAAA,sBAAAA,UAAAA,sBAAAA,CAASZ,KAAKY,KACpDZ,CAAAA,IAAAA,CAAKQ,YAAeR,CAAAA,CAAAA,sBAAAA,KAAAA,CAAKS,eAAgB,CAAA,CAAA,CAAA,UAAAgL,sBAAA,WAArBzL,sBAAAA,CAAyB8H,YACzC9H,CAAAA,CAAAA,CAAAA,IAAAA,CAAKS,gBAAgB,CAAGqH,CAAAA,CAAAA,YAAAA,CAAAA,CAAAA,EAAAA,WAAAA,CACxB9H,IAAKY,CAAAA,KAAAA,UAAAA,WAAAA,UAAAA,WAAAA,CAAS,EAIpBZ,CAAAA,IAAAA,CAAKoG,cAAeC,CAAAA,IAAAA,CAAK,WACvBrG,MAAKC,CAAAA,qBAAAA,CAAsB0L,cAAgB,CAAA,CAAA,EAAA,CAAA,CAG7C3L,IAAK4L,CAAAA,yBAAAA,CAAAA,CACN,EAED,GAAA7I,GAAA,qBAAAnC,KAAA,UAAAiL,kBAAA,EACE9H,QAASG,CAAAA,mBAAAA,CAAoB,SAAWlE,CAAAA,IAAAA,CAAK0D,qBAC9C,CAAA,EAED,GAAAX,GAAA,oBAAAnC,KAAA,UAAAkL,iBAAA,CAAAA,CACE/H,SAASC,gBAAiB,CAAA,SAAA,CAAWhE,IAAK0D,CAAAA,qBAAAA,CAC3C,EAED,GAAAX,GAAA,sBAAAnC,KAAA,UAAAmL,mBAAmB9D,CAAAA,CAAAA,CAEjB,GADAjI,IAAKgB,CAAAA,WAAAA,CAAciH,CAAE+D,CAAAA,MAAAA,CAAOpL,KACvBZ,CAAAA,CAAAA,IAAAA,CAAKmB,kBAAoB,CAAA,CAEG,IADTnB,IAAKiM,CAAAA,aAAAA,CAAcjM,IAAKgB,CAAAA,WAAAA,CAAAA,CAC1BgE,MAElBhF,CAAAA,IAAAA,CAAKyC,aAAgB,CAAA,CAAA,CAAA,CAErBzC,KAAKyC,aAAgB,CAAA,CAAA,CAExB,EACF,CAED,GAAAM,GAAA,iBAAAnC,KAAA,UAAAqL,cAAcjL,CACZ,CAAA,CAAA,GAAMuF,CAAAA,EAAavG,IAAKiF,CAAAA,aAAAA,CAAAA,CAAAA,CAClBiH,CAAuBlL,CAAAA,CAAAA,CAAYsG,WAEzC,CAAA,CAAA,CAAA,GAAI6E,CAAAA,CAAgC,CAAA,EAAA,CAgBpC,MAdA5F,CAAAA,CAAWrB,CAAAA,OAAAA,CAAQC,SAAAA,CACjB,CAAA,CAAA,GAAMiH,CAAAA,CAAiBjH,CAAAA,CAAAA,CAAG2C,YAAeR,CAAAA,CAAAA,CAAAA,WAAAA,CAAAA,CAAAA,CACnC+E,GAAkBlH,CAAGvE,CAAAA,KAAAA,EAAS,EAAI0G,EAAAA,WAAAA,CAAAA,CAAAA,CAEtC8E,CAAe1H,CAAAA,QAAAA,CAASwH,CACxBG,CAAAA,EAAAA,CAAAA,CAAe3H,SAASwH,CAExB/G,CAAAA,EAAAA,CAAAA,CAAGE,MAAS,CAAA,CAAA,CAAA,CACZ8G,CAAgBlD,CAAAA,IAAAA,CAAK9D,CAErBA,CAAAA,EAAAA,CAAAA,CAAGE,QAAS,CACb,EAAA,CAAA,CAGI8G,CACR,EAEO,GAAApJ,GAAA,iBAAAnC,KAAA,UAAA0L,cAAc/H,CACpBvE,CAAAA,CAAAA,IAAAA,CAAKC,sBAAsBsM,WAAY,CAAA,CAAA,CAAA,CAAA,CACvCvM,IAAKC,CAAAA,qBAAAA,CAAsBuM,gBAAiBjI,CAAAA,CAAAA,CAC7C,EAGD,GAAAxB,GAAA,wBAAAnC,KAAA,UAAA6L,qBAAA,EAEMzM,IAAK6B,CAAAA,QAAAA,GACP7B,IAAK+B,CAAAA,IAAAA,CAAAA,CAAO,CACZ/B,CAAAA,IAAAA,CAAK0M,gBAER,CAAA,CAAA,CAAA,EAGD,GAAA3J,GAAA,qBAAAnC,KAAA,UAAA+L,kBAAA,CAAAA,CACE,GAAMpG,CAAAA,CAAAA,CAAavG,IAAKiF,CAAAA,aAAAA,CAAAA,CAAAA,CAClBrE,CAAQiI,CAAAA,KAAAA,CAAMC,QAAQ9I,IAAKY,CAAAA,KAAAA,CAAAA,CAASZ,IAAKY,CAAAA,KAAAA,CAAQ,CAACZ,IAAAA,CAAKY,KAG7DZ,CAAAA,CAAAA,IAAAA,CAAKmG,mBAAmBI,CAAW2C,CAAAA,MAAAA,CAAO/D,SAAAA,CAAMvE,QAAAA,CAAAA,CAAAA,CAAM8D,QAASS,CAAAA,CAAAA,CAAGvE,KACnE,CAAA,EAAA,CAAA,CAAA,EAGK,GAAAmC,GAAA,oBAAAnC,KAAA,gBAAAgM,iBAAA,CAAAC,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,UAAAC,QAAA,MAAAC,OAAA,UAAAC,mBAAA,CAAAC,EAAA,CAAAC,GAAA,CAAAC,GAAA,CAAAC,GAAA,CAAAC,GAAA,CAAAC,GAAA,QAAAV,mBAAA,GAAAW,IAAA,UAAAC,SAAAC,SAAA,iBAAAA,SAAA,CAAAC,IAAA,CAAAD,SAAA,CAAAE,IAAA,cACA7N,IAAK+B,CAAAA,IAAAA,EAAAA,CAAS/B,IAAK6B,CAAAA,QAAAA,GAAAA,SAAAA,CAAAA,IAAAA,WAErB7B,IAAAA,CAAK6G,iBAAiB7G,IAAKS,CAAAA,eAAAA,CAAgB,CAAMT,CAAAA,EAAAA,IAAAA,CAAKiL,cAGtDjL,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAK4D,IAAK,CAAA,WAAA,CAAa,CAAEhD,KAAOZ,CAAAA,IAAAA,CAAKY,KAAOD,CAAAA,IAAAA,CAAMX,IAAKW,CAAAA,IAAAA,CAAAA,CAAAA,CACvDX,IAAK8D,CAAAA,gBAAAA,CAAAA,CAAAA,CAEL9D,KAAKyC,aAAiBzC,CAAAA,GAAAA,mBAAAA,CAAAA,IAAAA,CAAKiF,aAAiBD,CAAAA,CAAAA,UAAAA,mBAAAA,WAAtBhF,mBAAAA,CAAsBgF,MAAAA,EAAAA,SAAAA,CAAAA,IAAAA,SAEtC8I,CAAAA,CAAe9N,CAAAA,IAAAA,CAAAA,QACrBA,IAAK+N,CAAAA,OAAAA,CAAQ1I,QAAS,CACtBrF,CAAAA,IAAAA,CAAKgO,KAAMC,CAAAA,MAAAA,CAAAA,CAAS,CAGpBC,CAAAA,qBAAAA,CAAsB,UACpBlO,CAAAA,OAAAA,CAAK6G,iBAAiB7G,OAAKiG,CAAAA,aAAAA,CAAc,EAG3C,CAAA,CAAAkH,EAAA,CAA+BgB,EAAanO,IAAM,CAAA,aAAA,CAAe,CAC/DoO,GAAAA,CAAK,KAEDC,CAAAA,CAAAA,CAHEC,GAAAA,CAAAA,EAAAA,CAAFA,SAAEA,CAAW5E,GAAAA,CAAAA,EAAAA,CAAFA,OAAEA,CAAAA,SAAAA,CAAAA,IAAAA,UAGb2E,CAAAA,CAAAA,CAAUrO,IAAKgO,CAAAA,KAAAA,CAAMA,MAAOM,GAAW5E,CAAAA,GAAAA,CAAAA,SAGzC1J,IAAKiG,CAAAA,aAAAA,EACPsI,CAAevO,CAAAA,IAAAA,CAAKiG,aAAejG,CAAAA,IAAAA,CAAK+N,QAAS,UAAY,CAAA,MAAA,CAAA,CAG/D/N,IAAK4D,CAAAA,IAAAA,CAAK,iBAAmB,CAAA,CAAEhD,KAAOZ,CAAAA,IAAAA,CAAKY,MAAOD,IAAMX,CAAAA,IAAAA,CAAKW,IAC9D,CAAA,CAAA,CAAAgN,SAAA,CAAAE,IAAA,kBAEC7N,IAAAA,CAAK4D,IAAK,CAAA,WAAA,CAAa,CAAEhD,KAAOZ,CAAAA,IAAAA,CAAKY,KAAOD,CAAAA,IAAAA,CAAMX,IAAKW,CAAAA,IAAAA,CAAAA,CAAAA,CACvDX,IAAKgB,CAAAA,WAAAA,CAAc,GACnBhB,IAAKiM,CAAAA,aAAAA,CAAcjM,IAAKgB,CAAAA,WAAAA,CAAAA,CACxBhB,IAAKiE,CAAAA,mBAAAA,CAAAA,CAAAA,CAAAA,SAAAA,CAAAA,IAAAA,UAEC6J,CAAAA,CAAe9N,CAAAA,IAAAA,CAAAA,SAAAA,GAAAA,CACUmO,CAAanO,CAAAA,IAAAA,CAAM,aAAe,CAAA,CAC/DoO,GAAK,CAAA,KAAA,CAAA,CAAA,CADCE,GAAAA,CAAAA,GAAAA,CAAFA,SAAEA,CAAW5E,GAAAA,CAAAA,GAAAA,CAAFA,OAAEA,CAAAA,SAAAA,CAAAA,IAAAA,UAGb2E,CAAAA,CAAUrO,CAAAA,IAAAA,CAAKgO,KAAMA,CAAAA,KAAAA,CAAOM,GAAW5E,CAAAA,GAAAA,CAAAA,SAC7C1J,KAAK+N,OAAQ1I,CAAAA,MAAAA,CAAAA,CAAS,CACtBrF,CAAAA,IAAAA,CAAKgO,KAAMC,CAAAA,MAAAA,CAAAA,CAAS,CAEpBjO,CAAAA,IAAAA,CAAK4D,KAAK,iBAAmB,CAAA,CAAEhD,KAAOZ,CAAAA,IAAAA,CAAKY,KAAOD,CAAAA,IAAAA,CAAMX,IAAKW,CAAAA,IAAAA,CAAAA,CAC9D,0BAAAgN,SAAA,CAAAa,IAAA,MAAAxB,OAAA,QAIH,YAAAN,iBAAA,SAAAE,iBAAA,CAAA6B,KAAA,MAAAC,SAAA,UAAAhC,gBAAA,OAAA3J,GAAA,QAAAnC,KAAA,gBAAA+N,KAAA,CAAA9B,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,UAAA6B,SAAA,SAAA9B,mBAAA,GAAAW,IAAA,UAAAoB,UAAAC,SAAA,iBAAAA,SAAA,CAAAlB,IAAA,CAAAkB,SAAA,CAAAjB,IAAA,cACE,CAAI7N,IAAK+B,CAAAA,IAAAA,EAAAA,CAAQ/B,IAAK6B,CAAAA,QAAAA,GAAAA,SAAAA,CAAAA,IAAAA,iBAAAA,SAAAA,CAAAA,MAAAA,WAKtB7B,IAAK+B,CAAAA,IAAAA,CAAAA,CAAO,CACLgN,CAAAA,CAAAA,CAAa/O,IAAM,CAAA,iBAAA,CAAA,UALxBA,IAAK+B,CAAAA,IAAAA,CAAAA,CAAO,CAMf,yBAAA+M,SAAA,CAAAN,IAAA,MAAAI,QAAA,QAGD,YAAAtI,KAAA,SAAAqI,KAAA,CAAAF,KAAA,MAAAC,SAAA,UAAApI,IAAA,OAAAvD,GAAA,QAAAnC,KAAA,gBAAAoO,KAAA,CAAAnC,iBAAA,cAAAC,mBAAA,GAAAC,IAAA,UAAAkC,SAAA,SAAAnC,mBAAA,GAAAW,IAAA,UAAAyB,UAAAC,SAAA,iBAAAA,SAAA,CAAAvB,IAAA,CAAAuB,SAAA,CAAAtB,IAAA,cACO7N,IAAK+B,CAAAA,IAAAA,EAAAA,CAAQ/B,IAAK6B,CAAAA,QAAAA,GAAAA,SAAAA,CAAAA,IAAAA,iBAAAA,SAAAA,CAAAA,MAAAA,WAKvB7B,IAAK+B,CAAAA,IAAAA,CAAAA,CAAO,CACLgN,CAAAA,CAAAA,CAAa/O,IAAM,CAAA,iBAAA,CAAA,UALxBA,IAAK+B,CAAAA,IAAAA,CAAAA,CAAO,CAMf,yBAAAoN,SAAA,CAAAX,IAAA,MAAAS,QAAA,QAGD,YAAAtK,KAAA,SAAAqK,KAAA,CAAAP,KAAA,MAAAC,SAAA,UAAA/J,IAAA,OAAA5B,GAAA,iBAAAnC,KAAA,UAAAwO,cAAA,CACE,CAAA,MAAOpP,KAAKmD,CAAAA,UAAAA,CAAWiM,aACxB,CAAA,CAAA,EAGD,GAAArM,GAAA,WAAAnC,KAAA,UAAAyO,QAAA,CACE,CAAA,MAAOrP,KAAKC,CAAAA,qBAAAA,CAAsBoP,OACnC,CAAA,CAAA,EAGD,GAAAtM,GAAA,kBAAAnC,KAAA,UAAA0O,eAAA,CAAAA,CACE,MAAOtP,KAAKmD,CAAAA,UAAAA,CAAWmM,cACxB,CAAA,CAAA,EAGD,GAAAvM,GAAA,qBAAAnC,KAAA,UAAA2O,kBAAkBC,CAChBxP,CAAAA,CAAAA,IAAAA,CAAKmD,WAAWoM,iBAAkBC,CAAAA,CAAAA,CAAAA,CAClCxP,IAAKC,CAAAA,qBAAAA,CAAsB0L,cAC5B,CAAA,CAAA,EAGD,GAAA5I,GAAA,SAAAnC,KAAA,UAAAkF,MAAM4D,GACJ1J,IAAKoE,CAAAA,YAAAA,CAAa0B,KAAM4D,CAAAA,CAAAA,CACzB,EAGD,GAAA3G,GAAA,QAAAnC,KAAA,UAAA6O,KAAA,CACEzP,CAAAA,IAAAA,CAAKoE,aAAaqL,IACnB,CAAA,CAAA,EAED,GAAA1M,GAAA,iBAAAnC,KAAA,UAAA8O,cAAcnL,CAEZA,CAAAA,CAAAA,CAAAA,CAAMM,eACP,CAAA,CAAA,EAED,GAAA9B,GAAA,iCAAAnC,KAAA,UAAA+O,8BAAA,CACE,CAAA,GAAI3P,IAAKqK,CAAAA,UAAAA,CAAY,CACnB,GAAMuF,CAAAA,GAAgB5P,CAAAA,IAAAA,CAAKqK,WAAWC,aAAc,CAAA,kBAAA,CAAA,CACpD,GAAIsF,GAAAA,WAAyBlF,CAAAA,WAAa,CAAA,CAExC,MADckF,CAAAA,GAAAA,CAAcC,YACb,EAChB,EACF,CACF,CAED,GAAA9M,GAAA,6BAAAnC,KAAA,UAAAgL,0BAAA,CAAAA,KAAAA,OAAAA,MACM5L,IAAK4B,CAAAA,iBAAAA,GAAsBsI,CAC7BlK,CAAAA,CAAAA,GAAAA,IAAAA,CAAKwC,oBAAuBxC,CAAAA,IAAAA,CAAK4B,iBAGnC5B,CAAAA,CAAAA,IAAAA,CAAK4B,iBAAoBsI,CAAAA,CAAAA,CAAAA,CAAAA,CACzB9C,WAAW,UACT,CAAA,GAAI0I,CAAAA,CAAmB,CAAA,EAAA,CACvB,GAAI9P,OAAAA,CAAKqK,UAAY,CAAA,CACNrK,QAAKqK,UAAWT,CAAAA,gBAAAA,CAAiB,UACzC1E,CAAAA,CAAAA,OAAAA,CAAQ6K,SAAAA,CACPA,CAAAA,CAAAA,CAAAA,WAAerF,CAAAA,WACjBoF,EAAAA,CAAAA,CAAO7G,KAAK8G,CAAIF,CAAAA,WAAAA,CACjB,EAEJ,CAAA,EACD,GAAI7P,OAAAA,CAAKY,KAAMoE,CAAAA,MAAAA,GAAW8K,EAAO9K,MAC/B,CAAA,OAOF,GAAMgL,CAAAA,CAAAA,CAAuBhQ,OAAK2P,CAAAA,6BAAAA,CAAAA,CAAAA,CAClC,GAAKK,CAAAA,CAAAA,CACH,OAGF,GAAIC,CAAAA,CAAAA,CAAO,CACPC,CAAAA,CAAAA,CAAY,CAEhB,CAAA,IAAK,GAAIC,CAAAA,EAAAA,CAAI,EAAGA,EAAIL,CAAAA,CAAAA,CAAO9K,MAAQmL,CAAAA,EAAAA,EAAAA,CAGjC,GAFAF,CAAAA,EAAQH,CAAOK,CAAAA,EAAAA,CAAAA,CAEXF,EAAOD,CAAsB,CAAA,CAC/BE,CAAYC,CAAAA,EAAAA,CACZ,MACD,CAEHnQ,OAAK4B,CAAAA,iBAAAA,CAAoBsO,CAAS,EACjC,CAAA,CAAA,CACJ,EAED,GAAAnN,GAAA,UAAAnC,KAAA,UAAAwP,OAAA,CACE,KAAAC,OAAA,MAAA,GAAMC,CAAAA,CAAetQ,CAAAA,IAAAA,CAAKI,kBAAkBmQ,IAAK,CAAA,OAAA,CAAA,CACzBvQ,IAAKI,CAAAA,iBAAAA,CAAkBmQ,IAAK,CAAA,WAAA,CAAA,CACpD,GAAMC,CAAAA,CAAAA,CAAqBxQ,KAAKI,iBAAkBmQ,CAAAA,IAAAA,CAAK,cACjDE,CAAAA,CAAAA,CAAAA,CAAkBzQ,IAAKI,CAAAA,iBAAAA,CAAkBmQ,IAAK,CAAA,eAAA,CAAA,CAC9CG,IAAW1Q,IAAKmC,CAAAA,KAAAA,EAAAA,CAAAA,CAAiBmO,CACjCK,CAAAA,CAAAA,CACJ3Q,IAAK8B,CAAAA,SAAAA,EAAAA,CAAc9B,IAAK6B,CAAAA,QAAAA,EAAY7B,KAAKY,KAAMoE,CAAAA,MAAAA,CAAS,CACpD4L,CAAAA,CAAAA,CAAuB5Q,IAAKe,CAAAA,WAAAA,EAAqC,CAAtBf,GAAAA,IAAAA,CAAKY,MAAMoE,MACtD6L,CAAAA,CAAAA,CAAAA,CAAAA,CAAc7Q,IAAKuB,CAAAA,QAAAA,CACnBuP,CAAkB9Q,CAAAA,CAAAA,CAAAA,IAAAA,CAAKwB,YACvBuP,CAAAA,CAAAA,CAAgB/Q,KAAKS,eAAgB,CAAA,CAAA,CAAA,CACvCT,IAAKmK,CAAAA,eAAAA,CAAgBnK,IAAKS,CAAAA,eAAAA,CAAgB,CAC1C,CAAA,CAAA,CAAA,EAAA,CAEJ,MAAOuQ,CAAAA,CAAI,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA,umGAGCC,CAAAA,CAAS,CACf,cAAgB,CAAA,CAAA,CAAA,CAChB,qBAAqC,CAAA,OAAA,GAAdnR,KAAKc,IAC5B,CAAA,sBAAA,CAAsC,QAAdd,GAAAA,IAAAA,CAAKc,KAC7B,qBAAqC,CAAA,OAAA,GAAdd,KAAKc,IAC5B,CAAA,yBAAA,CAA2B4P,EAC3B,6BAA+BG,CAAAA,CAAAA,CAAAA,CAAAA,CAOjBH,CAAAA,CAAW,OAAU,CAAA,MAAA,CAC1B1Q,IAAKmI,CAAAA,gBAAAA,CAEOnI,IAAKmC,CAAAA,KAAAA,CAG1BqO,CAAAA,CAAqBQ,CAAI,CAAAI,gBAAA,GAAAA,gBAAA,CAAAF,sBAAA,8CAAwC,EAAA,CAIvDC,CAAS,CAAA,CACfE,MAAQ,CAAA,CAAA,CAAA,CACR,iBAAmBrR,CAAAA,IAAAA,CAAKyB,QACxB,eAAiBzB,CAAAA,IAAAA,CAAK0B,KACtB,CAAA,iBAAA,CAAmB1B,IAAK2B,CAAAA,OAAAA,CACxB,oBAAoB,CACpB,CAAA,gBAAA,CAAkB3B,IAAKiC,CAAAA,MAAAA,CACvB,cAAgBjC,CAAAA,IAAAA,CAAKkC,KACrB,cAAgBlC,CAAAA,IAAAA,CAAK+B,IACrB,CAAA,kBAAA,CAAoB/B,IAAK6B,CAAAA,QAAAA,CACzB,mBAAoB7B,IAAKsB,CAAAA,QAAAA,CACzB,iBAAmBtB,CAAAA,IAAAA,CAAKO,QACxB,CAAA,6BAAA,CAA+BqQ,EAC/B,aAAkC,CAAA,KAAA,GAAnB5Q,IAAKoC,CAAAA,SAAAA,CACpB,gBAAqC,CAAA,QAAA,GAAnBpC,KAAKoC,SACvB,CAAA,eAAA,CAA+B,OAAdpC,GAAAA,IAAAA,CAAKc,IACtB,CAAA,gBAAA,CAAgC,WAAdd,IAAKc,CAAAA,IAAAA,CACvB,eAA+B,CAAA,OAAA,GAAdd,IAAKc,CAAAA,IAAAA,CAAAA,CAAAA,CAEZd,IAAKoC,CAAAA,SAAAA,CACNpC,IAAAA,CAAKgC,MAAQ,OAAU,CAAA,UAAA,CAI3BsP,CAAWtR,CAAAA,IAAAA,CAAKqB,gBAAwBkQ,EAAV,CAAA,OAAA,CAAA,CAInCd,CAAAA,CACEO,CAAI,CAAAQ,gBAAA,GAAAA,gBAAA,CAAAN,sBAAA,iOAISlR,IAAKwI,CAAAA,qBAAAA,CACHxI,IAAKoI,CAAAA,uBAAAA,EAEpB4I,CAAI,CAAAS,gBAAA,GAAAA,gBAAA,CAAAP,sBAAA,QAAA,CAGEC,CAAS,CAAA,CACfO,gBAAkB,CAAA,CAAA,CAAA,CAClB,sBAAwBjB,CAAAA,CAAAA,CAAAA,CAAAA,CAGfzQ,IAAKwI,CAAAA,qBAAAA,CACHxI,IAAKoI,CAAAA,uBAAAA,CAEhB2I,CAAkB/Q,EAAAA,CAAAA,IAAAA,CAAKsB,SACrB0P,CAAI,CAAAW,gBAAA,GAAAA,gBAAA,CAAAT,sBAAA,uGACAU,CAAWb,CAAAA,CAAAA,CAAAA,EAEfC,CAAI,CAAAa,gBAAA,GAAAA,gBAAA,CAAAX,sBAAA,kJAGMC,CAAAA,CAAS,CACfW,cAAAA,CAAAA,CAAgB,CAChBxQ,CAAAA,QAAAA,CAAUtB,IAAKsB,CAAAA,QAAAA,CAAAA,CAAAA,EAQPtB,IAAKe,CAAAA,WAAAA,CACPf,IAAK6B,CAAAA,QAAAA,CACR7B,IAAKQ,CAAAA,YAAAA,CAMER,IAAAA,CAAK+B,KAAO,MAAS,CAAA,OAAA,CAGrB/B,IAAAA,CAAK6B,SAAW,MAAS,CAAA,OAAA,CAIhC7B,IAAKmE,CAAAA,WAAAA,CACNnE,IAAKsE,CAAAA,UAAAA,CAGbtE,IAAAA,CAAKsB,SACH0P,CAAI,CAAAe,gBAAA,GAAAA,gBAAA,CAAAb,sBAAA,mJAEElR,IAAKS,CAAAA,eAAAA,CAAgB0I,GAAI,CAAA,SAACtB,CAAQmK,CAAAA,CAAAA,CAAAA,CAClC,GACEA,CAAQhS,CAAAA,OAAAA,CAAK4B,iBACb5B,EAAAA,OAAAA,CAAK4B,iBAAqB,EAAA,CAAA,CAC1B,CACA,GAAMqQ,CAAAA,GAAAA,CAAU,CACdC,iBAAAA,CACEF,CAAQ,CAAA,CAAA,CAAIhS,OAAKwC,CAAAA,oBAAAA,EACjBxC,OAAK4B,CAAAA,iBAAAA,GAAsBsI,CAE/B,CAAA,CAAA,CAAA,CAAA,MAAO8G,CAAAA,CAAI,CAAAmB,gBAAA,GAAAA,gBAAA,CAAAjB,sBAAA,2yBAECC,CAASc,CAAAA,GAAAA,CAAAA,CAQTjS,OAAKkC,CAAAA,IAAAA,CACNlC,OAAKc,CAAAA,IAAAA,CAEIyD,SAAAA,CACdvE,QAAAA,CAAAA,OAAAA,CAAKsJ,gBAAgB/E,CAAOsD,CAAAA,CAAAA,CAAAA,GAE5B7H,OAAKmK,CAAAA,eAAAA,CAAgBtC,GACnBmJ,CAAI,CAAAoB,gBAAA,GAAAA,gBAAA,CAAAlB,sBAAA,wIACCU,CAAAA,CACD5R,QAAKmK,eAAgBtC,CAAAA,CAAAA,CAAAA,CAAAA,EAGzB,EAAA,CACFA,CAAOC,CAAAA,YAAAA,CAAAA,CAAAA,EAGd,CAAM,MAAIkK,CAAAA,CAAAA,GAAUhS,OAAK4B,CAAAA,iBAAAA,CACjBoP,CAAI,CAAAqB,iBAAA,GAAAA,iBAAA,CAAAnB,sBAAA,mLAEHlR,OAAAA,CAAKS,gBAAgBuE,MAASgN,CAAAA,CAAAA,EAI/B,IACR,EAAA,CAAA,EAIP,EAAA,CAKUhS,IAAK6B,CAAAA,QAAAA,CACL7B,IAAKsC,CAAAA,QAAAA,CACRuG,KAAAA,CAAMC,QAAQ9I,IAAKY,CAAAA,KAAAA,CAAAA,CACxBZ,KAAKY,KAAMoK,CAAAA,IAAAA,CAAK,MAChBhL,IAAKY,CAAAA,KAAAA,CAGA,iBAAMZ,CAAAA,OAAK8F,CAAAA,KAAAA,CAAAA,CAAAA,GACT9F,IAAKsM,CAAAA,aAAAA,CAGhBqE,CAAAA,CACEK,CAAI,CAAAsB,iBAAA,GAAAA,iBAAA,CAAApB,sBAAA,sjBAMalR,IAAK0I,CAAAA,oBAAAA,CACT1I,IAAKyI,CAAAA,gBAAAA,EAQlB,EAAA,CAKM0I,CAAAA,CAAS,CACfoB,cAAgB,CAAA,CAAA,CAAA,CAAA,CAAA,CAgBJvS,IAAAA,CAAK+B,KAAO,MAAS,CAAA,OAAA,CACd/B,IAAAA,CAAKsB,SAAW,MAAS,CAAA,OAAA,CAGvBtB,IAAAA,CAAKiB,cAC1B,yBACA,CAAA,EAAA,CAEOjB,IAAK2I,CAAAA,iBAAAA,CACF3I,IAAK4I,CAAAA,uBAAAA,CAEjB5I,IAAAA,CAAKiB,cACH+P,CAAI,CAAAwB,iBAAA,GAAAA,iBAAA,CAAAtB,sBAAA,ggBAISlR,IAAKgB,CAAAA,WAAAA,CAEAhB,IAAK+L,CAAAA,kBAAAA,CACL/L,IAAK6L,CAAAA,iBAAAA,CACH7L,IAAK0P,CAAAA,aAAAA,EAKzB,EAAA,CACF1P,IAAAA,CAAKoB,eACH4P,CAAI,CAAAyB,iBAAA,GAAAA,iBAAA,CAAAvB,sBAAA,oSAQJ,EAAA,CAGuBlR,IAAAA,CAAKiB,cAC1B,iCACA,CAAA,EAAA,CAEFjB,IAAAA,CAAKyC,cACHuO,CAAI,CAAA0B,iBAAA,GAAAA,iBAAA,CAAAxB,sBAAA,mJAEElR,IAAK0C,CAAAA,gBAAAA,EAGX,EAAA,CAIJ1C,IAAAA,CAAKsB,SACH0P,CAAI,CAAA2B,iBAAA,GAAAA,iBAAA,CAAAzB,sBAAA,6lBAGQlR,IAAK4E,CAAAA,iBAAAA,CAGH5E,IAAK+E,CAAAA,kBAAAA,CAIgC,CAAA,GAAhC/E,KAAKS,eAAgBuE,CAAAA,MAAAA,CACtBhF,IAAKuC,CAAAA,YAAAA,CAKa,CAAhCvC,GAAAA,IAAAA,CAAKS,eAAgBuE,CAAAA,MAAAA,CACnBgM,CAAI,CAAA4B,iBAAA,GAAAA,iBAAA,CAAA1B,sBAAA,kLAEQlR,IAAKuF,CAAAA,UAAAA,EAGjB,EAAA,EAEN,EAAA,CAKRsL,CACEG,CAAAA,CAAI,CAAA6B,iBAAA,GAAAA,iBAAA,CAAA3B,sBAAA,wDAAyBlR,IAAAA,CAAKuB,QAClC,EAAA,EAAA,CACFuP,CAAAA,CACEE,CAAI,CAAA8B,iBAAA,GAAAA,iBAAA,CAAA5B,sBAAA,8HAEGlR,IAAKwB,CAAAA,YAAAA,EAGZ,EAAA,EAGT,CA7sCM1B,MADuBiT,CAAzB,GACEjT,CAAAA,CAAMkT,MAAmBA,CAAAA,CAAAA,CAadC,CAAA,CAAA,CAAjBC,CAAM,CAAA,SAAA,CAAA,CAAA,CAA4BpT,CAAAqT,CAAAA,SAAAA,CAAA,OAAA,CAAA,IAAA,EAAA,CAAA,CACPF,CAAA,CAAA,CAA3BC,CAAM,CAAA,mBAAA,CAAA,CAAA,CAA+CpT,CAAAqT,CAAAA,SAAAA,CAAA,UAAA,CAAA,IAAA,EAAA,CAAA,CACrBF,CAAA,CAAA,CAAhCC,CAAM,CAAA,wBAAA,CAAA,CAAA,CAAyDpT,CAAAqT,CAAAA,SAAAA,CAAA,cAAA,CAAA,IAAA,EAAA,CAAA,CACjCF,CAAA,CAAA,CAA9BC,EAAM,sBAAqDpT,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqT,SAAA,CAAA,YAAA,CAAA,IAAA,EACjCF,CAAAA,CAAAA,CAAAA,CAAA,CAA1BC,CAAAA,CAAM,kBAA6CpT,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqT,SAAA,CAAA,SAAA,CAAA,IAAA,EAE3CF,CAAAA,CAAAA,CAAAA,CAAA,CAARG,CAAAA,CAAAA,CAAAA,CAAAA,CAAiCtT,CAAAqT,CAAAA,SAAAA,CAAA,UAAA,CAAA,IAAA,EAAA,CAAA,CACzBF,CAAA,CAAA,CAARG,CAA0BtT,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqT,SAAA,CAAA,cAAA,CAAA,IAAA,EAClBF,CAAAA,CAAAA,CAAAA,CAAA,CAARG,CAAAA,CAAAA,CAAAA,CAAAA,CAAkCtT,EAAAqT,SAAA,CAAA,eAAA,CAAA,IAAA,EAC1BF,CAAAA,CAAAA,CAAAA,CAAA,CAARG,CAAAA,CAAAA,CAAAA,CAAAA,CAA2CtT,CAAAqT,CAAAA,SAAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CACnCF,CAAA,CAAA,CAARG,CAAyCtT,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqT,SAAA,CAAA,UAAA,CAAA,IAAA,EAG9BF,CAAAA,CAAAA,CAAAA,CAAA,CAAXI,CAAAA,CAAAA,CAAAA,CAAAA,CAAqBvT,CAAAqT,CAAAA,SAAAA,CAAA,MAAA,CAAA,IAAA,EAAA,CAAA,CAYtBF,CAAA,CAAA,CANCI,CAAS,CAAA,CACRC,SAAW,CAAA,CACTC,cAAgB3S,SAAAA,cAAAA,CAAkBA,QAAAA,CAAAA,CAAAA,CAAM4S,KAAM,CAAA,GAAA,CAAA,GAC9CC,WAAc7S,CAAAA,SAAAA,YAAAA,CAAAA,QAAoBA,CAAAA,CAAMoK,CAAAA,IAAAA,CAAK,GAGnBlL,CAAAA,GAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqT,SAAA,CAAA,OAAA,CAAA,IAAA,EAGdF,CAAAA,CAAAA,CAAAA,CAAA,CAAfpS,CAAAA,CAAAA,CAAAA,CAAAA,CAAoDf,CAAAqT,CAAAA,SAAAA,CAAA,cAAA,CAAA,IAAA,EAAA,CAAA,CAGzCF,CAAA,CAAA,CAAXI,CAAyDvT,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqT,SAAA,CAAA,MAAA,CAAA,IAAA,EAG9CF,CAAAA,CAAAA,CAAAA,CAAA,CAAXI,CAAAA,CAAAA,CAAAA,CAAAA,CAAqCvT,EAAAqT,SAAA,CAAA,aAAA,CAAA,IAAA,EAG7BF,CAAAA,CAAAA,CAAAA,CAAA,CAARG,CAAAA,CAAAA,CAAAA,CAAAA,CAAiCtT,CAAAqT,CAAAA,SAAAA,CAAA,aAAA,CAAA,IAAA,EAAA,CAAA,CAEUF,CAAA,CAAA,CAA3CI,CAAS,CAAA,CAAEK,IAAMC,CAAAA,OAAAA,CAASC,OAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA8B9T,CAAAqT,CAAAA,SAAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAEtBF,CAAA,CAAA,CAA3CI,CAAS,CAAA,CAAEK,IAAMC,CAAAA,OAAAA,CAASC,OAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAiC9T,EAAAqT,SAAA,CAAA,kBAAA,CAAA,IAAA,EAEzBF,CAAAA,CAAAA,CAAAA,CAAA,CAA3CI,CAAAA,CAAS,CAAEK,IAAAA,CAAMC,OAASC,CAAAA,OAAAA,CAAAA,CAAS,CAAmC9T,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqT,SAAA,CAAA,oBAAA,CAAA,IAAA,EAE3BF,CAAAA,CAAAA,CAAAA,CAAA,CAA3CI,CAAAA,CAAS,CAAEK,IAAAA,CAAMC,OAASC,CAAAA,OAAAA,CAAAA,CAAS,CAA+B9T,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqT,SAAA,CAAA,gBAAA,CAAA,IAAA,EAEvBF,CAAAA,CAAAA,CAAAA,CAAA,CAA3CI,CAAAA,CAAS,CAAEK,IAAMC,CAAAA,OAAAA,CAASC,OAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA4B9T,CAAAqT,CAAAA,SAAAA,CAAA,aAAA,CAAA,IAAA,EAAA,CAAA,CAGpBF,CAAA,CAAA,CAA3CI,CAAS,CAAA,CAAEK,IAAMC,CAAAA,OAAAA,CAASC,OAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAyB9T,CAAAqT,CAAAA,SAAAA,CAAA,UAAA,CAAA,IAAA,EAAA,CAAA,CAERF,CAAA,CAAA,CAApDI,CAAS,CAAA,CAAEQ,SAAW,CAAA,WAAA,CAAaD,OAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAsB9T,CAAAqT,CAAAA,SAAAA,CAAA,UAAA,CAAA,IAAA,EAAA,CAAA,CAEVF,CAAA,CAAA,CAAxDI,CAAS,CAAA,CAAEQ,SAAW,CAAA,eAAA,CAAiBD,OAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA0B9T,CAAAqT,CAAAA,SAAAA,CAAA,cAAA,CAAA,IAAA,EAAA,CAAA,CAG9CF,CAAA,CAAA,CAA5BI,CAAS,CAAA,CAAEK,IAAMC,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA,CAA2B7T,CAAAqT,CAAAA,SAAAA,CAAA,SAAA,CAAA,IAAA,EAAA,CAAA,CAGhBF,CAAA,CAAA,CAA5BI,CAAS,CAAA,CAAEK,IAAMC,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA,CAAyB7T,CAAAqT,CAAAA,SAAAA,CAAA,YAAA,EAGdF,CAAAA,CAAAA,CAAAA,CAAA,CAA5BI,CAAAA,CAAS,CAAEK,IAAAA,CAAMC,OAA2B7T,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqT,SAAA,CAAA,SAAA,CAAA,IAAA,EAO7CF,CAAAA,CAAAA,CAAAA,CAAA,CADCI,CAAAA,CAAS,CAAEQ,SAAAA,CAAW,qBAAuBH,CAAAA,IAAAA,CAAMI,MAC9BhU,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqT,SAAA,CAAA,mBAAA,CAAA,IAAA,EAGsBF,CAAAA,CAAAA,CAAAA,CAAA,CAA3CI,CAAAA,CAAS,CAAEK,IAAAA,CAAMC,OAASC,CAAAA,OAAAA,CAAAA,CAAS,KAAyB9T,CAAAqT,CAAAA,SAAAA,CAAA,UAAA,CAAA,IAAA,EAAA,CAAA,CAGhCF,CAAA,CAAA,CAA5BI,CAAS,CAAA,CAAEK,IAAMC,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA,CAA6B7T,CAAAqT,CAAAA,SAAAA,CAAA,WAAA,CAAA,IAAA,EAAA,CAAA,CAMHF,CAAA,CAAA,CAA3CI,CAAS,CAAA,CAAEK,IAAMC,CAAAA,OAAAA,CAASC,OAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAqB9T,CAAAqT,CAAAA,SAAAA,CAAA,MAAA,CAAA,IAAA,EAAA,CAAA,CAM5BF,CAAA,CAAA,CAA5BI,CAAS,CAAA,CAAEK,KAAMC,OAAyB7T,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqT,SAAA,CAAA,OAAA,CAAA,IAAA,EAGCF,CAAAA,CAAAA,CAAAA,CAAA,CAA3CI,CAAAA,CAAS,CAAEK,IAAAA,CAAMC,OAASC,CAAAA,OAAAA,CAAAA,CAAS,CAAuB9T,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqT,SAAA,CAAA,QAAA,CAAA,IAAA,EAGfF,CAAAA,CAAAA,CAAAA,CAAA,CAA3CI,CAAAA,CAAS,CAAEK,IAAAA,CAAMC,OAASC,CAAAA,OAAAA,CAAAA,CAAS,CAAqB9T,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqT,SAAA,CAAA,MAAA,CAAA,IAAA,EAG7CF,CAAAA,CAAAA,CAAAA,CAAA,CAAXI,CAAAA,CAAAA,CAAAA,CAAAA,CAAsBvT,CAAAqT,CAAAA,SAAAA,CAAA,OAAA,CAAA,IAAA,EAAA,CAAA,CAMMF,CAAA,CAAA,CAA5BI,CAAS,CAAA,CAAEO,OAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAA+C9T,CAAAqT,CAAAA,SAAAA,CAAA,WAAA,CAAA,IAAA,EAAA,CAAA,CAOvCF,CAAA,CAAA,CAA5BI,CAAS,CAAA,CAAEO,OAAS,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAkB9T,CAAAqT,CAAAA,SAAAA,CAAA,MAAA,CAAA,IAAA,EAAA,CAAA,CAGKF,CAAA,CAAA,CAA3CI,CAAS,CAAA,CAAEK,IAAMC,CAAAA,OAAAA,CAASC,SAAS,CAAyB9T,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqT,SAAA,CAAA,UAAA,CAAA,IAAA,EAEhCF,CAAAA,CAAAA,CAAAA,CAAA,CAA5BI,CAAAA,CAAS,CAAEK,IAAAA,CAAMC,OAAgC7T,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqT,SAAA,CAAA,cAAA,CAAA,IAAA,EAEzCF,CAAAA,CAAAA,CAAAA,CAAA,CAARG,CAAAA,CAAAA,CAAAA,CAAAA,CAAyCtT,CAAAqT,CAAAA,SAAAA,CAAA,sBAAA,CAAA,IAAA,EAAA,CAAA,CAEbF,CAAA,CAAA,CAA5BI,CAAS,CAAA,CAAEK,IAAMC,CAAAA,OAAAA,CAAAA,CAAAA,CAAAA,CAA0C7T,CAAAqT,CAAAA,SAAAA,CAAA,oBAAA,EAEhCF,CAAAA,CAAAA,CAAAA,CAAA,CAA3BI,CAAAA,CAAS,CAAEK,IAAAA,CAAMtK,MAAwDtJ,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqT,SAAA,CAAA,kBAAA,CAAA,IAAA,EAglB1EF,CAAAA,CAAAA,CAAAA,CAAA,CADCc,CAAAA,CAAM,UAAY,CAAA,CAAEC,oBAAsB,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAO1ClU,CAAAqT,CAAAA,SAAAA,CAAA,sBAAA,CAAA,IAAA,CAAA,CAGDF,CAAA,CAAA,CADCc,CAAM,CAAA,OAAA,CAAS,CAAEC,oBAAAA,CAAAA,CAAsB,CAOvClU,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqT,UAAA,mBAAA,CAAA,IAAA,CAAA,CAGKF,CAAA,CAAA,CADLc,CAAM,CAAA,MAAA,CAAQ,CAAEC,oBAAAA,CAAAA,CAAsB,CAiDtClU,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAqT,SAAA,CAAA,kBAAA,CAAA,IAzxBUrT,CAAAA,CAAAA,OAAAA,KAAAA,CAAAA,CAAUmT,CAAA,CAAA,CADtBgB,CAAc,CAAA,aAAA,CAAA,CAAA,CACFnU,CAitCboU,CAAAA,EAAAA,CAAAA,CAAoB,aAAe,CAAA,CACjC5F,SAAW,CAAA,CACT,CAAE6F,OAAAA,CAAS,CAAGC,CAAAA,KAAAA,CAAO,EACrB,CAAA,CAAA,CAAED,OAAS,CAAA,CAAA,CAAGC,KAAO,CAAA,CAAA,CAAA,CAAA,CAEvB1K,OAAS,CAAA,CAAE2K,QAAU,CAAA,GAAA,CAAKC,MAAQ,CAAA,MAAA,CAAA,CAAA,CAAA,CAGpCJ,CAAoB,CAAA,aAAA,CAAe,CACjC5F,SAAAA,CAAW,CACT,CAAE6F,OAAS,CAAA,CAAA,CAAGC,KAAO,CAAA,CAAA,CAAA,CACrB,CAAED,OAAAA,CAAS,CAAGC,CAAAA,KAAAA,CAAO,EAEvB1K,CAAAA,CAAAA,CAAAA,OAAAA,CAAS,CAAE2K,QAAAA,CAAU,GAAKC,CAAAA,MAAAA,CAAQ"}
@@ -1,2 +1,2 @@
1
- System.register(["../index-7e13aee2.cjs.js"],function(_export,_context){"use strict";var e,_templateObject,o;function _taggedTemplateLiteral(strings,raw){if(!raw){raw=strings.slice(0);}return Object.freeze(Object.defineProperties(strings,{raw:{value:Object.freeze(raw)}}));}return{setters:[function(_index001CjsJs){e=_index001CjsJs.i;}],execute:function execute(){_export("s",o=e(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n box-sizing: border-box;\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none !important;\n }\n\n .form-control .form-control__label {\n display: none;\n }\n\n .form-control .form-control__help-text {\n display: none;\n }\n\n /* Label */\n .form-control--has-label .form-control__label {\n display: block;\n margin-bottom: 12px;\n color: var(--nile-colors-dark-900);\n font-family: Colfax-regular;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 14px;\n letter-spacing: 0.2px;\n }\n\n .form-control--has-label.form-control--medium .form-control__label {\n font-size: 14px;\n }\n\n :host([required]) .form-control--has-label .form-control__label::after {\n content: '*';\n margin-inline-start: -2px;\n color: inherit;\n }\n\n /* Help text */\n .form-control--has-help-text .form-control__help-text {\n display: block;\n color: #666666;\n margin-top: 0.75rem;\n }\n\n .form-control--has-help-text.form-control--medium .form-control__help-text {\n font-size: 0.875rem;\n }\n\n .form-control--has-help-text.form-control--radio-group\n .form-control__help-text {\n margin-top: 0.25rem;\n }\n\n :host {\n display: block;\n }\n\n /** The popup */\n .select {\n flex: 1 1 auto;\n display: inline-flex;\n width: 100%;\n position: relative;\n vertical-align: middle;\n }\n\n .select::part(popup) {\n z-index: 9999;\n }\n\n .select[data-current-placement^='top']::part(popup) {\n transform-origin: bottom;\n }\n\n .select[data-current-placement^='bottom']::part(popup) {\n transform-origin: top;\n }\n\n /* Combobox */\n .select__combobox {\n flex: 1;\n display: flex;\n width: 100%;\n min-width: 0;\n position: relative;\n align-items: center;\n justify-content: start;\n font-family: var(--nile-font-family-sans-serif);\n font-weight: 400;\n letter-spacing: normal;\n vertical-align: middle;\n overflow: hidden;\n cursor: pointer;\n transition: 150ms color, 150ms border, 150ms box-shadow,\n 150ms background-color;\n }\n\n .select__display-input {\n position: relative;\n width: 100%;\n font: inherit;\n border: none;\n background: none;\n color: #333333;\n cursor: inherit;\n overflow: hidden;\n padding: 0;\n margin: 0;\n -webkit-appearance: none;\n font-family: var(--nile-font-family-serif);\n }\n\n .select__display-input::placeholder {\n font-family: var(--nile-font-family-serif);\n }\n\n .select:not(.select--disabled):hover .select__display-input {\n color: #333333;\n }\n\n .select__display-input:focus {\n outline: none;\n }\n\n /* Visually hide the display input when multiple is enabled */\n .select--multiple:not(.select--placeholder-visible) .select__display-input {\n position: absolute;\n z-index: -1;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n }\n\n .select__value-input {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: -1;\n }\n\n .select__tags {\n display: flex;\n flex: 1;\n align-items: center;\n flex-wrap: no-wrap;\n margin-inline-start: 0.5rem;\n width: 100%;\n overflow: hidden;\n }\n\n .select__tags-count {\n color: #005ea6;\n font-family: Colfax-regular;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 14px;\n letter-spacing: 0.2px;\n margin: 6px;\n }\n\n .select__tags-count-clearable {\n margin-right: 50px;\n }\n\n .select__tags::slotted(nile-tag) {\n cursor: pointer !important;\n }\n\n .select--disabled .select__tags,\n .select--disabled .select__tags::slotted(nile-tag) {\n cursor: not-allowed !important;\n }\n\n /* Standard selects */\n .select--standard .select__combobox {\n background-color: #ffffff;\n border: solid 1px #cccccc;\n }\n\n .select--standard .select__combobox:hover {\n border: 1px solid #000;\n background: #fff;\n }\n\n .select--standard.select--disabled .select__combobox {\n background-color: #f4f4f4;\n border-color: #cccccc;\n color: #999999;\n opacity: 0.5;\n cursor: not-allowed;\n outline: none;\n }\n\n .select--standard:not(.select--disabled).select--open .select__combobox,\n .select--standard:not(.select--disabled).select--focused .select__combobox {\n background-color: #f4f4f4;\n }\n\n .select--warning .select__combobox {\n border-color: var(--nile-colors-yellow-500);\n }\n\n .select--error .select__combobox {\n border-color: #e5434d;\n }\n\n .select--success {\n border-color: #43e5c0;\n }\n\n /* Filled selects */\n .select--filled .select__combobox {\n border: none;\n background-color: #f4f4f4;\n color: #333333;\n }\n\n .select--filled:hover:not(.select--disabled) .select__combobox {\n background-color: #f4f4f4;\n }\n\n .select--filled.select--disabled .select__combobox {\n background-color: #f4f4f4;\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .select--filled:not(.select--disabled).select--open .select__combobox,\n .select--filled:not(.select--disabled).select--focused .select__combobox {\n background-color: #f4f4f4;\n outline: 3px solid rgba(0, 89, 255, 0.4);\n }\n\n .select--medium .select__combobox {\n border-radius: 4px;\n font-size: 14px;\n padding: 12px;\n height: 38px;\n box-sizing: border-box;\n }\n\n .select--medium .select__clear {\n margin-inline-start: 0.75rem;\n }\n\n .select--medium .select__prefix::slotted(*) {\n margin-inline-end: 0.75rem;\n }\n\n .select--medium .select__prefix.multiple::slotted(*) {\n margin-inline-start: 0.75rem;\n }\n\n .select--medium.select--multiple:not(.select--placeholder-visible)\n .select__combobox {\n padding-inline-start: 0;\n }\n\n .select--medium .select__tags {\n gap: 3px;\n }\n\n /* Pills */\n .select--pill.select--medium .select__combobox {\n border-radius: 2.5rem;\n }\n\n /* Prefix */\n .select__prefix {\n flex: 0;\n display: inline-flex;\n align-items: center;\n color: #aaaaaa;\n }\n\n .select__suffix {\n flex: 0;\n display: inline-flex;\n align-items: center;\n color: #aaaaaa;\n }\n\n /* Clear button */\n .select__clear {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: inherit;\n color: #005ea6;\n border: none;\n background: none;\n padding: 0;\n transition: 150ms color;\n cursor: pointer;\n }\n\n .select__clear:hover {\n color: #999999;\n }\n\n .select__clear:focus {\n outline: none;\n }\n\n /* Expand icon */\n .select__expand-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n transition: 250ms rotate ease;\n rotate: 0;\n margin-inline-start: 0.25rem;\n }\n\n .select--open .select__expand-icon {\n rotate: -180deg;\n }\n\n /* Listbox */\n .select__listbox {\n display: block;\n position: relative;\n font-size: 1rem;\n font-weight: 400;\n background: #ffffff;\n border: solid 1px #cccccc;\n border-radius: 0.25rem;\n padding-block: 0;\n padding-inline: 0;\n overflow: auto;\n overscroll-behavior: none;\n /* Make sure it adheres to the popup's auto size */\n max-width: var(--auto-size-available-width);\n max-height: var(--auto-size-available-height);\n }\n\n .select__options__search-enabled {\n padding-top: 10px;\n }\n\n .select__options {\n font-size: 14px;\n color: rgb(133, 129, 129);\n }\n\n .select__listbox::slotted(nile-divider) {\n --spacing: 0.25rem;\n }\n\n .select__listbox::slotted(small) {\n font-size: 0.875rem;\n font-weight: 600;\n color: #888888;\n padding-block: 0.25rem;\n padding-inline: 1rem;\n }\n\n .select__search {\n position: sticky;\n top: 0px;\n z-index: 1;\n width: calc(100% - 16px);\n padding: 8px;\n background-color: white;\n margin-bottom: -8px;\n }\n\n .select__footer {\n position: sticky;\n bottom: 0px;\n background: #fafafa;\n border: 1px solid #e5e9eb;\n display: flex;\n height: 15px;\n /* Auto layout */\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 8px 12px 16px;\n gap: 12px;\n justify-content: space-between;\n }\n\n .tag__prefix[slot='prefix'] {\n height: 14px;\n display: inline-block;\n overflow: hidden;\n }\n\n .tag__prefix[slot='prefix'] img {\n max-height: 100%;\n }\n\n .select__loader {\n width: 100%;\n text-align: center;\n display: block;\n }\n\n .select__loader--icon {\n margin-top: 20px;\n animation: spin 0.6s linear infinite;\n }\n\n .select__no-results {\n padding: 10px;\n }\n\n @keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .select__invisible{\n opacity: 0;\n }\n\n .select__prefix--from-options {\n margin-inline-end: 12px;\n }\n \n .select__hide-default{\n display: none;\n }\n"]))));}};});
1
+ System.register(["../index-c7ad3b47.cjs.js"],function(_export,_context){"use strict";var e,_templateObject,o;function _taggedTemplateLiteral(strings,raw){if(!raw){raw=strings.slice(0);}return Object.freeze(Object.defineProperties(strings,{raw:{value:Object.freeze(raw)}}));}return{setters:[function(_index001CjsJs){e=_index001CjsJs.i;}],execute:function execute(){_export("s",o=e(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n box-sizing: border-box;\n }\n\n :host *,\n :host *::before,\n :host *::after {\n box-sizing: inherit;\n }\n\n [hidden] {\n display: none !important;\n }\n\n .form-control .form-control__label {\n display: none;\n }\n\n .form-control .form-control__help-text {\n display: none;\n }\n\n /* Label */\n .form-control--has-label .form-control__label {\n display: block;\n margin-bottom: 12px;\n color: var(--nile-colors-dark-900);\n font-family: Colfax-regular;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 14px;\n letter-spacing: 0.2px;\n }\n\n .form-control--has-label.form-control--medium .form-control__label {\n font-size: 14px;\n }\n\n :host([required]) .form-control--has-label .form-control__label::after {\n content: '*';\n margin-inline-start: -2px;\n color: inherit;\n }\n\n /* Help text */\n .form-control--has-help-text .form-control__help-text {\n display: block;\n color: #666666;\n margin-top: 0.75rem;\n }\n\n .form-control--has-help-text.form-control--medium .form-control__help-text {\n font-size: 0.875rem;\n }\n\n .form-control--has-help-text.form-control--radio-group\n .form-control__help-text {\n margin-top: 0.25rem;\n }\n\n :host {\n display: block;\n }\n\n /** The popup */\n .select {\n flex: 1 1 auto;\n display: inline-flex;\n width: 100%;\n position: relative;\n vertical-align: middle;\n }\n\n .select::part(popup) {\n z-index: 9999;\n }\n\n .select[data-current-placement^='top']::part(popup) {\n transform-origin: bottom;\n }\n\n .select[data-current-placement^='bottom']::part(popup) {\n transform-origin: top;\n }\n\n /* Combobox */\n .select__combobox {\n flex: 1;\n display: flex;\n width: 100%;\n min-width: 0;\n position: relative;\n align-items: center;\n justify-content: start;\n font-family: var(--nile-font-family-sans-serif);\n font-weight: 400;\n letter-spacing: normal;\n vertical-align: middle;\n overflow: hidden;\n cursor: pointer;\n transition: 150ms color, 150ms border, 150ms box-shadow,\n 150ms background-color;\n }\n\n .select__display-input {\n position: relative;\n width: 100%;\n font: inherit;\n border: none;\n background: none;\n color: #333333;\n cursor: inherit;\n overflow: hidden;\n padding: 0;\n margin: 0;\n -webkit-appearance: none;\n font-family: var(--nile-font-family-serif);\n }\n\n .select__display-input::placeholder {\n font-family: var(--nile-font-family-serif);\n }\n\n .select:not(.select--disabled):hover .select__display-input {\n color: #333333;\n }\n\n .select__display-input:focus {\n outline: none;\n }\n\n /* Visually hide the display input when multiple is enabled */\n .select--multiple:not(.select--placeholder-visible) .select__display-input {\n position: absolute;\n z-index: -1;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n }\n\n .select__value-input {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: -1;\n }\n\n .select__tags {\n display: flex;\n flex: 1;\n align-items: center;\n flex-wrap: no-wrap;\n margin-inline-start: 0.5rem;\n width: 100%;\n overflow: hidden;\n }\n\n .select__tags-count {\n color: #005ea6;\n font-family: Colfax-regular;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 14px;\n letter-spacing: 0.2px;\n margin: 6px;\n }\n\n .select__tags-count-clearable {\n margin-right: 50px;\n }\n\n .select__tags::slotted(nile-tag) {\n cursor: pointer !important;\n }\n\n .select--disabled .select__tags,\n .select--disabled .select__tags::slotted(nile-tag) {\n cursor: not-allowed !important;\n }\n\n /* Standard selects */\n .select--standard .select__combobox {\n background-color: #ffffff;\n border: solid 1px #cccccc;\n }\n\n .select--standard .select__combobox:hover {\n border: 1px solid #000;\n background: #fff;\n }\n\n .select--standard.select--disabled .select__combobox {\n background-color: #f4f4f4;\n border-color: #cccccc;\n color: #999999;\n opacity: 0.5;\n cursor: not-allowed;\n outline: none;\n }\n\n .select--standard:not(.select--disabled).select--open .select__combobox,\n .select--standard:not(.select--disabled).select--focused .select__combobox {\n background-color: #f4f4f4;\n }\n\n .select--warning .select__combobox {\n border-color: var(--nile-colors-yellow-500);\n }\n\n .select--error .select__combobox {\n border-color: #e5434d;\n }\n\n .select--success {\n border-color: #43e5c0;\n }\n\n /* Filled selects */\n .select--filled .select__combobox {\n border: none;\n background-color: #f4f4f4;\n color: #333333;\n }\n\n .select--filled:hover:not(.select--disabled) .select__combobox {\n background-color: #f4f4f4;\n }\n\n .select--filled.select--disabled .select__combobox {\n background-color: #f4f4f4;\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n .select--filled:not(.select--disabled).select--open .select__combobox,\n .select--filled:not(.select--disabled).select--focused .select__combobox {\n background-color: #f4f4f4;\n outline: 3px solid rgba(0, 89, 255, 0.4);\n }\n\n .select--medium .select__combobox {\n border-radius: 4px;\n font-size: 14px;\n padding: 12px;\n height: 38px;\n box-sizing: border-box;\n }\n\n .select--medium .select__clear {\n margin-inline-start: 0.75rem;\n }\n\n .select--medium .select__prefix::slotted(*) {\n margin-inline-end: 0.75rem;\n }\n\n .select--medium .select__prefix.multiple::slotted(*) {\n margin-inline-start: 0.75rem;\n }\n\n .select--medium.select--multiple:not(.select--placeholder-visible)\n .select__combobox {\n padding-inline-start: 0;\n }\n\n .select--medium .select__tags {\n gap: 3px;\n }\n\n /* Pills */\n .select--pill.select--medium .select__combobox {\n border-radius: 2.5rem;\n }\n\n /* Prefix */\n .select__prefix {\n flex: 0;\n display: inline-flex;\n align-items: center;\n color: #aaaaaa;\n }\n\n .select__suffix {\n flex: 0;\n display: inline-flex;\n align-items: center;\n color: #aaaaaa;\n }\n\n /* Clear button */\n .select__clear {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: inherit;\n color: #005ea6;\n border: none;\n background: none;\n padding: 0;\n transition: 150ms color;\n cursor: pointer;\n }\n\n .select__clear:hover {\n color: #999999;\n }\n\n .select__clear:focus {\n outline: none;\n }\n\n /* Expand icon */\n .select__expand-icon {\n flex: 0 0 auto;\n display: flex;\n align-items: center;\n transition: 250ms rotate ease;\n rotate: 0;\n margin-inline-start: 0.25rem;\n }\n\n .select--open .select__expand-icon {\n rotate: -180deg;\n }\n\n /* Listbox */\n .select__listbox {\n display: block;\n position: relative;\n font-size: 1rem;\n font-weight: 400;\n background: #ffffff;\n border: solid 1px #cccccc;\n border-radius: 0.25rem;\n padding-block: 0;\n padding-inline: 0;\n overflow: auto;\n overscroll-behavior: none;\n /* Make sure it adheres to the popup's auto size */\n max-width: var(--auto-size-available-width);\n max-height: var(--auto-size-available-height);\n }\n\n .select__options__search-enabled {\n padding-top: 10px;\n }\n\n .select__options {\n font-size: 14px;\n color: rgb(133, 129, 129);\n }\n\n .select__listbox::slotted(nile-divider) {\n --spacing: 0.25rem;\n }\n\n .select__listbox::slotted(small) {\n font-size: 0.875rem;\n font-weight: 600;\n color: #888888;\n padding-block: 0.25rem;\n padding-inline: 1rem;\n }\n\n .select__search {\n position: sticky;\n top: 0px;\n z-index: 1;\n width: calc(100% - 16px);\n padding: 8px;\n background-color: white;\n margin-bottom: -8px;\n }\n\n .select__footer {\n position: sticky;\n bottom: 0px;\n background: #fafafa;\n border: 1px solid #e5e9eb;\n display: flex;\n height: 15px;\n /* Auto layout */\n display: flex;\n flex-direction: row;\n align-items: flex-start;\n padding: 8px 12px 16px;\n gap: 12px;\n justify-content: space-between;\n }\n\n .tag__prefix[slot='prefix'] {\n height: 14px;\n display: inline-block;\n overflow: hidden;\n }\n\n .tag__prefix[slot='prefix'] img {\n max-height: 100%;\n }\n\n .select__loader {\n width: 100%;\n text-align: center;\n display: block;\n }\n\n .select__loader--icon {\n margin-top: 20px;\n animation: spin 0.6s linear infinite;\n }\n\n .select__no-results {\n padding: 10px;\n }\n\n @keyframes spin {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n\n .select__invisible{\n opacity: 0;\n }\n\n .select__prefix--from-options {\n margin-inline-end: 12px;\n }\n \n .select__hide-default{\n display: none;\n }\n"]))));}};});
2
2
  //# sourceMappingURL=nile-select.css.cjs.js.map
@@ -1,4 +1,4 @@
1
- import{i as e}from"../index-cd2f9c12.esm.js";const o=e`
1
+ import{i as e}from"../index-0a3007c5.esm.js";const o=e`
2
2
  :host {
3
3
  box-sizing: border-box;
4
4
  }