@aquera/nile-elements 1.3.4-beta-1 → 1.3.4

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 (450) hide show
  1. package/README.md +3 -0
  2. package/demo/index.html +27 -20
  3. package/dist/{fixture-54600b35.cjs.js → fixture-1c49c014.cjs.js} +2 -2
  4. package/dist/{fixture-73855806.cjs.js.map → fixture-1c49c014.cjs.js.map} +1 -1
  5. package/dist/{fixture-9871e8a9.esm.js → fixture-985bba12.esm.js} +1 -1
  6. package/dist/index.js +3 -2
  7. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  8. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  9. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  10. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  11. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  12. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  13. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  14. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  15. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  16. package/dist/nile-button/nile-button.test.esm.js +1 -1
  17. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  18. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  19. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  20. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  21. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  22. package/dist/nile-card/nile-card.test.esm.js +1 -1
  23. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  24. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  25. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  26. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  27. package/dist/nile-chip/nile-chip.esm.js +3 -2
  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/nile-select.test.cjs.js +1 -1
  71. package/dist/nile-select/nile-select.test.esm.js +1 -1
  72. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  73. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  74. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  75. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  76. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  77. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  78. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  79. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  80. package/dist/src/nile-chip/nile-chip.js +8 -0
  81. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  82. package/dist/src/version.js +1 -1
  83. package/dist/src/version.js.map +1 -1
  84. package/dist/tsconfig.tsbuildinfo +1 -1
  85. package/package.json +1 -1
  86. package/src/nile-chip/nile-chip.ts +9 -0
  87. package/dist/fixture-54600b35.cjs.js.map +0 -1
  88. package/dist/fixture-5b79f853.cjs.js +0 -395
  89. package/dist/fixture-5b79f853.cjs.js.map +0 -1
  90. package/dist/fixture-73855806.cjs.js +0 -395
  91. package/dist/fixture-90b199c4.esm.js +0 -569
  92. package/dist/fixture-c1d78368.cjs.js +0 -395
  93. package/dist/fixture-c1d78368.cjs.js.map +0 -1
  94. package/dist/fixture-cf7bfcf5.esm.js +0 -569
  95. package/dist/fixture-dbd66009.cjs.js +0 -395
  96. package/dist/fixture-dbd66009.cjs.js.map +0 -1
  97. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js +0 -2
  98. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js.map +0 -1
  99. package/dist/nile-code-editor/backup_nile-code-editor copy.esm.js +0 -1
  100. package/dist/nile-grid/nile-grid.types.cjs.js +0 -2
  101. package/dist/nile-grid/nile-grid.types.cjs.js.map +0 -1
  102. package/dist/nile-grid/nile-grid.types.esm.js +0 -1
  103. package/dist/nile-grid-body/index.cjs.js +0 -2
  104. package/dist/nile-grid-body/index.cjs.js.map +0 -1
  105. package/dist/nile-grid-body/index.esm.js +0 -1
  106. package/dist/nile-grid-body/nile-grid-body.cjs.js +0 -2
  107. package/dist/nile-grid-body/nile-grid-body.cjs.js.map +0 -1
  108. package/dist/nile-grid-body/nile-grid-body.css.cjs.js +0 -2
  109. package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +0 -1
  110. package/dist/nile-grid-body/nile-grid-body.css.esm.js +0 -10
  111. package/dist/nile-grid-body/nile-grid-body.esm.js +0 -5
  112. package/dist/nile-grid-cell-item/index.cjs.js +0 -2
  113. package/dist/nile-grid-cell-item/index.cjs.js.map +0 -1
  114. package/dist/nile-grid-cell-item/index.esm.js +0 -1
  115. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +0 -2
  116. package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +0 -1
  117. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +0 -2
  118. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +0 -1
  119. package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +0 -35
  120. package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +0 -12
  121. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +0 -2
  122. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +0 -1
  123. package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +0 -1
  124. package/dist/nile-grid-head/index.cjs.js +0 -2
  125. package/dist/nile-grid-head/index.cjs.js.map +0 -1
  126. package/dist/nile-grid-head/index.esm.js +0 -1
  127. package/dist/nile-grid-head/nile-grid-head.cjs.js +0 -2
  128. package/dist/nile-grid-head/nile-grid-head.cjs.js.map +0 -1
  129. package/dist/nile-grid-head/nile-grid-head.css.cjs.js +0 -2
  130. package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +0 -1
  131. package/dist/nile-grid-head/nile-grid-head.css.esm.js +0 -7
  132. package/dist/nile-grid-head/nile-grid-head.esm.js +0 -5
  133. package/dist/nile-grid-head-item/index.cjs.js +0 -2
  134. package/dist/nile-grid-head-item/index.cjs.js.map +0 -1
  135. package/dist/nile-grid-head-item/index.esm.js +0 -1
  136. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +0 -2
  137. package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +0 -1
  138. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +0 -2
  139. package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +0 -1
  140. package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +0 -34
  141. package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +0 -12
  142. package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +0 -2
  143. package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +0 -1
  144. package/dist/nile-grid-head-item/nile-grid-head-item.utils.esm.js +0 -1
  145. package/dist/nile-grid-row/index.cjs.js +0 -2
  146. package/dist/nile-grid-row/index.cjs.js.map +0 -1
  147. package/dist/nile-grid-row/index.esm.js +0 -1
  148. package/dist/nile-grid-row/nile-grid-row.cjs.js +0 -2
  149. package/dist/nile-grid-row/nile-grid-row.cjs.js.map +0 -1
  150. package/dist/nile-grid-row/nile-grid-row.css.cjs.js +0 -2
  151. package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +0 -1
  152. package/dist/nile-grid-row/nile-grid-row.css.esm.js +0 -15
  153. package/dist/nile-grid-row/nile-grid-row.esm.js +0 -7
  154. package/dist/nile-rich-text-editor/utils.cjs.js +0 -2
  155. package/dist/nile-rich-text-editor/utils.cjs.js.map +0 -1
  156. package/dist/nile-rich-text-editor/utils.esm.js +0 -1
  157. package/dist/nile-sidebar/index.cjs.js +0 -2
  158. package/dist/nile-sidebar/index.cjs.js.map +0 -1
  159. package/dist/nile-sidebar/index.esm.js +0 -75
  160. package/dist/nile-sidebar-menu/index.cjs.js +0 -2
  161. package/dist/nile-sidebar-menu/index.cjs.js.map +0 -1
  162. package/dist/nile-sidebar-menu/index.esm.js +0 -1
  163. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +0 -2
  164. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +0 -1
  165. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +0 -2
  166. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +0 -1
  167. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +0 -38
  168. package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +0 -10
  169. package/dist/nile-sidebar-menu-items/index.cjs.js +0 -2
  170. package/dist/nile-sidebar-menu-items/index.cjs.js.map +0 -1
  171. package/dist/nile-sidebar-menu-items/index.esm.js +0 -1
  172. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +0 -2
  173. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +0 -1
  174. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +0 -2
  175. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +0 -1
  176. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +0 -36
  177. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +0 -15
  178. package/dist/nile-sidebar-wrapper/index.cjs.js +0 -2
  179. package/dist/nile-sidebar-wrapper/index.cjs.js.map +0 -1
  180. package/dist/nile-sidebar-wrapper/index.esm.js +0 -1
  181. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +0 -2
  182. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +0 -1
  183. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +0 -2
  184. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +0 -1
  185. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +0 -105
  186. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +0 -16
  187. package/dist/nile-virtual-select/group-manager.cjs.js +0 -2
  188. package/dist/nile-virtual-select/group-manager.cjs.js.map +0 -1
  189. package/dist/nile-virtual-select/group-manager.esm.js +0 -1
  190. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js +0 -2
  191. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js.map +0 -1
  192. package/dist/nile-virtual-select/temp_nile-virtual-select copy.esm.js +0 -231
  193. package/dist/scopedElementsWrapper-1bff26ef.cjs.js +0 -2
  194. package/dist/scopedElementsWrapper-1bff26ef.cjs.js.map +0 -1
  195. package/dist/scopedElementsWrapper-4c29be11.esm.js +0 -7
  196. package/dist/scopedElementsWrapper-a112fc73.cjs.js +0 -6
  197. package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +0 -1
  198. package/dist/scopedElementsWrapper-c815042c.cjs.js +0 -2
  199. package/dist/scopedElementsWrapper-c815042c.cjs.js.map +0 -1
  200. package/dist/src/internal/portal-manager.d.ts +0 -53
  201. package/dist/src/internal/portal-manager.js +0 -196
  202. package/dist/src/internal/portal-manager.js.map +0 -1
  203. package/dist/src/internal/portal.d.ts +0 -60
  204. package/dist/src/internal/portal.js +0 -199
  205. package/dist/src/internal/portal.js.map +0 -1
  206. package/dist/src/internal/resizable-helper.d.ts +0 -59
  207. package/dist/src/internal/resizable-helper.js +0 -115
  208. package/dist/src/internal/resizable-helper.js.map +0 -1
  209. package/dist/src/internal/resizable-styles.d.ts +0 -16
  210. package/dist/src/internal/resizable-styles.js +0 -144
  211. package/dist/src/internal/resizable-styles.js.map +0 -1
  212. package/dist/src/internal/virtualizer-error-handler.d.ts +0 -30
  213. package/dist/src/internal/virtualizer-error-handler.js +0 -82
  214. package/dist/src/internal/virtualizer-error-handler.js.map +0 -1
  215. package/dist/src/lib/index.d.ts +0 -7
  216. package/dist/src/lib/index.js +0 -8
  217. package/dist/src/lib/index.js.map +0 -1
  218. package/dist/src/lib/virtualize.d.ts +0 -32
  219. package/dist/src/lib/virtualize.js +0 -105
  220. package/dist/src/lib/virtualize.js.map +0 -1
  221. package/dist/src/lib/virtualize.test.d.ts +0 -7
  222. package/dist/src/lib/virtualize.test.js +0 -57
  223. package/dist/src/lib/virtualize.test.js.map +0 -1
  224. package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +0 -17
  225. package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +0 -310
  226. package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +0 -34
  227. package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +0 -31
  228. package/dist/src/nile-code-editor/Old_theme copy.d.ts +0 -191
  229. package/dist/src/nile-code-editor/Old_theme copy.js +0 -193
  230. package/dist/src/nile-code-editor/Old_theme copy.js.map +0 -1
  231. package/dist/src/nile-code-editor/backup_nile-code-editor copy.d.ts +0 -0
  232. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js +0 -675
  233. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js.map +0 -1
  234. package/dist/src/nile-code-editor/theme copy.d.ts +0 -191
  235. package/dist/src/nile-code-editor/theme copy.js +0 -193
  236. package/dist/src/nile-code-editor/theme copy.js.map +0 -1
  237. package/dist/src/nile-floating-panel/anchor-manager.d.ts +0 -26
  238. package/dist/src/nile-floating-panel/anchor-manager.js +0 -49
  239. package/dist/src/nile-floating-panel/anchor-manager.js.map +0 -1
  240. package/dist/src/nile-floating-panel/content-manager.d.ts +0 -23
  241. package/dist/src/nile-floating-panel/content-manager.js +0 -67
  242. package/dist/src/nile-floating-panel/content-manager.js.map +0 -1
  243. package/dist/src/nile-floating-panel/event-manager.d.ts +0 -38
  244. package/dist/src/nile-floating-panel/event-manager.js +0 -81
  245. package/dist/src/nile-floating-panel/event-manager.js.map +0 -1
  246. package/dist/src/nile-floating-panel/index.d.ts +0 -1
  247. package/dist/src/nile-floating-panel/index.js +0 -2
  248. package/dist/src/nile-floating-panel/index.js.map +0 -1
  249. package/dist/src/nile-floating-panel/nile-floating-panel.css.d.ts +0 -17
  250. package/dist/src/nile-floating-panel/nile-floating-panel.css.js +0 -51
  251. package/dist/src/nile-floating-panel/nile-floating-panel.css.js.map +0 -1
  252. package/dist/src/nile-floating-panel/nile-floating-panel.d.ts +0 -67
  253. package/dist/src/nile-floating-panel/nile-floating-panel.js +0 -203
  254. package/dist/src/nile-floating-panel/nile-floating-panel.js.map +0 -1
  255. package/dist/src/nile-floating-panel/position-manager.d.ts +0 -47
  256. package/dist/src/nile-floating-panel/position-manager.js +0 -94
  257. package/dist/src/nile-floating-panel/position-manager.js.map +0 -1
  258. package/dist/src/nile-floating-panel/style-manager.d.ts +0 -31
  259. package/dist/src/nile-floating-panel/style-manager.js +0 -74
  260. package/dist/src/nile-floating-panel/style-manager.js.map +0 -1
  261. package/dist/src/nile-floating-panel/types.d.ts +0 -29
  262. package/dist/src/nile-floating-panel/types.js +0 -8
  263. package/dist/src/nile-floating-panel/types.js.map +0 -1
  264. package/dist/src/nile-grid/data-processor.d.ts +0 -37
  265. package/dist/src/nile-grid/data-processor.js +0 -122
  266. package/dist/src/nile-grid/data-processor.js.map +0 -1
  267. package/dist/src/nile-grid/event-handlers.d.ts +0 -35
  268. package/dist/src/nile-grid/event-handlers.js +0 -158
  269. package/dist/src/nile-grid/event-handlers.js.map +0 -1
  270. package/dist/src/nile-grid/nile-grid.types.d.ts +0 -3
  271. package/dist/src/nile-grid/nile-grid.types.js +0 -2
  272. package/dist/src/nile-grid/nile-grid.types.js.map +0 -1
  273. package/dist/src/nile-grid/renderer.d.ts +0 -8
  274. package/dist/src/nile-grid/renderer.js +0 -78
  275. package/dist/src/nile-grid/renderer.js.map +0 -1
  276. package/dist/src/nile-grid/resize-handler.d.ts +0 -4
  277. package/dist/src/nile-grid/resize-handler.js +0 -36
  278. package/dist/src/nile-grid/resize-handler.js.map +0 -1
  279. package/dist/src/nile-grid/types.d.ts +0 -32
  280. package/dist/src/nile-grid/types.js +0 -2
  281. package/dist/src/nile-grid/types.js.map +0 -1
  282. package/dist/src/nile-grid/utils.d.ts +0 -4
  283. package/dist/src/nile-grid/utils.js +0 -32
  284. package/dist/src/nile-grid/utils.js.map +0 -1
  285. package/dist/src/nile-grid-body/index.d.ts +0 -1
  286. package/dist/src/nile-grid-body/index.js +0 -2
  287. package/dist/src/nile-grid-body/index.js.map +0 -1
  288. package/dist/src/nile-grid-body/nile-grid-body.css.d.ts +0 -12
  289. package/dist/src/nile-grid-body/nile-grid-body.css.js +0 -22
  290. package/dist/src/nile-grid-body/nile-grid-body.css.js.map +0 -1
  291. package/dist/src/nile-grid-body/nile-grid-body.d.ts +0 -29
  292. package/dist/src/nile-grid-body/nile-grid-body.js +0 -43
  293. package/dist/src/nile-grid-body/nile-grid-body.js.map +0 -1
  294. package/dist/src/nile-grid-cell-item/index.d.ts +0 -1
  295. package/dist/src/nile-grid-cell-item/index.js +0 -2
  296. package/dist/src/nile-grid-cell-item/index.js.map +0 -1
  297. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.d.ts +0 -12
  298. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js +0 -47
  299. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js.map +0 -1
  300. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.d.ts +0 -36
  301. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js +0 -93
  302. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js.map +0 -1
  303. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +0 -10
  304. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js +0 -34
  305. package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +0 -1
  306. package/dist/src/nile-grid-head/index.d.ts +0 -1
  307. package/dist/src/nile-grid-head/index.js +0 -2
  308. package/dist/src/nile-grid-head/index.js.map +0 -1
  309. package/dist/src/nile-grid-head/nile-grid-head.css.d.ts +0 -12
  310. package/dist/src/nile-grid-head/nile-grid-head.css.js +0 -19
  311. package/dist/src/nile-grid-head/nile-grid-head.css.js.map +0 -1
  312. package/dist/src/nile-grid-head/nile-grid-head.d.ts +0 -28
  313. package/dist/src/nile-grid-head/nile-grid-head.js +0 -41
  314. package/dist/src/nile-grid-head/nile-grid-head.js.map +0 -1
  315. package/dist/src/nile-grid-head-item/index.d.ts +0 -1
  316. package/dist/src/nile-grid-head-item/index.js +0 -2
  317. package/dist/src/nile-grid-head-item/index.js.map +0 -1
  318. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.d.ts +0 -12
  319. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js +0 -46
  320. package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js.map +0 -1
  321. package/dist/src/nile-grid-head-item/nile-grid-head-item.d.ts +0 -37
  322. package/dist/src/nile-grid-head-item/nile-grid-head-item.js +0 -100
  323. package/dist/src/nile-grid-head-item/nile-grid-head-item.js.map +0 -1
  324. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.d.ts +0 -10
  325. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js +0 -34
  326. package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js.map +0 -1
  327. package/dist/src/nile-grid-row/index.d.ts +0 -1
  328. package/dist/src/nile-grid-row/index.js +0 -2
  329. package/dist/src/nile-grid-row/index.js.map +0 -1
  330. package/dist/src/nile-grid-row/nile-grid-row.css.d.ts +0 -12
  331. package/dist/src/nile-grid-row/nile-grid-row.css.js +0 -27
  332. package/dist/src/nile-grid-row/nile-grid-row.css.js.map +0 -1
  333. package/dist/src/nile-grid-row/nile-grid-row.d.ts +0 -29
  334. package/dist/src/nile-grid-row/nile-grid-row.js +0 -45
  335. package/dist/src/nile-grid-row/nile-grid-row.js.map +0 -1
  336. package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +0 -47
  337. package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +0 -16
  338. package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +0 -75
  339. package/dist/src/nile-menu/portal-manager.d.ts +0 -39
  340. package/dist/src/nile-menu/portal-manager.js +0 -340
  341. package/dist/src/nile-menu/portal-manager.js.map +0 -1
  342. package/dist/src/nile-menu/portal-utils.d.ts +0 -21
  343. package/dist/src/nile-menu/portal-utils.js +0 -128
  344. package/dist/src/nile-menu/portal-utils.js.map +0 -1
  345. package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +0 -22
  346. package/dist/src/nile-popover/popover-portal-handler.d.ts +0 -21
  347. package/dist/src/nile-popover/popover-portal-handler.js +0 -106
  348. package/dist/src/nile-popover/popover-portal-handler.js.map +0 -1
  349. package/dist/src/nile-portal-wrapper/index.d.ts +0 -1
  350. package/dist/src/nile-portal-wrapper/index.js +0 -2
  351. package/dist/src/nile-portal-wrapper/index.js.map +0 -1
  352. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.d.ts +0 -47
  353. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js +0 -451
  354. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js.map +0 -1
  355. package/dist/src/nile-rich-text-editor/utils.d.ts +0 -13
  356. package/dist/src/nile-rich-text-editor/utils.js +0 -538
  357. package/dist/src/nile-rich-text-editor/utils.js.map +0 -1
  358. package/dist/src/nile-select/body-append-manager.d.ts +0 -90
  359. package/dist/src/nile-select/body-append-manager.js +0 -298
  360. package/dist/src/nile-select/body-append-manager.js.map +0 -1
  361. package/dist/src/nile-sidebar/index.d.ts +0 -28
  362. package/dist/src/nile-sidebar/index.js +0 -116
  363. package/dist/src/nile-sidebar/index.js.map +0 -1
  364. package/dist/src/nile-sidebar-menu/index.d.ts +0 -1
  365. package/dist/src/nile-sidebar-menu/index.js +0 -2
  366. package/dist/src/nile-sidebar-menu/index.js.map +0 -1
  367. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.d.ts +0 -12
  368. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js +0 -47
  369. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js.map +0 -1
  370. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.d.ts +0 -37
  371. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js +0 -84
  372. package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js.map +0 -1
  373. package/dist/src/nile-sidebar-menu-items/index.d.ts +0 -1
  374. package/dist/src/nile-sidebar-menu-items/index.js +0 -2
  375. package/dist/src/nile-sidebar-menu-items/index.js.map +0 -1
  376. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.d.ts +0 -12
  377. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js +0 -45
  378. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js.map +0 -1
  379. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.d.ts +0 -35
  380. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js +0 -78
  381. package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js.map +0 -1
  382. package/dist/src/nile-sidebar-wrapper/index.d.ts +0 -1
  383. package/dist/src/nile-sidebar-wrapper/index.js +0 -2
  384. package/dist/src/nile-sidebar-wrapper/index.js.map +0 -1
  385. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.d.ts +0 -12
  386. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js +0 -114
  387. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js.map +0 -1
  388. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.d.ts +0 -35
  389. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js +0 -89
  390. package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js.map +0 -1
  391. package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +0 -9
  392. package/dist/src/nile-table-body/virtual-scroll-helper.js +0 -24
  393. package/dist/src/nile-table-body/virtual-scroll-helper.js.map +0 -1
  394. package/dist/src/nile-virtual-select/body-append-helper.d.ts +0 -16
  395. package/dist/src/nile-virtual-select/body-append-helper.js +0 -95
  396. package/dist/src/nile-virtual-select/body-append-helper.js.map +0 -1
  397. package/dist/src/nile-virtual-select/group-manager.d.ts +0 -32
  398. package/dist/src/nile-virtual-select/group-manager.js +0 -134
  399. package/dist/src/nile-virtual-select/group-manager.js.map +0 -1
  400. package/dist/src/nile-virtual-select/portal-utils.d.ts +0 -65
  401. package/dist/src/nile-virtual-select/portal-utils.js +0 -376
  402. package/dist/src/nile-virtual-select/portal-utils.js.map +0 -1
  403. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.d.ts +0 -273
  404. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js +0 -1305
  405. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js.map +0 -1
  406. package/dist/src/nile-virtual-select/virtualizer-error-handler.d.ts +0 -21
  407. package/dist/src/nile-virtual-select/virtualizer-error-handler.js +0 -56
  408. package/dist/src/nile-virtual-select/virtualizer-error-handler.js.map +0 -1
  409. package/dist/src/nile-virtual-select-disabled/index.d.ts +0 -1
  410. package/dist/src/nile-virtual-select-disabled/index.js +0 -2
  411. package/dist/src/nile-virtual-select-disabled/index.js.map +0 -1
  412. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.d.ts +0 -12
  413. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js +0 -538
  414. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js.map +0 -1
  415. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.d.ts +0 -299
  416. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js +0 -1441
  417. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js.map +0 -1
  418. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.d.ts +0 -7
  419. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js +0 -631
  420. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js.map +0 -1
  421. package/dist/src/nile-virtual-select-disabled/portal-manager.d.ts +0 -45
  422. package/dist/src/nile-virtual-select-disabled/portal-manager.js +0 -333
  423. package/dist/src/nile-virtual-select-disabled/portal-manager.js.map +0 -1
  424. package/dist/src/nile-virtual-select-disabled/renderer.d.ts +0 -16
  425. package/dist/src/nile-virtual-select-disabled/renderer.js +0 -79
  426. package/dist/src/nile-virtual-select-disabled/renderer.js.map +0 -1
  427. package/dist/src/nile-virtual-select-disabled/search-manager.d.ts +0 -12
  428. package/dist/src/nile-virtual-select-disabled/search-manager.js +0 -40
  429. package/dist/src/nile-virtual-select-disabled/search-manager.js.map +0 -1
  430. package/dist/src/nile-virtual-select-disabled/selection-manager.d.ts +0 -12
  431. package/dist/src/nile-virtual-select-disabled/selection-manager.js +0 -64
  432. package/dist/src/nile-virtual-select-disabled/selection-manager.js.map +0 -1
  433. package/dist/src/nile-virtual-select-disabled/types.d.ts +0 -50
  434. package/dist/src/nile-virtual-select-disabled/types.js +0 -8
  435. package/dist/src/nile-virtual-select-disabled/types.js.map +0 -1
  436. package/dist/src/nile-virtual-table-body/index.d.ts +0 -2
  437. package/dist/src/nile-virtual-table-body/index.js +0 -3
  438. package/dist/src/nile-virtual-table-body/index.js.map +0 -1
  439. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +0 -1
  440. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +0 -44
  441. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +0 -1
  442. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +0 -50
  443. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +0 -135
  444. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +0 -1
  445. package/dist/src/nile-virtual-table-body/renderer.d.ts +0 -16
  446. package/dist/src/nile-virtual-table-body/renderer.js +0 -49
  447. package/dist/src/nile-virtual-table-body/renderer.js.map +0 -1
  448. package/dist/src/utilities/stepper-utils.d.ts +0 -71
  449. package/dist/src/utilities/stepper-utils.js +0 -108
  450. package/dist/src/utilities/stepper-utils.js.map +0 -1
@@ -1,199 +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 PortalManager {
8
- constructor(component, listboxSelector = '#listbox', portalClassName = 'nile-portal-append') {
9
- this.portalContainer = null;
10
- this.originalListboxParent = null;
11
- this.measuredPopupHeight = null;
12
- this.component = component;
13
- this.listboxSelector = listboxSelector;
14
- this.portalClassName = portalClassName;
15
- }
16
- /**
17
- * Creates a portal container with proper styling
18
- */
19
- createPortalContainer() {
20
- const container = document.createElement('div');
21
- container.style.position = 'absolute';
22
- container.style.zIndex = '9999';
23
- container.style.pointerEvents = 'none';
24
- container.className = this.portalClassName;
25
- // Apply additional styling to match the original popup
26
- container.style.background = 'white';
27
- container.style.border = '1px solid #e0e0e0';
28
- container.style.borderRadius = '4px';
29
- container.style.boxShadow = '0 4px 6px rgba(0, 0, 0, 0.1)';
30
- container.style.maxHeight = '300px';
31
- container.style.overflow = 'hidden';
32
- return container;
33
- }
34
- /**
35
- * Positions the portal container relative to the component
36
- */
37
- positionPortal() {
38
- if (!this.portalContainer)
39
- return;
40
- const rect = this.component.getBoundingClientRect();
41
- const viewportHeight = window.innerHeight;
42
- const estimatedPopupHeight = 300; // Fallback estimate
43
- // If this is the first positioning, measure actual height
44
- if (!this.measuredPopupHeight && this.portalContainer) {
45
- // Temporarily position the container to measure its height
46
- this.portalContainer.style.position = 'absolute';
47
- this.portalContainer.style.visibility = 'hidden';
48
- this.portalContainer.style.top = '0px';
49
- this.portalContainer.style.left = '0px';
50
- // Force a reflow to ensure the container is rendered
51
- this.portalContainer.offsetHeight;
52
- // Measure the actual height
53
- this.measuredPopupHeight = this.portalContainer.offsetHeight;
54
- // Reset visibility
55
- this.portalContainer.style.visibility = '';
56
- }
57
- // Use measured height or fallback to estimate
58
- const popupHeight = this.measuredPopupHeight || estimatedPopupHeight;
59
- // Calculate available space above and below
60
- const spaceBelow = viewportHeight - rect.bottom;
61
- const spaceAbove = rect.top;
62
- let topPosition;
63
- let placementClass;
64
- // Smart positioning: flip to top if insufficient space below and more space above
65
- if (spaceBelow < popupHeight && spaceAbove > spaceBelow) {
66
- // Open upward
67
- topPosition = rect.top - popupHeight - 6;
68
- placementClass = 'top';
69
- }
70
- else {
71
- // Open downward
72
- topPosition = rect.bottom + 6;
73
- placementClass = 'bottom';
74
- }
75
- // Apply positioning
76
- this.portalContainer.style.left = `${rect.left}px`;
77
- this.portalContainer.style.top = `${topPosition}px`;
78
- this.portalContainer.style.width = `${rect.width}px`;
79
- this.portalContainer.style.pointerEvents = 'auto';
80
- // Update placement class for styling
81
- this.portalContainer.className = `${this.portalClassName} select__listbox--${placementClass}`;
82
- }
83
- /**
84
- * Updates portal position (called on window resize/scroll)
85
- */
86
- updatePortalPosition() {
87
- if (this.portalContainer) {
88
- this.positionPortal();
89
- }
90
- }
91
- /**
92
- * Updates portal content (called when content changes)
93
- */
94
- updatePortalContent() {
95
- if (this.portalContainer) {
96
- this.positionPortal();
97
- }
98
- }
99
- /**
100
- * Injects component styles into document head for portal containers
101
- */
102
- injectStylesToDocument() {
103
- if (!this.portalContainer)
104
- return;
105
- // Create a unique identifier for this component instance
106
- const styleId = `nile-portal-styles-${Math.random().toString(36).substr(2, 9)}`;
107
- // Check if styles are already injected
108
- if (document.getElementById(styleId))
109
- return;
110
- // Get the component's styles
111
- const componentStyles = this.component.constructor.styles;
112
- if (!componentStyles)
113
- return;
114
- // Create a style element
115
- const styleElement = document.createElement('style');
116
- styleElement.id = styleId;
117
- styleElement.textContent = this.extractStylesAsCSS(componentStyles);
118
- // Inject into document head
119
- document.head.appendChild(styleElement);
120
- // Store reference for cleanup
121
- this.portalContainer.__injectedStyleId = styleId;
122
- }
123
- /**
124
- * Extracts styles as CSS string from various style formats
125
- */
126
- extractStylesAsCSS(styles) {
127
- if (typeof styles === 'string') {
128
- return styles;
129
- }
130
- if (Array.isArray(styles)) {
131
- return styles.map(style => this.extractStylesAsCSS(style)).join('\n');
132
- }
133
- if (styles && typeof styles === 'object' && styles.cssText) {
134
- return styles.cssText;
135
- }
136
- return '';
137
- }
138
- /**
139
- * Sets up the portal by moving the listbox to document body
140
- */
141
- setupPortal() {
142
- this.component.updateComplete.then(() => {
143
- const listbox = this.component.shadowRoot?.querySelector(this.listboxSelector);
144
- if (listbox) {
145
- this.originalListboxParent = listbox.parentElement;
146
- this.portalContainer = this.createPortalContainer();
147
- this.portalContainer.appendChild(listbox);
148
- document.body.appendChild(this.portalContainer);
149
- // Inject the component's styles to the body append container
150
- this.injectStylesToDocument();
151
- listbox.style.display = '';
152
- this.positionPortal();
153
- }
154
- });
155
- }
156
- /**
157
- * Cleans up the portal by restoring the listbox to its original position
158
- */
159
- cleanupPortal() {
160
- if (this.portalContainer && this.portalContainer.parentNode) {
161
- const listbox = this.portalContainer.querySelector(this.listboxSelector);
162
- if (listbox && this.originalListboxParent) {
163
- this.originalListboxParent.appendChild(listbox);
164
- listbox.style.display = '';
165
- }
166
- // Clean up injected styles if they exist
167
- const injectedStyleId = this.portalContainer.__injectedStyleId;
168
- if (injectedStyleId) {
169
- const styleElement = document.getElementById(injectedStyleId);
170
- if (styleElement) {
171
- styleElement.remove();
172
- }
173
- }
174
- this.portalContainer.parentNode.removeChild(this.portalContainer);
175
- }
176
- this.portalContainer = null;
177
- this.originalListboxParent = null;
178
- this.measuredPopupHeight = null;
179
- }
180
- /**
181
- * Resets the measured height (call when content changes)
182
- */
183
- resetMeasuredHeight() {
184
- this.measuredPopupHeight = null;
185
- }
186
- /**
187
- * Gets the portal container element
188
- */
189
- getPortalContainer() {
190
- return this.portalContainer;
191
- }
192
- /**
193
- * Checks if portal is currently active
194
- */
195
- isPortalActive() {
196
- return this.portalContainer !== null;
197
- }
198
- }
199
- //# sourceMappingURL=portal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"portal.js","sourceRoot":"","sources":["../../../src/internal/portal.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 { LitElement } from 'lit';\n\nexport class PortalManager {\n private component: LitElement;\n private portalContainer: HTMLElement | null = null;\n private originalListboxParent: HTMLElement | null = null;\n private measuredPopupHeight: number | null = null;\n private listboxSelector: string;\n private portalClassName: string;\n\n constructor(component: LitElement, listboxSelector: string = '#listbox', portalClassName: string = 'nile-portal-append') {\n this.component = component;\n this.listboxSelector = listboxSelector;\n this.portalClassName = portalClassName;\n }\n\n /**\n * Creates a portal container with proper styling\n */\n private createPortalContainer(): HTMLElement {\n const container = document.createElement('div');\n container.style.position = 'absolute';\n container.style.zIndex = '9999';\n container.style.pointerEvents = 'none';\n container.className = this.portalClassName;\n \n // Apply additional styling to match the original popup\n container.style.background = 'white';\n container.style.border = '1px solid #e0e0e0';\n container.style.borderRadius = '4px';\n container.style.boxShadow = '0 4px 6px rgba(0, 0, 0, 0.1)';\n container.style.maxHeight = '300px';\n container.style.overflow = 'hidden';\n \n return container;\n }\n\n /**\n * Positions the portal container relative to the component\n */\n private positionPortal(): void {\n if (!this.portalContainer) return;\n\n const rect = this.component.getBoundingClientRect();\n const viewportHeight = window.innerHeight;\n const estimatedPopupHeight = 300; // Fallback estimate\n \n // If this is the first positioning, measure actual height\n if (!this.measuredPopupHeight && this.portalContainer) {\n // Temporarily position the container to measure its height\n this.portalContainer.style.position = 'absolute';\n this.portalContainer.style.visibility = 'hidden';\n this.portalContainer.style.top = '0px';\n this.portalContainer.style.left = '0px';\n \n // Force a reflow to ensure the container is rendered\n this.portalContainer.offsetHeight;\n \n // Measure the actual height\n this.measuredPopupHeight = this.portalContainer.offsetHeight;\n \n // Reset visibility\n this.portalContainer.style.visibility = '';\n }\n \n // Use measured height or fallback to estimate\n const popupHeight = this.measuredPopupHeight || estimatedPopupHeight;\n \n // Calculate available space above and below\n const spaceBelow = viewportHeight - rect.bottom;\n const spaceAbove = rect.top;\n \n let topPosition: number;\n let placementClass: string;\n \n // Smart positioning: flip to top if insufficient space below and more space above\n if (spaceBelow < popupHeight && spaceAbove > spaceBelow) {\n // Open upward\n topPosition = rect.top - popupHeight - 6;\n placementClass = 'top';\n } else {\n // Open downward\n topPosition = rect.bottom + 6;\n placementClass = 'bottom';\n }\n \n // Apply positioning\n this.portalContainer.style.left = `${rect.left}px`;\n this.portalContainer.style.top = `${topPosition}px`;\n this.portalContainer.style.width = `${rect.width}px`;\n this.portalContainer.style.pointerEvents = 'auto';\n \n // Update placement class for styling\n this.portalContainer.className = `${this.portalClassName} select__listbox--${placementClass}`;\n }\n\n /**\n * Updates portal position (called on window resize/scroll)\n */\n updatePortalPosition(): void {\n if (this.portalContainer) {\n this.positionPortal();\n }\n }\n\n /**\n * Updates portal content (called when content changes)\n */\n updatePortalContent(): void {\n if (this.portalContainer) {\n this.positionPortal();\n }\n }\n\n /**\n * Injects component styles into document head for portal containers\n */\n private injectStylesToDocument(): void {\n if (!this.portalContainer) return;\n\n // Create a unique identifier for this component instance\n const styleId = `nile-portal-styles-${Math.random().toString(36).substr(2, 9)}`;\n \n // Check if styles are already injected\n if (document.getElementById(styleId)) return;\n\n // Get the component's styles\n const componentStyles = (this.component.constructor as any).styles;\n if (!componentStyles) return;\n\n // Create a style element\n const styleElement = document.createElement('style');\n styleElement.id = styleId;\n styleElement.textContent = this.extractStylesAsCSS(componentStyles);\n \n // Inject into document head\n document.head.appendChild(styleElement);\n \n // Store reference for cleanup\n (this.portalContainer as any).__injectedStyleId = styleId;\n }\n\n /**\n * Extracts styles as CSS string from various style formats\n */\n private extractStylesAsCSS(styles: any): string {\n if (typeof styles === 'string') {\n return styles;\n }\n \n if (Array.isArray(styles)) {\n return styles.map(style => this.extractStylesAsCSS(style)).join('\\n');\n }\n \n if (styles && typeof styles === 'object' && styles.cssText) {\n return styles.cssText;\n }\n \n return '';\n }\n\n /**\n * Sets up the portal by moving the listbox to document body\n */\n setupPortal(): void {\n this.component.updateComplete.then(() => {\n const listbox = this.component.shadowRoot?.querySelector(this.listboxSelector) as HTMLElement;\n if (listbox) {\n this.originalListboxParent = listbox.parentElement as HTMLElement;\n \n this.portalContainer = this.createPortalContainer();\n this.portalContainer.appendChild(listbox);\n document.body.appendChild(this.portalContainer);\n \n // Inject the component's styles to the body append container\n this.injectStylesToDocument();\n \n listbox.style.display = '';\n this.positionPortal();\n }\n });\n }\n\n /**\n * Cleans up the portal by restoring the listbox to its original position\n */\n cleanupPortal(): void {\n if (this.portalContainer && this.portalContainer.parentNode) {\n const listbox = this.portalContainer.querySelector(this.listboxSelector) as HTMLElement;\n \n if (listbox && this.originalListboxParent) {\n this.originalListboxParent.appendChild(listbox);\n listbox.style.display = '';\n }\n \n // Clean up injected styles if they exist\n const injectedStyleId = (this.portalContainer as any).__injectedStyleId;\n if (injectedStyleId) {\n const styleElement = document.getElementById(injectedStyleId);\n if (styleElement) {\n styleElement.remove();\n }\n }\n \n this.portalContainer.parentNode.removeChild(this.portalContainer);\n }\n this.portalContainer = null;\n this.originalListboxParent = null;\n this.measuredPopupHeight = null;\n }\n\n /**\n * Resets the measured height (call when content changes)\n */\n resetMeasuredHeight(): void {\n this.measuredPopupHeight = null;\n }\n\n /**\n * Gets the portal container element\n */\n getPortalContainer(): HTMLElement | null {\n return this.portalContainer;\n }\n\n /**\n * Checks if portal is currently active\n */\n isPortalActive(): boolean {\n return this.portalContainer !== null;\n }\n}\n"]}
@@ -1,59 +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
- /**
8
- * Resizable Helper Utility
9
- * Provides common functionality for resizable table columns
10
- */
11
- export interface ResizeOptions {
12
- minWidth?: number;
13
- startX: number;
14
- startWidth: number;
15
- element: HTMLElement;
16
- }
17
- export interface ColumnResizeData {
18
- columnIndex: number;
19
- newWidth: number;
20
- }
21
- /**
22
- * Handles the start of a resize operation
23
- * @param e Mouse event
24
- * @param options Resize configuration options
25
- * @returns Cleanup function to remove event listeners
26
- */
27
- export declare function handleResizeStart(e: MouseEvent, options: ResizeOptions): () => void;
28
- /**
29
- * Gets the column index of an element within its table row
30
- * @param element The table cell or header element
31
- * @param selector The CSS selector for the column elements
32
- * @returns Column index (0-based)
33
- */
34
- export declare function getColumnIndex(element: HTMLElement, selector: string): number;
35
- /**
36
- * Synchronizes the width of all cells in the same column
37
- * @param sourceElement The element that was resized
38
- * @param newWidth The new width to apply
39
- */
40
- export declare function synchronizeColumnWidth(sourceElement: HTMLElement, newWidth: number): void;
41
- /**
42
- * Checks if an element has the resizable attribute
43
- * @param element The element to check
44
- * @returns True if the element is resizable
45
- */
46
- export declare function isResizable(element: HTMLElement): boolean;
47
- /**
48
- * Creates a resize handler function for use in component event listeners
49
- * @param element The element to make resizable
50
- * @param minWidth Minimum width constraint
51
- * @returns Event handler function
52
- */
53
- export declare function createResizeHandler(element: HTMLElement, minWidth?: number): (e: MouseEvent) => void;
54
- /**
55
- * Detects if any columns in a table are resizable
56
- * @param tableBody The table body element
57
- * @returns True if any columns have resizable attribute
58
- */
59
- export declare function hasResizableColumns(tableBody: HTMLElement): boolean;
@@ -1,115 +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
- /**
8
- * Handles the start of a resize operation
9
- * @param e Mouse event
10
- * @param options Resize configuration options
11
- * @returns Cleanup function to remove event listeners
12
- */
13
- export function handleResizeStart(e, options) {
14
- e.preventDefault();
15
- e.stopPropagation();
16
- const { minWidth = 50, startX, startWidth, element } = options;
17
- const resizer = e.target;
18
- // Add resizing class for visual feedback
19
- resizer.classList.add('resizing');
20
- const onMouseMove = (e) => {
21
- e.preventDefault();
22
- e.stopPropagation();
23
- const delta = e.pageX - startX;
24
- const newWidth = Math.max(minWidth, startWidth + delta);
25
- // Apply width to the current element
26
- element.style.width = newWidth + 'px';
27
- // Synchronize width across all cells in the same column
28
- synchronizeColumnWidth(element, newWidth);
29
- };
30
- const onMouseUp = () => {
31
- resizer.classList.remove('resizing');
32
- document.removeEventListener('mousemove', onMouseMove);
33
- document.removeEventListener('mouseup', onMouseUp);
34
- };
35
- document.addEventListener('mousemove', onMouseMove);
36
- document.addEventListener('mouseup', onMouseUp);
37
- // Return cleanup function
38
- return () => {
39
- document.removeEventListener('mousemove', onMouseMove);
40
- document.removeEventListener('mouseup', onMouseUp);
41
- };
42
- }
43
- /**
44
- * Gets the column index of an element within its table row
45
- * @param element The table cell or header element
46
- * @param selector The CSS selector for the column elements
47
- * @returns Column index (0-based)
48
- */
49
- export function getColumnIndex(element, selector) {
50
- const tableRow = element.closest('nile-table-row');
51
- if (tableRow) {
52
- const columns = tableRow.querySelectorAll(selector);
53
- return Array.from(columns).indexOf(element);
54
- }
55
- return 0;
56
- }
57
- /**
58
- * Synchronizes the width of all cells in the same column
59
- * @param sourceElement The element that was resized
60
- * @param newWidth The new width to apply
61
- */
62
- export function synchronizeColumnWidth(sourceElement, newWidth) {
63
- const tableBody = sourceElement.closest('nile-table-body');
64
- if (!tableBody)
65
- return;
66
- const isHeader = sourceElement.tagName.toLowerCase() === 'nile-table-header-item';
67
- const selector = isHeader ? 'nile-table-header-item' : 'nile-table-cell-item';
68
- const targetSelector = isHeader ? 'nile-table-cell-item' : 'nile-table-cell-item';
69
- const columnIndex = getColumnIndex(sourceElement, selector);
70
- const rows = tableBody.querySelectorAll('nile-table-row');
71
- rows.forEach(row => {
72
- const cells = row.querySelectorAll(targetSelector);
73
- if (cells[columnIndex]) {
74
- cells[columnIndex].style.width = newWidth + 'px';
75
- }
76
- });
77
- }
78
- /**
79
- * Checks if an element has the resizable attribute
80
- * @param element The element to check
81
- * @returns True if the element is resizable
82
- */
83
- export function isResizable(element) {
84
- return element.hasAttribute('resizable');
85
- }
86
- /**
87
- * Creates a resize handler function for use in component event listeners
88
- * @param element The element to make resizable
89
- * @param minWidth Minimum width constraint
90
- * @returns Event handler function
91
- */
92
- export function createResizeHandler(element, minWidth = 50) {
93
- return (e) => {
94
- const options = {
95
- minWidth,
96
- startX: e.pageX,
97
- startWidth: element.offsetWidth,
98
- element
99
- };
100
- handleResizeStart(e, options);
101
- };
102
- }
103
- /**
104
- * Detects if any columns in a table are resizable
105
- * @param tableBody The table body element
106
- * @returns True if any columns have resizable attribute
107
- */
108
- export function hasResizableColumns(tableBody) {
109
- const headerItems = tableBody.querySelectorAll('nile-table-header-item');
110
- const cellItems = tableBody.querySelectorAll('nile-table-cell-item');
111
- const hasResizableHeaders = Array.from(headerItems).some(item => isResizable(item));
112
- const hasResizableCells = Array.from(cellItems).some(item => isResizable(item));
113
- return hasResizableHeaders || hasResizableCells;
114
- }
115
- //# sourceMappingURL=resizable-helper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resizable-helper.js","sourceRoot":"","sources":["../../../src/internal/resizable-helper.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\n/**\n * Resizable Helper Utility\n * Provides common functionality for resizable table columns\n */\n\nexport interface ResizeOptions {\n minWidth?: number;\n startX: number;\n startWidth: number;\n element: HTMLElement;\n}\n\nexport interface ColumnResizeData {\n columnIndex: number;\n newWidth: number;\n}\n\n/**\n * Handles the start of a resize operation\n * @param e Mouse event\n * @param options Resize configuration options\n * @returns Cleanup function to remove event listeners\n */\nexport function handleResizeStart(e: MouseEvent, options: ResizeOptions): () => void {\n e.preventDefault();\n e.stopPropagation();\n \n const { minWidth = 50, startX, startWidth, element } = options;\n const resizer = e.target as HTMLElement;\n \n // Add resizing class for visual feedback\n resizer.classList.add('resizing');\n\n const onMouseMove = (e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n \n const delta = e.pageX - startX;\n const newWidth = Math.max(minWidth, startWidth + delta);\n\n // Apply width to the current element\n element.style.width = newWidth + 'px';\n\n // Synchronize width across all cells in the same column\n synchronizeColumnWidth(element, newWidth);\n };\n\n const onMouseUp = () => {\n resizer.classList.remove('resizing');\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n };\n\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', onMouseUp);\n\n // Return cleanup function\n return () => {\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n };\n}\n\n/**\n * Gets the column index of an element within its table row\n * @param element The table cell or header element\n * @param selector The CSS selector for the column elements\n * @returns Column index (0-based)\n */\nexport function getColumnIndex(element: HTMLElement, selector: string): number {\n const tableRow = element.closest('nile-table-row');\n if (tableRow) {\n const columns = tableRow.querySelectorAll(selector);\n return Array.from(columns).indexOf(element);\n }\n return 0;\n}\n\n/**\n * Synchronizes the width of all cells in the same column\n * @param sourceElement The element that was resized\n * @param newWidth The new width to apply\n */\nexport function synchronizeColumnWidth(sourceElement: HTMLElement, newWidth: number): void {\n const tableBody = sourceElement.closest('nile-table-body');\n if (!tableBody) return;\n\n const isHeader = sourceElement.tagName.toLowerCase() === 'nile-table-header-item';\n const selector = isHeader ? 'nile-table-header-item' : 'nile-table-cell-item';\n const targetSelector = isHeader ? 'nile-table-cell-item' : 'nile-table-cell-item';\n \n const columnIndex = getColumnIndex(sourceElement, selector);\n const rows = tableBody.querySelectorAll('nile-table-row');\n \n rows.forEach(row => {\n const cells = row.querySelectorAll(targetSelector);\n if (cells[columnIndex]) {\n cells[columnIndex].style.width = newWidth + 'px';\n }\n });\n}\n\n/**\n * Checks if an element has the resizable attribute\n * @param element The element to check\n * @returns True if the element is resizable\n */\nexport function isResizable(element: HTMLElement): boolean {\n return element.hasAttribute('resizable');\n}\n\n/**\n * Creates a resize handler function for use in component event listeners\n * @param element The element to make resizable\n * @param minWidth Minimum width constraint\n * @returns Event handler function\n */\nexport function createResizeHandler(element: HTMLElement, minWidth: number = 50): (e: MouseEvent) => void {\n return (e: MouseEvent) => {\n const options: ResizeOptions = {\n minWidth,\n startX: e.pageX,\n startWidth: element.offsetWidth,\n element\n };\n \n handleResizeStart(e, options);\n };\n}\n\n/**\n * Detects if any columns in a table are resizable\n * @param tableBody The table body element\n * @returns True if any columns have resizable attribute\n */\nexport function hasResizableColumns(tableBody: HTMLElement): boolean {\n const headerItems = tableBody.querySelectorAll('nile-table-header-item');\n const cellItems = tableBody.querySelectorAll('nile-table-cell-item');\n \n const hasResizableHeaders = Array.from(headerItems).some(item => \n isResizable(item)\n );\n const hasResizableCells = Array.from(cellItems).some(item => \n isResizable(item)\n );\n \n return hasResizableHeaders || hasResizableCells;\n} \n"]}
@@ -1,16 +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
- /**
8
- * Resizable Styles Utility
9
- * Centralized styles for resizable table functionality
10
- */
11
- export declare const resizableHostStyles: import("lit").CSSResult;
12
- export declare const resizableHeaderStyles: import("lit").CSSResult;
13
- export declare const resizerStyles: import("lit").CSSResult;
14
- export declare const headerResizerStyles: import("lit").CSSResult;
15
- export declare const resizableSlotStyles: import("lit").CSSResult;
16
- export declare const tableLayoutStyles: import("lit").CSSResult;
@@ -1,144 +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 { css } from 'lit';
8
- /**
9
- * Resizable Styles Utility
10
- * Centralized styles for resizable table functionality
11
- */
12
- export const resizableHostStyles = css `
13
- /* Resizable-specific host styles */
14
- :host([resizable]) {
15
- position: relative;
16
- overflow: hidden;
17
- table-layout: fixed;
18
- }
19
- `;
20
- export const resizableHeaderStyles = css `
21
- /* Resizable-specific header styles */
22
- :host([resizable]) {
23
- position: relative;
24
- border-right: 1px solid var(--nile-colors-neutral-400);
25
- }
26
-
27
- /* Resizable-specific wrapper styles */
28
- :host([resizable]) .header__item__wrapper {
29
- position: relative;
30
- }
31
- `;
32
- export const resizerStyles = css `
33
- /* Resizer styles - only apply when resizable */
34
- .resizer {
35
- position: absolute;
36
- right: 0;
37
- top: -1000px;
38
- bottom: -1000px;
39
- width: 8px;
40
- cursor: col-resize;
41
- user-select: none;
42
- background-color: var(--nile-colors-neutral-100);
43
- transition: background-color 0.2s;
44
- z-index: 10;
45
- opacity: 0;
46
- transition: opacity 0.2s ease;
47
- pointer-events: none;
48
- }
49
-
50
- :host([resizable]):hover .resizer {
51
- opacity: 1;
52
- pointer-events: auto;
53
- }
54
-
55
- .resizer::before {
56
- content: '';
57
- position: absolute;
58
- right: 3px;
59
- top: 0;
60
- width: 2px;
61
- height: 100%;
62
- background-color: var(--nile-colors-neutral-500);
63
- opacity: 0.8;
64
- }
65
-
66
- .resizer:hover {
67
- background-color: var(--nile-colors-neutral-400);
68
- }
69
-
70
- .resizer:hover::before {
71
- background-color: var(--nile-colors-neutral-700);
72
- opacity: 1;
73
- }
74
-
75
- .resizer.resizing {
76
- background-color: var(--nile-colors-neutral-400);
77
- opacity: 1;
78
- pointer-events: auto;
79
- }
80
-
81
- .resizer.resizing::before {
82
- background-color: var(--nile-colors-neutral-700);
83
- opacity: 1;
84
- width: 3px;
85
- }
86
- `;
87
- export const headerResizerStyles = css `
88
- /* Header resizer styles */
89
- .resizer {
90
- position: absolute;
91
- right: -2px;
92
- top: -1000px;
93
- bottom: -1000px;
94
- width: 8px;
95
- cursor: ew-resize;
96
- user-select: none;
97
- transition: background-color 0.2s;
98
- z-index: 10;
99
- opacity: 0;
100
- transition: opacity 0.2s ease;
101
- }
102
-
103
- :host([resizable]):hover .resizer {
104
- opacity: 1;
105
- }
106
-
107
- .resizer::before {
108
- content: '';
109
- position: absolute;
110
- height: 100%;
111
- opacity: 0.8;
112
- }
113
-
114
- .resizer.resizing {
115
- border-right: 4px double var(--nile-colors-neutral-400);
116
- background-color: transparent;
117
- opacity: 1;
118
- }
119
- `;
120
- export const resizableSlotStyles = css `
121
- /* Slot styles for resizable mode */
122
- :host([resizable]) ::slotted(*) {
123
- overflow: hidden;
124
- text-overflow: ellipsis;
125
- white-space: nowrap;
126
- display: block;
127
- }
128
-
129
- :host([resizable]) ::slotted(span),
130
- :host([resizable]) ::slotted(div),
131
- :host([resizable]) ::slotted(p) {
132
- overflow: hidden;
133
- text-overflow: ellipsis;
134
- white-space: nowrap;
135
- display: block;
136
- }
137
- `;
138
- export const tableLayoutStyles = css `
139
- /* Apply fixed table layout only when resizable columns are present */
140
- .nile__table__body[resizable] {
141
- table-layout: fixed;
142
- }
143
- `;
144
- //# sourceMappingURL=resizable-styles.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resizable-styles.js","sourceRoot":"","sources":["../../../src/internal/resizable-styles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;;GAGG;AAEH,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAA;;;;;;;CAOrC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAA;;;;;;;;;;;CAWvC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsD/B,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgCrC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;CAiBrC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,GAAG,CAAA;;;;;CAKnC,CAAC","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 { css } from 'lit';\n\n/**\n * Resizable Styles Utility\n * Centralized styles for resizable table functionality\n */\n\nexport const resizableHostStyles = css`\n /* Resizable-specific host styles */\n :host([resizable]) {\n position: relative;\n overflow: hidden;\n table-layout: fixed;\n }\n`;\n\nexport const resizableHeaderStyles = css`\n /* Resizable-specific header styles */\n :host([resizable]) {\n position: relative;\n border-right: 1px solid var(--nile-colors-neutral-400);\n }\n\n /* Resizable-specific wrapper styles */\n :host([resizable]) .header__item__wrapper {\n position: relative;\n }\n`;\n\nexport const resizerStyles = css`\n /* Resizer styles - only apply when resizable */\n .resizer {\n position: absolute;\n right: 0;\n top: -1000px;\n bottom: -1000px;\n width: 8px;\n cursor: col-resize;\n user-select: none;\n background-color: var(--nile-colors-neutral-100);\n transition: background-color 0.2s;\n z-index: 10;\n opacity: 0;\n transition: opacity 0.2s ease;\n pointer-events: none;\n }\n\n :host([resizable]):hover .resizer {\n opacity: 1;\n pointer-events: auto;\n }\n\n .resizer::before {\n content: '';\n position: absolute;\n right: 3px;\n top: 0;\n width: 2px;\n height: 100%;\n background-color: var(--nile-colors-neutral-500);\n opacity: 0.8;\n }\n\n .resizer:hover {\n background-color: var(--nile-colors-neutral-400);\n }\n\n .resizer:hover::before {\n background-color: var(--nile-colors-neutral-700);\n opacity: 1;\n }\n\n .resizer.resizing {\n background-color: var(--nile-colors-neutral-400);\n opacity: 1;\n pointer-events: auto;\n }\n\n .resizer.resizing::before {\n background-color: var(--nile-colors-neutral-700);\n opacity: 1;\n width: 3px;\n }\n`;\n\nexport const headerResizerStyles = css`\n /* Header resizer styles */\n .resizer {\n position: absolute;\n right: -2px;\n top: -1000px;\n bottom: -1000px;\n width: 8px;\n cursor: ew-resize;\n user-select: none;\n transition: background-color 0.2s;\n z-index: 10;\n opacity: 0;\n transition: opacity 0.2s ease;\n }\n\n :host([resizable]):hover .resizer {\n opacity: 1;\n }\n\n .resizer::before {\n content: '';\n position: absolute;\n height: 100%;\n opacity: 0.8;\n }\n\n .resizer.resizing {\n border-right: 4px double var(--nile-colors-neutral-400);\n background-color: transparent;\n opacity: 1;\n }\n`;\n\nexport const resizableSlotStyles = css`\n /* Slot styles for resizable mode */\n :host([resizable]) ::slotted(*) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: block;\n }\n\n :host([resizable]) ::slotted(span),\n :host([resizable]) ::slotted(div),\n :host([resizable]) ::slotted(p) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n display: block;\n }\n`;\n\nexport const tableLayoutStyles = css`\n /* Apply fixed table layout only when resizable columns are present */\n .nile__table__body[resizable] {\n table-layout: fixed;\n }\n`; \n"]}
@@ -1,30 +0,0 @@
1
- /**
2
- * Copyright Aquera Inc 2025
3
- *
4
- * This source code is licensed under the BSD-3-Clause license found in the
5
- * LICENSE file in the root directory of this source tree.
6
- */
7
- /**
8
- * Error handler specifically for virtualizer DOM manipulation errors
9
- * Catches and ignores common virtualizer errors that occur during rapid updates
10
- */
11
- export declare class VirtualizerErrorHandler {
12
- private static isSetup;
13
- private static originalConsoleError;
14
- /**
15
- * Sets up global error handling for virtualizer errors
16
- * This should be called once during application initialization
17
- */
18
- static setup(): void;
19
- /**
20
- * Restores original error handling
21
- */
22
- static teardown(): void;
23
- /**
24
- * Checks if an error is a virtualizer DOM manipulation error that should be ignored
25
- */
26
- static isVirtualizerError(error: any): boolean;
27
- private static setupConsoleErrorHandler;
28
- private static setupUnhandledErrorHandler;
29
- private static setupUnhandledRejectionHandler;
30
- }