@aquera/nile-elements 1.5.1 → 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 (572) hide show
  1. package/README.md +9 -0
  2. package/dist/index.cjs.js +1 -1
  3. package/dist/index.esm.js +1 -1
  4. package/dist/index.js +253 -197
  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/index.cjs.js +1 -1
  46. package/dist/nile-grid/index.esm.js +1 -1
  47. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.cjs.js +1 -1
  48. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -1
  49. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +1 -1
  50. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -1
  51. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +2 -0
  52. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.esm.js +1 -1
  53. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +1 -1
  54. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +1 -1
  55. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +1 -1
  56. package/dist/nile-grid/nile-grid-head/nile-grid-head.css.cjs.js +1 -1
  57. package/dist/nile-grid/nile-grid-head/nile-grid-head.css.cjs.js.map +1 -1
  58. package/dist/nile-grid/nile-grid-head/nile-grid-head.css.esm.js +8 -2
  59. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.cjs.js +1 -1
  60. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -1
  61. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js +1 -1
  62. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -1
  63. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.esm.js +2 -1
  64. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.esm.js +3 -3
  65. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +1 -1
  66. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +1 -1
  67. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.esm.js +1 -1
  68. package/dist/nile-grid/nile-grid.cjs.js +1 -1
  69. package/dist/nile-grid/nile-grid.cjs.js.map +1 -1
  70. package/dist/nile-grid/nile-grid.css.cjs.js +1 -1
  71. package/dist/nile-grid/nile-grid.css.cjs.js.map +1 -1
  72. package/dist/nile-grid/nile-grid.css.esm.js +1 -0
  73. package/dist/nile-grid/nile-grid.esm.js +5 -3
  74. package/dist/nile-grid/nile-grid.layout.cjs.js +1 -1
  75. package/dist/nile-grid/nile-grid.layout.esm.js +1 -1
  76. package/dist/nile-grid/nile-grid.resize.cjs.js +1 -1
  77. package/dist/nile-grid/nile-grid.resize.esm.js +1 -1
  78. package/dist/nile-grid/nile-grid.utils.cjs.js +1 -1
  79. package/dist/nile-grid/nile-grid.utils.cjs.js.map +1 -1
  80. package/dist/nile-grid/nile-grid.utils.esm.js +1 -1
  81. package/dist/nile-grid/nile-grid.width.cjs.js +1 -1
  82. package/dist/nile-grid/nile-grid.width.cjs.js.map +1 -1
  83. package/dist/nile-grid/nile-grid.width.esm.js +1 -1
  84. package/dist/nile-input/nile-input.cjs.js +1 -1
  85. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  86. package/dist/nile-input/nile-input.esm.js +1 -1
  87. package/dist/nile-popover/index.cjs.js +1 -1
  88. package/dist/nile-popover/index.esm.js +1 -1
  89. package/dist/nile-popover/nile-popover.cjs.js +4 -4
  90. package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
  91. package/dist/nile-popover/nile-popover.esm.js +11 -6
  92. package/dist/src/nile-accordion/nile-accordian.test.js +101 -99
  93. package/dist/src/nile-accordion/nile-accordian.test.js.map +1 -1
  94. package/dist/src/nile-auto-complete/nile-auto-complete.css.js +1 -1
  95. package/dist/src/nile-auto-complete/nile-auto-complete.css.js.map +1 -1
  96. package/dist/src/nile-auto-complete/nile-auto-complete.js +1 -1
  97. package/dist/src/nile-auto-complete/nile-auto-complete.js.map +1 -1
  98. package/dist/src/nile-auto-complete/nile-auto-complete.test.js +104 -112
  99. package/dist/src/nile-auto-complete/nile-auto-complete.test.js.map +1 -1
  100. package/dist/src/nile-avatar/nile-avatar.test.d.ts +0 -1
  101. package/dist/src/nile-avatar/nile-avatar.test.js +103 -87
  102. package/dist/src/nile-avatar/nile-avatar.test.js.map +1 -1
  103. package/dist/src/nile-badge/nile-badge.test.js +554 -35
  104. package/dist/src/nile-badge/nile-badge.test.js.map +1 -1
  105. package/dist/src/nile-breadcrumb/nile-breadcrumb.test.d.ts +2 -0
  106. package/dist/src/nile-breadcrumb/nile-breadcrumb.test.js +106 -0
  107. package/dist/src/nile-breadcrumb/nile-breadcrumb.test.js.map +1 -0
  108. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.test.d.ts +1 -0
  109. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.test.js +108 -0
  110. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.test.js.map +1 -0
  111. package/dist/src/nile-button/nile-button.test.js +499 -39
  112. package/dist/src/nile-button/nile-button.test.js.map +1 -1
  113. package/dist/src/nile-button-filter/nile-button-filter.test.d.ts +1 -0
  114. package/dist/src/nile-button-filter/nile-button-filter.test.js +108 -0
  115. package/dist/src/nile-button-filter/nile-button-filter.test.js.map +1 -0
  116. package/dist/src/nile-button-toggle/nile-button-toggle.test.d.ts +1 -0
  117. package/dist/src/nile-button-toggle/nile-button-toggle.test.js +108 -0
  118. package/dist/src/nile-button-toggle/nile-button-toggle.test.js.map +1 -0
  119. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.test.d.ts +1 -1
  120. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.test.js +105 -104
  121. package/dist/src/nile-button-toggle-group/nile-button-toggle-group.test.js.map +1 -1
  122. package/dist/src/nile-calendar/nile-calendar.test.d.ts +0 -6
  123. package/dist/src/nile-calendar/nile-calendar.test.js +103 -318
  124. package/dist/src/nile-calendar/nile-calendar.test.js.map +1 -1
  125. package/dist/src/nile-card/nile-card.test.js +102 -66
  126. package/dist/src/nile-card/nile-card.test.js.map +1 -1
  127. package/dist/src/nile-checkbox/nile-checkbox.test.js +547 -108
  128. package/dist/src/nile-checkbox/nile-checkbox.test.js.map +1 -1
  129. package/dist/src/nile-chip/nile-chip.test.d.ts +0 -2
  130. package/dist/src/nile-chip/nile-chip.test.js +101 -102
  131. package/dist/src/nile-chip/nile-chip.test.js.map +1 -1
  132. package/dist/src/nile-circular-progressbar/nile-circular-progressbar.test.d.ts +1 -0
  133. package/dist/src/nile-circular-progressbar/nile-circular-progressbar.test.js +108 -0
  134. package/dist/src/nile-circular-progressbar/nile-circular-progressbar.test.js.map +1 -0
  135. package/dist/src/nile-date-picker/nile-date-picker.test.d.ts +1 -0
  136. package/dist/src/nile-date-picker/nile-date-picker.test.js +108 -0
  137. package/dist/src/nile-date-picker/nile-date-picker.test.js.map +1 -0
  138. package/dist/src/nile-dialog/nile-dialog.test.d.ts +0 -1
  139. package/dist/src/nile-dialog/nile-dialog.test.js +104 -126
  140. package/dist/src/nile-dialog/nile-dialog.test.js.map +1 -1
  141. package/dist/src/nile-divider/nile-divider.test.d.ts +1 -0
  142. package/dist/src/nile-divider/nile-divider.test.js +560 -0
  143. package/dist/src/nile-divider/nile-divider.test.js.map +1 -0
  144. package/dist/src/nile-drawer/nile-drawer.test.js +106 -86
  145. package/dist/src/nile-drawer/nile-drawer.test.js.map +1 -1
  146. package/dist/src/nile-dropdown/nile-dropdown.test.js +104 -148
  147. package/dist/src/nile-dropdown/nile-dropdown.test.js.map +1 -1
  148. package/dist/src/nile-empty-state/nile-empty-state.test.js +107 -59
  149. package/dist/src/nile-empty-state/nile-empty-state.test.js.map +1 -1
  150. package/dist/src/nile-error-message/nile-error-message.test.js +105 -55
  151. package/dist/src/nile-error-message/nile-error-message.test.js.map +1 -1
  152. package/dist/src/nile-error-notification/nile-error-notification.test.d.ts +1 -0
  153. package/dist/src/nile-error-notification/nile-error-notification.test.js +108 -0
  154. package/dist/src/nile-error-notification/nile-error-notification.test.js.map +1 -0
  155. package/dist/src/nile-file-preview/nile-file-preview.css.js +2 -2
  156. package/dist/src/nile-file-preview/nile-file-preview.css.js.map +1 -1
  157. package/dist/src/nile-file-preview/nile-file-preview.d.ts +1 -4
  158. package/dist/src/nile-file-preview/nile-file-preview.js +21 -47
  159. package/dist/src/nile-file-preview/nile-file-preview.js.map +1 -1
  160. package/dist/src/nile-file-preview/nile-file-preview.template.d.ts +6 -6
  161. package/dist/src/nile-file-preview/nile-file-preview.template.js +53 -23
  162. package/dist/src/nile-file-preview/nile-file-preview.template.js.map +1 -1
  163. package/dist/src/nile-file-preview/nile-file-preview.test.d.ts +0 -6
  164. package/dist/src/nile-file-preview/nile-file-preview.test.js +106 -28
  165. package/dist/src/nile-file-preview/nile-file-preview.test.js.map +1 -1
  166. package/dist/src/nile-file-preview/utils/nile-file-preview.util.d.ts +3 -2
  167. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js +32 -7
  168. package/dist/src/nile-file-preview/utils/nile-file-preview.util.js.map +1 -1
  169. package/dist/src/nile-file-upload/nile-file-upload.css.js +15 -5
  170. package/dist/src/nile-file-upload/nile-file-upload.css.js.map +1 -1
  171. package/dist/src/nile-file-upload/nile-file-upload.d.ts +4 -1
  172. package/dist/src/nile-file-upload/nile-file-upload.js +13 -1
  173. package/dist/src/nile-file-upload/nile-file-upload.js.map +1 -1
  174. package/dist/src/nile-file-upload/nile-file-upload.template.js +19 -15
  175. package/dist/src/nile-file-upload/nile-file-upload.template.js.map +1 -1
  176. package/dist/src/nile-file-upload/nile-file-upload.test.d.ts +0 -6
  177. package/dist/src/nile-file-upload/nile-file-upload.test.js +106 -28
  178. package/dist/src/nile-file-upload/nile-file-upload.test.js.map +1 -1
  179. package/dist/src/nile-file-upload/types/file-upload.enums.d.ts +17 -3
  180. package/dist/src/nile-file-upload/types/file-upload.enums.js +17 -1
  181. package/dist/src/nile-file-upload/types/file-upload.enums.js.map +1 -1
  182. package/dist/src/nile-file-upload/utils/drag-drop.util.d.ts +2 -0
  183. package/dist/src/nile-file-upload/utils/drag-drop.util.js +14 -8
  184. package/dist/src/nile-file-upload/utils/drag-drop.util.js.map +1 -1
  185. package/dist/src/nile-file-upload/utils/file-validation.util.js +89 -10
  186. package/dist/src/nile-file-upload/utils/file-validation.util.js.map +1 -1
  187. package/dist/src/nile-filter-chip/nile-filter-chip.test.js +102 -77
  188. package/dist/src/nile-filter-chip/nile-filter-chip.test.js.map +1 -1
  189. package/dist/src/nile-form-error-message/nile-form-error-message.test.d.ts +1 -0
  190. package/dist/src/nile-form-error-message/nile-form-error-message.test.js +108 -0
  191. package/dist/src/nile-form-error-message/nile-form-error-message.test.js.map +1 -0
  192. package/dist/src/nile-form-group/nile-form-group.test.js +104 -51
  193. package/dist/src/nile-form-group/nile-form-group.test.js.map +1 -1
  194. package/dist/src/nile-form-help-text/nile-form-help-text.test.js +104 -84
  195. package/dist/src/nile-form-help-text/nile-form-help-text.test.js.map +1 -1
  196. package/dist/src/nile-format-date/nile-format-date.test.d.ts +1 -0
  197. package/dist/src/nile-format-date/nile-format-date.test.js +108 -0
  198. package/dist/src/nile-format-date/nile-format-date.test.js.map +1 -0
  199. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js +2 -0
  200. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -1
  201. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.js +1 -1
  202. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.js.map +1 -1
  203. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +1 -1
  204. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.js +2 -2
  205. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +1 -1
  206. package/dist/src/nile-grid/nile-grid-head/nile-grid-head.css.js +6 -0
  207. package/dist/src/nile-grid/nile-grid-head/nile-grid-head.css.js.map +1 -1
  208. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.js +2 -1
  209. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -1
  210. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.js +6 -5
  211. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.js.map +1 -1
  212. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.d.ts +15 -1
  213. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.js +26 -2
  214. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.js.map +1 -1
  215. package/dist/src/nile-grid/nile-grid.css.js +1 -0
  216. package/dist/src/nile-grid/nile-grid.css.js.map +1 -1
  217. package/dist/src/nile-grid/nile-grid.d.ts +31 -3
  218. package/dist/src/nile-grid/nile-grid.js +107 -30
  219. package/dist/src/nile-grid/nile-grid.js.map +1 -1
  220. package/dist/src/nile-grid/nile-grid.layout.d.ts +2 -9
  221. package/dist/src/nile-grid/nile-grid.layout.js +120 -106
  222. package/dist/src/nile-grid/nile-grid.layout.js.map +1 -1
  223. package/dist/src/nile-grid/nile-grid.resize.d.ts +1 -0
  224. package/dist/src/nile-grid/nile-grid.resize.js +7 -3
  225. package/dist/src/nile-grid/nile-grid.resize.js.map +1 -1
  226. package/dist/src/nile-grid/nile-grid.utils.d.ts +7 -0
  227. package/dist/src/nile-grid/nile-grid.utils.js +37 -2
  228. package/dist/src/nile-grid/nile-grid.utils.js.map +1 -1
  229. package/dist/src/nile-grid/nile-grid.width.d.ts +2 -1
  230. package/dist/src/nile-grid/nile-grid.width.js +38 -8
  231. package/dist/src/nile-grid/nile-grid.width.js.map +1 -1
  232. package/dist/src/nile-grid/types/nile-grid.types.d.ts +5 -0
  233. package/dist/src/nile-grid/types/nile-grid.types.js.map +1 -1
  234. package/dist/src/nile-heading/nile-heading.test.d.ts +1 -0
  235. package/dist/src/nile-heading/nile-heading.test.js +108 -0
  236. package/dist/src/nile-heading/nile-heading.test.js.map +1 -0
  237. package/dist/src/nile-hero/nile-hero.test.js +101 -38
  238. package/dist/src/nile-hero/nile-hero.test.js.map +1 -1
  239. package/dist/src/nile-icon/nile-icon.test.js +103 -40
  240. package/dist/src/nile-icon/nile-icon.test.js.map +1 -1
  241. package/dist/src/nile-icon-button/nile-icon-button.test.d.ts +1 -0
  242. package/dist/src/nile-icon-button/nile-icon-button.test.js +568 -0
  243. package/dist/src/nile-icon-button/nile-icon-button.test.js.map +1 -0
  244. package/dist/src/nile-inline-edit/nile-inline-edit.test.d.ts +1 -0
  245. package/dist/src/nile-inline-edit/nile-inline-edit.test.js +108 -0
  246. package/dist/src/nile-inline-edit/nile-inline-edit.test.js.map +1 -0
  247. package/dist/src/nile-input/nile-input.js +1 -1
  248. package/dist/src/nile-input/nile-input.js.map +1 -1
  249. package/dist/src/nile-input/nile-input.test.js +109 -139
  250. package/dist/src/nile-input/nile-input.test.js.map +1 -1
  251. package/dist/src/nile-link/nile-link.test.js +103 -67
  252. package/dist/src/nile-link/nile-link.test.js.map +1 -1
  253. package/dist/src/nile-list/nile-list.test.d.ts +1 -0
  254. package/dist/src/nile-list/nile-list.test.js +108 -0
  255. package/dist/src/nile-list/nile-list.test.js.map +1 -0
  256. package/dist/src/nile-list-item/nile-list-item.test.d.ts +1 -0
  257. package/dist/src/nile-list-item/nile-list-item.test.js +108 -0
  258. package/dist/src/nile-list-item/nile-list-item.test.js.map +1 -0
  259. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.test.d.ts +2 -0
  260. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.test.js +109 -0
  261. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.test.js.map +1 -0
  262. package/dist/src/nile-loader/nile-loader.test.js +107 -40
  263. package/dist/src/nile-loader/nile-loader.test.js.map +1 -1
  264. package/dist/src/nile-menu/nile-menu.test.d.ts +1 -0
  265. package/dist/src/nile-menu/nile-menu.test.js +113 -0
  266. package/dist/src/nile-menu/nile-menu.test.js.map +1 -0
  267. package/dist/src/nile-menu-item/nile-menu-item.test.d.ts +1 -0
  268. package/dist/src/nile-menu-item/nile-menu-item.test.js +113 -0
  269. package/dist/src/nile-menu-item/nile-menu-item.test.js.map +1 -0
  270. package/dist/src/nile-option/nile-option.test.d.ts +1 -0
  271. package/dist/src/nile-option/nile-option.test.js +108 -0
  272. package/dist/src/nile-option/nile-option.test.js.map +1 -0
  273. package/dist/src/nile-option-group/nile-option-group.test.d.ts +1 -0
  274. package/dist/src/nile-option-group/nile-option-group.test.js +108 -0
  275. package/dist/src/nile-option-group/nile-option-group.test.js.map +1 -0
  276. package/dist/src/nile-page-header/nile-page-header.test.d.ts +1 -0
  277. package/dist/src/nile-page-header/nile-page-header.test.js +108 -0
  278. package/dist/src/nile-page-header/nile-page-header.test.js.map +1 -0
  279. package/dist/src/nile-pagination/nile-pagination.test.d.ts +1 -0
  280. package/dist/src/nile-pagination/nile-pagination.test.js +108 -0
  281. package/dist/src/nile-pagination/nile-pagination.test.js.map +1 -0
  282. package/dist/src/nile-popover/nile-popover.test.js +103 -68
  283. package/dist/src/nile-popover/nile-popover.test.js.map +1 -1
  284. package/dist/src/nile-popup/nile-popup.test.js +104 -65
  285. package/dist/src/nile-popup/nile-popup.test.js.map +1 -1
  286. package/dist/src/nile-progress-bar/nile-progress-bar.test.js +104 -44
  287. package/dist/src/nile-progress-bar/nile-progress-bar.test.js.map +1 -1
  288. package/dist/src/nile-radio/nile-radio.test.js +103 -66
  289. package/dist/src/nile-radio/nile-radio.test.js.map +1 -1
  290. package/dist/src/nile-radio-group/nile-radio-group.test.d.ts +0 -1
  291. package/dist/src/nile-radio-group/nile-radio-group.test.js +105 -171
  292. package/dist/src/nile-radio-group/nile-radio-group.test.js.map +1 -1
  293. package/dist/src/nile-section-message/nile-section-message.test.d.ts +1 -0
  294. package/dist/src/nile-section-message/nile-section-message.test.js +108 -0
  295. package/dist/src/nile-section-message/nile-section-message.test.js.map +1 -0
  296. package/dist/src/nile-select/nile-select.test.d.ts +0 -5
  297. package/dist/src/nile-select/nile-select.test.js +105 -244
  298. package/dist/src/nile-select/nile-select.test.js.map +1 -1
  299. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.test.d.ts +1 -0
  300. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.test.js +108 -0
  301. package/dist/src/nile-skeleton-loader/nile-skeleton-loader.test.js.map +1 -0
  302. package/dist/src/nile-slide-toggle/nile-slide-toggle.test.js +104 -50
  303. package/dist/src/nile-slide-toggle/nile-slide-toggle.test.js.map +1 -1
  304. package/dist/src/nile-slider/nile-slider.test.d.ts +1 -0
  305. package/dist/src/nile-slider/nile-slider.test.js +108 -0
  306. package/dist/src/nile-slider/nile-slider.test.js.map +1 -0
  307. package/dist/src/nile-spinner/nile-spinner.test.d.ts +1 -0
  308. package/dist/src/nile-spinner/nile-spinner.test.js +569 -0
  309. package/dist/src/nile-spinner/nile-spinner.test.js.map +1 -0
  310. package/dist/src/nile-split-panel/nile-split-panel.test.d.ts +1 -0
  311. package/dist/src/nile-split-panel/nile-split-panel.test.js +108 -0
  312. package/dist/src/nile-split-panel/nile-split-panel.test.js.map +1 -0
  313. package/dist/src/nile-stepper/nile-stepper.test.d.ts +2 -0
  314. package/dist/src/nile-stepper/nile-stepper.test.js +109 -0
  315. package/dist/src/nile-stepper/nile-stepper.test.js.map +1 -0
  316. package/dist/src/nile-stepper-item/nile-stepper-item.test.d.ts +1 -0
  317. package/dist/src/nile-stepper-item/nile-stepper-item.test.js +108 -0
  318. package/dist/src/nile-stepper-item/nile-stepper-item.test.js.map +1 -0
  319. package/dist/src/nile-tab/nile-tab.test.d.ts +1 -0
  320. package/dist/src/nile-tab/nile-tab.test.js +108 -0
  321. package/dist/src/nile-tab/nile-tab.test.js.map +1 -0
  322. package/dist/src/nile-tab-group/nile-tab-group.test.js +105 -172
  323. package/dist/src/nile-tab-group/nile-tab-group.test.js.map +1 -1
  324. package/dist/src/nile-tab-panel/nile-tab-panel.test.d.ts +1 -0
  325. package/dist/src/nile-tab-panel/nile-tab-panel.test.js +108 -0
  326. package/dist/src/nile-tab-panel/nile-tab-panel.test.js.map +1 -0
  327. package/dist/src/nile-tag/nile-tag.test.d.ts +1 -0
  328. package/dist/src/nile-tag/nile-tag.test.js +574 -0
  329. package/dist/src/nile-tag/nile-tag.test.js.map +1 -0
  330. package/dist/src/nile-textarea/nile-textarea.test.d.ts +1 -1
  331. package/dist/src/nile-textarea/nile-textarea.test.js +105 -84
  332. package/dist/src/nile-textarea/nile-textarea.test.js.map +1 -1
  333. package/dist/src/nile-title/nile-title.test.d.ts +1 -0
  334. package/dist/src/nile-title/nile-title.test.js +108 -0
  335. package/dist/src/nile-title/nile-title.test.js.map +1 -0
  336. package/dist/src/nile-toast/nile-toast.test.d.ts +1 -0
  337. package/dist/src/nile-toast/nile-toast.test.js +526 -0
  338. package/dist/src/nile-toast/nile-toast.test.js.map +1 -0
  339. package/dist/src/nile-toolbar/nile-toolbar.test.d.ts +1 -0
  340. package/dist/src/nile-toolbar/nile-toolbar.test.js +108 -0
  341. package/dist/src/nile-toolbar/nile-toolbar.test.js.map +1 -0
  342. package/dist/src/nile-tooltip/nile-tooltip.test.d.ts +1 -0
  343. package/dist/src/nile-tooltip/nile-tooltip.test.js +546 -0
  344. package/dist/src/nile-tooltip/nile-tooltip.test.js.map +1 -0
  345. package/dist/src/nile-virtual-select/nile-virtual-select.test.d.ts +1 -7
  346. package/dist/src/nile-virtual-select/nile-virtual-select.test.js +105 -628
  347. package/dist/src/nile-virtual-select/nile-virtual-select.test.js.map +1 -1
  348. package/dist/src/version.js +1 -1
  349. package/dist/src/version.js.map +1 -1
  350. package/dist/tsconfig.tsbuildinfo +1 -1
  351. package/package.json +1 -1
  352. package/rollup.config.js +7 -1
  353. package/src/nile-accordion/nile-accordian.test.ts +102 -116
  354. package/src/nile-auto-complete/nile-auto-complete.css.ts +1 -1
  355. package/src/nile-auto-complete/nile-auto-complete.test.ts +102 -145
  356. package/src/nile-auto-complete/nile-auto-complete.ts +1 -1
  357. package/src/nile-avatar/nile-avatar.test.ts +102 -112
  358. package/src/nile-badge/nile-badge.test.ts +642 -30
  359. package/src/nile-breadcrumb/nile-breadcrumb.test.ts +107 -0
  360. package/src/nile-breadcrumb-item/nile-breadcrumb-item.test.ts +106 -0
  361. package/src/nile-button/nile-button.test.ts +593 -61
  362. package/src/nile-button-filter/nile-button-filter.test.ts +106 -0
  363. package/src/nile-button-toggle/nile-button-toggle.test.ts +106 -0
  364. package/src/nile-button-toggle-group/nile-button-toggle-group.test.ts +104 -126
  365. package/src/nile-calendar/nile-calendar.test.ts +102 -406
  366. package/src/nile-card/nile-card.test.ts +103 -71
  367. package/src/nile-checkbox/nile-checkbox.test.ts +614 -108
  368. package/src/nile-chip/nile-chip.test.ts +102 -136
  369. package/src/nile-circular-progressbar/nile-circular-progressbar.test.ts +106 -0
  370. package/src/nile-date-picker/nile-date-picker.test.ts +106 -0
  371. package/src/nile-dialog/nile-dialog.test.ts +102 -164
  372. package/src/nile-divider/nile-divider.test.ts +659 -0
  373. package/src/nile-drawer/nile-drawer.test.ts +105 -105
  374. package/src/nile-dropdown/nile-dropdown.test.ts +102 -190
  375. package/src/nile-empty-state/nile-empty-state.test.ts +104 -67
  376. package/src/nile-error-message/nile-error-message.test.ts +104 -67
  377. package/src/nile-error-notification/nile-error-notification.test.ts +106 -0
  378. package/src/nile-file-preview/nile-file-preview.css.ts +2 -2
  379. package/src/nile-file-preview/nile-file-preview.template.ts +59 -23
  380. package/src/nile-file-preview/nile-file-preview.test.ts +105 -37
  381. package/src/nile-file-preview/nile-file-preview.ts +23 -56
  382. package/src/nile-file-preview/utils/nile-file-preview.util.ts +37 -8
  383. package/src/nile-file-upload/nile-file-upload.css.ts +15 -5
  384. package/src/nile-file-upload/nile-file-upload.template.ts +22 -18
  385. package/src/nile-file-upload/nile-file-upload.test.ts +105 -37
  386. package/src/nile-file-upload/nile-file-upload.ts +11 -3
  387. package/src/nile-file-upload/types/file-upload.enums.ts +20 -4
  388. package/src/nile-file-upload/utils/drag-drop.util.ts +20 -11
  389. package/src/nile-file-upload/utils/file-validation.util.ts +104 -22
  390. package/src/nile-filter-chip/nile-filter-chip.test.ts +103 -89
  391. package/src/nile-form-error-message/nile-form-error-message.test.ts +106 -0
  392. package/src/nile-form-group/nile-form-group.test.ts +103 -60
  393. package/src/nile-form-help-text/nile-form-help-text.test.ts +102 -106
  394. package/src/nile-format-date/nile-format-date.test.ts +106 -0
  395. package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.ts +2 -0
  396. package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.ts +1 -1
  397. package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.ts +2 -1
  398. package/src/nile-grid/nile-grid-head/nile-grid-head.css.ts +6 -0
  399. package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.ts +2 -1
  400. package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.ts +7 -5
  401. package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.ts +30 -1
  402. package/src/nile-grid/nile-grid.css.ts +1 -0
  403. package/src/nile-grid/nile-grid.layout.ts +122 -133
  404. package/src/nile-grid/nile-grid.resize.ts +15 -9
  405. package/src/nile-grid/nile-grid.ts +102 -28
  406. package/src/nile-grid/nile-grid.utils.ts +45 -3
  407. package/src/nile-grid/nile-grid.width.ts +45 -14
  408. package/src/nile-grid/types/nile-grid.types.ts +7 -1
  409. package/src/nile-heading/nile-heading.test.ts +106 -0
  410. package/src/nile-hero/nile-hero.test.ts +103 -42
  411. package/src/nile-icon/nile-icon.test.ts +103 -50
  412. package/src/nile-icon-button/nile-icon-button.test.ts +667 -0
  413. package/src/nile-inline-edit/nile-inline-edit.test.ts +106 -0
  414. package/src/nile-input/nile-input.test.ts +105 -164
  415. package/src/nile-input/nile-input.ts +1 -1
  416. package/src/nile-link/nile-link.test.ts +104 -81
  417. package/src/nile-list/nile-list.test.ts +106 -0
  418. package/src/nile-list-item/nile-list-item.test.ts +106 -0
  419. package/src/nile-lite-tooltip/nile-lite-tooltip.test.ts +107 -0
  420. package/src/nile-loader/nile-loader.test.ts +103 -48
  421. package/src/nile-menu/nile-menu.test.ts +106 -0
  422. package/src/nile-menu-item/nile-menu-item.test.ts +106 -0
  423. package/src/nile-option/nile-option.test.ts +106 -0
  424. package/src/nile-option-group/nile-option-group.test.ts +106 -0
  425. package/src/nile-page-header/nile-page-header.test.ts +106 -0
  426. package/src/nile-pagination/nile-pagination.test.ts +106 -0
  427. package/src/nile-popover/nile-popover.test.ts +103 -83
  428. package/src/nile-popup/nile-popup.test.ts +102 -82
  429. package/src/nile-progress-bar/nile-progress-bar.test.ts +103 -52
  430. package/src/nile-radio/nile-radio.test.ts +103 -78
  431. package/src/nile-radio-group/nile-radio-group.test.ts +104 -213
  432. package/src/nile-section-message/nile-section-message.test.ts +106 -0
  433. package/src/nile-select/nile-select.test.ts +105 -308
  434. package/src/nile-skeleton-loader/nile-skeleton-loader.test.ts +106 -0
  435. package/src/nile-slide-toggle/nile-slide-toggle.test.ts +103 -58
  436. package/src/nile-slider/nile-slider.test.ts +106 -0
  437. package/src/nile-spinner/nile-spinner.test.ts +668 -0
  438. package/src/nile-split-panel/nile-split-panel.test.ts +106 -0
  439. package/src/nile-stepper/nile-stepper.test.ts +107 -0
  440. package/src/nile-stepper-item/nile-stepper-item.test.ts +106 -0
  441. package/src/nile-tab/nile-tab.test.ts +106 -0
  442. package/src/nile-tab-group/nile-tab-group.test.ts +104 -211
  443. package/src/nile-tab-panel/nile-tab-panel.test.ts +106 -0
  444. package/src/nile-tag/nile-tag.test.ts +675 -0
  445. package/src/nile-textarea/nile-textarea.test.ts +104 -100
  446. package/src/nile-title/nile-title.test.ts +106 -0
  447. package/src/nile-toast/nile-toast.test.ts +625 -0
  448. package/src/nile-toolbar/nile-toolbar.test.ts +106 -0
  449. package/src/nile-tooltip/nile-tooltip.test.ts +645 -0
  450. package/src/nile-virtual-select/nile-virtual-select.test.ts +104 -772
  451. package/vscode-html-custom-data.json +10 -5
  452. package/web-test-runner.config.mjs +4 -2
  453. package/dist/axe.min-2720cd56.esm.js +0 -1
  454. package/dist/axe.min-69d47269.cjs.js +0 -2
  455. package/dist/axe.min-69d47269.cjs.js.map +0 -1
  456. package/dist/css-tag-bb10c0fa.cjs.js +0 -6
  457. package/dist/css-tag-bb10c0fa.cjs.js.map +0 -1
  458. package/dist/css-tag-dc564feb.esm.js +0 -6
  459. package/dist/fixture-958445f8.cjs.js +0 -395
  460. package/dist/fixture-958445f8.cjs.js.map +0 -1
  461. package/dist/fixture-985bba12.esm.js +0 -569
  462. package/dist/nile-accordion/nile-accordian.test.cjs.js +0 -2
  463. package/dist/nile-accordion/nile-accordian.test.cjs.js.map +0 -1
  464. package/dist/nile-accordion/nile-accordian.test.esm.js +0 -1
  465. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +0 -2
  466. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js.map +0 -1
  467. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +0 -9
  468. package/dist/nile-avatar/nile-avatar.test.cjs.js +0 -2
  469. package/dist/nile-avatar/nile-avatar.test.cjs.js.map +0 -1
  470. package/dist/nile-avatar/nile-avatar.test.esm.js +0 -11
  471. package/dist/nile-badge/nile-badge.test.cjs.js +0 -2
  472. package/dist/nile-badge/nile-badge.test.cjs.js.map +0 -1
  473. package/dist/nile-badge/nile-badge.test.esm.js +0 -1
  474. package/dist/nile-button/nile-button.test.cjs.js +0 -2
  475. package/dist/nile-button/nile-button.test.cjs.js.map +0 -1
  476. package/dist/nile-button/nile-button.test.esm.js +0 -4
  477. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +0 -2
  478. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js.map +0 -1
  479. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +0 -49
  480. package/dist/nile-calendar/nile-calendar.test.cjs.js +0 -2
  481. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +0 -1
  482. package/dist/nile-calendar/nile-calendar.test.esm.js +0 -11
  483. package/dist/nile-card/nile-card.test.cjs.js +0 -2
  484. package/dist/nile-card/nile-card.test.cjs.js.map +0 -1
  485. package/dist/nile-card/nile-card.test.esm.js +0 -51
  486. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +0 -2
  487. package/dist/nile-checkbox/nile-checkbox.test.cjs.js.map +0 -1
  488. package/dist/nile-checkbox/nile-checkbox.test.esm.js +0 -17
  489. package/dist/nile-chip/nile-chip.test.cjs.js +0 -2
  490. package/dist/nile-chip/nile-chip.test.cjs.js.map +0 -1
  491. package/dist/nile-chip/nile-chip.test.esm.js +0 -1
  492. package/dist/nile-dialog/nile-dialog.test.cjs.js +0 -2
  493. package/dist/nile-dialog/nile-dialog.test.cjs.js.map +0 -1
  494. package/dist/nile-dialog/nile-dialog.test.esm.js +0 -7
  495. package/dist/nile-drawer/nile-drawer.test.cjs.js +0 -2
  496. package/dist/nile-drawer/nile-drawer.test.cjs.js.map +0 -1
  497. package/dist/nile-drawer/nile-drawer.test.esm.js +0 -17
  498. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +0 -2
  499. package/dist/nile-dropdown/nile-dropdown.test.cjs.js.map +0 -1
  500. package/dist/nile-dropdown/nile-dropdown.test.esm.js +0 -28
  501. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +0 -2
  502. package/dist/nile-empty-state/nile-empty-state.test.cjs.js.map +0 -1
  503. package/dist/nile-empty-state/nile-empty-state.test.esm.js +0 -9
  504. package/dist/nile-error-message/nile-error-message.test.cjs.js +0 -2
  505. package/dist/nile-error-message/nile-error-message.test.cjs.js.map +0 -1
  506. package/dist/nile-error-message/nile-error-message.test.esm.js +0 -1
  507. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +0 -2
  508. package/dist/nile-file-preview/nile-file-preview.test.cjs.js.map +0 -1
  509. package/dist/nile-file-preview/nile-file-preview.test.esm.js +0 -1
  510. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +0 -2
  511. package/dist/nile-file-upload/nile-file-upload.test.cjs.js.map +0 -1
  512. package/dist/nile-file-upload/nile-file-upload.test.esm.js +0 -1
  513. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +0 -2
  514. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js.map +0 -1
  515. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +0 -20
  516. package/dist/nile-form-group/nile-form-group.test.cjs.js +0 -2
  517. package/dist/nile-form-group/nile-form-group.test.cjs.js.map +0 -1
  518. package/dist/nile-form-group/nile-form-group.test.esm.js +0 -1
  519. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +0 -2
  520. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js.map +0 -1
  521. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +0 -1
  522. package/dist/nile-hero/nile-hero.test.cjs.js +0 -2
  523. package/dist/nile-hero/nile-hero.test.cjs.js.map +0 -1
  524. package/dist/nile-hero/nile-hero.test.esm.js +0 -14
  525. package/dist/nile-icon/nile-icon.test.cjs.js +0 -2
  526. package/dist/nile-icon/nile-icon.test.cjs.js.map +0 -1
  527. package/dist/nile-icon/nile-icon.test.esm.js +0 -1
  528. package/dist/nile-input/nile-input.test.cjs.js +0 -2
  529. package/dist/nile-input/nile-input.test.cjs.js.map +0 -1
  530. package/dist/nile-input/nile-input.test.esm.js +0 -17
  531. package/dist/nile-link/nile-link.test.cjs.js +0 -2
  532. package/dist/nile-link/nile-link.test.cjs.js.map +0 -1
  533. package/dist/nile-link/nile-link.test.esm.js +0 -1
  534. package/dist/nile-loader/nile-loader.test.cjs.js +0 -2
  535. package/dist/nile-loader/nile-loader.test.cjs.js.map +0 -1
  536. package/dist/nile-loader/nile-loader.test.esm.js +0 -1
  537. package/dist/nile-popover/nile-popover.test.cjs.js +0 -2
  538. package/dist/nile-popover/nile-popover.test.cjs.js.map +0 -1
  539. package/dist/nile-popover/nile-popover.test.esm.js +0 -21
  540. package/dist/nile-popup/nile-popup.test.cjs.js +0 -2
  541. package/dist/nile-popup/nile-popup.test.cjs.js.map +0 -1
  542. package/dist/nile-popup/nile-popup.test.esm.js +0 -1
  543. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +0 -2
  544. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js.map +0 -1
  545. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +0 -1
  546. package/dist/nile-radio/nile-radio.test.cjs.js +0 -2
  547. package/dist/nile-radio/nile-radio.test.cjs.js.map +0 -1
  548. package/dist/nile-radio/nile-radio.test.esm.js +0 -1
  549. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +0 -2
  550. package/dist/nile-radio-group/nile-radio-group.test.cjs.js.map +0 -1
  551. package/dist/nile-radio-group/nile-radio-group.test.esm.js +0 -57
  552. package/dist/nile-select/nile-select.test.cjs.js +0 -2
  553. package/dist/nile-select/nile-select.test.cjs.js.map +0 -1
  554. package/dist/nile-select/nile-select.test.esm.js +0 -55
  555. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +0 -2
  556. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js.map +0 -1
  557. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +0 -1
  558. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +0 -2
  559. package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +0 -1
  560. package/dist/nile-tab-group/nile-tab-group.test.esm.js +0 -65
  561. package/dist/nile-textarea/nile-textarea.test.cjs.js +0 -2
  562. package/dist/nile-textarea/nile-textarea.test.cjs.js.map +0 -1
  563. package/dist/nile-textarea/nile-textarea.test.esm.js +0 -1
  564. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +0 -2
  565. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js.map +0 -1
  566. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +0 -93
  567. package/dist/scopedElementsWrapper-31107e48.esm.js +0 -1
  568. package/dist/scopedElementsWrapper-9b188ea6.cjs.js +0 -2
  569. package/dist/scopedElementsWrapper-9b188ea6.cjs.js.map +0 -1
  570. package/dist/sinon-esm-68c8e378.esm.js +0 -1
  571. package/dist/sinon-esm-97570c13.cjs.js +0 -2
  572. package/dist/sinon-esm-97570c13.cjs.js.map +0 -1
@@ -9,9 +9,10 @@ import { html, CSSResultArray, TemplateResult } from 'lit';
9
9
  import { customElement, property, query, state } from 'lit/decorators.js';
10
10
  import { styles } from './nile-grid.css';
11
11
  import NileElement from '../internal/nile-element';
12
- import { rebuildTemplate, syncStickyShadows, layout } from './nile-grid.layout';
13
- import { listenToEventListeners, removeEventListeners, getHead, getBody } from './nile-grid.utils';
14
- import { computeNewWidth, resizeWithScroll, applyAfterResize, resizeNoScroll } from './nile-grid.resize';
12
+ import { syncStickyShadows, layout } from './nile-grid.layout';
13
+ import { listenToEventListeners, removeEventListeners, getHead, getBody, copyArrayValuesInPlace } from './nile-grid.utils';
14
+ import { computeNewWidth, resizeWithScroll, resizeNoScroll, updateResizeGuides } from './nile-grid.resize';
15
+ import { PrefixColumn } from './types/nile-grid.types';
15
16
 
16
17
  /**
17
18
  * Nile grid component.
@@ -29,9 +30,6 @@ export class NileGrid extends NileElement {
29
30
  return [styles];
30
31
  }
31
32
 
32
- /** To set the grid template columns in rebuildTemplate method */
33
- @state() public colTemplate = '';
34
-
35
33
  /** To store the column widths in the beginning and after resizing */
36
34
  @state() public columnWidths: number[] = [];
37
35
 
@@ -44,8 +42,14 @@ export class NileGrid extends NileElement {
44
42
  /** To get the last resize line to show the resize handle */
45
43
  @query('.nile-resize-end') resizeEnd: HTMLElement;
46
44
 
45
+ /** To get the last resize line to show the resize handle */
46
+ @query('.shadow-left') shadowLeft: HTMLElement;
47
+
48
+ /** To get the last resize line to show the resize handle */
49
+ @query('.shadow-right') shadowRight: HTMLElement;
50
+
47
51
  /** To enable horizontal scrolling when user is resizing */
48
- @property({ type: Boolean, attribute: true, reflect: true }) enableResizeScroll: boolean = false;
52
+ @property({ type: Boolean, attribute: true, reflect: true }) enableScroll: boolean = false;
49
53
 
50
54
  /** To enable hoverable rows */
51
55
  @property({ type: Boolean, attribute: true, reflect: true }) hoverable: boolean = false;
@@ -81,6 +85,63 @@ export class NileGrid extends NileElement {
81
85
  /** To check if the widths are initialized */
82
86
  @state() public lockedWidthColumns: boolean[] = [];
83
87
 
88
+ /** prefix columns width */
89
+ @state() public prefixSumColumnsWidth: PrefixColumn[] = [];
90
+
91
+ /** prefix columns width */
92
+ @state() public stickyColumns: number[] = [];
93
+
94
+ /** body rows */
95
+ @state() public bodyRows: HTMLElement[] = [];
96
+
97
+ /** head rows */
98
+ @state() public headRows: HTMLElement[] = [];
99
+
100
+ @state() public needsStructureLayout = false;
101
+
102
+ @state() public needsWidthLayout = false;
103
+
104
+ @state() public needsSpanLayout = false;
105
+
106
+ @state() public colCount = 0;
107
+
108
+ public shadowLeftVisibleSticky?: boolean;
109
+
110
+ public shadowRightVisibleSticky?: boolean;
111
+
112
+ public stickyLeftHeadEls: HTMLElement[] = [];
113
+
114
+ public stickyRightHeadEls: HTMLElement[] = [];
115
+
116
+ public stickyLeftBodyEls: HTMLElement[] = [];
117
+
118
+ public stickyRightBodyEls: HTMLElement[] = [];
119
+
120
+ private resizeTimer: any = 0;
121
+
122
+ /** To throttle sticky shadow updates */
123
+ private shadowRaf = 0;
124
+
125
+ public resizeBaseColumnWidths: number[] = [];
126
+
127
+ constructor() {
128
+ super();
129
+ }
130
+
131
+ connectedCallback(): void {
132
+ super.connectedCallback();
133
+ this.emit('nile-init');
134
+ }
135
+
136
+ private syncStickyShadowsRaf = () => {
137
+ if (this.shadowRaf) return;
138
+ this.shadowRaf = requestAnimationFrame(() => {
139
+ this.shadowRaf = 0;
140
+ syncStickyShadows(this);
141
+ });
142
+ };
143
+
144
+
84
145
  private scheduleLayout() {
85
146
  if (this.raf) cancelAnimationFrame(this.raf);
86
147
  this.raf = requestAnimationFrame(() => {
@@ -89,7 +150,6 @@ export class NileGrid extends NileElement {
89
150
  this,
90
151
  this.slotEl,
91
152
  this.ensureWidths.bind(this),
92
- rebuildTemplate,
93
153
  this.stickyLeftIndexes,
94
154
  this.stickyRightIndexes
95
155
  );
@@ -99,8 +159,8 @@ export class NileGrid extends NileElement {
99
159
 
100
160
  private ensureWidths(colCount: number) {
101
161
  if (this.columnWidths.length !== colCount) {
102
- this.columnWidths = Array(colCount).fill('');
103
- this.lockedWidthColumns = Array(colCount).fill(false);
162
+ this.columnWidths = Array(colCount).fill(0);
163
+ this.lockedWidthColumns = Array(colCount).fill(false);
104
164
  }
105
165
  }
106
166
 
@@ -114,6 +174,9 @@ export class NileGrid extends NileElement {
114
174
  col: number;
115
175
  widthPx: number;
116
176
  };
177
+ if (!this.resizeBaseColumnWidths) return;
178
+
179
+ copyArrayValuesInPlace(this.columnWidths, this.resizeBaseColumnWidths);
117
180
  const { prevW, newW, delta0 } = computeNewWidth({
118
181
  target: e.target as HTMLElement,
119
182
  col,
@@ -123,16 +186,16 @@ export class NileGrid extends NileElement {
123
186
  });
124
187
 
125
188
  if (delta0 === 0) {
126
- applyAfterResize(this, col);
189
+ updateResizeGuides(this, col);
127
190
  return;
128
191
  }
129
192
 
130
- if (!this.enableResizeScroll) {
193
+ if (!this.enableScroll) {
131
194
  resizeNoScroll({ grid: this, col, prevW, newW, floor: this.minColumnWidth });
132
195
  } else {
133
196
  resizeWithScroll({ grid: this, col, newW });
134
197
  }
135
- applyAfterResize(this, col);
198
+ updateResizeGuides(this, col);
136
199
  };
137
200
 
138
201
  protected firstUpdated() {
@@ -143,47 +206,57 @@ export class NileGrid extends NileElement {
143
206
  this.slotEl,
144
207
  this._attachObserverAndLayout.bind(this)
145
208
  );
146
- this.addEventListener('scroll', () => syncStickyShadows(this));
209
+ this.addEventListener('scroll', this.syncStickyShadowsRaf);
147
210
  this.resizeObserverStickyShadows = new ResizeObserver(() => syncStickyShadows(this));
148
211
  this.resizeObserverStickyShadows.observe(this);
149
- syncStickyShadows(this);
212
+ this.syncStickyShadowsRaf();
150
213
  }
151
214
 
152
215
  private _attachObserverAndLayout() {
153
216
  this.mo?.disconnect();
154
217
  this.mo = new MutationObserver(() => {
218
+ this.needsStructureLayout = true;
219
+ this.needsWidthLayout = true;
220
+ this.needsSpanLayout = true;
155
221
  this.scheduleLayout();
156
222
  });
157
223
  this.resizeObserver?.disconnect();
158
224
  this.resizeObserver = new ResizeObserver(() => {
159
- layout(
160
- this,
161
- this.slotEl,
162
- this.ensureWidths.bind(this),
163
- rebuildTemplate,
164
- this.stickyLeftIndexes,
165
- this.stickyRightIndexes
166
- );
225
+ if (this.resizeTimer) clearTimeout(this.resizeTimer);
226
+ this.resizeTimer = setTimeout(() => {
227
+ this.resizeTimer = 0;
228
+ this.needsWidthLayout = true;
229
+ this.scheduleLayout();
230
+ }, 16);
167
231
  });
168
232
 
169
233
  const head = getHead(this.slotEl);
170
234
  const body = getBody(this.slotEl);
235
+
171
236
  if (!head && !body) return;
172
-
173
- const target = body ?? this;
237
+ const target = head ?? this;
174
238
  this.mo.observe(target, {
175
- subtree: true,
176
239
  childList: true,
240
+ subtree: true,
177
241
  attributes: true,
178
- attributeFilter: ['colspan', 'rowspan'],
242
+ attributeFilter: ['colspan', 'rowspan', 'width', 'lockwidth', 'sticky']
179
243
  });
180
244
  this.resizeObserver?.observe(this);
245
+
246
+ if (!this.colCount || !this.columnWidths?.length) {
247
+ this.needsStructureLayout = true;
248
+ this.needsSpanLayout = true;
249
+ this.needsWidthLayout = true;
250
+ this.scheduleLayout();
251
+ }
181
252
  }
182
253
 
183
254
  public render(): TemplateResult {
184
255
  return html`
185
256
  <div part="grid-base" class="nile-grid-base">
186
- <slot part="grid-slot"></slot>
257
+ <div part="grid-slot-wrapper">
258
+ <slot part="grid-slot"></slot>
259
+ </div>
187
260
  <div part="resize-start" class="nile-resize-start"></div>
188
261
  <div part="resize-end" class="nile-resize-end"></div>
189
262
  </div>
@@ -191,6 +264,7 @@ export class NileGrid extends NileElement {
191
264
  }
192
265
 
193
266
  disconnectedCallback(): void {
267
+ this.emit('nile-destroy');
194
268
  super.disconnectedCallback?.();
195
269
  this.mo?.disconnect();
196
270
  this.resizeObserver?.disconnect();
@@ -1,4 +1,5 @@
1
1
  import { NileGrid } from './nile-grid';
2
+ import { applyAfterResize } from './nile-grid.resize'
2
3
 
3
4
  /** listenToEventListeners
4
5
  * @param nileGrid Grid element to attach listeners on
@@ -14,14 +15,20 @@ export const listenToEventListeners = (
14
15
  _attachObserverAndLayout: any
15
16
  ) => {
16
17
  nileGrid.addEventListener('nile-column-resize', onResize);
17
- nileGrid.addEventListener('nile-resize-start', () => {
18
+ nileGrid.addEventListener('nile-resize-start', (e) => {
19
+ e.stopPropagation();
20
+ nileGrid.resizeBaseColumnWidths = [...nileGrid.columnWidths];
18
21
  nileGrid.resizeStart.style.display = 'block';
19
22
  });
20
- nileGrid.addEventListener('nile-resize-end', () => {
23
+ nileGrid.addEventListener('nile-resize-end', (e: CustomEvent) => {
24
+ e.stopPropagation();
25
+ applyAfterResize(nileGrid, (e as CustomEvent).detail!.col);
26
+ nileGrid.resizeBaseColumnWidths = [];
21
27
  nileGrid.resizeStart.style.display = 'none';
22
28
  nileGrid.resizeEnd.style.display = 'none';
23
29
  });
24
30
  slotEl.addEventListener('slotchange', () => _attachObserverAndLayout());
31
+ nileGrid.addEventListener('scroll', () => scrollEventHandler(nileGrid));
25
32
  };
26
33
 
27
34
  /** removeEventListeners
@@ -46,6 +53,7 @@ export const removeEventListeners = (
46
53
  nileGrid.resizeEnd.style.display = 'none';
47
54
  });
48
55
  slotEl.removeEventListener('slotchange', () => _attachObserverAndLayout());
56
+ nileGrid.removeEventListener('scroll', () => scrollEventHandler(nileGrid));
49
57
  };
50
58
 
51
59
  /** getHead
@@ -72,4 +80,38 @@ export const getBody = (slotEl: any) => {
72
80
  (n: any) => n.tagName.toLowerCase() === 'nile-grid-body'
73
81
  ) as HTMLElement) || null
74
82
  );
75
- };
83
+ };
84
+
85
+ export const scrollEventHandler = (el: NileGrid) => {
86
+ const maxY = Math.max(1, el.scrollHeight - el.clientHeight);
87
+ const maxX = Math.max(1, el.scrollWidth - el.clientWidth);
88
+
89
+ const percentageY = Math.round((el.scrollTop / maxY) * 100);
90
+ const percentageX = Math.round((el.scrollLeft / maxX) * 100);
91
+
92
+ el.emit('nile-scroll', {
93
+ bubbles: true,
94
+ composed: true,
95
+ detail: {
96
+ horizontalScroll: percentageX,
97
+ verticalScroll: percentageY,
98
+ left: el.scrollLeft,
99
+ top: el.scrollTop
100
+ }
101
+ });
102
+ };
103
+
104
+ /** copyArrayValuesInPlace
105
+ * @param target Target array
106
+ * @param source Source array
107
+ * @returns void
108
+ */
109
+ export function copyArrayValuesInPlace(
110
+ target: number[],
111
+ source: number[]
112
+ ) {
113
+ const count = Math.min(target.length, source.length);
114
+ for (let i = 0; i < count; i++) {
115
+ target[i] = source[i];
116
+ }
117
+ }
@@ -1,6 +1,7 @@
1
1
  import { NileGrid } from './nile-grid';
2
2
  import { applyColumnsTemplate } from './nile-grid.layout';
3
3
  import { getHead } from './nile-grid.utils';
4
+ import { PrefixColumn } from './types/nile-grid.types';
4
5
 
5
6
  /** computeColumnWidths
6
7
  * @param nileGrid Grid instance (reads minColumnWidth, columnWidths)
@@ -14,22 +15,18 @@ export function computeColumnWidths(
14
15
  colCount: number,
15
16
  columnWidths: number[],
16
17
  slotEl: any,
17
- lockedWidthColumns: boolean[]
18
+ lockedWidthColumns: boolean[],
19
+ headerChanged: boolean
18
20
  ): void {
19
21
  const minCol = nileGrid.minColumnWidth;
20
22
  const containerWidth = getContainerWidth(nileGrid);
21
- const desired = readDesiredFromHead(
22
- slotEl,
23
- colCount,
24
- containerWidth,
25
- nileGrid,
26
- lockedWidthColumns,
27
- columnWidths
28
- );
23
+ const desired = readDesiredFromHead(slotEl, colCount, containerWidth, nileGrid, lockedWidthColumns, headerChanged, columnWidths);
29
24
  const isSeeded = seedWidthsFromDesired(desired, columnWidths, minCol);
30
25
 
31
26
  distributeFlex(columnWidths, isSeeded, containerWidth, minCol);
32
- normalizeToContainer(columnWidths, containerWidth, minCol);
27
+ if(!nileGrid.enableScroll) {
28
+ normalizeToContainer(columnWidths, containerWidth, minCol);
29
+ }
33
30
  clampAndRound(columnWidths, minCol);
34
31
  applyColumnsTemplate(nileGrid, columnWidths);
35
32
  }
@@ -55,12 +52,18 @@ function readDesiredFromHead(
55
52
  containerWidth: number,
56
53
  nileGrid: NileGrid,
57
54
  lockedWidthColumns: boolean[],
55
+ headerChanged: boolean,
58
56
  prevWidths?: number[]
59
57
  ): (number | null)[] {
60
58
  const desired = Array(colCount).fill(null);
61
- const head = getHead(slotEl) as HTMLElement | null;
62
- if (head) fillDesiredFromHeadRows(head, desired, colCount, containerWidth, lockedWidthColumns);
63
- if (prevWidths?.length === colCount) fillFromPrevWidths(desired, prevWidths, nileGrid);
59
+ if (headerChanged) {
60
+ const head = getHead(slotEl) as HTMLElement | null;
61
+ if (head) fillDesiredFromHeadRows(head, desired, colCount, containerWidth, lockedWidthColumns);
62
+ }
63
+ const hasPrevWidths = !!prevWidths?.length && prevWidths.some(w => w > 0);
64
+ if (hasPrevWidths && prevWidths?.length === colCount) {
65
+ fillFromPrevWidths(desired, prevWidths, nileGrid);
66
+ }
64
67
  return desired;
65
68
  }
66
69
 
@@ -408,4 +411,32 @@ export function giveToRight(widths: number[], start: number, giveInit: number) {
408
411
  give = 0;
409
412
  }
410
413
  return give;
411
- }
414
+ }
415
+
416
+
417
+ export function addVariablesValue(nileGrid: NileGrid) {
418
+ const columnWidths = nileGrid.columnWidths;
419
+ const leftStickyColumns = nileGrid.stickyLeftIndexes;
420
+ const rightStickyColumns = nileGrid.stickyRightIndexes;
421
+ const prefixColumns: PrefixColumn[] = [];
422
+ const root = nileGrid as HTMLElement;
423
+
424
+ // --- LEFT STICKY ---
425
+ let totalLeft = 0;
426
+ for (let i = 0; i < leftStickyColumns.length; i++) {
427
+ const colIndex = leftStickyColumns[i];
428
+ prefixColumns.push({ colNumber: colIndex, left: totalLeft, right: 0 });
429
+ root.style.setProperty(`--sticky-left-${colIndex}`, `${totalLeft}px`);
430
+ totalLeft += columnWidths[colIndex];
431
+ }
432
+
433
+ // --- RIGHT STICKY ---
434
+ let totalRight = 0;
435
+ for (let i = rightStickyColumns.length - 1; i >= 0; i--) {
436
+ const colIndex = rightStickyColumns[i];
437
+ prefixColumns.push({ colNumber: colIndex, left: 0, right: totalRight });
438
+ root.style.setProperty(`--sticky-right-${colIndex}`, `${totalRight}px`);
439
+ totalRight += columnWidths[colIndex];
440
+ }
441
+ nileGrid.prefixSumColumnsWidth = prefixColumns;
442
+ }
@@ -1 +1,7 @@
1
- export type HeadItemEl = HTMLElement & { width?: number | null };
1
+ export type HeadItemEl = HTMLElement & { width?: number | null };
2
+
3
+ export type PrefixColumn = {
4
+ colNumber: number;
5
+ left: number;
6
+ right: number;
7
+ };
@@ -0,0 +1,106 @@
1
+ import { expect, fixture, html } from '@open-wc/testing';
2
+ import './index';
3
+ import type { NileHeading } from './index';
4
+
5
+ describe('NileHeading', () => {
6
+ it('1. renders', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el).to.exist; });
7
+ it('2. shadow root', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot).to.not.be.null; });
8
+ it('3. tag name', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.tagName.toLowerCase()).to.equal('nile-heading'); });
9
+ it('4. name defaults empty', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.name).to.equal(''); });
10
+ it('5. size defaults header-1', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.size).to.equal('header-1'); });
11
+ it('6. slot', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('slot')).to.exist; });
12
+ it('7. slotted content', async () => { const el = await fixture<NileHeading>(html`<nile-heading>Hello World</nile-heading>`); expect(el.textContent).to.contain('Hello World'); });
13
+ it('8. size reflected', async () => { const el = await fixture<NileHeading>(html`<nile-heading size="header-2"></nile-heading>`); expect(el.getAttribute('size')).to.equal('header-2'); });
14
+ it('9. dynamic name', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.name = 'Test'; await el.updateComplete; expect(el.name).to.equal('Test'); });
15
+ it('10. dynamic size', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.size = 'header-2'; await el.updateComplete; expect(el.getAttribute('size')).to.equal('header-2'); });
16
+ it('11. has styles', async () => { expect((await import('./index')).NileHeading.styles).to.exist; });
17
+ it('12. is defined', async () => { expect(customElements.get('nile-heading')).to.exist; });
18
+ it('13. shadow mode', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.mode).to.equal('open'); });
19
+ it('14. isConnected', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.isConnected).to.be.true; });
20
+ it('15. removal', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.remove(); expect(el.isConnected).to.be.false; });
21
+ it('16. outerHTML', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.outerHTML).to.contain('nile-heading'); });
22
+ it('17. matches', async () => { const el = await fixture<NileHeading>(html`<nile-heading class="x"></nile-heading>`); expect(el.matches('nile-heading.x')).to.be.true; });
23
+ it('18. closest', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.closest('nile-heading')).to.equal(el); });
24
+ it('19. cloneNode', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect((el.cloneNode(true) as Element).tagName.toLowerCase()).to.equal('nile-heading'); });
25
+ it('20. dispatchEvent', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); let f = false; el.addEventListener('c', () => (f = true)); el.dispatchEvent(new Event('c')); expect(f).to.be.true; });
26
+ it('21. updateComplete', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); const r = await el.updateComplete; expect(r).to.not.be.undefined; });
27
+ it('22. requestUpdate', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.requestUpdate(); await el.updateComplete; expect(el.shadowRoot).to.not.be.null; });
28
+ it('23. render method', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.render).to.be.a('function'); });
29
+ it('24. shadowRoot host', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.host).to.equal(el); });
30
+ it('25. class attr', async () => { const el = await fixture<NileHeading>(html`<nile-heading class="h"></nile-heading>`); expect(el.classList.contains('h')).to.be.true; });
31
+ it('26. id attr', async () => { const el = await fixture<NileHeading>(html`<nile-heading id="h1"></nile-heading>`); expect(el.id).to.equal('h1'); });
32
+ it('27. style attr', async () => { const el = await fixture<NileHeading>(html`<nile-heading style="color:red"></nile-heading>`); expect(el.style.color).to.equal('red'); });
33
+ it('28. data attr', async () => { const el = await fixture<NileHeading>(html`<nile-heading data-x="1"></nile-heading>`); expect(el.getAttribute('data-x')).to.equal('1'); });
34
+ it('29. hidden', async () => { const el = await fixture<NileHeading>(html`<nile-heading hidden></nile-heading>`); expect(el.hidden).to.be.true; });
35
+ it('30. dir', async () => { const el = await fixture<NileHeading>(html`<nile-heading dir="rtl"></nile-heading>`); expect(el.dir).to.equal('rtl'); });
36
+ it('31. nodeType', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.nodeType).to.equal(1); });
37
+ it('32. multiple instances', async () => { const c = await fixture(html`<div><nile-heading></nile-heading><nile-heading></nile-heading></div>`); expect(c.querySelectorAll('nile-heading').length).to.equal(2); });
38
+ it('33. parent-child', async () => { const c = await fixture(html`<div><nile-heading></nile-heading></div>`); expect(c.querySelector('nile-heading')!.parentElement).to.equal(c); });
39
+ it('34. localName', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.localName).to.equal('nile-heading'); });
40
+ it('35. namespaceURI', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.namespaceURI).to.equal('http://www.w3.org/1999/xhtml'); });
41
+ it('36. ownerDocument', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.ownerDocument).to.equal(document); });
42
+ it('37. classList add', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.classList.add('z'); expect(el.classList.contains('z')).to.be.true; });
43
+ it('38. dataset', async () => { const el = await fixture<NileHeading>(html`<nile-heading data-idx="0"></nile-heading>`); expect(el.dataset.idx).to.equal('0'); });
44
+ it('39. getBoundingClientRect', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.getBoundingClientRect()).to.exist; });
45
+ it('40. name type', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(typeof el.name).to.equal('string'); });
46
+ it('41. size type', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(typeof el.size).to.equal('string'); });
47
+ it('42. no inputs', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelectorAll('input').length).to.equal(0); });
48
+ it('43. no buttons', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelectorAll('button').length).to.equal(0); });
49
+ it('44. slot count', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelectorAll('slot').length).to.equal(1); });
50
+ it('45. aria-label', async () => { const el = await fixture<NileHeading>(html`<nile-heading aria-label="Title"></nile-heading>`); expect(el.getAttribute('aria-label')).to.equal('Title'); });
51
+ it('46. role', async () => { const el = await fixture<NileHeading>(html`<nile-heading role="heading"></nile-heading>`); expect(el.getAttribute('role')).to.equal('heading'); });
52
+ it('47. createElement', async () => { const el = document.createElement('nile-heading') as NileHeading; document.body.appendChild(el); await el.updateComplete; expect(el.shadowRoot).to.not.be.null; document.body.removeChild(el); });
53
+ it('48. lang attr', async () => { const el = await fixture<NileHeading>(html`<nile-heading lang="en"></nile-heading>`); expect(el.lang).to.equal('en'); });
54
+ it('49. tabindex', async () => { const el = await fixture<NileHeading>(html`<nile-heading tabindex="0"></nile-heading>`); expect(el.getAttribute('tabindex')).to.equal('0'); });
55
+ it('50. children survived update', async () => { const el = await fixture<NileHeading>(html`<nile-heading><span id="s1">Title</span></nile-heading>`); el.name = 'N'; await el.updateComplete; expect(el.querySelector('#s1')).to.exist; });
56
+ it('51. nested elements', async () => { const el = await fixture<NileHeading>(html`<nile-heading><strong>Bold</strong></nile-heading>`); expect(el.querySelector('strong')).to.exist; });
57
+ it('52. childElementCount', async () => { const el = await fixture<NileHeading>(html`<nile-heading><span>A</span></nile-heading>`); expect(el.childElementCount).to.equal(1); });
58
+ it('53. firstElementChild', async () => { const el = await fixture<NileHeading>(html`<nile-heading><span>A</span></nile-heading>`); expect(el.firstElementChild!.tagName.toLowerCase()).to.equal('span'); });
59
+ it('54. text content', async () => { const el = await fixture<NileHeading>(html`<nile-heading>Test</nile-heading>`); expect(el.textContent).to.contain('Test'); });
60
+ it('55. no children default', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.childElementCount).to.equal(0); });
61
+ it('56. no form', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('form')).to.be.null; });
62
+ it('57. no anchor', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('a')).to.be.null; });
63
+ it('58. no img', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('img')).to.be.null; });
64
+ it('59. no svg', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('svg')).to.be.null; });
65
+ it('60. shadow childNodes', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.childNodes.length).to.be.greaterThan(0); });
66
+ it('61. scrollIntoView', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.scrollIntoView).to.be.a('function'); });
67
+ it('62. focus method', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.focus).to.be.a('function'); });
68
+ it('63. blur method', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.blur).to.be.a('function'); });
69
+ it('64. dispatchCustomEvent', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); 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'); });
70
+ it('65. class toggle', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.classList.toggle('active'); expect(el.classList.contains('active')).to.be.true; });
71
+ it('66. toggle hidden', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.hidden = true; expect(el.hidden).to.be.true; });
72
+ it('67. innerHTML', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.innerHTML = '<p>New</p>'; expect(el.querySelector('p')!.textContent).to.equal('New'); });
73
+ it('68. setAttribute size', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.setAttribute('size', 'header-3'); await el.updateComplete; expect(el.size).to.equal('header-3'); });
74
+ it('69. removeAttribute size', async () => { const el = await fixture<NileHeading>(html`<nile-heading size="header-2"></nile-heading>`); el.removeAttribute('size'); await el.updateComplete; expect(el.getAttribute('size')).to.be.null; });
75
+ it('70. hasAttribute size', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.hasAttribute('size')).to.be.true; });
76
+ it('71. rapid size changes', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.size = 'header-2'; await el.updateComplete; el.size = 'header-3'; await el.updateComplete; expect(el.size).to.equal('header-3'); });
77
+ it('72. no video', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('video')).to.be.null; });
78
+ it('73. no audio', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('audio')).to.be.null; });
79
+ it('74. no canvas', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('canvas')).to.be.null; });
80
+ it('75. no table', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('table')).to.be.null; });
81
+ it('76. no ul', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('ul')).to.be.null; });
82
+ it('77. re-renders', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.name = 'A'; await el.updateComplete; el.name = 'B'; await el.updateComplete; expect(el.name).to.equal('B'); });
83
+ it('78. nested in div', async () => { const c = await fixture(html`<div><nile-heading>Title</nile-heading></div>`); expect(c.querySelector('nile-heading')).to.exist; });
84
+ it('79. contains check', async () => { const el = await fixture<NileHeading>(html`<nile-heading><span id="s1">T</span></nile-heading>`); expect(el.contains(el.querySelector('#s1'))).to.be.true; });
85
+ it('80. children array', async () => { const el = await fixture<NileHeading>(html`<nile-heading><span>A</span><span>B</span></nile-heading>`); expect(el.children.length).to.equal(2); });
86
+ it('81. lastElementChild', async () => { const el = await fixture<NileHeading>(html`<nile-heading><span>A</span><div>B</div></nile-heading>`); expect(el.lastElementChild!.tagName.toLowerCase()).to.equal('div'); });
87
+ it('82. append child', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); const s = document.createElement('span'); el.appendChild(s); expect(el.querySelector('span')).to.exist; });
88
+ it('83. remove child', async () => { const el = await fixture<NileHeading>(html`<nile-heading><span id="s1">T</span></nile-heading>`); el.removeChild(el.querySelector('#s1')!); expect(el.querySelector('#s1')).to.be.null; });
89
+ it('84. replaceChildren', async () => { const el = await fixture<NileHeading>(html`<nile-heading><span>Old</span></nile-heading>`); const p = document.createElement('p'); el.replaceChildren(p); expect(el.querySelector('p')).to.exist; expect(el.querySelector('span')).to.be.null; });
90
+ it('85. textContent empty default', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.textContent!.trim()).to.equal(''); });
91
+ it('86. no nav', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('nav')).to.be.null; });
92
+ it('87. no aside', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('aside')).to.be.null; });
93
+ it('88. no select', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('select')).to.be.null; });
94
+ it('89. no textarea', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('textarea')).to.be.null; });
95
+ it('90. aria-level', async () => { const el = await fixture<NileHeading>(html`<nile-heading aria-level="1"></nile-heading>`); expect(el.getAttribute('aria-level')).to.equal('1'); });
96
+ it('91. aria-describedby', async () => { const el = await fixture<NileHeading>(html`<nile-heading aria-describedby="d"></nile-heading>`); expect(el.getAttribute('aria-describedby')).to.equal('d'); });
97
+ it('92. title attr', async () => { const el = await fixture<NileHeading>(html`<nile-heading title="T"></nile-heading>`); expect(el.title).to.equal('T'); });
98
+ it('93. insertBefore', async () => { const el = await fixture<NileHeading>(html`<nile-heading><span id="s1">B</span></nile-heading>`); const p = document.createElement('p'); el.insertBefore(p, el.querySelector('#s1')!); expect(el.firstElementChild!.tagName.toLowerCase()).to.equal('p'); });
99
+ it('94. no pre', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('pre')).to.be.null; });
100
+ it('95. no code', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('code')).to.be.null; });
101
+ it('96. no h1 in shadow', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('h1')).to.be.null; });
102
+ it('97. no div in shadow', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('div')).to.be.null; });
103
+ it('98. only slot in shadow', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); const all = el.shadowRoot!.querySelectorAll('*'); const tagNames = Array.from(all).map(e => e.tagName.toLowerCase()); expect(tagNames).to.include('slot'); });
104
+ it('99. multiple re-renders', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); for (let i = 0; i < 5; i++) { el.requestUpdate(); await el.updateComplete; } expect(el.shadowRoot).to.not.be.null; });
105
+ it('100. full integration', async () => { const el = await fixture<NileHeading>(html`<nile-heading size="header-1" name="Title" class="h" id="h1" role="heading" aria-label="Main heading">Main Title</nile-heading>`); expect(el.name).to.equal('Title'); expect(el.size).to.equal('header-1'); expect(el.id).to.equal('h1'); expect(el.textContent).to.contain('Main Title'); expect(el.shadowRoot!.querySelector('slot')).to.exist; });
106
+ });