@aquera/nile-elements 1.3.0-beta-1.1 → 1.3.0-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 (389) hide show
  1. package/README.md +1 -0
  2. package/demo/index.html +269 -34
  3. package/dist/assets/nile-elements-4b5c262d.css +1 -0
  4. package/dist/{fixture-54600b35.cjs.js → fixture-1c49c014.cjs.js} +2 -2
  5. package/dist/{fixture-73855806.cjs.js.map → fixture-1c49c014.cjs.js.map} +1 -1
  6. package/dist/{fixture-9871e8a9.esm.js → fixture-985bba12.esm.js} +1 -1
  7. package/dist/{fixture-73855806.cjs.js → fixture-d1470b58.cjs.js} +2 -2
  8. package/dist/{fixture-54600b35.cjs.js.map → fixture-d1470b58.cjs.js.map} +1 -1
  9. package/dist/{fixture-5b79f853.cjs.js → fixture-dff65c89.cjs.js} +2 -2
  10. package/dist/{fixture-c1d78368.cjs.js.map → fixture-dff65c89.cjs.js.map} +1 -1
  11. package/dist/index.cjs.js +1 -1
  12. package/dist/index.esm.js +1 -1
  13. package/dist/index.js +280 -280
  14. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  15. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  16. package/dist/nile-auto-complete/index.cjs.js +1 -1
  17. package/dist/nile-auto-complete/index.esm.js +1 -1
  18. package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
  19. package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
  20. package/dist/nile-auto-complete/nile-auto-complete.esm.js +2 -2
  21. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  22. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js.map +1 -1
  23. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  24. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  25. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  26. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  27. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  28. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  29. package/dist/nile-button/nile-button.test.esm.js +1 -1
  30. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  31. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  32. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  33. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
  34. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  35. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  36. package/dist/nile-card/nile-card.test.esm.js +1 -1
  37. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  38. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  39. package/dist/nile-chip/index.cjs.js +1 -1
  40. package/dist/nile-chip/index.esm.js +1 -1
  41. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  42. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  43. package/dist/nile-chip/nile-chip.esm.js +2 -2
  44. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  45. package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
  46. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  47. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  48. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  49. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  50. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  51. package/dist/nile-dropdown/index.cjs.js +1 -1
  52. package/dist/nile-dropdown/index.esm.js +1 -1
  53. package/dist/nile-dropdown/nile-dropdown.cjs.js +1 -1
  54. package/dist/nile-dropdown/nile-dropdown.cjs.js.map +1 -1
  55. package/dist/nile-dropdown/nile-dropdown.esm.js +2 -2
  56. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  57. package/dist/nile-dropdown/nile-dropdown.test.cjs.js.map +1 -1
  58. package/dist/nile-dropdown/nile-dropdown.test.esm.js +6 -6
  59. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  60. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  61. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  62. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  63. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  64. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  65. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  66. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  67. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  68. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  69. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  70. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  71. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  72. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  73. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  74. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  75. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  76. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  77. package/dist/nile-inline-edit/index.cjs.js +1 -1
  78. package/dist/nile-inline-edit/index.esm.js +1 -1
  79. package/dist/nile-inline-edit/nile-inline-edit.cjs.js +1 -1
  80. package/dist/nile-inline-edit/nile-inline-edit.cjs.js.map +1 -1
  81. package/dist/nile-inline-edit/nile-inline-edit.esm.js +4 -4
  82. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  83. package/dist/nile-input/nile-input.test.esm.js +1 -1
  84. package/dist/nile-light-tooltip/index.esm.js +1 -0
  85. package/dist/nile-light-tooltip/nile-light-tooltip.css.esm.js +6 -0
  86. package/dist/nile-light-tooltip/nile-light-tooltip.esm.js +1 -0
  87. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  88. package/dist/nile-link/nile-link.test.esm.js +1 -1
  89. package/dist/nile-lite-tooltip/index.cjs.js +1 -1
  90. package/dist/nile-lite-tooltip/index.esm.js +1 -1
  91. package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js +1 -1
  92. package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js.map +1 -1
  93. package/dist/nile-lite-tooltip/nile-lite-tooltip.esm.js +1 -1
  94. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  95. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  96. package/dist/nile-popover/index.cjs.js +1 -1
  97. package/dist/nile-popover/index.esm.js +1 -1
  98. package/dist/nile-popover/nile-popover.cjs.js +3 -3
  99. package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
  100. package/dist/nile-popover/nile-popover.esm.js +4 -4
  101. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  102. package/dist/nile-popover/nile-popover.test.cjs.js.map +1 -1
  103. package/dist/nile-popover/nile-popover.test.esm.js +4 -4
  104. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  105. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  106. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  107. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  108. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  109. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  110. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  111. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  112. package/dist/nile-select/index.cjs.js +1 -1
  113. package/dist/nile-select/index.esm.js +1 -1
  114. package/dist/nile-select/nile-select.cjs.js +1 -1
  115. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  116. package/dist/nile-select/nile-select.esm.js +2 -2
  117. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  118. package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
  119. package/dist/nile-select/nile-select.test.esm.js +1 -1
  120. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  121. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  122. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  123. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  124. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  125. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  126. package/dist/nile-tooltip/index.cjs.js +1 -1
  127. package/dist/nile-tooltip/index.esm.js +1 -1
  128. package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
  129. package/dist/nile-tooltip/nile-tooltip.cjs.js.map +1 -1
  130. package/dist/nile-tooltip/nile-tooltip.esm.js +2 -2
  131. package/dist/nile-virtual-select/index.cjs.js +1 -1
  132. package/dist/nile-virtual-select/index.esm.js +1 -1
  133. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +2 -2
  134. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  135. package/dist/nile-virtual-select/nile-virtual-select.esm.js +13 -13
  136. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  137. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  138. package/dist/src/nile-auto-complete/nile-auto-complete.d.ts +4 -0
  139. package/dist/src/nile-auto-complete/nile-auto-complete.js +41 -0
  140. package/dist/src/nile-auto-complete/nile-auto-complete.js.map +1 -1
  141. package/dist/src/nile-chip/nile-chip.d.ts +4 -0
  142. package/dist/src/nile-chip/nile-chip.js +47 -0
  143. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  144. package/dist/src/nile-dropdown/nile-dropdown.d.ts +4 -1
  145. package/dist/src/nile-dropdown/nile-dropdown.js +38 -1
  146. package/dist/src/nile-dropdown/nile-dropdown.js.map +1 -1
  147. package/dist/src/nile-inline-edit/nile-inline-edit.d.ts +0 -8
  148. package/dist/src/nile-inline-edit/nile-inline-edit.js +1 -47
  149. package/dist/src/nile-inline-edit/nile-inline-edit.js.map +1 -1
  150. package/dist/src/nile-light-tooltip/index.d.ts +1 -0
  151. package/dist/src/nile-light-tooltip/index.js +2 -0
  152. package/dist/src/nile-light-tooltip/index.js.map +1 -0
  153. package/dist/src/nile-light-tooltip/nile-light-tooltip.css.d.ts +12 -0
  154. package/dist/src/nile-light-tooltip/nile-light-tooltip.css.js +18 -0
  155. package/dist/src/nile-light-tooltip/nile-light-tooltip.css.js.map +1 -0
  156. package/dist/src/nile-light-tooltip/nile-light-tooltip.d.ts +40 -0
  157. package/dist/src/nile-light-tooltip/nile-light-tooltip.js +101 -0
  158. package/dist/src/nile-light-tooltip/nile-light-tooltip.js.map +1 -0
  159. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.d.ts +5 -1
  160. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.js +44 -0
  161. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.js.map +1 -1
  162. package/dist/src/nile-menu/virtual-menu-search-manager.d.ts +11 -0
  163. package/dist/src/nile-menu/virtual-menu-search-manager.js +43 -0
  164. package/dist/src/nile-menu/virtual-menu-search-manager.js.map +1 -0
  165. package/dist/src/nile-popover/nile-popover.d.ts +4 -0
  166. package/dist/src/nile-popover/nile-popover.js +40 -0
  167. package/dist/src/nile-popover/nile-popover.js.map +1 -1
  168. package/dist/src/nile-select/nile-select.d.ts +1 -5
  169. package/dist/src/nile-select/nile-select.js +28 -67
  170. package/dist/src/nile-select/nile-select.js.map +1 -1
  171. package/dist/src/nile-tooltip/nile-tooltip.d.ts +3 -0
  172. package/dist/src/nile-tooltip/nile-tooltip.js +38 -0
  173. package/dist/src/nile-tooltip/nile-tooltip.js.map +1 -1
  174. package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +2 -5
  175. package/dist/src/nile-virtual-select/nile-virtual-select.js +29 -66
  176. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
  177. package/dist/src/utilities/visibility-manager.d.ts +20 -0
  178. package/dist/src/utilities/visibility-manager.js +64 -0
  179. package/dist/src/utilities/visibility-manager.js.map +1 -0
  180. package/dist/src/version.js +1 -1
  181. package/dist/src/version.js.map +1 -1
  182. package/dist/tsconfig.tsbuildinfo +1 -1
  183. package/dist/utilities/visibility-manager.cjs.js +2 -0
  184. package/dist/utilities/visibility-manager.cjs.js.map +1 -0
  185. package/dist/utilities/visibility-manager.esm.js +1 -0
  186. package/package.json +2 -2
  187. package/src/nile-auto-complete/nile-auto-complete.ts +44 -0
  188. package/src/nile-chip/nile-chip.ts +53 -0
  189. package/src/nile-dropdown/nile-dropdown.ts +40 -1
  190. package/src/nile-inline-edit/nile-inline-edit.ts +1 -59
  191. package/src/nile-lite-tooltip/nile-lite-tooltip.ts +52 -1
  192. package/src/nile-popover/nile-popover.ts +44 -0
  193. package/src/nile-select/nile-select.ts +31 -87
  194. package/src/nile-tooltip/nile-tooltip.ts +39 -0
  195. package/src/nile-virtual-select/nile-virtual-select.ts +32 -87
  196. package/src/utilities/visibility-manager.ts +104 -0
  197. package/vscode-html-custom-data.json +69 -13
  198. package/dist/fixture-5b79f853.cjs.js.map +0 -1
  199. package/dist/fixture-90b199c4.esm.js +0 -569
  200. package/dist/fixture-c1d78368.cjs.js +0 -395
  201. package/dist/fixture-cf7bfcf5.esm.js +0 -569
  202. package/dist/fixture-dbd66009.cjs.js +0 -395
  203. package/dist/fixture-dbd66009.cjs.js.map +0 -1
  204. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js +0 -2
  205. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js.map +0 -1
  206. package/dist/nile-code-editor/backup_nile-code-editor copy.esm.js +0 -1
  207. package/dist/nile-inline-edit/nile-inline-edit-utils.cjs.js +0 -2
  208. package/dist/nile-inline-edit/nile-inline-edit-utils.cjs.js.map +0 -1
  209. package/dist/nile-inline-edit/nile-inline-edit-utils.esm.js +0 -1
  210. package/dist/nile-sidebar/index.cjs.js +0 -2
  211. package/dist/nile-sidebar/index.cjs.js.map +0 -1
  212. package/dist/nile-sidebar/index.esm.js +0 -75
  213. package/dist/nile-sidebar-menu/index.cjs.js +0 -2
  214. package/dist/nile-sidebar-menu/index.cjs.js.map +0 -1
  215. package/dist/nile-sidebar-menu/index.esm.js +0 -1
  216. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +0 -2
  217. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +0 -1
  218. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +0 -2
  219. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +0 -1
  220. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +0 -38
  221. package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +0 -10
  222. package/dist/nile-sidebar-menu-items/index.cjs.js +0 -2
  223. package/dist/nile-sidebar-menu-items/index.cjs.js.map +0 -1
  224. package/dist/nile-sidebar-menu-items/index.esm.js +0 -1
  225. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +0 -2
  226. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +0 -1
  227. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +0 -2
  228. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +0 -1
  229. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +0 -36
  230. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +0 -15
  231. package/dist/nile-sidebar-wrapper/index.cjs.js +0 -2
  232. package/dist/nile-sidebar-wrapper/index.cjs.js.map +0 -1
  233. package/dist/nile-sidebar-wrapper/index.esm.js +0 -1
  234. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +0 -2
  235. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +0 -1
  236. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +0 -2
  237. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +0 -1
  238. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +0 -105
  239. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +0 -16
  240. package/dist/nile-virtual-select/group-manager.cjs.js +0 -2
  241. package/dist/nile-virtual-select/group-manager.cjs.js.map +0 -1
  242. package/dist/nile-virtual-select/group-manager.esm.js +0 -1
  243. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js +0 -2
  244. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js.map +0 -1
  245. package/dist/nile-virtual-select/temp_nile-virtual-select copy.esm.js +0 -231
  246. package/dist/scopedElementsWrapper-4c29be11.esm.js +0 -7
  247. package/dist/scopedElementsWrapper-a112fc73.cjs.js +0 -6
  248. package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +0 -1
  249. package/dist/src/internal/portal-manager.d.ts +0 -53
  250. package/dist/src/internal/portal-manager.js +0 -196
  251. package/dist/src/internal/portal-manager.js.map +0 -1
  252. package/dist/src/internal/portal.d.ts +0 -60
  253. package/dist/src/internal/portal.js +0 -199
  254. package/dist/src/internal/portal.js.map +0 -1
  255. package/dist/src/internal/resizable-helper.d.ts +0 -59
  256. package/dist/src/internal/resizable-helper.js +0 -115
  257. package/dist/src/internal/resizable-helper.js.map +0 -1
  258. package/dist/src/internal/resizable-styles.d.ts +0 -16
  259. package/dist/src/internal/resizable-styles.js +0 -144
  260. package/dist/src/internal/resizable-styles.js.map +0 -1
  261. package/dist/src/internal/virtualizer-error-handler.d.ts +0 -30
  262. package/dist/src/internal/virtualizer-error-handler.js +0 -82
  263. package/dist/src/internal/virtualizer-error-handler.js.map +0 -1
  264. package/dist/src/lib/index.d.ts +0 -7
  265. package/dist/src/lib/index.js +0 -8
  266. package/dist/src/lib/index.js.map +0 -1
  267. package/dist/src/lib/virtualize.d.ts +0 -32
  268. package/dist/src/lib/virtualize.js +0 -105
  269. package/dist/src/lib/virtualize.js.map +0 -1
  270. package/dist/src/lib/virtualize.test.d.ts +0 -7
  271. package/dist/src/lib/virtualize.test.js +0 -57
  272. package/dist/src/lib/virtualize.test.js.map +0 -1
  273. package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +0 -17
  274. package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +0 -310
  275. package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +0 -34
  276. package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +0 -31
  277. package/dist/src/nile-code-editor/Old_theme copy.d.ts +0 -191
  278. package/dist/src/nile-code-editor/Old_theme copy.js +0 -193
  279. package/dist/src/nile-code-editor/Old_theme copy.js.map +0 -1
  280. package/dist/src/nile-code-editor/backup_nile-code-editor copy.d.ts +0 -0
  281. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js +0 -675
  282. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js.map +0 -1
  283. package/dist/src/nile-code-editor/theme copy.d.ts +0 -191
  284. package/dist/src/nile-code-editor/theme copy.js +0 -193
  285. package/dist/src/nile-code-editor/theme copy.js.map +0 -1
  286. package/dist/src/nile-grid/data-processor.d.ts +0 -37
  287. package/dist/src/nile-grid/data-processor.js +0 -122
  288. package/dist/src/nile-grid/data-processor.js.map +0 -1
  289. package/dist/src/nile-grid/event-handlers.d.ts +0 -35
  290. package/dist/src/nile-grid/event-handlers.js +0 -158
  291. package/dist/src/nile-grid/event-handlers.js.map +0 -1
  292. package/dist/src/nile-grid/renderer.d.ts +0 -8
  293. package/dist/src/nile-grid/renderer.js +0 -78
  294. package/dist/src/nile-grid/renderer.js.map +0 -1
  295. package/dist/src/nile-grid/resize-handler.d.ts +0 -4
  296. package/dist/src/nile-grid/resize-handler.js +0 -36
  297. package/dist/src/nile-grid/resize-handler.js.map +0 -1
  298. package/dist/src/nile-grid/types.d.ts +0 -32
  299. package/dist/src/nile-grid/types.js +0 -2
  300. package/dist/src/nile-grid/types.js.map +0 -1
  301. package/dist/src/nile-grid/utils.d.ts +0 -4
  302. package/dist/src/nile-grid/utils.js +0 -32
  303. package/dist/src/nile-grid/utils.js.map +0 -1
  304. package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +0 -47
  305. package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +0 -16
  306. package/dist/src/nile-inline-edit/nile-inline-edit-utils.d.ts +0 -20
  307. package/dist/src/nile-inline-edit/nile-inline-edit-utils.js +0 -70
  308. package/dist/src/nile-inline-edit/nile-inline-edit-utils.js.map +0 -1
  309. package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +0 -75
  310. package/dist/src/nile-menu/portal-manager.d.ts +0 -39
  311. package/dist/src/nile-menu/portal-manager.js +0 -340
  312. package/dist/src/nile-menu/portal-manager.js.map +0 -1
  313. package/dist/src/nile-menu/portal-utils.d.ts +0 -21
  314. package/dist/src/nile-menu/portal-utils.js +0 -128
  315. package/dist/src/nile-menu/portal-utils.js.map +0 -1
  316. package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +0 -22
  317. package/dist/src/nile-popover/popover-portal-handler.d.ts +0 -21
  318. package/dist/src/nile-popover/popover-portal-handler.js +0 -106
  319. package/dist/src/nile-popover/popover-portal-handler.js.map +0 -1
  320. package/dist/src/nile-portal-wrapper/index.d.ts +0 -1
  321. package/dist/src/nile-portal-wrapper/index.js +0 -2
  322. package/dist/src/nile-portal-wrapper/index.js.map +0 -1
  323. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.d.ts +0 -47
  324. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js +0 -451
  325. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js.map +0 -1
  326. package/dist/src/nile-select/body-append-manager.d.ts +0 -90
  327. package/dist/src/nile-select/body-append-manager.js +0 -298
  328. package/dist/src/nile-select/body-append-manager.js.map +0 -1
  329. package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +0 -9
  330. package/dist/src/nile-table-body/virtual-scroll-helper.js +0 -24
  331. package/dist/src/nile-table-body/virtual-scroll-helper.js.map +0 -1
  332. package/dist/src/nile-virtual-select/body-append-helper.d.ts +0 -16
  333. package/dist/src/nile-virtual-select/body-append-helper.js +0 -95
  334. package/dist/src/nile-virtual-select/body-append-helper.js.map +0 -1
  335. package/dist/src/nile-virtual-select/group-manager.d.ts +0 -32
  336. package/dist/src/nile-virtual-select/group-manager.js +0 -134
  337. package/dist/src/nile-virtual-select/group-manager.js.map +0 -1
  338. package/dist/src/nile-virtual-select/portal-utils.d.ts +0 -65
  339. package/dist/src/nile-virtual-select/portal-utils.js +0 -376
  340. package/dist/src/nile-virtual-select/portal-utils.js.map +0 -1
  341. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.d.ts +0 -273
  342. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js +0 -1305
  343. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js.map +0 -1
  344. package/dist/src/nile-virtual-select/virtualizer-error-handler.d.ts +0 -21
  345. package/dist/src/nile-virtual-select/virtualizer-error-handler.js +0 -56
  346. package/dist/src/nile-virtual-select/virtualizer-error-handler.js.map +0 -1
  347. package/dist/src/nile-virtual-select-disabled/index.d.ts +0 -1
  348. package/dist/src/nile-virtual-select-disabled/index.js +0 -2
  349. package/dist/src/nile-virtual-select-disabled/index.js.map +0 -1
  350. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.d.ts +0 -12
  351. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js +0 -538
  352. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js.map +0 -1
  353. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.d.ts +0 -299
  354. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js +0 -1441
  355. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js.map +0 -1
  356. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.d.ts +0 -7
  357. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js +0 -631
  358. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js.map +0 -1
  359. package/dist/src/nile-virtual-select-disabled/portal-manager.d.ts +0 -45
  360. package/dist/src/nile-virtual-select-disabled/portal-manager.js +0 -333
  361. package/dist/src/nile-virtual-select-disabled/portal-manager.js.map +0 -1
  362. package/dist/src/nile-virtual-select-disabled/renderer.d.ts +0 -16
  363. package/dist/src/nile-virtual-select-disabled/renderer.js +0 -79
  364. package/dist/src/nile-virtual-select-disabled/renderer.js.map +0 -1
  365. package/dist/src/nile-virtual-select-disabled/search-manager.d.ts +0 -12
  366. package/dist/src/nile-virtual-select-disabled/search-manager.js +0 -40
  367. package/dist/src/nile-virtual-select-disabled/search-manager.js.map +0 -1
  368. package/dist/src/nile-virtual-select-disabled/selection-manager.d.ts +0 -12
  369. package/dist/src/nile-virtual-select-disabled/selection-manager.js +0 -64
  370. package/dist/src/nile-virtual-select-disabled/selection-manager.js.map +0 -1
  371. package/dist/src/nile-virtual-select-disabled/types.d.ts +0 -50
  372. package/dist/src/nile-virtual-select-disabled/types.js +0 -8
  373. package/dist/src/nile-virtual-select-disabled/types.js.map +0 -1
  374. package/dist/src/nile-virtual-table-body/index.d.ts +0 -2
  375. package/dist/src/nile-virtual-table-body/index.js +0 -3
  376. package/dist/src/nile-virtual-table-body/index.js.map +0 -1
  377. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +0 -1
  378. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +0 -44
  379. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +0 -1
  380. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +0 -50
  381. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +0 -135
  382. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +0 -1
  383. package/dist/src/nile-virtual-table-body/renderer.d.ts +0 -16
  384. package/dist/src/nile-virtual-table-body/renderer.js +0 -49
  385. package/dist/src/nile-virtual-table-body/renderer.js.map +0 -1
  386. package/dist/src/utilities/stepper-utils.d.ts +0 -71
  387. package/dist/src/utilities/stepper-utils.js +0 -108
  388. package/dist/src/utilities/stepper-utils.js.map +0 -1
  389. package/src/nile-inline-edit/nile-inline-edit-utils.ts +0 -94
@@ -1,122 +0,0 @@
1
- /**
2
- * Copyright Aquera Inc 2023
3
- *
4
- * This source code is licensed under the BSD-3-Clause license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
- 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
@@ -1 +0,0 @@
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"]}
@@ -1,35 +0,0 @@
1
- /**
2
- * Copyright Aquera Inc 2023
3
- *
4
- * This source code is licensed under the BSD-3-Clause license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
- import type { GridColumnDef, GridRowData, GridOptions } from './types.js';
8
- import type { GridDataProcessor } from './data-processor.js';
9
- export declare class GridEventHandlers {
10
- private options;
11
- private dataProcessor;
12
- private selectedRows;
13
- private isResizing;
14
- private resizingColumn;
15
- private dragStartX;
16
- private dragStartWidth;
17
- constructor(options: GridOptions, dataProcessor: GridDataProcessor);
18
- setOptions(options: GridOptions): void;
19
- handleKeyDown(event: KeyboardEvent): void;
20
- handleWheel(event: WheelEvent, updateVirtualScrolling: () => void): void;
21
- handleColumnSort(column: GridColumnDef, onSort: (field: string, direction: 'asc' | 'desc') => void): void;
22
- handleColumnFilter(column: GridColumnDef, value: string, onFilter: () => void): void;
23
- handleRowSelection(row: GridRowData, event: Event, currentData: GridRowData[], onSelectionChange: () => void): void;
24
- handleHeaderSelectionChange(event: Event, currentData: GridRowData[], onSelectionChange: () => void): void;
25
- handleRowClick(row: GridRowData, event: Event): void;
26
- handleCellEdit(row: GridRowData, column: GridColumnDef, value: any, onCellEdit: (row: GridRowData, column: GridColumnDef, oldValue: any, newValue: any) => void): void;
27
- handleColumnResizeStart(column: GridColumnDef, event: MouseEvent): void;
28
- private handleColumnResizeMove;
29
- private handleColumnResizeEnd;
30
- private handleArrowKeyNavigation;
31
- private emit;
32
- getSelectedRows(): GridRowData[];
33
- isResizingColumn(): boolean;
34
- getResizingColumn(): GridColumnDef | null;
35
- }
@@ -1,158 +0,0 @@
1
- /**
2
- * Copyright Aquera Inc 2023
3
- *
4
- * This source code is licensed under the BSD-3-Clause license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
- export class GridEventHandlers {
8
- constructor(options, dataProcessor) {
9
- this.selectedRows = [];
10
- this.isResizing = false;
11
- this.resizingColumn = null;
12
- this.dragStartX = 0;
13
- this.dragStartWidth = 0;
14
- this.options = options;
15
- this.dataProcessor = dataProcessor;
16
- }
17
- setOptions(options) {
18
- this.options = options;
19
- this.dataProcessor.setOptions(options);
20
- }
21
- handleKeyDown(event) {
22
- if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {
23
- event.preventDefault();
24
- this.handleArrowKeyNavigation(event.key);
25
- }
26
- }
27
- handleWheel(event, updateVirtualScrolling) {
28
- if (this.options.enableVirtualScrolling) {
29
- updateVirtualScrolling();
30
- }
31
- }
32
- handleColumnSort(column, onSort) {
33
- if (!this.options.enableSorting)
34
- return;
35
- const currentField = this.dataProcessor.getSortField();
36
- const currentDirection = this.dataProcessor.getSortDirection();
37
- let newDirection;
38
- if (currentField === column.field) {
39
- newDirection = currentDirection === 'asc' ? 'desc' : 'asc';
40
- }
41
- else {
42
- newDirection = 'asc';
43
- }
44
- this.dataProcessor.setSortField(column.field);
45
- this.dataProcessor.setSortDirection(newDirection);
46
- onSort(column.field, newDirection);
47
- }
48
- handleColumnFilter(column, value, onFilter) {
49
- if (!this.options.enableFiltering)
50
- return;
51
- column.filterValue = value;
52
- this.dataProcessor.setFilterText(value);
53
- this.dataProcessor.setCurrentPage(1);
54
- onFilter();
55
- }
56
- handleRowSelection(row, event, currentData, onSelectionChange) {
57
- if (!this.options.enableRowSelection)
58
- return;
59
- const checkbox = event.target;
60
- if (this.options.enableMultiRowSelection) {
61
- if (checkbox.checked) {
62
- if (!this.selectedRows.find(r => r.id === row.id)) {
63
- this.selectedRows.push(row);
64
- row.selected = true;
65
- }
66
- }
67
- else {
68
- const index = this.selectedRows.findIndex(r => r.id === row.id);
69
- if (index > -1) {
70
- this.selectedRows.splice(index, 1);
71
- row.selected = false;
72
- }
73
- }
74
- }
75
- else {
76
- this.selectedRows = checkbox.checked ? [row] : [];
77
- // Update all rows selection state
78
- currentData.forEach(r => {
79
- r.selected = r.id === row.id ? checkbox.checked : false;
80
- });
81
- }
82
- onSelectionChange();
83
- }
84
- handleHeaderSelectionChange(event, currentData, onSelectionChange) {
85
- if (!this.options.enableRowSelection)
86
- return;
87
- const checkbox = event.target;
88
- const isChecked = checkbox.checked;
89
- currentData.forEach(row => {
90
- row.selected = isChecked;
91
- });
92
- if (isChecked) {
93
- this.selectedRows = [...currentData];
94
- }
95
- else {
96
- this.selectedRows = [];
97
- }
98
- onSelectionChange();
99
- }
100
- handleRowClick(row, event) {
101
- if (this.options.suppressRowClickSelection)
102
- return;
103
- const target = event.target;
104
- if (target.tagName === 'INPUT' || target.closest('.checkbox-cell'))
105
- return;
106
- // Emit row click event
107
- this.emit('nile-grid-row-click', { row, event });
108
- }
109
- handleCellEdit(row, column, value, onCellEdit) {
110
- if (!column.editable)
111
- return;
112
- const oldValue = row[column.field];
113
- row[column.field] = value;
114
- onCellEdit(row, column, oldValue, value);
115
- }
116
- handleColumnResizeStart(column, event) {
117
- if (!this.options.enableColumnResize)
118
- return;
119
- this.isResizing = true;
120
- this.resizingColumn = column;
121
- this.dragStartX = event.clientX;
122
- this.dragStartWidth = column.width || 150;
123
- document.addEventListener('mousemove', this.handleColumnResizeMove.bind(this));
124
- document.addEventListener('mouseup', this.handleColumnResizeEnd.bind(this));
125
- }
126
- handleColumnResizeMove(event) {
127
- if (!this.isResizing || !this.resizingColumn)
128
- return;
129
- const deltaX = event.clientX - this.dragStartX;
130
- const newWidth = Math.max(this.resizingColumn.minWidth || 50, Math.min(this.resizingColumn.maxWidth || 500, this.dragStartWidth + deltaX));
131
- this.resizingColumn.width = newWidth;
132
- }
133
- handleColumnResizeEnd() {
134
- this.isResizing = false;
135
- this.resizingColumn = null;
136
- document.removeEventListener('mousemove', this.handleColumnResizeMove.bind(this));
137
- document.removeEventListener('mouseup', this.handleColumnResizeEnd.bind(this));
138
- }
139
- handleArrowKeyNavigation(key) {
140
- // Emit keyboard navigation event
141
- this.emit('nile-grid-key-navigation', { key });
142
- }
143
- emit(eventName, detail) {
144
- // This will be implemented by the main component
145
- // The main component will listen to these events and emit them
146
- }
147
- // Getters
148
- getSelectedRows() {
149
- return this.selectedRows;
150
- }
151
- isResizingColumn() {
152
- return this.isResizing;
153
- }
154
- getResizingColumn() {
155
- return this.resizingColumn;
156
- }
157
- }
158
- //# sourceMappingURL=event-handlers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"event-handlers.js","sourceRoot":"","sources":["../../../src/nile-grid/event-handlers.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';\nimport type { GridDataProcessor } from './data-processor.js';\n\nexport class GridEventHandlers {\n private options: GridOptions;\n private dataProcessor: GridDataProcessor;\n private selectedRows: GridRowData[] = [];\n private isResizing: boolean = false;\n private resizingColumn: GridColumnDef | null = null;\n private dragStartX: number = 0;\n private dragStartWidth: number = 0;\n\n constructor(options: GridOptions, dataProcessor: GridDataProcessor) {\n this.options = options;\n this.dataProcessor = dataProcessor;\n }\n\n setOptions(options: GridOptions): void {\n this.options = options;\n this.dataProcessor.setOptions(options);\n }\n\n handleKeyDown(event: KeyboardEvent): void {\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n event.preventDefault();\n this.handleArrowKeyNavigation(event.key);\n }\n }\n\n handleWheel(event: WheelEvent, updateVirtualScrolling: () => void): void {\n if (this.options.enableVirtualScrolling) {\n updateVirtualScrolling();\n }\n }\n\n handleColumnSort(column: GridColumnDef, onSort: (field: string, direction: 'asc' | 'desc') => void): void {\n if (!this.options.enableSorting) return;\n\n const currentField = this.dataProcessor.getSortField();\n const currentDirection = this.dataProcessor.getSortDirection();\n\n let newDirection: 'asc' | 'desc';\n if (currentField === column.field) {\n newDirection = currentDirection === 'asc' ? 'desc' : 'asc';\n } else {\n newDirection = 'asc';\n }\n\n this.dataProcessor.setSortField(column.field);\n this.dataProcessor.setSortDirection(newDirection);\n \n onSort(column.field, newDirection);\n }\n\n handleColumnFilter(column: GridColumnDef, value: string, onFilter: () => void): void {\n if (!this.options.enableFiltering) return;\n\n column.filterValue = value;\n this.dataProcessor.setFilterText(value);\n this.dataProcessor.setCurrentPage(1);\n \n onFilter();\n }\n\n handleRowSelection(row: GridRowData, event: Event, currentData: GridRowData[], onSelectionChange: () => void): void {\n if (!this.options.enableRowSelection) return;\n\n const checkbox = event.target as HTMLInputElement;\n \n if (this.options.enableMultiRowSelection) {\n if (checkbox.checked) {\n if (!this.selectedRows.find(r => r.id === row.id)) {\n this.selectedRows.push(row);\n row.selected = true;\n }\n } else {\n const index = this.selectedRows.findIndex(r => r.id === row.id);\n if (index > -1) {\n this.selectedRows.splice(index, 1);\n row.selected = false;\n }\n }\n } else {\n this.selectedRows = checkbox.checked ? [row] : [];\n // Update all rows selection state\n currentData.forEach(r => {\n r.selected = r.id === row.id ? checkbox.checked : false;\n });\n }\n\n onSelectionChange();\n }\n\n handleHeaderSelectionChange(event: Event, currentData: GridRowData[], onSelectionChange: () => void): void {\n if (!this.options.enableRowSelection) return;\n\n const checkbox = event.target as HTMLInputElement;\n const isChecked = checkbox.checked;\n \n currentData.forEach(row => {\n row.selected = isChecked;\n });\n\n if (isChecked) {\n this.selectedRows = [...currentData];\n } else {\n this.selectedRows = [];\n }\n\n onSelectionChange();\n }\n\n handleRowClick(row: GridRowData, event: Event): void {\n if (this.options.suppressRowClickSelection) return;\n\n const target = event.target as HTMLElement;\n if (target.tagName === 'INPUT' || target.closest('.checkbox-cell')) return;\n\n // Emit row click event\n this.emit('nile-grid-row-click', { row, event });\n }\n\n handleCellEdit(row: GridRowData, column: GridColumnDef, value: any, onCellEdit: (row: GridRowData, column: GridColumnDef, oldValue: any, newValue: any) => void): void {\n if (!column.editable) return;\n\n const oldValue = row[column.field];\n row[column.field] = value;\n\n onCellEdit(row, column, oldValue, value);\n }\n\n handleColumnResizeStart(column: GridColumnDef, event: MouseEvent): void {\n if (!this.options.enableColumnResize) return;\n\n this.isResizing = true;\n this.resizingColumn = column;\n this.dragStartX = event.clientX;\n this.dragStartWidth = column.width || 150;\n\n document.addEventListener('mousemove', this.handleColumnResizeMove.bind(this));\n document.addEventListener('mouseup', this.handleColumnResizeEnd.bind(this));\n }\n\n private handleColumnResizeMove(event: MouseEvent): void {\n if (!this.isResizing || !this.resizingColumn) return;\n\n const deltaX = event.clientX - this.dragStartX;\n const newWidth = Math.max(\n this.resizingColumn.minWidth || 50,\n Math.min(this.resizingColumn.maxWidth || 500, this.dragStartWidth + deltaX)\n );\n\n this.resizingColumn.width = newWidth;\n }\n\n private handleColumnResizeEnd(): void {\n this.isResizing = false;\n this.resizingColumn = null;\n \n document.removeEventListener('mousemove', this.handleColumnResizeMove.bind(this));\n document.removeEventListener('mouseup', this.handleColumnResizeEnd.bind(this));\n }\n\n private handleArrowKeyNavigation(key: string): void {\n // Emit keyboard navigation event\n this.emit('nile-grid-key-navigation', { key });\n }\n\n private emit(eventName: string, detail: any): void {\n // This will be implemented by the main component\n // The main component will listen to these events and emit them\n }\n\n // Getters\n getSelectedRows(): GridRowData[] {\n return this.selectedRows;\n }\n\n isResizingColumn(): boolean {\n return this.isResizing;\n }\n\n getResizingColumn(): GridColumnDef | null {\n return this.resizingColumn;\n }\n}\n"]}
@@ -1,8 +0,0 @@
1
- import { TemplateResult } from 'lit';
2
- import type { ColumnDef } from './types.js';
3
- export declare class GridRenderer {
4
- static renderHeader(columnDefs: ColumnDef[], enableColResize: boolean, onResizeStart: (e: MouseEvent, col: ColumnDef, index: number) => void): TemplateResult;
5
- static renderBody(rowData: any[], columnDefs: ColumnDef[], enableVirtualScroll: boolean, onVirtualizeRender: (row: any, rowIndex: number) => TemplateResult): TemplateResult;
6
- static renderRowWithSpanning(row: any, rowIndex: number, columnDefs: ColumnDef[]): TemplateResult;
7
- private static shouldShowResizeHandle;
8
- }
@@ -1,78 +0,0 @@
1
- import { html } from 'lit';
2
- import { getGridTemplateColumns, calculateColSpan } from './utils.js';
3
- export class GridRenderer {
4
- static renderHeader(columnDefs, enableColResize, onResizeStart) {
5
- return html `
6
- <div class="grid-header" style="grid-template-columns: ${getGridTemplateColumns(columnDefs)};">
7
- ${columnDefs.map((col, index) => html `
8
- <div class="grid-header-cell">
9
- <span>${col.headerName || col.field}</span>
10
- ${this.shouldShowResizeHandle(col, enableColResize) ? html `
11
- <div
12
- class="grid-resize-handle"
13
- @mousedown=${(e) => onResizeStart(e, col, index)}
14
- title="Drag to resize column"
15
- ></div>
16
- ` : ''}
17
- </div>
18
- `)}
19
- </div>
20
- `;
21
- }
22
- static renderBody(rowData, columnDefs, enableVirtualScroll, onVirtualizeRender) {
23
- if (rowData.length === 0) {
24
- return html `
25
- <div class="grid-empty">
26
- <div class="empty-text">No data available</div>
27
- </div>
28
- `;
29
- }
30
- if (enableVirtualScroll) {
31
- return html `
32
- <div class="grid-body">
33
- ${onVirtualizeRender}
34
- </div>
35
- `;
36
- }
37
- return html `
38
- <div class="grid-body">
39
- ${rowData.map((row, rowIndex) => this.renderRowWithSpanning(row, rowIndex, columnDefs))}
40
- </div>
41
- `;
42
- }
43
- static renderRowWithSpanning(row, rowIndex, columnDefs) {
44
- const cells = [];
45
- let currentColIndex = 0;
46
- for (let colIndex = 0; colIndex < columnDefs.length; colIndex++) {
47
- const col = columnDefs[colIndex];
48
- // Check if this column should be skipped due to previous spanning
49
- if (currentColIndex > colIndex) {
50
- continue;
51
- }
52
- // Calculate column span
53
- const colSpan = calculateColSpan(col, row, rowIndex, colIndex);
54
- if (colSpan > 0) {
55
- const cellStyle = `grid-column: ${currentColIndex + 1} / span ${colSpan};`;
56
- cells.push(html `
57
- <div class="grid-cell" style="${cellStyle}">
58
- <span>${row[col.field]}</span>
59
- </div>
60
- `);
61
- currentColIndex += colSpan;
62
- }
63
- }
64
- return html `
65
- <div class="grid-row" style="grid-template-columns: ${getGridTemplateColumns(columnDefs)};">
66
- ${cells}
67
- </div>
68
- `;
69
- }
70
- static shouldShowResizeHandle(col, enableColResize) {
71
- if (!enableColResize)
72
- return false;
73
- if (col.resizable === false)
74
- return false;
75
- return true;
76
- }
77
- }
78
- //# sourceMappingURL=renderer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../src/nile-grid/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAkB,MAAM,KAAK,CAAC;AAE3C,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEtE,MAAM,OAAO,YAAY;IACvB,MAAM,CAAC,YAAY,CAAC,UAAuB,EAAE,eAAwB,EAAE,aAAqE;QAC1I,OAAO,IAAI,CAAA;+DACgD,sBAAsB,CAAC,UAAU,CAAC;UACvF,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAA;;oBAEzB,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,KAAK;cACjC,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;;;6BAGzC,CAAC,CAAa,EAAE,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC;;;aAG/D,CAAC,CAAC,CAAC,EAAE;;SAET,CAAC;;KAEL,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,UAAU,CACf,OAAc,EACd,UAAuB,EACvB,mBAA4B,EAC5B,kBAAkE;QAElE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAA;;;;OAIV,CAAC;QACJ,CAAC;QAED,IAAI,mBAAmB,EAAE,CAAC;YACxB,OAAO,IAAI,CAAA;;YAEL,kBAAkB;;OAEvB,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAA;;UAEL,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;;KAE1F,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,qBAAqB,CAAC,GAAQ,EAAE,QAAgB,EAAE,UAAuB;QAC9E,MAAM,KAAK,GAAqB,EAAE,CAAC;QACnC,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC;YAChE,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAEjC,kEAAkE;YAClE,IAAI,eAAe,GAAG,QAAQ,EAAE,CAAC;gBAC/B,SAAS;YACX,CAAC;YAED,wBAAwB;YACxB,MAAM,OAAO,GAAG,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAE/D,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,SAAS,GAAG,gBAAgB,eAAe,GAAG,CAAC,WAAW,OAAO,GAAG,CAAC;gBAE3E,KAAK,CAAC,IAAI,CAAC,IAAI,CAAA;0CACmB,SAAS;oBAC/B,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC;;SAEzB,CAAC,CAAC;gBAEH,eAAe,IAAI,OAAO,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAA;4DAC6C,sBAAsB,CAAC,UAAU,CAAC;UACpF,KAAK;;KAEV,CAAC;IACJ,CAAC;IAEO,MAAM,CAAC,sBAAsB,CAAC,GAAc,EAAE,eAAwB;QAC5E,IAAI,CAAC,eAAe;YAAE,OAAO,KAAK,CAAC;QACnC,IAAI,GAAG,CAAC,SAAS,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["import { html, TemplateResult } from 'lit';\nimport type { ColumnDef } from './types.js';\nimport { getGridTemplateColumns, calculateColSpan } from './utils.js';\n\nexport class GridRenderer {\n static renderHeader(columnDefs: ColumnDef[], enableColResize: boolean, onResizeStart: (e: MouseEvent, col: ColumnDef, index: number) => void): TemplateResult {\n return html`\n <div class=\"grid-header\" style=\"grid-template-columns: ${getGridTemplateColumns(columnDefs)};\">\n ${columnDefs.map((col, index) => html`\n <div class=\"grid-header-cell\">\n <span>${col.headerName || col.field}</span>\n ${this.shouldShowResizeHandle(col, enableColResize) ? html`\n <div \n class=\"grid-resize-handle\"\n @mousedown=${(e: MouseEvent) => onResizeStart(e, col, index)}\n title=\"Drag to resize column\"\n ></div>\n ` : ''}\n </div>\n `)}\n </div>\n `;\n }\n\n static renderBody(\n rowData: any[], \n columnDefs: ColumnDef[], \n enableVirtualScroll: boolean,\n onVirtualizeRender: (row: any, rowIndex: number) => TemplateResult\n ): TemplateResult {\n if (rowData.length === 0) {\n return html`\n <div class=\"grid-empty\">\n <div class=\"empty-text\">No data available</div>\n </div>\n `;\n }\n\n if (enableVirtualScroll) {\n return html`\n <div class=\"grid-body\">\n ${onVirtualizeRender}\n </div>\n `;\n }\n\n return html`\n <div class=\"grid-body\">\n ${rowData.map((row, rowIndex) => this.renderRowWithSpanning(row, rowIndex, columnDefs))}\n </div>\n `;\n }\n\n static renderRowWithSpanning(row: any, rowIndex: number, columnDefs: ColumnDef[]): TemplateResult {\n const cells: TemplateResult[] = [];\n let currentColIndex = 0;\n\n for (let colIndex = 0; colIndex < columnDefs.length; colIndex++) {\n const col = columnDefs[colIndex];\n \n // Check if this column should be skipped due to previous spanning\n if (currentColIndex > colIndex) {\n continue;\n }\n\n // Calculate column span\n const colSpan = calculateColSpan(col, row, rowIndex, colIndex);\n \n if (colSpan > 0) {\n const cellStyle = `grid-column: ${currentColIndex + 1} / span ${colSpan};`;\n \n cells.push(html`\n <div class=\"grid-cell\" style=\"${cellStyle}\">\n <span>${row[col.field]}</span>\n </div>\n `);\n \n currentColIndex += colSpan;\n }\n }\n\n return html`\n <div class=\"grid-row\" style=\"grid-template-columns: ${getGridTemplateColumns(columnDefs)};\">\n ${cells}\n </div>\n `;\n }\n\n private static shouldShowResizeHandle(col: ColumnDef, enableColResize: boolean): boolean {\n if (!enableColResize) return false;\n if (col.resizable === false) return false;\n return true;\n }\n}\n"]}
@@ -1,4 +0,0 @@
1
- import type { ColumnDef, GridOptions } from './types.js';
2
- export declare class ResizeHandler {
3
- static handleResizeStart(event: MouseEvent, col: ColumnDef, columnIndex: number, columnDefs: ColumnDef[], gridOptions: GridOptions, onUpdate: () => void): void;
4
- }
@@ -1,36 +0,0 @@
1
- export class ResizeHandler {
2
- static handleResizeStart(event, col, columnIndex, columnDefs, gridOptions, onUpdate) {
3
- event.preventDefault();
4
- event.stopPropagation();
5
- const startX = event.clientX;
6
- const startWidth = col.width || 100;
7
- const isShiftKey = event.shiftKey || gridOptions.colResizeDefault === 'shift';
8
- const handleMouseMove = (e) => {
9
- const deltaX = e.clientX - startX;
10
- let newWidth = startWidth + deltaX;
11
- // Ensure minimum width for usability
12
- newWidth = Math.max(newWidth, 50);
13
- // Update column width
14
- col.width = newWidth;
15
- // If shift resize, adjust adjacent column
16
- if (isShiftKey && columnIndex < columnDefs.length - 1) {
17
- const nextCol = columnDefs[columnIndex + 1];
18
- const totalWidth = (col.width || 0) + (nextCol.width || 0);
19
- const newNextWidth = totalWidth - newWidth;
20
- // Ensure adjacent column doesn't get too narrow
21
- if (newNextWidth >= 50) {
22
- nextCol.width = newNextWidth;
23
- }
24
- }
25
- // Force complete re-render for virtual scrolling
26
- onUpdate();
27
- };
28
- const handleMouseUp = () => {
29
- document.removeEventListener('mousemove', handleMouseMove);
30
- document.removeEventListener('mouseup', handleMouseUp);
31
- };
32
- document.addEventListener('mousemove', handleMouseMove);
33
- document.addEventListener('mouseup', handleMouseUp);
34
- }
35
- }
36
- //# sourceMappingURL=resize-handler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resize-handler.js","sourceRoot":"","sources":["../../../src/nile-grid/resize-handler.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,aAAa;IACxB,MAAM,CAAC,iBAAiB,CACtB,KAAiB,EACjB,GAAc,EACd,WAAmB,EACnB,UAAuB,EACvB,WAAwB,EACxB,QAAoB;QAEpB,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC;QAC7B,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC;QACpC,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,IAAI,WAAW,CAAC,gBAAgB,KAAK,OAAO,CAAC;QAE9E,MAAM,eAAe,GAAG,CAAC,CAAa,EAAE,EAAE;YACxC,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC;YAClC,IAAI,QAAQ,GAAG,UAAU,GAAG,MAAM,CAAC;YAEnC,qCAAqC;YACrC,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAElC,sBAAsB;YACtB,GAAG,CAAC,KAAK,GAAG,QAAQ,CAAC;YAErB,0CAA0C;YAC1C,IAAI,UAAU,IAAI,WAAW,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC;gBAC5C,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;gBAC3D,MAAM,YAAY,GAAG,UAAU,GAAG,QAAQ,CAAC;gBAE3C,gDAAgD;gBAChD,IAAI,YAAY,IAAI,EAAE,EAAE,CAAC;oBACvB,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC;gBAC/B,CAAC;YACH,CAAC;YAED,iDAAiD;YACjD,QAAQ,EAAE,CAAC;QACb,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,QAAQ,CAAC,mBAAmB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;YAC3D,QAAQ,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACzD,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QACxD,QAAQ,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACtD,CAAC;CACF","sourcesContent":["import type { ColumnDef, GridOptions } from './types.js';\n\nexport class ResizeHandler {\n static handleResizeStart(\n event: MouseEvent, \n col: ColumnDef, \n columnIndex: number, \n columnDefs: ColumnDef[],\n gridOptions: GridOptions,\n onUpdate: () => void\n ): void {\n event.preventDefault();\n event.stopPropagation();\n \n const startX = event.clientX;\n const startWidth = col.width || 100;\n const isShiftKey = event.shiftKey || gridOptions.colResizeDefault === 'shift';\n \n const handleMouseMove = (e: MouseEvent) => {\n const deltaX = e.clientX - startX;\n let newWidth = startWidth + deltaX;\n \n // Ensure minimum width for usability\n newWidth = Math.max(newWidth, 50);\n \n // Update column width\n col.width = newWidth;\n \n // If shift resize, adjust adjacent column\n if (isShiftKey && columnIndex < columnDefs.length - 1) {\n const nextCol = columnDefs[columnIndex + 1];\n const totalWidth = (col.width || 0) + (nextCol.width || 0);\n const newNextWidth = totalWidth - newWidth;\n \n // Ensure adjacent column doesn't get too narrow\n if (newNextWidth >= 50) {\n nextCol.width = newNextWidth;\n }\n }\n \n // Force complete re-render for virtual scrolling\n onUpdate();\n };\n \n const handleMouseUp = () => {\n document.removeEventListener('mousemove', handleMouseMove);\n document.removeEventListener('mouseup', handleMouseUp);\n };\n \n document.addEventListener('mousemove', handleMouseMove);\n document.addEventListener('mouseup', handleMouseUp);\n }\n}\n"]}
@@ -1,32 +0,0 @@
1
- export interface ColumnDef {
2
- field: string;
3
- headerName?: string;
4
- sortable?: boolean;
5
- width?: number;
6
- resizable?: boolean;
7
- minWidth?: number;
8
- maxWidth?: number;
9
- colSpan?: (params: ColSpanParams) => number;
10
- }
11
- export interface GridOptions {
12
- rowSelection?: 'single' | 'multiple';
13
- enableSorting?: boolean;
14
- enableVirtualScroll?: boolean;
15
- enableColResize?: boolean;
16
- colResizeDefault?: 'normal' | 'shift';
17
- }
18
- export interface ColSpanParams {
19
- data: any;
20
- field: string;
21
- rowIndex: number;
22
- columnIndex: number;
23
- }
24
- export interface GridApi {
25
- getSelectedRows: () => any[];
26
- setRowData: (data: any[]) => void;
27
- setColumnDefs: (defs: ColumnDef[]) => void;
28
- }
29
- export interface GridReadyEvent {
30
- api: GridApi;
31
- type: 'gridReady';
32
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/nile-grid/types.ts"],"names":[],"mappings":"","sourcesContent":["export interface ColumnDef {\n field: string;\n headerName?: string;\n sortable?: boolean;\n width?: number;\n resizable?: boolean;\n minWidth?: number;\n maxWidth?: number;\n colSpan?: (params: ColSpanParams) => number;\n}\n\nexport interface GridOptions {\n rowSelection?: 'single' | 'multiple';\n enableSorting?: boolean;\n enableVirtualScroll?: boolean;\n enableColResize?: boolean;\n colResizeDefault?: 'normal' | 'shift';\n}\n\nexport interface ColSpanParams {\n data: any;\n field: string;\n rowIndex: number;\n columnIndex: number;\n}\n\nexport interface GridApi {\n getSelectedRows: () => any[];\n setRowData: (data: any[]) => void;\n setColumnDefs: (defs: ColumnDef[]) => void;\n}\n\nexport interface GridReadyEvent {\n api: GridApi;\n type: 'gridReady';\n}\n"]}
@@ -1,4 +0,0 @@
1
- import type { ColumnDef } from './types.js';
2
- export declare function getGridTemplateColumns(columnDefs: ColumnDef[]): string;
3
- export declare function calculateColSpan(col: ColumnDef, row: any, rowIndex: number, colIndex: number): number;
4
- export declare function shouldShowResizeHandle(col: ColumnDef, enableColResize: boolean): boolean;
@@ -1,32 +0,0 @@
1
- export function getGridTemplateColumns(columnDefs) {
2
- return columnDefs.map((col, index) => {
3
- if (col.width) {
4
- return `${col.width}px`;
5
- }
6
- // Last column takes remaining space
7
- if (index === columnDefs.length - 1) {
8
- return '1fr';
9
- }
10
- return 'auto';
11
- }).join(' ');
12
- }
13
- export function calculateColSpan(col, row, rowIndex, colIndex) {
14
- if (col.colSpan) {
15
- const params = {
16
- data: row,
17
- field: col.field,
18
- rowIndex,
19
- columnIndex: colIndex
20
- };
21
- return col.colSpan(params);
22
- }
23
- return 1;
24
- }
25
- export function shouldShowResizeHandle(col, enableColResize) {
26
- if (!enableColResize)
27
- return false;
28
- if (col.resizable === false)
29
- return false;
30
- return true;
31
- }
32
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/nile-grid/utils.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,sBAAsB,CAAC,UAAuB;IAC5D,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACnC,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,OAAO,GAAG,GAAG,CAAC,KAAK,IAAI,CAAC;QAC1B,CAAC;QACD,oCAAoC;QACpC,IAAI,KAAK,KAAK,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAc,EAAE,GAAQ,EAAE,QAAgB,EAAE,QAAgB;IAC3F,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QAChB,MAAM,MAAM,GAAkB;YAC5B,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,QAAQ;YACR,WAAW,EAAE,QAAQ;SACtB,CAAC;QACF,OAAO,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAc,EAAE,eAAwB;IAC7E,IAAI,CAAC,eAAe;QAAE,OAAO,KAAK,CAAC;IACnC,IAAI,GAAG,CAAC,SAAS,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAC1C,OAAO,IAAI,CAAC;AACd,CAAC","sourcesContent":["import type { ColumnDef, ColSpanParams } from './types.js';\n\nexport function getGridTemplateColumns(columnDefs: ColumnDef[]): string {\n return columnDefs.map((col, index) => {\n if (col.width) {\n return `${col.width}px`;\n }\n // Last column takes remaining space\n if (index === columnDefs.length - 1) {\n return '1fr';\n }\n return 'auto';\n }).join(' ');\n}\n\nexport function calculateColSpan(col: ColumnDef, row: any, rowIndex: number, colIndex: number): number {\n if (col.colSpan) {\n const params: ColSpanParams = {\n data: row,\n field: col.field,\n rowIndex,\n columnIndex: colIndex\n };\n return col.colSpan(params);\n }\n return 1;\n}\n\nexport function shouldShowResizeHandle(col: ColumnDef, enableColResize: boolean): boolean {\n if (!enableColResize) return false;\n if (col.resizable === false) return false;\n return true;\n}\n"]}
@@ -1,47 +0,0 @@
1
- /* @web/test-runner snapshot v1 */
2
- export const snapshots = {};
3
-
4
- snapshots["NileHero renders correctly with default properties"] =
5
- `<div
6
- class="hero__container hero__container--expanded"
7
- part="nile__hero__container"
8
- >
9
- <nile-hero-header
10
- class="hero__header--collapsed"
11
- hero-text="Test Hero"
12
- icon="error"
13
- part="nile__hero__header"
14
- style="opacity:0"
15
- >
16
- </nile-hero-header>
17
- <div
18
- class="hero__slot__container"
19
- style="opacity:1"
20
- >
21
- <div class="hero__slot">
22
- <span class="icon__container">
23
- <nile-icon
24
- method="stroke"
25
- name="error"
26
- size="16"
27
- >
28
- </nile-icon>
29
- </span>
30
- <slot>
31
- </slot>
32
- </div>
33
- </div>
34
- <div
35
- class="hero__img__container"
36
- id="hero__img__container"
37
- style="opacity:1"
38
- >
39
- <img
40
- class="hero__img"
41
- src=""
42
- >
43
- </div>
44
- </div>
45
- `;
46
- /* end snapshot NileHero renders correctly with default properties */
47
-