@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-lite-tooltip.js","sourceRoot":"","sources":["../../../src/nile-lite-tooltip/nile-lite-tooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import { customElement, property } from 'lit/decorators.js';\nimport { CSSResultArray, PropertyValues } from 'lit';\nimport { styles } from './nile-lite-tooltip.css';\nimport NileElement from '../internal/nile-element';\nimport tippy, {\n Instance,\n Props,\n followCursor,\n roundArrow,\n createSingleton,\n} from 'tippy.js';\nimport { parseFollowCursor, parseDuration, } from './utils';\n\n/**\n * Nile lite-tooltip component.\n *\n * Supports wrapper, sibling (for), and singleton modes.\n * Aligns with Tippy.js props and Nile design system.\n *\n * @tag nile-lite-tooltip\n */\n@customElement('nile-lite-tooltip')\nexport class NileliteTooltip extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n protected createRenderRoot() {\n return this; // lite DOM\n }\n\n // ───────────── Props ─────────────\n /** ID of the target element (for sibling mode) */\n @property({ type: String, attribute: 'for' }) for: string | null = null;\n\n /** Tooltip content text or HTML */\n @property({ type: String, reflect: true }) content = '';\n\n /** Tooltip size (applies CSS class) */\n @property({ type: String, reflect: true }) size: 'small' | 'large' = 'small';\n\n /** Animation duration for show/hide (ms). Can be a single value or [show, hide]. */\n @property({ type: String, reflect: true }) duration:\n | string\n | number\n | [number, number] = 200;\n\n /** Interactive mode */\n @property({ type: Boolean, reflect: true }) interactive = false;\n\n /** Placement of the tooltip */\n @property({ type: String })\n placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end'\n | 'auto'\n | 'auto-start'\n | 'auto-end' = 'top';\n\n @property({ type: Boolean }) disabled = false;\n\n @property({ type: Number }) distance = 8;\n\n @property({ type: Number }) skidding = 0;\n\n @property({ type: Boolean, reflect: true }) open = false;\n\n @property({ type: String }) trigger: Props['trigger'] = 'mouseenter focus';\n\n @property({ type: Boolean, reflect: true }) allowHTML = false;\n\n @property({ type: String, reflect: true, attribute: true })\n followCursor:\n | boolean\n | 'initial'\n | 'horizontal'\n | 'vertical'\n | 'true'\n | 'false' = false;\n\n @property({ type: String, reflect: true, attribute: true })\n arrow: 'default' | 'round' | 'large' | 'small' | 'wide' | 'narrow' | 'none' =\n 'default';\n\n @property({ type: Boolean, reflect: true }) singleton = false;\n\n @property({ type: Boolean, reflect: true }) enableRecursiveMode = false;\n\n\n /** Not added in Doc */\n\n @property({ type: String, reflect: true }) delay:\n | number\n | [number, number] = 0;\n\n @property({ type: String, reflect: true }) maxWidth: string | number = 'auto';\n\n @property({ type: Number }) zIndex = 9999;\n\n @property({ type: [Boolean, String], reflect: true }) hideOnClick:\n | boolean\n | 'toggle' = true;\n\n @property({ type: Boolean, reflect: true }) inertia = false;\n\n @property({ type: Number }) interactiveBorder = 2;\n\n private tooltipInstances?: Instance[];\n private singleInstance?: Instance;\n private singletonInstance?: Instance;\n private targetEl?: HTMLElement | null;\n private generatedId?: string;\n private prevDescribedby?: string | null;\n\n constructor() {\n super();\n }\n\n firstUpdated(): void {\n this.attachTooltip();\n }\n\n public refresh() {\n this.attachTooltip();\n }\n \n\n private attachTooltip(): void {\n this.destroyTooltips();\n if (this.disabled) return;\n\n const options: Partial<Props> = {\n content:\n this.content || this.getAttribute('data-tippy-content') || undefined,\n placement: this.placement,\n trigger: this.trigger,\n offset: [this.skidding, this.distance],\n theme: 'lite',\n animation: 'fade',\n interactive: this.interactive,\n arrow: roundArrow,\n duration: parseDuration(this.duration),\n allowHTML: this.allowHTML,\n delay: this.delay,\n maxWidth: this.maxWidth,\n zIndex: this.zIndex,\n hideOnClick: false,\n inertia: this.inertia,\n interactiveBorder: this.interactiveBorder,\n appendTo: document.body,\n followCursor: parseFollowCursor(this.followCursor),\n plugins: parseFollowCursor(this.followCursor) ? [followCursor] : [],\n onShow: instance => {\n this.open = true;\n this.dispatchEvent(\n new CustomEvent('nile-show', {\n detail: { instance, target: instance.reference },\n })\n );\n this.dispatchEvent(\n new CustomEvent('nile-toggle', {\n detail: { open: true, instance, target: instance.reference },\n })\n );\n return undefined;\n },\n onHide: instance => {\n this.open = false;\n this.dispatchEvent(\n new CustomEvent('nile-hide', {\n detail: { instance, target: instance.reference },\n })\n );\n this.dispatchEvent(\n new CustomEvent('nile-toggle', {\n detail: { open: false, instance, target: instance.reference },\n })\n );\n return undefined;\n },\n };\n if (this.for) {\n if (this.singleton && !this.for.startsWith('#') && !document.getElementById(this.for)) {\n const targetEls = Array.from(document.querySelectorAll(`.${this.for}`));\n if (targetEls.length > 0) {\n this.tooltipInstances = targetEls.map(el => {\n const instance = tippy(el as HTMLElement, {\n ...options,\n content: el.getAttribute('content') || this.content,\n });\n instance.popper.querySelector('.tippy-box')?.classList.add(this.size);\n return instance;\n });\n \n this.singletonInstance = createSingleton(this.tooltipInstances, {\n delay: [75, 0],\n arrow: roundArrow,\n moveTransition: 'transform 0.15s ease-out',\n });\n \n if (this.open) queueMicrotask(() => this.singletonInstance?.show());\n return;\n }\n }\n \n const containerEl = document.getElementById(this.for);\n if (this.singleton && containerEl) {\n const childEls = Array.from(containerEl.querySelectorAll('[content]'));\n if (childEls.length > 0) {\n this.tooltipInstances = childEls.map(el => {\n const instance = tippy(el as HTMLElement, {\n ...options,\n content: el.getAttribute('content') || this.content,\n });\n instance.popper.querySelector('.tippy-box')?.classList.add(this.size);\n return instance;\n });\n \n this.singletonInstance = createSingleton(this.tooltipInstances, {\n delay: [75, 0],\n arrow: roundArrow,\n moveTransition: 'transform 0.15s ease-out',\n });\n \n if (this.open) queueMicrotask(() => this.singletonInstance?.show());\n return;\n }\n }\n \n this.targetEl = document.getElementById(this.for);\n if (!this.targetEl) return;\n\n if (!this.id) {\n this.generatedId = `nile-tooltip-${Math.random()\n .toString(36)\n .slice(2, 9)}`;\n this.id = this.generatedId;\n }\n\n this.prevDescribedby = this.targetEl.getAttribute('aria-describedby');\n const describedby = this.prevDescribedby\n ? `${this.prevDescribedby} ${this.id}`\n : this.id;\n this.targetEl.setAttribute('aria-describedby', describedby);\n\n this.singleInstance = tippy(this.targetEl, options);\n if (this.size)\n this.singleInstance.popper\n .querySelector('.tippy-box')\n ?.classList.add(this.size);\n if (this.open) {\n queueMicrotask(() => this.singleInstance?.show());\n }\n return;\n }\n \n\nif (this.enableRecursiveMode) {\n const children = Array.from(this.querySelectorAll('*'));\n if (children.length > 0) {\n this.tooltipInstances = children.map(child => {\n const el = child as HTMLElement;\n const localContent = el.getAttribute('content') || this.content;\n const instance = tippy(el, { ...options, content: localContent });\n instance.popper.querySelector('.tippy-box')?.classList.add(this.size);\n return instance;\n });\n\n if (this.singleton && this.tooltipInstances.length > 1) {\n this.singletonInstance = createSingleton(this.tooltipInstances, {\n delay: [75, 0],\n arrow: roundArrow,\n moveTransition: 'transform 0.15s ease-out',\n });\n }\n\n if (this.open) {\n if (this.singletonInstance) this.singletonInstance.show();\n else this.tooltipInstances.forEach(t => t.show());\n }\n }\n\n} else {\n const firstChild = this.firstElementChild as HTMLElement | null;\n\n if (firstChild) {\n const localContent = firstChild.getAttribute('content') || this.content;\n const instance = tippy(firstChild, { ...options, content: localContent });\n instance.popper.querySelector('.tippy-box')?.classList.add(this.size);\n\n this.tooltipInstances = [instance];\n\n if (this.open) {\n instance.show();\n }\n }\n} \n }\n \n\n private destroyTooltips(): void {\n this.tooltipInstances?.forEach(t => t.destroy());\n this.singleInstance?.destroy();\n this.singletonInstance?.destroy();\n\n this.tooltipInstances = undefined;\n this.singleInstance = undefined;\n this.singletonInstance = undefined;\n\n if (this.targetEl && this.id) {\n const current = this.targetEl\n .getAttribute('aria-describedby')\n ?.split(' ')\n .filter(id => id !== this.id)\n .join(' ')\n .trim();\n if (current) {\n this.targetEl.setAttribute('aria-describedby', current);\n } else {\n this.targetEl.removeAttribute('aria-describedby');\n }\n }\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.destroyTooltips();\n }\n\n updated(changed: PropertyValues): void {\n super.updated(changed);\n\n if (\n [\n 'for',\n 'content',\n 'placement',\n 'distance',\n 'skidding',\n 'trigger',\n 'disabled',\n 'hoist',\n 'size',\n 'arrow',\n 'singleton',\n ].some(p => changed.has(p))\n ) {\n this.attachTooltip();\n }\n\n if (changed.has('open')) {\n if (this.open) {\n this.singleInstance?.show();\n this.singletonInstance?.show();\n this.tooltipInstances?.forEach(t => t.show());\n } else {\n this.singleInstance?.hide();\n this.singletonInstance?.hide();\n this.tooltipInstances?.forEach(t => t.hide());\n }\n }\n }\n}\n\nexport default NileliteTooltip;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-lite-tooltip': NileliteTooltip;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"nile-lite-tooltip.js","sourceRoot":"","sources":["../../../src/nile-lite-tooltip/nile-lite-tooltip.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,KAAK,EAAE,EAGZ,YAAY,EACZ,UAAU,EACV,eAAe,GAChB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,aAAa,GAAI,MAAM,SAAS,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAGvE;;;;;;;GAOG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,WAAW;IACvC,MAAM,KAAK,MAAM;QACtB,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAES,gBAAgB;QACxB,OAAO,IAAI,CAAC,CAAC,WAAW;IAC1B,CAAC;IAuGD;QACE,KAAK,EAAE,CAAC;QAtGV,oCAAoC;QACpC,kDAAkD;QACJ,QAAG,GAAkB,IAAI,CAAC;QAExE,mCAAmC;QACQ,YAAO,GAAG,EAAE,CAAC;QAExD,uCAAuC;QACI,SAAI,GAAsB,OAAO,CAAC;QAE7E,oFAAoF;QACzC,aAAQ,GAG5B,GAAG,CAAC;QAE3B,uBAAuB;QACqB,gBAAW,GAAG,KAAK,CAAC;QAEhE,+BAA+B;QAE/B,cAAS,GAeQ,KAAK,CAAC;QAEM,aAAQ,GAAG,KAAK,CAAC;QAElB,aAAQ,GAAG,CAAC,CAAC;QAEb,aAAQ,GAAG,CAAC,CAAC;QAEG,SAAI,GAAG,KAAK,CAAC;QAE7B,YAAO,GAAqB,kBAAkB,CAAC;QAE/B,cAAS,GAAG,KAAK,CAAC;QAG9D,iBAAY,GAME,KAAK,CAAC;QAGpB,UAAK,GACH,SAAS,CAAC;QAEgC,cAAS,GAAG,KAAK,CAAC;QAElB,wBAAmB,GAAG,KAAK,CAAC;QAGxE,uBAAuB;QAEoB,UAAK,GAEzB,CAAC,CAAC;QAEkB,aAAQ,GAAoB,MAAM,CAAC;QAElD,WAAM,GAAG,IAAI,CAAC;QAEY,gBAAW,GAElD,IAAI,CAAC;QAEwB,YAAO,GAAG,KAAK,CAAC;QAEhC,sBAAiB,GAAG,CAAC,CAAC;QAIN,2BAAsB,GAAG,KAAK,CAAC;QAE/B,mBAAc,GAAG,KAAK,CAAC;IAanE,CAAC;IAES,YAAY;QACpB,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,iEAAiE;QACjE,MAAM,QAAQ,GACZ,CAAC,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9C,IAAI,CAAC,iBAAwC,CAAC;QAEjD,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC;YAC7C,IAAI,EAAE,IAAI;YACV,MAAM,EAAE,QAAQ;YAChB,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI;YACvB,iBAAiB,EAAE,GAAG,EAAE;gBACtB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;oBAClC,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,oBAAoB;iBAC7B,CAAC,CAAC;YACL,CAAC;YACD,gBAAgB,EAAE,GAAG,EAAE;gBACrB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE;oBAClC,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,iBAAiB;iBAC1B,CAAC,CAAC;YACL,CAAC;YACD,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,EAAE,EAAE,MAAM,CAAC;SAC5D,CAAC,CAAC;IACL,CAAC;IAGM,OAAO;QACZ,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAGO,aAAa;QACnB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE1B,MAAM,OAAO,GAAmB;YAC9B,OAAO,EACL,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,oBAAoB,CAAC,IAAI,SAAS;YACtE,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC;YACtC,KAAK,EAAE,MAAM;YACb,SAAS,EAAE,MAAM;YACjB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,UAAU;YACjB,QAAQ,EAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC;YACtC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,QAAQ,EAAE,QAAQ,CAAC,IAAI;YACvB,YAAY,EAAE,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC;YAClD,OAAO,EAAE,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;YACnE,MAAM,EAAE,QAAQ,CAAC,EAAE;gBACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,WAAW,EAAE;oBAC3B,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE;iBACjD,CAAC,CACH,CAAC;gBACF,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,aAAa,EAAE;oBAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE;iBAC7D,CAAC,CACH,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM,EAAE,QAAQ,CAAC,EAAE;gBACjB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,WAAW,EAAE;oBAC3B,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE;iBACjD,CAAC,CACH,CAAC;gBACF,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,aAAa,EAAE;oBAC7B,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,EAAE;iBAC9D,CAAC,CACH,CAAC;gBACF,OAAO,SAAS,CAAC;YACnB,CAAC;SACF,CAAC;QACF,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtF,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBACxE,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;wBACzC,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAiB,EAAE;4BACxC,GAAG,OAAO;4BACV,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO;yBACpD,CAAC,CAAC;wBACH,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACtE,OAAO,QAAQ,CAAC;oBAClB,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,gBAAgB,EAAE;wBAC9D,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;wBACd,KAAK,EAAE,UAAU;wBACjB,cAAc,EAAE,0BAA0B;qBAC3C,CAAC,CAAC;oBAEH,IAAI,IAAI,CAAC,IAAI;wBAAE,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpE,OAAO;gBACT,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtD,IAAI,IAAI,CAAC,SAAS,IAAI,WAAW,EAAE,CAAC;gBAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;gBACvE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;wBACxC,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAiB,EAAE;4BACxC,GAAG,OAAO;4BACV,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO;yBACpD,CAAC,CAAC;wBACH,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACtE,OAAO,QAAQ,CAAC;oBAClB,CAAC,CAAC,CAAC;oBAEH,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,gBAAgB,EAAE;wBAC9D,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;wBACd,KAAK,EAAE,UAAU;wBACjB,cAAc,EAAE,0BAA0B;qBAC3C,CAAC,CAAC;oBAEH,IAAI,IAAI,CAAC,IAAI;wBAAE,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;oBACpE,OAAO;gBACT,CAAC;YACH,CAAC;YAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAE3B,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;gBACb,IAAI,CAAC,WAAW,GAAG,gBAAgB,IAAI,CAAC,MAAM,EAAE;qBAC7C,QAAQ,CAAC,EAAE,CAAC;qBACZ,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACjB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;YAC7B,CAAC;YAED,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC;YACtE,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe;gBACtC,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,EAAE,EAAE;gBACtC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;YACZ,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;YAE5D,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACpD,IAAI,IAAI,CAAC,IAAI;gBACX,IAAI,CAAC,cAAc,CAAC,MAAM;qBACvB,aAAa,CAAC,YAAY,CAAC;oBAC5B,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;YACpD,CAAC;YACD,OAAO;QACT,CAAC;QAGL,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC;YACxD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;oBAC3C,MAAM,EAAE,GAAG,KAAoB,CAAC;oBAChC,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC;oBAChE,MAAM,QAAQ,GAAG,KAAK,CAAC,EAAE,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;oBAClE,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtE,OAAO,QAAQ,CAAC;gBAClB,CAAC,CAAC,CAAC;gBAEH,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvD,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC,IAAI,CAAC,gBAAgB,EAAE;wBAC9D,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;wBACd,KAAK,EAAE,UAAU;wBACjB,cAAc,EAAE,0BAA0B;qBAC3C,CAAC,CAAC;gBACL,CAAC;gBAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,IAAI,IAAI,CAAC,iBAAiB;wBAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;;wBACrD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;QAEH,CAAC;aAAM,CAAC;YACN,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAuC,CAAC;YAEhE,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC;gBACxE,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC1E,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEtE,IAAI,CAAC,gBAAgB,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAEnC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,QAAQ,CAAC,IAAI,EAAE,CAAC;gBAClB,CAAC;YACH,CAAC;QACH,CAAC;IACC,CAAC;IAGO,eAAe;QACrB,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACjD,IAAI,CAAC,cAAc,EAAE,OAAO,EAAE,CAAC;QAC/B,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC;QAElC,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;QAClC,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;QAChC,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;QAEnC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ;iBAC1B,YAAY,CAAC,kBAAkB,CAAC;gBACjC,EAAE,KAAK,CAAC,GAAG,CAAC;iBACX,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;iBAC5B,IAAI,CAAC,GAAG,CAAC;iBACT,IAAI,EAAE,CAAC;YACV,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;YAC1D,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,eAAe;QACrB,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;QAC/B,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IAGD,oBAAoB;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC;QAClC,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,OAAuB;QAC7B,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAEvB,IACE;YACE,KAAK;YACL,SAAS;YACT,WAAW;YACX,UAAU;YACV,UAAU;YACV,SAAS;YACT,UAAU;YACV,OAAO;YACP,MAAM;YACN,OAAO;YACP,WAAW;SACZ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAC3B,CAAC;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC;gBAChC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;gBAC/B,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,iBAAiB,EAAE,OAAO,EAAE,CAAC;gBAClC,IAAI,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC;gBAC/B,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAA;AApY+C;IAA7C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;4CAA2B;AAG7B;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDAAc;AAGb;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;6CAAmC;AAGlC;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDAGf;AAGiB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oDAAqB;AAIhE;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDAgBJ;AAEM;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;iDAAkB;AAElB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDAAc;AAEb;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;iDAAc;AAEG;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;6CAAc;AAE7B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;gDAAgD;AAE/B;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kDAAmB;AAG9D;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;qDAOvC;AAGpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;8CAE/C;AAEgC;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;kDAAmB;AAElB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4DAA6B;AAK7B;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAEjB;AAEkB;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDAAoC;AAElD;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;+CAAe;AAEY;IAArD,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oDAEjC;AAEwB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDAAiB;AAEhC;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0DAAuB;AAIN;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;+DAAgC;AAE/B;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uDAAwB;AAnGxD,eAAe;IAD3B,aAAa,CAAC,mBAAmB,CAAC;GACtB,eAAe,CA+Y3B;;AAED,eAAe,eAAe,CAAC","sourcesContent":["import { customElement, property } from 'lit/decorators.js';\nimport { CSSResultArray, PropertyValues } from 'lit';\nimport { styles } from './nile-lite-tooltip.css';\nimport NileElement from '../internal/nile-element';\nimport tippy, {\n Instance,\n Props,\n followCursor,\n roundArrow,\n createSingleton,\n} from 'tippy.js';\nimport { parseFollowCursor, parseDuration, } from './utils';\nimport { VisibilityManager } from '../utilities/visibility-manager.js';\n\n\n/**\n * Nile lite-tooltip component.\n *\n * Supports wrapper, sibling (for), and singleton modes.\n * Aligns with Tippy.js props and Nile design system.\n *\n * @tag nile-lite-tooltip\n */\n@customElement('nile-lite-tooltip')\nexport class NileliteTooltip extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n protected createRenderRoot() {\n return this; // lite DOM\n }\n\n // ───────────── Props ─────────────\n /** ID of the target element (for sibling mode) */\n @property({ type: String, attribute: 'for' }) for: string | null = null;\n\n /** Tooltip content text or HTML */\n @property({ type: String, reflect: true }) content = '';\n\n /** Tooltip size (applies CSS class) */\n @property({ type: String, reflect: true }) size: 'small' | 'large' = 'small';\n\n /** Animation duration for show/hide (ms). Can be a single value or [show, hide]. */\n @property({ type: String, reflect: true }) duration:\n | string\n | number\n | [number, number] = 200;\n\n /** Interactive mode */\n @property({ type: Boolean, reflect: true }) interactive = false;\n\n /** Placement of the tooltip */\n @property({ type: String })\n placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end'\n | 'auto'\n | 'auto-start'\n | 'auto-end' = 'top';\n\n @property({ type: Boolean }) disabled = false;\n\n @property({ type: Number }) distance = 8;\n\n @property({ type: Number }) skidding = 0;\n\n @property({ type: Boolean, reflect: true }) open = false;\n\n @property({ type: String }) trigger: Props['trigger'] = 'mouseenter focus';\n\n @property({ type: Boolean, reflect: true }) allowHTML = false;\n\n @property({ type: String, reflect: true, attribute: true })\n followCursor:\n | boolean\n | 'initial'\n | 'horizontal'\n | 'vertical'\n | 'true'\n | 'false' = false;\n\n @property({ type: String, reflect: true, attribute: true })\n arrow: 'default' | 'round' | 'large' | 'small' | 'wide' | 'narrow' | 'none' =\n 'default';\n\n @property({ type: Boolean, reflect: true }) singleton = false;\n\n @property({ type: Boolean, reflect: true }) enableRecursiveMode = false;\n\n\n /** Not added in Doc */\n\n @property({ type: String, reflect: true }) delay:\n | number\n | [number, number] = 0;\n\n @property({ type: String, reflect: true }) maxWidth: string | number = 'auto';\n\n @property({ type: Number }) zIndex = 9999;\n\n @property({ type: [Boolean, String], reflect: true }) hideOnClick:\n | boolean\n | 'toggle' = true;\n\n @property({ type: Boolean, reflect: true }) inertia = false;\n\n @property({ type: Number }) interactiveBorder = 2;\n\n private visibilityManager?: VisibilityManager;\n\n @property({ type: Boolean, reflect: true }) enableVisibilityEffect = false;\n \n @property({ type: Boolean, reflect: true }) enableTabClose = false;\n\n\n\n private tooltipInstances?: Instance[];\n private singleInstance?: Instance;\n private singletonInstance?: Instance;\n private targetEl?: HTMLElement | null;\n private generatedId?: string;\n private prevDescribedby?: string | null;\n\n constructor() {\n super();\n }\n\n protected firstUpdated(): void {\n this.attachTooltip();\n \n // Get the target element (either 'for' reference or first child)\n const targetEl =\n (this.for && document.getElementById(this.for)) ||\n (this.firstElementChild as HTMLElement | null);\n \n this.visibilityManager = new VisibilityManager({\n host: this,\n target: targetEl,\n enableVisibilityEffect: this.enableVisibilityEffect,\n enableTabClose: this.enableTabClose,\n isOpen: () => this.open,\n onAnchorOutOfView: () => {\n this.open = false;\n this.hideAllTooltips();\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'anchor-out-of-view',\n });\n },\n onDocumentHidden: () => {\n this.open = false;\n this.hideAllTooltips();\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'document-hidden',\n });\n },\n emit: (event, detail) => this.emit(`nile-${event}`, detail),\n });\n }\n \n\n public refresh() {\n this.attachTooltip();\n }\n \n\n private attachTooltip(): void {\n this.destroyTooltips();\n if (this.disabled) return;\n\n const options: Partial<Props> = {\n content:\n this.content || this.getAttribute('data-tippy-content') || undefined,\n placement: this.placement,\n trigger: this.trigger,\n offset: [this.skidding, this.distance],\n theme: 'lite',\n animation: 'fade',\n interactive: this.interactive,\n arrow: roundArrow,\n duration: parseDuration(this.duration),\n allowHTML: this.allowHTML,\n delay: this.delay,\n maxWidth: this.maxWidth,\n zIndex: this.zIndex,\n hideOnClick: false,\n inertia: this.inertia,\n interactiveBorder: this.interactiveBorder,\n appendTo: document.body,\n followCursor: parseFollowCursor(this.followCursor),\n plugins: parseFollowCursor(this.followCursor) ? [followCursor] : [],\n onShow: instance => {\n this.open = true;\n this.dispatchEvent(\n new CustomEvent('nile-show', {\n detail: { instance, target: instance.reference },\n })\n );\n this.dispatchEvent(\n new CustomEvent('nile-toggle', {\n detail: { open: true, instance, target: instance.reference },\n })\n );\n return undefined;\n },\n onHide: instance => {\n this.open = false;\n this.dispatchEvent(\n new CustomEvent('nile-hide', {\n detail: { instance, target: instance.reference },\n })\n );\n this.dispatchEvent(\n new CustomEvent('nile-toggle', {\n detail: { open: false, instance, target: instance.reference },\n })\n );\n return undefined;\n },\n };\n if (this.for) {\n if (this.singleton && !this.for.startsWith('#') && !document.getElementById(this.for)) {\n const targetEls = Array.from(document.querySelectorAll(`.${this.for}`));\n if (targetEls.length > 0) {\n this.tooltipInstances = targetEls.map(el => {\n const instance = tippy(el as HTMLElement, {\n ...options,\n content: el.getAttribute('content') || this.content,\n });\n instance.popper.querySelector('.tippy-box')?.classList.add(this.size);\n return instance;\n });\n \n this.singletonInstance = createSingleton(this.tooltipInstances, {\n delay: [75, 0],\n arrow: roundArrow,\n moveTransition: 'transform 0.15s ease-out',\n });\n \n if (this.open) queueMicrotask(() => this.singletonInstance?.show());\n return;\n }\n }\n \n const containerEl = document.getElementById(this.for);\n if (this.singleton && containerEl) {\n const childEls = Array.from(containerEl.querySelectorAll('[content]'));\n if (childEls.length > 0) {\n this.tooltipInstances = childEls.map(el => {\n const instance = tippy(el as HTMLElement, {\n ...options,\n content: el.getAttribute('content') || this.content,\n });\n instance.popper.querySelector('.tippy-box')?.classList.add(this.size);\n return instance;\n });\n \n this.singletonInstance = createSingleton(this.tooltipInstances, {\n delay: [75, 0],\n arrow: roundArrow,\n moveTransition: 'transform 0.15s ease-out',\n });\n \n if (this.open) queueMicrotask(() => this.singletonInstance?.show());\n return;\n }\n }\n \n this.targetEl = document.getElementById(this.for);\n if (!this.targetEl) return;\n\n if (!this.id) {\n this.generatedId = `nile-tooltip-${Math.random()\n .toString(36)\n .slice(2, 9)}`;\n this.id = this.generatedId;\n }\n\n this.prevDescribedby = this.targetEl.getAttribute('aria-describedby');\n const describedby = this.prevDescribedby\n ? `${this.prevDescribedby} ${this.id}`\n : this.id;\n this.targetEl.setAttribute('aria-describedby', describedby);\n\n this.singleInstance = tippy(this.targetEl, options);\n if (this.size)\n this.singleInstance.popper\n .querySelector('.tippy-box')\n ?.classList.add(this.size);\n if (this.open) {\n queueMicrotask(() => this.singleInstance?.show());\n }\n return;\n }\n \n\nif (this.enableRecursiveMode) {\n const children = Array.from(this.querySelectorAll('*'));\n if (children.length > 0) {\n this.tooltipInstances = children.map(child => {\n const el = child as HTMLElement;\n const localContent = el.getAttribute('content') || this.content;\n const instance = tippy(el, { ...options, content: localContent });\n instance.popper.querySelector('.tippy-box')?.classList.add(this.size);\n return instance;\n });\n\n if (this.singleton && this.tooltipInstances.length > 1) {\n this.singletonInstance = createSingleton(this.tooltipInstances, {\n delay: [75, 0],\n arrow: roundArrow,\n moveTransition: 'transform 0.15s ease-out',\n });\n }\n\n if (this.open) {\n if (this.singletonInstance) this.singletonInstance.show();\n else this.tooltipInstances.forEach(t => t.show());\n }\n }\n\n} else {\n const firstChild = this.firstElementChild as HTMLElement | null;\n\n if (firstChild) {\n const localContent = firstChild.getAttribute('content') || this.content;\n const instance = tippy(firstChild, { ...options, content: localContent });\n instance.popper.querySelector('.tippy-box')?.classList.add(this.size);\n\n this.tooltipInstances = [instance];\n\n if (this.open) {\n instance.show();\n }\n }\n} \n }\n \n\n private destroyTooltips(): void {\n this.tooltipInstances?.forEach(t => t.destroy());\n this.singleInstance?.destroy();\n this.singletonInstance?.destroy();\n\n this.tooltipInstances = undefined;\n this.singleInstance = undefined;\n this.singletonInstance = undefined;\n\n if (this.targetEl && this.id) {\n const current = this.targetEl\n .getAttribute('aria-describedby')\n ?.split(' ')\n .filter(id => id !== this.id)\n .join(' ')\n .trim();\n if (current) {\n this.targetEl.setAttribute('aria-describedby', current);\n } else {\n this.targetEl.removeAttribute('aria-describedby');\n }\n }\n }\n\n private hideAllTooltips(): void {\n this.singleInstance?.hide();\n this.singletonInstance?.hide();\n this.tooltipInstances?.forEach(t => t.hide());\n }\n\n \n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.visibilityManager?.cleanup();\n this.destroyTooltips();\n }\n\n updated(changed: PropertyValues): void {\n super.updated(changed);\n\n if (\n [\n 'for',\n 'content',\n 'placement',\n 'distance',\n 'skidding',\n 'trigger',\n 'disabled',\n 'hoist',\n 'size',\n 'arrow',\n 'singleton',\n ].some(p => changed.has(p))\n ) {\n this.attachTooltip();\n }\n\n if (changed.has('open')) {\n if (this.open) {\n this.visibilityManager?.setup();\n this.singleInstance?.show();\n this.singletonInstance?.show();\n this.tooltipInstances?.forEach(t => t.show());\n } else {\n this.visibilityManager?.cleanup();\n this.singleInstance?.hide();\n this.singletonInstance?.hide();\n this.tooltipInstances?.forEach(t => t.hide());\n }\n }\n }\n}\n\nexport default NileliteTooltip;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-lite-tooltip': NileliteTooltip;\n }\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2025
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the BSD-3-Clause license found in the root directory.
|
|
5
|
+
*/
|
|
6
|
+
export declare class VirtualMenuSearchManager {
|
|
7
|
+
static filterMenuItems(searchValue: string, originalItems: any[], data: any[], getSearchText?: (item: any) => string): {
|
|
8
|
+
filteredItems: any[];
|
|
9
|
+
showNoResults: boolean;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2025
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the BSD-3-Clause license found in the root directory.
|
|
5
|
+
*/
|
|
6
|
+
export class VirtualMenuSearchManager {
|
|
7
|
+
static filterMenuItems(searchValue, originalItems, data, getSearchText) {
|
|
8
|
+
// If virtualized data is used but original slotted items are empty
|
|
9
|
+
if (originalItems.length === 0 && data.length > 0) {
|
|
10
|
+
return {
|
|
11
|
+
filteredItems: [...data],
|
|
12
|
+
showNoResults: false
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
// No items or data at all
|
|
16
|
+
if (!originalItems || originalItems.length === 0) {
|
|
17
|
+
return {
|
|
18
|
+
filteredItems: [],
|
|
19
|
+
showNoResults: true
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
// If search is empty → reset to original list
|
|
23
|
+
if (!searchValue || searchValue.trim() === '') {
|
|
24
|
+
return {
|
|
25
|
+
filteredItems: [...originalItems],
|
|
26
|
+
showNoResults: false
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
// Normalize and pick a text getter
|
|
30
|
+
const lowerSearch = searchValue.toLowerCase();
|
|
31
|
+
const getText = getSearchText || ((item) => item.label || item.innerText || '');
|
|
32
|
+
// Filter items case-insensitively
|
|
33
|
+
const filteredItems = originalItems.filter((item) => {
|
|
34
|
+
const text = getText(item)?.toLowerCase();
|
|
35
|
+
return text.includes(lowerSearch);
|
|
36
|
+
});
|
|
37
|
+
return {
|
|
38
|
+
filteredItems,
|
|
39
|
+
showNoResults: filteredItems.length === 0
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=virtual-menu-search-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"virtual-menu-search-manager.js","sourceRoot":"","sources":["../../../src/nile-menu/virtual-menu-search-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,OAAO,wBAAwB;IACjC,MAAM,CAAC,eAAe,CACpB,WAAmB,EACnB,aAAoB,EACpB,IAAW,EACX,aAAqC;QAGrC,mEAAmE;QACnE,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClD,OAAO;gBACL,aAAa,EAAE,CAAC,GAAG,IAAI,CAAC;gBACxB,aAAa,EAAE,KAAK;aACrB,CAAC;QACJ,CAAC;QAED,0BAA0B;QAC1B,IAAI,CAAC,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO;gBACL,aAAa,EAAE,EAAE;gBACjB,aAAa,EAAE,IAAI;aACpB,CAAC;QACJ,CAAC;QAED,8CAA8C;QAC9C,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9C,OAAO;gBACL,aAAa,EAAE,CAAC,GAAG,aAAa,CAAC;gBACjC,aAAa,EAAE,KAAK;aACrB,CAAC;QACJ,CAAC;QAED,mCAAmC;QACnC,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,aAAa,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;QAErF,kCAAkC;QAClC,MAAM,aAAa,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE;YACvD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,aAAa;YACb,aAAa,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;SAC1C,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * Licensed under the BSD-3-Clause license found in the root directory.\n */\n\nexport class VirtualMenuSearchManager {\n static filterMenuItems(\n searchValue: string,\n originalItems: any[],\n data: any[],\n getSearchText?: (item: any) => string\n ): { filteredItems: any[]; showNoResults: boolean } {\n \n // If virtualized data is used but original slotted items are empty\n if (originalItems.length === 0 && data.length > 0) {\n return {\n filteredItems: [...data],\n showNoResults: false\n };\n }\n \n // No items or data at all\n if (!originalItems || originalItems.length === 0) {\n return {\n filteredItems: [],\n showNoResults: true\n };\n }\n \n // If search is empty → reset to original list\n if (!searchValue || searchValue.trim() === '') {\n return {\n filteredItems: [...originalItems],\n showNoResults: false\n };\n }\n \n // Normalize and pick a text getter\n const lowerSearch = searchValue.toLowerCase();\n const getText = getSearchText || ((item: any) => item.label || item.innerText || '');\n \n // Filter items case-insensitively\n const filteredItems = originalItems.filter((item: any) => {\n const text = getText(item)?.toLowerCase();\n return text.includes(lowerSearch);\n });\n \n return {\n filteredItems,\n showNoResults: filteredItems.length === 0\n };\n }\n }\n "]}
|
|
@@ -34,6 +34,9 @@ export declare class NilePopover extends NileElement {
|
|
|
34
34
|
isShow: boolean;
|
|
35
35
|
arrowPlacement: 'start' | 'end' | 'center' | 'anchor';
|
|
36
36
|
private portalManager;
|
|
37
|
+
private visibilityManager?;
|
|
38
|
+
enableVisibilityEffect: boolean;
|
|
39
|
+
enableTabClose: boolean;
|
|
37
40
|
/**
|
|
38
41
|
* Enable this option to prevent the panel from being clipped when the component is placed inside a container with
|
|
39
42
|
* `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.
|
|
@@ -51,6 +54,7 @@ export declare class NilePopover extends NileElement {
|
|
|
51
54
|
*/
|
|
52
55
|
connectedCallback(): void;
|
|
53
56
|
disconnectedCallback(): void;
|
|
57
|
+
protected firstUpdated(_changed: PropertyValues): Promise<void>;
|
|
54
58
|
protected updated(_changedProperties: PropertyValues): void;
|
|
55
59
|
handleShowHide(): void;
|
|
56
60
|
render(): TemplateResult;
|
|
@@ -11,6 +11,7 @@ import { styles } from './nile-popover.css';
|
|
|
11
11
|
import NileElement from '../internal/nile-element';
|
|
12
12
|
import { watch } from '../internal/watch';
|
|
13
13
|
import { PopoverPortalManager } from './portal-manager';
|
|
14
|
+
import { VisibilityManager } from '../utilities/visibility-manager.js';
|
|
14
15
|
/**
|
|
15
16
|
* Nile icon component.
|
|
16
17
|
*
|
|
@@ -35,6 +36,8 @@ let NilePopover = class NilePopover extends NileElement {
|
|
|
35
36
|
this.isShow = false;
|
|
36
37
|
this.arrowPlacement = 'anchor';
|
|
37
38
|
this.portalManager = null;
|
|
39
|
+
this.enableVisibilityEffect = false;
|
|
40
|
+
this.enableTabClose = false;
|
|
38
41
|
/**
|
|
39
42
|
* Enable this option to prevent the panel from being clipped when the component is placed inside a container with
|
|
40
43
|
* `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.
|
|
@@ -88,12 +91,41 @@ let NilePopover = class NilePopover extends NileElement {
|
|
|
88
91
|
disconnectedCallback() {
|
|
89
92
|
super.disconnectedCallback();
|
|
90
93
|
this.emit('nile-destroy');
|
|
94
|
+
this.visibilityManager?.cleanup();
|
|
91
95
|
document.removeEventListener('click', this.handleDocumentClick);
|
|
92
96
|
if (this.portalManager) {
|
|
93
97
|
this.portalManager.cleanupPortalAppend();
|
|
94
98
|
this.portalManager = null;
|
|
95
99
|
}
|
|
96
100
|
}
|
|
101
|
+
async firstUpdated(_changed) {
|
|
102
|
+
super.firstUpdated?.(_changed);
|
|
103
|
+
await this.updateComplete;
|
|
104
|
+
const anchorSlot = this.renderRoot.querySelector('slot[name="anchor"]');
|
|
105
|
+
const anchorEl = anchorSlot?.assignedElements({ flatten: true })[0];
|
|
106
|
+
this.visibilityManager = new VisibilityManager({
|
|
107
|
+
host: this,
|
|
108
|
+
target: anchorEl || null,
|
|
109
|
+
enableVisibilityEffect: this.enableVisibilityEffect,
|
|
110
|
+
enableTabClose: this.enableTabClose,
|
|
111
|
+
isOpen: () => this.isShow,
|
|
112
|
+
onAnchorOutOfView: () => {
|
|
113
|
+
this.isShow = false;
|
|
114
|
+
this.emit('nile-visibility-change', {
|
|
115
|
+
visible: false,
|
|
116
|
+
reason: 'anchor-out-of-view',
|
|
117
|
+
});
|
|
118
|
+
},
|
|
119
|
+
onDocumentHidden: () => {
|
|
120
|
+
this.isShow = false;
|
|
121
|
+
this.emit('nile-visibility-change', {
|
|
122
|
+
visible: false,
|
|
123
|
+
reason: 'document-hidden',
|
|
124
|
+
});
|
|
125
|
+
},
|
|
126
|
+
emit: (event, detail) => this.emit(`nile-${event}`, detail),
|
|
127
|
+
});
|
|
128
|
+
}
|
|
97
129
|
updated(_changedProperties) {
|
|
98
130
|
if (_changedProperties.has('open')) {
|
|
99
131
|
this.isShow = this.open;
|
|
@@ -111,6 +143,7 @@ let NilePopover = class NilePopover extends NileElement {
|
|
|
111
143
|
handleShowHide() {
|
|
112
144
|
if (this.isShow) {
|
|
113
145
|
this.emit('nile-show');
|
|
146
|
+
this.visibilityManager?.setup();
|
|
114
147
|
if (this.portal && this.portalManager) {
|
|
115
148
|
this.portalManager.setupPortalAppend();
|
|
116
149
|
}
|
|
@@ -121,6 +154,7 @@ let NilePopover = class NilePopover extends NileElement {
|
|
|
121
154
|
}
|
|
122
155
|
else {
|
|
123
156
|
this.emit('nile-hide');
|
|
157
|
+
this.visibilityManager?.cleanup();
|
|
124
158
|
if (this.portal && this.portalManager) {
|
|
125
159
|
this.portalManager.cleanupPortalAppend();
|
|
126
160
|
}
|
|
@@ -203,6 +237,12 @@ __decorate([
|
|
|
203
237
|
__decorate([
|
|
204
238
|
property({ attribute: 'arrow-placement' })
|
|
205
239
|
], NilePopover.prototype, "arrowPlacement", void 0);
|
|
240
|
+
__decorate([
|
|
241
|
+
property({ type: Boolean, reflect: true })
|
|
242
|
+
], NilePopover.prototype, "enableVisibilityEffect", void 0);
|
|
243
|
+
__decorate([
|
|
244
|
+
property({ type: Boolean, reflect: true })
|
|
245
|
+
], NilePopover.prototype, "enableTabClose", void 0);
|
|
206
246
|
__decorate([
|
|
207
247
|
property({ type: Boolean })
|
|
208
248
|
], NilePopover.prototype, "hoist", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-popover.js","sourceRoot":"","sources":["../../../src/nile-popover/nile-popover.ts"],"names":[],"mappings":"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","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 {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n PropertyValues,\n} from 'lit-element';\nimport { customElement,property, state } from 'lit/decorators.js';\nimport { styles } from './nile-popover.css';\nimport NileElement from '../internal/nile-element';\nimport { watch } from '../internal/watch';\nimport { CSSResultGroup } from 'lit';\nimport { PopoverPortalManager } from './portal-manager';\n\n/**\n * Nile icon component.\n *\n * @tag nile-popover\n *\n */\n@customElement('nile-popover')\nexport class NilePopover extends NileElement {\n /**\n * The styles for Popover\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultGroup {\n return [styles];\n }\n\n /**\n * The preferred placement of the popover. Note that the actual placement may vary as needed to keep the tooltip\n * inside of the viewport.\n */\n @property() placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'top';\n\n /** The distance in pixels from which to offset the popover away from its target. */\n @property({ type: Number }) distance = 18;\n\n @property({ type: Boolean, reflect: true }) preventOverlayClose = false;\n\n @property({ type: Boolean, attribute: 'arrow' }) arrow = true;\n\n /** Gives the title to the popover */\n @property({ type: String }) title = '';\n\n @property({type:Boolean }) open = false;\n\n @state() isShow:boolean = false;\n\n @property({ attribute: 'arrow-placement' }) arrowPlacement:\n | 'start'\n | 'end'\n | 'center'\n | 'anchor' = 'anchor';\n\n private portalManager: PopoverPortalManager | null = null;\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n */\n @property({ type: Boolean }) hoist = false;\n\n /**\n * Enable portal mode to render the popover content in a portal outside the component's DOM tree.\n * This provides better positioning control and prevents clipping issues in complex layouts.\n */\n @property({ type: Boolean }) portal = false;\n\n @property({ type: Boolean }) flip = false;\n\n /* #endregion */\n\n /* #region Methods */\n\n /**\n * Render method\n * @slot This is a slot test\n */\n\n connectedCallback() {\n super.connectedCallback();\n this.emit('nile-init');\n document.addEventListener('click', this.handleDocumentClick);\n \n requestAnimationFrame(() => {\n if (this.portal && !this.portalManager) {\n this.portalManager = new PopoverPortalManager(this);\n }\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n document.removeEventListener('click', this.handleDocumentClick);\n \n if (this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n this.portalManager = null;\n }\n }\n\n protected updated(_changedProperties: PropertyValues): void {\n if (_changedProperties.has('open')) {\n this.isShow = this.open;\n }\n \n if (_changedProperties.has('portal')) {\n if (this.portal && !this.portalManager) {\n this.portalManager = new PopoverPortalManager(this);\n } else if (!this.portal && this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n this.portalManager = null;\n }\n }\n }\n\n @watch('isShow')\n handleShowHide() {\n if (this.isShow) {\n this.emit('nile-show');\n if (this.portal && this.portalManager) {\n this.portalManager.setupPortalAppend();\n } else if (this.portal && !this.portalManager) {\n this.portalManager = new PopoverPortalManager(this);\n this.portalManager.setupPortalAppend();\n }\n } else {\n this.emit('nile-hide');\n if (this.portal && this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n }\n }\n }\n\n public render(): TemplateResult {\n const shouldRenderContent = this.isShow && !(this.portal && this.portalManager);\n \n return html`\n <nile-popup\n active\n .arrow=\"${this.arrow && this.isShow && !this.portal}\"\n distance=\"${this.distance}\"\n placement=\"${this.placement}\"\n @click=${(e: Event) => e.stopPropagation()}\n arrowPlacement=\"${this.arrowPlacement}\"\n .flip=\"${this.flip}\"\n shift\n strategy=${this.hoist ? 'fixed' : 'absolute'}\n >\n <slot\n slot=\"anchor\"\n name=\"anchor\"\n aria-describedby=\"tooltip\"\n @click=${this.handleClick}\n ></slot>\n ${shouldRenderContent\n ? html` <div part=\"popover\" class=\"popover__box\">\n <slot name=\"title\" class=\"popover__title\">${this.title}</slot>\n <slot part=\"base\"></slot>\n <slot name=\"action\" class=\"popover__action\"> </slot>\n </div>`\n : html``}\n </nile-popup>\n `;\n }\n\n private handleClick = () => {\n this.isShow = !this.isShow;\n const allPopovers = document.querySelectorAll('nile-popover');\n\n allPopovers.forEach(popover => {\n if (popover !== this) {\n popover.isShow = false;\n }\n });\n };\n\n private handleDocumentClick = () => {\n if (this.isShow && !this.preventOverlayClose) {\n this.isShow = false;\n }\n };\n\n public updatePortalContent(): void {\n if (this.portalManager) {\n this.portalManager.updatePortalAppendPosition();\n }\n }\n\n public forceReposition(): void {\n if (this.portalManager) {\n this.portalManager.forceReposition();\n }\n }\n\n public getCurrentPlacement(): string {\n if (this.portalManager) {\n return this.portalManager.getCurrentPlacement();\n }\n return this.placement;\n }\n\n public isPositioningOptimal(): boolean {\n if (this.portalManager) {\n return this.portalManager.isPositioningOptimal();\n }\n return true;\n }\n\n /* #endregion */\n}\n\nexport default NilePopover;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-popover': NilePopover;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"nile-popover.js","sourceRoot":"","sources":["../../../src/nile-popover/nile-popover.ts"],"names":[],"mappings":"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","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 {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n PropertyValues,\n} from 'lit-element';\nimport { customElement,property, state } from 'lit/decorators.js';\nimport { styles } from './nile-popover.css';\nimport NileElement from '../internal/nile-element';\nimport { watch } from '../internal/watch';\nimport { CSSResultGroup } from 'lit';\nimport { PopoverPortalManager } from './portal-manager';\nimport { VisibilityManager } from '../utilities/visibility-manager.js';\n\n\n/**\n * Nile icon component.\n *\n * @tag nile-popover\n *\n */\n@customElement('nile-popover')\nexport class NilePopover extends NileElement {\n /**\n * The styles for Popover\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultGroup {\n return [styles];\n }\n\n /**\n * The preferred placement of the popover. Note that the actual placement may vary as needed to keep the tooltip\n * inside of the viewport.\n */\n @property() placement:\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'left'\n | 'left-start'\n | 'left-end' = 'top';\n\n /** The distance in pixels from which to offset the popover away from its target. */\n @property({ type: Number }) distance = 18;\n\n @property({ type: Boolean, reflect: true }) preventOverlayClose = false;\n\n @property({ type: Boolean, attribute: 'arrow' }) arrow = true;\n\n /** Gives the title to the popover */\n @property({ type: String }) title = '';\n\n @property({type:Boolean }) open = false;\n\n @state() isShow:boolean = false;\n\n @property({ attribute: 'arrow-placement' }) arrowPlacement:\n | 'start'\n | 'end'\n | 'center'\n | 'anchor' = 'anchor';\n\n private portalManager: PopoverPortalManager | null = null;\n private visibilityManager?: VisibilityManager;\n\n @property({ type: Boolean, reflect: true }) enableVisibilityEffect = false;\n\n @property({ type: Boolean, reflect: true }) enableTabClose = false;\n\n\n /**\n * Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n */\n @property({ type: Boolean }) hoist = false;\n\n /**\n * Enable portal mode to render the popover content in a portal outside the component's DOM tree.\n * This provides better positioning control and prevents clipping issues in complex layouts.\n */\n @property({ type: Boolean }) portal = false;\n\n @property({ type: Boolean }) flip = false;\n\n /* #endregion */\n\n /* #region Methods */\n\n /**\n * Render method\n * @slot This is a slot test\n */\n\n connectedCallback() {\n super.connectedCallback();\n this.emit('nile-init');\n document.addEventListener('click', this.handleDocumentClick);\n \n requestAnimationFrame(() => {\n if (this.portal && !this.portalManager) {\n this.portalManager = new PopoverPortalManager(this);\n }\n });\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n this.visibilityManager?.cleanup();\n document.removeEventListener('click', this.handleDocumentClick);\n \n if (this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n this.portalManager = null;\n }\n }\n\n protected async firstUpdated(_changed: PropertyValues) {\n super.firstUpdated?.(_changed);\n await this.updateComplete;\n \n const anchorSlot = this.renderRoot.querySelector('slot[name=\"anchor\"]') as HTMLSlotElement | null;\n const anchorEl = anchorSlot?.assignedElements({ flatten: true })[0] as HTMLElement | undefined;\n \n \n this.visibilityManager = new VisibilityManager({\n host: this,\n target: anchorEl || null,\n enableVisibilityEffect: this.enableVisibilityEffect,\n enableTabClose: this.enableTabClose,\n isOpen: () => this.isShow,\n onAnchorOutOfView: () => {\n this.isShow = false;\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'anchor-out-of-view',\n });\n },\n onDocumentHidden: () => {\n this.isShow = false;\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'document-hidden',\n });\n },\n emit: (event, detail) => this.emit(`nile-${event}`, detail),\n });\n }\n\n \n protected updated(_changedProperties: PropertyValues): void {\n if (_changedProperties.has('open')) {\n this.isShow = this.open;\n }\n \n if (_changedProperties.has('portal')) {\n if (this.portal && !this.portalManager) {\n this.portalManager = new PopoverPortalManager(this);\n } else if (!this.portal && this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n this.portalManager = null;\n }\n }\n }\n\n @watch('isShow')\n handleShowHide() {\n if (this.isShow) {\n this.emit('nile-show');\n this.visibilityManager?.setup();\n if (this.portal && this.portalManager) {\n this.portalManager.setupPortalAppend();\n } else if (this.portal && !this.portalManager) {\n this.portalManager = new PopoverPortalManager(this);\n this.portalManager.setupPortalAppend();\n }\n } else {\n this.emit('nile-hide');\n this.visibilityManager?.cleanup();\n if (this.portal && this.portalManager) {\n this.portalManager.cleanupPortalAppend();\n }\n }\n }\n\n public render(): TemplateResult {\n const shouldRenderContent = this.isShow && !(this.portal && this.portalManager);\n \n return html`\n <nile-popup\n active\n .arrow=\"${this.arrow && this.isShow && !this.portal}\"\n distance=\"${this.distance}\"\n placement=\"${this.placement}\"\n @click=${(e: Event) => e.stopPropagation()}\n arrowPlacement=\"${this.arrowPlacement}\"\n .flip=\"${this.flip}\"\n shift\n strategy=${this.hoist ? 'fixed' : 'absolute'}\n >\n <slot\n slot=\"anchor\"\n name=\"anchor\"\n aria-describedby=\"tooltip\"\n @click=${this.handleClick}\n ></slot>\n ${shouldRenderContent\n ? html` <div part=\"popover\" class=\"popover__box\">\n <slot name=\"title\" class=\"popover__title\">${this.title}</slot>\n <slot part=\"base\"></slot>\n <slot name=\"action\" class=\"popover__action\"> </slot>\n </div>`\n : html``}\n </nile-popup>\n `;\n }\n\n private handleClick = () => {\n this.isShow = !this.isShow;\n const allPopovers = document.querySelectorAll('nile-popover');\n\n allPopovers.forEach(popover => {\n if (popover !== this) {\n popover.isShow = false;\n }\n });\n };\n\n private handleDocumentClick = () => {\n if (this.isShow && !this.preventOverlayClose) {\n this.isShow = false;\n }\n };\n\n public updatePortalContent(): void {\n if (this.portalManager) {\n this.portalManager.updatePortalAppendPosition();\n }\n }\n\n public forceReposition(): void {\n if (this.portalManager) {\n this.portalManager.forceReposition();\n }\n }\n\n public getCurrentPlacement(): string {\n if (this.portalManager) {\n return this.portalManager.getCurrentPlacement();\n }\n return this.placement;\n }\n\n public isPositioningOptimal(): boolean {\n if (this.portalManager) {\n return this.portalManager.isPositioningOptimal();\n }\n return true;\n }\n\n /* #endregion */\n}\n\nexport default NilePopover;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-popover': NilePopover;\n }\n}\n"]}
|
|
@@ -81,6 +81,7 @@ export declare class NileSelect extends NileElement implements NileFormControl {
|
|
|
81
81
|
private scrolling;
|
|
82
82
|
private options;
|
|
83
83
|
private resizeController?;
|
|
84
|
+
private visibilityManager?;
|
|
84
85
|
popup: NilePopup;
|
|
85
86
|
combobox: HTMLSlotElement;
|
|
86
87
|
displayInput: HTMLInputElement;
|
|
@@ -199,11 +200,6 @@ export declare class NileSelect extends NileElement implements NileFormControl {
|
|
|
199
200
|
private handleFocus;
|
|
200
201
|
private handleBlur;
|
|
201
202
|
private handleDocumentFocusIn;
|
|
202
|
-
private anchorVisibilityObservers;
|
|
203
|
-
private getScrollableAncestors;
|
|
204
|
-
private handleDocumentVisibilityChange;
|
|
205
|
-
private setupAnchorVisibilityObserver;
|
|
206
|
-
private cleanupAnchorVisibilityObserver;
|
|
207
203
|
/**
|
|
208
204
|
* Handles the click event on the footer.
|
|
209
205
|
* @param event - The click event.
|
|
@@ -28,6 +28,7 @@ import '../nile-virtual-select/nile-virtual-select';
|
|
|
28
28
|
import { VirtualScrollHelper } from './virtual-scroll-helper';
|
|
29
29
|
import { ResizeController } from '@lit-labs/observers/resize-controller.js';
|
|
30
30
|
import { PortalManager } from './portal-manager';
|
|
31
|
+
import { VisibilityManager } from '../utilities/visibility-manager';
|
|
31
32
|
/**
|
|
32
33
|
* Nile icon component.
|
|
33
34
|
*
|
|
@@ -193,19 +194,6 @@ let NileSelect = class NileSelect extends NileElement {
|
|
|
193
194
|
this.autoFocusSearch = false;
|
|
194
195
|
/** loading indicator for virtual select */
|
|
195
196
|
this.loading = false;
|
|
196
|
-
this.anchorVisibilityObservers = [];
|
|
197
|
-
this.handleDocumentVisibilityChange = () => {
|
|
198
|
-
if (!this.enableTabClose)
|
|
199
|
-
return;
|
|
200
|
-
if (document.visibilityState === 'hidden' && this.open) {
|
|
201
|
-
this.hide();
|
|
202
|
-
this.emit('nile-visibility-change', {
|
|
203
|
-
visible: false,
|
|
204
|
-
reason: 'document-hidden',
|
|
205
|
-
name: this.name,
|
|
206
|
-
});
|
|
207
|
-
}
|
|
208
|
-
};
|
|
209
197
|
this.handleWindowResize = () => {
|
|
210
198
|
this.portalManager.updatePortalAppendPosition();
|
|
211
199
|
};
|
|
@@ -237,6 +225,7 @@ let NileSelect = class NileSelect extends NileElement {
|
|
|
237
225
|
clearTimeout(this.scrollTimeout);
|
|
238
226
|
this.scrollTimeout = undefined;
|
|
239
227
|
}
|
|
228
|
+
this.visibilityManager?.cleanup();
|
|
240
229
|
// Clean up body append elements
|
|
241
230
|
this.portalManager.cleanupPortalAppend();
|
|
242
231
|
this.emit('nile-destroy');
|
|
@@ -272,6 +261,30 @@ let NileSelect = class NileSelect extends NileElement {
|
|
|
272
261
|
if (_changedProperties.has('multiple')) {
|
|
273
262
|
this.setCheckBoxInOption(this.multiple);
|
|
274
263
|
}
|
|
264
|
+
this.visibilityManager = new VisibilityManager({
|
|
265
|
+
host: this,
|
|
266
|
+
target: this.combobox,
|
|
267
|
+
enableVisibilityEffect: this.enableVisibilityEffect,
|
|
268
|
+
enableTabClose: this.enableTabClose,
|
|
269
|
+
isOpen: () => this.open,
|
|
270
|
+
onAnchorOutOfView: () => {
|
|
271
|
+
this.hide();
|
|
272
|
+
this.emit('nile-visibility-change', {
|
|
273
|
+
visible: false,
|
|
274
|
+
reason: 'anchor-out-of-view',
|
|
275
|
+
name: this.name,
|
|
276
|
+
});
|
|
277
|
+
},
|
|
278
|
+
onDocumentHidden: () => {
|
|
279
|
+
this.hide();
|
|
280
|
+
this.emit('nile-visibility-change', {
|
|
281
|
+
visible: false,
|
|
282
|
+
reason: 'document-hidden',
|
|
283
|
+
name: this.name,
|
|
284
|
+
});
|
|
285
|
+
},
|
|
286
|
+
emit: (event, detail) => this.emit(`nile-${event}`, detail),
|
|
287
|
+
});
|
|
275
288
|
}
|
|
276
289
|
setCheckBoxInOption(checked) {
|
|
277
290
|
if (!this.options.length) {
|
|
@@ -317,57 +330,6 @@ let NileSelect = class NileSelect extends NileElement {
|
|
|
317
330
|
this.hide();
|
|
318
331
|
}
|
|
319
332
|
}
|
|
320
|
-
getScrollableAncestors(element) {
|
|
321
|
-
const scrollables = [];
|
|
322
|
-
let parent = element.parentElement;
|
|
323
|
-
while (parent) {
|
|
324
|
-
const style = getComputedStyle(parent);
|
|
325
|
-
const canScroll = /(auto|scroll)/.test(style.overflow + style.overflowY + style.overflowX);
|
|
326
|
-
if (canScroll) {
|
|
327
|
-
scrollables.push(parent);
|
|
328
|
-
}
|
|
329
|
-
parent = parent.parentElement;
|
|
330
|
-
}
|
|
331
|
-
return scrollables;
|
|
332
|
-
}
|
|
333
|
-
setupAnchorVisibilityObserver() {
|
|
334
|
-
if (!this.enableVisibilityEffect)
|
|
335
|
-
return;
|
|
336
|
-
this.cleanupAnchorVisibilityObserver();
|
|
337
|
-
const combobox = this.combobox;
|
|
338
|
-
if (!combobox)
|
|
339
|
-
return;
|
|
340
|
-
const scrollContainers = [...this.getScrollableAncestors(this), null];
|
|
341
|
-
scrollContainers.forEach((rootContainer) => {
|
|
342
|
-
const observer = new IntersectionObserver((entries) => {
|
|
343
|
-
for (const entry of entries) {
|
|
344
|
-
if (!entry.isIntersecting && this.open) {
|
|
345
|
-
this.hide();
|
|
346
|
-
this.emit('nile-visibility-change', {
|
|
347
|
-
visible: false,
|
|
348
|
-
reason: 'anchor-out-of-view',
|
|
349
|
-
name: this.name,
|
|
350
|
-
root: rootContainer,
|
|
351
|
-
});
|
|
352
|
-
return;
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
}, {
|
|
356
|
-
root: rootContainer,
|
|
357
|
-
threshold: 0.1,
|
|
358
|
-
});
|
|
359
|
-
observer.observe(combobox);
|
|
360
|
-
this.anchorVisibilityObservers.push(observer);
|
|
361
|
-
});
|
|
362
|
-
if (this.enableTabClose) {
|
|
363
|
-
document.addEventListener('visibilitychange', this.handleDocumentVisibilityChange);
|
|
364
|
-
}
|
|
365
|
-
}
|
|
366
|
-
cleanupAnchorVisibilityObserver() {
|
|
367
|
-
this.anchorVisibilityObservers.forEach((o) => o.disconnect());
|
|
368
|
-
this.anchorVisibilityObservers = [];
|
|
369
|
-
document.removeEventListener('visibilitychange', this.handleDocumentVisibilityChange);
|
|
370
|
-
}
|
|
371
333
|
/**
|
|
372
334
|
* Handles the click event on the footer.
|
|
373
335
|
* @param event - The click event.
|
|
@@ -899,6 +861,7 @@ let NileSelect = class NileSelect extends NileElement {
|
|
|
899
861
|
});
|
|
900
862
|
}
|
|
901
863
|
this.addOpenListeners();
|
|
864
|
+
this.visibilityManager?.setup();
|
|
902
865
|
this.showNoResults = !this.getAllOptions()?.length;
|
|
903
866
|
await stopAnimations(this);
|
|
904
867
|
this.listbox.hidden = false;
|
|
@@ -907,9 +870,6 @@ let NileSelect = class NileSelect extends NileElement {
|
|
|
907
870
|
requestAnimationFrame(() => {
|
|
908
871
|
this.setCurrentOption(this.currentOption);
|
|
909
872
|
});
|
|
910
|
-
if (this.enableVisibilityEffect) {
|
|
911
|
-
this.setupAnchorVisibilityObserver();
|
|
912
|
-
}
|
|
913
873
|
const { keyframes, options } = getAnimation(this, 'select.show', {
|
|
914
874
|
dir: 'ltr',
|
|
915
875
|
});
|
|
@@ -933,6 +893,7 @@ let NileSelect = class NileSelect extends NileElement {
|
|
|
933
893
|
this.emit('nile-hide', { value: this.value, name: this.name });
|
|
934
894
|
this.showSelected = false;
|
|
935
895
|
this.removeOpenListeners();
|
|
896
|
+
this.visibilityManager?.cleanup();
|
|
936
897
|
await stopAnimations(this);
|
|
937
898
|
const { keyframes, options } = getAnimation(this, 'select.hide', {
|
|
938
899
|
dir: 'ltr',
|