@aquera/nile-elements 0.1.69 → 0.1.70-beta-1.2

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 (402) hide show
  1. package/demo/index.html +263 -9
  2. package/dist/{fixture-3bfb4490.cjs.js → fixture-5b79f853.cjs.js} +2 -2
  3. package/dist/{fixture-3bfb4490.cjs.js.map → fixture-5b79f853.cjs.js.map} +1 -1
  4. package/dist/fixture-90b199c4.esm.js +569 -0
  5. package/dist/{fixture-8edec91c.esm.js → fixture-cf7bfcf5.esm.js} +1 -1
  6. package/dist/fixture-dbd66009.cjs.js +395 -0
  7. package/dist/fixture-dbd66009.cjs.js.map +1 -0
  8. package/dist/index.js +2 -1
  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-group/nile-button-toggle-group.test.cjs.js +1 -1
  20. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  21. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  22. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  23. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  24. package/dist/nile-card/nile-card.test.esm.js +1 -1
  25. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  26. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  27. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  28. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  29. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  30. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  31. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  32. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  33. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  34. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  35. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  36. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  37. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  38. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  39. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  40. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  41. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  42. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  43. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  44. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  45. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  46. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  47. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  48. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  49. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  50. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  51. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  52. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  53. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  54. package/dist/nile-input/nile-input.test.esm.js +1 -1
  55. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  56. package/dist/nile-link/nile-link.test.esm.js +1 -1
  57. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  58. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  59. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  60. package/dist/nile-popover/nile-popover.test.esm.js +1 -1
  61. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  62. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  63. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  64. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  65. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  66. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  67. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  68. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  69. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  70. package/dist/nile-select/nile-select.test.esm.js +1 -1
  71. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  72. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  73. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  74. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  75. package/dist/nile-table-body/nile-table-body.cjs.js +1 -1
  76. package/dist/nile-table-body/nile-table-body.cjs.js.map +1 -1
  77. package/dist/nile-table-body/nile-table-body.esm.js +2 -1
  78. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  79. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  80. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  81. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  82. package/dist/src/internal/resizable-helper.d.ts +59 -0
  83. package/dist/src/internal/resizable-helper.js +115 -0
  84. package/dist/src/internal/resizable-helper.js.map +1 -0
  85. package/dist/src/internal/resizable-styles.d.ts +16 -0
  86. package/dist/src/internal/resizable-styles.js +144 -0
  87. package/dist/src/internal/resizable-styles.js.map +1 -0
  88. package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +17 -0
  89. package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +310 -0
  90. package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +34 -0
  91. package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +31 -0
  92. package/dist/src/nile-grid/data-processor.d.ts +37 -0
  93. package/dist/src/nile-grid/data-processor.js +122 -0
  94. package/dist/src/nile-grid/data-processor.js.map +1 -0
  95. package/dist/src/nile-grid/event-handlers.d.ts +35 -0
  96. package/dist/src/nile-grid/event-handlers.js +158 -0
  97. package/dist/src/nile-grid/event-handlers.js.map +1 -0
  98. package/dist/src/nile-grid/index.d.ts +5 -0
  99. package/dist/src/nile-grid/index.js +6 -0
  100. package/dist/src/nile-grid/index.js.map +1 -0
  101. package/dist/src/nile-grid/nile-grid.css.d.ts +1 -0
  102. package/dist/src/nile-grid/nile-grid.css.js +120 -0
  103. package/dist/src/nile-grid/nile-grid.css.js.map +1 -0
  104. package/dist/src/nile-grid/nile-grid.d.ts +39 -0
  105. package/dist/src/nile-grid/nile-grid.js +182 -0
  106. package/dist/src/nile-grid/nile-grid.js.map +1 -0
  107. package/dist/src/nile-grid/renderer.d.ts +8 -0
  108. package/dist/src/nile-grid/renderer.js +78 -0
  109. package/dist/src/nile-grid/renderer.js.map +1 -0
  110. package/dist/src/nile-grid/resize-handler.d.ts +4 -0
  111. package/dist/src/nile-grid/resize-handler.js +36 -0
  112. package/dist/src/nile-grid/resize-handler.js.map +1 -0
  113. package/dist/src/nile-grid/types.d.ts +32 -0
  114. package/dist/src/nile-grid/types.js +2 -0
  115. package/dist/src/nile-grid/types.js.map +1 -0
  116. package/dist/src/nile-grid/utils.d.ts +4 -0
  117. package/dist/src/nile-grid/utils.js +32 -0
  118. package/dist/src/nile-grid/utils.js.map +1 -0
  119. package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +47 -0
  120. package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +16 -0
  121. package/dist/src/nile-icon/icons/svg/ng-action.d.ts +5 -0
  122. package/dist/src/nile-icon/icons/svg/ng-action.js +5 -0
  123. package/dist/src/nile-icon/icons/svg/ng-action.js.map +1 -0
  124. package/dist/src/nile-icon/icons/svg/ng-activity.d.ts +5 -0
  125. package/dist/src/nile-icon/icons/svg/ng-activity.js +5 -0
  126. package/dist/src/nile-icon/icons/svg/ng-activity.js.map +1 -0
  127. package/dist/src/nile-icon/icons/svg/ng-alert-circle.d.ts +5 -0
  128. package/dist/src/nile-icon/icons/svg/ng-alert-circle.js +5 -0
  129. package/dist/src/nile-icon/icons/svg/ng-alert-circle.js.map +1 -0
  130. package/dist/src/nile-icon/icons/svg/ng-align-center.d.ts +5 -0
  131. package/dist/src/nile-icon/icons/svg/ng-align-center.js +5 -0
  132. package/dist/src/nile-icon/icons/svg/ng-align-center.js.map +1 -0
  133. package/dist/src/nile-icon/icons/svg/ng-annotation-x.d.ts +5 -0
  134. package/dist/src/nile-icon/icons/svg/ng-annotation-x.js +5 -0
  135. package/dist/src/nile-icon/icons/svg/ng-annotation-x.js.map +1 -0
  136. package/dist/src/nile-icon/icons/svg/ng-arrow-down.d.ts +5 -0
  137. package/dist/src/nile-icon/icons/svg/ng-arrow-down.js +5 -0
  138. package/dist/src/nile-icon/icons/svg/ng-arrow-down.js.map +1 -0
  139. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.d.ts +5 -0
  140. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js +5 -0
  141. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js.map +1 -0
  142. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.d.ts +5 -0
  143. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js +5 -0
  144. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js.map +1 -0
  145. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.d.ts +5 -0
  146. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.js +5 -0
  147. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.js.map +1 -0
  148. package/dist/src/nile-icon/icons/svg/ng-arrow-up.d.ts +5 -0
  149. package/dist/src/nile-icon/icons/svg/ng-arrow-up.js +5 -0
  150. package/dist/src/nile-icon/icons/svg/ng-arrow-up.js.map +1 -0
  151. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.d.ts +5 -0
  152. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js +5 -0
  153. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js.map +1 -0
  154. package/dist/src/nile-icon/icons/svg/ng-bell-01.d.ts +5 -0
  155. package/dist/src/nile-icon/icons/svg/ng-bell-01.js +5 -0
  156. package/dist/src/nile-icon/icons/svg/ng-bell-01.js.map +1 -0
  157. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.d.ts +5 -0
  158. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js +5 -0
  159. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js.map +1 -0
  160. package/dist/src/nile-icon/icons/svg/ng-bold-01.d.ts +5 -0
  161. package/dist/src/nile-icon/icons/svg/ng-bold-01.js +5 -0
  162. package/dist/src/nile-icon/icons/svg/ng-bold-01.js.map +1 -0
  163. package/dist/src/nile-icon/icons/svg/ng-building-01.d.ts +5 -0
  164. package/dist/src/nile-icon/icons/svg/ng-building-01.js +5 -0
  165. package/dist/src/nile-icon/icons/svg/ng-building-01.js.map +1 -0
  166. package/dist/src/nile-icon/icons/svg/ng-building-05.d.ts +5 -0
  167. package/dist/src/nile-icon/icons/svg/ng-building-05.js +5 -0
  168. package/dist/src/nile-icon/icons/svg/ng-building-05.js.map +1 -0
  169. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.d.ts +5 -0
  170. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.js +5 -0
  171. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.js.map +1 -0
  172. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.d.ts +5 -0
  173. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.js +5 -0
  174. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.js.map +1 -0
  175. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.d.ts +5 -0
  176. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js +5 -0
  177. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js.map +1 -0
  178. package/dist/src/nile-icon/icons/svg/ng-calendar.d.ts +5 -0
  179. package/dist/src/nile-icon/icons/svg/ng-calendar.js +5 -0
  180. package/dist/src/nile-icon/icons/svg/ng-calendar.js.map +1 -0
  181. package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.d.ts +5 -0
  182. package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.js +5 -0
  183. package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.js.map +1 -0
  184. package/dist/src/nile-icon/icons/svg/ng-check-circle.d.ts +5 -0
  185. package/dist/src/nile-icon/icons/svg/ng-check-circle.js +5 -0
  186. package/dist/src/nile-icon/icons/svg/ng-check-circle.js.map +1 -0
  187. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.d.ts +5 -0
  188. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js +5 -0
  189. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js.map +1 -0
  190. package/dist/src/nile-icon/icons/svg/ng-check.d.ts +5 -0
  191. package/dist/src/nile-icon/icons/svg/ng-check.js +5 -0
  192. package/dist/src/nile-icon/icons/svg/ng-check.js.map +1 -0
  193. package/dist/src/nile-icon/icons/svg/ng-chevron-down.d.ts +5 -0
  194. package/dist/src/nile-icon/icons/svg/ng-chevron-down.js +5 -0
  195. package/dist/src/nile-icon/icons/svg/ng-chevron-down.js.map +1 -0
  196. package/dist/src/nile-icon/icons/svg/ng-chevron-left.d.ts +5 -0
  197. package/dist/src/nile-icon/icons/svg/ng-chevron-left.js +5 -0
  198. package/dist/src/nile-icon/icons/svg/ng-chevron-left.js.map +1 -0
  199. package/dist/src/nile-icon/icons/svg/ng-chevron-right.d.ts +5 -0
  200. package/dist/src/nile-icon/icons/svg/ng-chevron-right.js +5 -0
  201. package/dist/src/nile-icon/icons/svg/ng-chevron-right.js.map +1 -0
  202. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.d.ts +5 -0
  203. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js +5 -0
  204. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js.map +1 -0
  205. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.d.ts +5 -0
  206. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js +5 -0
  207. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js.map +1 -0
  208. package/dist/src/nile-icon/icons/svg/ng-chevron-up.d.ts +5 -0
  209. package/dist/src/nile-icon/icons/svg/ng-chevron-up.js +5 -0
  210. package/dist/src/nile-icon/icons/svg/ng-chevron-up.js.map +1 -0
  211. package/dist/src/nile-icon/icons/svg/ng-copy-03.d.ts +5 -0
  212. package/dist/src/nile-icon/icons/svg/ng-copy-03.js +5 -0
  213. package/dist/src/nile-icon/icons/svg/ng-copy-03.js.map +1 -0
  214. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.d.ts +5 -0
  215. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.js +5 -0
  216. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.js.map +1 -0
  217. package/dist/src/nile-icon/icons/svg/ng-dots-grid.d.ts +5 -0
  218. package/dist/src/nile-icon/icons/svg/ng-dots-grid.js +5 -0
  219. package/dist/src/nile-icon/icons/svg/ng-dots-grid.js.map +1 -0
  220. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.d.ts +5 -0
  221. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js +5 -0
  222. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js.map +1 -0
  223. package/dist/src/nile-icon/icons/svg/ng-download-01.d.ts +5 -0
  224. package/dist/src/nile-icon/icons/svg/ng-download-01.js +5 -0
  225. package/dist/src/nile-icon/icons/svg/ng-download-01.js.map +1 -0
  226. package/dist/src/nile-icon/icons/svg/ng-dropdown.d.ts +5 -0
  227. package/dist/src/nile-icon/icons/svg/ng-dropdown.js +5 -0
  228. package/dist/src/nile-icon/icons/svg/ng-dropdown.js.map +1 -0
  229. package/dist/src/nile-icon/icons/svg/ng-edit-02.d.ts +5 -0
  230. package/dist/src/nile-icon/icons/svg/ng-edit-02.js +5 -0
  231. package/dist/src/nile-icon/icons/svg/ng-edit-02.js.map +1 -0
  232. package/dist/src/nile-icon/icons/svg/ng-edit-05.d.ts +5 -0
  233. package/dist/src/nile-icon/icons/svg/ng-edit-05.js +5 -0
  234. package/dist/src/nile-icon/icons/svg/ng-edit-05.js.map +1 -0
  235. package/dist/src/nile-icon/icons/svg/ng-expand-06.d.ts +5 -0
  236. package/dist/src/nile-icon/icons/svg/ng-expand-06.js +5 -0
  237. package/dist/src/nile-icon/icons/svg/ng-expand-06.js.map +1 -0
  238. package/dist/src/nile-icon/icons/svg/ng-eye-off.d.ts +5 -0
  239. package/dist/src/nile-icon/icons/svg/ng-eye-off.js +5 -0
  240. package/dist/src/nile-icon/icons/svg/ng-eye-off.js.map +1 -0
  241. package/dist/src/nile-icon/icons/svg/ng-eye.d.ts +5 -0
  242. package/dist/src/nile-icon/icons/svg/ng-eye.js +5 -0
  243. package/dist/src/nile-icon/icons/svg/ng-eye.js.map +1 -0
  244. package/dist/src/nile-icon/icons/svg/ng-file-02.d.ts +5 -0
  245. package/dist/src/nile-icon/icons/svg/ng-file-02.js +5 -0
  246. package/dist/src/nile-icon/icons/svg/ng-file-02.js.map +1 -0
  247. package/dist/src/nile-icon/icons/svg/ng-file-06.d.ts +5 -0
  248. package/dist/src/nile-icon/icons/svg/ng-file-06.js +5 -0
  249. package/dist/src/nile-icon/icons/svg/ng-file-06.js.map +1 -0
  250. package/dist/src/nile-icon/icons/svg/ng-file-check-02.d.ts +5 -0
  251. package/dist/src/nile-icon/icons/svg/ng-file-check-02.js +5 -0
  252. package/dist/src/nile-icon/icons/svg/ng-file-check-02.js.map +1 -0
  253. package/dist/src/nile-icon/icons/svg/ng-file-question-03.d.ts +5 -0
  254. package/dist/src/nile-icon/icons/svg/ng-file-question-03.js +5 -0
  255. package/dist/src/nile-icon/icons/svg/ng-file-question-03.js.map +1 -0
  256. package/dist/src/nile-icon/icons/svg/ng-filter-lines.d.ts +5 -0
  257. package/dist/src/nile-icon/icons/svg/ng-filter-lines.js +5 -0
  258. package/dist/src/nile-icon/icons/svg/ng-filter-lines.js.map +1 -0
  259. package/dist/src/nile-icon/icons/svg/ng-grid-01.d.ts +5 -0
  260. package/dist/src/nile-icon/icons/svg/ng-grid-01.js +5 -0
  261. package/dist/src/nile-icon/icons/svg/ng-grid-01.js.map +1 -0
  262. package/dist/src/nile-icon/icons/svg/ng-help-circle.d.ts +5 -0
  263. package/dist/src/nile-icon/icons/svg/ng-help-circle.js +5 -0
  264. package/dist/src/nile-icon/icons/svg/ng-help-circle.js.map +1 -0
  265. package/dist/src/nile-icon/icons/svg/ng-image-03.d.ts +5 -0
  266. package/dist/src/nile-icon/icons/svg/ng-image-03.js +5 -0
  267. package/dist/src/nile-icon/icons/svg/ng-image-03.js.map +1 -0
  268. package/dist/src/nile-icon/icons/svg/ng-image-user-left.d.ts +5 -0
  269. package/dist/src/nile-icon/icons/svg/ng-image-user-left.js +5 -0
  270. package/dist/src/nile-icon/icons/svg/ng-image-user-left.js.map +1 -0
  271. package/dist/src/nile-icon/icons/svg/ng-info-circle.d.ts +5 -0
  272. package/dist/src/nile-icon/icons/svg/ng-info-circle.js +5 -0
  273. package/dist/src/nile-icon/icons/svg/ng-info-circle.js.map +1 -0
  274. package/dist/src/nile-icon/icons/svg/ng-italic-01.d.ts +5 -0
  275. package/dist/src/nile-icon/icons/svg/ng-italic-01.js +5 -0
  276. package/dist/src/nile-icon/icons/svg/ng-italic-01.js.map +1 -0
  277. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.d.ts +5 -0
  278. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js +5 -0
  279. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js.map +1 -0
  280. package/dist/src/nile-icon/icons/svg/ng-list.d.ts +5 -0
  281. package/dist/src/nile-icon/icons/svg/ng-list.js +5 -0
  282. package/dist/src/nile-icon/icons/svg/ng-list.js.map +1 -0
  283. package/dist/src/nile-icon/icons/svg/ng-log-out-01.d.ts +5 -0
  284. package/dist/src/nile-icon/icons/svg/ng-log-out-01.js +5 -0
  285. package/dist/src/nile-icon/icons/svg/ng-log-out-01.js.map +1 -0
  286. package/dist/src/nile-icon/icons/svg/ng-mail-01.d.ts +5 -0
  287. package/dist/src/nile-icon/icons/svg/ng-mail-01.js +5 -0
  288. package/dist/src/nile-icon/icons/svg/ng-mail-01.js.map +1 -0
  289. package/dist/src/nile-icon/icons/svg/ng-mail-04.d.ts +5 -0
  290. package/dist/src/nile-icon/icons/svg/ng-mail-04.js +5 -0
  291. package/dist/src/nile-icon/icons/svg/ng-mail-04.js.map +1 -0
  292. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.d.ts +5 -0
  293. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.js +5 -0
  294. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.js.map +1 -0
  295. package/dist/src/nile-icon/icons/svg/ng-menu-05.d.ts +5 -0
  296. package/dist/src/nile-icon/icons/svg/ng-menu-05.js +5 -0
  297. package/dist/src/nile-icon/icons/svg/ng-menu-05.js.map +1 -0
  298. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.d.ts +5 -0
  299. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js +5 -0
  300. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js.map +1 -0
  301. package/dist/src/nile-icon/icons/svg/ng-minimize-02.d.ts +5 -0
  302. package/dist/src/nile-icon/icons/svg/ng-minimize-02.js +5 -0
  303. package/dist/src/nile-icon/icons/svg/ng-minimize-02.js.map +1 -0
  304. package/dist/src/nile-icon/icons/svg/ng-minus.d.ts +5 -0
  305. package/dist/src/nile-icon/icons/svg/ng-minus.js +5 -0
  306. package/dist/src/nile-icon/icons/svg/ng-minus.js.map +1 -0
  307. package/dist/src/nile-icon/icons/svg/ng-plus.d.ts +5 -0
  308. package/dist/src/nile-icon/icons/svg/ng-plus.js +5 -0
  309. package/dist/src/nile-icon/icons/svg/ng-plus.js.map +1 -0
  310. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.d.ts +5 -0
  311. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js +5 -0
  312. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js.map +1 -0
  313. package/dist/src/nile-icon/icons/svg/ng-rocket-02.d.ts +5 -0
  314. package/dist/src/nile-icon/icons/svg/ng-rocket-02.js +5 -0
  315. package/dist/src/nile-icon/icons/svg/ng-rocket-02.js.map +1 -0
  316. package/dist/src/nile-icon/icons/svg/ng-search-lg.d.ts +5 -0
  317. package/dist/src/nile-icon/icons/svg/ng-search-lg.js +5 -0
  318. package/dist/src/nile-icon/icons/svg/ng-search-lg.js.map +1 -0
  319. package/dist/src/nile-icon/icons/svg/ng-send-01.d.ts +5 -0
  320. package/dist/src/nile-icon/icons/svg/ng-send-01.js +5 -0
  321. package/dist/src/nile-icon/icons/svg/ng-send-01.js.map +1 -0
  322. package/dist/src/nile-icon/icons/svg/ng-settings-01.d.ts +5 -0
  323. package/dist/src/nile-icon/icons/svg/ng-settings-01.js +5 -0
  324. package/dist/src/nile-icon/icons/svg/ng-settings-01.js.map +1 -0
  325. package/dist/src/nile-icon/icons/svg/ng-share-04.d.ts +5 -0
  326. package/dist/src/nile-icon/icons/svg/ng-share-04.js +5 -0
  327. package/dist/src/nile-icon/icons/svg/ng-share-04.js.map +1 -0
  328. package/dist/src/nile-icon/icons/svg/ng-share-06.d.ts +5 -0
  329. package/dist/src/nile-icon/icons/svg/ng-share-06.js +5 -0
  330. package/dist/src/nile-icon/icons/svg/ng-share-06.js.map +1 -0
  331. package/dist/src/nile-icon/icons/svg/ng-stars-02.d.ts +5 -0
  332. package/dist/src/nile-icon/icons/svg/ng-stars-02.js +5 -0
  333. package/dist/src/nile-icon/icons/svg/ng-stars-02.js.map +1 -0
  334. package/dist/src/nile-icon/icons/svg/ng-trash-01.d.ts +5 -0
  335. package/dist/src/nile-icon/icons/svg/ng-trash-01.js +5 -0
  336. package/dist/src/nile-icon/icons/svg/ng-trash-01.js.map +1 -0
  337. package/dist/src/nile-icon/icons/svg/ng-trash-03.d.ts +5 -0
  338. package/dist/src/nile-icon/icons/svg/ng-trash-03.js +5 -0
  339. package/dist/src/nile-icon/icons/svg/ng-trash-03.js.map +1 -0
  340. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.d.ts +5 -0
  341. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js +5 -0
  342. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js.map +1 -0
  343. package/dist/src/nile-icon/icons/svg/ng-underline-01.d.ts +5 -0
  344. package/dist/src/nile-icon/icons/svg/ng-underline-01.js +5 -0
  345. package/dist/src/nile-icon/icons/svg/ng-underline-01.js.map +1 -0
  346. package/dist/src/nile-icon/icons/svg/ng-upload-01.d.ts +5 -0
  347. package/dist/src/nile-icon/icons/svg/ng-upload-01.js +5 -0
  348. package/dist/src/nile-icon/icons/svg/ng-upload-01.js.map +1 -0
  349. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.d.ts +5 -0
  350. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js +5 -0
  351. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js.map +1 -0
  352. package/dist/src/nile-icon/icons/svg/ng-user-01.d.ts +5 -0
  353. package/dist/src/nile-icon/icons/svg/ng-user-01.js +5 -0
  354. package/dist/src/nile-icon/icons/svg/ng-user-01.js.map +1 -0
  355. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.d.ts +5 -0
  356. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js +5 -0
  357. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js.map +1 -0
  358. package/dist/src/nile-icon/icons/svg/ng-user-check-02.d.ts +5 -0
  359. package/dist/src/nile-icon/icons/svg/ng-user-check-02.js +5 -0
  360. package/dist/src/nile-icon/icons/svg/ng-user-check-02.js.map +1 -0
  361. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.d.ts +5 -0
  362. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js +5 -0
  363. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js.map +1 -0
  364. package/dist/src/nile-icon/icons/svg/ng-user-right-01.d.ts +5 -0
  365. package/dist/src/nile-icon/icons/svg/ng-user-right-01.js +5 -0
  366. package/dist/src/nile-icon/icons/svg/ng-user-right-01.js.map +1 -0
  367. package/dist/src/nile-icon/icons/svg/ng-users-01.d.ts +5 -0
  368. package/dist/src/nile-icon/icons/svg/ng-users-01.js +5 -0
  369. package/dist/src/nile-icon/icons/svg/ng-users-01.js.map +1 -0
  370. package/dist/src/nile-icon/icons/svg/ng-x-circle.d.ts +5 -0
  371. package/dist/src/nile-icon/icons/svg/ng-x-circle.js +5 -0
  372. package/dist/src/nile-icon/icons/svg/ng-x-circle.js.map +1 -0
  373. package/dist/src/nile-icon/icons/svg/ng-x-close.d.ts +5 -0
  374. package/dist/src/nile-icon/icons/svg/ng-x-close.js +5 -0
  375. package/dist/src/nile-icon/icons/svg/ng-x-close.js.map +1 -0
  376. package/dist/src/nile-icon/icons/svg/ng-x-square.d.ts +5 -0
  377. package/dist/src/nile-icon/icons/svg/ng-x-square.js +5 -0
  378. package/dist/src/nile-icon/icons/svg/ng-x-square.js.map +1 -0
  379. package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +75 -0
  380. package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +22 -0
  381. package/dist/src/nile-table-body/nile-table-body.d.ts +1 -0
  382. package/dist/src/nile-table-body/nile-table-body.js +4 -0
  383. package/dist/src/nile-table-body/nile-table-body.js.map +1 -1
  384. package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +9 -0
  385. package/dist/src/nile-table-body/virtual-scroll-helper.js +24 -0
  386. package/dist/src/nile-table-body/virtual-scroll-helper.js.map +1 -0
  387. package/dist/src/nile-virtual-table-body/index.d.ts +2 -0
  388. package/dist/src/nile-virtual-table-body/index.js +3 -0
  389. package/dist/src/nile-virtual-table-body/index.js.map +1 -0
  390. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +1 -0
  391. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +44 -0
  392. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +1 -0
  393. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +50 -0
  394. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +135 -0
  395. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +1 -0
  396. package/dist/src/nile-virtual-table-body/renderer.d.ts +16 -0
  397. package/dist/src/nile-virtual-table-body/renderer.js +49 -0
  398. package/dist/src/nile-virtual-table-body/renderer.js.map +1 -0
  399. package/dist/tsconfig.tsbuildinfo +1 -1
  400. package/package.json +1 -1
  401. package/src/nile-table-body/nile-table-body.ts +2 -0
  402. package/vscode-html-custom-data.json +5 -1
@@ -0,0 +1,75 @@
1
+ /* @web/test-runner snapshot v1 */
2
+ export const snapshots = {};
3
+
4
+ snapshots["nile-input renders correctly"] =
5
+ `<div
6
+ class="form-control form-control--has-label form-control--medium"
7
+ part="form-control"
8
+ >
9
+ <label
10
+ aria-hidden="false"
11
+ class="form-control__label"
12
+ for="input"
13
+ part="form-control-label"
14
+ >
15
+ <slot name="label">
16
+ Test Label
17
+ </slot>
18
+ </label>
19
+ <div
20
+ class="form-control-input"
21
+ part="form-control-input"
22
+ >
23
+ <nile-popup
24
+ distance="5"
25
+ exportparts="input"
26
+ placement="bottom-start"
27
+ strategy="fixed"
28
+ >
29
+ <div
30
+ class="input input--empty input--medium input--standard"
31
+ part="base"
32
+ slot="anchor"
33
+ >
34
+ <slot
35
+ class="input__prefix"
36
+ name="prefix"
37
+ part="prefix"
38
+ >
39
+ </slot>
40
+ <input
41
+ aria-describedby="help-text"
42
+ autocomplete="off"
43
+ class="input__control"
44
+ id="input"
45
+ name=""
46
+ part="input"
47
+ placeholder=""
48
+ spellcheck="true"
49
+ title=""
50
+ type="text"
51
+ >
52
+ <slot
53
+ class="input__suffix"
54
+ name="suffix"
55
+ part="suffix"
56
+ >
57
+ </slot>
58
+ </div>
59
+ <div class="input__non-printable">
60
+ Non-printable character detected.
61
+ <nile-badge
62
+ class="input__remove-non-printable"
63
+ variant="error"
64
+ >
65
+ Remove All
66
+ </nile-badge>
67
+ <div class="input__srtiked-text-container">
68
+ </div>
69
+ </div>
70
+ </nile-popup>
71
+ </div>
72
+ </div>
73
+ `;
74
+ /* end snapshot nile-input renders correctly */
75
+
@@ -0,0 +1,22 @@
1
+ /* @web/test-runner snapshot v1 */
2
+ export const snapshots = {};
3
+
4
+ snapshots["NilePopover renders correctly"] =
5
+ `<nile-popup
6
+ active=""
7
+ arrowplacement="anchor"
8
+ distance="18"
9
+ placement="top"
10
+ shift=""
11
+ strategy="absolute"
12
+ >
13
+ <slot
14
+ aria-describedby="tooltip"
15
+ name="anchor"
16
+ slot="anchor"
17
+ >
18
+ </slot>
19
+ </nile-popup>
20
+ `;
21
+ /* end snapshot NilePopover renders correctly */
22
+
@@ -20,6 +20,7 @@ export declare class NileTableBody extends NileElement {
20
20
  defaultSlot: HTMLSlotElement;
21
21
  _childNodes: Array<HTMLElement>;
22
22
  type: 'primary' | 'secondary';
23
+ bodyStyle: string;
23
24
  private rows_data;
24
25
  private header_rows_data;
25
26
  private sort__index;
@@ -93,6 +93,7 @@ let NileTableBody = class NileTableBody extends NileElement {
93
93
  @slotchange=${this.handleSlotchange}
94
94
  @nile-click-sort=${this.handleSort}
95
95
  class="nile__table__body"
96
+ style="display: ${this.bodyStyle}"
96
97
  ?resizable=${this.hasResizableColumns}
97
98
  @nile-search=${this.handleSearch}
98
99
  ></slot>
@@ -109,6 +110,9 @@ __decorate([
109
110
  __decorate([
110
111
  property()
111
112
  ], NileTableBody.prototype, "type", void 0);
113
+ __decorate([
114
+ property()
115
+ ], NileTableBody.prototype, "bodyStyle", void 0);
112
116
  __decorate([
113
117
  state()
114
118
  ], NileTableBody.prototype, "rows_data", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"nile-table-body.js","sourceRoot":"","sources":["../../../src/nile-table-body/nile-table-body.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 {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n PropertyValues,\n} from 'lit';\nimport {\n customElement,\n query,\n state,\n queryAll,\n queryAssignedElements,\n queryAssignedNodes,\n property\n} from 'lit/decorators.js';\nimport { styles } from './nile-table-body.css';\nimport NileElement from '../internal/nile-element';\nimport { getInnerHTML } from '../slot';\nimport { hasResizableColumns } from '../internal/resizable-table-helper';\n\n/**\n * nile-table-body component.\n *\n * @tag nile-table-body\n *\n */\n@customElement('nile-table-body')\nexport class NileTableBody extends NileElement {\n /**\n * The styles for TableBody\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n\n @query('slot') defaultSlot: HTMLSlotElement;\n @queryAssignedNodes({ flatten: true }) _childNodes!: Array<HTMLElement>;\n @property() type: 'primary' | 'secondary' = 'primary';\n\n @state() private rows_data: any[] = [];\n @state() private header_rows_data: any[] = [];\n @state() private sort__index: number;\n @state() private search__index: number;\n @state() private hasResizableColumns = false;\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n protected firstUpdated(_changedProperties: PropertyValues): void {\n this.emit('nile-body-load', { value: this.type, comp:this },true,false)\n }\n\n /* #endregion */\n\n /* #region Methods */\n\n private getChildren(child: any, tagname: string) {\n return child.querySelectorAll(tagname);\n }\n\n private getIndexValue(index__value: string): number {\n return this.header_rows_data.indexOf(index__value);\n }\n\n private checkForResizableColumns() {\n this.hasResizableColumns = hasResizableColumns(this);\n }\n\n handleSlotchange(e: any) {\n let row_data: any = [];\n this._childNodes.forEach((child: any) => {\n if (child.tagName && child?.tagName?.toLowerCase() === 'nile-table-row') {\n let nilerows = this.getChildren(child, 'nile-table-cell-item');\n if (nilerows.length > 0) {\n nilerows.forEach((element: { innerHTML: any }) => {\n row_data.push(element.innerHTML);\n });\n this.rows_data.push(row_data);\n } else {\n let nileheaders = this.getChildren(child, 'nile-table-header-item');\n if (nileheaders.length > 0) {\n nileheaders.forEach((header: HTMLSlotElement, index: number) => {\n this.header_rows_data.push(header.innerHTML);\n });\n }\n }\n row_data = [];\n }\n });\n \n this.checkForResizableColumns();\n }\n\n private handleSort(e: any) {\n const { curr_sort_string, order } = e.detail.value;\n const header_index = this.getIndexValue(curr_sort_string);\n this.emit('nile-sort', {\n value: { header_index, curr_sort_string, order },\n });\n }\n\n private handleSearch(e: any) {\n const searchText = e.detail.value;\n this.search__index = this.getIndexValue(e.target.textContent);\n this.emit('nile-table-search', {\n index: this.search__index,\n value: searchText,\n });\n }\n\n public render(): TemplateResult {\n return html`\n <div class=\"base\" part=\"base\">\n <slot name=\"table__header\" class=\"table__header\"></slot>\n <slot\n @slotchange=${this.handleSlotchange}\n @nile-click-sort=${this.handleSort}\n class=\"nile__table__body\"\n ?resizable=${this.hasResizableColumns}\n @nile-search=${this.handleSearch}\n ></slot>\n </div>\n `;\n }\n\n /* #endregion */\n}\n\nexport default NileTableBody;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-table-body': NileTableBody;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-table-body.js","sourceRoot":"","sources":["../../../src/nile-table-body/nile-table-body.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 {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n PropertyValues,\n} from 'lit';\nimport {\n customElement,\n query,\n state,\n queryAll,\n queryAssignedElements,\n queryAssignedNodes,\n property\n} from 'lit/decorators.js';\nimport { styles } from './nile-table-body.css';\nimport NileElement from '../internal/nile-element';\nimport { getInnerHTML } from '../slot';\nimport { hasResizableColumns } from '../internal/resizable-table-helper';\n\n/**\n * nile-table-body component.\n *\n * @tag nile-table-body\n *\n */\n@customElement('nile-table-body')\nexport class NileTableBody extends NileElement {\n /**\n * The styles for TableBody\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n\n @query('slot') defaultSlot: HTMLSlotElement;\n @queryAssignedNodes({ flatten: true }) _childNodes!: Array<HTMLElement>;\n @property() type: 'primary' | 'secondary' = 'primary';\n @property() bodyStyle: string;\n\n @state() private rows_data: any[] = [];\n @state() private header_rows_data: any[] = [];\n @state() private sort__index: number;\n @state() private search__index: number;\n @state() private hasResizableColumns = false;\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n protected firstUpdated(_changedProperties: PropertyValues): void {\n this.emit('nile-body-load', { value: this.type, comp:this },true,false)\n }\n\n /* #endregion */\n\n /* #region Methods */\n\n private getChildren(child: any, tagname: string) {\n return child.querySelectorAll(tagname);\n }\n\n private getIndexValue(index__value: string): number {\n return this.header_rows_data.indexOf(index__value);\n }\n\n private checkForResizableColumns() {\n this.hasResizableColumns = hasResizableColumns(this);\n }\n\n handleSlotchange(e: any) {\n let row_data: any = [];\n this._childNodes.forEach((child: any) => {\n if (child.tagName && child?.tagName?.toLowerCase() === 'nile-table-row') {\n let nilerows = this.getChildren(child, 'nile-table-cell-item');\n if (nilerows.length > 0) {\n nilerows.forEach((element: { innerHTML: any }) => {\n row_data.push(element.innerHTML);\n });\n this.rows_data.push(row_data);\n } else {\n let nileheaders = this.getChildren(child, 'nile-table-header-item');\n if (nileheaders.length > 0) {\n nileheaders.forEach((header: HTMLSlotElement, index: number) => {\n this.header_rows_data.push(header.innerHTML);\n });\n }\n }\n row_data = [];\n }\n });\n \n this.checkForResizableColumns();\n }\n\n private handleSort(e: any) {\n const { curr_sort_string, order } = e.detail.value;\n const header_index = this.getIndexValue(curr_sort_string);\n this.emit('nile-sort', {\n value: { header_index, curr_sort_string, order },\n });\n }\n\n private handleSearch(e: any) {\n const searchText = e.detail.value;\n this.search__index = this.getIndexValue(e.target.textContent);\n this.emit('nile-table-search', {\n index: this.search__index,\n value: searchText,\n });\n }\n\n public render(): TemplateResult {\n return html`\n <div class=\"base\" part=\"base\">\n <slot name=\"table__header\" class=\"table__header\"></slot>\n <slot\n @slotchange=${this.handleSlotchange}\n @nile-click-sort=${this.handleSort}\n class=\"nile__table__body\"\n style=\"display: ${this.bodyStyle}\"\n ?resizable=${this.hasResizableColumns}\n @nile-search=${this.handleSearch}\n ></slot>\n </div>\n `;\n }\n\n /* #endregion */\n}\n\nexport default NileTableBody;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-table-body': NileTableBody;\n }\n}\n"]}
@@ -0,0 +1,9 @@
1
+ import type NileElement from '../internal/nile-element';
2
+ /**
3
+ * Helper class to manage virtual scroll functionality for nile-table-body component
4
+ */
5
+ export declare class VirtualTableBodyHelper {
6
+ private component;
7
+ constructor(component: NileElement);
8
+ renderVirtualizedContent(): any;
9
+ }
@@ -0,0 +1,24 @@
1
+ import { html } from 'lit';
2
+ /**
3
+ * Helper class to manage virtual scroll functionality for nile-table-body component
4
+ */
5
+ export class VirtualTableBodyHelper {
6
+ constructor(component) {
7
+ this.component = component;
8
+ }
9
+ renderVirtualizedContent() {
10
+ const component = this.component;
11
+ return html `
12
+ <div class="virtual-table-body">
13
+ <nile-virtual-table-body
14
+ .type=${component.type}
15
+ .data=${component.data || []}
16
+ .hasResizableColumns=${component.hasResizableColumns}
17
+ >
18
+ <slot name="table__header" slot="table__header"></slot>
19
+ </nile-virtual-table-body>
20
+ </div>
21
+ `;
22
+ }
23
+ }
24
+ //# sourceMappingURL=virtual-scroll-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"virtual-scroll-helper.js","sourceRoot":"","sources":["../../../src/nile-table-body/virtual-scroll-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAG3B;;GAEG;AACH,MAAM,OAAO,sBAAsB;IAGjC,YAAY,SAAsB;QAChC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,wBAAwB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAgB,CAAC;QAExC,OAAO,IAAI,CAAA;;;kBAGG,SAAS,CAAC,IAAI;kBACd,SAAS,CAAC,IAAI,IAAI,EAAE;iCACL,SAAS,CAAC,mBAAmB;;;;;KAKzD,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { html } from 'lit';\nimport type NileElement from '../internal/nile-element';\n\n/**\n * Helper class to manage virtual scroll functionality for nile-table-body component\n */\nexport class VirtualTableBodyHelper {\n private component: NileElement;\n\n constructor(component: NileElement) {\n this.component = component;\n }\n\n renderVirtualizedContent(): any {\n const component = this.component as any;\n\n return html`\n <div class=\"virtual-table-body\">\n <nile-virtual-table-body\n .type=${component.type}\n .data=${component.data || []}\n .hasResizableColumns=${component.hasResizableColumns}\n >\n <slot name=\"table__header\" slot=\"table__header\"></slot>\n </nile-virtual-table-body>\n </div>\n `;\n }\n}\n"]}
@@ -0,0 +1,2 @@
1
+ export { default as NileVirtualTableBody } from './nile-virtual-table-body.js';
2
+ export { VirtualTableBodyRenderer } from './renderer.js';
@@ -0,0 +1,3 @@
1
+ export { default as NileVirtualTableBody } from './nile-virtual-table-body.js';
2
+ export { VirtualTableBodyRenderer } from './renderer.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nile-virtual-table-body/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC","sourcesContent":["export { default as NileVirtualTableBody } from './nile-virtual-table-body.js';\nexport { VirtualTableBodyRenderer } from './renderer.js';\n"]}
@@ -0,0 +1 @@
1
+ export declare const styles: import("lit").CSSResult;
@@ -0,0 +1,44 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host {
4
+ display: block;
5
+ }
6
+
7
+ .base {
8
+ width: 100%;
9
+ }
10
+
11
+ .table__header {
12
+ display: contents;
13
+ }
14
+
15
+ .nile__table__body {
16
+ display: contents;
17
+ }
18
+
19
+ .nile__table__body[resizable] {
20
+ position: relative;
21
+ }
22
+
23
+ .virtualized-container {
24
+ height: 400px; /* Default height, can be customized */
25
+ overflow-y: auto;
26
+ border: 1px solid #e0e0e0;
27
+ }
28
+
29
+ .virtualized-row {
30
+ display: contents;
31
+ }
32
+
33
+ /* Ensure table rows maintain their structure in virtualized context */
34
+ ::slotted(nile-table-row) {
35
+ display: table-row;
36
+ }
37
+
38
+ /* Virtualizer specific styles */
39
+ lit-virtualizer {
40
+ height: 100%;
41
+ width: 100%;
42
+ }
43
+ `;
44
+ //# sourceMappingURL=nile-virtual-table-body.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-virtual-table-body.css.js","sourceRoot":"","sources":["../../../src/nile-virtual-table-body/nile-virtual-table-body.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCxB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`\n :host {\n display: block;\n }\n\n .base {\n width: 100%;\n }\n\n .table__header {\n display: contents;\n }\n\n .nile__table__body {\n display: contents;\n }\n\n .nile__table__body[resizable] {\n position: relative;\n }\n\n .virtualized-container {\n height: 400px; /* Default height, can be customized */\n overflow-y: auto;\n border: 1px solid #e0e0e0;\n }\n\n .virtualized-row {\n display: contents;\n }\n\n /* Ensure table rows maintain their structure in virtualized context */\n ::slotted(nile-table-row) {\n display: table-row;\n }\n\n /* Virtualizer specific styles */\n lit-virtualizer {\n height: 100%;\n width: 100%;\n }\n`;\n"]}
@@ -0,0 +1,50 @@
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, PropertyValues } from 'lit';
8
+ import NileElement from '../internal/nile-element';
9
+ /**
10
+ * nile-virtual-table-body component.
11
+ *
12
+ * @tag nile-virtual-table-body
13
+ *
14
+ */
15
+ export declare class NileVirtualTableBody extends NileElement {
16
+ /**
17
+ * The styles for VirtualTableBody
18
+ * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
19
+ */
20
+ defaultSlot: HTMLSlotElement;
21
+ type: 'primary' | 'secondary';
22
+ /**
23
+ * Array of all table row data for virtual scrolling.
24
+ * Each row should be an object with a 'cells' property containing an array of cell data.
25
+ * Example: [{ cells: [{ content: 'Cell 1' }, { content: 'Cell 2' }] }]
26
+ */
27
+ data: any[];
28
+ private rows_data;
29
+ private header_rows_data;
30
+ private sort__index;
31
+ private search__index;
32
+ private hasResizableColumns;
33
+ static get styles(): CSSResultArray;
34
+ protected firstUpdated(_changedProperties: PropertyValues): void;
35
+ private getChildren;
36
+ private getIndexValue;
37
+ private checkForResizableColumns;
38
+ handleSlotchange(e: any): void;
39
+ private handleSort;
40
+ private handleSearch;
41
+ render(): TemplateResult;
42
+ private getVirtualizedContent;
43
+ handleDataChange(): void;
44
+ }
45
+ export default NileVirtualTableBody;
46
+ declare global {
47
+ interface HTMLElementTagNameMap {
48
+ 'nile-virtual-table-body': NileVirtualTableBody;
49
+ }
50
+ }
@@ -0,0 +1,135 @@
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, query, state, property } from 'lit/decorators.js';
10
+ import { styles } from './nile-virtual-table-body.css';
11
+ import NileElement from '../internal/nile-element';
12
+ import { hasResizableColumns } from '../internal/resizable-table-helper';
13
+ import { VirtualTableBodyRenderer } from './renderer.js';
14
+ import { watch } from '../internal/watch';
15
+ /**
16
+ * nile-virtual-table-body component.
17
+ *
18
+ * @tag nile-virtual-table-body
19
+ *
20
+ */
21
+ let NileVirtualTableBody = class NileVirtualTableBody extends NileElement {
22
+ constructor() {
23
+ /**
24
+ * The styles for VirtualTableBody
25
+ * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
26
+ */
27
+ super(...arguments);
28
+ this.type = 'primary';
29
+ /**
30
+ * Array of all table row data for virtual scrolling.
31
+ * Each row should be an object with a 'cells' property containing an array of cell data.
32
+ * Example: [{ cells: [{ content: 'Cell 1' }, { content: 'Cell 2' }] }]
33
+ */
34
+ this.data = [];
35
+ this.rows_data = [];
36
+ this.header_rows_data = [];
37
+ this.hasResizableColumns = false;
38
+ /* #endregion */
39
+ }
40
+ static get styles() {
41
+ return [styles];
42
+ }
43
+ firstUpdated(_changedProperties) {
44
+ this.emit('nile-body-load', { value: this.type, comp: this }, true, false);
45
+ }
46
+ /* #endregion */
47
+ /* #region Methods */
48
+ getChildren(child, tagname) {
49
+ return child.querySelectorAll(tagname);
50
+ }
51
+ getIndexValue(index__value) {
52
+ return this.header_rows_data.indexOf(index__value);
53
+ }
54
+ checkForResizableColumns() {
55
+ this.hasResizableColumns = hasResizableColumns(this);
56
+ }
57
+ handleSlotchange(e) {
58
+ // For virtual table body, we primarily use the data property
59
+ // Slot change is mainly for header content
60
+ this.checkForResizableColumns();
61
+ }
62
+ handleSort(e) {
63
+ const { curr_sort_string, order } = e.detail.value;
64
+ const header_index = this.getIndexValue(curr_sort_string);
65
+ this.emit('nile-sort', {
66
+ value: { header_index, curr_sort_string, order },
67
+ });
68
+ }
69
+ handleSearch(e) {
70
+ const searchText = e.detail.value;
71
+ this.search__index = this.getIndexValue(e.target.textContent);
72
+ this.emit('nile-table-search', {
73
+ index: this.search__index,
74
+ value: searchText,
75
+ });
76
+ }
77
+ render() {
78
+ return html `
79
+ <div class="base" part="base">
80
+ <slot name="table__header" class="table__header"></slot>
81
+ <div
82
+ class="nile__table__body"
83
+ ?resizable=${this.hasResizableColumns}
84
+ @nile-click-sort=${this.handleSort}
85
+ @nile-search=${this.handleSearch}
86
+ >
87
+ <slot
88
+ @slotchange=${this.handleSlotchange}
89
+ name="table__body"
90
+ ></slot>
91
+ ${this.getVirtualizedContent()}
92
+ </div>
93
+ </div>
94
+ `;
95
+ }
96
+ getVirtualizedContent() {
97
+ return VirtualTableBodyRenderer.getVirtualizedContent(this.data, this.hasResizableColumns);
98
+ }
99
+ handleDataChange() {
100
+ this.requestUpdate();
101
+ }
102
+ };
103
+ __decorate([
104
+ query('slot')
105
+ ], NileVirtualTableBody.prototype, "defaultSlot", void 0);
106
+ __decorate([
107
+ property()
108
+ ], NileVirtualTableBody.prototype, "type", void 0);
109
+ __decorate([
110
+ property({ type: Array })
111
+ ], NileVirtualTableBody.prototype, "data", void 0);
112
+ __decorate([
113
+ state()
114
+ ], NileVirtualTableBody.prototype, "rows_data", void 0);
115
+ __decorate([
116
+ state()
117
+ ], NileVirtualTableBody.prototype, "header_rows_data", void 0);
118
+ __decorate([
119
+ state()
120
+ ], NileVirtualTableBody.prototype, "sort__index", void 0);
121
+ __decorate([
122
+ state()
123
+ ], NileVirtualTableBody.prototype, "search__index", void 0);
124
+ __decorate([
125
+ state()
126
+ ], NileVirtualTableBody.prototype, "hasResizableColumns", void 0);
127
+ __decorate([
128
+ watch('data', { waitUntilFirstUpdate: true })
129
+ ], NileVirtualTableBody.prototype, "handleDataChange", null);
130
+ NileVirtualTableBody = __decorate([
131
+ customElement('nile-virtual-table-body')
132
+ ], NileVirtualTableBody);
133
+ export { NileVirtualTableBody };
134
+ export default NileVirtualTableBody;
135
+ //# sourceMappingURL=nile-virtual-table-body.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-virtual-table-body.js","sourceRoot":"","sources":["../../../src/nile-virtual-table-body/nile-virtual-table-body.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 {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n PropertyValues,\n} from 'lit';\nimport {\n customElement,\n query,\n state,\n property\n} from 'lit/decorators.js';\nimport { styles } from './nile-virtual-table-body.css';\nimport NileElement from '../internal/nile-element';\nimport { getInnerHTML } from '../slot';\nimport { hasResizableColumns } from '../internal/resizable-table-helper';\nimport { virtualize } from '@lit-labs/virtualizer/virtualize.js';\nimport { VirtualTableBodyRenderer } from './renderer.js';\nimport { watch } from '../internal/watch';\n\n/**\n * nile-virtual-table-body component.\n *\n * @tag nile-virtual-table-body\n *\n */\n@customElement('nile-virtual-table-body')\nexport class NileVirtualTableBody extends NileElement {\n /**\n * The styles for VirtualTableBody\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n\n @query('slot') defaultSlot: HTMLSlotElement;\n @property() type: 'primary' | 'secondary' = 'primary';\n\n /** \n * Array of all table row data for virtual scrolling.\n * Each row should be an object with a 'cells' property containing an array of cell data.\n * Example: [{ cells: [{ content: 'Cell 1' }, { content: 'Cell 2' }] }]\n */\n @property({ type: Array }) data: any[] = [];\n\n @state() private rows_data: any[] = [];\n @state() private header_rows_data: any[] = [];\n @state() private sort__index: number;\n @state() private search__index: number;\n @state() private hasResizableColumns = false;\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n protected firstUpdated(_changedProperties: PropertyValues): void {\n this.emit('nile-body-load', { value: this.type, comp: this }, true, false);\n }\n\n /* #endregion */\n\n /* #region Methods */\n\n private getChildren(child: any, tagname: string) {\n return child.querySelectorAll(tagname);\n }\n\n private getIndexValue(index__value: string): number {\n return this.header_rows_data.indexOf(index__value);\n }\n\n private checkForResizableColumns() {\n this.hasResizableColumns = hasResizableColumns(this);\n }\n\n handleSlotchange(e: any) {\n // For virtual table body, we primarily use the data property\n // Slot change is mainly for header content\n this.checkForResizableColumns();\n }\n\n private handleSort(e: any) {\n const { curr_sort_string, order } = e.detail.value;\n const header_index = this.getIndexValue(curr_sort_string);\n this.emit('nile-sort', {\n value: { header_index, curr_sort_string, order },\n });\n }\n\n private handleSearch(e: any) {\n const searchText = e.detail.value;\n this.search__index = this.getIndexValue(e.target.textContent);\n this.emit('nile-table-search', {\n index: this.search__index,\n value: searchText,\n });\n }\n\n public render(): TemplateResult {\n return html`\n <div class=\"base\" part=\"base\">\n <slot name=\"table__header\" class=\"table__header\"></slot>\n <div\n class=\"nile__table__body\"\n ?resizable=${this.hasResizableColumns}\n @nile-click-sort=${this.handleSort}\n @nile-search=${this.handleSearch}\n >\n <slot\n @slotchange=${this.handleSlotchange}\n name=\"table__body\"\n ></slot>\n ${this.getVirtualizedContent()}\n </div>\n </div>\n `;\n }\n\n private getVirtualizedContent(): TemplateResult {\n return VirtualTableBodyRenderer.getVirtualizedContent(\n this.data,\n this.hasResizableColumns\n );\n }\n\n @watch('data', { waitUntilFirstUpdate: true })\n handleDataChange(): void {\n this.requestUpdate();\n }\n\n /* #endregion */\n}\n\nexport default NileVirtualTableBody;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-virtual-table-body': NileVirtualTableBody;\n }\n}\n"]}
@@ -0,0 +1,16 @@
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 { type TemplateResult } from 'lit';
8
+ export declare class VirtualTableBodyRenderer {
9
+ static getVirtualizedContent(data: any[], hasResizableColumns: boolean): TemplateResult;
10
+ static getRowRenderFunction(rowData: any, hasResizableColumns: boolean): TemplateResult;
11
+ /**
12
+ * Determines whether to use virtualizer based on dataset size
13
+ * For small datasets (less than 50 rows), use regular rendering for better performance
14
+ */
15
+ private static shouldUseVirtualizer;
16
+ }
@@ -0,0 +1,49 @@
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 { html } from 'lit';
8
+ import { virtualize } from '@lit-labs/virtualizer/virtualize.js';
9
+ export class VirtualTableBodyRenderer {
10
+ static getVirtualizedContent(data, hasResizableColumns) {
11
+ return html `
12
+ <div class="virtualized-container">
13
+ ${VirtualTableBodyRenderer.shouldUseVirtualizer(data)
14
+ ? html `
15
+ ${virtualize({
16
+ items: data,
17
+ renderItem: (rowData) => VirtualTableBodyRenderer.getRowRenderFunction(rowData, hasResizableColumns),
18
+ scroller: true,
19
+ })}
20
+ `
21
+ : html `
22
+ ${data.map((rowData) => VirtualTableBodyRenderer.getRowRenderFunction(rowData, hasResizableColumns))}
23
+ `}
24
+ </div>
25
+ `;
26
+ }
27
+ static getRowRenderFunction(rowData, hasResizableColumns) {
28
+ // Create a table row with cell items based on the data
29
+ return html `
30
+ <div class="virtualized-row">
31
+ <nile-table-row>
32
+ ${rowData.cells ? rowData.cells.map((cell) => html `
33
+ <nile-table-cell-item ?resizable=${hasResizableColumns}>
34
+ ${cell.content || cell}
35
+ </nile-table-cell-item>
36
+ `) : ''}
37
+ </nile-table-row>
38
+ </div>
39
+ `;
40
+ }
41
+ /**
42
+ * Determines whether to use virtualizer based on dataset size
43
+ * For small datasets (less than 50 rows), use regular rendering for better performance
44
+ */
45
+ static shouldUseVirtualizer(data) {
46
+ return data.length >= 50;
47
+ }
48
+ }
49
+ //# sourceMappingURL=renderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../src/nile-virtual-table-body/renderer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AAEjE,MAAM,OAAO,wBAAwB;IACnC,MAAM,CAAC,qBAAqB,CAC1B,IAAW,EACX,mBAA4B;QAE5B,OAAO,IAAI,CAAA;;UAEL,wBAAwB,CAAC,oBAAoB,CAAC,IAAI,CAAC;YACnD,CAAC,CAAC,IAAI,CAAA;gBACA,UAAU,CAAC;gBACX,KAAK,EAAE,IAAI;gBACX,UAAU,EAAE,CAAC,OAAY,EAAkB,EAAE,CAC3C,wBAAwB,CAAC,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,CAAC;gBAC7E,QAAQ,EAAE,IAAI;aACf,CAAC;aACH;YACH,CAAC,CAAC,IAAI,CAAA;gBACA,IAAI,CAAC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE,CAC1B,wBAAwB,CAAC,oBAAoB,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAC5E;aACF;;KAER,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,oBAAoB,CACzB,OAAY,EACZ,mBAA4B;QAE5B,uDAAuD;QACvD,OAAO,IAAI,CAAA;;;YAGH,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAA;+CAClB,mBAAmB;gBAClD,IAAI,CAAC,OAAO,IAAI,IAAI;;WAEzB,CAAC,CAAC,CAAC,CAAC,EAAE;;;KAGZ,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,oBAAoB,CAAC,IAAW;QAC7C,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IAC3B,CAAC;CACF","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, type TemplateResult } from 'lit';\nimport { virtualize } from '@lit-labs/virtualizer/virtualize.js';\n\nexport class VirtualTableBodyRenderer {\n static getVirtualizedContent(\n data: any[],\n hasResizableColumns: boolean\n ): TemplateResult {\n return html`\n <div class=\"virtualized-container\">\n ${VirtualTableBodyRenderer.shouldUseVirtualizer(data)\n ? html`\n ${virtualize({\n items: data,\n renderItem: (rowData: any): TemplateResult =>\n VirtualTableBodyRenderer.getRowRenderFunction(rowData, hasResizableColumns),\n scroller: true,\n })}\n `\n : html`\n ${data.map((rowData: any) => \n VirtualTableBodyRenderer.getRowRenderFunction(rowData, hasResizableColumns)\n )}\n `}\n </div>\n `;\n }\n\n static getRowRenderFunction(\n rowData: any, \n hasResizableColumns: boolean\n ): TemplateResult {\n // Create a table row with cell items based on the data\n return html`\n <div class=\"virtualized-row\">\n <nile-table-row>\n ${rowData.cells ? rowData.cells.map((cell: any) => html`\n <nile-table-cell-item ?resizable=${hasResizableColumns}>\n ${cell.content || cell}\n </nile-table-cell-item>\n `) : ''}\n </nile-table-row>\n </div>\n `;\n }\n\n /**\n * Determines whether to use virtualizer based on dataset size\n * For small datasets (less than 50 rows), use regular rendering for better performance\n */\n private static shouldUseVirtualizer(data: any[]): boolean {\n return data.length >= 50;\n }\n}\n"]}