@aquera/nile-elements 0.1.74 → 0.1.75-beta-1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (464) hide show
  1. package/demo/index.html +95 -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 +41 -17
  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.cjs.js.map +1 -1
  23. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  24. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  25. package/dist/nile-card/nile-card.test.esm.js +1 -1
  26. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  27. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  28. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  29. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  30. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  31. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  32. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  33. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  34. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  35. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  36. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  37. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  38. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  39. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  40. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  41. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  42. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  43. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  44. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  45. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  46. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  47. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  48. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  49. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  50. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  51. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  52. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  53. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  54. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  55. package/dist/nile-input/nile-input.test.esm.js +1 -1
  56. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  57. package/dist/nile-link/nile-link.test.esm.js +1 -1
  58. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  59. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  60. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  61. package/dist/nile-popover/nile-popover.test.esm.js +1 -1
  62. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  63. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  64. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  65. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  66. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  67. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  68. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  69. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  70. package/dist/nile-select/index.cjs.js +1 -1
  71. package/dist/nile-select/index.esm.js +1 -1
  72. package/dist/nile-select/nile-select.cjs.js +1 -1
  73. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  74. package/dist/nile-select/nile-select.esm.js +2 -2
  75. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  76. package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
  77. package/dist/nile-select/nile-select.test.esm.js +1 -1
  78. package/dist/nile-select/virtual-scroll-helper.cjs.js +1 -1
  79. package/dist/nile-select/virtual-scroll-helper.cjs.js.map +1 -1
  80. package/dist/nile-select/virtual-scroll-helper.esm.js +1 -0
  81. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  82. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  83. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  84. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  85. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  86. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  87. package/dist/nile-virtual-select/index.cjs.js +1 -1
  88. package/dist/nile-virtual-select/index.esm.js +1 -1
  89. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +1 -1
  90. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  91. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +1 -1
  92. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +1 -1
  93. package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +18 -0
  94. package/dist/nile-virtual-select/nile-virtual-select.esm.js +15 -11
  95. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  96. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  97. package/dist/nile-virtual-select/renderer.cjs.js +1 -1
  98. package/dist/nile-virtual-select/renderer.cjs.js.map +1 -1
  99. package/dist/nile-virtual-select/renderer.esm.js +11 -10
  100. package/dist/nile-virtual-select/selection-manager.cjs.js +1 -1
  101. package/dist/nile-virtual-select/selection-manager.cjs.js.map +1 -1
  102. package/dist/nile-virtual-select/selection-manager.esm.js +1 -1
  103. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js +2 -0
  104. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js.map +1 -0
  105. package/dist/nile-virtual-select/temp_nile-virtual-select copy.esm.js +231 -0
  106. package/dist/src/internal/resizable-helper.d.ts +59 -0
  107. package/dist/src/internal/resizable-helper.js +115 -0
  108. package/dist/src/internal/resizable-helper.js.map +1 -0
  109. package/dist/src/internal/resizable-styles.d.ts +16 -0
  110. package/dist/src/internal/resizable-styles.js +144 -0
  111. package/dist/src/internal/resizable-styles.js.map +1 -0
  112. package/dist/src/internal/virtualizer-error-handler.d.ts +30 -0
  113. package/dist/src/internal/virtualizer-error-handler.js +82 -0
  114. package/dist/src/internal/virtualizer-error-handler.js.map +1 -0
  115. package/dist/src/lib/index.d.ts +7 -0
  116. package/dist/src/lib/index.js +8 -0
  117. package/dist/src/lib/index.js.map +1 -0
  118. package/dist/src/lib/virtualize.d.ts +32 -0
  119. package/dist/src/lib/virtualize.js +105 -0
  120. package/dist/src/lib/virtualize.js.map +1 -0
  121. package/dist/src/lib/virtualize.test.d.ts +7 -0
  122. package/dist/src/lib/virtualize.test.js +57 -0
  123. package/dist/src/lib/virtualize.test.js.map +1 -0
  124. package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +17 -0
  125. package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +310 -0
  126. package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +34 -0
  127. package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +31 -0
  128. package/dist/src/nile-grid/data-processor.d.ts +37 -0
  129. package/dist/src/nile-grid/data-processor.js +122 -0
  130. package/dist/src/nile-grid/data-processor.js.map +1 -0
  131. package/dist/src/nile-grid/event-handlers.d.ts +35 -0
  132. package/dist/src/nile-grid/event-handlers.js +158 -0
  133. package/dist/src/nile-grid/event-handlers.js.map +1 -0
  134. package/dist/src/nile-grid/index.d.ts +5 -0
  135. package/dist/src/nile-grid/index.js +6 -0
  136. package/dist/src/nile-grid/index.js.map +1 -0
  137. package/dist/src/nile-grid/nile-grid.css.d.ts +1 -0
  138. package/dist/src/nile-grid/nile-grid.css.js +120 -0
  139. package/dist/src/nile-grid/nile-grid.css.js.map +1 -0
  140. package/dist/src/nile-grid/nile-grid.d.ts +39 -0
  141. package/dist/src/nile-grid/nile-grid.js +182 -0
  142. package/dist/src/nile-grid/nile-grid.js.map +1 -0
  143. package/dist/src/nile-grid/renderer.d.ts +8 -0
  144. package/dist/src/nile-grid/renderer.js +78 -0
  145. package/dist/src/nile-grid/renderer.js.map +1 -0
  146. package/dist/src/nile-grid/resize-handler.d.ts +4 -0
  147. package/dist/src/nile-grid/resize-handler.js +36 -0
  148. package/dist/src/nile-grid/resize-handler.js.map +1 -0
  149. package/dist/src/nile-grid/types.d.ts +32 -0
  150. package/dist/src/nile-grid/types.js +2 -0
  151. package/dist/src/nile-grid/types.js.map +1 -0
  152. package/dist/src/nile-grid/utils.d.ts +4 -0
  153. package/dist/src/nile-grid/utils.js +32 -0
  154. package/dist/src/nile-grid/utils.js.map +1 -0
  155. package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +47 -0
  156. package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +16 -0
  157. package/dist/src/nile-icon/icons/svg/ng-action.d.ts +5 -0
  158. package/dist/src/nile-icon/icons/svg/ng-action.js +5 -0
  159. package/dist/src/nile-icon/icons/svg/ng-action.js.map +1 -0
  160. package/dist/src/nile-icon/icons/svg/ng-activity.d.ts +5 -0
  161. package/dist/src/nile-icon/icons/svg/ng-activity.js +5 -0
  162. package/dist/src/nile-icon/icons/svg/ng-activity.js.map +1 -0
  163. package/dist/src/nile-icon/icons/svg/ng-alert-circle.d.ts +5 -0
  164. package/dist/src/nile-icon/icons/svg/ng-alert-circle.js +5 -0
  165. package/dist/src/nile-icon/icons/svg/ng-alert-circle.js.map +1 -0
  166. package/dist/src/nile-icon/icons/svg/ng-align-center.d.ts +5 -0
  167. package/dist/src/nile-icon/icons/svg/ng-align-center.js +5 -0
  168. package/dist/src/nile-icon/icons/svg/ng-align-center.js.map +1 -0
  169. package/dist/src/nile-icon/icons/svg/ng-annotation-x.d.ts +5 -0
  170. package/dist/src/nile-icon/icons/svg/ng-annotation-x.js +5 -0
  171. package/dist/src/nile-icon/icons/svg/ng-annotation-x.js.map +1 -0
  172. package/dist/src/nile-icon/icons/svg/ng-arrow-down.d.ts +5 -0
  173. package/dist/src/nile-icon/icons/svg/ng-arrow-down.js +5 -0
  174. package/dist/src/nile-icon/icons/svg/ng-arrow-down.js.map +1 -0
  175. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.d.ts +5 -0
  176. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js +5 -0
  177. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js.map +1 -0
  178. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.d.ts +5 -0
  179. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js +5 -0
  180. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js.map +1 -0
  181. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.d.ts +5 -0
  182. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.js +5 -0
  183. package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.js.map +1 -0
  184. package/dist/src/nile-icon/icons/svg/ng-arrow-up.d.ts +5 -0
  185. package/dist/src/nile-icon/icons/svg/ng-arrow-up.js +5 -0
  186. package/dist/src/nile-icon/icons/svg/ng-arrow-up.js.map +1 -0
  187. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.d.ts +5 -0
  188. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js +5 -0
  189. package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js.map +1 -0
  190. package/dist/src/nile-icon/icons/svg/ng-bell-01.d.ts +5 -0
  191. package/dist/src/nile-icon/icons/svg/ng-bell-01.js +5 -0
  192. package/dist/src/nile-icon/icons/svg/ng-bell-01.js.map +1 -0
  193. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.d.ts +5 -0
  194. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js +5 -0
  195. package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js.map +1 -0
  196. package/dist/src/nile-icon/icons/svg/ng-bold-01.d.ts +5 -0
  197. package/dist/src/nile-icon/icons/svg/ng-bold-01.js +5 -0
  198. package/dist/src/nile-icon/icons/svg/ng-bold-01.js.map +1 -0
  199. package/dist/src/nile-icon/icons/svg/ng-building-01.d.ts +5 -0
  200. package/dist/src/nile-icon/icons/svg/ng-building-01.js +5 -0
  201. package/dist/src/nile-icon/icons/svg/ng-building-01.js.map +1 -0
  202. package/dist/src/nile-icon/icons/svg/ng-building-05.d.ts +5 -0
  203. package/dist/src/nile-icon/icons/svg/ng-building-05.js +5 -0
  204. package/dist/src/nile-icon/icons/svg/ng-building-05.js.map +1 -0
  205. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.d.ts +5 -0
  206. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.js +5 -0
  207. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.js.map +1 -0
  208. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.d.ts +5 -0
  209. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.js +5 -0
  210. package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.js.map +1 -0
  211. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.d.ts +5 -0
  212. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js +5 -0
  213. package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js.map +1 -0
  214. package/dist/src/nile-icon/icons/svg/ng-calendar.d.ts +5 -0
  215. package/dist/src/nile-icon/icons/svg/ng-calendar.js +5 -0
  216. package/dist/src/nile-icon/icons/svg/ng-calendar.js.map +1 -0
  217. package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.d.ts +5 -0
  218. package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.js +5 -0
  219. package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.js.map +1 -0
  220. package/dist/src/nile-icon/icons/svg/ng-check-circle.d.ts +5 -0
  221. package/dist/src/nile-icon/icons/svg/ng-check-circle.js +5 -0
  222. package/dist/src/nile-icon/icons/svg/ng-check-circle.js.map +1 -0
  223. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.d.ts +5 -0
  224. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js +5 -0
  225. package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js.map +1 -0
  226. package/dist/src/nile-icon/icons/svg/ng-check.d.ts +5 -0
  227. package/dist/src/nile-icon/icons/svg/ng-check.js +5 -0
  228. package/dist/src/nile-icon/icons/svg/ng-check.js.map +1 -0
  229. package/dist/src/nile-icon/icons/svg/ng-chevron-down.d.ts +5 -0
  230. package/dist/src/nile-icon/icons/svg/ng-chevron-down.js +5 -0
  231. package/dist/src/nile-icon/icons/svg/ng-chevron-down.js.map +1 -0
  232. package/dist/src/nile-icon/icons/svg/ng-chevron-left.d.ts +5 -0
  233. package/dist/src/nile-icon/icons/svg/ng-chevron-left.js +5 -0
  234. package/dist/src/nile-icon/icons/svg/ng-chevron-left.js.map +1 -0
  235. package/dist/src/nile-icon/icons/svg/ng-chevron-right.d.ts +5 -0
  236. package/dist/src/nile-icon/icons/svg/ng-chevron-right.js +5 -0
  237. package/dist/src/nile-icon/icons/svg/ng-chevron-right.js.map +1 -0
  238. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.d.ts +5 -0
  239. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js +5 -0
  240. package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js.map +1 -0
  241. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.d.ts +5 -0
  242. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js +5 -0
  243. package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js.map +1 -0
  244. package/dist/src/nile-icon/icons/svg/ng-chevron-up.d.ts +5 -0
  245. package/dist/src/nile-icon/icons/svg/ng-chevron-up.js +5 -0
  246. package/dist/src/nile-icon/icons/svg/ng-chevron-up.js.map +1 -0
  247. package/dist/src/nile-icon/icons/svg/ng-copy-03.d.ts +5 -0
  248. package/dist/src/nile-icon/icons/svg/ng-copy-03.js +5 -0
  249. package/dist/src/nile-icon/icons/svg/ng-copy-03.js.map +1 -0
  250. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.d.ts +5 -0
  251. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.js +5 -0
  252. package/dist/src/nile-icon/icons/svg/ng-dataflow-04.js.map +1 -0
  253. package/dist/src/nile-icon/icons/svg/ng-dots-grid.d.ts +5 -0
  254. package/dist/src/nile-icon/icons/svg/ng-dots-grid.js +5 -0
  255. package/dist/src/nile-icon/icons/svg/ng-dots-grid.js.map +1 -0
  256. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.d.ts +5 -0
  257. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js +5 -0
  258. package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js.map +1 -0
  259. package/dist/src/nile-icon/icons/svg/ng-download-01.d.ts +5 -0
  260. package/dist/src/nile-icon/icons/svg/ng-download-01.js +5 -0
  261. package/dist/src/nile-icon/icons/svg/ng-download-01.js.map +1 -0
  262. package/dist/src/nile-icon/icons/svg/ng-dropdown.d.ts +5 -0
  263. package/dist/src/nile-icon/icons/svg/ng-dropdown.js +5 -0
  264. package/dist/src/nile-icon/icons/svg/ng-dropdown.js.map +1 -0
  265. package/dist/src/nile-icon/icons/svg/ng-edit-02.d.ts +5 -0
  266. package/dist/src/nile-icon/icons/svg/ng-edit-02.js +5 -0
  267. package/dist/src/nile-icon/icons/svg/ng-edit-02.js.map +1 -0
  268. package/dist/src/nile-icon/icons/svg/ng-edit-05.d.ts +5 -0
  269. package/dist/src/nile-icon/icons/svg/ng-edit-05.js +5 -0
  270. package/dist/src/nile-icon/icons/svg/ng-edit-05.js.map +1 -0
  271. package/dist/src/nile-icon/icons/svg/ng-expand-06.d.ts +5 -0
  272. package/dist/src/nile-icon/icons/svg/ng-expand-06.js +5 -0
  273. package/dist/src/nile-icon/icons/svg/ng-expand-06.js.map +1 -0
  274. package/dist/src/nile-icon/icons/svg/ng-eye-off.d.ts +5 -0
  275. package/dist/src/nile-icon/icons/svg/ng-eye-off.js +5 -0
  276. package/dist/src/nile-icon/icons/svg/ng-eye-off.js.map +1 -0
  277. package/dist/src/nile-icon/icons/svg/ng-eye.d.ts +5 -0
  278. package/dist/src/nile-icon/icons/svg/ng-eye.js +5 -0
  279. package/dist/src/nile-icon/icons/svg/ng-eye.js.map +1 -0
  280. package/dist/src/nile-icon/icons/svg/ng-file-02.d.ts +5 -0
  281. package/dist/src/nile-icon/icons/svg/ng-file-02.js +5 -0
  282. package/dist/src/nile-icon/icons/svg/ng-file-02.js.map +1 -0
  283. package/dist/src/nile-icon/icons/svg/ng-file-06.d.ts +5 -0
  284. package/dist/src/nile-icon/icons/svg/ng-file-06.js +5 -0
  285. package/dist/src/nile-icon/icons/svg/ng-file-06.js.map +1 -0
  286. package/dist/src/nile-icon/icons/svg/ng-file-check-02.d.ts +5 -0
  287. package/dist/src/nile-icon/icons/svg/ng-file-check-02.js +5 -0
  288. package/dist/src/nile-icon/icons/svg/ng-file-check-02.js.map +1 -0
  289. package/dist/src/nile-icon/icons/svg/ng-file-question-03.d.ts +5 -0
  290. package/dist/src/nile-icon/icons/svg/ng-file-question-03.js +5 -0
  291. package/dist/src/nile-icon/icons/svg/ng-file-question-03.js.map +1 -0
  292. package/dist/src/nile-icon/icons/svg/ng-filter-lines.d.ts +5 -0
  293. package/dist/src/nile-icon/icons/svg/ng-filter-lines.js +5 -0
  294. package/dist/src/nile-icon/icons/svg/ng-filter-lines.js.map +1 -0
  295. package/dist/src/nile-icon/icons/svg/ng-grid-01.d.ts +5 -0
  296. package/dist/src/nile-icon/icons/svg/ng-grid-01.js +5 -0
  297. package/dist/src/nile-icon/icons/svg/ng-grid-01.js.map +1 -0
  298. package/dist/src/nile-icon/icons/svg/ng-help-circle.d.ts +5 -0
  299. package/dist/src/nile-icon/icons/svg/ng-help-circle.js +5 -0
  300. package/dist/src/nile-icon/icons/svg/ng-help-circle.js.map +1 -0
  301. package/dist/src/nile-icon/icons/svg/ng-image-03.d.ts +5 -0
  302. package/dist/src/nile-icon/icons/svg/ng-image-03.js +5 -0
  303. package/dist/src/nile-icon/icons/svg/ng-image-03.js.map +1 -0
  304. package/dist/src/nile-icon/icons/svg/ng-image-user-left.d.ts +5 -0
  305. package/dist/src/nile-icon/icons/svg/ng-image-user-left.js +5 -0
  306. package/dist/src/nile-icon/icons/svg/ng-image-user-left.js.map +1 -0
  307. package/dist/src/nile-icon/icons/svg/ng-info-circle.d.ts +5 -0
  308. package/dist/src/nile-icon/icons/svg/ng-info-circle.js +5 -0
  309. package/dist/src/nile-icon/icons/svg/ng-info-circle.js.map +1 -0
  310. package/dist/src/nile-icon/icons/svg/ng-italic-01.d.ts +5 -0
  311. package/dist/src/nile-icon/icons/svg/ng-italic-01.js +5 -0
  312. package/dist/src/nile-icon/icons/svg/ng-italic-01.js.map +1 -0
  313. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.d.ts +5 -0
  314. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js +5 -0
  315. package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js.map +1 -0
  316. package/dist/src/nile-icon/icons/svg/ng-list.d.ts +5 -0
  317. package/dist/src/nile-icon/icons/svg/ng-list.js +5 -0
  318. package/dist/src/nile-icon/icons/svg/ng-list.js.map +1 -0
  319. package/dist/src/nile-icon/icons/svg/ng-lock-03.d.ts +5 -0
  320. package/dist/src/nile-icon/icons/svg/ng-lock-03.js +5 -0
  321. package/dist/src/nile-icon/icons/svg/ng-lock-03.js.map +1 -0
  322. package/dist/src/nile-icon/icons/svg/ng-log-out-01.d.ts +5 -0
  323. package/dist/src/nile-icon/icons/svg/ng-log-out-01.js +5 -0
  324. package/dist/src/nile-icon/icons/svg/ng-log-out-01.js.map +1 -0
  325. package/dist/src/nile-icon/icons/svg/ng-mail-01.d.ts +5 -0
  326. package/dist/src/nile-icon/icons/svg/ng-mail-01.js +5 -0
  327. package/dist/src/nile-icon/icons/svg/ng-mail-01.js.map +1 -0
  328. package/dist/src/nile-icon/icons/svg/ng-mail-04.d.ts +5 -0
  329. package/dist/src/nile-icon/icons/svg/ng-mail-04.js +5 -0
  330. package/dist/src/nile-icon/icons/svg/ng-mail-04.js.map +1 -0
  331. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.d.ts +5 -0
  332. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.js +5 -0
  333. package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.js.map +1 -0
  334. package/dist/src/nile-icon/icons/svg/ng-menu-05.d.ts +5 -0
  335. package/dist/src/nile-icon/icons/svg/ng-menu-05.js +5 -0
  336. package/dist/src/nile-icon/icons/svg/ng-menu-05.js.map +1 -0
  337. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.d.ts +5 -0
  338. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js +5 -0
  339. package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js.map +1 -0
  340. package/dist/src/nile-icon/icons/svg/ng-minimize-02.d.ts +5 -0
  341. package/dist/src/nile-icon/icons/svg/ng-minimize-02.js +5 -0
  342. package/dist/src/nile-icon/icons/svg/ng-minimize-02.js.map +1 -0
  343. package/dist/src/nile-icon/icons/svg/ng-minus.d.ts +5 -0
  344. package/dist/src/nile-icon/icons/svg/ng-minus.js +5 -0
  345. package/dist/src/nile-icon/icons/svg/ng-minus.js.map +1 -0
  346. package/dist/src/nile-icon/icons/svg/ng-plus.d.ts +5 -0
  347. package/dist/src/nile-icon/icons/svg/ng-plus.js +5 -0
  348. package/dist/src/nile-icon/icons/svg/ng-plus.js.map +1 -0
  349. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.d.ts +5 -0
  350. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js +5 -0
  351. package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js.map +1 -0
  352. package/dist/src/nile-icon/icons/svg/ng-rocket-02.d.ts +5 -0
  353. package/dist/src/nile-icon/icons/svg/ng-rocket-02.js +5 -0
  354. package/dist/src/nile-icon/icons/svg/ng-rocket-02.js.map +1 -0
  355. package/dist/src/nile-icon/icons/svg/ng-search-lg.d.ts +5 -0
  356. package/dist/src/nile-icon/icons/svg/ng-search-lg.js +5 -0
  357. package/dist/src/nile-icon/icons/svg/ng-search-lg.js.map +1 -0
  358. package/dist/src/nile-icon/icons/svg/ng-send-01.d.ts +5 -0
  359. package/dist/src/nile-icon/icons/svg/ng-send-01.js +5 -0
  360. package/dist/src/nile-icon/icons/svg/ng-send-01.js.map +1 -0
  361. package/dist/src/nile-icon/icons/svg/ng-settings-01.d.ts +5 -0
  362. package/dist/src/nile-icon/icons/svg/ng-settings-01.js +5 -0
  363. package/dist/src/nile-icon/icons/svg/ng-settings-01.js.map +1 -0
  364. package/dist/src/nile-icon/icons/svg/ng-share-04.d.ts +5 -0
  365. package/dist/src/nile-icon/icons/svg/ng-share-04.js +5 -0
  366. package/dist/src/nile-icon/icons/svg/ng-share-04.js.map +1 -0
  367. package/dist/src/nile-icon/icons/svg/ng-share-06.d.ts +5 -0
  368. package/dist/src/nile-icon/icons/svg/ng-share-06.js +5 -0
  369. package/dist/src/nile-icon/icons/svg/ng-share-06.js.map +1 -0
  370. package/dist/src/nile-icon/icons/svg/ng-stars-02.d.ts +5 -0
  371. package/dist/src/nile-icon/icons/svg/ng-stars-02.js +5 -0
  372. package/dist/src/nile-icon/icons/svg/ng-stars-02.js.map +1 -0
  373. package/dist/src/nile-icon/icons/svg/ng-trash-01.d.ts +5 -0
  374. package/dist/src/nile-icon/icons/svg/ng-trash-01.js +5 -0
  375. package/dist/src/nile-icon/icons/svg/ng-trash-01.js.map +1 -0
  376. package/dist/src/nile-icon/icons/svg/ng-trash-03.d.ts +5 -0
  377. package/dist/src/nile-icon/icons/svg/ng-trash-03.js +5 -0
  378. package/dist/src/nile-icon/icons/svg/ng-trash-03.js.map +1 -0
  379. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.d.ts +5 -0
  380. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js +5 -0
  381. package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js.map +1 -0
  382. package/dist/src/nile-icon/icons/svg/ng-underline-01.d.ts +5 -0
  383. package/dist/src/nile-icon/icons/svg/ng-underline-01.js +5 -0
  384. package/dist/src/nile-icon/icons/svg/ng-underline-01.js.map +1 -0
  385. package/dist/src/nile-icon/icons/svg/ng-upload-01.d.ts +5 -0
  386. package/dist/src/nile-icon/icons/svg/ng-upload-01.js +5 -0
  387. package/dist/src/nile-icon/icons/svg/ng-upload-01.js.map +1 -0
  388. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.d.ts +5 -0
  389. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js +5 -0
  390. package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js.map +1 -0
  391. package/dist/src/nile-icon/icons/svg/ng-user-01.d.ts +5 -0
  392. package/dist/src/nile-icon/icons/svg/ng-user-01.js +5 -0
  393. package/dist/src/nile-icon/icons/svg/ng-user-01.js.map +1 -0
  394. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.d.ts +5 -0
  395. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js +5 -0
  396. package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js.map +1 -0
  397. package/dist/src/nile-icon/icons/svg/ng-user-check-02.d.ts +5 -0
  398. package/dist/src/nile-icon/icons/svg/ng-user-check-02.js +5 -0
  399. package/dist/src/nile-icon/icons/svg/ng-user-check-02.js.map +1 -0
  400. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.d.ts +5 -0
  401. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js +5 -0
  402. package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js.map +1 -0
  403. package/dist/src/nile-icon/icons/svg/ng-user-right-01.d.ts +5 -0
  404. package/dist/src/nile-icon/icons/svg/ng-user-right-01.js +5 -0
  405. package/dist/src/nile-icon/icons/svg/ng-user-right-01.js.map +1 -0
  406. package/dist/src/nile-icon/icons/svg/ng-users-01.d.ts +5 -0
  407. package/dist/src/nile-icon/icons/svg/ng-users-01.js +5 -0
  408. package/dist/src/nile-icon/icons/svg/ng-users-01.js.map +1 -0
  409. package/dist/src/nile-icon/icons/svg/ng-x-circle.d.ts +5 -0
  410. package/dist/src/nile-icon/icons/svg/ng-x-circle.js +5 -0
  411. package/dist/src/nile-icon/icons/svg/ng-x-circle.js.map +1 -0
  412. package/dist/src/nile-icon/icons/svg/ng-x-close.d.ts +5 -0
  413. package/dist/src/nile-icon/icons/svg/ng-x-close.js +5 -0
  414. package/dist/src/nile-icon/icons/svg/ng-x-close.js.map +1 -0
  415. package/dist/src/nile-icon/icons/svg/ng-x-square.d.ts +5 -0
  416. package/dist/src/nile-icon/icons/svg/ng-x-square.js +5 -0
  417. package/dist/src/nile-icon/icons/svg/ng-x-square.js.map +1 -0
  418. package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +75 -0
  419. package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +22 -0
  420. package/dist/src/nile-select/nile-select.d.ts +2 -0
  421. package/dist/src/nile-select/nile-select.js +8 -2
  422. package/dist/src/nile-select/nile-select.js.map +1 -1
  423. package/dist/src/nile-select/virtual-scroll-helper.js +1 -0
  424. package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -1
  425. package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +9 -0
  426. package/dist/src/nile-table-body/virtual-scroll-helper.js +24 -0
  427. package/dist/src/nile-table-body/virtual-scroll-helper.js.map +1 -0
  428. package/dist/src/nile-virtual-select/nile-virtual-select.css.js +18 -0
  429. package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +1 -1
  430. package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +18 -1
  431. package/dist/src/nile-virtual-select/nile-virtual-select.js +106 -21
  432. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
  433. package/dist/src/nile-virtual-select/renderer.d.ts +2 -2
  434. package/dist/src/nile-virtual-select/renderer.js +9 -8
  435. package/dist/src/nile-virtual-select/renderer.js.map +1 -1
  436. package/dist/src/nile-virtual-select/selection-manager.js +1 -1
  437. package/dist/src/nile-virtual-select/selection-manager.js.map +1 -1
  438. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.d.ts +273 -0
  439. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js +1305 -0
  440. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js.map +1 -0
  441. package/dist/src/nile-virtual-select/virtualizer-error-handler.d.ts +21 -0
  442. package/dist/src/nile-virtual-select/virtualizer-error-handler.js +56 -0
  443. package/dist/src/nile-virtual-select/virtualizer-error-handler.js.map +1 -0
  444. package/dist/src/nile-virtual-table-body/index.d.ts +2 -0
  445. package/dist/src/nile-virtual-table-body/index.js +3 -0
  446. package/dist/src/nile-virtual-table-body/index.js.map +1 -0
  447. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +1 -0
  448. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +44 -0
  449. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +1 -0
  450. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +50 -0
  451. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +135 -0
  452. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +1 -0
  453. package/dist/src/nile-virtual-table-body/renderer.d.ts +16 -0
  454. package/dist/src/nile-virtual-table-body/renderer.js +49 -0
  455. package/dist/src/nile-virtual-table-body/renderer.js.map +1 -0
  456. package/dist/tsconfig.tsbuildinfo +1 -1
  457. package/package.json +1 -1
  458. package/src/nile-select/nile-select.ts +6 -2
  459. package/src/nile-select/virtual-scroll-helper.ts +1 -0
  460. package/src/nile-virtual-select/nile-virtual-select.css.ts +18 -0
  461. package/src/nile-virtual-select/nile-virtual-select.ts +121 -25
  462. package/src/nile-virtual-select/renderer.ts +10 -8
  463. package/src/nile-virtual-select/selection-manager.ts +1 -1
  464. package/vscode-html-custom-data.json +28 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"virtualize.js","sourceRoot":"","sources":["../../../src/lib/virtualize.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, type TemplateResult, render } from 'lit';\n\nexport interface VirtualizeOptions {\n items: any[];\n renderItem: (item: any, index: number) => TemplateResult;\n scroller?: boolean;\n itemHeight?: number;\n containerHeight?: number;\n overscan?: number;\n}\n\n/**\n * Custom virtualize function that mimics the @lit-labs/virtualizer API\n * but uses our own implementation for better control and customization\n */\nexport function virtualize(options: VirtualizeOptions): TemplateResult {\n const {\n items = [],\n renderItem,\n scroller = true,\n itemHeight = 40,\n containerHeight = 300,\n overscan = 5\n } = options;\n\n // If no items, return empty template\n if (!items.length) {\n return html``;\n }\n\n // For small datasets, render all items without virtualization\n if (items.length < 10) {\n return html`\n ${items.map((item, index) => renderItem(item, index))}\n `;\n }\n\n // Create a unique ID for this virtualizer instance\n const virtualizerId = `virtualizer-${Math.random().toString(36).substr(2, 9)}`;\n \n return html`\n <div \n id=\"${virtualizerId}\"\n class=\"custom-virtualizer\"\n style=\"\n height: ${containerHeight}px; \n overflow-y: auto; \n position: relative;\n contain: layout style paint;\n \"\n @scroll=${(e: Event) => {\n const container = e.target as HTMLElement;\n const scrollTop = container.scrollTop;\n \n // Calculate visible range\n const start = Math.max(0, Math.floor(scrollTop / itemHeight) - overscan);\n const end = Math.min(\n start + Math.ceil(containerHeight / itemHeight) + (overscan * 2),\n items.length\n );\n \n // Update the virtualized content\n updateVirtualizedContent(container, items, renderItem, start, end, itemHeight);\n }}\n >\n ${(() => {\n // Initial render - show first visible items\n const start = 0;\n const end = Math.min(\n Math.ceil(containerHeight / itemHeight) + (overscan * 2),\n items.length\n );\n \n return html`\n ${updateVirtualizedContent(null, items, renderItem, start, end, itemHeight)}\n `;\n })()}\n </div>\n `;\n}\n\n/**\n * Update the virtualized content based on scroll position\n */\nfunction updateVirtualizedContent(\n container: HTMLElement | null,\n items: any[],\n renderItem: (item: any, index: number) => TemplateResult,\n start: number,\n end: number,\n itemHeight: number\n): TemplateResult {\n const visibleItems = items.slice(start, end);\n const spacerBefore = start * itemHeight;\n const spacerAfter = (items.length - end) * itemHeight;\n \n return html`\n ${spacerBefore > 0 ? html`<div style=\"height: ${spacerBefore}px; flex-shrink: 0;\"></div>` : ''}\n ${visibleItems.map((item, index) => \n html`<div style=\"height: ${itemHeight}px; flex-shrink: 0;\">${renderItem(item, start + index)}</div>`\n )}\n ${spacerAfter > 0 ? html`<div style=\"height: ${spacerAfter}px; flex-shrink: 0;\"></div>` : ''}\n `;\n}\n\n/**\n * Enhanced virtualize function with better performance and scroll handling\n */\nexport function createVirtualizer(options: VirtualizeOptions) {\n const {\n items = [],\n renderItem,\n scroller = true,\n itemHeight = 40,\n containerHeight = 300,\n overscan = 5\n } = options;\n\n let scrollTop = 0;\n let isScrolling = false;\n let scrollTimeout: ReturnType<typeof setTimeout> | undefined;\n\n const handleScroll = (e: Event) => {\n const container = e.target as HTMLElement;\n scrollTop = container.scrollTop;\n isScrolling = true;\n\n // Debounce scroll end detection\n if (scrollTimeout) {\n clearTimeout(scrollTimeout);\n }\n \n scrollTimeout = setTimeout(() => {\n isScrolling = false;\n }, 150);\n };\n\n return {\n handleScroll,\n getVisibleRange: () => {\n const start = Math.max(0, Math.floor(scrollTop / itemHeight) - overscan);\n const end = Math.min(\n start + Math.ceil(containerHeight / itemHeight) + (overscan * 2),\n items.length\n );\n return { start, end };\n },\n getTotalHeight: () => items.length * itemHeight,\n scrollToItem: (index: number, container: HTMLElement) => {\n const scrollPosition = index * itemHeight;\n container.scrollTop = scrollPosition;\n scrollTop = scrollPosition;\n }\n };\n}\n"]}
@@ -0,0 +1,7 @@
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
+ export {};
@@ -0,0 +1,57 @@
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 { expect } from '@open-wc/testing';
8
+ import { html } from 'lit';
9
+ import { virtualize } from './virtualize.js';
10
+ describe('Custom Virtualize', () => {
11
+ it('should render empty template for empty items array', () => {
12
+ const result = virtualize({
13
+ items: [],
14
+ renderItem: () => html `<div>test</div>`
15
+ });
16
+ expect(result).to.exist;
17
+ });
18
+ it('should render all items for small datasets without virtualization', () => {
19
+ const items = Array.from({ length: 5 }, (_, i) => ({ id: i, name: `Item ${i}` }));
20
+ const result = virtualize({
21
+ items,
22
+ renderItem: (item) => html `<div>${item.name}</div>`
23
+ });
24
+ expect(result).to.exist;
25
+ });
26
+ it('should use virtualization for large datasets', () => {
27
+ const items = Array.from({ length: 100 }, (_, i) => ({ id: i, name: `Item ${i}` }));
28
+ const result = virtualize({
29
+ items,
30
+ renderItem: (item) => html `<div>${item.name}</div>`,
31
+ itemHeight: 40,
32
+ containerHeight: 300
33
+ });
34
+ expect(result).to.exist;
35
+ });
36
+ it('should accept scroller option', () => {
37
+ const items = Array.from({ length: 50 }, (_, i) => ({ id: i, name: `Item ${i}` }));
38
+ const result = virtualize({
39
+ items,
40
+ renderItem: (item) => html `<div>${item.name}</div>`,
41
+ scroller: true
42
+ });
43
+ expect(result).to.exist;
44
+ });
45
+ it('should accept custom itemHeight and containerHeight', () => {
46
+ const items = Array.from({ length: 50 }, (_, i) => ({ id: i, name: `Item ${i}` }));
47
+ const result = virtualize({
48
+ items,
49
+ renderItem: (item) => html `<div>${item.name}</div>`,
50
+ itemHeight: 60,
51
+ containerHeight: 400,
52
+ overscan: 10
53
+ });
54
+ expect(result).to.exist;
55
+ });
56
+ });
57
+ //# sourceMappingURL=virtualize.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"virtualize.test.js","sourceRoot":"","sources":["../../../src/lib/virtualize.test.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 { expect } from '@open-wc/testing';\nimport { html } from 'lit';\nimport { virtualize } from './virtualize.js';\n\ndescribe('Custom Virtualize', () => {\n it('should render empty template for empty items array', () => {\n const result = virtualize({\n items: [],\n renderItem: () => html`<div>test</div>`\n });\n \n expect(result).to.exist;\n });\n\n it('should render all items for small datasets without virtualization', () => {\n const items = Array.from({ length: 5 }, (_, i) => ({ id: i, name: `Item ${i}` }));\n \n const result = virtualize({\n items,\n renderItem: (item) => html`<div>${item.name}</div>`\n });\n \n expect(result).to.exist;\n });\n\n it('should use virtualization for large datasets', () => {\n const items = Array.from({ length: 100 }, (_, i) => ({ id: i, name: `Item ${i}` }));\n \n const result = virtualize({\n items,\n renderItem: (item) => html`<div>${item.name}</div>`,\n itemHeight: 40,\n containerHeight: 300\n });\n \n expect(result).to.exist;\n });\n\n it('should accept scroller option', () => {\n const items = Array.from({ length: 50 }, (_, i) => ({ id: i, name: `Item ${i}` }));\n \n const result = virtualize({\n items,\n renderItem: (item) => html`<div>${item.name}</div>`,\n scroller: true\n });\n \n expect(result).to.exist;\n });\n\n it('should accept custom itemHeight and containerHeight', () => {\n const items = Array.from({ length: 50 }, (_, i) => ({ id: i, name: `Item ${i}` }));\n \n const result = virtualize({\n items,\n renderItem: (item) => html`<div>${item.name}</div>`,\n itemHeight: 60,\n containerHeight: 400,\n overscan: 10\n });\n \n expect(result).to.exist;\n });\n});\n"]}
@@ -0,0 +1,17 @@
1
+ /* @web/test-runner snapshot v1 */
2
+ export const snapshots = {};
3
+
4
+ snapshots["NileBadge should display the default slot content"] =
5
+ `<span
6
+ class="badge badge--badge-color badge--normal"
7
+ part="base"
8
+ >
9
+ <slot
10
+ class="badge__content"
11
+ part="content"
12
+ >
13
+ </slot>
14
+ </span>
15
+ `;
16
+ /* end snapshot NileBadge should display the default slot content */
17
+
@@ -0,0 +1,310 @@
1
+ /* @web/test-runner snapshot v1 */
2
+ export const snapshots = {};
3
+
4
+ snapshots["NileCalendar renders correctly with default properties"] =
5
+ `<div class="base">
6
+ <div class="calendar-config hidden">
7
+ <div class="calendar-switcher">
8
+ <nile-tab-group
9
+ centered=""
10
+ value="absolute"
11
+ >
12
+ <nile-tab
13
+ active=""
14
+ aria-disabled="false"
15
+ aria-selected="true"
16
+ centered=""
17
+ id="nile-tab-1"
18
+ panel="absolute"
19
+ role="tab"
20
+ slot="nav"
21
+ >
22
+ Absolute
23
+ </nile-tab>
24
+ <nile-tab
25
+ aria-disabled="false"
26
+ aria-selected="false"
27
+ centered=""
28
+ id="nile-tab-2"
29
+ panel="relative"
30
+ role="tab"
31
+ slot="nav"
32
+ >
33
+ Relative
34
+ </nile-tab>
35
+ </nile-tab-group>
36
+ </div>
37
+ </div>
38
+ <div class="calendar-wrapper">
39
+ <div class="calendar-container">
40
+ <div class="calendar">
41
+ <div class="calendar-header">
42
+ <nile-icon
43
+ class="calendar-header__month-navigation"
44
+ color="black"
45
+ description=""
46
+ method="fill"
47
+ name="arrowleft"
48
+ set="local"
49
+ size="16"
50
+ style="--nile-svg-fill: black; --nile-svg-height: 16px; --nile-svg-width: 16px;"
51
+ >
52
+ </nile-icon>
53
+ <span>
54
+ August
55
+ 2025
56
+ </span>
57
+ <nile-icon
58
+ class="calendar-header__month-navigation"
59
+ color="black"
60
+ description=""
61
+ method="fill"
62
+ name="arrowright"
63
+ set="local"
64
+ size="16"
65
+ style="--nile-svg-fill: black; --nile-svg-height: 16px; --nile-svg-width: 16px;"
66
+ >
67
+ </nile-icon>
68
+ </div>
69
+ <div class="days_container">
70
+ <div class="day_name">
71
+ Su
72
+ </div>
73
+ <div class="day_name">
74
+ Mo
75
+ </div>
76
+ <div class="day_name">
77
+ Tu
78
+ </div>
79
+ <div class="day_name">
80
+ We
81
+ </div>
82
+ <div class="day_name">
83
+ Th
84
+ </div>
85
+ <div class="day_name">
86
+ Fr
87
+ </div>
88
+ <div class="day_name">
89
+ Sa
90
+ </div>
91
+ <div class="day_date filler">
92
+ <span style="position:relative;">
93
+ 27
94
+ </span>
95
+ </div>
96
+ <div class="day_date filler">
97
+ <span style="position:relative;">
98
+ 28
99
+ </span>
100
+ </div>
101
+ <div class="day_date filler">
102
+ <span style="position:relative;">
103
+ 29
104
+ </span>
105
+ </div>
106
+ <div class="day_date filler">
107
+ <span style="position:relative;">
108
+ 30
109
+ </span>
110
+ </div>
111
+ <div class="day_date filler">
112
+ <span style="position:relative;">
113
+ 31
114
+ </span>
115
+ </div>
116
+ <div class="day_date">
117
+ <span style="position:relative;">
118
+ 1
119
+ </span>
120
+ </div>
121
+ <div class="day_date">
122
+ <span style="position:relative;">
123
+ 2
124
+ </span>
125
+ </div>
126
+ <div class="day_date">
127
+ <span style="position:relative;">
128
+ 3
129
+ </span>
130
+ </div>
131
+ <div class="day_date">
132
+ <span style="position:relative;">
133
+ 4
134
+ <div class="current__date__dot">
135
+ </div>
136
+ </span>
137
+ </div>
138
+ <div class="day_date">
139
+ <span style="position:relative;">
140
+ 5
141
+ </span>
142
+ </div>
143
+ <div class="day_date">
144
+ <span style="position:relative;">
145
+ 6
146
+ </span>
147
+ </div>
148
+ <div class="day_date">
149
+ <span style="position:relative;">
150
+ 7
151
+ </span>
152
+ </div>
153
+ <div class="day_date">
154
+ <span style="position:relative;">
155
+ 8
156
+ </span>
157
+ </div>
158
+ <div class="day_date">
159
+ <span style="position:relative;">
160
+ 9
161
+ </span>
162
+ </div>
163
+ <div class="day_date">
164
+ <span style="position:relative;">
165
+ 10
166
+ </span>
167
+ </div>
168
+ <div class="day_date">
169
+ <span style="position:relative;">
170
+ 11
171
+ </span>
172
+ </div>
173
+ <div class="day_date">
174
+ <span style="position:relative;">
175
+ 12
176
+ </span>
177
+ </div>
178
+ <div class="day_date">
179
+ <span style="position:relative;">
180
+ 13
181
+ </span>
182
+ </div>
183
+ <div class="day_date">
184
+ <span style="position:relative;">
185
+ 14
186
+ </span>
187
+ </div>
188
+ <div class="day_date">
189
+ <span style="position:relative;">
190
+ 15
191
+ </span>
192
+ </div>
193
+ <div class="day_date">
194
+ <span style="position:relative;">
195
+ 16
196
+ </span>
197
+ </div>
198
+ <div class="day_date">
199
+ <span style="position:relative;">
200
+ 17
201
+ </span>
202
+ </div>
203
+ <div class="day_date">
204
+ <span style="position:relative;">
205
+ 18
206
+ </span>
207
+ </div>
208
+ <div class="day_date">
209
+ <span style="position:relative;">
210
+ 19
211
+ </span>
212
+ </div>
213
+ <div class="day_date">
214
+ <span style="position:relative;">
215
+ 20
216
+ </span>
217
+ </div>
218
+ <div class="day_date">
219
+ <span style="position:relative;">
220
+ 21
221
+ </span>
222
+ </div>
223
+ <div class="day_date">
224
+ <span style="position:relative;">
225
+ 22
226
+ </span>
227
+ </div>
228
+ <div class="day_date">
229
+ <span style="position:relative;">
230
+ 23
231
+ </span>
232
+ </div>
233
+ <div class="day_date">
234
+ <span style="position:relative;">
235
+ 24
236
+ </span>
237
+ </div>
238
+ <div class="day_date">
239
+ <span style="position:relative;">
240
+ 25
241
+ </span>
242
+ </div>
243
+ <div class="day_date">
244
+ <span style="position:relative;">
245
+ 26
246
+ </span>
247
+ </div>
248
+ <div class="day_date">
249
+ <span style="position:relative;">
250
+ 27
251
+ </span>
252
+ </div>
253
+ <div class="day_date">
254
+ <span style="position:relative;">
255
+ 28
256
+ </span>
257
+ </div>
258
+ <div class="day_date">
259
+ <span style="position:relative;">
260
+ 29
261
+ </span>
262
+ </div>
263
+ <div class="day_date">
264
+ <span style="position:relative;">
265
+ 30
266
+ </span>
267
+ </div>
268
+ <div class="day_date">
269
+ <span style="position:relative;">
270
+ 31
271
+ </span>
272
+ </div>
273
+ <div class="day_date filler">
274
+ <span style="position:relative;">
275
+ 1
276
+ </span>
277
+ </div>
278
+ <div class="day_date filler">
279
+ <span style="position:relative;">
280
+ 2
281
+ </span>
282
+ </div>
283
+ <div class="day_date filler">
284
+ <span style="position:relative;">
285
+ 3
286
+ </span>
287
+ </div>
288
+ <div class="day_date filler">
289
+ <span style="position:relative;">
290
+ 4
291
+ </span>
292
+ </div>
293
+ <div class="day_date filler">
294
+ <span style="position:relative;">
295
+ 5
296
+ </span>
297
+ </div>
298
+ <div class="day_date filler">
299
+ <span style="position:relative;">
300
+ 6
301
+ </span>
302
+ </div>
303
+ </div>
304
+ </div>
305
+ </div>
306
+ </div>
307
+ </div>
308
+ `;
309
+ /* end snapshot NileCalendar renders correctly with default properties */
310
+
@@ -0,0 +1,34 @@
1
+ /* @web/test-runner snapshot v1 */
2
+ export const snapshots = {};
3
+
4
+ snapshots["Nile Card should render the card properly"] =
5
+ `<div
6
+ class="card card--has-footer"
7
+ part="base"
8
+ >
9
+ <div
10
+ class="body__wrapper"
11
+ part="body__wrapper"
12
+ >
13
+ <slot
14
+ class="card__header"
15
+ name="header"
16
+ part="header"
17
+ >
18
+ </slot>
19
+ <slot
20
+ class="card__body"
21
+ part="body"
22
+ >
23
+ </slot>
24
+ </div>
25
+ <slot
26
+ class="card__footer"
27
+ name="footer"
28
+ part="footer"
29
+ >
30
+ </slot>
31
+ </div>
32
+ `;
33
+ /* end snapshot Nile Card should render the card properly */
34
+
@@ -0,0 +1,31 @@
1
+ /* @web/test-runner snapshot v1 */
2
+ export const snapshots = {};
3
+
4
+ snapshots["NileCheckbox renders correctly with default properties"] =
5
+ `<label
6
+ class="checkbox checkbox--medium"
7
+ part="base"
8
+ >
9
+ <input
10
+ aria-checked="false"
11
+ class="checkbox__input"
12
+ name=""
13
+ title=""
14
+ type="checkbox"
15
+ >
16
+ <span
17
+ class="checkbox__control"
18
+ part="control"
19
+ >
20
+ </span>
21
+ <div
22
+ class="checkbox__label"
23
+ part="label"
24
+ >
25
+ <slot>
26
+ </slot>
27
+ </div>
28
+ </label>
29
+ `;
30
+ /* end snapshot NileCheckbox renders correctly with default properties */
31
+
@@ -0,0 +1,37 @@
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 type { GridColumnDef, GridRowData, GridOptions } from './types.js';
8
+ export declare class GridDataProcessor {
9
+ private options;
10
+ private pageSize;
11
+ private currentPage;
12
+ private sortField;
13
+ private sortDirection;
14
+ private filterText;
15
+ constructor(options: GridOptions, pageSize?: number);
16
+ setOptions(options: GridOptions): void;
17
+ setPageSize(pageSize: number): void;
18
+ setCurrentPage(page: number): void;
19
+ setSortField(field: string): void;
20
+ setSortDirection(direction: 'asc' | 'desc'): void;
21
+ setFilterText(text: string): void;
22
+ processData(data: GridRowData[], columns: GridColumnDef[]): {
23
+ filteredData: GridRowData[];
24
+ sortedData: GridRowData[];
25
+ paginatedData: GridRowData[];
26
+ totalPages: number;
27
+ };
28
+ private applyFilters;
29
+ private applySorting;
30
+ private applyPagination;
31
+ getSortClass(column: GridColumnDef): string;
32
+ getSortIcon(column: GridColumnDef): string;
33
+ isAllSelected(paginatedData: GridRowData[]): boolean;
34
+ isPartiallySelected(paginatedData: GridRowData[]): boolean;
35
+ getSortField(): string;
36
+ getSortDirection(): 'asc' | 'desc';
37
+ }
@@ -0,0 +1,122 @@
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
+ export class GridDataProcessor {
8
+ constructor(options, pageSize = 20) {
9
+ this.options = options;
10
+ this.pageSize = pageSize;
11
+ this.currentPage = 1;
12
+ this.sortField = '';
13
+ this.sortDirection = 'asc';
14
+ this.filterText = '';
15
+ }
16
+ setOptions(options) {
17
+ this.options = options;
18
+ }
19
+ setPageSize(pageSize) {
20
+ this.pageSize = pageSize;
21
+ }
22
+ setCurrentPage(page) {
23
+ this.currentPage = page;
24
+ }
25
+ setSortField(field) {
26
+ this.sortField = field;
27
+ }
28
+ setSortDirection(direction) {
29
+ this.sortDirection = direction;
30
+ }
31
+ setFilterText(text) {
32
+ this.filterText = text;
33
+ }
34
+ processData(data, columns) {
35
+ // Apply filtering
36
+ const filteredData = this.applyFilters(data, columns);
37
+ // Apply sorting
38
+ const sortedData = this.applySorting(filteredData, columns);
39
+ // Apply pagination
40
+ const totalPages = Math.ceil(sortedData.length / this.pageSize);
41
+ const paginatedData = this.applyPagination(sortedData);
42
+ return {
43
+ filteredData,
44
+ sortedData,
45
+ paginatedData,
46
+ totalPages
47
+ };
48
+ }
49
+ applyFilters(data, columns) {
50
+ if (!this.filterText || !this.options.enableFiltering) {
51
+ return data;
52
+ }
53
+ return data.filter(row => {
54
+ return columns.some(column => {
55
+ const value = row[column.field];
56
+ if (value == null)
57
+ return false;
58
+ return String(value).toLowerCase().includes(this.filterText.toLowerCase());
59
+ });
60
+ });
61
+ }
62
+ applySorting(data, columns) {
63
+ if (!this.sortField || !this.options.enableSorting) {
64
+ return data;
65
+ }
66
+ const column = columns.find(col => col.field === this.sortField);
67
+ if (!column)
68
+ return data;
69
+ return [...data].sort((a, b) => {
70
+ const aVal = a[column.field];
71
+ const bVal = b[column.field];
72
+ if (aVal == null && bVal == null)
73
+ return 0;
74
+ if (aVal == null)
75
+ return 1;
76
+ if (bVal == null)
77
+ return -1;
78
+ if (typeof aVal === 'string' && typeof bVal === 'string') {
79
+ return this.sortDirection === 'asc'
80
+ ? aVal.localeCompare(bVal)
81
+ : bVal.localeCompare(aVal);
82
+ }
83
+ if (typeof aVal === 'number' && typeof bVal === 'number') {
84
+ return this.sortDirection === 'asc' ? aVal - bVal : bVal - aVal;
85
+ }
86
+ return 0;
87
+ });
88
+ }
89
+ applyPagination(data) {
90
+ if (!this.options.enablePagination) {
91
+ return data;
92
+ }
93
+ const startIndex = (this.currentPage - 1) * this.pageSize;
94
+ const endIndex = startIndex + this.pageSize;
95
+ return data.slice(startIndex, endIndex);
96
+ }
97
+ getSortClass(column) {
98
+ if (this.sortField !== column.field)
99
+ return '';
100
+ return this.sortDirection === 'asc' ? 'sort-asc' : 'sort-desc';
101
+ }
102
+ getSortIcon(column) {
103
+ if (this.sortField !== column.field)
104
+ return '↕';
105
+ return this.sortDirection === 'asc' ? '↑' : '↓';
106
+ }
107
+ isAllSelected(paginatedData) {
108
+ return paginatedData.length > 0 && paginatedData.every(row => row.selected);
109
+ }
110
+ isPartiallySelected(paginatedData) {
111
+ const selectedCount = paginatedData.filter(row => row.selected).length;
112
+ return selectedCount > 0 && selectedCount < paginatedData.length;
113
+ }
114
+ // Getters for event handlers
115
+ getSortField() {
116
+ return this.sortField;
117
+ }
118
+ getSortDirection() {
119
+ return this.sortDirection;
120
+ }
121
+ }
122
+ //# sourceMappingURL=data-processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-processor.js","sourceRoot":"","sources":["../../../src/nile-grid/data-processor.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 type { GridColumnDef, GridRowData, GridOptions } from './types.js';\n\nexport class GridDataProcessor {\n private options: GridOptions;\n private pageSize: number;\n private currentPage: number;\n private sortField: string;\n private sortDirection: 'asc' | 'desc';\n private filterText: string;\n\n constructor(options: GridOptions, pageSize: number = 20) {\n this.options = options;\n this.pageSize = pageSize;\n this.currentPage = 1;\n this.sortField = '';\n this.sortDirection = 'asc';\n this.filterText = '';\n }\n\n setOptions(options: GridOptions): void {\n this.options = options;\n }\n\n setPageSize(pageSize: number): void {\n this.pageSize = pageSize;\n }\n\n setCurrentPage(page: number): void {\n this.currentPage = page;\n }\n\n setSortField(field: string): void {\n this.sortField = field;\n }\n\n setSortDirection(direction: 'asc' | 'desc'): void {\n this.sortDirection = direction;\n }\n\n setFilterText(text: string): void {\n this.filterText = text;\n }\n\n processData(data: GridRowData[], columns: GridColumnDef[]): {\n filteredData: GridRowData[];\n sortedData: GridRowData[];\n paginatedData: GridRowData[];\n totalPages: number;\n } {\n // Apply filtering\n const filteredData = this.applyFilters(data, columns);\n \n // Apply sorting\n const sortedData = this.applySorting(filteredData, columns);\n \n // Apply pagination\n const totalPages = Math.ceil(sortedData.length / this.pageSize);\n const paginatedData = this.applyPagination(sortedData);\n\n return {\n filteredData,\n sortedData,\n paginatedData,\n totalPages\n };\n }\n\n private applyFilters(data: GridRowData[], columns: GridColumnDef[]): GridRowData[] {\n if (!this.filterText || !this.options.enableFiltering) {\n return data;\n }\n\n return data.filter(row => {\n return columns.some(column => {\n const value = row[column.field];\n if (value == null) return false;\n return String(value).toLowerCase().includes(this.filterText.toLowerCase());\n });\n });\n }\n\n private applySorting(data: GridRowData[], columns: GridColumnDef[]): GridRowData[] {\n if (!this.sortField || !this.options.enableSorting) {\n return data;\n }\n\n const column = columns.find(col => col.field === this.sortField);\n if (!column) return data;\n\n return [...data].sort((a, b) => {\n const aVal = a[column.field];\n const bVal = b[column.field];\n \n if (aVal == null && bVal == null) return 0;\n if (aVal == null) return 1;\n if (bVal == null) return -1;\n\n if (typeof aVal === 'string' && typeof bVal === 'string') {\n return this.sortDirection === 'asc' \n ? aVal.localeCompare(bVal)\n : bVal.localeCompare(aVal);\n }\n\n if (typeof aVal === 'number' && typeof bVal === 'number') {\n return this.sortDirection === 'asc' ? aVal - bVal : bVal - aVal;\n }\n\n return 0;\n });\n }\n\n private applyPagination(data: GridRowData[]): GridRowData[] {\n if (!this.options.enablePagination) {\n return data;\n }\n\n const startIndex = (this.currentPage - 1) * this.pageSize;\n const endIndex = startIndex + this.pageSize;\n return data.slice(startIndex, endIndex);\n }\n\n getSortClass(column: GridColumnDef): string {\n if (this.sortField !== column.field) return '';\n return this.sortDirection === 'asc' ? 'sort-asc' : 'sort-desc';\n }\n\n getSortIcon(column: GridColumnDef): string {\n if (this.sortField !== column.field) return '↕';\n return this.sortDirection === 'asc' ? '↑' : '↓';\n }\n\n isAllSelected(paginatedData: GridRowData[]): boolean {\n return paginatedData.length > 0 && paginatedData.every(row => row.selected);\n }\n\n isPartiallySelected(paginatedData: GridRowData[]): boolean {\n const selectedCount = paginatedData.filter(row => row.selected).length;\n return selectedCount > 0 && selectedCount < paginatedData.length;\n }\n\n // Getters for event handlers\n getSortField(): string {\n return this.sortField;\n }\n\n getSortDirection(): 'asc' | 'desc' {\n return this.sortDirection;\n }\n}\n"]}