@aquera/nile-elements 1.3.1-beta-1.0 → 1.3.1-beta-1

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 (535) hide show
  1. package/README.md +6 -0
  2. package/demo/index.css +1 -4
  3. package/demo/index.html +15 -38
  4. package/demo/nxtgen.css +6 -0
  5. package/demo/variables.css +6 -2
  6. package/dist/{fixture-d1470b58.cjs.js → fixture-54600b35.cjs.js} +2 -2
  7. package/dist/{fixture-d1470b58.cjs.js.map → fixture-54600b35.cjs.js.map} +1 -1
  8. package/dist/{fixture-1c49c014.cjs.js → fixture-5b79f853.cjs.js} +2 -2
  9. package/dist/{fixture-dff65c89.cjs.js.map → fixture-5b79f853.cjs.js.map} +1 -1
  10. package/dist/{fixture-dff65c89.cjs.js → fixture-73855806.cjs.js} +2 -2
  11. package/dist/{fixture-1c49c014.cjs.js.map → fixture-73855806.cjs.js.map} +1 -1
  12. package/dist/fixture-90b199c4.esm.js +569 -0
  13. package/dist/{fixture-985bba12.esm.js → fixture-9871e8a9.esm.js} +1 -1
  14. package/dist/fixture-c1d78368.cjs.js +395 -0
  15. package/dist/fixture-c1d78368.cjs.js.map +1 -0
  16. package/dist/fixture-cf7bfcf5.esm.js +569 -0
  17. package/dist/fixture-dbd66009.cjs.js +395 -0
  18. package/dist/fixture-dbd66009.cjs.js.map +1 -0
  19. package/dist/index.cjs.js +1 -1
  20. package/dist/index.esm.js +1 -1
  21. package/dist/index.js +981 -628
  22. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  23. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  24. package/dist/nile-auto-complete/index.cjs.js +1 -1
  25. package/dist/nile-auto-complete/index.esm.js +1 -1
  26. package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
  27. package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
  28. package/dist/nile-auto-complete/nile-auto-complete.esm.js +2 -2
  29. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  30. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js.map +1 -1
  31. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  32. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  33. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  34. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  35. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  36. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  37. package/dist/nile-button/nile-button.test.esm.js +1 -1
  38. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  39. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  40. package/dist/nile-calendar/index.cjs.js +1 -1
  41. package/dist/nile-calendar/index.esm.js +1 -1
  42. package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
  43. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  44. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  45. package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
  46. package/dist/nile-calendar/nile-calendar.css.esm.js +387 -110
  47. package/dist/nile-calendar/nile-calendar.enum.cjs.js +2 -0
  48. package/dist/nile-calendar/nile-calendar.enum.cjs.js.map +1 -0
  49. package/dist/nile-calendar/nile-calendar.enum.esm.js +1 -0
  50. package/dist/nile-calendar/nile-calendar.esm.js +216 -108
  51. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  52. package/dist/nile-calendar/nile-calendar.test.cjs.js.map +1 -1
  53. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  54. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  55. package/dist/nile-card/nile-card.test.esm.js +1 -1
  56. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  57. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  58. package/dist/nile-chip/index.cjs.js +1 -1
  59. package/dist/nile-chip/index.esm.js +1 -1
  60. package/dist/nile-chip/nile-chip.cjs.js +1 -1
  61. package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
  62. package/dist/nile-chip/nile-chip.esm.js +2 -2
  63. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  64. package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
  65. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  66. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js +2 -0
  67. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js.map +1 -0
  68. package/dist/nile-code-editor/backup_nile-code-editor copy.esm.js +1 -0
  69. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  70. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  71. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  72. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  73. package/dist/nile-dropdown/index.cjs.js +1 -1
  74. package/dist/nile-dropdown/index.esm.js +1 -1
  75. package/dist/nile-dropdown/nile-dropdown.cjs.js +1 -1
  76. package/dist/nile-dropdown/nile-dropdown.cjs.js.map +1 -1
  77. package/dist/nile-dropdown/nile-dropdown.esm.js +2 -2
  78. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  79. package/dist/nile-dropdown/nile-dropdown.test.cjs.js.map +1 -1
  80. package/dist/nile-dropdown/nile-dropdown.test.esm.js +6 -6
  81. package/dist/nile-dropdown/portal-manager.cjs.js +1 -1
  82. package/dist/nile-dropdown/portal-manager.cjs.js.map +1 -1
  83. package/dist/nile-dropdown/portal-manager.esm.js +1 -1
  84. package/dist/nile-dropdown/portal-utils.cjs.js +1 -1
  85. package/dist/nile-dropdown/portal-utils.cjs.js.map +1 -1
  86. package/dist/nile-dropdown/portal-utils.esm.js +1 -1
  87. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  88. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  89. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  90. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  91. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  92. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  93. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  94. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  95. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  96. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  97. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  98. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  99. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  100. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  101. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  102. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  103. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  104. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  105. package/dist/nile-inline-edit/index.cjs.js +1 -1
  106. package/dist/nile-inline-edit/index.esm.js +1 -1
  107. package/dist/nile-inline-edit/nile-inline-edit-utils.cjs.js +2 -0
  108. package/dist/nile-inline-edit/nile-inline-edit-utils.cjs.js.map +1 -0
  109. package/dist/nile-inline-edit/nile-inline-edit-utils.esm.js +1 -0
  110. package/dist/nile-inline-edit/nile-inline-edit.cjs.js +1 -1
  111. package/dist/nile-inline-edit/nile-inline-edit.cjs.js.map +1 -1
  112. package/dist/nile-inline-edit/nile-inline-edit.esm.js +4 -4
  113. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js +1 -1
  114. package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js.map +1 -1
  115. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js +1 -1
  116. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js.map +1 -1
  117. package/dist/nile-inline-sidebar/nile-inline-sidebar.css.esm.js +2 -10
  118. package/dist/nile-inline-sidebar/nile-inline-sidebar.esm.js +6 -10
  119. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js +1 -1
  120. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js.map +1 -1
  121. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js +1 -1
  122. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js.map +1 -1
  123. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.esm.js +2 -8
  124. package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.esm.js +2 -2
  125. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  126. package/dist/nile-input/nile-input.test.esm.js +1 -1
  127. package/dist/nile-link/nile-link.css.cjs.js +1 -1
  128. package/dist/nile-link/nile-link.css.cjs.js.map +1 -1
  129. package/dist/nile-link/nile-link.css.esm.js +3 -3
  130. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  131. package/dist/nile-link/nile-link.test.esm.js +1 -1
  132. package/dist/nile-lite-tooltip/index.cjs.js +1 -1
  133. package/dist/nile-lite-tooltip/index.esm.js +1 -1
  134. package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js +1 -1
  135. package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js.map +1 -1
  136. package/dist/nile-lite-tooltip/nile-lite-tooltip.esm.js +1 -1
  137. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  138. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  139. package/dist/nile-popover/index.cjs.js +1 -1
  140. package/dist/nile-popover/index.esm.js +1 -1
  141. package/dist/nile-popover/nile-popover.cjs.js +3 -3
  142. package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
  143. package/dist/nile-popover/nile-popover.esm.js +4 -4
  144. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  145. package/dist/nile-popover/nile-popover.test.cjs.js.map +1 -1
  146. package/dist/nile-popover/nile-popover.test.esm.js +4 -4
  147. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  148. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  149. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  150. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  151. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  152. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  153. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  154. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  155. package/dist/nile-select/index.cjs.js +1 -1
  156. package/dist/nile-select/index.esm.js +1 -1
  157. package/dist/nile-select/nile-select.cjs.js +1 -1
  158. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  159. package/dist/nile-select/nile-select.esm.js +2 -2
  160. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  161. package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
  162. package/dist/nile-select/nile-select.test.esm.js +1 -1
  163. package/dist/nile-select/virtual-scroll-helper.cjs.js +1 -1
  164. package/dist/nile-select/virtual-scroll-helper.cjs.js.map +1 -1
  165. package/dist/nile-select/virtual-scroll-helper.esm.js +0 -2
  166. package/dist/nile-side-bar/nile-side-bar.cjs.js +1 -1
  167. package/dist/nile-side-bar/nile-side-bar.cjs.js.map +1 -1
  168. package/dist/nile-side-bar/nile-side-bar.css.cjs.js +1 -1
  169. package/dist/nile-side-bar/nile-side-bar.css.cjs.js.map +1 -1
  170. package/dist/nile-side-bar/nile-side-bar.css.esm.js +29 -24
  171. package/dist/nile-side-bar/nile-side-bar.esm.js +1 -7
  172. package/dist/nile-side-bar-expand/nile-side-bar-expand.cjs.js +1 -1
  173. package/dist/nile-side-bar-expand/nile-side-bar-expand.cjs.js.map +1 -1
  174. package/dist/nile-side-bar-expand/nile-side-bar-expand.css.cjs.js +1 -1
  175. package/dist/nile-side-bar-expand/nile-side-bar-expand.css.cjs.js.map +1 -1
  176. package/dist/nile-side-bar-expand/nile-side-bar-expand.css.esm.js +5 -3
  177. package/dist/nile-side-bar-expand/nile-side-bar-expand.esm.js +8 -8
  178. package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js +1 -1
  179. package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js.map +1 -1
  180. package/dist/nile-side-bar-footer/nile-side-bar-footer.css.esm.js +3 -5
  181. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.cjs.js +1 -1
  182. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.cjs.js.map +1 -1
  183. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js +1 -1
  184. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js.map +1 -1
  185. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.esm.js +5 -17
  186. package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.esm.js +3 -3
  187. package/dist/nile-side-bar-group/nile-side-bar-group.css.cjs.js +1 -1
  188. package/dist/nile-side-bar-group/nile-side-bar-group.css.cjs.js.map +1 -1
  189. package/dist/nile-side-bar-group/nile-side-bar-group.css.esm.js +7 -4
  190. package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.cjs.js +1 -1
  191. package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.cjs.js.map +1 -1
  192. package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.esm.js +56 -58
  193. package/dist/nile-sidebar/index.cjs.js +2 -0
  194. package/dist/nile-sidebar/index.cjs.js.map +1 -0
  195. package/dist/nile-sidebar/index.esm.js +75 -0
  196. package/dist/nile-sidebar-menu/index.cjs.js +2 -0
  197. package/dist/nile-sidebar-menu/index.cjs.js.map +1 -0
  198. package/dist/nile-sidebar-menu/index.esm.js +1 -0
  199. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +2 -0
  200. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +1 -0
  201. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +2 -0
  202. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +1 -0
  203. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +38 -0
  204. package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +10 -0
  205. package/dist/nile-sidebar-menu-items/index.cjs.js +2 -0
  206. package/dist/nile-sidebar-menu-items/index.cjs.js.map +1 -0
  207. package/dist/nile-sidebar-menu-items/index.esm.js +1 -0
  208. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +2 -0
  209. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +1 -0
  210. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +2 -0
  211. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +1 -0
  212. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +36 -0
  213. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +15 -0
  214. package/dist/nile-sidebar-wrapper/index.cjs.js +2 -0
  215. package/dist/nile-sidebar-wrapper/index.cjs.js.map +1 -0
  216. package/dist/nile-sidebar-wrapper/index.esm.js +1 -0
  217. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +2 -0
  218. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +1 -0
  219. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +2 -0
  220. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +1 -0
  221. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +105 -0
  222. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +16 -0
  223. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  224. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  225. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  226. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  227. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  228. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  229. package/dist/nile-tooltip/index.cjs.js +1 -1
  230. package/dist/nile-tooltip/index.esm.js +1 -1
  231. package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
  232. package/dist/nile-tooltip/nile-tooltip.cjs.js.map +1 -1
  233. package/dist/nile-tooltip/nile-tooltip.esm.js +2 -2
  234. package/dist/nile-virtual-select/group-manager.cjs.js +2 -0
  235. package/dist/nile-virtual-select/group-manager.cjs.js.map +1 -0
  236. package/dist/nile-virtual-select/group-manager.esm.js +1 -0
  237. package/dist/nile-virtual-select/index.cjs.js +1 -1
  238. package/dist/nile-virtual-select/index.esm.js +1 -1
  239. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +2 -2
  240. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  241. package/dist/nile-virtual-select/nile-virtual-select.esm.js +13 -13
  242. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  243. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  244. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js +2 -0
  245. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js.map +1 -0
  246. package/dist/nile-virtual-select/temp_nile-virtual-select copy.esm.js +231 -0
  247. package/dist/scopedElementsWrapper-4c29be11.esm.js +7 -0
  248. package/dist/scopedElementsWrapper-a112fc73.cjs.js +6 -0
  249. package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +1 -0
  250. package/dist/src/internal/portal-manager.d.ts +53 -0
  251. package/dist/src/internal/portal-manager.js +196 -0
  252. package/dist/src/internal/portal-manager.js.map +1 -0
  253. package/dist/src/internal/portal.d.ts +60 -0
  254. package/dist/src/internal/portal.js +199 -0
  255. package/dist/src/internal/portal.js.map +1 -0
  256. package/dist/src/internal/resizable-helper.d.ts +59 -0
  257. package/dist/src/internal/resizable-helper.js +115 -0
  258. package/dist/src/internal/resizable-helper.js.map +1 -0
  259. package/dist/src/internal/resizable-styles.d.ts +16 -0
  260. package/dist/src/internal/resizable-styles.js +144 -0
  261. package/dist/src/internal/resizable-styles.js.map +1 -0
  262. package/dist/src/internal/virtualizer-error-handler.d.ts +30 -0
  263. package/dist/src/internal/virtualizer-error-handler.js +82 -0
  264. package/dist/src/internal/virtualizer-error-handler.js.map +1 -0
  265. package/dist/src/lib/index.d.ts +7 -0
  266. package/dist/src/lib/index.js +8 -0
  267. package/dist/src/lib/index.js.map +1 -0
  268. package/dist/src/lib/virtualize.d.ts +32 -0
  269. package/dist/src/lib/virtualize.js +105 -0
  270. package/dist/src/lib/virtualize.js.map +1 -0
  271. package/dist/src/lib/virtualize.test.d.ts +7 -0
  272. package/dist/src/lib/virtualize.test.js +57 -0
  273. package/dist/src/lib/virtualize.test.js.map +1 -0
  274. package/dist/src/nile-auto-complete/nile-auto-complete.d.ts +4 -0
  275. package/dist/src/nile-auto-complete/nile-auto-complete.js +39 -0
  276. package/dist/src/nile-auto-complete/nile-auto-complete.js.map +1 -1
  277. package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +17 -0
  278. package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +310 -0
  279. package/dist/src/nile-calendar/nile-calendar.css.js +385 -108
  280. package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
  281. package/dist/src/nile-calendar/nile-calendar.d.ts +17 -1
  282. package/dist/src/nile-calendar/nile-calendar.js +345 -108
  283. package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
  284. package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +34 -0
  285. package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +31 -0
  286. package/dist/src/nile-chip/nile-chip.d.ts +4 -0
  287. package/dist/src/nile-chip/nile-chip.js +46 -0
  288. package/dist/src/nile-chip/nile-chip.js.map +1 -1
  289. package/dist/src/nile-code-editor/Old_theme copy.d.ts +191 -0
  290. package/dist/src/nile-code-editor/Old_theme copy.js +193 -0
  291. package/dist/src/nile-code-editor/Old_theme copy.js.map +1 -0
  292. package/dist/src/nile-code-editor/backup_nile-code-editor copy.d.ts +0 -0
  293. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js +675 -0
  294. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js.map +1 -0
  295. package/dist/src/nile-code-editor/theme copy.d.ts +191 -0
  296. package/dist/src/nile-code-editor/theme copy.js +193 -0
  297. package/dist/src/nile-code-editor/theme copy.js.map +1 -0
  298. package/dist/src/nile-dropdown/nile-dropdown.d.ts +4 -1
  299. package/dist/src/nile-dropdown/nile-dropdown.js +37 -1
  300. package/dist/src/nile-dropdown/nile-dropdown.js.map +1 -1
  301. package/dist/src/nile-dropdown/portal-manager.js +2 -0
  302. package/dist/src/nile-dropdown/portal-manager.js.map +1 -1
  303. package/dist/src/nile-dropdown/portal-utils.d.ts +1 -0
  304. package/dist/src/nile-dropdown/portal-utils.js +24 -0
  305. package/dist/src/nile-dropdown/portal-utils.js.map +1 -1
  306. package/dist/src/nile-floating-panel/anchor-manager.d.ts +26 -0
  307. package/dist/src/nile-floating-panel/anchor-manager.js +49 -0
  308. package/dist/src/nile-floating-panel/anchor-manager.js.map +1 -0
  309. package/dist/src/nile-floating-panel/content-manager.d.ts +23 -0
  310. package/dist/src/nile-floating-panel/content-manager.js +67 -0
  311. package/dist/src/nile-floating-panel/content-manager.js.map +1 -0
  312. package/dist/src/nile-floating-panel/event-manager.d.ts +38 -0
  313. package/dist/src/nile-floating-panel/event-manager.js +81 -0
  314. package/dist/src/nile-floating-panel/event-manager.js.map +1 -0
  315. package/dist/src/nile-floating-panel/index.d.ts +1 -0
  316. package/dist/src/nile-floating-panel/index.js +2 -0
  317. package/dist/src/nile-floating-panel/index.js.map +1 -0
  318. package/dist/src/nile-floating-panel/nile-floating-panel.css.d.ts +17 -0
  319. package/dist/src/nile-floating-panel/nile-floating-panel.css.js +51 -0
  320. package/dist/src/nile-floating-panel/nile-floating-panel.css.js.map +1 -0
  321. package/dist/src/nile-floating-panel/nile-floating-panel.d.ts +67 -0
  322. package/dist/src/nile-floating-panel/nile-floating-panel.js +203 -0
  323. package/dist/src/nile-floating-panel/nile-floating-panel.js.map +1 -0
  324. package/dist/src/nile-floating-panel/position-manager.d.ts +47 -0
  325. package/dist/src/nile-floating-panel/position-manager.js +94 -0
  326. package/dist/src/nile-floating-panel/position-manager.js.map +1 -0
  327. package/dist/src/nile-floating-panel/style-manager.d.ts +31 -0
  328. package/dist/src/nile-floating-panel/style-manager.js +74 -0
  329. package/dist/src/nile-floating-panel/style-manager.js.map +1 -0
  330. package/dist/src/nile-floating-panel/types.d.ts +29 -0
  331. package/dist/src/nile-floating-panel/types.js +8 -0
  332. package/dist/src/nile-floating-panel/types.js.map +1 -0
  333. package/dist/src/nile-grid/data-processor.d.ts +37 -0
  334. package/dist/src/nile-grid/data-processor.js +122 -0
  335. package/dist/src/nile-grid/data-processor.js.map +1 -0
  336. package/dist/src/nile-grid/event-handlers.d.ts +35 -0
  337. package/dist/src/nile-grid/event-handlers.js +158 -0
  338. package/dist/src/nile-grid/event-handlers.js.map +1 -0
  339. package/dist/src/nile-grid/renderer.d.ts +8 -0
  340. package/dist/src/nile-grid/renderer.js +78 -0
  341. package/dist/src/nile-grid/renderer.js.map +1 -0
  342. package/dist/src/nile-grid/resize-handler.d.ts +4 -0
  343. package/dist/src/nile-grid/resize-handler.js +36 -0
  344. package/dist/src/nile-grid/resize-handler.js.map +1 -0
  345. package/dist/src/nile-grid/types.d.ts +32 -0
  346. package/dist/src/nile-grid/types.js +2 -0
  347. package/dist/src/nile-grid/types.js.map +1 -0
  348. package/dist/src/nile-grid/utils.d.ts +4 -0
  349. package/dist/src/nile-grid/utils.js +32 -0
  350. package/dist/src/nile-grid/utils.js.map +1 -0
  351. package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +47 -0
  352. package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +16 -0
  353. package/dist/src/nile-inline-edit/nile-inline-edit.d.ts +10 -0
  354. package/dist/src/nile-inline-edit/nile-inline-edit.js +52 -1
  355. package/dist/src/nile-inline-edit/nile-inline-edit.js.map +1 -1
  356. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js +2 -10
  357. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js.map +1 -1
  358. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js +3 -11
  359. package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js.map +1 -1
  360. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js +0 -6
  361. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js.map +1 -1
  362. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.d.ts +0 -1
  363. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js +0 -4
  364. package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js.map +1 -1
  365. package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +75 -0
  366. package/dist/src/nile-link/nile-link.css.js +3 -3
  367. package/dist/src/nile-link/nile-link.css.js.map +1 -1
  368. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.d.ts +5 -1
  369. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.js +43 -0
  370. package/dist/src/nile-lite-tooltip/nile-lite-tooltip.js.map +1 -1
  371. package/dist/src/nile-menu/portal-manager.d.ts +39 -0
  372. package/dist/src/nile-menu/portal-manager.js +340 -0
  373. package/dist/src/nile-menu/portal-manager.js.map +1 -0
  374. package/dist/src/nile-menu/portal-utils.d.ts +21 -0
  375. package/dist/src/nile-menu/portal-utils.js +128 -0
  376. package/dist/src/nile-menu/portal-utils.js.map +1 -0
  377. package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +22 -0
  378. package/dist/src/nile-popover/nile-popover.d.ts +4 -0
  379. package/dist/src/nile-popover/nile-popover.js +39 -0
  380. package/dist/src/nile-popover/nile-popover.js.map +1 -1
  381. package/dist/src/nile-popover/popover-portal-handler.d.ts +21 -0
  382. package/dist/src/nile-popover/popover-portal-handler.js +106 -0
  383. package/dist/src/nile-popover/popover-portal-handler.js.map +1 -0
  384. package/dist/src/nile-portal-wrapper/index.d.ts +1 -0
  385. package/dist/src/nile-portal-wrapper/index.js +2 -0
  386. package/dist/src/nile-portal-wrapper/index.js.map +1 -0
  387. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.d.ts +47 -0
  388. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js +451 -0
  389. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js.map +1 -0
  390. package/dist/src/nile-select/body-append-manager.d.ts +90 -0
  391. package/dist/src/nile-select/body-append-manager.js +298 -0
  392. package/dist/src/nile-select/body-append-manager.js.map +1 -0
  393. package/dist/src/nile-select/nile-select.d.ts +1 -5
  394. package/dist/src/nile-select/nile-select.js +28 -67
  395. package/dist/src/nile-select/nile-select.js.map +1 -1
  396. package/dist/src/nile-select/virtual-scroll-helper.js +0 -2
  397. package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -1
  398. package/dist/src/nile-side-bar/nile-side-bar.css.js +27 -22
  399. package/dist/src/nile-side-bar/nile-side-bar.css.js.map +1 -1
  400. package/dist/src/nile-side-bar/nile-side-bar.js +1 -7
  401. package/dist/src/nile-side-bar/nile-side-bar.js.map +1 -1
  402. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.css.js +5 -3
  403. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.css.js.map +1 -1
  404. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.d.ts +0 -2
  405. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.js +4 -12
  406. package/dist/src/nile-side-bar-expand/nile-side-bar-expand.js.map +1 -1
  407. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js +1 -3
  408. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js.map +1 -1
  409. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js +3 -15
  410. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js.map +1 -1
  411. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.d.ts +0 -1
  412. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.js +1 -8
  413. package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.js.map +1 -1
  414. package/dist/src/nile-side-bar-group/nile-side-bar-group.css.js +5 -2
  415. package/dist/src/nile-side-bar-group/nile-side-bar-group.css.js.map +1 -1
  416. package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.css.js +46 -48
  417. package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.css.js.map +1 -1
  418. package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +9 -0
  419. package/dist/src/nile-table-body/virtual-scroll-helper.js +24 -0
  420. package/dist/src/nile-table-body/virtual-scroll-helper.js.map +1 -0
  421. package/dist/src/nile-tooltip/nile-tooltip.d.ts +3 -0
  422. package/dist/src/nile-tooltip/nile-tooltip.js +36 -0
  423. package/dist/src/nile-tooltip/nile-tooltip.js.map +1 -1
  424. package/dist/src/nile-virtual-select/body-append-helper.d.ts +16 -0
  425. package/dist/src/nile-virtual-select/body-append-helper.js +95 -0
  426. package/dist/src/nile-virtual-select/body-append-helper.js.map +1 -0
  427. package/dist/src/nile-virtual-select/group-manager.d.ts +32 -0
  428. package/dist/src/nile-virtual-select/group-manager.js +134 -0
  429. package/dist/src/nile-virtual-select/group-manager.js.map +1 -0
  430. package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +2 -5
  431. package/dist/src/nile-virtual-select/nile-virtual-select.js +28 -66
  432. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
  433. package/dist/src/nile-virtual-select/portal-utils.d.ts +65 -0
  434. package/dist/src/nile-virtual-select/portal-utils.js +376 -0
  435. package/dist/src/nile-virtual-select/portal-utils.js.map +1 -0
  436. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.d.ts +273 -0
  437. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js +1305 -0
  438. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js.map +1 -0
  439. package/dist/src/nile-virtual-select/virtualizer-error-handler.d.ts +21 -0
  440. package/dist/src/nile-virtual-select/virtualizer-error-handler.js +56 -0
  441. package/dist/src/nile-virtual-select/virtualizer-error-handler.js.map +1 -0
  442. package/dist/src/nile-virtual-select-disabled/index.d.ts +1 -0
  443. package/dist/src/nile-virtual-select-disabled/index.js +2 -0
  444. package/dist/src/nile-virtual-select-disabled/index.js.map +1 -0
  445. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.d.ts +12 -0
  446. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js +538 -0
  447. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js.map +1 -0
  448. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.d.ts +299 -0
  449. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js +1441 -0
  450. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js.map +1 -0
  451. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.d.ts +7 -0
  452. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js +631 -0
  453. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js.map +1 -0
  454. package/dist/src/nile-virtual-select-disabled/portal-manager.d.ts +45 -0
  455. package/dist/src/nile-virtual-select-disabled/portal-manager.js +333 -0
  456. package/dist/src/nile-virtual-select-disabled/portal-manager.js.map +1 -0
  457. package/dist/src/nile-virtual-select-disabled/renderer.d.ts +16 -0
  458. package/dist/src/nile-virtual-select-disabled/renderer.js +79 -0
  459. package/dist/src/nile-virtual-select-disabled/renderer.js.map +1 -0
  460. package/dist/src/nile-virtual-select-disabled/search-manager.d.ts +12 -0
  461. package/dist/src/nile-virtual-select-disabled/search-manager.js +40 -0
  462. package/dist/src/nile-virtual-select-disabled/search-manager.js.map +1 -0
  463. package/dist/src/nile-virtual-select-disabled/selection-manager.d.ts +12 -0
  464. package/dist/src/nile-virtual-select-disabled/selection-manager.js +64 -0
  465. package/dist/src/nile-virtual-select-disabled/selection-manager.js.map +1 -0
  466. package/dist/src/nile-virtual-select-disabled/types.d.ts +50 -0
  467. package/dist/src/nile-virtual-select-disabled/types.js +8 -0
  468. package/dist/src/nile-virtual-select-disabled/types.js.map +1 -0
  469. package/dist/src/nile-virtual-table-body/index.d.ts +2 -0
  470. package/dist/src/nile-virtual-table-body/index.js +3 -0
  471. package/dist/src/nile-virtual-table-body/index.js.map +1 -0
  472. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +1 -0
  473. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +44 -0
  474. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +1 -0
  475. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +50 -0
  476. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +135 -0
  477. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +1 -0
  478. package/dist/src/nile-virtual-table-body/renderer.d.ts +16 -0
  479. package/dist/src/nile-virtual-table-body/renderer.js +49 -0
  480. package/dist/src/nile-virtual-table-body/renderer.js.map +1 -0
  481. package/dist/src/utilities/stepper-utils.d.ts +71 -0
  482. package/dist/src/utilities/stepper-utils.js +108 -0
  483. package/dist/src/utilities/stepper-utils.js.map +1 -0
  484. package/dist/src/version.js +2 -2
  485. package/dist/src/version.js.map +1 -1
  486. package/dist/tsconfig.tsbuildinfo +1 -1
  487. package/package.json +2 -2
  488. package/src/nile-auto-complete/nile-auto-complete.ts +41 -0
  489. package/src/nile-calendar/nile-calendar.css.ts +385 -108
  490. package/src/nile-calendar/nile-calendar.enum.ts +5 -0
  491. package/src/nile-calendar/nile-calendar.ts +374 -119
  492. package/src/nile-chip/nile-chip.ts +48 -0
  493. package/src/nile-dropdown/nile-dropdown.ts +39 -1
  494. package/src/nile-dropdown/portal-manager.ts +2 -0
  495. package/src/nile-dropdown/portal-utils.ts +26 -0
  496. package/src/nile-inline-edit/nile-inline-edit-utils.ts +94 -0
  497. package/src/nile-inline-edit/nile-inline-edit.ts +59 -1
  498. package/src/nile-inline-sidebar/nile-inline-sidebar.css.ts +2 -10
  499. package/src/nile-inline-sidebar/nile-inline-sidebar.ts +5 -17
  500. package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.ts +0 -6
  501. package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.ts +0 -1
  502. package/src/nile-link/nile-link.css.ts +3 -3
  503. package/src/nile-lite-tooltip/nile-lite-tooltip.ts +47 -1
  504. package/src/nile-popover/nile-popover.ts +43 -0
  505. package/src/nile-select/nile-select.ts +31 -87
  506. package/src/nile-select/virtual-scroll-helper.ts +0 -2
  507. package/src/nile-side-bar/nile-side-bar.css.ts +27 -22
  508. package/src/nile-side-bar/nile-side-bar.ts +1 -8
  509. package/src/nile-side-bar-expand/nile-side-bar-expand.css.ts +5 -3
  510. package/src/nile-side-bar-expand/nile-side-bar-expand.ts +4 -6
  511. package/src/nile-side-bar-footer/nile-side-bar-footer.css.ts +1 -3
  512. package/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.ts +3 -15
  513. package/src/nile-side-bar-footer-item/nile-side-bar-footer-item.ts +1 -9
  514. package/src/nile-side-bar-group/nile-side-bar-group.css.ts +5 -2
  515. package/src/nile-side-bar-group-item/nile-side-bar-group-item.css.ts +47 -49
  516. package/src/nile-tooltip/nile-tooltip.ts +37 -0
  517. package/src/nile-virtual-select/nile-virtual-select.ts +31 -87
  518. package/src/utilities/visibility-manager.ts +104 -0
  519. package/vscode-html-custom-data.json +124 -50
  520. package/dist/assets/nile-elements-4b5c262d.css +0 -1
  521. package/dist/nile-light-tooltip/index.esm.js +0 -1
  522. package/dist/nile-light-tooltip/nile-light-tooltip.css.esm.js +0 -6
  523. package/dist/nile-light-tooltip/nile-light-tooltip.esm.js +0 -1
  524. package/dist/src/nile-light-tooltip/index.d.ts +0 -1
  525. package/dist/src/nile-light-tooltip/index.js +0 -2
  526. package/dist/src/nile-light-tooltip/index.js.map +0 -1
  527. package/dist/src/nile-light-tooltip/nile-light-tooltip.css.d.ts +0 -12
  528. package/dist/src/nile-light-tooltip/nile-light-tooltip.css.js +0 -18
  529. package/dist/src/nile-light-tooltip/nile-light-tooltip.css.js.map +0 -1
  530. package/dist/src/nile-light-tooltip/nile-light-tooltip.d.ts +0 -40
  531. package/dist/src/nile-light-tooltip/nile-light-tooltip.js +0 -101
  532. package/dist/src/nile-light-tooltip/nile-light-tooltip.js.map +0 -1
  533. package/dist/src/nile-menu/virtual-menu-search-manager.d.ts +0 -11
  534. package/dist/src/nile-menu/virtual-menu-search-manager.js +0 -43
  535. package/dist/src/nile-menu/virtual-menu-search-manager.js.map +0 -1
@@ -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,38 @@ export class NilePopover extends NileElement {
121
130
  }
122
131
  }
123
132
 
133
+ protected async firstUpdated(_changed: PropertyValues) {
134
+ await this.updateComplete;
135
+
136
+ const anchorSlot = this.renderRoot.querySelector('slot[name="anchor"]') as HTMLSlotElement | null;
137
+ const anchorEl = anchorSlot?.assignedElements({ flatten: true })[0] as HTMLElement | undefined;
138
+
139
+
140
+ this.visibilityManager = new VisibilityManager({
141
+ host: this,
142
+ target: anchorEl || null,
143
+ enableVisibilityEffect: this.enableVisibilityEffect,
144
+ enableTabClose: this.enableTabClose,
145
+ isOpen: () => this.isShow,
146
+ onAnchorOutOfView: () => {
147
+ this.isShow = false;
148
+ this.emit('nile-visibility-change', {
149
+ visible: false,
150
+ reason: 'anchor-out-of-view',
151
+ });
152
+ },
153
+ onDocumentHidden: () => {
154
+ this.isShow = false;
155
+ this.emit('nile-visibility-change', {
156
+ visible: false,
157
+ reason: 'document-hidden',
158
+ });
159
+ },
160
+ emit: (event, detail) => this.emit(`nile-${event}`, detail),
161
+ });
162
+ }
163
+
164
+
124
165
  protected updated(_changedProperties: PropertyValues): void {
125
166
  if (_changedProperties.has('open')) {
126
167
  this.isShow = this.open;
@@ -140,6 +181,7 @@ export class NilePopover extends NileElement {
140
181
  handleShowHide() {
141
182
  if (this.isShow) {
142
183
  this.emit('nile-show');
184
+ this.visibilityManager?.setup();
143
185
  if (this.portal && this.portalManager) {
144
186
  this.portalManager.setupPortalAppend();
145
187
  } else if (this.portal && !this.portalManager) {
@@ -148,6 +190,7 @@ export class NilePopover extends NileElement {
148
190
  }
149
191
  } else {
150
192
  this.emit('nile-hide');
193
+ this.visibilityManager?.cleanup();
151
194
  if (this.portal && this.portalManager) {
152
195
  this.portalManager.cleanupPortalAppend();
153
196
  }
@@ -42,6 +42,7 @@ import NileOptionGroup from '../nile-option-group/nile-option-group';
42
42
  import { GroupAttributes } from './nile-select.interface';
43
43
  import { ResizeController } from '@lit-labs/observers/resize-controller.js';
44
44
  import { PortalManager } from './portal-manager';
45
+ import { VisibilityManager } from '../utilities/visibility-manager';
45
46
 
46
47
  type NileRemoveEvent = CustomEvent<Record<PropertyKey, never>>;
47
48
 
@@ -123,6 +124,8 @@ export class NileSelect extends NileElement implements NileFormControl{
123
124
  private scrolling = false;
124
125
  private options: NileOption[] = [];
125
126
  private resizeController?: ResizeController;
127
+ private visibilityManager?: VisibilityManager;
128
+
126
129
 
127
130
  @query('.select') popup: NilePopup;
128
131
  @query('.select__combobox') combobox: HTMLSlotElement;
@@ -333,6 +336,7 @@ export class NileSelect extends NileElement implements NileFormControl{
333
336
  clearTimeout(this.scrollTimeout);
334
337
  this.scrollTimeout = undefined;
335
338
  }
339
+ this.visibilityManager?.cleanup();
336
340
  // Clean up body append elements
337
341
  this.portalManager.cleanupPortalAppend();
338
342
  this.emit('nile-destroy');
@@ -373,6 +377,31 @@ export class NileSelect extends NileElement implements NileFormControl{
373
377
  if(_changedProperties.has('multiple')) {
374
378
  this.setCheckBoxInOption(this.multiple as boolean);
375
379
  }
380
+ this.visibilityManager = new VisibilityManager({
381
+ host: this,
382
+ target: this.combobox,
383
+ enableVisibilityEffect: this.enableVisibilityEffect,
384
+ enableTabClose: this.enableTabClose,
385
+ isOpen: () => this.open,
386
+ onAnchorOutOfView: () => {
387
+ this.hide();
388
+ this.emit('nile-visibility-change', {
389
+ visible: false,
390
+ reason: 'anchor-out-of-view',
391
+ name: this.name,
392
+ });
393
+ },
394
+ onDocumentHidden: () => {
395
+ this.hide();
396
+ this.emit('nile-visibility-change', {
397
+ visible: false,
398
+ reason: 'document-hidden',
399
+ name: this.name,
400
+ });
401
+ },
402
+ emit: (event, detail) => this.emit(`nile-${event}`, detail),
403
+ });
404
+
376
405
  }
377
406
 
378
407
  setCheckBoxInOption(checked: boolean): void {
@@ -428,89 +457,6 @@ export class NileSelect extends NileElement implements NileFormControl{
428
457
 
429
458
 
430
459
 
431
- private anchorVisibilityObservers: IntersectionObserver[] = [];
432
-
433
- private getScrollableAncestors(element: HTMLElement): HTMLElement[] {
434
- const scrollables: HTMLElement[] = [];
435
- let parent = element.parentElement;
436
- while (parent) {
437
- const style = getComputedStyle(parent);
438
- const canScroll =
439
- /(auto|scroll)/.test(style.overflow + style.overflowY + style.overflowX);
440
- if (canScroll) {
441
- scrollables.push(parent);
442
- }
443
- parent = parent.parentElement;
444
- }
445
- return scrollables;
446
- }
447
-
448
-
449
- private handleDocumentVisibilityChange = (): void => {
450
- if (!this.enableTabClose) return;
451
- if (document.visibilityState === 'hidden' && this.open) {
452
- this.hide();
453
- this.emit('nile-visibility-change', {
454
- visible: false,
455
- reason: 'document-hidden',
456
- name: this.name,
457
- });
458
- }
459
- };
460
-
461
-
462
- private setupAnchorVisibilityObserver(): void {
463
- if (!this.enableVisibilityEffect) return;
464
-
465
- this.cleanupAnchorVisibilityObserver();
466
-
467
- const combobox = this.combobox;
468
- if (!combobox) return;
469
- const scrollContainers = [...this.getScrollableAncestors(this), null];
470
-
471
- scrollContainers.forEach((rootContainer) => {
472
- const observer = new IntersectionObserver(
473
- (entries) => {
474
- for (const entry of entries) {
475
- if (!entry.isIntersecting && this.open) {
476
- this.hide();
477
- this.emit('nile-visibility-change', {
478
- visible: false,
479
- reason: 'anchor-out-of-view',
480
- name: this.name,
481
- root: rootContainer,
482
- });
483
- return;
484
- }
485
- }
486
- },
487
- {
488
- root: rootContainer,
489
- threshold: 0.1,
490
- }
491
- );
492
-
493
- observer.observe(combobox);
494
- this.anchorVisibilityObservers.push(observer);
495
- });
496
-
497
- if (this.enableTabClose) {
498
- document.addEventListener(
499
- 'visibilitychange',
500
- this.handleDocumentVisibilityChange
501
- );
502
- }
503
- }
504
-
505
- private cleanupAnchorVisibilityObserver(): void {
506
- this.anchorVisibilityObservers.forEach((o) => o.disconnect());
507
- this.anchorVisibilityObservers = [];
508
-
509
- document.removeEventListener(
510
- 'visibilitychange',
511
- this.handleDocumentVisibilityChange
512
- );
513
- }
514
460
 
515
461
 
516
462
 
@@ -1162,6 +1108,7 @@ export class NileSelect extends NileElement implements NileFormControl{
1162
1108
  }
1163
1109
 
1164
1110
  this.addOpenListeners();
1111
+ this.visibilityManager?.setup();
1165
1112
 
1166
1113
  this.showNoResults = !this.getAllOptions()?.length;
1167
1114
 
@@ -1174,10 +1121,6 @@ export class NileSelect extends NileElement implements NileFormControl{
1174
1121
  this.setCurrentOption(this.currentOption);
1175
1122
  });
1176
1123
 
1177
- if (this.enableVisibilityEffect) {
1178
- this.setupAnchorVisibilityObserver();
1179
- }
1180
-
1181
1124
  const { keyframes, options } = getAnimation(this, 'select.show', {
1182
1125
  dir: 'ltr',
1183
1126
  });
@@ -1203,6 +1146,7 @@ export class NileSelect extends NileElement implements NileFormControl{
1203
1146
  this.emit('nile-hide', { value: this.value, name: this.name });
1204
1147
  this.showSelected = false;
1205
1148
  this.removeOpenListeners();
1149
+ this.visibilityManager?.cleanup();
1206
1150
 
1207
1151
  await stopAnimations(this);
1208
1152
  const { keyframes, options } = getAnimation(this, 'select.hide', {
@@ -27,7 +27,6 @@ export class VirtualScrollHelper {
27
27
  .disableLocalSearch=${component.disableLocalSearch}
28
28
  .optionsLoading=${component.optionsLoading}
29
29
  .multiple=${component.multiple}
30
- .enableTabClose=${component.enableTabClose}
31
30
  .helpText=${component.helpText}
32
31
  .errorMessage=${component.errorMessage}
33
32
  .warning=${component.warning}
@@ -50,7 +49,6 @@ export class VirtualScrollHelper {
50
49
  .noWidthSync=${component.noWidthSync}
51
50
  .maxOptionsVisible=${component.maxOptionsVisible}
52
51
  .enableTabClose=${component.enableTabClose}
53
- .enableVisibilityEffect=${component.enableVisibilityEffect}
54
52
  .data=${component.data}
55
53
  .open=${component.open}
56
54
  .loading=${component.loading}
@@ -19,8 +19,7 @@ export const styles = css`
19
19
  display: flex;
20
20
  flex-direction: column;
21
21
  background-color: var(--nile-colors-neutral-100);
22
- height: 100%;
23
- overflow: hidden;
22
+ overflow: auto;
24
23
  transition: width 0.25s ease, transform 0.25s ease;
25
24
  z-index: 1000;
26
25
  }
@@ -46,6 +45,15 @@ export const styles = css`
46
45
  transform: translateX(calc(var(--sidebar-width) - var(--sidebar-collapsed-width)));
47
46
  }
48
47
 
48
+
49
+
50
+ ::slotted(*) {
51
+ display: block;
52
+ min-width: 0;
53
+ /* padding: var(--nile-spacing-xl) */
54
+ }
55
+
56
+
49
57
  :host {
50
58
  scrollbar-width: thin;
51
59
  scrollbar-color: #64748b transparent;
@@ -61,32 +69,29 @@ export const styles = css`
61
69
  background-color: #64748b;
62
70
  border-radius: 10px;
63
71
  }
64
-
65
-
66
- .scroll-container {
67
- flex: 1;
68
- overflow-y: auto;
69
- overflow-x: hidden;
70
- display: flex;
71
- flex-direction: column;
72
+ :host([fullheight]) {
73
+ position: fixed;
74
+ top: 0;
75
+ height: 100dvh;
72
76
  }
73
77
 
74
-
75
- ::slotted(nile-side-bar-header) {
76
- flex-shrink: 0;
78
+ :host(:not([fullheight])) {
79
+ position: relative;
80
+ height: 100%;
77
81
  }
78
-
79
82
  ::slotted(nile-side-bar-footer) {
80
- flex-shrink: 0;
81
- position: sticky;
82
- bottom: 0;
83
- margin-top: auto;
83
+ margin-top: auto;
84
+ flex-shrink: 0;
85
+ }
86
+ :host([collapsed]) ::slotted(nile-side-bar-footer-item) .footer-item {
87
+ justify-content: center;
88
+ padding: 0;
84
89
  }
85
90
 
86
-
87
-
88
-
89
-
91
+ :host([collapsed]) ::slotted(nile-side-bar-footer-item) ::slotted([slot='text']),
92
+ :host([collapsed]) ::slotted(nile-side-bar-footer-item) ::slotted([slot='action']) {
93
+ display: none;
94
+ }
90
95
 
91
96
 
92
97
 
@@ -54,15 +54,8 @@ export class NileSideBar extends NileElement {
54
54
  }
55
55
 
56
56
  public render(): TemplateResult {
57
- return html`
58
- <slot name="header"></slot>
59
- <div class="scroll-container">
60
- <slot></slot>
61
- </div>
62
- <slot name="footer"></slot>
63
- `;
57
+ return html`<slot></slot>`;
64
58
  }
65
-
66
59
  }
67
60
 
68
61
  export default NileSideBar;
@@ -19,8 +19,8 @@ export const styles = css`
19
19
  display: flex;
20
20
  align-items: center;
21
21
  justify-content: center;
22
- width: 38px;
23
- height: 38px;
22
+ width: 32px;
23
+ height: 32px;
24
24
  border: none;
25
25
  background: transparent;
26
26
  color: inherit;
@@ -29,7 +29,9 @@ export const styles = css`
29
29
  transition: background-color 0.2s ease;
30
30
  }
31
31
 
32
-
32
+ .expand-btn:hover {
33
+ background-color: rgba(255, 255, 255, 0.1);
34
+ }
33
35
 
34
36
  nile-tooltip::part(body) {
35
37
  width: max-content;
@@ -13,8 +13,6 @@ import NileElement from '../internal/nile-element';
13
13
  export class NileSideBarExpand extends NileElement {
14
14
  @property({ type: Boolean, reflect: true })
15
15
  collapsed: boolean = false;
16
- @property({type: String, reflect:true, attribute:true}) expandTooltipText: string = 'Expand Sidebar';
17
- @property({type: String, reflect:true, attribute:true}) collapseTooltipText: string = 'Collapse Sidebar';
18
16
 
19
17
  public static get styles(): CSSResultArray {
20
18
  return [styles];
@@ -48,14 +46,14 @@ export class NileSideBarExpand extends NileElement {
48
46
  <button class="expand-btn" @click=${this.toggleSidebar}>
49
47
  ${this.collapsed
50
48
  ? html`
51
- <nile-lite-tooltip placement="right" hoist content=${this.expandTooltipText}>
49
+ <nile-tooltip placement="right" hoist content="Expand Sidebar">
52
50
  <span part="icon"><nile-icon name="moveright"></nile-icon></span>
53
- </nile-lite-tooltip>
51
+ </nile-tooltip>
54
52
  `
55
53
  : html`
56
- <nile-lite-tooltip placement="right" hoist content=${this.collapseTooltipText}>
54
+ <nile-tooltip placement="right" hoist content="Collapse Sidebar">
57
55
  <span part="icon"><nile-icon name="moveleft"></nile-icon></span>
58
- </nile-lite-tooltip>
56
+ </nile-tooltip>
59
57
  `}
60
58
  </button>
61
59
  `;
@@ -6,15 +6,13 @@ import { css } from 'lit';
6
6
  export const styles = css`
7
7
  :host {
8
8
  display: block;
9
+ position: sticky;
9
10
  bottom: var(--nile-spacing-md);
10
11
  padding-bottom: var(--nile-spacing-xl);
11
12
  padding-left: var(--nile-spacing-xl);
12
13
  padding-right: var(--nile-spacing-xl);
13
- padding-top: var(--nile-spacing-xs);
14
14
  gap: var(--nile-spacing-md);
15
15
  z-index: 10;
16
- bottom: 0;
17
- position: sticky;
18
16
  background: var(--nile-colors-neutral-100);
19
17
  }
20
18
 
@@ -10,11 +10,8 @@ export const styles = css`
10
10
  display: flex;
11
11
  align-items: center;
12
12
  justify-content: flex-start;
13
- padding-top: var(--nile-spacing-md);
14
- padding-bottom: var(--nile-spacing-md);
15
- padding-left: var(--nile-spacing-lg);
16
- padding-right: var(--nile-spacing-lg);
17
- font-size: var(--nile-type-scale-3);
13
+ padding: 12px;
14
+ font-size: 0.875rem;
18
15
  color: var(--nile-side-bar-footer-color, #374151);
19
16
  cursor: pointer;
20
17
  border-radius: var(--nile-side-bar-footer-radius, 0.375rem);
@@ -56,13 +53,8 @@ export const styles = css`
56
53
 
57
54
  :host([type='support']) .footer-item {
58
55
  background: var(--nile-colors-neutral-400);
59
- height: 38px;
60
- }
61
- :host([type='support'][active]) .footer-item {
62
- background: var(--nile-colors-neutral-500);
63
- }
64
-
65
56
 
57
+ }
66
58
 
67
59
  :host([collapsed][type='avatar']) .footer-item {
68
60
  padding: 3px;
@@ -79,10 +71,6 @@ export const styles = css`
79
71
  width: 38px;
80
72
  }
81
73
 
82
-
83
-
84
-
85
-
86
74
  `;
87
75
 
88
76
  export default [styles];
@@ -25,17 +25,9 @@ export class NileSideBarFooterItem extends NileElement {
25
25
  return [styles];
26
26
  }
27
27
 
28
- private handleClick(): void {
29
- this.dispatchEvent(new CustomEvent('nile-click', {
30
- detail: { type: this.type },
31
- bubbles: true,
32
- composed: true
33
- }));
34
- }
35
-
36
28
  public render(): TemplateResult {
37
29
  return html`
38
- <div part="base" class="footer-item" @click=${this.handleClick}>
30
+ <div part="base" class="footer-item">
39
31
  <slot name="icon" part="icon"></slot>
40
32
  <slot name="text" part="text"></slot>
41
33
  <slot name="action" part="action"></slot>
@@ -8,8 +8,9 @@ export const styles = css`
8
8
  display: flex;
9
9
  flex-direction: column;
10
10
  padding-bottom: var(--nile-spacing-xs);
11
- padding-left: var(--nile-spacing-xl);
12
- padding-right: var(--nile-spacing-xl);
11
+ padding-left: var(--nile-spacing-md);
12
+ padding-right: var(--nile-spacing-md);
13
+ gap: var(--nile-spacing-lg);
13
14
  }
14
15
 
15
16
 
@@ -29,8 +30,10 @@ export const styles = css`
29
30
  display: block;
30
31
  height: 1px;
31
32
  background: var(--nile-colors-neutral-400);
33
+ margin-top: var(--nile-spacing-xs);
32
34
  margin-left: var(--nile-spacing-md);
33
35
  margin-right: var(--nile-spacing-md);
36
+
34
37
  }
35
38
 
36
39
  .side-bar-group {
@@ -11,62 +11,60 @@ import {css} from 'lit';
11
11
  * SideBarGroupItem CSS
12
12
  */
13
13
  export const styles = css`
14
- :host {
15
- display: block;
16
- }
14
+ :host {
15
+ display: block;
16
+ }
17
17
 
18
- .group-item {
19
- display: flex;
20
- flex-direction: column;
21
- height: 38px;
22
- width: 208px;
23
- overflow: hidden;
24
- }
18
+ .group-item {
19
+ display: flex;
20
+ flex-direction: column;
21
+ }
25
22
 
26
- .item-link {
27
- display: flex;
28
- align-items: center;
29
- justify-content: flex-start;
30
- height: 100%;
31
- width: 100%;
32
- padding: var(--nile-spacing-lg) var(--nile-spacing-md);
33
- cursor: pointer;
34
- color: var(--nile-colors-dark-900);
35
- text-decoration: none;
36
- font-size: var(--nile-type-scale-3);
37
- line-height: 1.4;
38
- box-sizing: border-box;
39
- }
23
+ .item-link {
24
+ display: flex;
25
+ align-items: center;
26
+ padding-top: var(--nile-spacing-lg);
27
+ padding-bottom: var(--nile-spacing-lg);
28
+ padding-left: var(--nile-spacing-md);
29
+ padding-right: var(--nile-spacing-md);
30
+ cursor: pointer;
31
+ color: var(--nile-colors-dark-900);
32
+ text-decoration: none;
33
+ font-size: var(--nile-type-scale-3);
34
+ line-height: 1.4;
35
+ }
40
36
 
41
- .item-link:hover {
42
- background: var(--nile-colors-neutral-400);
43
- border-radius: var(--nile-radius-sm);
44
- }
37
+ .item-link:hover {
38
+ background: var(--nile-colors-neutral-400);
39
+ border-radius: var(--nile-radius-sm);
40
+ }
45
41
 
46
- ::slotted(nile-side-bar-group-item-icon) {
47
- flex-shrink: 0;
48
- }
49
42
 
50
- ::slotted(nile-side-bar-group-item-text) {
51
- flex-grow: 1;
52
- }
53
43
 
54
- :host([active]) [part="link"] {
55
- background: var(--nile-colors-primary-100);
56
- border-radius: var(--nile-radius-sm);
57
- font-weight: var(--nile-font-weight-semibold);
58
- }
44
+ ::slotted(nile-side-bar-group-item-icon) {
45
+ flex-shrink: 0;
46
+ }
47
+
48
+ ::slotted(nile-side-bar-group-item-text) {
49
+ flex-grow: 1;
50
+ }
51
+ :host([active]) [part="link"] {
52
+ background: var(--nile-colors-primary-100);
53
+ border-radius: var(--nile-radius-sm);
54
+ font-weight: var(--nile-font-weight-semibold);
55
+ }
56
+
57
+ :host([collapsed]) .group-item {
58
+ height: 38px;
59
+ width: 38px;
60
+ }
61
+ :host([disabled]) .item-link {
62
+ opacity: 0.5;
63
+ pointer-events: none;
64
+ cursor: not-allowed;
65
+ }
59
66
 
60
- :host([collapsed]) .group-item {
61
- height: 38px;
62
- width: 38px;
63
- }
64
67
 
65
- :host([disabled]) .item-link {
66
- opacity: 0.5;
67
- pointer-events: none;
68
- cursor: not-allowed;
69
- }
70
68
  `;
71
69
 
72
- export default [styles];
70
+ export default [styles];