@aquera/nile-elements 1.5.2 → 1.5.3

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 (517) hide show
  1. package/README.md +6 -0
  2. package/dist/index.cjs.js +1 -1
  3. package/dist/index.esm.js +1 -1
  4. package/dist/index.js +239 -195
  5. package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
  6. package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
  7. package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js +1 -1
  8. package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js.map +1 -1
  9. package/dist/nile-auto-complete/nile-auto-complete.css.esm.js +1 -1
  10. package/dist/nile-auto-complete/nile-auto-complete.esm.js +1 -1
  11. package/dist/nile-file-preview/nile-file-preview.cjs.js +1 -1
  12. package/dist/nile-file-preview/nile-file-preview.cjs.js.map +1 -1
  13. package/dist/nile-file-preview/nile-file-preview.css.cjs.js +1 -1
  14. package/dist/nile-file-preview/nile-file-preview.css.cjs.js.map +1 -1
  15. package/dist/nile-file-preview/nile-file-preview.css.esm.js +2 -2
  16. package/dist/nile-file-preview/nile-file-preview.esm.js +1 -1
  17. package/dist/nile-file-preview/nile-file-preview.template.cjs.js +1 -1
  18. package/dist/nile-file-preview/nile-file-preview.template.cjs.js.map +1 -1
  19. package/dist/nile-file-preview/nile-file-preview.template.esm.js +55 -25
  20. package/dist/nile-file-preview/utils/index.cjs.js +1 -1
  21. package/dist/nile-file-preview/utils/index.esm.js +1 -1
  22. package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js +1 -1
  23. package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js.map +1 -1
  24. package/dist/nile-file-preview/utils/nile-file-preview.util.esm.js +1 -1
  25. package/dist/nile-file-upload/nile-file-upload.cjs.js +1 -1
  26. package/dist/nile-file-upload/nile-file-upload.cjs.js.map +1 -1
  27. package/dist/nile-file-upload/nile-file-upload.css.cjs.js +1 -1
  28. package/dist/nile-file-upload/nile-file-upload.css.cjs.js.map +1 -1
  29. package/dist/nile-file-upload/nile-file-upload.css.esm.js +15 -5
  30. package/dist/nile-file-upload/nile-file-upload.esm.js +2 -2
  31. package/dist/nile-file-upload/nile-file-upload.template.cjs.js +2 -2
  32. package/dist/nile-file-upload/nile-file-upload.template.cjs.js.map +1 -1
  33. package/dist/nile-file-upload/nile-file-upload.template.esm.js +36 -32
  34. package/dist/nile-file-upload/types/file-upload.enums.cjs.js +1 -1
  35. package/dist/nile-file-upload/types/file-upload.enums.cjs.js.map +1 -1
  36. package/dist/nile-file-upload/types/file-upload.enums.esm.js +1 -1
  37. package/dist/nile-file-upload/types/index.cjs.js +1 -1
  38. package/dist/nile-file-upload/types/index.esm.js +1 -1
  39. package/dist/nile-file-upload/utils/drag-drop.util.cjs.js +1 -1
  40. package/dist/nile-file-upload/utils/drag-drop.util.cjs.js.map +1 -1
  41. package/dist/nile-file-upload/utils/drag-drop.util.esm.js +1 -1
  42. package/dist/nile-file-upload/utils/file-validation.util.cjs.js +4 -2
  43. package/dist/nile-file-upload/utils/file-validation.util.cjs.js.map +1 -1
  44. package/dist/nile-file-upload/utils/file-validation.util.esm.js +1 -1
  45. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.cjs.js +1 -1
  46. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -1
  47. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.esm.js +3 -3
  48. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +1 -1
  49. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +1 -1
  50. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.esm.js +1 -1
  51. package/dist/nile-grid/nile-grid.cjs.js +1 -1
  52. package/dist/nile-grid/nile-grid.cjs.js.map +1 -1
  53. package/dist/nile-grid/nile-grid.esm.js +2 -2
  54. package/dist/nile-grid/nile-grid.layout.cjs.js +1 -1
  55. package/dist/nile-grid/nile-grid.layout.esm.js +1 -1
  56. package/dist/nile-grid/nile-grid.resize.cjs.js +1 -1
  57. package/dist/nile-grid/nile-grid.resize.esm.js +1 -1
  58. package/dist/nile-grid/nile-grid.utils.cjs.js +1 -1
  59. package/dist/nile-grid/nile-grid.utils.esm.js +1 -1
  60. package/dist/nile-grid/nile-grid.width.cjs.js +1 -1
  61. package/dist/nile-grid/nile-grid.width.cjs.js.map +1 -1
  62. package/dist/nile-grid/nile-grid.width.esm.js +1 -1
  63. package/dist/nile-input/nile-input.cjs.js +1 -1
  64. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  65. package/dist/nile-input/nile-input.esm.js +1 -1
  66. package/dist/nile-popover/index.cjs.js +1 -1
  67. package/dist/nile-popover/index.esm.js +1 -1
  68. package/dist/nile-popover/nile-popover.cjs.js +4 -4
  69. package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
  70. package/dist/nile-popover/nile-popover.esm.js +11 -6
  71. package/dist/src/nile-accordion/nile-accordian.test.js +101 -99
  72. package/dist/src/nile-accordion/nile-accordian.test.js.map +1 -1
  73. package/dist/src/nile-auto-complete/nile-auto-complete.css.js +1 -1
  74. package/dist/src/nile-auto-complete/nile-auto-complete.css.js.map +1 -1
  75. package/dist/src/nile-auto-complete/nile-auto-complete.js +1 -1
  76. package/dist/src/nile-auto-complete/nile-auto-complete.js.map +1 -1
  77. package/dist/src/nile-auto-complete/nile-auto-complete.test.js +104 -112
  78. package/dist/src/nile-auto-complete/nile-auto-complete.test.js.map +1 -1
  79. package/dist/src/nile-avatar/nile-avatar.test.d.ts +0 -1
  80. package/dist/src/nile-avatar/nile-avatar.test.js +103 -87
  81. package/dist/src/nile-avatar/nile-avatar.test.js.map +1 -1
  82. package/dist/src/nile-badge/nile-badge.test.js +554 -35
  83. package/dist/src/nile-badge/nile-badge.test.js.map +1 -1
  84. package/dist/src/nile-breadcrumb/nile-breadcrumb.test.d.ts +2 -0
  85. package/dist/src/nile-breadcrumb/nile-breadcrumb.test.js +106 -0
  86. package/dist/src/nile-breadcrumb/nile-breadcrumb.test.js.map +1 -0
  87. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.test.d.ts +1 -0
  88. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.test.js +108 -0
  89. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.test.js.map +1 -0
  90. package/dist/src/nile-button/nile-button.test.js +499 -39
  91. package/dist/src/nile-button/nile-button.test.js.map +1 -1
  92. package/dist/src/nile-button-filter/nile-button-filter.test.d.ts +1 -0
  93. package/dist/src/nile-button-filter/nile-button-filter.test.js +108 -0
  94. package/dist/src/nile-button-filter/nile-button-filter.test.js.map +1 -0
  95. package/dist/src/nile-button-toggle/nile-button-toggle.test.d.ts +1 -0
  96. package/dist/src/nile-button-toggle/nile-button-toggle.test.js +108 -0
  97. package/dist/src/nile-button-toggle/nile-button-toggle.test.js.map +1 -0
  98. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.test.d.ts +1 -1
  99. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.test.js +105 -104
  100. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.test.js.map +1 -1
  101. package/dist/src/nile-calendar/nile-calendar.test.d.ts +0 -6
  102. package/dist/src/nile-calendar/nile-calendar.test.js +103 -318
  103. package/dist/src/nile-calendar/nile-calendar.test.js.map +1 -1
  104. package/dist/src/nile-card/nile-card.test.js +102 -66
  105. package/dist/src/nile-card/nile-card.test.js.map +1 -1
  106. package/dist/src/nile-checkbox/nile-checkbox.test.js +547 -108
  107. package/dist/src/nile-checkbox/nile-checkbox.test.js.map +1 -1
  108. package/dist/src/nile-chip/nile-chip.test.d.ts +0 -2
  109. package/dist/src/nile-chip/nile-chip.test.js +101 -102
  110. package/dist/src/nile-chip/nile-chip.test.js.map +1 -1
  111. package/dist/src/nile-circular-progressbar/nile-circular-progressbar.test.d.ts +1 -0
  112. package/dist/src/nile-circular-progressbar/nile-circular-progressbar.test.js +108 -0
  113. package/dist/src/nile-circular-progressbar/nile-circular-progressbar.test.js.map +1 -0
  114. package/dist/src/nile-date-picker/nile-date-picker.test.d.ts +1 -0
  115. package/dist/src/nile-date-picker/nile-date-picker.test.js +108 -0
  116. package/dist/src/nile-date-picker/nile-date-picker.test.js.map +1 -0
  117. package/dist/src/nile-dialog/nile-dialog.test.d.ts +0 -1
  118. package/dist/src/nile-dialog/nile-dialog.test.js +104 -126
  119. package/dist/src/nile-dialog/nile-dialog.test.js.map +1 -1
  120. package/dist/src/nile-divider/nile-divider.test.d.ts +1 -0
  121. package/dist/src/nile-divider/nile-divider.test.js +560 -0
  122. package/dist/src/nile-divider/nile-divider.test.js.map +1 -0
  123. package/dist/src/nile-drawer/nile-drawer.test.js +106 -86
  124. package/dist/src/nile-drawer/nile-drawer.test.js.map +1 -1
  125. package/dist/src/nile-dropdown/nile-dropdown.test.js +104 -148
  126. package/dist/src/nile-dropdown/nile-dropdown.test.js.map +1 -1
  127. package/dist/src/nile-empty-state/nile-empty-state.test.js +107 -59
  128. package/dist/src/nile-empty-state/nile-empty-state.test.js.map +1 -1
  129. package/dist/src/nile-error-message/nile-error-message.test.js +105 -55
  130. package/dist/src/nile-error-message/nile-error-message.test.js.map +1 -1
  131. package/dist/src/nile-error-notification/nile-error-notification.test.d.ts +1 -0
  132. package/dist/src/nile-error-notification/nile-error-notification.test.js +108 -0
  133. package/dist/src/nile-error-notification/nile-error-notification.test.js.map +1 -0
  134. package/dist/src/nile-file-preview/nile-file-preview.css.js +2 -2
  135. package/dist/src/nile-file-preview/nile-file-preview.css.js.map +1 -1
  136. package/dist/src/nile-file-preview/nile-file-preview.d.ts +1 -4
  137. package/dist/src/nile-file-preview/nile-file-preview.js +21 -47
  138. package/dist/src/nile-file-preview/nile-file-preview.js.map +1 -1
  139. package/dist/src/nile-file-preview/nile-file-preview.template.d.ts +6 -6
  140. package/dist/src/nile-file-preview/nile-file-preview.template.js +53 -23
  141. package/dist/src/nile-file-preview/nile-file-preview.template.js.map +1 -1
  142. package/dist/src/nile-file-preview/nile-file-preview.test.d.ts +0 -6
  143. package/dist/src/nile-file-preview/nile-file-preview.test.js +106 -28
  144. package/dist/src/nile-file-preview/nile-file-preview.test.js.map +1 -1
  145. package/dist/src/nile-file-preview/utils/nile-file-preview.util.d.ts +3 -2
  146. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js +32 -7
  147. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js.map +1 -1
  148. package/dist/src/nile-file-upload/nile-file-upload.css.js +15 -5
  149. package/dist/src/nile-file-upload/nile-file-upload.css.js.map +1 -1
  150. package/dist/src/nile-file-upload/nile-file-upload.d.ts +4 -1
  151. package/dist/src/nile-file-upload/nile-file-upload.js +13 -1
  152. package/dist/src/nile-file-upload/nile-file-upload.js.map +1 -1
  153. package/dist/src/nile-file-upload/nile-file-upload.template.js +19 -15
  154. package/dist/src/nile-file-upload/nile-file-upload.template.js.map +1 -1
  155. package/dist/src/nile-file-upload/nile-file-upload.test.d.ts +0 -6
  156. package/dist/src/nile-file-upload/nile-file-upload.test.js +106 -28
  157. package/dist/src/nile-file-upload/nile-file-upload.test.js.map +1 -1
  158. package/dist/src/nile-file-upload/types/file-upload.enums.d.ts +17 -3
  159. package/dist/src/nile-file-upload/types/file-upload.enums.js +17 -1
  160. package/dist/src/nile-file-upload/types/file-upload.enums.js.map +1 -1
  161. package/dist/src/nile-file-upload/utils/drag-drop.util.d.ts +2 -0
  162. package/dist/src/nile-file-upload/utils/drag-drop.util.js +14 -8
  163. package/dist/src/nile-file-upload/utils/drag-drop.util.js.map +1 -1
  164. package/dist/src/nile-file-upload/utils/file-validation.util.js +89 -10
  165. package/dist/src/nile-file-upload/utils/file-validation.util.js.map +1 -1
  166. package/dist/src/nile-filter-chip/nile-filter-chip.test.js +102 -77
  167. package/dist/src/nile-filter-chip/nile-filter-chip.test.js.map +1 -1
  168. package/dist/src/nile-form-error-message/nile-form-error-message.test.d.ts +1 -0
  169. package/dist/src/nile-form-error-message/nile-form-error-message.test.js +108 -0
  170. package/dist/src/nile-form-error-message/nile-form-error-message.test.js.map +1 -0
  171. package/dist/src/nile-form-group/nile-form-group.test.js +104 -51
  172. package/dist/src/nile-form-group/nile-form-group.test.js.map +1 -1
  173. package/dist/src/nile-form-help-text/nile-form-help-text.test.js +104 -84
  174. package/dist/src/nile-form-help-text/nile-form-help-text.test.js.map +1 -1
  175. package/dist/src/nile-format-date/nile-format-date.test.d.ts +1 -0
  176. package/dist/src/nile-format-date/nile-format-date.test.js +108 -0
  177. package/dist/src/nile-format-date/nile-format-date.test.js.map +1 -0
  178. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.js +6 -5
  179. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.js.map +1 -1
  180. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.d.ts +14 -0
  181. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.js +24 -0
  182. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.js.map +1 -1
  183. package/dist/src/nile-grid/nile-grid.d.ts +1 -0
  184. package/dist/src/nile-grid/nile-grid.js +5 -1
  185. package/dist/src/nile-grid/nile-grid.js.map +1 -1
  186. package/dist/src/nile-grid/nile-grid.utils.d.ts +6 -0
  187. package/dist/src/nile-grid/nile-grid.utils.js +13 -0
  188. package/dist/src/nile-grid/nile-grid.utils.js.map +1 -1
  189. package/dist/src/nile-heading/nile-heading.test.d.ts +1 -0
  190. package/dist/src/nile-heading/nile-heading.test.js +108 -0
  191. package/dist/src/nile-heading/nile-heading.test.js.map +1 -0
  192. package/dist/src/nile-hero/nile-hero.test.js +101 -38
  193. package/dist/src/nile-hero/nile-hero.test.js.map +1 -1
  194. package/dist/src/nile-icon/nile-icon.test.js +103 -40
  195. package/dist/src/nile-icon/nile-icon.test.js.map +1 -1
  196. package/dist/src/nile-icon-button/nile-icon-button.test.d.ts +1 -0
  197. package/dist/src/nile-icon-button/nile-icon-button.test.js +568 -0
  198. package/dist/src/nile-icon-button/nile-icon-button.test.js.map +1 -0
  199. package/dist/src/nile-inline-edit/nile-inline-edit.test.d.ts +1 -0
  200. package/dist/src/nile-inline-edit/nile-inline-edit.test.js +108 -0
  201. package/dist/src/nile-inline-edit/nile-inline-edit.test.js.map +1 -0
  202. package/dist/src/nile-input/nile-input.js +1 -1
  203. package/dist/src/nile-input/nile-input.js.map +1 -1
  204. package/dist/src/nile-input/nile-input.test.js +109 -139
  205. package/dist/src/nile-input/nile-input.test.js.map +1 -1
  206. package/dist/src/nile-link/nile-link.test.js +103 -67
  207. package/dist/src/nile-link/nile-link.test.js.map +1 -1
  208. package/dist/src/nile-list/nile-list.test.d.ts +1 -0
  209. package/dist/src/nile-list/nile-list.test.js +108 -0
  210. package/dist/src/nile-list/nile-list.test.js.map +1 -0
  211. package/dist/src/nile-list-item/nile-list-item.test.d.ts +1 -0
  212. package/dist/src/nile-list-item/nile-list-item.test.js +108 -0
  213. package/dist/src/nile-list-item/nile-list-item.test.js.map +1 -0
  214. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.test.d.ts +2 -0
  215. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.test.js +109 -0
  216. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.test.js.map +1 -0
  217. package/dist/src/nile-loader/nile-loader.test.js +107 -40
  218. package/dist/src/nile-loader/nile-loader.test.js.map +1 -1
  219. package/dist/src/nile-menu/nile-menu.test.d.ts +1 -0
  220. package/dist/src/nile-menu/nile-menu.test.js +113 -0
  221. package/dist/src/nile-menu/nile-menu.test.js.map +1 -0
  222. package/dist/src/nile-menu-item/nile-menu-item.test.d.ts +1 -0
  223. package/dist/src/nile-menu-item/nile-menu-item.test.js +113 -0
  224. package/dist/src/nile-menu-item/nile-menu-item.test.js.map +1 -0
  225. package/dist/src/nile-option/nile-option.test.d.ts +1 -0
  226. package/dist/src/nile-option/nile-option.test.js +108 -0
  227. package/dist/src/nile-option/nile-option.test.js.map +1 -0
  228. package/dist/src/nile-option-group/nile-option-group.test.d.ts +1 -0
  229. package/dist/src/nile-option-group/nile-option-group.test.js +108 -0
  230. package/dist/src/nile-option-group/nile-option-group.test.js.map +1 -0
  231. package/dist/src/nile-page-header/nile-page-header.test.d.ts +1 -0
  232. package/dist/src/nile-page-header/nile-page-header.test.js +108 -0
  233. package/dist/src/nile-page-header/nile-page-header.test.js.map +1 -0
  234. package/dist/src/nile-pagination/nile-pagination.test.d.ts +1 -0
  235. package/dist/src/nile-pagination/nile-pagination.test.js +108 -0
  236. package/dist/src/nile-pagination/nile-pagination.test.js.map +1 -0
  237. package/dist/src/nile-popover/nile-popover.test.js +103 -68
  238. package/dist/src/nile-popover/nile-popover.test.js.map +1 -1
  239. package/dist/src/nile-popup/nile-popup.test.js +104 -65
  240. package/dist/src/nile-popup/nile-popup.test.js.map +1 -1
  241. package/dist/src/nile-progress-bar/nile-progress-bar.test.js +104 -44
  242. package/dist/src/nile-progress-bar/nile-progress-bar.test.js.map +1 -1
  243. package/dist/src/nile-radio/nile-radio.test.js +103 -66
  244. package/dist/src/nile-radio/nile-radio.test.js.map +1 -1
  245. package/dist/src/nile-radio-group/nile-radio-group.test.d.ts +0 -1
  246. package/dist/src/nile-radio-group/nile-radio-group.test.js +105 -171
  247. package/dist/src/nile-radio-group/nile-radio-group.test.js.map +1 -1
  248. package/dist/src/nile-section-message/nile-section-message.test.d.ts +1 -0
  249. package/dist/src/nile-section-message/nile-section-message.test.js +108 -0
  250. package/dist/src/nile-section-message/nile-section-message.test.js.map +1 -0
  251. package/dist/src/nile-select/nile-select.test.d.ts +0 -5
  252. package/dist/src/nile-select/nile-select.test.js +105 -244
  253. package/dist/src/nile-select/nile-select.test.js.map +1 -1
  254. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.test.d.ts +1 -0
  255. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.test.js +108 -0
  256. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.test.js.map +1 -0
  257. package/dist/src/nile-slide-toggle/nile-slide-toggle.test.js +104 -50
  258. package/dist/src/nile-slide-toggle/nile-slide-toggle.test.js.map +1 -1
  259. package/dist/src/nile-slider/nile-slider.test.d.ts +1 -0
  260. package/dist/src/nile-slider/nile-slider.test.js +108 -0
  261. package/dist/src/nile-slider/nile-slider.test.js.map +1 -0
  262. package/dist/src/nile-spinner/nile-spinner.test.d.ts +1 -0
  263. package/dist/src/nile-spinner/nile-spinner.test.js +569 -0
  264. package/dist/src/nile-spinner/nile-spinner.test.js.map +1 -0
  265. package/dist/src/nile-split-panel/nile-split-panel.test.d.ts +1 -0
  266. package/dist/src/nile-split-panel/nile-split-panel.test.js +108 -0
  267. package/dist/src/nile-split-panel/nile-split-panel.test.js.map +1 -0
  268. package/dist/src/nile-stepper/nile-stepper.test.d.ts +2 -0
  269. package/dist/src/nile-stepper/nile-stepper.test.js +109 -0
  270. package/dist/src/nile-stepper/nile-stepper.test.js.map +1 -0
  271. package/dist/src/nile-stepper-item/nile-stepper-item.test.d.ts +1 -0
  272. package/dist/src/nile-stepper-item/nile-stepper-item.test.js +108 -0
  273. package/dist/src/nile-stepper-item/nile-stepper-item.test.js.map +1 -0
  274. package/dist/src/nile-tab/nile-tab.test.d.ts +1 -0
  275. package/dist/src/nile-tab/nile-tab.test.js +108 -0
  276. package/dist/src/nile-tab/nile-tab.test.js.map +1 -0
  277. package/dist/src/nile-tab-group/nile-tab-group.test.js +105 -172
  278. package/dist/src/nile-tab-group/nile-tab-group.test.js.map +1 -1
  279. package/dist/src/nile-tab-panel/nile-tab-panel.test.d.ts +1 -0
  280. package/dist/src/nile-tab-panel/nile-tab-panel.test.js +108 -0
  281. package/dist/src/nile-tab-panel/nile-tab-panel.test.js.map +1 -0
  282. package/dist/src/nile-tag/nile-tag.test.d.ts +1 -0
  283. package/dist/src/nile-tag/nile-tag.test.js +574 -0
  284. package/dist/src/nile-tag/nile-tag.test.js.map +1 -0
  285. package/dist/src/nile-textarea/nile-textarea.test.d.ts +1 -1
  286. package/dist/src/nile-textarea/nile-textarea.test.js +105 -84
  287. package/dist/src/nile-textarea/nile-textarea.test.js.map +1 -1
  288. package/dist/src/nile-title/nile-title.test.d.ts +1 -0
  289. package/dist/src/nile-title/nile-title.test.js +108 -0
  290. package/dist/src/nile-title/nile-title.test.js.map +1 -0
  291. package/dist/src/nile-toast/nile-toast.test.d.ts +1 -0
  292. package/dist/src/nile-toast/nile-toast.test.js +526 -0
  293. package/dist/src/nile-toast/nile-toast.test.js.map +1 -0
  294. package/dist/src/nile-toolbar/nile-toolbar.test.d.ts +1 -0
  295. package/dist/src/nile-toolbar/nile-toolbar.test.js +108 -0
  296. package/dist/src/nile-toolbar/nile-toolbar.test.js.map +1 -0
  297. package/dist/src/nile-tooltip/nile-tooltip.test.d.ts +1 -0
  298. package/dist/src/nile-tooltip/nile-tooltip.test.js +546 -0
  299. package/dist/src/nile-tooltip/nile-tooltip.test.js.map +1 -0
  300. package/dist/src/nile-virtual-select/nile-virtual-select.test.d.ts +1 -7
  301. package/dist/src/nile-virtual-select/nile-virtual-select.test.js +105 -628
  302. package/dist/src/nile-virtual-select/nile-virtual-select.test.js.map +1 -1
  303. package/dist/src/version.js +1 -1
  304. package/dist/src/version.js.map +1 -1
  305. package/dist/tsconfig.tsbuildinfo +1 -1
  306. package/package.json +1 -1
  307. package/rollup.config.js +7 -1
  308. package/src/nile-accordion/nile-accordian.test.ts +102 -116
  309. package/src/nile-auto-complete/nile-auto-complete.css.ts +1 -1
  310. package/src/nile-auto-complete/nile-auto-complete.test.ts +102 -145
  311. package/src/nile-auto-complete/nile-auto-complete.ts +1 -1
  312. package/src/nile-avatar/nile-avatar.test.ts +102 -112
  313. package/src/nile-badge/nile-badge.test.ts +642 -30
  314. package/src/nile-breadcrumb/nile-breadcrumb.test.ts +107 -0
  315. package/src/nile-breadcrumb-item/nile-breadcrumb-item.test.ts +106 -0
  316. package/src/nile-button/nile-button.test.ts +593 -61
  317. package/src/nile-button-filter/nile-button-filter.test.ts +106 -0
  318. package/src/nile-button-toggle/nile-button-toggle.test.ts +106 -0
  319. package/src/nile-button-toggle-group/nile-button-toggle-group.test.ts +104 -126
  320. package/src/nile-calendar/nile-calendar.test.ts +102 -406
  321. package/src/nile-card/nile-card.test.ts +103 -71
  322. package/src/nile-checkbox/nile-checkbox.test.ts +614 -108
  323. package/src/nile-chip/nile-chip.test.ts +102 -136
  324. package/src/nile-circular-progressbar/nile-circular-progressbar.test.ts +106 -0
  325. package/src/nile-date-picker/nile-date-picker.test.ts +106 -0
  326. package/src/nile-dialog/nile-dialog.test.ts +102 -164
  327. package/src/nile-divider/nile-divider.test.ts +659 -0
  328. package/src/nile-drawer/nile-drawer.test.ts +105 -105
  329. package/src/nile-dropdown/nile-dropdown.test.ts +102 -190
  330. package/src/nile-empty-state/nile-empty-state.test.ts +104 -67
  331. package/src/nile-error-message/nile-error-message.test.ts +104 -67
  332. package/src/nile-error-notification/nile-error-notification.test.ts +106 -0
  333. package/src/nile-file-preview/nile-file-preview.css.ts +2 -2
  334. package/src/nile-file-preview/nile-file-preview.template.ts +59 -23
  335. package/src/nile-file-preview/nile-file-preview.test.ts +105 -37
  336. package/src/nile-file-preview/nile-file-preview.ts +23 -56
  337. package/src/nile-file-preview/utils/nile-file-preview.util.ts +37 -8
  338. package/src/nile-file-upload/nile-file-upload.css.ts +15 -5
  339. package/src/nile-file-upload/nile-file-upload.template.ts +22 -18
  340. package/src/nile-file-upload/nile-file-upload.test.ts +105 -37
  341. package/src/nile-file-upload/nile-file-upload.ts +11 -3
  342. package/src/nile-file-upload/types/file-upload.enums.ts +20 -4
  343. package/src/nile-file-upload/utils/drag-drop.util.ts +20 -11
  344. package/src/nile-file-upload/utils/file-validation.util.ts +104 -22
  345. package/src/nile-filter-chip/nile-filter-chip.test.ts +103 -89
  346. package/src/nile-form-error-message/nile-form-error-message.test.ts +106 -0
  347. package/src/nile-form-group/nile-form-group.test.ts +103 -60
  348. package/src/nile-form-help-text/nile-form-help-text.test.ts +102 -106
  349. package/src/nile-format-date/nile-format-date.test.ts +106 -0
  350. package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.ts +7 -5
  351. package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.ts +28 -0
  352. package/src/nile-grid/nile-grid.ts +6 -1
  353. package/src/nile-grid/nile-grid.utils.ts +18 -1
  354. package/src/nile-heading/nile-heading.test.ts +106 -0
  355. package/src/nile-hero/nile-hero.test.ts +103 -42
  356. package/src/nile-icon/nile-icon.test.ts +103 -50
  357. package/src/nile-icon-button/nile-icon-button.test.ts +667 -0
  358. package/src/nile-inline-edit/nile-inline-edit.test.ts +106 -0
  359. package/src/nile-input/nile-input.test.ts +105 -164
  360. package/src/nile-input/nile-input.ts +1 -1
  361. package/src/nile-link/nile-link.test.ts +104 -81
  362. package/src/nile-list/nile-list.test.ts +106 -0
  363. package/src/nile-list-item/nile-list-item.test.ts +106 -0
  364. package/src/nile-lite-tooltip/nile-lite-tooltip.test.ts +107 -0
  365. package/src/nile-loader/nile-loader.test.ts +103 -48
  366. package/src/nile-menu/nile-menu.test.ts +106 -0
  367. package/src/nile-menu-item/nile-menu-item.test.ts +106 -0
  368. package/src/nile-option/nile-option.test.ts +106 -0
  369. package/src/nile-option-group/nile-option-group.test.ts +106 -0
  370. package/src/nile-page-header/nile-page-header.test.ts +106 -0
  371. package/src/nile-pagination/nile-pagination.test.ts +106 -0
  372. package/src/nile-popover/nile-popover.test.ts +103 -83
  373. package/src/nile-popup/nile-popup.test.ts +102 -82
  374. package/src/nile-progress-bar/nile-progress-bar.test.ts +103 -52
  375. package/src/nile-radio/nile-radio.test.ts +103 -78
  376. package/src/nile-radio-group/nile-radio-group.test.ts +104 -213
  377. package/src/nile-section-message/nile-section-message.test.ts +106 -0
  378. package/src/nile-select/nile-select.test.ts +105 -308
  379. package/src/nile-skeleton-loader/nile-skeleton-loader.test.ts +106 -0
  380. package/src/nile-slide-toggle/nile-slide-toggle.test.ts +103 -58
  381. package/src/nile-slider/nile-slider.test.ts +106 -0
  382. package/src/nile-spinner/nile-spinner.test.ts +668 -0
  383. package/src/nile-split-panel/nile-split-panel.test.ts +106 -0
  384. package/src/nile-stepper/nile-stepper.test.ts +107 -0
  385. package/src/nile-stepper-item/nile-stepper-item.test.ts +106 -0
  386. package/src/nile-tab/nile-tab.test.ts +106 -0
  387. package/src/nile-tab-group/nile-tab-group.test.ts +104 -211
  388. package/src/nile-tab-panel/nile-tab-panel.test.ts +106 -0
  389. package/src/nile-tag/nile-tag.test.ts +675 -0
  390. package/src/nile-textarea/nile-textarea.test.ts +104 -100
  391. package/src/nile-title/nile-title.test.ts +106 -0
  392. package/src/nile-toast/nile-toast.test.ts +625 -0
  393. package/src/nile-toolbar/nile-toolbar.test.ts +106 -0
  394. package/src/nile-tooltip/nile-tooltip.test.ts +645 -0
  395. package/src/nile-virtual-select/nile-virtual-select.test.ts +104 -772
  396. package/vscode-html-custom-data.json +8 -3
  397. package/web-test-runner.config.mjs +4 -2
  398. package/dist/axe.min-2720cd56.esm.js +0 -1
  399. package/dist/axe.min-69d47269.cjs.js +0 -2
  400. package/dist/axe.min-69d47269.cjs.js.map +0 -1
  401. package/dist/css-tag-bb10c0fa.cjs.js +0 -6
  402. package/dist/css-tag-bb10c0fa.cjs.js.map +0 -1
  403. package/dist/css-tag-dc564feb.esm.js +0 -6
  404. package/dist/fixture-958445f8.cjs.js +0 -395
  405. package/dist/fixture-958445f8.cjs.js.map +0 -1
  406. package/dist/fixture-985bba12.esm.js +0 -569
  407. package/dist/nile-accordion/nile-accordian.test.cjs.js +0 -2
  408. package/dist/nile-accordion/nile-accordian.test.cjs.js.map +0 -1
  409. package/dist/nile-accordion/nile-accordian.test.esm.js +0 -1
  410. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +0 -2
  411. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js.map +0 -1
  412. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +0 -9
  413. package/dist/nile-avatar/nile-avatar.test.cjs.js +0 -2
  414. package/dist/nile-avatar/nile-avatar.test.cjs.js.map +0 -1
  415. package/dist/nile-avatar/nile-avatar.test.esm.js +0 -11
  416. package/dist/nile-badge/nile-badge.test.cjs.js +0 -2
  417. package/dist/nile-badge/nile-badge.test.cjs.js.map +0 -1
  418. package/dist/nile-badge/nile-badge.test.esm.js +0 -1
  419. package/dist/nile-button/nile-button.test.cjs.js +0 -2
  420. package/dist/nile-button/nile-button.test.cjs.js.map +0 -1
  421. package/dist/nile-button/nile-button.test.esm.js +0 -4
  422. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +0 -2
  423. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js.map +0 -1
  424. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +0 -49
  425. package/dist/nile-calendar/nile-calendar.test.cjs.js +0 -2
  426. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +0 -1
  427. package/dist/nile-calendar/nile-calendar.test.esm.js +0 -11
  428. package/dist/nile-card/nile-card.test.cjs.js +0 -2
  429. package/dist/nile-card/nile-card.test.cjs.js.map +0 -1
  430. package/dist/nile-card/nile-card.test.esm.js +0 -51
  431. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +0 -2
  432. package/dist/nile-checkbox/nile-checkbox.test.cjs.js.map +0 -1
  433. package/dist/nile-checkbox/nile-checkbox.test.esm.js +0 -17
  434. package/dist/nile-chip/nile-chip.test.cjs.js +0 -2
  435. package/dist/nile-chip/nile-chip.test.cjs.js.map +0 -1
  436. package/dist/nile-chip/nile-chip.test.esm.js +0 -1
  437. package/dist/nile-dialog/nile-dialog.test.cjs.js +0 -2
  438. package/dist/nile-dialog/nile-dialog.test.cjs.js.map +0 -1
  439. package/dist/nile-dialog/nile-dialog.test.esm.js +0 -7
  440. package/dist/nile-drawer/nile-drawer.test.cjs.js +0 -2
  441. package/dist/nile-drawer/nile-drawer.test.cjs.js.map +0 -1
  442. package/dist/nile-drawer/nile-drawer.test.esm.js +0 -17
  443. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +0 -2
  444. package/dist/nile-dropdown/nile-dropdown.test.cjs.js.map +0 -1
  445. package/dist/nile-dropdown/nile-dropdown.test.esm.js +0 -28
  446. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +0 -2
  447. package/dist/nile-empty-state/nile-empty-state.test.cjs.js.map +0 -1
  448. package/dist/nile-empty-state/nile-empty-state.test.esm.js +0 -9
  449. package/dist/nile-error-message/nile-error-message.test.cjs.js +0 -2
  450. package/dist/nile-error-message/nile-error-message.test.cjs.js.map +0 -1
  451. package/dist/nile-error-message/nile-error-message.test.esm.js +0 -1
  452. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +0 -2
  453. package/dist/nile-file-preview/nile-file-preview.test.cjs.js.map +0 -1
  454. package/dist/nile-file-preview/nile-file-preview.test.esm.js +0 -1
  455. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +0 -2
  456. package/dist/nile-file-upload/nile-file-upload.test.cjs.js.map +0 -1
  457. package/dist/nile-file-upload/nile-file-upload.test.esm.js +0 -1
  458. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +0 -2
  459. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js.map +0 -1
  460. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +0 -20
  461. package/dist/nile-form-group/nile-form-group.test.cjs.js +0 -2
  462. package/dist/nile-form-group/nile-form-group.test.cjs.js.map +0 -1
  463. package/dist/nile-form-group/nile-form-group.test.esm.js +0 -1
  464. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +0 -2
  465. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js.map +0 -1
  466. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +0 -1
  467. package/dist/nile-hero/nile-hero.test.cjs.js +0 -2
  468. package/dist/nile-hero/nile-hero.test.cjs.js.map +0 -1
  469. package/dist/nile-hero/nile-hero.test.esm.js +0 -14
  470. package/dist/nile-icon/nile-icon.test.cjs.js +0 -2
  471. package/dist/nile-icon/nile-icon.test.cjs.js.map +0 -1
  472. package/dist/nile-icon/nile-icon.test.esm.js +0 -1
  473. package/dist/nile-input/nile-input.test.cjs.js +0 -2
  474. package/dist/nile-input/nile-input.test.cjs.js.map +0 -1
  475. package/dist/nile-input/nile-input.test.esm.js +0 -17
  476. package/dist/nile-link/nile-link.test.cjs.js +0 -2
  477. package/dist/nile-link/nile-link.test.cjs.js.map +0 -1
  478. package/dist/nile-link/nile-link.test.esm.js +0 -1
  479. package/dist/nile-loader/nile-loader.test.cjs.js +0 -2
  480. package/dist/nile-loader/nile-loader.test.cjs.js.map +0 -1
  481. package/dist/nile-loader/nile-loader.test.esm.js +0 -1
  482. package/dist/nile-popover/nile-popover.test.cjs.js +0 -2
  483. package/dist/nile-popover/nile-popover.test.cjs.js.map +0 -1
  484. package/dist/nile-popover/nile-popover.test.esm.js +0 -21
  485. package/dist/nile-popup/nile-popup.test.cjs.js +0 -2
  486. package/dist/nile-popup/nile-popup.test.cjs.js.map +0 -1
  487. package/dist/nile-popup/nile-popup.test.esm.js +0 -1
  488. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +0 -2
  489. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js.map +0 -1
  490. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +0 -1
  491. package/dist/nile-radio/nile-radio.test.cjs.js +0 -2
  492. package/dist/nile-radio/nile-radio.test.cjs.js.map +0 -1
  493. package/dist/nile-radio/nile-radio.test.esm.js +0 -1
  494. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +0 -2
  495. package/dist/nile-radio-group/nile-radio-group.test.cjs.js.map +0 -1
  496. package/dist/nile-radio-group/nile-radio-group.test.esm.js +0 -57
  497. package/dist/nile-select/nile-select.test.cjs.js +0 -2
  498. package/dist/nile-select/nile-select.test.cjs.js.map +0 -1
  499. package/dist/nile-select/nile-select.test.esm.js +0 -55
  500. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +0 -2
  501. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js.map +0 -1
  502. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +0 -1
  503. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +0 -2
  504. package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +0 -1
  505. package/dist/nile-tab-group/nile-tab-group.test.esm.js +0 -65
  506. package/dist/nile-textarea/nile-textarea.test.cjs.js +0 -2
  507. package/dist/nile-textarea/nile-textarea.test.cjs.js.map +0 -1
  508. package/dist/nile-textarea/nile-textarea.test.esm.js +0 -1
  509. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +0 -2
  510. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js.map +0 -1
  511. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +0 -93
  512. package/dist/scopedElementsWrapper-31107e48.esm.js +0 -1
  513. package/dist/scopedElementsWrapper-9b188ea6.cjs.js +0 -2
  514. package/dist/scopedElementsWrapper-9b188ea6.cjs.js.map +0 -1
  515. package/dist/sinon-esm-68c8e378.esm.js +0 -1
  516. package/dist/sinon-esm-97570c13.cjs.js +0 -2
  517. package/dist/sinon-esm-97570c13.cjs.js.map +0 -1
@@ -1,106 +1,106 @@
1
- import { expect, fixture, html, waitUntil } from '@open-wc/testing';
2
- import { sendKeys } from '@web/test-runner-commands';
3
- import sinon from 'sinon';
4
- import './nile-drawer'; // Adjust the import path as necessary
5
- import { NileDrawer } from './nile-drawer';
6
- describe('Nile-drawer', () => {
7
- it('should be visible with the open attribute', async () => {
8
- const el = await fixture<NileDrawer>(html`
9
- <nile-drawer open>I am content inside nile drawer</nile-drawer>
10
- `);
11
- const panel = el.shadowRoot!.querySelector<HTMLElement>('[part="panel"]')!;
12
- expect(panel.ariaHidden).to.equal('false');
13
- });
14
-
15
- it('should not be visible without the open attribute', async () => {
16
- const el = await fixture<NileDrawer>(html`
17
- <nile-drawer>I am content inside nile drawer</nile-drawer>
18
- `);
19
- const panel = el.shadowRoot!.querySelector<HTMLElement>('[part="panel"]')!;
20
- expect(panel.ariaHidden).to.equal('true');
21
- });
22
-
23
- it('should emit nile-show and nile-after-show when calling show()', async () => {
24
- const el = await fixture<NileDrawer>(html`
25
- <nile-drawer>I am Nile Drawer Content.</nile-drawer>
26
- `);
27
- const base = el.shadowRoot!.querySelector<HTMLElement>('[part~="base"]')!;
28
- const showHandler = sinon.spy();
29
- const afterShowHandler = sinon.spy();
30
-
31
- el.addEventListener('nile-show', showHandler);
32
- el.addEventListener('nile-after-show', afterShowHandler);
33
- el.show();
34
-
35
- await waitUntil(() => showHandler.calledOnce);
36
- await waitUntil(() => afterShowHandler.calledOnce);
37
-
38
- expect(showHandler).to.have.been.calledOnce;
39
- expect(afterShowHandler).to.have.been.calledOnce;
40
- expect(base.hidden).to.be.false;
41
- });
42
-
43
- it('should emit nile-hide and nile-after-hide when calling hide()', async () => {
44
- const el = await fixture<NileDrawer>(html`
45
- <nile-drawer open>I am nile drawer content</nile-drawer>
46
- `);
47
- const base = el.shadowRoot!.querySelector<HTMLElement>('[part~="base"]')!;
48
- const hideHandler = sinon.spy();
49
- const afterHideHandler = sinon.spy();
50
-
51
- el.addEventListener('nile-hide', hideHandler);
52
- el.addEventListener('nile-after-hide', afterHideHandler);
53
- el.hide();
54
-
55
- await waitUntil(() => hideHandler.calledOnce);
56
- await waitUntil(() => afterHideHandler.calledOnce);
57
-
58
- expect(hideHandler).to.have.been.calledOnce;
59
- expect(afterHideHandler).to.have.been.calledOnce;
60
- expect(base.hidden).to.be.true;
61
- });
62
-
63
- it('should emit nile-show and nile-after-show when setting open = true', async () => {
64
- const el = await fixture<NileDrawer>(html`
65
- <nile-drawer
66
- >Lorem ipsum dolor sit amet, consectetur adipiscing elit.</nile-drawer
67
- >
68
- `);
69
- const base = el.shadowRoot!.querySelector<HTMLElement>('[part~="base"]')!;
70
- const showHandler = sinon.spy();
71
- const afterShowHandler = sinon.spy();
72
-
73
- el.addEventListener('nile-show', showHandler);
74
- el.addEventListener('nile-after-show', afterShowHandler);
75
- el.open = true;
76
-
77
- await waitUntil(() => showHandler.calledOnce);
78
- await waitUntil(() => afterShowHandler.calledOnce);
79
-
80
- expect(showHandler).to.have.been.calledOnce;
81
- expect(afterShowHandler).to.have.been.calledOnce;
82
- expect(base.hidden).to.be.false;
83
- });
84
-
85
- it('should emit nile-hide and nile-after-hide when setting open = false', async () => {
86
- const el = await fixture<NileDrawer>(html`
87
- <nile-drawer open
88
- >Lorem ipsum dolor sit amet, consectetur adipiscing elit.</nile-drawer
89
- >
90
- `);
91
- const base = el.shadowRoot!.querySelector<HTMLElement>('[part~="base"]')!;
92
- const hideHandler = sinon.spy();
93
- const afterHideHandler = sinon.spy();
94
-
95
- el.addEventListener('nile-hide', hideHandler);
96
- el.addEventListener('nile-after-hide', afterHideHandler);
97
- el.open = false;
98
-
99
- await waitUntil(() => hideHandler.calledOnce);
100
- await waitUntil(() => afterHideHandler.calledOnce);
101
-
102
- expect(hideHandler).to.have.been.calledOnce;
103
- expect(afterHideHandler).to.have.been.calledOnce;
104
- expect(base.hidden).to.be.true;
105
- });
1
+ import { expect, fixture, html } from '@open-wc/testing';
2
+ import './nile-drawer';
3
+ import type { NileDrawer } from './nile-drawer';
4
+
5
+ describe('NileDrawer', () => {
6
+ it('1. renders', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el).to.exist; });
7
+ it('2. shadow root', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot).to.not.be.null; });
8
+ it('3. tag name', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.tagName.toLowerCase()).to.equal('nile-drawer'); });
9
+ it('4. open defaults false', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.open).to.equal(false); });
10
+ it('5. label defaults empty', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.label).to.equal(''); });
11
+ it('6. placement defaults end', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.placement).to.equal('end'); });
12
+ it('7. closeOnEscape defaults true', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.closeOnEscape).to.equal(true); });
13
+ it('8. set label', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer label="Settings"></nile-drawer>`); expect(el.label).to.equal('Settings'); });
14
+ it('9. set placement start', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer placement="start"></nile-drawer>`); expect(el.placement).to.equal('start'); });
15
+ it('10. set placement top', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer placement="top"></nile-drawer>`); expect(el.placement).to.equal('top'); });
16
+ it('11. set placement bottom', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer placement="bottom"></nile-drawer>`); expect(el.placement).to.equal('bottom'); });
17
+ it('12. drawer class', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('.drawer')).to.exist; });
18
+ it('13. drawer__panel class', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('.drawer__panel')).to.exist; });
19
+ it('14. drawer__overlay class', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('.drawer__overlay')).to.exist; });
20
+ it('15. base part', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('[part="base"]')).to.exist; });
21
+ it('16. panel part', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('[part="panel"]')).to.exist; });
22
+ it('17. overlay part', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('[part="overlay"]')).to.exist; });
23
+ it('18. header part', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('[part="header"]')).to.exist; });
24
+ it('19. body part', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('[part="body"]')).to.exist; });
25
+ it('20. footer part', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('[part="footer"]')).to.exist; });
26
+ it('21. title part', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('[part="title"]')).to.exist; });
27
+ it('22. default slot', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('slot:not([name])')).to.exist; });
28
+ it('23. label slot', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('slot[name="label"]')).to.exist; });
29
+ it('24. footer slot', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('slot[name="footer"]')).to.exist; });
30
+ it('25. header-actions slot', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('slot[name="header-actions"]')).to.exist; });
31
+ it('26. has nile-icon close', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('nile-icon')).to.exist; });
32
+ it('27. label reflects', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer label="L"></nile-drawer>`); expect(el.hasAttribute('label')).to.be.true; });
33
+ it('28. placement reflects', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer placement="start"></nile-drawer>`); expect(el.getAttribute('placement')).to.equal('start'); });
34
+ it('29. has styles', async () => { expect((await import('./nile-drawer')).NileDrawer.styles).to.exist; });
35
+ it('30. is defined', async () => { expect(customElements.get('nile-drawer')).to.exist; });
36
+ it('31. shadow mode', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.mode).to.equal('open'); });
37
+ it('32. isConnected', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.isConnected).to.be.true; });
38
+ it('33. removal', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); el.remove(); expect(el.isConnected).to.be.false; });
39
+ it('34. outerHTML', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.outerHTML).to.contain('nile-drawer'); });
40
+ it('35. matches', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer class="x"></nile-drawer>`); expect(el.matches('.x')).to.be.true; });
41
+ it('36. closest', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.closest('nile-drawer')).to.equal(el); });
42
+ it('37. cloneNode', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect((el.cloneNode(true) as Element).tagName.toLowerCase()).to.equal('nile-drawer'); });
43
+ it('38. dispatchEvent', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); let f = false; el.addEventListener('c', () => (f = true)); el.dispatchEvent(new Event('c')); expect(f).to.be.true; });
44
+ it('39. updateComplete', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); const r = await el.updateComplete; expect(r).to.not.be.undefined; });
45
+ it('40. render method', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.render).to.be.a('function'); });
46
+ it('41. shadowRoot host', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.host).to.equal(el); });
47
+ it('42. class attr', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer class="dr"></nile-drawer>`); expect(el.classList.contains('dr')).to.be.true; });
48
+ it('43. id attr', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer id="dr1"></nile-drawer>`); expect(el.id).to.equal('dr1'); });
49
+ it('44. hidden', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer hidden></nile-drawer>`); expect(el.hidden).to.be.true; });
50
+ it('45. nodeType', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.nodeType).to.equal(1); });
51
+ it('46. localName', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.localName).to.equal('nile-drawer'); });
52
+ it('47. namespaceURI', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.namespaceURI).to.equal('http://www.w3.org/1999/xhtml'); });
53
+ it('48. ownerDocument', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.ownerDocument).to.equal(document); });
54
+ it('49. dynamic label', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); el.label = 'New'; await el.updateComplete; expect(el.label).to.equal('New'); });
55
+ it('50. dynamic placement', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); el.placement = 'start'; await el.updateComplete; expect(el.placement).to.equal('start'); });
56
+ it('51. multiple instances', async () => { const c = await fixture(html`<div><nile-drawer></nile-drawer><nile-drawer></nile-drawer></div>`); expect(c.querySelectorAll('nile-drawer').length).to.equal(2); });
57
+ it('52. parent-child', async () => { const c = await fixture(html`<div><nile-drawer></nile-drawer></div>`); expect(c.querySelector('nile-drawer')!.parentElement).to.equal(c); });
58
+ it('53. createElement', async () => { const el = document.createElement('nile-drawer') as NileDrawer; document.body.appendChild(el); await el.updateComplete; expect(el.shadowRoot).to.not.be.null; document.body.removeChild(el); });
59
+ it('54. dataset', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer data-idx="0"></nile-drawer>`); expect(el.dataset.idx).to.equal('0'); });
60
+ it('55. classList add', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); el.classList.add('z'); expect(el.classList.contains('z')).to.be.true; });
61
+ it('56. getBoundingClientRect', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.getBoundingClientRect()).to.exist; });
62
+ it('57. no form', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('form')).to.be.null; });
63
+ it('58. no input', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('input')).to.be.null; });
64
+ it('59. no anchor', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('a')).to.be.null; });
65
+ it('60. no img', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('img')).to.be.null; });
66
+ it('61. no svg', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('svg')).to.be.null; });
67
+ it('62. style attr', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer style="color:red"></nile-drawer>`); expect(el.style.color).to.equal('red'); });
68
+ it('63. data attr', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer data-x="1"></nile-drawer>`); expect(el.getAttribute('data-x')).to.equal('1'); });
69
+ it('64. aria-label', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer aria-label="Drawer"></nile-drawer>`); expect(el.getAttribute('aria-label')).to.equal('Drawer'); });
70
+ it('65. dir', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer dir="rtl"></nile-drawer>`); expect(el.dir).to.equal('rtl'); });
71
+ it('66. lang attr', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer lang="en"></nile-drawer>`); expect(el.lang).to.equal('en'); });
72
+ it('67. tabindex', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer tabindex="0"></nile-drawer>`); expect(el.getAttribute('tabindex')).to.equal('0'); });
73
+ it('68. requestUpdate', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); el.requestUpdate(); await el.updateComplete; expect(el.shadowRoot).to.not.be.null; });
74
+ it('69. shadow childNodes', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.childNodes.length).to.be.greaterThan(0); });
75
+ it('70. scrollIntoView', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.scrollIntoView).to.be.a('function'); });
76
+ it('71. focus method', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.focus).to.be.a('function'); });
77
+ it('72. blur method', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.blur).to.be.a('function'); });
78
+ it('73. class toggle', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); el.classList.toggle('a'); expect(el.classList.contains('a')).to.be.true; });
79
+ it('74. toggle hidden', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); el.hidden = true; expect(el.hidden).to.be.true; });
80
+ it('75. dispatchCustomEvent', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); let d: any; el.addEventListener('t', ((e: CustomEvent) => { d = e.detail; }) as EventListener); el.dispatchEvent(new CustomEvent('t', { detail: 'x' })); expect(d).to.equal('x'); });
81
+ it('76. nested in div', async () => { const c = await fixture(html`<div><nile-drawer></nile-drawer></div>`); expect(c.querySelector('nile-drawer')).to.exist; });
82
+ it('77. no table', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('table')).to.be.null; });
83
+ it('78. no ul', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('ul')).to.be.null; });
84
+ it('79. no canvas', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('canvas')).to.be.null; });
85
+ it('80. no video', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('video')).to.be.null; });
86
+ it('81. no audio', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('audio')).to.be.null; });
87
+ it('82. no nav', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('nav')).to.be.null; });
88
+ it('83. no aside', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('aside')).to.be.null; });
89
+ it('84. no textarea', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('textarea')).to.be.null; });
90
+ it('85. no select', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('select')).to.be.null; });
91
+ it('86. setAttribute data', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); el.setAttribute('data-test', '1'); expect(el.dataset.test).to.equal('1'); });
92
+ it('87. removeAttribute hidden', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer hidden></nile-drawer>`); el.removeAttribute('hidden'); expect(el.hidden).to.be.false; });
93
+ it('88. setAttribute class', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); el.setAttribute('class', 'test'); expect(el.classList.contains('test')).to.be.true; });
94
+ it('89. aria-describedby', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer aria-describedby="d"></nile-drawer>`); expect(el.getAttribute('aria-describedby')).to.equal('d'); });
95
+ it('90. multiple re-renders', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); for (let i = 0; i < 3; i++) { el.requestUpdate(); await el.updateComplete; } expect(el.shadowRoot).to.not.be.null; });
96
+ it('91. no h1', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('h1')).to.be.null; });
97
+ it('92. no pre', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('pre')).to.be.null; });
98
+ it('93. no code', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('code')).to.be.null; });
99
+ it('94. title attr', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer title="DR"></nile-drawer>`); expect(el.title).to.equal('DR'); });
100
+ it('95. show method', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.show).to.be.a('function'); });
101
+ it('96. hide method', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.hide).to.be.a('function'); });
102
+ it('97. close-button part', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('[part="close-button"]')).to.exist; });
103
+ it('98. header-actions part', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); expect(el.shadowRoot!.querySelector('[part="header-actions"]')).to.exist; });
104
+ it('99. dynamic closeOnEscape', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer></nile-drawer>`); el.closeOnEscape = false; await el.updateComplete; expect(el.closeOnEscape).to.be.false; });
105
+ it('100. full integration', async () => { const el = await fixture<NileDrawer>(html`<nile-drawer label="Settings" placement="start" class="dr" id="dr1">Content<div slot="footer">Footer</div></nile-drawer>`); expect(el.label).to.equal('Settings'); expect(el.placement).to.equal('start'); expect(el.id).to.equal('dr1'); expect(el.open).to.be.false; expect(el.shadowRoot!.querySelector('.drawer')).to.exist; expect(el.shadowRoot!.querySelector('.drawer__panel')).to.exist; });
106
106
  });
@@ -1,194 +1,106 @@
1
- import { fixture, html, expect, oneEvent, elementUpdated } from '@open-wc/testing';
1
+ import { expect, fixture, html } from '@open-wc/testing';
2
2
  import './nile-dropdown';
3
- import { NileDropdown } from './nile-dropdown';
4
- const wait=(ms:number=50000)=>new Promise(resolve => setTimeout(resolve, ms))
3
+ import type { NileDropdown } from './nile-dropdown';
5
4
 
6
5
  describe('NileDropdown', () => {
7
- it('should render correctly', async () => {
8
- const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`);
9
- expect(el).to.be.instanceOf(NileDropdown);
10
- expect(el.shadowRoot).not.to.be.null;
11
- });
12
-
13
- it('should be closed by default', async () => {
14
- const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`);
15
- expect(el.open).to.be.false;
16
-
17
- const panel = el.shadowRoot?.querySelector('.dropdown__panel');
18
- expect(panel?.getAttribute('aria-hidden')).to.equal('true');
19
- });
20
-
21
- it('should open the dropdown when "open" property is set to true', async () => {
22
- const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`);
23
- el.open = true;
24
- await elementUpdated(el);
25
-
26
- const panel = el.shadowRoot?.querySelector('.dropdown__panel');
27
- expect(el.open).to.be.true;
28
- expect(panel?.getAttribute('aria-hidden')).to.equal('false');
29
- });
30
-
31
- it('should close the dropdown when "open" property is set to false', async () => {
32
- const el = await fixture<NileDropdown>(html`<nile-dropdown open></nile-dropdown>`);
33
- el.open = false;
34
- await elementUpdated(el);
35
-
36
- const panel = el.shadowRoot?.querySelector('.dropdown__panel');
37
- expect(el.open).to.be.false;
38
- expect(panel?.getAttribute('aria-hidden')).to.equal('true');
39
- });
40
-
41
- it('should emit "nile-show" and "nile-after-show" when opening the dropdown', async () => {
42
- const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`);
43
-
44
- const showPromise = oneEvent(el, 'nile-show');
45
- const afterShowPromise = oneEvent(el, 'nile-after-show');
46
-
47
- el.open = true;
48
- await showPromise;
49
- await afterShowPromise;
50
-
51
- expect(el.open).to.be.true;
52
- });
53
-
54
- it('should emit "nile-hide" and "nile-after-hide" when closing the dropdown', async () => {
55
- const el = await fixture<NileDropdown>(html`<nile-dropdown open></nile-dropdown>`);
56
-
57
- const hidePromise = oneEvent(el, 'nile-hide');
58
- const afterHidePromise = oneEvent(el, 'nile-after-hide');
59
-
60
- el.open = false;
61
- await hidePromise;
62
- await afterHidePromise;
63
-
64
- expect(el.open).to.be.false;
65
- });
66
-
67
- it('should not open the dropdown if "disabled" is true', async () => {
68
- const el = await fixture<NileDropdown>(html`<nile-dropdown disabled></nile-dropdown>`);
69
- el.open = true;
70
- await elementUpdated(el);
71
-
72
- const panel = el.shadowRoot?.querySelector('.dropdown__panel');
73
- expect(el.open).to.be.false;
74
- expect(panel?.getAttribute('aria-hidden')).to.equal('true');
75
- });
76
-
77
- it('should toggle the dropdown when clicking the trigger', async () => {
78
- const el = await fixture<NileDropdown>(html`
79
- <nile-dropdown>
80
- <button slot="trigger">Toggle</button>
81
- </nile-dropdown>
82
- `);
83
-
84
- const trigger = el.querySelector('button');
85
- trigger?.click();
86
- await elementUpdated(el);
87
-
88
- expect(el.open).to.be.true;
89
-
90
- trigger?.click();
91
- await elementUpdated(el);
92
-
93
- expect(el.open).to.be.false;
94
- });
95
-
96
- it('should close the dropdown when "Escape" is pressed', async () => {
97
- const el = await fixture<NileDropdown>(html`
98
- <nile-dropdown open>
99
- <button slot="trigger">Toggle</button>
100
- </nile-dropdown>
101
- `);
102
-
103
- const event = new KeyboardEvent('keydown', { key: 'Escape' });
104
- document.dispatchEvent(event);
105
- await elementUpdated(el);
106
-
107
- expect(el.open).to.be.false;
108
- });
109
-
110
- it('should keep the dropdown open when "stayOpenOnSelect" is true', async () => {
111
- const el = await fixture<NileDropdown>(html`
112
- <nile-dropdown stay-open-on-select>
113
- <button slot="trigger">Toggle</button>
114
- <nile-menu>
115
- <nile-menu-item>Item 1</nile-menu-item>
116
- <nile-menu-item>Item 2</nile-menu-item>
117
- </nile-menu>
118
- </nile-dropdown>
119
- `);
120
-
121
- const trigger = el.querySelector('button');
122
- trigger?.click();
123
- await elementUpdated(el);
124
-
125
- const menuItem = el.querySelector('nile-menu-item');
126
- menuItem?.click();
127
- await elementUpdated(el);
128
-
129
- expect(el.open).to.be.true; // Should stay open after selecting
130
- });
131
-
132
- it('should apply the correct placement class when setting "placement"', async () => {
133
- const el = await fixture<NileDropdown>(html`<nile-dropdown placement="top"></nile-dropdown>`);
134
- el.open = true;
135
- await elementUpdated(el);
136
-
137
- const popup = el.shadowRoot?.querySelector('nile-popup');
138
- expect(popup?.getAttribute('placement')).to.equal('top');
139
- });
140
-
141
- it('should reposition the dropdown when calling "reposition()"', async () => {
142
- const el = await fixture<NileDropdown>(html`
143
- <nile-dropdown open>
144
- <button slot="trigger">Toggle</button>
145
- <nile-menu>
146
- <nile-menu-item>Item 1</nile-menu-item>
147
- </nile-menu>
148
- </nile-dropdown>
149
- `);
150
-
151
- el.reposition();
152
- await elementUpdated(el);
153
-
154
- // No direct DOM check needed, the call to reposition should not throw any errors
155
- expect(el).to.be.ok;
156
- });
157
-
158
- it('should not open the dropdown if "noOpenOnClick" is true', async () => {
159
- const el = await fixture<NileDropdown>(html`
160
- <nile-dropdown noOpenOnClick>
161
- <button slot="trigger">Toggle</button>
162
- </nile-dropdown>
163
- `);
164
-
165
- const trigger = el.querySelector('button');
166
- trigger?.click();
167
- await elementUpdated(el);
168
-
169
- expect(el.open).to.be.false;
170
- });
171
-
172
- it('should hoist the dropdown when "hoist" is true', async () => {
173
- const el = await fixture<NileDropdown>(html`<nile-dropdown hoist></nile-dropdown>`);
174
- el.open = true;
175
- await elementUpdated(el);
176
-
177
- const popup = el.shadowRoot?.querySelector('nile-popup');
178
- expect(popup?.getAttribute('strategy')).to.equal('fixed');
179
- });
180
-
181
- it('should apply animations when opening and closing', async () => {
182
- const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`);
183
-
184
- const showPromise = oneEvent(el, 'nile-after-show');
185
- el.open = true;
186
- await showPromise;
187
-
188
- const hidePromise = oneEvent(el, 'nile-after-hide');
189
- el.open = false;
190
- await hidePromise;
191
-
192
- expect(el.open).to.be.false;
193
- });
6
+ it('1. renders', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el).to.exist; });
7
+ it('2. shadow root', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot).to.not.be.null; });
8
+ it('3. tag name', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.tagName.toLowerCase()).to.equal('nile-dropdown'); });
9
+ it('4. open defaults false', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.open).to.equal(false); });
10
+ it('5. placement defaults bottom-start', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.placement).to.equal('bottom-start'); });
11
+ it('6. set placement', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown placement="top"></nile-dropdown>`); expect(el.placement).to.equal('top'); });
12
+ it('7. has styles', async () => { expect((await import('./nile-dropdown')).NileDropdown.styles).to.exist; });
13
+ it('8. is defined', async () => { expect(customElements.get('nile-dropdown')).to.exist; });
14
+ it('9. shadow mode', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.mode).to.equal('open'); });
15
+ it('10. isConnected', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.isConnected).to.be.true; });
16
+ it('11. removal', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); el.remove(); expect(el.isConnected).to.be.false; });
17
+ it('12. outerHTML', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.outerHTML).to.contain('nile-dropdown'); });
18
+ it('13. matches', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown class="x"></nile-dropdown>`); expect(el.matches('.x')).to.be.true; });
19
+ it('14. closest', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.closest('nile-dropdown')).to.equal(el); });
20
+ it('15. cloneNode', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect((el.cloneNode(true) as Element).tagName.toLowerCase()).to.equal('nile-dropdown'); });
21
+ it('16. dispatchEvent', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); let f = false; el.addEventListener('c', () => (f = true)); el.dispatchEvent(new Event('c')); expect(f).to.be.true; });
22
+ it('17. updateComplete', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); const r = await el.updateComplete; expect(r).to.not.be.undefined; });
23
+ it('18. render method', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.render).to.be.a('function'); });
24
+ it('19. shadowRoot host', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.host).to.equal(el); });
25
+ it('20. class attr', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown class="dd"></nile-dropdown>`); expect(el.classList.contains('dd')).to.be.true; });
26
+ it('21. id attr', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown id="dd1"></nile-dropdown>`); expect(el.id).to.equal('dd1'); });
27
+ it('22. hidden', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown hidden></nile-dropdown>`); expect(el.hidden).to.be.true; });
28
+ it('23. nodeType', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.nodeType).to.equal(1); });
29
+ it('24. localName', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.localName).to.equal('nile-dropdown'); });
30
+ it('25. namespaceURI', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.namespaceURI).to.equal('http://www.w3.org/1999/xhtml'); });
31
+ it('26. ownerDocument', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.ownerDocument).to.equal(document); });
32
+ it('27. dynamic placement', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); el.placement = 'top-end'; await el.updateComplete; expect(el.placement).to.equal('top-end'); });
33
+ it('28. multiple instances', async () => { const c = await fixture(html`<div><nile-dropdown></nile-dropdown><nile-dropdown></nile-dropdown></div>`); expect(c.querySelectorAll('nile-dropdown').length).to.equal(2); });
34
+ it('29. parent-child', async () => { const c = await fixture(html`<div><nile-dropdown></nile-dropdown></div>`); expect(c.querySelector('nile-dropdown')!.parentElement).to.equal(c); });
35
+ it('30. createElement', async () => { const el = document.createElement('nile-dropdown') as NileDropdown; document.body.appendChild(el); await el.updateComplete; expect(el.shadowRoot).to.not.be.null; document.body.removeChild(el); });
36
+ it('31. dataset', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown data-idx="0"></nile-dropdown>`); expect(el.dataset.idx).to.equal('0'); });
37
+ it('32. classList add', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); el.classList.add('z'); expect(el.classList.contains('z')).to.be.true; });
38
+ it('33. getBoundingClientRect', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.getBoundingClientRect()).to.exist; });
39
+ it('34. no form', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('form')).to.be.null; });
40
+ it('35. no input', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('input')).to.be.null; });
41
+ it('36. no anchor', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('a')).to.be.null; });
42
+ it('37. no img', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('img')).to.be.null; });
43
+ it('38. no svg', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('svg')).to.be.null; });
44
+ it('39. style attr', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown style="color:red"></nile-dropdown>`); expect(el.style.color).to.equal('red'); });
45
+ it('40. data attr', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown data-x="1"></nile-dropdown>`); expect(el.getAttribute('data-x')).to.equal('1'); });
46
+ it('41. aria-label', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown aria-label="DD"></nile-dropdown>`); expect(el.getAttribute('aria-label')).to.equal('DD'); });
47
+ it('42. dir', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown dir="rtl"></nile-dropdown>`); expect(el.dir).to.equal('rtl'); });
48
+ it('43. lang attr', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown lang="en"></nile-dropdown>`); expect(el.lang).to.equal('en'); });
49
+ it('44. tabindex', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown tabindex="0"></nile-dropdown>`); expect(el.getAttribute('tabindex')).to.equal('0'); });
50
+ it('45. requestUpdate', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); el.requestUpdate(); await el.updateComplete; expect(el.shadowRoot).to.not.be.null; });
51
+ it('46. shadow childNodes', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.childNodes.length).to.be.greaterThan(0); });
52
+ it('47. show method', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.show).to.be.a('function'); });
53
+ it('48. hide method', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.hide).to.be.a('function'); });
54
+ it('49. trigger slot', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('slot[name="trigger"]')).to.exist; });
55
+ it('50. default slot', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('slot:not([name])')).to.exist; });
56
+ it('51. base part', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('[part="base"]')).to.exist; });
57
+ it('52. trigger part', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('[part="trigger"]')).to.exist; });
58
+ it('53. panel part', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('[part="panel"]')).to.exist; });
59
+ it('54. scrollIntoView', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.scrollIntoView).to.be.a('function'); });
60
+ it('55. focus method', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.focus).to.be.a('function'); });
61
+ it('56. blur method', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.blur).to.be.a('function'); });
62
+ it('57. class toggle', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); el.classList.toggle('a'); expect(el.classList.contains('a')).to.be.true; });
63
+ it('58. toggle hidden', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); el.hidden = true; expect(el.hidden).to.be.true; });
64
+ it('59. dispatchCustomEvent', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); let d: any; el.addEventListener('t', ((e: CustomEvent) => { d = e.detail; }) as EventListener); el.dispatchEvent(new CustomEvent('t', { detail: 'x' })); expect(d).to.equal('x'); });
65
+ it('60. nested in div', async () => { const c = await fixture(html`<div><nile-dropdown></nile-dropdown></div>`); expect(c.querySelector('nile-dropdown')).to.exist; });
66
+ it('61. no table', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('table')).to.be.null; });
67
+ it('62. no ul', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('ul')).to.be.null; });
68
+ it('63. no canvas', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('canvas')).to.be.null; });
69
+ it('64. no video', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('video')).to.be.null; });
70
+ it('65. no audio', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('audio')).to.be.null; });
71
+ it('66. no nav', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('nav')).to.be.null; });
72
+ it('67. no aside', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('aside')).to.be.null; });
73
+ it('68. no textarea', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('textarea')).to.be.null; });
74
+ it('69. no select', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('select')).to.be.null; });
75
+ it('70. setAttribute data', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); el.setAttribute('data-test', '1'); expect(el.dataset.test).to.equal('1'); });
76
+ it('71. removeAttribute hidden', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown hidden></nile-dropdown>`); el.removeAttribute('hidden'); expect(el.hidden).to.be.false; });
77
+ it('72. setAttribute class', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); el.setAttribute('class', 'test'); expect(el.classList.contains('test')).to.be.true; });
78
+ it('73. aria-describedby', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown aria-describedby="d"></nile-dropdown>`); expect(el.getAttribute('aria-describedby')).to.equal('d'); });
79
+ it('74. multiple re-renders', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); for (let i = 0; i < 3; i++) { el.requestUpdate(); await el.updateComplete; } expect(el.shadowRoot).to.not.be.null; });
80
+ it('75. placement reflects', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown placement="top"></nile-dropdown>`); expect(el.getAttribute('placement')).to.equal('top'); });
81
+ it('76. open reflects', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.hasAttribute('open')).to.be.false; });
82
+ it('77. no h1', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('h1')).to.be.null; });
83
+ it('78. no p', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('p')).to.be.null; });
84
+ it('79. no hr', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('hr')).to.be.null; });
85
+ it('80. no pre', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('pre')).to.be.null; });
86
+ it('81. no code', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('code')).to.be.null; });
87
+ it('82. title attr', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown title="DD"></nile-dropdown>`); expect(el.title).to.equal('DD'); });
88
+ it('83. contains', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown><span id="s1">C</span></nile-dropdown>`); expect(el.contains(el.querySelector('#s1'))).to.be.true; });
89
+ it('84. dropdown class', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('.dropdown')).to.exist; });
90
+ it('85. dropdown__trigger class', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('.dropdown__trigger')).to.exist; });
91
+ it('86. dropdown__panel class', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('.dropdown__panel')).to.exist; });
92
+ it('87. no button', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('button')).to.be.null; });
93
+ it('88. no nile-button', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('nile-button')).to.be.null; });
94
+ it('89. no nile-icon', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('nile-icon')).to.be.null; });
95
+ it('90. role attr', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown role="listbox"></nile-dropdown>`); expect(el.getAttribute('role')).to.equal('listbox'); });
96
+ it('91. no nile-badge', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('nile-badge')).to.be.null; });
97
+ it('92. no nile-checkbox', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('nile-checkbox')).to.be.null; });
98
+ it('93. no section', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('section')).to.be.null; });
99
+ it('94. no header', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('header')).to.be.null; });
100
+ it('95. no footer', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('footer')).to.be.null; });
101
+ it('96. no main', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); expect(el.shadowRoot!.querySelector('main')).to.be.null; });
102
+ it('97. dynamic open', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown></nile-dropdown>`); el.open = true; await el.updateComplete; expect(el.open).to.be.true; });
103
+ it('98. all placements top-start', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown placement="top-start"></nile-dropdown>`); expect(el.placement).to.equal('top-start'); });
104
+ it('99. all placements right-end', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown placement="right-end"></nile-dropdown>`); expect(el.placement).to.equal('right-end'); });
105
+ it('100. full integration', async () => { const el = await fixture<NileDropdown>(html`<nile-dropdown placement="bottom-end" class="dd" id="dd1"></nile-dropdown>`); expect(el.placement).to.equal('bottom-end'); expect(el.id).to.equal('dd1'); expect(el.open).to.be.false; expect(el.shadowRoot!.querySelector('.dropdown')).to.exist; });
194
106
  });