@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
@@ -1 +1 @@
1
- {"version":3,"file":"nile-grid-head-item.js","sourceRoot":"","sources":["../../../../src/nile-grid/nile-grid-head-item/nile-grid-head-item.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, CSSResultArray, TemplateResult, PropertyValues } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-grid-head-item.css';\nimport NileElement from '../../internal/nile-element';\nimport {\n initHeadResize,\n headResizeMove,\n headResizeDone,\n} from './nile-grid-head-item.utils';\nimport { NileGrid } from '../nile-grid';\n\n/**\n * Nile grid-head-item component.\n *\n * @tag nile-grid-head-item\n *\n */\n@customElement('nile-grid-head-item')\nexport class NileGridHeadItem extends NileElement {\n /**\n * The styles for nile-grid-head-item\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n @property({ type: Number, reflect: true, attribute: true }) colspan = 1;\n @property({ type: Number, reflect: true, attribute: true }) rowspan = 1;\n @property({ type: Boolean, reflect: true, attribute: true }) resizable = false;\n @property({ type: String, reflect: true, attribute: true }) width: string | null = null;\n @property({ type: String, reflect: true, attribute: true }) sticky: string | null = null;\n @property({ type: Boolean, reflect: true, attribute: true }) lockWidth: boolean = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role','row');\n }\n\n private onHandlePointerDown = (ev: PointerEvent) => {\n const el = this as HTMLElement;\n const nileGrid = this.closest('nile-grid') as NileGrid;\n const downXRef = { value: 0 };\n const startWRef = { value: 0 };\n\n const result = initHeadResize(el, ev, downXRef, startWRef);\n if (!result) return;\n\n const { target, col } = result;\n const move = (e: PointerEvent) => headResizeMove(el, col, startWRef.value, downXRef.value, e, nileGrid);\n const done = () => headResizeDone(el, ev, target, move);\n\n target.addEventListener('pointermove', move);\n target.addEventListener('pointerup', done, { once: true });\n target.addEventListener('pointercancel', done, { once: true });\n };\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeAttribute('role');\n }\n\n public render(): TemplateResult {\n return html`\n <div part=\"grid-head-item-base\" class=\"head-item-base\">\n <slot></slot>\n ${this.resizable\n ? html`\n <div\n aria-hidden=\"false\"\n class=\"resize-handle\"\n part=\"resize-handle\"\n @pointerdown=${this.onHandlePointerDown}\n ></div>\n `\n : null}\n </div>\n `;\n }\n\n /* #endregion */\n}\n\nexport default NileGridHeadItem;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-grid-head-item': NileGridHeadItem;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-grid-head-item.js","sourceRoot":"","sources":["../../../../src/nile-grid/nile-grid-head-item/nile-grid-head-item.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, CSSResultArray, TemplateResult, PropertyValues } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-grid-head-item.css';\nimport NileElement from '../../internal/nile-element';\nimport {\n initHeadResize,\n headResizeMove,\n headResizeDone,\n addListeners,\n removeListeners,\n} from './nile-grid-head-item.utils';\nimport { NileGrid } from '../nile-grid';\n\n/**\n * Nile grid-head-item component.\n *\n * @tag nile-grid-head-item\n *\n */\n@customElement('nile-grid-head-item')\nexport class NileGridHeadItem extends NileElement {\n /**\n * The styles for nile-grid-head-item\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n @property({ type: Number, reflect: true, attribute: true }) colspan = 1;\n @property({ type: Number, reflect: true, attribute: true }) rowspan = 1;\n @property({ type: Boolean, reflect: true, attribute: true }) resizable = false;\n @property({ type: String, reflect: true, attribute: true }) width: string | null = null;\n @property({ type: String, reflect: true, attribute: true }) sticky: string | null = null;\n @property({ type: Boolean, reflect: true, attribute: true }) lockWidth: boolean = false;\n\n connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role','row');\n }\n\n private onHandlePointerDown = (ev: PointerEvent) => {\n const el = this as HTMLElement;\n const nileGrid = this.closest('nile-grid') as NileGrid;\n const downXRef = { value: 0 };\n const startWRef = { value: 0 };\n\n const result = initHeadResize(el, ev, downXRef, startWRef);\n if (!result) return;\n\n const { target, col } = result;\n const move = (e: PointerEvent) => headResizeMove(el, col, startWRef.value, downXRef.value, e, nileGrid);\n const done = (e: PointerEvent) => {\n headResizeDone(el, col, e, target, move);\n removeListeners(target, move, done);\n }\n addListeners(target, move, done);\n };\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeAttribute('role');\n }\n\n public render(): TemplateResult {\n return html`\n <div part=\"grid-head-item-base\" class=\"head-item-base\">\n <slot></slot>\n ${this.resizable\n ? html`\n <div\n aria-hidden=\"false\"\n class=\"resize-handle\"\n part=\"resize-handle\"\n @pointerdown=${this.onHandlePointerDown}\n ></div>\n `\n : null}\n </div>\n `;\n }\n\n /* #endregion */\n}\n\nexport default NileGridHeadItem;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-grid-head-item': NileGridHeadItem;\n }\n}\n"]}
@@ -31,4 +31,18 @@ export declare function headResizeMove(el: HTMLElement, col: number, startW: num
31
31
  * @param move Pointer move handler
32
32
  * @returns void
33
33
  */
34
- export declare function headResizeDone(el: HTMLElement, ev: PointerEvent, target: HTMLElement, move: (e: PointerEvent) => void): void;
34
+ export declare function headResizeDone(el: HTMLElement, col: number, ev: PointerEvent, target: HTMLElement, move: (e: PointerEvent) => void): void;
35
+ /** addListeners
36
+ * @param target Target element
37
+ * @param move Pointer move handler
38
+ * @param done Pointer up handler
39
+ * @returns void
40
+ */
41
+ export declare function addListeners(target: HTMLElement, move: (e: PointerEvent) => void, done: (e: PointerEvent) => void): void;
42
+ /** removeListeners
43
+ * @param target Target element
44
+ * @param move Pointer move handler
45
+ * @param done Pointer up handler
46
+ * @returns void
47
+ */
48
+ export declare function removeListeners(target: HTMLElement, move: (e: PointerEvent) => void, done: (e: PointerEvent) => void): void;
@@ -49,9 +49,33 @@ export function headResizeMove(el, col, startW, downX, e, nileGrid) {
49
49
  * @param move Pointer move handler
50
50
  * @returns void
51
51
  */
52
- export function headResizeDone(el, ev, target, move) {
52
+ export function headResizeDone(el, col, ev, target, move) {
53
53
  target.releasePointerCapture(ev.pointerId);
54
54
  target.removeEventListener('pointermove', move);
55
- el.dispatchEvent(new CustomEvent('nile-resize-end', { bubbles: true, composed: true }));
55
+ el.dispatchEvent(new CustomEvent('nile-resize-end', { bubbles: true, composed: true, detail: { col: col } }));
56
+ }
57
+ /** addListeners
58
+ * @param target Target element
59
+ * @param move Pointer move handler
60
+ * @param done Pointer up handler
61
+ * @returns void
62
+ */
63
+ export function addListeners(target, move, done) {
64
+ target.addEventListener('pointermove', move);
65
+ target.addEventListener('pointerup', done);
66
+ target.addEventListener('pointercancel', done);
67
+ window.addEventListener('pointerup', done, { once: true });
68
+ }
69
+ /** removeListeners
70
+ * @param target Target element
71
+ * @param move Pointer move handler
72
+ * @param done Pointer up handler
73
+ * @returns void
74
+ */
75
+ export function removeListeners(target, move, done) {
76
+ target.removeEventListener('pointermove', move);
77
+ target.removeEventListener('pointerup', done);
78
+ target.removeEventListener('pointercancel', done);
79
+ window.removeEventListener('pointerup', done);
56
80
  }
57
81
  //# sourceMappingURL=nile-grid-head-item.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-grid-head-item.utils.js","sourceRoot":"","sources":["../../../../src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,EAAe,EACf,EAAgB,EAChB,QAA2B,EAC3B,SAA4B;IAE5B,EAAE,CAAC,cAAc,EAAE,CAAC;IACpB,EAAE,CAAC,eAAe,EAAE,CAAC;IAErB,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAE/C,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC;IAC5B,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;IAEnD,MAAM,MAAM,GAAG,EAAE,CAAC,aAA4B,CAAC;IAC/C,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAEvC,EAAE,CAAC,aAAa,CACd,IAAI,WAAW,CAAC,oBAAoB,EAAE;QACpC,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE;QACzC,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;KACf,CAAC,CACH,CAAC;IAEF,EAAE,CAAC,aAAa,CACd,IAAI,WAAW,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CACxE,CAAC;IAEF,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACzB,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAC5B,EAAe,EACf,GAAW,EACX,MAAc,EACd,KAAa,EACb,CAAe,EACf,QAAkB;IAElB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5F,EAAE,CAAC,aAAa,CACd,IAAI,WAAW,CAAC,oBAAoB,EAAE;QACpC,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE;QACxB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,IAAI;KACf,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAC5B,EAAe,EACf,EAAgB,EAChB,MAAmB,EACnB,IAA+B;IAE/B,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAEhD,EAAE,CAAC,aAAa,CACd,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CACtE,CAAC;AACJ,CAAC","sourcesContent":["import { NileGrid } from \"../nile-grid\";\n\n/** initHeadResize\n * @param el Target element\n * @param ev Pointer event\n * @param downXRef Reference to store downX value\n * @param startWRef Reference to store startW value\n * @returns Object containing target element and column index\n */\nexport function initHeadResize(\n el: HTMLElement,\n ev: PointerEvent,\n downXRef: { value: number },\n startWRef: { value: number }\n) {\n ev.preventDefault();\n ev.stopPropagation();\n\n const cStart = Number(el.dataset.cStart);\n if (!cStart) return null;\n\n const span = Number(el.getAttribute('colspan')) || 1;\n const col = Math.max(0, cStart + span - 1 - 1);\n\n downXRef.value = ev.clientX;\n startWRef.value = el.getBoundingClientRect().width;\n\n const target = ev.currentTarget as HTMLElement;\n target.setPointerCapture(ev.pointerId);\n\n el.dispatchEvent(\n new CustomEvent('nile-column-resize', {\n detail: { col, widthPx: startWRef.value },\n bubbles: true,\n composed: true,\n })\n );\n\n el.dispatchEvent(\n new CustomEvent('nile-resize-start', { bubbles: true, composed: true })\n );\n\n return { target, col };\n}\n\n/** headResizeMove\n * @param el Target element\n * @param col Column index\n * @param startW Starting width\n * @param downX Down X coordinate\n * @param e Pointer event\n * @param nileGrid NileGrid instance\n * @returns void\n */\nexport function headResizeMove(\n el: HTMLElement,\n col: number,\n startW: number,\n downX: number,\n e: PointerEvent,\n nileGrid: NileGrid\n) {\n const widthPx = Math.max(nileGrid.minColumnWidth, Math.round(startW + (e.clientX - downX)));\n el.dispatchEvent(\n new CustomEvent('nile-column-resize', {\n detail: { col, widthPx },\n bubbles: true,\n composed: true,\n })\n );\n}\n\n/** headResizeDone\n * @param el Target element\n * @param ev Pointer event\n * @param target Target element\n * @param move Pointer move handler\n * @returns void\n */\nexport function headResizeDone(\n el: HTMLElement,\n ev: PointerEvent,\n target: HTMLElement,\n move: (e: PointerEvent) => void\n) {\n target.releasePointerCapture(ev.pointerId);\n target.removeEventListener('pointermove', move);\n\n el.dispatchEvent(\n new CustomEvent('nile-resize-end', { bubbles: true, composed: true })\n );\n}\n"]}
1
+ {"version":3,"file":"nile-grid-head-item.utils.js","sourceRoot":"","sources":["../../../../src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { NileGrid } from \"../nile-grid\";\n\n/** initHeadResize\n * @param el Target element\n * @param ev Pointer event\n * @param downXRef Reference to store downX value\n * @param startWRef Reference to store startW value\n * @returns Object containing target element and column index\n */\nexport function initHeadResize(\n el: HTMLElement,\n ev: PointerEvent,\n downXRef: { value: number },\n startWRef: { value: number }\n) {\n ev.preventDefault();\n ev.stopPropagation();\n\n const cStart = Number(el.dataset.cStart);\n if (!cStart) return null;\n\n const span = Number(el.getAttribute('colspan')) || 1;\n const col = Math.max(0, cStart + span - 1 - 1);\n\n downXRef.value = ev.clientX;\n startWRef.value = el.getBoundingClientRect().width;\n\n const target = ev.currentTarget as HTMLElement;\n target.setPointerCapture(ev.pointerId);\n\n el.dispatchEvent(\n new CustomEvent('nile-column-resize', {\n detail: { col, widthPx: startWRef.value },\n bubbles: true,\n composed: true,\n })\n );\n\n el.dispatchEvent(\n new CustomEvent('nile-resize-start', { bubbles: true, composed: true })\n );\n\n return { target, col };\n}\n\n/** headResizeMove\n * @param el Target element\n * @param col Column index\n * @param startW Starting width\n * @param downX Down X coordinate\n * @param e Pointer event\n * @param nileGrid NileGrid instance\n * @returns void\n */\nexport function headResizeMove(\n el: HTMLElement,\n col: number,\n startW: number,\n downX: number,\n e: PointerEvent,\n nileGrid: NileGrid\n) {\n const widthPx = Math.max(nileGrid.minColumnWidth, Math.round(startW + (e.clientX - downX)));\n el.dispatchEvent(\n new CustomEvent('nile-column-resize', {\n detail: { col, widthPx },\n bubbles: true,\n composed: true,\n })\n );\n}\n\n/** headResizeDone\n * @param el Target element\n * @param ev Pointer event\n * @param target Target element\n * @param move Pointer move handler\n * @returns void\n */\nexport function headResizeDone(\n el: HTMLElement,\n col: number,\n ev: PointerEvent,\n target: HTMLElement,\n move: (e: PointerEvent) => void\n) {\n target.releasePointerCapture(ev.pointerId);\n target.removeEventListener('pointermove', move);\n\n el.dispatchEvent(\n new CustomEvent('nile-resize-end', { bubbles: true, composed: true, detail: { col: col } })\n );\n}\n\n/** addListeners\n * @param target Target element\n * @param move Pointer move handler\n * @param done Pointer up handler\n * @returns void\n */\nexport function addListeners(target: HTMLElement, move: (e: PointerEvent) => void, done: (e: PointerEvent) => void) {\n target.addEventListener('pointermove', move);\n target.addEventListener('pointerup', done);\n target.addEventListener('pointercancel', done);\n\n window.addEventListener('pointerup', done, { once: true });\n}\n\n/** removeListeners\n * @param target Target element\n * @param move Pointer move handler\n * @param done Pointer up handler\n * @returns void\n */\nexport function removeListeners(target: HTMLElement, move: (e: PointerEvent) => void, done: (e: PointerEvent) => void) {\n target.removeEventListener('pointermove', move);\n target.removeEventListener('pointerup', done);\n target.removeEventListener('pointercancel', done);\n\n window.removeEventListener('pointerup', done);\n}"]}
@@ -21,6 +21,7 @@ export const styles = css `
21
21
  width: 100%;
22
22
  min-width: var(--min-width);
23
23
  box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));
24
+ overscroll-behavior: none;
24
25
  }
25
26
 
26
27
  ::slotted(nile-grid-head),
@@ -1 +1 @@
1
- {"version":3,"file":"nile-grid.css.js","sourceRoot":"","sources":["../../../src/nile-grid/nile-grid.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\nexport const styles = css`\n :host {\n --min-width: 180px;\n display: grid;\n grid-template-rows: auto;\n overflow: auto;\n inline-size: 100%;\n position: relative;\n box-sizing: border-box;\n border: 1px solid var(--nile-colors-neutral-400, , var(--ng-colors-border-secondary));\n border-radius: var(--nile-radius-md, var(--ng-radius-xl));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n max-height: 100%;\n width: 100%;\n min-width: var(--min-width);\n box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));\n }\n\n ::slotted(nile-grid-head),\n ::slotted(nile-grid-body) {\n inline-size: 100%;\n }\n\n .nile-resize-start,\n .nile-resize-end {\n position: absolute;\n z-index: 4;\n background-color: var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n width: 2px;\n height: 100%;\n top: 0;\n display: none;\n bottom: 0;\n }\n`;\n\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-grid.css.js","sourceRoot":"","sources":["../../../src/nile-grid/nile-grid.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\nexport const styles = css`\n :host {\n --min-width: 180px;\n display: grid;\n grid-template-rows: auto;\n overflow: auto;\n inline-size: 100%;\n position: relative;\n box-sizing: border-box;\n border: 1px solid var(--nile-colors-neutral-400, , var(--ng-colors-border-secondary));\n border-radius: var(--nile-radius-md, var(--ng-radius-xl));\n background-color: var(--nile-colors-white-base, var(--ng-colors-bg-primary));\n max-height: 100%;\n width: 100%;\n min-width: var(--min-width);\n box-shadow: var(--nile-box-shadow-3, var(--ng-shadow-xs));\n overscroll-behavior: none;\n }\n\n ::slotted(nile-grid-head),\n ::slotted(nile-grid-body) {\n inline-size: 100%;\n }\n\n .nile-resize-start,\n .nile-resize-end {\n position: absolute;\n z-index: 4;\n background-color: var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));\n width: 2px;\n height: 100%;\n top: 0;\n display: none;\n bottom: 0;\n }\n`;\n\nexport default [styles];\n"]}
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { CSSResultArray, TemplateResult } from 'lit';
8
8
  import NileElement from '../internal/nile-element';
9
+ import { PrefixColumn } from './types/nile-grid.types';
9
10
  /**
10
11
  * Nile grid component.
11
12
  *
@@ -18,8 +19,6 @@ export declare class NileGrid extends NileElement {
18
19
  * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
19
20
  */
20
21
  static get styles(): CSSResultArray;
21
- /** To set the grid template columns in rebuildTemplate method */
22
- colTemplate: string;
23
22
  /** To store the column widths in the beginning and after resizing */
24
23
  columnWidths: number[];
25
24
  /** To get the slot element */
@@ -28,8 +27,12 @@ export declare class NileGrid extends NileElement {
28
27
  resizeStart: HTMLElement;
29
28
  /** To get the last resize line to show the resize handle */
30
29
  resizeEnd: HTMLElement;
30
+ /** To get the last resize line to show the resize handle */
31
+ shadowLeft: HTMLElement;
32
+ /** To get the last resize line to show the resize handle */
33
+ shadowRight: HTMLElement;
31
34
  /** To enable horizontal scrolling when user is resizing */
32
- enableResizeScroll: boolean;
35
+ enableScroll: boolean;
33
36
  /** To enable hoverable rows */
34
37
  hoverable: boolean;
35
38
  /** To store the mutation observer */
@@ -52,6 +55,31 @@ export declare class NileGrid extends NileElement {
52
55
  widthsInitialized: boolean;
53
56
  /** To check if the widths are initialized */
54
57
  lockedWidthColumns: boolean[];
58
+ /** prefix columns width */
59
+ prefixSumColumnsWidth: PrefixColumn[];
60
+ /** prefix columns width */
61
+ stickyColumns: number[];
62
+ /** body rows */
63
+ bodyRows: HTMLElement[];
64
+ /** head rows */
65
+ headRows: HTMLElement[];
66
+ needsStructureLayout: boolean;
67
+ needsWidthLayout: boolean;
68
+ needsSpanLayout: boolean;
69
+ colCount: number;
70
+ shadowLeftVisibleSticky?: boolean;
71
+ shadowRightVisibleSticky?: boolean;
72
+ stickyLeftHeadEls: HTMLElement[];
73
+ stickyRightHeadEls: HTMLElement[];
74
+ stickyLeftBodyEls: HTMLElement[];
75
+ stickyRightBodyEls: HTMLElement[];
76
+ private resizeTimer;
77
+ /** To throttle sticky shadow updates */
78
+ private shadowRaf;
79
+ resizeBaseColumnWidths: number[];
80
+ constructor();
81
+ connectedCallback(): void;
82
+ private syncStickyShadowsRaf;
55
83
  private scheduleLayout;
56
84
  private ensureWidths;
57
85
  private onResize;
@@ -9,9 +9,9 @@ import { html } 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
15
  /**
16
16
  * Nile grid component.
17
17
  *
@@ -19,14 +19,19 @@ import { computeNewWidth, resizeWithScroll, applyAfterResize, resizeNoScroll } f
19
19
  *
20
20
  */
21
21
  let NileGrid = class NileGrid extends NileElement {
22
+ /**
23
+ * The styles for nile-grid
24
+ * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
25
+ */
26
+ static get styles() {
27
+ return [styles];
28
+ }
22
29
  constructor() {
23
- super(...arguments);
24
- /** To set the grid template columns in rebuildTemplate method */
25
- this.colTemplate = '';
30
+ super();
26
31
  /** To store the column widths in the beginning and after resizing */
27
32
  this.columnWidths = [];
28
33
  /** To enable horizontal scrolling when user is resizing */
29
- this.enableResizeScroll = false;
34
+ this.enableScroll = false;
30
35
  /** To enable hoverable rows */
31
36
  this.hoverable = false;
32
37
  /** To store the request animation frame */
@@ -44,6 +49,34 @@ let NileGrid = class NileGrid extends NileElement {
44
49
  this.widthsInitialized = false;
45
50
  /** To check if the widths are initialized */
46
51
  this.lockedWidthColumns = [];
52
+ /** prefix columns width */
53
+ this.prefixSumColumnsWidth = [];
54
+ /** prefix columns width */
55
+ this.stickyColumns = [];
56
+ /** body rows */
57
+ this.bodyRows = [];
58
+ /** head rows */
59
+ this.headRows = [];
60
+ this.needsStructureLayout = false;
61
+ this.needsWidthLayout = false;
62
+ this.needsSpanLayout = false;
63
+ this.colCount = 0;
64
+ this.stickyLeftHeadEls = [];
65
+ this.stickyRightHeadEls = [];
66
+ this.stickyLeftBodyEls = [];
67
+ this.stickyRightBodyEls = [];
68
+ this.resizeTimer = 0;
69
+ /** To throttle sticky shadow updates */
70
+ this.shadowRaf = 0;
71
+ this.resizeBaseColumnWidths = [];
72
+ this.syncStickyShadowsRaf = () => {
73
+ if (this.shadowRaf)
74
+ return;
75
+ this.shadowRaf = requestAnimationFrame(() => {
76
+ this.shadowRaf = 0;
77
+ syncStickyShadows(this);
78
+ });
79
+ };
47
80
  this.onResize = (e) => {
48
81
  e.stopPropagation();
49
82
  this.emit('nile-resize', {
@@ -51,6 +84,9 @@ let NileGrid = class NileGrid extends NileElement {
51
84
  columnWidth: e.detail.widthPx,
52
85
  });
53
86
  const { col, widthPx } = e.detail;
87
+ if (!this.resizeBaseColumnWidths)
88
+ return;
89
+ copyArrayValuesInPlace(this.columnWidths, this.resizeBaseColumnWidths);
54
90
  const { prevW, newW, delta0 } = computeNewWidth({
55
91
  target: e.target,
56
92
  col,
@@ -59,81 +95,95 @@ let NileGrid = class NileGrid extends NileElement {
59
95
  columnWidths: this.columnWidths,
60
96
  });
61
97
  if (delta0 === 0) {
62
- applyAfterResize(this, col);
98
+ updateResizeGuides(this, col);
63
99
  return;
64
100
  }
65
- if (!this.enableResizeScroll) {
101
+ if (!this.enableScroll) {
66
102
  resizeNoScroll({ grid: this, col, prevW, newW, floor: this.minColumnWidth });
67
103
  }
68
104
  else {
69
105
  resizeWithScroll({ grid: this, col, newW });
70
106
  }
71
- applyAfterResize(this, col);
107
+ updateResizeGuides(this, col);
72
108
  };
73
- /* #endregion */
74
109
  }
75
- /**
76
- * The styles for nile-grid
77
- * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
78
- */
79
- static get styles() {
80
- return [styles];
110
+ connectedCallback() {
111
+ super.connectedCallback();
112
+ this.emit('nile-init');
81
113
  }
82
114
  scheduleLayout() {
83
115
  if (this.raf)
84
116
  cancelAnimationFrame(this.raf);
85
117
  this.raf = requestAnimationFrame(() => {
86
118
  this.raf = 0;
87
- layout(this, this.slotEl, this.ensureWidths.bind(this), rebuildTemplate, this.stickyLeftIndexes, this.stickyRightIndexes);
119
+ layout(this, this.slotEl, this.ensureWidths.bind(this), this.stickyLeftIndexes, this.stickyRightIndexes);
88
120
  syncStickyShadows(this);
89
121
  });
90
122
  }
91
123
  ensureWidths(colCount) {
92
124
  if (this.columnWidths.length !== colCount) {
93
- this.columnWidths = Array(colCount).fill('');
125
+ this.columnWidths = Array(colCount).fill(0);
94
126
  this.lockedWidthColumns = Array(colCount).fill(false);
95
127
  }
96
128
  }
97
129
  firstUpdated() {
98
130
  this.setAttribute('role', 'table');
99
131
  listenToEventListeners(this, this.onResize, this.slotEl, this._attachObserverAndLayout.bind(this));
100
- this.addEventListener('scroll', () => syncStickyShadows(this));
132
+ this.addEventListener('scroll', this.syncStickyShadowsRaf);
101
133
  this.resizeObserverStickyShadows = new ResizeObserver(() => syncStickyShadows(this));
102
134
  this.resizeObserverStickyShadows.observe(this);
103
- syncStickyShadows(this);
135
+ this.syncStickyShadowsRaf();
104
136
  }
105
137
  _attachObserverAndLayout() {
106
138
  this.mo?.disconnect();
107
139
  this.mo = new MutationObserver(() => {
140
+ this.needsStructureLayout = true;
141
+ this.needsWidthLayout = true;
142
+ this.needsSpanLayout = true;
108
143
  this.scheduleLayout();
109
144
  });
110
145
  this.resizeObserver?.disconnect();
111
146
  this.resizeObserver = new ResizeObserver(() => {
112
- layout(this, this.slotEl, this.ensureWidths.bind(this), rebuildTemplate, this.stickyLeftIndexes, this.stickyRightIndexes);
147
+ if (this.resizeTimer)
148
+ clearTimeout(this.resizeTimer);
149
+ this.resizeTimer = setTimeout(() => {
150
+ this.resizeTimer = 0;
151
+ this.needsWidthLayout = true;
152
+ this.scheduleLayout();
153
+ }, 16);
113
154
  });
114
155
  const head = getHead(this.slotEl);
115
156
  const body = getBody(this.slotEl);
116
157
  if (!head && !body)
117
158
  return;
118
- const target = body ?? this;
159
+ const target = head ?? this;
119
160
  this.mo.observe(target, {
120
- subtree: true,
121
161
  childList: true,
162
+ subtree: true,
122
163
  attributes: true,
123
- attributeFilter: ['colspan', 'rowspan'],
164
+ attributeFilter: ['colspan', 'rowspan', 'width', 'lockwidth', 'sticky']
124
165
  });
125
166
  this.resizeObserver?.observe(this);
167
+ if (!this.colCount || !this.columnWidths?.length) {
168
+ this.needsStructureLayout = true;
169
+ this.needsSpanLayout = true;
170
+ this.needsWidthLayout = true;
171
+ this.scheduleLayout();
172
+ }
126
173
  }
127
174
  render() {
128
175
  return html `
129
176
  <div part="grid-base" class="nile-grid-base">
130
- <slot part="grid-slot"></slot>
177
+ <div part="grid-slot-wrapper">
178
+ <slot part="grid-slot"></slot>
179
+ </div>
131
180
  <div part="resize-start" class="nile-resize-start"></div>
132
181
  <div part="resize-end" class="nile-resize-end"></div>
133
182
  </div>
134
183
  `;
135
184
  }
136
185
  disconnectedCallback() {
186
+ this.emit('nile-destroy');
137
187
  super.disconnectedCallback?.();
138
188
  this.mo?.disconnect();
139
189
  this.resizeObserver?.disconnect();
@@ -143,9 +193,6 @@ let NileGrid = class NileGrid extends NileElement {
143
193
  removeEventListeners(this, this.onResize, this.slotEl, this._attachObserverAndLayout.bind(this));
144
194
  }
145
195
  };
146
- __decorate([
147
- state()
148
- ], NileGrid.prototype, "colTemplate", void 0);
149
196
  __decorate([
150
197
  state()
151
198
  ], NileGrid.prototype, "columnWidths", void 0);
@@ -158,9 +205,15 @@ __decorate([
158
205
  __decorate([
159
206
  query('.nile-resize-end')
160
207
  ], NileGrid.prototype, "resizeEnd", void 0);
208
+ __decorate([
209
+ query('.shadow-left')
210
+ ], NileGrid.prototype, "shadowLeft", void 0);
211
+ __decorate([
212
+ query('.shadow-right')
213
+ ], NileGrid.prototype, "shadowRight", void 0);
161
214
  __decorate([
162
215
  property({ type: Boolean, attribute: true, reflect: true })
163
- ], NileGrid.prototype, "enableResizeScroll", void 0);
216
+ ], NileGrid.prototype, "enableScroll", void 0);
164
217
  __decorate([
165
218
  property({ type: Boolean, attribute: true, reflect: true })
166
219
  ], NileGrid.prototype, "hoverable", void 0);
@@ -185,6 +238,30 @@ __decorate([
185
238
  __decorate([
186
239
  state()
187
240
  ], NileGrid.prototype, "lockedWidthColumns", void 0);
241
+ __decorate([
242
+ state()
243
+ ], NileGrid.prototype, "prefixSumColumnsWidth", void 0);
244
+ __decorate([
245
+ state()
246
+ ], NileGrid.prototype, "stickyColumns", void 0);
247
+ __decorate([
248
+ state()
249
+ ], NileGrid.prototype, "bodyRows", void 0);
250
+ __decorate([
251
+ state()
252
+ ], NileGrid.prototype, "headRows", void 0);
253
+ __decorate([
254
+ state()
255
+ ], NileGrid.prototype, "needsStructureLayout", void 0);
256
+ __decorate([
257
+ state()
258
+ ], NileGrid.prototype, "needsWidthLayout", void 0);
259
+ __decorate([
260
+ state()
261
+ ], NileGrid.prototype, "needsSpanLayout", void 0);
262
+ __decorate([
263
+ state()
264
+ ], NileGrid.prototype, "colCount", void 0);
188
265
  NileGrid = __decorate([
189
266
  customElement('nile-grid')
190
267
  ], NileGrid);
@@ -1 +1 @@
1
- {"version":3,"file":"nile-grid.js","sourceRoot":"","sources":["../../../src/nile-grid/nile-grid.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { styles } from './nile-grid.css';\nimport NileElement from '../internal/nile-element';\nimport { rebuildTemplate, syncStickyShadows, layout } from './nile-grid.layout';\nimport { listenToEventListeners, removeEventListeners, getHead, getBody } from './nile-grid.utils';\nimport { computeNewWidth, resizeWithScroll, applyAfterResize, resizeNoScroll } from './nile-grid.resize';\n\n/**\n * Nile grid component.\n *\n * @tag nile-grid\n *\n */\n@customElement('nile-grid')\nexport class NileGrid extends NileElement {\n /**\n * The styles for nile-grid\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n /** To set the grid template columns in rebuildTemplate method */\n @state() public colTemplate = '';\n\n /** To store the column widths in the beginning and after resizing */\n @state() public columnWidths: number[] = [];\n\n /** To get the slot element */\n @query('slot') public slotEl!: HTMLSlotElement;\n\n /** To get the first resize line to show the resize handle */\n @query('.nile-resize-start') resizeStart: HTMLElement;\n\n /** To get the last resize line to show the resize handle */\n @query('.nile-resize-end') resizeEnd: HTMLElement;\n\n /** To enable horizontal scrolling when user is resizing */\n @property({ type: Boolean, attribute: true, reflect: true }) enableResizeScroll: boolean = false;\n\n /** To enable hoverable rows */\n @property({ type: Boolean, attribute: true, reflect: true }) hoverable: boolean = false;\n\n /** To store the mutation observer */\n private mo?: MutationObserver;\n\n /** To store the resize observer */\n private resizeObserver?: ResizeObserver;\n\n private resizeObserverStickyShadows?: ResizeObserver;\n\n /** To store the request animation frame */\n private raf = 0;\n\n /** Minimum column width */\n @property({ type: Number, reflect: true, attribute: true }) minColumnWidth = 40;\n\n /** To store the sticky index's */\n @state() public stickyLeftIndexes: number[] = [];\n\n /** To store the sticky index's */\n @state() public stickyRightIndexes: number[] = [];\n\n /** To calculate the rowspan height */\n @state() public cellHeight: number | null = null;\n\n @state() public headHeight: number | null = null;\n\n /** To check if the widths are initialized */\n @state() public widthsInitialized = false;\n\n /** To check if the widths are initialized */\n @state() public lockedWidthColumns: boolean[] = [];\n\n private scheduleLayout() {\n if (this.raf) cancelAnimationFrame(this.raf);\n this.raf = requestAnimationFrame(() => {\n this.raf = 0;\n layout(\n this,\n this.slotEl,\n this.ensureWidths.bind(this),\n rebuildTemplate,\n this.stickyLeftIndexes,\n this.stickyRightIndexes\n );\n syncStickyShadows(this);\n });\n }\n\n private ensureWidths(colCount: number) {\n if (this.columnWidths.length !== colCount) {\n this.columnWidths = Array(colCount).fill('');\n this.lockedWidthColumns = Array(colCount).fill(false);\n }\n }\n\n private onResize = (e: Event) => {\n e.stopPropagation();\n this.emit('nile-resize', {\n columnNumber: (e as CustomEvent).detail.col,\n columnWidth: (e as CustomEvent).detail.widthPx,\n });\n const { col, widthPx } = (e as CustomEvent).detail as {\n col: number;\n widthPx: number;\n };\n const { prevW, newW, delta0 } = computeNewWidth({\n target: e.target as HTMLElement,\n col,\n widthPx,\n floor: this.minColumnWidth,\n columnWidths: this.columnWidths,\n });\n\n if (delta0 === 0) {\n applyAfterResize(this, col);\n return;\n }\n\n if (!this.enableResizeScroll) {\n resizeNoScroll({ grid: this, col, prevW, newW, floor: this.minColumnWidth });\n } else {\n resizeWithScroll({ grid: this, col, newW });\n }\n applyAfterResize(this, col);\n };\n\n protected firstUpdated() {\n this.setAttribute('role', 'table');\n listenToEventListeners(\n this,\n this.onResize,\n this.slotEl,\n this._attachObserverAndLayout.bind(this)\n );\n this.addEventListener('scroll', () => syncStickyShadows(this));\n this.resizeObserverStickyShadows = new ResizeObserver(() => syncStickyShadows(this));\n this.resizeObserverStickyShadows.observe(this);\n syncStickyShadows(this);\n }\n\n private _attachObserverAndLayout() {\n this.mo?.disconnect();\n this.mo = new MutationObserver(() => {\n this.scheduleLayout();\n });\n this.resizeObserver?.disconnect();\n this.resizeObserver = new ResizeObserver(() => {\n layout(\n this,\n this.slotEl,\n this.ensureWidths.bind(this),\n rebuildTemplate,\n this.stickyLeftIndexes,\n this.stickyRightIndexes\n );\n });\n\n const head = getHead(this.slotEl);\n const body = getBody(this.slotEl);\n if (!head && !body) return;\n\n const target = body ?? this;\n this.mo.observe(target, {\n subtree: true,\n childList: true,\n attributes: true,\n attributeFilter: ['colspan', 'rowspan'],\n });\n this.resizeObserver?.observe(this);\n }\n\n public render(): TemplateResult {\n return html`\n <div part=\"grid-base\" class=\"nile-grid-base\">\n <slot part=\"grid-slot\"></slot>\n <div part=\"resize-start\" class=\"nile-resize-start\"></div>\n <div part=\"resize-end\" class=\"nile-resize-end\"></div>\n </div>\n `;\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback?.();\n this.mo?.disconnect();\n this.resizeObserver?.disconnect();\n this.resizeObserverStickyShadows?.disconnect();\n\n if (this.raf) cancelAnimationFrame(this.raf);\n removeEventListeners(\n this,\n this.onResize,\n this.slotEl,\n this._attachObserverAndLayout.bind(this)\n );\n }\n\n /* #endregion */\n}\n\nexport default NileGrid;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-grid': NileGrid;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-grid.js","sourceRoot":"","sources":["../../../src/nile-grid/nile-grid.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { styles } from './nile-grid.css';\nimport NileElement from '../internal/nile-element';\nimport { syncStickyShadows, layout } from './nile-grid.layout';\nimport { listenToEventListeners, removeEventListeners, getHead, getBody, copyArrayValuesInPlace } from './nile-grid.utils';\nimport { computeNewWidth, resizeWithScroll, resizeNoScroll, updateResizeGuides } from './nile-grid.resize';\nimport { PrefixColumn } from './types/nile-grid.types';\n\n/**\n * Nile grid component.\n *\n * @tag nile-grid\n *\n */\n@customElement('nile-grid')\nexport class NileGrid extends NileElement {\n /**\n * The styles for nile-grid\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n /** To store the column widths in the beginning and after resizing */\n @state() public columnWidths: number[] = [];\n\n /** To get the slot element */\n @query('slot') public slotEl!: HTMLSlotElement;\n\n /** To get the first resize line to show the resize handle */\n @query('.nile-resize-start') resizeStart: HTMLElement;\n\n /** To get the last resize line to show the resize handle */\n @query('.nile-resize-end') resizeEnd: HTMLElement;\n\n /** To get the last resize line to show the resize handle */\n @query('.shadow-left') shadowLeft: HTMLElement;\n\n /** To get the last resize line to show the resize handle */\n @query('.shadow-right') shadowRight: HTMLElement;\n\n /** To enable horizontal scrolling when user is resizing */\n @property({ type: Boolean, attribute: true, reflect: true }) enableScroll: boolean = false;\n\n /** To enable hoverable rows */\n @property({ type: Boolean, attribute: true, reflect: true }) hoverable: boolean = false;\n\n /** To store the mutation observer */\n private mo?: MutationObserver;\n\n /** To store the resize observer */\n private resizeObserver?: ResizeObserver;\n\n private resizeObserverStickyShadows?: ResizeObserver;\n\n /** To store the request animation frame */\n private raf = 0;\n\n /** Minimum column width */\n @property({ type: Number, reflect: true, attribute: true }) minColumnWidth = 40;\n\n /** To store the sticky index's */\n @state() public stickyLeftIndexes: number[] = [];\n\n /** To store the sticky index's */\n @state() public stickyRightIndexes: number[] = [];\n\n /** To calculate the rowspan height */\n @state() public cellHeight: number | null = null;\n\n @state() public headHeight: number | null = null;\n\n /** To check if the widths are initialized */\n @state() public widthsInitialized = false;\n\n /** To check if the widths are initialized */\n @state() public lockedWidthColumns: boolean[] = [];\n\n /** prefix columns width */\n @state() public prefixSumColumnsWidth: PrefixColumn[] = [];\n\n /** prefix columns width */\n @state() public stickyColumns: number[] = [];\n\n /** body rows */\n @state() public bodyRows: HTMLElement[] = [];\n\n /** head rows */\n @state() public headRows: HTMLElement[] = [];\n\n @state() public needsStructureLayout = false;\n\n @state() public needsWidthLayout = false;\n\n @state() public needsSpanLayout = false;\n\n @state() public colCount = 0;\n \n public shadowLeftVisibleSticky?: boolean;\n\n public shadowRightVisibleSticky?: boolean;\n\n public stickyLeftHeadEls: HTMLElement[] = [];\n\n public stickyRightHeadEls: HTMLElement[] = [];\n\n public stickyLeftBodyEls: HTMLElement[] = [];\n\n public stickyRightBodyEls: HTMLElement[] = [];\n\n private resizeTimer: any = 0;\n\n /** To throttle sticky shadow updates */\n private shadowRaf = 0;\n\n public resizeBaseColumnWidths: number[] = [];\n\n constructor() {\n super();\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.emit('nile-init');\n }\n\n private syncStickyShadowsRaf = () => {\n if (this.shadowRaf) return;\n this.shadowRaf = requestAnimationFrame(() => {\n this.shadowRaf = 0;\n syncStickyShadows(this);\n });\n };\n\n\n private scheduleLayout() {\n if (this.raf) cancelAnimationFrame(this.raf);\n this.raf = requestAnimationFrame(() => {\n this.raf = 0;\n layout(\n this,\n this.slotEl,\n this.ensureWidths.bind(this),\n this.stickyLeftIndexes,\n this.stickyRightIndexes\n );\n syncStickyShadows(this);\n });\n }\n\n private ensureWidths(colCount: number) {\n if (this.columnWidths.length !== colCount) {\n this.columnWidths = Array(colCount).fill(0);\n this.lockedWidthColumns = Array(colCount).fill(false); \n }\n }\n\n private onResize = (e: Event) => {\n e.stopPropagation();\n this.emit('nile-resize', {\n columnNumber: (e as CustomEvent).detail.col,\n columnWidth: (e as CustomEvent).detail.widthPx,\n });\n const { col, widthPx } = (e as CustomEvent).detail as {\n col: number;\n widthPx: number;\n };\n if (!this.resizeBaseColumnWidths) return;\n \n copyArrayValuesInPlace(this.columnWidths, this.resizeBaseColumnWidths);\n const { prevW, newW, delta0 } = computeNewWidth({\n target: e.target as HTMLElement,\n col,\n widthPx,\n floor: this.minColumnWidth,\n columnWidths: this.columnWidths,\n });\n\n if (delta0 === 0) {\n updateResizeGuides(this, col);\n return;\n }\n\n if (!this.enableScroll) {\n resizeNoScroll({ grid: this, col, prevW, newW, floor: this.minColumnWidth });\n } else {\n resizeWithScroll({ grid: this, col, newW });\n }\n updateResizeGuides(this, col);\n };\n\n protected firstUpdated() {\n this.setAttribute('role', 'table');\n listenToEventListeners(\n this,\n this.onResize,\n this.slotEl,\n this._attachObserverAndLayout.bind(this)\n );\n this.addEventListener('scroll', this.syncStickyShadowsRaf);\n this.resizeObserverStickyShadows = new ResizeObserver(() => syncStickyShadows(this));\n this.resizeObserverStickyShadows.observe(this);\n this.syncStickyShadowsRaf();\n }\n\n private _attachObserverAndLayout() {\n this.mo?.disconnect();\n this.mo = new MutationObserver(() => {\n this.needsStructureLayout = true;\n this.needsWidthLayout = true;\n this.needsSpanLayout = true;\n this.scheduleLayout();\n });\n this.resizeObserver?.disconnect();\n this.resizeObserver = new ResizeObserver(() => {\n if (this.resizeTimer) clearTimeout(this.resizeTimer);\n this.resizeTimer = setTimeout(() => {\n this.resizeTimer = 0;\n this.needsWidthLayout = true;\n this.scheduleLayout();\n }, 16);\n });\n\n const head = getHead(this.slotEl);\n const body = getBody(this.slotEl);\n \n if (!head && !body) return;\n const target = head ?? this;\n this.mo.observe(target, {\n childList: true,\n subtree: true,\n attributes: true,\n attributeFilter: ['colspan', 'rowspan', 'width', 'lockwidth', 'sticky']\n });\n this.resizeObserver?.observe(this);\n\n if (!this.colCount || !this.columnWidths?.length) {\n this.needsStructureLayout = true;\n this.needsSpanLayout = true;\n this.needsWidthLayout = true;\n this.scheduleLayout();\n }\n }\n\n public render(): TemplateResult {\n return html`\n <div part=\"grid-base\" class=\"nile-grid-base\">\n <div part=\"grid-slot-wrapper\">\n <slot part=\"grid-slot\"></slot>\n </div>\n <div part=\"resize-start\" class=\"nile-resize-start\"></div>\n <div part=\"resize-end\" class=\"nile-resize-end\"></div>\n </div>\n `;\n }\n\n disconnectedCallback(): void {\n this.emit('nile-destroy');\n super.disconnectedCallback?.();\n this.mo?.disconnect();\n this.resizeObserver?.disconnect();\n this.resizeObserverStickyShadows?.disconnect();\n\n if (this.raf) cancelAnimationFrame(this.raf);\n removeEventListeners(\n this,\n this.onResize,\n this.slotEl,\n this._attachObserverAndLayout.bind(this)\n );\n }\n\n /* #endregion */\n}\n\nexport default NileGrid;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-grid': NileGrid;\n }\n}\n"]}
@@ -3,26 +3,19 @@ import { NileGrid } from './nile-grid';
3
3
  * @param nileGrid Parent NileGrid instance
4
4
  * @param slotEl <slot> element hosting head/body
5
5
  * @param ensureWidths Function to ensure columnWidths length matches colCount
6
- * @param rebuildTemplate Function(colCount, widths) -> grid-template string
7
6
  * @param stickyLeftIndexes Mutable list of left-sticky column indexes
8
7
  * @param stickyRightIndexes Mutable list of right-sticky column indexes
9
8
  * @returns void
10
9
  */
11
- export declare const layout: (nileGrid: NileGrid, slotEl: any, ensureWidths: any, rebuildTemplate: any, stickyLeftIndexes: number[], stickyRightIndexes: number[]) => void;
10
+ export declare const layout: (nileGrid: NileGrid, slotEl: any, ensureWidths: any, stickyLeftIndexes: number[], stickyRightIndexes: number[]) => void;
11
+ export declare function cacheStickyEls(nileGrid: NileGrid): void;
12
12
  /**
13
13
  * @param nileGrid Grid instance to sync shadows for
14
14
  */
15
15
  export declare function syncStickyShadows(nileGrid: NileGrid): void;
16
- /** rebuildTemplate
17
- * @param colCount Number of columns
18
- * @param columnWidths Array of explicit column widths (px)
19
- * @returns CSS grid-template-columns string
20
- */
21
- export declare const rebuildTemplate: (colCount: number, columnWidths: number[]) => string;
22
16
  /**
23
17
  * @param nileGrid Grid container element
24
18
  * @param colCount Total number of columns
25
19
  * @param columnWidths Column width array
26
- * @param headElement Header element for template update
27
20
  */
28
21
  export declare function applyColumnsTemplate(nileGrid: NileGrid, columnWidths: number[]): void;