@aquera/nile-elements 0.0.67 → 0.0.69

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 (656) hide show
  1. package/README.md +26 -0
  2. package/demo/filenames.txt +1 -1
  3. package/demo/index.html +2 -1
  4. package/demo/variables.css +57 -5
  5. package/demo/variables_v2.css +19 -5
  6. package/dist/axe.min-1a358f34.cjs.js +12 -0
  7. package/dist/axe.min-1a358f34.cjs.js.map +1 -0
  8. package/dist/axe.min-c4141dd6.esm.js +12 -0
  9. package/dist/index.cjs.js +1 -1
  10. package/dist/index.esm.js +1 -1
  11. package/dist/index.iife.js +755 -447
  12. package/dist/nile-avatar/nile-avatar.cjs.js +1 -1
  13. package/dist/nile-avatar/nile-avatar.cjs.js.map +1 -1
  14. package/dist/nile-avatar/nile-avatar.css.cjs.js +1 -1
  15. package/dist/nile-avatar/nile-avatar.css.cjs.js.map +1 -1
  16. package/dist/nile-avatar/nile-avatar.css.esm.js +15 -7
  17. package/dist/nile-avatar/nile-avatar.esm.js +1 -1
  18. package/dist/nile-badge/index.cjs.js +1 -1
  19. package/dist/nile-badge/index.esm.js +1 -1
  20. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  21. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  22. package/dist/nile-badge/nile-badge.css.cjs.js +1 -1
  23. package/dist/nile-badge/nile-badge.css.cjs.js.map +1 -1
  24. package/dist/nile-badge/nile-badge.css.esm.js +7 -5
  25. package/dist/nile-badge/nile-badge.esm.js +1 -1
  26. package/dist/nile-button/index.cjs.js +1 -1
  27. package/dist/nile-button/index.esm.js +1 -1
  28. package/dist/nile-button/nile-button.cjs.js +1 -1
  29. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  30. package/dist/nile-button/nile-button.css.cjs.js +1 -1
  31. package/dist/nile-button/nile-button.css.cjs.js.map +1 -1
  32. package/dist/nile-button/nile-button.css.esm.js +13 -23
  33. package/dist/nile-button/nile-button.esm.js +1 -1
  34. package/dist/nile-button-toggle/nile-button-toggle.css.cjs.js +1 -1
  35. package/dist/nile-button-toggle/nile-button-toggle.css.cjs.js.map +1 -1
  36. package/dist/nile-button-toggle/nile-button-toggle.css.esm.js +11 -6
  37. package/dist/nile-button-toggle-group/nile-button-toggle-group.css.cjs.js +1 -1
  38. package/dist/nile-button-toggle-group/nile-button-toggle-group.css.cjs.js.map +1 -1
  39. package/dist/nile-button-toggle-group/nile-button-toggle-group.css.esm.js +5 -4
  40. package/dist/nile-checkbox/nile-checkbox.cjs.js +1 -1
  41. package/dist/nile-checkbox/nile-checkbox.cjs.js.map +1 -1
  42. package/dist/nile-checkbox/nile-checkbox.css.cjs.js +1 -1
  43. package/dist/nile-checkbox/nile-checkbox.css.cjs.js.map +1 -1
  44. package/dist/nile-checkbox/nile-checkbox.css.esm.js +24 -10
  45. package/dist/nile-checkbox/nile-checkbox.esm.js +4 -4
  46. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +395 -0
  47. package/dist/nile-checkbox/nile-checkbox.test.cjs.js.map +1 -0
  48. package/dist/nile-checkbox/nile-checkbox.test.esm.js +580 -0
  49. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  50. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  51. package/dist/nile-chip/nile-chip.esm.js +1 -1
  52. package/dist/nile-dialog/index.cjs.js +1 -1
  53. package/dist/nile-dialog/index.esm.js +1 -1
  54. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  55. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  56. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  57. package/dist/nile-drawer/index.cjs.js +1 -1
  58. package/dist/nile-drawer/index.esm.js +1 -1
  59. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  60. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  61. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  62. package/dist/nile-empty-state/index.cjs.js +1 -1
  63. package/dist/nile-empty-state/index.esm.js +1 -1
  64. package/dist/nile-empty-state/nile-empty-state.cjs.js +1 -1
  65. package/dist/nile-empty-state/nile-empty-state.cjs.js.map +1 -1
  66. package/dist/nile-empty-state/nile-empty-state.css.cjs.js +1 -1
  67. package/dist/nile-empty-state/nile-empty-state.css.cjs.js.map +1 -1
  68. package/dist/nile-empty-state/nile-empty-state.css.esm.js +63 -22
  69. package/dist/nile-empty-state/nile-empty-state.esm.js +21 -16
  70. package/dist/nile-error-notification/nile-error-notification.cjs.js +1 -1
  71. package/dist/nile-error-notification/nile-error-notification.cjs.js.map +1 -1
  72. package/dist/nile-error-notification/nile-error-notification.esm.js +1 -1
  73. package/dist/nile-form-help-text/nile-form-help-text.cjs.js +1 -1
  74. package/dist/nile-form-help-text/nile-form-help-text.cjs.js.map +1 -1
  75. package/dist/nile-form-help-text/nile-form-help-text.esm.js +1 -1
  76. package/dist/nile-hero/index.cjs.js +1 -1
  77. package/dist/nile-hero/index.esm.js +1 -1
  78. package/dist/nile-hero/nile-hero.cjs.js +1 -1
  79. package/dist/nile-hero/nile-hero.cjs.js.map +1 -1
  80. package/dist/nile-hero/nile-hero.css.cjs.js +1 -1
  81. package/dist/nile-hero/nile-hero.css.cjs.js.map +1 -1
  82. package/dist/nile-hero/nile-hero.css.esm.js +14 -33
  83. package/dist/nile-hero/nile-hero.esm.js +6 -9
  84. package/dist/nile-hero-header/index.cjs.js +2 -0
  85. package/dist/nile-hero-header/index.cjs.js.map +1 -0
  86. package/dist/nile-hero-header/index.esm.js +1 -0
  87. package/dist/nile-hero-header/nile-hero-header.cjs.js +2 -0
  88. package/dist/nile-hero-header/nile-hero-header.cjs.js.map +1 -0
  89. package/dist/nile-hero-header/nile-hero-header.css.cjs.js +2 -0
  90. package/dist/nile-hero-header/nile-hero-header.css.cjs.js.map +1 -0
  91. package/dist/nile-hero-header/nile-hero-header.css.esm.js +28 -0
  92. package/dist/nile-hero-header/nile-hero-header.esm.js +6 -0
  93. package/dist/nile-icon/icons/svg/alert-circle.cjs.js +2 -0
  94. package/dist/nile-icon/icons/svg/alert-circle.cjs.js.map +1 -0
  95. package/dist/nile-icon/icons/svg/alert-circle.esm.js +1 -0
  96. package/dist/nile-icon/icons/svg/arrow-narrow-left.cjs.js +2 -0
  97. package/dist/nile-icon/icons/svg/arrow-narrow-left.cjs.js.map +1 -0
  98. package/dist/nile-icon/icons/svg/arrow-narrow-left.esm.js +1 -0
  99. package/dist/nile-icon/icons/svg/book-closed.cjs.js +2 -0
  100. package/dist/nile-icon/icons/svg/book-closed.cjs.js.map +1 -0
  101. package/dist/nile-icon/icons/svg/book-closed.esm.js +1 -0
  102. package/dist/nile-icon/icons/svg/box.cjs.js +2 -0
  103. package/dist/nile-icon/icons/svg/box.cjs.js.map +1 -0
  104. package/dist/nile-icon/icons/svg/box.esm.js +1 -0
  105. package/dist/nile-icon/icons/svg/check.cjs.js +2 -0
  106. package/dist/nile-icon/icons/svg/check.cjs.js.map +1 -0
  107. package/dist/nile-icon/icons/svg/check.esm.js +1 -0
  108. package/dist/nile-icon/icons/svg/chevron-left-double.cjs.js +2 -0
  109. package/dist/nile-icon/icons/svg/chevron-left-double.cjs.js.map +1 -0
  110. package/dist/nile-icon/icons/svg/chevron-left-double.esm.js +1 -0
  111. package/dist/nile-icon/icons/svg/chevron-selector-vertical.cjs.js +2 -0
  112. package/dist/nile-icon/icons/svg/chevron-selector-vertical.cjs.js.map +1 -0
  113. package/dist/nile-icon/icons/svg/chevron-selector-vertical.esm.js +1 -0
  114. package/dist/nile-icon/icons/svg/clock-check.cjs.js +2 -0
  115. package/dist/nile-icon/icons/svg/clock-check.cjs.js.map +1 -0
  116. package/dist/nile-icon/icons/svg/clock-check.esm.js +1 -0
  117. package/dist/nile-icon/icons/svg/clock-rewind.cjs.js +2 -0
  118. package/dist/nile-icon/icons/svg/clock-rewind.cjs.js.map +1 -0
  119. package/dist/nile-icon/icons/svg/clock-rewind.esm.js +1 -0
  120. package/dist/nile-icon/icons/svg/clock.cjs.js +2 -0
  121. package/dist/nile-icon/icons/svg/clock.cjs.js.map +1 -0
  122. package/dist/nile-icon/icons/svg/clock.esm.js +1 -0
  123. package/dist/nile-icon/icons/svg/cloud-01.cjs.js +2 -0
  124. package/dist/nile-icon/icons/svg/cloud-01.cjs.js.map +1 -0
  125. package/dist/nile-icon/icons/svg/cloud-01.esm.js +1 -0
  126. package/dist/nile-icon/icons/svg/copy-06.cjs.js +2 -0
  127. package/dist/nile-icon/icons/svg/copy-06.cjs.js.map +1 -0
  128. package/dist/nile-icon/icons/svg/copy-06.esm.js +1 -0
  129. package/dist/nile-icon/icons/svg/data-insight.cjs.js +2 -0
  130. package/dist/nile-icon/icons/svg/data-insight.cjs.js.map +1 -0
  131. package/dist/nile-icon/icons/svg/data-insight.esm.js +1 -0
  132. package/dist/nile-icon/icons/svg/dataflow-03.cjs.js +2 -0
  133. package/dist/nile-icon/icons/svg/dataflow-03.cjs.js.map +1 -0
  134. package/dist/nile-icon/icons/svg/dataflow-03.esm.js +1 -0
  135. package/dist/nile-icon/icons/svg/dataflow-04.cjs.js +2 -0
  136. package/dist/nile-icon/icons/svg/dataflow-04.cjs.js.map +1 -0
  137. package/dist/nile-icon/icons/svg/dataflow-04.esm.js +1 -0
  138. package/dist/nile-icon/icons/svg/dotpoints-02.cjs.js +2 -0
  139. package/dist/nile-icon/icons/svg/dotpoints-02.cjs.js.map +1 -0
  140. package/dist/nile-icon/icons/svg/dotpoints-02.esm.js +1 -0
  141. package/dist/nile-icon/icons/svg/dots-vertical.cjs.js +2 -0
  142. package/dist/nile-icon/icons/svg/dots-vertical.cjs.js.map +1 -0
  143. package/dist/nile-icon/icons/svg/dots-vertical.esm.js +1 -0
  144. package/dist/nile-icon/icons/svg/download-02.cjs.js +2 -0
  145. package/dist/nile-icon/icons/svg/download-02.cjs.js.map +1 -0
  146. package/dist/nile-icon/icons/svg/download-02.esm.js +1 -0
  147. package/dist/nile-icon/icons/svg/edit-01.cjs.js +2 -0
  148. package/dist/nile-icon/icons/svg/edit-01.cjs.js.map +1 -0
  149. package/dist/nile-icon/icons/svg/edit-01.esm.js +1 -0
  150. package/dist/nile-icon/icons/svg/expand-06.cjs.js +2 -0
  151. package/dist/nile-icon/icons/svg/expand-06.cjs.js.map +1 -0
  152. package/dist/nile-icon/icons/svg/expand-06.esm.js +1 -0
  153. package/dist/nile-icon/icons/svg/eye-off.cjs.js +2 -0
  154. package/dist/nile-icon/icons/svg/eye-off.cjs.js.map +1 -0
  155. package/dist/nile-icon/icons/svg/eye-off.esm.js +1 -0
  156. package/dist/nile-icon/icons/svg/file-06.cjs.js +2 -0
  157. package/dist/nile-icon/icons/svg/file-06.cjs.js.map +1 -0
  158. package/dist/nile-icon/icons/svg/file-06.esm.js +1 -0
  159. package/dist/nile-icon/icons/svg/file-shield-01.cjs.js +2 -0
  160. package/dist/nile-icon/icons/svg/file-shield-01.cjs.js.map +1 -0
  161. package/dist/nile-icon/icons/svg/file-shield-01.esm.js +1 -0
  162. package/dist/nile-icon/icons/svg/globe-03.cjs.js +2 -0
  163. package/dist/nile-icon/icons/svg/globe-03.cjs.js.map +1 -0
  164. package/dist/nile-icon/icons/svg/globe-03.esm.js +1 -0
  165. package/dist/nile-icon/icons/svg/grid-01.cjs.js +2 -0
  166. package/dist/nile-icon/icons/svg/grid-01.cjs.js.map +1 -0
  167. package/dist/nile-icon/icons/svg/grid-01.esm.js +1 -0
  168. package/dist/nile-icon/icons/svg/help-circle.cjs.js +2 -0
  169. package/dist/nile-icon/icons/svg/help-circle.cjs.js.map +1 -0
  170. package/dist/nile-icon/icons/svg/help-circle.esm.js +1 -0
  171. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  172. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  173. package/dist/nile-icon/icons/svg/info-circle.cjs.js +2 -0
  174. package/dist/nile-icon/icons/svg/info-circle.cjs.js.map +1 -0
  175. package/dist/nile-icon/icons/svg/info-circle.esm.js +1 -0
  176. package/dist/nile-icon/icons/svg/layout-alt-02.cjs.js +2 -0
  177. package/dist/nile-icon/icons/svg/layout-alt-02.cjs.js.map +1 -0
  178. package/dist/nile-icon/icons/svg/layout-alt-02.esm.js +1 -0
  179. package/dist/nile-icon/icons/svg/layout-alt-03.cjs.js +2 -0
  180. package/dist/nile-icon/icons/svg/layout-alt-03.cjs.js.map +1 -0
  181. package/dist/nile-icon/icons/svg/layout-alt-03.esm.js +1 -0
  182. package/dist/nile-icon/icons/svg/marker-pin-01.cjs.js +2 -0
  183. package/dist/nile-icon/icons/svg/marker-pin-01.cjs.js.map +1 -0
  184. package/dist/nile-icon/icons/svg/marker-pin-01.esm.js +1 -0
  185. package/dist/nile-icon/icons/svg/play-circle.cjs.js +2 -0
  186. package/dist/nile-icon/icons/svg/play-circle.cjs.js.map +1 -0
  187. package/dist/nile-icon/icons/svg/play-circle.esm.js +1 -0
  188. package/dist/nile-icon/icons/svg/refresh-cw-03.cjs.js +2 -0
  189. package/dist/nile-icon/icons/svg/refresh-cw-03.cjs.js.map +1 -0
  190. package/dist/nile-icon/icons/svg/refresh-cw-03.esm.js +1 -0
  191. package/dist/nile-icon/icons/svg/search-lg.cjs.js +2 -0
  192. package/dist/nile-icon/icons/svg/search-lg.cjs.js.map +1 -0
  193. package/dist/nile-icon/icons/svg/search-lg.esm.js +1 -0
  194. package/dist/nile-icon/icons/svg/server-03.cjs.js +2 -0
  195. package/dist/nile-icon/icons/svg/server-03.cjs.js.map +1 -0
  196. package/dist/nile-icon/icons/svg/server-03.esm.js +1 -0
  197. package/dist/nile-icon/icons/svg/stop-circle.cjs.js +2 -0
  198. package/dist/nile-icon/icons/svg/stop-circle.cjs.js.map +1 -0
  199. package/dist/nile-icon/icons/svg/stop-circle.esm.js +1 -0
  200. package/dist/nile-icon/icons/svg/user-01.cjs.js +2 -0
  201. package/dist/nile-icon/icons/svg/user-01.cjs.js.map +1 -0
  202. package/dist/nile-icon/icons/svg/user-01.esm.js +1 -0
  203. package/dist/nile-icon/icons/svg/user-circle.cjs.js +2 -0
  204. package/dist/nile-icon/icons/svg/user-circle.cjs.js.map +1 -0
  205. package/dist/nile-icon/icons/svg/user-circle.esm.js +1 -0
  206. package/dist/nile-icon/icons/svg/x-circle.cjs.js +2 -0
  207. package/dist/nile-icon/icons/svg/x-circle.cjs.js.map +1 -0
  208. package/dist/nile-icon/icons/svg/x-circle.esm.js +1 -0
  209. package/dist/nile-icon/index.cjs.js +1 -1
  210. package/dist/nile-icon/index.cjs.js.map +1 -1
  211. package/dist/nile-icon/index.esm.js +11 -5
  212. package/dist/nile-icon-button/index.cjs.js +1 -1
  213. package/dist/nile-icon-button/index.esm.js +1 -1
  214. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  215. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  216. package/dist/nile-icon-button/nile-icon-button.esm.js +12 -12
  217. package/dist/nile-input/index.cjs.js +1 -1
  218. package/dist/nile-input/index.esm.js +1 -1
  219. package/dist/nile-input/nile-input.cjs.js +1 -1
  220. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  221. package/dist/nile-input/nile-input.css.cjs.js +1 -1
  222. package/dist/nile-input/nile-input.css.cjs.js.map +1 -1
  223. package/dist/nile-input/nile-input.css.esm.js +7 -8
  224. package/dist/nile-input/nile-input.esm.js +2 -2
  225. package/dist/nile-menu/nile-menu.css.cjs.js +1 -1
  226. package/dist/nile-menu/nile-menu.css.cjs.js.map +1 -1
  227. package/dist/nile-menu/nile-menu.css.esm.js +2 -1
  228. package/dist/nile-menu-item/index.cjs.js +1 -1
  229. package/dist/nile-menu-item/index.esm.js +1 -1
  230. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  231. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  232. package/dist/nile-menu-item/nile-menu-item.css.cjs.js +1 -1
  233. package/dist/nile-menu-item/nile-menu-item.css.cjs.js.map +1 -1
  234. package/dist/nile-menu-item/nile-menu-item.css.esm.js +7 -4
  235. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  236. package/dist/nile-option/index.cjs.js +1 -1
  237. package/dist/nile-option/index.esm.js +1 -1
  238. package/dist/nile-option/nile-option.cjs.js +1 -1
  239. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  240. package/dist/nile-option/nile-option.esm.js +1 -1
  241. package/dist/nile-radio-group/nile-radio-group.cjs.js +1 -1
  242. package/dist/nile-radio-group/nile-radio-group.cjs.js.map +1 -1
  243. package/dist/nile-radio-group/nile-radio-group.esm.js +1 -1
  244. package/dist/nile-select/index.cjs.js +1 -1
  245. package/dist/nile-select/index.esm.js +1 -1
  246. package/dist/nile-select/nile-select.cjs.js +1 -1
  247. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  248. package/dist/nile-select/nile-select.esm.js +11 -10
  249. package/dist/nile-slide-toggle/index.cjs.js +1 -1
  250. package/dist/nile-slide-toggle/index.esm.js +1 -1
  251. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js +1 -1
  252. package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js.map +1 -1
  253. package/dist/nile-slide-toggle/nile-slide-toggle.css.cjs.js +1 -1
  254. package/dist/nile-slide-toggle/nile-slide-toggle.css.cjs.js.map +1 -1
  255. package/dist/nile-slide-toggle/nile-slide-toggle.css.esm.js +26 -2
  256. package/dist/nile-slide-toggle/nile-slide-toggle.esm.js +5 -3
  257. package/dist/nile-stepper/index.cjs.js +2 -0
  258. package/dist/nile-stepper/index.cjs.js.map +1 -0
  259. package/dist/nile-stepper/index.esm.js +1 -0
  260. package/dist/nile-stepper/nile-stepper.cjs.js +2 -0
  261. package/dist/nile-stepper/nile-stepper.cjs.js.map +1 -0
  262. package/dist/nile-stepper/nile-stepper.css.cjs.js +2 -0
  263. package/dist/nile-stepper/nile-stepper.css.cjs.js.map +1 -0
  264. package/dist/nile-stepper/nile-stepper.css.esm.js +7 -0
  265. package/dist/nile-stepper/nile-stepper.esm.js +5 -0
  266. package/dist/nile-stepper-item/index.cjs.js +2 -0
  267. package/dist/nile-stepper-item/index.cjs.js.map +1 -0
  268. package/dist/nile-stepper-item/index.esm.js +1 -0
  269. package/dist/nile-stepper-item/nile-stepper-item.cjs.js +6 -0
  270. package/dist/nile-stepper-item/nile-stepper-item.cjs.js.map +1 -0
  271. package/dist/nile-stepper-item/nile-stepper-item.css.cjs.js +2 -0
  272. package/dist/nile-stepper-item/nile-stepper-item.css.cjs.js.map +1 -0
  273. package/dist/nile-stepper-item/nile-stepper-item.css.esm.js +110 -0
  274. package/dist/nile-stepper-item/nile-stepper-item.esm.js +36 -0
  275. package/dist/nile-tab/index.cjs.js +1 -1
  276. package/dist/nile-tab/index.esm.js +1 -1
  277. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  278. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  279. package/dist/nile-tab/nile-tab.css.cjs.js +1 -1
  280. package/dist/nile-tab/nile-tab.css.cjs.js.map +1 -1
  281. package/dist/nile-tab/nile-tab.css.esm.js +17 -7
  282. package/dist/nile-tab/nile-tab.esm.js +1 -1
  283. package/dist/nile-tab-group/index.cjs.js +1 -1
  284. package/dist/nile-tab-group/index.esm.js +1 -1
  285. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  286. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  287. package/dist/nile-tab-group/nile-tab-group.css.cjs.js +1 -1
  288. package/dist/nile-tab-group/nile-tab-group.css.cjs.js.map +1 -1
  289. package/dist/nile-tab-group/nile-tab-group.css.esm.js +17 -3
  290. package/dist/nile-tab-group/nile-tab-group.esm.js +8 -5
  291. package/dist/nile-table-body/nile-table-body.cjs.js +1 -1
  292. package/dist/nile-table-body/nile-table-body.cjs.js.map +1 -1
  293. package/dist/nile-table-body/nile-table-body.esm.js +2 -2
  294. package/dist/nile-table-header-item/nile-table-header-item.cjs.js +1 -1
  295. package/dist/nile-table-header-item/nile-table-header-item.cjs.js.map +1 -1
  296. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js +1 -1
  297. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
  298. package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +10 -2
  299. package/dist/nile-table-header-item/nile-table-header-item.esm.js +18 -14
  300. package/dist/nile-table-row/nile-table-row.cjs.js +1 -1
  301. package/dist/nile-table-row/nile-table-row.cjs.js.map +1 -1
  302. package/dist/nile-table-row/nile-table-row.esm.js +6 -1
  303. package/dist/nile-tag/index.cjs.js +1 -1
  304. package/dist/nile-tag/index.esm.js +1 -1
  305. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  306. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  307. package/dist/nile-tag/nile-tag.esm.js +1 -1
  308. package/dist/nile-textarea/nile-textarea.cjs.js +1 -1
  309. package/dist/nile-textarea/nile-textarea.cjs.js.map +1 -1
  310. package/dist/nile-textarea/nile-textarea.esm.js +1 -1
  311. package/dist/nile-toast/index.cjs.js +1 -1
  312. package/dist/nile-toast/index.esm.js +1 -1
  313. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  314. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  315. package/dist/nile-toast/nile-toast.css.cjs.js +1 -1
  316. package/dist/nile-toast/nile-toast.css.cjs.js.map +1 -1
  317. package/dist/nile-toast/nile-toast.css.esm.js +17 -16
  318. package/dist/nile-toast/nile-toast.esm.js +6 -4
  319. package/dist/nile-tooltip/nile-tooltip.css.cjs.js +1 -1
  320. package/dist/nile-tooltip/nile-tooltip.css.cjs.js.map +1 -1
  321. package/dist/nile-tooltip/nile-tooltip.css.esm.js +6 -6
  322. package/dist/scopedElementsWrapper-2fa3aa8b.cjs.js +6 -0
  323. package/dist/scopedElementsWrapper-2fa3aa8b.cjs.js.map +1 -0
  324. package/dist/scopedElementsWrapper-4c29be11.esm.js +7 -0
  325. package/dist/src/index.d.ts +3 -0
  326. package/dist/src/index.js +3 -0
  327. package/dist/src/index.js.map +1 -1
  328. package/dist/src/nile-avatar/nile-avatar.css.js +15 -7
  329. package/dist/src/nile-avatar/nile-avatar.css.js.map +1 -1
  330. package/dist/src/nile-avatar/nile-avatar.d.ts +1 -1
  331. package/dist/src/nile-avatar/nile-avatar.js +1 -0
  332. package/dist/src/nile-avatar/nile-avatar.js.map +1 -1
  333. package/dist/src/nile-badge/nile-badge.css.js +7 -5
  334. package/dist/src/nile-badge/nile-badge.css.js.map +1 -1
  335. package/dist/src/nile-button/nile-button.css.js +13 -23
  336. package/dist/src/nile-button/nile-button.css.js.map +1 -1
  337. package/dist/src/nile-button-toggle/nile-button-toggle.css.js +11 -6
  338. package/dist/src/nile-button-toggle/nile-button-toggle.css.js.map +1 -1
  339. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.css.d.ts +5 -5
  340. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.css.js +8 -7
  341. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.css.js.map +1 -1
  342. package/dist/src/nile-checkbox/nile-checkbox.css.js +24 -10
  343. package/dist/src/nile-checkbox/nile-checkbox.css.js.map +1 -1
  344. package/dist/src/nile-checkbox/nile-checkbox.d.ts +3 -1
  345. package/dist/src/nile-checkbox/nile-checkbox.js +12 -7
  346. package/dist/src/nile-checkbox/nile-checkbox.js.map +1 -1
  347. package/dist/src/nile-checkbox/nile-checkbox.test.d.ts +1 -0
  348. package/dist/src/nile-checkbox/nile-checkbox.test.js +118 -0
  349. package/dist/src/nile-checkbox/nile-checkbox.test.js.map +1 -0
  350. package/dist/src/nile-chip/nile-chip.js +2 -2
  351. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  352. package/dist/src/nile-empty-state/nile-empty-state.css.js +61 -20
  353. package/dist/src/nile-empty-state/nile-empty-state.css.js.map +1 -1
  354. package/dist/src/nile-empty-state/nile-empty-state.d.ts +1 -1
  355. package/dist/src/nile-empty-state/nile-empty-state.js +22 -22
  356. package/dist/src/nile-empty-state/nile-empty-state.js.map +1 -1
  357. package/dist/src/nile-error-notification/nile-error-notification.js +1 -1
  358. package/dist/src/nile-error-notification/nile-error-notification.js.map +1 -1
  359. package/dist/src/nile-form-help-text/nile-form-help-text.js +3 -3
  360. package/dist/src/nile-form-help-text/nile-form-help-text.js.map +1 -1
  361. package/dist/src/nile-hero/nile-hero.css.js +13 -32
  362. package/dist/src/nile-hero/nile-hero.css.js.map +1 -1
  363. package/dist/src/nile-hero/nile-hero.d.ts +6 -0
  364. package/dist/src/nile-hero/nile-hero.js +45 -8
  365. package/dist/src/nile-hero/nile-hero.js.map +1 -1
  366. package/dist/src/nile-hero-header/index.d.ts +1 -0
  367. package/dist/src/nile-hero-header/index.js +2 -0
  368. package/dist/src/nile-hero-header/index.js.map +1 -0
  369. package/dist/src/nile-hero-header/nile-hero-header.css.d.ts +12 -0
  370. package/dist/src/nile-hero-header/nile-hero-header.css.js +40 -0
  371. package/dist/src/nile-hero-header/nile-hero-header.css.js.map +1 -0
  372. package/dist/src/nile-hero-header/nile-hero-header.d.ts +34 -0
  373. package/dist/src/nile-hero-header/nile-hero-header.js +58 -0
  374. package/dist/src/nile-hero-header/nile-hero-header.js.map +1 -0
  375. package/dist/src/nile-icon/icons/svg/alert-circle.d.ts +5 -0
  376. package/dist/src/nile-icon/icons/svg/alert-circle.js +5 -0
  377. package/dist/src/nile-icon/icons/svg/alert-circle.js.map +1 -0
  378. package/dist/src/nile-icon/icons/svg/arrow-narrow-left.d.ts +5 -0
  379. package/dist/src/nile-icon/icons/svg/arrow-narrow-left.js +5 -0
  380. package/dist/src/nile-icon/icons/svg/arrow-narrow-left.js.map +1 -0
  381. package/dist/src/nile-icon/icons/svg/book-closed.d.ts +5 -0
  382. package/dist/src/nile-icon/icons/svg/book-closed.js +5 -0
  383. package/dist/src/nile-icon/icons/svg/book-closed.js.map +1 -0
  384. package/dist/src/nile-icon/icons/svg/box.d.ts +5 -0
  385. package/dist/src/nile-icon/icons/svg/box.js +5 -0
  386. package/dist/src/nile-icon/icons/svg/box.js.map +1 -0
  387. package/dist/src/nile-icon/icons/svg/check.d.ts +5 -0
  388. package/dist/src/nile-icon/icons/svg/check.js +5 -0
  389. package/dist/src/nile-icon/icons/svg/check.js.map +1 -0
  390. package/dist/src/nile-icon/icons/svg/chevron-left-double.d.ts +5 -0
  391. package/dist/src/nile-icon/icons/svg/chevron-left-double.js +5 -0
  392. package/dist/src/nile-icon/icons/svg/chevron-left-double.js.map +1 -0
  393. package/dist/src/nile-icon/icons/svg/chevron-selector-vertical.d.ts +5 -0
  394. package/dist/src/nile-icon/icons/svg/chevron-selector-vertical.js +5 -0
  395. package/dist/src/nile-icon/icons/svg/chevron-selector-vertical.js.map +1 -0
  396. package/dist/src/nile-icon/icons/svg/clock-check.d.ts +5 -0
  397. package/dist/src/nile-icon/icons/svg/clock-check.js +5 -0
  398. package/dist/src/nile-icon/icons/svg/clock-check.js.map +1 -0
  399. package/dist/src/nile-icon/icons/svg/clock-rewind.d.ts +5 -0
  400. package/dist/src/nile-icon/icons/svg/clock-rewind.js +5 -0
  401. package/dist/src/nile-icon/icons/svg/clock-rewind.js.map +1 -0
  402. package/dist/src/nile-icon/icons/svg/clock.d.ts +5 -0
  403. package/dist/src/nile-icon/icons/svg/clock.js +5 -0
  404. package/dist/src/nile-icon/icons/svg/clock.js.map +1 -0
  405. package/dist/src/nile-icon/icons/svg/cloud-01.d.ts +5 -0
  406. package/dist/src/nile-icon/icons/svg/cloud-01.js +5 -0
  407. package/dist/src/nile-icon/icons/svg/cloud-01.js.map +1 -0
  408. package/dist/src/nile-icon/icons/svg/copy-06.d.ts +5 -0
  409. package/dist/src/nile-icon/icons/svg/copy-06.js +5 -0
  410. package/dist/src/nile-icon/icons/svg/copy-06.js.map +1 -0
  411. package/dist/src/nile-icon/icons/svg/data-insight.d.ts +5 -0
  412. package/dist/src/nile-icon/icons/svg/data-insight.js +5 -0
  413. package/dist/src/nile-icon/icons/svg/data-insight.js.map +1 -0
  414. package/dist/src/nile-icon/icons/svg/dataflow-03.d.ts +5 -0
  415. package/dist/src/nile-icon/icons/svg/dataflow-03.js +5 -0
  416. package/dist/src/nile-icon/icons/svg/dataflow-03.js.map +1 -0
  417. package/dist/src/nile-icon/icons/svg/dataflow-04.d.ts +5 -0
  418. package/dist/src/nile-icon/icons/svg/dataflow-04.js +5 -0
  419. package/dist/src/nile-icon/icons/svg/dataflow-04.js.map +1 -0
  420. package/dist/src/nile-icon/icons/svg/dotpoints-02.d.ts +5 -0
  421. package/dist/src/nile-icon/icons/svg/dotpoints-02.js +5 -0
  422. package/dist/src/nile-icon/icons/svg/dotpoints-02.js.map +1 -0
  423. package/dist/src/nile-icon/icons/svg/dots-vertical.d.ts +5 -0
  424. package/dist/src/nile-icon/icons/svg/dots-vertical.js +5 -0
  425. package/dist/src/nile-icon/icons/svg/dots-vertical.js.map +1 -0
  426. package/dist/src/nile-icon/icons/svg/download-02.d.ts +5 -0
  427. package/dist/src/nile-icon/icons/svg/download-02.js +5 -0
  428. package/dist/src/nile-icon/icons/svg/download-02.js.map +1 -0
  429. package/dist/src/nile-icon/icons/svg/edit-01.d.ts +5 -0
  430. package/dist/src/nile-icon/icons/svg/edit-01.js +5 -0
  431. package/dist/src/nile-icon/icons/svg/edit-01.js.map +1 -0
  432. package/dist/src/nile-icon/icons/svg/expand-06.d.ts +5 -0
  433. package/dist/src/nile-icon/icons/svg/expand-06.js +5 -0
  434. package/dist/src/nile-icon/icons/svg/expand-06.js.map +1 -0
  435. package/dist/src/nile-icon/icons/svg/eye-off.d.ts +5 -0
  436. package/dist/src/nile-icon/icons/svg/eye-off.js +5 -0
  437. package/dist/src/nile-icon/icons/svg/eye-off.js.map +1 -0
  438. package/dist/src/nile-icon/icons/svg/file-06.d.ts +5 -0
  439. package/dist/src/nile-icon/icons/svg/file-06.js +5 -0
  440. package/dist/src/nile-icon/icons/svg/file-06.js.map +1 -0
  441. package/dist/src/nile-icon/icons/svg/file-shield-01.d.ts +5 -0
  442. package/dist/src/nile-icon/icons/svg/file-shield-01.js +5 -0
  443. package/dist/src/nile-icon/icons/svg/file-shield-01.js.map +1 -0
  444. package/dist/src/nile-icon/icons/svg/globe-03.d.ts +5 -0
  445. package/dist/src/nile-icon/icons/svg/globe-03.js +5 -0
  446. package/dist/src/nile-icon/icons/svg/globe-03.js.map +1 -0
  447. package/dist/src/nile-icon/icons/svg/grid-01.d.ts +5 -0
  448. package/dist/src/nile-icon/icons/svg/grid-01.js +5 -0
  449. package/dist/src/nile-icon/icons/svg/grid-01.js.map +1 -0
  450. package/dist/src/nile-icon/icons/svg/help-circle.d.ts +5 -0
  451. package/dist/src/nile-icon/icons/svg/help-circle.js +5 -0
  452. package/dist/src/nile-icon/icons/svg/help-circle.js.map +1 -0
  453. package/dist/src/nile-icon/icons/svg/index.d.ts +38 -0
  454. package/dist/src/nile-icon/icons/svg/index.js +38 -0
  455. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  456. package/dist/src/nile-icon/icons/svg/info-circle.d.ts +5 -0
  457. package/dist/src/nile-icon/icons/svg/info-circle.js +5 -0
  458. package/dist/src/nile-icon/icons/svg/info-circle.js.map +1 -0
  459. package/dist/src/nile-icon/icons/svg/layout-alt-02.d.ts +5 -0
  460. package/dist/src/nile-icon/icons/svg/layout-alt-02.js +5 -0
  461. package/dist/src/nile-icon/icons/svg/layout-alt-02.js.map +1 -0
  462. package/dist/src/nile-icon/icons/svg/layout-alt-03.d.ts +5 -0
  463. package/dist/src/nile-icon/icons/svg/layout-alt-03.js +5 -0
  464. package/dist/src/nile-icon/icons/svg/layout-alt-03.js.map +1 -0
  465. package/dist/src/nile-icon/icons/svg/marker-pin-01.d.ts +5 -0
  466. package/dist/src/nile-icon/icons/svg/marker-pin-01.js +5 -0
  467. package/dist/src/nile-icon/icons/svg/marker-pin-01.js.map +1 -0
  468. package/dist/src/nile-icon/icons/svg/play-circle.d.ts +5 -0
  469. package/dist/src/nile-icon/icons/svg/play-circle.js +5 -0
  470. package/dist/src/nile-icon/icons/svg/play-circle.js.map +1 -0
  471. package/dist/src/nile-icon/icons/svg/refresh-cw-03.d.ts +5 -0
  472. package/dist/src/nile-icon/icons/svg/refresh-cw-03.js +5 -0
  473. package/dist/src/nile-icon/icons/svg/refresh-cw-03.js.map +1 -0
  474. package/dist/src/nile-icon/icons/svg/search-lg.d.ts +5 -0
  475. package/dist/src/nile-icon/icons/svg/search-lg.js +5 -0
  476. package/dist/src/nile-icon/icons/svg/search-lg.js.map +1 -0
  477. package/dist/src/nile-icon/icons/svg/server-03.d.ts +5 -0
  478. package/dist/src/nile-icon/icons/svg/server-03.js +5 -0
  479. package/dist/src/nile-icon/icons/svg/server-03.js.map +1 -0
  480. package/dist/src/nile-icon/icons/svg/stop-circle.d.ts +5 -0
  481. package/dist/src/nile-icon/icons/svg/stop-circle.js +5 -0
  482. package/dist/src/nile-icon/icons/svg/stop-circle.js.map +1 -0
  483. package/dist/src/nile-icon/icons/svg/user-01.d.ts +5 -0
  484. package/dist/src/nile-icon/icons/svg/user-01.js +5 -0
  485. package/dist/src/nile-icon/icons/svg/user-01.js.map +1 -0
  486. package/dist/src/nile-icon/icons/svg/user-circle.d.ts +5 -0
  487. package/dist/src/nile-icon/icons/svg/user-circle.js +5 -0
  488. package/dist/src/nile-icon/icons/svg/user-circle.js.map +1 -0
  489. package/dist/src/nile-icon/icons/svg/x-circle.d.ts +5 -0
  490. package/dist/src/nile-icon/icons/svg/x-circle.js +5 -0
  491. package/dist/src/nile-icon/icons/svg/x-circle.js.map +1 -0
  492. package/dist/src/nile-icon/index.d.ts +1 -0
  493. package/dist/src/nile-icon/index.js +12 -1
  494. package/dist/src/nile-icon/index.js.map +1 -1
  495. package/dist/src/nile-input/nile-input.css.js +7 -8
  496. package/dist/src/nile-input/nile-input.css.js.map +1 -1
  497. package/dist/src/nile-input/nile-input.d.ts +0 -2
  498. package/dist/src/nile-input/nile-input.js +2 -4
  499. package/dist/src/nile-input/nile-input.js.map +1 -1
  500. package/dist/src/nile-menu/nile-menu.css.js +2 -1
  501. package/dist/src/nile-menu/nile-menu.css.js.map +1 -1
  502. package/dist/src/nile-menu-item/nile-menu-item.css.js +7 -4
  503. package/dist/src/nile-menu-item/nile-menu-item.css.js.map +1 -1
  504. package/dist/src/nile-radio-group/nile-radio-group.js +2 -2
  505. package/dist/src/nile-radio-group/nile-radio-group.js.map +1 -1
  506. package/dist/src/nile-select/nile-select.d.ts +1 -0
  507. package/dist/src/nile-select/nile-select.js +27 -19
  508. package/dist/src/nile-select/nile-select.js.map +1 -1
  509. package/dist/src/nile-slide-toggle/nile-slide-toggle.css.js +26 -2
  510. package/dist/src/nile-slide-toggle/nile-slide-toggle.css.js.map +1 -1
  511. package/dist/src/nile-slide-toggle/nile-slide-toggle.d.ts +1 -0
  512. package/dist/src/nile-slide-toggle/nile-slide-toggle.js +13 -3
  513. package/dist/src/nile-slide-toggle/nile-slide-toggle.js.map +1 -1
  514. package/dist/src/nile-stepper/index.d.ts +1 -0
  515. package/dist/src/nile-stepper/index.js +2 -0
  516. package/dist/src/nile-stepper/index.js.map +1 -0
  517. package/dist/src/nile-stepper/nile-stepper.css.d.ts +12 -0
  518. package/dist/src/nile-stepper/nile-stepper.css.js +19 -0
  519. package/dist/src/nile-stepper/nile-stepper.css.js.map +1 -0
  520. package/dist/src/nile-stepper/nile-stepper.d.ts +41 -0
  521. package/dist/src/nile-stepper/nile-stepper.js +135 -0
  522. package/dist/src/nile-stepper/nile-stepper.js.map +1 -0
  523. package/dist/src/nile-stepper-item/index.d.ts +1 -0
  524. package/dist/src/nile-stepper-item/index.js +2 -0
  525. package/dist/src/nile-stepper-item/index.js.map +1 -0
  526. package/dist/src/nile-stepper-item/nile-stepper-item.css.d.ts +12 -0
  527. package/dist/src/nile-stepper-item/nile-stepper-item.css.js +122 -0
  528. package/dist/src/nile-stepper-item/nile-stepper-item.css.js.map +1 -0
  529. package/dist/src/nile-stepper-item/nile-stepper-item.d.ts +46 -0
  530. package/dist/src/nile-stepper-item/nile-stepper-item.js +161 -0
  531. package/dist/src/nile-stepper-item/nile-stepper-item.js.map +1 -0
  532. package/dist/src/nile-tab/nile-tab.css.js +15 -5
  533. package/dist/src/nile-tab/nile-tab.css.js.map +1 -1
  534. package/dist/src/nile-tab-group/nile-tab-group.css.js +17 -3
  535. package/dist/src/nile-tab-group/nile-tab-group.css.js.map +1 -1
  536. package/dist/src/nile-tab-group/nile-tab-group.d.ts +2 -0
  537. package/dist/src/nile-tab-group/nile-tab-group.js +15 -4
  538. package/dist/src/nile-tab-group/nile-tab-group.js.map +1 -1
  539. package/dist/src/nile-table-body/nile-table-body.d.ts +0 -2
  540. package/dist/src/nile-table-body/nile-table-body.js +4 -33
  541. package/dist/src/nile-table-body/nile-table-body.js.map +1 -1
  542. package/dist/src/nile-table-header-item/nile-table-header-item.css.js +10 -2
  543. package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
  544. package/dist/src/nile-table-header-item/nile-table-header-item.d.ts +1 -0
  545. package/dist/src/nile-table-header-item/nile-table-header-item.js +29 -17
  546. package/dist/src/nile-table-header-item/nile-table-header-item.js.map +1 -1
  547. package/dist/src/nile-table-row/nile-table-row.d.ts +1 -0
  548. package/dist/src/nile-table-row/nile-table-row.js +18 -1
  549. package/dist/src/nile-table-row/nile-table-row.js.map +1 -1
  550. package/dist/src/nile-textarea/nile-textarea.d.ts +0 -2
  551. package/dist/src/nile-textarea/nile-textarea.js +3 -4
  552. package/dist/src/nile-textarea/nile-textarea.js.map +1 -1
  553. package/dist/src/nile-toast/nile-toast.css.js +17 -16
  554. package/dist/src/nile-toast/nile-toast.css.js.map +1 -1
  555. package/dist/src/nile-toast/nile-toast.d.ts +1 -1
  556. package/dist/src/nile-toast/nile-toast.js +9 -7
  557. package/dist/src/nile-toast/nile-toast.js.map +1 -1
  558. package/dist/src/nile-tooltip/nile-tooltip.css.js +6 -6
  559. package/dist/src/nile-tooltip/nile-tooltip.css.js.map +1 -1
  560. package/dist/tsconfig.tsbuildinfo +1 -1
  561. package/package.json +3 -2
  562. package/plopfile.js +5 -0
  563. package/rollup.config.js +11 -6
  564. package/src/index.ts +4 -1
  565. package/src/nile-avatar/nile-avatar.css.ts +15 -7
  566. package/src/nile-avatar/nile-avatar.ts +2 -1
  567. package/src/nile-badge/nile-badge.css.ts +7 -5
  568. package/src/nile-button/nile-button.css.ts +13 -23
  569. package/src/nile-button-toggle/nile-button-toggle.css.ts +11 -6
  570. package/src/nile-button-toggle-group/nile-button-toggle-group.css.ts +9 -8
  571. package/src/nile-checkbox/nile-checkbox.css.ts +24 -10
  572. package/src/nile-checkbox/nile-checkbox.test.ts +146 -0
  573. package/src/nile-checkbox/nile-checkbox.ts +9 -5
  574. package/src/nile-chip/nile-chip.ts +2 -2
  575. package/src/nile-empty-state/nile-empty-state.css.ts +61 -20
  576. package/src/nile-empty-state/nile-empty-state.ts +22 -28
  577. package/src/nile-error-notification/nile-error-notification.ts +1 -1
  578. package/src/nile-form-help-text/nile-form-help-text.ts +3 -3
  579. package/src/nile-hero/nile-hero.css.ts +13 -32
  580. package/src/nile-hero/nile-hero.ts +39 -13
  581. package/src/nile-hero-header/index.ts +1 -0
  582. package/src/nile-hero-header/nile-hero-header.css.ts +42 -0
  583. package/src/nile-hero-header/nile-hero-header.ts +59 -0
  584. package/src/nile-icon/icons/svg/alert-circle.ts +5 -0
  585. package/src/nile-icon/icons/svg/arrow-narrow-left.ts +5 -0
  586. package/src/nile-icon/icons/svg/book-closed.ts +5 -0
  587. package/src/nile-icon/icons/svg/box.ts +5 -0
  588. package/src/nile-icon/icons/svg/check.ts +5 -0
  589. package/src/nile-icon/icons/svg/chevron-left-double.ts +5 -0
  590. package/src/nile-icon/icons/svg/chevron-selector-vertical.ts +5 -0
  591. package/src/nile-icon/icons/svg/clock-check.ts +5 -0
  592. package/src/nile-icon/icons/svg/clock-rewind.ts +5 -0
  593. package/src/nile-icon/icons/svg/clock.ts +5 -0
  594. package/src/nile-icon/icons/svg/cloud-01.ts +5 -0
  595. package/src/nile-icon/icons/svg/copy-06.ts +5 -0
  596. package/src/nile-icon/icons/svg/data-insight.ts +5 -0
  597. package/src/nile-icon/icons/svg/dataflow-03.ts +5 -0
  598. package/src/nile-icon/icons/svg/dataflow-04.ts +5 -0
  599. package/src/nile-icon/icons/svg/dotpoints-02.ts +5 -0
  600. package/src/nile-icon/icons/svg/dots-vertical.ts +5 -0
  601. package/src/nile-icon/icons/svg/download-02.ts +5 -0
  602. package/src/nile-icon/icons/svg/edit-01.ts +5 -0
  603. package/src/nile-icon/icons/svg/expand-06.ts +5 -0
  604. package/src/nile-icon/icons/svg/eye-off.ts +5 -0
  605. package/src/nile-icon/icons/svg/file-06.ts +5 -0
  606. package/src/nile-icon/icons/svg/file-shield-01.ts +5 -0
  607. package/src/nile-icon/icons/svg/globe-03.ts +5 -0
  608. package/src/nile-icon/icons/svg/grid-01.ts +5 -0
  609. package/src/nile-icon/icons/svg/help-circle.ts +5 -0
  610. package/src/nile-icon/icons/svg/index.ts +39 -1
  611. package/src/nile-icon/icons/svg/info-circle.ts +5 -0
  612. package/src/nile-icon/icons/svg/layout-alt-02.ts +5 -0
  613. package/src/nile-icon/icons/svg/layout-alt-03.ts +5 -0
  614. package/src/nile-icon/icons/svg/marker-pin-01.ts +5 -0
  615. package/src/nile-icon/icons/svg/play-circle.ts +5 -0
  616. package/src/nile-icon/icons/svg/refresh-cw-03.ts +5 -0
  617. package/src/nile-icon/icons/svg/search-lg.ts +5 -0
  618. package/src/nile-icon/icons/svg/server-03.ts +5 -0
  619. package/src/nile-icon/icons/svg/stop-circle.ts +5 -0
  620. package/src/nile-icon/icons/svg/user-01.ts +5 -0
  621. package/src/nile-icon/icons/svg/user-circle.ts +5 -0
  622. package/src/nile-icon/icons/svg/x-circle.ts +5 -0
  623. package/src/nile-icon/index.ts +11 -1
  624. package/src/nile-input/nile-input.css.ts +7 -8
  625. package/src/nile-input/nile-input.ts +2 -4
  626. package/src/nile-menu/nile-menu.css.ts +2 -1
  627. package/src/nile-menu-item/nile-menu-item.css.ts +7 -4
  628. package/src/nile-radio-group/nile-radio-group.ts +2 -2
  629. package/src/nile-select/nile-select.ts +26 -20
  630. package/src/nile-slide-toggle/nile-slide-toggle.css.ts +26 -2
  631. package/src/nile-slide-toggle/nile-slide-toggle.ts +11 -3
  632. package/src/nile-stepper/index.ts +1 -0
  633. package/src/nile-stepper/nile-stepper.css.ts +21 -0
  634. package/src/nile-stepper/nile-stepper.ts +127 -0
  635. package/src/nile-stepper-item/index.ts +1 -0
  636. package/src/nile-stepper-item/nile-stepper-item.css.ts +123 -0
  637. package/src/nile-stepper-item/nile-stepper-item.ts +138 -0
  638. package/src/nile-tab/nile-tab.css.ts +16 -6
  639. package/src/nile-tab-group/nile-tab-group.css.ts +17 -3
  640. package/src/nile-tab-group/nile-tab-group.ts +24 -14
  641. package/src/nile-table-body/nile-table-body.ts +4 -39
  642. package/src/nile-table-header-item/nile-table-header-item.css.ts +10 -2
  643. package/src/nile-table-header-item/nile-table-header-item.ts +27 -18
  644. package/src/nile-table-row/nile-table-row.ts +21 -1
  645. package/src/nile-textarea/nile-textarea.ts +2 -4
  646. package/src/nile-toast/nile-toast.css.ts +17 -16
  647. package/src/nile-toast/nile-toast.ts +9 -7
  648. package/src/nile-tooltip/nile-tooltip.css.ts +6 -6
  649. package/tsconfig.json +3 -1
  650. package/web-test-runner.config.mjs +15 -15
  651. package/dist/stories/icons.stories.d.ts +0 -29
  652. package/dist/stories/icons.stories.js +0 -27
  653. package/dist/stories/icons.stories.js.map +0 -1
  654. package/dist/stories/index.stories.d.ts +0 -33
  655. package/dist/stories/index.stories.js +0 -37
  656. package/dist/stories/index.stories.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"nile-checkbox.js","sourceRoot":"","sources":["../../../src/nile-checkbox/nile-checkbox.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n property,\n CSSResultArray,\n TemplateResult,\n} from 'lit-element';\nimport { customElement } from 'lit/decorators.js';\nimport { styles } from './nile-checkbox.css';\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query, state } from 'lit/decorators.js';\nimport { defaultValue } from '../internal/default-value';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * @summary Checkboxes allow the user to toggle an option on or off.\n *\n * @dependency nile-icon\n *\n * @slot - The checkbox's label.\n *\n * @event nile-blur - Emitted when the checkbox loses focus.\n * @event nile-change - Emitted when the checked state changes.\n * @event nile-focus - Emitted when the checkbox gains focus.\n * @event nile-input - Emitted when the checkbox receives input.\n * @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart base - The component's base wrapper.\n * @csspart control - The square container that wraps the checkbox's checked state.\n * @csspart control--checked - Matches the control part when the checkbox is checked.\n * @csspart control--indeterminate - Matches the control part when the checkbox is indeterminate.\n * @csspart checked-icon - The checked icon, an `<nile-icon>` element.\n * @csspart indeterminate-icon - The indeterminate icon, an `<nile-icon>` element.\n * @csspart label - The container that wraps the checkbox's label.\n */\n\n/**\n * Nile icon component.\n *\n * @tag nile-checkbox\n *\n */\n@customElement('nile-checkbox')\nexport class NileCheckbox extends NileElement {\n constructor() {\n super();\n }\n\n static styles: CSSResultGroup = styles;\n\n @query('input[type=\"checkbox\"]') input: HTMLInputElement;\n\n @state() private hasFocus = false;\n\n @property() title = ''; // make reactive to pass through\n\n /** The name of the checkbox, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /** The current value of the checkbox, submitted as a name/value pair with form data. */\n @property() value: boolean;\n\n /** The checkbox's size. */\n @property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Disables the checkbox. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Draws the checkbox in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** Label, declared this property for backward compatibility of old component */\n @property({ type: String, reflect: true }) label = '';\n\n /**\n * Draws the checkbox in an indeterminate state. This is usually applied to checkboxes that represents a \"select\n * all/none\" behavior when associated checkboxes have a mix of checked and unchecked states.\n */\n @property({ type: Boolean, reflect: true }) indeterminate = false;\n\n /** The default value of the form control. Primarily used for resetting the form control. */\n @defaultValue('checked') defaultChecked = false;\n\n @property({ attribute: 'help-text' }) helpText = '';\n\n @property({ type: Boolean }) showHelpText = false;\n\n @property({ attribute: 'error-message' }) errorMessage = '';\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 /** Makes the checkbox a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n private toggleHelpText() {\n this.showHelpText = !this.showHelpText;\n }\n\n private handleClick() {\n this.checked = !this.checked;\n this.indeterminate = false;\n this.dispatchEvent(\n new CustomEvent('valueChange', {\n composed: true,\n bubbles: true,\n detail: {\n checked: this.checked,\n },\n })\n );\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('blur');\n }\n\n private handleInput() {\n this.emit('input');\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.emit('focus');\n }\n\n @watch(['checked', 'indeterminate'], { waitUntilFirstUpdate: true })\n handleStateChange() {\n this.input.checked = this.checked; // force a sync update\n this.input.indeterminate = this.indeterminate; // force a sync update\n }\n\n /** Simulates a click on the checkbox. */\n click() {\n this.input.click();\n }\n\n /** Sets focus on the checkbox. */\n focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the checkbox. */\n blur() {\n this.input.blur();\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.updateHostClass();\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n updated(changedProperties: Map<string | number | symbol, unknown>) {\n super.updated(changedProperties);\n if (changedProperties.has('helpText')) {\n this.updateHostClass();\n }\n }\n\n private updateHostClass() {\n if (this.helpText) {\n this.classList.add('full-width');\n } else {\n this.classList.remove('full-width');\n }\n }\n\n render() {\n const hasHelpText = this.helpText ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n\n return html`\n <label\n part=\"base\"\n class=${classMap({\n checkbox: true,\n 'checkbox--checked': this.checked,\n 'checkbox--disabled': this.disabled,\n 'checkbox--focused': this.hasFocus,\n 'checkbox--indeterminate': this.indeterminate,\n 'checkbox--medium': this.size === 'medium',\n })}\n >\n <input\n class=\"checkbox__input\"\n type=\"checkbox\"\n title=${\n this\n .title /* An empty title prevents browser validation tooltips from appearing on hover */\n }\n name=${this.name}\n value=${ifDefined(this.value)}\n .indeterminate=${live(this.indeterminate)}\n .checked=${live(this.checked)}\n .disabled=${this.disabled}\n .required=${this.required}\n aria-checked=${this.checked ? 'true' : 'false'}\n @click=${this.handleClick}\n @input=${this.handleInput}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n />\n\n <span\n part=\"control${this.checked ? ' control--checked' : ''}${this\n .indeterminate\n ? ' control--indeterminate'\n : ''}\"\n class=\"checkbox__control\"\n >\n ${this.checked\n ? html`\n <nile-icon\n part=\"checked-icon\"\n class=\"checkbox__checked-icon\"\n color=\"white\"\n library=\"system\"\n name=\"tick\"\n size=\"12\"\n ></nile-icon>\n `\n : ''}\n ${!this.checked && this.indeterminate\n ? html`\n <nile-icon\n part=\"indeterminate-icon\"\n class=\"checkbox__indeterminate-icon\"\n library=\"system\"\n color=\"white\"\n name=\"minus\"\n size=\"12\"\n ></nile-icon>\n `\n : ''}\n </span>\n\n <div part=\"label\" class=\"checkbox__label\">\n ${typeof this.label === 'boolean' ? '' : this.label}\n <slot></slot>\n </div>\n </label>\n\n ${hasHelpText\n ? html`\n <nile-tooltip content=\"${this.helpText}\" placement=\"bottom\">\n <nile-icon\n name=\"question\"\n class=\"checkbox__helptext-icon\"\n ></nile-icon>\n </nile-tooltip>\n `\n : ``}\n\n ${hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``}\n `;\n }\n}\n\nexport default NileCheckbox;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-checkbox': NileCheckbox;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-checkbox.js","sourceRoot":"","sources":["../../../src/nile-checkbox/nile-checkbox.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n property,\n CSSResultArray,\n TemplateResult,\n} from 'lit-element';\nimport { customElement } from 'lit/decorators.js';\nimport { styles } from './nile-checkbox.css';\n\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query, state } from 'lit/decorators.js';\nimport { defaultValue } from '../internal/default-value';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup } from 'lit';\n\n/**\n * @summary Checkboxes allow the user to toggle an option on or off.\n *\n * @dependency nile-icon\n *\n * @slot - The checkbox's label.\n *\n * @event nile-blur - Emitted when the checkbox loses focus.\n * @event nile-change - Emitted when the checked state changes.\n * @event nile-focus - Emitted when the checkbox gains focus.\n * @event nile-input - Emitted when the checkbox receives input.\n * @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n *\n * @csspart base - The component's base wrapper.\n * @csspart control - The square container that wraps the checkbox's checked state.\n * @csspart control--checked - Matches the control part when the checkbox is checked.\n * @csspart control--indeterminate - Matches the control part when the checkbox is indeterminate.\n * @csspart checked-icon - The checked icon, an `<nile-icon>` element.\n * @csspart indeterminate-icon - The indeterminate icon, an `<nile-icon>` element.\n * @csspart label - The container that wraps the checkbox's label.\n */\n\n/**\n * Nile icon component.\n *\n * @tag nile-checkbox\n *\n */\n@customElement('nile-checkbox')\nexport class NileCheckbox extends NileElement {\n constructor() {\n super();\n }\n\n static styles: CSSResultGroup = styles;\n\n @query('input[type=\"checkbox\"]') input: HTMLInputElement;\n\n @state() private hasFocus = false;\n\n @property() title = ''; // make reactive to pass through\n\n /** The name of the checkbox, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /** The current value of the checkbox, submitted as a name/value pair with form data. */\n @property() value: boolean;\n\n /** The checkbox's size. */\n @property({ reflect: true }) size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Disables the checkbox. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Draws the checkbox in a checked state. */\n @property({ type: Boolean, reflect: true }) checked = false;\n\n /** Label, declared this property for backward compatibility of old component */\n @property({ type: String, reflect: true }) label = '';\n\n /** Sublabel, declared this property for backward compatibility of old component */\n @property({ type: String, reflect: true, attribute: 'sub-label' }) subLabel =\n '';\n\n /**\n * Draws the checkbox in an indeterminate state. This is usually applied to checkboxes that represents a \"select\n * all/none\" behavior when associated checkboxes have a mix of checked and unchecked states.\n */\n @property({ type: Boolean, reflect: true }) indeterminate = false;\n\n /** The default value of the form control. Primarily used for resetting the form control. */\n @defaultValue('checked') defaultChecked = false;\n\n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n @property({ type: Boolean }) showHelpText = false;\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 /** Makes the checkbox a required field. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n private toggleHelpText() {\n this.showHelpText = !this.showHelpText;\n }\n\n private handleClick() {\n this.checked = !this.checked;\n this.indeterminate = false;\n this.dispatchEvent(\n new CustomEvent('valueChange', {\n composed: true,\n bubbles: true,\n detail: {\n checked: this.checked,\n },\n })\n );\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('blur');\n }\n\n private handleInput() {\n this.emit('input');\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.emit('focus');\n }\n\n @watch(['checked', 'indeterminate'], { waitUntilFirstUpdate: true })\n handleStateChange() {\n this.input.checked = this.checked; // force a sync update\n this.input.indeterminate = this.indeterminate; // force a sync update\n }\n\n /** Simulates a click on the checkbox. */\n click() {\n this.input.click();\n }\n\n /** Sets focus on the checkbox. */\n focus(options?: FocusOptions) {\n this.input.focus(options);\n }\n\n /** Removes focus from the checkbox. */\n blur() {\n this.input.blur();\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.updateHostClass();\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n updated(changedProperties: Map<string | number | symbol, unknown>) {\n super.updated(changedProperties);\n if (changedProperties.has('helpText')) {\n this.updateHostClass();\n }\n }\n\n private updateHostClass() {\n if (this.helpText) {\n this.classList.add('full-width');\n } else {\n this.classList.remove('full-width');\n }\n }\n\n render() {\n const hasHelpText = this.helpText ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n\n return html`\n <label\n part=\"base\"\n class=${classMap({\n checkbox: true,\n 'checkbox--checked': this.checked,\n 'checkbox--disabled': this.disabled,\n 'checkbox--focused': this.hasFocus,\n 'checkbox--indeterminate': this.indeterminate,\n 'checkbox--medium': this.size === 'medium',\n })}\n >\n <input\n class=\"checkbox__input\"\n type=\"checkbox\"\n title=${\n this\n .title /* An empty title prevents browser validation tooltips from appearing on hover */\n }\n name=${this.name}\n value=${ifDefined(this.value)}\n .indeterminate=${live(this.indeterminate)}\n .checked=${live(this.checked)}\n .disabled=${this.disabled}\n .required=${this.required}\n aria-checked=${this.checked ? 'true' : 'false'}\n @click=${this.handleClick}\n @input=${this.handleInput}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n />\n\n <span\n part=\"control${this.checked ? ' control--checked' : ''}${this\n .indeterminate\n ? ' control--indeterminate'\n : ''}\"\n class=\"checkbox__control\"\n >\n ${this.checked\n ? html`\n <nile-icon\n part=\"checked-icon\"\n class=\"checkbox__checked-icon\"\n color=\"white\"\n library=\"system\"\n name=\"tick\"\n size=\"12\"\n ></nile-icon>\n `\n : ''}\n ${!this.checked && this.indeterminate\n ? html`\n <nile-icon\n part=\"indeterminate-icon\"\n class=\"checkbox__indeterminate-icon\"\n library=\"system\"\n color=\"white\"\n name=\"minus\"\n size=\"12\"\n ></nile-icon>\n `\n : ''}\n </span>\n\n <div part=\"label\" class=\"checkbox__label\">\n ${this.label ? html`<span class=\"checkbox__label__text\">${this.label}</span>` : ``}\n ${this.label && this.subLabel ? html`<span class=\"checkbox__sublabel__text\">${this.subLabel}</span>` : ``}\n <slot></slot>\n </div>\n </label>\n\n ${hasHelpText\n ? html`\n <nile-tooltip content=\"${this.helpText}\" placement=\"bottom\">\n <nile-icon\n name=\"question\"\n class=\"checkbox__helptext-icon\"\n ></nile-icon>\n </nile-tooltip>\n `\n : ``}\n ${hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``}\n `;\n }\n}\n\nexport default NileCheckbox;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-checkbox': NileCheckbox;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ import './nile-checkbox';
@@ -0,0 +1,118 @@
1
+ import { fixture, html, expect, oneEvent } from '@open-wc/testing';
2
+ import './nile-checkbox';
3
+ describe('NileCheckbox', () => {
4
+ it('renders correctly with default properties', async () => {
5
+ const el = await fixture(html `<nile-checkbox></nile-checkbox>`);
6
+ expect(el).shadowDom.to.equalSnapshot();
7
+ });
8
+ it('toggles checked state on click', async () => {
9
+ const el = await fixture(html `<nile-checkbox></nile-checkbox>`);
10
+ const input = el.shadowRoot.querySelector('input[type="checkbox"]');
11
+ input.click();
12
+ expect(el.checked).to.be.true;
13
+ input.click();
14
+ expect(el.checked).to.be.false;
15
+ });
16
+ it('emits nile-change event on click', async () => {
17
+ const el = await fixture(html `<nile-checkbox></nile-checkbox>`);
18
+ const input = el.shadowRoot.querySelector('input[type="checkbox"]');
19
+ setTimeout(() => input.click());
20
+ const event = await oneEvent(el, 'valueChange');
21
+ expect(event.detail.checked).to.be.true;
22
+ });
23
+ it('handles focus and blur events', async () => {
24
+ const el = await fixture(html `<nile-checkbox></nile-checkbox>`);
25
+ const input = el.shadowRoot.querySelector('input[type="checkbox"]');
26
+ // Focus the input and wait for the focus event
27
+ setTimeout(() => input.focus());
28
+ const focusEvent = await oneEvent(el, 'focus');
29
+ expect(focusEvent).to.exist;
30
+ // Blur the input and wait for the blur event
31
+ setTimeout(() => input.blur());
32
+ const blurEvent = await oneEvent(el, 'blur');
33
+ expect(blurEvent).to.exist;
34
+ });
35
+ it('handles indeterminate state', async () => {
36
+ const el = await fixture(html `<nile-checkbox indeterminate></nile-checkbox>`);
37
+ const input = el.shadowRoot.querySelector('input[type="checkbox"]');
38
+ expect(input.indeterminate).to.be.true;
39
+ el.checked = true;
40
+ el.indeterminate = false;
41
+ await el.updateComplete;
42
+ expect(input.indeterminate).to.be.false;
43
+ expect(input.checked).to.be.true;
44
+ });
45
+ it('reflects properties to attributes', async () => {
46
+ const el = await fixture(html `
47
+ <nile-checkbox
48
+ name="test-name"
49
+ title="test-title"
50
+ disabled
51
+ required
52
+ label="test-label"
53
+ sub-label="test-sublabel"
54
+ help-text="test-help"
55
+ error-message="test-error"
56
+ ></nile-checkbox>
57
+ `);
58
+ expect(el.getAttribute('name')).to.equal('test-name');
59
+ expect(el.getAttribute('title')).to.equal('test-title');
60
+ expect(el.getAttribute('disabled')).to.equal('');
61
+ expect(el.getAttribute('required')).to.equal('');
62
+ expect(el.getAttribute('label')).to.equal('test-label');
63
+ expect(el.getAttribute('sub-label')).to.equal('test-sublabel');
64
+ expect(el.getAttribute('help-text')).to.equal('test-help');
65
+ expect(el.getAttribute('error-message')).to.equal('test-error');
66
+ });
67
+ it('displays help text when showHelpText is true', async () => {
68
+ const el = await fixture(html `<nile-checkbox help-text="test-help"></nile-checkbox>`);
69
+ el.showHelpText = true;
70
+ await el.updateComplete;
71
+ const helpTextIcon = el.shadowRoot.querySelector('.checkbox__helptext-icon');
72
+ expect(helpTextIcon).to.exist;
73
+ });
74
+ it('updates host class based on helpText', async () => {
75
+ const el = await fixture(html `<nile-checkbox></nile-checkbox>`);
76
+ el.helpText = 'test-help';
77
+ await el.updateComplete;
78
+ expect(el.classList.contains('full-width')).to.be.true;
79
+ el.helpText = '';
80
+ await el.updateComplete;
81
+ expect(el.classList.contains('full-width')).to.be.false;
82
+ });
83
+ it('emits custom events on connected and disconnected', async () => {
84
+ const el = document.createElement('nile-checkbox');
85
+ // Wait for the connected event
86
+ const initEventPromise = oneEvent(el, 'nile-init');
87
+ document.body.appendChild(el);
88
+ const initEvent = await initEventPromise;
89
+ expect(initEvent).to.exist;
90
+ // Wait for the disconnected event
91
+ const destroyEventPromise = oneEvent(el, 'nile-destroy');
92
+ document.body.removeChild(el);
93
+ const destroyEvent = await destroyEventPromise;
94
+ expect(destroyEvent).to.exist;
95
+ });
96
+ it('handles required attribute', async () => {
97
+ const el = await fixture(html `<nile-checkbox required></nile-checkbox>`);
98
+ const input = el.shadowRoot.querySelector('input[type="checkbox"]');
99
+ expect(input.required).to.be.true;
100
+ });
101
+ it('simulates click using click method', async () => {
102
+ const el = await fixture(html `<nile-checkbox></nile-checkbox>`);
103
+ el.click();
104
+ expect(el.checked).to.be.true;
105
+ });
106
+ it('sets and removes focus using focus and blur methods', async () => {
107
+ const el = await fixture(html `<nile-checkbox></nile-checkbox>`);
108
+ // Call the focus method and wait for the focus event
109
+ setTimeout(() => el.focus());
110
+ const focusEvent = await oneEvent(el, 'focus');
111
+ expect(focusEvent).to.exist;
112
+ // Call the blur method and wait for the blur event
113
+ setTimeout(() => el.blur());
114
+ const blurEvent = await oneEvent(el, 'blur');
115
+ expect(blurEvent).to.exist;
116
+ });
117
+ });
118
+ //# sourceMappingURL=nile-checkbox.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-checkbox.test.js","sourceRoot":"","sources":["../../../src/nile-checkbox/nile-checkbox.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { fixture, html, expect, oneEvent } from '@open-wc/testing';\nimport './nile-checkbox';\nimport { NileCheckbox } from './nile-checkbox';\n\ndescribe('NileCheckbox', () => {\n it('renders correctly with default properties', async () => {\n const el = await fixture<NileCheckbox>(html`<nile-checkbox></nile-checkbox>`);\n expect(el).shadowDom.to.equalSnapshot();\n });\n\n it('toggles checked state on click', async () => {\n const el = await fixture<NileCheckbox>(html`<nile-checkbox></nile-checkbox>`);\n const input = el.shadowRoot!.querySelector('input[type=\"checkbox\"]')! as HTMLInputElement;\n\n input.click();\n expect(el.checked).to.be.true;\n input.click();\n expect(el.checked).to.be.false;\n });\n\n it('emits nile-change event on click', async () => {\n const el = await fixture<NileCheckbox>(html`<nile-checkbox></nile-checkbox>`);\n const input = el.shadowRoot!.querySelector('input[type=\"checkbox\"]')! as HTMLInputElement;\n\n setTimeout(() => input.click());\n const event = await oneEvent(el, 'valueChange');\n expect(event.detail.checked).to.be.true;\n });\n\n it('handles focus and blur events', async () => {\n const el = await fixture<NileCheckbox>(html`<nile-checkbox></nile-checkbox>`);\n const input = el.shadowRoot!.querySelector('input[type=\"checkbox\"]')! as HTMLInputElement;\n\n // Focus the input and wait for the focus event\n setTimeout(() => input.focus());\n const focusEvent = await oneEvent(el, 'focus');\n expect(focusEvent).to.exist;\n\n // Blur the input and wait for the blur event\n setTimeout(() => input.blur());\n const blurEvent = await oneEvent(el, 'blur');\n expect(blurEvent).to.exist;\n });\n\n it('handles indeterminate state', async () => {\n const el = await fixture<NileCheckbox>(html`<nile-checkbox indeterminate></nile-checkbox>`);\n const input = el.shadowRoot!.querySelector('input[type=\"checkbox\"]')! as HTMLInputElement;\n\n expect(input.indeterminate).to.be.true;\n\n el.checked = true;\n el.indeterminate = false;\n await el.updateComplete;\n expect(input.indeterminate).to.be.false;\n expect(input.checked).to.be.true;\n });\n\n it('reflects properties to attributes', async () => {\n const el = await fixture<NileCheckbox>(html`\n <nile-checkbox\n name=\"test-name\"\n title=\"test-title\"\n disabled\n required\n label=\"test-label\"\n sub-label=\"test-sublabel\"\n help-text=\"test-help\"\n error-message=\"test-error\"\n ></nile-checkbox>\n `);\n\n expect(el.getAttribute('name')).to.equal('test-name');\n expect(el.getAttribute('title')).to.equal('test-title');\n expect(el.getAttribute('disabled')).to.equal('');\n expect(el.getAttribute('required')). to.equal('');\n expect(el.getAttribute('label')).to.equal('test-label');\n expect(el.getAttribute('sub-label')).to.equal('test-sublabel');\n expect(el.getAttribute('help-text')).to.equal('test-help');\n expect(el.getAttribute('error-message')).to.equal('test-error');\n });\n\n it('displays help text when showHelpText is true', async () => {\n const el = await fixture<NileCheckbox>(html`<nile-checkbox help-text=\"test-help\"></nile-checkbox>`);\n el.showHelpText = true;\n await el.updateComplete;\n\n const helpTextIcon = el.shadowRoot!.querySelector('.checkbox__helptext-icon');\n expect(helpTextIcon).to.exist;\n });\n\n it('updates host class based on helpText', async () => {\n const el = await fixture<NileCheckbox>(html`<nile-checkbox></nile-checkbox>`);\n el.helpText = 'test-help';\n await el.updateComplete;\n\n expect(el.classList.contains('full-width')).to.be.true;\n\n el.helpText = '';\n await el.updateComplete;\n\n expect(el.classList.contains('full-width')).to.be.false;\n });\n\n it('emits custom events on connected and disconnected', async () => {\n const el = document.createElement('nile-checkbox');\n\n // Wait for the connected event\n const initEventPromise = oneEvent(el, 'nile-init');\n document.body.appendChild(el);\n const initEvent = await initEventPromise;\n expect(initEvent).to.exist;\n\n // Wait for the disconnected event\n const destroyEventPromise = oneEvent(el, 'nile-destroy');\n document.body.removeChild(el);\n const destroyEvent = await destroyEventPromise;\n expect(destroyEvent).to.exist;\n });\n\n it('handles required attribute', async () => {\n const el = await fixture<NileCheckbox>(html`<nile-checkbox required></nile-checkbox>`);\n const input = el.shadowRoot!.querySelector('input[type=\"checkbox\"]')! as HTMLInputElement;\n\n expect(input.required).to.be.true;\n });\n\n it('simulates click using click method', async () => {\n const el = await fixture<NileCheckbox>(html`<nile-checkbox></nile-checkbox>`);\n el.click();\n expect(el.checked).to.be.true;\n });\n\n it('sets and removes focus using focus and blur methods', async () => {\n const el = await fixture<NileCheckbox>(html`<nile-checkbox></nile-checkbox>`);\n\n // Call the focus method and wait for the focus event\n setTimeout(() => el.focus());\n const focusEvent = await oneEvent(el, 'focus');\n expect(focusEvent).to.exist;\n\n // Call the blur method and wait for the blur event\n setTimeout(() => el.blur());\n const blurEvent = await oneEvent(el, 'blur');\n expect(blurEvent).to.exist;\n });\n});\n"]}
@@ -279,10 +279,10 @@ __decorate([
279
279
  property({ type: Array })
280
280
  ], NileChip.prototype, "errorIndexes", void 0);
281
281
  __decorate([
282
- property({ attribute: 'help-text' })
282
+ property({ attribute: 'help-text', reflect: true })
283
283
  ], NileChip.prototype, "helpText", void 0);
284
284
  __decorate([
285
- property({ attribute: 'error-message' })
285
+ property({ attribute: 'error-message', reflect: true })
286
286
  ], NileChip.prototype, "errorMessage", void 0);
287
287
  __decorate([
288
288
  watch('autoCompleteOptions')
@@ -1 +1 @@
1
- {"version":3,"file":"nile-chip.js","sourceRoot":"","sources":["../../../src/nile-chip/nile-chip.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n property,\n CSSResultArray,\n TemplateResult,\n} from 'lit-element';\nimport { customElement, query, state } from 'lit/decorators.js';\nimport { styles } from './nile-chip.css';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { HasSlotController } from '../internal/slot';\nimport { watch } from '../internal/watch';\nimport NileElement, { NileFormControl } from '../internal/nile-element';\n\ninterface CustomEventDetail {\n value: string;\n}\n\n@customElement('nile-chip')\nexport class NileChip extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n private readonly hasSlotController = new HasSlotController(\n this,\n 'help-text',\n 'label'\n );\n\n @state() tags: string[] = [];\n\n @state() inputValue: string = '';\n\n @state() isDropdownOpen: boolean = false;\n\n @query('nile-auto-complete') autoComplete!: any;\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 /** Disables the duplicate entries. */\n @property({ type: Boolean }) noDuplicates = false;\n\n /** The input's label. If you need to display HTML, use the `label` slot instead. */\n @property() label = '';\n\n /** Adds a clear button when the input is not empty. */\n @property({ type: Boolean }) acceptUserInput = false;\n\n /** Adds a clear button when the input is not empty. */\n @property({ type: Boolean }) clearable = false;\n\n /** Placeholder text to show as a hint when the input is empty. */\n @property() placeholder = 'type here...';\n\n /** Makes the input readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n\n /** Disables the input. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n // Auto-complete options\n @property({ type: Array }) autoCompleteOptions: any[] = [];\n\n @property({ type: Array }) filteredAutoCompleteOptions: any[] = [];\n\n @property({ type: Array }) value: any[] = [];\n\n @property({ type: Boolean }) noWrap: boolean = false;\n\n @property({ type: Array }) errorIndexes: number[] = [];\n\n @property({ attribute: 'help-text' }) helpText = '';\n\n @property({ attribute: 'error-message' }) errorMessage = '';\n\n\n @watch('autoCompleteOptions')\n onAutoCompleteOptionsChanged() {\n this.filteredAutoCompleteOptions = [...this.autoCompleteOptions];\n\n if (this.noDuplicates) {\n this.filteredAutoCompleteOptions =\n this.filteredAutoCompleteOptions.filter(\n option => !this.value.includes(option)\n );\n }\n }\n\n @watch('value')\n onValueChanged() {\n this.tags = [...this.value];\n this.onTagsChanged();\n }\n\n @watch('tags')\n onTagsChanged() {\n if (this.noDuplicates) {\n this.filteredAutoCompleteOptions =\n this.filteredAutoCompleteOptions.filter(\n option => !this.tags.includes(option)\n );\n }\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n if (this.noDuplicates) {\n this.filteredAutoCompleteOptions =\n this.filteredAutoCompleteOptions.filter(\n option => !this.value.includes(option)\n );\n }\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n private handleSelect(event: CustomEvent<CustomEventDetail>) {\n // Add the selected value to the tags array only if it doesn't already exist\n if (!this.noDuplicates || !this.tags.includes(event.detail.value)) {\n this.tags = [...this.tags, event.detail.value];\n this.emit('nile-chip-change', { value: this.tags });\n this.resetInput();\n }\n }\n\n private handleRemove(value: string) {\n // Remove the tag from the tags array\n this.tags = this.tags.filter(tag => tag !== value);\n\n if (this.noDuplicates && this.autoCompleteOptions.includes(value)) {\n this.filteredAutoCompleteOptions = [\n ...this.filteredAutoCompleteOptions,\n value,\n ];\n }\n this.emit('nile-chip-change', { value: this.tags });\n }\n\n private handleInputChange(event: CustomEvent<CustomEventDetail>) {\n // Update the input value\n this.inputValue = event.detail.value;\n }\n\n private handleInputKeydown(event: KeyboardEvent) {\n if (!this.acceptUserInput) {\n return;\n }\n\n if (\n event.key === 'Enter' &&\n this.inputValue &&\n (!this.noDuplicates || !this.tags.includes(this.inputValue))\n ) {\n this.tags = [...this.tags, this.inputValue];\n this.resetInput();\n this.emit('nile-chip-change', { value: this.tags });\n }\n\n if(event.key === 'Enter' &&\n this.inputValue &&\n (this.noDuplicates || this.tags.includes(this.inputValue))){\n this.emit('nile-duplicates-blocked');\n }\n }\n\n private handleFocus() {\n this.isDropdownOpen = true;\n }\n\n private resetInput() {\n // Reset the input-related properties\n this.inputValue = '';\n this.isDropdownOpen = false;\n this.autoComplete.value = '';\n this.autoComplete.handleFocus();\n }\n\n render() {\n // Check if slots are present\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n\n // Check if label and help text are present\n const hasLabel = this.label ? true : !!hasLabelSlot;\n\n const hasHelpText = this.helpText ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n\n return html`\n <div\n part=\"form-control\"\n class=${classMap({\n 'form-control': true,\n 'form-control--medium': true,\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText,\n 'nile-chip--disabled': this.disabled,\n })}\n >\n <label\n part=\"form-control-label\"\n class=\"form-control__label\"\n for=\"input\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n <div\n class=${classMap({\n 'nile-chip': true,\n 'nile-chip--warning': this.warning,\n 'nile-chip--error': this.error,\n 'nile-chip--success': this.success,\n 'nile-chip--no-wrap': this.noWrap,\n })}\n >\n ${this.tags.map(\n (tag, index) => html`\n <nile-tag\n class=${classMap({\n 'nile-chip__tags': true,\n })}\n .variant=${this.errorIndexes.includes(index) ? 'error' : 'normal'}\n @nile-remove=${() => this.handleRemove(tag)}\n removable\n pill\n >\n ${tag}\n </nile-tag>\n `\n )}\n <div class=\"nile-chip__auto-complete\">\n <nile-auto-complete\n .allMenuItems=${this.filteredAutoCompleteOptions}\n .value=${this.inputValue}\n ?isDropdownOpen=${this.isDropdownOpen}\n .noBorder=${true}\n openOnFocus\n .placeholder=${this.placeholder}\n @nile-input=${this.handleInputChange}\n @keydown=${this.handleInputKeydown}\n @nile-focus=${this.handleFocus}\n @nile-complete=${this.handleSelect}\n ></nile-auto-complete>\n </div>\n <slot\n name=\"help-text\"\n part=\"form-control-help-text\"\n id=\"help-text\"\n class=\"form-control__help-text\"\n aria-hidden=${hasHelpText ? 'false' : 'true'}\n >\n ${this.helpText}\n </slot>\n </div>\n ${\n hasHelpText\n ? html`\n <nile-form-help-text>${this.helpText}</nile-form-help-text>\n `\n : ``\n }\n\n ${\n hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``\n }\n </div>\n `;\n }\n}\n\nexport default NileChip;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-chip': NileChip;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-chip.js","sourceRoot":"","sources":["../../../src/nile-chip/nile-chip.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n property,\n CSSResultArray,\n TemplateResult,\n} from 'lit-element';\nimport { customElement, query, state } from 'lit/decorators.js';\nimport { styles } from './nile-chip.css';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { HasSlotController } from '../internal/slot';\nimport { watch } from '../internal/watch';\nimport NileElement, { NileFormControl } from '../internal/nile-element';\n\ninterface CustomEventDetail {\n value: string;\n}\n\n@customElement('nile-chip')\nexport class NileChip extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n private readonly hasSlotController = new HasSlotController(\n this,\n 'help-text',\n 'label'\n );\n\n @state() tags: string[] = [];\n\n @state() inputValue: string = '';\n\n @state() isDropdownOpen: boolean = false;\n\n @query('nile-auto-complete') autoComplete!: any;\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 /** Disables the duplicate entries. */\n @property({ type: Boolean }) noDuplicates = false;\n\n /** The input's label. If you need to display HTML, use the `label` slot instead. */\n @property() label = '';\n\n /** Adds a clear button when the input is not empty. */\n @property({ type: Boolean }) acceptUserInput = false;\n\n /** Adds a clear button when the input is not empty. */\n @property({ type: Boolean }) clearable = false;\n\n /** Placeholder text to show as a hint when the input is empty. */\n @property() placeholder = 'type here...';\n\n /** Makes the input readonly. */\n @property({ type: Boolean, reflect: true }) readonly = false;\n\n /** Disables the input. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n // Auto-complete options\n @property({ type: Array }) autoCompleteOptions: any[] = [];\n\n @property({ type: Array }) filteredAutoCompleteOptions: any[] = [];\n\n @property({ type: Array }) value: any[] = [];\n\n @property({ type: Boolean }) noWrap: boolean = false;\n\n @property({ type: Array }) errorIndexes: number[] = [];\n\n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n\n @watch('autoCompleteOptions')\n onAutoCompleteOptionsChanged() {\n this.filteredAutoCompleteOptions = [...this.autoCompleteOptions];\n\n if (this.noDuplicates) {\n this.filteredAutoCompleteOptions =\n this.filteredAutoCompleteOptions.filter(\n option => !this.value.includes(option)\n );\n }\n }\n\n @watch('value')\n onValueChanged() {\n this.tags = [...this.value];\n this.onTagsChanged();\n }\n\n @watch('tags')\n onTagsChanged() {\n if (this.noDuplicates) {\n this.filteredAutoCompleteOptions =\n this.filteredAutoCompleteOptions.filter(\n option => !this.tags.includes(option)\n );\n }\n }\n\n connectedCallback() {\n super.connectedCallback();\n\n if (this.noDuplicates) {\n this.filteredAutoCompleteOptions =\n this.filteredAutoCompleteOptions.filter(\n option => !this.value.includes(option)\n );\n }\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n private handleSelect(event: CustomEvent<CustomEventDetail>) {\n // Add the selected value to the tags array only if it doesn't already exist\n if (!this.noDuplicates || !this.tags.includes(event.detail.value)) {\n this.tags = [...this.tags, event.detail.value];\n this.emit('nile-chip-change', { value: this.tags });\n this.resetInput();\n }\n }\n\n private handleRemove(value: string) {\n // Remove the tag from the tags array\n this.tags = this.tags.filter(tag => tag !== value);\n\n if (this.noDuplicates && this.autoCompleteOptions.includes(value)) {\n this.filteredAutoCompleteOptions = [\n ...this.filteredAutoCompleteOptions,\n value,\n ];\n }\n this.emit('nile-chip-change', { value: this.tags });\n }\n\n private handleInputChange(event: CustomEvent<CustomEventDetail>) {\n // Update the input value\n this.inputValue = event.detail.value;\n }\n\n private handleInputKeydown(event: KeyboardEvent) {\n if (!this.acceptUserInput) {\n return;\n }\n\n if (\n event.key === 'Enter' &&\n this.inputValue &&\n (!this.noDuplicates || !this.tags.includes(this.inputValue))\n ) {\n this.tags = [...this.tags, this.inputValue];\n this.resetInput();\n this.emit('nile-chip-change', { value: this.tags });\n }\n\n if(event.key === 'Enter' &&\n this.inputValue &&\n (this.noDuplicates || this.tags.includes(this.inputValue))){\n this.emit('nile-duplicates-blocked');\n }\n }\n\n private handleFocus() {\n this.isDropdownOpen = true;\n }\n\n private resetInput() {\n // Reset the input-related properties\n this.inputValue = '';\n this.isDropdownOpen = false;\n this.autoComplete.value = '';\n this.autoComplete.handleFocus();\n }\n\n render() {\n // Check if slots are present\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n\n // Check if label and help text are present\n const hasLabel = this.label ? true : !!hasLabelSlot;\n\n const hasHelpText = this.helpText ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n\n return html`\n <div\n part=\"form-control\"\n class=${classMap({\n 'form-control': true,\n 'form-control--medium': true,\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText,\n 'nile-chip--disabled': this.disabled,\n })}\n >\n <label\n part=\"form-control-label\"\n class=\"form-control__label\"\n for=\"input\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n <div\n class=${classMap({\n 'nile-chip': true,\n 'nile-chip--warning': this.warning,\n 'nile-chip--error': this.error,\n 'nile-chip--success': this.success,\n 'nile-chip--no-wrap': this.noWrap,\n })}\n >\n ${this.tags.map(\n (tag, index) => html`\n <nile-tag\n class=${classMap({\n 'nile-chip__tags': true,\n })}\n .variant=${this.errorIndexes.includes(index) ? 'error' : 'normal'}\n @nile-remove=${() => this.handleRemove(tag)}\n removable\n pill\n >\n ${tag}\n </nile-tag>\n `\n )}\n <div class=\"nile-chip__auto-complete\">\n <nile-auto-complete\n .allMenuItems=${this.filteredAutoCompleteOptions}\n .value=${this.inputValue}\n ?isDropdownOpen=${this.isDropdownOpen}\n .noBorder=${true}\n openOnFocus\n .placeholder=${this.placeholder}\n @nile-input=${this.handleInputChange}\n @keydown=${this.handleInputKeydown}\n @nile-focus=${this.handleFocus}\n @nile-complete=${this.handleSelect}\n ></nile-auto-complete>\n </div>\n <slot\n name=\"help-text\"\n part=\"form-control-help-text\"\n id=\"help-text\"\n class=\"form-control__help-text\"\n aria-hidden=${hasHelpText ? 'false' : 'true'}\n >\n ${this.helpText}\n </slot>\n </div>\n ${\n hasHelpText\n ? html`\n <nile-form-help-text>${this.helpText}</nile-form-help-text>\n `\n : ``\n }\n\n ${\n hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``\n }\n </div>\n `;\n }\n}\n\nexport default NileChip;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-chip': NileChip;\n }\n}\n"]}
@@ -11,57 +11,95 @@ import { css } from 'lit-element';
11
11
  export const styles = css `
12
12
  :host {
13
13
  display:inline-flex;
14
- min-width:300px;
15
- max-width:512px;
14
+ min-width:var(--nile-empty-state-max-width);
15
+ max-width:var(--nile-empty-state-min-width);
16
16
  width:100%;
17
17
  }
18
18
 
19
19
  .empty-state--sm {
20
20
  --nile-es-text-size:16px;
21
+ --nile-es-text-line-height:24px;
21
22
  --nile-es-subtext-size:14px;
23
+ --nile-es-subtext-line-height:20px;
24
+
22
25
  --nile-es-icon-size:48px;
23
- --es-flat-option-border-radius:5px;
26
+ --nile-es-flat-option-border-radius:5px;
24
27
  --nile-es-img-height:118px;
28
+ --nile-es-img-width:152px;
29
+
30
+ --nile-es-gap:var(--nile-spacing-spacing-3xl);
31
+ --nile-es-body-gap:var(--nile-spacing-spacing-xl);
32
+ --nile-es-text-gap:0px;
25
33
  }
26
34
 
27
35
  .empty-state--md {
28
36
  --nile-es-text-size:18px;
37
+ --nile-es-text-line-height:28px;
29
38
  --nile-es-subtext-size:14px;
39
+ --nile-es-subtext-line-height:20px;
40
+
30
41
  --nile-es-icon-size:48px;
31
- --es-flat-option-border-radius:5px;
42
+ --nile-es-flat-option-border-radius:5px;
32
43
  --nile-es-img-height:128px;
44
+ --nile-es-img-width:172px;
45
+
46
+ --nile-es-gap:var(--nile-spacing-spacing-4xl);
47
+ --nile-es-body-gap:var(--nile-spacing-spacing-2xl);
48
+ --nile-es-text-gap:var(--nile-spacing-spacing-md);
33
49
  }
34
50
 
35
51
  .empty-state--lg {
36
52
  --nile-es-text-size:20px;
53
+ --nile-es-text-line-height:30px;
37
54
  --nile-es-subtext-size:16px;
55
+ --nile-es-subtext-line-height:24px;
56
+
38
57
  --nile-es-icon-size:56px;
39
- --es-flat-option-border-radius:10px;
58
+ --nile-es-flat-option-border-radius:10px;
40
59
  --nile-es-img-height:160px;
60
+ --nile-es-img-width:220px;
61
+
62
+ --nile-es-gap:var(--nile-spacing-spacing-4xl);
63
+ --nile-es-body-gap:var(--nile-spacing-spacing-3xl);
64
+ --nile-es-text-gap:var(--nile-spacing-spacing-md)
41
65
  }
42
66
 
43
67
  .empty-state {
44
- padding:1rem;
45
68
  min-width:300px;
46
69
  max-width:512px;
47
70
  width:100%;
48
71
  height:max-content;
49
72
  display:flex;
50
73
  flex-direction:column;
51
- row-gap:2rem;
74
+ row-gap:var(--nile-es-gap);
52
75
  }
53
76
 
54
77
  .empty-state__body {
55
- row-gap:5px;
56
78
  display:flex;
57
79
  flex-direction:column;
58
80
  justify-content:space-between;
59
81
  align-items:center;
82
+ row-gap:var(--nile-es-body-gap)
60
83
  }
61
84
 
62
85
  .empty-state__body--content {
63
86
  position:relative;
64
87
  }
88
+ .empty-state__image {
89
+ background:var(--nile-empty-state-image);
90
+ background-size: var(--nile-es-img-width) var(--nile-es-img-height);
91
+ height: var(--nile-es-img-height);
92
+ width: var(--nile-es-img-width);
93
+ max-width: 100%;
94
+ }
95
+
96
+ .empty-state__image--grayscale {
97
+ -webkit-filter: grayscale(100%);
98
+ -moz-filter: grayscale(100%);
99
+ -o-filter: grayscale(100%);
100
+ -ms-filter: grayscale(100%);
101
+ filter: grayscale(100%);
102
+ }
65
103
 
66
104
  .empty-state__img__icon {
67
105
  height: var(--nile-es-icon-size);
@@ -70,19 +108,15 @@ export const styles = css `
70
108
  display: grid;
71
109
  place-items: center;
72
110
  background: #34405466;
73
- }
74
-
75
- .empty-state__img__icon--abs {
76
111
  position:absolute;
77
112
  left: calc(50% - calc(var(--nile-es-icon-size) / 2));
78
- top:calc(50% - calc(var(--nile-es-icon-size) / 2));
113
+ top:calc(62.5% - calc(var(--nile-es-icon-size) / 2));
79
114
  }
80
115
 
81
116
  .empty-state__body--tonal {
82
117
  background: linear-gradient(180deg, #F9FAFB 0%, #EDF0F3 100%);
83
- width: 100px;
84
- height: 100px;
85
- padding: 1rem;
118
+ width: 104px;
119
+ height: 104px;
86
120
  border-radius: 50%;
87
121
  display:flex;
88
122
  justify-content:center;
@@ -90,13 +124,12 @@ export const styles = css `
90
124
  }
91
125
 
92
126
  .empty-state__body--flat {
93
- margin:2rem;
94
127
  }
95
128
 
96
129
  .nile-flat-type-icon {
97
130
  height:var(--nile-es-icon-size);
98
131
  aspect-ratio:1 / 1;
99
- border-radius: var(--es-flat-option-border-radius);
132
+ border-radius: var(--nile-es-flat-option-border-radius);
100
133
 
101
134
  background-color: white;
102
135
  display: grid;
@@ -104,25 +137,33 @@ export const styles = css `
104
137
  border: 1px solid #EAECF0;
105
138
  }
106
139
 
140
+ .empty__state__text-section {
141
+ display:flex;
142
+ flex-direction:column;
143
+ gap:var(--nile-es-text-gap);
144
+ max-width:80%;
145
+ }
146
+
107
147
  .empty-state__text {
108
148
  font-size: var(--nile-es-text-size);
109
149
  font-weight: 600;
110
- line-height: 28px;
150
+ line-height: var(--nile-es-text-line-height);
111
151
  text-align: center;
152
+ font-style: normal;
112
153
  }
113
154
 
114
155
  .empty-state__subtext {
115
156
  font-size: var(--nile-es-subtext-size);
116
157
  font-weight: 400;
117
- line-height: 20px;
158
+ line-height: var(--nile-es-subtext-line-height);
118
159
  text-align: center;
119
160
  color:#475467;
161
+ font-style: normal;
120
162
  }
121
163
 
122
164
  .empty-state-actions {
123
165
  display:flex;
124
166
  justify-content:center;
125
- gap:1rem;
126
167
  }
127
168
  `;
128
169
  export default [styles];
@@ -1 +1 @@
1
- {"version":3,"file":"nile-empty-state.css.js","sourceRoot":"","sources":["../../../src/nile-empty-state/nile-empty-state.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoHxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","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 { css } from 'lit-element';\n\n/**\n * EmptyState CSS\n */\nexport const styles = css`\n :host {\n display:inline-flex;\n min-width:300px;\n max-width:512px;\n width:100%;\n }\n\n .empty-state--sm {\n --nile-es-text-size:16px;\n --nile-es-subtext-size:14px;\n --nile-es-icon-size:48px;\n --es-flat-option-border-radius:5px;\n --nile-es-img-height:118px;\n }\n\n .empty-state--md {\n --nile-es-text-size:18px;\n --nile-es-subtext-size:14px;\n --nile-es-icon-size:48px;\n --es-flat-option-border-radius:5px;\n --nile-es-img-height:128px;\n }\n\n .empty-state--lg {\n --nile-es-text-size:20px;\n --nile-es-subtext-size:16px;\n --nile-es-icon-size:56px;\n --es-flat-option-border-radius:10px;\n --nile-es-img-height:160px;\n }\n\n .empty-state {\n padding:1rem;\n min-width:300px;\n max-width:512px;\n width:100%;\n height:max-content;\n display:flex;\n flex-direction:column;\n row-gap:2rem;\n }\n\n .empty-state__body {\n row-gap:5px;\n display:flex;\n flex-direction:column;\n justify-content:space-between;\n align-items:center;\n }\n\n .empty-state__body--content {\n position:relative;\n }\n\n .empty-state__img__icon {\n height: var(--nile-es-icon-size);\n aspect-ratio:1 / 1;\n border-radius: 50%;\n display: grid;\n place-items: center;\n background: #34405466;\n }\n\n .empty-state__img__icon--abs {\n position:absolute;\n left: calc(50% - calc(var(--nile-es-icon-size) / 2));\n top:calc(50% - calc(var(--nile-es-icon-size) / 2));\n }\n\n .empty-state__body--tonal {\n background: linear-gradient(180deg, #F9FAFB 0%, #EDF0F3 100%);\n width: 100px;\n height: 100px;\n padding: 1rem;\n border-radius: 50%;\n display:flex;\n justify-content:center;\n align-items:center;\n }\n\n .empty-state__body--flat {\n margin:2rem;\n }\n\n .nile-flat-type-icon {\n height:var(--nile-es-icon-size);\n aspect-ratio:1 / 1;\n border-radius: var(--es-flat-option-border-radius);\n\n background-color: white;\n display: grid;\n place-items: center;\n border: 1px solid #EAECF0;\n }\n\n .empty-state__text {\n font-size: var(--nile-es-text-size);\n font-weight: 600;\n line-height: 28px;\n text-align: center;\n }\n\n .empty-state__subtext {\n font-size: var(--nile-es-subtext-size);\n font-weight: 400;\n line-height: 20px;\n text-align: center;\n color:#475467;\n }\n\n .empty-state-actions {\n display:flex;\n justify-content:center;\n gap:1rem;\n }\n`;\n\nexport default [styles];"]}
1
+ {"version":3,"file":"nile-empty-state.css.js","sourceRoot":"","sources":["../../../src/nile-empty-state/nile-empty-state.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6JxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","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 { css } from 'lit-element';\n\n/**\n * EmptyState CSS\n */\nexport const styles = css`\n :host {\n display:inline-flex;\n min-width:var(--nile-empty-state-max-width);\n max-width:var(--nile-empty-state-min-width);\n width:100%;\n }\n\n .empty-state--sm {\n --nile-es-text-size:16px;\n --nile-es-text-line-height:24px;\n --nile-es-subtext-size:14px;\n --nile-es-subtext-line-height:20px;\n \n --nile-es-icon-size:48px;\n --nile-es-flat-option-border-radius:5px;\n --nile-es-img-height:118px;\n --nile-es-img-width:152px;\n\n --nile-es-gap:var(--nile-spacing-spacing-3xl);\n --nile-es-body-gap:var(--nile-spacing-spacing-xl);\n --nile-es-text-gap:0px;\n }\n\n .empty-state--md {\n --nile-es-text-size:18px;\n --nile-es-text-line-height:28px;\n --nile-es-subtext-size:14px;\n --nile-es-subtext-line-height:20px;\n\n --nile-es-icon-size:48px;\n --nile-es-flat-option-border-radius:5px;\n --nile-es-img-height:128px;\n --nile-es-img-width:172px;\n\n --nile-es-gap:var(--nile-spacing-spacing-4xl);\n --nile-es-body-gap:var(--nile-spacing-spacing-2xl);\n --nile-es-text-gap:var(--nile-spacing-spacing-md);\n }\n\n .empty-state--lg {\n --nile-es-text-size:20px;\n --nile-es-text-line-height:30px;\n --nile-es-subtext-size:16px;\n --nile-es-subtext-line-height:24px;\n\n --nile-es-icon-size:56px;\n --nile-es-flat-option-border-radius:10px;\n --nile-es-img-height:160px;\n --nile-es-img-width:220px;\n\n --nile-es-gap:var(--nile-spacing-spacing-4xl);\n --nile-es-body-gap:var(--nile-spacing-spacing-3xl);\n --nile-es-text-gap:var(--nile-spacing-spacing-md)\n }\n\n .empty-state {\n min-width:300px;\n max-width:512px;\n width:100%;\n height:max-content;\n display:flex;\n flex-direction:column;\n row-gap:var(--nile-es-gap);\n }\n\n .empty-state__body {\n display:flex;\n flex-direction:column;\n justify-content:space-between;\n align-items:center;\n row-gap:var(--nile-es-body-gap)\n }\n\n .empty-state__body--content {\n position:relative;\n }\n .empty-state__image { \n background:var(--nile-empty-state-image);\n background-size: var(--nile-es-img-width) var(--nile-es-img-height);\n height: var(--nile-es-img-height);\n width: var(--nile-es-img-width);\n max-width: 100%;\n }\n\n .empty-state__image--grayscale {\n -webkit-filter: grayscale(100%);\n -moz-filter: grayscale(100%);\n -o-filter: grayscale(100%);\n -ms-filter: grayscale(100%);\n filter: grayscale(100%);\n }\n\n .empty-state__img__icon {\n height: var(--nile-es-icon-size);\n aspect-ratio:1 / 1;\n border-radius: 50%;\n display: grid;\n place-items: center;\n background: #34405466;\n position:absolute;\n left: calc(50% - calc(var(--nile-es-icon-size) / 2));\n top:calc(62.5% - calc(var(--nile-es-icon-size) / 2));\n }\n\n .empty-state__body--tonal {\n background: linear-gradient(180deg, #F9FAFB 0%, #EDF0F3 100%);\n width: 104px;\n height: 104px;\n border-radius: 50%;\n display:flex;\n justify-content:center;\n align-items:center;\n }\n\n .empty-state__body--flat {\n }\n\n .nile-flat-type-icon {\n height:var(--nile-es-icon-size);\n aspect-ratio:1 / 1;\n border-radius: var(--nile-es-flat-option-border-radius);\n\n background-color: white;\n display: grid;\n place-items: center;\n border: 1px solid #EAECF0;\n }\n\n .empty__state__text-section {\n display:flex;\n flex-direction:column;\n gap:var(--nile-es-text-gap);\n max-width:80%;\n }\n\n .empty-state__text {\n font-size: var(--nile-es-text-size);\n font-weight: 600;\n line-height: var(--nile-es-text-line-height);\n text-align: center;\n font-style: normal;\n }\n\n .empty-state__subtext {\n font-size: var(--nile-es-subtext-size);\n font-weight: 400;\n line-height: var(--nile-es-subtext-line-height);\n text-align: center;\n color:#475467;\n font-style: normal;\n }\n\n .empty-state-actions {\n display:flex;\n justify-content:center;\n }\n`;\n\nexport default [styles];"]}
@@ -18,10 +18,10 @@ export declare class NileEmptyState extends NileElement {
18
18
  * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
19
19
  */
20
20
  static get styles(): CSSResultArray;
21
- private readonly hasSlotController;
22
21
  size: 'sm' | 'md' | 'lg';
23
22
  variant: 'flat' | 'content' | 'tonal';
24
23
  icon: string;
24
+ grayscale: boolean;
25
25
  text: String;
26
26
  subText: String;
27
27
  /**
@@ -9,7 +9,6 @@ import { html, nothing, property } from 'lit-element';
9
9
  import { customElement } from 'lit/decorators.js';
10
10
  import { classMap } from 'lit/directives/class-map.js';
11
11
  import { styles } from './nile-empty-state.css';
12
- import { HasSlotController } from '../internal/slot';
13
12
  import NileElement from '../internal/nile-element';
14
13
  /**
15
14
  * Nile empty-state component.
@@ -20,10 +19,10 @@ import NileElement from '../internal/nile-element';
20
19
  let NileEmptyState = class NileEmptyState extends NileElement {
21
20
  constructor() {
22
21
  super(...arguments);
23
- this.hasSlotController = new HasSlotController(this, 'actions');
24
22
  this.size = 'md';
25
23
  this.variant = 'tonal';
26
24
  this.icon = 'error';
25
+ this.grayscale = false;
27
26
  this.text = 'Empty State';
28
27
  this.subText = 'No Data';
29
28
  /* #endregion */
@@ -42,7 +41,6 @@ let NileEmptyState = class NileEmptyState extends NileElement {
42
41
  * @slot This is a slot test
43
42
  */
44
43
  render() {
45
- const hasContentSlot = this.hasSlotController.test('content');
46
44
  return html `
47
45
  <div class="${classMap({
48
46
  'empty-state': true,
@@ -50,35 +48,34 @@ let NileEmptyState = class NileEmptyState extends NileElement {
50
48
  'empty-state--md': this.size == 'md',
51
49
  'empty-state--lg': this.size == 'lg'
52
50
  })}">
53
- <div class="${classMap({
54
- 'empty-state__body': true,
55
- })}">
56
- ${this.variant == 'content' ? html `
57
- <div class="empty-state__body--content">
58
- <slot name="content"></slot>
59
- ${!this.icon ? nothing :
60
- html `
61
- <div class="${classMap({
62
- 'empty-state__img__icon': true,
63
- 'empty-state__img__icon--abs': hasContentSlot
64
- })}">
65
- <nile-icon name="${this.icon}" color="white" size="${this.size == 'sm' ? 24 : this.size == 'md' ? 24 : 28}"></nile-icon>
66
- </div>`}
67
- </div>` : nothing}
51
+ <div class="${classMap({ 'empty-state__body': true })}">
52
+
53
+ ${this.variant == 'content' ? html `
54
+ <div class="empty-state__body--content">
55
+
56
+ <div src="" class="${classMap({ 'empty-state__image': true, 'empty-state__image--grayscale': this.grayscale })}"></div>
57
+ ${!this.icon ? nothing : html `
58
+ <div class="empty-state__img__icon">
59
+ <nile-icon name="${this.icon}" color="white" size="${this.size == 'sm' ? 24 : this.size == 'md' ? 24 : 28}"></nile-icon>
60
+ </div>`}
61
+ </div>` : nothing}
68
62
 
69
- ${this.variant == 'tonal' ? html `
63
+ ${this.variant == 'tonal' ? html `
70
64
  <div class="empty-state__body--tonal">
71
65
  <nile-icon name="${this.icon}" size="40"></nile-icon>
72
66
  </div>` : nothing}
73
67
 
74
- ${this.variant == 'flat' ? html `
68
+ ${this.variant == 'flat' ? html `
75
69
  <div class="empty-state__body--flat">
76
70
  <span class="nile-flat-type-icon">
77
71
  <nile-icon name="${this.icon}" size="${this.size == 'sm' ? 24 : this.size == 'md' ? 24 : 28}" variant="secondary"></nile-icon>
78
72
  </span>
79
73
  </div>` : nothing}
80
- <div class="empty-state__text">${this.text}</div>
81
- <div class="empty-state__subtext">${this.subText}</div>
74
+
75
+ <div class="empty__state__text-section">
76
+ <div class="empty-state__text">${this.text}</div>
77
+ <div class="empty-state__subtext">${this.subText}</div>
78
+ </div>
82
79
  </div>
83
80
 
84
81
  <div class="empty-state-actions">
@@ -97,6 +94,9 @@ __decorate([
97
94
  __decorate([
98
95
  property()
99
96
  ], NileEmptyState.prototype, "icon", void 0);
97
+ __decorate([
98
+ property({ type: Boolean })
99
+ ], NileEmptyState.prototype, "grayscale", void 0);
100
100
  __decorate([
101
101
  property()
102
102
  ], NileEmptyState.prototype, "text", void 0);