@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 +1 @@
1
- {"version":3,"file":"nile-lite-tooltip.js","sourceRoot":"","sources":["../../../src/nile-lite-tooltip/nile-lite-tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import { customElement, property } from 'lit/decorators.js';\nimport { CSSResultArray, PropertyValues } from 'lit';\nimport { styles } from './nile-lite-tooltip.css';\nimport NileElement from '../internal/nile-element';\nimport tippy, {\n Instance,\n Props,\n followCursor,\n roundArrow,\n createSingleton,\n} from 'tippy.js';\nimport { parseFollowCursor, parseDuration, } from './utils';\n\n/**\n * Nile lite-tooltip component.\n *\n * Supports wrapper, sibling (for), and singleton modes.\n * Aligns with Tippy.js props and Nile design system.\n *\n * @tag nile-lite-tooltip\n */\n@customElement('nile-lite-tooltip')\nexport class NileliteTooltip extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n protected createRenderRoot() {\n return this; // lite DOM\n }\n\n // ───────────── Props ─────────────\n /** ID of the target element (for sibling mode) */\n @property({ type: String, attribute: 'for' }) for: string | null = null;\n\n /** Tooltip content text or HTML */\n @property({ type: String, reflect: true }) content = '';\n\n /** Tooltip size (applies CSS class) */\n @property({ type: String, reflect: true }) size: 'small' | 'large' = 'small';\n\n /** Animation duration for show/hide (ms). Can be a single value or [show, hide]. */\n @property({ type: String, reflect: true }) duration:\n | string\n | number\n | [number, number] = 200;\n\n /** Interactive mode */\n @property({ type: Boolean, reflect: true }) interactive = false;\n\n /** Placement of the tooltip */\n @property({ type: String })\n placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end'\n | 'auto'\n | 'auto-start'\n | 'auto-end' = 'top';\n\n @property({ type: Boolean }) disabled = false;\n\n @property({ type: Number }) distance = 8;\n\n @property({ type: Number }) skidding = 0;\n\n @property({ type: Boolean, reflect: true }) open = false;\n\n @property({ type: String }) trigger: Props['trigger'] = 'mouseenter focus';\n\n @property({ type: Boolean, reflect: true }) allowHTML = false;\n\n @property({ type: String, reflect: true, attribute: true })\n followCursor:\n | boolean\n | 'initial'\n | 'horizontal'\n | 'vertical'\n | 'true'\n | 'false' = false;\n\n @property({ type: String, reflect: true, attribute: true })\n arrow: 'default' | 'round' | 'large' | 'small' | 'wide' | 'narrow' | 'none' =\n 'default';\n\n @property({ type: Boolean, reflect: true }) singleton = false;\n\n @property({ type: Boolean, reflect: true }) enableRecursiveMode = false;\n\n\n /** Not added in Doc */\n\n @property({ type: String, reflect: true }) delay:\n | number\n | [number, number] = 0;\n\n @property({ type: String, reflect: true }) maxWidth: string | number = 'auto';\n\n @property({ type: Number }) zIndex = 9999;\n\n @property({ type: [Boolean, String], reflect: true }) hideOnClick:\n | boolean\n | 'toggle' = true;\n\n @property({ type: Boolean, reflect: true }) inertia = false;\n\n @property({ type: Number }) interactiveBorder = 2;\n\n private tooltipInstances?: Instance[];\n private singleInstance?: Instance;\n private singletonInstance?: Instance;\n private targetEl?: HTMLElement | null;\n private generatedId?: string;\n private prevDescribedby?: string | null;\n\n constructor() {\n super();\n }\n\n firstUpdated(): void {\n this.attachTooltip();\n }\n\n public refresh() {\n this.attachTooltip();\n }\n \n\n private attachTooltip(): void {\n this.destroyTooltips();\n if (this.disabled) return;\n\n const options: Partial<Props> = {\n content:\n this.content || this.getAttribute('data-tippy-content') || undefined,\n placement: this.placement,\n trigger: this.trigger,\n offset: [this.skidding, this.distance],\n theme: 'lite',\n animation: 'fade',\n interactive: this.interactive,\n arrow: roundArrow,\n duration: parseDuration(this.duration),\n allowHTML: this.allowHTML,\n delay: this.delay,\n maxWidth: this.maxWidth,\n zIndex: this.zIndex,\n hideOnClick: false,\n inertia: this.inertia,\n interactiveBorder: this.interactiveBorder,\n appendTo: document.body,\n followCursor: parseFollowCursor(this.followCursor),\n plugins: parseFollowCursor(this.followCursor) ? [followCursor] : [],\n onShow: instance => {\n this.open = true;\n this.dispatchEvent(\n new CustomEvent('nile-show', {\n detail: { instance, target: instance.reference },\n })\n );\n this.dispatchEvent(\n new CustomEvent('nile-toggle', {\n detail: { open: true, instance, target: instance.reference },\n })\n );\n return undefined;\n },\n onHide: instance => {\n this.open = false;\n this.dispatchEvent(\n new CustomEvent('nile-hide', {\n detail: { instance, target: instance.reference },\n })\n );\n this.dispatchEvent(\n new CustomEvent('nile-toggle', {\n detail: { open: false, instance, target: instance.reference },\n })\n );\n return undefined;\n },\n };\n if (this.for) {\n if (this.singleton && !this.for.startsWith('#') && !document.getElementById(this.for)) {\n const targetEls = Array.from(document.querySelectorAll(`.${this.for}`));\n if (targetEls.length > 0) {\n this.tooltipInstances = targetEls.map(el => {\n const instance = tippy(el as HTMLElement, {\n ...options,\n content: el.getAttribute('content') || this.content,\n });\n instance.popper.querySelector('.tippy-box')?.classList.add(this.size);\n return instance;\n });\n \n this.singletonInstance = createSingleton(this.tooltipInstances, {\n delay: [75, 0],\n arrow: roundArrow,\n moveTransition: 'transform 0.15s ease-out',\n });\n \n if (this.open) queueMicrotask(() => this.singletonInstance?.show());\n return;\n }\n }\n \n const containerEl = document.getElementById(this.for);\n if (this.singleton && containerEl) {\n const childEls = Array.from(containerEl.querySelectorAll('[content]'));\n if (childEls.length > 0) {\n this.tooltipInstances = childEls.map(el => {\n const instance = tippy(el as HTMLElement, {\n ...options,\n content: el.getAttribute('content') || this.content,\n });\n instance.popper.querySelector('.tippy-box')?.classList.add(this.size);\n return instance;\n });\n \n this.singletonInstance = createSingleton(this.tooltipInstances, {\n delay: [75, 0],\n arrow: roundArrow,\n moveTransition: 'transform 0.15s ease-out',\n });\n \n if (this.open) queueMicrotask(() => this.singletonInstance?.show());\n return;\n }\n }\n \n this.targetEl = document.getElementById(this.for);\n if (!this.targetEl) return;\n\n if (!this.id) {\n this.generatedId = `nile-tooltip-${Math.random()\n .toString(36)\n .slice(2, 9)}`;\n this.id = this.generatedId;\n }\n\n this.prevDescribedby = this.targetEl.getAttribute('aria-describedby');\n const describedby = this.prevDescribedby\n ? `${this.prevDescribedby} ${this.id}`\n : this.id;\n this.targetEl.setAttribute('aria-describedby', describedby);\n\n this.singleInstance = tippy(this.targetEl, options);\n if (this.size)\n this.singleInstance.popper\n .querySelector('.tippy-box')\n ?.classList.add(this.size);\n if (this.open) {\n queueMicrotask(() => this.singleInstance?.show());\n }\n return;\n }\n \n\nif (this.enableRecursiveMode) {\n const children = Array.from(this.querySelectorAll('*'));\n if (children.length > 0) {\n this.tooltipInstances = children.map(child => {\n const el = child as HTMLElement;\n const localContent = el.getAttribute('content') || this.content;\n const instance = tippy(el, { ...options, content: localContent });\n instance.popper.querySelector('.tippy-box')?.classList.add(this.size);\n return instance;\n });\n\n if (this.singleton && this.tooltipInstances.length > 1) {\n this.singletonInstance = createSingleton(this.tooltipInstances, {\n delay: [75, 0],\n arrow: roundArrow,\n moveTransition: 'transform 0.15s ease-out',\n });\n }\n\n if (this.open) {\n if (this.singletonInstance) this.singletonInstance.show();\n else this.tooltipInstances.forEach(t => t.show());\n }\n }\n\n} else {\n const firstChild = this.firstElementChild as HTMLElement | null;\n\n if (firstChild) {\n const localContent = firstChild.getAttribute('content') || this.content;\n const instance = tippy(firstChild, { ...options, content: localContent });\n instance.popper.querySelector('.tippy-box')?.classList.add(this.size);\n\n this.tooltipInstances = [instance];\n\n if (this.open) {\n instance.show();\n }\n }\n} \n }\n \n\n private destroyTooltips(): void {\n this.tooltipInstances?.forEach(t => t.destroy());\n this.singleInstance?.destroy();\n this.singletonInstance?.destroy();\n\n this.tooltipInstances = undefined;\n this.singleInstance = undefined;\n this.singletonInstance = undefined;\n\n if (this.targetEl && this.id) {\n const current = this.targetEl\n .getAttribute('aria-describedby')\n ?.split(' ')\n .filter(id => id !== this.id)\n .join(' ')\n .trim();\n if (current) {\n this.targetEl.setAttribute('aria-describedby', current);\n } else {\n this.targetEl.removeAttribute('aria-describedby');\n }\n }\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.destroyTooltips();\n }\n\n updated(changed: PropertyValues): void {\n super.updated(changed);\n\n if (\n [\n 'for',\n 'content',\n 'placement',\n 'distance',\n 'skidding',\n 'trigger',\n 'disabled',\n 'hoist',\n 'size',\n 'arrow',\n 'singleton',\n ].some(p => changed.has(p))\n ) {\n this.attachTooltip();\n }\n\n if (changed.has('open')) {\n if (this.open) {\n this.singleInstance?.show();\n this.singletonInstance?.show();\n this.tooltipInstances?.forEach(t => t.show());\n } else {\n this.singleInstance?.hide();\n this.singletonInstance?.hide();\n this.tooltipInstances?.forEach(t => t.hide());\n }\n }\n }\n}\n\nexport default NileliteTooltip;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-lite-tooltip': NileliteTooltip;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-lite-tooltip.js","sourceRoot":"","sources":["../../../src/nile-lite-tooltip/nile-lite-tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import { customElement, property } from 'lit/decorators.js';\nimport { CSSResultArray, PropertyValues } from 'lit';\nimport { styles } from './nile-lite-tooltip.css';\nimport NileElement from '../internal/nile-element';\nimport tippy, {\n Instance,\n Props,\n followCursor,\n roundArrow,\n createSingleton,\n} from 'tippy.js';\nimport { parseFollowCursor, parseDuration, } from './utils';\nimport { VisibilityManager } from '../utilities/visibility-manager.js';\n\n\n/**\n * Nile lite-tooltip component.\n *\n * Supports wrapper, sibling (for), and singleton modes.\n * Aligns with Tippy.js props and Nile design system.\n *\n * @tag nile-lite-tooltip\n */\n@customElement('nile-lite-tooltip')\nexport class NileliteTooltip extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n protected createRenderRoot() {\n return this; // lite DOM\n }\n\n // ───────────── Props ─────────────\n /** ID of the target element (for sibling mode) */\n @property({ type: String, attribute: 'for' }) for: string | null = null;\n\n /** Tooltip content text or HTML */\n @property({ type: String, reflect: true }) content = '';\n\n /** Tooltip size (applies CSS class) */\n @property({ type: String, reflect: true }) size: 'small' | 'large' = 'small';\n\n /** Animation duration for show/hide (ms). Can be a single value or [show, hide]. */\n @property({ type: String, reflect: true }) duration:\n | string\n | number\n | [number, number] = 200;\n\n /** Interactive mode */\n @property({ type: Boolean, reflect: true }) interactive = false;\n\n /** Placement of the tooltip */\n @property({ type: String })\n placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end'\n | 'auto'\n | 'auto-start'\n | 'auto-end' = 'top';\n\n @property({ type: Boolean }) disabled = false;\n\n @property({ type: Number }) distance = 8;\n\n @property({ type: Number }) skidding = 0;\n\n @property({ type: Boolean, reflect: true }) open = false;\n\n @property({ type: String }) trigger: Props['trigger'] = 'mouseenter focus';\n\n @property({ type: Boolean, reflect: true }) allowHTML = false;\n\n @property({ type: String, reflect: true, attribute: true })\n followCursor:\n | boolean\n | 'initial'\n | 'horizontal'\n | 'vertical'\n | 'true'\n | 'false' = false;\n\n @property({ type: String, reflect: true, attribute: true })\n arrow: 'default' | 'round' | 'large' | 'small' | 'wide' | 'narrow' | 'none' =\n 'default';\n\n @property({ type: Boolean, reflect: true }) singleton = false;\n\n @property({ type: Boolean, reflect: true }) enableRecursiveMode = false;\n\n\n /** Not added in Doc */\n\n @property({ type: String, reflect: true }) delay:\n | number\n | [number, number] = 0;\n\n @property({ type: String, reflect: true }) maxWidth: string | number = 'auto';\n\n @property({ type: Number }) zIndex = 9999;\n\n @property({ type: [Boolean, String], reflect: true }) hideOnClick:\n | boolean\n | 'toggle' = true;\n\n @property({ type: Boolean, reflect: true }) inertia = false;\n\n @property({ type: Number }) interactiveBorder = 2;\n\n private visibilityManager?: VisibilityManager;\n\n @property({ type: Boolean, reflect: true }) enableVisibilityEffect = false;\n \n @property({ type: Boolean, reflect: true }) enableTabClose = false;\n\n\n\n private tooltipInstances?: Instance[];\n private singleInstance?: Instance;\n private singletonInstance?: Instance;\n private targetEl?: HTMLElement | null;\n private generatedId?: string;\n private prevDescribedby?: string | null;\n\n constructor() {\n super();\n }\n\n protected firstUpdated(): void {\n this.attachTooltip();\n \n // Get the target element (either 'for' reference or first child)\n const targetEl =\n (this.for && document.getElementById(this.for)) ||\n (this.firstElementChild as HTMLElement | null);\n \n this.visibilityManager = new VisibilityManager({\n host: this,\n target: targetEl,\n enableVisibilityEffect: this.enableVisibilityEffect,\n enableTabClose: this.enableTabClose,\n isOpen: () => this.open,\n onAnchorOutOfView: () => {\n this.open = false;\n this.hideAllTooltips();\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'anchor-out-of-view',\n });\n },\n onDocumentHidden: () => {\n this.open = false;\n this.hideAllTooltips();\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'document-hidden',\n });\n },\n emit: (event, detail) => this.emit(`nile-${event}`, detail),\n });\n }\n \n\n public refresh() {\n this.attachTooltip();\n }\n \n\n private attachTooltip(): void {\n this.destroyTooltips();\n if (this.disabled) return;\n\n const options: Partial<Props> = {\n content:\n this.content || this.getAttribute('data-tippy-content') || undefined,\n placement: this.placement,\n trigger: this.trigger,\n offset: [this.skidding, this.distance],\n theme: 'lite',\n animation: 'fade',\n interactive: this.interactive,\n arrow: roundArrow,\n duration: parseDuration(this.duration),\n allowHTML: this.allowHTML,\n delay: this.delay,\n maxWidth: this.maxWidth,\n zIndex: this.zIndex,\n hideOnClick: false,\n inertia: this.inertia,\n interactiveBorder: this.interactiveBorder,\n appendTo: document.body,\n followCursor: parseFollowCursor(this.followCursor),\n plugins: parseFollowCursor(this.followCursor) ? [followCursor] : [],\n onShow: instance => {\n this.open = true;\n this.dispatchEvent(\n new CustomEvent('nile-show', {\n detail: { instance, target: instance.reference },\n })\n );\n this.dispatchEvent(\n new CustomEvent('nile-toggle', {\n detail: { open: true, instance, target: instance.reference },\n })\n );\n return undefined;\n },\n onHide: instance => {\n this.open = false;\n this.dispatchEvent(\n new CustomEvent('nile-hide', {\n detail: { instance, target: instance.reference },\n })\n );\n this.dispatchEvent(\n new CustomEvent('nile-toggle', {\n detail: { open: false, instance, target: instance.reference },\n })\n );\n return undefined;\n },\n };\n if (this.for) {\n if (this.singleton && !this.for.startsWith('#') && !document.getElementById(this.for)) {\n const targetEls = Array.from(document.querySelectorAll(`.${this.for}`));\n if (targetEls.length > 0) {\n this.tooltipInstances = targetEls.map(el => {\n const instance = tippy(el as HTMLElement, {\n ...options,\n content: el.getAttribute('content') || this.content,\n });\n instance.popper.querySelector('.tippy-box')?.classList.add(this.size);\n return instance;\n });\n \n this.singletonInstance = createSingleton(this.tooltipInstances, {\n delay: [75, 0],\n arrow: roundArrow,\n moveTransition: 'transform 0.15s ease-out',\n });\n \n if (this.open) queueMicrotask(() => this.singletonInstance?.show());\n return;\n }\n }\n \n const containerEl = document.getElementById(this.for);\n if (this.singleton && containerEl) {\n const childEls = Array.from(containerEl.querySelectorAll('[content]'));\n if (childEls.length > 0) {\n this.tooltipInstances = childEls.map(el => {\n const instance = tippy(el as HTMLElement, {\n ...options,\n content: el.getAttribute('content') || this.content,\n });\n instance.popper.querySelector('.tippy-box')?.classList.add(this.size);\n return instance;\n });\n \n this.singletonInstance = createSingleton(this.tooltipInstances, {\n delay: [75, 0],\n arrow: roundArrow,\n moveTransition: 'transform 0.15s ease-out',\n });\n \n if (this.open) queueMicrotask(() => this.singletonInstance?.show());\n return;\n }\n }\n \n this.targetEl = document.getElementById(this.for);\n if (!this.targetEl) return;\n\n if (!this.id) {\n this.generatedId = `nile-tooltip-${Math.random()\n .toString(36)\n .slice(2, 9)}`;\n this.id = this.generatedId;\n }\n\n this.prevDescribedby = this.targetEl.getAttribute('aria-describedby');\n const describedby = this.prevDescribedby\n ? `${this.prevDescribedby} ${this.id}`\n : this.id;\n this.targetEl.setAttribute('aria-describedby', describedby);\n\n this.singleInstance = tippy(this.targetEl, options);\n if (this.size)\n this.singleInstance.popper\n .querySelector('.tippy-box')\n ?.classList.add(this.size);\n if (this.open) {\n queueMicrotask(() => this.singleInstance?.show());\n }\n return;\n }\n \n\nif (this.enableRecursiveMode) {\n const children = Array.from(this.querySelectorAll('*'));\n if (children.length > 0) {\n this.tooltipInstances = children.map(child => {\n const el = child as HTMLElement;\n const localContent = el.getAttribute('content') || this.content;\n const instance = tippy(el, { ...options, content: localContent });\n instance.popper.querySelector('.tippy-box')?.classList.add(this.size);\n return instance;\n });\n\n if (this.singleton && this.tooltipInstances.length > 1) {\n this.singletonInstance = createSingleton(this.tooltipInstances, {\n delay: [75, 0],\n arrow: roundArrow,\n moveTransition: 'transform 0.15s ease-out',\n });\n }\n\n if (this.open) {\n if (this.singletonInstance) this.singletonInstance.show();\n else this.tooltipInstances.forEach(t => t.show());\n }\n }\n\n} else {\n const firstChild = this.firstElementChild as HTMLElement | null;\n\n if (firstChild) {\n const localContent = firstChild.getAttribute('content') || this.content;\n const instance = tippy(firstChild, { ...options, content: localContent });\n instance.popper.querySelector('.tippy-box')?.classList.add(this.size);\n\n this.tooltipInstances = [instance];\n\n if (this.open) {\n instance.show();\n }\n }\n} \n }\n \n\n private destroyTooltips(): void {\n this.tooltipInstances?.forEach(t => t.destroy());\n this.singleInstance?.destroy();\n this.singletonInstance?.destroy();\n\n this.tooltipInstances = undefined;\n this.singleInstance = undefined;\n this.singletonInstance = undefined;\n\n if (this.targetEl && this.id) {\n const current = this.targetEl\n .getAttribute('aria-describedby')\n ?.split(' ')\n .filter(id => id !== this.id)\n .join(' ')\n .trim();\n if (current) {\n this.targetEl.setAttribute('aria-describedby', current);\n } else {\n this.targetEl.removeAttribute('aria-describedby');\n }\n }\n }\n\n private hideAllTooltips(): void {\n this.singleInstance?.hide();\n this.singletonInstance?.hide();\n this.tooltipInstances?.forEach(t => t.hide());\n }\n\n \n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.visibilityManager?.cleanup();\n this.destroyTooltips();\n }\n\n updated(changed: PropertyValues): void {\n super.updated(changed);\n\n if (\n [\n 'for',\n 'content',\n 'placement',\n 'distance',\n 'skidding',\n 'trigger',\n 'disabled',\n 'hoist',\n 'size',\n 'arrow',\n 'singleton',\n ].some(p => changed.has(p))\n ) {\n this.attachTooltip();\n }\n\n if (changed.has('open')) {\n if (this.open) {\n this.visibilityManager?.setup();\n this.singleInstance?.show();\n this.singletonInstance?.show();\n this.tooltipInstances?.forEach(t => t.show());\n } else {\n this.visibilityManager?.cleanup();\n this.singleInstance?.hide();\n this.singletonInstance?.hide();\n this.tooltipInstances?.forEach(t => t.hide());\n }\n }\n }\n}\n\nexport default NileliteTooltip;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-lite-tooltip': NileliteTooltip;\n }\n}\n"]}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Copyright Aquera Inc 2025
3
+ *
4
+ * Licensed under the BSD-3-Clause license found in the root directory.
5
+ */
6
+ export declare class VirtualMenuSearchManager {
7
+ static filterMenuItems(searchValue: string, originalItems: any[], data: any[], getSearchText?: (item: any) => string): {
8
+ filteredItems: any[];
9
+ showNoResults: boolean;
10
+ };
11
+ }
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Copyright Aquera Inc 2025
3
+ *
4
+ * Licensed under the BSD-3-Clause license found in the root directory.
5
+ */
6
+ export class VirtualMenuSearchManager {
7
+ static filterMenuItems(searchValue, originalItems, data, getSearchText) {
8
+ // If virtualized data is used but original slotted items are empty
9
+ if (originalItems.length === 0 && data.length > 0) {
10
+ return {
11
+ filteredItems: [...data],
12
+ showNoResults: false
13
+ };
14
+ }
15
+ // No items or data at all
16
+ if (!originalItems || originalItems.length === 0) {
17
+ return {
18
+ filteredItems: [],
19
+ showNoResults: true
20
+ };
21
+ }
22
+ // If search is empty → reset to original list
23
+ if (!searchValue || searchValue.trim() === '') {
24
+ return {
25
+ filteredItems: [...originalItems],
26
+ showNoResults: false
27
+ };
28
+ }
29
+ // Normalize and pick a text getter
30
+ const lowerSearch = searchValue.toLowerCase();
31
+ const getText = getSearchText || ((item) => item.label || item.innerText || '');
32
+ // Filter items case-insensitively
33
+ const filteredItems = originalItems.filter((item) => {
34
+ const text = getText(item)?.toLowerCase();
35
+ return text.includes(lowerSearch);
36
+ });
37
+ return {
38
+ filteredItems,
39
+ showNoResults: filteredItems.length === 0
40
+ };
41
+ }
42
+ }
43
+ //# sourceMappingURL=virtual-menu-search-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"virtual-menu-search-manager.js","sourceRoot":"","sources":["../../../src/nile-menu/virtual-menu-search-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,OAAO,wBAAwB;IACjC,MAAM,CAAC,eAAe,CACpB,WAAmB,EACnB,aAAoB,EACpB,IAAW,EACX,aAAqC;QAGrC,mEAAmE;QACnE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,OAAO;gBACL,aAAa,EAAE,CAAC,GAAG,IAAI,CAAC;gBACxB,aAAa,EAAE,KAAK;aACrB,CAAC;QACJ,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO;gBACL,aAAa,EAAE,EAAE;gBACjB,aAAa,EAAE,IAAI;aACpB,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9C,OAAO;gBACL,aAAa,EAAE,CAAC,GAAG,aAAa,CAAC;gBACjC,aAAa,EAAE,KAAK;aACrB,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,aAAa,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAErF,kCAAkC;QAClC,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE;YACvD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,aAAa;YACb,aAAa,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;SAC1C,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * Licensed under the BSD-3-Clause license found in the root directory.\n */\n\nexport class VirtualMenuSearchManager {\n static filterMenuItems(\n searchValue: string,\n originalItems: any[],\n data: any[],\n getSearchText?: (item: any) => string\n ): { filteredItems: any[]; showNoResults: boolean } {\n \n // If virtualized data is used but original slotted items are empty\n if (originalItems.length === 0 && data.length > 0) {\n return {\n filteredItems: [...data],\n showNoResults: false\n };\n }\n \n // No items or data at all\n if (!originalItems || originalItems.length === 0) {\n return {\n filteredItems: [],\n showNoResults: true\n };\n }\n \n // If search is empty → reset to original list\n if (!searchValue || searchValue.trim() === '') {\n return {\n filteredItems: [...originalItems],\n showNoResults: false\n };\n }\n \n // Normalize and pick a text getter\n const lowerSearch = searchValue.toLowerCase();\n const getText = getSearchText || ((item: any) => item.label || item.innerText || '');\n \n // Filter items case-insensitively\n const filteredItems = originalItems.filter((item: any) => {\n const text = getText(item)?.toLowerCase();\n return text.includes(lowerSearch);\n });\n \n return {\n filteredItems,\n showNoResults: filteredItems.length === 0\n };\n }\n }\n "]}
@@ -34,6 +34,9 @@ export declare class NilePopover extends NileElement {
34
34
  isShow: boolean;
35
35
  arrowPlacement: 'start' | 'end' | 'center' | 'anchor';
36
36
  private portalManager;
37
+ private visibilityManager?;
38
+ enableVisibilityEffect: boolean;
39
+ enableTabClose: boolean;
37
40
  /**
38
41
  * Enable this option to prevent the panel from being clipped when the component is placed inside a container with
39
42
  * `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.
@@ -51,6 +54,7 @@ export declare class NilePopover extends NileElement {
51
54
  */
52
55
  connectedCallback(): void;
53
56
  disconnectedCallback(): void;
57
+ protected firstUpdated(_changed: PropertyValues): Promise<void>;
54
58
  protected updated(_changedProperties: PropertyValues): void;
55
59
  handleShowHide(): void;
56
60
  render(): TemplateResult;
@@ -11,6 +11,7 @@ import { styles } from './nile-popover.css';
11
11
  import NileElement from '../internal/nile-element';
12
12
  import { watch } from '../internal/watch';
13
13
  import { PopoverPortalManager } from './portal-manager';
14
+ import { VisibilityManager } from '../utilities/visibility-manager.js';
14
15
  /**
15
16
  * Nile icon component.
16
17
  *
@@ -35,6 +36,8 @@ let NilePopover = class NilePopover extends NileElement {
35
36
  this.isShow = false;
36
37
  this.arrowPlacement = 'anchor';
37
38
  this.portalManager = null;
39
+ this.enableVisibilityEffect = false;
40
+ this.enableTabClose = false;
38
41
  /**
39
42
  * Enable this option to prevent the panel from being clipped when the component is placed inside a container with
40
43
  * `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.
@@ -88,12 +91,41 @@ let NilePopover = class NilePopover extends NileElement {
88
91
  disconnectedCallback() {
89
92
  super.disconnectedCallback();
90
93
  this.emit('nile-destroy');
94
+ this.visibilityManager?.cleanup();
91
95
  document.removeEventListener('click', this.handleDocumentClick);
92
96
  if (this.portalManager) {
93
97
  this.portalManager.cleanupPortalAppend();
94
98
  this.portalManager = null;
95
99
  }
96
100
  }
101
+ async firstUpdated(_changed) {
102
+ super.firstUpdated?.(_changed);
103
+ await this.updateComplete;
104
+ const anchorSlot = this.renderRoot.querySelector('slot[name="anchor"]');
105
+ const anchorEl = anchorSlot?.assignedElements({ flatten: true })[0];
106
+ this.visibilityManager = new VisibilityManager({
107
+ host: this,
108
+ target: anchorEl || null,
109
+ enableVisibilityEffect: this.enableVisibilityEffect,
110
+ enableTabClose: this.enableTabClose,
111
+ isOpen: () => this.isShow,
112
+ onAnchorOutOfView: () => {
113
+ this.isShow = false;
114
+ this.emit('nile-visibility-change', {
115
+ visible: false,
116
+ reason: 'anchor-out-of-view',
117
+ });
118
+ },
119
+ onDocumentHidden: () => {
120
+ this.isShow = false;
121
+ this.emit('nile-visibility-change', {
122
+ visible: false,
123
+ reason: 'document-hidden',
124
+ });
125
+ },
126
+ emit: (event, detail) => this.emit(`nile-${event}`, detail),
127
+ });
128
+ }
97
129
  updated(_changedProperties) {
98
130
  if (_changedProperties.has('open')) {
99
131
  this.isShow = this.open;
@@ -111,6 +143,7 @@ let NilePopover = class NilePopover extends NileElement {
111
143
  handleShowHide() {
112
144
  if (this.isShow) {
113
145
  this.emit('nile-show');
146
+ this.visibilityManager?.setup();
114
147
  if (this.portal && this.portalManager) {
115
148
  this.portalManager.setupPortalAppend();
116
149
  }
@@ -121,6 +154,7 @@ let NilePopover = class NilePopover extends NileElement {
121
154
  }
122
155
  else {
123
156
  this.emit('nile-hide');
157
+ this.visibilityManager?.cleanup();
124
158
  if (this.portal && this.portalManager) {
125
159
  this.portalManager.cleanupPortalAppend();
126
160
  }
@@ -203,6 +237,12 @@ __decorate([
203
237
  __decorate([
204
238
  property({ attribute: 'arrow-placement' })
205
239
  ], NilePopover.prototype, "arrowPlacement", void 0);
240
+ __decorate([
241
+ property({ type: Boolean, reflect: true })
242
+ ], NilePopover.prototype, "enableVisibilityEffect", void 0);
243
+ __decorate([
244
+ property({ type: Boolean, reflect: true })
245
+ ], NilePopover.prototype, "enableTabClose", void 0);
206
246
  __decorate([
207
247
  property({ type: Boolean })
208
248
  ], NilePopover.prototype, "hoist", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"nile-popover.js","sourceRoot":"","sources":["../../../src/nile-popover/nile-popover.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n PropertyValues,\n} from 'lit-element';\nimport { customElement,property, state } from 'lit/decorators.js';\nimport { styles } from './nile-popover.css';\nimport NileElement from '../internal/nile-element';\nimport { watch } from '../internal/watch';\nimport { CSSResultGroup } from 'lit';\nimport { PopoverPortalManager } from './portal-manager';\n\n/**\n * Nile icon component.\n *\n * @tag nile-popover\n *\n */\n@customElement('nile-popover')\nexport class NilePopover extends NileElement {\n /**\n * The styles for Popover\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultGroup {\n return [styles];\n }\n\n /**\n * The preferred placement of the popover. Note that the actual placement may vary as needed to keep the tooltip\n * inside of the viewport.\n */\n @property() placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'top';\n\n /** The distance in pixels from which to offset the popover away from its target. */\n @property({ type: Number }) distance = 18;\n\n @property({ type: Boolean, reflect: true }) preventOverlayClose = false;\n\n @property({ type: Boolean, attribute: 'arrow' }) arrow = true;\n\n /** Gives the title to the popover */\n @property({ type: String }) title = '';\n\n @property({type:Boolean }) open = false;\n\n @state() isShow:boolean = false;\n\n @property({ attribute: 'arrow-placement' }) arrowPlacement:\n | 'start'\n | 'end'\n | 'center'\n | 'anchor' = 'anchor';\n\n private portalManager: PopoverPortalManager | null = null;\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n */\n @property({ type: Boolean }) hoist = false;\n\n /**\n * Enable portal mode to render the popover content in a portal outside the component's DOM tree.\n * This provides better positioning control and prevents clipping issues in complex layouts.\n */\n @property({ type: Boolean }) portal = false;\n\n @property({ type: Boolean }) flip = false;\n\n /* #endregion */\n\n /* #region Methods */\n\n /**\n * Render method\n * @slot This is a slot test\n */\n\n connectedCallback() {\n super.connectedCallback();\n this.emit('nile-init');\n document.addEventListener('click', this.handleDocumentClick);\n \n requestAnimationFrame(() => {\n if (this.portal && !this.portalManager) {\n this.portalManager = new PopoverPortalManager(this);\n }\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n document.removeEventListener('click', this.handleDocumentClick);\n \n if (this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n this.portalManager = null;\n }\n }\n\n protected updated(_changedProperties: PropertyValues): void {\n if (_changedProperties.has('open')) {\n this.isShow = this.open;\n }\n \n if (_changedProperties.has('portal')) {\n if (this.portal && !this.portalManager) {\n this.portalManager = new PopoverPortalManager(this);\n } else if (!this.portal && this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n this.portalManager = null;\n }\n }\n }\n\n @watch('isShow')\n handleShowHide() {\n if (this.isShow) {\n this.emit('nile-show');\n if (this.portal && this.portalManager) {\n this.portalManager.setupPortalAppend();\n } else if (this.portal && !this.portalManager) {\n this.portalManager = new PopoverPortalManager(this);\n this.portalManager.setupPortalAppend();\n }\n } else {\n this.emit('nile-hide');\n if (this.portal && this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n }\n }\n }\n\n public render(): TemplateResult {\n const shouldRenderContent = this.isShow && !(this.portal && this.portalManager);\n \n return html`\n <nile-popup\n active\n .arrow=\"${this.arrow && this.isShow && !this.portal}\"\n distance=\"${this.distance}\"\n placement=\"${this.placement}\"\n @click=${(e: Event) => e.stopPropagation()}\n arrowPlacement=\"${this.arrowPlacement}\"\n .flip=\"${this.flip}\"\n shift\n strategy=${this.hoist ? 'fixed' : 'absolute'}\n >\n <slot\n slot=\"anchor\"\n name=\"anchor\"\n aria-describedby=\"tooltip\"\n @click=${this.handleClick}\n ></slot>\n ${shouldRenderContent\n ? html` <div part=\"popover\" class=\"popover__box\">\n <slot name=\"title\" class=\"popover__title\">${this.title}</slot>\n <slot part=\"base\"></slot>\n <slot name=\"action\" class=\"popover__action\"> </slot>\n </div>`\n : html``}\n </nile-popup>\n `;\n }\n\n private handleClick = () => {\n this.isShow = !this.isShow;\n const allPopovers = document.querySelectorAll('nile-popover');\n\n allPopovers.forEach(popover => {\n if (popover !== this) {\n popover.isShow = false;\n }\n });\n };\n\n private handleDocumentClick = () => {\n if (this.isShow && !this.preventOverlayClose) {\n this.isShow = false;\n }\n };\n\n public updatePortalContent(): void {\n if (this.portalManager) {\n this.portalManager.updatePortalAppendPosition();\n }\n }\n\n public forceReposition(): void {\n if (this.portalManager) {\n this.portalManager.forceReposition();\n }\n }\n\n public getCurrentPlacement(): string {\n if (this.portalManager) {\n return this.portalManager.getCurrentPlacement();\n }\n return this.placement;\n }\n\n public isPositioningOptimal(): boolean {\n if (this.portalManager) {\n return this.portalManager.isPositioningOptimal();\n }\n return true;\n }\n\n /* #endregion */\n}\n\nexport default NilePopover;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-popover': NilePopover;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-popover.js","sourceRoot":"","sources":["../../../src/nile-popover/nile-popover.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAEL,IAAI,GAIL,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAGvE;;;;;GAKG;AAEI,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,WAAW;IAArC;;QASL;;;WAGG;QACS,cAAS,GAYJ,KAAK,CAAC;QAEvB,oFAAoF;QACxD,aAAQ,GAAG,EAAE,CAAC;QAEE,wBAAmB,GAAG,KAAK,CAAC;QAEvB,UAAK,GAAG,IAAI,CAAC;QAE9D,qCAAqC;QACT,UAAK,GAAG,EAAE,CAAC;QAEZ,SAAI,GAAG,KAAK,CAAC;QAE/B,WAAM,GAAW,KAAK,CAAC;QAEY,mBAAc,GAI3C,QAAQ,CAAC;QAEhB,kBAAa,GAAgC,IAAI,CAAC;QAGd,2BAAsB,GAAG,KAAK,CAAC;QAE/B,mBAAc,GAAG,KAAK,CAAC;QAGnE;;;WAGG;QAC0B,UAAK,GAAG,KAAK,CAAC;QAE3C;;;WAGG;QAC0B,WAAM,GAAG,KAAK,CAAC;QAEf,SAAI,GAAG,KAAK,CAAC;QAuIlC,gBAAW,GAAG,GAAG,EAAE;YACzB,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;YAC3B,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;YAE9D,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC5B,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;oBACrB,OAAO,CAAC,MAAM,GAAG,KAAK,CAAC;gBACzB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEM,wBAAmB,GAAG,GAAG,EAAE;YACjC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC7C,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACtB,CAAC;QACH,CAAC,CAAC;QA4BF,gBAAgB;IAClB,CAAC;IArPC;;;OAGG;IACI,MAAM,KAAK,MAAM;QACtB,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IA8DD,gBAAgB;IAEhB,qBAAqB;IAErB;;;OAGG;IAEH,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACvB,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAE7D,qBAAqB,CAAC,GAAG,EAAE;YACzB,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvC,IAAI,CAAC,aAAa,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACtD,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,oBAAoB;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC1B,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC;QAClC,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAEhE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;YACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC5B,CAAC;IACH,CAAC;IAES,KAAK,CAAC,YAAY,CAAC,QAAwB;QACnD,KAAK,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,cAAc,CAAC;QAE1B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,qBAAqB,CAA2B,CAAC;QAClG,MAAM,QAAQ,GAAG,UAAU,EAAE,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAA4B,CAAC;QAG/F,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC;YAC7C,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,QAAQ,IAAI,IAAI;YACxB,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM;YACzB,iBAAiB,EAAE,GAAG,EAAE;gBACtB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;oBAClC,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,oBAAoB;iBAC7B,CAAC,CAAC;YACL,CAAC;YACD,gBAAgB,EAAE,GAAG,EAAE;gBACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;gBACpB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;oBAClC,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,iBAAiB;iBAC1B,CAAC,CAAC;YACL,CAAC;YACD,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,EAAE,EAAE,MAAM,CAAC;SAC5D,CAAC,CAAC;IACL,CAAC;IAGS,OAAO,CAAC,kBAAkC;QAClD,IAAI,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QAC1B,CAAC;QAED,IAAI,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvC,IAAI,CAAC,aAAa,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC9C,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;gBACzC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;IACH,CAAC;IAGD,cAAc;QACZ,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACvB,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC;YAChC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtC,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;YACzC,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBACpD,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;YACzC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACvB,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACtC,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAEM,MAAM;QACX,MAAM,mBAAmB,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,CAAC;QAEhF,OAAO,IAAI,CAAA;;;kBAGG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM;oBACvC,IAAI,CAAC,QAAQ;qBACZ,IAAI,CAAC,SAAS;iBAClB,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE;0BACxB,IAAI,CAAC,cAAc;iBAC5B,IAAI,CAAC,IAAI;;mBAEP,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU;;;;;;mBAMjC,IAAI,CAAC,WAAW;;UAEzB,mBAAmB;YACnB,CAAC,CAAC,IAAI,CAAA;0DAC0C,IAAI,CAAC,KAAK;;;mBAGjD;YACT,CAAC,CAAC,IAAI,CAAA,EAAE;;KAEb,CAAC;IACJ,CAAC;IAmBM,mBAAmB;QACxB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,0BAA0B,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAEM,eAAe;QACpB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC;QACvC,CAAC;IACH,CAAC;IAEM,mBAAmB;QACxB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAEM,oBAAoB;QACzB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CAGF,CAAA;AAzOa;IAAX,QAAQ,EAAE;8CAYY;AAGK;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;6CAAe;AAEE;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wDAA6B;AAEvB;IAAhD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;0CAAc;AAGlC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CAAY;AAEZ;IAA1B,QAAQ,CAAC,EAAC,IAAI,EAAC,OAAO,EAAE,CAAC;yCAAc;AAE/B;IAAR,KAAK,EAAE;2CAAwB;AAEY;IAA3C,QAAQ,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,CAAC;mDAInB;AAKoB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2DAAgC;AAE/B;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDAAwB;AAOtC;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CAAe;AAMd;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;2CAAgB;AAEf;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;yCAAc;AAoF1C;IADC,KAAK,CAAC,QAAQ,CAAC;iDAkBf;AAxKU,WAAW;IADvB,aAAa,CAAC,cAAc,CAAC;GACjB,WAAW,CAsPvB;;AAED,eAAe,WAAW,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 {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n PropertyValues,\n} from 'lit-element';\nimport { customElement,property, state } from 'lit/decorators.js';\nimport { styles } from './nile-popover.css';\nimport NileElement from '../internal/nile-element';\nimport { watch } from '../internal/watch';\nimport { CSSResultGroup } from 'lit';\nimport { PopoverPortalManager } from './portal-manager';\nimport { VisibilityManager } from '../utilities/visibility-manager.js';\n\n\n/**\n * Nile icon component.\n *\n * @tag nile-popover\n *\n */\n@customElement('nile-popover')\nexport class NilePopover extends NileElement {\n /**\n * The styles for Popover\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultGroup {\n return [styles];\n }\n\n /**\n * The preferred placement of the popover. Note that the actual placement may vary as needed to keep the tooltip\n * inside of the viewport.\n */\n @property() placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'top';\n\n /** The distance in pixels from which to offset the popover away from its target. */\n @property({ type: Number }) distance = 18;\n\n @property({ type: Boolean, reflect: true }) preventOverlayClose = false;\n\n @property({ type: Boolean, attribute: 'arrow' }) arrow = true;\n\n /** Gives the title to the popover */\n @property({ type: String }) title = '';\n\n @property({type:Boolean }) open = false;\n\n @state() isShow:boolean = false;\n\n @property({ attribute: 'arrow-placement' }) arrowPlacement:\n | 'start'\n | 'end'\n | 'center'\n | 'anchor' = 'anchor';\n\n private portalManager: PopoverPortalManager | null = null;\n private visibilityManager?: VisibilityManager;\n\n @property({ type: Boolean, reflect: true }) enableVisibilityEffect = false;\n\n @property({ type: Boolean, reflect: true }) enableTabClose = false;\n\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n */\n @property({ type: Boolean }) hoist = false;\n\n /**\n * Enable portal mode to render the popover content in a portal outside the component's DOM tree.\n * This provides better positioning control and prevents clipping issues in complex layouts.\n */\n @property({ type: Boolean }) portal = false;\n\n @property({ type: Boolean }) flip = false;\n\n /* #endregion */\n\n /* #region Methods */\n\n /**\n * Render method\n * @slot This is a slot test\n */\n\n connectedCallback() {\n super.connectedCallback();\n this.emit('nile-init');\n document.addEventListener('click', this.handleDocumentClick);\n \n requestAnimationFrame(() => {\n if (this.portal && !this.portalManager) {\n this.portalManager = new PopoverPortalManager(this);\n }\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n this.visibilityManager?.cleanup();\n document.removeEventListener('click', this.handleDocumentClick);\n \n if (this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n this.portalManager = null;\n }\n }\n\n protected async firstUpdated(_changed: PropertyValues) {\n super.firstUpdated?.(_changed);\n await this.updateComplete;\n \n const anchorSlot = this.renderRoot.querySelector('slot[name=\"anchor\"]') as HTMLSlotElement | null;\n const anchorEl = anchorSlot?.assignedElements({ flatten: true })[0] as HTMLElement | undefined;\n \n \n this.visibilityManager = new VisibilityManager({\n host: this,\n target: anchorEl || null,\n enableVisibilityEffect: this.enableVisibilityEffect,\n enableTabClose: this.enableTabClose,\n isOpen: () => this.isShow,\n onAnchorOutOfView: () => {\n this.isShow = false;\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'anchor-out-of-view',\n });\n },\n onDocumentHidden: () => {\n this.isShow = false;\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'document-hidden',\n });\n },\n emit: (event, detail) => this.emit(`nile-${event}`, detail),\n });\n }\n\n \n protected updated(_changedProperties: PropertyValues): void {\n if (_changedProperties.has('open')) {\n this.isShow = this.open;\n }\n \n if (_changedProperties.has('portal')) {\n if (this.portal && !this.portalManager) {\n this.portalManager = new PopoverPortalManager(this);\n } else if (!this.portal && this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n this.portalManager = null;\n }\n }\n }\n\n @watch('isShow')\n handleShowHide() {\n if (this.isShow) {\n this.emit('nile-show');\n this.visibilityManager?.setup();\n if (this.portal && this.portalManager) {\n this.portalManager.setupPortalAppend();\n } else if (this.portal && !this.portalManager) {\n this.portalManager = new PopoverPortalManager(this);\n this.portalManager.setupPortalAppend();\n }\n } else {\n this.emit('nile-hide');\n this.visibilityManager?.cleanup();\n if (this.portal && this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n }\n }\n }\n\n public render(): TemplateResult {\n const shouldRenderContent = this.isShow && !(this.portal && this.portalManager);\n \n return html`\n <nile-popup\n active\n .arrow=\"${this.arrow && this.isShow && !this.portal}\"\n distance=\"${this.distance}\"\n placement=\"${this.placement}\"\n @click=${(e: Event) => e.stopPropagation()}\n arrowPlacement=\"${this.arrowPlacement}\"\n .flip=\"${this.flip}\"\n shift\n strategy=${this.hoist ? 'fixed' : 'absolute'}\n >\n <slot\n slot=\"anchor\"\n name=\"anchor\"\n aria-describedby=\"tooltip\"\n @click=${this.handleClick}\n ></slot>\n ${shouldRenderContent\n ? html` <div part=\"popover\" class=\"popover__box\">\n <slot name=\"title\" class=\"popover__title\">${this.title}</slot>\n <slot part=\"base\"></slot>\n <slot name=\"action\" class=\"popover__action\"> </slot>\n </div>`\n : html``}\n </nile-popup>\n `;\n }\n\n private handleClick = () => {\n this.isShow = !this.isShow;\n const allPopovers = document.querySelectorAll('nile-popover');\n\n allPopovers.forEach(popover => {\n if (popover !== this) {\n popover.isShow = false;\n }\n });\n };\n\n private handleDocumentClick = () => {\n if (this.isShow && !this.preventOverlayClose) {\n this.isShow = false;\n }\n };\n\n public updatePortalContent(): void {\n if (this.portalManager) {\n this.portalManager.updatePortalAppendPosition();\n }\n }\n\n public forceReposition(): void {\n if (this.portalManager) {\n this.portalManager.forceReposition();\n }\n }\n\n public getCurrentPlacement(): string {\n if (this.portalManager) {\n return this.portalManager.getCurrentPlacement();\n }\n return this.placement;\n }\n\n public isPositioningOptimal(): boolean {\n if (this.portalManager) {\n return this.portalManager.isPositioningOptimal();\n }\n return true;\n }\n\n /* #endregion */\n}\n\nexport default NilePopover;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-popover': NilePopover;\n }\n}\n"]}
@@ -81,6 +81,7 @@ export declare class NileSelect extends NileElement implements NileFormControl {
81
81
  private scrolling;
82
82
  private options;
83
83
  private resizeController?;
84
+ private visibilityManager?;
84
85
  popup: NilePopup;
85
86
  combobox: HTMLSlotElement;
86
87
  displayInput: HTMLInputElement;
@@ -199,11 +200,6 @@ export declare class NileSelect extends NileElement implements NileFormControl {
199
200
  private handleFocus;
200
201
  private handleBlur;
201
202
  private handleDocumentFocusIn;
202
- private anchorVisibilityObservers;
203
- private getScrollableAncestors;
204
- private handleDocumentVisibilityChange;
205
- private setupAnchorVisibilityObserver;
206
- private cleanupAnchorVisibilityObserver;
207
203
  /**
208
204
  * Handles the click event on the footer.
209
205
  * @param event - The click event.
@@ -28,6 +28,7 @@ import '../nile-virtual-select/nile-virtual-select';
28
28
  import { VirtualScrollHelper } from './virtual-scroll-helper';
29
29
  import { ResizeController } from '@lit-labs/observers/resize-controller.js';
30
30
  import { PortalManager } from './portal-manager';
31
+ import { VisibilityManager } from '../utilities/visibility-manager';
31
32
  /**
32
33
  * Nile icon component.
33
34
  *
@@ -193,19 +194,6 @@ let NileSelect = class NileSelect extends NileElement {
193
194
  this.autoFocusSearch = false;
194
195
  /** loading indicator for virtual select */
195
196
  this.loading = false;
196
- this.anchorVisibilityObservers = [];
197
- this.handleDocumentVisibilityChange = () => {
198
- if (!this.enableTabClose)
199
- return;
200
- if (document.visibilityState === 'hidden' && this.open) {
201
- this.hide();
202
- this.emit('nile-visibility-change', {
203
- visible: false,
204
- reason: 'document-hidden',
205
- name: this.name,
206
- });
207
- }
208
- };
209
197
  this.handleWindowResize = () => {
210
198
  this.portalManager.updatePortalAppendPosition();
211
199
  };
@@ -237,6 +225,7 @@ let NileSelect = class NileSelect extends NileElement {
237
225
  clearTimeout(this.scrollTimeout);
238
226
  this.scrollTimeout = undefined;
239
227
  }
228
+ this.visibilityManager?.cleanup();
240
229
  // Clean up body append elements
241
230
  this.portalManager.cleanupPortalAppend();
242
231
  this.emit('nile-destroy');
@@ -272,6 +261,30 @@ let NileSelect = class NileSelect extends NileElement {
272
261
  if (_changedProperties.has('multiple')) {
273
262
  this.setCheckBoxInOption(this.multiple);
274
263
  }
264
+ this.visibilityManager = new VisibilityManager({
265
+ host: this,
266
+ target: this.combobox,
267
+ enableVisibilityEffect: this.enableVisibilityEffect,
268
+ enableTabClose: this.enableTabClose,
269
+ isOpen: () => this.open,
270
+ onAnchorOutOfView: () => {
271
+ this.hide();
272
+ this.emit('nile-visibility-change', {
273
+ visible: false,
274
+ reason: 'anchor-out-of-view',
275
+ name: this.name,
276
+ });
277
+ },
278
+ onDocumentHidden: () => {
279
+ this.hide();
280
+ this.emit('nile-visibility-change', {
281
+ visible: false,
282
+ reason: 'document-hidden',
283
+ name: this.name,
284
+ });
285
+ },
286
+ emit: (event, detail) => this.emit(`nile-${event}`, detail),
287
+ });
275
288
  }
276
289
  setCheckBoxInOption(checked) {
277
290
  if (!this.options.length) {
@@ -317,57 +330,6 @@ let NileSelect = class NileSelect extends NileElement {
317
330
  this.hide();
318
331
  }
319
332
  }
320
- getScrollableAncestors(element) {
321
- const scrollables = [];
322
- let parent = element.parentElement;
323
- while (parent) {
324
- const style = getComputedStyle(parent);
325
- const canScroll = /(auto|scroll)/.test(style.overflow + style.overflowY + style.overflowX);
326
- if (canScroll) {
327
- scrollables.push(parent);
328
- }
329
- parent = parent.parentElement;
330
- }
331
- return scrollables;
332
- }
333
- setupAnchorVisibilityObserver() {
334
- if (!this.enableVisibilityEffect)
335
- return;
336
- this.cleanupAnchorVisibilityObserver();
337
- const combobox = this.combobox;
338
- if (!combobox)
339
- return;
340
- const scrollContainers = [...this.getScrollableAncestors(this), null];
341
- scrollContainers.forEach((rootContainer) => {
342
- const observer = new IntersectionObserver((entries) => {
343
- for (const entry of entries) {
344
- if (!entry.isIntersecting && this.open) {
345
- this.hide();
346
- this.emit('nile-visibility-change', {
347
- visible: false,
348
- reason: 'anchor-out-of-view',
349
- name: this.name,
350
- root: rootContainer,
351
- });
352
- return;
353
- }
354
- }
355
- }, {
356
- root: rootContainer,
357
- threshold: 0.1,
358
- });
359
- observer.observe(combobox);
360
- this.anchorVisibilityObservers.push(observer);
361
- });
362
- if (this.enableTabClose) {
363
- document.addEventListener('visibilitychange', this.handleDocumentVisibilityChange);
364
- }
365
- }
366
- cleanupAnchorVisibilityObserver() {
367
- this.anchorVisibilityObservers.forEach((o) => o.disconnect());
368
- this.anchorVisibilityObservers = [];
369
- document.removeEventListener('visibilitychange', this.handleDocumentVisibilityChange);
370
- }
371
333
  /**
372
334
  * Handles the click event on the footer.
373
335
  * @param event - The click event.
@@ -899,6 +861,7 @@ let NileSelect = class NileSelect extends NileElement {
899
861
  });
900
862
  }
901
863
  this.addOpenListeners();
864
+ this.visibilityManager?.setup();
902
865
  this.showNoResults = !this.getAllOptions()?.length;
903
866
  await stopAnimations(this);
904
867
  this.listbox.hidden = false;
@@ -907,9 +870,6 @@ let NileSelect = class NileSelect extends NileElement {
907
870
  requestAnimationFrame(() => {
908
871
  this.setCurrentOption(this.currentOption);
909
872
  });
910
- if (this.enableVisibilityEffect) {
911
- this.setupAnchorVisibilityObserver();
912
- }
913
873
  const { keyframes, options } = getAnimation(this, 'select.show', {
914
874
  dir: 'ltr',
915
875
  });
@@ -933,6 +893,7 @@ let NileSelect = class NileSelect extends NileElement {
933
893
  this.emit('nile-hide', { value: this.value, name: this.name });
934
894
  this.showSelected = false;
935
895
  this.removeOpenListeners();
896
+ this.visibilityManager?.cleanup();
936
897
  await stopAnimations(this);
937
898
  const { keyframes, options } = getAnimation(this, 'select.hide', {
938
899
  dir: 'ltr',