@aquera/nile-elements 0.0.80 → 0.0.82

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 (483) hide show
  1. package/README.md +12 -0
  2. package/demo/filenames.txt +1 -1
  3. package/demo/variables.css +54 -0
  4. package/demo/variables_v2.css +51 -0
  5. package/dist/fixture-1a9fb5f1.cjs.js +395 -0
  6. package/dist/fixture-1a9fb5f1.cjs.js.map +1 -0
  7. package/dist/fixture-81e5a936.esm.js +569 -0
  8. package/dist/index.cjs.js +1 -1
  9. package/dist/index.esm.js +1 -1
  10. package/dist/index.iife.js +976 -563
  11. package/dist/internal/animate.cjs.js +1 -1
  12. package/dist/internal/animate.cjs.js.map +1 -1
  13. package/dist/internal/animate.esm.js +1 -1
  14. package/dist/internal/drag.cjs.js +2 -0
  15. package/dist/internal/drag.cjs.js.map +1 -0
  16. package/dist/internal/drag.esm.js +1 -0
  17. package/dist/internal/math.cjs.js +2 -0
  18. package/dist/internal/math.cjs.js.map +1 -0
  19. package/dist/internal/math.esm.js +1 -0
  20. package/dist/nile-avatar/nile-avatar.css.cjs.js +1 -1
  21. package/dist/nile-avatar/nile-avatar.css.cjs.js.map +1 -1
  22. package/dist/nile-avatar/nile-avatar.css.esm.js +7 -8
  23. package/dist/nile-avatar/nile-avatar.test.cjs.js +2 -0
  24. package/dist/nile-avatar/nile-avatar.test.cjs.js.map +1 -0
  25. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -0
  26. package/dist/nile-badge/index.cjs.js +1 -1
  27. package/dist/nile-badge/index.esm.js +1 -1
  28. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  29. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  30. package/dist/nile-badge/nile-badge.css.cjs.js +1 -1
  31. package/dist/nile-badge/nile-badge.css.cjs.js.map +1 -1
  32. package/dist/nile-badge/nile-badge.css.esm.js +47 -47
  33. package/dist/nile-badge/nile-badge.esm.js +1 -1
  34. package/dist/nile-badge/nile-badge.test.cjs.js +2 -0
  35. package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -0
  36. package/dist/nile-badge/nile-badge.test.esm.js +1 -0
  37. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.cjs.js +1 -1
  38. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.cjs.js.map +1 -1
  39. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.esm.js +3 -4
  40. package/dist/nile-button/index.cjs.js +1 -1
  41. package/dist/nile-button/index.esm.js +1 -1
  42. package/dist/nile-button/nile-button.cjs.js +1 -1
  43. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  44. package/dist/nile-button/nile-button.esm.js +1 -1
  45. package/dist/nile-button/nile-button.test.cjs.js +2 -0
  46. package/dist/nile-button/nile-button.test.cjs.js.map +1 -0
  47. package/dist/nile-button/nile-button.test.esm.js +4 -0
  48. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +2 -0
  49. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js.map +1 -0
  50. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +49 -0
  51. package/dist/nile-calendar/index.cjs.js +1 -1
  52. package/dist/nile-calendar/index.esm.js +1 -1
  53. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  54. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  55. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  56. package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
  57. package/dist/nile-calendar/nile-calendar.css.esm.js +122 -191
  58. package/dist/nile-calendar/nile-calendar.esm.js +135 -135
  59. package/dist/nile-card/nile-card.test.cjs.js +2 -0
  60. package/dist/nile-card/nile-card.test.cjs.js.map +1 -0
  61. package/dist/nile-card/nile-card.test.esm.js +51 -0
  62. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -394
  63. package/dist/nile-checkbox/nile-checkbox.test.cjs.js.map +1 -1
  64. package/dist/nile-checkbox/nile-checkbox.test.esm.js +3 -571
  65. package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
  66. package/dist/nile-date-picker/nile-date-picker.cjs.js.map +1 -1
  67. package/dist/nile-date-picker/nile-date-picker.esm.js +1 -1
  68. package/dist/nile-dialog/index.cjs.js +1 -1
  69. package/dist/nile-dialog/index.esm.js +1 -1
  70. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  71. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  72. package/dist/nile-dialog/nile-dialog.css.cjs.js +1 -1
  73. package/dist/nile-dialog/nile-dialog.css.cjs.js.map +1 -1
  74. package/dist/nile-dialog/nile-dialog.css.esm.js +4 -1
  75. package/dist/nile-dialog/nile-dialog.esm.js +5 -4
  76. package/dist/nile-drawer/index.cjs.js +1 -1
  77. package/dist/nile-drawer/index.esm.js +1 -1
  78. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  79. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  80. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  81. package/dist/nile-drawer/nile-drawer.test.cjs.js +2 -0
  82. package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -0
  83. package/dist/nile-drawer/nile-drawer.test.esm.js +18 -0
  84. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +2 -0
  85. package/dist/nile-empty-state/nile-empty-state.test.cjs.js.map +1 -0
  86. package/dist/nile-empty-state/nile-empty-state.test.esm.js +9 -0
  87. package/dist/nile-error-message/nile-error-message.test.cjs.js +2 -0
  88. package/dist/nile-error-message/nile-error-message.test.cjs.js.map +1 -0
  89. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -0
  90. package/dist/nile-form-group/nile-form-group.test.cjs.js +2 -0
  91. package/dist/nile-form-group/nile-form-group.test.cjs.js.map +1 -0
  92. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -0
  93. package/dist/nile-hero/nile-hero.test.cjs.js +2 -0
  94. package/dist/nile-hero/nile-hero.test.cjs.js.map +1 -0
  95. package/dist/nile-hero/nile-hero.test.esm.js +14 -0
  96. package/dist/nile-icon/icons/svg/alert.cjs.js +2 -0
  97. package/dist/nile-icon/icons/svg/alert.cjs.js.map +1 -0
  98. package/dist/nile-icon/icons/svg/alert.esm.js +1 -0
  99. package/dist/nile-icon/icons/svg/file-check-02.cjs.js +2 -0
  100. package/dist/nile-icon/icons/svg/file-check-02.cjs.js.map +1 -0
  101. package/dist/nile-icon/icons/svg/file-check-02.esm.js +1 -0
  102. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  103. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  104. package/dist/nile-icon/icons/svg/monitor-01.cjs.js +2 -0
  105. package/dist/nile-icon/icons/svg/monitor-01.cjs.js.map +1 -0
  106. package/dist/nile-icon/icons/svg/monitor-01.esm.js +1 -0
  107. package/dist/nile-icon/index.cjs.js +1 -1
  108. package/dist/nile-icon/index.cjs.js.map +1 -1
  109. package/dist/nile-icon/index.esm.js +1 -1
  110. package/dist/nile-icon/nile-icon.test.cjs.js +2 -0
  111. package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -0
  112. package/dist/nile-icon/nile-icon.test.esm.js +1 -0
  113. package/dist/nile-icon-button/index.cjs.js +1 -1
  114. package/dist/nile-icon-button/index.esm.js +1 -1
  115. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  116. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  117. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  118. package/dist/nile-input/index.cjs.js +1 -1
  119. package/dist/nile-input/index.esm.js +1 -1
  120. package/dist/nile-input/nile-input.cjs.js +1 -1
  121. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  122. package/dist/nile-input/nile-input.esm.js +1 -1
  123. package/dist/nile-input/nile-input.test.cjs.js +2 -0
  124. package/dist/nile-input/nile-input.test.cjs.js.map +1 -0
  125. package/dist/nile-input/nile-input.test.esm.js +17 -0
  126. package/dist/nile-link/nile-link.test.cjs.js +2 -0
  127. package/dist/nile-link/nile-link.test.cjs.js.map +1 -0
  128. package/dist/nile-link/nile-link.test.esm.js +1 -0
  129. package/dist/nile-list/index.cjs.js +2 -0
  130. package/dist/nile-list/index.cjs.js.map +1 -0
  131. package/dist/nile-list/index.esm.js +1 -0
  132. package/dist/nile-list/nile-list.cjs.js +2 -0
  133. package/dist/nile-list/nile-list.cjs.js.map +1 -0
  134. package/dist/nile-list/nile-list.css.cjs.js +2 -0
  135. package/dist/nile-list/nile-list.css.cjs.js.map +1 -0
  136. package/dist/nile-list/nile-list.css.esm.js +8 -0
  137. package/dist/nile-list/nile-list.esm.js +3 -0
  138. package/dist/nile-list-item/index.cjs.js +2 -0
  139. package/dist/nile-list-item/index.cjs.js.map +1 -0
  140. package/dist/nile-list-item/index.esm.js +1 -0
  141. package/dist/nile-list-item/nile-list-item.cjs.js +2 -0
  142. package/dist/nile-list-item/nile-list-item.cjs.js.map +1 -0
  143. package/dist/nile-list-item/nile-list-item.css.cjs.js +2 -0
  144. package/dist/nile-list-item/nile-list-item.css.cjs.js.map +1 -0
  145. package/dist/nile-list-item/nile-list-item.css.esm.js +54 -0
  146. package/dist/nile-list-item/nile-list-item.esm.js +21 -0
  147. package/dist/nile-loader/nile-loader.test.cjs.js +2 -0
  148. package/dist/nile-loader/nile-loader.test.cjs.js.map +1 -0
  149. package/dist/nile-loader/nile-loader.test.esm.js +1 -0
  150. package/dist/nile-menu/nile-menu.cjs.js +1 -1
  151. package/dist/nile-menu/nile-menu.cjs.js.map +1 -1
  152. package/dist/nile-menu/nile-menu.css.cjs.js +1 -1
  153. package/dist/nile-menu/nile-menu.css.cjs.js.map +1 -1
  154. package/dist/nile-menu/nile-menu.css.esm.js +21 -7
  155. package/dist/nile-menu/nile-menu.esm.js +17 -15
  156. package/dist/nile-menu-item/index.cjs.js +1 -1
  157. package/dist/nile-menu-item/index.esm.js +1 -1
  158. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  159. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  160. package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
  161. package/dist/nile-option/index.cjs.js +1 -1
  162. package/dist/nile-option/index.esm.js +1 -1
  163. package/dist/nile-option/nile-option.cjs.js +1 -1
  164. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  165. package/dist/nile-option/nile-option.esm.js +1 -1
  166. package/dist/nile-popover/nile-popover.cjs.js +1 -1
  167. package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
  168. package/dist/nile-popover/nile-popover.css.cjs.js +1 -1
  169. package/dist/nile-popover/nile-popover.css.cjs.js.map +1 -1
  170. package/dist/nile-popover/nile-popover.css.esm.js +6 -4
  171. package/dist/nile-popover/nile-popover.esm.js +4 -7
  172. package/dist/nile-popover/nile-popover.test.cjs.js +2 -0
  173. package/dist/nile-popover/nile-popover.test.cjs.js.map +1 -0
  174. package/dist/nile-popover/nile-popover.test.esm.js +21 -0
  175. package/dist/nile-popup/nile-popup.css.cjs.js +1 -1
  176. package/dist/nile-popup/nile-popup.css.cjs.js.map +1 -1
  177. package/dist/nile-popup/nile-popup.css.esm.js +8 -4
  178. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +2 -0
  179. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js.map +1 -0
  180. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -0
  181. package/dist/nile-radio/nile-radio.test.cjs.js +2 -0
  182. package/dist/nile-radio/nile-radio.test.cjs.js.map +1 -0
  183. package/dist/nile-radio/nile-radio.test.esm.js +1 -0
  184. package/dist/nile-select/index.cjs.js +1 -1
  185. package/dist/nile-select/index.esm.js +1 -1
  186. package/dist/nile-select/nile-select.cjs.js +1 -1
  187. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  188. package/dist/nile-select/nile-select.esm.js +3 -3
  189. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +2 -0
  190. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js.map +1 -0
  191. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -0
  192. package/dist/nile-split-panel/index.cjs.js +2 -0
  193. package/dist/nile-split-panel/index.cjs.js.map +1 -0
  194. package/dist/nile-split-panel/index.esm.js +1 -0
  195. package/dist/nile-split-panel/nile-split-panel.cjs.js +2 -0
  196. package/dist/nile-split-panel/nile-split-panel.cjs.js.map +1 -0
  197. package/dist/nile-split-panel/nile-split-panel.css.cjs.js +2 -0
  198. package/dist/nile-split-panel/nile-split-panel.css.cjs.js.map +1 -0
  199. package/dist/nile-split-panel/nile-split-panel.css.esm.js +87 -0
  200. package/dist/nile-split-panel/nile-split-panel.esm.js +21 -0
  201. package/dist/nile-stepper/nile-stepper.cjs.js +1 -1
  202. package/dist/nile-stepper/nile-stepper.cjs.js.map +1 -1
  203. package/dist/nile-stepper/nile-stepper.esm.js +1 -1
  204. package/dist/nile-stepper/nile-stepper.test.cjs.js +2 -0
  205. package/dist/nile-stepper/nile-stepper.test.cjs.js.map +1 -0
  206. package/dist/nile-stepper/nile-stepper.test.esm.js +1 -0
  207. package/dist/nile-tab/index.cjs.js +1 -1
  208. package/dist/nile-tab/index.esm.js +1 -1
  209. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  210. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  211. package/dist/nile-tab/nile-tab.esm.js +1 -1
  212. package/dist/nile-tab-group/index.cjs.js +1 -1
  213. package/dist/nile-tab-group/index.esm.js +1 -1
  214. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  215. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  216. package/dist/nile-tab-group/nile-tab-group.css.cjs.js +1 -1
  217. package/dist/nile-tab-group/nile-tab-group.css.cjs.js.map +1 -1
  218. package/dist/nile-tab-group/nile-tab-group.css.esm.js +2 -2
  219. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  220. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js +1 -1
  221. package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
  222. package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +0 -4
  223. package/dist/nile-tag/index.cjs.js +1 -1
  224. package/dist/nile-tag/index.esm.js +1 -1
  225. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  226. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  227. package/dist/nile-tag/nile-tag.esm.js +1 -1
  228. package/dist/nile-textarea/nile-textarea.test.cjs.js +2 -0
  229. package/dist/nile-textarea/nile-textarea.test.cjs.js.map +1 -0
  230. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -0
  231. package/dist/nile-toast/index.cjs.js +1 -1
  232. package/dist/nile-toast/index.esm.js +1 -1
  233. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  234. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  235. package/dist/nile-toast/nile-toast.esm.js +1 -1
  236. package/dist/nile-tree/index.cjs.js +2 -0
  237. package/dist/nile-tree/index.cjs.js.map +1 -0
  238. package/dist/nile-tree/index.esm.js +1 -0
  239. package/dist/nile-tree/nile-tree.cjs.js +2 -0
  240. package/dist/nile-tree/nile-tree.cjs.js.map +1 -0
  241. package/dist/nile-tree/nile-tree.css.cjs.js +2 -0
  242. package/dist/nile-tree/nile-tree.css.cjs.js.map +1 -0
  243. package/dist/nile-tree/nile-tree.css.esm.js +36 -0
  244. package/dist/nile-tree/nile-tree.esm.js +13 -0
  245. package/dist/nile-tree-item/index.cjs.js +2 -0
  246. package/dist/nile-tree-item/index.cjs.js.map +1 -0
  247. package/dist/nile-tree-item/index.esm.js +1 -0
  248. package/dist/nile-tree-item/nile-tree-item.cjs.js +2 -0
  249. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -0
  250. package/dist/nile-tree-item/nile-tree-item.css.cjs.js +2 -0
  251. package/dist/nile-tree-item/nile-tree-item.css.cjs.js.map +1 -0
  252. package/dist/nile-tree-item/nile-tree-item.css.esm.js +164 -0
  253. package/dist/nile-tree-item/nile-tree-item.esm.js +63 -0
  254. package/dist/src/index.d.ts +5 -0
  255. package/dist/src/index.js +5 -0
  256. package/dist/src/index.js.map +1 -1
  257. package/dist/src/internal/drag.d.ts +15 -0
  258. package/dist/src/internal/drag.js +28 -0
  259. package/dist/src/internal/drag.js.map +1 -0
  260. package/dist/src/internal/math.d.ts +2 -0
  261. package/dist/src/internal/math.js +12 -0
  262. package/dist/src/internal/math.js.map +1 -0
  263. package/dist/src/nile-avatar/nile-avatar.css.js +5 -6
  264. package/dist/src/nile-avatar/nile-avatar.css.js.map +1 -1
  265. package/dist/src/nile-avatar/nile-avatar.test.d.ts +1 -0
  266. package/dist/src/nile-avatar/nile-avatar.test.js +58 -0
  267. package/dist/src/nile-avatar/nile-avatar.test.js.map +1 -0
  268. package/dist/src/nile-badge/nile-badge.css.js +45 -45
  269. package/dist/src/nile-badge/nile-badge.css.js.map +1 -1
  270. package/dist/src/nile-badge/nile-badge.test.d.ts +1 -0
  271. package/dist/src/nile-badge/nile-badge.test.js +42 -0
  272. package/dist/src/nile-badge/nile-badge.test.js.map +1 -0
  273. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.css.js +3 -4
  274. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.css.js.map +1 -1
  275. package/dist/src/nile-button/nile-button.test.d.ts +1 -0
  276. package/dist/src/nile-button/nile-button.test.js +86 -0
  277. package/dist/src/nile-button/nile-button.test.js.map +1 -0
  278. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.test.d.ts +2 -0
  279. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.test.js +108 -0
  280. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.test.js.map +1 -0
  281. package/dist/src/nile-calendar/nile-calendar.css.js +122 -191
  282. package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
  283. package/dist/src/nile-calendar/nile-calendar.d.ts +8 -0
  284. package/dist/src/nile-calendar/nile-calendar.js +164 -167
  285. package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
  286. package/dist/src/nile-card/nile-card.test.d.ts +1 -0
  287. package/dist/src/nile-card/nile-card.test.js +69 -0
  288. package/dist/src/nile-card/nile-card.test.js.map +1 -0
  289. package/dist/src/nile-date-picker/nile-date-picker.js +1 -0
  290. package/dist/src/nile-date-picker/nile-date-picker.js.map +1 -1
  291. package/dist/src/nile-dialog/nile-dialog.css.js +4 -1
  292. package/dist/src/nile-dialog/nile-dialog.css.js.map +1 -1
  293. package/dist/src/nile-dialog/nile-dialog.js +4 -3
  294. package/dist/src/nile-dialog/nile-dialog.js.map +1 -1
  295. package/dist/src/nile-drawer/nile-drawer.test.d.ts +1 -0
  296. package/dist/src/nile-drawer/nile-drawer.test.js +88 -0
  297. package/dist/src/nile-drawer/nile-drawer.test.js.map +1 -0
  298. package/dist/src/nile-empty-state/nile-empty-state.test.d.ts +1 -0
  299. package/dist/src/nile-empty-state/nile-empty-state.test.js +63 -0
  300. package/dist/src/nile-empty-state/nile-empty-state.test.js.map +1 -0
  301. package/dist/src/nile-error-message/nile-error-message.test.d.ts +1 -0
  302. package/dist/src/nile-error-message/nile-error-message.test.js +61 -0
  303. package/dist/src/nile-error-message/nile-error-message.test.js.map +1 -0
  304. package/dist/src/nile-form-group/nile-form-group.test.d.ts +1 -0
  305. package/dist/src/nile-form-group/nile-form-group.test.js +55 -0
  306. package/dist/src/nile-form-group/nile-form-group.test.js.map +1 -0
  307. package/dist/src/nile-hero/nile-hero.test.d.ts +1 -0
  308. package/dist/src/nile-hero/nile-hero.test.js +42 -0
  309. package/dist/src/nile-hero/nile-hero.test.js.map +1 -0
  310. package/dist/src/nile-icon/icons/svg/alert.d.ts +5 -0
  311. package/dist/src/nile-icon/icons/svg/alert.js +5 -0
  312. package/dist/src/nile-icon/icons/svg/alert.js.map +1 -0
  313. package/dist/src/nile-icon/icons/svg/file-check-02.d.ts +5 -0
  314. package/dist/src/nile-icon/icons/svg/file-check-02.js +5 -0
  315. package/dist/src/nile-icon/icons/svg/file-check-02.js.map +1 -0
  316. package/dist/src/nile-icon/icons/svg/index.d.ts +3 -0
  317. package/dist/src/nile-icon/icons/svg/index.js +3 -0
  318. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  319. package/dist/src/nile-icon/icons/svg/monitor-01.d.ts +5 -0
  320. package/dist/src/nile-icon/icons/svg/monitor-01.js +5 -0
  321. package/dist/src/nile-icon/icons/svg/monitor-01.js.map +1 -0
  322. package/dist/src/nile-icon/nile-icon.test.d.ts +1 -0
  323. package/dist/src/nile-icon/nile-icon.test.js +45 -0
  324. package/dist/src/nile-icon/nile-icon.test.js.map +1 -0
  325. package/dist/src/nile-input/nile-input.test.d.ts +1 -0
  326. package/dist/src/nile-input/nile-input.test.js +139 -0
  327. package/dist/src/nile-input/nile-input.test.js.map +1 -0
  328. package/dist/src/nile-link/nile-link.test.d.ts +1 -0
  329. package/dist/src/nile-link/nile-link.test.js +72 -0
  330. package/dist/src/nile-link/nile-link.test.js.map +1 -0
  331. package/dist/src/nile-list/index.d.ts +1 -0
  332. package/dist/src/nile-list/index.js +2 -0
  333. package/dist/src/nile-list/index.js.map +1 -0
  334. package/dist/src/nile-list/nile-list.css.d.ts +12 -0
  335. package/dist/src/nile-list/nile-list.css.js +20 -0
  336. package/dist/src/nile-list/nile-list.css.js.map +1 -0
  337. package/dist/src/nile-list/nile-list.d.ts +33 -0
  338. package/dist/src/nile-list/nile-list.js +47 -0
  339. package/dist/src/nile-list/nile-list.js.map +1 -0
  340. package/dist/src/nile-list-item/index.d.ts +1 -0
  341. package/dist/src/nile-list-item/index.js +2 -0
  342. package/dist/src/nile-list-item/index.js.map +1 -0
  343. package/dist/src/nile-list-item/nile-list-item.css.d.ts +12 -0
  344. package/dist/src/nile-list-item/nile-list-item.css.js +66 -0
  345. package/dist/src/nile-list-item/nile-list-item.css.js.map +1 -0
  346. package/dist/src/nile-list-item/nile-list-item.d.ts +38 -0
  347. package/dist/src/nile-list-item/nile-list-item.js +96 -0
  348. package/dist/src/nile-list-item/nile-list-item.js.map +1 -0
  349. package/dist/src/nile-loader/nile-loader.test.d.ts +1 -0
  350. package/dist/src/nile-loader/nile-loader.test.js +39 -0
  351. package/dist/src/nile-loader/nile-loader.test.js.map +1 -0
  352. package/dist/src/nile-menu/nile-menu.css.js +19 -5
  353. package/dist/src/nile-menu/nile-menu.css.js.map +1 -1
  354. package/dist/src/nile-menu/nile-menu.d.ts +1 -0
  355. package/dist/src/nile-menu/nile-menu.js +25 -14
  356. package/dist/src/nile-menu/nile-menu.js.map +1 -1
  357. package/dist/src/nile-popover/nile-popover.css.js +6 -4
  358. package/dist/src/nile-popover/nile-popover.css.js.map +1 -1
  359. package/dist/src/nile-popover/nile-popover.d.ts +1 -0
  360. package/dist/src/nile-popover/nile-popover.js +7 -6
  361. package/dist/src/nile-popover/nile-popover.js.map +1 -1
  362. package/dist/src/nile-popover/nile-popover.test.d.ts +1 -0
  363. package/dist/src/nile-popover/nile-popover.test.js +73 -0
  364. package/dist/src/nile-popover/nile-popover.test.js.map +1 -0
  365. package/dist/src/nile-popup/nile-popup.css.d.ts +5 -5
  366. package/dist/src/nile-popup/nile-popup.css.js +13 -9
  367. package/dist/src/nile-popup/nile-popup.css.js.map +1 -1
  368. package/dist/src/nile-progress-bar/nile-progress-bar.test.d.ts +1 -0
  369. package/dist/src/nile-progress-bar/nile-progress-bar.test.js +48 -0
  370. package/dist/src/nile-progress-bar/nile-progress-bar.test.js.map +1 -0
  371. package/dist/src/nile-radio/nile-radio.test.d.ts +1 -0
  372. package/dist/src/nile-radio/nile-radio.test.js +71 -0
  373. package/dist/src/nile-radio/nile-radio.test.js.map +1 -0
  374. package/dist/src/nile-select/nile-select.d.ts +1 -0
  375. package/dist/src/nile-select/nile-select.js +5 -1
  376. package/dist/src/nile-select/nile-select.js.map +1 -1
  377. package/dist/src/nile-slide-toggle/nile-slide-toggle.test.d.ts +1 -0
  378. package/dist/src/nile-slide-toggle/nile-slide-toggle.test.js +54 -0
  379. package/dist/src/nile-slide-toggle/nile-slide-toggle.test.js.map +1 -0
  380. package/dist/src/nile-split-panel/index.d.ts +1 -0
  381. package/dist/src/nile-split-panel/index.js +2 -0
  382. package/dist/src/nile-split-panel/index.js.map +1 -0
  383. package/dist/src/nile-split-panel/nile-split-panel.css.d.ts +12 -0
  384. package/dist/src/nile-split-panel/nile-split-panel.css.js +99 -0
  385. package/dist/src/nile-split-panel/nile-split-panel.css.js.map +1 -0
  386. package/dist/src/nile-split-panel/nile-split-panel.d.ts +78 -0
  387. package/dist/src/nile-split-panel/nile-split-panel.js +251 -0
  388. package/dist/src/nile-split-panel/nile-split-panel.js.map +1 -0
  389. package/dist/src/nile-stepper/nile-stepper.js +1 -1
  390. package/dist/src/nile-stepper/nile-stepper.js.map +1 -1
  391. package/dist/src/nile-stepper/nile-stepper.test.d.ts +0 -0
  392. package/dist/src/nile-stepper/nile-stepper.test.js +165 -0
  393. package/dist/src/nile-stepper/nile-stepper.test.js.map +1 -0
  394. package/dist/src/nile-tab-group/nile-tab-group.css.js +2 -2
  395. package/dist/src/nile-tab-group/nile-tab-group.css.js.map +1 -1
  396. package/dist/src/nile-tab-group/nile-tab-group.js +16 -15
  397. package/dist/src/nile-tab-group/nile-tab-group.js.map +1 -1
  398. package/dist/src/nile-table-header-item/nile-table-header-item.css.js +0 -4
  399. package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
  400. package/dist/src/nile-textarea/nile-textarea.test.d.ts +1 -0
  401. package/dist/src/nile-textarea/nile-textarea.test.js +87 -0
  402. package/dist/src/nile-textarea/nile-textarea.test.js.map +1 -0
  403. package/dist/src/nile-tree/index.d.ts +1 -0
  404. package/dist/src/nile-tree/index.js +2 -0
  405. package/dist/src/nile-tree/index.js.map +1 -0
  406. package/dist/src/nile-tree/nile-tree.css.d.ts +12 -0
  407. package/dist/src/nile-tree/nile-tree.css.js +48 -0
  408. package/dist/src/nile-tree/nile-tree.css.js.map +1 -0
  409. package/dist/src/nile-tree/nile-tree.d.ts +69 -0
  410. package/dist/src/nile-tree/nile-tree.js +376 -0
  411. package/dist/src/nile-tree/nile-tree.js.map +1 -0
  412. package/dist/src/nile-tree-item/index.d.ts +1 -0
  413. package/dist/src/nile-tree-item/index.js +2 -0
  414. package/dist/src/nile-tree-item/index.js.map +1 -0
  415. package/dist/src/nile-tree-item/nile-tree-item.css.d.ts +12 -0
  416. package/dist/src/nile-tree-item/nile-tree-item.css.js +176 -0
  417. package/dist/src/nile-tree-item/nile-tree-item.css.js.map +1 -0
  418. package/dist/src/nile-tree-item/nile-tree-item.d.ts +96 -0
  419. package/dist/src/nile-tree-item/nile-tree-item.js +324 -0
  420. package/dist/src/nile-tree-item/nile-tree-item.js.map +1 -0
  421. package/dist/tsconfig.tsbuildinfo +1 -1
  422. package/package.json +71 -2
  423. package/plopfile.js +11 -0
  424. package/src/index.ts +6 -1
  425. package/src/internal/drag.ts +45 -0
  426. package/src/internal/math.ts +14 -0
  427. package/src/nile-avatar/nile-avatar.css.ts +5 -6
  428. package/src/nile-avatar/nile-avatar.test.ts +65 -0
  429. package/src/nile-badge/nile-badge.css.ts +45 -45
  430. package/src/nile-badge/nile-badge.test.ts +48 -0
  431. package/src/nile-breadcrumb-item/nile-breadcrumb-item.css.ts +3 -4
  432. package/src/nile-button/nile-button.test.ts +117 -0
  433. package/src/nile-button-toggle-group/nile-button-toggle-group.test.ts +130 -0
  434. package/src/nile-calendar/nile-calendar.css.ts +122 -191
  435. package/src/nile-calendar/nile-calendar.ts +170 -213
  436. package/src/nile-card/nile-card.test.ts +74 -0
  437. package/src/nile-date-picker/nile-date-picker.ts +5 -6
  438. package/src/nile-dialog/nile-dialog.css.ts +4 -1
  439. package/src/nile-dialog/nile-dialog.ts +4 -4
  440. package/src/nile-drawer/nile-drawer.test.ts +106 -0
  441. package/src/nile-empty-state/nile-empty-state.test.ts +69 -0
  442. package/src/nile-error-message/nile-error-message.test.ts +69 -0
  443. package/src/nile-form-group/nile-form-group.test.ts +63 -0
  444. package/src/nile-hero/nile-hero.test.ts +45 -0
  445. package/src/nile-icon/icons/svg/alert.ts +5 -0
  446. package/src/nile-icon/icons/svg/file-check-02.ts +5 -0
  447. package/src/nile-icon/icons/svg/index.ts +3 -0
  448. package/src/nile-icon/icons/svg/monitor-01.ts +5 -0
  449. package/src/nile-icon/nile-icon.test.ts +53 -0
  450. package/src/nile-input/nile-input.test.ts +160 -0
  451. package/src/nile-link/nile-link.test.ts +83 -0
  452. package/src/nile-list/index.ts +1 -0
  453. package/src/nile-list/nile-list.css.ts +22 -0
  454. package/src/nile-list/nile-list.ts +64 -0
  455. package/src/nile-list-item/index.ts +1 -0
  456. package/src/nile-list-item/nile-list-item.css.ts +68 -0
  457. package/src/nile-list-item/nile-list-item.ts +104 -0
  458. package/src/nile-loader/nile-loader.test.ts +45 -0
  459. package/src/nile-menu/nile-menu.css.ts +19 -5
  460. package/src/nile-menu/nile-menu.ts +27 -17
  461. package/src/nile-popover/nile-popover.css.ts +6 -4
  462. package/src/nile-popover/nile-popover.test.ts +86 -0
  463. package/src/nile-popover/nile-popover.ts +7 -10
  464. package/src/nile-popup/nile-popup.css.ts +14 -10
  465. package/src/nile-progress-bar/nile-progress-bar.test.ts +55 -0
  466. package/src/nile-radio/nile-radio.test.ts +81 -0
  467. package/src/nile-select/nile-select.ts +3 -1
  468. package/src/nile-slide-toggle/nile-slide-toggle.test.ts +61 -0
  469. package/src/nile-split-panel/index.ts +1 -0
  470. package/src/nile-split-panel/nile-split-panel.css.ts +101 -0
  471. package/src/nile-split-panel/nile-split-panel.ts +285 -0
  472. package/src/nile-stepper/nile-stepper.test.ts +174 -0
  473. package/src/nile-stepper/nile-stepper.ts +2 -2
  474. package/src/nile-tab-group/nile-tab-group.css.ts +2 -2
  475. package/src/nile-tab-group/nile-tab-group.ts +2 -1
  476. package/src/nile-table-header-item/nile-table-header-item.css.ts +0 -4
  477. package/src/nile-textarea/nile-textarea.test.ts +102 -0
  478. package/src/nile-tree/index.ts +1 -0
  479. package/src/nile-tree/nile-tree.css.ts +50 -0
  480. package/src/nile-tree/nile-tree.ts +433 -0
  481. package/src/nile-tree-item/index.ts +1 -0
  482. package/src/nile-tree-item/nile-tree-item.css.ts +178 -0
  483. package/src/nile-tree-item/nile-tree-item.ts +330 -0
package/package.json CHANGED
@@ -3,12 +3,81 @@
3
3
  "description": "Webcomponent nile-elements following open-wc recommendations",
4
4
  "license": "MIT",
5
5
  "author": "nile-elements",
6
- "version": "0.0.80",
6
+ "version": "0.0.82",
7
7
  "main": "dist/src/index.js",
8
8
  "type": "module",
9
9
  "module": "dist/src/index.js",
10
10
  "exports": {
11
- ".": "./dist/src/index.js"
11
+ ".": "./dist/src/index.js",
12
+ "./nile-button": "./dist/src/nile-button/index.js",
13
+ "./nile-heading": "./dist/src/nile-heading/index.js",
14
+ "./nile-icon": "./dist/src/nile-icon/index.js",
15
+ "./nile-input": "./dist/src/nile-input/index.js",
16
+ "./nile-sidebar": "./dist/src/nile-sidebar/index.js",
17
+ "./nile-menu": "./dist/src/nile-menu/index.js",
18
+ "./nile-badge": "./dist/src/nile-badge/index.js",
19
+ "./nile-drawer": "./dist/src/nile-drawer/index.js",
20
+ "./nile-checkbox": "./dist/src/nile-checkbox/index.js",
21
+ "./nile-radio": "./dist/src/nile-radio/index.js",
22
+ "./nile-radio-group": "./dist/src/nile-radio-group/index.js",
23
+ "./nile-popup": "./dist/src/nile-popup/index.js",
24
+ "./nile-tooltip": "./dist/src/nile-tooltip/index.js",
25
+ "./nile-slide-toggle": "./dist/src/nile-slide-toggle/index.js",
26
+ "./nile-loader": "./dist/src/nile-loader/index.js",
27
+ "./nile-progress-bar": "./dist/src/nile-progress-bar/index.js",
28
+ "./nile-spinner": "./dist/src/nile-spinner/index.js",
29
+ "./nile-select": "./dist/src/nile-select/index.js",
30
+ "./nile-option": "./dist/src/nile-option/index.js",
31
+ "./nile-tag": "./dist/src/nile-tag/index.js",
32
+ "./nile-icon-button": "./dist/src/nile-icon-button/index.js",
33
+ "./nile-menu-item": "./dist/src/nile-menu-item/index.js",
34
+ "./nile-dropdown": "./dist/src/nile-dropdown/index.js",
35
+ "./nile-auto-complete": "./dist/src/nile-auto-complete/index.js",
36
+ "./nile-chip": "./dist/src/nile-chip/index.js",
37
+ "./nile-textarea": "./dist/src/nile-textarea/index.js",
38
+ "./nile-date-picker": "./dist/src/nile-date-picker/index.js",
39
+ "./nile-error-message": "./dist/src/nile-error-message/index.js",
40
+ "./nile-form-error-message": "./dist/src/nile-form-error-message/index.js",
41
+ "./nile-form-help-text": "./dist/src/nile-form-help-text/index.js",
42
+ "./nile-calendar": "./dist/src/nile-calendar/index.js",
43
+ "./nile-link": "./dist/src/nile-link/index.js",
44
+ "./nile-button-toggle-group": "./dist/src/nile-button-toggle-group/index.js",
45
+ "./nile-button-toggle": "./dist/src/nile-button-toggle/index.js",
46
+ "./nile-switcher": "./dist/src/nile-switcher/index.js",
47
+ "./nile-content-editor": "./dist/src/nile-content-editor/index.js",
48
+ "./nile-dialog": "./dist/src/nile-dialog/index.js",
49
+ "./nile-error-notification": "./dist/src/nile-error-notification/index.js",
50
+ "./nile-tab-group": "./dist/src/nile-tab-group/index.js",
51
+ "./nile-tab": "./dist/src/nile-tab/index.js",
52
+ "./nile-tab-panel": "./dist/src/nile-tab-panel/index.js",
53
+ "./nile-code-editor": "./dist/src/nile-code-editor/index.js",
54
+ "./nile-toast": "./dist/src/nile-toast/index.js",
55
+ "./nile-breadcrumb": "./dist/src/nile-breadcrumb/index.js",
56
+ "./nile-breadcrumb-item": "./dist/src/nile-breadcrumb-item/index.js",
57
+ "./nile-form-group": "./dist/src/nile-form-group/index.js",
58
+ "./nile-card": "./dist/src/nile-card/index.js",
59
+ "./nile-popover": "./dist/src/nile-popover/index.js",
60
+ "./nile-button-filter": "./dist/src/nile-button-filter/index.js",
61
+ "./nile-circular-progressbar": "./dist/src/nile-circular-progressbar/index.js",
62
+ "./nile-sidebar-menu": "./dist/src/nile-sidebar-menu/index.js",
63
+ "./nile-sidebar-menu-items": "./dist/src/nile-sidebar-menu-items/index.js",
64
+ "./nile-sidebar-wrapper": "./dist/src/nile-sidebar-wrapper/index.js",
65
+ "./nile-table-cell-item": "./dist/src/nile-table-cell-item/index.js",
66
+ "./nile-table-row": "./dist/src/nile-table-row/index.js",
67
+ "./nile-table-body": "./dist/src/nile-table-body/index.js",
68
+ "./nile-table-header-item": "./dist/src/nile-table-header-item/index.js",
69
+ "./nile-avatar": "./dist/src/nile-avatar/index.js",
70
+ "./nile-page-header": "./dist/src/nile-page-header/index.js",
71
+ "./nile-empty-state": "./dist/src/nile-empty-state/index.js",
72
+ "./nile-hero": "./dist/src/nile-hero/index.js",
73
+ "./nile-stepper-item": "./dist/src/nile-stepper-item/index.js",
74
+ "./nile-stepper": "./dist/src/nile-stepper/index.js",
75
+ "./nile-hero-header": "./dist/src/nile-hero-header/index.js",
76
+ "./nile-vertical-stepper-item": "./dist/src/nile-vertical-stepper-item/index.js",
77
+ "./nile-format-date": "./dist/src/nile-format-date/index.js",
78
+ "./nile-split-panel": "./dist/src/nile-split-panel/index.js",
79
+ "./nile-list": "./dist/src/nile-list/index.js",
80
+ "./nile-list-item": "./dist/src/nile-list-item/index.js"
12
81
  },
13
82
  "scripts": {
14
83
  "analyze": "cem analyze --litelement",
package/plopfile.js CHANGED
@@ -30,6 +30,17 @@ export default function (plop) {
30
30
  path: 'src/nile-{{name}}/nile-{{name}}.css.ts',
31
31
  templateFile: 'plop-templates/lit/lit.css.ts.hbs',
32
32
  },
33
+ {
34
+ type: 'modify',
35
+ path: 'package.json',
36
+ transform: (content, data) => {
37
+ const packageJson = JSON.parse(content);
38
+ const newName = `./nile-${data.name}`;
39
+ packageJson.exports[newName] = `./dist/src/nile-${data.name}/index.js`;
40
+
41
+ return JSON.stringify(packageJson, null, 2);
42
+ },
43
+ },
33
44
  ],
34
45
  });
35
46
  }
package/src/index.ts CHANGED
@@ -63,4 +63,9 @@ export { NileStepperItem } from './nile-stepper-item';
63
63
  export { NileStepper } from './nile-stepper';
64
64
  export { NileHeroHeader } from './nile-hero-header';
65
65
  export { NileVerticalStepperItem } from './nile-vertical-stepper-item';
66
- export { NileFormatDate } from './nile-format-date';
66
+ export { NileFormatDate } from './nile-format-date';
67
+ export { NileSplitPanel } from './nile-split-panel';
68
+ export { NileTree } from './nile-tree';
69
+ export { NileTreeItem } from './nile-tree-item';
70
+ export { NileListItem } from './nile-list-item';
71
+ export { NileList } from './nile-list';
@@ -0,0 +1,45 @@
1
+ interface DragOptions {
2
+ /** Callback that runs as dragging occurs. */
3
+ onMove: (x: number, y: number) => void;
4
+ /** Callback that runs when dragging stops. */
5
+ onStop: () => void;
6
+ /**
7
+ * When an initial event is passed, the first drag will be triggered immediately using the coordinates therein. This
8
+ * is useful when the drag is initiated by a mousedown/touchstart event but you want the initial "click" to activate
9
+ * a drag (e.g. positioning a handle initially at the click target).
10
+ */
11
+ initialEvent: PointerEvent;
12
+ }
13
+
14
+ /** Begins listening for dragging. */
15
+ export function drag(container: HTMLElement, options?: Partial<DragOptions>) {
16
+ function move(pointerEvent: PointerEvent) {
17
+ const dims = container.getBoundingClientRect();
18
+ const defaultView = container.ownerDocument.defaultView!;
19
+ const offsetX = dims.left + defaultView.pageXOffset;
20
+ const offsetY = dims.top + defaultView.pageYOffset;
21
+ const x = pointerEvent.pageX - offsetX;
22
+ const y = pointerEvent.pageY - offsetY;
23
+
24
+ if (options?.onMove) {
25
+ options.onMove(x, y);
26
+ }
27
+ }
28
+
29
+ function stop() {
30
+ document.removeEventListener('pointermove', move);
31
+ document.removeEventListener('pointerup', stop);
32
+
33
+ if (options?.onStop) {
34
+ options.onStop();
35
+ }
36
+ }
37
+
38
+ document.addEventListener('pointermove', move, { passive: true });
39
+ document.addEventListener('pointerup', stop);
40
+
41
+ // If an initial event is set, trigger the first drag immediately
42
+ if (options?.initialEvent instanceof PointerEvent) {
43
+ move(options.initialEvent);
44
+ }
45
+ }
@@ -0,0 +1,14 @@
1
+ /** Ensures a number stays within a minimum and maximum value */
2
+ export function clamp(value: number, min: number, max: number) {
3
+ const noNegativeZero = (n: number) => (Object.is(n, -0) ? 0 : n);
4
+
5
+ if (value < min) {
6
+ return noNegativeZero(min);
7
+ }
8
+
9
+ if (value > max) {
10
+ return noNegativeZero(max);
11
+ }
12
+
13
+ return noNegativeZero(value);
14
+ }
@@ -16,7 +16,6 @@ export const styles = css`
16
16
 
17
17
  .text__avatar {
18
18
  box-sizing: border-box;
19
- font-feature-settings: 'clig' off, 'liga' off;
20
19
  font-family: var(--nile-font-family-serif);
21
20
  font-style: normal;
22
21
  font-weight: 600;
@@ -78,23 +77,23 @@ export const styles = css`
78
77
  }
79
78
 
80
79
  .variant__orange {
81
- background: #e04f16;
80
+ background:var(--nile-avatar-background-color-orange);
82
81
  }
83
82
 
84
83
  .variant__pink {
85
- background: #c11574;
84
+ background: var(--nile-avatar-background-color-pink);
86
85
  }
87
86
 
88
87
  .variant__blue {
89
- background: #3538cd;
88
+ background: var(--nile-avatar-background-color-blue);
90
89
  }
91
90
 
92
91
  .variant__light_blue {
93
- background: #0086c9;
92
+ background: var(--nile-avatar-background-color-lightblue);
94
93
  }
95
94
 
96
95
  .variant__green {
97
- background: #079455;
96
+ background: var(--nile-avatar-background-color-green);
98
97
  }
99
98
  `;
100
99
 
@@ -0,0 +1,65 @@
1
+ import { html, fixture, expect } from '@open-wc/testing';
2
+ import './nile-avatar';
3
+ import {NileAvatar} from './nile-avatar';
4
+
5
+ describe('NileAvatar', () => {
6
+ it('should display an image when the src is provided', async () => {
7
+ const el = await fixture<NileAvatar>(html`<nile-avatar src="https://example.com/avatar.png"></nile-avatar>`);
8
+ const img = el.shadowRoot!.querySelector('img');
9
+ expect(img).to.exist;
10
+ expect(img!.getAttribute('src')).to.equal('https://example.com/avatar.png');
11
+ });
12
+
13
+ it('should display initials when the image fails to load and name is provided', async () => {
14
+ const el = await fixture<NileAvatar>(html`<nile-avatar name="John Doe"></nile-avatar>`);
15
+ const img = el.shadowRoot!.querySelector('img');
16
+ img!.dispatchEvent(new Event('error'));
17
+ await el.updateComplete;
18
+ const initialsDiv = el.shadowRoot!.querySelector('.text__avatar');
19
+ expect(initialsDiv).to.exist;
20
+ expect(initialsDiv!.textContent!.trim()).to.equal('JD');
21
+ });
22
+
23
+ it('should use provided background and text colors when bg-color and text-color are set', async () => {
24
+ const el = await fixture<NileAvatar>(html`<nile-avatar name="John Doe" bg-color="#ff0000" text-color="#00ff00"></nile-avatar>`);
25
+ const img = el.shadowRoot!.querySelector('img');
26
+ img!.dispatchEvent(new Event('error'));
27
+ await el.updateComplete;
28
+ const initialsDiv = el.shadowRoot!.querySelector('.text__avatar');
29
+ expect(initialsDiv).to.have.style('background-color', 'rgb(255, 0, 0)');
30
+ expect(initialsDiv).to.have.style('color', 'rgb(0, 255, 0)');
31
+ });
32
+
33
+ it('should apply the appropriate size class based on the size property', async () => {
34
+ const el = await fixture<NileAvatar>(html`<nile-avatar size="large"></nile-avatar>`);
35
+ const img = el.shadowRoot!.querySelector('img');
36
+ expect(img).to.have.class('avatar__large');
37
+ });
38
+
39
+ it('should have rounded class when isRounded is true', async () => {
40
+ const el = await fixture<NileAvatar>(html`<nile-avatar isRounded></nile-avatar>`);
41
+ const img = el.shadowRoot!.querySelector('img');
42
+ expect(img).to.have.class('avatar__rounded');
43
+ });
44
+
45
+ it('should display a default icon when image fails to load and no name is provided', async () => {
46
+ const el = await fixture<NileAvatar>(html`<nile-avatar></nile-avatar>`);
47
+ const img = el.shadowRoot!.querySelector('img');
48
+ img!.dispatchEvent(new Event('error'));
49
+ await el.updateComplete;
50
+ const defaultIcon = el.shadowRoot!.querySelector('nile-icon');
51
+ expect(defaultIcon).to.exist;
52
+ expect(defaultIcon!.getAttribute('name')).to.equal('user');
53
+ });
54
+
55
+ it('should reflect properties to attributes', async () => {
56
+ const el = await fixture<NileAvatar>(html`<nile-avatar src="https://example.com/avatar.png" name="Jane Doe" bg-color="#123456" text-color="#654321" border-color="#abcdef" size="small" isRounded></nile-avatar>`);
57
+ expect(el.getAttribute('src')).to.equal('https://example.com/avatar.png');
58
+ expect(el.getAttribute('name')).to.equal('Jane Doe');
59
+ expect(el.getAttribute('bg-color')).to.equal('#123456');
60
+ expect(el.getAttribute('text-color')).to.equal('#654321');
61
+ expect(el.getAttribute('border-color')).to.equal('#abcdef');
62
+ expect(el.getAttribute('size')).to.equal('small');
63
+ expect(el.hasAttribute('isRounded')).to.be.true;
64
+ });
65
+ });
@@ -34,134 +34,134 @@ export const styles = css`
34
34
  }
35
35
 
36
36
  .badge--primary {
37
- background: #005ea6;
37
+ background: var(--nile-badge-color-background-primary);
38
38
  }
39
39
 
40
40
  .badge--normal {
41
- background: #e5e9eb;
41
+ background: var(--nile-badge-color-background-normal);
42
42
  }
43
43
 
44
44
  .badge--info {
45
- background: #a5d3f3;
45
+ background: var(--nile-badge-color-background-info);
46
46
  }
47
47
 
48
48
  /* for v2 */
49
49
  .badge--pink {
50
- color: #c11574;
51
- border: var(--nile-badge-color-border-width) solid #fcceee;
52
- background: #fdf2fa;
50
+ color: var(--nile-badge-color-font-pink);
51
+ border: var(--nile-badge-color-border-width) solid var(--nile-badge-color-border-color-pink);
52
+ background: var(--nile-badge-color-background-pink);
53
53
  }
54
54
 
55
55
  .badge--orange {
56
- color: #b93815;
57
- border: var(--nile-badge-color-border-width) solid #f9dbaf;
58
- background: #fef6ee;
56
+ color: var(--nile-badge-color-font-orange);
57
+ border: var(--nile-badge-color-border-width) solid var(--nile-badge-color-border-color-orange);
58
+ background: var(--nile-badge-color-background-orange);
59
59
  }
60
60
 
61
61
  .badge--purple {
62
- color: #5925dc;
63
- border: var(--nile-badge-color-border-width) solid #d9d6fe;
64
- background: #f4f3ff;
62
+ color: var(--nile-badge-color-font-purple);
63
+ border: var(--nile-badge-color-border-width) solid var(--nile-badge-color-border-color-purple);
64
+ background: var(--nile-badge-color-background-purple);
65
65
  }
66
66
 
67
67
  .badge--indigo {
68
- color: #3538cd;
69
- border: var(--nile-badge-color-border-width) solid #c7d7fe;
70
- background: #eef4ff;
68
+ color: var(--nile-badge-color-font-indigo);
69
+ border: var(--nile-badge-color-border-width) solid var(--nile-badge-color-border-color-indigo);
70
+ background: var(--nile-badge-color-background-indigo);
71
71
  }
72
72
 
73
73
  .badge--blue {
74
- color: #175cd3;
75
- border: var(--nile-badge-color-border-width) solid #b2ddff;
76
- background: #eff8ff;
74
+ color: var(--nile-badge-color-font-blue);
75
+ border: var(--nile-badge-color-border-width) solid var(--nile-badge-color-border-color-blue);
76
+ background: var(--nile-badge-color-background-blue);
77
77
  }
78
78
  .badge--blue-light {
79
- color: #026aa2;
80
- border: var(--nile-badge-color-border-width) solid #b9e6fe;
81
- background: #f0f9ff;
79
+ color:var(--nile-badge-color-font-bluelight);
80
+ border: var(--nile-badge-color-border-width) solid var(--nile-badge-color-border-color-bluelight);
81
+ background: var(--nile-badge-color-background-bluelight);
82
82
  }
83
83
 
84
84
  .badge--gray-blue {
85
- color: #363f72;
86
- border: var(--nile-badge-color-border-width) solid #d5d9eb;
87
- background: #f8f9fc;
85
+ color: var(--nile-badge-color-font-grayblue);
86
+ border: var(--nile-badge-color-border-width) solid var(--nile-badge-color-border-color-grablue);
87
+ background: var(--nile-badge-color-background-grayblue);
88
88
  }
89
89
 
90
90
  .badge--success {
91
91
  color: var(--nile-badge-color-font-success);
92
- border: var(--nile-badge-color-border-width) solid #abefc6;
92
+ border: var(--nile-badge-color-border-width) solid var(--nile-badge-color-border-color-success);
93
93
  background: var(--nile-badge-color-background-success);
94
94
  }
95
95
  .badge--warning {
96
96
  color: var(--nile-badge-color-font-warning);
97
- border: var(--nile-badge-color-border-width) solid #fedf89;
97
+ border: var(--nile-badge-color-border-width) solid var(--nile-badge-color-border-color-warning);
98
98
  background: var(--nile-badge-color-background-warning);
99
99
  }
100
100
 
101
101
  .badge--error {
102
102
  color: var(--nile-badge-color-font-error);
103
- border: var(--nile-badge-color-border-width) solid #fecdca;
103
+ border: var(--nile-badge-color-border-width) solid var(--nile-badge-color-border-color-error);
104
104
  background: var(--nile-badge-color-background-error);
105
105
  }
106
106
 
107
107
  .badge--brand {
108
- color: #005291;
109
- border: var(--nile-badge-color-border-width) solid #b5c9e0;
110
- background: #eaf0f8;
108
+ color: var(--nile-badge-color-font-brand);
109
+ border: var(--nile-badge-color-border-width) solid var(--nile-badge-color-border-color-brand);
110
+ background: var(--nile-badge-color-background-brand);
111
111
  }
112
112
 
113
113
  .badge--gray {
114
- color: #344054;
115
- border: var(--nile-badge-color-border-width) solid #eaecf0;
116
- background: #f9fafb;
114
+ color: var(--nile-badge-color-font-gray);
115
+ border: var(--nile-badge-color-border-width) solid var(--nile-badge-color-border-color-gray);
116
+ background: var(--nile-badge-color-background-gray);
117
117
  }
118
118
 
119
119
  .badge--pink.badge--pill-outline {
120
- border: var(--nile-badge-color-border-width-pill-outline) solid #dd2590;
120
+ border: var(--nile-badge-color-border-width-pill-outline) solid var(--nile-badge-color-pill-outline-pink);
121
121
  }
122
122
 
123
123
  .badge--orange.badge--pill-outline {
124
- border: var(--nile-badge-color-border-width-pill-outline) solid #e04f16;
124
+ border: var(--nile-badge-color-border-width-pill-outline) solid var(--nile-badge-color-pill-outline-orange);
125
125
  }
126
126
 
127
127
  .badge--purple.badge--pill-outline {
128
- border: var(--nile-badge-color-border-width-pill-outline) solid #6938ef;
128
+ border: var(--nile-badge-color-border-width-pill-outline) solid var(--nile-badge-color-pill-outline-purple);
129
129
  }
130
130
 
131
131
  .badge--indigo.badge--pill-outline {
132
- border: var(--nile-badge-color-border-width-pill-outline) solid #444ce7;
132
+ border: var(--nile-badge-color-border-width-pill-outline) solid var(var(--nile-badge-color-pill-outline-indigo));
133
133
  }
134
134
 
135
135
  .badge--blue.badge--pill-outline {
136
- border: var(--nile-badge-color-border-width-pill-outline) solid #1570ef;
136
+ border: var(--nile-badge-color-border-width-pill-outline) solid var(var(--nile-badge-color-pill-outline-blue));
137
137
  }
138
138
 
139
139
  .badge--blue-light.badge--pill-outline {
140
- border: var(--nile-badge-color-border-width-pill-outline) solid #0086c9;
140
+ border: var(--nile-badge-color-border-width-pill-outline) solid var(--nile-badge-color-pill-outline-bluelight);
141
141
  }
142
142
 
143
143
  .badge--gray-blue.badge--pill-outline {
144
- border: var(--nile-badge-color-border-width-pill-outline) solid #3e4784;
144
+ border: var(--nile-badge-color-border-width-pill-outline) solid var(--nile-badge-color-pill-outline-gray);
145
145
  }
146
146
 
147
147
  .badge--success.badge--pill-outline {
148
- border: var(--nile-badge-color-border-width-pill-outline) solid #079455;
148
+ border: var(--nile-badge-color-border-width-pill-outline) solid var(--nile-badge-color-pill-outline-success);
149
149
  }
150
150
 
151
151
  .badge--warning.badge--pill-outline {
152
- border: var(--nile-badge-color-border-width-pill-outline) solid #dc6803;
152
+ border: var(--nile-badge-color-border-width-pill-outline) solid var(--nile-badge-color-pill-outline-warning);
153
153
  }
154
154
 
155
155
  .badge--error.badge--pill-outline {
156
- border: var(--nile-badge-color-border-width-pill-outline) solid #d92d20;
156
+ border: var(--nile-badge-color-border-width-pill-outline) solid var(--nile-badge-color-pill-outline-error);
157
157
  }
158
158
 
159
159
  .badge--brand.badge--pill-outline {
160
- border: var(--nile-badge-color-border-width-pill-outline) solid #005ea6;
160
+ border: var(--nile-badge-color-border-width-pill-outline) solid var(--nile-badge-color-pill-outline-brand);
161
161
  }
162
162
 
163
163
  .badge--gray.badge--pill-outline {
164
- border: var(--nile-badge-color-border-width-pill-outline) solid #475467;
164
+ border: var(--nile-badge-color-border-width-pill-outline) solid var(--nile-badge-color-pill-outline-gray);
165
165
  }
166
166
 
167
167
  .badge--pill-outline {
@@ -0,0 +1,48 @@
1
+ import { html, fixture, expect } from '@open-wc/testing';
2
+ import './nile-badge';
3
+
4
+ describe('NileBadge', () => {
5
+ it('should display the default slot content', async () => {
6
+ const el = await fixture(html`<nile-badge>Badge Content</nile-badge>`);
7
+ expect(el).shadowDom.to.equalSnapshot();
8
+ expect(el.textContent).to.equal('Badge Content');
9
+ });
10
+
11
+ it('should apply the correct variant class based on the variant property', async () => {
12
+ const el = await fixture(html`<nile-badge variant="success">Success Badge</nile-badge>`);
13
+ const badge = el.shadowRoot!.querySelector('span');
14
+ expect(badge).to.have.class('badge--success');
15
+ });
16
+
17
+ it('should apply the rounded class when rounded is true', async () => {
18
+ const el = await fixture(html`<nile-badge rounded>Rounded Badge</nile-badge>`);
19
+ const badge = el.shadowRoot!.querySelector('span');
20
+ expect(badge).to.have.class('badge--rounded');
21
+ });
22
+
23
+ it('should apply the pill-outline class when pilltype is pill-outline', async () => {
24
+ const el = await fixture(html`<nile-badge pilltype="pill-outline">Pill Outline Badge</nile-badge>`);
25
+ const badge = el.shadowRoot!.querySelector('span');
26
+ expect(badge).to.have.class('badge--pill-outline');
27
+ });
28
+
29
+ it('should apply the badge-color class when pilltype is badge-color', async () => {
30
+ const el = await fixture(html`<nile-badge pilltype="badge-color">Badge Color Badge</nile-badge>`);
31
+ const badge = el.shadowRoot!.querySelector('span');
32
+ expect(badge).to.have.class('badge--badge-color');
33
+ });
34
+
35
+ it('should apply the correct classes when multiple properties are set', async () => {
36
+ const el = await fixture(html`<nile-badge variant="warning" rounded pilltype="pill-color">Warning Badge</nile-badge>`);
37
+ const badge = el.shadowRoot!.querySelector('span');
38
+ expect(badge).to.have.class('badge--warning');
39
+ expect(badge).to.have.class('badge--rounded');
40
+ });
41
+
42
+ it('should reflect properties to attributes', async () => {
43
+ const el = await fixture(html`<nile-badge variant="error" rounded pilltype="pill-outline"></nile-badge>`);
44
+ expect(el.getAttribute('variant')).to.equal('error');
45
+ expect(el.hasAttribute('rounded')).to.be.true;
46
+ expect(el.getAttribute('pilltype')).to.equal('pill-outline');
47
+ });
48
+ });
@@ -15,12 +15,11 @@ export const styles = css`
15
15
  display: flex;
16
16
  align-items: center;
17
17
  text-align: center;
18
- font-feature-settings: 'clig' off, 'liga' off;
19
- font-family: var(--nile-font-family-serif);
18
+ font-family: var(--nile-font-family-serif);
20
19
  font-size: var(--nile-font-size-small);
21
20
  font-style: normal;
22
21
  font-weight: var(--nile-font-weight-regular);
23
- line-height:16.8px;
22
+ line-height: 16.8px;
24
23
  letter-spacing: 0.2px;
25
24
  }
26
25
 
@@ -42,7 +41,7 @@ export const styles = css`
42
41
  }
43
42
 
44
43
  .nile-breadcrumb-item__last-slot-text {
45
- color: #026e78;
44
+ color: var(--nile-breadcrumb-color);
46
45
  }
47
46
  `;
48
47
 
@@ -0,0 +1,117 @@
1
+ import { expect, fixture, html } from '@open-wc/testing';
2
+ import './nile-button'; // Adjust the import path as necessary
3
+ import NileButton from './nile-button';
4
+ import sinon from 'sinon';
5
+
6
+ describe('NileButton', () => {
7
+ it('should render with default properties', async () => {
8
+ const el = await fixture<NileButton>(html`<nile-button></nile-button>`);
9
+ expect(el).to.exist;
10
+ expect(el.variant).to.equal('primary');
11
+ expect(el.size).to.equal('medium');
12
+ expect(el.type).to.equal('button');
13
+ expect(el.disabled).to.be.false;
14
+ expect(el.loading).to.be.false;
15
+ });
16
+
17
+ it('should apply the correct classes based on properties', async () => {
18
+ const el = await fixture<NileButton>(
19
+ html`<nile-button variant="secondary" pill outline caret></nile-button>`
20
+ );
21
+ const button = el.shadowRoot!.querySelector('.button');
22
+ expect(button!.classList.contains('button--secondary')).to.be.true;
23
+ expect(button!.classList.contains('button--pill')).to.be.true;
24
+ expect(button!.classList.contains('button--outline')).to.be.true;
25
+ expect(button!.classList.contains('button--caret')).to.be.true;
26
+ });
27
+
28
+ it('should be disabled when the disabled property is set', async () => {
29
+ const el = await fixture<NileButton>(
30
+ html`<nile-button disabled></nile-button>`
31
+ );
32
+ const button = el.shadowRoot!.querySelector('.button');
33
+ expect(button!.hasAttribute('disabled')).to.be.true;
34
+ expect(button!.getAttribute('aria-disabled')).to.equal('true');
35
+ });
36
+
37
+ it('should render a link when the href property is set', async () => {
38
+ const el = await fixture<NileButton>(
39
+ html`<nile-button
40
+ href="https://example.com"
41
+ target="_blank"
42
+ ></nile-button>`
43
+ );
44
+ const button = el.shadowRoot!.querySelector('.button');
45
+ expect(button!.tagName).to.equal('A');
46
+ expect(button!.getAttribute('href')).to.equal('https://example.com');
47
+ expect(button!.getAttribute('target')).to.equal('_blank');
48
+ });
49
+
50
+ it('should show a spinner when the loading property is set', async () => {
51
+ const el = await fixture<NileButton>(
52
+ html`<nile-button loading></nile-button>`
53
+ );
54
+ const spinner = el.shadowRoot!.querySelector('nile-spinner');
55
+ expect(spinner).to.exist;
56
+ });
57
+
58
+ it('should emit nile-focus and nile-blur events', async () => {
59
+ const el = await fixture<NileButton>(html`<nile-button></nile-button>`);
60
+ const button = el.shadowRoot!.querySelector('.button');
61
+
62
+ let focusEventEmitted = false;
63
+ el.addEventListener('nile-focus', () => (focusEventEmitted = true));
64
+ button!.dispatchEvent(new FocusEvent('focus'));
65
+ expect(focusEventEmitted).to.be.true;
66
+
67
+ let blurEventEmitted = false;
68
+ el.addEventListener('nile-blur', () => (blurEventEmitted = true));
69
+ button!.dispatchEvent(new FocusEvent('blur'));
70
+ expect(blurEventEmitted).to.be.true;
71
+ });
72
+
73
+ it('should simulate a click on the button', async () => {
74
+ const el = await fixture<NileButton>(
75
+ html`<nile-button>Click Me</nile-button>`
76
+ );
77
+ const button = el.shadowRoot!.querySelector('.button');
78
+
79
+ let clicked = false;
80
+ el.addEventListener('click', () => (clicked = true));
81
+ el.click();
82
+ expect(clicked).to.be.true;
83
+ });
84
+
85
+ it('should focus and blur the button programmatically', async () => {
86
+ const el = await fixture<NileButton>(
87
+ html`<nile-button>Click Me</nile-button>`
88
+ );
89
+ const button = el.shadowRoot!.querySelector('.button');
90
+ el.focus();
91
+ await el.updateComplete;
92
+ const focusButton = el.shadowRoot!.querySelector('.button--focused');
93
+ expect(focusButton!.classList.contains('button--focused')).to.be.true;
94
+
95
+ el.blur();
96
+ await el.updateComplete;
97
+ const blurButton = el.shadowRoot!.querySelector('.button');
98
+ expect(blurButton!.classList.contains('button--focused')).to.be.false;
99
+ });
100
+
101
+ it('should set a custom validation message', async () => {
102
+ const el = await fixture<NileButton>(
103
+ html`<nile-button type="submit"></nile-button>`
104
+ );
105
+ const form = document.createElement('form');
106
+ form.appendChild(el);
107
+ document.body.appendChild(form);
108
+
109
+ el.setCustomValidity('Invalid input');
110
+ expect(el.validationMessage).to.equal('Invalid input');
111
+
112
+ el.setCustomValidity('');
113
+ expect(el.validationMessage).to.equal('');
114
+
115
+ document.body.removeChild(form);
116
+ });
117
+ });