@aquera/nile-elements 1.3.4 → 1.3.5
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.
- package/README.md +5 -0
- package/demo/index.css +0 -3
- package/demo/index.html +329 -21
- package/dist/{fixture-1c49c014.cjs.js → fixture-54600b35.cjs.js} +2 -2
- package/dist/{fixture-1c49c014.cjs.js.map → fixture-54600b35.cjs.js.map} +1 -1
- package/dist/fixture-5b79f853.cjs.js +395 -0
- package/dist/fixture-5b79f853.cjs.js.map +1 -0
- package/dist/fixture-73855806.cjs.js +395 -0
- package/dist/fixture-73855806.cjs.js.map +1 -0
- package/dist/fixture-90b199c4.esm.js +569 -0
- package/dist/{fixture-985bba12.esm.js → fixture-9871e8a9.esm.js} +1 -1
- package/dist/fixture-c1d78368.cjs.js +395 -0
- package/dist/fixture-c1d78368.cjs.js.map +1 -0
- package/dist/fixture-cf7bfcf5.esm.js +569 -0
- package/dist/fixture-dbd66009.cjs.js +395 -0
- package/dist/fixture-dbd66009.cjs.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +254 -214
- package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
- package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.test.esm.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js +1 -1
- package/dist/nile-button/nile-button.test.esm.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
- package/dist/nile-card/nile-card.test.cjs.js +1 -1
- package/dist/nile-card/nile-card.test.esm.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
- package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.test.esm.js +1 -1
- package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js +2 -0
- package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js.map +1 -0
- package/dist/nile-code-editor/backup_nile-code-editor copy.esm.js +1 -0
- package/dist/nile-date-picker/index.cjs.js +1 -1
- package/dist/nile-date-picker/index.esm.js +1 -1
- package/dist/nile-date-picker/nile-date-picker-utils.cjs.js +2 -0
- package/dist/nile-date-picker/nile-date-picker-utils.cjs.js.map +1 -0
- package/dist/nile-date-picker/nile-date-picker-utils.esm.js +1 -0
- package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
- package/dist/nile-date-picker/nile-date-picker.cjs.js.map +1 -1
- package/dist/nile-date-picker/nile-date-picker.esm.js +7 -3
- package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
- package/dist/nile-floating-panel/anchor-manager.cjs.js +2 -0
- package/dist/nile-floating-panel/anchor-manager.cjs.js.map +1 -0
- package/dist/nile-floating-panel/anchor-manager.esm.js +1 -0
- package/dist/nile-floating-panel/content-manager.cjs.js +2 -0
- package/dist/nile-floating-panel/content-manager.cjs.js.map +1 -0
- package/dist/nile-floating-panel/content-manager.esm.js +1 -0
- package/dist/nile-floating-panel/event-manager.cjs.js +2 -0
- package/dist/nile-floating-panel/event-manager.cjs.js.map +1 -0
- package/dist/nile-floating-panel/event-manager.esm.js +1 -0
- package/dist/nile-floating-panel/index.cjs.js +2 -0
- package/dist/nile-floating-panel/index.cjs.js.map +1 -0
- package/dist/nile-floating-panel/index.esm.js +1 -0
- package/dist/nile-floating-panel/nile-floating-panel.cjs.js +2 -0
- package/dist/nile-floating-panel/nile-floating-panel.cjs.js.map +1 -0
- package/dist/nile-floating-panel/nile-floating-panel.css.cjs.js +2 -0
- package/dist/nile-floating-panel/nile-floating-panel.css.cjs.js.map +1 -0
- package/dist/nile-floating-panel/nile-floating-panel.css.esm.js +37 -0
- package/dist/nile-floating-panel/nile-floating-panel.esm.js +1 -0
- package/dist/nile-floating-panel/position-manager.cjs.js +2 -0
- package/dist/nile-floating-panel/position-manager.cjs.js.map +1 -0
- package/dist/nile-floating-panel/position-manager.esm.js +1 -0
- package/dist/nile-floating-panel/style-manager.cjs.js +2 -0
- package/dist/nile-floating-panel/style-manager.cjs.js.map +1 -0
- package/dist/nile-floating-panel/style-manager.esm.js +1 -0
- package/dist/nile-floating-panel/types.cjs.js +2 -0
- package/dist/nile-floating-panel/types.cjs.js.map +1 -0
- package/dist/nile-floating-panel/types.esm.js +1 -0
- package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
- package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
- package/dist/nile-grid/nile-grid.types.cjs.js +2 -0
- package/dist/nile-grid/nile-grid.types.cjs.js.map +1 -0
- package/dist/nile-grid/nile-grid.types.esm.js +1 -0
- package/dist/nile-grid-body/index.cjs.js +2 -0
- package/dist/nile-grid-body/index.cjs.js.map +1 -0
- package/dist/nile-grid-body/index.esm.js +1 -0
- package/dist/nile-grid-body/nile-grid-body.cjs.js +2 -0
- package/dist/nile-grid-body/nile-grid-body.cjs.js.map +1 -0
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js +2 -0
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +1 -0
- package/dist/nile-grid-body/nile-grid-body.css.esm.js +10 -0
- package/dist/nile-grid-body/nile-grid-body.esm.js +5 -0
- package/dist/nile-grid-cell-item/index.cjs.js +2 -0
- package/dist/nile-grid-cell-item/index.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/index.esm.js +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +2 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +2 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +35 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +12 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +2 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +1 -0
- package/dist/nile-grid-head/index.cjs.js +2 -0
- package/dist/nile-grid-head/index.cjs.js.map +1 -0
- package/dist/nile-grid-head/index.esm.js +1 -0
- package/dist/nile-grid-head/nile-grid-head.cjs.js +2 -0
- package/dist/nile-grid-head/nile-grid-head.cjs.js.map +1 -0
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js +2 -0
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +1 -0
- package/dist/nile-grid-head/nile-grid-head.css.esm.js +7 -0
- package/dist/nile-grid-head/nile-grid-head.esm.js +5 -0
- package/dist/nile-grid-head-item/index.cjs.js +2 -0
- package/dist/nile-grid-head-item/index.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/index.esm.js +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +2 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +2 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +34 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +12 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +2 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.esm.js +1 -0
- package/dist/nile-grid-row/index.cjs.js +2 -0
- package/dist/nile-grid-row/index.cjs.js.map +1 -0
- package/dist/nile-grid-row/index.esm.js +1 -0
- package/dist/nile-grid-row/nile-grid-row.cjs.js +2 -0
- package/dist/nile-grid-row/nile-grid-row.cjs.js.map +1 -0
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js +2 -0
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -0
- package/dist/nile-grid-row/nile-grid-row.css.esm.js +15 -0
- package/dist/nile-grid-row/nile-grid-row.esm.js +7 -0
- package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
- package/dist/nile-hero/nile-hero.test.esm.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
- package/dist/nile-icon/nile-icon.test.esm.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js +1 -1
- package/dist/nile-input/nile-input.test.esm.js +1 -1
- package/dist/nile-link/nile-link.test.cjs.js +1 -1
- package/dist/nile-link/nile-link.test.esm.js +1 -1
- package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
- package/dist/nile-loader/nile-loader.test.esm.js +1 -1
- package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
- package/dist/nile-popover/nile-popover.test.esm.js +1 -1
- package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
- package/dist/nile-popup/nile-popup.test.esm.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
- package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
- package/dist/nile-radio/nile-radio.test.esm.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
- package/dist/nile-rich-text-editor/utils.cjs.js +2 -0
- package/dist/nile-rich-text-editor/utils.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/utils.esm.js +1 -0
- package/dist/nile-select/nile-select.test.cjs.js +1 -1
- package/dist/nile-select/nile-select.test.esm.js +1 -1
- package/dist/nile-sidebar/index.cjs.js +2 -0
- package/dist/nile-sidebar/index.cjs.js.map +1 -0
- package/dist/nile-sidebar/index.esm.js +75 -0
- package/dist/nile-sidebar-menu/index.cjs.js +2 -0
- package/dist/nile-sidebar-menu/index.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu/index.esm.js +1 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +2 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +2 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +38 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +10 -0
- package/dist/nile-sidebar-menu-items/index.cjs.js +2 -0
- package/dist/nile-sidebar-menu-items/index.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu-items/index.esm.js +1 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +2 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +2 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +36 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +15 -0
- package/dist/nile-sidebar-wrapper/index.cjs.js +2 -0
- package/dist/nile-sidebar-wrapper/index.cjs.js.map +1 -0
- package/dist/nile-sidebar-wrapper/index.esm.js +1 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +2 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +1 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +2 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +1 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +105 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +16 -0
- package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
- package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
- package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
- package/dist/nile-virtual-select/group-manager.cjs.js +2 -0
- package/dist/nile-virtual-select/group-manager.cjs.js.map +1 -0
- package/dist/nile-virtual-select/group-manager.esm.js +1 -0
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.esm.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
- package/dist/nile-virtual-select/portal-manager.cjs.js +1 -1
- package/dist/nile-virtual-select/portal-manager.cjs.js.map +1 -1
- package/dist/nile-virtual-select/portal-manager.esm.js +1 -1
- package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js +2 -0
- package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js.map +1 -0
- package/dist/nile-virtual-select/temp_nile-virtual-select copy.esm.js +231 -0
- package/dist/scopedElementsWrapper-1bff26ef.cjs.js +2 -0
- package/dist/scopedElementsWrapper-1bff26ef.cjs.js.map +1 -0
- package/dist/scopedElementsWrapper-4c29be11.esm.js +7 -0
- package/dist/scopedElementsWrapper-a112fc73.cjs.js +6 -0
- package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +1 -0
- package/dist/scopedElementsWrapper-c815042c.cjs.js +2 -0
- package/dist/scopedElementsWrapper-c815042c.cjs.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal/portal-manager.d.ts +53 -0
- package/dist/src/internal/portal-manager.js +196 -0
- package/dist/src/internal/portal-manager.js.map +1 -0
- package/dist/src/internal/portal.d.ts +60 -0
- package/dist/src/internal/portal.js +199 -0
- package/dist/src/internal/portal.js.map +1 -0
- package/dist/src/internal/resizable-helper.d.ts +59 -0
- package/dist/src/internal/resizable-helper.js +115 -0
- package/dist/src/internal/resizable-helper.js.map +1 -0
- package/dist/src/internal/resizable-styles.d.ts +16 -0
- package/dist/src/internal/resizable-styles.js +144 -0
- package/dist/src/internal/resizable-styles.js.map +1 -0
- package/dist/src/internal/virtualizer-error-handler.d.ts +30 -0
- package/dist/src/internal/virtualizer-error-handler.js +82 -0
- package/dist/src/internal/virtualizer-error-handler.js.map +1 -0
- package/dist/src/lib/index.d.ts +7 -0
- package/dist/src/lib/index.js +8 -0
- package/dist/src/lib/index.js.map +1 -0
- package/dist/src/lib/virtualize.d.ts +32 -0
- package/dist/src/lib/virtualize.js +105 -0
- package/dist/src/lib/virtualize.js.map +1 -0
- package/dist/src/lib/virtualize.test.d.ts +7 -0
- package/dist/src/lib/virtualize.test.js +57 -0
- package/dist/src/lib/virtualize.test.js.map +1 -0
- package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +17 -0
- package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +310 -0
- package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +34 -0
- package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +31 -0
- package/dist/src/nile-code-editor/Old_theme copy.d.ts +191 -0
- package/dist/src/nile-code-editor/Old_theme copy.js +193 -0
- package/dist/src/nile-code-editor/Old_theme copy.js.map +1 -0
- package/dist/src/nile-code-editor/backup_nile-code-editor copy.d.ts +0 -0
- package/dist/src/nile-code-editor/backup_nile-code-editor copy.js +675 -0
- package/dist/src/nile-code-editor/backup_nile-code-editor copy.js.map +1 -0
- package/dist/src/nile-code-editor/theme copy.d.ts +191 -0
- package/dist/src/nile-code-editor/theme copy.js +193 -0
- package/dist/src/nile-code-editor/theme copy.js.map +1 -0
- package/dist/src/nile-date-picker/nile-date-picker-utils.d.ts +7 -0
- package/dist/src/nile-date-picker/nile-date-picker-utils.js +84 -0
- package/dist/src/nile-date-picker/nile-date-picker-utils.js.map +1 -0
- package/dist/src/nile-date-picker/nile-date-picker.d.ts +12 -12
- package/dist/src/nile-date-picker/nile-date-picker.js +96 -7
- package/dist/src/nile-date-picker/nile-date-picker.js.map +1 -1
- package/dist/src/nile-floating-panel/anchor-manager.d.ts +6 -0
- package/dist/src/nile-floating-panel/anchor-manager.js +27 -0
- package/dist/src/nile-floating-panel/anchor-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/content-manager.d.ts +5 -0
- package/dist/src/nile-floating-panel/content-manager.js +44 -0
- package/dist/src/nile-floating-panel/content-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/event-manager.d.ts +14 -0
- package/dist/src/nile-floating-panel/event-manager.js +52 -0
- package/dist/src/nile-floating-panel/event-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/index.d.ts +1 -0
- package/dist/src/nile-floating-panel/index.js +2 -0
- package/dist/src/nile-floating-panel/index.js.map +1 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.css.d.ts +10 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.css.js +47 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.css.js.map +1 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.d.ts +43 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.js +238 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.js.map +1 -0
- package/dist/src/nile-floating-panel/position-manager.d.ts +17 -0
- package/dist/src/nile-floating-panel/position-manager.js +72 -0
- package/dist/src/nile-floating-panel/position-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/style-manager.d.ts +9 -0
- package/dist/src/nile-floating-panel/style-manager.js +44 -0
- package/dist/src/nile-floating-panel/style-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/types.d.ts +11 -0
- package/dist/src/nile-floating-panel/types.js +2 -0
- package/dist/src/nile-floating-panel/types.js.map +1 -0
- package/dist/src/nile-grid/data-processor.d.ts +37 -0
- package/dist/src/nile-grid/data-processor.js +122 -0
- package/dist/src/nile-grid/data-processor.js.map +1 -0
- package/dist/src/nile-grid/event-handlers.d.ts +35 -0
- package/dist/src/nile-grid/event-handlers.js +158 -0
- package/dist/src/nile-grid/event-handlers.js.map +1 -0
- package/dist/src/nile-grid/nile-grid.types.d.ts +3 -0
- package/dist/src/nile-grid/nile-grid.types.js +2 -0
- package/dist/src/nile-grid/nile-grid.types.js.map +1 -0
- package/dist/src/nile-grid/renderer.d.ts +8 -0
- package/dist/src/nile-grid/renderer.js +78 -0
- package/dist/src/nile-grid/renderer.js.map +1 -0
- package/dist/src/nile-grid/resize-handler.d.ts +4 -0
- package/dist/src/nile-grid/resize-handler.js +36 -0
- package/dist/src/nile-grid/resize-handler.js.map +1 -0
- package/dist/src/nile-grid/types.d.ts +32 -0
- package/dist/src/nile-grid/types.js +2 -0
- package/dist/src/nile-grid/types.js.map +1 -0
- package/dist/src/nile-grid/utils.d.ts +4 -0
- package/dist/src/nile-grid/utils.js +32 -0
- package/dist/src/nile-grid/utils.js.map +1 -0
- package/dist/src/nile-grid-body/index.d.ts +1 -0
- package/dist/src/nile-grid-body/index.js +2 -0
- package/dist/src/nile-grid-body/index.js.map +1 -0
- package/dist/src/nile-grid-body/nile-grid-body.css.d.ts +12 -0
- package/dist/src/nile-grid-body/nile-grid-body.css.js +22 -0
- package/dist/src/nile-grid-body/nile-grid-body.css.js.map +1 -0
- package/dist/src/nile-grid-body/nile-grid-body.d.ts +29 -0
- package/dist/src/nile-grid-body/nile-grid-body.js +43 -0
- package/dist/src/nile-grid-body/nile-grid-body.js.map +1 -0
- package/dist/src/nile-grid-cell-item/index.d.ts +1 -0
- package/dist/src/nile-grid-cell-item/index.js +2 -0
- package/dist/src/nile-grid-cell-item/index.js.map +1 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.d.ts +12 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js +47 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.d.ts +36 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js +93 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js.map +1 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +10 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js +34 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +1 -0
- package/dist/src/nile-grid-head/index.d.ts +1 -0
- package/dist/src/nile-grid-head/index.js +2 -0
- package/dist/src/nile-grid-head/index.js.map +1 -0
- package/dist/src/nile-grid-head/nile-grid-head.css.d.ts +12 -0
- package/dist/src/nile-grid-head/nile-grid-head.css.js +19 -0
- package/dist/src/nile-grid-head/nile-grid-head.css.js.map +1 -0
- package/dist/src/nile-grid-head/nile-grid-head.d.ts +28 -0
- package/dist/src/nile-grid-head/nile-grid-head.js +41 -0
- package/dist/src/nile-grid-head/nile-grid-head.js.map +1 -0
- package/dist/src/nile-grid-head-item/index.d.ts +1 -0
- package/dist/src/nile-grid-head-item/index.js +2 -0
- package/dist/src/nile-grid-head-item/index.js.map +1 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.d.ts +12 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js +46 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.d.ts +37 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.js +100 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.js.map +1 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.d.ts +10 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js +34 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js.map +1 -0
- package/dist/src/nile-grid-row/index.d.ts +1 -0
- package/dist/src/nile-grid-row/index.js +2 -0
- package/dist/src/nile-grid-row/index.js.map +1 -0
- package/dist/src/nile-grid-row/nile-grid-row.css.d.ts +12 -0
- package/dist/src/nile-grid-row/nile-grid-row.css.js +27 -0
- package/dist/src/nile-grid-row/nile-grid-row.css.js.map +1 -0
- package/dist/src/nile-grid-row/nile-grid-row.d.ts +29 -0
- package/dist/src/nile-grid-row/nile-grid-row.js +45 -0
- package/dist/src/nile-grid-row/nile-grid-row.js.map +1 -0
- package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +47 -0
- package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +16 -0
- package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +75 -0
- package/dist/src/nile-menu/portal-manager.d.ts +39 -0
- package/dist/src/nile-menu/portal-manager.js +340 -0
- package/dist/src/nile-menu/portal-manager.js.map +1 -0
- package/dist/src/nile-menu/portal-utils.d.ts +21 -0
- package/dist/src/nile-menu/portal-utils.js +128 -0
- package/dist/src/nile-menu/portal-utils.js.map +1 -0
- package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +22 -0
- package/dist/src/nile-popover/popover-portal-handler.d.ts +21 -0
- package/dist/src/nile-popover/popover-portal-handler.js +106 -0
- package/dist/src/nile-popover/popover-portal-handler.js.map +1 -0
- package/dist/src/nile-portal-wrapper/index.d.ts +1 -0
- package/dist/src/nile-portal-wrapper/index.js +2 -0
- package/dist/src/nile-portal-wrapper/index.js.map +1 -0
- package/dist/src/nile-portal-wrapper/nile-portal-wrapper.d.ts +47 -0
- package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js +451 -0
- package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js.map +1 -0
- package/dist/src/nile-rich-text-editor/utils.d.ts +13 -0
- package/dist/src/nile-rich-text-editor/utils.js +538 -0
- package/dist/src/nile-rich-text-editor/utils.js.map +1 -0
- package/dist/src/nile-select/body-append-manager.d.ts +90 -0
- package/dist/src/nile-select/body-append-manager.js +298 -0
- package/dist/src/nile-select/body-append-manager.js.map +1 -0
- package/dist/src/nile-sidebar/index.d.ts +28 -0
- package/dist/src/nile-sidebar/index.js +116 -0
- package/dist/src/nile-sidebar/index.js.map +1 -0
- package/dist/src/nile-sidebar-menu/index.d.ts +1 -0
- package/dist/src/nile-sidebar-menu/index.js +2 -0
- package/dist/src/nile-sidebar-menu/index.js.map +1 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.d.ts +12 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js +47 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js.map +1 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.d.ts +37 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js +84 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js.map +1 -0
- package/dist/src/nile-sidebar-menu-items/index.d.ts +1 -0
- package/dist/src/nile-sidebar-menu-items/index.js +2 -0
- package/dist/src/nile-sidebar-menu-items/index.js.map +1 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.d.ts +12 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js +45 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js.map +1 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.d.ts +35 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js +78 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js.map +1 -0
- package/dist/src/nile-sidebar-wrapper/index.d.ts +1 -0
- package/dist/src/nile-sidebar-wrapper/index.js +2 -0
- package/dist/src/nile-sidebar-wrapper/index.js.map +1 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.d.ts +12 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js +114 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js.map +1 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.d.ts +35 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js +89 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js.map +1 -0
- package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +9 -0
- package/dist/src/nile-table-body/virtual-scroll-helper.js +24 -0
- package/dist/src/nile-table-body/virtual-scroll-helper.js.map +1 -0
- package/dist/src/nile-virtual-select/body-append-helper.d.ts +16 -0
- package/dist/src/nile-virtual-select/body-append-helper.js +95 -0
- package/dist/src/nile-virtual-select/body-append-helper.js.map +1 -0
- package/dist/src/nile-virtual-select/group-manager.d.ts +32 -0
- package/dist/src/nile-virtual-select/group-manager.js +134 -0
- package/dist/src/nile-virtual-select/group-manager.js.map +1 -0
- package/dist/src/nile-virtual-select/nile-virtual-select.js +1 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
- package/dist/src/nile-virtual-select/portal-manager.js +1 -1
- package/dist/src/nile-virtual-select/portal-manager.js.map +1 -1
- package/dist/src/nile-virtual-select/portal-utils.d.ts +65 -0
- package/dist/src/nile-virtual-select/portal-utils.js +376 -0
- package/dist/src/nile-virtual-select/portal-utils.js.map +1 -0
- package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.d.ts +273 -0
- package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js +1305 -0
- package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js.map +1 -0
- package/dist/src/nile-virtual-select/virtualizer-error-handler.d.ts +21 -0
- package/dist/src/nile-virtual-select/virtualizer-error-handler.js +56 -0
- package/dist/src/nile-virtual-select/virtualizer-error-handler.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/index.d.ts +1 -0
- package/dist/src/nile-virtual-select-disabled/index.js +2 -0
- package/dist/src/nile-virtual-select-disabled/index.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.d.ts +12 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js +538 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.d.ts +299 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js +1441 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.d.ts +7 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js +631 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/portal-manager.d.ts +45 -0
- package/dist/src/nile-virtual-select-disabled/portal-manager.js +333 -0
- package/dist/src/nile-virtual-select-disabled/portal-manager.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/renderer.d.ts +16 -0
- package/dist/src/nile-virtual-select-disabled/renderer.js +79 -0
- package/dist/src/nile-virtual-select-disabled/renderer.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/search-manager.d.ts +12 -0
- package/dist/src/nile-virtual-select-disabled/search-manager.js +40 -0
- package/dist/src/nile-virtual-select-disabled/search-manager.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/selection-manager.d.ts +12 -0
- package/dist/src/nile-virtual-select-disabled/selection-manager.js +64 -0
- package/dist/src/nile-virtual-select-disabled/selection-manager.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/types.d.ts +50 -0
- package/dist/src/nile-virtual-select-disabled/types.js +8 -0
- package/dist/src/nile-virtual-select-disabled/types.js.map +1 -0
- package/dist/src/nile-virtual-table-body/index.d.ts +2 -0
- package/dist/src/nile-virtual-table-body/index.js +3 -0
- package/dist/src/nile-virtual-table-body/index.js.map +1 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +1 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +44 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +1 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +50 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +135 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +1 -0
- package/dist/src/nile-virtual-table-body/renderer.d.ts +16 -0
- package/dist/src/nile-virtual-table-body/renderer.js +49 -0
- package/dist/src/nile-virtual-table-body/renderer.js.map +1 -0
- package/dist/src/utilities/stepper-utils.d.ts +71 -0
- package/dist/src/utilities/stepper-utils.js +108 -0
- package/dist/src/utilities/stepper-utils.js.map +1 -0
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/index.ts +2 -1
- package/src/nile-date-picker/nile-date-picker-utils.ts +105 -0
- package/src/nile-date-picker/nile-date-picker.ts +114 -8
- package/src/nile-floating-panel/anchor-manager.ts +33 -0
- package/src/nile-floating-panel/content-manager.ts +54 -0
- package/src/nile-floating-panel/event-manager.ts +74 -0
- package/src/nile-floating-panel/index.ts +2 -0
- package/src/nile-floating-panel/nile-floating-panel.css.ts +50 -0
- package/src/nile-floating-panel/nile-floating-panel.ts +291 -0
- package/src/nile-floating-panel/position-manager.ts +102 -0
- package/src/nile-floating-panel/style-manager.ts +54 -0
- package/src/nile-floating-panel/types.ts +15 -0
- package/src/nile-virtual-select/nile-virtual-select.ts +1 -1
- package/src/nile-virtual-select/portal-manager.ts +1 -1
- package/vscode-html-custom-data.json +71 -1
package/dist/src/index.js
CHANGED
|
@@ -72,6 +72,7 @@ export { NileTitle } from './nile-title';
|
|
|
72
72
|
export { NileSectionMessage } from './nile-section-message';
|
|
73
73
|
export { NileToolbar } from './nile-toolbar';
|
|
74
74
|
export { NileInlineEdit } from './nile-inline-edit';
|
|
75
|
+
export { NileFloatingPanel } from './nile-floating-panel';
|
|
75
76
|
export { NileTable } from './nile-table';
|
|
76
77
|
export { NileFilterChip } from './nile-filter-chip';
|
|
77
78
|
export { NilePagination } from './nile-pagination';
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { NileButton } from './nile-button';\nexport { NileHeading } from './nile-heading';\nexport { NileIcon } from './nile-icon';\nexport { NileInput } from './nile-input';\nexport { NileMenu } from './nile-menu';\nexport { NileBadge } from './nile-badge';\nexport { NileDrawer } from './nile-drawer';\nexport { NileCheckbox } from './nile-checkbox';\nexport { NileRadio } from './nile-radio';\nexport { NileRadioGroup } from './nile-radio-group';\nexport { NilePopup } from './nile-popup';\nexport { NileTooltip } from './nile-tooltip';\nexport { NileSlideToggle } from './nile-slide-toggle';\nexport { NileLoader } from './nile-loader';\nexport { NileProgressBar } from './nile-progress-bar';\nexport { NileSpinner } from './nile-spinner';\nexport { NileSelect } from './nile-select';\nexport { NileVirtualSelect } from './nile-virtual-select';\nexport { NileOption } from './nile-option';\nexport { NileTag } from './nile-tag';\nexport { NileIconButton } from './nile-icon-button';\nexport { NileMenuItem } from './nile-menu-item';\nexport { NileDropdown } from './nile-dropdown';\nexport { NileAutoComplete } from './nile-auto-complete';\nexport { NileChip } from './nile-chip';\nexport { NileTextarea } from './nile-textarea';\nexport { NileDatePicker } from './nile-date-picker';\nexport { NileErrorMessage } from './nile-error-message';\nexport { NileFormErrorMessage } from './nile-form-error-message';\nexport { NileFormHelpText } from './nile-form-help-text';\nexport { NileCalendar } from './nile-calendar';\nexport { NileLink } from './nile-link';\nexport { NileButtonToggleGroup } from './nile-button-toggle-group';\nexport { NileButtonToggle } from './nile-button-toggle';\nexport { NileSwitcher } from './nile-switcher';\nexport { NileContentEditor } from './nile-content-editor';\nexport { NileDialog } from './nile-dialog';\nexport { NileErrorNotification } from './nile-error-notification';\nexport { NileTabGroup } from './nile-tab-group';\nexport { NileTab } from './nile-tab';\nexport { NileTabPanel } from './nile-tab-panel';\nexport { NileCodeEditor } from './nile-code-editor';\nexport { NileToast } from './nile-toast';\nexport { NileBreadcrumb } from './nile-breadcrumb';\nexport { NileBreadcrumbItem } from './nile-breadcrumb-item';\nexport { NileFormGroup } from './nile-form-group';\nexport { NileCard } from './nile-card';\nexport { NilePopover } from './nile-popover';\nexport { NileButtonFilter } from './nile-button-filter';\nexport { NileCircularProgressbar } from './nile-circular-progressbar';\nexport { NileTableCellItem } from './nile-table-cell-item';\nexport { NileTableRow } from './nile-table-row';\nexport { NileTableBody } from './nile-table-body';\nexport { NileTableHeaderItem } from './nile-table-header-item';\nexport { NileAvatar } from './nile-avatar';\nexport { NilePageHeader } from './nile-page-header';\nexport { NileEmptyState } from './nile-empty-state';\nexport { NileHero } from './nile-hero';\nexport { NileStepperItem } from './nile-stepper-item';\nexport { NileStepper } from './nile-stepper';\nexport { NileHeroHeader } from './nile-hero-header';\nexport { NileVerticalStepperItem } from './nile-vertical-stepper-item';\nexport { NileFormatDate } from './nile-format-date';\nexport { NileSplitPanel } from './nile-split-panel';\nexport { NileTree } from './nile-tree';\nexport { NileTreeItem } from './nile-tree-item';\nexport { NileListItem } from './nile-list-item';\nexport { NileList } from './nile-list';\nexport { NileAccordion } from './nile-accordion';\nexport { NileDivider } from './nile-divider';\nexport { NileTitle } from './nile-title';\nexport { NileSectionMessage } from './nile-section-message';\nexport { NileToolbar } from './nile-toolbar';\nexport { NileInlineEdit } from './nile-inline-edit';\nexport { NileTable } from './nile-table';\nexport { NileFilterChip } from './nile-filter-chip';\nexport {NilePagination } from './nile-pagination';\nexport { NileSlider } from './nile-slider';\nexport { NileFileUpload } from './nile-file-upload';\nexport { NileFilePreview } from './nile-file-preview';\nexport { NileOptionGroup } from './nile-option-group';\nexport { NileGrid } from './nile-grid';\nexport { NileGridBody } from './nile-grid/nile-grid-body';\nexport { NileGridRow } from './nile-grid/nile-grid-row';\nexport { NileGridHeadItem } from './nile-grid/nile-grid-head-item';\nexport { NileGridCellItem } from './nile-grid/nile-grid-cell-item';\nexport { NileGridHead } from './nile-grid/nile-grid-head';\nexport { NileRichTextEditor } from './nile-rich-text-editor';\n\n// Import version utility to set nile version in window object\nimport './version';\n\nexport { NileSideBar } from './nile-side-bar';\nexport { NileSideBarHeader } from './nile-side-bar-header';\nexport { NileSideBarLogo } from './nile-side-bar-logo';\nexport { NileSideBarExpand } from './nile-side-bar-expand';\nexport { NileSideBarGroup } from './nile-side-bar-group';\nexport { NileSideBarGroupItem } from './nile-side-bar-group-item';\nexport { NileSideBarGroupItemIcon } from './nile-side-bar-group-item-icon';\nexport { NileSideBarGroupItemText } from './nile-side-bar-group-item-text';\nexport { NileSideBarFooter } from './nile-side-bar-footer';\nexport { NileSideBarFooterItem } from './nile-side-bar-footer-item';\nexport { NileSideBarAction } from './nile-side-bar-action';\nexport { NileSideBarFooterText } from './nile-side-bar-footer-text';\nexport { NileSideBarActionMenuItem } from './nile-side-bar-action-menu-item';\nexport { NileSideBarActionMenu } from './nile-side-bar-action-menu';\nexport { NileInlineSidebarGroup } from './nile-inline-sidebar-group';\nexport { NileInlineSidebar } from './nile-inline-sidebar';\nexport { NileInlineSidebarItem } from './nile-inline-sidebar-item';\nexport { NileliteTooltip } from './nile-lite-tooltip';"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { NileButton } from './nile-button';\nexport { NileHeading } from './nile-heading';\nexport { NileIcon } from './nile-icon';\nexport { NileInput } from './nile-input';\nexport { NileMenu } from './nile-menu';\nexport { NileBadge } from './nile-badge';\nexport { NileDrawer } from './nile-drawer';\nexport { NileCheckbox } from './nile-checkbox';\nexport { NileRadio } from './nile-radio';\nexport { NileRadioGroup } from './nile-radio-group';\nexport { NilePopup } from './nile-popup';\nexport { NileTooltip } from './nile-tooltip';\nexport { NileSlideToggle } from './nile-slide-toggle';\nexport { NileLoader } from './nile-loader';\nexport { NileProgressBar } from './nile-progress-bar';\nexport { NileSpinner } from './nile-spinner';\nexport { NileSelect } from './nile-select';\nexport { NileVirtualSelect } from './nile-virtual-select';\nexport { NileOption } from './nile-option';\nexport { NileTag } from './nile-tag';\nexport { NileIconButton } from './nile-icon-button';\nexport { NileMenuItem } from './nile-menu-item';\nexport { NileDropdown } from './nile-dropdown';\nexport { NileAutoComplete } from './nile-auto-complete';\nexport { NileChip } from './nile-chip';\nexport { NileTextarea } from './nile-textarea';\nexport { NileDatePicker } from './nile-date-picker';\nexport { NileErrorMessage } from './nile-error-message';\nexport { NileFormErrorMessage } from './nile-form-error-message';\nexport { NileFormHelpText } from './nile-form-help-text';\nexport { NileCalendar } from './nile-calendar';\nexport { NileLink } from './nile-link';\nexport { NileButtonToggleGroup } from './nile-button-toggle-group';\nexport { NileButtonToggle } from './nile-button-toggle';\nexport { NileSwitcher } from './nile-switcher';\nexport { NileContentEditor } from './nile-content-editor';\nexport { NileDialog } from './nile-dialog';\nexport { NileErrorNotification } from './nile-error-notification';\nexport { NileTabGroup } from './nile-tab-group';\nexport { NileTab } from './nile-tab';\nexport { NileTabPanel } from './nile-tab-panel';\nexport { NileCodeEditor } from './nile-code-editor';\nexport { NileToast } from './nile-toast';\nexport { NileBreadcrumb } from './nile-breadcrumb';\nexport { NileBreadcrumbItem } from './nile-breadcrumb-item';\nexport { NileFormGroup } from './nile-form-group';\nexport { NileCard } from './nile-card';\nexport { NilePopover } from './nile-popover';\nexport { NileButtonFilter } from './nile-button-filter';\nexport { NileCircularProgressbar } from './nile-circular-progressbar';\nexport { NileTableCellItem } from './nile-table-cell-item';\nexport { NileTableRow } from './nile-table-row';\nexport { NileTableBody } from './nile-table-body';\nexport { NileTableHeaderItem } from './nile-table-header-item';\nexport { NileAvatar } from './nile-avatar';\nexport { NilePageHeader } from './nile-page-header';\nexport { NileEmptyState } from './nile-empty-state';\nexport { NileHero } from './nile-hero';\nexport { NileStepperItem } from './nile-stepper-item';\nexport { NileStepper } from './nile-stepper';\nexport { NileHeroHeader } from './nile-hero-header';\nexport { NileVerticalStepperItem } from './nile-vertical-stepper-item';\nexport { NileFormatDate } from './nile-format-date';\nexport { NileSplitPanel } from './nile-split-panel';\nexport { NileTree } from './nile-tree';\nexport { NileTreeItem } from './nile-tree-item';\nexport { NileListItem } from './nile-list-item';\nexport { NileList } from './nile-list';\nexport { NileAccordion } from './nile-accordion';\nexport { NileDivider } from './nile-divider';\nexport { NileTitle } from './nile-title';\nexport { NileSectionMessage } from './nile-section-message';\nexport { NileToolbar } from './nile-toolbar';\nexport { NileInlineEdit } from './nile-inline-edit';\nexport { NileFloatingPanel } from './nile-floating-panel';\nexport { NileTable } from './nile-table';\nexport { NileFilterChip } from './nile-filter-chip';\nexport {NilePagination } from './nile-pagination';\nexport { NileSlider } from './nile-slider';\nexport { NileFileUpload } from './nile-file-upload';\nexport { NileFilePreview } from './nile-file-preview';\nexport { NileOptionGroup } from './nile-option-group';\nexport { NileGrid } from './nile-grid';\nexport { NileGridBody } from './nile-grid/nile-grid-body';\nexport { NileGridRow } from './nile-grid/nile-grid-row';\nexport { NileGridHeadItem } from './nile-grid/nile-grid-head-item';\nexport { NileGridCellItem } from './nile-grid/nile-grid-cell-item';\nexport { NileGridHead } from './nile-grid/nile-grid-head';\nexport { NileRichTextEditor } from './nile-rich-text-editor';\n\n// Import version utility to set nile version in window object\nimport './version';\n\nexport { NileSideBar } from './nile-side-bar';\nexport { NileSideBarHeader } from './nile-side-bar-header';\nexport { NileSideBarLogo } from './nile-side-bar-logo';\nexport { NileSideBarExpand } from './nile-side-bar-expand';\nexport { NileSideBarGroup } from './nile-side-bar-group';\nexport { NileSideBarGroupItem } from './nile-side-bar-group-item';\nexport { NileSideBarGroupItemIcon } from './nile-side-bar-group-item-icon';\nexport { NileSideBarGroupItemText } from './nile-side-bar-group-item-text';\nexport { NileSideBarFooter } from './nile-side-bar-footer';\nexport { NileSideBarFooterItem } from './nile-side-bar-footer-item';\nexport { NileSideBarAction } from './nile-side-bar-action';\nexport { NileSideBarFooterText } from './nile-side-bar-footer-text';\nexport { NileSideBarActionMenuItem } from './nile-side-bar-action-menu-item';\nexport { NileSideBarActionMenu } from './nile-side-bar-action-menu';\nexport { NileInlineSidebarGroup } from './nile-inline-sidebar-group';\nexport { NileInlineSidebar } from './nile-inline-sidebar';\nexport { NileInlineSidebarItem } from './nile-inline-sidebar-item';\nexport { NileliteTooltip } from './nile-lite-tooltip';\n"]}
|
|
@@ -0,0 +1,53 @@
|
|
|
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 { type Placement, type MiddlewareData, type Boundary } from '@floating-ui/dom';
|
|
8
|
+
import type { CSSResultGroup } from 'lit';
|
|
9
|
+
export interface PortalConfig {
|
|
10
|
+
placement?: Placement;
|
|
11
|
+
offset?: number;
|
|
12
|
+
padding?: number;
|
|
13
|
+
boundary?: Boundary;
|
|
14
|
+
strategy?: 'absolute' | 'fixed';
|
|
15
|
+
flip?: boolean;
|
|
16
|
+
shift?: boolean;
|
|
17
|
+
sync?: 'width' | 'height' | 'both' | boolean;
|
|
18
|
+
autoSize?: 'width' | 'height' | 'both' | boolean;
|
|
19
|
+
autoSizePadding?: number;
|
|
20
|
+
}
|
|
21
|
+
export interface PortalContentHandler {
|
|
22
|
+
createPortalContent(): HTMLElement;
|
|
23
|
+
updatePortalContent(portalElement: HTMLElement): void;
|
|
24
|
+
setupEventListeners(portalElement: HTMLElement): void;
|
|
25
|
+
cleanupEventListeners(portalElement: HTMLElement): void;
|
|
26
|
+
getReferenceElement(): HTMLElement;
|
|
27
|
+
getComponentStyles(): CSSResultGroup | undefined;
|
|
28
|
+
}
|
|
29
|
+
export declare class BasePortalManager {
|
|
30
|
+
private portalContainer;
|
|
31
|
+
private cleanupAutoUpdate;
|
|
32
|
+
private currentPlacement;
|
|
33
|
+
private currentMiddlewareData;
|
|
34
|
+
private config;
|
|
35
|
+
private contentHandler;
|
|
36
|
+
constructor(contentHandler: PortalContentHandler, config?: PortalConfig);
|
|
37
|
+
setupPortal(): void;
|
|
38
|
+
updatePortal(): void;
|
|
39
|
+
cleanupPortal(): void;
|
|
40
|
+
private createPortalContainer;
|
|
41
|
+
private positionPortal;
|
|
42
|
+
private calculatePosition;
|
|
43
|
+
private createMiddleware;
|
|
44
|
+
private applyPosition;
|
|
45
|
+
private fallbackPositioning;
|
|
46
|
+
private setupAutoUpdate;
|
|
47
|
+
private injectStyles;
|
|
48
|
+
private extractStylesAsCSS;
|
|
49
|
+
get portalElement(): HTMLElement | null;
|
|
50
|
+
getCurrentPlacement(): Placement;
|
|
51
|
+
getCurrentMiddlewareData(): MiddlewareData | null;
|
|
52
|
+
isActive(): boolean;
|
|
53
|
+
}
|
|
@@ -0,0 +1,196 @@
|
|
|
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 { autoUpdate, computePosition, flip, offset, shift, size } from '@floating-ui/dom';
|
|
8
|
+
export class BasePortalManager {
|
|
9
|
+
constructor(contentHandler, config = {}) {
|
|
10
|
+
this.portalContainer = null;
|
|
11
|
+
this.cleanupAutoUpdate = null;
|
|
12
|
+
this.currentPlacement = 'bottom';
|
|
13
|
+
this.currentMiddlewareData = null;
|
|
14
|
+
this.contentHandler = contentHandler;
|
|
15
|
+
this.config = {
|
|
16
|
+
placement: 'bottom',
|
|
17
|
+
offset: 4,
|
|
18
|
+
padding: 10,
|
|
19
|
+
strategy: 'fixed',
|
|
20
|
+
flip: true,
|
|
21
|
+
shift: true,
|
|
22
|
+
...config
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
setupPortal() {
|
|
26
|
+
if (this.portalContainer)
|
|
27
|
+
return;
|
|
28
|
+
this.portalContainer = this.createPortalContainer();
|
|
29
|
+
const portalContent = this.contentHandler.createPortalContent();
|
|
30
|
+
this.portalContainer.appendChild(portalContent);
|
|
31
|
+
document.body.appendChild(this.portalContainer);
|
|
32
|
+
this.injectStyles();
|
|
33
|
+
this.positionPortal();
|
|
34
|
+
this.setupAutoUpdate();
|
|
35
|
+
this.contentHandler.setupEventListeners(portalContent);
|
|
36
|
+
}
|
|
37
|
+
updatePortal() {
|
|
38
|
+
if (!this.portalContainer)
|
|
39
|
+
return;
|
|
40
|
+
const portalContent = this.portalContainer.firstElementChild;
|
|
41
|
+
if (portalContent) {
|
|
42
|
+
this.contentHandler.updatePortalContent(portalContent);
|
|
43
|
+
this.positionPortal();
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
cleanupPortal() {
|
|
47
|
+
if (this.cleanupAutoUpdate) {
|
|
48
|
+
this.cleanupAutoUpdate();
|
|
49
|
+
this.cleanupAutoUpdate = null;
|
|
50
|
+
}
|
|
51
|
+
if (this.portalContainer) {
|
|
52
|
+
const portalContent = this.portalContainer.firstElementChild;
|
|
53
|
+
if (portalContent) {
|
|
54
|
+
this.contentHandler.cleanupEventListeners(portalContent);
|
|
55
|
+
}
|
|
56
|
+
this.portalContainer.remove();
|
|
57
|
+
this.portalContainer = null;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
createPortalContainer() {
|
|
61
|
+
const container = document.createElement('div');
|
|
62
|
+
container.style.position = 'absolute';
|
|
63
|
+
container.style.zIndex = '9999';
|
|
64
|
+
container.style.pointerEvents = 'none';
|
|
65
|
+
container.className = 'nile-portal-container';
|
|
66
|
+
return container;
|
|
67
|
+
}
|
|
68
|
+
async positionPortal() {
|
|
69
|
+
if (!this.portalContainer)
|
|
70
|
+
return;
|
|
71
|
+
const referenceElement = this.contentHandler.getReferenceElement();
|
|
72
|
+
const floatingElement = this.portalContainer;
|
|
73
|
+
try {
|
|
74
|
+
const { x, y, placement, middlewareData } = await this.calculatePosition(referenceElement, floatingElement);
|
|
75
|
+
this.applyPosition(floatingElement, x, y, placement, middlewareData);
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
console.warn('Portal positioning failed, using fallback:', error);
|
|
79
|
+
this.fallbackPositioning();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
async calculatePosition(referenceElement, floatingElement) {
|
|
83
|
+
const middleware = this.createMiddleware();
|
|
84
|
+
return await computePosition(referenceElement, floatingElement, {
|
|
85
|
+
placement: this.config.placement,
|
|
86
|
+
strategy: this.config.strategy,
|
|
87
|
+
middleware
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
createMiddleware() {
|
|
91
|
+
const middleware = [
|
|
92
|
+
offset(this.config.offset)
|
|
93
|
+
];
|
|
94
|
+
if (this.config.sync) {
|
|
95
|
+
middleware.push(size({
|
|
96
|
+
apply: ({ elements, availableWidth, availableHeight }) => {
|
|
97
|
+
if (this.config.sync === 'width' || this.config.sync === 'both') {
|
|
98
|
+
elements.floating.style.width = `${availableWidth}px`;
|
|
99
|
+
}
|
|
100
|
+
if (this.config.sync === 'height' || this.config.sync === 'both') {
|
|
101
|
+
elements.floating.style.height = `${availableHeight}px`;
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
padding: this.config.padding,
|
|
105
|
+
boundary: this.config.boundary
|
|
106
|
+
}));
|
|
107
|
+
}
|
|
108
|
+
if (this.config.flip) {
|
|
109
|
+
middleware.push(flip({
|
|
110
|
+
fallbackPlacements: ['bottom', 'top', 'bottom-start', 'top-start'],
|
|
111
|
+
boundary: this.config.boundary,
|
|
112
|
+
padding: this.config.padding
|
|
113
|
+
}));
|
|
114
|
+
}
|
|
115
|
+
if (this.config.shift) {
|
|
116
|
+
middleware.push(shift({
|
|
117
|
+
boundary: this.config.boundary,
|
|
118
|
+
padding: this.config.padding
|
|
119
|
+
}));
|
|
120
|
+
}
|
|
121
|
+
return middleware;
|
|
122
|
+
}
|
|
123
|
+
applyPosition(floatingElement, x, y, placement, middlewareData) {
|
|
124
|
+
Object.assign(floatingElement.style, {
|
|
125
|
+
left: `${x}px`,
|
|
126
|
+
top: `${y}px`,
|
|
127
|
+
position: this.config.strategy,
|
|
128
|
+
pointerEvents: 'auto'
|
|
129
|
+
});
|
|
130
|
+
this.currentPlacement = placement;
|
|
131
|
+
this.currentMiddlewareData = middlewareData;
|
|
132
|
+
}
|
|
133
|
+
fallbackPositioning() {
|
|
134
|
+
if (!this.portalContainer)
|
|
135
|
+
return;
|
|
136
|
+
const referenceElement = this.contentHandler.getReferenceElement();
|
|
137
|
+
const rect = referenceElement.getBoundingClientRect();
|
|
138
|
+
this.portalContainer.style.left = `${rect.left}px`;
|
|
139
|
+
this.portalContainer.style.top = `${rect.bottom + 4}px`;
|
|
140
|
+
this.portalContainer.style.width = `${rect.width}px`;
|
|
141
|
+
this.portalContainer.style.pointerEvents = 'auto';
|
|
142
|
+
}
|
|
143
|
+
setupAutoUpdate() {
|
|
144
|
+
if (!this.portalContainer)
|
|
145
|
+
return;
|
|
146
|
+
this.cleanupAutoUpdate = autoUpdate(this.contentHandler.getReferenceElement(), this.portalContainer, () => this.positionPortal(), {
|
|
147
|
+
ancestorScroll: true,
|
|
148
|
+
ancestorResize: true,
|
|
149
|
+
elementResize: true,
|
|
150
|
+
layoutShift: true
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
injectStyles() {
|
|
154
|
+
const styles = this.contentHandler.getComponentStyles();
|
|
155
|
+
if (!styles)
|
|
156
|
+
return;
|
|
157
|
+
// Extract and inject styles into document
|
|
158
|
+
const styleId = `nile-portal-styles-${Date.now()}`;
|
|
159
|
+
if (document.getElementById(styleId))
|
|
160
|
+
return;
|
|
161
|
+
const styleElement = document.createElement('style');
|
|
162
|
+
styleElement.id = styleId;
|
|
163
|
+
styleElement.textContent = this.extractStylesAsCSS(styles);
|
|
164
|
+
document.head.appendChild(styleElement);
|
|
165
|
+
if (this.portalContainer) {
|
|
166
|
+
this.portalContainer.__injectedStyleId = styleId;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
extractStylesAsCSS(styles) {
|
|
170
|
+
if (Array.isArray(styles)) {
|
|
171
|
+
return styles.map(style => {
|
|
172
|
+
if ('cssText' in style) {
|
|
173
|
+
return style.cssText;
|
|
174
|
+
}
|
|
175
|
+
return style.toString();
|
|
176
|
+
}).join('\n');
|
|
177
|
+
}
|
|
178
|
+
if ('cssText' in styles) {
|
|
179
|
+
return styles.cssText;
|
|
180
|
+
}
|
|
181
|
+
return styles.toString();
|
|
182
|
+
}
|
|
183
|
+
get portalElement() {
|
|
184
|
+
return this.portalContainer;
|
|
185
|
+
}
|
|
186
|
+
getCurrentPlacement() {
|
|
187
|
+
return this.currentPlacement;
|
|
188
|
+
}
|
|
189
|
+
getCurrentMiddlewareData() {
|
|
190
|
+
return this.currentMiddlewareData;
|
|
191
|
+
}
|
|
192
|
+
isActive() {
|
|
193
|
+
return this.portalContainer !== null;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=portal-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portal-manager.js","sourceRoot":"","sources":["../../../src/internal/portal-manager.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 { \n autoUpdate, \n computePosition, \n flip, \n offset, \n shift, \n size,\n type Placement,\n type MiddlewareData,\n type ComputePositionConfig,\n type Boundary\n} from '@floating-ui/dom';\nimport type { CSSResultGroup } from 'lit';\n\nexport interface PortalConfig {\n placement?: Placement;\n offset?: number;\n padding?: number;\n boundary?: Boundary;\n strategy?: 'absolute' | 'fixed';\n flip?: boolean;\n shift?: boolean;\n sync?: 'width' | 'height' | 'both' | boolean;\n autoSize?: 'width' | 'height' | 'both' | boolean;\n autoSizePadding?: number;\n}\n\nexport interface PortalContentHandler {\n createPortalContent(): HTMLElement;\n updatePortalContent(portalElement: HTMLElement): void;\n setupEventListeners(portalElement: HTMLElement): void;\n cleanupEventListeners(portalElement: HTMLElement): void;\n getReferenceElement(): HTMLElement;\n getComponentStyles(): CSSResultGroup | undefined;\n}\n\nexport class BasePortalManager {\n private portalContainer: HTMLElement | null = null;\n private cleanupAutoUpdate: (() => void) | null = null;\n private currentPlacement: Placement = 'bottom';\n private currentMiddlewareData: MiddlewareData | null = null;\n private config: PortalConfig;\n private contentHandler: PortalContentHandler;\n\n constructor(contentHandler: PortalContentHandler, config: PortalConfig = {}) {\n this.contentHandler = contentHandler;\n this.config = {\n placement: 'bottom',\n offset: 4,\n padding: 10,\n strategy: 'fixed',\n flip: true,\n shift: true,\n ...config\n };\n }\n\n setupPortal(): void {\n if (this.portalContainer) return;\n\n this.portalContainer = this.createPortalContainer();\n const portalContent = this.contentHandler.createPortalContent();\n this.portalContainer.appendChild(portalContent);\n \n document.body.appendChild(this.portalContainer);\n \n this.injectStyles();\n this.positionPortal();\n this.setupAutoUpdate();\n this.contentHandler.setupEventListeners(portalContent);\n }\n\n updatePortal(): void {\n if (!this.portalContainer) return;\n \n const portalContent = this.portalContainer.firstElementChild as HTMLElement;\n if (portalContent) {\n this.contentHandler.updatePortalContent(portalContent);\n this.positionPortal();\n }\n }\n\n cleanupPortal(): void {\n if (this.cleanupAutoUpdate) {\n this.cleanupAutoUpdate();\n this.cleanupAutoUpdate = null;\n }\n\n if (this.portalContainer) {\n const portalContent = this.portalContainer.firstElementChild as HTMLElement;\n if (portalContent) {\n this.contentHandler.cleanupEventListeners(portalContent);\n }\n \n this.portalContainer.remove();\n this.portalContainer = null;\n }\n }\n\n private createPortalContainer(): HTMLElement {\n const container = document.createElement('div');\n container.style.position = 'absolute';\n container.style.zIndex = '9999';\n container.style.pointerEvents = 'none';\n container.className = 'nile-portal-container';\n return container;\n }\n\n private async positionPortal(): Promise<void> {\n if (!this.portalContainer) return;\n\n const referenceElement = this.contentHandler.getReferenceElement();\n const floatingElement = this.portalContainer;\n\n try {\n const { x, y, placement, middlewareData } = await this.calculatePosition(\n referenceElement,\n floatingElement\n );\n\n this.applyPosition(floatingElement, x, y, placement, middlewareData);\n } catch (error) {\n console.warn('Portal positioning failed, using fallback:', error);\n this.fallbackPositioning();\n }\n }\n\n private async calculatePosition(\n referenceElement: HTMLElement,\n floatingElement: HTMLElement\n ): Promise<{ x: number; y: number; placement: Placement; middlewareData: MiddlewareData }> {\n const middleware = this.createMiddleware();\n\n return await computePosition(referenceElement, floatingElement, {\n placement: this.config.placement!,\n strategy: this.config.strategy!,\n middleware\n });\n }\n\n private createMiddleware(): ComputePositionConfig['middleware'] {\n const middleware: ComputePositionConfig['middleware'] = [\n offset(this.config.offset!)\n ];\n\n if (this.config.sync) {\n middleware.push(\n size({\n apply: ({ elements, availableWidth, availableHeight }) => {\n if (this.config.sync === 'width' || this.config.sync === 'both') {\n elements.floating.style.width = `${availableWidth}px`;\n }\n if (this.config.sync === 'height' || this.config.sync === 'both') {\n elements.floating.style.height = `${availableHeight}px`;\n }\n },\n padding: this.config.padding,\n boundary: this.config.boundary\n })\n );\n }\n\n if (this.config.flip) {\n middleware.push(\n flip({\n fallbackPlacements: ['bottom', 'top', 'bottom-start', 'top-start'],\n boundary: this.config.boundary,\n padding: this.config.padding\n })\n );\n }\n\n if (this.config.shift) {\n middleware.push(\n shift({\n boundary: this.config.boundary,\n padding: this.config.padding\n })\n );\n }\n\n return middleware;\n }\n\n private applyPosition(\n floatingElement: HTMLElement,\n x: number,\n y: number,\n placement: Placement,\n middlewareData: MiddlewareData\n ): void {\n Object.assign(floatingElement.style, {\n left: `${x}px`,\n top: `${y}px`,\n position: this.config.strategy!,\n pointerEvents: 'auto'\n });\n\n this.currentPlacement = placement;\n this.currentMiddlewareData = middlewareData;\n }\n\n private fallbackPositioning(): void {\n if (!this.portalContainer) return;\n\n const referenceElement = this.contentHandler.getReferenceElement();\n const rect = referenceElement.getBoundingClientRect();\n \n this.portalContainer.style.left = `${rect.left}px`;\n this.portalContainer.style.top = `${rect.bottom + 4}px`;\n this.portalContainer.style.width = `${rect.width}px`;\n this.portalContainer.style.pointerEvents = 'auto';\n }\n\n private setupAutoUpdate(): void {\n if (!this.portalContainer) return;\n\n this.cleanupAutoUpdate = autoUpdate(\n this.contentHandler.getReferenceElement(),\n this.portalContainer,\n () => this.positionPortal(),\n {\n ancestorScroll: true,\n ancestorResize: true,\n elementResize: true,\n layoutShift: true\n }\n );\n }\n\n private injectStyles(): void {\n const styles = this.contentHandler.getComponentStyles();\n if (!styles) return;\n\n // Extract and inject styles into document\n const styleId = `nile-portal-styles-${Date.now()}`;\n \n if (document.getElementById(styleId)) return;\n\n const styleElement = document.createElement('style');\n styleElement.id = styleId;\n styleElement.textContent = this.extractStylesAsCSS(styles);\n \n document.head.appendChild(styleElement);\n \n if (this.portalContainer) {\n (this.portalContainer as any).__injectedStyleId = styleId;\n }\n }\n\n private extractStylesAsCSS(styles: CSSResultGroup): string {\n if (Array.isArray(styles)) {\n return styles.map(style => {\n if ('cssText' in style) {\n return style.cssText;\n }\n return style.toString();\n }).join('\\n');\n }\n \n if ('cssText' in styles) {\n return styles.cssText;\n }\n return styles.toString();\n }\n\n get portalElement(): HTMLElement | null {\n return this.portalContainer;\n }\n\n getCurrentPlacement(): Placement {\n return this.currentPlacement;\n }\n\n getCurrentMiddlewareData(): MiddlewareData | null {\n return this.currentMiddlewareData;\n }\n\n isActive(): boolean {\n return this.portalContainer !== null;\n }\n}\n"]}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2023
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import type { LitElement } from 'lit';
|
|
8
|
+
export declare class PortalManager {
|
|
9
|
+
private component;
|
|
10
|
+
private portalContainer;
|
|
11
|
+
private originalListboxParent;
|
|
12
|
+
private measuredPopupHeight;
|
|
13
|
+
private listboxSelector;
|
|
14
|
+
private portalClassName;
|
|
15
|
+
constructor(component: LitElement, listboxSelector?: string, portalClassName?: string);
|
|
16
|
+
/**
|
|
17
|
+
* Creates a portal container with proper styling
|
|
18
|
+
*/
|
|
19
|
+
private createPortalContainer;
|
|
20
|
+
/**
|
|
21
|
+
* Positions the portal container relative to the component
|
|
22
|
+
*/
|
|
23
|
+
private positionPortal;
|
|
24
|
+
/**
|
|
25
|
+
* Updates portal position (called on window resize/scroll)
|
|
26
|
+
*/
|
|
27
|
+
updatePortalPosition(): void;
|
|
28
|
+
/**
|
|
29
|
+
* Updates portal content (called when content changes)
|
|
30
|
+
*/
|
|
31
|
+
updatePortalContent(): void;
|
|
32
|
+
/**
|
|
33
|
+
* Injects component styles into document head for portal containers
|
|
34
|
+
*/
|
|
35
|
+
private injectStylesToDocument;
|
|
36
|
+
/**
|
|
37
|
+
* Extracts styles as CSS string from various style formats
|
|
38
|
+
*/
|
|
39
|
+
private extractStylesAsCSS;
|
|
40
|
+
/**
|
|
41
|
+
* Sets up the portal by moving the listbox to document body
|
|
42
|
+
*/
|
|
43
|
+
setupPortal(): void;
|
|
44
|
+
/**
|
|
45
|
+
* Cleans up the portal by restoring the listbox to its original position
|
|
46
|
+
*/
|
|
47
|
+
cleanupPortal(): void;
|
|
48
|
+
/**
|
|
49
|
+
* Resets the measured height (call when content changes)
|
|
50
|
+
*/
|
|
51
|
+
resetMeasuredHeight(): void;
|
|
52
|
+
/**
|
|
53
|
+
* Gets the portal container element
|
|
54
|
+
*/
|
|
55
|
+
getPortalContainer(): HTMLElement | null;
|
|
56
|
+
/**
|
|
57
|
+
* Checks if portal is currently active
|
|
58
|
+
*/
|
|
59
|
+
isPortalActive(): boolean;
|
|
60
|
+
}
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2023
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
export class PortalManager {
|
|
8
|
+
constructor(component, listboxSelector = '#listbox', portalClassName = 'nile-portal-append') {
|
|
9
|
+
this.portalContainer = null;
|
|
10
|
+
this.originalListboxParent = null;
|
|
11
|
+
this.measuredPopupHeight = null;
|
|
12
|
+
this.component = component;
|
|
13
|
+
this.listboxSelector = listboxSelector;
|
|
14
|
+
this.portalClassName = portalClassName;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Creates a portal container with proper styling
|
|
18
|
+
*/
|
|
19
|
+
createPortalContainer() {
|
|
20
|
+
const container = document.createElement('div');
|
|
21
|
+
container.style.position = 'absolute';
|
|
22
|
+
container.style.zIndex = '9999';
|
|
23
|
+
container.style.pointerEvents = 'none';
|
|
24
|
+
container.className = this.portalClassName;
|
|
25
|
+
// Apply additional styling to match the original popup
|
|
26
|
+
container.style.background = 'white';
|
|
27
|
+
container.style.border = '1px solid #e0e0e0';
|
|
28
|
+
container.style.borderRadius = '4px';
|
|
29
|
+
container.style.boxShadow = '0 4px 6px rgba(0, 0, 0, 0.1)';
|
|
30
|
+
container.style.maxHeight = '300px';
|
|
31
|
+
container.style.overflow = 'hidden';
|
|
32
|
+
return container;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Positions the portal container relative to the component
|
|
36
|
+
*/
|
|
37
|
+
positionPortal() {
|
|
38
|
+
if (!this.portalContainer)
|
|
39
|
+
return;
|
|
40
|
+
const rect = this.component.getBoundingClientRect();
|
|
41
|
+
const viewportHeight = window.innerHeight;
|
|
42
|
+
const estimatedPopupHeight = 300; // Fallback estimate
|
|
43
|
+
// If this is the first positioning, measure actual height
|
|
44
|
+
if (!this.measuredPopupHeight && this.portalContainer) {
|
|
45
|
+
// Temporarily position the container to measure its height
|
|
46
|
+
this.portalContainer.style.position = 'absolute';
|
|
47
|
+
this.portalContainer.style.visibility = 'hidden';
|
|
48
|
+
this.portalContainer.style.top = '0px';
|
|
49
|
+
this.portalContainer.style.left = '0px';
|
|
50
|
+
// Force a reflow to ensure the container is rendered
|
|
51
|
+
this.portalContainer.offsetHeight;
|
|
52
|
+
// Measure the actual height
|
|
53
|
+
this.measuredPopupHeight = this.portalContainer.offsetHeight;
|
|
54
|
+
// Reset visibility
|
|
55
|
+
this.portalContainer.style.visibility = '';
|
|
56
|
+
}
|
|
57
|
+
// Use measured height or fallback to estimate
|
|
58
|
+
const popupHeight = this.measuredPopupHeight || estimatedPopupHeight;
|
|
59
|
+
// Calculate available space above and below
|
|
60
|
+
const spaceBelow = viewportHeight - rect.bottom;
|
|
61
|
+
const spaceAbove = rect.top;
|
|
62
|
+
let topPosition;
|
|
63
|
+
let placementClass;
|
|
64
|
+
// Smart positioning: flip to top if insufficient space below and more space above
|
|
65
|
+
if (spaceBelow < popupHeight && spaceAbove > spaceBelow) {
|
|
66
|
+
// Open upward
|
|
67
|
+
topPosition = rect.top - popupHeight - 6;
|
|
68
|
+
placementClass = 'top';
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
// Open downward
|
|
72
|
+
topPosition = rect.bottom + 6;
|
|
73
|
+
placementClass = 'bottom';
|
|
74
|
+
}
|
|
75
|
+
// Apply positioning
|
|
76
|
+
this.portalContainer.style.left = `${rect.left}px`;
|
|
77
|
+
this.portalContainer.style.top = `${topPosition}px`;
|
|
78
|
+
this.portalContainer.style.width = `${rect.width}px`;
|
|
79
|
+
this.portalContainer.style.pointerEvents = 'auto';
|
|
80
|
+
// Update placement class for styling
|
|
81
|
+
this.portalContainer.className = `${this.portalClassName} select__listbox--${placementClass}`;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Updates portal position (called on window resize/scroll)
|
|
85
|
+
*/
|
|
86
|
+
updatePortalPosition() {
|
|
87
|
+
if (this.portalContainer) {
|
|
88
|
+
this.positionPortal();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Updates portal content (called when content changes)
|
|
93
|
+
*/
|
|
94
|
+
updatePortalContent() {
|
|
95
|
+
if (this.portalContainer) {
|
|
96
|
+
this.positionPortal();
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Injects component styles into document head for portal containers
|
|
101
|
+
*/
|
|
102
|
+
injectStylesToDocument() {
|
|
103
|
+
if (!this.portalContainer)
|
|
104
|
+
return;
|
|
105
|
+
// Create a unique identifier for this component instance
|
|
106
|
+
const styleId = `nile-portal-styles-${Math.random().toString(36).substr(2, 9)}`;
|
|
107
|
+
// Check if styles are already injected
|
|
108
|
+
if (document.getElementById(styleId))
|
|
109
|
+
return;
|
|
110
|
+
// Get the component's styles
|
|
111
|
+
const componentStyles = this.component.constructor.styles;
|
|
112
|
+
if (!componentStyles)
|
|
113
|
+
return;
|
|
114
|
+
// Create a style element
|
|
115
|
+
const styleElement = document.createElement('style');
|
|
116
|
+
styleElement.id = styleId;
|
|
117
|
+
styleElement.textContent = this.extractStylesAsCSS(componentStyles);
|
|
118
|
+
// Inject into document head
|
|
119
|
+
document.head.appendChild(styleElement);
|
|
120
|
+
// Store reference for cleanup
|
|
121
|
+
this.portalContainer.__injectedStyleId = styleId;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Extracts styles as CSS string from various style formats
|
|
125
|
+
*/
|
|
126
|
+
extractStylesAsCSS(styles) {
|
|
127
|
+
if (typeof styles === 'string') {
|
|
128
|
+
return styles;
|
|
129
|
+
}
|
|
130
|
+
if (Array.isArray(styles)) {
|
|
131
|
+
return styles.map(style => this.extractStylesAsCSS(style)).join('\n');
|
|
132
|
+
}
|
|
133
|
+
if (styles && typeof styles === 'object' && styles.cssText) {
|
|
134
|
+
return styles.cssText;
|
|
135
|
+
}
|
|
136
|
+
return '';
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Sets up the portal by moving the listbox to document body
|
|
140
|
+
*/
|
|
141
|
+
setupPortal() {
|
|
142
|
+
this.component.updateComplete.then(() => {
|
|
143
|
+
const listbox = this.component.shadowRoot?.querySelector(this.listboxSelector);
|
|
144
|
+
if (listbox) {
|
|
145
|
+
this.originalListboxParent = listbox.parentElement;
|
|
146
|
+
this.portalContainer = this.createPortalContainer();
|
|
147
|
+
this.portalContainer.appendChild(listbox);
|
|
148
|
+
document.body.appendChild(this.portalContainer);
|
|
149
|
+
// Inject the component's styles to the body append container
|
|
150
|
+
this.injectStylesToDocument();
|
|
151
|
+
listbox.style.display = '';
|
|
152
|
+
this.positionPortal();
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Cleans up the portal by restoring the listbox to its original position
|
|
158
|
+
*/
|
|
159
|
+
cleanupPortal() {
|
|
160
|
+
if (this.portalContainer && this.portalContainer.parentNode) {
|
|
161
|
+
const listbox = this.portalContainer.querySelector(this.listboxSelector);
|
|
162
|
+
if (listbox && this.originalListboxParent) {
|
|
163
|
+
this.originalListboxParent.appendChild(listbox);
|
|
164
|
+
listbox.style.display = '';
|
|
165
|
+
}
|
|
166
|
+
// Clean up injected styles if they exist
|
|
167
|
+
const injectedStyleId = this.portalContainer.__injectedStyleId;
|
|
168
|
+
if (injectedStyleId) {
|
|
169
|
+
const styleElement = document.getElementById(injectedStyleId);
|
|
170
|
+
if (styleElement) {
|
|
171
|
+
styleElement.remove();
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
this.portalContainer.parentNode.removeChild(this.portalContainer);
|
|
175
|
+
}
|
|
176
|
+
this.portalContainer = null;
|
|
177
|
+
this.originalListboxParent = null;
|
|
178
|
+
this.measuredPopupHeight = null;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Resets the measured height (call when content changes)
|
|
182
|
+
*/
|
|
183
|
+
resetMeasuredHeight() {
|
|
184
|
+
this.measuredPopupHeight = null;
|
|
185
|
+
}
|
|
186
|
+
/**
|
|
187
|
+
* Gets the portal container element
|
|
188
|
+
*/
|
|
189
|
+
getPortalContainer() {
|
|
190
|
+
return this.portalContainer;
|
|
191
|
+
}
|
|
192
|
+
/**
|
|
193
|
+
* Checks if portal is currently active
|
|
194
|
+
*/
|
|
195
|
+
isPortalActive() {
|
|
196
|
+
return this.portalContainer !== null;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
//# sourceMappingURL=portal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"portal.js","sourceRoot":"","sources":["../../../src/internal/portal.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,OAAO,aAAa;IAQxB,YAAY,SAAqB,EAAE,kBAA0B,UAAU,EAAE,kBAA0B,oBAAoB;QAN/G,oBAAe,GAAuB,IAAI,CAAC;QAC3C,0BAAqB,GAAuB,IAAI,CAAC;QACjD,wBAAmB,GAAkB,IAAI,CAAC;QAKhD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,MAAM,SAAS,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;QAChD,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;QACtC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QAChC,SAAS,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;QACvC,SAAS,CAAC,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC;QAE3C,uDAAuD;QACvD,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,OAAO,CAAC;QACrC,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,mBAAmB,CAAC;QAC7C,SAAS,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC;QACrC,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,8BAA8B,CAAC;QAC3D,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC;QACpC,SAAS,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEpC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,OAAO;QAElC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,CAAC;QACpD,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC;QAC1C,MAAM,oBAAoB,GAAG,GAAG,CAAC,CAAC,oBAAoB;QAEtD,0DAA0D;QAC1D,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACtD,2DAA2D;YAC3D,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;YACjD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;YACjD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC;YACvC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;YAExC,qDAAqD;YACrD,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;YAElC,4BAA4B;YAC5B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC;YAE7D,mBAAmB;YACnB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,GAAG,EAAE,CAAC;QAC7C,CAAC;QAED,8CAA8C;QAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,mBAAmB,IAAI,oBAAoB,CAAC;QAErE,4CAA4C;QAC5C,MAAM,UAAU,GAAG,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;QAChD,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC;QAE5B,IAAI,WAAmB,CAAC;QACxB,IAAI,cAAsB,CAAC;QAE3B,kFAAkF;QAClF,IAAI,UAAU,GAAG,WAAW,IAAI,UAAU,GAAG,UAAU,EAAE,CAAC;YACxD,cAAc;YACd,WAAW,GAAG,IAAI,CAAC,GAAG,GAAG,WAAW,GAAG,CAAC,CAAC;YACzC,cAAc,GAAG,KAAK,CAAC;QACzB,CAAC;aAAM,CAAC;YACN,gBAAgB;YAChB,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9B,cAAc,GAAG,QAAQ,CAAC;QAC5B,CAAC;QAED,oBAAoB;QACpB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC;QACnD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,WAAW,IAAI,CAAC;QACpD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,IAAI,CAAC,KAAK,IAAI,CAAC;QACrD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;QAElD,qCAAqC;QACrC,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,GAAG,IAAI,CAAC,eAAe,qBAAqB,cAAc,EAAE,CAAC;IAChG,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YACzB,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC5B,IAAI,CAAC,IAAI,CAAC,eAAe;YAAE,OAAO;QAElC,yDAAyD;QACzD,MAAM,OAAO,GAAG,sBAAsB,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAEhF,uCAAuC;QACvC,IAAI,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC;YAAE,OAAO;QAE7C,6BAA6B;QAC7B,MAAM,eAAe,GAAI,IAAI,CAAC,SAAS,CAAC,WAAmB,CAAC,MAAM,CAAC;QACnE,IAAI,CAAC,eAAe;YAAE,OAAO;QAE7B,yBAAyB;QACzB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QACrD,YAAY,CAAC,EAAE,GAAG,OAAO,CAAC;QAC1B,YAAY,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAC;QAEpE,4BAA4B;QAC5B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QAExC,8BAA8B;QAC7B,IAAI,CAAC,eAAuB,CAAC,iBAAiB,GAAG,OAAO,CAAC;IAC5D,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,MAAW;QACpC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC3D,OAAO,MAAM,CAAC,OAAO,CAAC;QACxB,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,eAAe,CAAgB,CAAC;YAC9F,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,aAA4B,CAAC;gBAElE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACpD,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC1C,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAEhD,6DAA6D;gBAC7D,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAE9B,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;gBAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,aAAa;QACX,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAgB,CAAC;YAExF,IAAI,OAAO,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC1C,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAChD,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;YAC7B,CAAC;YAED,yCAAyC;YACzC,MAAM,eAAe,GAAI,IAAI,CAAC,eAAuB,CAAC,iBAAiB,CAAC;YACxE,IAAI,eAAe,EAAE,CAAC;gBACpB,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;gBAC9D,IAAI,YAAY,EAAE,CAAC;oBACjB,YAAY,CAAC,MAAM,EAAE,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;QAClC,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC;IACvC,CAAC;CACF","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport type { LitElement } from 'lit';\n\nexport class PortalManager {\n private component: LitElement;\n private portalContainer: HTMLElement | null = null;\n private originalListboxParent: HTMLElement | null = null;\n private measuredPopupHeight: number | null = null;\n private listboxSelector: string;\n private portalClassName: string;\n\n constructor(component: LitElement, listboxSelector: string = '#listbox', portalClassName: string = 'nile-portal-append') {\n this.component = component;\n this.listboxSelector = listboxSelector;\n this.portalClassName = portalClassName;\n }\n\n /**\n * Creates a portal container with proper styling\n */\n private createPortalContainer(): HTMLElement {\n const container = document.createElement('div');\n container.style.position = 'absolute';\n container.style.zIndex = '9999';\n container.style.pointerEvents = 'none';\n container.className = this.portalClassName;\n \n // Apply additional styling to match the original popup\n container.style.background = 'white';\n container.style.border = '1px solid #e0e0e0';\n container.style.borderRadius = '4px';\n container.style.boxShadow = '0 4px 6px rgba(0, 0, 0, 0.1)';\n container.style.maxHeight = '300px';\n container.style.overflow = 'hidden';\n \n return container;\n }\n\n /**\n * Positions the portal container relative to the component\n */\n private positionPortal(): void {\n if (!this.portalContainer) return;\n\n const rect = this.component.getBoundingClientRect();\n const viewportHeight = window.innerHeight;\n const estimatedPopupHeight = 300; // Fallback estimate\n \n // If this is the first positioning, measure actual height\n if (!this.measuredPopupHeight && this.portalContainer) {\n // Temporarily position the container to measure its height\n this.portalContainer.style.position = 'absolute';\n this.portalContainer.style.visibility = 'hidden';\n this.portalContainer.style.top = '0px';\n this.portalContainer.style.left = '0px';\n \n // Force a reflow to ensure the container is rendered\n this.portalContainer.offsetHeight;\n \n // Measure the actual height\n this.measuredPopupHeight = this.portalContainer.offsetHeight;\n \n // Reset visibility\n this.portalContainer.style.visibility = '';\n }\n \n // Use measured height or fallback to estimate\n const popupHeight = this.measuredPopupHeight || estimatedPopupHeight;\n \n // Calculate available space above and below\n const spaceBelow = viewportHeight - rect.bottom;\n const spaceAbove = rect.top;\n \n let topPosition: number;\n let placementClass: string;\n \n // Smart positioning: flip to top if insufficient space below and more space above\n if (spaceBelow < popupHeight && spaceAbove > spaceBelow) {\n // Open upward\n topPosition = rect.top - popupHeight - 6;\n placementClass = 'top';\n } else {\n // Open downward\n topPosition = rect.bottom + 6;\n placementClass = 'bottom';\n }\n \n // Apply positioning\n this.portalContainer.style.left = `${rect.left}px`;\n this.portalContainer.style.top = `${topPosition}px`;\n this.portalContainer.style.width = `${rect.width}px`;\n this.portalContainer.style.pointerEvents = 'auto';\n \n // Update placement class for styling\n this.portalContainer.className = `${this.portalClassName} select__listbox--${placementClass}`;\n }\n\n /**\n * Updates portal position (called on window resize/scroll)\n */\n updatePortalPosition(): void {\n if (this.portalContainer) {\n this.positionPortal();\n }\n }\n\n /**\n * Updates portal content (called when content changes)\n */\n updatePortalContent(): void {\n if (this.portalContainer) {\n this.positionPortal();\n }\n }\n\n /**\n * Injects component styles into document head for portal containers\n */\n private injectStylesToDocument(): void {\n if (!this.portalContainer) return;\n\n // Create a unique identifier for this component instance\n const styleId = `nile-portal-styles-${Math.random().toString(36).substr(2, 9)}`;\n \n // Check if styles are already injected\n if (document.getElementById(styleId)) return;\n\n // Get the component's styles\n const componentStyles = (this.component.constructor as any).styles;\n if (!componentStyles) return;\n\n // Create a style element\n const styleElement = document.createElement('style');\n styleElement.id = styleId;\n styleElement.textContent = this.extractStylesAsCSS(componentStyles);\n \n // Inject into document head\n document.head.appendChild(styleElement);\n \n // Store reference for cleanup\n (this.portalContainer as any).__injectedStyleId = styleId;\n }\n\n /**\n * Extracts styles as CSS string from various style formats\n */\n private extractStylesAsCSS(styles: any): string {\n if (typeof styles === 'string') {\n return styles;\n }\n \n if (Array.isArray(styles)) {\n return styles.map(style => this.extractStylesAsCSS(style)).join('\\n');\n }\n \n if (styles && typeof styles === 'object' && styles.cssText) {\n return styles.cssText;\n }\n \n return '';\n }\n\n /**\n * Sets up the portal by moving the listbox to document body\n */\n setupPortal(): void {\n this.component.updateComplete.then(() => {\n const listbox = this.component.shadowRoot?.querySelector(this.listboxSelector) as HTMLElement;\n if (listbox) {\n this.originalListboxParent = listbox.parentElement as HTMLElement;\n \n this.portalContainer = this.createPortalContainer();\n this.portalContainer.appendChild(listbox);\n document.body.appendChild(this.portalContainer);\n \n // Inject the component's styles to the body append container\n this.injectStylesToDocument();\n \n listbox.style.display = '';\n this.positionPortal();\n }\n });\n }\n\n /**\n * Cleans up the portal by restoring the listbox to its original position\n */\n cleanupPortal(): void {\n if (this.portalContainer && this.portalContainer.parentNode) {\n const listbox = this.portalContainer.querySelector(this.listboxSelector) as HTMLElement;\n \n if (listbox && this.originalListboxParent) {\n this.originalListboxParent.appendChild(listbox);\n listbox.style.display = '';\n }\n \n // Clean up injected styles if they exist\n const injectedStyleId = (this.portalContainer as any).__injectedStyleId;\n if (injectedStyleId) {\n const styleElement = document.getElementById(injectedStyleId);\n if (styleElement) {\n styleElement.remove();\n }\n }\n \n this.portalContainer.parentNode.removeChild(this.portalContainer);\n }\n this.portalContainer = null;\n this.originalListboxParent = null;\n this.measuredPopupHeight = null;\n }\n\n /**\n * Resets the measured height (call when content changes)\n */\n resetMeasuredHeight(): void {\n this.measuredPopupHeight = null;\n }\n\n /**\n * Gets the portal container element\n */\n getPortalContainer(): HTMLElement | null {\n return this.portalContainer;\n }\n\n /**\n * Checks if portal is currently active\n */\n isPortalActive(): boolean {\n return this.portalContainer !== null;\n }\n}\n"]}
|