@aquera/nile-elements 1.3.9-beta-1.2 → 1.3.9-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.css +3 -0
- package/demo/index.html +208 -14
- package/demo/nxtgen.css +4 -0
- package/demo/variables.css +4 -1
- package/dist/{fixture-54600b35.cjs.js → fixture-1c49c014.cjs.js} +2 -2
- package/dist/{fixture-73855806.cjs.js.map → fixture-1c49c014.cjs.js.map} +1 -1
- package/dist/{fixture-9871e8a9.esm.js → fixture-985bba12.esm.js} +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +453 -474
- 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.cjs.js.map +1 -1
- package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
- package/dist/nile-badge/index.cjs.js +1 -1
- package/dist/nile-badge/index.esm.js +1 -1
- package/dist/nile-badge/nile-badge.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
- package/dist/nile-badge/nile-badge.esm.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -1
- package/dist/nile-badge/nile-badge.test.esm.js +1 -1
- package/dist/nile-button/index.cjs.js +1 -1
- package/dist/nile-button/index.esm.js +1 -1
- package/dist/nile-button/nile-button.cjs.js +1 -1
- package/dist/nile-button/nile-button.cjs.js.map +1 -1
- package/dist/nile-button/nile-button.esm.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js.map +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.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
- package/dist/nile-calendar/nile-calendar.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.cjs.js.map +1 -1
- package/dist/nile-chip/nile-chip.test.esm.js +1 -1
- package/dist/nile-dialog/index.cjs.js +1 -1
- package/dist/nile-dialog/index.esm.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
- package/dist/nile-dialog/nile-dialog.esm.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.cjs.js.map +1 -1
- package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
- package/dist/nile-drawer/index.cjs.js +1 -1
- package/dist/nile-drawer/index.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
- package/dist/nile-drawer/nile-drawer.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js.map +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/icons/svg/index.cjs.js +1 -1
- package/dist/nile-icon/icons/svg/index.esm.js +1 -1
- package/dist/nile-icon/icons/svg/ng-alert-triangle.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/ng-alert-triangle.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/ng-alert-triangle.esm.js +1 -0
- package/dist/nile-icon/index.cjs.js +1 -1
- package/dist/nile-icon/index.cjs.js.map +1 -1
- package/dist/nile-icon/index.esm.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -1
- package/dist/nile-icon/nile-icon.test.esm.js +1 -1
- package/dist/nile-icon-button/index.cjs.js +1 -1
- package/dist/nile-icon-button/index.esm.js +1 -1
- package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
- package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
- package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
- package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js +1 -1
- package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js.map +1 -1
- package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js +1 -1
- package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js.map +1 -1
- package/dist/nile-inline-sidebar/nile-inline-sidebar.css.esm.js +8 -2
- package/dist/nile-inline-sidebar/nile-inline-sidebar.esm.js +10 -6
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js +1 -1
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js.map +1 -1
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js +1 -1
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js.map +1 -1
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.esm.js +8 -2
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.esm.js +2 -2
- package/dist/nile-input/index.cjs.js +1 -1
- package/dist/nile-input/index.esm.js +1 -1
- package/dist/nile-input/nile-input.cjs.js +1 -1
- package/dist/nile-input/nile-input.cjs.js.map +1 -1
- package/dist/nile-input/nile-input.esm.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js.map +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-menu-item/index.cjs.js +1 -1
- package/dist/nile-menu-item/index.esm.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
- package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
- package/dist/nile-option/index.cjs.js +1 -1
- package/dist/nile-option/index.esm.js +1 -1
- package/dist/nile-option/nile-option.cjs.js +1 -1
- package/dist/nile-option/nile-option.cjs.js.map +1 -1
- package/dist/nile-option/nile-option.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 +1 -1
- 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-side-bar/nile-side-bar.cjs.js +1 -1
- package/dist/nile-side-bar/nile-side-bar.cjs.js.map +1 -1
- package/dist/nile-side-bar/nile-side-bar.css.cjs.js +1 -1
- package/dist/nile-side-bar/nile-side-bar.css.cjs.js.map +1 -1
- package/dist/nile-side-bar/nile-side-bar.css.esm.js +29 -35
- package/dist/nile-side-bar/nile-side-bar.esm.js +7 -1
- package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.css.cjs.js +1 -1
- package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.css.esm.js +1 -1
- package/dist/nile-side-bar-action-menu-item/index.cjs.js +1 -1
- package/dist/nile-side-bar-action-menu-item/index.esm.js +1 -1
- package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js +1 -1
- package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js.map +1 -1
- package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.cjs.js +1 -1
- package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.esm.js +1 -1
- package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.esm.js +1 -1
- package/dist/nile-side-bar-expand/nile-side-bar-expand.cjs.js +1 -1
- package/dist/nile-side-bar-expand/nile-side-bar-expand.cjs.js.map +1 -1
- package/dist/nile-side-bar-expand/nile-side-bar-expand.css.cjs.js +1 -1
- package/dist/nile-side-bar-expand/nile-side-bar-expand.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-expand/nile-side-bar-expand.css.esm.js +5 -18
- package/dist/nile-side-bar-expand/nile-side-bar-expand.esm.js +8 -8
- package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js +1 -1
- package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-footer/nile-side-bar-footer.css.esm.js +13 -13
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.cjs.js +1 -1
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.cjs.js.map +1 -1
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js +1 -1
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.esm.js +28 -6
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.esm.js +3 -3
- package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.css.cjs.js +1 -1
- package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.css.esm.js +6 -5
- package/dist/nile-side-bar-group/nile-side-bar-group.css.cjs.js +1 -1
- package/dist/nile-side-bar-group/nile-side-bar-group.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-group/nile-side-bar-group.css.esm.js +12 -15
- package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.cjs.js +1 -1
- package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.esm.js +61 -56
- package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.cjs.js +1 -1
- package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.cjs.js.map +1 -1
- package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.cjs.js +1 -1
- package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.esm.js +6 -3
- package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.esm.js +5 -5
- package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.cjs.js +1 -1
- package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.esm.js +6 -5
- package/dist/nile-side-bar-header/nile-side-bar-header.css.cjs.js +1 -1
- package/dist/nile-side-bar-header/nile-side-bar-header.css.cjs.js.map +1 -1
- package/dist/nile-side-bar-header/nile-side-bar-header.css.esm.js +12 -14
- package/dist/nile-side-bar-panel/index.cjs.js +2 -0
- package/dist/nile-side-bar-panel/index.esm.js +1 -0
- package/dist/nile-side-bar-panel/nile-side-bar-panel.cjs.js +2 -0
- package/dist/nile-side-bar-panel/nile-side-bar-panel.cjs.js.map +1 -0
- package/dist/nile-side-bar-panel/nile-side-bar-panel.css.cjs.js +2 -0
- package/dist/nile-side-bar-panel/nile-side-bar-panel.css.cjs.js.map +1 -0
- package/dist/nile-side-bar-panel/nile-side-bar-panel.css.esm.js +8 -0
- package/dist/nile-side-bar-panel/nile-side-bar-panel.esm.js +3 -0
- package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js.map +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.esm.js +9 -8
- 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/index.cjs.js +1 -1
- package/dist/nile-tab/index.esm.js +1 -1
- package/dist/nile-tab/nile-tab.cjs.js +1 -1
- package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
- package/dist/nile-tab/nile-tab.esm.js +2 -2
- package/dist/nile-tab-group/index.cjs.js +1 -1
- package/dist/nile-tab-group/index.esm.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
- package/dist/nile-tab-group/nile-tab-group.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.cjs.js.map +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
- package/dist/nile-tag/index.cjs.js +1 -1
- package/dist/nile-tag/index.esm.js +1 -1
- package/dist/nile-tag/nile-tag.cjs.js +1 -1
- package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
- package/dist/nile-tag/nile-tag.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-toast/index.cjs.js +1 -1
- package/dist/nile-toast/index.esm.js +1 -1
- package/dist/nile-toast/nile-toast.cjs.js +1 -1
- package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
- package/dist/nile-toast/nile-toast.esm.js +1 -1
- package/dist/nile-tree/index.cjs.js +1 -1
- package/dist/nile-tree/index.esm.js +1 -1
- package/dist/nile-tree/nile-tree.cjs.js +1 -1
- package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
- package/dist/nile-tree/nile-tree.esm.js +1 -1
- package/dist/nile-tree-item/index.cjs.js +1 -1
- package/dist/nile-tree-item/index.esm.js +1 -1
- package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
- package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
- package/dist/nile-tree-item/nile-tree-item.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.esm.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-calendar/nile-calendar.js +0 -6
- package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
- package/dist/src/nile-icon/icons/svg/index.d.ts +1 -0
- package/dist/src/nile-icon/icons/svg/index.js +1 -0
- package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js +8 -2
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js.map +1 -1
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js +10 -3
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js.map +1 -1
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js +6 -0
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js.map +1 -1
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.d.ts +1 -0
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js +4 -0
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js.map +1 -1
- package/dist/src/nile-side-bar/nile-side-bar.css.js +28 -34
- package/dist/src/nile-side-bar/nile-side-bar.css.js.map +1 -1
- package/dist/src/nile-side-bar/nile-side-bar.js +7 -1
- package/dist/src/nile-side-bar/nile-side-bar.js.map +1 -1
- package/dist/src/nile-side-bar-action-menu/nile-side-bar-action-menu.css.js +1 -1
- package/dist/src/nile-side-bar-action-menu/nile-side-bar-action-menu.css.js.map +1 -1
- package/dist/src/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.js +1 -1
- package/dist/src/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.js.map +1 -1
- package/dist/src/nile-side-bar-expand/nile-side-bar-expand.css.js +3 -16
- package/dist/src/nile-side-bar-expand/nile-side-bar-expand.css.js.map +1 -1
- package/dist/src/nile-side-bar-expand/nile-side-bar-expand.d.ts +2 -0
- package/dist/src/nile-side-bar-expand/nile-side-bar-expand.js +12 -4
- package/dist/src/nile-side-bar-expand/nile-side-bar-expand.js.map +1 -1
- package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js +11 -11
- package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js.map +1 -1
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js +28 -6
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js.map +1 -1
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.d.ts +1 -0
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.js +8 -1
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.js.map +1 -1
- package/dist/src/nile-side-bar-footer-text/nile-side-bar-footer-text.css.js +6 -5
- package/dist/src/nile-side-bar-footer-text/nile-side-bar-footer-text.css.js.map +1 -1
- package/dist/src/nile-side-bar-group/nile-side-bar-group.css.js +10 -13
- package/dist/src/nile-side-bar-group/nile-side-bar-group.css.js.map +1 -1
- package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.css.js +51 -46
- package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.css.js.map +1 -1
- package/dist/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.js +4 -1
- package/dist/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.js.map +1 -1
- package/dist/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.js +3 -3
- package/dist/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.js.map +1 -1
- package/dist/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.js +4 -3
- package/dist/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.js.map +1 -1
- package/dist/src/nile-side-bar-header/nile-side-bar-header.css.js +10 -12
- package/dist/src/nile-side-bar-header/nile-side-bar-header.css.js.map +1 -1
- package/dist/src/nile-side-bar-panel/index.d.ts +1 -0
- package/dist/src/nile-side-bar-panel/index.js +2 -0
- package/dist/src/{nile-grid-cell-item → nile-side-bar-panel}/index.js.map +1 -1
- package/dist/src/nile-side-bar-panel/nile-side-bar-panel.css.d.ts +12 -0
- package/dist/src/nile-side-bar-panel/nile-side-bar-panel.css.js +20 -0
- package/dist/src/nile-side-bar-panel/nile-side-bar-panel.css.js.map +1 -0
- package/dist/src/{nile-grid-body/nile-grid-body.d.ts → nile-side-bar-panel/nile-side-bar-panel.d.ts} +10 -7
- package/dist/src/{nile-grid-head/nile-grid-head.js → nile-side-bar-panel/nile-side-bar-panel.js} +17 -15
- package/dist/src/nile-side-bar-panel/nile-side-bar-panel.js.map +1 -0
- package/dist/src/nile-slide-toggle/nile-slide-toggle.js +6 -5
- package/dist/src/nile-slide-toggle/nile-slide-toggle.js.map +1 -1
- package/dist/src/version.js +2 -2
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/index.ts +2 -1
- package/src/nile-calendar/nile-calendar.ts +0 -9
- package/src/nile-icon/icons/svg/index.ts +1 -0
- package/src/nile-icon/icons/svg/ng-alert-triangle.ts +5 -0
- package/src/nile-inline-sidebar/nile-inline-sidebar.css.ts +8 -2
- package/src/nile-inline-sidebar/nile-inline-sidebar.ts +16 -5
- package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.ts +6 -0
- package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.ts +1 -0
- package/src/nile-side-bar/nile-side-bar.css.ts +28 -34
- package/src/nile-side-bar/nile-side-bar.ts +8 -1
- package/src/nile-side-bar-action-menu/nile-side-bar-action-menu.css.ts +1 -1
- package/src/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.ts +1 -1
- package/src/nile-side-bar-expand/nile-side-bar-expand.css.ts +3 -16
- package/src/nile-side-bar-expand/nile-side-bar-expand.ts +6 -4
- package/src/nile-side-bar-footer/nile-side-bar-footer.css.ts +11 -11
- package/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.ts +28 -6
- package/src/nile-side-bar-footer-item/nile-side-bar-footer-item.ts +9 -1
- package/src/nile-side-bar-footer-text/nile-side-bar-footer-text.css.ts +6 -5
- package/src/nile-side-bar-group/nile-side-bar-group.css.ts +10 -13
- package/src/nile-side-bar-group-item/nile-side-bar-group-item.css.ts +52 -47
- package/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.ts +4 -1
- package/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.ts +3 -3
- package/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.ts +4 -3
- package/src/nile-side-bar-header/nile-side-bar-header.css.ts +10 -12
- package/src/nile-side-bar-panel/index.ts +1 -0
- package/src/nile-side-bar-panel/nile-side-bar-panel.css.ts +22 -0
- package/src/nile-side-bar-panel/nile-side-bar-panel.ts +54 -0
- package/src/nile-slide-toggle/nile-slide-toggle.ts +6 -5
- package/vscode-html-custom-data.json +25 -41
- package/dist/fixture-54600b35.cjs.js.map +0 -1
- package/dist/fixture-5b79f853.cjs.js +0 -395
- package/dist/fixture-5b79f853.cjs.js.map +0 -1
- package/dist/fixture-73855806.cjs.js +0 -395
- package/dist/fixture-90b199c4.esm.js +0 -569
- package/dist/fixture-c1d78368.cjs.js +0 -395
- package/dist/fixture-c1d78368.cjs.js.map +0 -1
- package/dist/fixture-cf7bfcf5.esm.js +0 -569
- package/dist/fixture-dbd66009.cjs.js +0 -395
- package/dist/fixture-dbd66009.cjs.js.map +0 -1
- package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js +0 -2
- package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js.map +0 -1
- package/dist/nile-code-editor/backup_nile-code-editor copy.esm.js +0 -1
- package/dist/nile-grid/nile-grid.types.cjs.js +0 -2
- package/dist/nile-grid/nile-grid.types.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid.types.esm.js +0 -1
- package/dist/nile-grid-body/index.cjs.js +0 -2
- package/dist/nile-grid-body/index.esm.js +0 -1
- package/dist/nile-grid-body/nile-grid-body.cjs.js +0 -2
- package/dist/nile-grid-body/nile-grid-body.cjs.js.map +0 -1
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js +0 -2
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +0 -1
- package/dist/nile-grid-body/nile-grid-body.css.esm.js +0 -10
- package/dist/nile-grid-body/nile-grid-body.esm.js +0 -5
- package/dist/nile-grid-cell-item/index.cjs.js +0 -2
- package/dist/nile-grid-cell-item/index.cjs.js.map +0 -1
- package/dist/nile-grid-cell-item/index.esm.js +0 -1
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +0 -2
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +0 -1
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +0 -2
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +0 -1
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +0 -35
- package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +0 -12
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +0 -2
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +0 -1
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +0 -1
- package/dist/nile-grid-head/index.cjs.js +0 -2
- package/dist/nile-grid-head/index.cjs.js.map +0 -1
- package/dist/nile-grid-head/index.esm.js +0 -1
- package/dist/nile-grid-head/nile-grid-head.cjs.js +0 -2
- package/dist/nile-grid-head/nile-grid-head.cjs.js.map +0 -1
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js +0 -2
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +0 -1
- package/dist/nile-grid-head/nile-grid-head.css.esm.js +0 -7
- package/dist/nile-grid-head/nile-grid-head.esm.js +0 -5
- package/dist/nile-grid-head-item/index.cjs.js +0 -2
- package/dist/nile-grid-head-item/index.cjs.js.map +0 -1
- package/dist/nile-grid-head-item/index.esm.js +0 -1
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +0 -2
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +0 -1
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +0 -2
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +0 -1
- package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +0 -34
- package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +0 -12
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +0 -2
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +0 -1
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.esm.js +0 -1
- package/dist/nile-grid-row/index.cjs.js +0 -2
- package/dist/nile-grid-row/index.cjs.js.map +0 -1
- package/dist/nile-grid-row/index.esm.js +0 -1
- package/dist/nile-grid-row/nile-grid-row.cjs.js +0 -2
- package/dist/nile-grid-row/nile-grid-row.cjs.js.map +0 -1
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js +0 -2
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +0 -1
- package/dist/nile-grid-row/nile-grid-row.css.esm.js +0 -15
- package/dist/nile-grid-row/nile-grid-row.esm.js +0 -7
- package/dist/nile-rich-text-editor/utils.cjs.js +0 -2
- package/dist/nile-rich-text-editor/utils.cjs.js.map +0 -1
- package/dist/nile-rich-text-editor/utils.esm.js +0 -1
- package/dist/nile-sidebar/index.cjs.js +0 -2
- package/dist/nile-sidebar/index.cjs.js.map +0 -1
- package/dist/nile-sidebar/index.esm.js +0 -75
- package/dist/nile-sidebar-menu/index.cjs.js +0 -2
- package/dist/nile-sidebar-menu/index.cjs.js.map +0 -1
- package/dist/nile-sidebar-menu/index.esm.js +0 -1
- package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +0 -2
- package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +0 -1
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +0 -2
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +0 -1
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +0 -38
- package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +0 -10
- package/dist/nile-sidebar-menu-items/index.cjs.js +0 -2
- package/dist/nile-sidebar-menu-items/index.cjs.js.map +0 -1
- package/dist/nile-sidebar-menu-items/index.esm.js +0 -1
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +0 -2
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +0 -1
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +0 -2
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +0 -1
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +0 -36
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +0 -15
- package/dist/nile-sidebar-wrapper/index.cjs.js +0 -2
- package/dist/nile-sidebar-wrapper/index.cjs.js.map +0 -1
- package/dist/nile-sidebar-wrapper/index.esm.js +0 -1
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +0 -2
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +0 -1
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +0 -2
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +0 -1
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +0 -105
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +0 -16
- package/dist/nile-skeleton-loader/index.cjs.js +0 -2
- package/dist/nile-skeleton-loader/index.cjs.js.map +0 -1
- package/dist/nile-skeleton-loader/index.esm.js +0 -1
- package/dist/nile-skeleton-loader/nile-skeleton-loader.cjs.js +0 -2
- package/dist/nile-skeleton-loader/nile-skeleton-loader.cjs.js.map +0 -1
- package/dist/nile-skeleton-loader/nile-skeleton-loader.css.cjs.js +0 -2
- package/dist/nile-skeleton-loader/nile-skeleton-loader.css.cjs.js.map +0 -1
- package/dist/nile-skeleton-loader/nile-skeleton-loader.css.esm.js +0 -47
- package/dist/nile-skeleton-loader/nile-skeleton-loader.esm.js +0 -16
- package/dist/nile-virtual-select/group-manager.cjs.js +0 -2
- package/dist/nile-virtual-select/group-manager.cjs.js.map +0 -1
- package/dist/nile-virtual-select/group-manager.esm.js +0 -1
- package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js +0 -2
- package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js.map +0 -1
- package/dist/nile-virtual-select/temp_nile-virtual-select copy.esm.js +0 -231
- package/dist/scopedElementsWrapper-1bff26ef.cjs.js +0 -2
- package/dist/scopedElementsWrapper-1bff26ef.cjs.js.map +0 -1
- package/dist/scopedElementsWrapper-4c29be11.esm.js +0 -7
- package/dist/scopedElementsWrapper-a112fc73.cjs.js +0 -6
- package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +0 -1
- package/dist/scopedElementsWrapper-c815042c.cjs.js +0 -2
- package/dist/scopedElementsWrapper-c815042c.cjs.js.map +0 -1
- package/dist/src/internal/portal-manager.d.ts +0 -53
- package/dist/src/internal/portal-manager.js +0 -196
- package/dist/src/internal/portal-manager.js.map +0 -1
- package/dist/src/internal/portal.d.ts +0 -60
- package/dist/src/internal/portal.js +0 -199
- package/dist/src/internal/portal.js.map +0 -1
- package/dist/src/internal/resizable-helper.d.ts +0 -59
- package/dist/src/internal/resizable-helper.js +0 -115
- package/dist/src/internal/resizable-helper.js.map +0 -1
- package/dist/src/internal/resizable-styles.d.ts +0 -16
- package/dist/src/internal/resizable-styles.js +0 -144
- package/dist/src/internal/resizable-styles.js.map +0 -1
- package/dist/src/internal/virtualizer-error-handler.d.ts +0 -30
- package/dist/src/internal/virtualizer-error-handler.js +0 -82
- package/dist/src/internal/virtualizer-error-handler.js.map +0 -1
- package/dist/src/lib/index.d.ts +0 -7
- package/dist/src/lib/index.js +0 -8
- package/dist/src/lib/index.js.map +0 -1
- package/dist/src/lib/virtualize.d.ts +0 -32
- package/dist/src/lib/virtualize.js +0 -105
- package/dist/src/lib/virtualize.js.map +0 -1
- package/dist/src/lib/virtualize.test.d.ts +0 -7
- package/dist/src/lib/virtualize.test.js +0 -57
- package/dist/src/lib/virtualize.test.js.map +0 -1
- package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +0 -17
- package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +0 -310
- package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +0 -34
- package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +0 -31
- package/dist/src/nile-code-editor/Old_theme copy.d.ts +0 -191
- package/dist/src/nile-code-editor/Old_theme copy.js +0 -193
- package/dist/src/nile-code-editor/Old_theme copy.js.map +0 -1
- package/dist/src/nile-code-editor/backup_nile-code-editor copy.d.ts +0 -0
- package/dist/src/nile-code-editor/backup_nile-code-editor copy.js +0 -675
- package/dist/src/nile-code-editor/backup_nile-code-editor copy.js.map +0 -1
- package/dist/src/nile-code-editor/theme copy.d.ts +0 -191
- package/dist/src/nile-code-editor/theme copy.js +0 -193
- package/dist/src/nile-code-editor/theme copy.js.map +0 -1
- package/dist/src/nile-grid/data-processor.d.ts +0 -37
- package/dist/src/nile-grid/data-processor.js +0 -122
- package/dist/src/nile-grid/data-processor.js.map +0 -1
- package/dist/src/nile-grid/event-handlers.d.ts +0 -35
- package/dist/src/nile-grid/event-handlers.js +0 -158
- package/dist/src/nile-grid/event-handlers.js.map +0 -1
- package/dist/src/nile-grid/nile-grid.types.d.ts +0 -3
- package/dist/src/nile-grid/nile-grid.types.js +0 -2
- package/dist/src/nile-grid/nile-grid.types.js.map +0 -1
- package/dist/src/nile-grid/renderer.d.ts +0 -8
- package/dist/src/nile-grid/renderer.js +0 -78
- package/dist/src/nile-grid/renderer.js.map +0 -1
- package/dist/src/nile-grid/resize-handler.d.ts +0 -4
- package/dist/src/nile-grid/resize-handler.js +0 -36
- package/dist/src/nile-grid/resize-handler.js.map +0 -1
- package/dist/src/nile-grid/types.d.ts +0 -32
- package/dist/src/nile-grid/types.js +0 -2
- package/dist/src/nile-grid/types.js.map +0 -1
- package/dist/src/nile-grid/utils.d.ts +0 -4
- package/dist/src/nile-grid/utils.js +0 -32
- package/dist/src/nile-grid/utils.js.map +0 -1
- package/dist/src/nile-grid-body/index.d.ts +0 -1
- package/dist/src/nile-grid-body/index.js +0 -2
- package/dist/src/nile-grid-body/index.js.map +0 -1
- package/dist/src/nile-grid-body/nile-grid-body.css.d.ts +0 -12
- package/dist/src/nile-grid-body/nile-grid-body.css.js +0 -22
- package/dist/src/nile-grid-body/nile-grid-body.css.js.map +0 -1
- package/dist/src/nile-grid-body/nile-grid-body.js +0 -43
- package/dist/src/nile-grid-body/nile-grid-body.js.map +0 -1
- package/dist/src/nile-grid-cell-item/index.d.ts +0 -1
- package/dist/src/nile-grid-cell-item/index.js +0 -2
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.d.ts +0 -12
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js +0 -47
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js.map +0 -1
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.d.ts +0 -36
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js +0 -93
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js.map +0 -1
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +0 -10
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js +0 -34
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +0 -1
- package/dist/src/nile-grid-head/index.d.ts +0 -1
- package/dist/src/nile-grid-head/index.js +0 -2
- package/dist/src/nile-grid-head/index.js.map +0 -1
- package/dist/src/nile-grid-head/nile-grid-head.css.d.ts +0 -12
- package/dist/src/nile-grid-head/nile-grid-head.css.js +0 -19
- package/dist/src/nile-grid-head/nile-grid-head.css.js.map +0 -1
- package/dist/src/nile-grid-head/nile-grid-head.d.ts +0 -28
- package/dist/src/nile-grid-head/nile-grid-head.js.map +0 -1
- package/dist/src/nile-grid-head-item/index.d.ts +0 -1
- package/dist/src/nile-grid-head-item/index.js +0 -2
- package/dist/src/nile-grid-head-item/index.js.map +0 -1
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.d.ts +0 -12
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js +0 -46
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js.map +0 -1
- package/dist/src/nile-grid-head-item/nile-grid-head-item.d.ts +0 -37
- package/dist/src/nile-grid-head-item/nile-grid-head-item.js +0 -100
- package/dist/src/nile-grid-head-item/nile-grid-head-item.js.map +0 -1
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.d.ts +0 -10
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js +0 -34
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js.map +0 -1
- package/dist/src/nile-grid-row/index.d.ts +0 -1
- package/dist/src/nile-grid-row/index.js +0 -2
- package/dist/src/nile-grid-row/index.js.map +0 -1
- package/dist/src/nile-grid-row/nile-grid-row.css.d.ts +0 -12
- package/dist/src/nile-grid-row/nile-grid-row.css.js +0 -27
- package/dist/src/nile-grid-row/nile-grid-row.css.js.map +0 -1
- package/dist/src/nile-grid-row/nile-grid-row.d.ts +0 -29
- package/dist/src/nile-grid-row/nile-grid-row.js +0 -45
- package/dist/src/nile-grid-row/nile-grid-row.js.map +0 -1
- package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +0 -47
- package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +0 -16
- package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +0 -75
- package/dist/src/nile-menu/portal-manager.d.ts +0 -39
- package/dist/src/nile-menu/portal-manager.js +0 -340
- package/dist/src/nile-menu/portal-manager.js.map +0 -1
- package/dist/src/nile-menu/portal-utils.d.ts +0 -21
- package/dist/src/nile-menu/portal-utils.js +0 -128
- package/dist/src/nile-menu/portal-utils.js.map +0 -1
- package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +0 -22
- package/dist/src/nile-popover/popover-portal-handler.d.ts +0 -21
- package/dist/src/nile-popover/popover-portal-handler.js +0 -106
- package/dist/src/nile-popover/popover-portal-handler.js.map +0 -1
- package/dist/src/nile-portal-wrapper/index.d.ts +0 -1
- package/dist/src/nile-portal-wrapper/index.js +0 -2
- package/dist/src/nile-portal-wrapper/index.js.map +0 -1
- package/dist/src/nile-portal-wrapper/nile-portal-wrapper.d.ts +0 -47
- package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js +0 -451
- package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js.map +0 -1
- package/dist/src/nile-rich-text-editor/utils.d.ts +0 -13
- package/dist/src/nile-rich-text-editor/utils.js +0 -538
- package/dist/src/nile-rich-text-editor/utils.js.map +0 -1
- package/dist/src/nile-select/body-append-manager.d.ts +0 -90
- package/dist/src/nile-select/body-append-manager.js +0 -298
- package/dist/src/nile-select/body-append-manager.js.map +0 -1
- package/dist/src/nile-sidebar/index.d.ts +0 -28
- package/dist/src/nile-sidebar/index.js +0 -116
- package/dist/src/nile-sidebar/index.js.map +0 -1
- package/dist/src/nile-sidebar-menu/index.d.ts +0 -1
- package/dist/src/nile-sidebar-menu/index.js +0 -2
- package/dist/src/nile-sidebar-menu/index.js.map +0 -1
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.d.ts +0 -12
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js +0 -47
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js.map +0 -1
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.d.ts +0 -37
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js +0 -84
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js.map +0 -1
- package/dist/src/nile-sidebar-menu-items/index.d.ts +0 -1
- package/dist/src/nile-sidebar-menu-items/index.js +0 -2
- package/dist/src/nile-sidebar-menu-items/index.js.map +0 -1
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.d.ts +0 -12
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js +0 -45
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js.map +0 -1
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.d.ts +0 -35
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js +0 -78
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js.map +0 -1
- package/dist/src/nile-sidebar-wrapper/index.d.ts +0 -1
- package/dist/src/nile-sidebar-wrapper/index.js +0 -2
- package/dist/src/nile-sidebar-wrapper/index.js.map +0 -1
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.d.ts +0 -12
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js +0 -114
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js.map +0 -1
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.d.ts +0 -35
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js +0 -89
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js.map +0 -1
- package/dist/src/nile-skeleton-loader/index.d.ts +0 -1
- package/dist/src/nile-skeleton-loader/index.js +0 -2
- package/dist/src/nile-skeleton-loader/index.js.map +0 -1
- package/dist/src/nile-skeleton-loader/nile-skeleton-loader.css.d.ts +0 -3
- package/dist/src/nile-skeleton-loader/nile-skeleton-loader.css.js +0 -50
- package/dist/src/nile-skeleton-loader/nile-skeleton-loader.css.js.map +0 -1
- package/dist/src/nile-skeleton-loader/nile-skeleton-loader.d.ts +0 -20
- package/dist/src/nile-skeleton-loader/nile-skeleton-loader.js +0 -107
- package/dist/src/nile-skeleton-loader/nile-skeleton-loader.js.map +0 -1
- package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +0 -9
- package/dist/src/nile-table-body/virtual-scroll-helper.js +0 -24
- package/dist/src/nile-table-body/virtual-scroll-helper.js.map +0 -1
- package/dist/src/nile-virtual-select/body-append-helper.d.ts +0 -16
- package/dist/src/nile-virtual-select/body-append-helper.js +0 -95
- package/dist/src/nile-virtual-select/body-append-helper.js.map +0 -1
- package/dist/src/nile-virtual-select/group-manager.d.ts +0 -32
- package/dist/src/nile-virtual-select/group-manager.js +0 -134
- package/dist/src/nile-virtual-select/group-manager.js.map +0 -1
- package/dist/src/nile-virtual-select/portal-utils.d.ts +0 -65
- package/dist/src/nile-virtual-select/portal-utils.js +0 -376
- package/dist/src/nile-virtual-select/portal-utils.js.map +0 -1
- package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.d.ts +0 -273
- package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js +0 -1305
- package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js.map +0 -1
- package/dist/src/nile-virtual-select/virtualizer-error-handler.d.ts +0 -21
- package/dist/src/nile-virtual-select/virtualizer-error-handler.js +0 -56
- package/dist/src/nile-virtual-select/virtualizer-error-handler.js.map +0 -1
- package/dist/src/nile-virtual-select-disabled/index.d.ts +0 -1
- package/dist/src/nile-virtual-select-disabled/index.js +0 -2
- package/dist/src/nile-virtual-select-disabled/index.js.map +0 -1
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.d.ts +0 -12
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js +0 -538
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js.map +0 -1
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.d.ts +0 -299
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js +0 -1441
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js.map +0 -1
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.d.ts +0 -7
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js +0 -631
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js.map +0 -1
- package/dist/src/nile-virtual-select-disabled/portal-manager.d.ts +0 -45
- package/dist/src/nile-virtual-select-disabled/portal-manager.js +0 -333
- package/dist/src/nile-virtual-select-disabled/portal-manager.js.map +0 -1
- package/dist/src/nile-virtual-select-disabled/renderer.d.ts +0 -16
- package/dist/src/nile-virtual-select-disabled/renderer.js +0 -79
- package/dist/src/nile-virtual-select-disabled/renderer.js.map +0 -1
- package/dist/src/nile-virtual-select-disabled/search-manager.d.ts +0 -12
- package/dist/src/nile-virtual-select-disabled/search-manager.js +0 -40
- package/dist/src/nile-virtual-select-disabled/search-manager.js.map +0 -1
- package/dist/src/nile-virtual-select-disabled/selection-manager.d.ts +0 -12
- package/dist/src/nile-virtual-select-disabled/selection-manager.js +0 -64
- package/dist/src/nile-virtual-select-disabled/selection-manager.js.map +0 -1
- package/dist/src/nile-virtual-select-disabled/types.d.ts +0 -50
- package/dist/src/nile-virtual-select-disabled/types.js +0 -8
- package/dist/src/nile-virtual-select-disabled/types.js.map +0 -1
- package/dist/src/nile-virtual-table-body/index.d.ts +0 -2
- package/dist/src/nile-virtual-table-body/index.js +0 -3
- package/dist/src/nile-virtual-table-body/index.js.map +0 -1
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +0 -1
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +0 -44
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +0 -1
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +0 -50
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +0 -135
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +0 -1
- package/dist/src/nile-virtual-table-body/renderer.d.ts +0 -16
- package/dist/src/nile-virtual-table-body/renderer.js +0 -49
- package/dist/src/nile-virtual-table-body/renderer.js.map +0 -1
- package/dist/src/utilities/stepper-utils.d.ts +0 -71
- package/dist/src/utilities/stepper-utils.js +0 -108
- package/dist/src/utilities/stepper-utils.js.map +0 -1
- package/src/nile-skeleton-loader/index.ts +0 -2
- package/src/nile-skeleton-loader/nile-skeleton-loader.css.ts +0 -52
- package/src/nile-skeleton-loader/nile-skeleton-loader.ts +0 -109
- /package/dist/{nile-grid-body → nile-side-bar-panel}/index.cjs.js.map +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-select.cjs.js","sources":["../../../src/nile-select/nile-select.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-select.css';\n\nimport '../nile-icon';\nimport '../nile-popup/nile-popup';\nimport '../nile-tag/nile-tag';\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 { scrollIntoView } from '../internal/scroll';\nimport { waitForEvent } from '../internal/event';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValues } 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 type { RenderItemConfig } from '../nile-virtual-select/types.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport '../nile-virtual-select/nile-virtual-select';\nimport { VirtualScrollHelper } from './virtual-scroll-helper';\nimport NileOptionGroup from '../nile-option-group/nile-option-group';\nimport { GroupAttributes } from './nile-select.interface';\nimport { ResizeController } from '@lit-labs/observers/resize-controller.js';\nimport { PortalManager } from './portal-manager';\nimport { VisibilityManager } from '../utilities/visibility-manager';\n\ntype NileRemoveEvent = CustomEvent<Record<PropertyKey, never>>;\n\n/**\n * Nile icon component.\n *\n * @tag nile-select\n *\n */\n\n/**\n * @summary Selects allow you to choose items from a menu of predefined options.\n * @status stable\n * @since 2.0\n *\n * @dependency nile-icon\n * @dependency nile-popup\n * @dependency nile-tag\n * @dependency nile-virtual-select\n *\n * @slot - The listbox options. Must be `<nile-option>` elements. You can use `<nile-divider>` to group items visually.\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. Rotates on open and close.\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 listbox. The event payload includes scroll position information.\n * @event nile-scroll-start - Emitted when the user starts scrolling within the listbox.\n * @event nile-scroll-end - Emitted when the user stops scrolling and reaches the bottom of the listbox (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 `multiselect` is used.\n * @csspart tag - The individual tags that represent each multiselect option.\n * @csspart tag__base - The tag's base part.\n * @csspart tag__content - The tag's content part.\n * @csspart tag__remove-button - The tag's remove button.\n * @csspart tag__remove-button__base - The tag's remove button base part.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n */\n\n@customElement('nile-select')\nexport class NileSelect extends NileElement implements NileFormControl{\n static styles: CSSResultGroup = styles;\n\n // protected override BUBBLES=false;\n\n private formControlController: FormControlController | null;\n private virtualScrollHelper!: VirtualScrollHelper;\n private readonly portalManager = new PortalManager(this);\n\n private readonly hasSlotController = new HasSlotController(\n this,\n 'help-text',\n 'label'\n );\n private typeToSelectString = '';\n private typeToSelectTimeout: number;\n private scrollTimeout: number | undefined;\n private scrolling = false;\n private options: NileOption[] = [];\n private resizeController?: ResizeController;\n private visibilityManager?: VisibilityManager;\n\n\n @query('.select') popup: NilePopup;\n @query('.select__combobox') combobox: HTMLSlotElement;\n @query('.select__display-input') displayInput: HTMLInputElement;\n @query('.select__value-input') valueInput: HTMLInputElement;\n @query('.select__listbox') listbox: HTMLSlotElement;\n\n @state() private hasFocus = false;\n @state() displayLabel = '';\n @state() currentOption: NileOption;\n @state() selectedOptions: NileOption[] = [];\n @state() oldValue: string | string[] = '';\n\n /** The name of the select, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /**\n * The current value of the select, submitted as a name/value pair with form data. When `multiple` is enabled, the\n * value will be a space-delimited list of values based on the options selected.\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 /** Placeholder text to show as a hint when the select is empty. */\n @state() searchValue: string = '';\n\n @property({ type: Boolean, reflect: true }) searchEnabled = false;\n\n @property({attribute:'internal-search-placeholder'}) internalSearchPlaceHolder = 'Search...';\n\n @property({ type: Boolean, reflect: true, attribute: true }) enableVisibilityEffect = false;\n\n @property({ type: Boolean, reflect: true }) blockValueChange = false;\n\n @property({ type: Boolean, reflect: true }) disableLocalSearch = false;\n\n @property({ type: Boolean, reflect: true }) optionsLoading = false;\n\n @property({ type: Boolean, reflect: true }) noWidthSync = false;\n\n /** \n * When true, the listbox will be appended to the document body instead of the parent container.\n * This is useful when the parent has overflow: hidden, clip-path, or transform applied.\n */\n @property({ type: Boolean, reflect: true }) portal = false;\n\n /** Allows more than one option to be selected. */\n @property({\n reflect: true,\n converter: {\n fromAttribute(value) {\n if (value === '' || value === 'true') return true;\n if (value === 'false') return false;\n return value;\n },\n toAttribute(value) {\n return typeof value === 'boolean' ? String(value) : value;\n }\n }\n })\n multiple = false as boolean | string;\n \n\n @property({ attribute: true, reflect: true }) helpText = '';\n @property({ attribute: 'help-text', reflect: true }) help_text = '';\n @property({ type: Boolean, attribute: true, reflect: true }) autoResize = false;\n\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n /** Sets the input to a warning state, changing its visual appearance. */\n @property({ type: Boolean }) warning = false;\n\n /** Sets the input to an error state, changing its visual appearance. */\n @property({ type: Boolean }) error = false;\n\n /** Sets the input to a success state, changing its visual appearance. */\n @property({ type: Boolean }) success = 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 /** 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 }) clearable = false;\n\n /**\n * Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\n * use the `show()` and `hide()` methods and this attribute will reflect the select's open state.\n */\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 @property({ type: Boolean }) showSelected = false;\n\n @state() oldMaxOptionsVisible: number = 1;\n\n \n @property({ type: Boolean, reflect: true, attribute: true }) enableTabClose = false;\n\n\n @property({ type: Boolean }) showNoResults: boolean = false;\n\n @property({ type: String }) noResultsMessage: string = 'No results found';\n\n /** Enhanced configuration for rendering items with support for display text, value, and search text */\n @property({ attribute: false }) renderItemConfig?: RenderItemConfig;\n\n @property({ type: Array }) data: any = [];\n\n @property({ type: Boolean }) enableVirtualScroll = false;\n\n /** To enable the group header in the select */\n @property({ type: Boolean, reflect: true, attribute: true }) enableGroupHeader = false;\n\n /** To auto focus the search input when the select is opened */\n @property({ type: Boolean, reflect: true, attribute: true }) autoFocusSearch = false;\n\n /** loading indicator for virtual select */\n @property({ type: Boolean, reflect: true, attribute: true }) loading = false;\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 constructor() {\n super();\n }\n\n connectedCallback() {\n super.connectedCallback();\n if(!this.enableVirtualScroll) {\n this.formControlController = new FormControlController(this, {\n assumeInteractionOn: ['nile-blur', 'nile-input'],\n });\n }\n this.virtualScrollHelper = new VirtualScrollHelper(this);\n this.handleDocumentFocusIn = this.handleDocumentFocusIn.bind(this);\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);\n this.handleWindowResize = this.handleWindowResize.bind(this);\n this.handleWindowScroll = this.handleWindowScroll.bind(this);\n\n // Because this is a form control, it shouldn't be opened initially\n this.open = false;\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n // Clear any pending scroll timeout to prevent memory leaks\n if (this.scrollTimeout) {\n clearTimeout(this.scrollTimeout);\n this.scrollTimeout = undefined;\n }\n this.visibilityManager?.cleanup();\n // Clean up body append elements\n this.portalManager.cleanupPortalAppend();\n this.emit('nile-destroy');\n }\n\n private setupResizeObserver() {\n if (this.autoResize) {\n const tagsContainer = this.shadowRoot?.querySelector('.select__tags');\n if (tagsContainer) {\n this.resizeController = new ResizeController(this, {\n callback: () => this.calculateTotalWidthOfTags()\n });\n this.resizeController.observe(tagsContainer);\n }\n } else {\n this.resizeController?.unobserve?.(\n this.shadowRoot?.querySelector('.select__tags') as Element\n );\n this.resizeController = undefined;\n }\n }\n\n protected updated(_changedProperties: PropertyValues): void {\n if(_changedProperties.has('multiple')) {\n this.setCheckBoxInOption(this.multiple as boolean);\n }\n if (_changedProperties.has('autoResize')) {\n this.setupResizeObserver();\n }\n }\n\n protected firstUpdated(_changedProperties: PropertyValues): void {\n if(this.enableGroupHeader) {\n this.handleGroupSearchChange();\n }\n\n this.setupResizeObserver();\n if(_changedProperties.has('multiple')) {\n this.setCheckBoxInOption(this.multiple as boolean);\n }\n this.visibilityManager = new VisibilityManager({\n host: this,\n target: this.combobox,\n enableVisibilityEffect: this.enableVisibilityEffect,\n enableTabClose: this.enableTabClose,\n isOpen: () => this.open,\n onAnchorOutOfView: () => {\n this.hide();\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'anchor-out-of-view',\n name: this.name,\n });\n },\n onDocumentHidden: () => {\n this.hide();\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'document-hidden',\n name: this.name,\n });\n },\n emit: (event, detail) => this.emit(`nile-${event}`, detail),\n });\n \n }\n\n setCheckBoxInOption(checked: boolean): void {\n if(!this.options.length) { \n this.options = this.getAllOptions();\n } \n this.options.forEach((option: NileOption) => {\n option.showCheckbox = checked;\n })\n }\n\n private addOpenListeners() {\n document.addEventListener('focusin', this.handleDocumentFocusIn);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n \n if (this.portal) {\n window.addEventListener('resize', this.handleWindowResize);\n window.addEventListener('scroll', this.handleWindowScroll, true);\n }\n }\n\n private removeOpenListeners() {\n document.removeEventListener('focusin', this.handleDocumentFocusIn);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n window.removeEventListener('resize', this.handleWindowResize);\n window.removeEventListener('scroll', this.handleWindowScroll, true);\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.displayInput.setSelectionRange(0, 0);\n this.emit('nile-focus', { value: this.value, name: this.name });\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('nile-blur', { value: this.value, name: this.name });\n }\n\n private handleDocumentFocusIn(event: FocusEvent) {\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 const hitPortalAppend = this.portal && this.portalManager.portalContainerElement && path.includes(this.portalManager.portalContainerElement);\n\n if (!hitSelf && !hitPopup && !hitPortalAppend) {\n this.hide();\n }\n }\n\n\n \n \n \n\n /**\n * Handles the click event on the footer.\n * @param event - The click event.\n */\n private handleFooterClick(event: MouseEvent): void {\n event.stopPropagation();\n event.preventDefault();\n }\n\n /**\n * Toggles the display of selected options in the dropdown\n * @param event - the event object\n */\n toggleShowSelected(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n // Only toggle if there are selected options\n if (this.selectedOptions?.length === 0) {\n return;\n }\n // Toggle the showSelected property\n this.showSelected = !this.showSelected;\n\n // Hide unselected options if showSelected is true\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n }\n });\n\n if(this.enableGroupHeader) {\n this.handleGroupShowSelected();\n }\n\n // Update portal content if portal is active\n if (this.portal && this.open) {\n this.portalManager.updatePortalOptions();\n }\n // this.requestUpdate();\n }\n\n /**\n * Deselects all options and updates the value, selectedOptions, and displayLabel properties accordingly\n */\n unSlectAll(): void {\n this.showSelected = false;\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n el.selected = false;\n el.hidden = false;\n });\n if(this.enableGroupHeader) {\n this.handleGroupShowSelected();\n }\n this.value = '';\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 \n // Update portal content if portal is active\n if (this.portal && this.open) {\n this.portalManager.updatePortalOptions();\n }\n }\n\n private handleDocumentKeyDown(event: KeyboardEvent) {\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\n // Ignore presses when the target is an icon button (e.g. the remove button in <nile-tag>)\n if (isClearButton || isIconButton) {\n return;\n }\n\n // Close when pressing escape\n if (event.key === 'Escape' && this.open) {\n event.preventDefault();\n event.stopPropagation();\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n\n // Handle enter and space. When pressing space, we allow for type to select behaviors so if there's anything in the\n // buffer we _don't_ close it.\n if (\n event.key === 'Enter' ||\n (event.key === ' ' && this.typeToSelectString === '')\n ) {\n event.preventDefault();\n event.stopImmediatePropagation();\n\n // If it's not open, open it\n if (!this.open) {\n this.show();\n return;\n }\n\n // If it is open, update the value based on the current selection and close it\n if (this.currentOption && !this.currentOption.disabled) {\n if (this.multiple) {\n this.toggleOptionSelection(this.currentOption);\n } else {\n this.setSelectedOptions(this.currentOption);\n }\n\n // Emit after updating\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 if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n\n return;\n }\n\n // All other \"printable\" keys trigger type to select\n if (event.key.length === 1 || event.key === 'Backspace') {\n const allOptions = this.getAllOptions();\n\n // Don't block important key combos like CMD+R\n if (event.metaKey || event.ctrlKey || event.altKey) {\n return;\n }\n\n // Open, unless the key that triggered is backspace\n if (!this.open) {\n if (event.key === 'Backspace') {\n return;\n }\n\n this.show();\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n clearTimeout(this.typeToSelectTimeout);\n this.typeToSelectTimeout = window.setTimeout(\n () => (this.typeToSelectString = ''),\n 1000\n );\n\n if (event.key === 'Backspace') {\n this.typeToSelectString = this.typeToSelectString.slice(0, -1);\n } else {\n this.typeToSelectString += event.key.toLowerCase();\n }\n\n for (const option of allOptions) {\n const label = option.getTextLabel().toLowerCase();\n\n if (label.startsWith(this.typeToSelectString)) {\n this.setCurrentOption(option);\n break;\n }\n }\n }\n }\n\n private handleDocumentMouseDown(event: MouseEvent) {\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 const hitPortalAppend = this.portal && this.portalManager.portalContainerElement && path.includes(this.portalManager.portalContainerElement);\n \n if (!hitSelf && !hitPopup && !hitPortalAppend) {\n this.hide();\n }\n }\n\n private handleWindowResize = (): void => {\n this.portalManager.updatePortalAppendPosition();\n };\n\n private handleWindowScroll = (): void => {\n this.portalManager.updatePortalAppendPosition();\n };\n\n private handleLabelClick() {\n this.displayInput.focus();\n this.hide();\n }\n\n private handleComboboxMouseDown(event: MouseEvent) {\n const path = event.composedPath();\n const isIconButton = path.some(\n el =>\n el instanceof Element && el.tagName.toLowerCase() === 'nile-icon-button'\n );\n\n // Ignore disabled controls and clicks on tags (remove buttons)\n if (this.disabled || isIconButton) {\n return;\n }\n\n event.preventDefault();\n this.displayInput.focus({ preventScroll: true });\n this.open = !this.open;\n }\n\n private handleComboboxKeyDown(event: KeyboardEvent) {\n event.stopPropagation();\n this.handleDocumentKeyDown(event);\n }\n\n private handleClearClick(event: MouseEvent) {\n event.stopPropagation();\n\n if (this.value !== '') {\n this.setSelectedOptions([]);\n this.showSelected = false;\n this.value = '';\n this.displayInput.focus({ preventScroll: true });\n if(this.enableGroupHeader) {\n this.handleGroupShowSelected();\n }\n\n // Emit after update\n this.updateComplete.then(() => {\n const val={ value: this.multiple?this.value:'', name: this.name }\n this.emit('nile-clear', val);\n this.nileInput(val);\n this.nileChange(val);\n });\n }\n }\n\n private handleClearMouseDown(event: MouseEvent) {\n // Don't lose focus or propagate events when clicking the clear button\n event.stopPropagation();\n event.preventDefault();\n }\n\n handleOptionClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const option = target.closest('nile-option');\n\n if (this.blockValueChange && option) {\n this.emit('nile-block-change', { value: option?.value, name: this.name });\n this.hide();\n return;\n }\n\n const oldValue = this.value;\n this.oldValue = oldValue;\n\n if (option && !option.disabled) {\n if (this.multiple) {\n this.toggleOptionSelection(option);\n } else {\n this.setSelectedOptions(option);\n }\n\n // Set focus after updating so the value is announced by screen readers\n this.updateComplete.then(() =>\n this.displayInput.focus({ preventScroll: true })\n );\n\n if (this.value !== oldValue) {\n // Emit after updating\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 if (this.showSelected) {\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n }\n });\n if(this.enableGroupHeader) {\n this.handleGroupShowSelected();\n }\n this.requestUpdate();\n }\n\n // Update portal content if portal is active\n if (this.portal && this.open) {\n this.portalManager.updatePortalOptions();\n }\n }\n\n private handleDefaultSlotChange() {\n const allOptions = this.getAllOptions();\n const value = Array.isArray(this.value) ? this.value : [this.value];\n const values: string[] = [];\n\n // Check for duplicate values in menu items\n if (customElements.get('nile-option')) {\n allOptions.forEach(option => values.push(option.value));\n\n // Select only the options that match the new value\n this.setSelectedOptions(\n allOptions.filter(el => value.map(String).includes(el.value))\n );\n } else {\n // Rerun this handler when <nile-option> is registered\n customElements\n .whenDefined('nile-option')\n .then(() => this.handleDefaultSlotChange());\n }\n\n // Update portal content if portal is active\n if (this.portal && this.open) {\n this.portalManager.updatePortalOptions();\n }\n }\n\n private handleTagRemove(event: NileRemoveEvent, option: NileOption) {\n event.stopPropagation();\n\n if (!this.disabled) {\n this.toggleOptionSelection(option, false);\n\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n }\n });\n if(this.enableGroupHeader) {\n this.handleGroupShowSelected();\n }\n\n // Emit after updating\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\n // Gets an array of all <nile-option> elements\n private getAllOptions() {\n // Get all options as an array\n const options = [...this.querySelectorAll<NileOption>('nile-option')];\n\n // Sort the options based on the order of values selected\n if (this.multiple && this.oldValue?.length > 0) {\n options.sort((a, b) => {\n let indexA = this.oldValue.indexOf(a.value);\n let indexB = this.oldValue.indexOf(b.value);\n\n // Handle cases where a __value is not found\n if (indexA === -1) {\n indexA = Infinity; // Place at the end if not found\n }\n if (indexB === -1) {\n indexB = Infinity; // Place at the end if not found\n }\n\n if (indexA < indexB) {\n return -1;\n }\n if (indexA > indexB) {\n return 1;\n }\n return 0;\n });\n }\n\n return options;\n }\n\n private getOptionPrefix(option: NileOption): string {\n const prefixSlot = option.shadowRoot?.querySelector(\n 'slot[name=\"prefix\"]'\n ) as HTMLSlotElement;\n if (!prefixSlot) return '';\n\n const assignedNodes = prefixSlot.assignedNodes();\n const htmlStrings: string[] = [];\n\n assignedNodes.forEach(node => {\n if (node instanceof HTMLElement) {\n htmlStrings.push(node.outerHTML);\n } else if (node.nodeType === Node.TEXT_NODE) {\n // Text node\n htmlStrings.push(node.textContent || '');\n }\n });\n\n return htmlStrings.join('');\n }\n\n // Gets the first <nile-option> element\n private getFirstOption() {\n return this.querySelector<NileOption>('nile-option');\n }\n\n // Sets the current option, which is the option the user is currently interacting with (e.g. via keyboard). Only one\n // option may be \"current\" at a time.\n private setCurrentOption(option: NileOption | null) {\n const allOptions = this.getAllOptions();\n\n // Clear selection\n allOptions.forEach(el => {\n el.current = false;\n el.tabIndex = -1;\n });\n\n // Select the target option\n if (option) {\n this.currentOption = option;\n option.current = true;\n option.tabIndex = 0;\n option.focus();\n }\n }\n\n // Sets the selected option(s)\n private setSelectedOptions(option: NileOption | NileOption[]) {\n const allOptions = this.getAllOptions();\n const newSelectedOptions = Array.isArray(option) ? option : [option];\n\n // Clear existing selection\n allOptions.forEach(el => (el.selected = false));\n\n // Set the new selection\n if (newSelectedOptions.length) {\n newSelectedOptions.forEach(el => (el.selected = true));\n }\n\n // Update selection, value, and display label\n this.selectionChanged();\n \n // Update portal content if portal is active\n if (this.portal && this.open) {\n this.portalManager.updatePortalOptions();\n }\n }\n\n // Toggles an option's selected state\n private toggleOptionSelection(option: NileOption, force?: boolean) {\n if (force === true || force === false) {\n option.selected = force;\n } else {\n option.selected = !option.selected;\n }\n\n this.selectionChanged();\n }\n\n // This method must be called whenever the selection changes. It will update the selected options cache, the current\n // value, and the display value\n private selectionChanged() {\n // Update selected options cache\n this.selectedOptions = this.getAllOptions().filter(el => el.selected);\n\n // Update the value and display label\n if (this.multiple) {\n this.value = this.selectedOptions.map(el => el.value);\n\n if (this.placeholder && this.value.length === 0) {\n // When no items are selected, keep the value empty so the placeholder shows\n this.displayLabel = '';\n } else {\n this.displayLabel = this.selectedOptions.length + ' selected';\n }\n\n if (this.selectedOptions.length === 0) {\n this.showSelected = false;\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n } else {}\n });\n\n this.requestUpdate();\n }\n } else {\n this.value = this.selectedOptions[0]?.value ?? this.value;\n this.displayLabel = this.selectedOptions[0]?.getTextLabel()\n ? this.selectedOptions[0].getTextLabel()\n : this.value ?? '';\n }\n\n // Update validity\n this.updateComplete.then(() => {\n this.formControlController?.updateValidity();\n });\n\n this.calculateTotalWidthOfTags();\n }\n\n handleSearchFocus() {\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchBlur() {\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchChange(e: any) {\n this.searchValue = e.detail.value;\n this.emit('nile-search', {\n query: this.searchValue,\n name: this.name\n });\n\n if(this.enableGroupHeader) {\n this.handleGroupSearchChange();\n }\n if (!this.disableLocalSearch) {\n let filteredOptions = this.filterOptions(this.searchValue);\n if (filteredOptions.length === 0) {\n // Display 'No results found' message.\n this.showNoResults = true;\n } else {\n this.showNoResults = false;\n }\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 filterOptions(searchValue: string) {\n const allOptions = this.getAllOptions();\n const lowerCaseSearchValue = searchValue.toLowerCase();\n\n let filteredOptions: NileOption[] = [];\n\n allOptions.forEach(el => {\n const lowerCaseLabel = el.getTextLabel().toLowerCase();\n const lowerCaseValue = (el.value || '').toLowerCase();\n if (\n lowerCaseLabel.includes(lowerCaseSearchValue) ||\n lowerCaseValue.includes(lowerCaseSearchValue)\n ) {\n el.hidden = false;\n filteredOptions.push(el);\n } else {\n el.hidden = true;\n }\n });\n\n // Update portal content if portal is active\n if (this.portal && this.open) {\n this.portalManager.updatePortalOptions();\n }\n\n return filteredOptions;\n }\n\n private handleInvalid(event: Event) {\n this.formControlController?.setValidity(false);\n this.formControlController?.emitInvalidEvent(event);\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Close the listbox when the control is disabled\n if (this.disabled) {\n this.open = false;\n this.handleOpenChange();\n }\n }\n\n @watch('value', { waitUntilFirstUpdate: true })\n handleValueChange() {\n const allOptions = this.getAllOptions();\n const value = Array.isArray(this.value) ? this.value : [this.value];\n\n if(!this.enableVirtualScroll) {\n this.setSelectedOptions(allOptions.filter(el => value.includes(el.value)));\n }\n }\n\n @watch('portal', { waitUntilFirstUpdate: true })\n handlePortalAppendChange(): void {\n if (this.open) {\n if (this.portal) {\n this.portalManager.setupPortalAppend();\n } else {\n this.portalManager.cleanupPortalAppend();\n }\n }\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open && !this.disabled) {\n // Reset the current option\n this.setCurrentOption(this.selectedOptions[0] || this.getFirstOption());\n\n this.emit('nile-show', { value: this.value, name: this.name });\n\n if(this.enableGroupHeader) {\n this.getAllGroupAttributes().forEach((el: GroupAttributes) => {\n el.element.classList.remove('nile-group-hidden');\n });\n }\n\n this.addOpenListeners();\n this.visibilityManager?.setup();\n\n this.showNoResults = !this.getAllOptions()?.length;\n\n await stopAnimations(this);\n this.listbox.hidden = false;\n this.popup.active = true;\n\n // Select the appropriate option based on value after the listbox opens\n requestAnimationFrame(() => {\n this.setCurrentOption(this.currentOption);\n });\n\n const { keyframes, options } = getAnimation(this, 'select.show', {\n dir: 'ltr',\n });\n await animateTo(this.popup.popup, keyframes, options);\n\n // Make sure the current option is scrolled into view (required for Safari)\n if (this.currentOption) {\n scrollIntoView(this.currentOption, this.listbox, 'vertical', 'auto');\n }\n this.searchValue = '';\n this.filterOptions(this.searchValue);\n\n if (this.portal) {\n this.portalManager.setupPortalAppend();\n }\n\n this.emit('nile-after-show', { value: this.value, name: this.name });\n if (this.autoFocusSearch) {\n this.handleInputAfterInit();\n }\n } else {\n // Hide\n this.emit('nile-hide', { value: this.value, name: this.name });\n this.showSelected = false;\n this.removeOpenListeners();\n this.visibilityManager?.cleanup();\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.listbox.hidden = true;\n this.popup.active = false;\n\n if (this.portal) {\n this.portalManager.cleanupPortalAppend();\n }\n\n this.searchValue = '';\n this.emit('nile-after-hide', { value: this.value, name: this.name });\n }\n }\n\n private getAllGroupAttributes() {\n return Array.from(\n this.querySelectorAll<NileOptionGroup>('nile-option-group[name]')\n ).map((el: HTMLElement) => ({\n name: el?.getAttribute('name') || '',\n data: el?.getAttribute('data'),\n element: el\n }));\n }\n\n getUniqueGroupNames(arr: NileOption[]) {\n return Array.from(new Set(arr.map(obj => obj?.groupName)));\n }\n \n handleGroupSearchChange() {\n const filtered = new Set(\n this.getUniqueGroupNames(this.filterOptions(this.searchValue))\n );\n this.getAllGroupAttributes().forEach(({ name, element }) => {\n element?.classList.toggle('nile-group-hidden', !filtered.has(name));\n });\n }\n \n handleGroupShowSelected() {\n const visibleGroups = new Set<string>();\n \n if (this.showSelected) {\n this.getAllOptions().forEach((option: NileOption) => {\n if (!option.hidden) visibleGroups.add(option.groupName);\n });\n }\n \n this.getAllGroupAttributes().forEach(({ name, element }) => {\n element?.classList.toggle(\n 'nile-group-hidden',\n this.showSelected && !visibleGroups.has(name)\n );\n });\n }\n\n /** Shows the listbox. */\n async show() {\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 /** Hides the listbox. */\n async hide() {\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 /** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */\n checkValidity() {\n return this.valueInput.checkValidity();\n }\n\n /** Gets the associated form, if one exists. */\n getForm(): HTMLFormElement | null {\n return this.formControlController?.getForm() || null;\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n reportValidity() {\n return this.valueInput.reportValidity();\n }\n\n /** Sets a custom validation message. Pass an empty string to restore validity. */\n setCustomValidity(message: string) {\n this.valueInput.setCustomValidity(message);\n this.formControlController?.updateValidity();\n }\n\n /** Sets focus on the control. */\n focus(options?: FocusOptions) {\n this.displayInput.focus(options);\n }\n\n /** Removes focus from the control. */\n blur() {\n this.displayInput.blur();\n }\n\n onInputChange(event: Event) {\n // This will stop the event from bubbling up to the parent `nile-select` component\n event.stopPropagation();\n }\n\n calculateWidthOfSelectTagsDiv() {\n if (this.shadowRoot) {\n const selectTagsDiv = this.shadowRoot.querySelector('div.select__tags');\n if (selectTagsDiv instanceof HTMLElement) {\n const width = selectTagsDiv.offsetWidth;\n return width - 70;\n }\n }\n }\n\n calculateTotalWidthOfTags() {\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 handleInputAfterInit() {\n this.shadowRoot?.querySelector('nile-input')?.inputFocus();\n }\n\n render() {\n if(this.enableVirtualScroll) {\n return this.virtualScrollHelper.renderVirtualizedContent();\n }\n\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 || this.help_text) ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n const prefixContent = this.selectedOptions[0]\n ? this.getOptionPrefix(this.selectedOptions[0])\n : '';\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 <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 <div part=\"form-control-input\" class=\"form-control-input\">\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.portal ? 'fixed' : (this.hoist ? 'fixed' : 'absolute')}\n distance=\"6\"\n ?flip=${!this.portal}\n ?shift=${!this.portal}\n sync=${ifDefined(!this.noWidthSync ? 'width' : undefined)}\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n >\n ${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 <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 ${prefixContent && !this.multiple\n ? html`<div class=\"select__prefix--from-options\">\n ${unsafeHTML(prefixContent)}\n </div>`\n : html`<slot\n part=\"prefix\"\n name=\"prefix\"\n class=${classMap({\n select__prefix: true,\n multiple: this.multiple,\n })}\n ></slot>`}\n\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 @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n\n ${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 prefix:tag__prefix,\n prefix_content_wrapper:tag__prefix_content_wrapper\n \"\n ?pill=${this.pill}\n size=${this.size}\n removable\n @nile-remove=${(event: NileRemoveEvent) =>\n this.handleTagRemove(event, option)}\n >\n ${this.getOptionPrefix(option)\n ? html`<span class=\"tag__prefix\" slot=\"prefix\"\n >${unsafeHTML(\n this.getOptionPrefix(option)\n )}</span\n >`\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 : ''}\n\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 ${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=\"var(--nile-icon-close, var(--ng-icon-x-close))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" library=\"system\"></nile-icon>\n </slot>\n </button>\n `\n : ''}\n\n <slot\n part=\"suffix\"\n name=\"suffix\"\n class=${classMap({\n select__suffix: true,\n })}\n ></slot>\n\n <slot\n name=\"expand-icon\"\n part=\"expand-icon\"\n class=\"select__expand-icon\"\n >\n <nile-icon library=\"system\" name=\"var(--nile-icon-arrow-down, var(--ng-icon-chevron-down))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"></nile-icon>\n </slot>\n </div>\n\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 : ''} ${this.portal ? 'select__portal-append-hidden' : ''}\"\n tabindex=\"-1\"\n @mouseup=${this.handleOptionClick}\n @slotchange=${this.handleDefaultSlotChange}\n @scroll=${this.handleScroll}\n style=${this.portal ? 'display: none;' : ''}\n >\n ${this.searchEnabled\n ? html` <div 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 @nile-after-init=${this.handleInputAfterInit}\n >\n <nile-icon name=\"var(--nile-icon-search, var(--ng-icon-search-lg))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" slot=\"suffix\"> </nile-icon>\n </nile-input>\n </div>`\n : ``}\n ${this.optionsLoading\n ? html`\n <span class=\"select__loader\">\n <nile-icon\n class=\"select__loader--icon\"\n name=\"var(--nile-icon-button-loading-blue, var(--ng-icon-button-loading-blue))\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n ></nile-icon>\n </span>\n `\n : ''}\n\n <div\n class=\"select__options ${this.searchEnabled\n ? 'select__options__search-enabled'\n : ``}\"\n >\n ${this.showNoResults\n ? html`\n <div class=\"select__no-results\">\n ${this.noResultsMessage}\n </div>\n `\n : ''}\n <slot></slot>\n </div>\n\n ${this.multiple\n ? html` <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` <span\n class=\"select__clear\"\n @click=\"${this.unSlectAll}\"\n >Clear All</span\n >`\n : ``}\n </div>`\n : ``}\n </div>\n </nile-popup>\n </div>\n\n ${hasHelpText\n ? html` <nile-form-help-text>${(this.helpText || this.help_text)}</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 </div>\n `;\n }\n\n nileInput(value:any){\n this.emit('nile-input',value)\n }\n\n nileChange(value:any){\n this.emit('nile-change',value)\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 NileSelect;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-select': NileSelect;\n }\n}\n"],"names":["NileSelect","$","super","this","portalManager","PortalManager","hasSlotController","HasSlotController","typeToSelectString","scrolling","options","hasFocus","displayLabel","selectedOptions","oldValue","name","value","defaultValue","size","placeholder","searchValue","searchEnabled","internalSearchPlaceHolder","enableVisibilityEffect","blockValueChange","disableLocalSearch","optionsLoading","noWidthSync","portal","multiple","helpText","help_text","autoResize","errorMessage","warning","error","success","maxOptionsVisible","disabled","clearable","open","hoist","filled","pill","label","placement","form","required","showSelected","oldMaxOptionsVisible","enableTabClose","showNoResults","noResultsMessage","data","enableVirtualScroll","enableGroupHeader","autoFocusSearch","loading","handleWindowResize","updatePortalAppendPosition","handleWindowScroll","_this","_inherits","_f","_createClass","key","get","_this$valueInput","valueInput","validity","_this$valueInput2","validationMessage","connectedCallback","formControlController","FormControlController","assumeInteractionOn","virtualScrollHelper","VirtualScrollHelper","handleDocumentFocusIn","bind","handleDocumentKeyDown","handleDocumentMouseDown","emit","disconnectedCallback","scrollTimeout","clearTimeout","undefined","visibilityManager","cleanup","cleanupPortalAppend","setupResizeObserver","_this$shadowRoot","tagsContainer","shadowRoot","querySelector","resizeController","ResizeController","callback","calculateTotalWidthOfTags","observe","unobserve","updated","_changedProperties","has","setCheckBoxInOption","firstUpdated","handleGroupSearchChange","VisibilityManager","host","target","combobox","isOpen","onAnchorOutOfView","hide","visible","reason","onDocumentHidden","event","detail","checked","length","getAllOptions","forEach","option","showCheckbox","addOpenListeners","document","addEventListener","window","removeOpenListeners","removeEventListener","handleFocus","displayInput","setSelectionRange","handleBlur","path","composedPath","hitSelf","includes","hitPopup","popup","hitPortalAppend","portalContainerElement","handleFooterClick","stopPropagation","preventDefault","toggleShowSelected","_this$selectedOptions","el","selected","hidden","handleGroupShowSelected","updatePortalOptions","unSlectAll","selectionChanged","isClearButton","closest","isIconButton","focus","preventScroll","stopImmediatePropagation","currentOption","toggleOptionSelection","setSelectedOptions","updateComplete","then","nileInput","nileChange","show","allOptions","metaKey","ctrlKey","altKey","typeToSelectTimeout","setTimeout","slice","toLowerCase","_iterator","_createForOfIteratorHelper","s","_step","n","done","getTextLabel","startsWith","setCurrentOption","err","e","f","handleLabelClick","handleComboboxMouseDown","some","Element","tagName","handleComboboxKeyDown","handleClearClick","val","handleClearMouseDown","handleOptionClick","_this7","requestUpdate","handleDefaultSlotChange","_this8","Array","isArray","values","customElements","push","filter","map","String","whenDefined","handleTagRemove","removedtagvalue","querySelectorAll","sort","a","b","indexA","indexOf","indexB","Infinity","getOptionPrefix","_i$shadowRoot","prefixSlot","assignedNodes","htmlStrings","node","HTMLElement","outerHTML","nodeType","Node","TEXT_NODE","textContent","join","getFirstOption","current","tabIndex","newSelectedOptions","force","_this11","_this$selectedOptions2","_this$selectedOptions3","_this$selectedOptions4","_this$value","_this11$formControlCo","updateValidity","handleSearchFocus","handleSearchBlur","handleSearchChange","query","filterOptions","handleScroll","scrollTop","scrollLeft","Math","ceil","floor","scrollHeight","offsetHeight","isAtBottom","lowerCaseSearchValue","filteredOptions","lowerCaseLabel","lowerCaseValue","handleInvalid","setValidity","emitInvalidEvent","handleDisabledChange","handleOpenChange","handleValueChange","handlePortalAppendChange","setupPortalAppend","_handleOpenChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_this13","_this$visibilityManag2","_this$getAllOptions","_g","_i3","_s2","_this$visibilityManag3","_g2","_i4","_s3","wrap","_callee$","_context2","prev","next","getAllGroupAttributes","element","classList","remove","setup","stopAnimations","listbox","active","requestAnimationFrame","getAnimation","dir","keyframes","animateTo","scrollIntoView","handleInputAfterInit","stop","from","getAttribute","getUniqueGroupNames","arr","Set","obj","groupName","filtered","_ref","toggle","visibleGroups","add","_ref2","_show","_callee2","_callee2$","_context3","abrupt","waitForEvent","_callee3","_callee3$","_context4","checkValidity","getForm","reportValidity","setCustomValidity","message","blur","onInputChange","calculateWidthOfSelectTagsDiv","selectTagsDiv","offsetWidth","widths","tag","widthOfSelectTagsDiv","summ","lastindex","i","_this$shadowRoot3","inputFocus","render","_this16","renderVirtualizedContent","hasLabelSlot","test","hasLabelSuffixSlot","hasCustomSelect","hasLabel","hasClearIcon","isPlaceholderVisible","hasHelpText","hasErrorMessage","prefixContent","html","_templateObject","_taggedTemplateLiteral","classMap","_templateObject2","select","ifDefined","_templateObject3","_templateObject4","select__combobox","_templateObject5","unsafeHTML","_templateObject6","select__prefix","_templateObject7","index","classes","select__invisible","_templateObject8","_templateObject9","_templateObject10","_templateObject11","select__suffix","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","NileElement","styles","__decorate","prototype","state","property","converter","fromAttribute","split","toAttribute","type","Boolean","reflect","attribute","Number","watch","waitUntilFirstUpdate","customElement","setDefaultAnimation","opacity","scale","duration","easing"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nile-select.cjs.js","sources":["../../../src/nile-select/nile-select.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n} from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-select.css';\n\nimport '../nile-icon';\nimport '../nile-popup/nile-popup';\nimport '../nile-tag/nile-tag';\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 { scrollIntoView } from '../internal/scroll';\nimport { waitForEvent } from '../internal/event';\nimport { watch } from '../internal/watch';\nimport NileElement from '../internal/nile-element';\nimport type { CSSResultGroup, PropertyValues } 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 type { RenderItemConfig } from '../nile-virtual-select/types.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport '../nile-virtual-select/nile-virtual-select';\nimport { VirtualScrollHelper } from './virtual-scroll-helper';\nimport NileOptionGroup from '../nile-option-group/nile-option-group';\nimport { GroupAttributes } from './nile-select.interface';\nimport { ResizeController } from '@lit-labs/observers/resize-controller.js';\nimport { PortalManager } from './portal-manager';\nimport { VisibilityManager } from '../utilities/visibility-manager';\n\ntype NileRemoveEvent = CustomEvent<Record<PropertyKey, never>>;\n\n/**\n * Nile icon component.\n *\n * @tag nile-select\n *\n */\n\n/**\n * @summary Selects allow you to choose items from a menu of predefined options.\n * @status stable\n * @since 2.0\n *\n * @dependency nile-icon\n * @dependency nile-popup\n * @dependency nile-tag\n * @dependency nile-virtual-select\n *\n * @slot - The listbox options. Must be `<nile-option>` elements. You can use `<nile-divider>` to group items visually.\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. Rotates on open and close.\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 listbox. The event payload includes scroll position information.\n * @event nile-scroll-start - Emitted when the user starts scrolling within the listbox.\n * @event nile-scroll-end - Emitted when the user stops scrolling and reaches the bottom of the listbox (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 `multiselect` is used.\n * @csspart tag - The individual tags that represent each multiselect option.\n * @csspart tag__base - The tag's base part.\n * @csspart tag__content - The tag's content part.\n * @csspart tag__remove-button - The tag's remove button.\n * @csspart tag__remove-button__base - The tag's remove button base part.\n * @csspart clear-button - The clear button.\n * @csspart expand-icon - The container that wraps the expand icon.\n */\n\n@customElement('nile-select')\nexport class NileSelect extends NileElement implements NileFormControl{\n static styles: CSSResultGroup = styles;\n\n // protected override BUBBLES=false;\n\n private formControlController: FormControlController | null;\n private virtualScrollHelper!: VirtualScrollHelper;\n private readonly portalManager = new PortalManager(this);\n\n private readonly hasSlotController = new HasSlotController(\n this,\n 'help-text',\n 'label'\n );\n private typeToSelectString = '';\n private typeToSelectTimeout: number;\n private scrollTimeout: number | undefined;\n private scrolling = false;\n private options: NileOption[] = [];\n private resizeController?: ResizeController;\n private visibilityManager?: VisibilityManager;\n\n\n @query('.select') popup: NilePopup;\n @query('.select__combobox') combobox: HTMLSlotElement;\n @query('.select__display-input') displayInput: HTMLInputElement;\n @query('.select__value-input') valueInput: HTMLInputElement;\n @query('.select__listbox') listbox: HTMLSlotElement;\n\n @state() private hasFocus = false;\n @state() displayLabel = '';\n @state() currentOption: NileOption;\n @state() selectedOptions: NileOption[] = [];\n @state() oldValue: string | string[] = '';\n\n /** The name of the select, submitted as a name/value pair with form data. */\n @property() name = '';\n\n /**\n * The current value of the select, submitted as a name/value pair with form data. When `multiple` is enabled, the\n * value will be a space-delimited list of values based on the options selected.\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 /** Placeholder text to show as a hint when the select is empty. */\n @state() searchValue: string = '';\n\n @property({ type: Boolean, reflect: true }) searchEnabled = false;\n\n @property({attribute:'internal-search-placeholder'}) internalSearchPlaceHolder = 'Search...';\n\n @property({ type: Boolean, reflect: true, attribute: true }) enableVisibilityEffect = false;\n\n @property({ type: Boolean, reflect: true }) blockValueChange = false;\n\n @property({ type: Boolean, reflect: true }) disableLocalSearch = false;\n\n @property({ type: Boolean, reflect: true }) optionsLoading = false;\n\n @property({ type: Boolean, reflect: true }) noWidthSync = false;\n\n /** \n * When true, the listbox will be appended to the document body instead of the parent container.\n * This is useful when the parent has overflow: hidden, clip-path, or transform applied.\n */\n @property({ type: Boolean, reflect: true }) portal = false;\n\n /** Allows more than one option to be selected. */\n @property({\n reflect: true,\n converter: {\n fromAttribute(value) {\n if (value === '' || value === 'true') return true;\n if (value === 'false') return false;\n return value;\n },\n toAttribute(value) {\n return typeof value === 'boolean' ? String(value) : value;\n }\n }\n })\n multiple = false as boolean | string;\n \n\n @property({ attribute: true, reflect: true }) helpText = '';\n @property({ attribute: 'help-text', reflect: true }) help_text = '';\n @property({ type: Boolean, attribute: true, reflect: true }) autoResize = false;\n\n @property({ attribute: 'error-message', reflect: true }) errorMessage = '';\n\n /** Sets the input to a warning state, changing its visual appearance. */\n @property({ type: Boolean }) warning = false;\n\n /** Sets the input to an error state, changing its visual appearance. */\n @property({ type: Boolean }) error = false;\n\n /** Sets the input to a success state, changing its visual appearance. */\n @property({ type: Boolean }) success = 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 /** 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 }) clearable = false;\n\n /**\n * Indicates whether or not the select is open. You can toggle this attribute to show and hide the menu, or you can\n * use the `show()` and `hide()` methods and this attribute will reflect the select's open state.\n */\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 @property({ type: Boolean }) showSelected = false;\n\n @state() oldMaxOptionsVisible: number = 1;\n\n \n @property({ type: Boolean, reflect: true, attribute: true }) enableTabClose = false;\n\n\n @property({ type: Boolean }) showNoResults: boolean = false;\n\n @property({ type: String }) noResultsMessage: string = 'No results found';\n\n /** Enhanced configuration for rendering items with support for display text, value, and search text */\n @property({ attribute: false }) renderItemConfig?: RenderItemConfig;\n\n @property({ type: Array }) data: any = [];\n\n @property({ type: Boolean }) enableVirtualScroll = false;\n\n /** To enable the group header in the select */\n @property({ type: Boolean, reflect: true, attribute: true }) enableGroupHeader = false;\n\n /** To auto focus the search input when the select is opened */\n @property({ type: Boolean, reflect: true, attribute: true }) autoFocusSearch = false;\n\n /** loading indicator for virtual select */\n @property({ type: Boolean, reflect: true, attribute: true }) loading = false;\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 constructor() {\n super();\n }\n\n connectedCallback() {\n super.connectedCallback();\n if(!this.enableVirtualScroll) {\n this.formControlController = new FormControlController(this, {\n assumeInteractionOn: ['nile-blur', 'nile-input'],\n });\n }\n this.virtualScrollHelper = new VirtualScrollHelper(this);\n this.handleDocumentFocusIn = this.handleDocumentFocusIn.bind(this);\n this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);\n this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);\n this.handleWindowResize = this.handleWindowResize.bind(this);\n this.handleWindowScroll = this.handleWindowScroll.bind(this);\n\n // Because this is a form control, it shouldn't be opened initially\n this.open = false;\n this.emit('nile-init');\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n // Clear any pending scroll timeout to prevent memory leaks\n if (this.scrollTimeout) {\n clearTimeout(this.scrollTimeout);\n this.scrollTimeout = undefined;\n }\n this.visibilityManager?.cleanup();\n // Clean up body append elements\n this.portalManager.cleanupPortalAppend();\n this.emit('nile-destroy');\n }\n\n private setupResizeObserver() {\n if (this.autoResize) {\n const tagsContainer = this.shadowRoot?.querySelector('.select__tags');\n if (tagsContainer) {\n this.resizeController = new ResizeController(this, {\n callback: () => this.calculateTotalWidthOfTags()\n });\n this.resizeController.observe(tagsContainer);\n }\n } else {\n this.resizeController?.unobserve?.(\n this.shadowRoot?.querySelector('.select__tags') as Element\n );\n this.resizeController = undefined;\n }\n }\n\n protected updated(_changedProperties: PropertyValues): void {\n if(_changedProperties.has('multiple')) {\n this.setCheckBoxInOption(this.multiple as boolean);\n }\n if (_changedProperties.has('autoResize')) {\n this.setupResizeObserver();\n }\n }\n\n protected firstUpdated(_changedProperties: PropertyValues): void {\n if(this.enableGroupHeader) {\n this.handleGroupSearchChange();\n }\n\n this.setupResizeObserver();\n if(_changedProperties.has('multiple')) {\n this.setCheckBoxInOption(this.multiple as boolean);\n }\n this.visibilityManager = new VisibilityManager({\n host: this,\n target: this.combobox,\n enableVisibilityEffect: this.enableVisibilityEffect,\n enableTabClose: this.enableTabClose,\n isOpen: () => this.open,\n onAnchorOutOfView: () => {\n this.hide();\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'anchor-out-of-view',\n name: this.name,\n });\n },\n onDocumentHidden: () => {\n this.hide();\n this.emit('nile-visibility-change', {\n visible: false,\n reason: 'document-hidden',\n name: this.name,\n });\n },\n emit: (event, detail) => this.emit(`nile-${event}`, detail),\n });\n \n }\n\n setCheckBoxInOption(checked: boolean): void {\n if(!this.options.length) { \n this.options = this.getAllOptions();\n } \n this.options.forEach((option: NileOption) => {\n option.showCheckbox = checked;\n })\n }\n\n private addOpenListeners() {\n document.addEventListener('focusin', this.handleDocumentFocusIn);\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n document.addEventListener('mousedown', this.handleDocumentMouseDown);\n \n if (this.portal) {\n window.addEventListener('resize', this.handleWindowResize);\n window.addEventListener('scroll', this.handleWindowScroll, true);\n }\n }\n\n private removeOpenListeners() {\n document.removeEventListener('focusin', this.handleDocumentFocusIn);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\n window.removeEventListener('resize', this.handleWindowResize);\n window.removeEventListener('scroll', this.handleWindowScroll, true);\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.displayInput.setSelectionRange(0, 0);\n this.emit('nile-focus', { value: this.value, name: this.name });\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('nile-blur', { value: this.value, name: this.name });\n }\n\n private handleDocumentFocusIn(event: FocusEvent) {\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 const hitPortalAppend = this.portal && this.portalManager.portalContainerElement && path.includes(this.portalManager.portalContainerElement);\n\n if (!hitSelf && !hitPopup && !hitPortalAppend) {\n this.hide();\n }\n }\n\n\n \n \n \n\n /**\n * Handles the click event on the footer.\n * @param event - The click event.\n */\n private handleFooterClick(event: MouseEvent): void {\n event.stopPropagation();\n event.preventDefault();\n }\n\n /**\n * Toggles the display of selected options in the dropdown\n * @param event - the event object\n */\n toggleShowSelected(event: Event): void {\n event.stopPropagation();\n event.preventDefault();\n // Only toggle if there are selected options\n if (this.selectedOptions?.length === 0) {\n return;\n }\n // Toggle the showSelected property\n this.showSelected = !this.showSelected;\n\n // Hide unselected options if showSelected is true\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n }\n });\n\n if(this.enableGroupHeader) {\n this.handleGroupShowSelected();\n }\n\n // Update portal content if portal is active\n if (this.portal && this.open) {\n this.portalManager.updatePortalOptions();\n }\n // this.requestUpdate();\n }\n\n /**\n * Deselects all options and updates the value, selectedOptions, and displayLabel properties accordingly\n */\n unSlectAll(): void {\n this.showSelected = false;\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n el.selected = false;\n el.hidden = false;\n });\n if(this.enableGroupHeader) {\n this.handleGroupShowSelected();\n }\n this.value = '';\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 \n // Update portal content if portal is active\n if (this.portal && this.open) {\n this.portalManager.updatePortalOptions();\n }\n }\n\n private handleDocumentKeyDown(event: KeyboardEvent) {\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\n // Ignore presses when the target is an icon button (e.g. the remove button in <nile-tag>)\n if (isClearButton || isIconButton) {\n return;\n }\n\n // Close when pressing escape\n if (event.key === 'Escape' && this.open) {\n event.preventDefault();\n event.stopPropagation();\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n\n // Handle enter and space. When pressing space, we allow for type to select behaviors so if there's anything in the\n // buffer we _don't_ close it.\n if (\n event.key === 'Enter' ||\n (event.key === ' ' && this.typeToSelectString === '')\n ) {\n event.preventDefault();\n event.stopImmediatePropagation();\n\n // If it's not open, open it\n if (!this.open) {\n this.show();\n return;\n }\n\n // If it is open, update the value based on the current selection and close it\n if (this.currentOption && !this.currentOption.disabled) {\n if (this.multiple) {\n this.toggleOptionSelection(this.currentOption);\n } else {\n this.setSelectedOptions(this.currentOption);\n }\n\n // Emit after updating\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 if (!this.multiple) {\n this.hide();\n this.displayInput.focus({ preventScroll: true });\n }\n }\n\n return;\n }\n\n // All other \"printable\" keys trigger type to select\n if (event.key.length === 1 || event.key === 'Backspace') {\n const allOptions = this.getAllOptions();\n\n // Don't block important key combos like CMD+R\n if (event.metaKey || event.ctrlKey || event.altKey) {\n return;\n }\n\n // Open, unless the key that triggered is backspace\n if (!this.open) {\n if (event.key === 'Backspace') {\n return;\n }\n\n this.show();\n }\n\n event.stopPropagation();\n event.preventDefault();\n\n clearTimeout(this.typeToSelectTimeout);\n this.typeToSelectTimeout = window.setTimeout(\n () => (this.typeToSelectString = ''),\n 1000\n );\n\n if (event.key === 'Backspace') {\n this.typeToSelectString = this.typeToSelectString.slice(0, -1);\n } else {\n this.typeToSelectString += event.key.toLowerCase();\n }\n\n for (const option of allOptions) {\n const label = option.getTextLabel().toLowerCase();\n\n if (label.startsWith(this.typeToSelectString)) {\n this.setCurrentOption(option);\n break;\n }\n }\n }\n }\n\n private handleDocumentMouseDown(event: MouseEvent) {\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 const hitPortalAppend = this.portal && this.portalManager.portalContainerElement && path.includes(this.portalManager.portalContainerElement);\n \n if (!hitSelf && !hitPopup && !hitPortalAppend) {\n this.hide();\n }\n }\n\n private handleWindowResize = (): void => {\n this.portalManager.updatePortalAppendPosition();\n };\n\n private handleWindowScroll = (): void => {\n this.portalManager.updatePortalAppendPosition();\n };\n\n private handleLabelClick() {\n this.displayInput.focus();\n this.hide();\n }\n\n private handleComboboxMouseDown(event: MouseEvent) {\n const path = event.composedPath();\n const isIconButton = path.some(\n el =>\n el instanceof Element && el.tagName.toLowerCase() === 'nile-icon-button'\n );\n\n // Ignore disabled controls and clicks on tags (remove buttons)\n if (this.disabled || isIconButton) {\n return;\n }\n\n event.preventDefault();\n this.displayInput.focus({ preventScroll: true });\n this.open = !this.open;\n }\n\n private handleComboboxKeyDown(event: KeyboardEvent) {\n event.stopPropagation();\n this.handleDocumentKeyDown(event);\n }\n\n private handleClearClick(event: MouseEvent) {\n event.stopPropagation();\n\n if (this.value !== '') {\n this.setSelectedOptions([]);\n this.showSelected = false;\n this.value = '';\n this.displayInput.focus({ preventScroll: true });\n if(this.enableGroupHeader) {\n this.handleGroupShowSelected();\n }\n\n // Emit after update\n this.updateComplete.then(() => {\n const val={ value: this.multiple?this.value:'', name: this.name }\n this.emit('nile-clear', val);\n this.nileInput(val);\n this.nileChange(val);\n });\n }\n }\n\n private handleClearMouseDown(event: MouseEvent) {\n // Don't lose focus or propagate events when clicking the clear button\n event.stopPropagation();\n event.preventDefault();\n }\n\n handleOptionClick(event: MouseEvent) {\n const target = event.target as HTMLElement;\n const option = target.closest('nile-option');\n\n if (this.blockValueChange && option) {\n this.emit('nile-block-change', { value: option?.value, name: this.name });\n this.hide();\n return;\n }\n\n const oldValue = this.value;\n this.oldValue = oldValue;\n\n if (option && !option.disabled) {\n if (this.multiple) {\n this.toggleOptionSelection(option);\n } else {\n this.setSelectedOptions(option);\n }\n\n // Set focus after updating so the value is announced by screen readers\n this.updateComplete.then(() =>\n this.displayInput.focus({ preventScroll: true })\n );\n\n if (this.value !== oldValue) {\n // Emit after updating\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 if (this.showSelected) {\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n }\n });\n if(this.enableGroupHeader) {\n this.handleGroupShowSelected();\n }\n this.requestUpdate();\n }\n\n // Update portal content if portal is active\n if (this.portal && this.open) {\n this.portalManager.updatePortalOptions();\n }\n }\n\n private handleDefaultSlotChange() {\n const allOptions = this.getAllOptions();\n const value = Array.isArray(this.value) ? this.value : [this.value];\n const values: string[] = [];\n\n // Check for duplicate values in menu items\n if (customElements.get('nile-option')) {\n allOptions.forEach(option => values.push(option.value));\n\n // Select only the options that match the new value\n this.setSelectedOptions(\n allOptions.filter(el => value.map(String).includes(el.value))\n );\n } else {\n // Rerun this handler when <nile-option> is registered\n customElements\n .whenDefined('nile-option')\n .then(() => this.handleDefaultSlotChange());\n }\n\n // Update portal content if portal is active\n if (this.portal && this.open) {\n this.portalManager.updatePortalOptions();\n }\n }\n\n private handleTagRemove(event: NileRemoveEvent, option: NileOption) {\n event.stopPropagation();\n\n if (!this.disabled) {\n this.toggleOptionSelection(option, false);\n\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n }\n });\n if(this.enableGroupHeader) {\n this.handleGroupShowSelected();\n }\n\n // Emit after updating\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\n // Gets an array of all <nile-option> elements\n private getAllOptions() {\n // Get all options as an array\n const options = [...this.querySelectorAll<NileOption>('nile-option')];\n\n // Sort the options based on the order of values selected\n if (this.multiple && this.oldValue?.length > 0) {\n options.sort((a, b) => {\n let indexA = this.oldValue.indexOf(a.value);\n let indexB = this.oldValue.indexOf(b.value);\n\n // Handle cases where a __value is not found\n if (indexA === -1) {\n indexA = Infinity; // Place at the end if not found\n }\n if (indexB === -1) {\n indexB = Infinity; // Place at the end if not found\n }\n\n if (indexA < indexB) {\n return -1;\n }\n if (indexA > indexB) {\n return 1;\n }\n return 0;\n });\n }\n\n return options;\n }\n\n private getOptionPrefix(option: NileOption): string {\n const prefixSlot = option.shadowRoot?.querySelector(\n 'slot[name=\"prefix\"]'\n ) as HTMLSlotElement;\n if (!prefixSlot) return '';\n\n const assignedNodes = prefixSlot.assignedNodes();\n const htmlStrings: string[] = [];\n\n assignedNodes.forEach(node => {\n if (node instanceof HTMLElement) {\n htmlStrings.push(node.outerHTML);\n } else if (node.nodeType === Node.TEXT_NODE) {\n // Text node\n htmlStrings.push(node.textContent || '');\n }\n });\n\n return htmlStrings.join('');\n }\n\n // Gets the first <nile-option> element\n private getFirstOption() {\n return this.querySelector<NileOption>('nile-option');\n }\n\n // Sets the current option, which is the option the user is currently interacting with (e.g. via keyboard). Only one\n // option may be \"current\" at a time.\n private setCurrentOption(option: NileOption | null) {\n const allOptions = this.getAllOptions();\n\n // Clear selection\n allOptions.forEach(el => {\n el.current = false;\n el.tabIndex = -1;\n });\n\n // Select the target option\n if (option) {\n this.currentOption = option;\n option.current = true;\n option.tabIndex = 0;\n option.focus();\n }\n }\n\n // Sets the selected option(s)\n private setSelectedOptions(option: NileOption | NileOption[]) {\n const allOptions = this.getAllOptions();\n const newSelectedOptions = Array.isArray(option) ? option : [option];\n\n // Clear existing selection\n allOptions.forEach(el => (el.selected = false));\n\n // Set the new selection\n if (newSelectedOptions.length) {\n newSelectedOptions.forEach(el => (el.selected = true));\n }\n\n // Update selection, value, and display label\n this.selectionChanged();\n \n // Update portal content if portal is active\n if (this.portal && this.open) {\n this.portalManager.updatePortalOptions();\n }\n }\n\n // Toggles an option's selected state\n private toggleOptionSelection(option: NileOption, force?: boolean) {\n if (force === true || force === false) {\n option.selected = force;\n } else {\n option.selected = !option.selected;\n }\n\n this.selectionChanged();\n }\n\n // This method must be called whenever the selection changes. It will update the selected options cache, the current\n // value, and the display value\n private selectionChanged() {\n // Update selected options cache\n this.selectedOptions = this.getAllOptions().filter(el => el.selected);\n\n // Update the value and display label\n if (this.multiple) {\n this.value = this.selectedOptions.map(el => el.value);\n\n if (this.placeholder && this.value.length === 0) {\n // When no items are selected, keep the value empty so the placeholder shows\n this.displayLabel = '';\n } else {\n this.displayLabel = this.selectedOptions.length + ' selected';\n }\n\n if (this.selectedOptions.length === 0) {\n this.showSelected = false;\n const allOptions = this.getAllOptions();\n allOptions.forEach(el => {\n if (!el.selected) {\n el.hidden = this.showSelected;\n } else {}\n });\n\n this.requestUpdate();\n }\n } else {\n this.value = this.selectedOptions[0]?.value ?? this.value;\n this.displayLabel = this.selectedOptions[0]?.getTextLabel()\n ? this.selectedOptions[0].getTextLabel()\n : this.value ?? '';\n }\n\n // Update validity\n this.updateComplete.then(() => {\n this.formControlController?.updateValidity();\n });\n\n this.calculateTotalWidthOfTags();\n }\n\n handleSearchFocus() {\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchBlur() {\n document.addEventListener('keydown', this.handleDocumentKeyDown);\n }\n\n handleSearchChange(e: any) {\n this.searchValue = e.detail.value;\n this.emit('nile-search', {\n query: this.searchValue,\n name: this.name\n });\n\n if(this.enableGroupHeader) {\n this.handleGroupSearchChange();\n }\n if (!this.disableLocalSearch) {\n let filteredOptions = this.filterOptions(this.searchValue);\n if (filteredOptions.length === 0) {\n // Display 'No results found' message.\n this.showNoResults = true;\n } else {\n this.showNoResults = false;\n }\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 filterOptions(searchValue: string) {\n const allOptions = this.getAllOptions();\n const lowerCaseSearchValue = searchValue.toLowerCase();\n\n let filteredOptions: NileOption[] = [];\n\n allOptions.forEach(el => {\n const lowerCaseLabel = el.getTextLabel().toLowerCase();\n const lowerCaseValue = (el.value || '').toLowerCase();\n if (\n lowerCaseLabel.includes(lowerCaseSearchValue) ||\n lowerCaseValue.includes(lowerCaseSearchValue)\n ) {\n el.hidden = false;\n filteredOptions.push(el);\n } else {\n el.hidden = true;\n }\n });\n\n // Update portal content if portal is active\n if (this.portal && this.open) {\n this.portalManager.updatePortalOptions();\n }\n\n return filteredOptions;\n }\n\n private handleInvalid(event: Event) {\n this.formControlController?.setValidity(false);\n this.formControlController?.emitInvalidEvent(event);\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n handleDisabledChange() {\n // Close the listbox when the control is disabled\n if (this.disabled) {\n this.open = false;\n this.handleOpenChange();\n }\n }\n\n @watch('value', { waitUntilFirstUpdate: true })\n handleValueChange() {\n const allOptions = this.getAllOptions();\n const value = Array.isArray(this.value) ? this.value : [this.value];\n\n if(!this.enableVirtualScroll) {\n this.setSelectedOptions(allOptions.filter(el => value.includes(el.value)));\n }\n }\n\n @watch('portal', { waitUntilFirstUpdate: true })\n handlePortalAppendChange(): void {\n if (this.open) {\n if (this.portal) {\n this.portalManager.setupPortalAppend();\n } else {\n this.portalManager.cleanupPortalAppend();\n }\n }\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n async handleOpenChange() {\n if (this.open && !this.disabled) {\n // Reset the current option\n this.setCurrentOption(this.selectedOptions[0] || this.getFirstOption());\n\n this.emit('nile-show', { value: this.value, name: this.name });\n\n if(this.enableGroupHeader) {\n this.getAllGroupAttributes().forEach((el: GroupAttributes) => {\n el.element.classList.remove('nile-group-hidden');\n });\n }\n\n this.addOpenListeners();\n this.visibilityManager?.setup();\n\n this.showNoResults = !this.getAllOptions()?.length;\n\n await stopAnimations(this);\n this.listbox.hidden = false;\n this.popup.active = true;\n\n // Select the appropriate option based on value after the listbox opens\n requestAnimationFrame(() => {\n this.setCurrentOption(this.currentOption);\n });\n\n const { keyframes, options } = getAnimation(this, 'select.show', {\n dir: 'ltr',\n });\n await animateTo(this.popup.popup, keyframes, options);\n\n // Make sure the current option is scrolled into view (required for Safari)\n if (this.currentOption) {\n scrollIntoView(this.currentOption, this.listbox, 'vertical', 'auto');\n }\n this.searchValue = '';\n this.filterOptions(this.searchValue);\n\n if (this.portal) {\n this.portalManager.setupPortalAppend();\n }\n\n this.emit('nile-after-show', { value: this.value, name: this.name });\n if (this.autoFocusSearch) {\n this.handleInputAfterInit();\n }\n } else {\n // Hide\n this.emit('nile-hide', { value: this.value, name: this.name });\n this.showSelected = false;\n this.removeOpenListeners();\n this.visibilityManager?.cleanup();\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.listbox.hidden = true;\n this.popup.active = false;\n\n if (this.portal) {\n this.portalManager.cleanupPortalAppend();\n }\n\n this.searchValue = '';\n this.emit('nile-after-hide', { value: this.value, name: this.name });\n }\n }\n\n private getAllGroupAttributes() {\n return Array.from(\n this.querySelectorAll<NileOptionGroup>('nile-option-group[name]')\n ).map((el: HTMLElement) => ({\n name: el?.getAttribute('name') || '',\n data: el?.getAttribute('data'),\n element: el\n }));\n }\n\n getUniqueGroupNames(arr: NileOption[]) {\n return Array.from(new Set(arr.map(obj => obj?.groupName)));\n }\n \n handleGroupSearchChange() {\n const filtered = new Set(\n this.getUniqueGroupNames(this.filterOptions(this.searchValue))\n );\n this.getAllGroupAttributes().forEach(({ name, element }) => {\n element?.classList.toggle('nile-group-hidden', !filtered.has(name));\n });\n }\n \n handleGroupShowSelected() {\n const visibleGroups = new Set<string>();\n \n if (this.showSelected) {\n this.getAllOptions().forEach((option: NileOption) => {\n if (!option.hidden) visibleGroups.add(option.groupName);\n });\n }\n \n this.getAllGroupAttributes().forEach(({ name, element }) => {\n element?.classList.toggle(\n 'nile-group-hidden',\n this.showSelected && !visibleGroups.has(name)\n );\n });\n }\n\n /** Shows the listbox. */\n async show() {\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 /** Hides the listbox. */\n async hide() {\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 /** Checks for validity but does not show a validation message. Returns `true` when valid and `false` when invalid. */\n checkValidity() {\n return this.valueInput.checkValidity();\n }\n\n /** Gets the associated form, if one exists. */\n getForm(): HTMLFormElement | null {\n return this.formControlController?.getForm() || null;\n }\n\n /** Checks for validity and shows the browser's validation message if the control is invalid. */\n reportValidity() {\n return this.valueInput.reportValidity();\n }\n\n /** Sets a custom validation message. Pass an empty string to restore validity. */\n setCustomValidity(message: string) {\n this.valueInput.setCustomValidity(message);\n this.formControlController?.updateValidity();\n }\n\n /** Sets focus on the control. */\n focus(options?: FocusOptions) {\n this.displayInput.focus(options);\n }\n\n /** Removes focus from the control. */\n blur() {\n this.displayInput.blur();\n }\n\n onInputChange(event: Event) {\n // This will stop the event from bubbling up to the parent `nile-select` component\n event.stopPropagation();\n }\n\n calculateWidthOfSelectTagsDiv() {\n if (this.shadowRoot) {\n const selectTagsDiv = this.shadowRoot.querySelector('div.select__tags');\n if (selectTagsDiv instanceof HTMLElement) {\n const width = selectTagsDiv.offsetWidth;\n return width - 70;\n }\n }\n }\n\n calculateTotalWidthOfTags() {\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 handleInputAfterInit() {\n this.shadowRoot?.querySelector('nile-input')?.inputFocus();\n }\n\n render() {\n if(this.enableVirtualScroll) {\n return this.virtualScrollHelper.renderVirtualizedContent();\n }\n\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 || this.help_text) ? true : false;\n const hasErrorMessage = this.errorMessage ? true : false;\n const prefixContent = this.selectedOptions[0]\n ? this.getOptionPrefix(this.selectedOptions[0])\n : '';\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 <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 <div part=\"form-control-input\" class=\"form-control-input\">\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.portal ? 'fixed' : (this.hoist ? 'fixed' : 'absolute')}\n distance=\"6\"\n ?flip=${!this.portal}\n ?shift=${!this.portal}\n sync=${ifDefined(!this.noWidthSync ? 'width' : undefined)}\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n >\n ${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 <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 ${prefixContent && !this.multiple\n ? html`<div class=\"select__prefix--from-options\">\n ${unsafeHTML(prefixContent)}\n </div>`\n : html`<slot\n part=\"prefix\"\n name=\"prefix\"\n class=${classMap({\n select__prefix: true,\n multiple: this.multiple,\n })}\n ></slot>`}\n\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 @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n />\n\n ${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 prefix:tag__prefix,\n prefix_content_wrapper:tag__prefix_content_wrapper\n \"\n ?pill=${this.pill}\n size=${this.size}\n removable\n @nile-remove=${(event: NileRemoveEvent) =>\n this.handleTagRemove(event, option)}\n >\n ${this.getOptionPrefix(option)\n ? html`<span class=\"tag__prefix\" slot=\"prefix\"\n >${unsafeHTML(\n this.getOptionPrefix(option)\n )}</span\n >`\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 : ''}\n\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 ${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=\"var(--nile-icon-close, var(--ng-icon-x-close))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" library=\"system\"></nile-icon>\n </slot>\n </button>\n `\n : ''}\n\n <slot\n part=\"suffix\"\n name=\"suffix\"\n class=${classMap({\n select__suffix: true,\n })}\n ></slot>\n\n <slot\n name=\"expand-icon\"\n part=\"expand-icon\"\n class=\"select__expand-icon\"\n >\n <nile-icon library=\"system\" name=\"var(--nile-icon-arrow-down, var(--ng-icon-chevron-down))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"></nile-icon>\n </slot>\n </div>\n\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 : ''} ${this.portal ? 'select__portal-append-hidden' : ''}\"\n tabindex=\"-1\"\n @mouseup=${this.handleOptionClick}\n @slotchange=${this.handleDefaultSlotChange}\n @scroll=${this.handleScroll}\n style=${this.portal ? 'display: none;' : ''}\n >\n ${this.searchEnabled\n ? html` <div 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 @nile-after-init=${this.handleInputAfterInit}\n >\n <nile-icon name=\"var(--nile-icon-search, var(--ng-icon-search-lg))\" method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\" slot=\"suffix\"> </nile-icon>\n </nile-input>\n </div>`\n : ``}\n ${this.optionsLoading\n ? html`\n <span class=\"select__loader\">\n <nile-icon\n class=\"select__loader--icon\"\n name=\"var(--nile-icon-button-loading-blue, var(--ng-icon-button-loading-blue))\"\n method=\"var(--nile-svg-method-fill, var(--ng-svg-method-stroke))\"\n ></nile-icon>\n </span>\n `\n : ''}\n\n <div\n class=\"select__options ${this.searchEnabled\n ? 'select__options__search-enabled'\n : ``}\"\n >\n ${this.showNoResults\n ? html`\n <div class=\"select__no-results\">\n ${this.noResultsMessage}\n </div>\n `\n : ''}\n <slot></slot>\n </div>\n\n ${this.multiple\n ? html` <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` <span\n class=\"select__clear\"\n @click=\"${this.unSlectAll}\"\n >Clear All</span\n >`\n : ``}\n </div>`\n : ``}\n </div>\n </nile-popup>\n </div>\n\n ${hasHelpText\n ? html` <nile-form-help-text>${(this.helpText || this.help_text)}</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 </div>\n `;\n }\n\n nileInput(value:any){\n this.emit('nile-input',value)\n }\n\n nileChange(value:any){\n this.emit('nile-change',value)\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 NileSelect;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-select': NileSelect;\n }\n}\n"],"names":["NileSelect","$","super","this","portalManager","PortalManager","hasSlotController","HasSlotController","typeToSelectString","scrolling","options","hasFocus","displayLabel","selectedOptions","oldValue","name","value","defaultValue","size","placeholder","searchValue","searchEnabled","internalSearchPlaceHolder","enableVisibilityEffect","blockValueChange","disableLocalSearch","optionsLoading","noWidthSync","portal","multiple","helpText","help_text","autoResize","errorMessage","warning","error","success","maxOptionsVisible","disabled","clearable","open","hoist","filled","pill","label","placement","form","required","showSelected","oldMaxOptionsVisible","enableTabClose","showNoResults","noResultsMessage","data","enableVirtualScroll","enableGroupHeader","autoFocusSearch","loading","handleWindowResize","updatePortalAppendPosition","handleWindowScroll","_this","_inherits","_f","_createClass","key","get","_this$valueInput","valueInput","validity","_this$valueInput2","validationMessage","connectedCallback","formControlController","FormControlController","assumeInteractionOn","virtualScrollHelper","VirtualScrollHelper","handleDocumentFocusIn","bind","handleDocumentKeyDown","handleDocumentMouseDown","emit","disconnectedCallback","scrollTimeout","clearTimeout","undefined","visibilityManager","cleanup","cleanupPortalAppend","setupResizeObserver","_this$shadowRoot","tagsContainer","shadowRoot","querySelector","resizeController","ResizeController","callback","calculateTotalWidthOfTags","observe","unobserve","updated","_changedProperties","has","setCheckBoxInOption","firstUpdated","handleGroupSearchChange","VisibilityManager","host","target","combobox","isOpen","onAnchorOutOfView","hide","visible","reason","onDocumentHidden","event","detail","checked","length","getAllOptions","forEach","option","showCheckbox","addOpenListeners","document","addEventListener","window","removeOpenListeners","removeEventListener","handleFocus","displayInput","setSelectionRange","handleBlur","path","composedPath","hitSelf","includes","hitPopup","popup","hitPortalAppend","portalContainerElement","handleFooterClick","stopPropagation","preventDefault","toggleShowSelected","_this$selectedOptions","el","selected","hidden","handleGroupShowSelected","updatePortalOptions","unSlectAll","selectionChanged","isClearButton","closest","isIconButton","focus","preventScroll","stopImmediatePropagation","currentOption","toggleOptionSelection","setSelectedOptions","updateComplete","then","nileInput","nileChange","show","allOptions","metaKey","ctrlKey","altKey","typeToSelectTimeout","setTimeout","slice","toLowerCase","_iterator","_createForOfIteratorHelper","s","_step","n","done","getTextLabel","startsWith","setCurrentOption","err","e","f","handleLabelClick","handleComboboxMouseDown","some","Element","tagName","handleComboboxKeyDown","handleClearClick","val","handleClearMouseDown","handleOptionClick","_this7","requestUpdate","handleDefaultSlotChange","_this8","Array","isArray","values","customElements","push","filter","map","String","whenDefined","handleTagRemove","removedtagvalue","querySelectorAll","sort","a","b","indexA","indexOf","indexB","Infinity","getOptionPrefix","_i$shadowRoot","prefixSlot","assignedNodes","htmlStrings","node","HTMLElement","outerHTML","nodeType","Node","TEXT_NODE","textContent","join","getFirstOption","current","tabIndex","newSelectedOptions","force","_this11","_this$selectedOptions2","_this$selectedOptions3","_this$selectedOptions4","_this$value","_this11$formControlCo","updateValidity","handleSearchFocus","handleSearchBlur","handleSearchChange","query","filterOptions","handleScroll","scrollTop","scrollLeft","Math","ceil","floor","scrollHeight","offsetHeight","isAtBottom","lowerCaseSearchValue","filteredOptions","lowerCaseLabel","lowerCaseValue","handleInvalid","setValidity","emitInvalidEvent","handleDisabledChange","handleOpenChange","handleValueChange","handlePortalAppendChange","setupPortalAppend","_handleOpenChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_this13","_this$visibilityManag2","_this$getAllOptions","_g","_i3","_s2","_this$visibilityManag3","_g2","_i4","_s3","wrap","_callee$","_context2","prev","next","getAllGroupAttributes","element","classList","remove","setup","stopAnimations","listbox","active","requestAnimationFrame","getAnimation","dir","keyframes","animateTo","scrollIntoView","handleInputAfterInit","stop","from","getAttribute","getUniqueGroupNames","arr","Set","obj","groupName","filtered","_ref","toggle","visibleGroups","add","_ref2","_show","_callee2","_callee2$","_context3","abrupt","waitForEvent","_callee3","_callee3$","_context4","checkValidity","getForm","reportValidity","setCustomValidity","message","blur","onInputChange","calculateWidthOfSelectTagsDiv","selectTagsDiv","offsetWidth","widths","tag","widthOfSelectTagsDiv","summ","lastindex","i","_this$shadowRoot3","inputFocus","render","_this16","renderVirtualizedContent","hasLabelSlot","test","hasLabelSuffixSlot","hasCustomSelect","hasLabel","hasClearIcon","isPlaceholderVisible","hasHelpText","hasErrorMessage","prefixContent","html","_templateObject","_taggedTemplateLiteral","classMap","_templateObject2","select","ifDefined","_templateObject3","_templateObject4","select__combobox","_templateObject5","unsafeHTML","_templateObject6","select__prefix","_templateObject7","index","classes","select__invisible","_templateObject8","_templateObject9","_templateObject10","_templateObject11","select__suffix","_templateObject12","_templateObject13","_templateObject14","_templateObject15","_templateObject16","_templateObject17","_templateObject18","NileElement","styles","__decorate","prototype","state","property","converter","fromAttribute","split","toAttribute","type","Boolean","reflect","attribute","Number","watch","waitUntilFirstUpdate","customElement","setDefaultAnimation","opacity","scale","duration","easing"],"mappings":"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"}
|