@aquera/nile-elements 1.2.8-beta-1.5 → 1.2.8-beta-1.7

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 (511) hide show
  1. package/demo/index.html +54 -1
  2. package/dist/assets/nile-elements-4b5c262d.css +1 -0
  3. package/dist/{fixture-78a015b8.esm.js → fixture-985bba12.esm.js} +1 -1
  4. package/dist/{fixture-28d63bc4.cjs.js → fixture-d1470b58.cjs.js} +2 -2
  5. package/dist/{fixture-28d63bc4.cjs.js.map → fixture-d1470b58.cjs.js.map} +1 -1
  6. package/dist/{fixture-d3ab97fa.cjs.js → fixture-dff65c89.cjs.js} +2 -2
  7. package/dist/{fixture-82d27dd9.cjs.js.map → fixture-dff65c89.cjs.js.map} +1 -1
  8. package/dist/index.js +36 -39
  9. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  10. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  11. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  12. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  13. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  14. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  15. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  16. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  17. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  18. package/dist/nile-button/nile-button.test.esm.js +1 -1
  19. package/dist/nile-button-toggle/nile-button-toggle.cjs.js +1 -1
  20. package/dist/nile-button-toggle/nile-button-toggle.cjs.js.map +1 -1
  21. package/dist/nile-button-toggle/nile-button-toggle.esm.js +1 -1
  22. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  23. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  24. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  25. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  26. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  27. package/dist/nile-card/nile-card.test.esm.js +1 -1
  28. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  29. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  30. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  31. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  32. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  33. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  34. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  35. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  36. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  37. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  38. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  39. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  40. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  41. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  42. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  43. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  44. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  45. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  46. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  47. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  48. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  49. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  50. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  51. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  52. package/dist/nile-grid/nile-grid-body/nile-grid-body.css.cjs.js +1 -1
  53. package/dist/nile-grid/nile-grid-body/nile-grid-body.css.cjs.js.map +1 -1
  54. package/dist/nile-grid/nile-grid-body/nile-grid-body.css.esm.js +1 -1
  55. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +1 -1
  56. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -1
  57. package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +10 -11
  58. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js +1 -1
  59. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -1
  60. package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.esm.js +13 -14
  61. package/dist/nile-grid/nile-grid-row/nile-grid-row.css.cjs.js +1 -1
  62. package/dist/nile-grid/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -1
  63. package/dist/nile-grid/nile-grid-row/nile-grid-row.css.esm.js +3 -4
  64. package/dist/nile-grid/nile-grid.css.cjs.js +1 -1
  65. package/dist/nile-grid/nile-grid.css.cjs.js.map +1 -1
  66. package/dist/nile-grid/nile-grid.css.esm.js +7 -7
  67. package/dist/nile-grid/nile-grid.width.cjs.js +1 -1
  68. package/dist/nile-grid/nile-grid.width.cjs.js.map +1 -1
  69. package/dist/nile-grid/nile-grid.width.esm.js +1 -1
  70. package/dist/nile-grid-body/nile-grid-body.cjs.js +1 -1
  71. package/dist/nile-grid-body/nile-grid-body.cjs.js.map +1 -1
  72. package/dist/nile-grid-body/nile-grid-body.css.cjs.js +1 -1
  73. package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +1 -1
  74. package/dist/nile-grid-body/nile-grid-body.css.esm.js +4 -0
  75. package/dist/nile-grid-body/nile-grid-body.esm.js +3 -3
  76. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +1 -1
  77. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -1
  78. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +1 -1
  79. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -1
  80. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +3 -18
  81. package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +3 -3
  82. package/dist/nile-grid-head/nile-grid-head.cjs.js +1 -1
  83. package/dist/nile-grid-head/nile-grid-head.cjs.js.map +1 -1
  84. package/dist/nile-grid-head/nile-grid-head.css.cjs.js +1 -1
  85. package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +1 -1
  86. package/dist/nile-grid-head/nile-grid-head.css.esm.js +1 -1
  87. package/dist/nile-grid-head/nile-grid-head.esm.js +3 -3
  88. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +1 -1
  89. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -1
  90. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +1 -1
  91. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -1
  92. package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +5 -20
  93. package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +3 -4
  94. package/dist/nile-grid-row/nile-grid-row.cjs.js +1 -1
  95. package/dist/nile-grid-row/nile-grid-row.cjs.js.map +1 -1
  96. package/dist/nile-grid-row/nile-grid-row.css.cjs.js +1 -1
  97. package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -1
  98. package/dist/nile-grid-row/nile-grid-row.css.esm.js +5 -17
  99. package/dist/nile-grid-row/nile-grid-row.esm.js +5 -4
  100. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  101. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  102. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  103. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  104. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  105. package/dist/nile-input/nile-input.test.esm.js +1 -1
  106. package/dist/nile-light-tooltip/index.esm.js +1 -0
  107. package/dist/nile-light-tooltip/nile-light-tooltip.css.esm.js +6 -0
  108. package/dist/nile-light-tooltip/nile-light-tooltip.esm.js +1 -0
  109. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  110. package/dist/nile-link/nile-link.test.esm.js +1 -1
  111. package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js +1 -1
  112. package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js.map +1 -1
  113. package/dist/nile-lite-tooltip/nile-lite-tooltip.esm.js +1 -1
  114. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  115. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  116. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  117. package/dist/nile-popover/nile-popover.test.esm.js +1 -1
  118. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  119. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  120. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  121. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  122. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  123. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  124. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  125. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  126. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  127. package/dist/nile-select/nile-select.test.esm.js +1 -1
  128. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  129. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  130. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  131. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  132. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  133. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  134. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  135. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  136. package/dist/src/nile-button-toggle/nile-button-toggle.js +1 -1
  137. package/dist/src/nile-button-toggle/nile-button-toggle.js.map +1 -1
  138. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  139. package/dist/src/nile-grid/nile-grid-body/nile-grid-body.css.js +1 -1
  140. package/dist/src/nile-grid/nile-grid-body/nile-grid-body.css.js.map +1 -1
  141. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js +8 -9
  142. package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -1
  143. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.js +11 -12
  144. package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -1
  145. package/dist/src/nile-grid/nile-grid-row/nile-grid-row.css.js +3 -4
  146. package/dist/src/nile-grid/nile-grid-row/nile-grid-row.css.js.map +1 -1
  147. package/dist/src/nile-grid/nile-grid.css.js +5 -5
  148. package/dist/src/nile-grid/nile-grid.css.js.map +1 -1
  149. package/dist/src/nile-grid/nile-grid.layout.js +3 -3
  150. package/dist/src/nile-grid/nile-grid.layout.js.map +1 -1
  151. package/dist/src/nile-light-tooltip/index.d.ts +1 -0
  152. package/dist/src/nile-light-tooltip/index.js +2 -0
  153. package/dist/src/{nile-option-header → nile-light-tooltip}/index.js.map +1 -1
  154. package/dist/src/{nile-group-header/nile-group-header.css.d.ts → nile-light-tooltip/nile-light-tooltip.css.d.ts} +1 -1
  155. package/dist/src/nile-light-tooltip/nile-light-tooltip.css.js +18 -0
  156. package/dist/src/nile-light-tooltip/nile-light-tooltip.css.js.map +1 -0
  157. package/dist/src/nile-light-tooltip/nile-light-tooltip.d.ts +40 -0
  158. package/dist/src/nile-light-tooltip/nile-light-tooltip.js +101 -0
  159. package/dist/src/nile-light-tooltip/nile-light-tooltip.js.map +1 -0
  160. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.d.ts +1 -0
  161. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.js +46 -0
  162. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.js.map +1 -1
  163. package/dist/src/nile-menu/virtual-menu-search-manager.d.ts +11 -0
  164. package/dist/src/nile-menu/virtual-menu-search-manager.js +43 -0
  165. package/dist/src/nile-menu/virtual-menu-search-manager.js.map +1 -0
  166. package/dist/src/nile-sidebar/index.js +11 -14
  167. package/dist/src/nile-sidebar/index.js.map +1 -1
  168. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js +4 -7
  169. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js.map +1 -1
  170. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js +4 -7
  171. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js.map +1 -1
  172. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js +0 -1
  173. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js.map +1 -1
  174. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js +1 -4
  175. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js.map +1 -1
  176. package/dist/src/version.js +2 -2
  177. package/dist/src/version.js.map +1 -1
  178. package/dist/tsconfig.tsbuildinfo +1 -1
  179. package/package.json +1 -1
  180. package/src/nile-button-toggle/nile-button-toggle.ts +1 -1
  181. package/src/nile-chip/nile-chip.ts +1 -0
  182. package/src/nile-grid/nile-grid-body/nile-grid-body.css.ts +1 -1
  183. package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.ts +8 -9
  184. package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.ts +11 -12
  185. package/src/nile-grid/nile-grid-row/nile-grid-row.css.ts +3 -4
  186. package/src/nile-grid/nile-grid.css.ts +5 -5
  187. package/src/nile-grid/nile-grid.layout.ts +3 -3
  188. package/src/nile-lite-tooltip/nile-lite-tooltip.ts +52 -0
  189. package/dist/aquera-nile-elements-0.1.57-beta-2.0.tgz +0 -0
  190. package/dist/axe.min-2b379f29.cjs.js +0 -12
  191. package/dist/axe.min-2b379f29.cjs.js.map +0 -1
  192. package/dist/axe.min-c2cd8733.esm.js +0 -12
  193. package/dist/fixture-324a7ef9.cjs.js +0 -395
  194. package/dist/fixture-324a7ef9.cjs.js.map +0 -1
  195. package/dist/fixture-7a0c60c4.esm.js +0 -569
  196. package/dist/fixture-82d27dd9.cjs.js +0 -395
  197. package/dist/fixture-add72f26.esm.js +0 -569
  198. package/dist/fixture-ba65eb22.esm.js +0 -569
  199. package/dist/fixture-c1bd203f.cjs.js +0 -395
  200. package/dist/fixture-c1bd203f.cjs.js.map +0 -1
  201. package/dist/fixture-cb376a7f.cjs.js +0 -395
  202. package/dist/fixture-cb376a7f.cjs.js.map +0 -1
  203. package/dist/fixture-d3ab97fa.cjs.js.map +0 -1
  204. package/dist/fixture-f2693d97.esm.js +0 -569
  205. package/dist/nile-grid/nile-grid-column-cell-template/index.cjs.js +0 -2
  206. package/dist/nile-grid/nile-grid-column-cell-template/index.cjs.js.map +0 -1
  207. package/dist/nile-grid/nile-grid-column-cell-template/index.esm.js +0 -1
  208. package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.cjs.js +0 -2
  209. package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.cjs.js.map +0 -1
  210. package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.cjs.js +0 -2
  211. package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.cjs.js.map +0 -1
  212. package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.esm.js +0 -5
  213. package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.esm.js +0 -1
  214. package/dist/nile-grid/nile-grid-column-head-template/index.cjs.js +0 -2
  215. package/dist/nile-grid/nile-grid-column-head-template/index.cjs.js.map +0 -1
  216. package/dist/nile-grid/nile-grid-column-head-template/index.esm.js +0 -1
  217. package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.cjs.js +0 -2
  218. package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.cjs.js.map +0 -1
  219. package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.cjs.js +0 -2
  220. package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.cjs.js.map +0 -1
  221. package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.esm.js +0 -5
  222. package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.esm.js +0 -3
  223. package/dist/nile-grid/nile-grid-columns/index.cjs.js +0 -2
  224. package/dist/nile-grid/nile-grid-columns/index.cjs.js.map +0 -1
  225. package/dist/nile-grid/nile-grid-columns/index.esm.js +0 -1
  226. package/dist/nile-grid/nile-grid-columns/nile-grid-columns.cjs.js +0 -2
  227. package/dist/nile-grid/nile-grid-columns/nile-grid-columns.cjs.js.map +0 -1
  228. package/dist/nile-grid/nile-grid-columns/nile-grid-columns.css.cjs.js +0 -2
  229. package/dist/nile-grid/nile-grid-columns/nile-grid-columns.css.cjs.js.map +0 -1
  230. package/dist/nile-grid/nile-grid-columns/nile-grid-columns.css.esm.js +0 -5
  231. package/dist/nile-grid/nile-grid-columns/nile-grid-columns.esm.js +0 -3
  232. package/dist/nile-grid/nile-grid.data-attribute.cjs.js +0 -2
  233. package/dist/nile-grid/nile-grid.data-attribute.cjs.js.map +0 -1
  234. package/dist/nile-grid/nile-grid.data-attribute.esm.js +0 -1
  235. package/dist/nile-grid-cell/index.cjs.js +0 -2
  236. package/dist/nile-grid-cell/index.cjs.js.map +0 -1
  237. package/dist/nile-grid-cell/index.esm.js +0 -1
  238. package/dist/nile-grid-cell/nile-grid-cell.cjs.js +0 -2
  239. package/dist/nile-grid-cell/nile-grid-cell.cjs.js.map +0 -1
  240. package/dist/nile-grid-cell/nile-grid-cell.css.cjs.js +0 -2
  241. package/dist/nile-grid-cell/nile-grid-cell.css.cjs.js.map +0 -1
  242. package/dist/nile-grid-cell/nile-grid-cell.css.esm.js +0 -35
  243. package/dist/nile-grid-cell/nile-grid-cell.esm.js +0 -12
  244. package/dist/nile-grid-cell/nile-grid-cell.utils.cjs.js +0 -2
  245. package/dist/nile-grid-cell/nile-grid-cell.utils.cjs.js.map +0 -1
  246. package/dist/nile-grid-cell/nile-grid-cell.utils.esm.js +0 -1
  247. package/dist/nile-sidebar/index.cjs.js +0 -2
  248. package/dist/nile-sidebar/index.cjs.js.map +0 -1
  249. package/dist/nile-sidebar/index.esm.js +0 -75
  250. package/dist/nile-sidebar-menu/index.cjs.js +0 -2
  251. package/dist/nile-sidebar-menu/index.cjs.js.map +0 -1
  252. package/dist/nile-sidebar-menu/index.esm.js +0 -1
  253. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +0 -2
  254. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +0 -1
  255. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +0 -2
  256. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +0 -1
  257. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +0 -38
  258. package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +0 -10
  259. package/dist/nile-sidebar-menu-items/index.cjs.js +0 -2
  260. package/dist/nile-sidebar-menu-items/index.cjs.js.map +0 -1
  261. package/dist/nile-sidebar-menu-items/index.esm.js +0 -1
  262. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +0 -2
  263. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +0 -1
  264. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +0 -2
  265. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +0 -1
  266. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +0 -36
  267. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +0 -15
  268. package/dist/nile-sidebar-wrapper/index.cjs.js +0 -2
  269. package/dist/nile-sidebar-wrapper/index.cjs.js.map +0 -1
  270. package/dist/nile-sidebar-wrapper/index.esm.js +0 -1
  271. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +0 -2
  272. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +0 -1
  273. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +0 -2
  274. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +0 -1
  275. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +0 -105
  276. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +0 -16
  277. package/dist/nile-test-hello/index.cjs.js +0 -2
  278. package/dist/nile-test-hello/index.cjs.js.map +0 -1
  279. package/dist/nile-test-hello/index.esm.js +0 -1
  280. package/dist/nile-test-hello/nile-test-hello.cjs.js +0 -2
  281. package/dist/nile-test-hello/nile-test-hello.cjs.js.map +0 -1
  282. package/dist/nile-test-hello/nile-test-hello.css.cjs.js +0 -2
  283. package/dist/nile-test-hello/nile-test-hello.css.cjs.js.map +0 -1
  284. package/dist/nile-test-hello/nile-test-hello.css.esm.js +0 -5
  285. package/dist/nile-test-hello/nile-test-hello.esm.js +0 -1
  286. package/dist/nile-test-hello-column/index.cjs.js +0 -2
  287. package/dist/nile-test-hello-column/index.cjs.js.map +0 -1
  288. package/dist/nile-test-hello-column/index.esm.js +0 -1
  289. package/dist/nile-test-hello-column/nile-test-hello-column.cjs.js +0 -2
  290. package/dist/nile-test-hello-column/nile-test-hello-column.cjs.js.map +0 -1
  291. package/dist/nile-test-hello-column/nile-test-hello-column.css.cjs.js +0 -2
  292. package/dist/nile-test-hello-column/nile-test-hello-column.css.cjs.js.map +0 -1
  293. package/dist/nile-test-hello-column/nile-test-hello-column.css.esm.js +0 -5
  294. package/dist/nile-test-hello-column/nile-test-hello-column.esm.js +0 -1
  295. package/dist/scopedElementsWrapper-4c29be11.esm.js +0 -7
  296. package/dist/scopedElementsWrapper-a112fc73.cjs.js +0 -6
  297. package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +0 -1
  298. package/dist/src/internal/expandable-row-helper.d.ts +0 -13
  299. package/dist/src/internal/expandable-row-helper.js +0 -37
  300. package/dist/src/internal/expandable-row-helper.js.map +0 -1
  301. package/dist/src/internal/expandable-row-styles.d.ts +0 -11
  302. package/dist/src/internal/expandable-row-styles.js +0 -27
  303. package/dist/src/internal/expandable-row-styles.js.map +0 -1
  304. package/dist/src/internal/table-expandable-helper.d.ts +0 -0
  305. package/dist/src/internal/table-expandable-helper.js +0 -2
  306. package/dist/src/internal/table-expandable-helper.js.map +0 -1
  307. package/dist/src/internal/table-row-expandable-helper.d.ts +0 -12
  308. package/dist/src/internal/table-row-expandable-helper.js +0 -32
  309. package/dist/src/internal/table-row-expandable-helper.js.map +0 -1
  310. package/dist/src/internal/table-row-expandable-styles.d.ts +0 -11
  311. package/dist/src/internal/table-row-expandable-styles.js +0 -12
  312. package/dist/src/internal/table-row-expandable-styles.js.map +0 -1
  313. package/dist/src/nile-grid/nile-grid-column-cell-template/index.d.ts +0 -1
  314. package/dist/src/nile-grid/nile-grid-column-cell-template/index.js +0 -2
  315. package/dist/src/nile-grid/nile-grid-column-cell-template/index.js.map +0 -1
  316. package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.d.ts +0 -12
  317. package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.js +0 -17
  318. package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.js.map +0 -1
  319. package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.d.ts +0 -36
  320. package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.js +0 -61
  321. package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.js.map +0 -1
  322. package/dist/src/nile-grid/nile-grid-column-head-template/index.d.ts +0 -1
  323. package/dist/src/nile-grid/nile-grid-column-head-template/index.js +0 -2
  324. package/dist/src/nile-grid/nile-grid-column-head-template/index.js.map +0 -1
  325. package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.d.ts +0 -12
  326. package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.js +0 -17
  327. package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.js.map +0 -1
  328. package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.d.ts +0 -32
  329. package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.js +0 -43
  330. package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.js.map +0 -1
  331. package/dist/src/nile-grid/nile-grid-columns/index.d.ts +0 -1
  332. package/dist/src/nile-grid/nile-grid-columns/index.js +0 -2
  333. package/dist/src/nile-grid/nile-grid-columns/index.js.map +0 -1
  334. package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.css.d.ts +0 -12
  335. package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.css.js +0 -17
  336. package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.css.js.map +0 -1
  337. package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.d.ts +0 -32
  338. package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.js +0 -43
  339. package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.js.map +0 -1
  340. package/dist/src/nile-grid/nile-grid.computeWidth.d.ts +0 -0
  341. package/dist/src/nile-grid/nile-grid.computeWidth.js +0 -2
  342. package/dist/src/nile-grid/nile-grid.computeWidth.js.map +0 -1
  343. package/dist/src/nile-grid/nile-grid.data-attribute.d.ts +0 -2
  344. package/dist/src/nile-grid/nile-grid.data-attribute.js +0 -13
  345. package/dist/src/nile-grid/nile-grid.data-attribute.js.map +0 -1
  346. package/dist/src/nile-grid/nile-grid.enums.d.ts +0 -1
  347. package/dist/src/nile-grid/nile-grid.enums.js +0 -2
  348. package/dist/src/nile-grid/nile-grid.enums.js.map +0 -1
  349. package/dist/src/nile-grid/nile-spannable-table.css.d.ts +0 -12
  350. package/dist/src/nile-grid/nile-spannable-table.css.js +0 -21
  351. package/dist/src/nile-grid/nile-spannable-table.css.js.map +0 -1
  352. package/dist/src/nile-grid/nile-spannable-table.d.ts +0 -63
  353. package/dist/src/nile-grid/nile-spannable-table.js +0 -296
  354. package/dist/src/nile-grid/nile-spannable-table.js.map +0 -1
  355. package/dist/src/nile-grid-cell/index.d.ts +0 -1
  356. package/dist/src/nile-grid-cell/index.js +0 -2
  357. package/dist/src/nile-grid-cell/index.js.map +0 -1
  358. package/dist/src/nile-grid-cell/nile-grid-cell.css.d.ts +0 -12
  359. package/dist/src/nile-grid-cell/nile-grid-cell.css.js +0 -47
  360. package/dist/src/nile-grid-cell/nile-grid-cell.css.js.map +0 -1
  361. package/dist/src/nile-grid-cell/nile-grid-cell.d.ts +0 -43
  362. package/dist/src/nile-grid-cell/nile-grid-cell.js +0 -102
  363. package/dist/src/nile-grid-cell/nile-grid-cell.js.map +0 -1
  364. package/dist/src/nile-grid-cell/nile-grid-cell.utils.d.ts +0 -10
  365. package/dist/src/nile-grid-cell/nile-grid-cell.utils.js +0 -41
  366. package/dist/src/nile-grid-cell/nile-grid-cell.utils.js.map +0 -1
  367. package/dist/src/nile-grid-cell/nile-gris-cell.utils.d.ts +0 -10
  368. package/dist/src/nile-grid-cell/nile-gris-cell.utils.js +0 -33
  369. package/dist/src/nile-grid-cell/nile-gris-cell.utils.js.map +0 -1
  370. package/dist/src/nile-grid-column/index.d.ts +0 -1
  371. package/dist/src/nile-grid-column/index.js +0 -2
  372. package/dist/src/nile-grid-column/index.js.map +0 -1
  373. package/dist/src/nile-grid-column/nile-grid-column.css.d.ts +0 -12
  374. package/dist/src/nile-grid-column/nile-grid-column.css.js +0 -17
  375. package/dist/src/nile-grid-column/nile-grid-column.css.js.map +0 -1
  376. package/dist/src/nile-grid-column/nile-grid-column.d.ts +0 -32
  377. package/dist/src/nile-grid-column/nile-grid-column.js +0 -43
  378. package/dist/src/nile-grid-column/nile-grid-column.js.map +0 -1
  379. package/dist/src/nile-grid-columns/index.d.ts +0 -1
  380. package/dist/src/nile-grid-columns/index.js +0 -2
  381. package/dist/src/nile-grid-columns/index.js.map +0 -1
  382. package/dist/src/nile-grid-columns/nile-grid-columns.css.d.ts +0 -12
  383. package/dist/src/nile-grid-columns/nile-grid-columns.css.js +0 -17
  384. package/dist/src/nile-grid-columns/nile-grid-columns.css.js.map +0 -1
  385. package/dist/src/nile-grid-columns/nile-grid-columns.d.ts +0 -32
  386. package/dist/src/nile-grid-columns/nile-grid-columns.js +0 -43
  387. package/dist/src/nile-grid-columns/nile-grid-columns.js.map +0 -1
  388. package/dist/src/nile-grid-header/index.d.ts +0 -1
  389. package/dist/src/nile-grid-header/index.js +0 -2
  390. package/dist/src/nile-grid-header/index.js.map +0 -1
  391. package/dist/src/nile-grid-header/nile-grid-head-item.css.d.ts +0 -12
  392. package/dist/src/nile-grid-header/nile-grid-head-item.css.js +0 -44
  393. package/dist/src/nile-grid-header/nile-grid-head-item.css.js.map +0 -1
  394. package/dist/src/nile-grid-header/nile-grid-head-item.d.ts +0 -42
  395. package/dist/src/nile-grid-header/nile-grid-head-item.js +0 -127
  396. package/dist/src/nile-grid-header/nile-grid-head-item.js.map +0 -1
  397. package/dist/src/nile-grid-header/nile-grid-header.css.d.ts +0 -12
  398. package/dist/src/nile-grid-header/nile-grid-header.css.js +0 -44
  399. package/dist/src/nile-grid-header/nile-grid-header.css.js.map +0 -1
  400. package/dist/src/nile-grid-header/nile-grid-header.d.ts +0 -42
  401. package/dist/src/nile-grid-header/nile-grid-header.js +0 -127
  402. package/dist/src/nile-grid-header/nile-grid-header.js.map +0 -1
  403. package/dist/src/nile-group-header/index.d.ts +0 -1
  404. package/dist/src/nile-group-header/index.js +0 -2
  405. package/dist/src/nile-group-header/index.js.map +0 -1
  406. package/dist/src/nile-group-header/nile-group-header.css.js +0 -30
  407. package/dist/src/nile-group-header/nile-group-header.css.js.map +0 -1
  408. package/dist/src/nile-group-header/nile-group-header.d.ts +0 -19
  409. package/dist/src/nile-group-header/nile-group-header.js +0 -36
  410. package/dist/src/nile-group-header/nile-group-header.js.map +0 -1
  411. package/dist/src/nile-group-header/nile-option-header.css.d.ts +0 -12
  412. package/dist/src/nile-group-header/nile-option-header.css.js +0 -30
  413. package/dist/src/nile-group-header/nile-option-header.css.js.map +0 -1
  414. package/dist/src/nile-group-header/nile-option-header.d.ts +0 -33
  415. package/dist/src/nile-group-header/nile-option-header.js +0 -51
  416. package/dist/src/nile-group-header/nile-option-header.js.map +0 -1
  417. package/dist/src/nile-option-header/index.d.ts +0 -1
  418. package/dist/src/nile-option-header/index.js +0 -2
  419. package/dist/src/nile-option-header/nile-option-header.css.d.ts +0 -12
  420. package/dist/src/nile-option-header/nile-option-header.css.js +0 -30
  421. package/dist/src/nile-option-header/nile-option-header.css.js.map +0 -1
  422. package/dist/src/nile-option-header/nile-option-header.d.ts +0 -33
  423. package/dist/src/nile-option-header/nile-option-header.js +0 -51
  424. package/dist/src/nile-option-header/nile-option-header.js.map +0 -1
  425. package/dist/src/nile-spannable-table/index.d.ts +0 -1
  426. package/dist/src/nile-spannable-table/index.js +0 -2
  427. package/dist/src/nile-spannable-table/index.js.map +0 -1
  428. package/dist/src/nile-spannable-table/nile-spannable-table.css.d.ts +0 -12
  429. package/dist/src/nile-spannable-table/nile-spannable-table.css.js +0 -21
  430. package/dist/src/nile-spannable-table/nile-spannable-table.css.js.map +0 -1
  431. package/dist/src/nile-spannable-table/nile-spannable-table.d.ts +0 -63
  432. package/dist/src/nile-spannable-table/nile-spannable-table.js +0 -296
  433. package/dist/src/nile-spannable-table/nile-spannable-table.js.map +0 -1
  434. package/dist/src/nile-spannable-table-body/index.d.ts +0 -1
  435. package/dist/src/nile-spannable-table-body/index.js +0 -2
  436. package/dist/src/nile-spannable-table-body/index.js.map +0 -1
  437. package/dist/src/nile-spannable-table-body/nile-spannable-table-body.css.d.ts +0 -12
  438. package/dist/src/nile-spannable-table-body/nile-spannable-table-body.css.js +0 -23
  439. package/dist/src/nile-spannable-table-body/nile-spannable-table-body.css.js.map +0 -1
  440. package/dist/src/nile-spannable-table-body/nile-spannable-table-body.d.ts +0 -33
  441. package/dist/src/nile-spannable-table-body/nile-spannable-table-body.js +0 -45
  442. package/dist/src/nile-spannable-table-body/nile-spannable-table-body.js.map +0 -1
  443. package/dist/src/nile-spannable-table-cell/index.d.ts +0 -1
  444. package/dist/src/nile-spannable-table-cell/index.js +0 -2
  445. package/dist/src/nile-spannable-table-cell/index.js.map +0 -1
  446. package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.css.d.ts +0 -12
  447. package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.css.js +0 -21
  448. package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.css.js.map +0 -1
  449. package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.d.ts +0 -37
  450. package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.js +0 -63
  451. package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.js.map +0 -1
  452. package/dist/src/nile-spannable-table-header/index.d.ts +0 -1
  453. package/dist/src/nile-spannable-table-header/index.js +0 -2
  454. package/dist/src/nile-spannable-table-header/index.js.map +0 -1
  455. package/dist/src/nile-spannable-table-header/nile-spannable-table-header.css.d.ts +0 -12
  456. package/dist/src/nile-spannable-table-header/nile-spannable-table-header.css.js +0 -33
  457. package/dist/src/nile-spannable-table-header/nile-spannable-table-header.css.js.map +0 -1
  458. package/dist/src/nile-spannable-table-header/nile-spannable-table-header.d.ts +0 -42
  459. package/dist/src/nile-spannable-table-header/nile-spannable-table-header.js +0 -119
  460. package/dist/src/nile-spannable-table-header/nile-spannable-table-header.js.map +0 -1
  461. package/dist/src/nile-spannable-table-row/index.d.ts +0 -1
  462. package/dist/src/nile-spannable-table-row/index.js +0 -2
  463. package/dist/src/nile-spannable-table-row/index.js.map +0 -1
  464. package/dist/src/nile-spannable-table-row/nile-spannable-table-row.css.d.ts +0 -12
  465. package/dist/src/nile-spannable-table-row/nile-spannable-table-row.css.js +0 -17
  466. package/dist/src/nile-spannable-table-row/nile-spannable-table-row.css.js.map +0 -1
  467. package/dist/src/nile-spannable-table-row/nile-spannable-table-row.d.ts +0 -35
  468. package/dist/src/nile-spannable-table-row/nile-spannable-table-row.js +0 -57
  469. package/dist/src/nile-spannable-table-row/nile-spannable-table-row.js.map +0 -1
  470. package/dist/src/nile-table-row/TableRowExpandableHelper.d.ts +0 -9
  471. package/dist/src/nile-table-row/TableRowExpandableHelper.js +0 -26
  472. package/dist/src/nile-table-row/TableRowExpandableHelper.js.map +0 -1
  473. package/dist/src/nile-table-row/helper.ts.d.ts +0 -37
  474. package/dist/src/nile-table-row/helper.ts.js +0 -105
  475. package/dist/src/nile-table-row/helper.ts.js.map +0 -1
  476. package/dist/src/nile-table-row/nile-table-row-expandable.d.ts +0 -37
  477. package/dist/src/nile-table-row/nile-table-row-expandable.js +0 -105
  478. package/dist/src/nile-table-row/nile-table-row-expandable.js.map +0 -1
  479. package/dist/src/nile-table-row-expandable/index.d.ts +0 -1
  480. package/dist/src/nile-table-row-expandable/index.js +0 -2
  481. package/dist/src/nile-table-row-expandable/index.js.map +0 -1
  482. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.d.ts +0 -12
  483. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.js +0 -17
  484. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.js.map +0 -1
  485. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.d.ts +0 -37
  486. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.js +0 -103
  487. package/dist/src/nile-table-row-expandable/nile-table-row-expandable.js.map +0 -1
  488. package/dist/src/nile-test-hello/index.d.ts +0 -1
  489. package/dist/src/nile-test-hello/index.js +0 -2
  490. package/dist/src/nile-test-hello/index.js.map +0 -1
  491. package/dist/src/nile-test-hello/nile-test-hello.css.d.ts +0 -12
  492. package/dist/src/nile-test-hello/nile-test-hello.css.js +0 -17
  493. package/dist/src/nile-test-hello/nile-test-hello.css.js.map +0 -1
  494. package/dist/src/nile-test-hello/nile-test-hello.d.ts +0 -33
  495. package/dist/src/nile-test-hello/nile-test-hello.js +0 -49
  496. package/dist/src/nile-test-hello/nile-test-hello.js.map +0 -1
  497. package/dist/src/nile-test-hello-column/index.d.ts +0 -1
  498. package/dist/src/nile-test-hello-column/index.js +0 -2
  499. package/dist/src/nile-test-hello-column/index.js.map +0 -1
  500. package/dist/src/nile-test-hello-column/nile-test-hello-column.css.d.ts +0 -12
  501. package/dist/src/nile-test-hello-column/nile-test-hello-column.css.js +0 -17
  502. package/dist/src/nile-test-hello-column/nile-test-hello-column.css.js.map +0 -1
  503. package/dist/src/nile-test-hello-column/nile-test-hello-column.d.ts +0 -13
  504. package/dist/src/nile-test-hello-column/nile-test-hello-column.js +0 -27
  505. package/dist/src/nile-test-hello-column/nile-test-hello-column.js.map +0 -1
  506. package/dist/src/nile-tooltip/nile-tooltip-utils.d.ts +0 -18
  507. package/dist/src/nile-tooltip/nile-tooltip-utils.js +0 -216
  508. package/dist/src/nile-tooltip/nile-tooltip-utils.js.map +0 -1
  509. package/dist/src/nile-tooltip/nile-tooltip.test.d.ts +0 -1
  510. package/dist/src/nile-tooltip/nile-tooltip.test.js +0 -148
  511. package/dist/src/nile-tooltip/nile-tooltip.test.js.map +0 -1
@@ -1,296 +0,0 @@
1
- /**
2
- * Copyright Aquera Inc 2023
3
- *
4
- * This source code is licensed under the BSD-3-Clause license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
- import { __decorate } from "tslib";
8
- import { html } from 'lit';
9
- import { customElement, query, state } from 'lit/decorators.js';
10
- import { styles } from './nile-spannable-table.css';
11
- import NileElement from '../internal/nile-element';
12
- /**
13
- * Nile spannable-table component.
14
- *
15
- * @tag nile-spannable-table
16
- *
17
- */
18
- let NileSpannableTable = class NileSpannableTable extends NileElement {
19
- constructor() {
20
- super(...arguments);
21
- this.colTemplate = ''; // e.g. '200px 1fr 240px'
22
- this.columnWidths = []; // e.g. ['200px','1fr','240px']
23
- this.rowHeight = 40; // px
24
- this.overscan = 6; // base overscan
25
- this._allRows = [];
26
- this._first = 0;
27
- this._last = 0;
28
- this._lastTop = 0;
29
- this._lastTs = 0;
30
- this._scrollRaf = 0;
31
- // avoid observer ping-pong while we replace children
32
- this._vsUpdating = false;
33
- this.raf = 0;
34
- this.onResize = (e) => {
35
- const { col, widthPx } = e.detail;
36
- this.columnWidths[col] = `${Math.max(40, widthPx)}px`; // min 40px
37
- this.colTemplate = this.columnWidths.join(' ');
38
- const body = this._getBody();
39
- if (body)
40
- this.applyTemplate(body);
41
- };
42
- this.onAutoFit = (e) => {
43
- const { col } = e.detail;
44
- const body = this._getBody();
45
- if (!body)
46
- return;
47
- const line = String(col + 1);
48
- const els = body.querySelectorAll(`[data-c-start="${line}"]`);
49
- let max = 0;
50
- els.forEach(el => max = Math.max(max, Math.ceil(el.getBoundingClientRect().width)));
51
- const pad = 16; // tweak if needed
52
- this.columnWidths[col] = `${Math.max(40, max + pad)}px`;
53
- this.colTemplate = this.columnWidths.join(' ');
54
- this.applyTemplate(body);
55
- };
56
- this._onScroll = () => {
57
- if (this._scrollRaf)
58
- return;
59
- this._scrollRaf = requestAnimationFrame(() => {
60
- this._scrollRaf = 0;
61
- const body = this._getBody();
62
- if (!body)
63
- return;
64
- this._updateWindow(body);
65
- });
66
- };
67
- /* #endregion */
68
- }
69
- /**
70
- * The styles for nile-spannable-table
71
- * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
72
- */
73
- static get styles() {
74
- return [styles];
75
- }
76
- _ensureSpacers(body) {
77
- if (!this._topEl) {
78
- this._topEl = document.createElement('div');
79
- this._topEl.className = 'nile-vs-top';
80
- this._topEl.setAttribute('aria-hidden', 'true');
81
- this._topEl.style.gridColumn = '1 / -1';
82
- }
83
- if (!this._botEl) {
84
- this._botEl = document.createElement('div');
85
- this._botEl.className = 'nile-vs-bot';
86
- this._botEl.setAttribute('aria-hidden', 'true');
87
- this._botEl.style.gridColumn = '1 / -1';
88
- }
89
- if (!this._topEl.parentNode)
90
- body.prepend(this._topEl);
91
- if (!this._botEl.parentNode)
92
- body.append(this._botEl);
93
- }
94
- scheduleLayout() {
95
- if (this.raf)
96
- cancelAnimationFrame(this.raf);
97
- this.raf = requestAnimationFrame(() => { this.raf = 0; this.layout(); });
98
- }
99
- ensureWidths(colCount) {
100
- if (this.columnWidths.length !== colCount) {
101
- this.columnWidths = Array(colCount).fill('auto');
102
- this.colTemplate = this.columnWidths.join(' ');
103
- }
104
- }
105
- applyTemplate(body) {
106
- body.style.gridTemplateColumns = this.colTemplate || `repeat(${Math.max(this.columnWidths.length, 1)}, auto)`;
107
- }
108
- firstUpdated() {
109
- this.setAttribute('role', 'table');
110
- this.addEventListener('nile:resize', this.onResize);
111
- this.addEventListener('nile:autofit', this.onAutoFit);
112
- this.slotEl.addEventListener('slotchange', () => this._attachObserverAndLayout());
113
- this._attachObserverAndLayout();
114
- const rh = parseFloat(getComputedStyle(this._getBody()).getPropertyValue('--row-h')) || 0;
115
- if (rh)
116
- this.rowHeight = rh;
117
- }
118
- _attachObserverAndLayout() {
119
- const body = this._getBody();
120
- if (!body)
121
- return;
122
- // (re)attach observer
123
- this.mo?.disconnect();
124
- this.mo = new MutationObserver(() => {
125
- if (this._vsUpdating)
126
- return;
127
- this.scheduleLayout();
128
- });
129
- this.mo.observe(body, {
130
- subtree: true,
131
- childList: true,
132
- attributes: true,
133
- attributeFilter: ['colspan', 'rowspan']
134
- });
135
- this.layout();
136
- }
137
- layout() {
138
- const body = this._getBody();
139
- if (!body)
140
- return;
141
- // const rows = Array.from(body.querySelectorAll('nile-spannable-table-row'));
142
- const rows = this._allRows.length
143
- ? this._allRows
144
- : Array.from(body.querySelectorAll('nile-spannable-table-row'));
145
- this._allRows = rows;
146
- const carry = []; // remaining blocked rows per column
147
- let colCount = 0;
148
- rows.forEach((row, rIdx) => {
149
- for (let i = 0; i < carry.length; i++)
150
- if (carry[i] > 0)
151
- carry[i]--; // new row
152
- let c = 1; // 1-based column index
153
- const cells = Array.from(row.querySelectorAll('nile-spannable-table-cell, nile-spannable-table-header'));
154
- cells.forEach(cell => {
155
- while (carry[c - 1] > 0)
156
- c++; // skip blocked cols (rowspan)
157
- const colspan = Math.max(1, Number(cell.getAttribute('colspan')) || 1);
158
- const rowspan = Math.max(1, Number(cell.getAttribute('rowspan')) || 1);
159
- const cStart = c, cEnd = c + colspan;
160
- const rStart = rIdx + 1, rEnd = rStart + rowspan;
161
- cell.style.gridColumn = `${cStart} / ${cEnd}`;
162
- cell.style.gridRow = `${rStart} / ${rEnd}`;
163
- cell.dataset.cStart = String(cStart);
164
- for (let k = 0; k < colspan; k++) {
165
- const idx = c - 1 + k;
166
- carry[idx] = Math.max(carry[idx] || 0, rowspan - 1);
167
- }
168
- c = cEnd;
169
- colCount = Math.max(colCount, cEnd - 1);
170
- });
171
- });
172
- this.ensureWidths(colCount);
173
- body.style.display = 'grid';
174
- body.style.gridAutoRows = 'var(--row-h, 40px)';
175
- // body.style.gridTemplateColumns = this.colTemplate || `repeat(${Math.max(colCount, 1)}, auto)`;
176
- body.style.height = '100%'; // ← make body the scrolling viewport
177
- body.style.overflowY = 'auto';
178
- this._ensureSpacers(body);
179
- // capture the full set of rows once (order matters)
180
- // this._allRows = Array.from(body.querySelectorAll('nile-spannable-table-row'));
181
- // listen once
182
- if (!body.hasAttribute('data-vs')) {
183
- body.setAttribute('data-vs', '1');
184
- body.addEventListener('scroll', this._onScroll, { passive: true });
185
- // init scroll anchors
186
- this._lastTop = body.scrollTop;
187
- this._lastTs = performance.now();
188
- }
189
- // initial window
190
- this._updateWindow(body, /*force*/ true);
191
- this.applyTemplate(body);
192
- }
193
- // METHOD: _updateWindow
194
- _updateWindow(body, force = false) {
195
- this._ensureSpacers(body);
196
- const total = this._allRows.length;
197
- if (!total)
198
- return;
199
- const now = performance.now();
200
- const st = body.scrollTop;
201
- const dt = Math.max(1, now - this._lastTs);
202
- const v = Math.abs(st - this._lastTop) / dt; // px/ms
203
- // velocity-adaptive overscan
204
- const boost = v > 0.8 ? 3 : v > 0.4 ? 2 : 1;
205
- const localOverscan = Math.max(this.overscan, this.overscan * boost);
206
- const vh = body.clientHeight;
207
- const rowsInView = Math.max(1, Math.ceil(vh / this.rowHeight));
208
- let start = Math.max(0, Math.floor(st / this.rowHeight) - localOverscan);
209
- let end = Math.min(total, start + rowsInView + localOverscan * 2);
210
- if (end <= start)
211
- end = Math.min(total, start + 1); // ← ensure at least one row
212
- if (!force && start === this._first && end === this._last) {
213
- this._lastTop = st;
214
- this._lastTs = now;
215
- return;
216
- }
217
- this._first = start;
218
- this._last = end;
219
- // spacers
220
- this._topEl.style.height = `${start * this.rowHeight}px`;
221
- this._botEl.style.height = `${(total - end) * this.rowHeight}px`;
222
- // build window
223
- const frag = document.createDocumentFragment();
224
- for (let i = start; i < end; i++)
225
- frag.appendChild(this._allRows[i]);
226
- // swap once with MO paused; keep scroll position
227
- const obs = this.mo;
228
- obs?.disconnect();
229
- try {
230
- body.replaceChildren(this._topEl, frag, this._botEl);
231
- body.scrollTop = st;
232
- }
233
- finally {
234
- obs?.observe(body, {
235
- subtree: true,
236
- childList: true,
237
- attributes: true,
238
- attributeFilter: ['colspan', 'rowspan']
239
- });
240
- }
241
- this._lastTop = st;
242
- this._lastTs = now;
243
- }
244
- /** later: parse rows/cells → compute col count/template */
245
- _getBody() {
246
- const nodes = this.slotEl?.assignedElements({ flatten: true }) ?? [];
247
- return nodes.find(n => n.tagName.toLowerCase() === 'nile-spannable-table-body') || null;
248
- }
249
- updated(_c) {
250
- // later: reapply computed grid-template-columns here
251
- }
252
- /**
253
- * Render method
254
- * @slot This is a slot test
255
- */
256
- render() {
257
- return html `
258
- <slot></slot>
259
- `;
260
- }
261
- disconnectedCallback() {
262
- super.disconnectedCallback?.();
263
- this.mo?.disconnect();
264
- if (this.raf)
265
- cancelAnimationFrame(this.raf);
266
- const body = this._getBody();
267
- if (body)
268
- body.removeEventListener('scroll', this._onScroll);
269
- this.removeEventListener('nile:resize', this.onResize);
270
- this.removeEventListener('nile:autofit', this.onAutoFit);
271
- this._allRows = [];
272
- this._topEl = undefined;
273
- this._botEl = undefined;
274
- }
275
- };
276
- __decorate([
277
- state()
278
- ], NileSpannableTable.prototype, "colTemplate", void 0);
279
- __decorate([
280
- state()
281
- ], NileSpannableTable.prototype, "columnWidths", void 0);
282
- __decorate([
283
- query('slot')
284
- ], NileSpannableTable.prototype, "slotEl", void 0);
285
- __decorate([
286
- state()
287
- ], NileSpannableTable.prototype, "rowHeight", void 0);
288
- __decorate([
289
- state()
290
- ], NileSpannableTable.prototype, "overscan", void 0);
291
- NileSpannableTable = __decorate([
292
- customElement('nile-spannable-table')
293
- ], NileSpannableTable);
294
- export { NileSpannableTable };
295
- export default NileSpannableTable;
296
- //# sourceMappingURL=nile-spannable-table.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nile-spannable-table.js","sourceRoot":"","sources":["../../../src/nile-grid/nile-spannable-table.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {LitElement, html, CSSResultArray, TemplateResult, PropertyValues} from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport {styles} from './nile-spannable-table.css';\nimport NileElement from '../internal/nile-element';\n\n\n/**\n * Nile spannable-table component.\n *\n * @tag nile-spannable-table\n *\n */\n@customElement('nile-spannable-table')\nexport class NileSpannableTable extends NileElement {\n\n\t/**\n\t * The styles for nile-spannable-table\n\t * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n\t */\n\tpublic static get styles(): CSSResultArray {\n\t\treturn [styles];\n\t}\n\n\t@state() private colTemplate = ''; // e.g. '200px 1fr 240px'\n\t@state() private columnWidths: string[] = []; // e.g. ['200px','1fr','240px']\n\t@query('slot') private slotEl!: HTMLSlotElement;\n\n\t@state() private rowHeight = 40; // px\n\t@state() private overscan = 6; // base overscan\n\n\tprivate _allRows: HTMLElement[] = [];\n\tprivate _first = 0;\n\tprivate _last = 0;\n\n\tprivate _topEl?: HTMLDivElement;\n\tprivate _botEl?: HTMLDivElement;\n\n\tprivate _lastTop = 0;\n\tprivate _lastTs = 0;\n\tprivate _scrollRaf = 0;\n\n\t// avoid observer ping-pong while we replace children\n\tprivate _vsUpdating = false;\n\n\tprivate mo?: MutationObserver;\n\tprivate raf = 0;\n\n\tprivate _ensureSpacers(body: HTMLElement) {\n\t\tif (!this._topEl) {\n\t\t\tthis._topEl = document.createElement('div');\n\t\t\tthis._topEl.className = 'nile-vs-top';\n\t\t\tthis._topEl.setAttribute('aria-hidden', 'true');\n\t\t\tthis._topEl.style.gridColumn = '1 / -1';\n\t\t}\n\t\tif (!this._botEl) {\n\t\t\tthis._botEl = document.createElement('div');\n\t\t\tthis._botEl.className = 'nile-vs-bot';\n\t\t\tthis._botEl.setAttribute('aria-hidden', 'true');\n\t\t\tthis._botEl.style.gridColumn = '1 / -1';\n\t\t}\n\t\tif (!this._topEl.parentNode) body.prepend(this._topEl);\n\t\tif (!this._botEl.parentNode) body.append(this._botEl);\n\t}\n\n\tprivate scheduleLayout() {\n\t\tif (this.raf) cancelAnimationFrame(this.raf);\n\t\tthis.raf = requestAnimationFrame(() => { this.raf = 0; this.layout(); });\n\t}\n\n\tprivate ensureWidths(colCount: number) {\n\t\tif (this.columnWidths.length !== colCount) {\n\t\t\tthis.columnWidths = Array(colCount).fill('auto');\n\t\t\tthis.colTemplate = this.columnWidths.join(' ');\n\t\t}\n\t}\n\n\tprivate applyTemplate(body: HTMLElement) {\n\t\tbody.style.gridTemplateColumns = this.colTemplate || `repeat(${Math.max(this.columnWidths.length, 1)}, auto)`;\n\t}\n\n\tprivate onResize = (e: Event) => {\n\t\tconst { col, widthPx } = (e as CustomEvent).detail as { col: number; widthPx: number };\n\t\tthis.columnWidths[col] = `${Math.max(40, widthPx)}px`; // min 40px\n\t\tthis.colTemplate = this.columnWidths.join(' ');\n\t\tconst body = this._getBody(); if (body) this.applyTemplate(body);\n\t};\n\n\tprotected firstUpdated() {\n\t\tthis.setAttribute('role', 'table');\n\t\tthis.addEventListener('nile:resize', this.onResize);\n\t\tthis.addEventListener('nile:autofit', this.onAutoFit);\n\t\tthis.slotEl.addEventListener('slotchange', () => this._attachObserverAndLayout());\n\t\tthis._attachObserverAndLayout();\n\n\t\tconst rh = parseFloat(getComputedStyle(this._getBody()!).getPropertyValue('--row-h')) || 0;\n\t\tif (rh) this.rowHeight = rh;\n\t}\n\n\tprivate onAutoFit = (e: Event) => {\n\t\tconst { col } = (e as CustomEvent).detail as { col: number };\n\t\tconst body = this._getBody(); if (!body) return;\n\t\tconst line = String(col + 1);\n\t\tconst els = body.querySelectorAll<HTMLElement>(`[data-c-start=\"${line}\"]`);\n\t\tlet max = 0;\n\t\tels.forEach(el => max = Math.max(max, Math.ceil(el.getBoundingClientRect().width)));\n\t\tconst pad = 16; // tweak if needed\n\t\tthis.columnWidths[col] = `${Math.max(40, max + pad)}px`;\n\t\tthis.colTemplate = this.columnWidths.join(' ');\n\t\tthis.applyTemplate(body);\n\t};\n\n\tprivate _attachObserverAndLayout() {\n\t\tconst body = this._getBody();\n\t\tif (!body) return;\n\n\t\t// (re)attach observer\n\t\tthis.mo?.disconnect();\n\t\tthis.mo = new MutationObserver(() => {\n\t\t\tif (this._vsUpdating) return;\n\t\t\tthis.scheduleLayout()\n\t\t});\n\t\tthis.mo.observe(body, {\n\t\t\tsubtree: true,\n\t\t\tchildList: true,\n\t\t\tattributes: true,\n\t\t\tattributeFilter: ['colspan', 'rowspan']\n\t\t});\n\n\t\tthis.layout();\n\t}\n\n\tprivate layout() {\n\t\tconst body = this._getBody(); if (!body) return;\n\n\t\t// const rows = Array.from(body.querySelectorAll('nile-spannable-table-row'));\n\t\tconst rows = this._allRows.length\n\t\t\t? this._allRows\n\t\t\t: Array.from(body.querySelectorAll('nile-spannable-table-row'));\n\t\tthis._allRows = rows;\n\n\t\tconst carry: number[] = []; // remaining blocked rows per column\n\t\tlet colCount = 0;\n\n\t\trows.forEach((row, rIdx) => {\n\t\t\tfor (let i = 0; i < carry.length; i++) if (carry[i] > 0) carry[i]--; // new row\n\n\t\t\tlet c = 1; // 1-based column index\n\t\t\tconst cells = Array.from(\n\t\t\t\trow.querySelectorAll('nile-spannable-table-cell, nile-spannable-table-header')\n\t\t\t) as HTMLElement[];\n\n\t\t\tcells.forEach(cell => {\n\t\t\t\twhile (carry[c - 1] > 0) c++; // skip blocked cols (rowspan)\n\t\t\t\tconst colspan = Math.max(1, Number(cell.getAttribute('colspan')) || 1);\n\t\t\t\tconst rowspan = Math.max(1, Number(cell.getAttribute('rowspan')) || 1);\n\n\t\t\t\tconst cStart = c, cEnd = c + colspan;\n\t\t\t\tconst rStart = rIdx + 1, rEnd = rStart + rowspan;\n\n\t\t\t\tcell.style.gridColumn = `${cStart} / ${cEnd}`;\n\t\t\t\tcell.style.gridRow = `${rStart} / ${rEnd}`;\n\t\t\t\t(cell as any).dataset.cStart = String(cStart);\n\n\t\t\t\tfor (let k = 0; k < colspan; k++) {\n\t\t\t\t\tconst idx = c - 1 + k;\n\t\t\t\t\tcarry[idx] = Math.max(carry[idx] || 0, rowspan - 1);\n\t\t\t\t}\n\n\t\t\t\tc = cEnd;\n\t\t\t\tcolCount = Math.max(colCount, cEnd - 1);\n\t\t\t});\n\t\t});\n\n\t\tthis.ensureWidths(colCount);\n\t\tbody.style.display = 'grid';\n\t\tbody.style.gridAutoRows = 'var(--row-h, 40px)';\n\t\t// body.style.gridTemplateColumns = this.colTemplate || `repeat(${Math.max(colCount, 1)}, auto)`;\n\t\tbody.style.height = '100%'; // ← make body the scrolling viewport\n\t\tbody.style.overflowY = 'auto';\n\n\t\tthis._ensureSpacers(body);\n\n\t\t// capture the full set of rows once (order matters)\n\t\t// this._allRows = Array.from(body.querySelectorAll('nile-spannable-table-row'));\n\n\t\t// listen once\n\t\tif (!body.hasAttribute('data-vs')) {\n\t\t\tbody.setAttribute('data-vs', '1');\n\t\t\tbody.addEventListener('scroll', this._onScroll, { passive: true });\n\t\t\t// init scroll anchors\n\t\t\tthis._lastTop = body.scrollTop;\n\t\t\tthis._lastTs = performance.now();\n\t\t}\n\n\t\t// initial window\n\t\tthis._updateWindow(body, /*force*/ true);\n\n\t\tthis.applyTemplate(body);\n\t}\n\n\tprivate _onScroll = () => {\n\t\tif (this._scrollRaf) return;\n\t\tthis._scrollRaf = requestAnimationFrame(() => {\n\t\t\tthis._scrollRaf = 0;\n\t\t\tconst body = this._getBody(); if (!body) return;\n\t\t\tthis._updateWindow(body);\n\t\t});\n\t};\n\n\t// METHOD: _updateWindow\n\tprivate _updateWindow(body: HTMLElement, force = false) {\n\t\tthis._ensureSpacers(body);\n\n\t\tconst total = this._allRows.length;\n\t\tif (!total) return;\n\n\t\tconst now = performance.now();\n\t\tconst st = body.scrollTop;\n\t\tconst dt = Math.max(1, now - this._lastTs);\n\t\tconst v = Math.abs(st - this._lastTop) / dt; // px/ms\n\n\t\t// velocity-adaptive overscan\n\t\tconst boost = v > 0.8 ? 3 : v > 0.4 ? 2 : 1;\n\t\tconst localOverscan = Math.max(this.overscan, this.overscan * boost);\n\n\t\tconst vh = body.clientHeight;\n\t\tconst rowsInView = Math.max(1, Math.ceil(vh / this.rowHeight));\n\t\tlet start = Math.max(0, Math.floor(st / this.rowHeight) - localOverscan);\n\t\tlet end = Math.min(total, start + rowsInView + localOverscan * 2);\n\t\tif (end <= start) end = Math.min(total, start + 1); // ← ensure at least one row\n\n\t\tif (!force && start === this._first && end === this._last) {\n\t\t\tthis._lastTop = st; this._lastTs = now;\n\t\t\treturn;\n\t\t}\n\t\tthis._first = start; this._last = end;\n\n\t\t// spacers\n\t\tthis._topEl!.style.height = `${start * this.rowHeight}px`;\n\t\tthis._botEl!.style.height = `${(total - end) * this.rowHeight}px`;\n\n\t\t// build window\n\t\tconst frag = document.createDocumentFragment();\n\t\tfor (let i = start; i < end; i++) frag.appendChild(this._allRows[i]);\n\n\t\t// swap once with MO paused; keep scroll position\n\t\tconst obs = this.mo;\n\t\tobs?.disconnect();\n\t\ttry {\n\t\t\tbody.replaceChildren(this._topEl!, frag, this._botEl!);\n\t\t\tbody.scrollTop = st;\n\t\t} finally {\n\t\t\tobs?.observe(body, {\n\t\t\t\tsubtree: true,\n\t\t\t\tchildList: true,\n\t\t\t\tattributes: true,\n\t\t\t\tattributeFilter: ['colspan', 'rowspan']\n\t\t\t});\n\t\t}\n\n\t\tthis._lastTop = st; this._lastTs = now;\n\t}\n\n\t/** later: parse rows/cells → compute col count/template */\n\tprivate _getBody(): HTMLElement | null {\n\t\tconst nodes = this.slotEl?.assignedElements({ flatten: true }) ?? [];\n\t\treturn nodes.find(n => n.tagName.toLowerCase() === 'nile-spannable-table-body') as HTMLElement || null;\n\t}\n\n\tprotected updated(_c: PropertyValues) {\n\t\t// later: reapply computed grid-template-columns here\n\t}\n\n\t/**\n\t * Render method\n\t * @slot This is a slot test\n\t */\n\tpublic render(): TemplateResult {\n\t\treturn html`\n\t\t\t<slot></slot>\n\t\t`;\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback?.();\n\t\tthis.mo?.disconnect();\n\t\tif (this.raf) cancelAnimationFrame(this.raf);\n\n\t\tconst body = this._getBody(); \n\t\tif (body) body.removeEventListener('scroll', this._onScroll);\n\t\tthis.removeEventListener('nile:resize', this.onResize);\n\t\tthis.removeEventListener('nile:autofit', this.onAutoFit);\n\n\t\tthis._allRows = [];\n\t\tthis._topEl = undefined;\n\t\tthis._botEl = undefined;\n\t}\n\n\t/* #endregion */\n}\n\nexport default NileSpannableTable;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-spannable-table': NileSpannableTable;\n }\n}"]}
@@ -1 +0,0 @@
1
- export { NileGridCell } from './nile-grid-cell';
@@ -1,2 +0,0 @@
1
- export { NileGridCell } from './nile-grid-cell';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nile-grid-cell/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC","sourcesContent":["export { NileGridCell } from './nile-grid-cell';"]}
@@ -1,12 +0,0 @@
1
- /**
2
- * Copyright Aquera Inc 2025
3
- *
4
- * This source code is licensed under the BSD-3-Clause license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
- /**
8
- * Grid Cell CSS
9
- */
10
- export declare const styles: import("lit").CSSResult;
11
- declare const _default: import("lit").CSSResult[];
12
- export default _default;
@@ -1,47 +0,0 @@
1
- /**
2
- * Copyright Aquera Inc 2025
3
- *
4
- * This source code is licensed under the BSD-3-Clause license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
- import { css } from 'lit';
8
- /**
9
- * Grid Cell CSS
10
- */
11
- export const styles = css `
12
- :host{
13
- --padding: 16px 24px;
14
- box-sizing:border-box;
15
- min-width:0;
16
- white-space: nowrap;
17
- width: 100%;
18
- overflow: hidden;
19
- text-overflow: ellipsis;
20
- padding: var(--padding);
21
- height: auto;
22
- border-bottom: 1px solid var(--nile-colors-neutral-400);
23
- border-right: 1px solid var(--nile-colors-neutral-400);
24
- position:relative;
25
- }
26
-
27
- ::slotted(*) {
28
- overflow:hidden;
29
- text-overflow:ellipsis;
30
- white-space:nowrap;
31
- width: min-content;
32
- }
33
-
34
- .resize-handle {
35
- position:absolute;
36
- top:0;
37
- right:0;
38
- height:100%;
39
- cursor: col-resize;
40
- touch-action:none;
41
- z-index: 1;
42
- width: 2px;
43
- border-right: 1px solid var(--nile-colors-neutral-400);
44
- }
45
- `;
46
- export default [styles];
47
- //# sourceMappingURL=nile-grid-cell.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nile-grid-cell.css.js","sourceRoot":"","sources":["../../../src/nile-grid-cell/nile-grid-cell.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,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\n/**\n * Grid Cell CSS\n */\nexport const styles = css`\n\t:host{\n --padding: 16px 24px;\n box-sizing:border-box;\n min-width:0;\n white-space: nowrap;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n\t\tpadding: var(--padding);\n height: auto;\n border-bottom: 1px solid var(--nile-colors-neutral-400);\n border-right: 1px solid var(--nile-colors-neutral-400);\n position:relative;\n }\n \n ::slotted(*) {\n overflow:hidden;\n text-overflow:ellipsis;\n white-space:nowrap;\n width: min-content;\n }\n\n .resize-handle {\n position:absolute;\n top:0;\n right:0;\n height:100%;\n cursor: col-resize;\n touch-action:none;\n z-index: 1;\n width: 2px;\n border-right: 1px solid var(--nile-colors-neutral-400);\n }\n`;\n\nexport default [styles];"]}
@@ -1,43 +0,0 @@
1
- /**
2
- * Copyright Aquera Inc 2025
3
- *
4
- * This source code is licensed under the BSD-3-Clause license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
- import { CSSResultArray, TemplateResult } from 'lit';
8
- import NileElement from '../internal/nile-element';
9
- /**
10
- * Nile grid-cell component.
11
- *
12
- * @tag nile-grid-cell
13
- *
14
- */
15
- export declare class NileGridCell extends NileElement {
16
- /**
17
- * The styles for nile-grid-cell
18
- * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
19
- */
20
- static get styles(): CSSResultArray;
21
- colspan: number;
22
- rowspan: number;
23
- align?: 'start' | 'center' | 'end';
24
- valign?: 'top' | 'middle' | 'bottom';
25
- resizable: boolean;
26
- textOverflowType: 'ellipsis' | 'clip';
27
- private slotEl;
28
- private _downX;
29
- private _startW;
30
- connectedCallback(): void;
31
- private onHandlePointerDown;
32
- /**
33
- * Render method
34
- * @slot This is a slot test
35
- */
36
- render(): TemplateResult;
37
- }
38
- export default NileGridCell;
39
- declare global {
40
- interface HTMLElementTagNameMap {
41
- 'nile-grid-cell': NileGridCell;
42
- }
43
- }
@@ -1,102 +0,0 @@
1
- /**
2
- * Copyright Aquera Inc 2025
3
- *
4
- * This source code is licensed under the BSD-3-Clause license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
- import { __decorate } from "tslib";
8
- import { html } from 'lit';
9
- import { customElement, property, query } from 'lit/decorators.js';
10
- import { styles } from './nile-grid-cell.css';
11
- import NileElement from '../internal/nile-element';
12
- import { initCellResize, cellResizeMove, cellResizeDone } from './nile-grid-cell.utils';
13
- /**
14
- * Nile grid-cell component.
15
- *
16
- * @tag nile-grid-cell
17
- *
18
- */
19
- let NileGridCell = class NileGridCell extends NileElement {
20
- constructor() {
21
- super(...arguments);
22
- this.colspan = 1;
23
- this.rowspan = 1;
24
- this.resizable = false;
25
- this.textOverflowType = 'ellipsis';
26
- this._downX = 0;
27
- this._startW = 0;
28
- this.onHandlePointerDown = (ev) => {
29
- const el = this;
30
- const downXRef = { value: 0 };
31
- const startWRef = { value: 0 };
32
- const result = initCellResize(el, ev, downXRef, startWRef);
33
- if (!result)
34
- return;
35
- const { target, col } = result;
36
- const move = (e) => cellResizeMove(el, col, startWRef.value, downXRef.value, e);
37
- const done = () => cellResizeDone(el, ev, target, move);
38
- target.addEventListener('pointermove', move);
39
- target.addEventListener('pointerup', done, { once: true });
40
- target.addEventListener('pointercancel', done, { once: true });
41
- };
42
- /* #endregion */
43
- }
44
- /**
45
- * The styles for nile-grid-cell
46
- * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
47
- */
48
- static get styles() {
49
- return [styles];
50
- }
51
- connectedCallback() {
52
- super.connectedCallback();
53
- this.setAttribute('role', 'cell');
54
- }
55
- /**
56
- * Render method
57
- * @slot This is a slot test
58
- */
59
- render() {
60
- return html `
61
- <div style="display: contents;">
62
- <slot></slot>
63
- ${this.resizable ?
64
- html `
65
- <div
66
- aria-hidden="true"
67
- class="resize-handle"
68
- @pointerdown=${this.onHandlePointerDown}
69
- ></div>
70
- ` :
71
- null}
72
- </div>
73
- `;
74
- }
75
- };
76
- __decorate([
77
- property({ type: Number, reflect: true, attribute: true })
78
- ], NileGridCell.prototype, "colspan", void 0);
79
- __decorate([
80
- property({ type: Number, reflect: true, attribute: true })
81
- ], NileGridCell.prototype, "rowspan", void 0);
82
- __decorate([
83
- property({ type: String, reflect: true, attribute: true })
84
- ], NileGridCell.prototype, "align", void 0);
85
- __decorate([
86
- property({ type: String, reflect: true, attribute: true })
87
- ], NileGridCell.prototype, "valign", void 0);
88
- __decorate([
89
- property({ type: Boolean, reflect: true, attribute: true })
90
- ], NileGridCell.prototype, "resizable", void 0);
91
- __decorate([
92
- property({ type: Boolean, reflect: true, attribute: true })
93
- ], NileGridCell.prototype, "textOverflowType", void 0);
94
- __decorate([
95
- query('slot')
96
- ], NileGridCell.prototype, "slotEl", void 0);
97
- NileGridCell = __decorate([
98
- customElement('nile-grid-cell')
99
- ], NileGridCell);
100
- export { NileGridCell };
101
- export default NileGridCell;
102
- //# sourceMappingURL=nile-grid-cell.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nile-grid-cell.js","sourceRoot":"","sources":["../../../src/nile-grid-cell/nile-grid-cell.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 {LitElement, html, CSSResultArray, TemplateResult} from 'lit';\nimport { customElement, property, query} from 'lit/decorators.js';\nimport {styles} from './nile-grid-cell.css';\nimport NileElement from '../internal/nile-element';\nimport { initCellResize, cellResizeMove, cellResizeDone } from './nile-grid-cell.utils';\n\n\n/**\n * Nile grid-cell component.\n *\n * @tag nile-grid-cell\n *\n */\n@customElement('nile-grid-cell')\nexport class NileGridCell extends NileElement {\n\n\t/**\n\t * The styles for nile-grid-cell\n\t * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n\t */\n\tpublic static get styles(): CSSResultArray {\n\t\treturn [styles];\n\t}\n\n\t@property({ type: Number, reflect: true, attribute: true }) colspan = 1;\n\t@property({ type: Number, reflect: true, attribute: true }) rowspan = 1;\n\t\n\t// optional alignment hooks (table may map to CSS)\n\t@property({ type: String, reflect: true, attribute: true }) align?: 'start' | 'center' | 'end';\n\t@property({ type: String, reflect: true, attribute: true }) valign?: 'top' | 'middle' | 'bottom';\n\n\t@property({ type: Boolean, reflect: true, attribute: true }) resizable = false;\n\n\t@property({ type: Boolean, reflect: true, attribute: true }) textOverflowType: 'ellipsis' | 'clip' = 'ellipsis';\n\n\t@query('slot') private slotEl!: HTMLSlotElement;\n\n\tprivate _downX = 0;\n\tprivate _startW = 0;\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback();\n\t\tthis.setAttribute('role', 'cell');\n\t}\n\nprivate onHandlePointerDown = (ev: PointerEvent) => {\n\tconst el = this as HTMLElement;\n\n\tconst downXRef = { value: 0 };\n\tconst startWRef = { value: 0 };\n\n\tconst result = initCellResize(el, ev, downXRef, startWRef);\n\tif (!result) return;\n\n\tconst { target, col } = result;\n\n\tconst move = (e: PointerEvent) => cellResizeMove(el, col, startWRef.value, downXRef.value, e);\n\tconst done = () => cellResizeDone(el, ev, target, move);\n\n\ttarget.addEventListener('pointermove', move);\n\ttarget.addEventListener('pointerup', done, { once: true });\n\ttarget.addEventListener('pointercancel', done, { once: true });\n};\n\n\n\t/**\n\t * Render method\n\t * @slot This is a slot test\n\t */\n\tpublic render(): TemplateResult {\n\t\treturn html`\n <div style=\"display: contents;\">\n\t\t\t\t<slot></slot>\n\t\t\t\t${this.resizable ?\n\t\t\t\thtml`\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\tclass=\"resize-handle\"\n\t\t\t\t\t\t\t@pointerdown=${this.onHandlePointerDown}\n\t\t\t\t\t\t></div>\n\t\t\t\t\t` :\n\t\t\t\tnull\n\t\t\t\t}\n\t\t\t</div>\n `;\n\t}\n\n\t/* #endregion */\n}\n\nexport default NileGridCell;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-grid-cell': NileGridCell;\n }\n}"]}
@@ -1,10 +0,0 @@
1
- export declare function initCellResize(el: HTMLElement, ev: PointerEvent, downXRef: {
2
- value: number;
3
- }, startWRef: {
4
- value: number;
5
- }): {
6
- target: HTMLElement;
7
- col: number;
8
- } | null;
9
- export declare function cellResizeMove(el: HTMLElement, col: number, startW: number, downX: number, e: PointerEvent): void;
10
- export declare function cellResizeDone(el: HTMLElement, ev: PointerEvent, target: HTMLElement, move: (e: PointerEvent) => void): void;
@@ -1,41 +0,0 @@
1
- // cell-resize-handlers.ts
2
- export function initCellResize(el, ev, downXRef, startWRef) {
3
- ev.preventDefault();
4
- ev.stopPropagation();
5
- const cStart = Number(el.dataset.cStart);
6
- if (!cStart)
7
- return null;
8
- const span = Number(el.getAttribute('colspan')) || 1;
9
- const col = Math.max(0, (cStart + span - 1) - 1);
10
- downXRef.value = ev.clientX;
11
- startWRef.value = el.getBoundingClientRect().width;
12
- const target = ev.currentTarget;
13
- target.setPointerCapture(ev.pointerId);
14
- el.dispatchEvent(new CustomEvent('nile:resize', {
15
- detail: { col, widthPx: startWRef.value },
16
- bubbles: true, composed: true
17
- }));
18
- el.dispatchEvent(new CustomEvent('nile:resize-start', { bubbles: true, composed: true }));
19
- return { target, col };
20
- }
21
- export function cellResizeMove(el, col, startW, downX, e) {
22
- const widthPx = Math.max(40, Math.round(startW + (e.clientX - downX)));
23
- el.dispatchEvent(new CustomEvent('nile:resize', {
24
- detail: { col, widthPx },
25
- bubbles: true, composed: true
26
- }));
27
- }
28
- export function cellResizeDone(el, ev, target, move) {
29
- target.releasePointerCapture(ev.pointerId);
30
- target.removeEventListener('pointermove', move);
31
- el.dispatchEvent(new CustomEvent('nile:resize-end', { bubbles: true, composed: true }));
32
- }
33
- // private onAutoFit = () => {
34
- // const el = this as HTMLElement;
35
- // const cStart = Number(el.dataset.cStart); if (!cStart) return;
36
- // console.log("el.dataset: ", el.dataset);
37
- // const span = Number(this.getAttribute('colspan')) || 1;
38
- // const col = cStart + span - 2; // zero-based last covered col
39
- // this.dispatchEvent(new CustomEvent('nile:autofit', { detail: { col }, bubbles: true, composed: true }));
40
- // };
41
- //# sourceMappingURL=nile-grid-cell.utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nile-grid-cell.utils.js","sourceRoot":"","sources":["../../../src/nile-grid-cell/nile-grid-cell.utils.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,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,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjD,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,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE;QAC9C,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE;QACzC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI;KAC9B,CAAC,CAAC,CAAC;IAEJ,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAE1F,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,EAAe,EACf,GAAW,EACX,MAAc,EACd,KAAa,EACb,CAAe;IAEf,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvE,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE;QAC9C,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE;QACxB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI;KAC9B,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAe,EAAE,EAAgB,EAAE,MAAmB,EAAE,IAA+B;IACpH,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAChD,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC1F,CAAC;AAEA,8BAA8B;AAC9B,mCAAmC;AACnC,kEAAkE;AAClE,4CAA4C;AAE5C,2DAA2D;AAC3D,iEAAiE;AACjE,4GAA4G;AAC5G,KAAK","sourcesContent":["// cell-resize-handlers.ts\nexport function initCellResize(\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(new CustomEvent('nile:resize', { \n detail: { col, widthPx: startWRef.value },\n bubbles: true, composed: true\n }));\n\n el.dispatchEvent(new CustomEvent('nile:resize-start', { bubbles: true, composed: true }));\n\n return { target, col };\n}\n\nexport function cellResizeMove(\n el: HTMLElement,\n col: number,\n startW: number,\n downX: number,\n e: PointerEvent\n) {\n const widthPx = Math.max(40, Math.round(startW + (e.clientX - downX)));\n el.dispatchEvent(new CustomEvent('nile:resize', {\n detail: { col, widthPx },\n bubbles: true, composed: true\n }));\n}\n\nexport function cellResizeDone(el: HTMLElement, ev: PointerEvent, target: HTMLElement, move: (e: PointerEvent) => void) {\n target.releasePointerCapture(ev.pointerId);\n target.removeEventListener('pointermove', move);\n el.dispatchEvent(new CustomEvent('nile:resize-end', { bubbles: true, composed: true }));\n}\n\n\t// private onAutoFit = () => {\n\t// \tconst el = this as HTMLElement;\n\t// \tconst cStart = Number(el.dataset.cStart); if (!cStart) return;\n\t// \tconsole.log(\"el.dataset: \", el.dataset);\n\t\t\n\t// \tconst span = Number(this.getAttribute('colspan')) || 1;\n\t// \tconst col = cStart + span - 2; // zero-based last covered col\n\t// \tthis.dispatchEvent(new CustomEvent('nile:autofit', { detail: { col }, bubbles: true, composed: true }));\n\t// };"]}
@@ -1,10 +0,0 @@
1
- export declare function initCellResize(el: HTMLElement, ev: PointerEvent, downXRef: {
2
- value: number;
3
- }, startWRef: {
4
- value: number;
5
- }): {
6
- target: HTMLElement;
7
- col: number;
8
- } | null;
9
- export declare function cellResizeMove(el: HTMLElement, col: number, startW: number, downX: number, e: PointerEvent): void;
10
- export declare function cellResizeDone(el: HTMLElement, ev: PointerEvent, target: HTMLElement, move: (e: PointerEvent) => void): void;