@aquera/nile-elements 0.1.74 → 0.1.75-beta-1.3
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/demo/index.html +95 -9
- package/dist/{fixture-3bfb4490.cjs.js → fixture-5b79f853.cjs.js} +2 -2
- package/dist/{fixture-3bfb4490.cjs.js.map → fixture-5b79f853.cjs.js.map} +1 -1
- package/dist/fixture-90b199c4.esm.js +569 -0
- package/dist/{fixture-8edec91c.esm.js → fixture-cf7bfcf5.esm.js} +1 -1
- package/dist/fixture-dbd66009.cjs.js +395 -0
- package/dist/fixture-dbd66009.cjs.js.map +1 -0
- package/dist/index.js +41 -17
- 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.cjs.js.map +1 -1
- package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
- package/dist/nile-card/nile-card.test.cjs.js +1 -1
- package/dist/nile-card/nile-card.test.esm.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
- package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.test.esm.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
- package/dist/nile-dropdown/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-form-group/nile-form-group.test.cjs.js +1 -1
- package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
- package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
- package/dist/nile-hero/nile-hero.test.esm.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
- package/dist/nile-icon/nile-icon.test.esm.js +1 -1
- package/dist/nile-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-select/index.cjs.js +1 -1
- package/dist/nile-select/index.esm.js +1 -1
- package/dist/nile-select/nile-select.cjs.js +1 -1
- package/dist/nile-select/nile-select.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.esm.js +2 -2
- package/dist/nile-select/nile-select.test.cjs.js +1 -1
- package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.test.esm.js +1 -1
- package/dist/nile-select/virtual-scroll-helper.cjs.js +1 -1
- package/dist/nile-select/virtual-scroll-helper.cjs.js.map +1 -1
- package/dist/nile-select/virtual-scroll-helper.esm.js +1 -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/index.cjs.js +1 -1
- package/dist/nile-virtual-select/index.esm.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +18 -0
- package/dist/nile-virtual-select/nile-virtual-select.esm.js +15 -11
- 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/renderer.cjs.js +1 -1
- package/dist/nile-virtual-select/renderer.cjs.js.map +1 -1
- package/dist/nile-virtual-select/renderer.esm.js +11 -10
- package/dist/nile-virtual-select/selection-manager.cjs.js +1 -1
- package/dist/nile-virtual-select/selection-manager.cjs.js.map +1 -1
- package/dist/nile-virtual-select/selection-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/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-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/index.d.ts +5 -0
- package/dist/src/nile-grid/index.js +6 -0
- package/dist/src/nile-grid/index.js.map +1 -0
- package/dist/src/nile-grid/nile-grid.css.d.ts +1 -0
- package/dist/src/nile-grid/nile-grid.css.js +120 -0
- package/dist/src/nile-grid/nile-grid.css.js.map +1 -0
- package/dist/src/nile-grid/nile-grid.d.ts +39 -0
- package/dist/src/nile-grid/nile-grid.js +182 -0
- package/dist/src/nile-grid/nile-grid.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-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-icon/icons/svg/ng-action.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-action.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-action.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-activity.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-activity.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-activity.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-alert-circle.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-alert-circle.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-alert-circle.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-align-center.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-align-center.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-align-center.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-annotation-x.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-annotation-x.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-annotation-x.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-arrow-down.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-arrow-down.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-arrow-down.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-down.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-left.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-arrow-narrow-right.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-arrow-up.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-arrow-up.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-arrow-up.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-bar-chart-12.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-bell-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-bell-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-bell-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-bell-ringing-04.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-bold-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-bold-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-bold-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-building-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-building-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-building-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-building-05.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-building-05.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-building-05.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-button-loading-blue-animated.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-button-loading-blue.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-calendar-plus-02.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-calendar.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-calendar.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-calendar.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-check-circle-broken.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-check-circle.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-check-circle.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-check-circle.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-check-square-broken.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-check-square-broken.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-check.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-check.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-check.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-chevron-down.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-chevron-down.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-chevron-down.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-chevron-left.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-chevron-left.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-chevron-left.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-chevron-right.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-chevron-right.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-chevron-right.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-chevron-selector-vertical.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-chevron-up-double.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-chevron-up.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-chevron-up.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-chevron-up.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-copy-03.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-copy-03.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-copy-03.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-dataflow-04.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-dataflow-04.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-dataflow-04.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-dots-grid.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-dots-grid.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-dots-grid.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-dots-vertical.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-dots-vertical.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-download-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-download-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-download-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-dropdown.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-dropdown.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-dropdown.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-edit-02.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-edit-02.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-edit-02.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-edit-05.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-edit-05.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-edit-05.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-expand-06.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-expand-06.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-expand-06.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-eye-off.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-eye-off.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-eye-off.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-eye.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-eye.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-eye.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-file-02.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-file-02.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-file-02.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-file-06.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-file-06.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-file-06.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-file-check-02.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-file-check-02.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-file-check-02.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-file-question-03.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-file-question-03.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-file-question-03.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-filter-lines.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-filter-lines.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-filter-lines.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-grid-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-grid-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-grid-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-help-circle.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-help-circle.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-help-circle.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-image-03.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-image-03.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-image-03.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-image-user-left.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-image-user-left.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-image-user-left.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-info-circle.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-info-circle.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-info-circle.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-italic-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-italic-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-italic-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-layers-three-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-layers-three-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-list.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-list.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-list.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-lock-03.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-lock-03.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-lock-03.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-log-out-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-log-out-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-log-out-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-mail-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-mail-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-mail-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-mail-04.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-mail-04.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-mail-04.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-marker-pin-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-menu-05.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-menu-05.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-menu-05.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-message-text-square-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-minimize-02.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-minimize-02.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-minimize-02.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-minus.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-minus.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-minus.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-plus.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-plus.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-plus.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-refresh-cw-02.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-rocket-02.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-rocket-02.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-rocket-02.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-search-lg.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-search-lg.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-search-lg.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-send-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-send-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-send-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-settings-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-settings-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-settings-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-share-04.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-share-04.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-share-04.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-share-06.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-share-06.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-share-06.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-stars-02.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-stars-02.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-stars-02.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-trash-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-trash-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-trash-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-trash-03.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-trash-03.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-trash-03.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-trend-up-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-trend-up-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-underline-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-underline-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-underline-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-upload-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-upload-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-upload-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-upload-cloud-02.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-user-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-user-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-user-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-user-check-02-1.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-user-check-02.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-user-check-02.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-user-check-02.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-user-plus-02.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-user-plus-02.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-user-right-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-user-right-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-user-right-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-users-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-users-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-users-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-x-circle.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-x-circle.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-x-circle.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-x-close.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-x-close.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-x-close.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/ng-x-square.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/ng-x-square.js +5 -0
- package/dist/src/nile-icon/icons/svg/ng-x-square.js.map +1 -0
- package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +75 -0
- package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +22 -0
- package/dist/src/nile-select/nile-select.d.ts +2 -0
- package/dist/src/nile-select/nile-select.js +8 -2
- package/dist/src/nile-select/nile-select.js.map +1 -1
- package/dist/src/nile-select/virtual-scroll-helper.js +1 -0
- package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -1
- 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/nile-virtual-select.css.js +18 -0
- package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +1 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +18 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.js +106 -21
- package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
- package/dist/src/nile-virtual-select/renderer.d.ts +2 -2
- package/dist/src/nile-virtual-select/renderer.js +9 -8
- package/dist/src/nile-virtual-select/renderer.js.map +1 -1
- package/dist/src/nile-virtual-select/selection-manager.js +1 -1
- package/dist/src/nile-virtual-select/selection-manager.js.map +1 -1
- 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-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/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/nile-select/nile-select.ts +6 -2
- package/src/nile-select/virtual-scroll-helper.ts +1 -0
- package/src/nile-virtual-select/nile-virtual-select.css.ts +18 -0
- package/src/nile-virtual-select/nile-virtual-select.ts +121 -25
- package/src/nile-virtual-select/renderer.ts +10 -8
- package/src/nile-virtual-select/selection-manager.ts +1 -1
- package/vscode-html-custom-data.json +28 -2
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"temp_nile-virtual-select copy.cjs.js","sources":["../../../src/nile-virtual-select/temp_nile-virtual-select copy.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 LitElement,\n html,\n} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-virtual-select.css';\n\nimport '../nile-icon';\nimport '../nile-popup/nile-popup';\nimport '../nile-tag/nile-tag';\nimport '../nile-checkbox/nile-checkbox';\nimport '../nile-loader/nile-loader';\nimport { animateTo, stopAnimations } from '../internal/animate';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { query, state } from 'lit/decorators.js';\nimport { defaultValue } from '../internal/default-value';\nimport { FormControlController } from '../internal/form';\nimport {\n getAnimation,\n setDefaultAnimation,\n} from '../utilities/animation-registry';\nimport { HasSlotController } from '../internal/slot';\nimport { waitForEvent } from '../internal/event';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';\nimport type { NileFormControl } from '../internal/nile-element';\nimport type NileOption from '../nile-option/nile-option';\nimport type NilePopup from '../nile-popup/nile-popup';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport type { VirtualOption, NileRemoveEvent, RenderItemConfig } from './types.js';\nimport { VirtualSelectSelectionManager } from './selection-manager.js';\nimport { VirtualSelectSearchManager } from './search-manager.js';\nimport { VirtualSelectRenderer } from './renderer.js';\n\n/**\n * Nile Virtual Select component.\n *\n * @tag nile-virtual-select\n *\n */\n\n/**\n * @summary Virtual select component for handling large datasets with virtual scrolling.\n * @status stable\n * @since 2.0\n *\n * @dependency nile-icon\n * @dependency nile-popup\n * @dependency nile-tag\n * @dependency nile-checkbox\n *\n * @slot label - The input's label. Alternatively, you can use the `label` attribute.\n * @slot prefix - Used to prepend a presentational icon or similar element to the combobox.\n * @slot clear-icon - An icon to use in lieu of the default clear icon.\n * @slot expand-icon - The icon to show when the control is expanded and collapsed.\n * @slot help-text - Text that describes how to use the input. Alternatively, you can use the `help-text` attribute.\n *\n * @event nile-change - Emitted when the control's value changes.\n * @event nile-clear - Emitted when the control's value is cleared.\n * @event nile-input - Emitted when the control receives input.\n * @event nile-focus - Emitted when the control gains focus.\n * @event nile-blur - Emitted when the control loses focus.\n * @event nile-show - Emitted when the select's menu opens.\n * @event nile-after-show - Emitted after the select's menu opens and all animations are complete.\n * @event nile-hide - Emitted when the select's menu closes.\n * @event nile-after-hide - Emitted after the select's menu closes and all animations are complete.\n * @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.\n * @event nile-search - Emitted when the user types in the search input. The event payload includes the search query for backend search functionality.\n * @event nile-scroll - Emitted when the user scrolls within the virtualized container. The event payload includes scroll position information.\n * @event nile-scroll-start - Emitted when the user starts scrolling within the virtualized container.\n * @event nile-scroll-end - Emitted when the user stops scrolling and reaches the bottom of the virtualized container (debounced).\n *\n * @csspart form-control - The form control that wraps the label, input, and help text.\n * @csspart form-control-label - The label's wrapper.\n * @csspart form-control-input - The select's wrapper.\n * @csspart form-control-help-text - The help text's wrapper.\n * @csspart combobox - The container the wraps the prefix, combobox, clear icon, and expand button.\n * @csspart prefix - The container that wraps the prefix slot.\n * @csspart display-input - The element that displays the selected option's label, an `<input>` element.\n * @csspart listbox - The listbox container where options are slotted.\n * @csspart tags - The container that houses option tags when `multiple` is used.\n * @csspart tag - The individual tags that represent each multiselect option.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n * @csspart footer - The footer container with show selected and clear all options.\n */\n\n@customElement('nile-virtual-select')\nexport class NileVirtualSelect extends NileElement implements NileFormControl {\n static styles: CSSResultGroup = styles;\n\n private readonly formControlController = new FormControlController(this, {\n assumeInteractionOn: ['nile-blur', 'nile-input'],\n });\n private readonly hasSlotController = new HasSlotController(\n this,\n 'help-text',\n 'label'\n );\n\n @query('.select') popup: NilePopup;\n @query('.select__display-input') displayInput: HTMLInputElement;\n @query('.select__value-input') valueInput: HTMLInputElement;\n @query('.virtualized') virtualizedContainer: HTMLElement;\n\n @state() private hasFocus = false;\n @state() displayLabel = '';\n @state() selectedOptions: VirtualOption[] = [];\n @state() oldValue: string | string[] = '';\n \n private scrollTimeout: number | undefined;\n private scrolling = false;\n\n /** The name of the select, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /** Array of all option items for virtual scrolling */\n @property({ type: Array }) data: any = [];\n\n /** Original unfiltered option items for search functionality */\n @state() private originalOptionItems: any = [];\n\n /**\n * The current value of the select. When `multiple` is enabled, the value will be an array of selected values.\n */\n @property({\n converter: {\n fromAttribute: (value: string) => value.split(' '),\n toAttribute: (value: string[]) => value.join(' '),\n },\n })\n value: string | string[] = '';\n\n /** The default value of the form control. Primarily used for resetting the form control. */\n @defaultValue() defaultValue: string | string[] = '';\n\n /** The select's size. */\n @property() size: 'small' | 'medium' | 'large' = 'medium';\n\n /** Placeholder text to show as a hint when the select is empty. */\n @property() placeholder = 'Select...';\n\n /** Current search value */\n @state() searchValue: string = '';\n\n /** Enable search functionality */\n @property({ type: Boolean, reflect: true }) searchEnabled = false;\n\n /** Search input placeholder */\n @property({attribute:'internal-search-placeholder'}) internalSearchPlaceHolder = 'Search...';\n\n /** Disable local search filtering */\n @property({ type: Boolean, reflect: true }) disableLocalSearch = false;\n\n /** Show loading state */\n @property({ type: Boolean, reflect: true }) optionsLoading = false;\n\n /** Show loading state using nile-loader */\n @property({ type: Boolean, reflect: true }) loading = false;\n\n /** Allows more than one option to be selected. */\n @property({ type: Boolean, reflect: true }) multiple = false;\n\n /** Help text */\n @property({ attribute: 'help-text', reflect: true }) helpText = '';\n\n /** Error message */\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n /** Sets the input to a warning state */\n @property({ type: Boolean }) warning = false;\n\n /** Sets the input to an error state */\n @property({ type: Boolean }) error = false;\n\n /** Sets the input to a success state */\n @property({ type: Boolean }) success = false;\n\n /** Disables the select control. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Adds a clear button when the select is not empty. */\n @property({ type: Boolean, reflect: true }) clearable = false;\n\n /** The select's open state. */\n @property({ type: Boolean, reflect: true }) open = false;\n\n /**\n * Enable this option to prevent the listbox from being clipped when the component is placed inside a container with\n * `overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n */\n @property({ type: Boolean }) hoist = false;\n\n /** Draws a filled select. */\n @property({ type: Boolean, reflect: true }) filled = false;\n\n /** Draws a pill-style select with rounded edges. */\n @property({ type: Boolean, reflect: true }) pill = false;\n\n /** The select's label. If you need to display HTML, use the `label` slot instead. */\n @property() label = '';\n\n /**\n * The preferred placement of the select's menu. Note that the actual placement may vary as needed to keep the listbox\n * inside of the viewport.\n */\n @property({ reflect: true }) placement: 'top' | 'bottom' = 'bottom';\n\n /**\n * By default, form controls are associated with the nearest containing `<form>` element. This attribute allows you\n * to place the form control outside of a form and associate it with the form that has this `id`. The form must be in\n * the same document or shadow root for this to work.\n */\n @property({ reflect: true }) form = '';\n\n /** The select's required attribute. */\n @property({ type: Boolean, reflect: true }) required = false;\n\n /** Show no results message */\n @property({ type: Boolean }) showNoResults: boolean = false;\n\n /** No results message */\n @property({ type: String }) noResultsMessage: string = 'No results found';\n\n /** Show selected options only */\n @property({ type: Boolean }) showSelected = false;\n\n /** Enhanced configuration for rendering items with support for display text, value, and search text */\n @property({ attribute:false}) renderItemConfig?: RenderItemConfig;\n\n /** Block value change events */\n @property({ type: Boolean, reflect: true }) blockValueChange = false;\n\n /** Disable width synchronization */\n @property({ type: Boolean, reflect: true }) noWidthSync = false;\n\n /**\n * The maximum number of selected options to show when `multiple` is true. After the maximum, \"+n\" will be shown to\n * indicate the number of additional items that are selected. Set to 0 to remove the limit.\n */\n @property({ attribute: 'max-options-visible', type: Number })\n maxOptionsVisible = 3;\n\n @state() oldMaxOptionsVisible: number = 1;\n\n /** Gets the validity state object */\n get validity() {\n return this.valueInput?.validity;\n }\n\n /** Gets the validation message */\n get validationMessage() {\n return this.valueInput?.validationMessage ?? '';\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.initializeComponent();\n this.setupEventListeners();\n \n this.updateComplete.then(() => {\n if (this.value && this.data.length > 0) {\n this.selectionChanged();\n }\n });\n }\n\n disconnectedCallback() {\n this.removeOpenListeners();\n // Clear any pending scroll timeout to prevent memory leaks\n if (this.scrollTimeout) {\n clearTimeout(this.scrollTimeout);\n this.scrollTimeout = undefined;\n }\n }\n\n protected updated(changedProperties: PropertyValues): void {\n if(changedProperties.has('value')) {\n this.selectionChanged();\n }\n }\n\n private initializeComponent(): void {\n this.open = false;\n this.emit('nile-init');\n }\n\n /**\n * Get display text for an item using renderItemConfig\n */\n private getDisplayText(item: any): string {\n if (this.renderItemConfig?.getDisplayText) {\n return this.renderItemConfig.getDisplayText(item);\n }\n // Fallback to basic display\n return item?.label || item?.name || item?.toString() || '';\n }\n\n /**\n * Get value for an item using renderItemConfig or fallback to item.value\n */\n private getItemValue(item: any): string {\n if (this.renderItemConfig?.getValue) {\n return this.renderItemConfig.getValue(item);\n }\n return item?.value || item;\n }\n\n /**\n * Get search text for an item using renderItemConfig or fallback to display text\n */\n private getSearchText(item: any): string {\n if (this.renderItemConfig?.getSearchText) {\n return this.renderItemConfig.getSearchText(item);\n }\n return this.getDisplayText(item);\n }\n\n private setupEventListeners(): void {\n this.handleDocumentFocusIn = this.handleDocumentFocusIn.bind(this);\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);\n }\n\n private addOpenListeners(): void {\n document.addEventListener('focusin', this.handleDocumentFocusIn);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n }\n\n private removeOpenListeners(): void {\n document.removeEventListener('focusin', this.handleDocumentFocusIn);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n }\n\n private handleFocus(): void {\n this.hasFocus = true;\n this.emit('nile-focus');\n }\n\n private handleBlur(): void {\n this.hasFocus = false;\n this.emit('nile-blur');\n }\n\n private handleDocumentFocusIn(event: FocusEvent): void {\n if (!this.open) return; \n const path = event.composedPath(); \n const hitSelf = path.includes(this);\n const hitPopup = this.popup && path.includes(this.popup);\n\n if (!hitSelf && !hitPopup) {\n this.hide();\n }\n }\n\n private handleDocumentKeyDown(event: KeyboardEvent): void {\n if (this.shouldIgnoreKeyPress(event)) {\n return;\n }\n\n if (this.isEscapeKey(event)) {\n this.handleEscapeKey(event);\n }\n\n if (this.isEnterOrSpaceKey(event)) {\n this.handleEnterOrSpaceKey(event);\n }\n }\n\n private shouldIgnoreKeyPress(event: KeyboardEvent): boolean {\n const target = event.target as HTMLElement;\n const isClearButton = target.closest('.select__clear') !== null;\n const isIconButton = target.closest('nile-icon-button') !== null;\n return isClearButton || isIconButton;\n }\n\n private isEscapeKey(event: KeyboardEvent): boolean {\n return event.key === 'Escape' && this.open;\n }\n\n private handleEscapeKey(event: KeyboardEvent): void {\n event.preventDefault();\n event.stopPropagation();\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n\n private isEnterOrSpaceKey(event: KeyboardEvent): boolean {\n return event.key === 'Enter' || event.key === ' ';\n }\n\n private handleEnterOrSpaceKey(event: KeyboardEvent): void {\n event.preventDefault();\n event.stopImmediatePropagation();\n\n if (!this.open) {\n this.show();\n return;\n }\n\n if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n\n private handleDocumentMouseDown = (event: MouseEvent): void => {\n if (!this.open) return; \n \n const path = event.composedPath();\n const hitSelf = path.includes(this);\n const hitPopup = this.popup && path.includes(this.popup);\n \n if (!hitSelf && !hitPopup) {\n this.hide();\n }\n };\n\n private handleFooterClick(event: MouseEvent): void {\n event.stopPropagation();\n event.preventDefault();\n }\n\n private toggleShowSelected(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n if (this.selectedOptions?.length === 0) {\n return;\n }\n this.showSelected = !this.showSelected;\n\n if (this.showSelected) {\n const selectedValues = Array.isArray(this.value) ? this.value : [this.value];\n this.data = this.originalOptionItems.filter((item: any) => \n selectedValues.includes(item.value)\n );\n } else {\n this.data = [...this.originalOptionItems];\n }\n\n this.requestUpdate();\n this.resetScrollPosition();\n }\n\n private unSelectAll(): void {\n this.showSelected = false;\n this.value = this.multiple ? [] : '';\n this.data = [...this.originalOptionItems];\n this.selectionChanged();\n this.emit('nile-change', { value: this.value, name: this.name });\n this.emit('nile-clear', { value: this.multiple ? this.value : '', name: this.name });\n this.resetScrollPosition();\n }\n\n private handleLabelClick(): void {\n this.displayInput.focus();\n this.hide();\n }\n\n private handleComboboxMouseDown(event: MouseEvent): void {\n if (this.shouldIgnoreComboboxClick(event)) {\n return;\n }\n\n event.preventDefault();\n this.displayInput.focus({ preventScroll: true });\n this.open = !this.open;\n }\n\n private shouldIgnoreComboboxClick(event: MouseEvent): boolean {\n const path = event.composedPath();\n const isIconButton = path.some(\n el =>\n el instanceof Element && el.tagName.toLowerCase() === 'nile-icon-button'\n );\n return this.disabled || isIconButton;\n }\n\n private handleComboboxKeyDown(event: KeyboardEvent): void {\n if (this.isEnterOrSpaceKey(event)) {\n event.preventDefault();\n this.open = !this.open;\n }\n }\n\n private handleClearClick(event: MouseEvent): void {\n event.stopPropagation();\n this.clearSelection();\n }\n\n private clearSelection(): void {\n const oldValue = this.value;\n this.value = this.multiple ? [] : '';\n this.selectionChanged();\n\n this.updateComplete.then(() => {\n this.nileInput({ value: this.value, name: this.name });\n this.nileChange({ value: this.value, name: this.name });\n this.emit('nile-clear');\n });\n }\n\n private handleClearMouseDown(event: MouseEvent): void {\n event.stopPropagation();\n }\n\n private handleOptionClick(event: MouseEvent): void {\n const target = event.target as HTMLElement;\n const option = target.closest('nile-option');\n\n if (this.shouldBlockValueChange(option)) {\n return;\n }\n\n const oldValue = this.value;\n this.oldValue = oldValue;\n\n if (option && !option.disabled) {\n this.handleOptionSelection(option);\n }\n }\n\n private shouldBlockValueChange(option: Element | null): boolean {\n if (this.blockValueChange && option) {\n this.emit('nile-block-change', { value: (option as any)?.value, name: this.name });\n this.hide();\n return true;\n }\n return false;\n }\n\n private handleOptionSelection(option: Element): void {\n const optionValue = (option as any).value;\n \n if (this.multiple) {\n this.toggleOptionSelection(optionValue);\n } else {\n this.setSelectedOptions(optionValue);\n }\n\n this.updateComplete.then(() =>\n this.displayInput.focus({ preventScroll: true })\n );\n\n if (this.value !== this.oldValue) {\n this.updateComplete.then(() => {\n this.nileInput({ value: this.value, name: this.name });\n this.nileChange({ value: this.value, name: this.name });\n });\n }\n\n if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n\n private setSelectedOptions(optionValue: string): void {\n this.value = optionValue;\n this.selectionChanged();\n }\n\n private toggleOptionSelection(optionValue: string): void {\n const currentValues = Array.isArray(this.value) ? this.value : [];\n \n if (currentValues.includes(optionValue)) {\n this.value = currentValues.filter(v => v !== optionValue);\n } else {\n this.value = [...currentValues, optionValue];\n }\n \n this.selectionChanged();\n }\n\n private handleTagRemove(event: NileRemoveEvent, option: VirtualOption): void {\n event.stopPropagation();\n\n if (!this.disabled) {\n this.removeTagFromSelection(option);\n this.emitTagRemovalEvent(option);\n }\n }\n\n private removeTagFromSelection(option: VirtualOption): void {\n let currentValue = this.value;\n if (!Array.isArray(currentValue)) {\n currentValue = currentValue ? [currentValue] : [];\n }\n const newValue = currentValue.filter((v: string) => v !== option.value);\n this.value = newValue;\n this.selectionChanged();\n }\n\n private emitTagRemovalEvent(option: VirtualOption): void {\n this.updateComplete.then(() => {\n this.nileInput({ value: this.value, name: this.name });\n this.nileChange({ value: this.value, name: this.name });\n this.emit('nile-tag-remove', { value: this.value, name: this.name, removedtagvalue: option.value });\n });\n }\n\n private selectionChanged(): void {\n const itemsToSearch = this.originalOptionItems.length > 0 ? this.originalOptionItems : this.data;\n this.selectedOptions = VirtualSelectSelectionManager.createVirtualOptionsFromValues(\n this.value, \n itemsToSearch, \n this.getDisplayText.bind(this),\n this.renderItemConfig?.getValue\n );\n\n if (this.multiple) {\n if (this.placeholder && this.value.length === 0) {\n this.displayLabel = '';\n } else {\n this.displayLabel = this.selectedOptions.length + ' selected';\n }\n } else {\n const currentValue = Array.isArray(this.value) ? this.value[0] : this.value;\n const label = this.selectedOptions[0]?.getTextLabel();\n this.displayLabel = label ? label : currentValue ?? '';\n }\n\n this.updateValidity();\n\n if (this.selectedOptions.length === 0) {\n this.showSelected = false;\n }\n\n this.calculateTotalWidthOfTags();\n }\n\n handleSearchFocus(): void {\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchBlur(): void {\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchChange(e: any): void {\n this.searchValue = e.detail.value;\n \n this.emit('nile-search', { \n query: this.searchValue,\n name: this.name \n });\n \n if (!this.disableLocalSearch) {\n this.filterVirtualOptions(this.searchValue);\n this.resetScrollPosition();\n }\n }\n\n handleScroll(e: Event): void {\n const target = e.target as HTMLElement;\n \n this.emit('nile-scroll', {\n scrollTop: target.scrollTop,\n scrollLeft: target.scrollLeft,\n name: this.name\n });\n\n if (!this.scrolling) {\n this.scrolling = true;\n this.emit('nile-scroll-start', {\n scrollTop: target.scrollTop,\n scrollLeft: target.scrollLeft,\n name: this.name\n });\n }\n\n clearTimeout(this.scrollTimeout);\n this.scrollTimeout = window.setTimeout(() => {\n if (this.scrolling) {\n this.scrolling = false;\n }\n }, 300);\n\n const isAtBottom = Math.ceil(target.scrollTop) >= Math.floor(target.scrollHeight - target.offsetHeight);\n if (isAtBottom) {\n this.emit('nile-scroll-end', {\n scrollTop: target.scrollTop,\n scrollLeft: target.scrollLeft,\n name: this.name,\n isAtBottom: true\n });\n }\n }\n\n filterVirtualOptions(searchValue: string): void {\n const result = VirtualSelectSearchManager.filterVirtualOptions(\n searchValue,\n this.originalOptionItems,\n this.data,\n this.getDisplayText.bind(this),\n this.renderItemConfig?.getSearchText\n );\n\n this.data = result.filteredItems;\n this.showNoResults = result.showNoResults;\n this.showSelected = false;\n this.requestUpdate();\n }\n\n private handleInvalid(event: Event): void {\n this.formControlController.setValidity(false);\n this.formControlController.emitInvalidEvent(event);\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange(): void {\n if (this.disabled) {\n this.open = false;\n this.handleOpenChange();\n }\n }\n\n @watch('value', { waitUntilFirstUpdate: true })\n handleValueChange(): void {\n this.selectionChanged();\n this.requestUpdate();\n }\n\n @watch('data', { waitUntilFirstUpdate: true })\n handleDataChange(): void {\n if (this.data.length > 0 && this.open) {\n this.originalOptionItems = [...this.data];\n }\n \n this.selectionChanged();\n // Show no results message when data is empty and not loading\n if (!this.optionsLoading && !this.loading && this.data.length === 0) {\n this.showNoResults = true;\n } else if (this.data.length > 0) {\n this.showNoResults = false;\n }\n this.requestUpdate();\n }\n\n @watch('renderItemConfig', { waitUntilFirstUpdate: true })\n handleRenderItemConfigChange(): void {\n if (this.value && this.data.length > 0) {\n this.selectionChanged();\n this.requestUpdate();\n }\n }\n\n @watch('optionsLoading', { waitUntilFirstUpdate: true })\n handleOptionsLoadingChange(): void {\n // Show no results message when loading stops and there are no results\n if (!this.optionsLoading && this.data.length === 0) {\n this.showNoResults = true;\n }\n this.requestUpdate();\n }\n\n @watch('loading', { waitUntilFirstUpdate: true })\n handleLoadingChange(): void {\n // Show no results message when loading stops and there are no results\n if (!this.loading && this.data.length === 0) {\n this.showNoResults = true;\n }\n this.requestUpdate();\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange(): Promise<void> {\n if (this.open && !this.disabled) {\n await this.handleOpen();\n } else {\n await this.handleClose();\n }\n }\n\n private async handleOpen(): Promise<void> {\n this.emit('nile-show', { value: this.value, name: this.name });\n this.addOpenListeners();\n this.showNoResults = !this.data?.length;\n\n await stopAnimations(this);\n this.popup.active = true;\n\n const { keyframes, options } = getAnimation(this, 'select.show', {\n dir: 'ltr',\n });\n await animateTo(this.popup.popup, keyframes, options);\n\n this.initializeOriginalItems();\n this.filterVirtualOptions(this.searchValue);\n this.resetScrollPosition();\n this.emit('nile-after-show', { value: this.value, name: this.name });\n }\n\n private async handleClose(): Promise<void> {\n this.emit('nile-hide', { value: this.value, name: this.name });\n this.removeOpenListeners();\n\n await stopAnimations(this);\n const { keyframes, options } = getAnimation(this, 'select.hide', {\n dir: 'ltr',\n });\n await animateTo(this.popup.popup, keyframes, options);\n this.popup.active = false;\n\n this.searchValue = '';\n this.emit('nile-after-hide', { value: this.value, name: this.name });\n }\n\n private initializeOriginalItems(): void {\n if (this.data.length > 0) {\n this.originalOptionItems = [...this.data];\n }\n }\n\n async show(): Promise<unknown> {\n if (this.open || this.disabled) {\n this.open = false;\n return undefined;\n }\n\n this.open = true;\n return waitForEvent(this, 'nile-after-show');\n }\n\n async hide(): Promise<unknown> {\n if (!this.open || this.disabled) {\n this.open = false;\n return undefined;\n }\n\n this.open = false;\n return waitForEvent(this, 'nile-after-hide');\n }\n\n checkValidity(): boolean {\n return this.valueInput.checkValidity();\n }\n\n getForm(): HTMLFormElement | null {\n return this.formControlController.getForm();\n }\n\n reportValidity(): boolean {\n return this.valueInput.reportValidity();\n }\n\n setCustomValidity(message: string): void {\n this.valueInput.setCustomValidity(message);\n this.formControlController.updateValidity();\n }\n\n focus(options?: FocusOptions): void {\n this.displayInput.focus(options);\n }\n\n blur(): void {\n this.displayInput.blur();\n }\n\n onInputChange(event: Event): void {\n event.stopPropagation();\n }\n\n render(): TemplateResult {\n const hasLabelSlot = this.hasSlotController.test('label');\n const hasHelpTextSlot = this.hasSlotController.test('help-text');\n const hasLabelSuffixSlot = this.hasSlotController.test('label-suffix');\n const hasCustomSelect = this.hasSlotController.test('custom-select');\n const hasLabel = this.label ? true : !!hasLabelSlot;\n const hasClearIcon =\n this.clearable && !this.disabled && this.value.length > 0;\n const isPlaceholderVisible = !!this.placeholder && this.value.length === 0;\n const hasHelpText = !!this.helpText;\n const hasErrorMessage = !!this.errorMessage;\n\n return html`\n <div\n part=\"form-control\"\n class=${classMap({\n 'form-control': true,\n 'form-control--small': this.size === 'small',\n 'form-control--medium': this.size === 'medium',\n 'form-control--large': this.size === 'large',\n 'form-control--has-label': hasLabel,\n 'form-control--has-help-text': hasHelpText,\n })}\n >\n ${this.renderLabel(hasLabel, hasLabelSuffixSlot)}\n ${this.renderFormControlInput(hasCustomSelect, hasClearIcon, isPlaceholderVisible, hasHelpText, hasErrorMessage)}\n </div>\n `;\n }\n\n private renderLabel(hasLabel: boolean, hasLabelSuffixSlot: boolean): TemplateResult {\n return html`\n <label\n id=\"label\"\n part=\"form-control-label\"\n class=\"form-control__label\"\n aria-hidden=${hasLabel ? 'false' : 'true'}\n @click=${this.handleLabelClick}\n >\n <slot name=\"label\">${this.label}</slot>\n </label>\n\n ${hasLabelSuffixSlot ? html` <slot name=\"label-suffix\"></slot> ` : ``}\n `;\n }\n\n private renderFormControlInput(\n hasCustomSelect: boolean, \n hasClearIcon: boolean, \n isPlaceholderVisible: boolean, \n hasHelpText: boolean, \n hasErrorMessage: boolean\n ): TemplateResult {\n return html`\n <div part=\"form-control-input\" class=\"form-control-input\">\n ${this.renderPopup(hasCustomSelect, hasClearIcon, isPlaceholderVisible)}\n ${this.renderHelpText(hasHelpText, hasErrorMessage)}\n </div>\n `;\n }\n\n private renderPopup(hasCustomSelect: boolean, hasClearIcon: boolean, isPlaceholderVisible: boolean): TemplateResult {\n return html`\n <nile-popup\n class=${classMap({\n select: true,\n 'select--warning': this.warning,\n 'select--error': this.error,\n 'select--success': this.success,\n 'select--standard': true,\n 'select--filled': this.filled,\n 'select--pill': this.pill,\n 'select--open': this.open,\n 'select--disabled': this.disabled,\n 'select--multiple': this.multiple,\n 'select--focused': this.hasFocus,\n 'select--placeholder-visible': isPlaceholderVisible,\n 'select--top': this.placement === 'top',\n 'select--bottom': this.placement === 'bottom',\n 'select--small': this.size === 'small',\n 'select--medium': this.size === 'medium',\n 'select--large': this.size === 'large',\n })}\n placement=${this.placement}\n strategy=${this.hoist ? 'fixed' : 'absolute'}\n distance=\"6\"\n flip\n shift\n sync=${ifDefined(!this.noWidthSync ? 'width' : undefined)}\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n >\n ${this.renderCustomSelect(hasCustomSelect)}\n ${this.renderCombobox(hasCustomSelect, hasClearIcon)}\n ${this.renderListbox()}\n </nile-popup>\n `;\n }\n\n private renderCustomSelect(hasCustomSelect: boolean): TemplateResult {\n return hasCustomSelect\n ? html`<slot\n slot=\"anchor\"\n name=\"custom-select\"\n class=\"custom-select\"\n @keydown=${this.handleComboboxKeyDown}\n @mousedown=${this.handleComboboxMouseDown}\n ></slot>`\n : html``;\n }\n\n private renderCombobox(hasCustomSelect: boolean, hasClearIcon: boolean): TemplateResult {\n return html`\n <div\n part=\"combobox\"\n class=${classMap({\n select__combobox: true,\n 'select__hide-default': hasCustomSelect,\n })}\n slot=\"anchor\"\n @keydown=${this.handleComboboxKeyDown}\n @mousedown=${this.handleComboboxMouseDown}\n >\n ${this.renderPrefix()}\n ${this.renderDisplayInput()}\n ${this.renderTags()}\n ${this.renderValueInput()}\n ${this.renderClearButton(hasClearIcon)}\n ${this.renderSuffix()}\n ${this.renderExpandIcon()}\n </div>\n `;\n }\n\n private renderPrefix(): TemplateResult {\n return html`\n <slot\n part=\"prefix\"\n name=\"prefix\"\n class=${classMap({\n select__prefix: true,\n multiple: this.multiple,\n })}\n ></slot>\n `;\n }\n\n private renderDisplayInput(): TemplateResult {\n return html`\n <input\n part=\"display-input\"\n class=\"select__display-input\"\n type=\"text\"\n placeholder=${this.placeholder}\n .disabled=${this.disabled}\n .value=${this.displayLabel}\n autocomplete=\"off\"\n spellcheck=\"false\"\n autocapitalize=\"off\"\n readonly\n aria-controls=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-haspopup=\"listbox\"\n aria-labelledby=\"label\"\n aria-disabled=${this.disabled ? 'true' : 'false'}\n aria-describedby=\"help-text\"\n role=\"combobox\"\n tabindex=\"0\"\n />\n `;\n }\n\n private renderTags(): TemplateResult {\n return this.multiple\n ? html`\n <div part=\"tags\" class=\"select__tags\">\n ${this.selectedOptions.map((option, index) => {\n if (\n index < this.maxOptionsVisible ||\n this.maxOptionsVisible <= 0\n ) {\n const classes = {\n select__invisible:\n index + 1 > this.oldMaxOptionsVisible &&\n this.maxOptionsVisible === Infinity,\n };\n return html`\n <nile-tag\n class=${classMap(classes)}\n part=\"tag\"\n exportparts=\"\n base:tag__base,\n content:tag__content,\n remove-button:tag__remove-button,\n remove-button__base:tag__remove-button__base\n \"\n ?pill=${this.pill}\n size=${this.size}\n removable\n @nile-remove=${(event: NileRemoveEvent) =>\n this.handleTagRemove(event, option)}\n >\n ${option.getTextLabel()}\n </nile-tag>\n `;\n } else if (index === this.maxOptionsVisible) {\n return html`\n <span class=\"select__tags-count\"\n >+${this.selectedOptions.length - index} More\n </span>\n `;\n } else {\n return null;\n }\n })}\n </div>\n `\n : html``;\n }\n\n private renderValueInput(): TemplateResult {\n return html`\n <input\n class=\"select__value-input\"\n type=\"text\"\n ?disabled=${this.disabled}\n ?required=${this.required}\n .value=${Array.isArray(this.value)\n ? this.value.join(', ')\n : this.value}\n tabindex=\"-1\"\n aria-hidden=\"true\"\n @focus=${() => this.focus()}\n @invalid=${this.handleInvalid}\n />\n `;\n }\n\n private renderClearButton(hasClearIcon: boolean): TemplateResult {\n return hasClearIcon\n ? html`\n <button\n part=\"clear-button\"\n class=\"select__clear\"\n type=\"button\"\n aria-label=\"clearEntry\"\n @mousedown=${this.handleClearMouseDown}\n @click=${this.handleClearClick}\n tabindex=\"-1\"\n >\n <slot name=\"clear-icon\">\n <nile-icon name=\"close\" library=\"system\"></nile-icon>\n </slot>\n </button>\n `\n : html``;\n }\n\n private renderSuffix(): TemplateResult {\n return html`\n <slot\n part=\"suffix\"\n name=\"suffix\"\n class=${classMap({\n select__suffix: true,\n })}\n ></slot>\n `;\n }\n\n private renderExpandIcon(): TemplateResult {\n return html`\n <slot\n name=\"expand-icon\"\n part=\"expand-icon\"\n class=\"select__expand-icon\"\n >\n <nile-icon library=\"system\" name=\"arrowdown\"></nile-icon>\n </slot>\n `;\n }\n\n private renderListbox(): TemplateResult {\n return html`\n <div\n id=\"listbox\"\n role=\"listbox\"\n aria-expanded=${this.open ? 'true' : 'false'}\n aria-multiselectable=${this.multiple ? 'true' : 'false'}\n aria-labelledby=\"label\"\n part=\"listbox\"\n class=\"select__listbox ${this.searchEnabled\n ? 'select__search-enabled '\n : ''}\"\n tabindex=\"-1\"\n @mouseup=${this.handleOptionClick}\n >\n ${this.renderSearch()}\n ${this.getVirtualizedContent()}\n ${this.renderLoader()}\n ${this.renderFooter()}\n </div>\n `;\n }\n\n private renderSearch(): TemplateResult {\n return this.searchEnabled\n ? html`\n <div part=\"search\" class=\"select__search\">\n <nile-input\n size=\"small\"\n clearable\n .value=${this.searchValue}\n placeholder=\"${this.internalSearchPlaceHolder}\"\n @nile-input=${this.handleSearchChange}\n @nile-focus=${this.handleSearchFocus}\n @nile-change=\"${this.onInputChange}\"\n >\n <nile-icon name=\"search\" slot=\"suffix\"> </nile-icon>\n </nile-input>\n </div>\n `\n : html``;\n }\n\n private renderLoader(): TemplateResult {\n if (this.loading) {\n return html`\n <span part=\"loader\" class=\"virtual-select-loader\">\n <nile-loader size=\"sm\"></nile-loader>\n </span>\n `;\n }\n \n if (this.optionsLoading) {\n return html`\n <span part=\"loader\" class=\"select__loader\">\n <nile-icon\n class=\"select__loader--icon\"\n name=\"button-loading-blue\"\n ></nile-icon>\n </span>\n `;\n }\n \n return html``;\n }\n\n private renderFooter(): TemplateResult {\n return this.multiple\n ? html`\n <div\n part=\"footer\"\n class=\"select__footer\"\n @click=\"${this.handleFooterClick}\"\n >\n <span\n @click=\"${this.toggleShowSelected}\"\n style=\"cursor: pointer;\"\n >\n <nile-checkbox\n ?disabled=\"${this.selectedOptions.length === 0}\"\n ?checked=\"${this.showSelected}\"\n >\n Show Selected</nile-checkbox\n >\n </span>\n ${this.selectedOptions.length !== 0\n ? html`\n <span\n class=\"select__clear\"\n @click=\"${this.unSelectAll}\"\n >\n Clear All\n </span>\n `\n : ``}\n </div>\n `\n : html``;\n }\n\n private renderHelpText(hasHelpText: boolean, hasErrorMessage: boolean): TemplateResult {\n return html`\n ${hasHelpText\n ? html` <nile-form-help-text>${this.helpText}</nile-form-help-text> `\n : ``}\n ${hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``}\n `;\n }\n\n getVirtualizedContent(): TemplateResult {\n return VirtualSelectRenderer.getVirtualizedContent(\n this.data,\n this.searchEnabled,\n this.getDisplayText.bind(this),\n this.value,\n this.multiple,\n this.renderItemConfig?.getDisplayText,\n this.renderItemConfig?.getValue,\n this.showNoResults,\n this.noResultsMessage,\n this.optionsLoading || this.loading,\n this.handleScroll.bind(this)\n );\n }\n\n nileInput(value: any): void {\n this.emit('nile-input', value);\n }\n\n nileChange(value: any): void {\n this.emit('nile-change', value);\n }\n\n private updateValidity(): void {\n this.updateComplete.then(() => {\n this.formControlController.updateValidity();\n });\n }\n\n private calculateWidthOfSelectTagsDiv(): number | null {\n if (this.shadowRoot) {\n const selectTagsDiv = this.shadowRoot.querySelector('.select__tags') as HTMLElement;\n if (selectTagsDiv) {\n const width = selectTagsDiv.offsetWidth;\n return width - 70;\n }\n }\n return null;\n }\n\n private calculateTotalWidthOfTags(): void {\n if (this.maxOptionsVisible !== Infinity) {\n this.oldMaxOptionsVisible = this.maxOptionsVisible;\n }\n\n this.maxOptionsVisible = Infinity;\n setTimeout(() => {\n let widths: number[] = [];\n if (this.shadowRoot) {\n const tags = this.shadowRoot.querySelectorAll('nile-tag');\n tags.forEach(tag => {\n if (tag instanceof HTMLElement) {\n widths.push(tag.offsetWidth);\n }\n });\n }\n if (this.value.length !== widths.length) {\n return;\n }\n\n let sum = widths.reduce(\n (accumulator, currentValue) => accumulator + currentValue,\n 0\n );\n const widthOfSelectTagsDiv = this.calculateWidthOfSelectTagsDiv();\n if (!widthOfSelectTagsDiv) {\n return;\n }\n\n let summ = 0;\n let lastindex = 0;\n\n for (let i = 0; i < widths.length; i++) {\n summ += widths[i];\n\n if (summ > widthOfSelectTagsDiv) {\n lastindex = i;\n break;\n }\n }\n this.maxOptionsVisible = lastindex;\n }, 1);\n }\n\n private resetScrollPosition(): void {\n this.updateComplete.then(() => {\n if (this.virtualizedContainer) {\n this.virtualizedContainer.scrollTop = 0;\n \n const listbox = this.shadowRoot?.querySelector('.select__listbox') as HTMLElement;\n if (listbox) {\n listbox.scrollTop = 0;\n }\n \n const virtualizer = this.virtualizedContainer.querySelector('lit-virtualizer') as HTMLElement;\n if (virtualizer) {\n virtualizer.scrollTop = 0;\n }\n }\n });\n }\n}\n\nsetDefaultAnimation('select.show', {\n keyframes: [\n { opacity: 0, scale: 0.9 },\n { opacity: 1, scale: 1 },\n ],\n options: { duration: 100, easing: 'ease' },\n});\n\nsetDefaultAnimation('select.hide', {\n keyframes: [\n { opacity: 1, scale: 1 },\n { opacity: 0, scale: 0.9 },\n ],\n options: { duration: 100, easing: 'ease' },\n});\n\nexport default NileVirtualSelect;\n\n// declare global {\n// interface HTMLElementTagNameMap {\n// 'nile-virtual-select': NileVirtualSelect;\n// }\n// }\n"],"names":["NileVirtualSelect","_u","x","constructor","this","formControlController","FormControlController","assumeInteractionOn","hasSlotController","HasSlotController","hasFocus","displayLabel","selectedOptions","oldValue","scrolling","name","data","originalOptionItems","value","defaultValue","size","placeholder","searchValue","searchEnabled","internalSearchPlaceHolder","disableLocalSearch","optionsLoading","loading","multiple","helpText","errorMessage","warning","error","success","disabled","clearable","open","hoist","filled","pill","label","placement","form","required","showNoResults","noResultsMessage","showSelected","blockValueChange","noWidthSync","maxOptionsVisible","oldMaxOptionsVisible","handleDocumentMouseDown","event","path","composedPath","hitSelf","includes","hitPopup","popup","hide","_this","_inherits","_createClass","key","get","_this$valueInput","valueInput","validity","validationMessage","_this$valueInput$vali","_this$valueInput2","connectedCallback","super","initializeComponent","setupEventListeners","updateComplete","then","length","selectionChanged","disconnectedCallback","removeOpenListeners","scrollTimeout","clearTimeout","undefined","updated","changedProperties","has","emit","getDisplayText","item","_this$renderItemConfi","renderItemConfig","toString","getItemValue","_this$renderItemConfi2","getValue","getSearchText","handleDocumentFocusIn","bind","handleDocumentKeyDown","addOpenListeners","document","addEventListener","removeEventListener","handleFocus","handleBlur","shouldIgnoreKeyPress","isEscapeKey","handleEscapeKey","isEnterOrSpaceKey","handleEnterOrSpaceKey","target","isClearButton","closest","isIconButton","preventDefault","stopPropagation","displayInput","focus","preventScroll","stopImmediatePropagation","show","handleFooterClick","toggleShowSelected","_this$selectedOptions","selectedValues","Array","isArray","filter","requestUpdate","resetScrollPosition","unSelectAll","handleLabelClick","handleComboboxMouseDown","shouldIgnoreComboboxClick","some","el","Element","tagName","toLowerCase","handleComboboxKeyDown","handleClearClick","clearSelection","nileInput","nileChange","handleClearMouseDown","handleOptionClick","option","shouldBlockValueChange","handleOptionSelection","optionValue","toggleOptionSelection","setSelectedOptions","currentValues","v","concat","_toConsumableArray","handleTagRemove","removeTagFromSelection","emitTagRemovalEvent","currentValue","newValue","removedtagvalue","itemsToSearch","VirtualSelectSelectionManager","createVirtualOptionsFromValues","_this$selectedOptions2","getTextLabel","updateValidity","calculateTotalWidthOfTags","handleSearchFocus","handleSearchBlur","handleSearchChange","e","detail","query","filterVirtualOptions","handleScroll","_this6","scrollTop","scrollLeft","window","setTimeout","Math","ceil","floor","scrollHeight","offsetHeight","isAtBottom","result","VirtualSelectSearchManager","filteredItems","handleInvalid","setValidity","emitInvalidEvent","handleDisabledChange","handleOpenChange","handleValueChange","handleDataChange","handleRenderItemConfigChange","handleOptionsLoadingChange","handleLoadingChange","_handleOpenChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_callee$","_context2","prev","next","handleOpen","handleClose","stop","_callee2","_this$data","_h","i","s","_callee2$","_context3","stopAnimations","active","getAnimation","dir","keyframes","options","animateTo","initializeOriginalItems","_callee3","_h2","_callee3$","_context4","_show","_callee4","_callee4$","_context5","waitForEvent","_callee5","_callee5$","_context6","abrupt","checkValidity","getForm","reportValidity","setCustomValidity","message","blur","onInputChange","render","hasLabelSlot","test","hasLabelSuffixSlot","hasCustomSelect","hasLabel","hasClearIcon","isPlaceholderVisible","hasHelpText","hasErrorMessage","html","_templateObject","_taggedTemplateLiteral","classMap","renderLabel","renderFormControlInput","_templateObject2","_templateObject3","_templateObject4","renderPopup","renderHelpText","_templateObject5","select","ifDefined","renderCustomSelect","renderCombobox","renderListbox","_templateObject6","_templateObject7","_templateObject8","select__combobox","renderPrefix","renderDisplayInput","renderTags","renderValueInput","renderClearButton","renderSuffix","renderExpandIcon","_templateObject9","select__prefix","_templateObject10","_templateObject11","map","index","classes","select__invisible","Infinity","_templateObject12","_templateObject13","_templateObject14","_templateObject15","join","_templateObject16","_templateObject17","_templateObject18","select__suffix","_templateObject19","_templateObject20","renderSearch","getVirtualizedContent","renderLoader","renderFooter","_templateObject21","_templateObject22","_templateObject23","_templateObject24","_templateObject25","_templateObject26","_templateObject27","_templateObject28","_templateObject29","_templateObject30","_templateObject31","VirtualSelectRenderer","calculateWidthOfSelectTagsDiv","shadowRoot","selectTagsDiv","querySelector","offsetWidth","widths","querySelectorAll","forEach","tag","HTMLElement","push","widthOfSelectTagsDiv","summ","lastindex","virtualizedContainer","_this11$shadowRoot","listbox","virtualizer","NileElement","styles","__decorate","prototype","state","property","type","converter","fromAttribute","split","toAttribute","Boolean","reflect","attribute","String","Number","watch","waitUntilFirstUpdate","customElement","setDefaultAnimation","opacity","scale","duration","easing"],"mappings":"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"}
|
@@ -0,0 +1,231 @@
|
|
1
|
+
import{__decorate as i}from"tslib";import{html as s}from"lit";import{query as e,state as o,property as n,customElement as t}from"lit/decorators.js";import{s as c}from"./nile-virtual-select.css.esm.js";import"../nile-icon/index.esm.js";import"../nile-popup/nile-popup.esm.js";import"../nile-tag/nile-tag.esm.js";import"../nile-checkbox/nile-checkbox.esm.js";import"../nile-loader/nile-loader.esm.js";import{s as l,a as r}from"../internal/animate.esm.js";import{classMap as m}from"lit/directives/class-map.js";import{d as a}from"../internal/default-value.esm.js";import{F as p}from"../internal/form.esm.js";import{s as h,g}from"../utilities/animation-registry.esm.js";import{H as v}from"../internal/slot.esm.js";import{w as j}from"../internal/event.esm.js";import{w as d}from"../internal/watch.esm.js";import{N as u}from"../internal/nile-element.esm.js";import{ifDefined as f}from"lit/directives/if-defined.js";import{V as b}from"./selection-manager.esm.js";import{V as y}from"./search-manager.esm.js";import{V as w}from"./renderer.esm.js";import"lit/directives/unsafe-svg.js";import"../nile-icon/icons/svg/index.esm.js";import"../nile-icon/icons/svg/access-request.esm.js";import"../nile-icon/icons/svg/accessreview.esm.js";import"../nile-icon/icons/svg/action.esm.js";import"../nile-icon/icons/svg/activity-logs.esm.js";import"../nile-icon/icons/svg/address.esm.js";import"../nile-icon/icons/svg/admin-users.esm.js";import"../nile-icon/icons/svg/agent.esm.js";import"../nile-icon/icons/svg/aggregation.esm.js";import"../nile-icon/icons/svg/alert-circle.esm.js";import"../nile-icon/icons/svg/alert.esm.js";import"../nile-icon/icons/svg/allapplication.esm.js";import"../nile-icon/icons/svg/allsearch.esm.js";import"../nile-icon/icons/svg/analytics.esm.js";import"../nile-icon/icons/svg/api.esm.js";import"../nile-icon/icons/svg/applications-2.esm.js";import"../nile-icon/icons/svg/apply-filter.esm.js";import"../nile-icon/icons/svg/apps.esm.js";import"../nile-icon/icons/svg/aquera.esm.js";import"../nile-icon/icons/svg/aquerasupport.esm.js";import"../nile-icon/icons/svg/array-loop.esm.js";import"../nile-icon/icons/svg/array-of-boolean.esm.js";import"../nile-icon/icons/svg/array-of-integer.esm.js";import"../nile-icon/icons/svg/array-of-string.esm.js";import"../nile-icon/icons/svg/array.esm.js";import"../nile-icon/icons/svg/arrayofobject.esm.js";import"../nile-icon/icons/svg/arrow-narrow-left.esm.js";import"../nile-icon/icons/svg/arrow.esm.js";import"../nile-icon/icons/svg/arrowdown.esm.js";import"../nile-icon/icons/svg/arrowdropdown.esm.js";import"../nile-icon/icons/svg/arrowdropup.esm.js";import"../nile-icon/icons/svg/arrowleft.esm.js";import"../nile-icon/icons/svg/arrowright.esm.js";import"../nile-icon/icons/svg/arrowup.esm.js";import"../nile-icon/icons/svg/attribute-map-analysis-icon.esm.js";import"../nile-icon/icons/svg/attribute.esm.js";import"../nile-icon/icons/svg/attributemap.esm.js";import"../nile-icon/icons/svg/automation-details.esm.js";import"../nile-icon/icons/svg/back.esm.js";import"../nile-icon/icons/svg/bar-and-line-chart.esm.js";import"../nile-icon/icons/svg/bar-chart-square-02.esm.js";import"../nile-icon/icons/svg/bar-chart.esm.js";import"../nile-icon/icons/svg/bargraph.esm.js";import"../nile-icon/icons/svg/block.esm.js";import"../nile-icon/icons/svg/bluedot.esm.js";import"../nile-icon/icons/svg/book-closed.esm.js";import"../nile-icon/icons/svg/boolean.esm.js";import"../nile-icon/icons/svg/border_all.esm.js";import"../nile-icon/icons/svg/box.esm.js";import"../nile-icon/icons/svg/bubble-chart.esm.js";import"../nile-icon/icons/svg/bulk-sync.esm.js";import"../nile-icon/icons/svg/button-loading-black.esm.js";import"../nile-icon/icons/svg/button-loading-blue-animated.esm.js";import"../nile-icon/icons/svg/button-loading-blue.esm.js";import"../nile-icon/icons/svg/button-loading-white.esm.js";import"../nile-icon/icons/svg/calendar.esm.js";import"../nile-icon/icons/svg/cases.esm.js";import"../nile-icon/icons/svg/cell-loader.esm.js";import"../nile-icon/icons/svg/certification.esm.js";import"../nile-icon/icons/svg/check-circle.esm.js";import"../nile-icon/icons/svg/check-done-01.esm.js";import"../nile-icon/icons/svg/check-done-02.esm.js";import"../nile-icon/icons/svg/chevron-left-double.esm.js";import"../nile-icon/icons/svg/chevron-up.esm.js";import"../nile-icon/icons/svg/class.esm.js";import"../nile-icon/icons/svg/clock-check.esm.js";import"../nile-icon/icons/svg/clock-rewind.esm.js";import"../nile-icon/icons/svg/clock.esm.js";import"../nile-icon/icons/svg/close.esm.js";import"../nile-icon/icons/svg/cloud-01.esm.js";import"../nile-icon/icons/svg/code-generator.esm.js";import"../nile-icon/icons/svg/collapse-1.esm.js";import"../nile-icon/icons/svg/collapse.esm.js";import"../nile-icon/icons/svg/color.esm.js";import"../nile-icon/icons/svg/column-02.esm.js";import"../nile-icon/icons/svg/column-add.esm.js";import"../nile-icon/icons/svg/columns-03.esm.js";import"../nile-icon/icons/svg/combo1.esm.js";import"../nile-icon/icons/svg/comment.esm.js";import"../nile-icon/icons/svg/compact.esm.js";import"../nile-icon/icons/svg/compare-tiles.esm.js";import"../nile-icon/icons/svg/compare.esm.js";import"../nile-icon/icons/svg/component-menu.esm.js";import"../nile-icon/icons/svg/component.esm.js";import"../nile-icon/icons/svg/components-icon.esm.js";import"../nile-icon/icons/svg/componenttext.esm.js";import"../nile-icon/icons/svg/condition.esm.js";import"../nile-icon/icons/svg/conditions.esm.js";import"../nile-icon/icons/svg/connect.esm.js";import"../nile-icon/icons/svg/connectivitymap.esm.js";import"../nile-icon/icons/svg/connectorrightarrow.esm.js";import"../nile-icon/icons/svg/copy-06.esm.js";import"../nile-icon/icons/svg/copy.esm.js";import"../nile-icon/icons/svg/cor-analysis.esm.js";import"../nile-icon/icons/svg/correlation.esm.js";import"../nile-icon/icons/svg/cost-analytics.esm.js";import"../nile-icon/icons/svg/create.esm.js";import"../nile-icon/icons/svg/createuser.esm.js";import"../nile-icon/icons/svg/dashboard.esm.js";import"../nile-icon/icons/svg/data-insight.esm.js";import"../nile-icon/icons/svg/data-type-array.esm.js";import"../nile-icon/icons/svg/data-type-boolean.esm.js";import"../nile-icon/icons/svg/data-type-json.esm.js";import"../nile-icon/icons/svg/data-type-null.esm.js";import"../nile-icon/icons/svg/data-type-number.esm.js";import"../nile-icon/icons/svg/data-type-string.esm.js";import"../nile-icon/icons/svg/data-type-unknown.esm.js";import"../nile-icon/icons/svg/database.esm.js";import"../nile-icon/icons/svg/databaseview.esm.js";import"../nile-icon/icons/svg/dataflow-03.esm.js";import"../nile-icon/icons/svg/dataflow-04.esm.js";import"../nile-icon/icons/svg/default-cursor.esm.js";import"../nile-icon/icons/svg/default.esm.js";import"../nile-icon/icons/svg/delegate.esm.js";import"../nile-icon/icons/svg/delete.esm.js";import"../nile-icon/icons/svg/deligateduser.esm.js";import"../nile-icon/icons/svg/directory.esm.js";import"../nile-icon/icons/svg/disabled.esm.js";import"../nile-icon/icons/svg/dock-to-right.esm.js";import"../nile-icon/icons/svg/document-new.esm.js";import"../nile-icon/icons/svg/done-02.esm.js";import"../nile-icon/icons/svg/done.esm.js";import"../nile-icon/icons/svg/dontmap.esm.js";import"../nile-icon/icons/svg/donut.esm.js";import"../nile-icon/icons/svg/dotpoints-02.esm.js";import"../nile-icon/icons/svg/dots-grid.esm.js";import"../nile-icon/icons/svg/doublearrowleft.esm.js";import"../nile-icon/icons/svg/doublearrowright.esm.js";import"../nile-icon/icons/svg/dowhileloop.esm.js";import"../nile-icon/icons/svg/downgrade.esm.js";import"../nile-icon/icons/svg/download.esm.js";import"../nile-icon/icons/svg/drag.esm.js";import"../nile-icon/icons/svg/edit-write.esm.js";import"../nile-icon/icons/svg/else.esm.js";import"../nile-icon/icons/svg/email.esm.js";import"../nile-icon/icons/svg/enable.esm.js";import"../nile-icon/icons/svg/entities.esm.js";import"../nile-icon/icons/svg/entitlement.esm.js";import"../nile-icon/icons/svg/error.esm.js";import"../nile-icon/icons/svg/escalate.esm.js";import"../nile-icon/icons/svg/exactmatch.esm.js";import"../nile-icon/icons/svg/execute.esm.js";import"../nile-icon/icons/svg/expand-03.esm.js";import"../nile-icon/icons/svg/expand-06.esm.js";import"../nile-icon/icons/svg/expand-2.esm.js";import"../nile-icon/icons/svg/expand.esm.js";import"../nile-icon/icons/svg/eye-off.esm.js";import"../nile-icon/icons/svg/eye.esm.js";import"../nile-icon/icons/svg/eyeclosed.esm.js";import"../nile-icon/icons/svg/featured-icon.esm.js";import"../nile-icon/icons/svg/file-06.esm.js";import"../nile-icon/icons/svg/file-check-02.esm.js";import"../nile-icon/icons/svg/file-shield-01.esm.js";import"../nile-icon/icons/svg/file-shield-02.esm.js";import"../nile-icon/icons/svg/file-type-icon.esm.js";import"../nile-icon/icons/svg/file.esm.js";import"../nile-icon/icons/svg/filter-1.esm.js";import"../nile-icon/icons/svg/filter.esm.js";import"../nile-icon/icons/svg/fingerprint-03.esm.js";import"../nile-icon/icons/svg/firewall.esm.js";import"../nile-icon/icons/svg/firewallagent.esm.js";import"../nile-icon/icons/svg/flow.esm.js";import"../nile-icon/icons/svg/flowmap-agent.esm.js";import"../nile-icon/icons/svg/flowmap-application.esm.js";import"../nile-icon/icons/svg/flowmap-colorpalatte.esm.js";import"../nile-icon/icons/svg/flowmap-firewall-agent.esm.js";import"../nile-icon/icons/svg/flowmap-firewall.esm.js";import"../nile-icon/icons/svg/flowmap-gateway.esm.js";import"../nile-icon/icons/svg/flowmap-orchestration.esm.js";import"../nile-icon/icons/svg/flowmap-undo.esm.js";import"../nile-icon/icons/svg/flowmap-workflow.esm.js";import"../nile-icon/icons/svg/flowmap.esm.js";import"../nile-icon/icons/svg/folder.esm.js";import"../nile-icon/icons/svg/foreach.esm.js";import"../nile-icon/icons/svg/frequency.esm.js";import"../nile-icon/icons/svg/full-union.esm.js";import"../nile-icon/icons/svg/fullscreen.esm.js";import"../nile-icon/icons/svg/fullscreenexit.esm.js";import"../nile-icon/icons/svg/fullscreenshrink.esm.js";import"../nile-icon/icons/svg/function.esm.js";import"../nile-icon/icons/svg/funnel-02.esm.js";import"../nile-icon/icons/svg/funnel.esm.js";import"../nile-icon/icons/svg/gateway.esm.js";import"../nile-icon/icons/svg/gauge.esm.js";import"../nile-icon/icons/svg/general.esm.js";import"../nile-icon/icons/svg/generationphase.esm.js";import"../nile-icon/icons/svg/global-search.esm.js";import"../nile-icon/icons/svg/globe-03.esm.js";import"../nile-icon/icons/svg/globe.esm.js";import"../nile-icon/icons/svg/goto.esm.js";import"../nile-icon/icons/svg/graph.esm.js";import"../nile-icon/icons/svg/graphedit.esm.js";import"../nile-icon/icons/svg/greendot.esm.js";import"../nile-icon/icons/svg/greydot.esm.js";import"../nile-icon/icons/svg/greylightdot.esm.js";import"../nile-icon/icons/svg/grid-01.esm.js";import"../nile-icon/icons/svg/group-analysis-icon.esm.js";import"../nile-icon/icons/svg/group.esm.js";import"../nile-icon/icons/svg/groupby.esm.js";import"../nile-icon/icons/svg/groups.esm.js";import"../nile-icon/icons/svg/guide-01.esm.js";import"../nile-icon/icons/svg/guide.esm.js";import"../nile-icon/icons/svg/handtool.esm.js";import"../nile-icon/icons/svg/header-child-workflow.esm.js";import"../nile-icon/icons/svg/header-flows.esm.js";import"../nile-icon/icons/svg/header-tasks.esm.js";import"../nile-icon/icons/svg/headphones-01.esm.js";import"../nile-icon/icons/svg/help.esm.js";import"../nile-icon/icons/svg/helpandsupport.esm.js";import"../nile-icon/icons/svg/helpers.esm.js";import"../nile-icon/icons/svg/helpsupport.esm.js";import"../nile-icon/icons/svg/history.esm.js";import"../nile-icon/icons/svg/identitygraph.esm.js";import"../nile-icon/icons/svg/identityledger.esm.js";import"../nile-icon/icons/svg/ifelse.esm.js";import"../nile-icon/icons/svg/ifelsenew.esm.js";import"../nile-icon/icons/svg/image.esm.js";import"../nile-icon/icons/svg/immutable.esm.js";import"../nile-icon/icons/svg/info-icon.esm.js";import"../nile-icon/icons/svg/info.esm.js";import"../nile-icon/icons/svg/inner-union.esm.js";import"../nile-icon/icons/svg/inprogress.esm.js";import"../nile-icon/icons/svg/insert-at-cursor.esm.js";import"../nile-icon/icons/svg/integer.esm.js";import"../nile-icon/icons/svg/intersection.esm.js";import"../nile-icon/icons/svg/js.esm.js";import"../nile-icon/icons/svg/key-performance-indicator.esm.js";import"../nile-icon/icons/svg/keyboard-01.esm.js";import"../nile-icon/icons/svg/keyword.esm.js";import"../nile-icon/icons/svg/kill.esm.js";import"../nile-icon/icons/svg/laptop-01.esm.js";import"../nile-icon/icons/svg/layers-three-02.esm.js";import"../nile-icon/icons/svg/layout-alt-02.esm.js";import"../nile-icon/icons/svg/layout-alt-03.esm.js";import"../nile-icon/icons/svg/left-join.esm.js";import"../nile-icon/icons/svg/left-union.esm.js";import"../nile-icon/icons/svg/leftpointarrow.esm.js";import"../nile-icon/icons/svg/life-buoy-01.esm.js";import"../nile-icon/icons/svg/line.esm.js";import"../nile-icon/icons/svg/link.esm.js";import"../nile-icon/icons/svg/list-attribute.esm.js";import"../nile-icon/icons/svg/list.esm.js";import"../nile-icon/icons/svg/loader.esm.js";import"../nile-icon/icons/svg/loading.esm.js";import"../nile-icon/icons/svg/loading2.esm.js";import"../nile-icon/icons/svg/lock.esm.js";import"../nile-icon/icons/svg/log-info.esm.js";import"../nile-icon/icons/svg/log.esm.js";import"../nile-icon/icons/svg/logo-white.esm.js";import"../nile-icon/icons/svg/logout.esm.js";import"../nile-icon/icons/svg/logs.esm.js";import"../nile-icon/icons/svg/loop.esm.js";import"../nile-icon/icons/svg/manage.esm.js";import"../nile-icon/icons/svg/map.esm.js";import"../nile-icon/icons/svg/mapcreate.esm.js";import"../nile-icon/icons/svg/mapdont.esm.js";import"../nile-icon/icons/svg/maponcreate.esm.js";import"../nile-icon/icons/svg/maponupdate.esm.js";import"../nile-icon/icons/svg/mapper.esm.js";import"../nile-icon/icons/svg/mapupdate.esm.js";import"../nile-icon/icons/svg/marker-pin-01.esm.js";import"../nile-icon/icons/svg/maximize.esm.js";import"../nile-icon/icons/svg/menu.esm.js";import"../nile-icon/icons/svg/message-notification-square.esm.js";import"../nile-icon/icons/svg/minus.esm.js";import"../nile-icon/icons/svg/monitor-01.esm.js";import"../nile-icon/icons/svg/mouse.esm.js";import"../nile-icon/icons/svg/move-application.esm.js";import"../nile-icon/icons/svg/moveleft.esm.js";import"../nile-icon/icons/svg/moveright.esm.js";import"../nile-icon/icons/svg/mute.esm.js";import"../nile-icon/icons/svg/my-integration.esm.js";import"../nile-icon/icons/svg/new-calendar.esm.js";import"../nile-icon/icons/svg/nightingale-chart.esm.js";import"../nile-icon/icons/svg/nlp.esm.js";import"../nile-icon/icons/svg/nomatch.esm.js";import"../nile-icon/icons/svg/note.esm.js";import"../nile-icon/icons/svg/notification.esm.js";import"../nile-icon/icons/svg/notificationadd.esm.js";import"../nile-icon/icons/svg/notificationadded.esm.js";import"../nile-icon/icons/svg/null.esm.js";import"../nile-icon/icons/svg/number.esm.js";import"../nile-icon/icons/svg/numberinput.esm.js";import"../nile-icon/icons/svg/numbers.esm.js";import"../nile-icon/icons/svg/object.esm.js";import"../nile-icon/icons/svg/operators.esm.js";import"../nile-icon/icons/svg/options.esm.js";import"../nile-icon/icons/svg/orchestration-solid.esm.js";import"../nile-icon/icons/svg/orchestration.esm.js";import"../nile-icon/icons/svg/organization.esm.js";import"../nile-icon/icons/svg/other.esm.js";import"../nile-icon/icons/svg/otherdetails.esm.js";import"../nile-icon/icons/svg/override.esm.js";import"../nile-icon/icons/svg/palletemenu.esm.js";import"../nile-icon/icons/svg/paperclip.esm.js";import"../nile-icon/icons/svg/partner.esm.js";import"../nile-icon/icons/svg/partners.esm.js";import"../nile-icon/icons/svg/pause.esm.js";import"../nile-icon/icons/svg/pencil.esm.js";import"../nile-icon/icons/svg/peopletask.esm.js";import"../nile-icon/icons/svg/persistent-variable.esm.js";import"../nile-icon/icons/svg/persistentdata.esm.js";import"../nile-icon/icons/svg/phone.esm.js";import"../nile-icon/icons/svg/pie.esm.js";import"../nile-icon/icons/svg/pin.esm.js";import"../nile-icon/icons/svg/play.esm.js";import"../nile-icon/icons/svg/play_pause.esm.js";import"../nile-icon/icons/svg/plus.esm.js";import"../nile-icon/icons/svg/pluscircle.esm.js";import"../nile-icon/icons/svg/plussquare.esm.js";import"../nile-icon/icons/svg/policy.esm.js";import"../nile-icon/icons/svg/potentialmatch.esm.js";import"../nile-icon/icons/svg/poweron.esm.js";import"../nile-icon/icons/svg/predefined.esm.js";import"../nile-icon/icons/svg/preview.esm.js";import"../nile-icon/icons/svg/printer.esm.js";import"../nile-icon/icons/svg/priority-high.esm.js";import"../nile-icon/icons/svg/priority-highest.esm.js";import"../nile-icon/icons/svg/priority-low.esm.js";import"../nile-icon/icons/svg/priority-medium.esm.js";import"../nile-icon/icons/svg/privilage.esm.js";import"../nile-icon/icons/svg/privilege.esm.js";import"../nile-icon/icons/svg/privilegeobject.esm.js";import"../nile-icon/icons/svg/process.esm.js";import"../nile-icon/icons/svg/professionaldetails.esm.js";import"../nile-icon/icons/svg/question.esm.js";import"../nile-icon/icons/svg/radar.esm.js";import"../nile-icon/icons/svg/radio.esm.js";import"../nile-icon/icons/svg/radioactive.esm.js";import"../nile-icon/icons/svg/radiodone.esm.js";import"../nile-icon/icons/svg/read.esm.js";import"../nile-icon/icons/svg/readexpression.esm.js";import"../nile-icon/icons/svg/readonly.esm.js";import"../nile-icon/icons/svg/readonlyuser.esm.js";import"../nile-icon/icons/svg/readuser.esm.js";import"../nile-icon/icons/svg/reddot.esm.js";import"../nile-icon/icons/svg/redo-02.esm.js";import"../nile-icon/icons/svg/redo.esm.js";import"../nile-icon/icons/svg/refresh.esm.js";import"../nile-icon/icons/svg/reminder.esm.js";import"../nile-icon/icons/svg/resize.esm.js";import"../nile-icon/icons/svg/resource.esm.js";import"../nile-icon/icons/svg/resource_analysis.esm.js";import"../nile-icon/icons/svg/resource_graph.esm.js";import"../nile-icon/icons/svg/restart_alt.esm.js";import"../nile-icon/icons/svg/revocation-cycle.esm.js";import"../nile-icon/icons/svg/right-join.esm.js";import"../nile-icon/icons/svg/right-union.esm.js";import"../nile-icon/icons/svg/rocket-02.esm.js";import"../nile-icon/icons/svg/role.esm.js";import"../nile-icon/icons/svg/run.esm.js";import"../nile-icon/icons/svg/sankey.esm.js";import"../nile-icon/icons/svg/save.esm.js";import"../nile-icon/icons/svg/savings.esm.js";import"../nile-icon/icons/svg/scatter-plot.esm.js";import"../nile-icon/icons/svg/schedule.esm.js";import"../nile-icon/icons/svg/schema.esm.js";import"../nile-icon/icons/svg/script.esm.js";import"../nile-icon/icons/svg/search-steps-icon.esm.js";import"../nile-icon/icons/svg/search.esm.js";import"../nile-icon/icons/svg/section.esm.js";import"../nile-icon/icons/svg/select-02.esm.js";import"../nile-icon/icons/svg/select.esm.js";import"../nile-icon/icons/svg/selectapplication.esm.js";import"../nile-icon/icons/svg/selectattributes.esm.js";import"../nile-icon/icons/svg/semi-circle-donut-chart.esm.js";import"../nile-icon/icons/svg/send.esm.js";import"../nile-icon/icons/svg/sendemail.esm.js";import"../nile-icon/icons/svg/sendescalation.esm.js";import"../nile-icon/icons/svg/sendreminder.esm.js";import"../nile-icon/icons/svg/server-03.esm.js";import"../nile-icon/icons/svg/settings-02.esm.js";import"../nile-icon/icons/svg/settings.esm.js";import"../nile-icon/icons/svg/share.esm.js";import"../nile-icon/icons/svg/shield-01.esm.js";import"../nile-icon/icons/svg/smartcode.esm.js";import"../nile-icon/icons/svg/sort.esm.js";import"../nile-icon/icons/svg/sort_ascending.esm.js";import"../nile-icon/icons/svg/sort_descending.esm.js";import"../nile-icon/icons/svg/sortascending.esm.js";import"../nile-icon/icons/svg/sortdescending.esm.js";import"../nile-icon/icons/svg/sortdown.esm.js";import"../nile-icon/icons/svg/sortup.esm.js";import"../nile-icon/icons/svg/stacked-bar-chart.esm.js";import"../nile-icon/icons/svg/step_into.esm.js";import"../nile-icon/icons/svg/step_out.esm.js";import"../nile-icon/icons/svg/step_over.esm.js";import"../nile-icon/icons/svg/stop.esm.js";import"../nile-icon/icons/svg/storybook.esm.js";import"../nile-icon/icons/svg/string.esm.js";import"../nile-icon/icons/svg/stringinput.esm.js";import"../nile-icon/icons/svg/stringletters.esm.js";import"../nile-icon/icons/svg/support.esm.js";import"../nile-icon/icons/svg/swap.esm.js";import"../nile-icon/icons/svg/switch.esm.js";import"../nile-icon/icons/svg/sync.esm.js";import"../nile-icon/icons/svg/table.esm.js";import"../nile-icon/icons/svg/tag.esm.js";import"../nile-icon/icons/svg/test.esm.js";import"../nile-icon/icons/svg/text-02.esm.js";import"../nile-icon/icons/svg/text.esm.js";import"../nile-icon/icons/svg/textarea-expander.esm.js";import"../nile-icon/icons/svg/thumbsdown.esm.js";import"../nile-icon/icons/svg/thumbsup.esm.js";import"../nile-icon/icons/svg/thumsup.esm.js";import"../nile-icon/icons/svg/tick.esm.js";import"../nile-icon/icons/svg/timeupdate.esm.js";import"../nile-icon/icons/svg/timezone.esm.js";import"../nile-icon/icons/svg/transaction_monitor.esm.js";import"../nile-icon/icons/svg/trend-up-02.esm.js";import"../nile-icon/icons/svg/trigger.esm.js";import"../nile-icon/icons/svg/undo-02.esm.js";import"../nile-icon/icons/svg/undo.esm.js";import"../nile-icon/icons/svg/union.esm.js";import"../nile-icon/icons/svg/unmute.esm.js";import"../nile-icon/icons/svg/update.esm.js";import"../nile-icon/icons/svg/updown.esm.js";import"../nile-icon/icons/svg/upgrade.esm.js";import"../nile-icon/icons/svg/upload.esm.js";import"../nile-icon/icons/svg/user-group.esm.js";import"../nile-icon/icons/svg/user.esm.js";import"../nile-icon/icons/svg/useractive.esm.js";import"../nile-icon/icons/svg/useradd.esm.js";import"../nile-icon/icons/svg/useraddgroup.esm.js";import"../nile-icon/icons/svg/userfind.esm.js";import"../nile-icon/icons/svg/userimport.esm.js";import"../nile-icon/icons/svg/userimportgroup.esm.js";import"../nile-icon/icons/svg/usermixed.esm.js";import"../nile-icon/icons/svg/userremove.esm.js";import"../nile-icon/icons/svg/userremovegroup.esm.js";import"../nile-icon/icons/svg/users-plus.esm.js";import"../nile-icon/icons/svg/users-up.esm.js";import"../nile-icon/icons/svg/users.esm.js";import"../nile-icon/icons/svg/userupdate.esm.js";import"../nile-icon/icons/svg/validationexpression.esm.js";import"../nile-icon/icons/svg/variable-global.esm.js";import"../nile-icon/icons/svg/variable-local.esm.js";import"../nile-icon/icons/svg/variable-new.esm.js";import"../nile-icon/icons/svg/variable.esm.js";import"../nile-icon/icons/svg/video.esm.js";import"../nile-icon/icons/svg/view.esm.js";import"../nile-icon/icons/svg/virtualserver.esm.js";import"../nile-icon/icons/svg/virtualservergroup.esm.js";import"../nile-icon/icons/svg/visibility.esm.js";import"../nile-icon/icons/svg/visibilityoff.esm.js";import"../nile-icon/icons/svg/wait.esm.js";import"../nile-icon/icons/svg/warning-01.esm.js";import"../nile-icon/icons/svg/warning.esm.js";import"../nile-icon/icons/svg/whileloop.esm.js";import"../nile-icon/icons/svg/workflow-application.esm.js";import"../nile-icon/icons/svg/workflow-text.esm.js";import"../nile-icon/icons/svg/workflow.esm.js";import"../nile-icon/icons/svg/writeexpression.esm.js";import"../nile-icon/aliasmap.esm.js";import"../nile-popup/nile-popup.css.esm.js";import"../nile-tag/nile-tag.css.esm.js";import"../nile-icon-button/nile-icon-button.esm.js";import"../nile-icon-button/nile-icon-button.css.esm.js";import"lit/static-html.js";import"../nile-checkbox/nile-checkbox.css.esm.js";import"lit/directives/live.js";import"../nile-loader/nile-loader.css.esm.js";import"../virtualize-a4a40d96.esm.js";import"lit/directive.js";import"lit/async-directive.js";import"lit/directives/repeat.js";import"lit/directives/unsafe-html.js";let x=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.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.searchValue="",this.searchEnabled=!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.maxOptionsVisible=3,this.oldMaxOptionsVisible=1,this.handleDocumentMouseDown=i=>{if(!this.open)return;const s=i.composedPath(),e=s.includes(this),o=this.popup&&s.includes(this.popup);e||o||this.hide()}}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.scrollTimeout&&(clearTimeout(this.scrollTimeout),this.scrollTimeout=void 0)}updated(i){i.has("value")&&this.selectionChanged()}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)}addOpenListeners(){document.addEventListener("focusin",this.handleDocumentFocusIn),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown)}removeOpenListeners(){document.removeEventListener("focusin",this.handleDocumentFocusIn),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown)}handleFocus(){this.hasFocus=!0,this.emit("nile-focus")}handleBlur(){this.hasFocus=!1,this.emit("nile-blur")}handleDocumentFocusIn(i){if(!this.open)return;const s=i.composedPath(),e=s.includes(this),o=this.popup&&s.includes(this.popup);e||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"),o=null!==s.closest("nile-icon-button");return e||o}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){const i=Array.isArray(this.value)?this.value:[this.value];this.data=this.originalOptionItems.filter((s=>i.includes(s.value)))}else this.data=[...this.originalOptionItems];this.requestUpdate(),this.resetScrollPosition()}}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.calculateTotalWidthOfTags()}handleSearchFocus(){document.removeEventListener("keydown",this.handleDocumentKeyDown)}handleSearchBlur(){document.addEventListener("keydown",this.handleDocumentKeyDown)}handleSearchChange(i){this.searchValue=i.detail.value,this.emit("nile-search",{query:this.searchValue,name:this.name}),this.disableLocalSearch||(this.filterVirtualOptions(this.searchValue),this.resetScrollPosition())}handleScroll(i){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.emit("nile-scroll-end",{scrollTop:s.scrollTop,scrollLeft:s.scrollLeft,name:this.name,isAtBottom:!0})}filterVirtualOptions(i){const s=y.filterVirtualOptions(i,this.originalOptionItems,this.data,this.getDisplayText.bind(this),this.renderItemConfig?.getSearchText);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()}handleDataChange(){this.data.length>0&&this.open&&(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()}handleRenderItemConfigChange(){this.value&&this.data.length>0&&(this.selectionChanged(),this.requestUpdate())}handleOptionsLoadingChange(){this.optionsLoading||0!==this.data.length||(this.showNoResults=!0),this.requestUpdate()}handleLoadingChange(){this.loading||0!==this.data.length||(this.showNoResults=!0),this.requestUpdate()}async handleOpenChange(){this.open&&!this.disabled?await this.handleOpen():await this.handleClose()}async handleOpen(){this.emit("nile-show",{value:this.value,name:this.name}),this.addOpenListeners(),this.showNoResults=!this.data?.length,await l(this),this.popup.active=!0;const{keyframes:i,options:s}=g(this,"select.show",{dir:"ltr"});await r(this.popup.popup,i,s),this.initializeOriginalItems(),this.filterVirtualOptions(this.searchValue),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(),await l(this);const{keyframes:i,options:s}=g(this,"select.hide",{dir:"ltr"});await r(this.popup.popup,i,s),this.popup.active=!1,this.searchValue="",this.emit("nile-after-hide",{value:this.value,name:this.name})}initializeOriginalItems(){this.data.length>0&&(this.originalOptionItems=[...this.data])}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"),o=this.hasSlotController.test("custom-select"),n=!!this.label||!!i,t=this.clearable&&!this.disabled&&this.value.length>0,c=!!this.placeholder&&0===this.value.length,l=!!this.helpText,r=!!this.errorMessage;return s`
|
2
|
+
<div
|
3
|
+
part="form-control"
|
4
|
+
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":n,"form-control--has-help-text":l})}
|
5
|
+
>
|
6
|
+
${this.renderLabel(n,e)}
|
7
|
+
${this.renderFormControlInput(o,t,c,l,r)}
|
8
|
+
</div>
|
9
|
+
`}renderLabel(i,e){return s`
|
10
|
+
<label
|
11
|
+
id="label"
|
12
|
+
part="form-control-label"
|
13
|
+
class="form-control__label"
|
14
|
+
aria-hidden=${i?"false":"true"}
|
15
|
+
@click=${this.handleLabelClick}
|
16
|
+
>
|
17
|
+
<slot name="label">${this.label}</slot>
|
18
|
+
</label>
|
19
|
+
|
20
|
+
${e?s` <slot name="label-suffix"></slot> `:""}
|
21
|
+
`}renderFormControlInput(i,e,o,n,t){return s`
|
22
|
+
<div part="form-control-input" class="form-control-input">
|
23
|
+
${this.renderPopup(i,e,o)}
|
24
|
+
${this.renderHelpText(n,t)}
|
25
|
+
</div>
|
26
|
+
`}renderPopup(i,e,o){return s`
|
27
|
+
<nile-popup
|
28
|
+
class=${m({select:!0,"select--warning":this.warning,"select--error":this.error,"select--success":this.success,"select--standard":!0,"select--filled":this.filled,"select--pill":this.pill,"select--open":this.open,"select--disabled":this.disabled,"select--multiple":this.multiple,"select--focused":this.hasFocus,"select--placeholder-visible":o,"select--top":"top"===this.placement,"select--bottom":"bottom"===this.placement,"select--small":"small"===this.size,"select--medium":"medium"===this.size,"select--large":"large"===this.size})}
|
29
|
+
placement=${this.placement}
|
30
|
+
strategy=${this.hoist?"fixed":"absolute"}
|
31
|
+
distance="6"
|
32
|
+
flip
|
33
|
+
shift
|
34
|
+
sync=${f(this.noWidthSync?void 0:"width")}
|
35
|
+
auto-size="vertical"
|
36
|
+
auto-size-padding="10"
|
37
|
+
>
|
38
|
+
${this.renderCustomSelect(i)}
|
39
|
+
${this.renderCombobox(i,e)}
|
40
|
+
${this.renderListbox()}
|
41
|
+
</nile-popup>
|
42
|
+
`}renderCustomSelect(i){return i?s`<slot
|
43
|
+
slot="anchor"
|
44
|
+
name="custom-select"
|
45
|
+
class="custom-select"
|
46
|
+
@keydown=${this.handleComboboxKeyDown}
|
47
|
+
@mousedown=${this.handleComboboxMouseDown}
|
48
|
+
></slot>`:s``}renderCombobox(i,e){return s`
|
49
|
+
<div
|
50
|
+
part="combobox"
|
51
|
+
class=${m({select__combobox:!0,"select__hide-default":i})}
|
52
|
+
slot="anchor"
|
53
|
+
@keydown=${this.handleComboboxKeyDown}
|
54
|
+
@mousedown=${this.handleComboboxMouseDown}
|
55
|
+
>
|
56
|
+
${this.renderPrefix()}
|
57
|
+
${this.renderDisplayInput()}
|
58
|
+
${this.renderTags()}
|
59
|
+
${this.renderValueInput()}
|
60
|
+
${this.renderClearButton(e)}
|
61
|
+
${this.renderSuffix()}
|
62
|
+
${this.renderExpandIcon()}
|
63
|
+
</div>
|
64
|
+
`}renderPrefix(){return s`
|
65
|
+
<slot
|
66
|
+
part="prefix"
|
67
|
+
name="prefix"
|
68
|
+
class=${m({select__prefix:!0,multiple:this.multiple})}
|
69
|
+
></slot>
|
70
|
+
`}renderDisplayInput(){return s`
|
71
|
+
<input
|
72
|
+
part="display-input"
|
73
|
+
class="select__display-input"
|
74
|
+
type="text"
|
75
|
+
placeholder=${this.placeholder}
|
76
|
+
.disabled=${this.disabled}
|
77
|
+
.value=${this.displayLabel}
|
78
|
+
autocomplete="off"
|
79
|
+
spellcheck="false"
|
80
|
+
autocapitalize="off"
|
81
|
+
readonly
|
82
|
+
aria-controls="listbox"
|
83
|
+
aria-expanded=${this.open?"true":"false"}
|
84
|
+
aria-haspopup="listbox"
|
85
|
+
aria-labelledby="label"
|
86
|
+
aria-disabled=${this.disabled?"true":"false"}
|
87
|
+
aria-describedby="help-text"
|
88
|
+
role="combobox"
|
89
|
+
tabindex="0"
|
90
|
+
/>
|
91
|
+
`}renderTags(){return this.multiple?s`
|
92
|
+
<div part="tags" class="select__tags">
|
93
|
+
${this.selectedOptions.map(((i,e)=>{if(e<this.maxOptionsVisible||this.maxOptionsVisible<=0){const o={select__invisible:e+1>this.oldMaxOptionsVisible&&this.maxOptionsVisible===1/0};return s`
|
94
|
+
<nile-tag
|
95
|
+
class=${m(o)}
|
96
|
+
part="tag"
|
97
|
+
exportparts="
|
98
|
+
base:tag__base,
|
99
|
+
content:tag__content,
|
100
|
+
remove-button:tag__remove-button,
|
101
|
+
remove-button__base:tag__remove-button__base
|
102
|
+
"
|
103
|
+
?pill=${this.pill}
|
104
|
+
size=${this.size}
|
105
|
+
removable
|
106
|
+
@nile-remove=${s=>this.handleTagRemove(s,i)}
|
107
|
+
>
|
108
|
+
${i.getTextLabel()}
|
109
|
+
</nile-tag>
|
110
|
+
`}return e===this.maxOptionsVisible?s`
|
111
|
+
<span class="select__tags-count"
|
112
|
+
>+${this.selectedOptions.length-e} More
|
113
|
+
</span>
|
114
|
+
`:null}))}
|
115
|
+
</div>
|
116
|
+
`:s``}renderValueInput(){return s`
|
117
|
+
<input
|
118
|
+
class="select__value-input"
|
119
|
+
type="text"
|
120
|
+
?disabled=${this.disabled}
|
121
|
+
?required=${this.required}
|
122
|
+
.value=${Array.isArray(this.value)?this.value.join(", "):this.value}
|
123
|
+
tabindex="-1"
|
124
|
+
aria-hidden="true"
|
125
|
+
@focus=${()=>this.focus()}
|
126
|
+
@invalid=${this.handleInvalid}
|
127
|
+
/>
|
128
|
+
`}renderClearButton(i){return i?s`
|
129
|
+
<button
|
130
|
+
part="clear-button"
|
131
|
+
class="select__clear"
|
132
|
+
type="button"
|
133
|
+
aria-label="clearEntry"
|
134
|
+
@mousedown=${this.handleClearMouseDown}
|
135
|
+
@click=${this.handleClearClick}
|
136
|
+
tabindex="-1"
|
137
|
+
>
|
138
|
+
<slot name="clear-icon">
|
139
|
+
<nile-icon name="close" library="system"></nile-icon>
|
140
|
+
</slot>
|
141
|
+
</button>
|
142
|
+
`:s``}renderSuffix(){return s`
|
143
|
+
<slot
|
144
|
+
part="suffix"
|
145
|
+
name="suffix"
|
146
|
+
class=${m({select__suffix:!0})}
|
147
|
+
></slot>
|
148
|
+
`}renderExpandIcon(){return s`
|
149
|
+
<slot
|
150
|
+
name="expand-icon"
|
151
|
+
part="expand-icon"
|
152
|
+
class="select__expand-icon"
|
153
|
+
>
|
154
|
+
<nile-icon library="system" name="arrowdown"></nile-icon>
|
155
|
+
</slot>
|
156
|
+
`}renderListbox(){return s`
|
157
|
+
<div
|
158
|
+
id="listbox"
|
159
|
+
role="listbox"
|
160
|
+
aria-expanded=${this.open?"true":"false"}
|
161
|
+
aria-multiselectable=${this.multiple?"true":"false"}
|
162
|
+
aria-labelledby="label"
|
163
|
+
part="listbox"
|
164
|
+
class="select__listbox ${this.searchEnabled?"select__search-enabled ":""}"
|
165
|
+
tabindex="-1"
|
166
|
+
@mouseup=${this.handleOptionClick}
|
167
|
+
>
|
168
|
+
${this.renderSearch()}
|
169
|
+
${this.getVirtualizedContent()}
|
170
|
+
${this.renderLoader()}
|
171
|
+
${this.renderFooter()}
|
172
|
+
</div>
|
173
|
+
`}renderSearch(){return this.searchEnabled?s`
|
174
|
+
<div part="search" class="select__search">
|
175
|
+
<nile-input
|
176
|
+
size="small"
|
177
|
+
clearable
|
178
|
+
.value=${this.searchValue}
|
179
|
+
placeholder="${this.internalSearchPlaceHolder}"
|
180
|
+
@nile-input=${this.handleSearchChange}
|
181
|
+
@nile-focus=${this.handleSearchFocus}
|
182
|
+
@nile-change="${this.onInputChange}"
|
183
|
+
>
|
184
|
+
<nile-icon name="search" slot="suffix"> </nile-icon>
|
185
|
+
</nile-input>
|
186
|
+
</div>
|
187
|
+
`:s``}renderLoader(){return this.loading?s`
|
188
|
+
<span part="loader" class="virtual-select-loader">
|
189
|
+
<nile-loader size="sm"></nile-loader>
|
190
|
+
</span>
|
191
|
+
`:this.optionsLoading?s`
|
192
|
+
<span part="loader" class="select__loader">
|
193
|
+
<nile-icon
|
194
|
+
class="select__loader--icon"
|
195
|
+
name="button-loading-blue"
|
196
|
+
></nile-icon>
|
197
|
+
</span>
|
198
|
+
`:s``}renderFooter(){return this.multiple?s`
|
199
|
+
<div
|
200
|
+
part="footer"
|
201
|
+
class="select__footer"
|
202
|
+
@click="${this.handleFooterClick}"
|
203
|
+
>
|
204
|
+
<span
|
205
|
+
@click="${this.toggleShowSelected}"
|
206
|
+
style="cursor: pointer;"
|
207
|
+
>
|
208
|
+
<nile-checkbox
|
209
|
+
?disabled="${0===this.selectedOptions.length}"
|
210
|
+
?checked="${this.showSelected}"
|
211
|
+
>
|
212
|
+
Show Selected</nile-checkbox
|
213
|
+
>
|
214
|
+
</span>
|
215
|
+
${0!==this.selectedOptions.length?s`
|
216
|
+
<span
|
217
|
+
class="select__clear"
|
218
|
+
@click="${this.unSelectAll}"
|
219
|
+
>
|
220
|
+
Clear All
|
221
|
+
</span>
|
222
|
+
`:""}
|
223
|
+
</div>
|
224
|
+
`:s``}renderHelpText(i,e){return s`
|
225
|
+
${i?s` <nile-form-help-text>${this.helpText}</nile-form-help-text> `:""}
|
226
|
+
${e?s`
|
227
|
+
<nile-form-error-message
|
228
|
+
>${this.errorMessage}</nile-form-error-message
|
229
|
+
>
|
230
|
+
`:""}
|
231
|
+
`}getVirtualizedContent(){return w.getVirtualizedContent(this.data,this.searchEnabled,this.getDisplayText.bind(this),this.value,this.multiple,this.renderItemConfig?.getDisplayText,this.renderItemConfig?.getValue,this.showNoResults,this.noResultsMessage,this.optionsLoading||this.loading,this.handleScroll.bind(this))}nileInput(i){this.emit("nile-input",i)}nileChange(i){this.emit("nile-change",i)}updateValidity(){this.updateComplete.then((()=>{this.formControlController.updateValidity()}))}calculateWidthOfSelectTagsDiv(){if(this.shadowRoot){const i=this.shadowRoot.querySelector(".select__tags");if(i){return i.offsetWidth-70}}return null}calculateTotalWidthOfTags(){this.maxOptionsVisible!==1/0&&(this.oldMaxOptionsVisible=this.maxOptionsVisible),this.maxOptionsVisible=1/0,setTimeout((()=>{let i=[];if(this.shadowRoot){this.shadowRoot.querySelectorAll("nile-tag").forEach((s=>{s instanceof HTMLElement&&i.push(s.offsetWidth)}))}if(this.value.length!==i.length)return;const s=this.calculateWidthOfSelectTagsDiv();if(!s)return;let e=0,o=0;for(let n=0;n<i.length;n++)if(e+=i[n],e>s){o=n;break}this.maxOptionsVisible=o}),1)}resetScrollPosition(){this.updateComplete.then((()=>{if(this.virtualizedContainer){this.virtualizedContainer.scrollTop=0;const i=this.shadowRoot?.querySelector(".select__listbox");i&&(i.scrollTop=0);const s=this.virtualizedContainer.querySelector("lit-virtualizer");s&&(s.scrollTop=0)}}))}};x.styles=c,i([e(".select")],x.prototype,"popup",void 0),i([e(".select__display-input")],x.prototype,"displayInput",void 0),i([e(".select__value-input")],x.prototype,"valueInput",void 0),i([e(".virtualized")],x.prototype,"virtualizedContainer",void 0),i([o()],x.prototype,"hasFocus",void 0),i([o()],x.prototype,"displayLabel",void 0),i([o()],x.prototype,"selectedOptions",void 0),i([o()],x.prototype,"oldValue",void 0),i([n()],x.prototype,"name",void 0),i([n({type:Array})],x.prototype,"data",void 0),i([o()],x.prototype,"originalOptionItems",void 0),i([n({converter:{fromAttribute:i=>i.split(" "),toAttribute:i=>i.join(" ")}})],x.prototype,"value",void 0),i([a()],x.prototype,"defaultValue",void 0),i([n()],x.prototype,"size",void 0),i([n()],x.prototype,"placeholder",void 0),i([o()],x.prototype,"searchValue",void 0),i([n({type:Boolean,reflect:!0})],x.prototype,"searchEnabled",void 0),i([n({attribute:"internal-search-placeholder"})],x.prototype,"internalSearchPlaceHolder",void 0),i([n({type:Boolean,reflect:!0})],x.prototype,"disableLocalSearch",void 0),i([n({type:Boolean,reflect:!0})],x.prototype,"optionsLoading",void 0),i([n({type:Boolean,reflect:!0})],x.prototype,"loading",void 0),i([n({type:Boolean,reflect:!0})],x.prototype,"multiple",void 0),i([n({attribute:"help-text",reflect:!0})],x.prototype,"helpText",void 0),i([n({attribute:"error-message",reflect:!0})],x.prototype,"errorMessage",void 0),i([n({type:Boolean})],x.prototype,"warning",void 0),i([n({type:Boolean})],x.prototype,"error",void 0),i([n({type:Boolean})],x.prototype,"success",void 0),i([n({type:Boolean,reflect:!0})],x.prototype,"disabled",void 0),i([n({type:Boolean,reflect:!0})],x.prototype,"clearable",void 0),i([n({type:Boolean,reflect:!0})],x.prototype,"open",void 0),i([n({type:Boolean})],x.prototype,"hoist",void 0),i([n({type:Boolean,reflect:!0})],x.prototype,"filled",void 0),i([n({type:Boolean,reflect:!0})],x.prototype,"pill",void 0),i([n()],x.prototype,"label",void 0),i([n({reflect:!0})],x.prototype,"placement",void 0),i([n({reflect:!0})],x.prototype,"form",void 0),i([n({type:Boolean,reflect:!0})],x.prototype,"required",void 0),i([n({type:Boolean})],x.prototype,"showNoResults",void 0),i([n({type:String})],x.prototype,"noResultsMessage",void 0),i([n({type:Boolean})],x.prototype,"showSelected",void 0),i([n({attribute:!1})],x.prototype,"renderItemConfig",void 0),i([n({type:Boolean,reflect:!0})],x.prototype,"blockValueChange",void 0),i([n({type:Boolean,reflect:!0})],x.prototype,"noWidthSync",void 0),i([n({attribute:"max-options-visible",type:Number})],x.prototype,"maxOptionsVisible",void 0),i([o()],x.prototype,"oldMaxOptionsVisible",void 0),i([d("disabled",{waitUntilFirstUpdate:!0})],x.prototype,"handleDisabledChange",null),i([d("value",{waitUntilFirstUpdate:!0})],x.prototype,"handleValueChange",null),i([d("data",{waitUntilFirstUpdate:!0})],x.prototype,"handleDataChange",null),i([d("renderItemConfig",{waitUntilFirstUpdate:!0})],x.prototype,"handleRenderItemConfigChange",null),i([d("optionsLoading",{waitUntilFirstUpdate:!0})],x.prototype,"handleOptionsLoadingChange",null),i([d("loading",{waitUntilFirstUpdate:!0})],x.prototype,"handleLoadingChange",null),i([d("open",{waitUntilFirstUpdate:!0})],x.prototype,"handleOpenChange",null),x=i([t("nile-virtual-select")],x),h("select.show",{keyframes:[{opacity:0,scale:.9},{opacity:1,scale:1}],options:{duration:100,easing:"ease"}}),h("select.hide",{keyframes:[{opacity:1,scale:1},{opacity:0,scale:.9}],options:{duration:100,easing:"ease"}});
|