@aquera/nile-elements 1.2.1-beta-1.0 → 1.2.1-beta-1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -0
- package/demo/index.html +83 -151
- package/demo/variables.css +3 -2
- package/dist/fixture-985bba12.esm.js +569 -0
- package/dist/fixture-d1470b58.cjs.js +395 -0
- package/dist/fixture-d1470b58.cjs.js.map +1 -0
- package/dist/fixture-dff65c89.cjs.js +395 -0
- package/dist/fixture-dff65c89.cjs.js.map +1 -0
- package/dist/floating-ui.dom-007bbe96.cjs.js +2 -0
- package/dist/floating-ui.dom-007bbe96.cjs.js.map +1 -0
- package/dist/floating-ui.dom-cc9126da.esm.js +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +2133 -1017
- package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
- package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
- package/dist/nile-auto-complete/index.cjs.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.cjs.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.cjs.js.map +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.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.css.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
- package/dist/nile-calendar/nile-calendar.css.esm.js +215 -36
- package/dist/nile-calendar/nile-calendar.esm.js +204 -98
- 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.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
- package/dist/nile-chip/nile-chip.esm.js +45 -33
- 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/index.cjs.js +1 -1
- package/dist/nile-dropdown/index.esm.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.cjs.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.cjs.js.map +1 -1
- package/dist/nile-dropdown/nile-dropdown.esm.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.cjs.js.map +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.esm.js +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/index.cjs.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.cjs.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.template.cjs.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-grid/nile-grid.cjs.js +1 -1
- package/dist/nile-grid/nile-grid.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid.css.cjs.js +1 -1
- package/dist/nile-grid/nile-grid.css.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid.css.esm.js +6 -10
- package/dist/nile-grid/nile-grid.esm.js +6 -6
- package/dist/nile-grid/nile-grid.utils.cjs.js +1 -1
- package/dist/nile-grid/nile-grid.utils.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid.utils.esm.js +1 -1
- package/dist/nile-grid-body/nile-grid-body.cjs.js +1 -1
- package/dist/nile-grid-body/nile-grid-body.cjs.js.map +1 -1
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js +1 -1
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +1 -1
- package/dist/nile-grid-body/nile-grid-body.css.esm.js +4 -0
- package/dist/nile-grid-body/nile-grid-body.esm.js +3 -3
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +1 -1
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -1
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +1 -1
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -1
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +3 -18
- package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +3 -3
- package/dist/nile-grid-head/nile-grid-head.cjs.js +1 -1
- package/dist/nile-grid-head/nile-grid-head.cjs.js.map +1 -1
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js +1 -1
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +1 -1
- package/dist/nile-grid-head/nile-grid-head.css.esm.js +1 -1
- package/dist/nile-grid-head/nile-grid-head.esm.js +3 -3
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +1 -1
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -1
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +1 -1
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -1
- package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +5 -20
- package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +3 -4
- package/dist/nile-grid-row/nile-grid-row.cjs.js +1 -1
- package/dist/nile-grid-row/nile-grid-row.cjs.js.map +1 -1
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js +1 -1
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -1
- package/dist/nile-grid-row/nile-grid-row.css.esm.js +5 -17
- package/dist/nile-grid-row/nile-grid-row.esm.js +5 -4
- 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/menu_close.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/menu_close.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/menu_close.esm.js +1 -0
- package/dist/nile-icon/icons/svg/menu_open.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/menu_open.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/menu_open.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/index.cjs.js +2 -0
- package/dist/nile-inline-sidebar/index.esm.js +1 -0
- package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js +2 -0
- package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js.map +1 -0
- package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js +2 -0
- package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js.map +1 -0
- package/dist/nile-inline-sidebar/nile-inline-sidebar.css.esm.js +91 -0
- package/dist/nile-inline-sidebar/nile-inline-sidebar.esm.js +57 -0
- package/dist/nile-inline-sidebar-group/index.cjs.js +2 -0
- package/dist/nile-inline-sidebar-group/index.esm.js +1 -0
- package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.cjs.js +2 -0
- package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.cjs.js.map +1 -0
- package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.css.cjs.js +2 -0
- package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.css.cjs.js.map +1 -0
- package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.css.esm.js +33 -0
- package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.esm.js +12 -0
- package/dist/nile-inline-sidebar-item/index.cjs.js +2 -0
- package/dist/nile-inline-sidebar-item/index.esm.js +1 -0
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js +2 -0
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js.map +1 -0
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js +2 -0
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js.map +1 -0
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.esm.js +53 -0
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.esm.js +5 -0
- 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/index.cjs.js +1 -1
- package/dist/nile-popover/nile-popover.cjs.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/index.cjs.js +1 -1
- package/dist/nile-popup/index.esm.js +1 -1
- package/dist/nile-popup/nile-popup.cjs.js +1 -1
- package/dist/nile-popup/nile-popup.cjs.js.map +1 -1
- package/dist/nile-popup/nile-popup.esm.js +4 -4
- package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
- package/dist/nile-popup/nile-popup.test.cjs.js.map +1 -1
- package/dist/nile-popup/nile-popup.test.esm.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
- package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
- package/dist/nile-radio/nile-radio.test.esm.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
- package/dist/nile-rich-text-editor/index.cjs.js +1 -1
- package/dist/nile-rich-text-editor/index.esm.js +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +6 -6
- package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +1 -1
- package/dist/nile-rich-text-editor/nile-rte-mentions.cjs.js +2 -2
- package/dist/nile-rich-text-editor/nile-rte-mentions.cjs.js.map +1 -1
- package/dist/nile-rich-text-editor/nile-rte-mentions.esm.js +1 -1
- package/dist/nile-rich-text-editor/utils/block-utils.cjs.js +2 -0
- package/dist/nile-rich-text-editor/utils/block-utils.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/utils/block-utils.esm.js +1 -0
- package/dist/nile-rich-text-editor/utils/color-utils.cjs.js +2 -0
- package/dist/nile-rich-text-editor/utils/color-utils.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/utils/color-utils.esm.js +1 -0
- package/dist/nile-rich-text-editor/utils/index.cjs.js +2 -0
- package/dist/nile-rich-text-editor/utils/index.esm.js +1 -0
- package/dist/nile-rich-text-editor/utils/inline-utils.cjs.js +2 -0
- package/dist/nile-rich-text-editor/utils/inline-utils.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/utils/inline-utils.esm.js +1 -0
- package/dist/nile-rich-text-editor/utils/link-utils.cjs.js +2 -0
- package/dist/nile-rich-text-editor/utils/link-utils.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/utils/list-utils.cjs.js +2 -0
- package/dist/nile-rich-text-editor/utils/list-utils.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/utils/list-utils.esm.js +1 -0
- 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 +8 -7
- package/dist/nile-select/nile-select.test.cjs.js +1 -1
- package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.test.esm.js +1 -1
- package/dist/nile-select/portal-manager.cjs.js +2 -0
- package/dist/nile-select/portal-manager.cjs.js.map +1 -0
- package/dist/nile-select/portal-manager.esm.js +1 -0
- package/dist/nile-select/portal-utils.cjs.js +2 -0
- package/dist/nile-select/portal-utils.cjs.js.map +1 -0
- package/dist/nile-select/portal-utils.esm.js +1 -0
- package/dist/nile-select/virtual-scroll-helper.cjs.js +1 -1
- package/dist/nile-select/virtual-scroll-helper.cjs.js.map +1 -1
- package/dist/nile-select/virtual-scroll-helper.esm.js +1 -0
- package/dist/nile-side-bar/index.cjs.js +2 -0
- package/dist/nile-side-bar/index.cjs.js.map +1 -0
- package/dist/nile-side-bar/index.esm.js +1 -0
- package/dist/nile-side-bar/nile-side-bar.cjs.js +2 -0
- package/dist/nile-side-bar/nile-side-bar.cjs.js.map +1 -0
- package/dist/nile-side-bar/nile-side-bar.css.cjs.js +2 -0
- package/dist/nile-side-bar/nile-side-bar.css.cjs.js.map +1 -0
- package/dist/nile-side-bar/nile-side-bar.css.esm.js +88 -0
- package/dist/nile-side-bar/nile-side-bar.esm.js +1 -0
- package/dist/nile-side-bar-action/index.cjs.js +2 -0
- package/dist/nile-side-bar-action/index.esm.js +1 -0
- package/dist/nile-side-bar-action/nile-side-bar-action.cjs.js +2 -0
- package/dist/nile-side-bar-action/nile-side-bar-action.cjs.js.map +1 -0
- package/dist/nile-side-bar-action/nile-side-bar-action.css.cjs.js +2 -0
- package/dist/nile-side-bar-action/nile-side-bar-action.css.cjs.js.map +1 -0
- package/dist/nile-side-bar-action/nile-side-bar-action.css.esm.js +51 -0
- package/dist/nile-side-bar-action/nile-side-bar-action.esm.js +34 -0
- package/dist/nile-side-bar-action-menu/index.cjs.js +2 -0
- package/dist/nile-side-bar-action-menu/index.esm.js +1 -0
- package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.cjs.js +2 -0
- package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.cjs.js.map +1 -0
- package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.css.cjs.js +2 -0
- package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.css.cjs.js.map +1 -0
- package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.css.esm.js +61 -0
- package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.esm.js +40 -0
- package/dist/nile-side-bar-action-menu-item/index.cjs.js +2 -0
- package/dist/nile-side-bar-action-menu-item/index.esm.js +1 -0
- package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js +2 -0
- package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js.map +1 -0
- package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.cjs.js +2 -0
- package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.cjs.js.map +1 -0
- package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.esm.js +128 -0
- package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.esm.js +37 -0
- package/dist/nile-side-bar-expand/index.cjs.js +2 -0
- package/dist/nile-side-bar-expand/index.esm.js +1 -0
- package/dist/nile-side-bar-expand/nile-side-bar-expand.cjs.js +2 -0
- package/dist/nile-side-bar-expand/nile-side-bar-expand.cjs.js.map +1 -0
- package/dist/nile-side-bar-expand/nile-side-bar-expand.css.cjs.js +2 -0
- package/dist/nile-side-bar-expand/nile-side-bar-expand.css.cjs.js.map +1 -0
- package/dist/nile-side-bar-expand/nile-side-bar-expand.css.esm.js +33 -0
- package/dist/nile-side-bar-expand/nile-side-bar-expand.esm.js +13 -0
- package/dist/nile-side-bar-footer/index.cjs.js +2 -0
- package/dist/nile-side-bar-footer/index.esm.js +1 -0
- package/dist/nile-side-bar-footer/nile-side-bar-footer.cjs.js +2 -0
- package/dist/nile-side-bar-footer/nile-side-bar-footer.cjs.js.map +1 -0
- package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js +2 -0
- package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js.map +1 -0
- package/dist/nile-side-bar-footer/nile-side-bar-footer.css.esm.js +38 -0
- package/dist/nile-side-bar-footer/nile-side-bar-footer.esm.js +5 -0
- package/dist/nile-side-bar-footer-item/index.cjs.js +2 -0
- package/dist/nile-side-bar-footer-item/index.esm.js +1 -0
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.cjs.js +2 -0
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.cjs.js.map +1 -0
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js +2 -0
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.cjs.js.map +1 -0
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.css.esm.js +72 -0
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.esm.js +7 -0
- package/dist/nile-side-bar-footer-text/index.cjs.js +2 -0
- package/dist/nile-side-bar-footer-text/index.esm.js +1 -0
- package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.cjs.js +2 -0
- package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.cjs.js.map +1 -0
- package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.css.cjs.js +2 -0
- package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.css.cjs.js.map +1 -0
- package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.css.esm.js +29 -0
- package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.esm.js +6 -0
- package/dist/nile-side-bar-group/index.cjs.js +2 -0
- package/dist/nile-side-bar-group/index.cjs.js.map +1 -0
- package/dist/nile-side-bar-group/index.esm.js +1 -0
- package/dist/nile-side-bar-group/nile-side-bar-group.cjs.js +2 -0
- package/dist/nile-side-bar-group/nile-side-bar-group.cjs.js.map +1 -0
- package/dist/nile-side-bar-group/nile-side-bar-group.css.cjs.js +2 -0
- package/dist/nile-side-bar-group/nile-side-bar-group.css.cjs.js.map +1 -0
- package/dist/nile-side-bar-group/nile-side-bar-group.css.esm.js +49 -0
- package/dist/nile-side-bar-group/nile-side-bar-group.esm.js +12 -0
- package/dist/nile-side-bar-group-item/index.cjs.js +2 -0
- package/dist/nile-side-bar-group-item/index.esm.js +1 -0
- package/dist/nile-side-bar-group-item/nile-side-bar-group-item.cjs.js +2 -0
- package/dist/nile-side-bar-group-item/nile-side-bar-group-item.cjs.js.map +1 -0
- package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.cjs.js +2 -0
- package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.cjs.js.map +1 -0
- package/dist/nile-side-bar-group-item/nile-side-bar-group-item.css.esm.js +56 -0
- package/dist/nile-side-bar-group-item/nile-side-bar-group-item.esm.js +45 -0
- package/dist/nile-side-bar-group-item-icon/index.cjs.js +2 -0
- package/dist/nile-side-bar-group-item-icon/index.esm.js +1 -0
- package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.cjs.js +2 -0
- package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.cjs.js.map +1 -0
- package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.cjs.js +2 -0
- package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.cjs.js.map +1 -0
- package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.esm.js +31 -0
- package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.esm.js +11 -0
- package/dist/nile-side-bar-group-item-text/index.cjs.js +2 -0
- package/dist/nile-side-bar-group-item-text/index.esm.js +1 -0
- package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.cjs.js +2 -0
- package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.cjs.js.map +1 -0
- package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.cjs.js +2 -0
- package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.cjs.js.map +1 -0
- package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.esm.js +22 -0
- package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.esm.js +1 -0
- package/dist/nile-side-bar-header/index.cjs.js +2 -0
- package/dist/nile-side-bar-header/index.cjs.js.map +1 -0
- package/dist/nile-side-bar-header/index.esm.js +1 -0
- package/dist/nile-side-bar-header/nile-side-bar-header.cjs.js +2 -0
- package/dist/nile-side-bar-header/nile-side-bar-header.cjs.js.map +1 -0
- package/dist/nile-side-bar-header/nile-side-bar-header.css.cjs.js +2 -0
- package/dist/nile-side-bar-header/nile-side-bar-header.css.cjs.js.map +1 -0
- package/dist/nile-side-bar-header/nile-side-bar-header.css.esm.js +47 -0
- package/dist/nile-side-bar-header/nile-side-bar-header.esm.js +6 -0
- package/dist/nile-side-bar-logo/index.cjs.js +2 -0
- package/dist/nile-side-bar-logo/index.cjs.js.map +1 -0
- package/dist/nile-side-bar-logo/index.esm.js +1 -0
- package/dist/nile-side-bar-logo/nile-side-bar-logo.cjs.js +2 -0
- package/dist/nile-side-bar-logo/nile-side-bar-logo.cjs.js.map +1 -0
- package/dist/nile-side-bar-logo/nile-side-bar-logo.css.cjs.js +2 -0
- package/dist/nile-side-bar-logo/nile-side-bar-logo.css.cjs.js.map +1 -0
- package/dist/nile-side-bar-logo/nile-side-bar-logo.css.esm.js +32 -0
- package/dist/nile-side-bar-logo/nile-side-bar-logo.esm.js +4 -0
- package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
- package/dist/nile-tab/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-table-header-item/nile-table-header-item.css.cjs.js +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +4 -0
- 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-tooltip/index.cjs.js +1 -1
- package/dist/nile-tooltip/index.esm.js +1 -1
- package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
- package/dist/nile-tooltip/nile-tooltip.cjs.js.map +1 -1
- package/dist/nile-tooltip/nile-tooltip.esm.js +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 +2 -2
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +4 -0
- package/dist/nile-virtual-select/nile-virtual-select.esm.js +18 -17
- package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
- package/dist/nile-virtual-select/portal-manager.cjs.js +2 -0
- package/dist/nile-virtual-select/portal-manager.cjs.js.map +1 -0
- package/dist/nile-virtual-select/portal-manager.esm.js +1 -0
- package/dist/nile-virtual-select/renderer.cjs.js +1 -1
- package/dist/nile-virtual-select/renderer.cjs.js.map +1 -1
- package/dist/nile-virtual-select/renderer.esm.js +12 -12
- package/dist/scopedElementsWrapper-1bff26ef.cjs.js +2 -0
- package/dist/scopedElementsWrapper-1bff26ef.cjs.js.map +1 -0
- package/dist/src/index.d.ts +22 -9
- package/dist/src/index.js +22 -9
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-calendar/nile-calendar.css.js +213 -34
- package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
- package/dist/src/nile-calendar/nile-calendar.d.ts +15 -0
- package/dist/src/nile-calendar/nile-calendar.js +318 -93
- package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
- package/dist/src/nile-chip/nile-chip.d.ts +1 -0
- package/dist/src/nile-chip/nile-chip.js +49 -28
- package/dist/src/nile-chip/nile-chip.js.map +1 -1
- package/dist/src/nile-grid/nile-grid.css.js +4 -8
- package/dist/src/nile-grid/nile-grid.css.js.map +1 -1
- package/dist/src/nile-grid/nile-grid.d.ts +4 -19
- package/dist/src/nile-grid/nile-grid.js +23 -74
- package/dist/src/nile-grid/nile-grid.js.map +1 -1
- package/dist/src/nile-grid/nile-grid.utils.d.ts +3 -116
- package/dist/src/nile-grid/nile-grid.utils.js +115 -740
- package/dist/src/nile-grid/nile-grid.utils.js.map +1 -1
- package/dist/src/nile-grid-body/nile-grid-body.css.js +4 -0
- package/dist/src/nile-grid-body/nile-grid-body.css.js.map +1 -1
- package/dist/src/nile-grid-body/nile-grid-body.js +1 -1
- package/dist/src/nile-grid-body/nile-grid-body.js.map +1 -1
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js +3 -16
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -1
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.d.ts +3 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js +11 -1
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js.map +1 -1
- package/dist/src/nile-grid-head/nile-grid-head.css.js +1 -1
- package/dist/src/nile-grid-head/nile-grid-head.css.js.map +1 -1
- package/dist/src/nile-grid-head/nile-grid-head.js +1 -1
- package/dist/src/nile-grid-head/nile-grid-head.js.map +1 -1
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js +3 -18
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -1
- package/dist/src/nile-grid-head-item/nile-grid-head-item.d.ts +2 -3
- package/dist/src/nile-grid-head-item/nile-grid-head-item.js +11 -14
- package/dist/src/nile-grid-head-item/nile-grid-head-item.js.map +1 -1
- package/dist/src/nile-grid-row/nile-grid-row.css.js +5 -29
- package/dist/src/nile-grid-row/nile-grid-row.css.js.map +1 -1
- package/dist/src/nile-grid-row/nile-grid-row.d.ts +1 -4
- package/dist/src/nile-grid-row/nile-grid-row.js +4 -19
- package/dist/src/nile-grid-row/nile-grid-row.js.map +1 -1
- package/dist/src/nile-icon/icons/svg/index.d.ts +2 -0
- package/dist/src/nile-icon/icons/svg/index.js +2 -0
- package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
- package/dist/src/nile-icon/icons/svg/menu_close.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/menu_close.js +5 -0
- package/dist/src/nile-icon/icons/svg/menu_close.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/menu_open.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/menu_open.js +5 -0
- package/dist/src/nile-icon/icons/svg/menu_open.js.map +1 -0
- package/dist/src/nile-inline-sidebar/index.d.ts +1 -0
- package/dist/src/nile-inline-sidebar/index.js +2 -0
- package/dist/src/nile-inline-sidebar/index.js.map +1 -0
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.d.ts +7 -0
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js +99 -0
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js.map +1 -0
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.d.ts +39 -0
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js +209 -0
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js.map +1 -0
- package/dist/src/nile-inline-sidebar-group/index.d.ts +1 -0
- package/dist/src/nile-inline-sidebar-group/index.js +2 -0
- package/dist/src/nile-inline-sidebar-group/index.js.map +1 -0
- package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.d.ts +9 -0
- package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.js +42 -0
- package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.js.map +1 -0
- package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.d.ts +32 -0
- package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.js +64 -0
- package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.js.map +1 -0
- package/dist/src/nile-inline-sidebar-item/index.d.ts +1 -0
- package/dist/src/nile-inline-sidebar-item/index.js +2 -0
- package/dist/src/nile-inline-sidebar-item/index.js.map +1 -0
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.d.ts +10 -0
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js +64 -0
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js.map +1 -0
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.d.ts +36 -0
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js +80 -0
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +6 -6
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -1
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.d.ts +2 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +44 -28
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +1 -1
- package/dist/src/nile-rich-text-editor/nile-rte-mentions.d.ts +0 -1
- package/dist/src/nile-rich-text-editor/nile-rte-mentions.js +30 -7
- package/dist/src/nile-rich-text-editor/nile-rte-mentions.js.map +1 -1
- package/dist/src/nile-rich-text-editor/utils/block-utils.d.ts +4 -0
- package/dist/src/nile-rich-text-editor/utils/block-utils.js +71 -0
- package/dist/src/nile-rich-text-editor/utils/block-utils.js.map +1 -0
- package/dist/src/nile-rich-text-editor/utils/color-utils.d.ts +2 -0
- package/dist/src/nile-rich-text-editor/utils/color-utils.js +187 -0
- package/dist/src/nile-rich-text-editor/utils/color-utils.js.map +1 -0
- package/dist/src/nile-rich-text-editor/utils/index.d.ts +5 -0
- package/dist/src/nile-rich-text-editor/utils/index.js +6 -0
- package/dist/src/nile-rich-text-editor/utils/index.js.map +1 -0
- package/dist/src/nile-rich-text-editor/utils/inline-utils.d.ts +5 -0
- package/dist/src/nile-rich-text-editor/utils/inline-utils.js +234 -0
- package/dist/src/nile-rich-text-editor/utils/inline-utils.js.map +1 -0
- package/dist/src/nile-rich-text-editor/utils/link-utils.d.ts +1 -0
- package/dist/src/nile-rich-text-editor/utils/link-utils.js +48 -0
- package/dist/src/nile-rich-text-editor/utils/link-utils.js.map +1 -0
- package/dist/src/nile-rich-text-editor/utils/list-utils.d.ts +1 -0
- package/dist/src/nile-rich-text-editor/utils/list-utils.js +154 -0
- package/dist/src/nile-rich-text-editor/utils/list-utils.js.map +1 -0
- package/dist/src/nile-select/nile-select.d.ts +12 -3
- package/dist/src/nile-select/nile-select.js +86 -8
- package/dist/src/nile-select/nile-select.js.map +1 -1
- package/dist/src/nile-select/portal-manager.d.ts +50 -0
- package/dist/src/nile-select/portal-manager.js +341 -0
- package/dist/src/nile-select/portal-manager.js.map +1 -0
- package/dist/src/nile-select/portal-utils.d.ts +65 -0
- package/dist/src/nile-select/portal-utils.js +376 -0
- package/dist/src/nile-select/portal-utils.js.map +1 -0
- package/dist/src/nile-select/virtual-scroll-helper.js +1 -0
- package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -1
- package/dist/src/nile-side-bar/index.d.ts +1 -0
- package/dist/src/nile-side-bar/index.js +2 -0
- package/dist/src/nile-side-bar/index.js.map +1 -0
- package/dist/src/nile-side-bar/nile-side-bar.css.d.ts +12 -0
- package/dist/src/nile-side-bar/nile-side-bar.css.js +100 -0
- package/dist/src/nile-side-bar/nile-side-bar.css.js.map +1 -0
- package/dist/src/nile-side-bar/nile-side-bar.d.ts +33 -0
- package/dist/src/nile-side-bar/nile-side-bar.js +69 -0
- package/dist/src/nile-side-bar/nile-side-bar.js.map +1 -0
- package/dist/src/nile-side-bar-action/index.d.ts +1 -0
- package/dist/src/nile-side-bar-action/index.js +2 -0
- package/dist/src/nile-side-bar-action/index.js.map +1 -0
- package/dist/src/nile-side-bar-action/nile-side-bar-action.css.d.ts +3 -0
- package/dist/src/nile-side-bar-action/nile-side-bar-action.css.js +54 -0
- package/dist/src/nile-side-bar-action/nile-side-bar-action.css.js.map +1 -0
- package/dist/src/nile-side-bar-action/nile-side-bar-action.d.ts +79 -0
- package/dist/src/nile-side-bar-action/nile-side-bar-action.js +365 -0
- package/dist/src/nile-side-bar-action/nile-side-bar-action.js.map +1 -0
- package/dist/src/nile-side-bar-action-menu/index.d.ts +1 -0
- package/dist/src/nile-side-bar-action-menu/index.js +2 -0
- package/dist/src/nile-side-bar-action-menu/index.js.map +1 -0
- package/dist/src/nile-side-bar-action-menu/nile-side-bar-action-menu.css.d.ts +12 -0
- package/dist/src/nile-side-bar-action-menu/nile-side-bar-action-menu.css.js +73 -0
- package/dist/src/nile-side-bar-action-menu/nile-side-bar-action-menu.css.js.map +1 -0
- package/dist/src/nile-side-bar-action-menu/nile-side-bar-action-menu.d.ts +49 -0
- package/dist/src/nile-side-bar-action-menu/nile-side-bar-action-menu.js +223 -0
- package/dist/src/nile-side-bar-action-menu/nile-side-bar-action-menu.js.map +1 -0
- package/dist/src/nile-side-bar-action-menu-item/index.d.ts +1 -0
- package/dist/src/nile-side-bar-action-menu-item/index.js +2 -0
- package/dist/src/nile-side-bar-action-menu-item/index.js.map +1 -0
- package/dist/src/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.d.ts +12 -0
- package/dist/src/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.js +140 -0
- package/dist/src/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.js.map +1 -0
- package/dist/src/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.d.ts +64 -0
- package/dist/src/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.js +199 -0
- package/dist/src/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.js.map +1 -0
- package/dist/src/nile-side-bar-expand/index.d.ts +1 -0
- package/dist/src/nile-side-bar-expand/index.js +2 -0
- package/dist/src/nile-side-bar-expand/index.js.map +1 -0
- package/dist/src/nile-side-bar-expand/nile-side-bar-expand.css.d.ts +12 -0
- package/dist/src/nile-side-bar-expand/nile-side-bar-expand.css.js +45 -0
- package/dist/src/nile-side-bar-expand/nile-side-bar-expand.css.js.map +1 -0
- package/dist/src/nile-side-bar-expand/nile-side-bar-expand.d.ts +21 -0
- package/dist/src/nile-side-bar-expand/nile-side-bar-expand.js +68 -0
- package/dist/src/nile-side-bar-expand/nile-side-bar-expand.js.map +1 -0
- package/dist/src/nile-side-bar-footer/index.d.ts +1 -0
- package/dist/src/nile-side-bar-footer/index.js +2 -0
- package/dist/src/nile-side-bar-footer/index.js.map +1 -0
- package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.d.ts +6 -0
- package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js +44 -0
- package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js.map +1 -0
- package/dist/src/nile-side-bar-footer/nile-side-bar-footer.d.ts +26 -0
- package/dist/src/nile-side-bar-footer/nile-side-bar-footer.js +37 -0
- package/dist/src/nile-side-bar-footer/nile-side-bar-footer.js.map +1 -0
- package/dist/src/nile-side-bar-footer-item/index.d.ts +1 -0
- package/dist/src/nile-side-bar-footer-item/index.js +2 -0
- package/dist/src/nile-side-bar-footer-item/index.js.map +1 -0
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.d.ts +3 -0
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js +75 -0
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.js.map +1 -0
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.d.ts +27 -0
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.js +46 -0
- package/dist/src/nile-side-bar-footer-item/nile-side-bar-footer-item.js.map +1 -0
- package/dist/src/nile-side-bar-footer-text/index.d.ts +1 -0
- package/dist/src/nile-side-bar-footer-text/index.js +2 -0
- package/dist/src/nile-side-bar-footer-text/index.js.map +1 -0
- package/dist/src/nile-side-bar-footer-text/nile-side-bar-footer-text.css.d.ts +3 -0
- package/dist/src/nile-side-bar-footer-text/nile-side-bar-footer-text.css.js +32 -0
- package/dist/src/nile-side-bar-footer-text/nile-side-bar-footer-text.css.js.map +1 -0
- package/dist/src/nile-side-bar-footer-text/nile-side-bar-footer-text.d.ts +30 -0
- package/dist/src/nile-side-bar-footer-text/nile-side-bar-footer-text.js +53 -0
- package/dist/src/nile-side-bar-footer-text/nile-side-bar-footer-text.js.map +1 -0
- package/dist/src/nile-side-bar-group/index.d.ts +1 -0
- package/dist/src/nile-side-bar-group/index.js +2 -0
- package/dist/src/nile-side-bar-group/index.js.map +1 -0
- package/dist/src/nile-side-bar-group/nile-side-bar-group.css.d.ts +6 -0
- package/dist/src/nile-side-bar-group/nile-side-bar-group.css.js +55 -0
- package/dist/src/nile-side-bar-group/nile-side-bar-group.css.js.map +1 -0
- package/dist/src/nile-side-bar-group/nile-side-bar-group.d.ts +42 -0
- package/dist/src/nile-side-bar-group/nile-side-bar-group.js +76 -0
- package/dist/src/nile-side-bar-group/nile-side-bar-group.js.map +1 -0
- package/dist/src/nile-side-bar-group-item/index.d.ts +1 -0
- package/dist/src/nile-side-bar-group-item/index.js +2 -0
- package/dist/src/nile-side-bar-group-item/index.js.map +1 -0
- package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.css.d.ts +12 -0
- package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.css.js +68 -0
- package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.css.js.map +1 -0
- package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.d.ts +40 -0
- package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.js +159 -0
- package/dist/src/nile-side-bar-group-item/nile-side-bar-group-item.js.map +1 -0
- package/dist/src/nile-side-bar-group-item-icon/index.d.ts +1 -0
- package/dist/src/nile-side-bar-group-item-icon/index.js +2 -0
- package/dist/src/nile-side-bar-group-item-icon/index.js.map +1 -0
- package/dist/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.d.ts +3 -0
- package/dist/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.js +34 -0
- package/dist/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.js.map +1 -0
- package/dist/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.d.ts +40 -0
- package/dist/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.js +89 -0
- package/dist/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.js.map +1 -0
- package/dist/src/nile-side-bar-group-item-text/index.d.ts +1 -0
- package/dist/src/nile-side-bar-group-item-text/index.js +2 -0
- package/dist/src/nile-side-bar-group-item-text/index.js.map +1 -0
- package/dist/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.d.ts +6 -0
- package/dist/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.js +28 -0
- package/dist/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.js.map +1 -0
- package/dist/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.d.ts +30 -0
- package/dist/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.js +42 -0
- package/dist/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.js.map +1 -0
- package/dist/src/nile-side-bar-header/index.d.ts +1 -0
- package/dist/src/nile-side-bar-header/index.js +2 -0
- package/dist/src/nile-side-bar-header/index.js.map +1 -0
- package/dist/src/nile-side-bar-header/nile-side-bar-header.css.d.ts +12 -0
- package/dist/src/nile-side-bar-header/nile-side-bar-header.css.js +59 -0
- package/dist/src/nile-side-bar-header/nile-side-bar-header.css.js.map +1 -0
- package/dist/src/nile-side-bar-header/nile-side-bar-header.d.ts +32 -0
- package/dist/src/nile-side-bar-header/nile-side-bar-header.js +46 -0
- package/dist/src/nile-side-bar-header/nile-side-bar-header.js.map +1 -0
- package/dist/src/nile-side-bar-logo/index.d.ts +1 -0
- package/dist/src/nile-side-bar-logo/index.js +2 -0
- package/dist/src/nile-side-bar-logo/index.js.map +1 -0
- package/dist/src/nile-side-bar-logo/nile-side-bar-logo.css.d.ts +12 -0
- package/dist/src/nile-side-bar-logo/nile-side-bar-logo.css.js +44 -0
- package/dist/src/nile-side-bar-logo/nile-side-bar-logo.css.js.map +1 -0
- package/dist/src/nile-side-bar-logo/nile-side-bar-logo.d.ts +34 -0
- package/dist/src/nile-side-bar-logo/nile-side-bar-logo.js +53 -0
- package/dist/src/nile-side-bar-logo/nile-side-bar-logo.js.map +1 -0
- package/dist/src/nile-sidebar/index.js +11 -14
- package/dist/src/nile-sidebar/index.js.map +1 -1
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js +4 -7
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js.map +1 -1
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js +4 -7
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js.map +1 -1
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js +0 -1
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js.map +1 -1
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js +1 -4
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js.map +1 -1
- package/dist/src/nile-table-header-item/nile-table-header-item.css.js +4 -0
- package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.css.js +4 -0
- package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +1 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +11 -0
- package/dist/src/nile-virtual-select/nile-virtual-select.js +90 -6
- package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
- package/dist/src/nile-virtual-select/portal-manager.d.ts +45 -0
- package/dist/src/nile-virtual-select/portal-manager.js +320 -0
- package/dist/src/nile-virtual-select/portal-manager.js.map +1 -0
- package/dist/src/nile-virtual-select/renderer.js +3 -0
- package/dist/src/nile-virtual-select/renderer.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 +22 -2
- package/plop-templates/lit/index.ts.hbs +1 -1
- package/plop-templates/lit/lit.css.ts.hbs +1 -1
- package/plop-templates/lit/lit.ts.hbs +1 -1
- package/src/index.ts +23 -9
- package/src/nile-calendar/nile-calendar.css.ts +213 -34
- package/src/nile-calendar/nile-calendar.ts +343 -106
- package/src/nile-chip/nile-chip.ts +53 -37
- package/src/nile-grid/nile-grid.css.ts +4 -8
- package/src/nile-grid/nile-grid.ts +45 -81
- package/src/nile-grid/nile-grid.utils.ts +153 -1021
- package/src/nile-grid-body/nile-grid-body.css.ts +24 -0
- package/src/nile-grid-body/nile-grid-body.ts +51 -0
- package/src/nile-grid-cell-item/nile-grid-cell-item.css.ts +49 -0
- package/src/nile-grid-cell-item/nile-grid-cell-item.ts +98 -0
- package/src/nile-grid-head/nile-grid-head.css.ts +21 -0
- package/src/nile-grid-head/nile-grid-head.ts +50 -0
- package/src/nile-grid-head-item/nile-grid-head-item.css.ts +48 -0
- package/src/nile-grid-head-item/nile-grid-head-item.ts +111 -0
- package/src/nile-grid-head-item/nile-grid-head-item.utils.ts +66 -0
- package/src/nile-grid-row/nile-grid-row.css.ts +29 -0
- package/src/nile-grid-row/nile-grid-row.ts +53 -0
- package/src/nile-icon/icons/svg/index.ts +2 -0
- package/src/nile-icon/icons/svg/menu_close.ts +5 -0
- package/src/nile-icon/icons/svg/menu_open.ts +5 -0
- package/src/nile-inline-sidebar/index.ts +1 -0
- package/src/nile-inline-sidebar/nile-inline-sidebar.css.ts +100 -0
- package/src/nile-inline-sidebar/nile-inline-sidebar.ts +235 -0
- package/src/nile-inline-sidebar-group/index.ts +1 -0
- package/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.ts +44 -0
- package/src/nile-inline-sidebar-group/nile-inline-sidebar-group.ts +62 -0
- package/src/nile-inline-sidebar-item/index.ts +1 -0
- package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.ts +65 -0
- package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.ts +83 -0
- package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +6 -6
- package/src/nile-rich-text-editor/nile-rich-text-editor.ts +58 -45
- package/src/nile-rich-text-editor/nile-rte-mentions.ts +40 -7
- package/src/nile-rich-text-editor/utils/block-utils.ts +79 -0
- package/src/nile-rich-text-editor/utils/color-utils.ts +251 -0
- package/src/nile-rich-text-editor/utils/index.ts +5 -0
- package/src/nile-rich-text-editor/utils/inline-utils.ts +249 -0
- package/src/nile-rich-text-editor/utils/link-utils.ts +50 -0
- package/src/nile-rich-text-editor/utils/list-utils.ts +147 -0
- package/src/nile-select/nile-select.ts +98 -13
- package/src/nile-select/portal-manager.ts +458 -0
- package/src/nile-select/portal-utils.ts +480 -0
- package/src/nile-select/virtual-scroll-helper.ts +1 -0
- package/src/nile-side-bar/index.ts +1 -0
- package/src/nile-side-bar/nile-side-bar.css.ts +102 -0
- package/src/nile-side-bar/nile-side-bar.ts +67 -0
- package/src/nile-side-bar-action/index.ts +1 -0
- package/src/nile-side-bar-action/nile-side-bar-action.css.ts +55 -0
- package/src/nile-side-bar-action/nile-side-bar-action.ts +398 -0
- package/src/nile-side-bar-action-menu/index.ts +1 -0
- package/src/nile-side-bar-action-menu/nile-side-bar-action-menu.css.ts +75 -0
- package/src/nile-side-bar-action-menu/nile-side-bar-action-menu.ts +239 -0
- package/src/nile-side-bar-action-menu-item/index.ts +1 -0
- package/src/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.css.ts +142 -0
- package/src/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.ts +204 -0
- package/src/nile-side-bar-expand/index.ts +1 -0
- package/src/nile-side-bar-expand/nile-side-bar-expand.css.ts +47 -0
- package/src/nile-side-bar-expand/nile-side-bar-expand.ts +69 -0
- package/src/nile-side-bar-footer/index.ts +1 -0
- package/src/nile-side-bar-footer/nile-side-bar-footer.css.ts +45 -0
- package/src/nile-side-bar-footer/nile-side-bar-footer.ts +42 -0
- package/src/nile-side-bar-footer-item/index.ts +1 -0
- package/src/nile-side-bar-footer-item/nile-side-bar-footer-item.css.ts +76 -0
- package/src/nile-side-bar-footer-item/nile-side-bar-footer-item.ts +45 -0
- package/src/nile-side-bar-footer-text/index.ts +1 -0
- package/src/nile-side-bar-footer-text/nile-side-bar-footer-text.css.ts +33 -0
- package/src/nile-side-bar-footer-text/nile-side-bar-footer-text.ts +51 -0
- package/src/nile-side-bar-group/index.ts +1 -0
- package/src/nile-side-bar-group/nile-side-bar-group.css.ts +56 -0
- package/src/nile-side-bar-group/nile-side-bar-group.ts +74 -0
- package/src/nile-side-bar-group-item/index.ts +1 -0
- package/src/nile-side-bar-group-item/nile-side-bar-group-item.css.ts +70 -0
- package/src/nile-side-bar-group-item/nile-side-bar-group-item.ts +161 -0
- package/src/nile-side-bar-group-item-icon/index.ts +1 -0
- package/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.css.ts +35 -0
- package/src/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.ts +97 -0
- package/src/nile-side-bar-group-item-text/index.ts +1 -0
- package/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.css.ts +29 -0
- package/src/nile-side-bar-group-item-text/nile-side-bar-group-item-text.ts +49 -0
- package/src/nile-side-bar-header/index.ts +1 -0
- package/src/nile-side-bar-header/nile-side-bar-header.css.ts +61 -0
- package/src/nile-side-bar-header/nile-side-bar-header.ts +57 -0
- package/src/nile-side-bar-logo/index.ts +1 -0
- package/src/nile-side-bar-logo/nile-side-bar-logo.css.ts +46 -0
- package/src/nile-side-bar-logo/nile-side-bar-logo.ts +52 -0
- package/src/nile-table-header-item/nile-table-header-item.css.ts +4 -0
- package/src/nile-virtual-select/nile-virtual-select.css.ts +4 -0
- package/src/nile-virtual-select/nile-virtual-select.ts +98 -6
- package/src/nile-virtual-select/portal-manager.ts +427 -0
- package/src/nile-virtual-select/renderer.ts +3 -0
- package/vscode-html-custom-data.json +537 -91
- package/dist/aquera-nile-elements-0.1.57-beta-2.0.tgz +0 -0
- package/dist/axe.min-2b379f29.cjs.js +0 -12
- package/dist/axe.min-2b379f29.cjs.js.map +0 -1
- package/dist/axe.min-c2cd8733.esm.js +0 -12
- package/dist/fixture-28d63bc4.cjs.js +0 -395
- package/dist/fixture-28d63bc4.cjs.js.map +0 -1
- package/dist/fixture-324a7ef9.cjs.js +0 -395
- package/dist/fixture-324a7ef9.cjs.js.map +0 -1
- package/dist/fixture-78a015b8.esm.js +0 -569
- package/dist/fixture-7a0c60c4.esm.js +0 -569
- package/dist/fixture-add72f26.esm.js +0 -569
- package/dist/fixture-ba65eb22.esm.js +0 -569
- package/dist/fixture-c1bd203f.cjs.js +0 -395
- package/dist/fixture-c1bd203f.cjs.js.map +0 -1
- package/dist/fixture-cb376a7f.cjs.js +0 -395
- package/dist/fixture-cb376a7f.cjs.js.map +0 -1
- package/dist/fixture-d3ab97fa.cjs.js +0 -395
- package/dist/fixture-d3ab97fa.cjs.js.map +0 -1
- package/dist/fixture-f2693d97.esm.js +0 -569
- package/dist/nile-grid/nile-grid-body/index.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-body/index.esm.js +0 -1
- package/dist/nile-grid/nile-grid-body/nile-grid-body.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-body/nile-grid-body.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-body/nile-grid-body.css.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-body/nile-grid-body.css.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-body/nile-grid-body.css.esm.js +0 -6
- package/dist/nile-grid/nile-grid-body/nile-grid-body.esm.js +0 -5
- package/dist/nile-grid/nile-grid-cell-item/index.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-cell-item/index.esm.js +0 -1
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +0 -67
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.esm.js +0 -12
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +0 -1
- package/dist/nile-grid/nile-grid-column-cell-template/index.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-column-cell-template/index.esm.js +0 -1
- package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.esm.js +0 -5
- package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.esm.js +0 -1
- package/dist/nile-grid/nile-grid-column-head-template/index.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-column-head-template/index.esm.js +0 -1
- package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.esm.js +0 -5
- package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.esm.js +0 -3
- package/dist/nile-grid/nile-grid-columns/index.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-columns/index.esm.js +0 -1
- package/dist/nile-grid/nile-grid-columns/nile-grid-columns.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-columns/nile-grid-columns.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-columns/nile-grid-columns.css.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-columns/nile-grid-columns.css.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-columns/nile-grid-columns.css.esm.js +0 -5
- package/dist/nile-grid/nile-grid-columns/nile-grid-columns.esm.js +0 -3
- package/dist/nile-grid/nile-grid-head/index.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-head/index.esm.js +0 -1
- package/dist/nile-grid/nile-grid-head/nile-grid-head.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-head/nile-grid-head.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-head/nile-grid-head.css.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-head/nile-grid-head.css.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-head/nile-grid-head.css.esm.js +0 -7
- package/dist/nile-grid/nile-grid-head/nile-grid-head.esm.js +0 -5
- package/dist/nile-grid/nile-grid-head-item/index.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-head-item/index.esm.js +0 -1
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.esm.js +0 -59
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.esm.js +0 -13
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.esm.js +0 -1
- package/dist/nile-grid/nile-grid-row/index.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-row/index.esm.js +0 -1
- package/dist/nile-grid/nile-grid-row/nile-grid-row.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-row/nile-grid-row.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-row/nile-grid-row.css.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-row/nile-grid-row.css.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-row/nile-grid-row.css.esm.js +0 -36
- package/dist/nile-grid/nile-grid-row/nile-grid-row.esm.js +0 -8
- package/dist/nile-grid/nile-grid.data-attribute.cjs.js +0 -2
- package/dist/nile-grid/nile-grid.data-attribute.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid.data-attribute.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-cell/index.cjs.js +0 -2
- package/dist/nile-grid-cell/index.esm.js +0 -1
- package/dist/nile-grid-cell/nile-grid-cell.cjs.js +0 -2
- package/dist/nile-grid-cell/nile-grid-cell.cjs.js.map +0 -1
- package/dist/nile-grid-cell/nile-grid-cell.css.cjs.js +0 -2
- package/dist/nile-grid-cell/nile-grid-cell.css.cjs.js.map +0 -1
- package/dist/nile-grid-cell/nile-grid-cell.css.esm.js +0 -35
- package/dist/nile-grid-cell/nile-grid-cell.esm.js +0 -12
- package/dist/nile-grid-cell/nile-grid-cell.utils.cjs.js +0 -2
- package/dist/nile-grid-cell/nile-grid-cell.utils.cjs.js.map +0 -1
- package/dist/nile-grid-cell/nile-grid-cell.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.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.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.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-test-hello/index.cjs.js +0 -2
- package/dist/nile-test-hello/index.esm.js +0 -1
- package/dist/nile-test-hello/nile-test-hello.cjs.js +0 -2
- package/dist/nile-test-hello/nile-test-hello.cjs.js.map +0 -1
- package/dist/nile-test-hello/nile-test-hello.css.cjs.js +0 -2
- package/dist/nile-test-hello/nile-test-hello.css.cjs.js.map +0 -1
- package/dist/nile-test-hello/nile-test-hello.css.esm.js +0 -5
- package/dist/nile-test-hello/nile-test-hello.esm.js +0 -1
- package/dist/nile-test-hello-column/index.cjs.js +0 -2
- package/dist/nile-test-hello-column/index.esm.js +0 -1
- package/dist/nile-test-hello-column/nile-test-hello-column.cjs.js +0 -2
- package/dist/nile-test-hello-column/nile-test-hello-column.cjs.js.map +0 -1
- package/dist/nile-test-hello-column/nile-test-hello-column.css.cjs.js +0 -2
- package/dist/nile-test-hello-column/nile-test-hello-column.css.cjs.js.map +0 -1
- package/dist/nile-test-hello-column/nile-test-hello-column.css.esm.js +0 -5
- package/dist/nile-test-hello-column/nile-test-hello-column.esm.js +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/src/internal/expandable-row-helper.d.ts +0 -13
- package/dist/src/internal/expandable-row-helper.js +0 -37
- package/dist/src/internal/expandable-row-helper.js.map +0 -1
- package/dist/src/internal/expandable-row-styles.d.ts +0 -11
- package/dist/src/internal/expandable-row-styles.js +0 -27
- package/dist/src/internal/expandable-row-styles.js.map +0 -1
- package/dist/src/internal/table-expandable-helper.d.ts +0 -0
- package/dist/src/internal/table-expandable-helper.js +0 -2
- package/dist/src/internal/table-expandable-helper.js.map +0 -1
- package/dist/src/internal/table-row-expandable-helper.d.ts +0 -12
- package/dist/src/internal/table-row-expandable-helper.js +0 -32
- package/dist/src/internal/table-row-expandable-helper.js.map +0 -1
- package/dist/src/internal/table-row-expandable-styles.d.ts +0 -11
- package/dist/src/internal/table-row-expandable-styles.js +0 -12
- package/dist/src/internal/table-row-expandable-styles.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-body/index.d.ts +0 -1
- package/dist/src/nile-grid/nile-grid-body/index.js +0 -2
- package/dist/src/nile-grid/nile-grid-body/index.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-body/nile-grid-body.css.d.ts +0 -12
- package/dist/src/nile-grid/nile-grid-body/nile-grid-body.css.js +0 -18
- package/dist/src/nile-grid/nile-grid-body/nile-grid-body.css.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-body/nile-grid-body.d.ts +0 -29
- package/dist/src/nile-grid/nile-grid-body/nile-grid-body.js +0 -43
- package/dist/src/nile-grid/nile-grid-body/nile-grid-body.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-cell-item/index.d.ts +0 -1
- package/dist/src/nile-grid/nile-grid-cell-item/index.js +0 -2
- package/dist/src/nile-grid/nile-grid-cell-item/index.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.d.ts +0 -12
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js +0 -79
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.d.ts +0 -33
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.js +0 -83
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +0 -10
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.js +0 -34
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-column-cell-template/index.d.ts +0 -1
- package/dist/src/nile-grid/nile-grid-column-cell-template/index.js +0 -2
- package/dist/src/nile-grid/nile-grid-column-cell-template/index.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.d.ts +0 -12
- package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.js +0 -17
- package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.d.ts +0 -36
- package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.js +0 -61
- package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-column-head-template/index.d.ts +0 -1
- package/dist/src/nile-grid/nile-grid-column-head-template/index.js +0 -2
- package/dist/src/nile-grid/nile-grid-column-head-template/index.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.d.ts +0 -12
- package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.js +0 -17
- package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.d.ts +0 -32
- package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.js +0 -43
- package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-columns/index.d.ts +0 -1
- package/dist/src/nile-grid/nile-grid-columns/index.js +0 -2
- package/dist/src/nile-grid/nile-grid-columns/index.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.css.d.ts +0 -12
- package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.css.js +0 -17
- package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.css.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.d.ts +0 -32
- package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.js +0 -43
- package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-head/index.d.ts +0 -1
- package/dist/src/nile-grid/nile-grid-head/index.js +0 -2
- package/dist/src/nile-grid/nile-grid-head/index.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-head/nile-grid-head.css.d.ts +0 -12
- package/dist/src/nile-grid/nile-grid-head/nile-grid-head.css.js +0 -19
- package/dist/src/nile-grid/nile-grid-head/nile-grid-head.css.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-head/nile-grid-head.d.ts +0 -28
- package/dist/src/nile-grid/nile-grid-head/nile-grid-head.js +0 -41
- package/dist/src/nile-grid/nile-grid-head/nile-grid-head.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-head-item/index.d.ts +0 -1
- package/dist/src/nile-grid/nile-grid-head-item/index.js +0 -2
- package/dist/src/nile-grid/nile-grid-head-item/index.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.d.ts +0 -12
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.js +0 -71
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.d.ts +0 -37
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.js +0 -101
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.d.ts +0 -34
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.js +0 -57
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-row/index.d.ts +0 -1
- package/dist/src/nile-grid/nile-grid-row/index.js +0 -2
- package/dist/src/nile-grid/nile-grid-row/index.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-row/nile-grid-row.css.d.ts +0 -12
- package/dist/src/nile-grid/nile-grid-row/nile-grid-row.css.js +0 -48
- package/dist/src/nile-grid/nile-grid-row/nile-grid-row.css.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-row/nile-grid-row.d.ts +0 -32
- package/dist/src/nile-grid/nile-grid-row/nile-grid-row.js +0 -62
- package/dist/src/nile-grid/nile-grid-row/nile-grid-row.js.map +0 -1
- package/dist/src/nile-grid/nile-grid.computeWidth.d.ts +0 -0
- package/dist/src/nile-grid/nile-grid.computeWidth.js +0 -2
- package/dist/src/nile-grid/nile-grid.computeWidth.js.map +0 -1
- package/dist/src/nile-grid/nile-grid.data-attribute.d.ts +0 -2
- package/dist/src/nile-grid/nile-grid.data-attribute.js +0 -13
- package/dist/src/nile-grid/nile-grid.data-attribute.js.map +0 -1
- package/dist/src/nile-grid/nile-grid.layout.d.ts +0 -0
- package/dist/src/nile-grid/nile-grid.layout.js +0 -2
- package/dist/src/nile-grid/nile-grid.layout.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/nile-spannable-table.css.d.ts +0 -12
- package/dist/src/nile-grid/nile-spannable-table.css.js +0 -21
- package/dist/src/nile-grid/nile-spannable-table.css.js.map +0 -1
- package/dist/src/nile-grid/nile-spannable-table.d.ts +0 -63
- package/dist/src/nile-grid/nile-spannable-table.js +0 -296
- package/dist/src/nile-grid/nile-spannable-table.js.map +0 -1
- package/dist/src/nile-grid-cell/index.d.ts +0 -1
- package/dist/src/nile-grid-cell/index.js +0 -2
- package/dist/src/nile-grid-cell/index.js.map +0 -1
- package/dist/src/nile-grid-cell/nile-grid-cell.css.d.ts +0 -12
- package/dist/src/nile-grid-cell/nile-grid-cell.css.js +0 -47
- package/dist/src/nile-grid-cell/nile-grid-cell.css.js.map +0 -1
- package/dist/src/nile-grid-cell/nile-grid-cell.d.ts +0 -43
- package/dist/src/nile-grid-cell/nile-grid-cell.js +0 -102
- package/dist/src/nile-grid-cell/nile-grid-cell.js.map +0 -1
- package/dist/src/nile-grid-cell/nile-grid-cell.utils.d.ts +0 -10
- package/dist/src/nile-grid-cell/nile-grid-cell.utils.js +0 -41
- package/dist/src/nile-grid-cell/nile-grid-cell.utils.js.map +0 -1
- package/dist/src/nile-grid-cell/nile-gris-cell.utils.d.ts +0 -10
- package/dist/src/nile-grid-cell/nile-gris-cell.utils.js +0 -33
- package/dist/src/nile-grid-cell/nile-gris-cell.utils.js.map +0 -1
- package/dist/src/nile-grid-column/index.d.ts +0 -1
- package/dist/src/nile-grid-column/index.js +0 -2
- package/dist/src/nile-grid-column/index.js.map +0 -1
- package/dist/src/nile-grid-column/nile-grid-column.css.d.ts +0 -12
- package/dist/src/nile-grid-column/nile-grid-column.css.js +0 -17
- package/dist/src/nile-grid-column/nile-grid-column.css.js.map +0 -1
- package/dist/src/nile-grid-column/nile-grid-column.d.ts +0 -32
- package/dist/src/nile-grid-column/nile-grid-column.js +0 -43
- package/dist/src/nile-grid-column/nile-grid-column.js.map +0 -1
- package/dist/src/nile-grid-columns/index.d.ts +0 -1
- package/dist/src/nile-grid-columns/index.js +0 -2
- package/dist/src/nile-grid-columns/index.js.map +0 -1
- package/dist/src/nile-grid-columns/nile-grid-columns.css.d.ts +0 -12
- package/dist/src/nile-grid-columns/nile-grid-columns.css.js +0 -17
- package/dist/src/nile-grid-columns/nile-grid-columns.css.js.map +0 -1
- package/dist/src/nile-grid-columns/nile-grid-columns.d.ts +0 -32
- package/dist/src/nile-grid-columns/nile-grid-columns.js +0 -43
- package/dist/src/nile-grid-columns/nile-grid-columns.js.map +0 -1
- package/dist/src/nile-grid-header/index.d.ts +0 -1
- package/dist/src/nile-grid-header/index.js +0 -2
- package/dist/src/nile-grid-header/index.js.map +0 -1
- package/dist/src/nile-grid-header/nile-grid-head-item.css.d.ts +0 -12
- package/dist/src/nile-grid-header/nile-grid-head-item.css.js +0 -44
- package/dist/src/nile-grid-header/nile-grid-head-item.css.js.map +0 -1
- package/dist/src/nile-grid-header/nile-grid-head-item.d.ts +0 -42
- package/dist/src/nile-grid-header/nile-grid-head-item.js +0 -127
- package/dist/src/nile-grid-header/nile-grid-head-item.js.map +0 -1
- package/dist/src/nile-grid-header/nile-grid-header.css.d.ts +0 -12
- package/dist/src/nile-grid-header/nile-grid-header.css.js +0 -44
- package/dist/src/nile-grid-header/nile-grid-header.css.js.map +0 -1
- package/dist/src/nile-grid-header/nile-grid-header.d.ts +0 -42
- package/dist/src/nile-grid-header/nile-grid-header.js +0 -127
- package/dist/src/nile-grid-header/nile-grid-header.js.map +0 -1
- package/dist/src/nile-group-header/index.d.ts +0 -1
- package/dist/src/nile-group-header/index.js +0 -2
- package/dist/src/nile-group-header/index.js.map +0 -1
- package/dist/src/nile-group-header/nile-group-header.css.d.ts +0 -12
- package/dist/src/nile-group-header/nile-group-header.css.js +0 -30
- package/dist/src/nile-group-header/nile-group-header.css.js.map +0 -1
- package/dist/src/nile-group-header/nile-group-header.d.ts +0 -19
- package/dist/src/nile-group-header/nile-group-header.js +0 -36
- package/dist/src/nile-group-header/nile-group-header.js.map +0 -1
- package/dist/src/nile-group-header/nile-option-header.css.d.ts +0 -12
- package/dist/src/nile-group-header/nile-option-header.css.js +0 -30
- package/dist/src/nile-group-header/nile-option-header.css.js.map +0 -1
- package/dist/src/nile-group-header/nile-option-header.d.ts +0 -33
- package/dist/src/nile-group-header/nile-option-header.js +0 -51
- package/dist/src/nile-group-header/nile-option-header.js.map +0 -1
- package/dist/src/nile-option-header/index.d.ts +0 -1
- package/dist/src/nile-option-header/index.js +0 -2
- package/dist/src/nile-option-header/index.js.map +0 -1
- package/dist/src/nile-option-header/nile-option-header.css.d.ts +0 -12
- package/dist/src/nile-option-header/nile-option-header.css.js +0 -30
- package/dist/src/nile-option-header/nile-option-header.css.js.map +0 -1
- package/dist/src/nile-option-header/nile-option-header.d.ts +0 -33
- package/dist/src/nile-option-header/nile-option-header.js +0 -51
- package/dist/src/nile-option-header/nile-option-header.js.map +0 -1
- package/dist/src/nile-spannable-table/index.d.ts +0 -1
- package/dist/src/nile-spannable-table/index.js +0 -2
- package/dist/src/nile-spannable-table/index.js.map +0 -1
- package/dist/src/nile-spannable-table/nile-spannable-table.css.d.ts +0 -12
- package/dist/src/nile-spannable-table/nile-spannable-table.css.js +0 -21
- package/dist/src/nile-spannable-table/nile-spannable-table.css.js.map +0 -1
- package/dist/src/nile-spannable-table/nile-spannable-table.d.ts +0 -63
- package/dist/src/nile-spannable-table/nile-spannable-table.js +0 -296
- package/dist/src/nile-spannable-table/nile-spannable-table.js.map +0 -1
- package/dist/src/nile-spannable-table-body/index.d.ts +0 -1
- package/dist/src/nile-spannable-table-body/index.js +0 -2
- package/dist/src/nile-spannable-table-body/index.js.map +0 -1
- package/dist/src/nile-spannable-table-body/nile-spannable-table-body.css.d.ts +0 -12
- package/dist/src/nile-spannable-table-body/nile-spannable-table-body.css.js +0 -23
- package/dist/src/nile-spannable-table-body/nile-spannable-table-body.css.js.map +0 -1
- package/dist/src/nile-spannable-table-body/nile-spannable-table-body.d.ts +0 -33
- package/dist/src/nile-spannable-table-body/nile-spannable-table-body.js +0 -45
- package/dist/src/nile-spannable-table-body/nile-spannable-table-body.js.map +0 -1
- package/dist/src/nile-spannable-table-cell/index.d.ts +0 -1
- package/dist/src/nile-spannable-table-cell/index.js +0 -2
- package/dist/src/nile-spannable-table-cell/index.js.map +0 -1
- package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.css.d.ts +0 -12
- package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.css.js +0 -21
- package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.css.js.map +0 -1
- package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.d.ts +0 -37
- package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.js +0 -63
- package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.js.map +0 -1
- package/dist/src/nile-spannable-table-header/index.d.ts +0 -1
- package/dist/src/nile-spannable-table-header/index.js +0 -2
- package/dist/src/nile-spannable-table-header/index.js.map +0 -1
- package/dist/src/nile-spannable-table-header/nile-spannable-table-header.css.d.ts +0 -12
- package/dist/src/nile-spannable-table-header/nile-spannable-table-header.css.js +0 -33
- package/dist/src/nile-spannable-table-header/nile-spannable-table-header.css.js.map +0 -1
- package/dist/src/nile-spannable-table-header/nile-spannable-table-header.d.ts +0 -42
- package/dist/src/nile-spannable-table-header/nile-spannable-table-header.js +0 -119
- package/dist/src/nile-spannable-table-header/nile-spannable-table-header.js.map +0 -1
- package/dist/src/nile-spannable-table-row/index.d.ts +0 -1
- package/dist/src/nile-spannable-table-row/index.js +0 -2
- package/dist/src/nile-spannable-table-row/index.js.map +0 -1
- package/dist/src/nile-spannable-table-row/nile-spannable-table-row.css.d.ts +0 -12
- package/dist/src/nile-spannable-table-row/nile-spannable-table-row.css.js +0 -17
- package/dist/src/nile-spannable-table-row/nile-spannable-table-row.css.js.map +0 -1
- package/dist/src/nile-spannable-table-row/nile-spannable-table-row.d.ts +0 -35
- package/dist/src/nile-spannable-table-row/nile-spannable-table-row.js +0 -57
- package/dist/src/nile-spannable-table-row/nile-spannable-table-row.js.map +0 -1
- package/dist/src/nile-table-row/TableRowExpandableHelper.d.ts +0 -9
- package/dist/src/nile-table-row/TableRowExpandableHelper.js +0 -26
- package/dist/src/nile-table-row/TableRowExpandableHelper.js.map +0 -1
- package/dist/src/nile-table-row/helper.ts.d.ts +0 -37
- package/dist/src/nile-table-row/helper.ts.js +0 -105
- package/dist/src/nile-table-row/helper.ts.js.map +0 -1
- package/dist/src/nile-table-row/nile-table-row-expandable.d.ts +0 -37
- package/dist/src/nile-table-row/nile-table-row-expandable.js +0 -105
- package/dist/src/nile-table-row/nile-table-row-expandable.js.map +0 -1
- package/dist/src/nile-table-row-expandable/index.d.ts +0 -1
- package/dist/src/nile-table-row-expandable/index.js +0 -2
- package/dist/src/nile-table-row-expandable/index.js.map +0 -1
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.d.ts +0 -12
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.js +0 -17
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.js.map +0 -1
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.d.ts +0 -37
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.js +0 -103
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.js.map +0 -1
- package/dist/src/nile-test-hello/index.d.ts +0 -1
- package/dist/src/nile-test-hello/index.js +0 -2
- package/dist/src/nile-test-hello/index.js.map +0 -1
- package/dist/src/nile-test-hello/nile-test-hello.css.d.ts +0 -12
- package/dist/src/nile-test-hello/nile-test-hello.css.js +0 -17
- package/dist/src/nile-test-hello/nile-test-hello.css.js.map +0 -1
- package/dist/src/nile-test-hello/nile-test-hello.d.ts +0 -33
- package/dist/src/nile-test-hello/nile-test-hello.js +0 -49
- package/dist/src/nile-test-hello/nile-test-hello.js.map +0 -1
- package/dist/src/nile-test-hello-column/index.d.ts +0 -1
- package/dist/src/nile-test-hello-column/index.js +0 -2
- package/dist/src/nile-test-hello-column/index.js.map +0 -1
- package/dist/src/nile-test-hello-column/nile-test-hello-column.css.d.ts +0 -12
- package/dist/src/nile-test-hello-column/nile-test-hello-column.css.js +0 -17
- package/dist/src/nile-test-hello-column/nile-test-hello-column.css.js.map +0 -1
- package/dist/src/nile-test-hello-column/nile-test-hello-column.d.ts +0 -13
- package/dist/src/nile-test-hello-column/nile-test-hello-column.js +0 -27
- package/dist/src/nile-test-hello-column/nile-test-hello-column.js.map +0 -1
- package/dist/src/nile-tooltip/nile-tooltip-utils.d.ts +0 -18
- package/dist/src/nile-tooltip/nile-tooltip-utils.js +0 -216
- package/dist/src/nile-tooltip/nile-tooltip-utils.js.map +0 -1
- package/dist/src/nile-tooltip/nile-tooltip.test.d.ts +0 -1
- package/dist/src/nile-tooltip/nile-tooltip.test.js +0 -148
- package/dist/src/nile-tooltip/nile-tooltip.test.js.map +0 -1
- package/src/nile-grid/nile-grid-body/nile-grid-body.css.ts +0 -20
- package/src/nile-grid/nile-grid-body/nile-grid-body.ts +0 -51
- package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.ts +0 -81
- package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.ts +0 -88
- package/src/nile-grid/nile-grid-head/nile-grid-head.css.ts +0 -21
- package/src/nile-grid/nile-grid-head/nile-grid-head.ts +0 -50
- package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.ts +0 -73
- package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.ts +0 -97
- package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.ts +0 -92
- package/src/nile-grid/nile-grid-row/nile-grid-row.css.ts +0 -50
- package/src/nile-grid/nile-grid-row/nile-grid-row.ts +0 -58
- package/src/nile-grid/nile-grid.types.ts +0 -1
- package/src/nile-rich-text-editor/utils.ts +0 -643
- package/src/nile-sidebar/index.ts +0 -133
- package/src/nile-sidebar/logo.svg +0 -1
- package/src/nile-sidebar-menu/index.ts +0 -1
- package/src/nile-sidebar-menu/nile-sidebar-menu.css.ts +0 -52
- package/src/nile-sidebar-menu/nile-sidebar-menu.ts +0 -97
- package/src/nile-sidebar-menu-items/index.ts +0 -1
- package/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.ts +0 -50
- package/src/nile-sidebar-menu-items/nile-sidebar-menu-items.ts +0 -81
- package/src/nile-sidebar-wrapper/index.ts +0 -1
- package/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.ts +0 -119
- package/src/nile-sidebar-wrapper/nile-sidebar-wrapper.ts +0 -97
- /package/dist/{nile-grid/nile-grid-cell-item → nile-inline-sidebar}/index.cjs.js.map +0 -0
- /package/dist/{nile-grid-cell → nile-inline-sidebar-group}/index.cjs.js.map +0 -0
- /package/dist/{nile-grid/nile-grid-body → nile-inline-sidebar-item}/index.cjs.js.map +0 -0
- /package/dist/{nile-grid/nile-grid-column-cell-template → nile-rich-text-editor/utils}/index.cjs.js.map +0 -0
- /package/dist/{nile-grid/nile-grid.types.esm.js → nile-rich-text-editor/utils/link-utils.esm.js} +0 -0
- /package/dist/{nile-grid/nile-grid-head-item → nile-side-bar-action}/index.cjs.js.map +0 -0
- /package/dist/{nile-grid/nile-grid-columns → nile-side-bar-action-menu}/index.cjs.js.map +0 -0
- /package/dist/{nile-grid/nile-grid-column-head-template → nile-side-bar-action-menu-item}/index.cjs.js.map +0 -0
- /package/dist/{nile-grid/nile-grid-head → nile-side-bar-expand}/index.cjs.js.map +0 -0
- /package/dist/{nile-sidebar-menu → nile-side-bar-footer}/index.cjs.js.map +0 -0
- /package/dist/{nile-grid/nile-grid-row → nile-side-bar-footer-item}/index.cjs.js.map +0 -0
- /package/dist/{nile-sidebar-menu-items → nile-side-bar-footer-text}/index.cjs.js.map +0 -0
- /package/dist/{nile-test-hello → nile-side-bar-group-item}/index.cjs.js.map +0 -0
- /package/dist/{nile-sidebar-wrapper → nile-side-bar-group-item-icon}/index.cjs.js.map +0 -0
- /package/dist/{nile-test-hello-column → nile-side-bar-group-item-text}/index.cjs.js.map +0 -0
- /package/src/{nile-grid/nile-grid-body → nile-grid-body}/index.ts +0 -0
- /package/src/{nile-grid/nile-grid-cell-item → nile-grid-cell-item}/index.ts +0 -0
- /package/src/{nile-grid/nile-grid-cell-item → nile-grid-cell-item}/nile-grid-cell-item.utils.ts +0 -0
- /package/src/{nile-grid/nile-grid-head → nile-grid-head}/index.ts +0 -0
- /package/src/{nile-grid/nile-grid-head-item → nile-grid-head-item}/index.ts +0 -0
- /package/src/{nile-grid/nile-grid-row → nile-grid-row}/index.ts +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';\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\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\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 }) 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 /** 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 @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\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.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 }\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\n private removeOpenListeners() {\n document.removeEventListener('focusin', this.handleDocumentFocusIn);\n document.removeEventListener('keydown', this.handleDocumentKeyDown);\n document.removeEventListener('mousedown', this.handleDocumentMouseDown);\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 // Close when focusing out of the select\n const path = event.composedPath();\n if (this && !path.includes(this)) {\n this.hide();\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 private 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 // this.requestUpdate();\n }\n\n /**\n * Deselects all options and updates the value, selectedOptions, and displayLabel properties accordingly\n */\n private 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\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 // Close when clicking outside of the select\n const path = event.composedPath();\n if (this && !path.includes(this)) {\n this.hide();\n }\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 private 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\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\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\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 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('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\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 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\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 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.hoist ? 'fixed' : 'absolute'}\n distance=\"6\"\n flip\n shift\n sync=${ifDefined(!this.noWidthSync ? 'width' : undefined)}\n auto-size=\"vertical\"\n auto-size-padding=\"10\"\n >\n ${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 \"\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 : ''}\"\n tabindex=\"-1\"\n @mouseup=${this.handleOptionClick}\n @slotchange=${this.handleDefaultSlotChange}\n @scroll=${this.handleScroll}\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","_f","k","super","this","hasSlotController","HasSlotController","typeToSelectString","scrolling","options","hasFocus","displayLabel","selectedOptions","oldValue","name","value","defaultValue","size","placeholder","searchValue","searchEnabled","internalSearchPlaceHolder","blockValueChange","disableLocalSearch","optionsLoading","noWidthSync","multiple","helpText","help_text","autoResize","errorMessage","warning","error","success","maxOptionsVisible","disabled","clearable","open","hoist","filled","pill","label","placement","form","required","showSelected","oldMaxOptionsVisible","showNoResults","noResultsMessage","data","enableVirtualScroll","enableGroupHeader","autoFocusSearch","loading","_this","_inherits","_createClass","key","get","validity","_this$valueInput","valueInput","_this$valueInput2","validationMessage","connectedCallback","formControlController","FormControlController","assumeInteractionOn","virtualScrollHelper","VirtualScrollHelper","handleDocumentFocusIn","bind","handleDocumentKeyDown","handleDocumentMouseDown","emit","disconnectedCallback","scrollTimeout","clearTimeout","undefined","setupResizeObserver","_this2","_this$resizeControlle","_this$resizeControlle2","_this$shadowRoot2","_this$shadowRoot","tagsContainer","shadowRoot","querySelector","resizeController","ResizeController","callback","calculateTotalWidthOfTags","observe","unobserve","updated","_changedProperties","has","setCheckBoxInOption","firstUpdated","handleGroupSearchChange","checked","length","getAllOptions","forEach","option","showCheckbox","addOpenListeners","document","addEventListener","removeOpenListeners","removeEventListener","handleFocus","displayInput","setSelectionRange","handleBlur","event","path","composedPath","includes","hide","handleFooterClick","stopPropagation","preventDefault","toggleShowSelected","el","selected","hidden","handleGroupShowSelected","unSlectAll","selectionChanged","_this4","target","isClearButton","closest","isIconButton","focus","preventScroll","stopImmediatePropagation","currentOption","toggleOptionSelection","setSelectedOptions","updateComplete","then","nileInput","nileChange","show","allOptions","metaKey","ctrlKey","altKey","typeToSelectTimeout","window","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","_this6","requestUpdate","handleDefaultSlotChange","Array","isArray","values","customElements","push","filter","map","String","whenDefined","handleTagRemove","_this8","removedtagvalue","_this$oldValue","_this9","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","_this$selectedOptions3","_this$selectedOptions4","_this$value","updateValidity","handleSearchFocus","handleSearchBlur","handleSearchChange","detail","query","filterOptions","handleScroll","_this11","scrollTop","scrollLeft","Math","ceil","floor","scrollHeight","offsetHeight","isAtBottom","lowerCaseSearchValue","filteredOptions","lowerCaseLabel","lowerCaseValue","handleInvalid","setValidity","_this$formControlCont2","emitInvalidEvent","handleDisabledChange","handleOpenChange","handleValueChange","_handleOpenChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_this12","_this$getAllOptions","_g","_i3","_s2","_g2","_i4","_s3","wrap","_callee$","_context2","prev","next","getAllGroupAttributes","element","classList","remove","stopAnimations","listbox","popup","active","requestAnimationFrame","getAnimation","dir","animateTo","keyframes","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","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';\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\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 }) 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 @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 // 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 }\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 * 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\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\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 \"\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","x","constructor","super","this","portalManager","PortalManager","hasSlotController","HasSlotController","typeToSelectString","scrolling","options","hasFocus","displayLabel","selectedOptions","oldValue","name","value","defaultValue","size","placeholder","searchValue","searchEnabled","internalSearchPlaceHolder","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","showNoResults","noResultsMessage","data","enableVirtualScroll","enableGroupHeader","autoFocusSearch","loading","handleWindowResize","updatePortalAppendPosition","handleWindowScroll","_this","_inherits","_f","_createClass","key","get","validity","_this$valueInput","valueInput","_this$valueInput2","validationMessage","connectedCallback","formControlController","FormControlController","assumeInteractionOn","virtualScrollHelper","VirtualScrollHelper","handleDocumentFocusIn","bind","handleDocumentKeyDown","handleDocumentMouseDown","emit","disconnectedCallback","scrollTimeout","clearTimeout","undefined","cleanupPortalAppend","setupResizeObserver","_this$shadowRoot","tagsContainer","shadowRoot","querySelector","resizeController","ResizeController","callback","calculateTotalWidthOfTags","observe","unobserve","updated","_changedProperties","has","setCheckBoxInOption","firstUpdated","handleGroupSearchChange","checked","length","getAllOptions","forEach","option","showCheckbox","addOpenListeners","document","addEventListener","window","removeOpenListeners","removeEventListener","handleFocus","displayInput","setSelectionRange","handleBlur","event","path","composedPath","hitSelf","includes","hitPopup","popup","hitPortalAppend","portalContainerElement","hide","handleFooterClick","stopPropagation","preventDefault","toggleShowSelected","el","selected","hidden","handleGroupShowSelected","updatePortalOptions","unSlectAll","selectionChanged","target","isClearButton","closest","isIconButton","focus","preventScroll","stopImmediatePropagation","currentOption","toggleOptionSelection","setSelectedOptions","updateComplete","then","nileInput","nileChange","show","allOptions","metaKey","ctrlKey","altKey","typeToSelectTimeout","setTimeout","slice","toLowerCase","_iterator","_createForOfIteratorHelper","_step","s","n","done","getTextLabel","startsWith","setCurrentOption","err","e","f","handleLabelClick","handleComboboxMouseDown","some","Element","tagName","handleComboboxKeyDown","handleClearClick","val","handleClearMouseDown","handleOptionClick","_this6","requestUpdate","handleDefaultSlotChange","Array","isArray","values","customElements","push","filter","map","String","whenDefined","handleTagRemove","removedtagvalue","querySelectorAll","sort","a","b","indexA","indexOf","indexB","Infinity","getOptionPrefix","prefixSlot","assignedNodes","htmlStrings","node","HTMLElement","outerHTML","nodeType","Node","TEXT_NODE","textContent","join","getFirstOption","current","tabIndex","newSelectedOptions","force","_this$selectedOptions4","_this$value","updateValidity","handleSearchFocus","handleSearchBlur","handleSearchChange","detail","query","filterOptions","handleScroll","scrollTop","scrollLeft","Math","ceil","floor","scrollHeight","offsetHeight","isAtBottom","lowerCaseSearchValue","filteredOptions","lowerCaseLabel","lowerCaseValue","handleInvalid","setValidity","_this$formControlCont2","emitInvalidEvent","handleDisabledChange","handleOpenChange","handleValueChange","handlePortalAppendChange","setupPortalAppend","_handleOpenChange","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_this12","_this$getAllOptions","_g","_i3","_s2","_g2","_i4","_s3","wrap","_callee$","_context2","prev","next","getAllGroupAttributes","element","classList","remove","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","inputFocus","render","_this15","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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"}
|