@aquera/nile-elements 1.3.3 → 1.3.4-beta-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/demo/index.html +20 -27
- package/dist/{fixture-1c49c014.cjs.js → fixture-54600b35.cjs.js} +2 -2
- package/dist/{fixture-1c49c014.cjs.js.map → fixture-54600b35.cjs.js.map} +1 -1
- package/dist/fixture-5b79f853.cjs.js +395 -0
- package/dist/fixture-5b79f853.cjs.js.map +1 -0
- package/dist/fixture-73855806.cjs.js +395 -0
- package/dist/fixture-73855806.cjs.js.map +1 -0
- package/dist/fixture-90b199c4.esm.js +569 -0
- package/dist/{fixture-985bba12.esm.js → fixture-9871e8a9.esm.js} +1 -1
- package/dist/fixture-c1d78368.cjs.js +395 -0
- package/dist/fixture-c1d78368.cjs.js.map +1 -0
- package/dist/fixture-cf7bfcf5.esm.js +569 -0
- package/dist/fixture-dbd66009.cjs.js +395 -0
- package/dist/fixture-dbd66009.cjs.js.map +1 -0
- package/dist/index.js +2 -2
- package/dist/nile-accordion/nile-accordian.test.cjs.js +1 -1
- package/dist/nile-accordion/nile-accordian.test.esm.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.cjs.js +1 -1
- package/dist/nile-avatar/nile-avatar.test.esm.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.test.esm.js +1 -1
- package/dist/nile-button/nile-button.test.cjs.js +1 -1
- package/dist/nile-button/nile-button.test.esm.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.test.esm.js +1 -1
- package/dist/nile-card/nile-card.test.cjs.js +1 -1
- package/dist/nile-card/nile-card.test.esm.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.esm.js +1 -1
- package/dist/nile-chip/nile-chip.test.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.test.esm.js +1 -1
- package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js +2 -0
- package/dist/nile-code-editor/backup_nile-code-editor copy.cjs.js.map +1 -0
- package/dist/nile-code-editor/backup_nile-code-editor copy.esm.js +1 -0
- package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
- package/dist/nile-dropdown/portal-utils.cjs.js +1 -1
- package/dist/nile-dropdown/portal-utils.cjs.js.map +1 -1
- package/dist/nile-dropdown/portal-utils.esm.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
- package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
- package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
- package/dist/nile-grid/nile-grid.types.cjs.js +2 -0
- package/dist/nile-grid/nile-grid.types.cjs.js.map +1 -0
- package/dist/nile-grid/nile-grid.types.esm.js +1 -0
- package/dist/nile-grid-body/index.cjs.js +2 -0
- package/dist/nile-grid-body/index.cjs.js.map +1 -0
- package/dist/nile-grid-body/index.esm.js +1 -0
- package/dist/nile-grid-body/nile-grid-body.cjs.js +2 -0
- package/dist/nile-grid-body/nile-grid-body.cjs.js.map +1 -0
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js +2 -0
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +1 -0
- package/dist/nile-grid-body/nile-grid-body.css.esm.js +10 -0
- package/dist/nile-grid-body/nile-grid-body.esm.js +5 -0
- package/dist/nile-grid-cell-item/index.cjs.js +2 -0
- package/dist/nile-grid-cell-item/index.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/index.esm.js +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +2 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +2 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +35 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +12 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +2 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +1 -0
- package/dist/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +1 -0
- package/dist/nile-grid-head/index.cjs.js +2 -0
- package/dist/nile-grid-head/index.cjs.js.map +1 -0
- package/dist/nile-grid-head/index.esm.js +1 -0
- package/dist/nile-grid-head/nile-grid-head.cjs.js +2 -0
- package/dist/nile-grid-head/nile-grid-head.cjs.js.map +1 -0
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js +2 -0
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +1 -0
- package/dist/nile-grid-head/nile-grid-head.css.esm.js +7 -0
- package/dist/nile-grid-head/nile-grid-head.esm.js +5 -0
- package/dist/nile-grid-head-item/index.cjs.js +2 -0
- package/dist/nile-grid-head-item/index.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/index.esm.js +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +2 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +2 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +34 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +12 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +2 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +1 -0
- package/dist/nile-grid-head-item/nile-grid-head-item.utils.esm.js +1 -0
- package/dist/nile-grid-row/index.cjs.js +2 -0
- package/dist/nile-grid-row/index.cjs.js.map +1 -0
- package/dist/nile-grid-row/index.esm.js +1 -0
- package/dist/nile-grid-row/nile-grid-row.cjs.js +2 -0
- package/dist/nile-grid-row/nile-grid-row.cjs.js.map +1 -0
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js +2 -0
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -0
- package/dist/nile-grid-row/nile-grid-row.css.esm.js +15 -0
- package/dist/nile-grid-row/nile-grid-row.esm.js +7 -0
- package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
- package/dist/nile-hero/nile-hero.test.esm.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
- package/dist/nile-icon/nile-icon.test.esm.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js +1 -1
- package/dist/nile-input/nile-input.test.esm.js +1 -1
- package/dist/nile-link/nile-link.test.cjs.js +1 -1
- package/dist/nile-link/nile-link.test.esm.js +1 -1
- package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
- package/dist/nile-loader/nile-loader.test.esm.js +1 -1
- package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
- package/dist/nile-popover/nile-popover.test.esm.js +1 -1
- package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
- package/dist/nile-popup/nile-popup.test.esm.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
- package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
- package/dist/nile-radio/nile-radio.test.esm.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
- package/dist/nile-rich-text-editor/utils.cjs.js +2 -0
- package/dist/nile-rich-text-editor/utils.cjs.js.map +1 -0
- package/dist/nile-rich-text-editor/utils.esm.js +1 -0
- package/dist/nile-select/nile-select.test.cjs.js +1 -1
- package/dist/nile-select/nile-select.test.esm.js +1 -1
- package/dist/nile-sidebar/index.cjs.js +2 -0
- package/dist/nile-sidebar/index.cjs.js.map +1 -0
- package/dist/nile-sidebar/index.esm.js +75 -0
- package/dist/nile-sidebar-menu/index.cjs.js +2 -0
- package/dist/nile-sidebar-menu/index.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu/index.esm.js +1 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +2 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +2 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +38 -0
- package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +10 -0
- package/dist/nile-sidebar-menu-items/index.cjs.js +2 -0
- package/dist/nile-sidebar-menu-items/index.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu-items/index.esm.js +1 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +2 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +2 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +1 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +36 -0
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +15 -0
- package/dist/nile-sidebar-wrapper/index.cjs.js +2 -0
- package/dist/nile-sidebar-wrapper/index.cjs.js.map +1 -0
- package/dist/nile-sidebar-wrapper/index.esm.js +1 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +2 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +1 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +2 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +1 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +105 -0
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +16 -0
- package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.test.esm.js +1 -1
- package/dist/nile-textarea/nile-textarea.test.cjs.js +1 -1
- package/dist/nile-textarea/nile-textarea.test.esm.js +1 -1
- package/dist/nile-virtual-select/group-manager.cjs.js +2 -0
- package/dist/nile-virtual-select/group-manager.cjs.js.map +1 -0
- package/dist/nile-virtual-select/group-manager.esm.js +1 -0
- package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
- package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js +2 -0
- package/dist/nile-virtual-select/temp_nile-virtual-select copy.cjs.js.map +1 -0
- package/dist/nile-virtual-select/temp_nile-virtual-select copy.esm.js +231 -0
- package/dist/scopedElementsWrapper-1bff26ef.cjs.js +2 -0
- package/dist/scopedElementsWrapper-1bff26ef.cjs.js.map +1 -0
- package/dist/scopedElementsWrapper-4c29be11.esm.js +7 -0
- package/dist/scopedElementsWrapper-a112fc73.cjs.js +6 -0
- package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +1 -0
- package/dist/scopedElementsWrapper-c815042c.cjs.js +2 -0
- package/dist/scopedElementsWrapper-c815042c.cjs.js.map +1 -0
- package/dist/src/internal/portal-manager.d.ts +53 -0
- package/dist/src/internal/portal-manager.js +196 -0
- package/dist/src/internal/portal-manager.js.map +1 -0
- package/dist/src/internal/portal.d.ts +60 -0
- package/dist/src/internal/portal.js +199 -0
- package/dist/src/internal/portal.js.map +1 -0
- package/dist/src/internal/resizable-helper.d.ts +59 -0
- package/dist/src/internal/resizable-helper.js +115 -0
- package/dist/src/internal/resizable-helper.js.map +1 -0
- package/dist/src/internal/resizable-styles.d.ts +16 -0
- package/dist/src/internal/resizable-styles.js +144 -0
- package/dist/src/internal/resizable-styles.js.map +1 -0
- package/dist/src/internal/virtualizer-error-handler.d.ts +30 -0
- package/dist/src/internal/virtualizer-error-handler.js +82 -0
- package/dist/src/internal/virtualizer-error-handler.js.map +1 -0
- package/dist/src/lib/index.d.ts +7 -0
- package/dist/src/lib/index.js +8 -0
- package/dist/src/lib/index.js.map +1 -0
- package/dist/src/lib/virtualize.d.ts +32 -0
- package/dist/src/lib/virtualize.js +105 -0
- package/dist/src/lib/virtualize.js.map +1 -0
- package/dist/src/lib/virtualize.test.d.ts +7 -0
- package/dist/src/lib/virtualize.test.js +57 -0
- package/dist/src/lib/virtualize.test.js.map +1 -0
- package/dist/src/nile-badge/__snapshots__/nile-badge.test.snap.js +17 -0
- package/dist/src/nile-calendar/__snapshots__/nile-calendar.test.snap.js +310 -0
- package/dist/src/nile-card/__snapshots__/nile-card.test.snap.js +34 -0
- package/dist/src/nile-checkbox/__snapshots__/nile-checkbox.test.snap.js +31 -0
- package/dist/src/nile-code-editor/Old_theme copy.d.ts +191 -0
- package/dist/src/nile-code-editor/Old_theme copy.js +193 -0
- package/dist/src/nile-code-editor/Old_theme copy.js.map +1 -0
- package/dist/src/nile-code-editor/backup_nile-code-editor copy.d.ts +0 -0
- package/dist/src/nile-code-editor/backup_nile-code-editor copy.js +675 -0
- package/dist/src/nile-code-editor/backup_nile-code-editor copy.js.map +1 -0
- package/dist/src/nile-code-editor/theme copy.d.ts +191 -0
- package/dist/src/nile-code-editor/theme copy.js +193 -0
- package/dist/src/nile-code-editor/theme copy.js.map +1 -0
- package/dist/src/nile-dropdown/portal-utils.js +143 -59
- package/dist/src/nile-dropdown/portal-utils.js.map +1 -1
- package/dist/src/nile-floating-panel/anchor-manager.d.ts +26 -0
- package/dist/src/nile-floating-panel/anchor-manager.js +49 -0
- package/dist/src/nile-floating-panel/anchor-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/content-manager.d.ts +23 -0
- package/dist/src/nile-floating-panel/content-manager.js +67 -0
- package/dist/src/nile-floating-panel/content-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/event-manager.d.ts +38 -0
- package/dist/src/nile-floating-panel/event-manager.js +81 -0
- package/dist/src/nile-floating-panel/event-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/index.d.ts +1 -0
- package/dist/src/nile-floating-panel/index.js +2 -0
- package/dist/src/nile-floating-panel/index.js.map +1 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.css.d.ts +17 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.css.js +51 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.css.js.map +1 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.d.ts +67 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.js +203 -0
- package/dist/src/nile-floating-panel/nile-floating-panel.js.map +1 -0
- package/dist/src/nile-floating-panel/position-manager.d.ts +47 -0
- package/dist/src/nile-floating-panel/position-manager.js +94 -0
- package/dist/src/nile-floating-panel/position-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/style-manager.d.ts +31 -0
- package/dist/src/nile-floating-panel/style-manager.js +74 -0
- package/dist/src/nile-floating-panel/style-manager.js.map +1 -0
- package/dist/src/nile-floating-panel/types.d.ts +29 -0
- package/dist/src/nile-floating-panel/types.js +8 -0
- package/dist/src/nile-floating-panel/types.js.map +1 -0
- package/dist/src/nile-grid/data-processor.d.ts +37 -0
- package/dist/src/nile-grid/data-processor.js +122 -0
- package/dist/src/nile-grid/data-processor.js.map +1 -0
- package/dist/src/nile-grid/event-handlers.d.ts +35 -0
- package/dist/src/nile-grid/event-handlers.js +158 -0
- package/dist/src/nile-grid/event-handlers.js.map +1 -0
- package/dist/src/nile-grid/nile-grid.types.d.ts +3 -0
- package/dist/src/nile-grid/nile-grid.types.js +2 -0
- package/dist/src/nile-grid/nile-grid.types.js.map +1 -0
- package/dist/src/nile-grid/renderer.d.ts +8 -0
- package/dist/src/nile-grid/renderer.js +78 -0
- package/dist/src/nile-grid/renderer.js.map +1 -0
- package/dist/src/nile-grid/resize-handler.d.ts +4 -0
- package/dist/src/nile-grid/resize-handler.js +36 -0
- package/dist/src/nile-grid/resize-handler.js.map +1 -0
- package/dist/src/nile-grid/types.d.ts +32 -0
- package/dist/src/nile-grid/types.js +2 -0
- package/dist/src/nile-grid/types.js.map +1 -0
- package/dist/src/nile-grid/utils.d.ts +4 -0
- package/dist/src/nile-grid/utils.js +32 -0
- package/dist/src/nile-grid/utils.js.map +1 -0
- package/dist/src/nile-grid-body/index.d.ts +1 -0
- package/dist/src/nile-grid-body/index.js +2 -0
- package/dist/src/nile-grid-body/index.js.map +1 -0
- package/dist/src/nile-grid-body/nile-grid-body.css.d.ts +12 -0
- package/dist/src/nile-grid-body/nile-grid-body.css.js +22 -0
- package/dist/src/nile-grid-body/nile-grid-body.css.js.map +1 -0
- package/dist/src/nile-grid-body/nile-grid-body.d.ts +29 -0
- package/dist/src/nile-grid-body/nile-grid-body.js +43 -0
- package/dist/src/nile-grid-body/nile-grid-body.js.map +1 -0
- package/dist/src/nile-grid-cell-item/index.d.ts +1 -0
- package/dist/src/nile-grid-cell-item/index.js +2 -0
- package/dist/src/nile-grid-cell-item/index.js.map +1 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.d.ts +12 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js +47 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.d.ts +36 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js +93 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.js.map +1 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +10 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js +34 -0
- package/dist/src/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +1 -0
- package/dist/src/nile-grid-head/index.d.ts +1 -0
- package/dist/src/nile-grid-head/index.js +2 -0
- package/dist/src/nile-grid-head/index.js.map +1 -0
- package/dist/src/nile-grid-head/nile-grid-head.css.d.ts +12 -0
- package/dist/src/nile-grid-head/nile-grid-head.css.js +19 -0
- package/dist/src/nile-grid-head/nile-grid-head.css.js.map +1 -0
- package/dist/src/nile-grid-head/nile-grid-head.d.ts +28 -0
- package/dist/src/nile-grid-head/nile-grid-head.js +41 -0
- package/dist/src/nile-grid-head/nile-grid-head.js.map +1 -0
- package/dist/src/nile-grid-head-item/index.d.ts +1 -0
- package/dist/src/nile-grid-head-item/index.js +2 -0
- package/dist/src/nile-grid-head-item/index.js.map +1 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.d.ts +12 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js +46 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.d.ts +37 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.js +100 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.js.map +1 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.d.ts +10 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js +34 -0
- package/dist/src/nile-grid-head-item/nile-grid-head-item.utils.js.map +1 -0
- package/dist/src/nile-grid-row/index.d.ts +1 -0
- package/dist/src/nile-grid-row/index.js +2 -0
- package/dist/src/nile-grid-row/index.js.map +1 -0
- package/dist/src/nile-grid-row/nile-grid-row.css.d.ts +12 -0
- package/dist/src/nile-grid-row/nile-grid-row.css.js +27 -0
- package/dist/src/nile-grid-row/nile-grid-row.css.js.map +1 -0
- package/dist/src/nile-grid-row/nile-grid-row.d.ts +29 -0
- package/dist/src/nile-grid-row/nile-grid-row.js +45 -0
- package/dist/src/nile-grid-row/nile-grid-row.js.map +1 -0
- package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +47 -0
- package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +16 -0
- package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +75 -0
- package/dist/src/nile-menu/portal-manager.d.ts +39 -0
- package/dist/src/nile-menu/portal-manager.js +340 -0
- package/dist/src/nile-menu/portal-manager.js.map +1 -0
- package/dist/src/nile-menu/portal-utils.d.ts +21 -0
- package/dist/src/nile-menu/portal-utils.js +128 -0
- package/dist/src/nile-menu/portal-utils.js.map +1 -0
- package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +22 -0
- package/dist/src/nile-popover/popover-portal-handler.d.ts +21 -0
- package/dist/src/nile-popover/popover-portal-handler.js +106 -0
- package/dist/src/nile-popover/popover-portal-handler.js.map +1 -0
- package/dist/src/nile-portal-wrapper/index.d.ts +1 -0
- package/dist/src/nile-portal-wrapper/index.js +2 -0
- package/dist/src/nile-portal-wrapper/index.js.map +1 -0
- package/dist/src/nile-portal-wrapper/nile-portal-wrapper.d.ts +47 -0
- package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js +451 -0
- package/dist/src/nile-portal-wrapper/nile-portal-wrapper.js.map +1 -0
- package/dist/src/nile-rich-text-editor/utils.d.ts +13 -0
- package/dist/src/nile-rich-text-editor/utils.js +538 -0
- package/dist/src/nile-rich-text-editor/utils.js.map +1 -0
- package/dist/src/nile-select/body-append-manager.d.ts +90 -0
- package/dist/src/nile-select/body-append-manager.js +298 -0
- package/dist/src/nile-select/body-append-manager.js.map +1 -0
- package/dist/src/nile-sidebar/index.d.ts +28 -0
- package/dist/src/nile-sidebar/index.js +116 -0
- package/dist/src/nile-sidebar/index.js.map +1 -0
- package/dist/src/nile-sidebar-menu/index.d.ts +1 -0
- package/dist/src/nile-sidebar-menu/index.js +2 -0
- package/dist/src/nile-sidebar-menu/index.js.map +1 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.d.ts +12 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js +47 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js.map +1 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.d.ts +37 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js +84 -0
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.js.map +1 -0
- package/dist/src/nile-sidebar-menu-items/index.d.ts +1 -0
- package/dist/src/nile-sidebar-menu-items/index.js +2 -0
- package/dist/src/nile-sidebar-menu-items/index.js.map +1 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.d.ts +12 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js +45 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js.map +1 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.d.ts +35 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js +78 -0
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js.map +1 -0
- package/dist/src/nile-sidebar-wrapper/index.d.ts +1 -0
- package/dist/src/nile-sidebar-wrapper/index.js +2 -0
- package/dist/src/nile-sidebar-wrapper/index.js.map +1 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.d.ts +12 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js +114 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js.map +1 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.d.ts +35 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js +89 -0
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.js.map +1 -0
- package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +9 -0
- package/dist/src/nile-table-body/virtual-scroll-helper.js +24 -0
- package/dist/src/nile-table-body/virtual-scroll-helper.js.map +1 -0
- package/dist/src/nile-virtual-select/body-append-helper.d.ts +16 -0
- package/dist/src/nile-virtual-select/body-append-helper.js +95 -0
- package/dist/src/nile-virtual-select/body-append-helper.js.map +1 -0
- package/dist/src/nile-virtual-select/group-manager.d.ts +32 -0
- package/dist/src/nile-virtual-select/group-manager.js +134 -0
- package/dist/src/nile-virtual-select/group-manager.js.map +1 -0
- package/dist/src/nile-virtual-select/portal-utils.d.ts +65 -0
- package/dist/src/nile-virtual-select/portal-utils.js +376 -0
- package/dist/src/nile-virtual-select/portal-utils.js.map +1 -0
- package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.d.ts +273 -0
- package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js +1305 -0
- package/dist/src/nile-virtual-select/temp_nile-virtual-select copy.js.map +1 -0
- package/dist/src/nile-virtual-select/virtualizer-error-handler.d.ts +21 -0
- package/dist/src/nile-virtual-select/virtualizer-error-handler.js +56 -0
- package/dist/src/nile-virtual-select/virtualizer-error-handler.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/index.d.ts +1 -0
- package/dist/src/nile-virtual-select-disabled/index.js +2 -0
- package/dist/src/nile-virtual-select-disabled/index.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.d.ts +12 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js +538 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.css.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.d.ts +299 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js +1441 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.d.ts +7 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js +631 -0
- package/dist/src/nile-virtual-select-disabled/nile-virtual-select.test.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/portal-manager.d.ts +45 -0
- package/dist/src/nile-virtual-select-disabled/portal-manager.js +333 -0
- package/dist/src/nile-virtual-select-disabled/portal-manager.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/renderer.d.ts +16 -0
- package/dist/src/nile-virtual-select-disabled/renderer.js +79 -0
- package/dist/src/nile-virtual-select-disabled/renderer.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/search-manager.d.ts +12 -0
- package/dist/src/nile-virtual-select-disabled/search-manager.js +40 -0
- package/dist/src/nile-virtual-select-disabled/search-manager.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/selection-manager.d.ts +12 -0
- package/dist/src/nile-virtual-select-disabled/selection-manager.js +64 -0
- package/dist/src/nile-virtual-select-disabled/selection-manager.js.map +1 -0
- package/dist/src/nile-virtual-select-disabled/types.d.ts +50 -0
- package/dist/src/nile-virtual-select-disabled/types.js +8 -0
- package/dist/src/nile-virtual-select-disabled/types.js.map +1 -0
- package/dist/src/nile-virtual-table-body/index.d.ts +2 -0
- package/dist/src/nile-virtual-table-body/index.js +3 -0
- package/dist/src/nile-virtual-table-body/index.js.map +1 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +1 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +44 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +1 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +50 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +135 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +1 -0
- package/dist/src/nile-virtual-table-body/renderer.d.ts +16 -0
- package/dist/src/nile-virtual-table-body/renderer.js +49 -0
- package/dist/src/nile-virtual-table-body/renderer.js.map +1 -0
- package/dist/src/utilities/stepper-utils.d.ts +71 -0
- package/dist/src/utilities/stepper-utils.js +108 -0
- package/dist/src/utilities/stepper-utils.js.map +1 -0
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/nile-dropdown/portal-utils.ts +153 -61
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import { html } from 'lit';
|
|
8
|
+
import { virtualize } from '@lit-labs/virtualizer/virtualize.js';
|
|
9
|
+
import { unsafeHTML } from 'lit/directives/unsafe-html.js';
|
|
10
|
+
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
11
|
+
export class VirtualSelectRenderer {
|
|
12
|
+
static getVirtualizedContent(data, searchEnabled, renderItemFunction, value, multiple, getDisplayText, getItemValue, showNoResults, noResultsMessage, loading, onScroll) {
|
|
13
|
+
return html `
|
|
14
|
+
<div part="select-options" class="select__options ${searchEnabled ? 'select__options__search-enabled' : ``} ${loading ? 'loading' : ''}">
|
|
15
|
+
${showNoResults && !loading
|
|
16
|
+
? html `
|
|
17
|
+
<div part="select-no-results" class="select__no-results">
|
|
18
|
+
${noResultsMessage || 'No results found'}
|
|
19
|
+
</div>
|
|
20
|
+
`
|
|
21
|
+
: html `
|
|
22
|
+
<div
|
|
23
|
+
class="virtualized"
|
|
24
|
+
part="virtualized"
|
|
25
|
+
@scroll=${onScroll}
|
|
26
|
+
>
|
|
27
|
+
${VirtualSelectRenderer.shouldUseVirtualizer(data)
|
|
28
|
+
? html `
|
|
29
|
+
${virtualize({
|
|
30
|
+
items: data,
|
|
31
|
+
renderItem: (item) => VirtualSelectRenderer.getItemRenderFunction(item, renderItemFunction, value, multiple, getDisplayText, getItemValue),
|
|
32
|
+
scroller: true,
|
|
33
|
+
})}
|
|
34
|
+
`
|
|
35
|
+
: html `
|
|
36
|
+
${data.map((item) => VirtualSelectRenderer.getItemRenderFunction(item, renderItemFunction, value, multiple, getDisplayText, getItemValue))}
|
|
37
|
+
`}
|
|
38
|
+
</div>
|
|
39
|
+
`}
|
|
40
|
+
</div>`;
|
|
41
|
+
}
|
|
42
|
+
static getItemRenderFunction(item, renderItemFunction, value, multiple, getDisplayText, getItemValue) {
|
|
43
|
+
if (!item) {
|
|
44
|
+
return html ``;
|
|
45
|
+
}
|
|
46
|
+
const displayTextFn = getDisplayText || renderItemFunction;
|
|
47
|
+
const valueFn = getItemValue || ((item) => item?.value || item);
|
|
48
|
+
const optionValue = valueFn(item);
|
|
49
|
+
const displayText = displayTextFn(item);
|
|
50
|
+
const isDisabled = item?.disabled || false;
|
|
51
|
+
const className = item?.className;
|
|
52
|
+
let isSelected = false;
|
|
53
|
+
if (multiple) {
|
|
54
|
+
isSelected = Array.isArray(value) && value.some(v => String(v) === String(optionValue));
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
isSelected = (Array.isArray(value) ? value[0] : value) === optionValue;
|
|
58
|
+
}
|
|
59
|
+
return html `
|
|
60
|
+
<nile-option
|
|
61
|
+
value=${optionValue}
|
|
62
|
+
.selected=${isSelected}
|
|
63
|
+
.disabled=${isDisabled}
|
|
64
|
+
.showCheckbox=${multiple}
|
|
65
|
+
class=${ifDefined(className || undefined)}
|
|
66
|
+
>
|
|
67
|
+
${unsafeHTML(displayText)}
|
|
68
|
+
</nile-option>
|
|
69
|
+
`;
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Determines whether to use virtualizer based on dataset size
|
|
73
|
+
* For small datasets (less than 5 items), use regular rendering for better sizing
|
|
74
|
+
*/
|
|
75
|
+
static shouldUseVirtualizer(data) {
|
|
76
|
+
return data.length >= 5;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=renderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"renderer.js","sourceRoot":"","sources":["../../../src/nile-virtual-select-disabled/renderer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,MAAM,OAAO,qBAAqB;IAChC,MAAM,CAAC,qBAAqB,CAC1B,IAAW,EACX,aAAsB,EACtB,kBAAyC,EACzC,KAAwB,EACxB,QAAiB,EACjB,cAAsC,EACtC,YAAoC,EACpC,aAAuB,EACvB,gBAAyB,EACzB,OAAiB,EACjB,QAA6B;QAE7B,OAAO,IAAI,CAAA;0DAEP,aAAa,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,EACtD,IAAI,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;UACxB,aAAa,IAAI,CAAC,OAAO;YACzB,CAAC,CAAC,IAAI,CAAA;;kBAEE,gBAAgB,IAAI,kBAAkB;;aAE3C;YACH,CAAC,CAAC,IAAI,CAAA;;;;0BAIU,QAAQ;;kBAEhB,qBAAqB,CAAC,oBAAoB,CAAC,IAAI,CAAC;gBAChD,CAAC,CAAC,IAAI,CAAA;wBACA,UAAU,CAAC;oBACX,KAAK,EAAE,IAAI;oBACX,UAAU,EAAE,CAAC,IAAS,EAAkB,EAAE,CACxC,qBAAqB,CAAC,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,CAAC;oBACtH,QAAQ,EAAE,IAAI;iBACf,CAAC;qBACH;gBACH,CAAC,CAAC,IAAI,CAAA;wBACA,IAAI,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE,CACvB,qBAAqB,CAAC,qBAAqB,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,YAAY,CAAC,CACrH;qBACF;;aAER;aACA,CAAC;IACZ,CAAC;IAED,MAAM,CAAC,qBAAqB,CAC1B,IAAS,EACT,kBAAyC,EACzC,KAAwB,EACxB,QAAiB,EACjB,cAAsC,EACtC,YAAoC;QAEpC,IAAG,CAAC,IAAI,EAAE,CAAC;YACT,OAAO,IAAI,CAAA,EAAE,CAAC;QAChB,CAAC;QACD,MAAM,aAAa,GAAG,cAAc,IAAI,kBAAkB,CAAC;QAC3D,MAAM,OAAO,GAAG,YAAY,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC;QAErE,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,EAAE,QAAQ,IAAI,KAAK,CAAC;QAC3C,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,CAAC;QAElC,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,QAAQ,EAAE,CAAC;YACb,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QAC1F,CAAC;aAAM,CAAC;YACN,UAAU,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC;QACzE,CAAC;QAED,OAAO,IAAI,CAAA;;gBAEC,WAAW;oBACP,UAAU;oBACV,UAAU;wBACN,QAAQ;gBAChB,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC;;UAEvC,UAAU,CAAC,WAAW,CAAC;;KAE5B,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,MAAM,CAAC,oBAAoB,CAAC,IAAW;QAC7C,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IAC1B,CAAC;CACF","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, type TemplateResult } from 'lit';\nimport { virtualize } from '@lit-labs/virtualizer/virtualize.js';\nimport { unsafeHTML } from 'lit/directives/unsafe-html.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nexport class VirtualSelectRenderer {\n static getVirtualizedContent(\n data: any[], \n searchEnabled: boolean, \n renderItemFunction: (item: any) => string,\n value: string | string[],\n multiple: boolean,\n getDisplayText?: (item: any) => string,\n getItemValue?: (item: any) => string,\n showNoResults?: boolean,\n noResultsMessage?: string,\n loading?: boolean,\n onScroll?: (e: Event) => void\n ): TemplateResult {\n return html`\n <div part=\"select-options\" class=\"select__options ${\n searchEnabled ? 'select__options__search-enabled' : ``\n } ${loading ? 'loading' : ''}\">\n ${showNoResults && !loading\n ? html`\n <div part=\"select-no-results\" class=\"select__no-results\">\n ${noResultsMessage || 'No results found'}\n </div>\n `\n : html`\n <div\n class=\"virtualized\"\n part=\"virtualized\"\n @scroll=${onScroll}\n >\n ${VirtualSelectRenderer.shouldUseVirtualizer(data)\n ? html`\n ${virtualize({\n items: data,\n renderItem: (item: any): TemplateResult =>\n VirtualSelectRenderer.getItemRenderFunction(item, renderItemFunction, value, multiple, getDisplayText, getItemValue),\n scroller: true,\n })}\n `\n : html`\n ${data.map((item: any) => \n VirtualSelectRenderer.getItemRenderFunction(item, renderItemFunction, value, multiple, getDisplayText, getItemValue)\n )}\n `}\n </div>\n `}\n </div>`;\n }\n\n static getItemRenderFunction(\n item: any, \n renderItemFunction: (item: any) => string, \n value: string | string[], \n multiple: boolean,\n getDisplayText?: (item: any) => string,\n getItemValue?: (item: any) => string\n ): TemplateResult {\n if(!item) {\n return html``;\n }\n const displayTextFn = getDisplayText || renderItemFunction;\n const valueFn = getItemValue || ((item: any) => item?.value || item);\n \n const optionValue = valueFn(item);\n const displayText = displayTextFn(item);\n const isDisabled = item?.disabled || false;\n const className = item?.className;\n \n let isSelected = false;\n if (multiple) {\n isSelected = Array.isArray(value) && value.some(v => String(v) === String(optionValue));\n } else {\n isSelected = (Array.isArray(value) ? value[0] : value) === optionValue;\n }\n \n return html`\n <nile-option \n value=${optionValue} \n .selected=${isSelected} \n .disabled=${isDisabled}\n .showCheckbox=${multiple}\n class=${ifDefined(className || undefined)}\n >\n ${unsafeHTML(displayText)}\n </nile-option>\n `;\n }\n\n /**\n * Determines whether to use virtualizer based on dataset size\n * For small datasets (less than 5 items), use regular rendering for better sizing\n */\n private static shouldUseVirtualizer(data: any[]): boolean {\n return data.length >= 5;\n }\n} \n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
export declare class VirtualSelectSearchManager {
|
|
8
|
+
static filterVirtualOptions(searchValue: string, originalOptionItems: any[], data: any[], renderItemFunction: (item: any) => string, getSearchText?: (item: any) => string): {
|
|
9
|
+
filteredItems: any[];
|
|
10
|
+
showNoResults: boolean;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
export class VirtualSelectSearchManager {
|
|
8
|
+
static filterVirtualOptions(searchValue, originalOptionItems, data, renderItemFunction, getSearchText) {
|
|
9
|
+
if (originalOptionItems.length === 0 && data.length > 0) {
|
|
10
|
+
return {
|
|
11
|
+
filteredItems: [...data],
|
|
12
|
+
showNoResults: false
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
if (!originalOptionItems || originalOptionItems.length === 0) {
|
|
16
|
+
return {
|
|
17
|
+
filteredItems: [],
|
|
18
|
+
showNoResults: true
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
if (!searchValue || searchValue.trim() === '') {
|
|
22
|
+
return {
|
|
23
|
+
filteredItems: [...originalOptionItems],
|
|
24
|
+
showNoResults: false
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
const lowerCaseSearchValue = searchValue.toLowerCase();
|
|
28
|
+
const searchTextFn = getSearchText || renderItemFunction;
|
|
29
|
+
const filteredItems = originalOptionItems.filter((item) => {
|
|
30
|
+
const itemValue = searchTextFn(item);
|
|
31
|
+
const lowerCaseItemValue = itemValue.toLowerCase();
|
|
32
|
+
return lowerCaseItemValue.includes(lowerCaseSearchValue);
|
|
33
|
+
});
|
|
34
|
+
return {
|
|
35
|
+
filteredItems,
|
|
36
|
+
showNoResults: filteredItems.length === 0
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=search-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search-manager.js","sourceRoot":"","sources":["../../../src/nile-virtual-select-disabled/search-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,OAAO,0BAA0B;IACnC,MAAM,CAAC,oBAAoB,CAC3B,WAAmB,EACnB,mBAA0B,EAC1B,IAAW,EACX,kBAAyC,EACzC,aAAqC;QAErC,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxD,OAAO;gBACL,aAAa,EAAE,CAAC,GAAG,IAAI,CAAC;gBACxB,aAAa,EAAE,KAAK;aACrB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7D,OAAO;gBACL,aAAa,EAAE,EAAE;gBACjB,aAAa,EAAE,IAAI;aACpB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAC9C,OAAO;gBACL,aAAa,EAAE,CAAC,GAAG,mBAAmB,CAAC;gBACvC,aAAa,EAAE,KAAK;aACrB,CAAC;QACJ,CAAC;QAED,MAAM,oBAAoB,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,YAAY,GAAG,aAAa,IAAI,kBAAkB,CAAC;QACzD,MAAM,aAAa,GAAG,mBAAmB,CAAC,MAAM,CAAC,CAAC,IAAS,EAAE,EAAE;YAC7D,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,kBAAkB,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YACnD,OAAO,kBAAkB,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,aAAa;YACb,aAAa,EAAE,aAAa,CAAC,MAAM,KAAK,CAAC;SAC1C,CAAC;IACJ,CAAC;CACF","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport class VirtualSelectSearchManager {\n static filterVirtualOptions(\n searchValue: string,\n originalOptionItems: any[],\n data: any[], \n renderItemFunction: (item: any) => string,\n getSearchText?: (item: any) => string\n ): { filteredItems: any[], showNoResults: boolean } {\n if (originalOptionItems.length === 0 && data.length > 0) {\n return {\n filteredItems: [...data],\n showNoResults: false\n };\n }\n\n if (!originalOptionItems || originalOptionItems.length === 0) {\n return {\n filteredItems: [],\n showNoResults: true\n };\n }\n\n if (!searchValue || searchValue.trim() === '') {\n return {\n filteredItems: [...originalOptionItems],\n showNoResults: false\n };\n }\n\n const lowerCaseSearchValue = searchValue.toLowerCase();\n const searchTextFn = getSearchText || renderItemFunction;\n const filteredItems = originalOptionItems.filter((item: any) => {\n const itemValue = searchTextFn(item);\n const lowerCaseItemValue = itemValue.toLowerCase();\n return lowerCaseItemValue.includes(lowerCaseSearchValue);\n });\n\n return {\n filteredItems,\n showNoResults: filteredItems.length === 0\n };\n }\n} \n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import type { VirtualOption } from './types.js';
|
|
8
|
+
export declare class VirtualSelectSelectionManager {
|
|
9
|
+
static createVirtualOptionsFromValues(value: string | string[], data: any[], getDisplayText: (item: any) => string, getItemValue?: (item: any) => string): VirtualOption[];
|
|
10
|
+
static updateDisplayLabel(selectedOptions: VirtualOption[], placeholder: string, multiple: boolean, value: string | string[]): string;
|
|
11
|
+
static updateValue(selectedOptions: VirtualOption[], multiple: boolean): string | string[];
|
|
12
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
export class VirtualSelectSelectionManager {
|
|
8
|
+
static createVirtualOptionsFromValues(value, data, getDisplayText, getItemValue) {
|
|
9
|
+
if (!value || (Array.isArray(value) && value.length === 0)) {
|
|
10
|
+
return [];
|
|
11
|
+
}
|
|
12
|
+
const values = Array.isArray(value) ? value : [value];
|
|
13
|
+
return values.map(valueItem => {
|
|
14
|
+
// Use enhanced functions if available, otherwise fallback to basic logic
|
|
15
|
+
const displayTextFn = getDisplayText;
|
|
16
|
+
const valueFn = getItemValue || ((item) => item?.value || item);
|
|
17
|
+
const item = data.find((item) => {
|
|
18
|
+
const itemValue = valueFn(item);
|
|
19
|
+
const itemDisplayText = displayTextFn(item);
|
|
20
|
+
return String(itemValue) === String(valueItem) || String(itemDisplayText) === String(valueItem);
|
|
21
|
+
});
|
|
22
|
+
const displayText = item ? displayTextFn(item) : valueItem;
|
|
23
|
+
return {
|
|
24
|
+
value: valueItem,
|
|
25
|
+
selected: true,
|
|
26
|
+
getTextLabel: () => {
|
|
27
|
+
// If displayText contains HTML, strip tags
|
|
28
|
+
if (typeof displayText === 'string' && /<[^>]+>/.test(displayText)) {
|
|
29
|
+
const div = document.createElement('div');
|
|
30
|
+
div.innerHTML = displayText;
|
|
31
|
+
return div.textContent || div.innerText || '';
|
|
32
|
+
}
|
|
33
|
+
return displayText;
|
|
34
|
+
},
|
|
35
|
+
getOptionPrefix: () => '',
|
|
36
|
+
};
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
static updateDisplayLabel(selectedOptions, placeholder, multiple, value) {
|
|
40
|
+
if (multiple) {
|
|
41
|
+
if (placeholder && selectedOptions.length === 0) {
|
|
42
|
+
return '';
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
return selectedOptions.length + ' selected';
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
const currentValue = Array.isArray(value) ? value[0] : value;
|
|
50
|
+
return selectedOptions[0]?.getTextLabel()
|
|
51
|
+
? selectedOptions[0].getTextLabel()
|
|
52
|
+
: currentValue ?? '';
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
static updateValue(selectedOptions, multiple) {
|
|
56
|
+
if (multiple) {
|
|
57
|
+
return selectedOptions.map(el => el.value);
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
return selectedOptions[0]?.value ?? '';
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=selection-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection-manager.js","sourceRoot":"","sources":["../../../src/nile-virtual-select-disabled/selection-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,OAAO,6BAA6B;IACxC,MAAM,CAAC,8BAA8B,CACnC,KAAwB,EACxB,IAAW,EACX,cAAqC,EACrC,YAAoC;QAEpC,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;YAC3D,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAEtD,OAAO,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC5B,yEAAyE;YACzE,MAAM,aAAa,GAAG,cAAc,CAAC;YACrC,MAAM,OAAO,GAAG,YAAY,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC;YAErE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,IAAS,EAAE,EAAE;gBACnC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM,eAAe,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;gBAC5C,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC;YAClG,CAAC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAE3D,OAAO;gBACL,KAAK,EAAE,SAAS;gBAChB,QAAQ,EAAE,IAAI;gBACd,YAAY,EAAE,GAAG,EAAE;oBACjB,2CAA2C;oBAC3C,IAAI,OAAO,WAAW,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;wBACnE,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;wBAC1C,GAAG,CAAC,SAAS,GAAG,WAAW,CAAC;wBAC5B,OAAO,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;oBAChD,CAAC;oBACD,OAAO,WAAW,CAAC;gBACrB,CAAC;gBACD,eAAe,EAAE,GAAG,EAAE,CAAC,EAAE;aAC1B,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,kBAAkB,CAAC,eAAgC,EAAE,WAAmB,EAAE,QAAiB,EAAE,KAAwB;QAC1H,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,WAAW,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAChD,OAAO,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,OAAO,eAAe,CAAC,MAAM,GAAG,WAAW,CAAC;YAC9C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC7D,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE;gBACvC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE;gBACnC,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,eAAgC,EAAE,QAAiB;QACpE,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,OAAO,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;CACF","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport type { VirtualOption } from './types.js';\n\nexport class VirtualSelectSelectionManager {\n static createVirtualOptionsFromValues(\n value: string | string[], \n data: any[], \n getDisplayText: (item: any) => string,\n getItemValue?: (item: any) => string\n ): VirtualOption[] {\n if (!value || (Array.isArray(value) && value.length === 0)) {\n return [];\n }\n\n const values = Array.isArray(value) ? value : [value];\n \n return values.map(valueItem => {\n // Use enhanced functions if available, otherwise fallback to basic logic\n const displayTextFn = getDisplayText;\n const valueFn = getItemValue || ((item: any) => item?.value || item);\n \n const item = data.find((item: any) => {\n const itemValue = valueFn(item);\n const itemDisplayText = displayTextFn(item);\n return String(itemValue) === String(valueItem) || String(itemDisplayText) === String(valueItem);\n });\n \n const displayText = item ? displayTextFn(item) : valueItem;\n \n return {\n value: valueItem,\n selected: true,\n getTextLabel: () => {\n // If displayText contains HTML, strip tags\n if (typeof displayText === 'string' && /<[^>]+>/.test(displayText)) {\n const div = document.createElement('div');\n div.innerHTML = displayText;\n return div.textContent || div.innerText || '';\n }\n return displayText;\n },\n getOptionPrefix: () => '',\n };\n });\n }\n\n static updateDisplayLabel(selectedOptions: VirtualOption[], placeholder: string, multiple: boolean, value: string | string[]): string {\n if (multiple) {\n if (placeholder && selectedOptions.length === 0) {\n return '';\n } else {\n return selectedOptions.length + ' selected';\n }\n } else {\n const currentValue = Array.isArray(value) ? value[0] : value;\n return selectedOptions[0]?.getTextLabel()\n ? selectedOptions[0].getTextLabel()\n : currentValue ?? '';\n }\n }\n\n static updateValue(selectedOptions: VirtualOption[], multiple: boolean): string | string[] {\n if (multiple) {\n return selectedOptions.map(el => el.value);\n } else {\n return selectedOptions[0]?.value ?? '';\n }\n }\n} \n"]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
export type NileRemoveEvent = CustomEvent<Record<PropertyKey, never>>;
|
|
8
|
+
export interface VirtualOption {
|
|
9
|
+
value: string;
|
|
10
|
+
selected: boolean;
|
|
11
|
+
getTextLabel: () => string;
|
|
12
|
+
getOptionPrefix: () => string;
|
|
13
|
+
}
|
|
14
|
+
export interface RenderItemConfig {
|
|
15
|
+
getDisplayText: (item: any) => string;
|
|
16
|
+
getValue?: (item: any) => string;
|
|
17
|
+
getSearchText?: (item: any) => string;
|
|
18
|
+
}
|
|
19
|
+
export interface VirtualSelectProperties {
|
|
20
|
+
name: string;
|
|
21
|
+
data: any[];
|
|
22
|
+
value: string | string[];
|
|
23
|
+
size: 'small' | 'medium' | 'large';
|
|
24
|
+
placeholder: string;
|
|
25
|
+
searchEnabled: boolean;
|
|
26
|
+
internalSearchPlaceHolder: string;
|
|
27
|
+
disableLocalSearch: boolean;
|
|
28
|
+
optionsLoading: boolean;
|
|
29
|
+
multiple: boolean;
|
|
30
|
+
helpText: string;
|
|
31
|
+
errorMessage: string;
|
|
32
|
+
warning: boolean;
|
|
33
|
+
error: boolean;
|
|
34
|
+
success: boolean;
|
|
35
|
+
disabled: boolean;
|
|
36
|
+
clearable: boolean;
|
|
37
|
+
open: boolean;
|
|
38
|
+
hoist: boolean;
|
|
39
|
+
filled: boolean;
|
|
40
|
+
pill: boolean;
|
|
41
|
+
label: string;
|
|
42
|
+
placement: 'top' | 'bottom';
|
|
43
|
+
form: string;
|
|
44
|
+
required: boolean;
|
|
45
|
+
showNoResults: boolean;
|
|
46
|
+
noResultsMessage: string;
|
|
47
|
+
renderItemConfig?: RenderItemConfig;
|
|
48
|
+
blockValueChange: boolean;
|
|
49
|
+
noWidthSync: boolean;
|
|
50
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/nile-virtual-select-disabled/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport type NileRemoveEvent = CustomEvent<Record<PropertyKey, never>>;\n\nexport interface VirtualOption {\n value: string;\n selected: boolean;\n getTextLabel: () => string;\n getOptionPrefix: () => string;\n}\n\nexport interface RenderItemConfig {\n getDisplayText: (item: any) => string;\n getValue?: (item: any) => string;\n getSearchText?: (item: any) => string;\n}\n\nexport interface VirtualSelectProperties {\n name: string;\n data: any[];\n value: string | string[];\n size: 'small' | 'medium' | 'large';\n placeholder: string;\n searchEnabled: boolean;\n internalSearchPlaceHolder: string;\n disableLocalSearch: boolean;\n optionsLoading: boolean;\n multiple: boolean;\n helpText: string;\n errorMessage: string;\n warning: boolean;\n error: boolean;\n success: boolean;\n disabled: boolean;\n clearable: boolean;\n open: boolean;\n hoist: boolean;\n filled: boolean;\n pill: boolean;\n label: string;\n placement: 'top' | 'bottom';\n form: string;\n required: boolean;\n showNoResults: boolean;\n noResultsMessage: string;\n renderItemConfig?: RenderItemConfig;\n blockValueChange: boolean;\n noWidthSync: boolean;\n} \n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nile-virtual-table-body/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAC/E,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC","sourcesContent":["export { default as NileVirtualTableBody } from './nile-virtual-table-body.js';\nexport { VirtualTableBodyRenderer } from './renderer.js';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const styles: import("lit").CSSResult;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export const styles = css `
|
|
3
|
+
:host {
|
|
4
|
+
display: block;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.base {
|
|
8
|
+
width: 100%;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.table__header {
|
|
12
|
+
display: contents;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.nile__table__body {
|
|
16
|
+
display: contents;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.nile__table__body[resizable] {
|
|
20
|
+
position: relative;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.virtualized-container {
|
|
24
|
+
height: 400px; /* Default height, can be customized */
|
|
25
|
+
overflow-y: auto;
|
|
26
|
+
border: 1px solid #e0e0e0;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.virtualized-row {
|
|
30
|
+
display: contents;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/* Ensure table rows maintain their structure in virtualized context */
|
|
34
|
+
::slotted(nile-table-row) {
|
|
35
|
+
display: table-row;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/* Virtualizer specific styles */
|
|
39
|
+
lit-virtualizer {
|
|
40
|
+
height: 100%;
|
|
41
|
+
width: 100%;
|
|
42
|
+
}
|
|
43
|
+
`;
|
|
44
|
+
//# sourceMappingURL=nile-virtual-table-body.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nile-virtual-table-body.css.js","sourceRoot":"","sources":["../../../src/nile-virtual-table-body/nile-virtual-table-body.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCxB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`\n :host {\n display: block;\n }\n\n .base {\n width: 100%;\n }\n\n .table__header {\n display: contents;\n }\n\n .nile__table__body {\n display: contents;\n }\n\n .nile__table__body[resizable] {\n position: relative;\n }\n\n .virtualized-container {\n height: 400px; /* Default height, can be customized */\n overflow-y: auto;\n border: 1px solid #e0e0e0;\n }\n\n .virtualized-row {\n display: contents;\n }\n\n /* Ensure table rows maintain their structure in virtualized context */\n ::slotted(nile-table-row) {\n display: table-row;\n }\n\n /* Virtualizer specific styles */\n lit-virtualizer {\n height: 100%;\n width: 100%;\n }\n`;\n"]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import { CSSResultArray, TemplateResult, PropertyValues } from 'lit';
|
|
8
|
+
import NileElement from '../internal/nile-element';
|
|
9
|
+
/**
|
|
10
|
+
* nile-virtual-table-body component.
|
|
11
|
+
*
|
|
12
|
+
* @tag nile-virtual-table-body
|
|
13
|
+
*
|
|
14
|
+
*/
|
|
15
|
+
export declare class NileVirtualTableBody extends NileElement {
|
|
16
|
+
/**
|
|
17
|
+
* The styles for VirtualTableBody
|
|
18
|
+
* @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
|
|
19
|
+
*/
|
|
20
|
+
defaultSlot: HTMLSlotElement;
|
|
21
|
+
type: 'primary' | 'secondary';
|
|
22
|
+
/**
|
|
23
|
+
* Array of all table row data for virtual scrolling.
|
|
24
|
+
* Each row should be an object with a 'cells' property containing an array of cell data.
|
|
25
|
+
* Example: [{ cells: [{ content: 'Cell 1' }, { content: 'Cell 2' }] }]
|
|
26
|
+
*/
|
|
27
|
+
data: any[];
|
|
28
|
+
private rows_data;
|
|
29
|
+
private header_rows_data;
|
|
30
|
+
private sort__index;
|
|
31
|
+
private search__index;
|
|
32
|
+
private hasResizableColumns;
|
|
33
|
+
static get styles(): CSSResultArray;
|
|
34
|
+
protected firstUpdated(_changedProperties: PropertyValues): void;
|
|
35
|
+
private getChildren;
|
|
36
|
+
private getIndexValue;
|
|
37
|
+
private checkForResizableColumns;
|
|
38
|
+
handleSlotchange(e: any): void;
|
|
39
|
+
private handleSort;
|
|
40
|
+
private handleSearch;
|
|
41
|
+
render(): TemplateResult;
|
|
42
|
+
private getVirtualizedContent;
|
|
43
|
+
handleDataChange(): void;
|
|
44
|
+
}
|
|
45
|
+
export default NileVirtualTableBody;
|
|
46
|
+
declare global {
|
|
47
|
+
interface HTMLElementTagNameMap {
|
|
48
|
+
'nile-virtual-table-body': NileVirtualTableBody;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import { __decorate } from "tslib";
|
|
8
|
+
import { html, } from 'lit';
|
|
9
|
+
import { customElement, query, state, property } from 'lit/decorators.js';
|
|
10
|
+
import { styles } from './nile-virtual-table-body.css';
|
|
11
|
+
import NileElement from '../internal/nile-element';
|
|
12
|
+
import { hasResizableColumns } from '../internal/resizable-table-helper';
|
|
13
|
+
import { VirtualTableBodyRenderer } from './renderer.js';
|
|
14
|
+
import { watch } from '../internal/watch';
|
|
15
|
+
/**
|
|
16
|
+
* nile-virtual-table-body component.
|
|
17
|
+
*
|
|
18
|
+
* @tag nile-virtual-table-body
|
|
19
|
+
*
|
|
20
|
+
*/
|
|
21
|
+
let NileVirtualTableBody = class NileVirtualTableBody extends NileElement {
|
|
22
|
+
constructor() {
|
|
23
|
+
/**
|
|
24
|
+
* The styles for VirtualTableBody
|
|
25
|
+
* @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
|
|
26
|
+
*/
|
|
27
|
+
super(...arguments);
|
|
28
|
+
this.type = 'primary';
|
|
29
|
+
/**
|
|
30
|
+
* Array of all table row data for virtual scrolling.
|
|
31
|
+
* Each row should be an object with a 'cells' property containing an array of cell data.
|
|
32
|
+
* Example: [{ cells: [{ content: 'Cell 1' }, { content: 'Cell 2' }] }]
|
|
33
|
+
*/
|
|
34
|
+
this.data = [];
|
|
35
|
+
this.rows_data = [];
|
|
36
|
+
this.header_rows_data = [];
|
|
37
|
+
this.hasResizableColumns = false;
|
|
38
|
+
/* #endregion */
|
|
39
|
+
}
|
|
40
|
+
static get styles() {
|
|
41
|
+
return [styles];
|
|
42
|
+
}
|
|
43
|
+
firstUpdated(_changedProperties) {
|
|
44
|
+
this.emit('nile-body-load', { value: this.type, comp: this }, true, false);
|
|
45
|
+
}
|
|
46
|
+
/* #endregion */
|
|
47
|
+
/* #region Methods */
|
|
48
|
+
getChildren(child, tagname) {
|
|
49
|
+
return child.querySelectorAll(tagname);
|
|
50
|
+
}
|
|
51
|
+
getIndexValue(index__value) {
|
|
52
|
+
return this.header_rows_data.indexOf(index__value);
|
|
53
|
+
}
|
|
54
|
+
checkForResizableColumns() {
|
|
55
|
+
this.hasResizableColumns = hasResizableColumns(this);
|
|
56
|
+
}
|
|
57
|
+
handleSlotchange(e) {
|
|
58
|
+
// For virtual table body, we primarily use the data property
|
|
59
|
+
// Slot change is mainly for header content
|
|
60
|
+
this.checkForResizableColumns();
|
|
61
|
+
}
|
|
62
|
+
handleSort(e) {
|
|
63
|
+
const { curr_sort_string, order } = e.detail.value;
|
|
64
|
+
const header_index = this.getIndexValue(curr_sort_string);
|
|
65
|
+
this.emit('nile-sort', {
|
|
66
|
+
value: { header_index, curr_sort_string, order },
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
handleSearch(e) {
|
|
70
|
+
const searchText = e.detail.value;
|
|
71
|
+
this.search__index = this.getIndexValue(e.target.textContent);
|
|
72
|
+
this.emit('nile-table-search', {
|
|
73
|
+
index: this.search__index,
|
|
74
|
+
value: searchText,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
render() {
|
|
78
|
+
return html `
|
|
79
|
+
<div class="base" part="base">
|
|
80
|
+
<slot name="table__header" class="table__header"></slot>
|
|
81
|
+
<div
|
|
82
|
+
class="nile__table__body"
|
|
83
|
+
?resizable=${this.hasResizableColumns}
|
|
84
|
+
@nile-click-sort=${this.handleSort}
|
|
85
|
+
@nile-search=${this.handleSearch}
|
|
86
|
+
>
|
|
87
|
+
<slot
|
|
88
|
+
@slotchange=${this.handleSlotchange}
|
|
89
|
+
name="table__body"
|
|
90
|
+
></slot>
|
|
91
|
+
${this.getVirtualizedContent()}
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|
|
94
|
+
`;
|
|
95
|
+
}
|
|
96
|
+
getVirtualizedContent() {
|
|
97
|
+
return VirtualTableBodyRenderer.getVirtualizedContent(this.data, this.hasResizableColumns);
|
|
98
|
+
}
|
|
99
|
+
handleDataChange() {
|
|
100
|
+
this.requestUpdate();
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
__decorate([
|
|
104
|
+
query('slot')
|
|
105
|
+
], NileVirtualTableBody.prototype, "defaultSlot", void 0);
|
|
106
|
+
__decorate([
|
|
107
|
+
property()
|
|
108
|
+
], NileVirtualTableBody.prototype, "type", void 0);
|
|
109
|
+
__decorate([
|
|
110
|
+
property({ type: Array })
|
|
111
|
+
], NileVirtualTableBody.prototype, "data", void 0);
|
|
112
|
+
__decorate([
|
|
113
|
+
state()
|
|
114
|
+
], NileVirtualTableBody.prototype, "rows_data", void 0);
|
|
115
|
+
__decorate([
|
|
116
|
+
state()
|
|
117
|
+
], NileVirtualTableBody.prototype, "header_rows_data", void 0);
|
|
118
|
+
__decorate([
|
|
119
|
+
state()
|
|
120
|
+
], NileVirtualTableBody.prototype, "sort__index", void 0);
|
|
121
|
+
__decorate([
|
|
122
|
+
state()
|
|
123
|
+
], NileVirtualTableBody.prototype, "search__index", void 0);
|
|
124
|
+
__decorate([
|
|
125
|
+
state()
|
|
126
|
+
], NileVirtualTableBody.prototype, "hasResizableColumns", void 0);
|
|
127
|
+
__decorate([
|
|
128
|
+
watch('data', { waitUntilFirstUpdate: true })
|
|
129
|
+
], NileVirtualTableBody.prototype, "handleDataChange", null);
|
|
130
|
+
NileVirtualTableBody = __decorate([
|
|
131
|
+
customElement('nile-virtual-table-body')
|
|
132
|
+
], NileVirtualTableBody);
|
|
133
|
+
export { NileVirtualTableBody };
|
|
134
|
+
export default NileVirtualTableBody;
|
|
135
|
+
//# sourceMappingURL=nile-virtual-table-body.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nile-virtual-table-body.js","sourceRoot":"","sources":["../../../src/nile-virtual-table-body/nile-virtual-table-body.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n PropertyValues,\n} from 'lit';\nimport {\n customElement,\n query,\n state,\n property\n} from 'lit/decorators.js';\nimport { styles } from './nile-virtual-table-body.css';\nimport NileElement from '../internal/nile-element';\nimport { getInnerHTML } from '../slot';\nimport { hasResizableColumns } from '../internal/resizable-table-helper';\nimport { virtualize } from '@lit-labs/virtualizer/virtualize.js';\nimport { VirtualTableBodyRenderer } from './renderer.js';\nimport { watch } from '../internal/watch';\n\n/**\n * nile-virtual-table-body component.\n *\n * @tag nile-virtual-table-body\n *\n */\n@customElement('nile-virtual-table-body')\nexport class NileVirtualTableBody extends NileElement {\n /**\n * The styles for VirtualTableBody\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n\n @query('slot') defaultSlot: HTMLSlotElement;\n @property() type: 'primary' | 'secondary' = 'primary';\n\n /** \n * Array of all table row data for virtual scrolling.\n * Each row should be an object with a 'cells' property containing an array of cell data.\n * Example: [{ cells: [{ content: 'Cell 1' }, { content: 'Cell 2' }] }]\n */\n @property({ type: Array }) data: any[] = [];\n\n @state() private rows_data: any[] = [];\n @state() private header_rows_data: any[] = [];\n @state() private sort__index: number;\n @state() private search__index: number;\n @state() private hasResizableColumns = false;\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n protected firstUpdated(_changedProperties: PropertyValues): void {\n this.emit('nile-body-load', { value: this.type, comp: this }, true, false);\n }\n\n /* #endregion */\n\n /* #region Methods */\n\n private getChildren(child: any, tagname: string) {\n return child.querySelectorAll(tagname);\n }\n\n private getIndexValue(index__value: string): number {\n return this.header_rows_data.indexOf(index__value);\n }\n\n private checkForResizableColumns() {\n this.hasResizableColumns = hasResizableColumns(this);\n }\n\n handleSlotchange(e: any) {\n // For virtual table body, we primarily use the data property\n // Slot change is mainly for header content\n this.checkForResizableColumns();\n }\n\n private handleSort(e: any) {\n const { curr_sort_string, order } = e.detail.value;\n const header_index = this.getIndexValue(curr_sort_string);\n this.emit('nile-sort', {\n value: { header_index, curr_sort_string, order },\n });\n }\n\n private handleSearch(e: any) {\n const searchText = e.detail.value;\n this.search__index = this.getIndexValue(e.target.textContent);\n this.emit('nile-table-search', {\n index: this.search__index,\n value: searchText,\n });\n }\n\n public render(): TemplateResult {\n return html`\n <div class=\"base\" part=\"base\">\n <slot name=\"table__header\" class=\"table__header\"></slot>\n <div\n class=\"nile__table__body\"\n ?resizable=${this.hasResizableColumns}\n @nile-click-sort=${this.handleSort}\n @nile-search=${this.handleSearch}\n >\n <slot\n @slotchange=${this.handleSlotchange}\n name=\"table__body\"\n ></slot>\n ${this.getVirtualizedContent()}\n </div>\n </div>\n `;\n }\n\n private getVirtualizedContent(): TemplateResult {\n return VirtualTableBodyRenderer.getVirtualizedContent(\n this.data,\n this.hasResizableColumns\n );\n }\n\n @watch('data', { waitUntilFirstUpdate: true })\n handleDataChange(): void {\n this.requestUpdate();\n }\n\n /* #endregion */\n}\n\nexport default NileVirtualTableBody;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-virtual-table-body': NileVirtualTableBody;\n }\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import { type TemplateResult } from 'lit';
|
|
8
|
+
export declare class VirtualTableBodyRenderer {
|
|
9
|
+
static getVirtualizedContent(data: any[], hasResizableColumns: boolean): TemplateResult;
|
|
10
|
+
static getRowRenderFunction(rowData: any, hasResizableColumns: boolean): TemplateResult;
|
|
11
|
+
/**
|
|
12
|
+
* Determines whether to use virtualizer based on dataset size
|
|
13
|
+
* For small datasets (less than 50 rows), use regular rendering for better performance
|
|
14
|
+
*/
|
|
15
|
+
private static shouldUseVirtualizer;
|
|
16
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import { html } from 'lit';
|
|
8
|
+
import { virtualize } from '@lit-labs/virtualizer/virtualize.js';
|
|
9
|
+
export class VirtualTableBodyRenderer {
|
|
10
|
+
static getVirtualizedContent(data, hasResizableColumns) {
|
|
11
|
+
return html `
|
|
12
|
+
<div class="virtualized-container">
|
|
13
|
+
${VirtualTableBodyRenderer.shouldUseVirtualizer(data)
|
|
14
|
+
? html `
|
|
15
|
+
${virtualize({
|
|
16
|
+
items: data,
|
|
17
|
+
renderItem: (rowData) => VirtualTableBodyRenderer.getRowRenderFunction(rowData, hasResizableColumns),
|
|
18
|
+
scroller: true,
|
|
19
|
+
})}
|
|
20
|
+
`
|
|
21
|
+
: html `
|
|
22
|
+
${data.map((rowData) => VirtualTableBodyRenderer.getRowRenderFunction(rowData, hasResizableColumns))}
|
|
23
|
+
`}
|
|
24
|
+
</div>
|
|
25
|
+
`;
|
|
26
|
+
}
|
|
27
|
+
static getRowRenderFunction(rowData, hasResizableColumns) {
|
|
28
|
+
// Create a table row with cell items based on the data
|
|
29
|
+
return html `
|
|
30
|
+
<div class="virtualized-row">
|
|
31
|
+
<nile-table-row>
|
|
32
|
+
${rowData.cells ? rowData.cells.map((cell) => html `
|
|
33
|
+
<nile-table-cell-item ?resizable=${hasResizableColumns}>
|
|
34
|
+
${cell.content || cell}
|
|
35
|
+
</nile-table-cell-item>
|
|
36
|
+
`) : ''}
|
|
37
|
+
</nile-table-row>
|
|
38
|
+
</div>
|
|
39
|
+
`;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Determines whether to use virtualizer based on dataset size
|
|
43
|
+
* For small datasets (less than 50 rows), use regular rendering for better performance
|
|
44
|
+
*/
|
|
45
|
+
static shouldUseVirtualizer(data) {
|
|
46
|
+
return data.length >= 50;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=renderer.js.map
|