@aquera/nile-elements 1.3.4 → 1.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/demo/index.css +0 -3
- package/demo/index.html +329 -21
- package/dist/{fixture-1c49c014.cjs.js → fixture-54600b35.cjs.js} +2 -2
- package/dist/{fixture-1c49c014.cjs.js.map → fixture-54600b35.cjs.js.map} +1 -1
- package/dist/fixture-5b79f853.cjs.js +395 -0
- package/dist/fixture-5b79f853.cjs.js.map +1 -0
- package/dist/fixture-73855806.cjs.js +395 -0
- package/dist/fixture-73855806.cjs.js.map +1 -0
- package/dist/fixture-90b199c4.esm.js +569 -0
- package/dist/{fixture-985bba12.esm.js → fixture-9871e8a9.esm.js} +1 -1
- package/dist/fixture-c1d78368.cjs.js +395 -0
- package/dist/fixture-c1d78368.cjs.js.map +1 -0
- package/dist/fixture-cf7bfcf5.esm.js +569 -0
- package/dist/fixture-dbd66009.cjs.js +395 -0
- package/dist/fixture-dbd66009.cjs.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +254 -214
- package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
- package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.test.esm.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js +1 -1
- package/dist/nile-button/nile-button.test.esm.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
- package/dist/nile-card/nile-card.test.cjs.js +1 -1
- package/dist/nile-card/nile-card.test.esm.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
- package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.test.esm.js +1 -1
- package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js +2 -0
- package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js.map +1 -0
- package/dist/nile-code-editor/backup_nile-code-editor copy.esm.js +1 -0
- package/dist/nile-date-picker/index.cjs.js +1 -1
- package/dist/nile-date-picker/index.esm.js +1 -1
- package/dist/nile-date-picker/nile-date-picker-utils.cjs.js +2 -0
- package/dist/nile-date-picker/nile-date-picker-utils.cjs.js.map +1 -0
- package/dist/nile-date-picker/nile-date-picker-utils.esm.js +1 -0
- package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
- package/dist/nile-date-picker/nile-date-picker.cjs.js.map +1 -1
- package/dist/nile-date-picker/nile-date-picker.esm.js +7 -3
- package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
- package/dist/nile-floating-panel/anchor-manager.cjs.js +2 -0
- package/dist/nile-floating-panel/anchor-manager.cjs.js.map +1 -0
- package/dist/nile-floating-panel/anchor-manager.esm.js +1 -0
- package/dist/nile-floating-panel/content-manager.cjs.js +2 -0
- package/dist/nile-floating-panel/content-manager.cjs.js.map +1 -0
- package/dist/nile-floating-panel/content-manager.esm.js +1 -0
- package/dist/nile-floating-panel/event-manager.cjs.js +2 -0
- package/dist/nile-floating-panel/event-manager.cjs.js.map +1 -0
- package/dist/nile-floating-panel/event-manager.esm.js +1 -0
- package/dist/nile-floating-panel/index.cjs.js +2 -0
- package/dist/nile-floating-panel/index.cjs.js.map +1 -0
- package/dist/nile-floating-panel/index.esm.js +1 -0
- package/dist/nile-floating-panel/nile-floating-panel.cjs.js +2 -0
- package/dist/nile-floating-panel/nile-floating-panel.cjs.js.map +1 -0
- package/dist/nile-floating-panel/nile-floating-panel.css.cjs.js +2 -0
- package/dist/nile-floating-panel/nile-floating-panel.css.cjs.js.map +1 -0
- package/dist/nile-floating-panel/nile-floating-panel.css.esm.js +37 -0
- package/dist/nile-floating-panel/nile-floating-panel.esm.js +1 -0
- package/dist/nile-floating-panel/position-manager.cjs.js +2 -0
- package/dist/nile-floating-panel/position-manager.cjs.js.map +1 -0
- package/dist/nile-floating-panel/position-manager.esm.js +1 -0
- package/dist/nile-floating-panel/style-manager.cjs.js +2 -0
- package/dist/nile-floating-panel/style-manager.cjs.js.map +1 -0
- package/dist/nile-floating-panel/style-manager.esm.js +1 -0
- package/dist/nile-floating-panel/types.cjs.js +2 -0
- package/dist/nile-floating-panel/types.cjs.js.map +1 -0
- package/dist/nile-floating-panel/types.esm.js +1 -0
- package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
- package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
- package/dist/nile-grid/nile-grid.types.cjs.js +2 -0
- package/dist/nile-grid/nile-grid.types.cjs.js.map +1 -0
- package/dist/nile-grid/nile-grid.types.esm.js +1 -0
- package/dist/nile-grid-body/index.cjs.js +2 -0
- package/dist/nile-grid-body/index.cjs.js.map +1 -0
- package/dist/nile-grid-body/index.esm.js +1 -0
- package/dist/nile-grid-body/nile-grid-body.cjs.js +2 -0
- package/dist/nile-grid-body/nile-grid-body.cjs.js.map +1 -0
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js +2 -0
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +1 -0
- package/dist/nile-grid-body/nile-grid-body.css.esm.js +10 -0
- package/dist/nile-grid-body/nile-grid-body.esm.js +5 -0
- package/dist/nile-grid-cell-item/index.cjs.js +2 -0
- package/dist/nile-grid-cell-item/index.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/index.esm.js +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +2 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +2 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +35 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +12 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +2 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +1 -0
- package/dist/nile-grid-head/index.cjs.js +2 -0
- package/dist/nile-grid-head/index.cjs.js.map +1 -0
- package/dist/nile-grid-head/index.esm.js +1 -0
- package/dist/nile-grid-head/nile-grid-head.cjs.js +2 -0
- package/dist/nile-grid-head/nile-grid-head.cjs.js.map +1 -0
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js +2 -0
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +1 -0
- package/dist/nile-grid-head/nile-grid-head.css.esm.js +7 -0
- package/dist/nile-grid-head/nile-grid-head.esm.js +5 -0
- package/dist/nile-grid-head-item/index.cjs.js +2 -0
- package/dist/nile-grid-head-item/index.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/index.esm.js +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +2 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +2 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +34 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +12 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +2 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.esm.js +1 -0
- package/dist/nile-grid-row/index.cjs.js +2 -0
- package/dist/nile-grid-row/index.cjs.js.map +1 -0
- package/dist/nile-grid-row/index.esm.js +1 -0
- package/dist/nile-grid-row/nile-grid-row.cjs.js +2 -0
- package/dist/nile-grid-row/nile-grid-row.cjs.js.map +1 -0
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js +2 -0
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -0
- package/dist/nile-grid-row/nile-grid-row.css.esm.js +15 -0
- package/dist/nile-grid-row/nile-grid-row.esm.js +7 -0
- package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
- package/dist/nile-hero/nile-hero.test.esm.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
- package/dist/nile-icon/nile-icon.test.esm.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js +1 -1
- package/dist/nile-input/nile-input.test.esm.js +1 -1
- package/dist/nile-link/nile-link.test.cjs.js +1 -1
- package/dist/nile-link/nile-link.test.esm.js +1 -1
- package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
- package/dist/nile-loader/nile-loader.test.esm.js +1 -1
- package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
- package/dist/nile-popover/nile-popover.test.esm.js +1 -1
- package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
- package/dist/nile-popup/nile-popup.test.esm.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
- package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
- package/dist/nile-radio/nile-radio.test.esm.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
- package/dist/nile-rich-text-editor/utils.cjs.js +2 -0
- package/dist/nile-rich-text-editor/utils.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/utils.esm.js +1 -0
- package/dist/nile-select/nile-select.test.cjs.js +1 -1
- package/dist/nile-select/nile-select.test.esm.js +1 -1
- package/dist/nile-sidebar/index.cjs.js +2 -0
- package/dist/nile-sidebar/index.cjs.js.map +1 -0
- package/dist/nile-sidebar/index.esm.js +75 -0
- package/dist/nile-sidebar-menu/index.cjs.js +2 -0
- package/dist/nile-sidebar-menu/index.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu/index.esm.js +1 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +2 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +2 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +38 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +10 -0
- package/dist/nile-sidebar-menu-items/index.cjs.js +2 -0
- package/dist/nile-sidebar-menu-items/index.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu-items/index.esm.js +1 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +2 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +2 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +36 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +15 -0
- package/dist/nile-sidebar-wrapper/index.cjs.js +2 -0
- package/dist/nile-sidebar-wrapper/index.cjs.js.map +1 -0
- package/dist/nile-sidebar-wrapper/index.esm.js +1 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +2 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +1 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +2 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +1 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +105 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +16 -0
- package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
- package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
- package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
- package/dist/nile-virtual-select/group-manager.cjs.js +2 -0
- package/dist/nile-virtual-select/group-manager.cjs.js.map +1 -0
- package/dist/nile-virtual-select/group-manager.esm.js +1 -0
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.esm.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
- package/dist/nile-virtual-select/portal-manager.cjs.js +1 -1
- package/dist/nile-virtual-select/portal-manager.cjs.js.map +1 -1
- package/dist/nile-virtual-select/portal-manager.esm.js +1 -1
- package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js +2 -0
- package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js.map +1 -0
- package/dist/nile-virtual-select/temp_nile-virtual-select copy.esm.js +231 -0
- package/dist/scopedElementsWrapper-1bff26ef.cjs.js +2 -0
- package/dist/scopedElementsWrapper-1bff26ef.cjs.js.map +1 -0
- package/dist/scopedElementsWrapper-4c29be11.esm.js +7 -0
- package/dist/scopedElementsWrapper-a112fc73.cjs.js +6 -0
- package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +1 -0
- package/dist/scopedElementsWrapper-c815042c.cjs.js +2 -0
- package/dist/scopedElementsWrapper-c815042c.cjs.js.map +1 -0
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal/portal-manager.d.ts +53 -0
- package/dist/src/internal/portal-manager.js +196 -0
- package/dist/src/internal/portal-manager.js.map +1 -0
- package/dist/src/internal/portal.d.ts +60 -0
- package/dist/src/internal/portal.js +199 -0
- package/dist/src/internal/portal.js.map +1 -0
- package/dist/src/internal/resizable-helper.d.ts +59 -0
- package/dist/src/internal/resizable-helper.js +115 -0
- package/dist/src/internal/resizable-helper.js.map +1 -0
- package/dist/src/internal/resizable-styles.d.ts +16 -0
- package/dist/src/internal/resizable-styles.js +144 -0
- package/dist/src/internal/resizable-styles.js.map +1 -0
- package/dist/src/internal/virtualizer-error-handler.d.ts +30 -0
- package/dist/src/internal/virtualizer-error-handler.js +82 -0
- package/dist/src/internal/virtualizer-error-handler.js.map +1 -0
- package/dist/src/lib/index.d.ts +7 -0
- package/dist/src/lib/index.js +8 -0
- package/dist/src/lib/index.js.map +1 -0
- package/dist/src/lib/virtualize.d.ts +32 -0
- package/dist/src/lib/virtualize.js +105 -0
- package/dist/src/lib/virtualize.js.map +1 -0
- package/dist/src/lib/virtualize.test.d.ts +7 -0
- package/dist/src/lib/virtualize.test.js +57 -0
- package/dist/src/lib/virtualize.test.js.map +1 -0
- package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +17 -0
- package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +310 -0
- package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +34 -0
- package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +31 -0
- package/dist/src/nile-code-editor/Old_theme copy.d.ts +191 -0
- package/dist/src/nile-code-editor/Old_theme copy.js +193 -0
- package/dist/src/nile-code-editor/Old_theme copy.js.map +1 -0
- package/dist/src/nile-code-editor/backup_nile-code-editor copy.d.ts +0 -0
- package/dist/src/nile-code-editor/backup_nile-code-editor copy.js +675 -0
- package/dist/src/nile-code-editor/backup_nile-code-editor copy.js.map +1 -0
- package/dist/src/nile-code-editor/theme copy.d.ts +191 -0
- package/dist/src/nile-code-editor/theme copy.js +193 -0
- package/dist/src/nile-code-editor/theme copy.js.map +1 -0
- package/dist/src/nile-date-picker/nile-date-picker-utils.d.ts +7 -0
- package/dist/src/nile-date-picker/nile-date-picker-utils.js +84 -0
- package/dist/src/nile-date-picker/nile-date-picker-utils.js.map +1 -0
- package/dist/src/nile-date-picker/nile-date-picker.d.ts +12 -12
- package/dist/src/nile-date-picker/nile-date-picker.js +96 -7
- package/dist/src/nile-date-picker/nile-date-picker.js.map +1 -1
- package/dist/src/nile-floating-panel/anchor-manager.d.ts +6 -0
- package/dist/src/nile-floating-panel/anchor-manager.js +27 -0
- package/dist/src/nile-floating-panel/anchor-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/content-manager.d.ts +5 -0
- package/dist/src/nile-floating-panel/content-manager.js +44 -0
- package/dist/src/nile-floating-panel/content-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/event-manager.d.ts +14 -0
- package/dist/src/nile-floating-panel/event-manager.js +52 -0
- package/dist/src/nile-floating-panel/event-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/index.d.ts +1 -0
- package/dist/src/nile-floating-panel/index.js +2 -0
- package/dist/src/nile-floating-panel/index.js.map +1 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.css.d.ts +10 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.css.js +47 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.css.js.map +1 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.d.ts +43 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.js +238 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.js.map +1 -0
- package/dist/src/nile-floating-panel/position-manager.d.ts +17 -0
- package/dist/src/nile-floating-panel/position-manager.js +72 -0
- package/dist/src/nile-floating-panel/position-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/style-manager.d.ts +9 -0
- package/dist/src/nile-floating-panel/style-manager.js +44 -0
- package/dist/src/nile-floating-panel/style-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/types.d.ts +11 -0
- package/dist/src/nile-floating-panel/types.js +2 -0
- package/dist/src/nile-floating-panel/types.js.map +1 -0
- package/dist/src/nile-grid/data-processor.d.ts +37 -0
- package/dist/src/nile-grid/data-processor.js +122 -0
- package/dist/src/nile-grid/data-processor.js.map +1 -0
- package/dist/src/nile-grid/event-handlers.d.ts +35 -0
- package/dist/src/nile-grid/event-handlers.js +158 -0
- package/dist/src/nile-grid/event-handlers.js.map +1 -0
- package/dist/src/nile-grid/nile-grid.types.d.ts +3 -0
- package/dist/src/nile-grid/nile-grid.types.js +2 -0
- package/dist/src/nile-grid/nile-grid.types.js.map +1 -0
- package/dist/src/nile-grid/renderer.d.ts +8 -0
- package/dist/src/nile-grid/renderer.js +78 -0
- package/dist/src/nile-grid/renderer.js.map +1 -0
- package/dist/src/nile-grid/resize-handler.d.ts +4 -0
- package/dist/src/nile-grid/resize-handler.js +36 -0
- package/dist/src/nile-grid/resize-handler.js.map +1 -0
- package/dist/src/nile-grid/types.d.ts +32 -0
- package/dist/src/nile-grid/types.js +2 -0
- package/dist/src/nile-grid/types.js.map +1 -0
- package/dist/src/nile-grid/utils.d.ts +4 -0
- package/dist/src/nile-grid/utils.js +32 -0
- package/dist/src/nile-grid/utils.js.map +1 -0
- package/dist/src/nile-grid-body/index.d.ts +1 -0
- package/dist/src/nile-grid-body/index.js +2 -0
- package/dist/src/nile-grid-body/index.js.map +1 -0
- package/dist/src/nile-grid-body/nile-grid-body.css.d.ts +12 -0
- package/dist/src/nile-grid-body/nile-grid-body.css.js +22 -0
- package/dist/src/nile-grid-body/nile-grid-body.css.js.map +1 -0
- package/dist/src/nile-grid-body/nile-grid-body.d.ts +29 -0
- package/dist/src/nile-grid-body/nile-grid-body.js +43 -0
- package/dist/src/nile-grid-body/nile-grid-body.js.map +1 -0
- package/dist/src/nile-grid-cell-item/index.d.ts +1 -0
- package/dist/src/nile-grid-cell-item/index.js +2 -0
- package/dist/src/nile-grid-cell-item/index.js.map +1 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.d.ts +12 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js +47 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.d.ts +36 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js +93 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js.map +1 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +10 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js +34 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +1 -0
- package/dist/src/nile-grid-head/index.d.ts +1 -0
- package/dist/src/nile-grid-head/index.js +2 -0
- package/dist/src/nile-grid-head/index.js.map +1 -0
- package/dist/src/nile-grid-head/nile-grid-head.css.d.ts +12 -0
- package/dist/src/nile-grid-head/nile-grid-head.css.js +19 -0
- package/dist/src/nile-grid-head/nile-grid-head.css.js.map +1 -0
- package/dist/src/nile-grid-head/nile-grid-head.d.ts +28 -0
- package/dist/src/nile-grid-head/nile-grid-head.js +41 -0
- package/dist/src/nile-grid-head/nile-grid-head.js.map +1 -0
- package/dist/src/nile-grid-head-item/index.d.ts +1 -0
- package/dist/src/nile-grid-head-item/index.js +2 -0
- package/dist/src/nile-grid-head-item/index.js.map +1 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.d.ts +12 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js +46 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.d.ts +37 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.js +100 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.js.map +1 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.d.ts +10 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js +34 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js.map +1 -0
- package/dist/src/nile-grid-row/index.d.ts +1 -0
- package/dist/src/nile-grid-row/index.js +2 -0
- package/dist/src/nile-grid-row/index.js.map +1 -0
- package/dist/src/nile-grid-row/nile-grid-row.css.d.ts +12 -0
- package/dist/src/nile-grid-row/nile-grid-row.css.js +27 -0
- package/dist/src/nile-grid-row/nile-grid-row.css.js.map +1 -0
- package/dist/src/nile-grid-row/nile-grid-row.d.ts +29 -0
- package/dist/src/nile-grid-row/nile-grid-row.js +45 -0
- package/dist/src/nile-grid-row/nile-grid-row.js.map +1 -0
- package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +47 -0
- package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +16 -0
- package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +75 -0
- package/dist/src/nile-menu/portal-manager.d.ts +39 -0
- package/dist/src/nile-menu/portal-manager.js +340 -0
- package/dist/src/nile-menu/portal-manager.js.map +1 -0
- package/dist/src/nile-menu/portal-utils.d.ts +21 -0
- package/dist/src/nile-menu/portal-utils.js +128 -0
- package/dist/src/nile-menu/portal-utils.js.map +1 -0
- package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +22 -0
- package/dist/src/nile-popover/popover-portal-handler.d.ts +21 -0
- package/dist/src/nile-popover/popover-portal-handler.js +106 -0
- package/dist/src/nile-popover/popover-portal-handler.js.map +1 -0
- package/dist/src/nile-portal-wrapper/index.d.ts +1 -0
- package/dist/src/nile-portal-wrapper/index.js +2 -0
- package/dist/src/nile-portal-wrapper/index.js.map +1 -0
- package/dist/src/nile-portal-wrapper/nile-portal-wrapper.d.ts +47 -0
- package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js +451 -0
- package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js.map +1 -0
- package/dist/src/nile-rich-text-editor/utils.d.ts +13 -0
- package/dist/src/nile-rich-text-editor/utils.js +538 -0
- package/dist/src/nile-rich-text-editor/utils.js.map +1 -0
- package/dist/src/nile-select/body-append-manager.d.ts +90 -0
- package/dist/src/nile-select/body-append-manager.js +298 -0
- package/dist/src/nile-select/body-append-manager.js.map +1 -0
- package/dist/src/nile-sidebar/index.d.ts +28 -0
- package/dist/src/nile-sidebar/index.js +116 -0
- package/dist/src/nile-sidebar/index.js.map +1 -0
- package/dist/src/nile-sidebar-menu/index.d.ts +1 -0
- package/dist/src/nile-sidebar-menu/index.js +2 -0
- package/dist/src/nile-sidebar-menu/index.js.map +1 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.d.ts +12 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js +47 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js.map +1 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.d.ts +37 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js +84 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js.map +1 -0
- package/dist/src/nile-sidebar-menu-items/index.d.ts +1 -0
- package/dist/src/nile-sidebar-menu-items/index.js +2 -0
- package/dist/src/nile-sidebar-menu-items/index.js.map +1 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.d.ts +12 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js +45 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js.map +1 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.d.ts +35 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js +78 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js.map +1 -0
- package/dist/src/nile-sidebar-wrapper/index.d.ts +1 -0
- package/dist/src/nile-sidebar-wrapper/index.js +2 -0
- package/dist/src/nile-sidebar-wrapper/index.js.map +1 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.d.ts +12 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js +114 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js.map +1 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.d.ts +35 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js +89 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js.map +1 -0
- package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +9 -0
- package/dist/src/nile-table-body/virtual-scroll-helper.js +24 -0
- package/dist/src/nile-table-body/virtual-scroll-helper.js.map +1 -0
- package/dist/src/nile-virtual-select/body-append-helper.d.ts +16 -0
- package/dist/src/nile-virtual-select/body-append-helper.js +95 -0
- package/dist/src/nile-virtual-select/body-append-helper.js.map +1 -0
- package/dist/src/nile-virtual-select/group-manager.d.ts +32 -0
- package/dist/src/nile-virtual-select/group-manager.js +134 -0
- package/dist/src/nile-virtual-select/group-manager.js.map +1 -0
- package/dist/src/nile-virtual-select/nile-virtual-select.js +1 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
- package/dist/src/nile-virtual-select/portal-manager.js +1 -1
- package/dist/src/nile-virtual-select/portal-manager.js.map +1 -1
- package/dist/src/nile-virtual-select/portal-utils.d.ts +65 -0
- package/dist/src/nile-virtual-select/portal-utils.js +376 -0
- package/dist/src/nile-virtual-select/portal-utils.js.map +1 -0
- package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.d.ts +273 -0
- package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js +1305 -0
- package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js.map +1 -0
- package/dist/src/nile-virtual-select/virtualizer-error-handler.d.ts +21 -0
- package/dist/src/nile-virtual-select/virtualizer-error-handler.js +56 -0
- package/dist/src/nile-virtual-select/virtualizer-error-handler.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/index.d.ts +1 -0
- package/dist/src/nile-virtual-select-disabled/index.js +2 -0
- package/dist/src/nile-virtual-select-disabled/index.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.d.ts +12 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js +538 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.d.ts +299 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js +1441 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.d.ts +7 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js +631 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/portal-manager.d.ts +45 -0
- package/dist/src/nile-virtual-select-disabled/portal-manager.js +333 -0
- package/dist/src/nile-virtual-select-disabled/portal-manager.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/renderer.d.ts +16 -0
- package/dist/src/nile-virtual-select-disabled/renderer.js +79 -0
- package/dist/src/nile-virtual-select-disabled/renderer.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/search-manager.d.ts +12 -0
- package/dist/src/nile-virtual-select-disabled/search-manager.js +40 -0
- package/dist/src/nile-virtual-select-disabled/search-manager.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/selection-manager.d.ts +12 -0
- package/dist/src/nile-virtual-select-disabled/selection-manager.js +64 -0
- package/dist/src/nile-virtual-select-disabled/selection-manager.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/types.d.ts +50 -0
- package/dist/src/nile-virtual-select-disabled/types.js +8 -0
- package/dist/src/nile-virtual-select-disabled/types.js.map +1 -0
- package/dist/src/nile-virtual-table-body/index.d.ts +2 -0
- package/dist/src/nile-virtual-table-body/index.js +3 -0
- package/dist/src/nile-virtual-table-body/index.js.map +1 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +1 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +44 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +1 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +50 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +135 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +1 -0
- package/dist/src/nile-virtual-table-body/renderer.d.ts +16 -0
- package/dist/src/nile-virtual-table-body/renderer.js +49 -0
- package/dist/src/nile-virtual-table-body/renderer.js.map +1 -0
- package/dist/src/utilities/stepper-utils.d.ts +71 -0
- package/dist/src/utilities/stepper-utils.js +108 -0
- package/dist/src/utilities/stepper-utils.js.map +1 -0
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/index.ts +2 -1
- package/src/nile-date-picker/nile-date-picker-utils.ts +105 -0
- package/src/nile-date-picker/nile-date-picker.ts +114 -8
- package/src/nile-floating-panel/anchor-manager.ts +33 -0
- package/src/nile-floating-panel/content-manager.ts +54 -0
- package/src/nile-floating-panel/event-manager.ts +74 -0
- package/src/nile-floating-panel/index.ts +2 -0
- package/src/nile-floating-panel/nile-floating-panel.css.ts +50 -0
- package/src/nile-floating-panel/nile-floating-panel.ts +291 -0
- package/src/nile-floating-panel/position-manager.ts +102 -0
- package/src/nile-floating-panel/style-manager.ts +54 -0
- package/src/nile-floating-panel/types.ts +15 -0
- package/src/nile-virtual-select/nile-virtual-select.ts +1 -1
- package/src/nile-virtual-select/portal-manager.ts +1 -1
- package/vscode-html-custom-data.json +71 -1
|
@@ -3,7 +3,7 @@ import{__decorate as i}from"tslib";import{html as s}from"lit";import{query as e,
|
|
|
3
3
|
* @license
|
|
4
4
|
* Copyright 2021 Google LLC
|
|
5
5
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
6
|
-
*/class k{constructor(i,{target:s,config:e,callback:n,skipInitial:o}){this.t=new Set,this.o=!1,this.i=!1,this.h=i,null!==s&&this.t.add(s??i),this.l=e,this.o=o??this.o,this.callback=n,window.ResizeObserver?(this.u=new ResizeObserver((i=>{this.handleChanges(i),this.h.requestUpdate()})),i.addController(this)):console.warn("ResizeController error: browser does not support ResizeObserver.")}handleChanges(i){this.value=this.callback?.(i,this.u)}hostConnected(){for(const i of this.t)this.observe(i)}hostDisconnected(){this.disconnect()}async hostUpdated(){!this.o&&this.i&&this.handleChanges([]),this.i=!1}observe(i){this.t.add(i),this.u.observe(i,this.l),this.i=!0,this.h.requestUpdate()}unobserve(i){this.t.delete(i),this.u.unobserve(i)}disconnect(){this.u.disconnect()}}let $=class extends u{constructor(){super(...arguments),this.formControlController=new p(this,{assumeInteractionOn:["nile-blur","nile-input"]}),this.hasSlotController=new v(this,"help-text","label"),this.portalManager=new _(this),this.hasFocus=!1,this.displayLabel="",this.selectedOptions=[],this.oldValue="",this.scrolling=!1,this.name="",this.data=[],this.originalOptionItems=[],this.value="",this.defaultValue="",this.size="medium",this.placeholder="Select...",this.autoResize=!1,this.searchValue="",this.searchEnabled=!1,this.enableVisibilityEffect=!1,this.internalSearchPlaceHolder="Search...",this.disableLocalSearch=!1,this.optionsLoading=!1,this.loading=!1,this.multiple=!1,this.helpText="",this.errorMessage="",this.warning=!1,this.error=!1,this.success=!1,this.disabled=!1,this.clearable=!1,this.open=!1,this.hoist=!1,this.filled=!1,this.pill=!1,this.label="",this.placement="bottom",this.form="",this.required=!1,this.showNoResults=!1,this.noResultsMessage="No results found",this.showSelected=!1,this.blockValueChange=!1,this.noWidthSync=!1,this.portal=!1,this.maxOptionsVisible=3,this.oldMaxOptionsVisible=1,this.enableTabClose=!1,this.showListbox=!1,this.wasShowSelectedCheckedOnClose=!1,this.handleDocumentMouseDown=i=>{if(!this.open)return;const s=i.composedPath(),e=s.includes(this),n=this.popup&&s.includes(this.popup),o=this.portal&&this.portalManager.portalContainerElement&&s.includes(this.portalManager.portalContainerElement);e||n||o||this.hide()},this.handleWindowError=i=>{(i.error?.message||i.message||"").includes("Cannot read properties of null (reading 'insertBefore')")&&i.preventDefault()},this.handleWindowResize=()=>{this.portalManager.updatePortalAppendPosition()},this.handleWindowScroll=()=>{this.portalManager.updatePortalAppendPosition()},this.resizeController=new k(this,{callback:i=>{for(const s of i)s.target.classList.contains("select__tags")&&this.calculateTotalWidthOfTags()}})}get validity(){return this.valueInput?.validity}get validationMessage(){return this.valueInput?.validationMessage??""}connectedCallback(){super.connectedCallback(),this.initializeComponent(),this.setupEventListeners(),this.updateComplete.then((()=>{this.value&&this.data.length>0&&this.selectionChanged()}))}disconnectedCallback(){this.removeOpenListeners(),this.visibilityManager?.cleanup(),this.scrollTimeout&&(clearTimeout(this.scrollTimeout),this.scrollTimeout=void 0),this.portalManager.cleanupPortalAppend()}updated(i){if(i.has("value")&&this.selectionChanged(),i.has("autoResize")){const i=this.shadowRoot?.querySelector(".select__tags");this.autoResize&&i?this.resizeController.observe(i):i&&this.resizeController.unobserve(i)}}initializeComponent(){this.open=!1,this.emit("nile-init")}getDisplayText(i){return this.renderItemConfig?.getDisplayText?this.renderItemConfig.getDisplayText(i):i?.label||i?.name||i?.toString()||""}getItemValue(i){return this.renderItemConfig?.getValue?this.renderItemConfig.getValue(i):i?.value||i}getSearchText(i){return this.renderItemConfig?.getSearchText?this.renderItemConfig.getSearchText(i):this.getDisplayText(i)}setupEventListeners(){this.handleDocumentFocusIn=this.handleDocumentFocusIn.bind(this),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.handleWindowError=this.handleWindowError.bind(this),this.handleWindowResize=this.handleWindowResize.bind(this),this.handleWindowScroll=this.handleWindowScroll.bind(this)}addOpenListeners(){document.addEventListener("focusin",this.handleDocumentFocusIn),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown),window.addEventListener("error",this.handleWindowError),this.portal&&(window.addEventListener("resize",this.handleWindowResize),window.addEventListener("scroll",this.handleWindowScroll,!0))}removeOpenListeners(){document.removeEventListener("focusin",this.handleDocumentFocusIn),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown),window.removeEventListener("error",this.handleWindowError),window.removeEventListener("resize",this.handleWindowResize),window.removeEventListener("scroll",this.handleWindowScroll,!0)}handleFocus(){this.hasFocus=!0,this.emit("nile-focus")}handleBlur(){this.hasFocus=!1,this.emit("nile-blur")}firstUpdated(i){this.visibilityManager=new x({host:this,target:this.combobox,enableVisibilityEffect:this.enableVisibilityEffect,enableTabClose:this.enableTabClose,isOpen:()=>this.open,onAnchorOutOfView:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"anchor-out-of-view",name:this.name})},onDocumentHidden:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"document-hidden",name:this.name})},emit:(i,s)=>this.emit(`nile-${i}`,s)})}handleDocumentFocusIn(i){if(!this.open)return;const s=i.composedPath(),e=s.includes(this),n=this.popup&&s.includes(this.popup),o=this.portal&&this.portalManager.portalContainerElement&&s.includes(this.portalManager.portalContainerElement);e||n||o||this.hide()}handleDocumentKeyDown(i){this.shouldIgnoreKeyPress(i)||(this.isEscapeKey(i)&&this.handleEscapeKey(i),this.isEnterOrSpaceKey(i)&&this.handleEnterOrSpaceKey(i))}shouldIgnoreKeyPress(i){const s=i.target,e=null!==s.closest(".select__clear"),n=null!==s.closest("nile-icon-button");return e||n}isEscapeKey(i){return"Escape"===i.key&&this.open}handleEscapeKey(i){i.preventDefault(),i.stopPropagation(),this.hide(),this.displayInput.focus({preventScroll:!0})}isEnterOrSpaceKey(i){return"Enter"===i.key||" "===i.key}handleEnterOrSpaceKey(i){i.preventDefault(),i.stopImmediatePropagation(),this.open?this.multiple||(this.hide(),this.displayInput.focus({preventScroll:!0})):this.show()}handleFooterClick(i){i.stopPropagation(),i.preventDefault()}toggleShowSelected(i){if(i.stopPropagation(),i.preventDefault(),0!==this.selectedOptions?.length){if(this.showSelected=!this.showSelected,this.showSelected){this.searchValue="";const i=Array.isArray(this.value)?this.value:[this.value];this.data=this.originalOptionItems.filter((s=>{const e=this.getItemValue(s);return i.some((i=>String(i)===String(e)))}))}else this.data=[...this.originalOptionItems];this.portalManager.resetMeasuredHeight(),this.requestUpdate(),this.repaintOptionsContainer()}}unSelectAll(){this.showSelected=!1,this.value=this.multiple?[]:"",this.data=[...this.originalOptionItems],this.selectionChanged(),this.emit("nile-change",{value:this.value,name:this.name}),this.emit("nile-clear",{value:this.multiple?this.value:"",name:this.name}),this.resetScrollPosition()}handleLabelClick(){this.displayInput.focus(),this.hide()}handleComboboxMouseDown(i){this.shouldIgnoreComboboxClick(i)||(i.preventDefault(),this.displayInput.focus({preventScroll:!0}),this.open=!this.open)}shouldIgnoreComboboxClick(i){const s=i.composedPath().some((i=>i instanceof Element&&"nile-icon-button"===i.tagName.toLowerCase()));return this.disabled||s}handleComboboxKeyDown(i){this.isEnterOrSpaceKey(i)&&(i.preventDefault(),this.open=!this.open)}handleClearClick(i){i.stopPropagation(),this.clearSelection()}clearSelection(){this.value,this.value=this.multiple?[]:"",this.selectionChanged(),this.updateComplete.then((()=>{this.nileInput({value:this.value,name:this.name}),this.nileChange({value:this.value,name:this.name}),this.emit("nile-clear")}))}handleClearMouseDown(i){i.stopPropagation()}handleOptionClick(i){const s=i.target.closest("nile-option");if(this.shouldBlockValueChange(s))return;const e=this.value;this.oldValue=e,s&&!s.disabled&&this.handleOptionSelection(s)}shouldBlockValueChange(i){return!(!this.blockValueChange||!i)&&(this.emit("nile-block-change",{value:i?.value,name:this.name}),this.hide(),!0)}handleOptionSelection(i){const s=i.value;this.multiple?this.toggleOptionSelection(s):this.setSelectedOptions(s),this.updateComplete.then((()=>this.displayInput.focus({preventScroll:!0}))),this.value!==this.oldValue&&this.updateComplete.then((()=>{this.nileInput({value:this.value,name:this.name}),this.nileChange({value:this.value,name:this.name})})),this.multiple||(this.hide(),this.displayInput.focus({preventScroll:!0}))}setSelectedOptions(i){this.value=i,this.selectionChanged()}toggleOptionSelection(i){const s=Array.isArray(this.value)?this.value:[];s.includes(i)?this.value=s.filter((s=>s!==i)):this.value=[...s,i],this.selectionChanged()}handleTagRemove(i,s){i.stopPropagation(),this.disabled||(this.removeTagFromSelection(s),this.emitTagRemovalEvent(s))}removeTagFromSelection(i){let s=this.value;Array.isArray(s)||(s=s?[s]:[]);const e=s.filter((s=>s!==i.value));this.value=e,this.selectionChanged()}emitTagRemovalEvent(i){this.updateComplete.then((()=>{this.nileInput({value:this.value,name:this.name}),this.nileChange({value:this.value,name:this.name}),this.emit("nile-tag-remove",{value:this.value,name:this.name,removedtagvalue:i.value})}))}selectionChanged(){const i=this.originalOptionItems.length>0?this.originalOptionItems:this.data;if(this.selectedOptions=b.createVirtualOptionsFromValues(this.value,i,this.getDisplayText.bind(this),this.renderItemConfig?.getValue),this.multiple)this.placeholder&&0===this.value.length?this.displayLabel="":this.displayLabel=this.selectedOptions.length+" selected";else{const i=Array.isArray(this.value)?this.value[0]:this.value,s=this.selectedOptions[0]?.getTextLabel();this.displayLabel=s||(i??"")}this.updateValidity(),0===this.selectedOptions.length&&(this.showSelected=!1,this.originalOptionItems?.length>0&&!this.searchValue&&(this.data=[...this.originalOptionItems]),this.repaintOptionsContainer()),this.calculateTotalWidthOfTags()}handleSearchFocus(){document.removeEventListener("keydown",this.handleDocumentKeyDown)}handleSearchBlur(){document.addEventListener("keydown",this.handleDocumentKeyDown)}handleSearchChange(i){this.searchValue=i.detail.value,this.portal&&this.portalManager.updatePortalAppendPosition(),this.emit("nile-search",{query:this.searchValue,name:this.name}),this.disableLocalSearch||(this.filterVirtualOptions(this.searchValue),this.repaintOptionsContainer(),this.portalManager.resetMeasuredHeight())}repaintOptionsContainer(){this.resetScrollPosition(),this.updateComplete.then((()=>{const i=this.shadowRoot?.querySelector(".virtualized");i&&(this.data.length<=5?i.classList.add("no-scroll"):i.classList.remove("no-scroll"))}))}handleScroll(i){if(this.showSelected)return;const s=i.target;this.emit("nile-scroll",{scrollTop:s.scrollTop,scrollLeft:s.scrollLeft,name:this.name}),this.scrolling||(this.scrolling=!0,this.emit("nile-scroll-start",{scrollTop:s.scrollTop,scrollLeft:s.scrollLeft,name:this.name})),clearTimeout(this.scrollTimeout),this.scrollTimeout=window.setTimeout((()=>{this.scrolling&&(this.scrolling=!1)}),300);Math.ceil(s.scrollTop)>=Math.floor(s.scrollHeight-s.offsetHeight)&&!this.searchValue&&this.emit("nile-scroll-end",{scrollTop:s.scrollTop,scrollLeft:s.scrollLeft,name:this.name,isAtBottom:!0})}filterVirtualOptions(i){const s=w.filterVirtualOptions(i,this.originalOptionItems,this.data,this.getDisplayText.bind(this),this.renderItemConfig?.getSearchText);this.portal?(this.portalManager.updatePortalAppendPosition(),this.updateComplete.then((()=>{requestAnimationFrame((()=>{this.resetScrollPosition()}))}))):this.resetScrollPosition(),this.data=s.filteredItems,this.showNoResults=s.showNoResults,this.showSelected=!1,this.requestUpdate()}handleInvalid(i){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(i)}handleDisabledChange(){this.disabled&&(this.open=!1,this.handleOpenChange())}handleValueChange(){this.selectionChanged(),this.requestUpdate(),this.portal&&this.portalManager.portalContainerElement&&this.portalManager.updatePortalAppendPosition()}handleDataChange(){this.data.length>0&&this.open&&!this.showSelected&&!this.searchValue&&(this.originalOptionItems=[...this.data]),this.selectionChanged(),this.optionsLoading||this.loading||0!==this.data.length?this.data.length>0&&(this.showNoResults=!1):this.showNoResults=!0,this.requestUpdate(),this.portalManager.resetMeasuredHeight(),this.portal&&this.portalManager.portalContainerElement&&this.portalManager.updatePortalAppendPosition()}handleRenderItemConfigChange(){this.value&&this.data.length>0&&(this.selectionChanged(),this.requestUpdate())}handleOptionsLoadingChange(){this.optionsLoading||0!==this.data.length||(this.showNoResults=!0),this.requestUpdate(),this.portal&&this.portalManager.portalContainerElement&&this.portalManager.updatePortalAppendPosition()}handlePortalAppendChange(){this.open&&(this.portal?this.portalManager.setupPortalAppend():this.portalManager.cleanupPortalAppend())}async handleOpenChange(){this.open&&!this.disabled?(this.visibilityManager?.setup(),this.showListbox=!0,await this.updateComplete,await this.handleOpen(),this.portal&&this.portalManager.setupPortalAppend()):(this.visibilityManager?.cleanup(),await this.handleClose(),this.showListbox=!1,this.portal&&this.portalManager.cleanupPortalAppend())}async handleOpen(){this.emit("nile-show",{value:this.value,name:this.name}),this.addOpenListeners(),this.showNoResults=!this.data?.length,await r(this),this.popup?.popup&&(this.popup.popup.style.visibility="hidden"),this.popup.active=!0,await new Promise((i=>requestAnimationFrame(i))),await new Promise((i=>requestAnimationFrame(i))),this.popup?.popup&&(this.popup.popup.style.visibility="");const{keyframes:i,options:s}=h(this,"select.show",{dir:"ltr"});await l(this.popup.popup,i,s),this.wasShowSelectedCheckedOnClose&&(this.showSelected=!1,this.data=[...this.originalOptionItems],this.wasShowSelectedCheckedOnClose=!1),this.filterVirtualOptions(""),this.resetScrollPosition(),this.emit("nile-after-show",{value:this.value,name:this.name})}async handleClose(){this.emit("nile-hide",{value:this.value,name:this.name}),this.removeOpenListeners(),this.wasShowSelectedCheckedOnClose=this.showSelected,await r(this);const{keyframes:i,options:s}=h(this,"select.hide",{dir:"ltr"});await l(this.popup.popup,i,s),this.popup.active=!1,this.popup?.popup&&(this.popup.popup.style.visibility=""),this.searchValue="",this.portalManager.resetMeasuredHeight(),this.emit("nile-after-hide",{value:this.value,name:this.name})}async show(){if(!this.open&&!this.disabled)return this.open=!0,j(this,"nile-after-show");this.open=!1}async hide(){if(this.open&&!this.disabled)return this.open=!1,j(this,"nile-after-hide");this.open=!1}checkValidity(){return this.valueInput.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return this.valueInput.reportValidity()}setCustomValidity(i){this.valueInput.setCustomValidity(i),this.formControlController.updateValidity()}focus(i){this.displayInput.focus(i)}blur(){this.displayInput.blur()}onInputChange(i){i.stopPropagation()}render(){const i=this.hasSlotController.test("label");this.hasSlotController.test("help-text");const e=this.hasSlotController.test("label-suffix"),n=this.hasSlotController.test("custom-select"),o=!!this.label||!!i,t=this.clearable&&!this.disabled&&this.value.length>0,c=!!this.placeholder&&0===this.value.length,r=!!this.helpText,l=!!this.errorMessage;return s`
|
|
6
|
+
*/class k{constructor(i,{target:s,config:e,callback:n,skipInitial:o}){this.t=new Set,this.o=!1,this.i=!1,this.h=i,null!==s&&this.t.add(s??i),this.l=e,this.o=o??this.o,this.callback=n,window.ResizeObserver?(this.u=new ResizeObserver((i=>{this.handleChanges(i),this.h.requestUpdate()})),i.addController(this)):console.warn("ResizeController error: browser does not support ResizeObserver.")}handleChanges(i){this.value=this.callback?.(i,this.u)}hostConnected(){for(const i of this.t)this.observe(i)}hostDisconnected(){this.disconnect()}async hostUpdated(){!this.o&&this.i&&this.handleChanges([]),this.i=!1}observe(i){this.t.add(i),this.u.observe(i,this.l),this.i=!0,this.h.requestUpdate()}unobserve(i){this.t.delete(i),this.u.unobserve(i)}disconnect(){this.u.disconnect()}}let $=class extends u{constructor(){super(...arguments),this.formControlController=new p(this,{assumeInteractionOn:["nile-blur","nile-input"]}),this.hasSlotController=new v(this,"help-text","label"),this.portalManager=new _(this),this.hasFocus=!1,this.displayLabel="",this.selectedOptions=[],this.oldValue="",this.scrolling=!1,this.name="",this.data=[],this.originalOptionItems=[],this.value="",this.defaultValue="",this.size="medium",this.placeholder="Select...",this.autoResize=!1,this.searchValue="",this.searchEnabled=!1,this.enableVisibilityEffect=!1,this.internalSearchPlaceHolder="Search...",this.disableLocalSearch=!1,this.optionsLoading=!1,this.loading=!1,this.multiple=!1,this.helpText="",this.errorMessage="",this.warning=!1,this.error=!1,this.success=!1,this.disabled=!1,this.clearable=!1,this.open=!1,this.hoist=!1,this.filled=!1,this.pill=!1,this.label="",this.placement="bottom",this.form="",this.required=!1,this.showNoResults=!1,this.noResultsMessage="No results found",this.showSelected=!1,this.blockValueChange=!1,this.noWidthSync=!1,this.portal=!1,this.maxOptionsVisible=3,this.oldMaxOptionsVisible=1,this.enableTabClose=!1,this.showListbox=!1,this.wasShowSelectedCheckedOnClose=!1,this.handleDocumentMouseDown=i=>{if(!this.open)return;const s=i.composedPath(),e=s.includes(this),n=this.popup&&s.includes(this.popup),o=this.portal&&this.portalManager.portalContainerElement&&s.includes(this.portalManager.portalContainerElement);e||n||o||this.hide()},this.handleWindowError=i=>{(i.error?.message||i.message||"").includes("Cannot read properties of null (reading 'insertBefore')")&&i.preventDefault()},this.handleWindowResize=()=>{this.portalManager.updatePortalAppendPosition()},this.handleWindowScroll=()=>{this.portalManager.updatePortalAppendPosition()},this.resizeController=new k(this,{callback:i=>{for(const s of i)s.target.classList.contains("select__tags")&&this.calculateTotalWidthOfTags()}})}get validity(){return this.valueInput?.validity}get validationMessage(){return this.valueInput?.validationMessage??""}connectedCallback(){super.connectedCallback(),this.initializeComponent(),this.setupEventListeners(),this.updateComplete.then((()=>{this.value&&this.data.length>0&&this.selectionChanged()}))}disconnectedCallback(){this.removeOpenListeners(),this.visibilityManager?.cleanup(),this.scrollTimeout&&(clearTimeout(this.scrollTimeout),this.scrollTimeout=void 0),this.portalManager.cleanupPortalAppend()}updated(i){if(i.has("value")&&this.selectionChanged(),i.has("autoResize")){const i=this.shadowRoot?.querySelector(".select__tags");this.autoResize&&i?this.resizeController.observe(i):i&&this.resizeController.unobserve(i)}}initializeComponent(){this.open=!1,this.emit("nile-init")}getDisplayText(i){return this.renderItemConfig?.getDisplayText?this.renderItemConfig.getDisplayText(i):i?.label||i?.name||i?.toString()||""}getItemValue(i){return this.renderItemConfig?.getValue?this.renderItemConfig.getValue(i):i?.value||i}getSearchText(i){return this.renderItemConfig?.getSearchText?this.renderItemConfig.getSearchText(i):this.getDisplayText(i)}setupEventListeners(){this.handleDocumentFocusIn=this.handleDocumentFocusIn.bind(this),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.handleWindowError=this.handleWindowError.bind(this),this.handleWindowResize=this.handleWindowResize.bind(this),this.handleWindowScroll=this.handleWindowScroll.bind(this)}addOpenListeners(){document.addEventListener("focusin",this.handleDocumentFocusIn),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown),window.addEventListener("error",this.handleWindowError),this.portal&&(window.addEventListener("resize",this.handleWindowResize),window.addEventListener("scroll",this.handleWindowScroll,!0))}removeOpenListeners(){document.removeEventListener("focusin",this.handleDocumentFocusIn),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown),window.removeEventListener("error",this.handleWindowError),window.removeEventListener("resize",this.handleWindowResize),window.removeEventListener("scroll",this.handleWindowScroll,!0)}handleFocus(){this.hasFocus=!0,this.emit("nile-focus")}handleBlur(){this.hasFocus=!1,this.emit("nile-blur")}firstUpdated(i){this.visibilityManager=new x({host:this,target:this.combobox,enableVisibilityEffect:this.enableVisibilityEffect,enableTabClose:this.enableTabClose,isOpen:()=>this.open,onAnchorOutOfView:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"anchor-out-of-view",name:this.name})},onDocumentHidden:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"document-hidden",name:this.name})},emit:(i,s)=>this.emit(`nile-${i}`,s)})}handleDocumentFocusIn(i){if(!this.open)return;const s=i.composedPath(),e=s.includes(this),n=this.popup&&s.includes(this.popup),o=this.portal&&this.portalManager.portalContainerElement&&s.includes(this.portalManager.portalContainerElement);e||n||o||this.hide()}handleDocumentKeyDown(i){this.shouldIgnoreKeyPress(i)||(this.isEscapeKey(i)&&this.handleEscapeKey(i),this.isEnterOrSpaceKey(i)&&this.handleEnterOrSpaceKey(i))}shouldIgnoreKeyPress(i){const s=i.target,e=null!==s.closest(".select__clear"),n=null!==s.closest("nile-icon-button");return e||n}isEscapeKey(i){return"Escape"===i.key&&this.open}handleEscapeKey(i){i.preventDefault(),i.stopPropagation(),this.hide(),this.displayInput.focus({preventScroll:!0})}isEnterOrSpaceKey(i){return"Enter"===i.key||" "===i.key}handleEnterOrSpaceKey(i){i.preventDefault(),i.stopImmediatePropagation(),this.open?this.multiple||(this.hide(),this.displayInput.focus({preventScroll:!0})):this.show()}handleFooterClick(i){i.stopPropagation(),i.preventDefault()}toggleShowSelected(i){if(i.stopPropagation(),i.preventDefault(),0!==this.selectedOptions?.length){if(this.showSelected=!this.showSelected,this.showSelected){this.searchValue="";const i=Array.isArray(this.value)?this.value:[this.value];this.data=this.originalOptionItems.filter((s=>{const e=this.getItemValue(s);return i.some((i=>String(i)===String(e)))}))}else this.data=[...this.originalOptionItems];this.portalManager.resetMeasuredHeight(),this.requestUpdate(),this.repaintOptionsContainer()}}unSelectAll(){this.showSelected=!1,this.value=this.multiple?[]:"",this.data=[...this.originalOptionItems],this.selectionChanged(),this.emit("nile-change",{value:this.value,name:this.name}),this.emit("nile-clear",{value:this.multiple?this.value:"",name:this.name}),this.resetScrollPosition()}handleLabelClick(){this.displayInput.focus(),this.hide()}handleComboboxMouseDown(i){this.shouldIgnoreComboboxClick(i)||(i.preventDefault(),this.displayInput.focus({preventScroll:!0}),this.open=!this.open)}shouldIgnoreComboboxClick(i){const s=i.composedPath().some((i=>i instanceof Element&&"nile-icon-button"===i.tagName.toLowerCase()));return this.disabled||s}handleComboboxKeyDown(i){this.isEnterOrSpaceKey(i)&&(i.preventDefault(),this.open=!this.open)}handleClearClick(i){i.stopPropagation(),this.clearSelection()}clearSelection(){this.value,this.value=this.multiple?[]:"",this.selectionChanged(),this.updateComplete.then((()=>{this.nileInput({value:this.value,name:this.name}),this.nileChange({value:this.value,name:this.name}),this.emit("nile-clear")}))}handleClearMouseDown(i){i.stopPropagation()}handleOptionClick(i){const s=i.target.closest("nile-option");if(this.shouldBlockValueChange(s))return;const e=this.value;this.oldValue=e,s&&!s.disabled&&this.handleOptionSelection(s)}shouldBlockValueChange(i){return!(!this.blockValueChange||!i)&&(this.emit("nile-block-change",{value:i?.value,name:this.name}),this.hide(),!0)}handleOptionSelection(i){const s=i.value;this.multiple?this.toggleOptionSelection(s):this.setSelectedOptions(s),this.updateComplete.then((()=>this.displayInput.focus({preventScroll:!0}))),this.value!==this.oldValue&&this.updateComplete.then((()=>{this.nileInput({value:this.value,name:this.name}),this.nileChange({value:this.value,name:this.name})})),this.multiple||(this.hide(),this.displayInput.focus({preventScroll:!0}))}setSelectedOptions(i){this.value=i,this.selectionChanged()}toggleOptionSelection(i){const s=Array.isArray(this.value)?this.value:[];s.includes(i)?this.value=s.filter((s=>s!==i)):this.value=[...s,i],this.selectionChanged()}handleTagRemove(i,s){i.stopPropagation(),this.disabled||(this.removeTagFromSelection(s),this.emitTagRemovalEvent(s))}removeTagFromSelection(i){let s=this.value;Array.isArray(s)||(s=s?[s]:[]);const e=s.filter((s=>s!==i.value));this.value=e,this.selectionChanged()}emitTagRemovalEvent(i){this.updateComplete.then((()=>{this.nileInput({value:this.value,name:this.name}),this.nileChange({value:this.value,name:this.name}),this.emit("nile-tag-remove",{value:this.value,name:this.name,removedtagvalue:i.value})}))}selectionChanged(){const i=this.originalOptionItems.length>0?this.originalOptionItems:this.data;if(this.selectedOptions=b.createVirtualOptionsFromValues(this.value,i,this.getDisplayText.bind(this),this.renderItemConfig?.getValue),this.multiple)this.placeholder&&0===this.value.length?this.displayLabel="":this.displayLabel=this.selectedOptions.length+" selected";else{const i=Array.isArray(this.value)?this.value[0]:this.value,s=this.selectedOptions[0]?.getTextLabel();this.displayLabel=s||(i??"")}this.updateValidity(),0===this.selectedOptions.length&&(this.showSelected=!1,this.originalOptionItems?.length>0&&!this.searchValue&&(this.data=[...this.originalOptionItems]),this.repaintOptionsContainer()),this.calculateTotalWidthOfTags()}handleSearchFocus(){document.removeEventListener("keydown",this.handleDocumentKeyDown)}handleSearchBlur(){document.addEventListener("keydown",this.handleDocumentKeyDown)}handleSearchChange(i){this.searchValue=i.detail.value,this.portal&&this.portalManager.updatePortalAppendPosition(),this.emit("nile-search",{query:this.searchValue,name:this.name}),this.disableLocalSearch||(this.filterVirtualOptions(this.searchValue),this.repaintOptionsContainer(),this.portalManager.resetMeasuredHeight())}repaintOptionsContainer(){this.resetScrollPosition(),this.updateComplete.then((()=>{const i=this.shadowRoot?.querySelector(".virtualized");i&&(this.data.length<5?i.classList.add("no-scroll"):i.classList.remove("no-scroll"))}))}handleScroll(i){if(this.showSelected)return;const s=i.target;this.emit("nile-scroll",{scrollTop:s.scrollTop,scrollLeft:s.scrollLeft,name:this.name}),this.scrolling||(this.scrolling=!0,this.emit("nile-scroll-start",{scrollTop:s.scrollTop,scrollLeft:s.scrollLeft,name:this.name})),clearTimeout(this.scrollTimeout),this.scrollTimeout=window.setTimeout((()=>{this.scrolling&&(this.scrolling=!1)}),300);Math.ceil(s.scrollTop)>=Math.floor(s.scrollHeight-s.offsetHeight)&&!this.searchValue&&this.emit("nile-scroll-end",{scrollTop:s.scrollTop,scrollLeft:s.scrollLeft,name:this.name,isAtBottom:!0})}filterVirtualOptions(i){const s=w.filterVirtualOptions(i,this.originalOptionItems,this.data,this.getDisplayText.bind(this),this.renderItemConfig?.getSearchText);this.portal?(this.portalManager.updatePortalAppendPosition(),this.updateComplete.then((()=>{requestAnimationFrame((()=>{this.resetScrollPosition()}))}))):this.resetScrollPosition(),this.data=s.filteredItems,this.showNoResults=s.showNoResults,this.showSelected=!1,this.requestUpdate()}handleInvalid(i){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(i)}handleDisabledChange(){this.disabled&&(this.open=!1,this.handleOpenChange())}handleValueChange(){this.selectionChanged(),this.requestUpdate(),this.portal&&this.portalManager.portalContainerElement&&this.portalManager.updatePortalAppendPosition()}handleDataChange(){this.data.length>0&&this.open&&!this.showSelected&&!this.searchValue&&(this.originalOptionItems=[...this.data]),this.selectionChanged(),this.optionsLoading||this.loading||0!==this.data.length?this.data.length>0&&(this.showNoResults=!1):this.showNoResults=!0,this.requestUpdate(),this.portalManager.resetMeasuredHeight(),this.portal&&this.portalManager.portalContainerElement&&this.portalManager.updatePortalAppendPosition()}handleRenderItemConfigChange(){this.value&&this.data.length>0&&(this.selectionChanged(),this.requestUpdate())}handleOptionsLoadingChange(){this.optionsLoading||0!==this.data.length||(this.showNoResults=!0),this.requestUpdate(),this.portal&&this.portalManager.portalContainerElement&&this.portalManager.updatePortalAppendPosition()}handlePortalAppendChange(){this.open&&(this.portal?this.portalManager.setupPortalAppend():this.portalManager.cleanupPortalAppend())}async handleOpenChange(){this.open&&!this.disabled?(this.visibilityManager?.setup(),this.showListbox=!0,await this.updateComplete,await this.handleOpen(),this.portal&&this.portalManager.setupPortalAppend()):(this.visibilityManager?.cleanup(),await this.handleClose(),this.showListbox=!1,this.portal&&this.portalManager.cleanupPortalAppend())}async handleOpen(){this.emit("nile-show",{value:this.value,name:this.name}),this.addOpenListeners(),this.showNoResults=!this.data?.length,await r(this),this.popup?.popup&&(this.popup.popup.style.visibility="hidden"),this.popup.active=!0,await new Promise((i=>requestAnimationFrame(i))),await new Promise((i=>requestAnimationFrame(i))),this.popup?.popup&&(this.popup.popup.style.visibility="");const{keyframes:i,options:s}=h(this,"select.show",{dir:"ltr"});await l(this.popup.popup,i,s),this.wasShowSelectedCheckedOnClose&&(this.showSelected=!1,this.data=[...this.originalOptionItems],this.wasShowSelectedCheckedOnClose=!1),this.filterVirtualOptions(""),this.resetScrollPosition(),this.emit("nile-after-show",{value:this.value,name:this.name})}async handleClose(){this.emit("nile-hide",{value:this.value,name:this.name}),this.removeOpenListeners(),this.wasShowSelectedCheckedOnClose=this.showSelected,await r(this);const{keyframes:i,options:s}=h(this,"select.hide",{dir:"ltr"});await l(this.popup.popup,i,s),this.popup.active=!1,this.popup?.popup&&(this.popup.popup.style.visibility=""),this.searchValue="",this.portalManager.resetMeasuredHeight(),this.emit("nile-after-hide",{value:this.value,name:this.name})}async show(){if(!this.open&&!this.disabled)return this.open=!0,j(this,"nile-after-show");this.open=!1}async hide(){if(this.open&&!this.disabled)return this.open=!1,j(this,"nile-after-hide");this.open=!1}checkValidity(){return this.valueInput.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return this.valueInput.reportValidity()}setCustomValidity(i){this.valueInput.setCustomValidity(i),this.formControlController.updateValidity()}focus(i){this.displayInput.focus(i)}blur(){this.displayInput.blur()}onInputChange(i){i.stopPropagation()}render(){const i=this.hasSlotController.test("label");this.hasSlotController.test("help-text");const e=this.hasSlotController.test("label-suffix"),n=this.hasSlotController.test("custom-select"),o=!!this.label||!!i,t=this.clearable&&!this.disabled&&this.value.length>0,c=!!this.placeholder&&0===this.value.length,r=!!this.helpText,l=!!this.errorMessage;return s`
|
|
7
7
|
<div
|
|
8
8
|
part="form-control"
|
|
9
9
|
class=${m({"form-control":!0,"form-control--small":"small"===this.size,"form-control--medium":"medium"===this.size,"form-control--large":"large"===this.size,"form-control--has-label":o,"form-control--has-help-text":r})}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
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);}System.register(["../fixture-1c49c014.cjs.js","lit/static-html.js","lit/html.js","lit/directive-helpers.js","lit","lit/directives/unsafe-html.js"],function(_export,_context){"use strict";var t,e,l,_templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,_templateObject6,_templateObject7,_templateObject8,_templateObject9,_templateObject10,_templateObject11,_templateObject12,_templateObject13,_templateObject14,_templateObject15,_templateObject16,_templateObject17,_templateObject18,_templateObject19,_templateObject20,_templateObject21,_templateObject22,_templateObject23;function _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */_regeneratorRuntime=function _regeneratorRuntime(){return e;};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value;},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function define(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e];}try{define({},"");}catch(t){define=function define(t,e,r){return t[e]=r;};}function wrap(t,e,r,n){var i=e&&e.prototype instanceof Generator?e:Generator,a=Object.create(i.prototype),c=new Context(n||[]);return o(a,"_invoke",{value:makeInvokeMethod(t,r,c)}),a;}function tryCatch(t,e,r){try{return{type:"normal",arg:t.call(e,r)};}catch(t){return{type:"throw",arg:t};}}e.wrap=wrap;var h="suspendedStart",l="suspendedYield",f="executing",s="completed",y={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var p={};define(p,a,function(){return this;});var d=Object.getPrototypeOf,v=d&&d(d(values([])));v&&v!==r&&n.call(v,a)&&(p=v);var g=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(p);function defineIteratorMethods(t){["next","throw","return"].forEach(function(e){define(t,e,function(t){return this._invoke(e,t);});});}function AsyncIterator(t,e){function invoke(r,o,i,a){var c=tryCatch(t[r],t,o);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==_typeof(h)&&n.call(h,"__await")?e.resolve(h.__await).then(function(t){invoke("next",t,i,a);},function(t){invoke("throw",t,i,a);}):e.resolve(h).then(function(t){u.value=t,i(u);},function(t){return invoke("throw",t,i,a);});}a(c.arg);}var r;o(this,"_invoke",{value:function value(t,n){function callInvokeWithMethodAndArg(){return new e(function(e,r){invoke(t,n,e,r);});}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg();}});}function makeInvokeMethod(e,r,n){var o=h;return function(i,a){if(o===f)throw Error("Generator is already running");if(o===s){if("throw"===i)throw a;return{value:t,done:!0};}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=maybeInvokeDelegate(c,n);if(u){if(u===y)continue;return u;}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=s,n.arg;n.dispatchException(n.arg);}else"return"===n.method&&n.abrupt("return",n.arg);o=f;var p=tryCatch(e,r,n);if("normal"===p.type){if(o=n.done?s:l,p.arg===y)continue;return{value:p.arg,done:n.done};}"throw"===p.type&&(o=s,n.method="throw",n.arg=p.arg);}};}function maybeInvokeDelegate(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator["return"]&&(r.method="return",r.arg=t,maybeInvokeDelegate(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=tryCatch(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y);}function pushTryEntry(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e);}function resetTryEntry(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e;}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0);}function values(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function next(){for(;++o<e.length;)if(n.call(e,o))return next.value=e[o],next.done=!1,next;return next.value=t,next.done=!0,next;};return i.next=i;}}throw new TypeError(_typeof(e)+" is not iterable");}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(g,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===GeneratorFunction||"GeneratorFunction"===(e.displayName||e.name));},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,u,"GeneratorFunction")),t.prototype=Object.create(g),t;},e.awrap=function(t){return{__await:t};},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,c,function(){return this;}),e.AsyncIterator=AsyncIterator,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new AsyncIterator(wrap(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next();});},defineIteratorMethods(g),define(g,u,"Generator"),define(g,a,function(){return this;}),define(g,"toString",function(){return"[object Generator]";}),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in e)return next.value=t,next.done=!1,next;}return next.done=!0,next;};},e.values=values,Context.prototype={constructor:Context,reset:function reset(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t);},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval;},dispatchException:function dispatchException(e){if(this.done)throw e;var r=this;function handle(n,o){return a.type="throw",a.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o;}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return handle("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}else if(c){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}}}},abrupt:function abrupt(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break;}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a);},complete:function complete(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y;},finish:function finish(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),y;}},"catch":function _catch(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;resetTryEntry(r);}return o;}}throw Error("illegal catch attempt");},delegateYield:function delegateYield(e,r,n){return this.delegate={iterator:values(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y;}},e;}function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value;}catch(n){return void e(n);}i.done?t(u):Promise.resolve(u).then(r,o);}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n);}function _throw(n){asyncGeneratorStep(a,r,o,_next,_throw,"throw",n);}_next(void 0);});};}return{setters:[function(_fixture005CjsJs){t=_fixture005CjsJs.f;e=_fixture005CjsJs.a;},function(_litStaticHtmlJs){l=_litStaticHtmlJs.html;},function(_litHtmlJs){},function(_litDirectiveHelpersJs){},function(_lit){},function(_litDirectivesUnsafeHtmlJs){}],execute:function execute(){describe("<nile-virtual-select>",function(){describe("maxOptionsVisible functionality",function(){it('should show "+n More" when more options are selected than maxOptionsVisible',/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){var _i$shadowRoot,_o$textContent;var i,o;return _regeneratorRuntime().wrap(function _callee$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=2;return t(l(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <nile-virtual-select multiple max-options-visible=\"2\">\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context2.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"},{value:"option-4",label:"Option 4"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.value=["option-1","option-2","option-3"];_context2.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot=i.shadowRoot)===null||_i$shadowRoot===void 0?void 0:_i$shadowRoot.querySelector(".select__tags-count");e(o).to.exist,e(o===null||o===void 0||(_o$textContent=o.textContent)===null||_o$textContent===void 0?void 0:_o$textContent.trim()).to.equal("+1 More");case 10:case"end":return _context2.stop();}},_callee);}))),it('should not show "+n More" when selected options are within maxOptionsVisible limit',/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(){var _i$shadowRoot2;var i,o;return _regeneratorRuntime().wrap(function _callee2$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=2;return t(l(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n <nile-virtual-select multiple max-options-visible=\"3\">\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context3.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.value=["option-1","option-2"];_context3.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot2=i.shadowRoot)===null||_i$shadowRoot2===void 0?void 0:_i$shadowRoot2.querySelector(".select__tags-count");e(o).to.not.exist;case 10:case"end":return _context3.stop();}},_callee2);}))),it("should show all tags when maxOptionsVisible is 0",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(){var _i$shadowRoot3,_i$shadowRoot4;var i,o,a;return _regeneratorRuntime().wrap(function _callee3$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return t(l(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["\n <nile-virtual-select multiple max-options-visible=\"0\">\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context4.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"},{value:"option-4",label:"Option 4"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.value=["option-1","option-2","option-3","option-4"];_context4.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot3=i.shadowRoot)===null||_i$shadowRoot3===void 0?void 0:_i$shadowRoot3.querySelector(".select__tags-count");e(o).to.not.exist;a=(_i$shadowRoot4=i.shadowRoot)===null||_i$shadowRoot4===void 0?void 0:_i$shadowRoot4.querySelectorAll("nile-tag");e(a===null||a===void 0?void 0:a.length).to.equal(4);case 12:case"end":return _context4.stop();}},_callee3);})));}),describe("option width functionality",function(){it("should render options with full width",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(){var _i$shadowRoot5,_i$shadowRoot6,_i$shadowRoot7;var i,o,a,s;return _regeneratorRuntime().wrap(function _callee4$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:_context5.next=2;return t(l(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context5.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.open=!0;_context5.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot5=i.shadowRoot)===null||_i$shadowRoot5===void 0?void 0:_i$shadowRoot5.querySelector(".virtualized");e(o).to.exist;a=(_i$shadowRoot6=i.shadowRoot)===null||_i$shadowRoot6===void 0?void 0:_i$shadowRoot6.querySelector(".select__options");e(a).to.exist;s=(_i$shadowRoot7=i.shadowRoot)===null||_i$shadowRoot7===void 0?void 0:_i$shadowRoot7.querySelector(".select__listbox");e(s).to.exist,e(s===null||s===void 0?void 0:s.querySelector(".select__options")).to.exist;case 14:case"end":return _context5.stop();}},_callee4);}))),it("should render options with proper CSS classes for width",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(){var _i$shadowRoot8,_i$shadowRoot9,_i$shadowRoot10;var i,o,a,s;return _regeneratorRuntime().wrap(function _callee5$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:_context6.next=2;return t(l(_templateObject5||(_templateObject5=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context6.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.open=!0;_context6.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot8=i.shadowRoot)===null||_i$shadowRoot8===void 0?void 0:_i$shadowRoot8.querySelector(".virtualized");e(o).to.exist;a=(_i$shadowRoot9=i.shadowRoot)===null||_i$shadowRoot9===void 0?void 0:_i$shadowRoot9.querySelector(".select__options");e(a).to.exist;s=(_i$shadowRoot10=i.shadowRoot)===null||_i$shadowRoot10===void 0?void 0:_i$shadowRoot10.querySelector("lit-virtualizer");e(s).to.exist;case 14:case"end":return _context6.stop();}},_callee5);}))),it("should render virtualized options with full width structure",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(){var _i$shadowRoot11;var i,o,a,s;return _regeneratorRuntime().wrap(function _callee6$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:_context7.next=2;return t(l(_templateObject6||(_templateObject6=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context7.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.open=!0;_context7.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot11=i.shadowRoot)===null||_i$shadowRoot11===void 0?void 0:_i$shadowRoot11.querySelector(".select__listbox");e(o).to.exist;a=o===null||o===void 0?void 0:o.querySelector(".select__options");e(a).to.exist;s=a===null||a===void 0?void 0:a.querySelector(".virtualized");e(s).to.exist,e(o===null||o===void 0?void 0:o.contains(a||null)).to.be["true"],e(a===null||a===void 0?void 0:a.contains(s||null)).to.be["true"];case 14:case"end":return _context7.stop();}},_callee6);})));}),describe("selected options highlighting",function(){it("should highlight selected options with red border in single select mode",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(){var _i$shadowRoot12;var i,o;return _regeneratorRuntime().wrap(function _callee7$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:_context8.next=2;return t(l(_templateObject7||(_templateObject7=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context8.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.value="option-2";i.open=!0;_context8.next=9;return i.updateComplete;case 9:o=(_i$shadowRoot12=i.shadowRoot)===null||_i$shadowRoot12===void 0?void 0:_i$shadowRoot12.querySelector("nile-option[selected]");e(o).to.exist,e(o===null||o===void 0?void 0:o.getAttribute("value")).to.equal("option-2");case 11:case"end":return _context8.stop();}},_callee7);}))),it("should highlight selected options with red border in multiple select mode",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8(){var _i$shadowRoot13;var i,o,a;return _regeneratorRuntime().wrap(function _callee8$(_context9){while(1)switch(_context9.prev=_context9.next){case 0:_context9.next=2;return t(l(_templateObject8||(_templateObject8=_taggedTemplateLiteral(["\n <nile-virtual-select multiple>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context9.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.value=["option-1","option-3"];i.open=!0;_context9.next=9;return i.updateComplete;case 9:o=(_i$shadowRoot13=i.shadowRoot)===null||_i$shadowRoot13===void 0?void 0:_i$shadowRoot13.querySelectorAll("nile-option[selected]");e(o===null||o===void 0?void 0:o.length).to.equal(2);a=Array.from(o||[]).map(function(t){return t.getAttribute("value");});e(a).to.include("option-1"),e(a).to.include("option-3");case 13:case"end":return _context9.stop();}},_callee8);}))),it("should not highlight unselected options",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9(){var _i$shadowRoot14;var i,o;return _regeneratorRuntime().wrap(function _callee9$(_context10){while(1)switch(_context10.prev=_context10.next){case 0:_context10.next=2;return t(l(_templateObject9||(_templateObject9=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context10.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.value="option-2";i.open=!0;_context10.next=9;return i.updateComplete;case 9:o=(_i$shadowRoot14=i.shadowRoot)===null||_i$shadowRoot14===void 0?void 0:_i$shadowRoot14.querySelector('nile-option[value="option-1"]');e(o).to.exist,e(o===null||o===void 0?void 0:o.hasAttribute("selected")).to.be["false"];case 11:case"end":return _context10.stop();}},_callee9);}))),it("should show tags for pre-selected values when data is set after value",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee10(){var _i$shadowRoot15,_i$shadowRoot16;var i,o,a,s;return _regeneratorRuntime().wrap(function _callee10$(_context11){while(1)switch(_context11.prev=_context11.next){case 0:_context11.next=2;return t(l(_templateObject10||(_templateObject10=_taggedTemplateLiteral(["\n <nile-virtual-select multiple>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context11.sent;i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.value=["option-1","option-3"];_context11.next=7;return i.updateComplete;case 7:o=(_i$shadowRoot15=i.shadowRoot)===null||_i$shadowRoot15===void 0?void 0:_i$shadowRoot15.querySelectorAll("nile-tag");e(o===null||o===void 0?void 0:o.length).to.equal(0);i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];_context11.next=12;return i.updateComplete;case 12:a=(_i$shadowRoot16=i.shadowRoot)===null||_i$shadowRoot16===void 0?void 0:_i$shadowRoot16.querySelectorAll("nile-tag");e(a===null||a===void 0?void 0:a.length).to.equal(2);s=Array.from(a||[]).map(function(t){var _t$textContent;return(_t$textContent=t.textContent)===null||_t$textContent===void 0?void 0:_t$textContent.trim();});e(s).to.include("Option 1"),e(s).to.include("Option 3");case 16:case"end":return _context11.stop();}},_callee10);}))),it("should show tags immediately without opening dropdown",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee11(){var _i$shadowRoot17;var i,o,a;return _regeneratorRuntime().wrap(function _callee11$(_context12){while(1)switch(_context12.prev=_context12.next){case 0:_context12.next=2;return t(l(_templateObject11||(_templateObject11=_taggedTemplateLiteral(["\n <nile-virtual-select multiple>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context12.sent;i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.value=["option-1","option-3"];_context12.next=8;return i.updateComplete;case 8:i.open=!1;_context12.next=11;return i.updateComplete;case 11:o=(_i$shadowRoot17=i.shadowRoot)===null||_i$shadowRoot17===void 0?void 0:_i$shadowRoot17.querySelectorAll("nile-tag");e(o===null||o===void 0?void 0:o.length).to.equal(2);a=Array.from(o||[]).map(function(t){var _t$textContent2;return(_t$textContent2=t.textContent)===null||_t$textContent2===void 0?void 0:_t$textContent2.trim();});e(a).to.include("Option 1"),e(a).to.include("Option 3");case 15:case"end":return _context12.stop();}},_callee11);}))),it("should show checkbox as checked for selected options in multiple mode",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee12(){var _i$shadowRoot18,_i$shadowRoot19,_a$shadowRoot;var i,o,a,s;return _regeneratorRuntime().wrap(function _callee12$(_context13){while(1)switch(_context13.prev=_context13.next){case 0:_context13.next=2;return t(l(_templateObject12||(_templateObject12=_taggedTemplateLiteral(["\n <nile-virtual-select multiple>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context13.sent;i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.value=["option-1","option-3"];i.open=!0;_context13.next=9;return i.updateComplete;case 9:o=(_i$shadowRoot18=i.shadowRoot)===null||_i$shadowRoot18===void 0?void 0:_i$shadowRoot18.querySelectorAll("nile-option[selected]");e(o===null||o===void 0?void 0:o.length).to.equal(2),o===null||o===void 0?void 0:o.forEach(function(t){var _t$shadowRoot;var l=(_t$shadowRoot=t.shadowRoot)===null||_t$shadowRoot===void 0?void 0:_t$shadowRoot.querySelector("nile-checkbox");e(l).to.exist,e(l===null||l===void 0?void 0:l.checked).to.be["true"];});a=(_i$shadowRoot19=i.shadowRoot)===null||_i$shadowRoot19===void 0?void 0:_i$shadowRoot19.querySelector('nile-option[value="option-2"]');e(a).to.exist;s=a===null||a===void 0||(_a$shadowRoot=a.shadowRoot)===null||_a$shadowRoot===void 0?void 0:_a$shadowRoot.querySelector("nile-checkbox");e(s).to.exist,e(s===null||s===void 0?void 0:s.checked).to.be["false"];case 15:case"end":return _context13.stop();}},_callee12);})));}),describe("no results message functionality",function(){it("should show no results message when data is empty and not loading",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee13(){var _i$shadowRoot20,_o$textContent2;var i,o;return _regeneratorRuntime().wrap(function _callee13$(_context14){while(1)switch(_context14.prev=_context14.next){case 0:_context14.next=2;return t(l(_templateObject13||(_templateObject13=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context14.sent;i.data=[];i.optionsLoading=!1;i.open=!0;_context14.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot20=i.shadowRoot)===null||_i$shadowRoot20===void 0?void 0:_i$shadowRoot20.querySelector(".select__no-results");e(o).to.exist,e(o===null||o===void 0||(_o$textContent2=o.textContent)===null||_o$textContent2===void 0?void 0:_o$textContent2.trim()).to.equal("No results found");case 10:case"end":return _context14.stop();}},_callee13);}))),it("should show custom no results message when provided",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee14(){var _i$shadowRoot21,_o$textContent3;var i,o;return _regeneratorRuntime().wrap(function _callee14$(_context15){while(1)switch(_context15.prev=_context15.next){case 0:_context15.next=2;return t(l(_templateObject14||(_templateObject14=_taggedTemplateLiteral(["\n <nile-virtual-select no-results-message=\"No data available\">\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context15.sent;i.data=[];i.optionsLoading=!1;i.open=!0;_context15.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot21=i.shadowRoot)===null||_i$shadowRoot21===void 0?void 0:_i$shadowRoot21.querySelector(".select__no-results");e(o).to.exist,e(o===null||o===void 0||(_o$textContent3=o.textContent)===null||_o$textContent3===void 0?void 0:_o$textContent3.trim()).to.equal("No data available");case 10:case"end":return _context15.stop();}},_callee14);}))),it("should not show no results message when loading",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee15(){var _i$shadowRoot22;var i,o;return _regeneratorRuntime().wrap(function _callee15$(_context16){while(1)switch(_context16.prev=_context16.next){case 0:_context16.next=2;return t(l(_templateObject15||(_templateObject15=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context16.sent;i.data=[];i.optionsLoading=!0;i.open=!0;_context16.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot22=i.shadowRoot)===null||_i$shadowRoot22===void 0?void 0:_i$shadowRoot22.querySelector(".select__no-results");e(o).to.not.exist;case 10:case"end":return _context16.stop();}},_callee15);}))),it("should show no results message when search returns no results",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee16(){var _i$shadowRoot23,_o$textContent4;var i,o;return _regeneratorRuntime().wrap(function _callee16$(_context17){while(1)switch(_context17.prev=_context17.next){case 0:_context17.next=2;return t(l(_templateObject16||(_templateObject16=_taggedTemplateLiteral(["\n <nile-virtual-select search-enabled>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context17.sent;i.data=[{value:"option-1",label:"Apple"},{value:"option-2",label:"Banana"},{value:"option-3",label:"Cherry"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.open=!0;_context17.next=8;return i.updateComplete;case 8:i.searchValue="Orange";i.filterVirtualOptions("Orange");_context17.next=12;return i.updateComplete;case 12:o=(_i$shadowRoot23=i.shadowRoot)===null||_i$shadowRoot23===void 0?void 0:_i$shadowRoot23.querySelector(".select__no-results");e(o).to.exist,e(o===null||o===void 0||(_o$textContent4=o.textContent)===null||_o$textContent4===void 0?void 0:_o$textContent4.trim()).to.equal("No results found");case 14:case"end":return _context17.stop();}},_callee16);}))),it("should hide no results message when data becomes available",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee17(){var _i$shadowRoot24,_i$shadowRoot25;var i,o;return _regeneratorRuntime().wrap(function _callee17$(_context18){while(1)switch(_context18.prev=_context18.next){case 0:_context18.next=2;return t(l(_templateObject17||(_templateObject17=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context18.sent;i.data=[];i.optionsLoading=!1;i.open=!0;_context18.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot24=i.shadowRoot)===null||_i$shadowRoot24===void 0?void 0:_i$shadowRoot24.querySelector(".select__no-results");e(o).to.exist;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"}];_context18.next=13;return i.updateComplete;case 13:o=(_i$shadowRoot25=i.shadowRoot)===null||_i$shadowRoot25===void 0?void 0:_i$shadowRoot25.querySelector(".select__no-results");e(o).to.not.exist;case 15:case"end":return _context18.stop();}},_callee17);})));}),describe("scroll position reset functionality",function(){it("should reset scroll position to top when dropdown opens",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee18(){var _i$shadowRoot26;var i,o;return _regeneratorRuntime().wrap(function _callee18$(_context19){while(1)switch(_context19.prev=_context19.next){case 0:_context19.next=2;return t(l(_templateObject18||(_templateObject18=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context19.sent;i.data=Array.from({length:100},function(t,e){return{value:"option-".concat(e),label:"Option ".concat(e)};});i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.open=!0;_context19.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot26=i.shadowRoot)===null||_i$shadowRoot26===void 0?void 0:_i$shadowRoot26.querySelector(".virtualized");e(o).to.exist;o.scrollTop=1e3;e(o.scrollTop).to.equal(1e3);i.open=!1;_context19.next=15;return i.updateComplete;case 15:i.open=!0;_context19.next=18;return i.updateComplete;case 18:e(o.scrollTop).to.equal(0);case 19:case"end":return _context19.stop();}},_callee18);}))),it("should reset scroll position when search value changes",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee19(){var _i$shadowRoot27;var i,o;return _regeneratorRuntime().wrap(function _callee19$(_context20){while(1)switch(_context20.prev=_context20.next){case 0:_context20.next=2;return t(l(_templateObject19||(_templateObject19=_taggedTemplateLiteral(["\n <nile-virtual-select search-enabled>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context20.sent;i.data=Array.from({length:100},function(t,e){return{value:"option-".concat(e),label:"Option ".concat(e)};});i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.open=!0;_context20.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot27=i.shadowRoot)===null||_i$shadowRoot27===void 0?void 0:_i$shadowRoot27.querySelector(".virtualized");e(o).to.exist;o.scrollTop=1e3;e(o.scrollTop).to.equal(1e3);i.searchValue="test";i.filterVirtualOptions("test");_context20.next=16;return i.updateComplete;case 16:e(o.scrollTop).to.equal(0);case 17:case"end":return _context20.stop();}},_callee19);}))),it("should reset scroll position when show selected state changes",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee20(){var _i$shadowRoot28,_i$shadowRoot29;var i,o,a;return _regeneratorRuntime().wrap(function _callee20$(_context21){while(1)switch(_context21.prev=_context21.next){case 0:_context21.next=2;return t(l(_templateObject20||(_templateObject20=_taggedTemplateLiteral(["\n <nile-virtual-select multiple>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context21.sent;i.data=Array.from({length:100},function(t,e){return{value:"option-".concat(e),label:"Option ".concat(e)};});i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.value=["option-1","option-2","option-3"];i.open=!0;_context21.next=9;return i.updateComplete;case 9:o=(_i$shadowRoot28=i.shadowRoot)===null||_i$shadowRoot28===void 0?void 0:_i$shadowRoot28.querySelector(".virtualized");e(o).to.exist,o.scrollTop=1e3,e(o.scrollTop).to.equal(1e3);a=(_i$shadowRoot29=i.shadowRoot)===null||_i$shadowRoot29===void 0?void 0:_i$shadowRoot29.querySelector("nile-checkbox");a!==null&&a!==void 0&&a.click();_context21.next=15;return i.updateComplete;case 15:e(o.scrollTop).to.equal(0);case 16:case"end":return _context21.stop();}},_callee20);})));}),describe("small dataset handling",function(){it("should render small datasets without virtualizer for better sizing",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee21(){var _i$shadowRoot30;var i,o,a,s,n;return _regeneratorRuntime().wrap(function _callee21$(_context22){while(1)switch(_context22.prev=_context22.next){case 0:_context22.next=2;return t(l(_templateObject21||(_templateObject21=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context22.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.open=!0;_context22.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot30=i.shadowRoot)===null||_i$shadowRoot30===void 0?void 0:_i$shadowRoot30.querySelector(".virtualized");e(o).to.exist;a=o.querySelector("lit-virtualizer");e(a).to.not.exist;s=o.querySelectorAll("nile-option");e(s.length).to.equal(3);n=Array.from(s).map(function(t){return t.getAttribute("value");});e(n).to.deep.equal(["option-1","option-2","option-3"]);case 16:case"end":return _context22.stop();}},_callee21);}))),it("should use virtualizer for large datasets",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee22(){var _i$shadowRoot31;var i,o,a;return _regeneratorRuntime().wrap(function _callee22$(_context23){while(1)switch(_context23.prev=_context23.next){case 0:_context23.next=2;return t(l(_templateObject22||(_templateObject22=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context23.sent;i.data=Array.from({length:100},function(t,e){return{value:"option-".concat(e+1),label:"Option ".concat(e+1)};});i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.open=!0;_context23.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot31=i.shadowRoot)===null||_i$shadowRoot31===void 0?void 0:_i$shadowRoot31.querySelector(".virtualized");e(o).to.exist;a=o.querySelector("lit-virtualizer");e(a).to.exist;case 12:case"end":return _context23.stop();}},_callee22);}))),it("should fit snugly without extra space for small datasets",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee23(){var _i$shadowRoot32,_i$shadowRoot33;var i,o,a,s,n,c;return _regeneratorRuntime().wrap(function _callee23$(_context24){while(1)switch(_context24.prev=_context24.next){case 0:_context24.next=2;return t(l(_templateObject23||(_templateObject23=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context24.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.open=!0;_context24.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot32=i.shadowRoot)===null||_i$shadowRoot32===void 0?void 0:_i$shadowRoot32.querySelector(".select__listbox");e(o).to.exist;a=(_i$shadowRoot33=i.shadowRoot)===null||_i$shadowRoot33===void 0?void 0:_i$shadowRoot33.querySelector(".virtualized");e(a).to.exist;s=a.offsetHeight,n=a.querySelectorAll("nile-option");e(n.length).to.equal(3),e(s).to.be.greaterThan(0);c=Array.from(n).reduce(function(t,e){return t+e.offsetHeight;},0);e(s).to.be.closeTo(c,20);case 16:case"end":return _context24.stop();}},_callee23);})));});});}};});
|
|
1
|
+
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);}System.register(["../fixture-54600b35.cjs.js","lit/static-html.js","lit/html.js","lit/directive-helpers.js","lit","lit/directives/unsafe-html.js"],function(_export,_context){"use strict";var t,e,l,_templateObject,_templateObject2,_templateObject3,_templateObject4,_templateObject5,_templateObject6,_templateObject7,_templateObject8,_templateObject9,_templateObject10,_templateObject11,_templateObject12,_templateObject13,_templateObject14,_templateObject15,_templateObject16,_templateObject17,_templateObject18,_templateObject19,_templateObject20,_templateObject21,_templateObject22,_templateObject23;function _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */_regeneratorRuntime=function _regeneratorRuntime(){return e;};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value;},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function define(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e];}try{define({},"");}catch(t){define=function define(t,e,r){return t[e]=r;};}function wrap(t,e,r,n){var i=e&&e.prototype instanceof Generator?e:Generator,a=Object.create(i.prototype),c=new Context(n||[]);return o(a,"_invoke",{value:makeInvokeMethod(t,r,c)}),a;}function tryCatch(t,e,r){try{return{type:"normal",arg:t.call(e,r)};}catch(t){return{type:"throw",arg:t};}}e.wrap=wrap;var h="suspendedStart",l="suspendedYield",f="executing",s="completed",y={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var p={};define(p,a,function(){return this;});var d=Object.getPrototypeOf,v=d&&d(d(values([])));v&&v!==r&&n.call(v,a)&&(p=v);var g=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(p);function defineIteratorMethods(t){["next","throw","return"].forEach(function(e){define(t,e,function(t){return this._invoke(e,t);});});}function AsyncIterator(t,e){function invoke(r,o,i,a){var c=tryCatch(t[r],t,o);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==_typeof(h)&&n.call(h,"__await")?e.resolve(h.__await).then(function(t){invoke("next",t,i,a);},function(t){invoke("throw",t,i,a);}):e.resolve(h).then(function(t){u.value=t,i(u);},function(t){return invoke("throw",t,i,a);});}a(c.arg);}var r;o(this,"_invoke",{value:function value(t,n){function callInvokeWithMethodAndArg(){return new e(function(e,r){invoke(t,n,e,r);});}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg();}});}function makeInvokeMethod(e,r,n){var o=h;return function(i,a){if(o===f)throw Error("Generator is already running");if(o===s){if("throw"===i)throw a;return{value:t,done:!0};}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=maybeInvokeDelegate(c,n);if(u){if(u===y)continue;return u;}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=s,n.arg;n.dispatchException(n.arg);}else"return"===n.method&&n.abrupt("return",n.arg);o=f;var p=tryCatch(e,r,n);if("normal"===p.type){if(o=n.done?s:l,p.arg===y)continue;return{value:p.arg,done:n.done};}"throw"===p.type&&(o=s,n.method="throw",n.arg=p.arg);}};}function maybeInvokeDelegate(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator["return"]&&(r.method="return",r.arg=t,maybeInvokeDelegate(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=tryCatch(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y);}function pushTryEntry(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e);}function resetTryEntry(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e;}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0);}function values(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function next(){for(;++o<e.length;)if(n.call(e,o))return next.value=e[o],next.done=!1,next;return next.value=t,next.done=!0,next;};return i.next=i;}}throw new TypeError(_typeof(e)+" is not iterable");}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(g,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===GeneratorFunction||"GeneratorFunction"===(e.displayName||e.name));},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,u,"GeneratorFunction")),t.prototype=Object.create(g),t;},e.awrap=function(t){return{__await:t};},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,c,function(){return this;}),e.AsyncIterator=AsyncIterator,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new AsyncIterator(wrap(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next();});},defineIteratorMethods(g),define(g,u,"Generator"),define(g,a,function(){return this;}),define(g,"toString",function(){return"[object Generator]";}),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in e)return next.value=t,next.done=!1,next;}return next.done=!0,next;};},e.values=values,Context.prototype={constructor:Context,reset:function reset(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t);},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval;},dispatchException:function dispatchException(e){if(this.done)throw e;var r=this;function handle(n,o){return a.type="throw",a.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o;}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return handle("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}else if(c){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}}}},abrupt:function abrupt(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break;}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a);},complete:function complete(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y;},finish:function finish(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),y;}},"catch":function _catch(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;resetTryEntry(r);}return o;}}throw Error("illegal catch attempt");},delegateYield:function delegateYield(e,r,n){return this.delegate={iterator:values(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y;}},e;}function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value;}catch(n){return void e(n);}i.done?t(u):Promise.resolve(u).then(r,o);}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n);}function _throw(n){asyncGeneratorStep(a,r,o,_next,_throw,"throw",n);}_next(void 0);});};}return{setters:[function(_fixture005CjsJs){t=_fixture005CjsJs.f;e=_fixture005CjsJs.a;},function(_litStaticHtmlJs){l=_litStaticHtmlJs.html;},function(_litHtmlJs){},function(_litDirectiveHelpersJs){},function(_lit){},function(_litDirectivesUnsafeHtmlJs){}],execute:function execute(){describe("<nile-virtual-select>",function(){describe("maxOptionsVisible functionality",function(){it('should show "+n More" when more options are selected than maxOptionsVisible',/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){var _i$shadowRoot,_o$textContent;var i,o;return _regeneratorRuntime().wrap(function _callee$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:_context2.next=2;return t(l(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <nile-virtual-select multiple max-options-visible=\"2\">\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context2.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"},{value:"option-4",label:"Option 4"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.value=["option-1","option-2","option-3"];_context2.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot=i.shadowRoot)===null||_i$shadowRoot===void 0?void 0:_i$shadowRoot.querySelector(".select__tags-count");e(o).to.exist,e(o===null||o===void 0||(_o$textContent=o.textContent)===null||_o$textContent===void 0?void 0:_o$textContent.trim()).to.equal("+1 More");case 10:case"end":return _context2.stop();}},_callee);}))),it('should not show "+n More" when selected options are within maxOptionsVisible limit',/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(){var _i$shadowRoot2;var i,o;return _regeneratorRuntime().wrap(function _callee2$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:_context3.next=2;return t(l(_templateObject2||(_templateObject2=_taggedTemplateLiteral(["\n <nile-virtual-select multiple max-options-visible=\"3\">\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context3.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.value=["option-1","option-2"];_context3.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot2=i.shadowRoot)===null||_i$shadowRoot2===void 0?void 0:_i$shadowRoot2.querySelector(".select__tags-count");e(o).to.not.exist;case 10:case"end":return _context3.stop();}},_callee2);}))),it("should show all tags when maxOptionsVisible is 0",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(){var _i$shadowRoot3,_i$shadowRoot4;var i,o,a;return _regeneratorRuntime().wrap(function _callee3$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return t(l(_templateObject3||(_templateObject3=_taggedTemplateLiteral(["\n <nile-virtual-select multiple max-options-visible=\"0\">\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context4.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"},{value:"option-4",label:"Option 4"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.value=["option-1","option-2","option-3","option-4"];_context4.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot3=i.shadowRoot)===null||_i$shadowRoot3===void 0?void 0:_i$shadowRoot3.querySelector(".select__tags-count");e(o).to.not.exist;a=(_i$shadowRoot4=i.shadowRoot)===null||_i$shadowRoot4===void 0?void 0:_i$shadowRoot4.querySelectorAll("nile-tag");e(a===null||a===void 0?void 0:a.length).to.equal(4);case 12:case"end":return _context4.stop();}},_callee3);})));}),describe("option width functionality",function(){it("should render options with full width",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4(){var _i$shadowRoot5,_i$shadowRoot6,_i$shadowRoot7;var i,o,a,s;return _regeneratorRuntime().wrap(function _callee4$(_context5){while(1)switch(_context5.prev=_context5.next){case 0:_context5.next=2;return t(l(_templateObject4||(_templateObject4=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context5.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.open=!0;_context5.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot5=i.shadowRoot)===null||_i$shadowRoot5===void 0?void 0:_i$shadowRoot5.querySelector(".virtualized");e(o).to.exist;a=(_i$shadowRoot6=i.shadowRoot)===null||_i$shadowRoot6===void 0?void 0:_i$shadowRoot6.querySelector(".select__options");e(a).to.exist;s=(_i$shadowRoot7=i.shadowRoot)===null||_i$shadowRoot7===void 0?void 0:_i$shadowRoot7.querySelector(".select__listbox");e(s).to.exist,e(s===null||s===void 0?void 0:s.querySelector(".select__options")).to.exist;case 14:case"end":return _context5.stop();}},_callee4);}))),it("should render options with proper CSS classes for width",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5(){var _i$shadowRoot8,_i$shadowRoot9,_i$shadowRoot10;var i,o,a,s;return _regeneratorRuntime().wrap(function _callee5$(_context6){while(1)switch(_context6.prev=_context6.next){case 0:_context6.next=2;return t(l(_templateObject5||(_templateObject5=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context6.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.open=!0;_context6.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot8=i.shadowRoot)===null||_i$shadowRoot8===void 0?void 0:_i$shadowRoot8.querySelector(".virtualized");e(o).to.exist;a=(_i$shadowRoot9=i.shadowRoot)===null||_i$shadowRoot9===void 0?void 0:_i$shadowRoot9.querySelector(".select__options");e(a).to.exist;s=(_i$shadowRoot10=i.shadowRoot)===null||_i$shadowRoot10===void 0?void 0:_i$shadowRoot10.querySelector("lit-virtualizer");e(s).to.exist;case 14:case"end":return _context6.stop();}},_callee5);}))),it("should render virtualized options with full width structure",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6(){var _i$shadowRoot11;var i,o,a,s;return _regeneratorRuntime().wrap(function _callee6$(_context7){while(1)switch(_context7.prev=_context7.next){case 0:_context7.next=2;return t(l(_templateObject6||(_templateObject6=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context7.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.open=!0;_context7.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot11=i.shadowRoot)===null||_i$shadowRoot11===void 0?void 0:_i$shadowRoot11.querySelector(".select__listbox");e(o).to.exist;a=o===null||o===void 0?void 0:o.querySelector(".select__options");e(a).to.exist;s=a===null||a===void 0?void 0:a.querySelector(".virtualized");e(s).to.exist,e(o===null||o===void 0?void 0:o.contains(a||null)).to.be["true"],e(a===null||a===void 0?void 0:a.contains(s||null)).to.be["true"];case 14:case"end":return _context7.stop();}},_callee6);})));}),describe("selected options highlighting",function(){it("should highlight selected options with red border in single select mode",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7(){var _i$shadowRoot12;var i,o;return _regeneratorRuntime().wrap(function _callee7$(_context8){while(1)switch(_context8.prev=_context8.next){case 0:_context8.next=2;return t(l(_templateObject7||(_templateObject7=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context8.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.value="option-2";i.open=!0;_context8.next=9;return i.updateComplete;case 9:o=(_i$shadowRoot12=i.shadowRoot)===null||_i$shadowRoot12===void 0?void 0:_i$shadowRoot12.querySelector("nile-option[selected]");e(o).to.exist,e(o===null||o===void 0?void 0:o.getAttribute("value")).to.equal("option-2");case 11:case"end":return _context8.stop();}},_callee7);}))),it("should highlight selected options with red border in multiple select mode",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8(){var _i$shadowRoot13;var i,o,a;return _regeneratorRuntime().wrap(function _callee8$(_context9){while(1)switch(_context9.prev=_context9.next){case 0:_context9.next=2;return t(l(_templateObject8||(_templateObject8=_taggedTemplateLiteral(["\n <nile-virtual-select multiple>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context9.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.value=["option-1","option-3"];i.open=!0;_context9.next=9;return i.updateComplete;case 9:o=(_i$shadowRoot13=i.shadowRoot)===null||_i$shadowRoot13===void 0?void 0:_i$shadowRoot13.querySelectorAll("nile-option[selected]");e(o===null||o===void 0?void 0:o.length).to.equal(2);a=Array.from(o||[]).map(function(t){return t.getAttribute("value");});e(a).to.include("option-1"),e(a).to.include("option-3");case 13:case"end":return _context9.stop();}},_callee8);}))),it("should not highlight unselected options",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9(){var _i$shadowRoot14;var i,o;return _regeneratorRuntime().wrap(function _callee9$(_context10){while(1)switch(_context10.prev=_context10.next){case 0:_context10.next=2;return t(l(_templateObject9||(_templateObject9=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context10.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.value="option-2";i.open=!0;_context10.next=9;return i.updateComplete;case 9:o=(_i$shadowRoot14=i.shadowRoot)===null||_i$shadowRoot14===void 0?void 0:_i$shadowRoot14.querySelector('nile-option[value="option-1"]');e(o).to.exist,e(o===null||o===void 0?void 0:o.hasAttribute("selected")).to.be["false"];case 11:case"end":return _context10.stop();}},_callee9);}))),it("should show tags for pre-selected values when data is set after value",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee10(){var _i$shadowRoot15,_i$shadowRoot16;var i,o,a,s;return _regeneratorRuntime().wrap(function _callee10$(_context11){while(1)switch(_context11.prev=_context11.next){case 0:_context11.next=2;return t(l(_templateObject10||(_templateObject10=_taggedTemplateLiteral(["\n <nile-virtual-select multiple>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context11.sent;i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.value=["option-1","option-3"];_context11.next=7;return i.updateComplete;case 7:o=(_i$shadowRoot15=i.shadowRoot)===null||_i$shadowRoot15===void 0?void 0:_i$shadowRoot15.querySelectorAll("nile-tag");e(o===null||o===void 0?void 0:o.length).to.equal(0);i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];_context11.next=12;return i.updateComplete;case 12:a=(_i$shadowRoot16=i.shadowRoot)===null||_i$shadowRoot16===void 0?void 0:_i$shadowRoot16.querySelectorAll("nile-tag");e(a===null||a===void 0?void 0:a.length).to.equal(2);s=Array.from(a||[]).map(function(t){var _t$textContent;return(_t$textContent=t.textContent)===null||_t$textContent===void 0?void 0:_t$textContent.trim();});e(s).to.include("Option 1"),e(s).to.include("Option 3");case 16:case"end":return _context11.stop();}},_callee10);}))),it("should show tags immediately without opening dropdown",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee11(){var _i$shadowRoot17;var i,o,a;return _regeneratorRuntime().wrap(function _callee11$(_context12){while(1)switch(_context12.prev=_context12.next){case 0:_context12.next=2;return t(l(_templateObject11||(_templateObject11=_taggedTemplateLiteral(["\n <nile-virtual-select multiple>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context12.sent;i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.value=["option-1","option-3"];_context12.next=8;return i.updateComplete;case 8:i.open=!1;_context12.next=11;return i.updateComplete;case 11:o=(_i$shadowRoot17=i.shadowRoot)===null||_i$shadowRoot17===void 0?void 0:_i$shadowRoot17.querySelectorAll("nile-tag");e(o===null||o===void 0?void 0:o.length).to.equal(2);a=Array.from(o||[]).map(function(t){var _t$textContent2;return(_t$textContent2=t.textContent)===null||_t$textContent2===void 0?void 0:_t$textContent2.trim();});e(a).to.include("Option 1"),e(a).to.include("Option 3");case 15:case"end":return _context12.stop();}},_callee11);}))),it("should show checkbox as checked for selected options in multiple mode",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee12(){var _i$shadowRoot18,_i$shadowRoot19,_a$shadowRoot;var i,o,a,s;return _regeneratorRuntime().wrap(function _callee12$(_context13){while(1)switch(_context13.prev=_context13.next){case 0:_context13.next=2;return t(l(_templateObject12||(_templateObject12=_taggedTemplateLiteral(["\n <nile-virtual-select multiple>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context13.sent;i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.value=["option-1","option-3"];i.open=!0;_context13.next=9;return i.updateComplete;case 9:o=(_i$shadowRoot18=i.shadowRoot)===null||_i$shadowRoot18===void 0?void 0:_i$shadowRoot18.querySelectorAll("nile-option[selected]");e(o===null||o===void 0?void 0:o.length).to.equal(2),o===null||o===void 0?void 0:o.forEach(function(t){var _t$shadowRoot;var l=(_t$shadowRoot=t.shadowRoot)===null||_t$shadowRoot===void 0?void 0:_t$shadowRoot.querySelector("nile-checkbox");e(l).to.exist,e(l===null||l===void 0?void 0:l.checked).to.be["true"];});a=(_i$shadowRoot19=i.shadowRoot)===null||_i$shadowRoot19===void 0?void 0:_i$shadowRoot19.querySelector('nile-option[value="option-2"]');e(a).to.exist;s=a===null||a===void 0||(_a$shadowRoot=a.shadowRoot)===null||_a$shadowRoot===void 0?void 0:_a$shadowRoot.querySelector("nile-checkbox");e(s).to.exist,e(s===null||s===void 0?void 0:s.checked).to.be["false"];case 15:case"end":return _context13.stop();}},_callee12);})));}),describe("no results message functionality",function(){it("should show no results message when data is empty and not loading",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee13(){var _i$shadowRoot20,_o$textContent2;var i,o;return _regeneratorRuntime().wrap(function _callee13$(_context14){while(1)switch(_context14.prev=_context14.next){case 0:_context14.next=2;return t(l(_templateObject13||(_templateObject13=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context14.sent;i.data=[];i.optionsLoading=!1;i.open=!0;_context14.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot20=i.shadowRoot)===null||_i$shadowRoot20===void 0?void 0:_i$shadowRoot20.querySelector(".select__no-results");e(o).to.exist,e(o===null||o===void 0||(_o$textContent2=o.textContent)===null||_o$textContent2===void 0?void 0:_o$textContent2.trim()).to.equal("No results found");case 10:case"end":return _context14.stop();}},_callee13);}))),it("should show custom no results message when provided",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee14(){var _i$shadowRoot21,_o$textContent3;var i,o;return _regeneratorRuntime().wrap(function _callee14$(_context15){while(1)switch(_context15.prev=_context15.next){case 0:_context15.next=2;return t(l(_templateObject14||(_templateObject14=_taggedTemplateLiteral(["\n <nile-virtual-select no-results-message=\"No data available\">\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context15.sent;i.data=[];i.optionsLoading=!1;i.open=!0;_context15.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot21=i.shadowRoot)===null||_i$shadowRoot21===void 0?void 0:_i$shadowRoot21.querySelector(".select__no-results");e(o).to.exist,e(o===null||o===void 0||(_o$textContent3=o.textContent)===null||_o$textContent3===void 0?void 0:_o$textContent3.trim()).to.equal("No data available");case 10:case"end":return _context15.stop();}},_callee14);}))),it("should not show no results message when loading",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee15(){var _i$shadowRoot22;var i,o;return _regeneratorRuntime().wrap(function _callee15$(_context16){while(1)switch(_context16.prev=_context16.next){case 0:_context16.next=2;return t(l(_templateObject15||(_templateObject15=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context16.sent;i.data=[];i.optionsLoading=!0;i.open=!0;_context16.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot22=i.shadowRoot)===null||_i$shadowRoot22===void 0?void 0:_i$shadowRoot22.querySelector(".select__no-results");e(o).to.not.exist;case 10:case"end":return _context16.stop();}},_callee15);}))),it("should show no results message when search returns no results",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee16(){var _i$shadowRoot23,_o$textContent4;var i,o;return _regeneratorRuntime().wrap(function _callee16$(_context17){while(1)switch(_context17.prev=_context17.next){case 0:_context17.next=2;return t(l(_templateObject16||(_templateObject16=_taggedTemplateLiteral(["\n <nile-virtual-select search-enabled>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context17.sent;i.data=[{value:"option-1",label:"Apple"},{value:"option-2",label:"Banana"},{value:"option-3",label:"Cherry"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.open=!0;_context17.next=8;return i.updateComplete;case 8:i.searchValue="Orange";i.filterVirtualOptions("Orange");_context17.next=12;return i.updateComplete;case 12:o=(_i$shadowRoot23=i.shadowRoot)===null||_i$shadowRoot23===void 0?void 0:_i$shadowRoot23.querySelector(".select__no-results");e(o).to.exist,e(o===null||o===void 0||(_o$textContent4=o.textContent)===null||_o$textContent4===void 0?void 0:_o$textContent4.trim()).to.equal("No results found");case 14:case"end":return _context17.stop();}},_callee16);}))),it("should hide no results message when data becomes available",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee17(){var _i$shadowRoot24,_i$shadowRoot25;var i,o;return _regeneratorRuntime().wrap(function _callee17$(_context18){while(1)switch(_context18.prev=_context18.next){case 0:_context18.next=2;return t(l(_templateObject17||(_templateObject17=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context18.sent;i.data=[];i.optionsLoading=!1;i.open=!0;_context18.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot24=i.shadowRoot)===null||_i$shadowRoot24===void 0?void 0:_i$shadowRoot24.querySelector(".select__no-results");e(o).to.exist;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"}];_context18.next=13;return i.updateComplete;case 13:o=(_i$shadowRoot25=i.shadowRoot)===null||_i$shadowRoot25===void 0?void 0:_i$shadowRoot25.querySelector(".select__no-results");e(o).to.not.exist;case 15:case"end":return _context18.stop();}},_callee17);})));}),describe("scroll position reset functionality",function(){it("should reset scroll position to top when dropdown opens",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee18(){var _i$shadowRoot26;var i,o;return _regeneratorRuntime().wrap(function _callee18$(_context19){while(1)switch(_context19.prev=_context19.next){case 0:_context19.next=2;return t(l(_templateObject18||(_templateObject18=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context19.sent;i.data=Array.from({length:100},function(t,e){return{value:"option-".concat(e),label:"Option ".concat(e)};});i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.open=!0;_context19.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot26=i.shadowRoot)===null||_i$shadowRoot26===void 0?void 0:_i$shadowRoot26.querySelector(".virtualized");e(o).to.exist;o.scrollTop=1e3;e(o.scrollTop).to.equal(1e3);i.open=!1;_context19.next=15;return i.updateComplete;case 15:i.open=!0;_context19.next=18;return i.updateComplete;case 18:e(o.scrollTop).to.equal(0);case 19:case"end":return _context19.stop();}},_callee18);}))),it("should reset scroll position when search value changes",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee19(){var _i$shadowRoot27;var i,o;return _regeneratorRuntime().wrap(function _callee19$(_context20){while(1)switch(_context20.prev=_context20.next){case 0:_context20.next=2;return t(l(_templateObject19||(_templateObject19=_taggedTemplateLiteral(["\n <nile-virtual-select search-enabled>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context20.sent;i.data=Array.from({length:100},function(t,e){return{value:"option-".concat(e),label:"Option ".concat(e)};});i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.open=!0;_context20.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot27=i.shadowRoot)===null||_i$shadowRoot27===void 0?void 0:_i$shadowRoot27.querySelector(".virtualized");e(o).to.exist;o.scrollTop=1e3;e(o.scrollTop).to.equal(1e3);i.searchValue="test";i.filterVirtualOptions("test");_context20.next=16;return i.updateComplete;case 16:e(o.scrollTop).to.equal(0);case 17:case"end":return _context20.stop();}},_callee19);}))),it("should reset scroll position when show selected state changes",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee20(){var _i$shadowRoot28,_i$shadowRoot29;var i,o,a;return _regeneratorRuntime().wrap(function _callee20$(_context21){while(1)switch(_context21.prev=_context21.next){case 0:_context21.next=2;return t(l(_templateObject20||(_templateObject20=_taggedTemplateLiteral(["\n <nile-virtual-select multiple>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context21.sent;i.data=Array.from({length:100},function(t,e){return{value:"option-".concat(e),label:"Option ".concat(e)};});i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.value=["option-1","option-2","option-3"];i.open=!0;_context21.next=9;return i.updateComplete;case 9:o=(_i$shadowRoot28=i.shadowRoot)===null||_i$shadowRoot28===void 0?void 0:_i$shadowRoot28.querySelector(".virtualized");e(o).to.exist,o.scrollTop=1e3,e(o.scrollTop).to.equal(1e3);a=(_i$shadowRoot29=i.shadowRoot)===null||_i$shadowRoot29===void 0?void 0:_i$shadowRoot29.querySelector("nile-checkbox");a!==null&&a!==void 0&&a.click();_context21.next=15;return i.updateComplete;case 15:e(o.scrollTop).to.equal(0);case 16:case"end":return _context21.stop();}},_callee20);})));}),describe("small dataset handling",function(){it("should render small datasets without virtualizer for better sizing",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee21(){var _i$shadowRoot30;var i,o,a,s,n;return _regeneratorRuntime().wrap(function _callee21$(_context22){while(1)switch(_context22.prev=_context22.next){case 0:_context22.next=2;return t(l(_templateObject21||(_templateObject21=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context22.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.open=!0;_context22.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot30=i.shadowRoot)===null||_i$shadowRoot30===void 0?void 0:_i$shadowRoot30.querySelector(".virtualized");e(o).to.exist;a=o.querySelector("lit-virtualizer");e(a).to.not.exist;s=o.querySelectorAll("nile-option");e(s.length).to.equal(3);n=Array.from(s).map(function(t){return t.getAttribute("value");});e(n).to.deep.equal(["option-1","option-2","option-3"]);case 16:case"end":return _context22.stop();}},_callee21);}))),it("should use virtualizer for large datasets",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee22(){var _i$shadowRoot31;var i,o,a;return _regeneratorRuntime().wrap(function _callee22$(_context23){while(1)switch(_context23.prev=_context23.next){case 0:_context23.next=2;return t(l(_templateObject22||(_templateObject22=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context23.sent;i.data=Array.from({length:100},function(t,e){return{value:"option-".concat(e+1),label:"Option ".concat(e+1)};});i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.open=!0;_context23.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot31=i.shadowRoot)===null||_i$shadowRoot31===void 0?void 0:_i$shadowRoot31.querySelector(".virtualized");e(o).to.exist;a=o.querySelector("lit-virtualizer");e(a).to.exist;case 12:case"end":return _context23.stop();}},_callee22);}))),it("should fit snugly without extra space for small datasets",/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee23(){var _i$shadowRoot32,_i$shadowRoot33;var i,o,a,s,n,c;return _regeneratorRuntime().wrap(function _callee23$(_context24){while(1)switch(_context24.prev=_context24.next){case 0:_context24.next=2;return t(l(_templateObject23||(_templateObject23=_taggedTemplateLiteral(["\n <nile-virtual-select>\n <div slot=\"label\">Test Select</div>\n </nile-virtual-select>\n "]))));case 2:i=_context24.sent;i.data=[{value:"option-1",label:"Option 1"},{value:"option-2",label:"Option 2"},{value:"option-3",label:"Option 3"}];i.renderItemConfig={getDisplayText:function getDisplayText(t){return t.label;}};i.open=!0;_context24.next=8;return i.updateComplete;case 8:o=(_i$shadowRoot32=i.shadowRoot)===null||_i$shadowRoot32===void 0?void 0:_i$shadowRoot32.querySelector(".select__listbox");e(o).to.exist;a=(_i$shadowRoot33=i.shadowRoot)===null||_i$shadowRoot33===void 0?void 0:_i$shadowRoot33.querySelector(".virtualized");e(a).to.exist;s=a.offsetHeight,n=a.querySelectorAll("nile-option");e(n.length).to.equal(3),e(s).to.be.greaterThan(0);c=Array.from(n).reduce(function(t,e){return t+e.offsetHeight;},0);e(s).to.be.closeTo(c,20);case 16:case"end":return _context24.stop();}},_callee23);})));});});}};});
|
|
2
2
|
//# sourceMappingURL=nile-virtual-select.test.cjs.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{f as t,a as e}from"../fixture-
|
|
1
|
+
import{f as t,a as e}from"../fixture-9871e8a9.esm.js";import{html as l}from"lit/static-html.js";import"lit/html.js";import"lit/directive-helpers.js";import"lit";import"lit/directives/unsafe-html.js";describe("<nile-virtual-select>",(()=>{describe("maxOptionsVisible functionality",(()=>{it('should show "+n More" when more options are selected than maxOptionsVisible',(async()=>{const i=await t(l`
|
|
2
2
|
<nile-virtual-select multiple max-options-visible="2">
|
|
3
3
|
<div slot="label">Test Select</div>
|
|
4
4
|
</nile-virtual-select>
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
System.register(["../floating-ui.dom-007bbe96.cjs.js","../nile-select/portal-utils.cjs.js"],function(_export,_context){"use strict";var t,i,s,e,o,n,a,h,l;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 _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */_regeneratorRuntime=function _regeneratorRuntime(){return e;};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value;},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function define(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e];}try{define({},"");}catch(t){define=function define(t,e,r){return t[e]=r;};}function wrap(t,e,r,n){var i=e&&e.prototype instanceof Generator?e:Generator,a=Object.create(i.prototype),c=new Context(n||[]);return o(a,"_invoke",{value:makeInvokeMethod(t,r,c)}),a;}function tryCatch(t,e,r){try{return{type:"normal",arg:t.call(e,r)};}catch(t){return{type:"throw",arg:t};}}e.wrap=wrap;var h="suspendedStart",l="suspendedYield",f="executing",s="completed",y={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var p={};define(p,a,function(){return this;});var d=Object.getPrototypeOf,v=d&&d(d(values([])));v&&v!==r&&n.call(v,a)&&(p=v);var g=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(p);function defineIteratorMethods(t){["next","throw","return"].forEach(function(e){define(t,e,function(t){return this._invoke(e,t);});});}function AsyncIterator(t,e){function invoke(r,o,i,a){var c=tryCatch(t[r],t,o);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==_typeof(h)&&n.call(h,"__await")?e.resolve(h.__await).then(function(t){invoke("next",t,i,a);},function(t){invoke("throw",t,i,a);}):e.resolve(h).then(function(t){u.value=t,i(u);},function(t){return invoke("throw",t,i,a);});}a(c.arg);}var r;o(this,"_invoke",{value:function value(t,n){function callInvokeWithMethodAndArg(){return new e(function(e,r){invoke(t,n,e,r);});}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg();}});}function makeInvokeMethod(e,r,n){var o=h;return function(i,a){if(o===f)throw Error("Generator is already running");if(o===s){if("throw"===i)throw a;return{value:t,done:!0};}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=maybeInvokeDelegate(c,n);if(u){if(u===y)continue;return u;}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=s,n.arg;n.dispatchException(n.arg);}else"return"===n.method&&n.abrupt("return",n.arg);o=f;var p=tryCatch(e,r,n);if("normal"===p.type){if(o=n.done?s:l,p.arg===y)continue;return{value:p.arg,done:n.done};}"throw"===p.type&&(o=s,n.method="throw",n.arg=p.arg);}};}function maybeInvokeDelegate(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator["return"]&&(r.method="return",r.arg=t,maybeInvokeDelegate(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=tryCatch(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y);}function pushTryEntry(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e);}function resetTryEntry(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e;}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0);}function values(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function next(){for(;++o<e.length;)if(n.call(e,o))return next.value=e[o],next.done=!1,next;return next.value=t,next.done=!0,next;};return i.next=i;}}throw new TypeError(_typeof(e)+" is not iterable");}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(g,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===GeneratorFunction||"GeneratorFunction"===(e.displayName||e.name));},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,u,"GeneratorFunction")),t.prototype=Object.create(g),t;},e.awrap=function(t){return{__await:t};},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,c,function(){return this;}),e.AsyncIterator=AsyncIterator,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new AsyncIterator(wrap(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next();});},defineIteratorMethods(g),define(g,u,"Generator"),define(g,a,function(){return this;}),define(g,"toString",function(){return"[object Generator]";}),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in e)return next.value=t,next.done=!1,next;}return next.done=!0,next;};},e.values=values,Context.prototype={constructor:Context,reset:function reset(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t);},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval;},dispatchException:function dispatchException(e){if(this.done)throw e;var r=this;function handle(n,o){return a.type="throw",a.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o;}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return handle("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}else if(c){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}}}},abrupt:function abrupt(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break;}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a);},complete:function complete(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y;},finish:function finish(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),y;}},"catch":function _catch(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;resetTryEntry(r);}return o;}}throw Error("illegal catch attempt");},delegateYield:function delegateYield(e,r,n){return this.delegate={iterator:values(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y;}},e;}function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value;}catch(n){return void e(n);}i.done?t(u):Promise.resolve(u).then(r,o);}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n);}function _throw(n){asyncGeneratorStep(a,r,o,_next,_throw,"throw",n);}_next(void 0);});};}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:[function(_floatingUiDom001CjsJs){t=_floatingUiDom001CjsJs.c;i=_floatingUiDom001CjsJs.o;s=_floatingUiDom001CjsJs.s;e=_floatingUiDom001CjsJs.f;o=_floatingUiDom001CjsJs.a;n=_floatingUiDom001CjsJs.p;a=_floatingUiDom001CjsJs.b;},function(_nileSelectPortalUtilsCjsJs){h=_nileSelectPortalUtilsCjsJs.P;}],execute:function execute(){_export("P",l=/*#__PURE__*/function(){function l(t){_classCallCheck(this,l);this.portalContainer=null,this.originalListboxParent=null,this.measuredPopupHeight=null,this.cleanupAutoUpdate=null,this.currentPlacement="bottom",this.currentMiddlewareData=null,this.component=t;}return _createClass(l,[{key:"createPortalAppendContainer",value:function createPortalAppendContainer(){var t=document.createElement("div");return t.style.position="absolute",t.style.zIndex="9999",t.style.pointerEvents="none",t.className="nile-virtual-select-portal-append",t;}},{key:"positionPortalAppend",value:function positionPortalAppend(){this.portalContainer&&this.component.popup&&(this.measurePopupHeight(),this.computeFloatingUIPosition());}},{key:"measurePopupHeight",value:function measurePopupHeight(){!this.measuredPopupHeight&&this.portalContainer&&(this.portalContainer.style.position="absolute",this.portalContainer.style.visibility="hidden",this.portalContainer.style.top="0px",this.portalContainer.style.left="0px",this.portalContainer.offsetHeight,this.measuredPopupHeight=this.portalContainer.offsetHeight,this.portalContainer.style.visibility="");}},{key:"computeFloatingUIPosition",value:function(){var _computeFloatingUIPosition=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){var t,i,_yield$this$calculate,_s,_e,_o,_n;return _regeneratorRuntime().wrap(function _callee$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:if(this.portalContainer){_context2.next=2;break;}return _context2.abrupt("return");case 2:t=this.component.combobox||this.component,i=this.portalContainer;_context2.prev=3;_context2.next=6;return this.calculateFloatingUIPosition(t,i);case 6:_yield$this$calculate=_context2.sent;_s=_yield$this$calculate.x;_e=_yield$this$calculate.y;_o=_yield$this$calculate.placement;_n=_yield$this$calculate.middlewareData;this.applyFloatingUIPosition(i,t,_s,_e,_o,_n);_context2.next=17;break;case 14:_context2.prev=14;_context2.t0=_context2["catch"](3);console.warn("Floating UI positioning failed, falling back to simple positioning:",_context2.t0),this.fallbackPositioning();case 17:case"end":return _context2.stop();}},_callee,this,[[3,14]]);}));function computeFloatingUIPosition(){return _computeFloatingUIPosition.apply(this,arguments);}return computeFloatingUIPosition;}()},{key:"calculateFloatingUIPosition",value:function(){var _calculateFloatingUIPosition=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(i,s){var e,o,n;return _regeneratorRuntime().wrap(function _callee2$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:e=h.findBoundaryElements(i),o=h.getOptimalPlacement(i),n=this.createFloatingUIMiddleware(e);_context3.next=3;return t(i,s,{placement:o,strategy:"fixed",middleware:n,platform:this.createCustomPlatform()});case 3:return _context3.abrupt("return",_context3.sent);case 4:case"end":return _context3.stop();}},_callee2,this);}));function calculateFloatingUIPosition(_x,_x2){return _calculateFloatingUIPosition.apply(this,arguments);}return calculateFloatingUIPosition;}()},{key:"createFloatingUIMiddleware",value:function createFloatingUIMiddleware(t){return[i(4),s({apply:this.handleSizeMiddleware.bind(this),padding:10,boundary:t}),e({fallbackPlacements:["bottom","top","bottom-start","top-start","bottom-end","top-end"],fallbackStrategy:"bestFit",padding:10,boundary:t}),o({padding:10,crossAxis:!0,boundary:t})];}},{key:"handleSizeMiddleware",value:function handleSizeMiddleware(_ref){var t=_ref.availableWidth,i=_ref.availableHeight,s=_ref.elements,e=_ref.rects;var o=h.calculateOptimalHeight(e.reference,window.innerHeight,this.currentPlacement);s.floating.style.maxWidth="".concat(t,"px"),s.floating.style.maxHeight="".concat(o,"px"),s.floating.style.setProperty("--auto-size-available-width","".concat(t,"px")),s.floating.style.setProperty("--auto-size-available-height","".concat(o,"px"));}},{key:"createCustomPlatform",value:function createCustomPlatform(){return n;}},{key:"applyFloatingUIPosition",value:function applyFloatingUIPosition(t,i,s,e,o,n){Object.assign(t.style,{left:"".concat(s,"px"),top:"".concat(e,"px"),position:"fixed",pointerEvents:"auto"}),this.currentPlacement=o,this.currentMiddlewareData=n,h.applyCollisionData(t,n,o);var a=o.split("-")[0];t.className="nile-virtual-select-portal-append select__listbox--".concat(a);var _l=i.getBoundingClientRect();t.style.width="".concat(_l.width,"px");}},{key:"fallbackPositioning",value:function fallbackPositioning(){if(!this.portalContainer)return;var t=(this.component.combobox||this.component).getBoundingClientRect(),i=window.innerHeight;this.measuredPopupHeight;var s=i-t.bottom,e=t.top;var o,n,a;e>s?(a=Math.max(e-20,100),o=Math.max(t.top-a-4,10),n="top"):(a=Math.max(s-20,100),o=t.bottom+4,n="bottom"),this.portalContainer.style.left="".concat(t.left,"px"),this.portalContainer.style.top="".concat(o,"px"),this.portalContainer.style.width="".concat(t.width,"px"),this.portalContainer.style.maxHeight="".concat(a,"px"),this.portalContainer.style.pointerEvents="auto",this.portalContainer.className="nile-virtual-select-portal-append select__listbox--".concat(n),this.calculateAndSetAutoSizeProperties(t,o,n);}},{key:"calculateAndSetAutoSizeProperties",value:function calculateAndSetAutoSizeProperties(t,i,s){if(!this.portalContainer)return;var e=window.innerHeight,o=window.innerWidth;var n;n="top"===s?t.top-10:e-t.bottom-10;var a=Math.min(t.width,o-t.left-10);this.portalContainer.style.setProperty("--auto-size-available-height","".concat(Math.max(n,100),"px")),this.portalContainer.style.setProperty("--auto-size-available-width","".concat(Math.max(a,200),"px"));}},{key:"updatePortalAppendPosition",value:function updatePortalAppendPosition(){this.component.portal&&this.portalContainer&&this.positionPortalAppend();}},{key:"handleWindowResize",value:function handleWindowResize(){this.component.portal&&this.portalContainer&&this.positionPortalAppend();}},{key:"setupAutoUpdatePositioning",value:function setupAutoUpdatePositioning(){var _this=this;this.portalContainer&&this.component&&(this.cleanupAutoUpdatePositioning(),this.cleanupAutoUpdate=a(this.component,this.portalContainer,function(){_this.computeFloatingUIPosition();},{ancestorScroll:!0,ancestorResize:!0,elementResize:!0,layoutShift:!0,animationFrame:!0}));}},{key:"cleanupAutoUpdatePositioning",value:function cleanupAutoUpdatePositioning(){this.cleanupAutoUpdate&&(this.cleanupAutoUpdate(),this.cleanupAutoUpdate=null);}},{key:"extractStylesAsCSS",value:function extractStylesAsCSS(t){var _this2=this;return"string"==typeof t?t:Array.isArray(t)?t.map(function(t){return _this2.extractStylesAsCSS(t);}).join("\n"):t&&"object"==_typeof(t)&&t.cssText?t.cssText:"";}},{key:"injectStylesToDocument",value:function injectStylesToDocument(){if(!this.portalContainer)return;var t="nile-virtual-select-styles-".concat(Math.random().toString(36).substring(2,11));if(document.getElementById(t))return;var i=this.component.constructor.styles;if(!i)return;var s=document.createElement("style");s.id=t,s.textContent=this.extractStylesAsCSS(i),document.head.appendChild(s),this.portalContainer.t=t;}},{key:"adoptStylesToPortalAppend",value:function adoptStylesToPortalAppend(){this.portalContainer&&this.injectStylesToDocument();}},{key:"setupPortalAppend",value:function setupPortalAppend(){var _this3=this;this.component.portal&&this.component.updateComplete.then(function(){var _this3$component$shad;var t=(_this3$component$shad=_this3.component.shadowRoot)===null||_this3$component$shad===void 0?void 0:_this3$component$shad.querySelector("#listbox");t&&(_this3.originalListboxParent=t.parentElement,_this3.portalContainer=_this3.createPortalAppendContainer(),_this3.portalContainer.appendChild(t),document.body.appendChild(_this3.portalContainer),_this3.adoptStylesToPortalAppend(),t.style.display="",_this3.positionPortalAppend(),_this3.setupAutoUpdatePositioning(),window.addEventListener("resize",_this3.handleWindowResize.bind(_this3)));});}},{key:"cleanupPortalAppend",value:function cleanupPortalAppend(){if(this.cleanupAutoUpdatePositioning(),this.portalContainer&&this.portalContainer.parentNode){var _t=this.portalContainer.querySelector("#listbox");_t&&this.originalListboxParent&&(this.originalListboxParent.appendChild(_t),_t.style.display=this.component.portal?"none":"");var _i=this.portalContainer.t;if(_i){var _t2=document.getElementById(_i);_t2&&_t2.remove();}this.portalContainer.parentNode.removeChild(this.portalContainer);}window.removeEventListener("resize",this.handleWindowResize.bind(this)),this.portalContainer=null,this.originalListboxParent=null,this.measuredPopupHeight=null,this.currentPlacement="bottom",this.currentMiddlewareData=null;}},{key:"resetScrollPosition",value:function(){var _resetScrollPosition=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(){var _this4=this;return _regeneratorRuntime().wrap(function _callee3$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return this.component.updateComplete;case 2:requestAnimationFrame(function(){var _this4$component$shad;var t=null;if(t=_this4.component.portal&&_this4.portalContainer?_this4.portalContainer.querySelector("#listbox"):(_this4$component$shad=_this4.component.shadowRoot)===null||_this4$component$shad===void 0?void 0:_this4$component$shad.querySelector("#listbox"),!t||!t.isConnected)return;t.scrollTop=0;var i=t.querySelector(".virtualized");if(i&&i.isConnected){var _this4$component$data;((_this4$component$data=_this4.component.data)===null||_this4$component$data===void 0?void 0:_this4$component$data.length)<=5?(i.style.overflowY="hidden",i.style.maxHeight="none",t.style.overflowY="hidden",t.style.maxHeight="fit-content"):(i.style.overflowY="auto",i.style.maxHeight="",t.style.overflowY="auto",t.style.maxHeight=""),i.scrollTop=0;}var s=t.querySelector("lit-virtualizer");s&&s.isConnected&&(s.scrollTop=0);});case 3:case"end":return _context4.stop();}},_callee3,this);}));function resetScrollPosition(){return _resetScrollPosition.apply(this,arguments);}return resetScrollPosition;}()},{key:"portalContainerElement",get:function get(){return this.portalContainer;}},{key:"resetMeasuredHeight",value:function resetMeasuredHeight(){this.measuredPopupHeight=null;}},{key:"forceReposition",value:function forceReposition(){this.portalContainer&&this.computeFloatingUIPosition();}},{key:"getCurrentPlacement",value:function getCurrentPlacement(){return this.currentPlacement;}},{key:"getCurrentMiddlewareData",value:function getCurrentMiddlewareData(){return this.currentMiddlewareData;}},{key:"isUsingFloatingUI",value:function isUsingFloatingUI(){return null!==this.cleanupAutoUpdate;}},{key:"handleViewportChange",value:function handleViewportChange(){this.portalContainer&&(this.resetMeasuredHeight(),this.forceReposition());}},{key:"isPositioningOptimal",value:function isPositioningOptimal(){if(!this.portalContainer||!this.currentMiddlewareData)return!0;var t=(this.component.combobox||this.component).getBoundingClientRect(),i=window.innerHeight-t.bottom,s=t.top,e=this.currentPlacement.startsWith("top"),o=this.currentPlacement.startsWith("bottom");return!(e&&i>s)&&!(o&&s>i);}}]);}());}};});
|
|
1
|
+
System.register(["../floating-ui.dom-007bbe96.cjs.js","../nile-select/portal-utils.cjs.js"],function(_export,_context){"use strict";var t,i,s,e,o,n,a,h,l;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 _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */_regeneratorRuntime=function _regeneratorRuntime(){return e;};var t,e={},r=Object.prototype,n=r.hasOwnProperty,o=Object.defineProperty||function(t,e,r){t[e]=r.value;},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",c=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function define(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e];}try{define({},"");}catch(t){define=function define(t,e,r){return t[e]=r;};}function wrap(t,e,r,n){var i=e&&e.prototype instanceof Generator?e:Generator,a=Object.create(i.prototype),c=new Context(n||[]);return o(a,"_invoke",{value:makeInvokeMethod(t,r,c)}),a;}function tryCatch(t,e,r){try{return{type:"normal",arg:t.call(e,r)};}catch(t){return{type:"throw",arg:t};}}e.wrap=wrap;var h="suspendedStart",l="suspendedYield",f="executing",s="completed",y={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var p={};define(p,a,function(){return this;});var d=Object.getPrototypeOf,v=d&&d(d(values([])));v&&v!==r&&n.call(v,a)&&(p=v);var g=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(p);function defineIteratorMethods(t){["next","throw","return"].forEach(function(e){define(t,e,function(t){return this._invoke(e,t);});});}function AsyncIterator(t,e){function invoke(r,o,i,a){var c=tryCatch(t[r],t,o);if("throw"!==c.type){var u=c.arg,h=u.value;return h&&"object"==_typeof(h)&&n.call(h,"__await")?e.resolve(h.__await).then(function(t){invoke("next",t,i,a);},function(t){invoke("throw",t,i,a);}):e.resolve(h).then(function(t){u.value=t,i(u);},function(t){return invoke("throw",t,i,a);});}a(c.arg);}var r;o(this,"_invoke",{value:function value(t,n){function callInvokeWithMethodAndArg(){return new e(function(e,r){invoke(t,n,e,r);});}return r=r?r.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg();}});}function makeInvokeMethod(e,r,n){var o=h;return function(i,a){if(o===f)throw Error("Generator is already running");if(o===s){if("throw"===i)throw a;return{value:t,done:!0};}for(n.method=i,n.arg=a;;){var c=n.delegate;if(c){var u=maybeInvokeDelegate(c,n);if(u){if(u===y)continue;return u;}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===h)throw o=s,n.arg;n.dispatchException(n.arg);}else"return"===n.method&&n.abrupt("return",n.arg);o=f;var p=tryCatch(e,r,n);if("normal"===p.type){if(o=n.done?s:l,p.arg===y)continue;return{value:p.arg,done:n.done};}"throw"===p.type&&(o=s,n.method="throw",n.arg=p.arg);}};}function maybeInvokeDelegate(e,r){var n=r.method,o=e.iterator[n];if(o===t)return r.delegate=null,"throw"===n&&e.iterator["return"]&&(r.method="return",r.arg=t,maybeInvokeDelegate(e,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),y;var i=tryCatch(o,e.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,y;var a=i.arg;return a?a.done?(r[e.resultName]=a.value,r.next=e.nextLoc,"return"!==r.method&&(r.method="next",r.arg=t),r.delegate=null,y):a:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,y);}function pushTryEntry(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e);}function resetTryEntry(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e;}function Context(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(pushTryEntry,this),this.reset(!0);}function values(e){if(e||""===e){var r=e[a];if(r)return r.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var o=-1,i=function next(){for(;++o<e.length;)if(n.call(e,o))return next.value=e[o],next.done=!1,next;return next.value=t,next.done=!0,next;};return i.next=i;}}throw new TypeError(_typeof(e)+" is not iterable");}return GeneratorFunction.prototype=GeneratorFunctionPrototype,o(g,"constructor",{value:GeneratorFunctionPrototype,configurable:!0}),o(GeneratorFunctionPrototype,"constructor",{value:GeneratorFunction,configurable:!0}),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,u,"GeneratorFunction"),e.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===GeneratorFunction||"GeneratorFunction"===(e.displayName||e.name));},e.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,GeneratorFunctionPrototype):(t.__proto__=GeneratorFunctionPrototype,define(t,u,"GeneratorFunction")),t.prototype=Object.create(g),t;},e.awrap=function(t){return{__await:t};},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,c,function(){return this;}),e.AsyncIterator=AsyncIterator,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new AsyncIterator(wrap(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then(function(t){return t.done?t.value:a.next();});},defineIteratorMethods(g),define(g,u,"Generator"),define(g,a,function(){return this;}),define(g,"toString",function(){return"[object Generator]";}),e.keys=function(t){var e=Object(t),r=[];for(var n in e)r.push(n);return r.reverse(),function next(){for(;r.length;){var t=r.pop();if(t in e)return next.value=t,next.done=!1,next;}return next.done=!0,next;};},e.values=values,Context.prototype={constructor:Context,reset:function reset(e){if(this.prev=0,this.next=0,this.sent=this._sent=t,this.done=!1,this.delegate=null,this.method="next",this.arg=t,this.tryEntries.forEach(resetTryEntry),!e)for(var r in this)"t"===r.charAt(0)&&n.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=t);},stop:function stop(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval;},dispatchException:function dispatchException(e){if(this.done)throw e;var r=this;function handle(n,o){return a.type="throw",a.arg=e,r.next=n,o&&(r.method="next",r.arg=t),!!o;}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return handle("end");if(i.tryLoc<=this.prev){var c=n.call(i,"catchLoc"),u=n.call(i,"finallyLoc");if(c&&u){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}else if(c){if(this.prev<i.catchLoc)return handle(i.catchLoc,!0);}else{if(!u)throw Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return handle(i.finallyLoc);}}}},abrupt:function abrupt(t,e){for(var r=this.tryEntries.length-1;r>=0;--r){var o=this.tryEntries[r];if(o.tryLoc<=this.prev&&n.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break;}}i&&("break"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=t,a.arg=e,i?(this.method="next",this.next=i.finallyLoc,y):this.complete(a);},complete:function complete(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),y;},finish:function finish(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),resetTryEntry(r),y;}},"catch":function _catch(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;resetTryEntry(r);}return o;}}throw Error("illegal catch attempt");},delegateYield:function delegateYield(e,r,n){return this.delegate={iterator:values(e),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=t),y;}},e;}function asyncGeneratorStep(n,t,e,r,o,a,c){try{var i=n[a](c),u=i.value;}catch(n){return void e(n);}i.done?t(u):Promise.resolve(u).then(r,o);}function _asyncToGenerator(n){return function(){var t=this,e=arguments;return new Promise(function(r,o){var a=n.apply(t,e);function _next(n){asyncGeneratorStep(a,r,o,_next,_throw,"next",n);}function _throw(n){asyncGeneratorStep(a,r,o,_next,_throw,"throw",n);}_next(void 0);});};}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:[function(_floatingUiDom001CjsJs){t=_floatingUiDom001CjsJs.c;i=_floatingUiDom001CjsJs.o;s=_floatingUiDom001CjsJs.s;e=_floatingUiDom001CjsJs.f;o=_floatingUiDom001CjsJs.a;n=_floatingUiDom001CjsJs.p;a=_floatingUiDom001CjsJs.b;},function(_nileSelectPortalUtilsCjsJs){h=_nileSelectPortalUtilsCjsJs.P;}],execute:function execute(){_export("P",l=/*#__PURE__*/function(){function l(t){_classCallCheck(this,l);this.portalContainer=null,this.originalListboxParent=null,this.measuredPopupHeight=null,this.cleanupAutoUpdate=null,this.currentPlacement="bottom",this.currentMiddlewareData=null,this.component=t;}return _createClass(l,[{key:"createPortalAppendContainer",value:function createPortalAppendContainer(){var t=document.createElement("div");return t.style.position="absolute",t.style.zIndex="9999",t.style.pointerEvents="none",t.className="nile-virtual-select-portal-append",t;}},{key:"positionPortalAppend",value:function positionPortalAppend(){this.portalContainer&&this.component.popup&&(this.measurePopupHeight(),this.computeFloatingUIPosition());}},{key:"measurePopupHeight",value:function measurePopupHeight(){!this.measuredPopupHeight&&this.portalContainer&&(this.portalContainer.style.position="absolute",this.portalContainer.style.visibility="hidden",this.portalContainer.style.top="0px",this.portalContainer.style.left="0px",this.portalContainer.offsetHeight,this.measuredPopupHeight=this.portalContainer.offsetHeight,this.portalContainer.style.visibility="");}},{key:"computeFloatingUIPosition",value:function(){var _computeFloatingUIPosition=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(){var t,i,_yield$this$calculate,_s,_e,_o,_n;return _regeneratorRuntime().wrap(function _callee$(_context2){while(1)switch(_context2.prev=_context2.next){case 0:if(this.portalContainer){_context2.next=2;break;}return _context2.abrupt("return");case 2:t=this.component.combobox||this.component,i=this.portalContainer;_context2.prev=3;_context2.next=6;return this.calculateFloatingUIPosition(t,i);case 6:_yield$this$calculate=_context2.sent;_s=_yield$this$calculate.x;_e=_yield$this$calculate.y;_o=_yield$this$calculate.placement;_n=_yield$this$calculate.middlewareData;this.applyFloatingUIPosition(i,t,_s,_e,_o,_n);_context2.next=17;break;case 14:_context2.prev=14;_context2.t0=_context2["catch"](3);console.warn("Floating UI positioning failed, falling back to simple positioning:",_context2.t0),this.fallbackPositioning();case 17:case"end":return _context2.stop();}},_callee,this,[[3,14]]);}));function computeFloatingUIPosition(){return _computeFloatingUIPosition.apply(this,arguments);}return computeFloatingUIPosition;}()},{key:"calculateFloatingUIPosition",value:function(){var _calculateFloatingUIPosition=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(i,s){var e,o,n;return _regeneratorRuntime().wrap(function _callee2$(_context3){while(1)switch(_context3.prev=_context3.next){case 0:e=h.findBoundaryElements(i),o=h.getOptimalPlacement(i),n=this.createFloatingUIMiddleware(e);_context3.next=3;return t(i,s,{placement:o,strategy:"fixed",middleware:n,platform:this.createCustomPlatform()});case 3:return _context3.abrupt("return",_context3.sent);case 4:case"end":return _context3.stop();}},_callee2,this);}));function calculateFloatingUIPosition(_x,_x2){return _calculateFloatingUIPosition.apply(this,arguments);}return calculateFloatingUIPosition;}()},{key:"createFloatingUIMiddleware",value:function createFloatingUIMiddleware(t){return[i(4),s({apply:this.handleSizeMiddleware.bind(this),padding:10,boundary:t}),e({fallbackPlacements:["bottom","top","bottom-start","top-start","bottom-end","top-end"],fallbackStrategy:"bestFit",padding:10,boundary:t}),o({padding:10,crossAxis:!0,boundary:t})];}},{key:"handleSizeMiddleware",value:function handleSizeMiddleware(_ref){var t=_ref.availableWidth,i=_ref.availableHeight,s=_ref.elements,e=_ref.rects;var o=h.calculateOptimalHeight(e.reference,window.innerHeight,this.currentPlacement);s.floating.style.maxWidth="".concat(t,"px"),s.floating.style.maxHeight="".concat(o,"px"),s.floating.style.setProperty("--auto-size-available-width","".concat(t,"px")),s.floating.style.setProperty("--auto-size-available-height","".concat(o,"px"));}},{key:"createCustomPlatform",value:function createCustomPlatform(){return n;}},{key:"applyFloatingUIPosition",value:function applyFloatingUIPosition(t,i,s,e,o,n){Object.assign(t.style,{left:"".concat(s,"px"),top:"".concat(e,"px"),position:"fixed",pointerEvents:"auto"}),this.currentPlacement=o,this.currentMiddlewareData=n,h.applyCollisionData(t,n,o);var a=o.split("-")[0];t.className="nile-virtual-select-portal-append select__listbox--".concat(a);var _l=i.getBoundingClientRect();t.style.width="".concat(_l.width,"px");}},{key:"fallbackPositioning",value:function fallbackPositioning(){if(!this.portalContainer)return;var t=(this.component.combobox||this.component).getBoundingClientRect(),i=window.innerHeight;this.measuredPopupHeight;var s=i-t.bottom,e=t.top;var o,n,a;e>s?(a=Math.max(e-20,100),o=Math.max(t.top-a-4,10),n="top"):(a=Math.max(s-20,100),o=t.bottom+4,n="bottom"),this.portalContainer.style.left="".concat(t.left,"px"),this.portalContainer.style.top="".concat(o,"px"),this.portalContainer.style.width="".concat(t.width,"px"),this.portalContainer.style.maxHeight="".concat(a,"px"),this.portalContainer.style.pointerEvents="auto",this.portalContainer.className="nile-virtual-select-portal-append select__listbox--".concat(n),this.calculateAndSetAutoSizeProperties(t,o,n);}},{key:"calculateAndSetAutoSizeProperties",value:function calculateAndSetAutoSizeProperties(t,i,s){if(!this.portalContainer)return;var e=window.innerHeight,o=window.innerWidth;var n;n="top"===s?t.top-10:e-t.bottom-10;var a=Math.min(t.width,o-t.left-10);this.portalContainer.style.setProperty("--auto-size-available-height","".concat(Math.max(n,100),"px")),this.portalContainer.style.setProperty("--auto-size-available-width","".concat(Math.max(a,200),"px"));}},{key:"updatePortalAppendPosition",value:function updatePortalAppendPosition(){this.component.portal&&this.portalContainer&&this.positionPortalAppend();}},{key:"handleWindowResize",value:function handleWindowResize(){this.component.portal&&this.portalContainer&&this.positionPortalAppend();}},{key:"setupAutoUpdatePositioning",value:function setupAutoUpdatePositioning(){var _this=this;this.portalContainer&&this.component&&(this.cleanupAutoUpdatePositioning(),this.cleanupAutoUpdate=a(this.component,this.portalContainer,function(){_this.computeFloatingUIPosition();},{ancestorScroll:!0,ancestorResize:!0,elementResize:!0,layoutShift:!0,animationFrame:!0}));}},{key:"cleanupAutoUpdatePositioning",value:function cleanupAutoUpdatePositioning(){this.cleanupAutoUpdate&&(this.cleanupAutoUpdate(),this.cleanupAutoUpdate=null);}},{key:"extractStylesAsCSS",value:function extractStylesAsCSS(t){var _this2=this;return"string"==typeof t?t:Array.isArray(t)?t.map(function(t){return _this2.extractStylesAsCSS(t);}).join("\n"):t&&"object"==_typeof(t)&&t.cssText?t.cssText:"";}},{key:"injectStylesToDocument",value:function injectStylesToDocument(){if(!this.portalContainer)return;var t="nile-virtual-select-styles-".concat(Math.random().toString(36).substring(2,11));if(document.getElementById(t))return;var i=this.component.constructor.styles;if(!i)return;var s=document.createElement("style");s.id=t,s.textContent=this.extractStylesAsCSS(i),document.head.appendChild(s),this.portalContainer.t=t;}},{key:"adoptStylesToPortalAppend",value:function adoptStylesToPortalAppend(){this.portalContainer&&this.injectStylesToDocument();}},{key:"setupPortalAppend",value:function setupPortalAppend(){var _this3=this;this.component.portal&&this.component.updateComplete.then(function(){var _this3$component$shad;var t=(_this3$component$shad=_this3.component.shadowRoot)===null||_this3$component$shad===void 0?void 0:_this3$component$shad.querySelector("#listbox");t&&(_this3.originalListboxParent=t.parentElement,_this3.portalContainer=_this3.createPortalAppendContainer(),_this3.portalContainer.appendChild(t),document.body.appendChild(_this3.portalContainer),_this3.adoptStylesToPortalAppend(),t.style.display="",_this3.positionPortalAppend(),_this3.setupAutoUpdatePositioning(),window.addEventListener("resize",_this3.handleWindowResize.bind(_this3)));});}},{key:"cleanupPortalAppend",value:function cleanupPortalAppend(){if(this.cleanupAutoUpdatePositioning(),this.portalContainer&&this.portalContainer.parentNode){var _t=this.portalContainer.querySelector("#listbox");_t&&this.originalListboxParent&&(this.originalListboxParent.appendChild(_t),_t.style.display=this.component.portal?"none":"");var _i=this.portalContainer.t;if(_i){var _t2=document.getElementById(_i);_t2&&_t2.remove();}this.portalContainer.parentNode.removeChild(this.portalContainer);}window.removeEventListener("resize",this.handleWindowResize.bind(this)),this.portalContainer=null,this.originalListboxParent=null,this.measuredPopupHeight=null,this.currentPlacement="bottom",this.currentMiddlewareData=null;}},{key:"resetScrollPosition",value:function(){var _resetScrollPosition=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3(){var _this4=this;return _regeneratorRuntime().wrap(function _callee3$(_context4){while(1)switch(_context4.prev=_context4.next){case 0:_context4.next=2;return this.component.updateComplete;case 2:requestAnimationFrame(function(){var _this4$component$shad;var t=null;if(t=_this4.component.portal&&_this4.portalContainer?_this4.portalContainer.querySelector("#listbox"):(_this4$component$shad=_this4.component.shadowRoot)===null||_this4$component$shad===void 0?void 0:_this4$component$shad.querySelector("#listbox"),!t||!t.isConnected)return;t.scrollTop=0;var i=t.querySelector(".virtualized");if(i&&i.isConnected){var _this4$component$data;((_this4$component$data=_this4.component.data)===null||_this4$component$data===void 0?void 0:_this4$component$data.length)<5?(i.style.overflowY="hidden",i.style.maxHeight="none",t.style.overflowY="hidden",t.style.maxHeight="fit-content"):(i.style.overflowY="auto",i.style.maxHeight="",t.style.overflowY="auto",t.style.maxHeight=""),i.scrollTop=0;}var s=t.querySelector("lit-virtualizer");s&&s.isConnected&&(s.scrollTop=0);});case 3:case"end":return _context4.stop();}},_callee3,this);}));function resetScrollPosition(){return _resetScrollPosition.apply(this,arguments);}return resetScrollPosition;}()},{key:"portalContainerElement",get:function get(){return this.portalContainer;}},{key:"resetMeasuredHeight",value:function resetMeasuredHeight(){this.measuredPopupHeight=null;}},{key:"forceReposition",value:function forceReposition(){this.portalContainer&&this.computeFloatingUIPosition();}},{key:"getCurrentPlacement",value:function getCurrentPlacement(){return this.currentPlacement;}},{key:"getCurrentMiddlewareData",value:function getCurrentMiddlewareData(){return this.currentMiddlewareData;}},{key:"isUsingFloatingUI",value:function isUsingFloatingUI(){return null!==this.cleanupAutoUpdate;}},{key:"handleViewportChange",value:function handleViewportChange(){this.portalContainer&&(this.resetMeasuredHeight(),this.forceReposition());}},{key:"isPositioningOptimal",value:function isPositioningOptimal(){if(!this.portalContainer||!this.currentMiddlewareData)return!0;var t=(this.component.combobox||this.component).getBoundingClientRect(),i=window.innerHeight-t.bottom,s=t.top,e=this.currentPlacement.startsWith("top"),o=this.currentPlacement.startsWith("bottom");return!(e&&i>s)&&!(o&&s>i);}}]);}());}};});
|
|
2
2
|
//# sourceMappingURL=portal-manager.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"portal-manager.cjs.js","sources":["../../../src/nile-virtual-select/portal-manager.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { \n autoUpdate, \n computePosition, \n flip, \n offset, \n shift, \n size, \n platform,\n type Placement,\n type MiddlewareData,\n type ComputePositionConfig,\n type Boundary\n} from '@floating-ui/dom';\nimport { PortalUtils } from '../nile-select/portal-utils';\n\nexport class PortalManager {\n private portalContainer: HTMLElement | null = null;\n private originalListboxParent: HTMLElement | null = null;\n private measuredPopupHeight: number | null = null;\n private component: any;\n private cleanupAutoUpdate: (() => void) | null = null;\n private currentPlacement: Placement = 'bottom';\n private currentMiddlewareData: MiddlewareData | null = null;\n\n constructor(component: any) {\n this.component = component;\n }\n\n private createPortalAppendContainer(): HTMLElement {\n const container = document.createElement('div');\n container.style.position = 'absolute';\n container.style.zIndex = '9999';\n container.style.pointerEvents = 'none';\n container.className = 'nile-virtual-select-portal-append';\n return container;\n }\n\n positionPortalAppend(): void {\n if (!this.portalContainer || !this.component.popup) return;\n\n this.measurePopupHeight();\n this.computeFloatingUIPosition();\n }\n\n private measurePopupHeight(): void {\n if (this.measuredPopupHeight || !this.portalContainer) return;\n\n // Temporarily position the container to measure its height\n this.portalContainer.style.position = 'absolute';\n this.portalContainer.style.visibility = 'hidden';\n this.portalContainer.style.top = '0px';\n this.portalContainer.style.left = '0px';\n \n // Force a reflow to ensure the container is rendered\n this.portalContainer.offsetHeight;\n \n // Measure the actual height\n this.measuredPopupHeight = this.portalContainer.offsetHeight;\n \n // Reset visibility\n this.portalContainer.style.visibility = '';\n }\n\n\n private async computeFloatingUIPosition(): Promise<void> {\n if (!this.portalContainer) return;\n\n const referenceElement = this.component.combobox || this.component;\n const floatingElement = this.portalContainer;\n\n try {\n const { x, y, placement, middlewareData } = await this.calculateFloatingUIPosition(\n referenceElement,\n floatingElement\n );\n\n this.applyFloatingUIPosition(floatingElement, referenceElement, x, y, placement, middlewareData);\n\n } catch (error) {\n console.warn('Floating UI positioning failed, falling back to simple positioning:', error);\n this.fallbackPositioning();\n }\n }\n\n private async calculateFloatingUIPosition(\n referenceElement: HTMLElement,\n floatingElement: HTMLElement\n ): Promise<{ x: number; y: number; placement: Placement; middlewareData: MiddlewareData }> {\n const boundary = PortalUtils.findBoundaryElements(referenceElement);\n const initialPlacement = PortalUtils.getOptimalPlacement(referenceElement);\n const middleware = this.createFloatingUIMiddleware(boundary);\n\n return await computePosition(referenceElement, floatingElement, {\n placement: initialPlacement,\n strategy: 'fixed',\n middleware,\n platform: this.createCustomPlatform()\n });\n }\n\n private createFloatingUIMiddleware(boundary: Element[] | undefined): ComputePositionConfig['middleware'] {\n return [\n offset(4),\n size({\n apply: this.handleSizeMiddleware.bind(this),\n padding: 10,\n boundary: boundary\n }),\n flip({\n fallbackPlacements: ['bottom', 'top', 'bottom-start', 'top-start', 'bottom-end', 'top-end'],\n fallbackStrategy: 'bestFit',\n padding: 10,\n boundary: boundary\n }),\n shift({\n padding: 10,\n crossAxis: true,\n boundary: boundary\n })\n ];\n }\n\n private handleSizeMiddleware({ availableWidth, availableHeight, elements, rects }: {\n availableWidth: number;\n availableHeight: number;\n elements: { floating: HTMLElement };\n rects: { reference: { x: number; y: number; width: number; height: number } };\n }): void {\n const maxHeight = PortalUtils.calculateOptimalHeight(\n rects.reference,\n window.innerHeight,\n this.currentPlacement\n );\n\n elements.floating.style.maxWidth = `${availableWidth}px`;\n elements.floating.style.maxHeight = `${maxHeight}px`;\n \n elements.floating.style.setProperty('--auto-size-available-width', `${availableWidth}px`);\n elements.floating.style.setProperty('--auto-size-available-height', `${maxHeight}px`);\n }\n\n private createCustomPlatform() {\n return platform;\n }\n\n private applyFloatingUIPosition(\n floatingElement: HTMLElement,\n referenceElement: HTMLElement,\n x: number,\n y: number,\n placement: Placement,\n middlewareData: MiddlewareData\n ): void {\n Object.assign(floatingElement.style, {\n left: `${x}px`,\n top: `${y}px`,\n position: 'fixed',\n pointerEvents: 'auto'\n });\n\n this.currentPlacement = placement;\n this.currentMiddlewareData = middlewareData;\n \n PortalUtils.applyCollisionData(floatingElement, middlewareData, placement);\n \n const placementClass = placement.split('-')[0];\n floatingElement.className = `nile-virtual-select-portal-append select__listbox--${placementClass}`;\n\n const referenceRect = (referenceElement as HTMLElement).getBoundingClientRect();\n floatingElement.style.width = `${referenceRect.width}px`;\n }\n\n private fallbackPositioning(): void {\n if (!this.portalContainer) return;\n\n const referenceElement = this.component.combobox || this.component;\n const rect = referenceElement.getBoundingClientRect();\n const viewportHeight = window.innerHeight;\n const popupHeight = this.measuredPopupHeight || 200;\n \n const spaceBelow = viewportHeight - rect.bottom;\n const spaceAbove = rect.top;\n \n let topPosition: number;\n let placementClass: string;\n let maxHeight: number;\n \n if (spaceAbove > spaceBelow) {\n maxHeight = Math.max(spaceAbove - 20, 100);\n topPosition = Math.max(rect.top - maxHeight - 4, 10);\n placementClass = 'top';\n } else {\n maxHeight = Math.max(spaceBelow - 20, 100);\n topPosition = rect.bottom + 4;\n placementClass = 'bottom';\n }\n\n this.portalContainer.style.left = `${rect.left}px`;\n this.portalContainer.style.top = `${topPosition}px`;\n this.portalContainer.style.width = `${rect.width}px`;\n this.portalContainer.style.maxHeight = `${maxHeight}px`;\n this.portalContainer.style.pointerEvents = 'auto';\n this.portalContainer.className = `nile-virtual-select-portal-append select__listbox--${placementClass}`;\n \n this.calculateAndSetAutoSizeProperties(rect, topPosition, placementClass);\n }\n\n private calculateAndSetAutoSizeProperties(rect: DOMRect, topPosition: number, placementClass: string): void {\n if (!this.portalContainer) return;\n\n const viewportHeight = window.innerHeight;\n const viewportWidth = window.innerWidth;\n \n let availableHeight: number;\n if (placementClass === 'top') {\n availableHeight = rect.top - 10;\n } else {\n availableHeight = viewportHeight - rect.bottom - 10;\n }\n \n const availableWidth = Math.min(rect.width, viewportWidth - rect.left - 10);\n \n this.portalContainer.style.setProperty('--auto-size-available-height', `${Math.max(availableHeight, 100)}px`);\n this.portalContainer.style.setProperty('--auto-size-available-width', `${Math.max(availableWidth, 200)}px`);\n }\n\n updatePortalAppendPosition(): void {\n if (this.component.portal && this.portalContainer) {\n this.positionPortalAppend();\n }\n }\n\n handleWindowResize(): void {\n if (this.component.portal && this.portalContainer) {\n this.positionPortalAppend();\n }\n }\n\n private setupAutoUpdatePositioning(): void {\n if (!this.portalContainer || !this.component) return;\n\n this.cleanupAutoUpdatePositioning();\n\n this.cleanupAutoUpdate = autoUpdate(\n this.component,\n this.portalContainer,\n () => {\n this.computeFloatingUIPosition();\n },\n {\n ancestorScroll: true,\n ancestorResize: true,\n elementResize: true,\n layoutShift: true,\n animationFrame: true\n }\n );\n }\n\n private cleanupAutoUpdatePositioning(): void {\n if (this.cleanupAutoUpdate) {\n this.cleanupAutoUpdate();\n this.cleanupAutoUpdate = null;\n }\n }\n\n private extractStylesAsCSS(styles: any): string {\n if (typeof styles === 'string') {\n return styles;\n }\n \n if (Array.isArray(styles)) {\n return styles.map(style => this.extractStylesAsCSS(style)).join('\\n');\n }\n \n if (styles && typeof styles === 'object' && styles.cssText) {\n return styles.cssText;\n }\n \n return '';\n }\n\n private injectStylesToDocument(): void {\n if (!this.portalContainer) return;\n\n // Create a unique identifier for this component instance\n const styleId = `nile-virtual-select-styles-${Math.random().toString(36).substring(2, 11)}`;\n \n // Check if styles are already injected\n if (document.getElementById(styleId)) return;\n\n // Get the component's styles\n const componentStyles = (this.component.constructor as any).styles;\n if (!componentStyles) return;\n\n // Create a style element\n const styleElement = document.createElement('style');\n styleElement.id = styleId;\n styleElement.textContent = this.extractStylesAsCSS(componentStyles);\n \n // Inject into document head\n document.head.appendChild(styleElement);\n \n // Store reference for cleanup\n (this.portalContainer as any).__injectedStyleId = styleId;\n }\n\n private adoptStylesToPortalAppend(): void {\n if (!this.portalContainer) return;\n this.injectStylesToDocument();\n }\n\n setupPortalAppend(): void {\n if (!this.component.portal) return;\n\n this.component.updateComplete.then(() => {\n const listbox = this.component.shadowRoot?.querySelector('#listbox') as HTMLElement;\n if (listbox) {\n this.originalListboxParent = listbox.parentElement as HTMLElement;\n \n this.portalContainer = this.createPortalAppendContainer();\n this.portalContainer.appendChild(listbox);\n document.body.appendChild(this.portalContainer);\n \n // Adopt the component's styles to the body append container\n this.adoptStylesToPortalAppend();\n \n listbox.style.display = '';\n this.positionPortalAppend();\n \n this.setupAutoUpdatePositioning();\n \n window.addEventListener('resize', this.handleWindowResize.bind(this));\n }\n });\n }\n\n cleanupPortalAppend(): void {\n this.cleanupAutoUpdatePositioning();\n \n if (this.portalContainer && this.portalContainer.parentNode) {\n const listbox = this.portalContainer.querySelector('#listbox') as HTMLElement;\n \n if (listbox && this.originalListboxParent) {\n this.originalListboxParent.appendChild(listbox);\n listbox.style.display = this.component.portal ? 'none' : '';\n }\n \n // Clean up injected styles if they exist\n const injectedStyleId = (this.portalContainer as any).__injectedStyleId;\n if (injectedStyleId) {\n const styleElement = document.getElementById(injectedStyleId);\n if (styleElement) {\n styleElement.remove();\n }\n }\n \n this.portalContainer.parentNode.removeChild(this.portalContainer);\n }\n \n window.removeEventListener('resize', this.handleWindowResize.bind(this));\n \n this.portalContainer = null;\n this.originalListboxParent = null;\n this.measuredPopupHeight = null;\n this.currentPlacement = 'bottom';\n this.currentMiddlewareData = null;\n }\n\n async resetScrollPosition(): Promise<void> {\n await this.component.updateComplete;\n\n requestAnimationFrame(() => {\n let listbox: HTMLElement | null = null;\n\n if (this.component.portal && this.portalContainer) {\n listbox = this.portalContainer.querySelector('#listbox') as HTMLElement;\n } else {\n listbox = this.component.shadowRoot?.querySelector('#listbox') as HTMLElement;\n }\n\n if (!listbox || !listbox.isConnected) return;\n listbox.scrollTop = 0;\n\n const virtualized = listbox.querySelector('.virtualized') as HTMLElement;\n if (virtualized && virtualized.isConnected) {\n const fewItems = this.component.data?.length <= 5;\n\n if (fewItems) {\n virtualized.style.overflowY = 'hidden';\n virtualized.style.maxHeight = 'none';\n listbox.style.overflowY = 'hidden';\n listbox.style.maxHeight = 'fit-content';\n } else {\n virtualized.style.overflowY = 'auto';\n virtualized.style.maxHeight = '';\n listbox.style.overflowY = 'auto';\n listbox.style.maxHeight = '';\n }\n\n virtualized.scrollTop = 0;\n }\n\n const virtualizer = listbox.querySelector('lit-virtualizer') as HTMLElement;\n if (virtualizer && virtualizer.isConnected) {\n virtualizer.scrollTop = 0;\n }\n });\n }\n\n\n get portalContainerElement(): HTMLElement | null {\n return this.portalContainer;\n }\n\n resetMeasuredHeight(): void {\n this.measuredPopupHeight = null;\n }\n\n forceReposition(): void {\n if (this.portalContainer) {\n this.computeFloatingUIPosition();\n }\n }\n\n getCurrentPlacement(): Placement {\n return this.currentPlacement;\n }\n\n getCurrentMiddlewareData(): MiddlewareData | null {\n return this.currentMiddlewareData;\n }\n\n isUsingFloatingUI(): boolean {\n return this.cleanupAutoUpdate !== null;\n }\n\n handleViewportChange(): void {\n if (this.portalContainer) {\n this.resetMeasuredHeight();\n this.forceReposition();\n }\n }\n\n isPositioningOptimal(): boolean {\n if (!this.portalContainer || !this.currentMiddlewareData) return true;\n\n const referenceElement = this.component.combobox || this.component;\n const rect = referenceElement.getBoundingClientRect();\n const viewportHeight = window.innerHeight;\n const spaceBelow = viewportHeight - rect.bottom;\n const spaceAbove = rect.top;\n \n const isAbove = this.currentPlacement.startsWith('top');\n const isBelow = this.currentPlacement.startsWith('bottom');\n \n if (isAbove && spaceBelow > spaceAbove) return false;\n if (isBelow && spaceAbove > spaceBelow) return false;\n \n return true;\n }\n\n\n}\n\n"],"names":["PortalManager","l","component","this","portalContainer","originalListboxParent","measuredPopupHeight","cleanupAutoUpdate","currentPlacement","currentMiddlewareData","_createClass","key","value","createPortalAppendContainer","container","document","createElement","style","position","zIndex","pointerEvents","className","positionPortalAppend","popup","measurePopupHeight","computeFloatingUIPosition","visibility","top","left","offsetHeight","_computeFloatingUIPosition","_asyncToGenerator","_regeneratorRuntime","mark","_callee","t","i","_yield$this$calculate","_s","_e","_o","_n","wrap","_callee$","_context2","prev","next","abrupt","referenceElement","combobox","floatingElement","calculateFloatingUIPosition","x","y","placement","middlewareData","applyFloatingUIPosition","t0","console","warn","error","fallbackPositioning","stop","_callee2","boundary","PortalUtils","findBoundaryElements","initialPlacement","getOptimalPlacement","middleware","createFloatingUIMiddleware","_context3","computePosition","strategy","platform","createCustomPlatform","sent","offset","size","apply","handleSizeMiddleware","bind","padding","flip","fallbackPlacements","fallbackStrategy","shift","crossAxis","rects","availableWidth","availableHeight","elements","maxHeight","calculateOptimalHeight","reference","window","innerHeight","floating","maxWidth","concat","setProperty","Object","assign","applyCollisionData","placementClass","split","referenceRect","getBoundingClientRect","width","rect","viewportHeight","spaceBelow","bottom","spaceAbove","topPosition","Math","max","calculateAndSetAutoSizeProperties","viewportWidth","innerWidth","min","updatePortalAppendPosition","portal","handleWindowResize","setupAutoUpdatePositioning","cleanupAutoUpdatePositioning","autoUpdate","ancestorScroll","ancestorResize","elementResize","layoutShift","animationFrame","extractStylesAsCSS","styles","_this2","Array","isArray","map","join","cssText","injectStylesToDocument","styleId","random","toString","substring","getElementById","componentStyles","constructor","styleElement","id","textContent","head","appendChild","__injectedStyleId","adoptStylesToPortalAppend","setupPortalAppend","updateComplete","then","_this3$component$shad","listbox","shadowRoot","querySelector","parentElement","body","display","addEventListener","cleanupPortalAppend","parentNode","injectedStyleId","remove","removeChild","removeEventListener","_resetScrollPosition","_callee3","_this4","_callee3$","_context4","requestAnimationFrame","_this4$component$shad","isConnected","scrollTop","virtualized","_this4$component$data","data","length","overflowY","virtualizer","resetScrollPosition","get","portalContainerElement","resetMeasuredHeight","forceReposition","getCurrentPlacement","getCurrentMiddlewareData","isUsingFloatingUI","handleViewportChange","isPositioningOptimal","isAbove","startsWith","isBelow"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"portal-manager.cjs.js","sources":["../../../src/nile-virtual-select/portal-manager.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { \n autoUpdate, \n computePosition, \n flip, \n offset, \n shift, \n size, \n platform,\n type Placement,\n type MiddlewareData,\n type ComputePositionConfig,\n type Boundary\n} from '@floating-ui/dom';\nimport { PortalUtils } from '../nile-select/portal-utils';\n\nexport class PortalManager {\n private portalContainer: HTMLElement | null = null;\n private originalListboxParent: HTMLElement | null = null;\n private measuredPopupHeight: number | null = null;\n private component: any;\n private cleanupAutoUpdate: (() => void) | null = null;\n private currentPlacement: Placement = 'bottom';\n private currentMiddlewareData: MiddlewareData | null = null;\n\n constructor(component: any) {\n this.component = component;\n }\n\n private createPortalAppendContainer(): HTMLElement {\n const container = document.createElement('div');\n container.style.position = 'absolute';\n container.style.zIndex = '9999';\n container.style.pointerEvents = 'none';\n container.className = 'nile-virtual-select-portal-append';\n return container;\n }\n\n positionPortalAppend(): void {\n if (!this.portalContainer || !this.component.popup) return;\n\n this.measurePopupHeight();\n this.computeFloatingUIPosition();\n }\n\n private measurePopupHeight(): void {\n if (this.measuredPopupHeight || !this.portalContainer) return;\n\n // Temporarily position the container to measure its height\n this.portalContainer.style.position = 'absolute';\n this.portalContainer.style.visibility = 'hidden';\n this.portalContainer.style.top = '0px';\n this.portalContainer.style.left = '0px';\n \n // Force a reflow to ensure the container is rendered\n this.portalContainer.offsetHeight;\n \n // Measure the actual height\n this.measuredPopupHeight = this.portalContainer.offsetHeight;\n \n // Reset visibility\n this.portalContainer.style.visibility = '';\n }\n\n\n private async computeFloatingUIPosition(): Promise<void> {\n if (!this.portalContainer) return;\n\n const referenceElement = this.component.combobox || this.component;\n const floatingElement = this.portalContainer;\n\n try {\n const { x, y, placement, middlewareData } = await this.calculateFloatingUIPosition(\n referenceElement,\n floatingElement\n );\n\n this.applyFloatingUIPosition(floatingElement, referenceElement, x, y, placement, middlewareData);\n\n } catch (error) {\n console.warn('Floating UI positioning failed, falling back to simple positioning:', error);\n this.fallbackPositioning();\n }\n }\n\n private async calculateFloatingUIPosition(\n referenceElement: HTMLElement,\n floatingElement: HTMLElement\n ): Promise<{ x: number; y: number; placement: Placement; middlewareData: MiddlewareData }> {\n const boundary = PortalUtils.findBoundaryElements(referenceElement);\n const initialPlacement = PortalUtils.getOptimalPlacement(referenceElement);\n const middleware = this.createFloatingUIMiddleware(boundary);\n\n return await computePosition(referenceElement, floatingElement, {\n placement: initialPlacement,\n strategy: 'fixed',\n middleware,\n platform: this.createCustomPlatform()\n });\n }\n\n private createFloatingUIMiddleware(boundary: Element[] | undefined): ComputePositionConfig['middleware'] {\n return [\n offset(4),\n size({\n apply: this.handleSizeMiddleware.bind(this),\n padding: 10,\n boundary: boundary\n }),\n flip({\n fallbackPlacements: ['bottom', 'top', 'bottom-start', 'top-start', 'bottom-end', 'top-end'],\n fallbackStrategy: 'bestFit',\n padding: 10,\n boundary: boundary\n }),\n shift({\n padding: 10,\n crossAxis: true,\n boundary: boundary\n })\n ];\n }\n\n private handleSizeMiddleware({ availableWidth, availableHeight, elements, rects }: {\n availableWidth: number;\n availableHeight: number;\n elements: { floating: HTMLElement };\n rects: { reference: { x: number; y: number; width: number; height: number } };\n }): void {\n const maxHeight = PortalUtils.calculateOptimalHeight(\n rects.reference,\n window.innerHeight,\n this.currentPlacement\n );\n\n elements.floating.style.maxWidth = `${availableWidth}px`;\n elements.floating.style.maxHeight = `${maxHeight}px`;\n \n elements.floating.style.setProperty('--auto-size-available-width', `${availableWidth}px`);\n elements.floating.style.setProperty('--auto-size-available-height', `${maxHeight}px`);\n }\n\n private createCustomPlatform() {\n return platform;\n }\n\n private applyFloatingUIPosition(\n floatingElement: HTMLElement,\n referenceElement: HTMLElement,\n x: number,\n y: number,\n placement: Placement,\n middlewareData: MiddlewareData\n ): void {\n Object.assign(floatingElement.style, {\n left: `${x}px`,\n top: `${y}px`,\n position: 'fixed',\n pointerEvents: 'auto'\n });\n\n this.currentPlacement = placement;\n this.currentMiddlewareData = middlewareData;\n \n PortalUtils.applyCollisionData(floatingElement, middlewareData, placement);\n \n const placementClass = placement.split('-')[0];\n floatingElement.className = `nile-virtual-select-portal-append select__listbox--${placementClass}`;\n\n const referenceRect = (referenceElement as HTMLElement).getBoundingClientRect();\n floatingElement.style.width = `${referenceRect.width}px`;\n }\n\n private fallbackPositioning(): void {\n if (!this.portalContainer) return;\n\n const referenceElement = this.component.combobox || this.component;\n const rect = referenceElement.getBoundingClientRect();\n const viewportHeight = window.innerHeight;\n const popupHeight = this.measuredPopupHeight || 200;\n \n const spaceBelow = viewportHeight - rect.bottom;\n const spaceAbove = rect.top;\n \n let topPosition: number;\n let placementClass: string;\n let maxHeight: number;\n \n if (spaceAbove > spaceBelow) {\n maxHeight = Math.max(spaceAbove - 20, 100);\n topPosition = Math.max(rect.top - maxHeight - 4, 10);\n placementClass = 'top';\n } else {\n maxHeight = Math.max(spaceBelow - 20, 100);\n topPosition = rect.bottom + 4;\n placementClass = 'bottom';\n }\n\n this.portalContainer.style.left = `${rect.left}px`;\n this.portalContainer.style.top = `${topPosition}px`;\n this.portalContainer.style.width = `${rect.width}px`;\n this.portalContainer.style.maxHeight = `${maxHeight}px`;\n this.portalContainer.style.pointerEvents = 'auto';\n this.portalContainer.className = `nile-virtual-select-portal-append select__listbox--${placementClass}`;\n \n this.calculateAndSetAutoSizeProperties(rect, topPosition, placementClass);\n }\n\n private calculateAndSetAutoSizeProperties(rect: DOMRect, topPosition: number, placementClass: string): void {\n if (!this.portalContainer) return;\n\n const viewportHeight = window.innerHeight;\n const viewportWidth = window.innerWidth;\n \n let availableHeight: number;\n if (placementClass === 'top') {\n availableHeight = rect.top - 10;\n } else {\n availableHeight = viewportHeight - rect.bottom - 10;\n }\n \n const availableWidth = Math.min(rect.width, viewportWidth - rect.left - 10);\n \n this.portalContainer.style.setProperty('--auto-size-available-height', `${Math.max(availableHeight, 100)}px`);\n this.portalContainer.style.setProperty('--auto-size-available-width', `${Math.max(availableWidth, 200)}px`);\n }\n\n updatePortalAppendPosition(): void {\n if (this.component.portal && this.portalContainer) {\n this.positionPortalAppend();\n }\n }\n\n handleWindowResize(): void {\n if (this.component.portal && this.portalContainer) {\n this.positionPortalAppend();\n }\n }\n\n private setupAutoUpdatePositioning(): void {\n if (!this.portalContainer || !this.component) return;\n\n this.cleanupAutoUpdatePositioning();\n\n this.cleanupAutoUpdate = autoUpdate(\n this.component,\n this.portalContainer,\n () => {\n this.computeFloatingUIPosition();\n },\n {\n ancestorScroll: true,\n ancestorResize: true,\n elementResize: true,\n layoutShift: true,\n animationFrame: true\n }\n );\n }\n\n private cleanupAutoUpdatePositioning(): void {\n if (this.cleanupAutoUpdate) {\n this.cleanupAutoUpdate();\n this.cleanupAutoUpdate = null;\n }\n }\n\n private extractStylesAsCSS(styles: any): string {\n if (typeof styles === 'string') {\n return styles;\n }\n \n if (Array.isArray(styles)) {\n return styles.map(style => this.extractStylesAsCSS(style)).join('\\n');\n }\n \n if (styles && typeof styles === 'object' && styles.cssText) {\n return styles.cssText;\n }\n \n return '';\n }\n\n private injectStylesToDocument(): void {\n if (!this.portalContainer) return;\n\n // Create a unique identifier for this component instance\n const styleId = `nile-virtual-select-styles-${Math.random().toString(36).substring(2, 11)}`;\n \n // Check if styles are already injected\n if (document.getElementById(styleId)) return;\n\n // Get the component's styles\n const componentStyles = (this.component.constructor as any).styles;\n if (!componentStyles) return;\n\n // Create a style element\n const styleElement = document.createElement('style');\n styleElement.id = styleId;\n styleElement.textContent = this.extractStylesAsCSS(componentStyles);\n \n // Inject into document head\n document.head.appendChild(styleElement);\n \n // Store reference for cleanup\n (this.portalContainer as any).__injectedStyleId = styleId;\n }\n\n private adoptStylesToPortalAppend(): void {\n if (!this.portalContainer) return;\n this.injectStylesToDocument();\n }\n\n setupPortalAppend(): void {\n if (!this.component.portal) return;\n\n this.component.updateComplete.then(() => {\n const listbox = this.component.shadowRoot?.querySelector('#listbox') as HTMLElement;\n if (listbox) {\n this.originalListboxParent = listbox.parentElement as HTMLElement;\n \n this.portalContainer = this.createPortalAppendContainer();\n this.portalContainer.appendChild(listbox);\n document.body.appendChild(this.portalContainer);\n \n // Adopt the component's styles to the body append container\n this.adoptStylesToPortalAppend();\n \n listbox.style.display = '';\n this.positionPortalAppend();\n \n this.setupAutoUpdatePositioning();\n \n window.addEventListener('resize', this.handleWindowResize.bind(this));\n }\n });\n }\n\n cleanupPortalAppend(): void {\n this.cleanupAutoUpdatePositioning();\n \n if (this.portalContainer && this.portalContainer.parentNode) {\n const listbox = this.portalContainer.querySelector('#listbox') as HTMLElement;\n \n if (listbox && this.originalListboxParent) {\n this.originalListboxParent.appendChild(listbox);\n listbox.style.display = this.component.portal ? 'none' : '';\n }\n \n // Clean up injected styles if they exist\n const injectedStyleId = (this.portalContainer as any).__injectedStyleId;\n if (injectedStyleId) {\n const styleElement = document.getElementById(injectedStyleId);\n if (styleElement) {\n styleElement.remove();\n }\n }\n \n this.portalContainer.parentNode.removeChild(this.portalContainer);\n }\n \n window.removeEventListener('resize', this.handleWindowResize.bind(this));\n \n this.portalContainer = null;\n this.originalListboxParent = null;\n this.measuredPopupHeight = null;\n this.currentPlacement = 'bottom';\n this.currentMiddlewareData = null;\n }\n\n async resetScrollPosition(): Promise<void> {\n await this.component.updateComplete;\n\n requestAnimationFrame(() => {\n let listbox: HTMLElement | null = null;\n\n if (this.component.portal && this.portalContainer) {\n listbox = this.portalContainer.querySelector('#listbox') as HTMLElement;\n } else {\n listbox = this.component.shadowRoot?.querySelector('#listbox') as HTMLElement;\n }\n\n if (!listbox || !listbox.isConnected) return;\n listbox.scrollTop = 0;\n\n const virtualized = listbox.querySelector('.virtualized') as HTMLElement;\n if (virtualized && virtualized.isConnected) {\n const fewItems = this.component.data?.length < 5;\n\n if (fewItems) {\n virtualized.style.overflowY = 'hidden';\n virtualized.style.maxHeight = 'none';\n listbox.style.overflowY = 'hidden';\n listbox.style.maxHeight = 'fit-content';\n } else {\n virtualized.style.overflowY = 'auto';\n virtualized.style.maxHeight = '';\n listbox.style.overflowY = 'auto';\n listbox.style.maxHeight = '';\n }\n\n virtualized.scrollTop = 0;\n }\n\n const virtualizer = listbox.querySelector('lit-virtualizer') as HTMLElement;\n if (virtualizer && virtualizer.isConnected) {\n virtualizer.scrollTop = 0;\n }\n });\n }\n\n\n get portalContainerElement(): HTMLElement | null {\n return this.portalContainer;\n }\n\n resetMeasuredHeight(): void {\n this.measuredPopupHeight = null;\n }\n\n forceReposition(): void {\n if (this.portalContainer) {\n this.computeFloatingUIPosition();\n }\n }\n\n getCurrentPlacement(): Placement {\n return this.currentPlacement;\n }\n\n getCurrentMiddlewareData(): MiddlewareData | null {\n return this.currentMiddlewareData;\n }\n\n isUsingFloatingUI(): boolean {\n return this.cleanupAutoUpdate !== null;\n }\n\n handleViewportChange(): void {\n if (this.portalContainer) {\n this.resetMeasuredHeight();\n this.forceReposition();\n }\n }\n\n isPositioningOptimal(): boolean {\n if (!this.portalContainer || !this.currentMiddlewareData) return true;\n\n const referenceElement = this.component.combobox || this.component;\n const rect = referenceElement.getBoundingClientRect();\n const viewportHeight = window.innerHeight;\n const spaceBelow = viewportHeight - rect.bottom;\n const spaceAbove = rect.top;\n \n const isAbove = this.currentPlacement.startsWith('top');\n const isBelow = this.currentPlacement.startsWith('bottom');\n \n if (isAbove && spaceBelow > spaceAbove) return false;\n if (isBelow && spaceAbove > spaceBelow) return false;\n \n return true;\n }\n\n\n}\n\n"],"names":["PortalManager","l","component","this","portalContainer","originalListboxParent","measuredPopupHeight","cleanupAutoUpdate","currentPlacement","currentMiddlewareData","_createClass","key","value","createPortalAppendContainer","container","document","createElement","style","position","zIndex","pointerEvents","className","positionPortalAppend","popup","measurePopupHeight","computeFloatingUIPosition","visibility","top","left","offsetHeight","_computeFloatingUIPosition","_asyncToGenerator","_regeneratorRuntime","mark","_callee","t","i","_yield$this$calculate","_s","_e","_o","_n","wrap","_callee$","_context2","prev","next","abrupt","referenceElement","combobox","floatingElement","calculateFloatingUIPosition","x","y","placement","middlewareData","applyFloatingUIPosition","t0","console","warn","error","fallbackPositioning","stop","_callee2","boundary","PortalUtils","findBoundaryElements","initialPlacement","getOptimalPlacement","middleware","createFloatingUIMiddleware","_context3","computePosition","strategy","platform","createCustomPlatform","sent","offset","size","apply","handleSizeMiddleware","bind","padding","flip","fallbackPlacements","fallbackStrategy","shift","crossAxis","rects","availableWidth","availableHeight","elements","maxHeight","calculateOptimalHeight","reference","window","innerHeight","floating","maxWidth","concat","setProperty","Object","assign","applyCollisionData","placementClass","split","referenceRect","getBoundingClientRect","width","rect","viewportHeight","spaceBelow","bottom","spaceAbove","topPosition","Math","max","calculateAndSetAutoSizeProperties","viewportWidth","innerWidth","min","updatePortalAppendPosition","portal","handleWindowResize","setupAutoUpdatePositioning","cleanupAutoUpdatePositioning","autoUpdate","ancestorScroll","ancestorResize","elementResize","layoutShift","animationFrame","extractStylesAsCSS","styles","_this2","Array","isArray","map","join","cssText","injectStylesToDocument","styleId","random","toString","substring","getElementById","componentStyles","constructor","styleElement","id","textContent","head","appendChild","__injectedStyleId","adoptStylesToPortalAppend","setupPortalAppend","updateComplete","then","_this3$component$shad","listbox","shadowRoot","querySelector","parentElement","body","display","addEventListener","cleanupPortalAppend","parentNode","injectedStyleId","remove","removeChild","removeEventListener","_resetScrollPosition","_callee3","_this4","_callee3$","_context4","requestAnimationFrame","_this4$component$shad","isConnected","scrollTop","virtualized","_this4$component$data","data","length","overflowY","virtualizer","resetScrollPosition","get","portalContainerElement","resetMeasuredHeight","forceReposition","getCurrentPlacement","getCurrentMiddlewareData","isUsingFloatingUI","handleViewportChange","isPositioningOptimal","isAbove","startsWith","isBelow"],"mappings":"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"}
|