@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
@@ -0,0 +1,2 @@
1
+ System.register([],function(_export,_context){"use strict";var t;function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}function _createForOfIteratorHelper(r,e){var t="undefined"!=typeof Symbol&&r[Symbol.iterator]||r["@@iterator"];if(!t){if(Array.isArray(r)||(t=_unsupportedIterableToArray(r))||e&&r&&"number"==typeof r.length){t&&(r=t);var _n=0,F=function F(){};return{s:F,n:function n(){return _n>=r.length?{done:!0}:{done:!1,value:r[_n++]};},e:function e(r){throw r;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var o,a=!0,u=!1;return{s:function s(){t=t.call(r);},n:function n(){var r=t.next();return a=r.done,r;},e:function e(r){u=!0,o=r;},f:function f(){try{a||null==t["return"]||t["return"]();}finally{if(u)throw o;}}};}function _toConsumableArray(r){return _arrayWithoutHoles(r)||_iterableToArray(r)||_unsupportedIterableToArray(r)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(r,a){if(r){if("string"==typeof r)return _arrayLikeToArray(r,a);var t={}.toString.call(r).slice(8,-1);return"Object"===t&&r.constructor&&(t=r.constructor.name),"Map"===t||"Set"===t?Array.from(r):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_arrayLikeToArray(r,a):void 0;}}function _iterableToArray(r){if("undefined"!=typeof Symbol&&null!=r[Symbol.iterator]||null!=r["@@iterator"])return Array.from(r);}function _arrayWithoutHoles(r){if(Array.isArray(r))return _arrayLikeToArray(r);}function _arrayLikeToArray(r,a){(null==a||a>r.length)&&(a=r.length);for(var e=0,n=Array(a);e<a;e++)n[e]=r[e];return n;}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}return{setters:[],execute:function execute(){_export("V",t=/*#__PURE__*/function(){function t(_t){_classCallCheck(this,t);this.observers=[],this.options=_t,this.handleVisibilityChange=this.onDocumentVisibilityChange.bind(this);}return _createClass(t,[{key:"setup",value:function setup(){var _this=this;var _this$options=this.options,_t2=_this$options.target,i=_this$options.enableVisibilityEffect,e=_this$options.enableTabClose;if(!i||!_t2)return;this.cleanup();[].concat(_toConsumableArray(this.getScrollableAncestors(this.options.host)),[null]).forEach(function(i){var e=new IntersectionObserver(function(_t3){var _iterator=_createForOfIteratorHelper(_t3),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var _this$options$isOpen,_this$options2,_this$options$onAncho,_this$options3,_this$options$emit,_this$options4;var _e=_step.value;if(!_e.isIntersecting&&(_this$options$isOpen=(_this$options2=_this.options).isOpen)!==null&&_this$options$isOpen!==void 0&&_this$options$isOpen.call(_this$options2))return(_this$options$onAncho=(_this$options3=_this.options).onAnchorOutOfView)!==null&&_this$options$onAncho!==void 0&&_this$options$onAncho.call(_this$options3,i),void((_this$options$emit=(_this$options4=_this.options).emit)===null||_this$options$emit===void 0?void 0:_this$options$emit.call(_this$options4,"visibility-change",{visible:!1,reason:"anchor-out-of-view",root:i}));}}catch(err){_iterator.e(err);}finally{_iterator.f();}},{root:i,threshold:.1});e.observe(_t2),_this.observers.push(e);}),e&&document.addEventListener("visibilitychange",this.handleVisibilityChange);}},{key:"cleanup",value:function cleanup(){this.observers.forEach(function(_t4){return _t4.disconnect();}),this.observers=[],document.removeEventListener("visibilitychange",this.handleVisibilityChange);}},{key:"onDocumentVisibilityChange",value:function onDocumentVisibilityChange(){var _this$options5=this.options,_t5=_this$options5.enableTabClose,i=_this$options5.isOpen,e=_this$options5.onDocumentHidden,s=_this$options5.emit;_t5&&"hidden"===document.visibilityState&&(i===null||i===void 0?void 0:i())&&(e!==null&&e!==void 0&&e(),s===null||s===void 0?void 0:s("visibility-change",{visible:!1,reason:"document-hidden"}));}},{key:"getScrollableAncestors",value:function getScrollableAncestors(_t6){var i=[];var e=_t6.parentElement;for(;e;){var _t7=getComputedStyle(e);/(auto|scroll)/.test(_t7.overflow+_t7.overflowY+_t7.overflowX)&&i.push(e),e=e.parentElement;}return i;}}]);}());}};});
2
+ //# sourceMappingURL=visibility-manager.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visibility-manager.cjs.js","sources":["../../../src/utilities/visibility-manager.ts"],"sourcesContent":["\nexport interface VisibilityManagerOptions {\n \n host: HTMLElement;\n\n target: HTMLElement | null;\n \n enableVisibilityEffect?: boolean;\n \n enableTabClose?: boolean;\n \n onAnchorOutOfView?: (root?: Element | Document | null) => void;\n \n onDocumentHidden?: () => void;\n \n emit?: (event: string, detail?: Record<string, any>) => void;\n \n isOpen?: () => boolean;\n }\n \n export class VisibilityManager {\n private observers: IntersectionObserver[] = [];\n private options: VisibilityManagerOptions;\n private handleVisibilityChange: () => void;\n \n constructor(options: VisibilityManagerOptions) {\n this.options = options;\n this.handleVisibilityChange = this.onDocumentVisibilityChange.bind(this);\n }\n \n \n setup(): void {\n const {\n target,\n enableVisibilityEffect,\n enableTabClose,\n } = this.options;\n \n if (!enableVisibilityEffect || !target) return;\n \n this.cleanup(); \n \n const scrollContainers = [...this.getScrollableAncestors(this.options.host), null];\n \n scrollContainers.forEach(rootContainer => {\n const observer = new IntersectionObserver(\n entries => {\n for (const entry of entries) {\n if (!entry.isIntersecting && this.options.isOpen?.()) {\n this.options.onAnchorOutOfView?.(rootContainer);\n this.options.emit?.('visibility-change', {\n visible: false,\n reason: 'anchor-out-of-view',\n root: rootContainer,\n });\n return;\n }\n }\n },\n { root: rootContainer, threshold: 0.1 }\n );\n observer.observe(target);\n this.observers.push(observer);\n });\n \n if (enableTabClose) {\n document.addEventListener('visibilitychange', this.handleVisibilityChange);\n }\n }\n \n cleanup(): void {\n this.observers.forEach(o => o.disconnect());\n this.observers = [];\n document.removeEventListener('visibilitychange', this.handleVisibilityChange);\n }\n \n private onDocumentVisibilityChange(): void {\n const { enableTabClose, isOpen, onDocumentHidden, emit } = this.options;\n if (!enableTabClose) return;\n \n if (document.visibilityState === 'hidden' && isOpen?.()) {\n onDocumentHidden?.();\n emit?.('visibility-change', {\n visible: false,\n reason: 'document-hidden',\n });\n }\n }\n \n private getScrollableAncestors(element: HTMLElement): HTMLElement[] {\n const scrollables: HTMLElement[] = [];\n let parent = element.parentElement;\n while (parent) {\n const style = getComputedStyle(parent);\n const canScroll = /(auto|scroll)/.test(\n style.overflow + style.overflowY + style.overflowX\n );\n if (canScroll) scrollables.push(parent);\n parent = parent.parentElement;\n }\n return scrollables;\n }\n }\n "],"names":["VisibilityManager","t","options","this","observers","handleVisibilityChange","onDocumentVisibilityChange","bind","_createClass","key","value","setup","_this","_this$options","target","enableVisibilityEffect","enableTabClose","cleanup","concat","_toConsumableArray","getScrollableAncestors","host","forEach","rootContainer","observer","IntersectionObserver","entries","_step","_iterator","s","n","done","_this$options$isOpen","_this$options2","_this$options$onAncho","_this$options3","_this$options$emit","_this$options4","entry","isIntersecting","isOpen","onAnchorOutOfView","emit","visible","reason","root","err","e","f","threshold","observe","push","document","addEventListener","o","disconnect","removeEventListener","_this$options5","onDocumentHidden","visibilityState","element","scrollables","parent","parentElement","style","getComputedStyle","test","overflow","overflowY","overflowX"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ class t{constructor(t){this.observers=[],this.options=t,this.handleVisibilityChange=this.onDocumentVisibilityChange.bind(this)}setup(){const{target:t,enableVisibilityEffect:i,enableTabClose:e}=this.options;if(!i||!t)return;this.cleanup();[...this.getScrollableAncestors(this.options.host),null].forEach((i=>{const e=new IntersectionObserver((t=>{for(const e of t)if(!e.isIntersecting&&this.options.isOpen?.())return this.options.onAnchorOutOfView?.(i),void this.options.emit?.("visibility-change",{visible:!1,reason:"anchor-out-of-view",root:i})}),{root:i,threshold:.1});e.observe(t),this.observers.push(e)})),e&&document.addEventListener("visibilitychange",this.handleVisibilityChange)}cleanup(){this.observers.forEach((t=>t.disconnect())),this.observers=[],document.removeEventListener("visibilitychange",this.handleVisibilityChange)}onDocumentVisibilityChange(){const{enableTabClose:t,isOpen:i,onDocumentHidden:e,emit:s}=this.options;t&&"hidden"===document.visibilityState&&i?.()&&(e?.(),s?.("visibility-change",{visible:!1,reason:"document-hidden"}))}getScrollableAncestors(t){const i=[];let e=t.parentElement;for(;e;){const t=getComputedStyle(e);/(auto|scroll)/.test(t.overflow+t.overflowY+t.overflowX)&&i.push(e),e=e.parentElement}return i}}export{t as V};
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Webcomponent nile-elements following open-wc recommendations",
4
4
  "license": "MIT",
5
5
  "author": "nile-elements",
6
- "version": "1.3.0-beta-1.1",
6
+ "version": "1.3.0-beta-1.2",
7
7
  "main": "dist/src/index.js",
8
8
  "type": "module",
9
9
  "module": "dist/src/index.js",
@@ -220,4 +220,4 @@
220
220
  "prettier --write"
221
221
  ]
222
222
  }
223
- }
223
+ }
@@ -16,12 +16,16 @@ import { NileInput } from '../nile-input';
16
16
 
17
17
  import { virtualize } from '@lit-labs/virtualizer/virtualize.js';
18
18
  import { unsafeHTML } from 'lit/directives/unsafe-html.js';
19
+ import { VisibilityManager } from '../utilities/visibility-manager.js';
20
+
19
21
 
20
22
  // Define the custom element 'nile-auto-complete'
21
23
  @customElement('nile-auto-complete')
22
24
  export class NileAutoComplete extends NileElement {
23
25
 
24
26
  static styles: CSSResultGroup = styles;
27
+ private visibilityManager?: VisibilityManager;
28
+
25
29
 
26
30
  @query('nile-dropdown') dropdownElement: NileDropdown;
27
31
 
@@ -63,8 +67,45 @@ export class NileAutoComplete extends NileElement {
63
67
 
64
68
  @property({ type: Array }) allMenuItems: any = [];
65
69
 
70
+ @property({ type: Boolean, reflect: true }) enableVisibilityEffect = false;
71
+
72
+ @property({ type: Boolean, reflect: true }) enableTabClose = false;
73
+
74
+
66
75
  @state() menuItems: any = [];
67
76
 
77
+
78
+ protected async firstUpdated(_changed: PropertyValues) {
79
+
80
+ super.firstUpdated?.(_changed);
81
+ await this.updateComplete;
82
+ console.log('AutoComplete target:', this.inputElement?.input);
83
+
84
+ this.visibilityManager = new VisibilityManager({
85
+ host: this,
86
+ target: this.inputElement.input, // element to observe
87
+ enableVisibilityEffect: this.enableVisibilityEffect,
88
+ enableTabClose: this.enableTabClose,
89
+ isOpen: () => this.isDropdownOpen,
90
+ onAnchorOutOfView: () => {
91
+ this.isDropdownOpen = false;
92
+ this.dropdownElement?.hide();
93
+ this.emit('nile-visibility-change', {
94
+ visible: false,
95
+ reason: 'anchor-out-of-view',
96
+ });
97
+ },
98
+ onDocumentHidden: () => {
99
+ this.isDropdownOpen = false;
100
+ this.dropdownElement?.hide();
101
+ this.emit('nile-visibility-change', {
102
+ visible: false,
103
+ reason: 'document-hidden',
104
+ });
105
+ },
106
+ emit: (event, detail) => this.emit(`nile-${event}`, detail),
107
+ });
108
+ }
68
109
  connectedCallback() {
69
110
  super.connectedCallback();
70
111
  this.renderItemFunction=(item:any)=>item;
@@ -77,6 +118,7 @@ export class NileAutoComplete extends NileElement {
77
118
  disconnectedCallback() {
78
119
  super.disconnectedCallback();
79
120
  this.removeOpenListeners();
121
+ this.visibilityManager?.cleanup();
80
122
  this.portalManager.cleanupPortalAppend();
81
123
  }
82
124
 
@@ -118,11 +160,13 @@ export class NileAutoComplete extends NileElement {
118
160
  private handleDropdownOpenChange(): void {
119
161
  if (this.isDropdownOpen) {
120
162
  this.addOpenListeners();
163
+ this.visibilityManager?.setup();
121
164
  if (this.portal) {
122
165
  this.portalManager.setupPortalAppend();
123
166
  }
124
167
  } else {
125
168
  this.removeOpenListeners();
169
+ this.visibilityManager?.cleanup();
126
170
  if (this.portal) {
127
171
  this.portalManager.cleanupPortalAppend();
128
172
  }
@@ -18,6 +18,7 @@ import { classMap } from 'lit/directives/class-map.js';
18
18
  import { HasSlotController } from '../internal/slot';
19
19
  import NileElement, { NileFormControl } from '../internal/nile-element';
20
20
  import { unsafeHTML } from 'lit/directives/unsafe-html.js';
21
+ import { VisibilityManager } from '../utilities/visibility-manager.js';
21
22
 
22
23
  interface CustomEventDetail {
23
24
  value: string;
@@ -111,6 +112,15 @@ export class NileChip extends NileElement {
111
112
 
112
113
  @property({ attribute:false}) renderItemFunction: (item:any)=>string = (item:any)=>item;
113
114
 
115
+ private visibilityManager?: VisibilityManager;
116
+
117
+ @property({ type: Boolean, reflect: true }) enableVisibilityEffect = false;
118
+
119
+ @property({ type: Boolean, reflect: true }) enableTabClose = false;
120
+
121
+
122
+
123
+
114
124
 
115
125
  @property({ type: Boolean }) showTooltip: boolean = false;
116
126
 
@@ -142,6 +152,46 @@ export class NileChip extends NileElement {
142
152
  }
143
153
  }
144
154
 
155
+ protected async firstUpdated(_changed: PropertyValues) {
156
+ super.firstUpdated?.(_changed);
157
+ await this.updateComplete;
158
+
159
+ const inputTarget =
160
+ this.noAutoComplete
161
+ ? this.renderRoot.querySelector('nile-input')?.input
162
+ : this.autoComplete?.inputElement?.input || this.autoComplete?.inputElement;
163
+
164
+ this.visibilityManager = new VisibilityManager({
165
+ host: this,
166
+ target: inputTarget,
167
+ enableVisibilityEffect: this.enableVisibilityEffect,
168
+ enableTabClose: this.enableTabClose,
169
+ isOpen: () => this.isDropdownOpen,
170
+ onAnchorOutOfView: () => {
171
+ this.isDropdownOpen = false;
172
+ if (this.autoComplete) {
173
+ this.autoComplete.isDropdownOpen = false;
174
+ }
175
+ this.emit('nile-visibility-change', {
176
+ visible: false,
177
+ reason: 'anchor-out-of-view',
178
+ });
179
+ },
180
+ onDocumentHidden: () => {
181
+ this.isDropdownOpen = false;
182
+ if (this.autoComplete) {
183
+ this.autoComplete.isDropdownOpen = false;
184
+ }
185
+ this.emit('nile-visibility-change', {
186
+ visible: false,
187
+ reason: 'document-hidden',
188
+ });
189
+ },
190
+ emit: (event, detail) => this.emit(`nile-${event}`, detail),
191
+ });
192
+ }
193
+
194
+
145
195
  private handleDocumentClick = (event: MouseEvent) => {
146
196
  const path = event.composedPath();
147
197
  if (!path.includes(this)) {
@@ -163,6 +213,7 @@ export class NileChip extends NileElement {
163
213
 
164
214
  disconnectedCallback() {
165
215
  super.disconnectedCallback();
216
+ this.visibilityManager?.cleanup();
166
217
  document.removeEventListener('click', this.handleDocumentClick);
167
218
  this.emit('nile-destroy');
168
219
  }
@@ -394,6 +445,7 @@ export class NileChip extends NileElement {
394
445
  if (this.noAutoComplete) {
395
446
  return;
396
447
  }
448
+ this.visibilityManager?.setup();
397
449
  this.isDropdownOpen = true;
398
450
  }
399
451
 
@@ -407,6 +459,7 @@ export class NileChip extends NileElement {
407
459
  // Reset the input-related properties
408
460
  this.inputValue = '';
409
461
  this.isDropdownOpen = false;
462
+ this.visibilityManager?.cleanup();
410
463
  if (!this.noAutoComplete && this.autoComplete) {
411
464
  this.autoComplete.value = '';
412
465
  this.autoComplete.handleFocus();
@@ -23,6 +23,7 @@ import type { NileMenu } from '../nile-menu';
23
23
  import type { NilePopup } from '../nile-popup';
24
24
  import '../nile-popup';
25
25
  import { DropdownPortalManager } from './portal-manager';
26
+ import { VisibilityManager } from '../utilities/visibility-manager.js';
26
27
 
27
28
  /**
28
29
  * Nile icon component.
@@ -118,7 +119,13 @@ export class NileDropdown extends NileElement {
118
119
  */
119
120
  @property({ type: Boolean, reflect: true }) portal = false;
120
121
 
122
+ @property({ type: Boolean, reflect: true }) enableVisibilityEffect = false;
123
+
124
+ @property({ type: Boolean, reflect: true }) enableTabClose = false;
125
+
126
+
121
127
  private portalManager: DropdownPortalManager | null = null;
128
+ private visibilityManager?: VisibilityManager;
122
129
 
123
130
  connectedCallback() {
124
131
  super.connectedCallback();
@@ -139,7 +146,9 @@ export class NileDropdown extends NileElement {
139
146
  });
140
147
  }
141
148
 
142
- firstUpdated() {
149
+ protected async firstUpdated(_changed: PropertyValues) {
150
+ super.firstUpdated?.(_changed);
151
+
143
152
  this.panel.hidden = !this.open;
144
153
 
145
154
  // If the dropdown is visible on init, update its position
@@ -147,10 +156,38 @@ export class NileDropdown extends NileElement {
147
156
  this.addOpenListeners();
148
157
  this.popup.active = true;
149
158
  }
159
+
160
+ await this.updateComplete;
161
+ const triggerNode = this.trigger.assignedElements({ flatten: true })[0] as HTMLElement | undefined;
162
+
163
+ this.visibilityManager = new VisibilityManager({
164
+ host: this,
165
+ target: triggerNode || null,
166
+ enableVisibilityEffect: this.enableVisibilityEffect,
167
+ enableTabClose: this.enableTabClose,
168
+ isOpen: () => this.open,
169
+ onAnchorOutOfView: () => {
170
+ this.hide();
171
+ this.emit('nile-visibility-change', {
172
+ visible: false,
173
+ reason: 'anchor-out-of-view',
174
+ });
175
+ },
176
+ onDocumentHidden: () => {
177
+ this.hide();
178
+ this.emit('nile-visibility-change', {
179
+ visible: false,
180
+ reason: 'document-hidden',
181
+ });
182
+ },
183
+ emit: (event, detail) => this.emit(`nile-${event}`, detail),
184
+ });
150
185
  }
186
+
151
187
 
152
188
  disconnectedCallback() {
153
189
  super.disconnectedCallback();
190
+ this.visibilityManager?.cleanup();
154
191
  this.removeOpenListeners();
155
192
  this.hide();
156
193
  this.emit('nile-destroy');
@@ -408,6 +445,7 @@ export class NileDropdown extends NileElement {
408
445
 
409
446
  @watch('open', { waitUntilFirstUpdate: true })
410
447
  async handleOpenChange() {
448
+ this.visibilityManager?.setup();
411
449
  if (this.disabled) {
412
450
  this.open = false;
413
451
  return;
@@ -442,6 +480,7 @@ export class NileDropdown extends NileElement {
442
480
  // Hide
443
481
  this.emit('nile-hide');
444
482
  this.removeOpenListeners();
483
+ this.visibilityManager?.cleanup();
445
484
 
446
485
  if (this.portal && this.portalManager) {
447
486
  this.portalManager.cleanupPortalAppend();
@@ -14,15 +14,6 @@ import {
14
14
  import { customElement, property } from 'lit/decorators.js';
15
15
  import { styles } from './nile-inline-edit.css';
16
16
  import NileElement from '../internal/nile-element';
17
- import {
18
- getValueFromSlottedElement,
19
- getDisplayValue,
20
- setSlottedElementValue,
21
- updateSlottedElementValue,
22
- updateValueFromSlottedElement,
23
- handleDocumentFocusIn,
24
- handleDocumentMouseDown,
25
- } from './nile-inline-edit-utils';
26
17
 
27
18
  /**
28
19
  * Nile inline-edit component.
@@ -52,9 +43,6 @@ export class NileInlineEdit extends NileElement {
52
43
  /** Gives the Value to the Inline Edit */
53
44
  @property({ type: String, reflect: true }) value = '';
54
45
 
55
- /** Maximum length for the placeholder value. Values longer than this will be truncated */
56
- @property({ type: Number, attribute: 'max-placeholder-length' }) maxPlaceholderLength: number = 25;
57
-
58
46
  /* #endregion */
59
47
 
60
48
  /* #region Methods */
@@ -64,57 +52,11 @@ export class NileInlineEdit extends NileElement {
64
52
  * @slot This is a slot test
65
53
  */
66
54
 
67
- private handleCloseResult(result: { shouldClose: boolean; newValue: string | null }) {
68
- if (result.shouldClose) {
69
- if (result.newValue !== null) {
70
- this.value = result.newValue;
71
- }
72
- this.open = false;
73
- }
74
- }
75
-
76
- private handleDocumentFocusInWrapper = (event: FocusEvent) => {
77
- const result = handleDocumentFocusIn(event, this, this.open);
78
- this.handleCloseResult(result);
79
- };
80
-
81
- private handleDocumentMouseDownWrapper = (event: MouseEvent) => {
82
- const result = handleDocumentMouseDown(event, this, this.open);
83
- this.handleCloseResult(result);
84
- };
85
-
86
- connectedCallback() {
87
- super.connectedCallback();
88
- }
89
-
90
- updated(changedProperties: Map<string, unknown>) {
91
- super.updated(changedProperties);
92
-
93
- if (changedProperties.has('open')) {
94
- if (this.open) {
95
- updateSlottedElementValue(this.updateComplete, this.shadowRoot, this.value);
96
- document.addEventListener('focusin', this.handleDocumentFocusInWrapper, true);
97
- document.addEventListener('mousedown', this.handleDocumentMouseDownWrapper, true);
98
- } else {
99
- document.removeEventListener('focusin', this.handleDocumentFocusInWrapper, true);
100
- document.removeEventListener('mousedown', this.handleDocumentMouseDownWrapper, true);
101
- }
102
- }
103
- }
104
-
105
- disconnectedCallback() {
106
- super.disconnectedCallback();
107
- document.removeEventListener('focusin', this.handleDocumentFocusInWrapper, true);
108
- document.removeEventListener('mousedown', this.handleDocumentMouseDownWrapper, true);
109
- }
110
-
111
55
  private handleClick() {
112
56
  this.open = true;
113
57
  }
114
58
  public render(): TemplateResult {
115
- // Use truncated value for display, or placeholder if empty
116
- const displayValue = getDisplayValue(this.value, this.maxPlaceholderLength);
117
- const textInsideContainer = displayValue || this.placeholder;
59
+ const textInsideContainer = this.value || this.placeholder;
118
60
  return html`
119
61
  <div class="inline__edit--label" part="label">${this.label}</div>
120
62
  ${this.open
@@ -10,6 +10,8 @@ import tippy, {
10
10
  createSingleton,
11
11
  } from 'tippy.js';
12
12
  import { parseFollowCursor, parseDuration, } from './utils';
13
+ import { VisibilityManager } from '../utilities/visibility-manager.js';
14
+
13
15
 
14
16
  /**
15
17
  * Nile lite-tooltip component.
@@ -115,6 +117,14 @@ export class NileliteTooltip extends NileElement {
115
117
 
116
118
  @property({ type: Number }) interactiveBorder = 2;
117
119
 
120
+ private visibilityManager?: VisibilityManager;
121
+
122
+ @property({ type: Boolean, reflect: true }) enableVisibilityEffect = false;
123
+
124
+ @property({ type: Boolean, reflect: true }) enableTabClose = false;
125
+
126
+
127
+
118
128
  private tooltipInstances?: Instance[];
119
129
  private singleInstance?: Instance;
120
130
  private singletonInstance?: Instance;
@@ -126,9 +136,40 @@ export class NileliteTooltip extends NileElement {
126
136
  super();
127
137
  }
128
138
 
129
- firstUpdated(): void {
139
+ protected firstUpdated(): void {
130
140
  this.attachTooltip();
141
+
142
+ // Get the target element (either 'for' reference or first child)
143
+ const targetEl =
144
+ (this.for && document.getElementById(this.for)) ||
145
+ (this.firstElementChild as HTMLElement | null);
146
+
147
+ this.visibilityManager = new VisibilityManager({
148
+ host: this,
149
+ target: targetEl,
150
+ enableVisibilityEffect: this.enableVisibilityEffect,
151
+ enableTabClose: this.enableTabClose,
152
+ isOpen: () => this.open,
153
+ onAnchorOutOfView: () => {
154
+ this.open = false;
155
+ this.hideAllTooltips();
156
+ this.emit('nile-visibility-change', {
157
+ visible: false,
158
+ reason: 'anchor-out-of-view',
159
+ });
160
+ },
161
+ onDocumentHidden: () => {
162
+ this.open = false;
163
+ this.hideAllTooltips();
164
+ this.emit('nile-visibility-change', {
165
+ visible: false,
166
+ reason: 'document-hidden',
167
+ });
168
+ },
169
+ emit: (event, detail) => this.emit(`nile-${event}`, detail),
170
+ });
131
171
  }
172
+
132
173
 
133
174
  public refresh() {
134
175
  this.attachTooltip();
@@ -332,8 +373,16 @@ if (this.enableRecursiveMode) {
332
373
  }
333
374
  }
334
375
 
376
+ private hideAllTooltips(): void {
377
+ this.singleInstance?.hide();
378
+ this.singletonInstance?.hide();
379
+ this.tooltipInstances?.forEach(t => t.hide());
380
+ }
381
+
382
+
335
383
  disconnectedCallback(): void {
336
384
  super.disconnectedCallback();
385
+ this.visibilityManager?.cleanup();
337
386
  this.destroyTooltips();
338
387
  }
339
388
 
@@ -360,10 +409,12 @@ if (this.enableRecursiveMode) {
360
409
 
361
410
  if (changed.has('open')) {
362
411
  if (this.open) {
412
+ this.visibilityManager?.setup();
363
413
  this.singleInstance?.show();
364
414
  this.singletonInstance?.show();
365
415
  this.tooltipInstances?.forEach(t => t.show());
366
416
  } else {
417
+ this.visibilityManager?.cleanup();
367
418
  this.singleInstance?.hide();
368
419
  this.singletonInstance?.hide();
369
420
  this.tooltipInstances?.forEach(t => t.hide());
@@ -18,6 +18,8 @@ import NileElement from '../internal/nile-element';
18
18
  import { watch } from '../internal/watch';
19
19
  import { CSSResultGroup } from 'lit';
20
20
  import { PopoverPortalManager } from './portal-manager';
21
+ import { VisibilityManager } from '../utilities/visibility-manager.js';
22
+
21
23
 
22
24
  /**
23
25
  * Nile icon component.
@@ -74,6 +76,12 @@ export class NilePopover extends NileElement {
74
76
  | 'anchor' = 'anchor';
75
77
 
76
78
  private portalManager: PopoverPortalManager | null = null;
79
+ private visibilityManager?: VisibilityManager;
80
+
81
+ @property({ type: Boolean, reflect: true }) enableVisibilityEffect = false;
82
+
83
+ @property({ type: Boolean, reflect: true }) enableTabClose = false;
84
+
77
85
 
78
86
  /**
79
87
  * Enable this option to prevent the panel from being clipped when the component is placed inside a container with
@@ -113,6 +121,7 @@ export class NilePopover extends NileElement {
113
121
  disconnectedCallback() {
114
122
  super.disconnectedCallback();
115
123
  this.emit('nile-destroy');
124
+ this.visibilityManager?.cleanup();
116
125
  document.removeEventListener('click', this.handleDocumentClick);
117
126
 
118
127
  if (this.portalManager) {
@@ -121,6 +130,39 @@ export class NilePopover extends NileElement {
121
130
  }
122
131
  }
123
132
 
133
+ protected async firstUpdated(_changed: PropertyValues) {
134
+ super.firstUpdated?.(_changed);
135
+ await this.updateComplete;
136
+
137
+ const anchorSlot = this.renderRoot.querySelector('slot[name="anchor"]') as HTMLSlotElement | null;
138
+ const anchorEl = anchorSlot?.assignedElements({ flatten: true })[0] as HTMLElement | undefined;
139
+
140
+
141
+ this.visibilityManager = new VisibilityManager({
142
+ host: this,
143
+ target: anchorEl || null,
144
+ enableVisibilityEffect: this.enableVisibilityEffect,
145
+ enableTabClose: this.enableTabClose,
146
+ isOpen: () => this.isShow,
147
+ onAnchorOutOfView: () => {
148
+ this.isShow = false;
149
+ this.emit('nile-visibility-change', {
150
+ visible: false,
151
+ reason: 'anchor-out-of-view',
152
+ });
153
+ },
154
+ onDocumentHidden: () => {
155
+ this.isShow = false;
156
+ this.emit('nile-visibility-change', {
157
+ visible: false,
158
+ reason: 'document-hidden',
159
+ });
160
+ },
161
+ emit: (event, detail) => this.emit(`nile-${event}`, detail),
162
+ });
163
+ }
164
+
165
+
124
166
  protected updated(_changedProperties: PropertyValues): void {
125
167
  if (_changedProperties.has('open')) {
126
168
  this.isShow = this.open;
@@ -140,6 +182,7 @@ export class NilePopover extends NileElement {
140
182
  handleShowHide() {
141
183
  if (this.isShow) {
142
184
  this.emit('nile-show');
185
+ this.visibilityManager?.setup();
143
186
  if (this.portal && this.portalManager) {
144
187
  this.portalManager.setupPortalAppend();
145
188
  } else if (this.portal && !this.portalManager) {
@@ -148,6 +191,7 @@ export class NilePopover extends NileElement {
148
191
  }
149
192
  } else {
150
193
  this.emit('nile-hide');
194
+ this.visibilityManager?.cleanup();
151
195
  if (this.portal && this.portalManager) {
152
196
  this.portalManager.cleanupPortalAppend();
153
197
  }