@aquera/nile-elements 1.2.4-beta-1.1 → 1.2.5-beta-1.0

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 (277) hide show
  1. package/README.md +3 -0
  2. package/demo/index.html +13 -19
  3. package/dist/{fixture-d1470b58.cjs.js → fixture-5b79f853.cjs.js} +2 -2
  4. package/dist/{fixture-dff65c89.cjs.js.map → fixture-5b79f853.cjs.js.map} +1 -1
  5. package/dist/{fixture-dff65c89.cjs.js → fixture-73855806.cjs.js} +2 -2
  6. package/dist/{fixture-d1470b58.cjs.js.map → fixture-73855806.cjs.js.map} +1 -1
  7. package/dist/fixture-90b199c4.esm.js +569 -0
  8. package/dist/{fixture-985bba12.esm.js → fixture-9871e8a9.esm.js} +1 -1
  9. package/dist/fixture-c1d78368.cjs.js +395 -0
  10. package/dist/fixture-c1d78368.cjs.js.map +1 -0
  11. package/dist/fixture-cf7bfcf5.esm.js +569 -0
  12. package/dist/fixture-dbd66009.cjs.js +395 -0
  13. package/dist/fixture-dbd66009.cjs.js.map +1 -0
  14. package/dist/index.js +2 -2
  15. package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
  16. package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
  17. package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
  18. package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
  19. package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
  20. package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
  21. package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
  22. package/dist/nile-badge/nile-badge.test.esm.js +1 -1
  23. package/dist/nile-button/nile-button.test.cjs.js +1 -1
  24. package/dist/nile-button/nile-button.test.esm.js +1 -1
  25. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
  26. package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
  27. package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
  28. package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
  29. package/dist/nile-card/nile-card.test.cjs.js +1 -1
  30. package/dist/nile-card/nile-card.test.esm.js +1 -1
  31. package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
  32. package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
  33. package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
  34. package/dist/nile-chip/nile-chip.test.esm.js +1 -1
  35. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js +2 -0
  36. package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js.map +1 -0
  37. package/dist/nile-code-editor/backup_nile-code-editor copy.esm.js +1 -0
  38. package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
  39. package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
  40. package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
  41. package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
  42. package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
  43. package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
  44. package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
  45. package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
  46. package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
  47. package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
  48. package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
  49. package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
  50. package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
  51. package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
  52. package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
  53. package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
  54. package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
  55. package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
  56. package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
  57. package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
  58. package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
  59. package/dist/nile-hero/nile-hero.test.esm.js +1 -1
  60. package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
  61. package/dist/nile-icon/nile-icon.test.esm.js +1 -1
  62. package/dist/nile-input/nile-input.test.cjs.js +1 -1
  63. package/dist/nile-input/nile-input.test.esm.js +1 -1
  64. package/dist/nile-link/nile-link.test.cjs.js +1 -1
  65. package/dist/nile-link/nile-link.test.esm.js +1 -1
  66. package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
  67. package/dist/nile-loader/nile-loader.test.esm.js +1 -1
  68. package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
  69. package/dist/nile-popover/nile-popover.test.esm.js +1 -1
  70. package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
  71. package/dist/nile-popup/nile-popup.test.esm.js +1 -1
  72. package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
  73. package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
  74. package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
  75. package/dist/nile-radio/nile-radio.test.esm.js +1 -1
  76. package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
  77. package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
  78. package/dist/nile-select/nile-select.test.cjs.js +1 -1
  79. package/dist/nile-select/nile-select.test.esm.js +1 -1
  80. package/dist/nile-sidebar/index.cjs.js +2 -0
  81. package/dist/nile-sidebar/index.cjs.js.map +1 -0
  82. package/dist/nile-sidebar/index.esm.js +75 -0
  83. package/dist/nile-sidebar-menu/index.cjs.js +2 -0
  84. package/dist/nile-sidebar-menu/index.cjs.js.map +1 -0
  85. package/dist/nile-sidebar-menu/index.esm.js +1 -0
  86. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +2 -0
  87. package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +1 -0
  88. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +2 -0
  89. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +1 -0
  90. package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +38 -0
  91. package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +10 -0
  92. package/dist/nile-sidebar-menu-items/index.cjs.js +2 -0
  93. package/dist/nile-sidebar-menu-items/index.cjs.js.map +1 -0
  94. package/dist/nile-sidebar-menu-items/index.esm.js +1 -0
  95. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +2 -0
  96. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +1 -0
  97. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +2 -0
  98. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +1 -0
  99. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +36 -0
  100. package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +15 -0
  101. package/dist/nile-sidebar-wrapper/index.cjs.js +2 -0
  102. package/dist/nile-sidebar-wrapper/index.cjs.js.map +1 -0
  103. package/dist/nile-sidebar-wrapper/index.esm.js +1 -0
  104. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +2 -0
  105. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +1 -0
  106. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +2 -0
  107. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +1 -0
  108. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +105 -0
  109. package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +16 -0
  110. package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
  111. package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
  112. package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
  113. package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
  114. package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
  115. package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
  116. package/dist/nile-virtual-select/group-manager.cjs.js +2 -0
  117. package/dist/nile-virtual-select/group-manager.cjs.js.map +1 -0
  118. package/dist/nile-virtual-select/group-manager.esm.js +1 -0
  119. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +1 -1
  120. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  121. package/dist/nile-virtual-select/nile-virtual-select.esm.js +1 -1
  122. package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
  123. package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
  124. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js +2 -0
  125. package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js.map +1 -0
  126. package/dist/nile-virtual-select/temp_nile-virtual-select copy.esm.js +231 -0
  127. package/dist/scopedElementsWrapper-4c29be11.esm.js +7 -0
  128. package/dist/scopedElementsWrapper-a112fc73.cjs.js +6 -0
  129. package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +1 -0
  130. package/dist/src/internal/portal-manager.d.ts +53 -0
  131. package/dist/src/internal/portal-manager.js +196 -0
  132. package/dist/src/internal/portal-manager.js.map +1 -0
  133. package/dist/src/internal/portal.d.ts +60 -0
  134. package/dist/src/internal/portal.js +199 -0
  135. package/dist/src/internal/portal.js.map +1 -0
  136. package/dist/src/internal/resizable-helper.d.ts +59 -0
  137. package/dist/src/internal/resizable-helper.js +115 -0
  138. package/dist/src/internal/resizable-helper.js.map +1 -0
  139. package/dist/src/internal/resizable-styles.d.ts +16 -0
  140. package/dist/src/internal/resizable-styles.js +144 -0
  141. package/dist/src/internal/resizable-styles.js.map +1 -0
  142. package/dist/src/internal/virtualizer-error-handler.d.ts +30 -0
  143. package/dist/src/internal/virtualizer-error-handler.js +82 -0
  144. package/dist/src/internal/virtualizer-error-handler.js.map +1 -0
  145. package/dist/src/lib/index.d.ts +7 -0
  146. package/dist/src/lib/index.js +8 -0
  147. package/dist/src/lib/index.js.map +1 -0
  148. package/dist/src/lib/virtualize.d.ts +32 -0
  149. package/dist/src/lib/virtualize.js +105 -0
  150. package/dist/src/lib/virtualize.js.map +1 -0
  151. package/dist/src/lib/virtualize.test.d.ts +7 -0
  152. package/dist/src/lib/virtualize.test.js +57 -0
  153. package/dist/src/lib/virtualize.test.js.map +1 -0
  154. package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +17 -0
  155. package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +310 -0
  156. package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +34 -0
  157. package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +31 -0
  158. package/dist/src/nile-code-editor/Old_theme copy.d.ts +191 -0
  159. package/dist/src/nile-code-editor/Old_theme copy.js +193 -0
  160. package/dist/src/nile-code-editor/Old_theme copy.js.map +1 -0
  161. package/dist/src/nile-code-editor/backup_nile-code-editor copy.d.ts +0 -0
  162. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js +675 -0
  163. package/dist/src/nile-code-editor/backup_nile-code-editor copy.js.map +1 -0
  164. package/dist/src/nile-code-editor/theme copy.d.ts +191 -0
  165. package/dist/src/nile-code-editor/theme copy.js +193 -0
  166. package/dist/src/nile-code-editor/theme copy.js.map +1 -0
  167. package/dist/src/nile-grid/data-processor.d.ts +37 -0
  168. package/dist/src/nile-grid/data-processor.js +122 -0
  169. package/dist/src/nile-grid/data-processor.js.map +1 -0
  170. package/dist/src/nile-grid/event-handlers.d.ts +35 -0
  171. package/dist/src/nile-grid/event-handlers.js +158 -0
  172. package/dist/src/nile-grid/event-handlers.js.map +1 -0
  173. package/dist/src/nile-grid/renderer.d.ts +8 -0
  174. package/dist/src/nile-grid/renderer.js +78 -0
  175. package/dist/src/nile-grid/renderer.js.map +1 -0
  176. package/dist/src/nile-grid/resize-handler.d.ts +4 -0
  177. package/dist/src/nile-grid/resize-handler.js +36 -0
  178. package/dist/src/nile-grid/resize-handler.js.map +1 -0
  179. package/dist/src/nile-grid/types.d.ts +32 -0
  180. package/dist/src/nile-grid/types.js +2 -0
  181. package/dist/src/nile-grid/types.js.map +1 -0
  182. package/dist/src/nile-grid/utils.d.ts +4 -0
  183. package/dist/src/nile-grid/utils.js +32 -0
  184. package/dist/src/nile-grid/utils.js.map +1 -0
  185. package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +47 -0
  186. package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +16 -0
  187. package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +75 -0
  188. package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +22 -0
  189. package/dist/src/nile-popover/popover-portal-handler.d.ts +21 -0
  190. package/dist/src/nile-popover/popover-portal-handler.js +106 -0
  191. package/dist/src/nile-popover/popover-portal-handler.js.map +1 -0
  192. package/dist/src/nile-popover/portal-manager.d.ts +51 -0
  193. package/dist/src/nile-popover/portal-manager.js +421 -0
  194. package/dist/src/nile-popover/portal-manager.js.map +1 -0
  195. package/dist/src/nile-popover/portal-utils.d.ts +55 -0
  196. package/dist/src/nile-popover/portal-utils.js +322 -0
  197. package/dist/src/nile-popover/portal-utils.js.map +1 -0
  198. package/dist/src/nile-portal-wrapper/index.d.ts +1 -0
  199. package/dist/src/nile-portal-wrapper/index.js +2 -0
  200. package/dist/src/nile-portal-wrapper/index.js.map +1 -0
  201. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.d.ts +47 -0
  202. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js +451 -0
  203. package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js.map +1 -0
  204. package/dist/src/nile-rich-text-editor/utils.d.ts +13 -0
  205. package/dist/src/nile-rich-text-editor/utils.js +537 -1
  206. package/dist/src/nile-rich-text-editor/utils.js.map +1 -1
  207. package/dist/src/nile-select/body-append-manager.d.ts +90 -0
  208. package/dist/src/nile-select/body-append-manager.js +298 -0
  209. package/dist/src/nile-select/body-append-manager.js.map +1 -0
  210. package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +9 -0
  211. package/dist/src/nile-table-body/virtual-scroll-helper.js +24 -0
  212. package/dist/src/nile-table-body/virtual-scroll-helper.js.map +1 -0
  213. package/dist/src/nile-virtual-select/body-append-helper.d.ts +16 -0
  214. package/dist/src/nile-virtual-select/body-append-helper.js +95 -0
  215. package/dist/src/nile-virtual-select/body-append-helper.js.map +1 -0
  216. package/dist/src/nile-virtual-select/group-manager.d.ts +32 -0
  217. package/dist/src/nile-virtual-select/group-manager.js +134 -0
  218. package/dist/src/nile-virtual-select/group-manager.js.map +1 -0
  219. package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +0 -1
  220. package/dist/src/nile-virtual-select/nile-virtual-select.js +5 -11
  221. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
  222. package/dist/src/nile-virtual-select/portal-utils.d.ts +65 -0
  223. package/dist/src/nile-virtual-select/portal-utils.js +376 -0
  224. package/dist/src/nile-virtual-select/portal-utils.js.map +1 -0
  225. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.d.ts +273 -0
  226. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js +1305 -0
  227. package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js.map +1 -0
  228. package/dist/src/nile-virtual-select/virtualizer-error-handler.d.ts +21 -0
  229. package/dist/src/nile-virtual-select/virtualizer-error-handler.js +56 -0
  230. package/dist/src/nile-virtual-select/virtualizer-error-handler.js.map +1 -0
  231. package/dist/src/nile-virtual-select-disabled/index.d.ts +1 -0
  232. package/dist/src/nile-virtual-select-disabled/index.js +2 -0
  233. package/dist/src/nile-virtual-select-disabled/index.js.map +1 -0
  234. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.d.ts +12 -0
  235. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js +538 -0
  236. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js.map +1 -0
  237. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.d.ts +299 -0
  238. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js +1441 -0
  239. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js.map +1 -0
  240. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.d.ts +7 -0
  241. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js +631 -0
  242. package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js.map +1 -0
  243. package/dist/src/nile-virtual-select-disabled/portal-manager.d.ts +45 -0
  244. package/dist/src/nile-virtual-select-disabled/portal-manager.js +333 -0
  245. package/dist/src/nile-virtual-select-disabled/portal-manager.js.map +1 -0
  246. package/dist/src/nile-virtual-select-disabled/renderer.d.ts +16 -0
  247. package/dist/src/nile-virtual-select-disabled/renderer.js +79 -0
  248. package/dist/src/nile-virtual-select-disabled/renderer.js.map +1 -0
  249. package/dist/src/nile-virtual-select-disabled/search-manager.d.ts +12 -0
  250. package/dist/src/nile-virtual-select-disabled/search-manager.js +40 -0
  251. package/dist/src/nile-virtual-select-disabled/search-manager.js.map +1 -0
  252. package/dist/src/nile-virtual-select-disabled/selection-manager.d.ts +12 -0
  253. package/dist/src/nile-virtual-select-disabled/selection-manager.js +64 -0
  254. package/dist/src/nile-virtual-select-disabled/selection-manager.js.map +1 -0
  255. package/dist/src/nile-virtual-select-disabled/types.d.ts +50 -0
  256. package/dist/src/nile-virtual-select-disabled/types.js +8 -0
  257. package/dist/src/nile-virtual-select-disabled/types.js.map +1 -0
  258. package/dist/src/nile-virtual-table-body/index.d.ts +2 -0
  259. package/dist/src/nile-virtual-table-body/index.js +3 -0
  260. package/dist/src/nile-virtual-table-body/index.js.map +1 -0
  261. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +1 -0
  262. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +44 -0
  263. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +1 -0
  264. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +50 -0
  265. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +135 -0
  266. package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +1 -0
  267. package/dist/src/nile-virtual-table-body/renderer.d.ts +16 -0
  268. package/dist/src/nile-virtual-table-body/renderer.js +49 -0
  269. package/dist/src/nile-virtual-table-body/renderer.js.map +1 -0
  270. package/dist/src/utilities/stepper-utils.d.ts +71 -0
  271. package/dist/src/utilities/stepper-utils.js +108 -0
  272. package/dist/src/utilities/stepper-utils.js.map +1 -0
  273. package/dist/src/version.js +1 -1
  274. package/dist/src/version.js.map +1 -1
  275. package/dist/tsconfig.tsbuildinfo +1 -1
  276. package/package.json +1 -1
  277. package/src/nile-virtual-select/nile-virtual-select.ts +5 -13
@@ -0,0 +1,16 @@
1
+ /* @web/test-runner snapshot v1 */
2
+ export const snapshots = {};
3
+
4
+ snapshots["NileIcon should render the icon with the correct name"] =
5
+ `<nile-icon
6
+ description=""
7
+ method="fill"
8
+ name="info"
9
+ set="local"
10
+ size="16"
11
+ style="--nile-svg-fill: var(--nile-colors-dark-500); --nile-svg-height: 16px; --nile-svg-width: 16px;"
12
+ >
13
+ </nile-icon>
14
+ `;
15
+ /* end snapshot NileIcon should render the icon with the correct name */
16
+
@@ -0,0 +1,75 @@
1
+ /* @web/test-runner snapshot v1 */
2
+ export const snapshots = {};
3
+
4
+ snapshots["nile-input renders correctly"] =
5
+ `<div
6
+ class="form-control form-control--has-label form-control--medium"
7
+ part="form-control"
8
+ >
9
+ <label
10
+ aria-hidden="false"
11
+ class="form-control__label"
12
+ for="input"
13
+ part="form-control-label"
14
+ >
15
+ <slot name="label">
16
+ Test Label
17
+ </slot>
18
+ </label>
19
+ <div
20
+ class="form-control-input"
21
+ part="form-control-input"
22
+ >
23
+ <nile-popup
24
+ distance="5"
25
+ exportparts="input"
26
+ placement="bottom-start"
27
+ strategy="fixed"
28
+ >
29
+ <div
30
+ class="input input--empty input--medium input--standard"
31
+ part="base"
32
+ slot="anchor"
33
+ >
34
+ <slot
35
+ class="input__prefix"
36
+ name="prefix"
37
+ part="prefix"
38
+ >
39
+ </slot>
40
+ <input
41
+ aria-describedby="help-text"
42
+ autocomplete="off"
43
+ class="input__control"
44
+ id="input"
45
+ name=""
46
+ part="input"
47
+ placeholder=""
48
+ spellcheck="true"
49
+ title=""
50
+ type="text"
51
+ >
52
+ <slot
53
+ class="input__suffix"
54
+ name="suffix"
55
+ part="suffix"
56
+ >
57
+ </slot>
58
+ </div>
59
+ <div class="input__non-printable">
60
+ Non-printable character detected.
61
+ <nile-badge
62
+ class="input__remove-non-printable"
63
+ variant="error"
64
+ >
65
+ Remove All
66
+ </nile-badge>
67
+ <div class="input__srtiked-text-container">
68
+ </div>
69
+ </div>
70
+ </nile-popup>
71
+ </div>
72
+ </div>
73
+ `;
74
+ /* end snapshot nile-input renders correctly */
75
+
@@ -0,0 +1,22 @@
1
+ /* @web/test-runner snapshot v1 */
2
+ export const snapshots = {};
3
+
4
+ snapshots["NilePopover renders correctly"] =
5
+ `<nile-popup
6
+ active=""
7
+ arrowplacement="anchor"
8
+ distance="18"
9
+ placement="top"
10
+ shift=""
11
+ strategy="absolute"
12
+ >
13
+ <slot
14
+ aria-describedby="tooltip"
15
+ name="anchor"
16
+ slot="anchor"
17
+ >
18
+ </slot>
19
+ </nile-popup>
20
+ `;
21
+ /* end snapshot NilePopover renders correctly */
22
+
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Copyright Aquera Inc 2025
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ import { PortalContentHandler, PortalConfig } from '../internal/portal-manager';
8
+ import type { CSSResultGroup } from 'lit';
9
+ export declare class PopoverPortalHandler implements PortalContentHandler {
10
+ private component;
11
+ private config;
12
+ private clonedPopoverContent;
13
+ constructor(component: any, config?: PortalConfig);
14
+ createPortalContent(): HTMLElement;
15
+ private createFallbackContent;
16
+ updatePortalContent(portalElement: HTMLElement): void;
17
+ setupEventListeners(portalElement: HTMLElement): void;
18
+ cleanupEventListeners(portalElement: HTMLElement): void;
19
+ getReferenceElement(): HTMLElement;
20
+ getComponentStyles(): CSSResultGroup | undefined;
21
+ }
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Copyright Aquera Inc 2025
3
+ *
4
+ * This source code is licensed under the BSD-3-Clause license found in the
5
+ * LICENSE file in the root directory of this source tree.
6
+ */
7
+ export class PopoverPortalHandler {
8
+ constructor(component, config = {}) {
9
+ this.component = component;
10
+ this.config = config;
11
+ this.clonedPopoverContent = null;
12
+ }
13
+ createPortalContent() {
14
+ // Find the popover content in the shadow DOM (now it's always rendered but hidden when portal is enabled)
15
+ const popoverBox = this.component.shadowRoot?.querySelector('.popover__box');
16
+ if (!popoverBox) {
17
+ // Fallback: create content directly
18
+ return this.createFallbackContent();
19
+ }
20
+ // Clone the popover content for portal
21
+ this.clonedPopoverContent = popoverBox.cloneNode(true);
22
+ this.clonedPopoverContent.style.display = 'block';
23
+ this.clonedPopoverContent.style.position = 'relative';
24
+ return this.clonedPopoverContent;
25
+ }
26
+ createFallbackContent() {
27
+ // Create the popover content directly as fallback
28
+ this.clonedPopoverContent = document.createElement('div');
29
+ this.clonedPopoverContent.className = 'popover__box';
30
+ this.clonedPopoverContent.setAttribute('part', 'popover');
31
+ this.clonedPopoverContent.style.display = 'block';
32
+ this.clonedPopoverContent.style.position = 'relative';
33
+ // Create the title element
34
+ const titleElement = document.createElement('div');
35
+ titleElement.className = 'popover__title';
36
+ titleElement.textContent = this.component.title;
37
+ // Create the base content slot
38
+ const baseSlot = document.createElement('div');
39
+ baseSlot.setAttribute('part', 'base');
40
+ // Create the action slot
41
+ const actionSlot = document.createElement('div');
42
+ actionSlot.className = 'popover__action';
43
+ // Append elements
44
+ this.clonedPopoverContent.appendChild(titleElement);
45
+ this.clonedPopoverContent.appendChild(baseSlot);
46
+ this.clonedPopoverContent.appendChild(actionSlot);
47
+ return this.clonedPopoverContent;
48
+ }
49
+ updatePortalContent(portalElement) {
50
+ if (!this.component.isShow) {
51
+ portalElement.style.display = 'none';
52
+ return;
53
+ }
54
+ portalElement.style.display = 'block';
55
+ // Update the content by cloning from the shadow DOM again
56
+ const originalPopoverBox = this.component.shadowRoot?.querySelector('.popover__box');
57
+ if (originalPopoverBox) {
58
+ // Clone the updated content
59
+ const updatedContent = originalPopoverBox.cloneNode(true);
60
+ updatedContent.style.display = 'block';
61
+ updatedContent.style.position = 'relative';
62
+ // Replace the content
63
+ portalElement.innerHTML = updatedContent.innerHTML;
64
+ }
65
+ }
66
+ setupEventListeners(portalElement) {
67
+ // Handle click events to prevent them from bubbling up
68
+ portalElement.addEventListener('click', (event) => {
69
+ event.stopPropagation();
70
+ });
71
+ // Handle any other popover-specific events
72
+ // For example, if the popover has action buttons, we might need to handle those
73
+ const actionSlot = portalElement.querySelector('slot[name="action"]');
74
+ if (actionSlot) {
75
+ actionSlot.addEventListener('click', (event) => {
76
+ event.stopPropagation();
77
+ // Forward the event to the original component if needed
78
+ this.component.dispatchEvent(new CustomEvent('nile-popover-action', {
79
+ detail: { originalEvent: event },
80
+ bubbles: true
81
+ }));
82
+ });
83
+ }
84
+ }
85
+ cleanupEventListeners(portalElement) {
86
+ // Remove all event listeners
87
+ const newElement = portalElement.cloneNode(true);
88
+ portalElement.parentNode?.replaceChild(newElement, portalElement);
89
+ }
90
+ getReferenceElement() {
91
+ // Get the anchor element from the slot
92
+ const anchorSlot = this.component.shadowRoot?.querySelector('slot[name="anchor"]');
93
+ if (anchorSlot) {
94
+ const assignedElements = anchorSlot.assignedElements();
95
+ if (assignedElements.length > 0) {
96
+ return assignedElements[0];
97
+ }
98
+ }
99
+ // Fallback to the component itself
100
+ return this.component;
101
+ }
102
+ getComponentStyles() {
103
+ return this.component.constructor.styles;
104
+ }
105
+ }
106
+ //# sourceMappingURL=popover-portal-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover-portal-handler.js","sourceRoot":"","sources":["../../../src/nile-popover/popover-portal-handler.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { PortalContentHandler, PortalConfig } from '../internal/portal-manager';\nimport type { CSSResultGroup } from 'lit';\n\nexport class PopoverPortalHandler implements PortalContentHandler {\n private clonedPopoverContent: HTMLElement | null = null;\n\n constructor(\n private component: any,\n private config: PortalConfig = {}\n ) {}\n\n createPortalContent(): HTMLElement {\n // Find the popover content in the shadow DOM (now it's always rendered but hidden when portal is enabled)\n const popoverBox = this.component.shadowRoot?.querySelector('.popover__box') as HTMLElement;\n if (!popoverBox) {\n // Fallback: create content directly\n return this.createFallbackContent();\n }\n\n // Clone the popover content for portal\n this.clonedPopoverContent = popoverBox.cloneNode(true) as HTMLElement;\n this.clonedPopoverContent.style.display = 'block';\n this.clonedPopoverContent.style.position = 'relative';\n \n return this.clonedPopoverContent;\n }\n\n private createFallbackContent(): HTMLElement {\n // Create the popover content directly as fallback\n this.clonedPopoverContent = document.createElement('div');\n this.clonedPopoverContent.className = 'popover__box';\n this.clonedPopoverContent.setAttribute('part', 'popover');\n this.clonedPopoverContent.style.display = 'block';\n this.clonedPopoverContent.style.position = 'relative';\n \n // Create the title element\n const titleElement = document.createElement('div');\n titleElement.className = 'popover__title';\n titleElement.textContent = this.component.title;\n \n // Create the base content slot\n const baseSlot = document.createElement('div');\n baseSlot.setAttribute('part', 'base');\n \n // Create the action slot\n const actionSlot = document.createElement('div');\n actionSlot.className = 'popover__action';\n \n // Append elements\n this.clonedPopoverContent.appendChild(titleElement);\n this.clonedPopoverContent.appendChild(baseSlot);\n this.clonedPopoverContent.appendChild(actionSlot);\n \n return this.clonedPopoverContent;\n }\n\n updatePortalContent(portalElement: HTMLElement): void {\n if (!this.component.isShow) {\n portalElement.style.display = 'none';\n return;\n }\n\n portalElement.style.display = 'block';\n\n // Update the content by cloning from the shadow DOM again\n const originalPopoverBox = this.component.shadowRoot?.querySelector('.popover__box') as HTMLElement;\n if (originalPopoverBox) {\n // Clone the updated content\n const updatedContent = originalPopoverBox.cloneNode(true) as HTMLElement;\n updatedContent.style.display = 'block';\n updatedContent.style.position = 'relative';\n \n // Replace the content\n portalElement.innerHTML = updatedContent.innerHTML;\n }\n }\n\n setupEventListeners(portalElement: HTMLElement): void {\n // Handle click events to prevent them from bubbling up\n portalElement.addEventListener('click', (event) => {\n event.stopPropagation();\n });\n\n // Handle any other popover-specific events\n // For example, if the popover has action buttons, we might need to handle those\n const actionSlot = portalElement.querySelector('slot[name=\"action\"]');\n if (actionSlot) {\n actionSlot.addEventListener('click', (event) => {\n event.stopPropagation();\n // Forward the event to the original component if needed\n this.component.dispatchEvent(new CustomEvent('nile-popover-action', {\n detail: { originalEvent: event },\n bubbles: true\n }));\n });\n }\n }\n\n cleanupEventListeners(portalElement: HTMLElement): void {\n // Remove all event listeners\n const newElement = portalElement.cloneNode(true) as HTMLElement;\n portalElement.parentNode?.replaceChild(newElement, portalElement);\n }\n\n getReferenceElement(): HTMLElement {\n // Get the anchor element from the slot\n const anchorSlot = this.component.shadowRoot?.querySelector('slot[name=\"anchor\"]') as HTMLSlotElement;\n if (anchorSlot) {\n const assignedElements = anchorSlot.assignedElements();\n if (assignedElements.length > 0) {\n return assignedElements[0] as HTMLElement;\n }\n }\n \n // Fallback to the component itself\n return this.component;\n }\n\n getComponentStyles(): CSSResultGroup | undefined {\n return (this.component.constructor as any).styles;\n }\n}\n"]}
@@ -0,0 +1,51 @@
1
+ import { type Placement, type MiddlewareData } from '@floating-ui/dom';
2
+ export declare class PopoverPortalManager {
3
+ private portalContainer;
4
+ private originalPopoverParent;
5
+ private measuredPopoverHeight;
6
+ private component;
7
+ private clonedPopover;
8
+ private cleanupAutoUpdate;
9
+ private currentPlacement;
10
+ private currentMiddlewareData;
11
+ constructor(component: any);
12
+ private createPortalAppendContainer;
13
+ positionPortalAppend(): void;
14
+ private measurePopoverHeight;
15
+ private computeFloatingUIPosition;
16
+ private calculateFloatingUIPosition;
17
+ private getInitialPlacement;
18
+ private createFloatingUIMiddleware;
19
+ private getFallbackPlacements;
20
+ private createCustomPlatform;
21
+ private positionArrow;
22
+ private calculateArrowXPosition;
23
+ private calculateArrowYPosition;
24
+ private applyFloatingUIPosition;
25
+ private fallbackPositioning;
26
+ private calculateAndSetAutoSizeProperties;
27
+ updatePortalAppendPosition(): void;
28
+ handleWindowResize(): void;
29
+ private setupAutoUpdatePositioning;
30
+ private cleanupAutoUpdatePositioning;
31
+ private injectStylesToDocument;
32
+ private adoptStylesToPortalAppend;
33
+ setupPortalAppend(): void;
34
+ private createPortalPopover;
35
+ private setupPortalEventListeners;
36
+ cleanupPortalAppend(): void;
37
+ get portalContainerElement(): HTMLElement | null;
38
+ resetMeasuredHeight(): void;
39
+ forceReposition(): void;
40
+ getCurrentPlacement(): Placement;
41
+ getCurrentMiddlewareData(): MiddlewareData | null;
42
+ isUsingFloatingUI(): boolean;
43
+ updatePositioningConfig(config: {
44
+ offset?: number;
45
+ padding?: number;
46
+ boundary?: Element[] | 'viewport';
47
+ fallbackPlacements?: Placement[];
48
+ }): void;
49
+ handleViewportChange(): void;
50
+ isPositioningOptimal(): boolean;
51
+ }