@aquera/nile-elements 1.0.4-beta-1.2 → 1.0.4-beta-1.4
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 +6 -0
- package/demo/variables.css +1 -0
- package/dist/css-tag-bb10c0fa.cjs.js +6 -0
- package/dist/css-tag-bb10c0fa.cjs.js.map +1 -0
- package/dist/css-tag-dc564feb.esm.js +6 -0
- package/dist/{fixture-8edec91c.esm.js → fixture-985bba12.esm.js} +1 -1
- package/dist/{fixture-3bfb4490.cjs.js → fixture-d1470b58.cjs.js} +2 -2
- package/dist/{fixture-3bfb4490.cjs.js.map → fixture-d1470b58.cjs.js.map} +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +797 -316
- package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
- package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.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 +2 -2
- 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.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.css.cjs.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.css.cjs.js.map +1 -1
- package/dist/nile-checkbox/nile-checkbox.css.esm.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
- package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.test.cjs.js.map +1 -1
- package/dist/nile-chip/nile-chip.test.esm.js +1 -1
- package/dist/nile-dialog/index.cjs.js +1 -1
- package/dist/nile-dialog/index.esm.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
- package/dist/nile-dialog/nile-dialog.esm.js +6 -6
- package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.cjs.js.map +1 -1
- package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
- package/dist/nile-drawer/index.cjs.js +1 -1
- package/dist/nile-drawer/index.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
- package/dist/nile-drawer/nile-drawer.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -1
- package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
- package/dist/nile-file-upload/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/index.cjs.js +2 -0
- package/dist/nile-grid/index.cjs.js.map +1 -0
- package/dist/nile-grid/index.esm.js +1 -0
- package/dist/nile-grid/nile-grid.cjs.js +2 -0
- package/dist/nile-grid/nile-grid.cjs.js.map +1 -0
- package/dist/nile-grid/nile-grid.css.cjs.js +2 -0
- package/dist/nile-grid/nile-grid.css.cjs.js.map +1 -0
- package/dist/nile-grid/nile-grid.css.esm.js +32 -0
- package/dist/nile-grid/nile-grid.esm.js +7 -0
- package/dist/nile-grid/nile-grid.utils.cjs.js +2 -0
- package/dist/nile-grid/nile-grid.utils.cjs.js.map +1 -0
- package/dist/nile-grid/nile-grid.utils.esm.js +1 -0
- package/dist/nile-grid-body/index.cjs.js +2 -0
- package/dist/nile-grid-body/index.cjs.js.map +1 -0
- package/dist/nile-grid-body/index.esm.js +1 -0
- package/dist/nile-grid-body/nile-grid-body.cjs.js +2 -0
- package/dist/nile-grid-body/nile-grid-body.cjs.js.map +1 -0
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js +2 -0
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +1 -0
- package/dist/nile-grid-body/nile-grid-body.css.esm.js +10 -0
- package/dist/nile-grid-body/nile-grid-body.esm.js +5 -0
- package/dist/nile-grid-cell-item/index.cjs.js +2 -0
- package/dist/nile-grid-cell-item/index.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/index.esm.js +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +2 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +2 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +35 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +12 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +2 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +1 -0
- package/dist/nile-grid-head/index.cjs.js +2 -0
- package/dist/nile-grid-head/index.cjs.js.map +1 -0
- package/dist/nile-grid-head/index.esm.js +1 -0
- package/dist/nile-grid-head/nile-grid-head.cjs.js +2 -0
- package/dist/nile-grid-head/nile-grid-head.cjs.js.map +1 -0
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js +2 -0
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +1 -0
- package/dist/nile-grid-head/nile-grid-head.css.esm.js +7 -0
- package/dist/nile-grid-head/nile-grid-head.esm.js +5 -0
- package/dist/nile-grid-head-item/index.cjs.js +2 -0
- package/dist/nile-grid-head-item/index.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/index.esm.js +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +2 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +2 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +34 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +12 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +2 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.esm.js +1 -0
- package/dist/nile-grid-row/index.cjs.js +2 -0
- package/dist/nile-grid-row/index.cjs.js.map +1 -0
- package/dist/nile-grid-row/index.esm.js +1 -0
- package/dist/nile-grid-row/nile-grid-row.cjs.js +2 -0
- package/dist/nile-grid-row/nile-grid-row.cjs.js.map +1 -0
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js +2 -0
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -0
- package/dist/nile-grid-row/nile-grid-row.css.esm.js +15 -0
- package/dist/nile-grid-row/nile-grid-row.esm.js +7 -0
- package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
- package/dist/nile-hero/nile-hero.test.esm.js +1 -1
- package/dist/nile-icon/icons/svg/format_align_justify.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_align_justify.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_align_justify.esm.js +1 -0
- package/dist/nile-icon/icons/svg/format_align_left.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_align_left.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_align_left.esm.js +1 -0
- package/dist/nile-icon/icons/svg/format_align_middle.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_align_middle.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_align_middle.esm.js +1 -0
- package/dist/nile-icon/icons/svg/format_align_right.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_align_right.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_align_right.esm.js +1 -0
- package/dist/nile-icon/icons/svg/format_bold.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_bold.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_bold.esm.js +1 -0
- package/dist/nile-icon/icons/svg/format_clear.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_clear.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_clear.esm.js +1 -0
- package/dist/nile-icon/icons/svg/format_italic.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_italic.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_italic.esm.js +1 -0
- package/dist/nile-icon/icons/svg/format_list_bulleted.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_list_bulleted.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_list_bulleted.esm.js +1 -0
- package/dist/nile-icon/icons/svg/format_list_numbered.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_list_numbered.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_list_numbered.esm.js +1 -0
- package/dist/nile-icon/icons/svg/format_underline.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/format_underline.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/format_underline.esm.js +1 -0
- package/dist/nile-icon/icons/svg/image_2.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/image_2.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/image_2.esm.js +1 -0
- 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/link_2.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/link_2.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/link_2.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-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 +5 -5
- 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.css.cjs.js +1 -1
- package/dist/nile-link/nile-link.css.cjs.js.map +1 -1
- package/dist/nile-link/nile-link.css.esm.js +3 -2
- 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 +2 -2
- 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/index.esm.js +1 -1
- package/dist/nile-popover/nile-popover.cjs.js +4 -4
- package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
- package/dist/nile-popover/nile-popover.esm.js +6 -11
- package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
- package/dist/nile-popover/nile-popover.test.cjs.js.map +1 -1
- package/dist/nile-popover/nile-popover.test.esm.js +5 -5
- package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
- package/dist/nile-popup/nile-popup.test.esm.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
- package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
- package/dist/nile-radio/nile-radio.test.esm.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
- package/dist/nile-rich-text-editor/index.cjs.js +2 -0
- package/dist/nile-rich-text-editor/index.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/index.esm.js +1 -0
- package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +149 -0
- package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +1 -0
- package/dist/nile-rich-text-editor/nile-rte-color.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rte-color.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rte-color.esm.js +53 -0
- package/dist/nile-rich-text-editor/nile-rte-divider.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rte-divider.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rte-divider.esm.js +1 -0
- package/dist/nile-rich-text-editor/nile-rte-link.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rte-link.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rte-link.esm.js +19 -0
- package/dist/nile-rich-text-editor/nile-rte-mentions-item.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rte-mentions-item.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rte-mentions-item.esm.js +1 -0
- package/dist/nile-rich-text-editor/nile-rte-mentions.cjs.js +3 -0
- package/dist/nile-rich-text-editor/nile-rte-mentions.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rte-mentions.esm.js +1 -0
- package/dist/nile-rich-text-editor/nile-rte-preview.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rte-preview.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rte-preview.esm.js +1 -0
- package/dist/nile-rich-text-editor/nile-rte-select.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rte-select.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rte-select.esm.js +66 -0
- package/dist/nile-rich-text-editor/nile-rte-toolbar-item.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rte-toolbar-item.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rte-toolbar-item.esm.js +1 -0
- package/dist/nile-rich-text-editor/nile-rte-toolbar.cjs.js +2 -0
- package/dist/nile-rich-text-editor/nile-rte-toolbar.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/nile-rte-toolbar.esm.js +1 -0
- package/dist/nile-rich-text-editor/utils.cjs.js +2 -0
- package/dist/nile-rich-text-editor/utils.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/utils.esm.js +1 -0
- package/dist/nile-select/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.css.cjs.js +1 -1
- package/dist/nile-select/nile-select.css.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.css.esm.js +1 -1
- package/dist/nile-select/nile-select.esm.js +2 -2
- package/dist/nile-select/nile-select.test.cjs.js +1 -1
- package/dist/nile-select/nile-select.test.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.test.esm.js +12 -12
- 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 +2 -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-stepper-item/nile-stepper-item.cjs.js +1 -1
- package/dist/nile-stepper-item/nile-stepper-item.cjs.js.map +1 -1
- package/dist/nile-stepper-item/nile-stepper-item.esm.js +6 -6
- package/dist/nile-tab/index.cjs.js +1 -1
- package/dist/nile-tab/index.esm.js +1 -1
- package/dist/nile-tab/nile-tab.cjs.js +1 -1
- package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
- package/dist/nile-tab/nile-tab.esm.js +2 -2
- package/dist/nile-tab-group/index.cjs.js +1 -1
- package/dist/nile-tab-group/index.esm.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
- package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
- package/dist/nile-tag/index.cjs.js +1 -1
- package/dist/nile-tag/index.esm.js +1 -1
- package/dist/nile-tag/nile-tag.cjs.js +1 -1
- package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
- package/dist/nile-tag/nile-tag.esm.js +1 -1
- package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
- package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
- package/dist/nile-toast/index.cjs.js +1 -1
- package/dist/nile-toast/index.esm.js +1 -1
- package/dist/nile-toast/nile-toast.cjs.js +1 -1
- package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
- package/dist/nile-toast/nile-toast.esm.js +2 -2
- 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 +3 -3
- package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.cjs.js +1 -1
- package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.cjs.js.map +1 -1
- package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.esm.js +8 -8
- 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 +5 -1
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +29 -1
- package/dist/nile-virtual-select/nile-virtual-select.esm.js +21 -13
- package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
- package/dist/nile-virtual-select/renderer.cjs.js +1 -1
- package/dist/nile-virtual-select/renderer.cjs.js.map +1 -1
- package/dist/nile-virtual-select/renderer.esm.js +11 -10
- package/dist/nile-virtual-select/selection-manager.cjs.js +1 -1
- package/dist/nile-virtual-select/selection-manager.cjs.js.map +1 -1
- package/dist/nile-virtual-select/selection-manager.esm.js +1 -1
- package/dist/scopedElementsWrapper-31107e48.esm.js +1 -0
- package/dist/scopedElementsWrapper-c815042c.cjs.js +2 -0
- package/dist/scopedElementsWrapper-c815042c.cjs.js.map +1 -0
- package/dist/src/index.d.ts +7 -0
- package/dist/src/index.js +7 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-button/nile-button.d.ts +1 -1
- package/dist/src/nile-button/nile-button.js +1 -1
- package/dist/src/nile-button/nile-button.js.map +1 -1
- package/dist/src/nile-checkbox/nile-checkbox.css.js +1 -1
- package/dist/src/nile-checkbox/nile-checkbox.css.js.map +1 -1
- package/dist/src/nile-grid/index.d.ts +1 -0
- package/dist/src/nile-grid/index.js +2 -0
- package/dist/src/nile-grid/index.js.map +1 -0
- package/dist/src/nile-grid/nile-grid.css.d.ts +9 -0
- package/dist/src/nile-grid/nile-grid.css.js +41 -0
- package/dist/src/nile-grid/nile-grid.css.js.map +1 -0
- package/dist/src/nile-grid/nile-grid.d.ts +50 -0
- package/dist/src/nile-grid/nile-grid.js +130 -0
- package/dist/src/nile-grid/nile-grid.js.map +1 -0
- package/dist/src/nile-grid/nile-grid.utils.d.ts +9 -0
- package/dist/src/nile-grid/nile-grid.utils.js +170 -0
- package/dist/src/nile-grid/nile-grid.utils.js.map +1 -0
- package/dist/src/nile-grid-body/index.d.ts +1 -0
- package/dist/src/nile-grid-body/index.js +2 -0
- package/dist/src/nile-grid-body/index.js.map +1 -0
- package/dist/src/nile-grid-body/nile-grid-body.css.d.ts +12 -0
- package/dist/src/nile-grid-body/nile-grid-body.css.js +22 -0
- package/dist/src/nile-grid-body/nile-grid-body.css.js.map +1 -0
- package/dist/src/nile-grid-body/nile-grid-body.d.ts +29 -0
- package/dist/src/nile-grid-body/nile-grid-body.js +43 -0
- package/dist/src/nile-grid-body/nile-grid-body.js.map +1 -0
- package/dist/src/nile-grid-cell-item/index.d.ts +1 -0
- package/dist/src/nile-grid-cell-item/index.js +2 -0
- package/dist/src/nile-grid-cell-item/index.js.map +1 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.d.ts +12 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js +47 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.d.ts +36 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js +93 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js.map +1 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +10 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js +34 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +1 -0
- package/dist/src/nile-grid-head/index.d.ts +1 -0
- package/dist/src/nile-grid-head/index.js +2 -0
- package/dist/src/nile-grid-head/index.js.map +1 -0
- package/dist/src/nile-grid-head/nile-grid-head.css.d.ts +12 -0
- package/dist/src/nile-grid-head/nile-grid-head.css.js +19 -0
- package/dist/src/nile-grid-head/nile-grid-head.css.js.map +1 -0
- package/dist/src/nile-grid-head/nile-grid-head.d.ts +28 -0
- package/dist/src/nile-grid-head/nile-grid-head.js +41 -0
- package/dist/src/nile-grid-head/nile-grid-head.js.map +1 -0
- package/dist/src/nile-grid-head-item/index.d.ts +1 -0
- package/dist/src/nile-grid-head-item/index.js +2 -0
- package/dist/src/nile-grid-head-item/index.js.map +1 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.d.ts +12 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js +46 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.d.ts +37 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.js +100 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.js.map +1 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.d.ts +10 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js +34 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js.map +1 -0
- package/dist/src/nile-grid-row/index.d.ts +1 -0
- package/dist/src/nile-grid-row/index.js +2 -0
- package/dist/src/nile-grid-row/index.js.map +1 -0
- package/dist/src/nile-grid-row/nile-grid-row.css.d.ts +12 -0
- package/dist/src/nile-grid-row/nile-grid-row.css.js +27 -0
- package/dist/src/nile-grid-row/nile-grid-row.css.js.map +1 -0
- package/dist/src/nile-grid-row/nile-grid-row.d.ts +29 -0
- package/dist/src/nile-grid-row/nile-grid-row.js +45 -0
- package/dist/src/nile-grid-row/nile-grid-row.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_align_justify.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_align_justify.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_align_justify.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_align_left.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_align_left.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_align_left.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_align_middle.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_align_middle.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_align_middle.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_align_right.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_align_right.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_align_right.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_bold.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_bold.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_bold.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_clear.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_clear.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_clear.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_italic.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_italic.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_italic.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_list_bulleted.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_list_bulleted.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_list_bulleted.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_list_numbered.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_list_numbered.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_list_numbered.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/format_underline.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/format_underline.js +5 -0
- package/dist/src/nile-icon/icons/svg/format_underline.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/image_2.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/image_2.js +5 -0
- package/dist/src/nile-icon/icons/svg/image_2.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/index.d.ts +12 -0
- package/dist/src/nile-icon/icons/svg/index.js +12 -0
- package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
- package/dist/src/nile-icon/icons/svg/link_2.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/link_2.js +5 -0
- package/dist/src/nile-icon/icons/svg/link_2.js.map +1 -0
- package/dist/src/nile-link/nile-link.css.js +1 -0
- package/dist/src/nile-link/nile-link.css.js.map +1 -1
- package/dist/src/nile-popover/nile-popover.js.map +1 -1
- package/dist/src/nile-rich-text-editor/index.d.ts +1 -0
- package/dist/src/nile-rich-text-editor/index.js +2 -0
- package/dist/src/nile-rich-text-editor/index.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.d.ts +3 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +152 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.d.ts +63 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +734 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rte-color.d.ts +20 -0
- package/dist/src/nile-rich-text-editor/nile-rte-color.js +188 -0
- package/dist/src/nile-rich-text-editor/nile-rte-color.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rte-divider.d.ts +10 -0
- package/dist/src/nile-rich-text-editor/nile-rte-divider.js +12 -0
- package/dist/src/nile-rich-text-editor/nile-rte-divider.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rte-link.d.ts +19 -0
- package/dist/src/nile-rich-text-editor/nile-rte-link.js +169 -0
- package/dist/src/nile-rich-text-editor/nile-rte-link.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rte-mentions-item.d.ts +18 -0
- package/dist/src/nile-rich-text-editor/nile-rte-mentions-item.js +52 -0
- package/dist/src/nile-rich-text-editor/nile-rte-mentions-item.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rte-mentions.d.ts +64 -0
- package/dist/src/nile-rich-text-editor/nile-rte-mentions.js +544 -0
- package/dist/src/nile-rich-text-editor/nile-rte-mentions.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rte-preview.d.ts +10 -0
- package/dist/src/nile-rich-text-editor/nile-rte-preview.js +12 -0
- package/dist/src/nile-rich-text-editor/nile-rte-preview.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rte-select.d.ts +33 -0
- package/dist/src/nile-rich-text-editor/nile-rte-select.js +228 -0
- package/dist/src/nile-rich-text-editor/nile-rte-select.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rte-toolbar-item.d.ts +12 -0
- package/dist/src/nile-rich-text-editor/nile-rte-toolbar-item.js +23 -0
- package/dist/src/nile-rich-text-editor/nile-rte-toolbar-item.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rte-toolbar.d.ts +10 -0
- package/dist/src/nile-rich-text-editor/nile-rte-toolbar.js +12 -0
- package/dist/src/nile-rich-text-editor/nile-rte-toolbar.js.map +1 -0
- package/dist/src/nile-rich-text-editor/utils.d.ts +13 -0
- package/dist/src/nile-rich-text-editor/utils.js +538 -0
- package/dist/src/nile-rich-text-editor/utils.js.map +1 -0
- package/dist/src/nile-select/nile-select.css.js +1 -1
- package/dist/src/nile-select/nile-select.css.js.map +1 -1
- package/dist/src/nile-select/nile-select.d.ts +5 -0
- package/dist/src/nile-select/nile-select.js +32 -2
- package/dist/src/nile-select/nile-select.js.map +1 -1
- package/dist/src/nile-select/virtual-scroll-helper.js +2 -0
- package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -1
- package/dist/src/nile-stepper-item/nile-stepper-item.js +5 -5
- package/dist/src/nile-stepper-item/nile-stepper-item.js.map +1 -1
- package/dist/src/nile-vertical-stepper-item/nile-vertical-stepper-item.js +4 -4
- package/dist/src/nile-vertical-stepper-item/nile-vertical-stepper-item.js.map +1 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.css.js +29 -1
- 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 +22 -1
- package/dist/src/nile-virtual-select/nile-virtual-select.js +148 -23
- package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
- package/dist/src/nile-virtual-select/renderer.d.ts +2 -2
- package/dist/src/nile-virtual-select/renderer.js +9 -8
- package/dist/src/nile-virtual-select/renderer.js.map +1 -1
- package/dist/src/nile-virtual-select/selection-manager.js +1 -1
- package/dist/src/nile-virtual-select/selection-manager.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -4
- package/src/index.ts +8 -1
- package/src/nile-button/nile-button.ts +1 -1
- package/src/nile-checkbox/nile-checkbox.css.ts +1 -1
- package/src/nile-grid/index.ts +1 -0
- package/src/nile-grid/nile-grid.css.ts +43 -0
- package/src/nile-grid/nile-grid.ts +185 -0
- package/src/nile-grid/nile-grid.utils.ts +252 -0
- package/src/nile-grid-body/index.ts +1 -0
- 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/index.ts +1 -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-cell-item/nile-grid-cell-item.utils.ts +65 -0
- package/src/nile-grid-head/index.ts +1 -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/index.ts +1 -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/index.ts +1 -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/format_align_justify.ts +5 -0
- package/src/nile-icon/icons/svg/format_align_left.ts +5 -0
- package/src/nile-icon/icons/svg/format_align_middle.ts +5 -0
- package/src/nile-icon/icons/svg/format_align_right.ts +5 -0
- package/src/nile-icon/icons/svg/format_bold.ts +5 -0
- package/src/nile-icon/icons/svg/format_clear.ts +5 -0
- package/src/nile-icon/icons/svg/format_italic.ts +5 -0
- package/src/nile-icon/icons/svg/format_list_bulleted.ts +5 -0
- package/src/nile-icon/icons/svg/format_list_numbered.ts +5 -0
- package/src/nile-icon/icons/svg/format_underline.ts +5 -0
- package/src/nile-icon/icons/svg/image_2.ts +5 -0
- package/src/nile-icon/icons/svg/index.ts +12 -0
- package/src/nile-icon/icons/svg/link_2.ts +5 -0
- package/src/nile-link/nile-link.css.ts +1 -0
- package/src/nile-popover/nile-popover.ts +0 -1
- package/src/nile-rich-text-editor/index.ts +1 -0
- package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +154 -0
- package/src/nile-rich-text-editor/nile-rich-text-editor.ts +835 -0
- package/src/nile-rich-text-editor/nile-rte-color.ts +189 -0
- package/src/nile-rich-text-editor/nile-rte-divider.ts +9 -0
- package/src/nile-rich-text-editor/nile-rte-link.ts +161 -0
- package/src/nile-rich-text-editor/nile-rte-mentions-item.ts +45 -0
- package/src/nile-rich-text-editor/nile-rte-mentions.ts +618 -0
- package/src/nile-rich-text-editor/nile-rte-preview.ts +9 -0
- package/src/nile-rich-text-editor/nile-rte-select.ts +249 -0
- package/src/nile-rich-text-editor/nile-rte-toolbar-item.ts +13 -0
- package/src/nile-rich-text-editor/nile-rte-toolbar.ts +9 -0
- package/src/nile-rich-text-editor/utils.ts +643 -0
- package/src/nile-select/nile-select.css.ts +1 -1
- package/src/nile-select/nile-select.ts +30 -2
- package/src/nile-select/virtual-scroll-helper.ts +2 -0
- package/src/nile-stepper-item/nile-stepper-item.ts +5 -5
- package/src/nile-vertical-stepper-item/nile-vertical-stepper-item.ts +4 -4
- package/src/nile-virtual-select/nile-virtual-select.css.ts +29 -1
- package/src/nile-virtual-select/nile-virtual-select.ts +158 -27
- package/src/nile-virtual-select/renderer.ts +10 -8
- package/src/nile-virtual-select/selection-manager.ts +1 -1
- package/vscode-html-custom-data.json +363 -34
- 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
|
@@ -40,6 +40,7 @@ import '../nile-virtual-select/nile-virtual-select';
|
|
|
40
40
|
import { VirtualScrollHelper } from './virtual-scroll-helper';
|
|
41
41
|
import NileOptionGroup from '../nile-option-group/nile-option-group';
|
|
42
42
|
import { GroupAttributes } from './nile-select.interface';
|
|
43
|
+
import { ResizeController } from '@lit-labs/observers/resize-controller.js';
|
|
43
44
|
|
|
44
45
|
type NileRemoveEvent = CustomEvent<Record<PropertyKey, never>>;
|
|
45
46
|
|
|
@@ -120,6 +121,7 @@ export class NileSelect extends NileElement implements NileFormControl{
|
|
|
120
121
|
private scrollTimeout: number | undefined;
|
|
121
122
|
private scrolling = false;
|
|
122
123
|
private options: NileOption[] = [];
|
|
124
|
+
private resizeController?: ResizeController;
|
|
123
125
|
|
|
124
126
|
@query('.select') popup: NilePopup;
|
|
125
127
|
@query('.select__combobox') combobox: HTMLSlotElement;
|
|
@@ -191,6 +193,7 @@ export class NileSelect extends NileElement implements NileFormControl{
|
|
|
191
193
|
|
|
192
194
|
@property({ attribute: true, reflect: true }) helpText = '';
|
|
193
195
|
@property({ attribute: 'help-text', reflect: true }) help_text = '';
|
|
196
|
+
@property({ type: Boolean, attribute: true, reflect: true }) autoResize = false;
|
|
194
197
|
|
|
195
198
|
@property({ attribute: 'error-message', reflect: true }) errorMessage = '';
|
|
196
199
|
|
|
@@ -274,6 +277,9 @@ export class NileSelect extends NileElement implements NileFormControl{
|
|
|
274
277
|
/** To auto focus the search input when the select is opened */
|
|
275
278
|
@property({ type: Boolean, reflect: true, attribute: true }) autoFocusSearch = false;
|
|
276
279
|
|
|
280
|
+
/** loading indicator for virtual select */
|
|
281
|
+
@property({ type: Boolean, reflect: true, attribute: true }) loading = false;
|
|
282
|
+
|
|
277
283
|
/** Gets the validity state object */
|
|
278
284
|
get validity() {
|
|
279
285
|
return this.valueInput?.validity;
|
|
@@ -315,10 +321,30 @@ export class NileSelect extends NileElement implements NileFormControl{
|
|
|
315
321
|
this.emit('nile-destroy');
|
|
316
322
|
}
|
|
317
323
|
|
|
324
|
+
private setupResizeObserver() {
|
|
325
|
+
if (this.autoResize) {
|
|
326
|
+
const tagsContainer = this.shadowRoot?.querySelector('.select__tags');
|
|
327
|
+
if (tagsContainer) {
|
|
328
|
+
this.resizeController = new ResizeController(this, {
|
|
329
|
+
callback: () => this.calculateTotalWidthOfTags()
|
|
330
|
+
});
|
|
331
|
+
this.resizeController.observe(tagsContainer);
|
|
332
|
+
}
|
|
333
|
+
} else {
|
|
334
|
+
this.resizeController?.unobserve?.(
|
|
335
|
+
this.shadowRoot?.querySelector('.select__tags') as Element
|
|
336
|
+
);
|
|
337
|
+
this.resizeController = undefined;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
|
|
318
341
|
protected updated(_changedProperties: PropertyValues): void {
|
|
319
342
|
if(_changedProperties.has('multiple')) {
|
|
320
343
|
this.setCheckBoxInOption(this.multiple as boolean);
|
|
321
344
|
}
|
|
345
|
+
if (_changedProperties.has('autoResize')) {
|
|
346
|
+
this.setupResizeObserver();
|
|
347
|
+
}
|
|
322
348
|
}
|
|
323
349
|
|
|
324
350
|
protected firstUpdated(_changedProperties: PropertyValues): void {
|
|
@@ -326,6 +352,7 @@ export class NileSelect extends NileElement implements NileFormControl{
|
|
|
326
352
|
this.handleGroupSearchChange();
|
|
327
353
|
}
|
|
328
354
|
|
|
355
|
+
this.setupResizeObserver();
|
|
329
356
|
if(_changedProperties.has('multiple')) {
|
|
330
357
|
this.setCheckBoxInOption(this.multiple as boolean);
|
|
331
358
|
}
|
|
@@ -945,8 +972,9 @@ export class NileSelect extends NileElement implements NileFormControl{
|
|
|
945
972
|
const allOptions = this.getAllOptions();
|
|
946
973
|
const value = Array.isArray(this.value) ? this.value : [this.value];
|
|
947
974
|
|
|
948
|
-
|
|
949
|
-
|
|
975
|
+
if(!this.enableVirtualScroll) {
|
|
976
|
+
this.setSelectedOptions(allOptions.filter(el => value.includes(el.value)));
|
|
977
|
+
}
|
|
950
978
|
}
|
|
951
979
|
|
|
952
980
|
@watch('open', { waitUntilFirstUpdate: true })
|
|
@@ -19,6 +19,7 @@ export class VirtualScrollHelper {
|
|
|
19
19
|
<nile-virtual-select
|
|
20
20
|
.name=${component.name}
|
|
21
21
|
.value=${component.value}
|
|
22
|
+
.autoResize=${component.autoResize}
|
|
22
23
|
.placeholder=${component.placeholder}
|
|
23
24
|
.size=${component.size}
|
|
24
25
|
.searchEnabled=${component.searchEnabled}
|
|
@@ -48,6 +49,7 @@ export class VirtualScrollHelper {
|
|
|
48
49
|
.maxOptionsVisible=${component.maxOptionsVisible}
|
|
49
50
|
.data=${component.data}
|
|
50
51
|
.open=${component.open}
|
|
52
|
+
.loading=${component.loading}
|
|
51
53
|
exportparts="
|
|
52
54
|
select-options,
|
|
53
55
|
select-no-results,
|
|
@@ -103,8 +103,8 @@ export class NileStepperItem extends NileElement {
|
|
|
103
103
|
|
|
104
104
|
<div part="bulletin" class=${classMap({ 'stepper__item__bulletin':true, 'stepper__item__bulletin--inline': !this.contentBelow })}>
|
|
105
105
|
${showCompletedIcon ?
|
|
106
|
-
html`<div class="${classMap({ 'stepper__bulletin--icon':true, 'stepper__bulletin__icon--active':isCurrent })}">${this.getSvg()}</div>`
|
|
107
|
-
: html`<div class="${classMap({ 'stepper__bulletin--dot':true, 'stepper__bulletin__dot--active':isCurrent })}"></div>`
|
|
106
|
+
html`<div part="bulletin-icon" class="${classMap({ 'stepper__bulletin--icon':true, 'stepper__bulletin__icon--active':isCurrent })}">${this.getSvg()}</div>`
|
|
107
|
+
: html`<div part="bulletin-dot" class="${classMap({ 'stepper__bulletin--dot':true, 'stepper__bulletin__dot--active':isCurrent })}"></div>`
|
|
108
108
|
}
|
|
109
109
|
</div>
|
|
110
110
|
|
|
@@ -115,7 +115,7 @@ export class NileStepperItem extends NileElement {
|
|
|
115
115
|
${this.contentBelow || !this.title ? nothing:html`
|
|
116
116
|
|
|
117
117
|
<div part="content-above" class="stepper__item__content--above">
|
|
118
|
-
<div class="${classMap({ 'stepper__content__title':true, 'stepper__content__title--active':isCurrent })}">
|
|
118
|
+
<div part="title_above" class="${classMap({ 'stepper__content__title':true, 'stepper__content__title--active':isCurrent })}">
|
|
119
119
|
${this.title}
|
|
120
120
|
</div>
|
|
121
121
|
<div class="${classMap({ 'stepper__content__subtitle':true, 'stepper__content__subtitle--active':isCurrent })}">${this.subtitle}</div>
|
|
@@ -132,10 +132,10 @@ export class NileStepperItem extends NileElement {
|
|
|
132
132
|
${this.contentBelow?
|
|
133
133
|
html`
|
|
134
134
|
<div part="content-below" class="stepper__item__content--below">
|
|
135
|
-
<div part="
|
|
135
|
+
<div part="title_below" class="${classMap({ 'stepper__content__title':true, 'stepper__content__title--active':isCurrent })}">
|
|
136
136
|
${this.title}
|
|
137
137
|
</div>
|
|
138
|
-
<div part="
|
|
138
|
+
<div part="subtitle_below" class="${classMap({ 'stepper__content__subtitle':true, 'stepper__content__subtitle--active':isCurrent })}">${this.subtitle}</div>
|
|
139
139
|
</div>
|
|
140
140
|
`:nothing}
|
|
141
141
|
</div>
|
|
@@ -88,12 +88,12 @@ export class NileVerticalStepperItem extends NileElement {
|
|
|
88
88
|
<div part="connector" class="stepper-item__connector-content">
|
|
89
89
|
<div part="bulletin" class="stepper__item__bulletin">
|
|
90
90
|
${showCompletedIcon ?
|
|
91
|
-
html`<div class="${classMap({ 'stepper__bulletin--icon':true, 'stepper__bulletin__icon--active':isCurrent })}">${this.getSvg()}</div>`
|
|
92
|
-
: html`<div class="${classMap({ 'stepper__bulletin--dot':true, 'stepper__bulletin__dot--active':isCurrent })}"></div>`
|
|
91
|
+
html`<div part="bulletin-icon" class="${classMap({ 'stepper__bulletin--icon':true, 'stepper__bulletin__icon--active':isCurrent })}">${this.getSvg()}</div>`
|
|
92
|
+
: html`<div part="bulletin-dot" class="${classMap({ 'stepper__bulletin--dot':true, 'stepper__bulletin__dot--active':isCurrent })}"></div>`
|
|
93
93
|
}
|
|
94
94
|
</div>
|
|
95
|
-
<div class="stepper__item__line__container">
|
|
96
|
-
${this.isLast?nothing : html`<div class="${classMap({ 'stepper__item__line':true, 'stepper__item__line--active':suffixStepperLineActive })}"></div>`}
|
|
95
|
+
<div part="line-container" class="stepper__item__line__container">
|
|
96
|
+
${this.isLast?nothing : html`<div part="line" class="${classMap({ 'stepper__item__line':true, 'stepper__item__line--active':suffixStepperLineActive })}"></div>`}
|
|
97
97
|
</div>
|
|
98
98
|
</div>
|
|
99
99
|
<div part="content" class="stepper__item__content">
|
|
@@ -438,7 +438,7 @@ export const styles = css`
|
|
|
438
438
|
position: sticky;
|
|
439
439
|
bottom: 0px;
|
|
440
440
|
background: var(--nile-colors-neutral-100, var(--ng-colors-bg-secondary));
|
|
441
|
-
border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));
|
|
441
|
+
border-top: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-secondary));
|
|
442
442
|
display: flex;
|
|
443
443
|
height: 15px;
|
|
444
444
|
/* Auto layout */
|
|
@@ -503,6 +503,34 @@ export const styles = css`
|
|
|
503
503
|
.virtualized nile-option[selected]::part(base) {
|
|
504
504
|
color: var(--nile-colors-primary-600, var(--ng-colors-text-brand-secondary-700));
|
|
505
505
|
}
|
|
506
|
+
|
|
507
|
+
.virtual-select-loader {
|
|
508
|
+
position: absolute;
|
|
509
|
+
display: flex;
|
|
510
|
+
justify-content: center;
|
|
511
|
+
align-items: center;
|
|
512
|
+
width: 100%;
|
|
513
|
+
height: 75%;
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
.select__footer.loading, .select__options.loading {
|
|
517
|
+
opacity: 0.5;
|
|
518
|
+
pointer-events: none;
|
|
519
|
+
}
|
|
520
|
+
|
|
521
|
+
.virtual-select-loader {
|
|
522
|
+
position: absolute;
|
|
523
|
+
display: flex;
|
|
524
|
+
justify-content: center;
|
|
525
|
+
align-items: center;
|
|
526
|
+
width: 100%;
|
|
527
|
+
height: 75%;
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
.select__footer.loading, .select__options.loading {
|
|
531
|
+
opacity: 0.5;
|
|
532
|
+
pointer-events: none;
|
|
533
|
+
}
|
|
506
534
|
`;
|
|
507
535
|
|
|
508
536
|
export default [styles];
|
|
@@ -16,6 +16,7 @@ import '../nile-icon';
|
|
|
16
16
|
import '../nile-popup/nile-popup';
|
|
17
17
|
import '../nile-tag/nile-tag';
|
|
18
18
|
import '../nile-checkbox/nile-checkbox';
|
|
19
|
+
import '../nile-loader/nile-loader';
|
|
19
20
|
import { animateTo, stopAnimations } from '../internal/animate';
|
|
20
21
|
import { classMap } from 'lit/directives/class-map.js';
|
|
21
22
|
import { query, state } from 'lit/decorators.js';
|
|
@@ -29,7 +30,7 @@ import { HasSlotController } from '../internal/slot';
|
|
|
29
30
|
import { waitForEvent } from '../internal/event';
|
|
30
31
|
import { watch } from '../internal/watch';
|
|
31
32
|
import NileElement from '../internal/nile-element';
|
|
32
|
-
import type { CSSResultGroup, TemplateResult } from 'lit';
|
|
33
|
+
import type { CSSResultGroup, PropertyValues, TemplateResult } from 'lit';
|
|
33
34
|
import type { NileFormControl } from '../internal/nile-element';
|
|
34
35
|
import type NileOption from '../nile-option/nile-option';
|
|
35
36
|
import type NilePopup from '../nile-popup/nile-popup';
|
|
@@ -39,6 +40,7 @@ import type { VirtualOption, NileRemoveEvent, RenderItemConfig } from './types.j
|
|
|
39
40
|
import { VirtualSelectSelectionManager } from './selection-manager.js';
|
|
40
41
|
import { VirtualSelectSearchManager } from './search-manager.js';
|
|
41
42
|
import { VirtualSelectRenderer } from './renderer.js';
|
|
43
|
+
import { ResizeController } from '@lit-labs/observers/resize-controller.js';
|
|
42
44
|
|
|
43
45
|
/**
|
|
44
46
|
* Nile Virtual Select component.
|
|
@@ -73,6 +75,10 @@ import { VirtualSelectRenderer } from './renderer.js';
|
|
|
73
75
|
* @event nile-hide - Emitted when the select's menu closes.
|
|
74
76
|
* @event nile-after-hide - Emitted after the select's menu closes and all animations are complete.
|
|
75
77
|
* @event nile-invalid - Emitted when the form control has been checked for validity and its constraints aren't satisfied.
|
|
78
|
+
* @event nile-search - Emitted when the user types in the search input. The event payload includes the search query for backend search functionality.
|
|
79
|
+
* @event nile-scroll - Emitted when the user scrolls within the virtualized container. The event payload includes scroll position information.
|
|
80
|
+
* @event nile-scroll-start - Emitted when the user starts scrolling within the virtualized container.
|
|
81
|
+
* @event nile-scroll-end - Emitted when the user stops scrolling and reaches the bottom of the virtualized container (debounced).
|
|
76
82
|
*
|
|
77
83
|
* @csspart form-control - The form control that wraps the label, input, and help text.
|
|
78
84
|
* @csspart form-control-label - The label's wrapper.
|
|
@@ -111,6 +117,9 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
111
117
|
@state() displayLabel = '';
|
|
112
118
|
@state() selectedOptions: VirtualOption[] = [];
|
|
113
119
|
@state() oldValue: string | string[] = '';
|
|
120
|
+
|
|
121
|
+
private scrollTimeout: number | undefined;
|
|
122
|
+
private scrolling = false;
|
|
114
123
|
|
|
115
124
|
/** The name of the select, submitted as a name/value pair with form data. */
|
|
116
125
|
@property() name = '';
|
|
@@ -141,6 +150,9 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
141
150
|
/** Placeholder text to show as a hint when the select is empty. */
|
|
142
151
|
@property() placeholder = 'Select...';
|
|
143
152
|
|
|
153
|
+
/** Enable automatic resizing of tags area */
|
|
154
|
+
@property({ type: Boolean }) autoResize = false;
|
|
155
|
+
|
|
144
156
|
/** Current search value */
|
|
145
157
|
@state() searchValue: string = '';
|
|
146
158
|
|
|
@@ -156,6 +168,9 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
156
168
|
/** Show loading state */
|
|
157
169
|
@property({ type: Boolean, reflect: true }) optionsLoading = false;
|
|
158
170
|
|
|
171
|
+
/** Show loading state using nile-loader */
|
|
172
|
+
@property({ type: Boolean, reflect: true, attribute: true }) loading = false;
|
|
173
|
+
|
|
159
174
|
/** Allows more than one option to be selected. */
|
|
160
175
|
@property({ type: Boolean, reflect: true }) multiple = false;
|
|
161
176
|
|
|
@@ -240,6 +255,7 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
240
255
|
maxOptionsVisible = 3;
|
|
241
256
|
|
|
242
257
|
@state() oldMaxOptionsVisible: number = 1;
|
|
258
|
+
@state() showListbox: boolean = false;
|
|
243
259
|
|
|
244
260
|
/** Gets the validity state object */
|
|
245
261
|
get validity() {
|
|
@@ -265,6 +281,25 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
265
281
|
|
|
266
282
|
disconnectedCallback() {
|
|
267
283
|
this.removeOpenListeners();
|
|
284
|
+
// Clear any pending scroll timeout to prevent memory leaks
|
|
285
|
+
if (this.scrollTimeout) {
|
|
286
|
+
clearTimeout(this.scrollTimeout);
|
|
287
|
+
this.scrollTimeout = undefined;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
protected updated(changedProperties: PropertyValues): void {
|
|
292
|
+
if(changedProperties.has('value')) {
|
|
293
|
+
this.selectionChanged();
|
|
294
|
+
}
|
|
295
|
+
if (changedProperties.has('autoResize')) {
|
|
296
|
+
const tagsDiv = this.shadowRoot?.querySelector('.select__tags') as HTMLElement;
|
|
297
|
+
if (this.autoResize && tagsDiv) {
|
|
298
|
+
this.resizeController.observe(tagsDiv);
|
|
299
|
+
} else if (tagsDiv) {
|
|
300
|
+
this.resizeController.unobserve(tagsDiv);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
268
303
|
}
|
|
269
304
|
|
|
270
305
|
private initializeComponent(): void {
|
|
@@ -307,18 +342,21 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
307
342
|
this.handleDocumentFocusIn = this.handleDocumentFocusIn.bind(this);
|
|
308
343
|
this.handleDocumentKeyDown = this.handleDocumentKeyDown.bind(this);
|
|
309
344
|
this.handleDocumentMouseDown = this.handleDocumentMouseDown.bind(this);
|
|
345
|
+
this.handleWindowError = this.handleWindowError.bind(this);
|
|
310
346
|
}
|
|
311
347
|
|
|
312
348
|
private addOpenListeners(): void {
|
|
313
349
|
document.addEventListener('focusin', this.handleDocumentFocusIn);
|
|
314
350
|
document.addEventListener('keydown', this.handleDocumentKeyDown);
|
|
315
351
|
document.addEventListener('mousedown', this.handleDocumentMouseDown);
|
|
352
|
+
window.addEventListener('error', this.handleWindowError);
|
|
316
353
|
}
|
|
317
354
|
|
|
318
355
|
private removeOpenListeners(): void {
|
|
319
356
|
document.removeEventListener('focusin', this.handleDocumentFocusIn);
|
|
320
357
|
document.removeEventListener('keydown', this.handleDocumentKeyDown);
|
|
321
358
|
document.removeEventListener('mousedown', this.handleDocumentMouseDown);
|
|
359
|
+
window.removeEventListener('error', this.handleWindowError);
|
|
322
360
|
}
|
|
323
361
|
|
|
324
362
|
private handleFocus(): void {
|
|
@@ -405,6 +443,19 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
405
443
|
}
|
|
406
444
|
};
|
|
407
445
|
|
|
446
|
+
/**
|
|
447
|
+
* This is a workaround for an error in the Lit Labs virtualizer.
|
|
448
|
+
* Since there are no specific guidelines available to fix the issue,
|
|
449
|
+
* we are catching only the error message related to the virtualizer.
|
|
450
|
+
*/
|
|
451
|
+
private handleWindowError = (event: ErrorEvent): void => {
|
|
452
|
+
const errorMessage = event.error?.message || event.message || '';
|
|
453
|
+
if (errorMessage.includes('Cannot read properties of null (reading \'insertBefore\')')) {
|
|
454
|
+
event.preventDefault();
|
|
455
|
+
return;
|
|
456
|
+
}
|
|
457
|
+
};
|
|
458
|
+
|
|
408
459
|
private handleFooterClick(event: MouseEvent): void {
|
|
409
460
|
event.stopPropagation();
|
|
410
461
|
event.preventDefault();
|
|
@@ -420,9 +471,10 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
420
471
|
|
|
421
472
|
if (this.showSelected) {
|
|
422
473
|
const selectedValues = Array.isArray(this.value) ? this.value : [this.value];
|
|
423
|
-
this.data = this.originalOptionItems.filter((item: any) =>
|
|
424
|
-
|
|
425
|
-
|
|
474
|
+
this.data = this.originalOptionItems.filter((item: any) => {
|
|
475
|
+
const itemValue = this.getItemValue(item);
|
|
476
|
+
return selectedValues.some(val => String(val) === String(itemValue));
|
|
477
|
+
});
|
|
426
478
|
} else {
|
|
427
479
|
this.data = [...this.originalOptionItems];
|
|
428
480
|
}
|
|
@@ -456,6 +508,16 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
456
508
|
this.open = !this.open;
|
|
457
509
|
}
|
|
458
510
|
|
|
511
|
+
private resizeController = new ResizeController(this, {
|
|
512
|
+
callback: (entries: ResizeObserverEntry[]) => {
|
|
513
|
+
for (const entry of entries) {
|
|
514
|
+
if (entry.target.classList.contains('select__tags')) {
|
|
515
|
+
this.calculateTotalWidthOfTags();
|
|
516
|
+
}
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
});
|
|
520
|
+
|
|
459
521
|
private shouldIgnoreComboboxClick(event: MouseEvent): boolean {
|
|
460
522
|
const path = event.composedPath();
|
|
461
523
|
const isIconButton = path.some(
|
|
@@ -617,6 +679,7 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
617
679
|
|
|
618
680
|
this.calculateTotalWidthOfTags();
|
|
619
681
|
}
|
|
682
|
+
|
|
620
683
|
|
|
621
684
|
handleSearchFocus(): void {
|
|
622
685
|
document.removeEventListener('keydown', this.handleDocumentKeyDown);
|
|
@@ -628,9 +691,65 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
628
691
|
|
|
629
692
|
handleSearchChange(e: any): void {
|
|
630
693
|
this.searchValue = e.detail.value;
|
|
694
|
+
|
|
695
|
+
this.emit('nile-search', {
|
|
696
|
+
query: this.searchValue,
|
|
697
|
+
name: this.name
|
|
698
|
+
});
|
|
699
|
+
|
|
631
700
|
if (!this.disableLocalSearch) {
|
|
632
701
|
this.filterVirtualOptions(this.searchValue);
|
|
633
702
|
this.resetScrollPosition();
|
|
703
|
+
this.updateComplete.then(() => {
|
|
704
|
+
const virtualized = this.shadowRoot?.querySelector('.virtualized') as HTMLElement;
|
|
705
|
+
if (virtualized) {
|
|
706
|
+
if (this.data.length <= 5) {
|
|
707
|
+
virtualized.classList.add('no-scroll');
|
|
708
|
+
} else {
|
|
709
|
+
virtualized.classList.remove('no-scroll');
|
|
710
|
+
}
|
|
711
|
+
}
|
|
712
|
+
});
|
|
713
|
+
}
|
|
714
|
+
}
|
|
715
|
+
|
|
716
|
+
handleScroll(e: Event): void {
|
|
717
|
+
if(this.showSelected) {
|
|
718
|
+
return;
|
|
719
|
+
}
|
|
720
|
+
|
|
721
|
+
const target = e.target as HTMLElement;
|
|
722
|
+
|
|
723
|
+
this.emit('nile-scroll', {
|
|
724
|
+
scrollTop: target.scrollTop,
|
|
725
|
+
scrollLeft: target.scrollLeft,
|
|
726
|
+
name: this.name
|
|
727
|
+
});
|
|
728
|
+
|
|
729
|
+
if (!this.scrolling) {
|
|
730
|
+
this.scrolling = true;
|
|
731
|
+
this.emit('nile-scroll-start', {
|
|
732
|
+
scrollTop: target.scrollTop,
|
|
733
|
+
scrollLeft: target.scrollLeft,
|
|
734
|
+
name: this.name
|
|
735
|
+
});
|
|
736
|
+
}
|
|
737
|
+
|
|
738
|
+
clearTimeout(this.scrollTimeout);
|
|
739
|
+
this.scrollTimeout = window.setTimeout(() => {
|
|
740
|
+
if (this.scrolling) {
|
|
741
|
+
this.scrolling = false;
|
|
742
|
+
}
|
|
743
|
+
}, 300);
|
|
744
|
+
|
|
745
|
+
const isAtBottom = Math.ceil(target.scrollTop) >= Math.floor(target.scrollHeight - target.offsetHeight);
|
|
746
|
+
if (isAtBottom && !this.searchValue) {
|
|
747
|
+
this.emit('nile-scroll-end', {
|
|
748
|
+
scrollTop: target.scrollTop,
|
|
749
|
+
scrollLeft: target.scrollLeft,
|
|
750
|
+
name: this.name,
|
|
751
|
+
isAtBottom: true
|
|
752
|
+
});
|
|
634
753
|
}
|
|
635
754
|
}
|
|
636
755
|
|
|
@@ -670,18 +789,18 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
670
789
|
|
|
671
790
|
@watch('data', { waitUntilFirstUpdate: true })
|
|
672
791
|
handleDataChange(): void {
|
|
792
|
+
if (this.data.length > 0 && this.open && !this.showSelected && !this.searchValue) {
|
|
793
|
+
this.originalOptionItems = [...this.data];
|
|
794
|
+
}
|
|
795
|
+
|
|
673
796
|
this.selectionChanged();
|
|
674
797
|
// Show no results message when data is empty and not loading
|
|
675
|
-
if (!this.optionsLoading && this.data.length === 0) {
|
|
798
|
+
if (!this.optionsLoading && !this.loading && this.data.length === 0) {
|
|
676
799
|
this.showNoResults = true;
|
|
677
800
|
} else if (this.data.length > 0) {
|
|
678
801
|
this.showNoResults = false;
|
|
679
802
|
}
|
|
680
803
|
this.requestUpdate();
|
|
681
|
-
|
|
682
|
-
if (this.open) {
|
|
683
|
-
this.resetScrollPosition();
|
|
684
|
-
}
|
|
685
804
|
}
|
|
686
805
|
|
|
687
806
|
@watch('renderItemConfig', { waitUntilFirstUpdate: true })
|
|
@@ -705,8 +824,10 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
705
824
|
async handleOpenChange(): Promise<void> {
|
|
706
825
|
if (this.open && !this.disabled) {
|
|
707
826
|
await this.handleOpen();
|
|
827
|
+
this.showListbox = true;
|
|
708
828
|
} else {
|
|
709
829
|
await this.handleClose();
|
|
830
|
+
this.showListbox = false;
|
|
710
831
|
}
|
|
711
832
|
}
|
|
712
833
|
|
|
@@ -745,7 +866,7 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
745
866
|
}
|
|
746
867
|
|
|
747
868
|
private initializeOriginalItems(): void {
|
|
748
|
-
if (this.
|
|
869
|
+
if (this.data.length > 0) {
|
|
749
870
|
this.originalOptionItems = [...this.data];
|
|
750
871
|
}
|
|
751
872
|
}
|
|
@@ -893,7 +1014,7 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
893
1014
|
>
|
|
894
1015
|
${this.renderCustomSelect(hasCustomSelect)}
|
|
895
1016
|
${this.renderCombobox(hasCustomSelect, hasClearIcon)}
|
|
896
|
-
${this.renderListbox()}
|
|
1017
|
+
${this.showListbox ? this.renderListbox() : html``}
|
|
897
1018
|
</nile-popup>
|
|
898
1019
|
`;
|
|
899
1020
|
}
|
|
@@ -1125,17 +1246,26 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
1125
1246
|
}
|
|
1126
1247
|
|
|
1127
1248
|
private renderLoader(): TemplateResult {
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1249
|
+
if (this.loading) {
|
|
1250
|
+
return html`
|
|
1251
|
+
<span part="loader" class="virtual-select-loader">
|
|
1252
|
+
<nile-loader size="sm"></nile-loader>
|
|
1253
|
+
</span>
|
|
1254
|
+
`;
|
|
1255
|
+
}
|
|
1256
|
+
|
|
1257
|
+
if (this.optionsLoading) {
|
|
1258
|
+
return html`
|
|
1259
|
+
<span part="loader" class="select__loader">
|
|
1260
|
+
<nile-icon
|
|
1261
|
+
class="select__loader--icon"
|
|
1262
|
+
name="button-loading-blue"
|
|
1263
|
+
></nile-icon>
|
|
1264
|
+
</span>
|
|
1265
|
+
`;
|
|
1266
|
+
}
|
|
1267
|
+
|
|
1268
|
+
return html``;
|
|
1139
1269
|
}
|
|
1140
1270
|
|
|
1141
1271
|
private renderFooter(): TemplateResult {
|
|
@@ -1143,7 +1273,7 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
1143
1273
|
? html`
|
|
1144
1274
|
<div
|
|
1145
1275
|
part="footer"
|
|
1146
|
-
class="select__footer"
|
|
1276
|
+
class="select__footer ${this.loading ? 'loading' : ''}"
|
|
1147
1277
|
@click="${this.handleFooterClick}"
|
|
1148
1278
|
>
|
|
1149
1279
|
<span
|
|
@@ -1198,7 +1328,8 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
1198
1328
|
this.renderItemConfig?.getValue,
|
|
1199
1329
|
this.showNoResults,
|
|
1200
1330
|
this.noResultsMessage,
|
|
1201
|
-
this.optionsLoading
|
|
1331
|
+
this.optionsLoading || this.loading,
|
|
1332
|
+
this.handleScroll.bind(this)
|
|
1202
1333
|
);
|
|
1203
1334
|
}
|
|
1204
1335
|
|
|
@@ -1273,16 +1404,16 @@ export class NileVirtualSelect extends NileElement implements NileFormControl {
|
|
|
1273
1404
|
|
|
1274
1405
|
private resetScrollPosition(): void {
|
|
1275
1406
|
this.updateComplete.then(() => {
|
|
1276
|
-
if (this.virtualizedContainer) {
|
|
1407
|
+
if (this.virtualizedContainer && this.virtualizedContainer.isConnected) {
|
|
1277
1408
|
this.virtualizedContainer.scrollTop = 0;
|
|
1278
1409
|
|
|
1279
1410
|
const listbox = this.shadowRoot?.querySelector('.select__listbox') as HTMLElement;
|
|
1280
|
-
if (listbox) {
|
|
1411
|
+
if (listbox && listbox.isConnected) {
|
|
1281
1412
|
listbox.scrollTop = 0;
|
|
1282
1413
|
}
|
|
1283
1414
|
|
|
1284
1415
|
const virtualizer = this.virtualizedContainer.querySelector('lit-virtualizer') as HTMLElement;
|
|
1285
|
-
if (virtualizer) {
|
|
1416
|
+
if (virtualizer && virtualizer.isConnected) {
|
|
1286
1417
|
virtualizer.scrollTop = 0;
|
|
1287
1418
|
}
|
|
1288
1419
|
}
|
|
@@ -21,13 +21,14 @@ export class VirtualSelectRenderer {
|
|
|
21
21
|
getItemValue?: (item: any) => string,
|
|
22
22
|
showNoResults?: boolean,
|
|
23
23
|
noResultsMessage?: string,
|
|
24
|
-
|
|
24
|
+
loading?: boolean,
|
|
25
|
+
onScroll?: (e: Event) => void
|
|
25
26
|
): TemplateResult {
|
|
26
27
|
return html`
|
|
27
28
|
<div part="select-options" class="select__options ${
|
|
28
29
|
searchEnabled ? 'select__options__search-enabled' : ``
|
|
29
|
-
}">
|
|
30
|
-
${showNoResults && !
|
|
30
|
+
} ${loading ? 'loading' : ''}">
|
|
31
|
+
${showNoResults && !loading
|
|
31
32
|
? html`
|
|
32
33
|
<div part="select-no-results" class="select__no-results">
|
|
33
34
|
${noResultsMessage || 'No results found'}
|
|
@@ -37,6 +38,7 @@ export class VirtualSelectRenderer {
|
|
|
37
38
|
<div
|
|
38
39
|
class="virtualized"
|
|
39
40
|
part="virtualized"
|
|
41
|
+
@scroll=${onScroll}
|
|
40
42
|
>
|
|
41
43
|
${VirtualSelectRenderer.shouldUseVirtualizer(data)
|
|
42
44
|
? html`
|
|
@@ -70,12 +72,12 @@ export class VirtualSelectRenderer {
|
|
|
70
72
|
|
|
71
73
|
const optionValue = valueFn(item);
|
|
72
74
|
const displayText = displayTextFn(item);
|
|
73
|
-
const isDisabled = item
|
|
74
|
-
const className = item
|
|
75
|
+
const isDisabled = item?.disabled || false;
|
|
76
|
+
const className = item?.className;
|
|
75
77
|
|
|
76
78
|
let isSelected = false;
|
|
77
79
|
if (multiple) {
|
|
78
|
-
isSelected = Array.isArray(value) && value.
|
|
80
|
+
isSelected = Array.isArray(value) && value.some(v => String(v) === String(optionValue));
|
|
79
81
|
} else {
|
|
80
82
|
isSelected = (Array.isArray(value) ? value[0] : value) === optionValue;
|
|
81
83
|
}
|
|
@@ -95,9 +97,9 @@ export class VirtualSelectRenderer {
|
|
|
95
97
|
|
|
96
98
|
/**
|
|
97
99
|
* Determines whether to use virtualizer based on dataset size
|
|
98
|
-
* For small datasets (less than
|
|
100
|
+
* For small datasets (less than 5 items), use regular rendering for better sizing
|
|
99
101
|
*/
|
|
100
102
|
private static shouldUseVirtualizer(data: any[]): boolean {
|
|
101
|
-
return data.length >=
|
|
103
|
+
return data.length >= 5;
|
|
102
104
|
}
|
|
103
105
|
}
|
|
@@ -28,7 +28,7 @@ export class VirtualSelectSelectionManager {
|
|
|
28
28
|
const item = data.find((item: any) => {
|
|
29
29
|
const itemValue = valueFn(item);
|
|
30
30
|
const itemDisplayText = displayTextFn(item);
|
|
31
|
-
return itemValue === valueItem || itemDisplayText === valueItem;
|
|
31
|
+
return String(itemValue) === String(valueItem) || String(itemDisplayText) === String(valueItem);
|
|
32
32
|
});
|
|
33
33
|
|
|
34
34
|
const displayText = item ? displayTextFn(item) : valueItem;
|