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