@aquera/nile-elements 0.1.70-beta-1.0 → 0.1.70-beta-1.2
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 +15 -0
- package/demo/index.html +248 -332
- package/dist/{fixture-28d63bc4.cjs.js → fixture-5b79f853.cjs.js} +2 -2
- package/dist/{fixture-28d63bc4.cjs.js.map → fixture-5b79f853.cjs.js.map} +1 -1
- package/dist/{fixture-ba65eb22.esm.js → fixture-90b199c4.esm.js} +1 -1
- package/dist/{fixture-78a015b8.esm.js → fixture-cf7bfcf5.esm.js} +1 -1
- package/dist/{fixture-324a7ef9.cjs.js → fixture-dbd66009.cjs.js} +2 -2
- package/dist/{fixture-324a7ef9.cjs.js.map → fixture-dbd66009.cjs.js.map} +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +103 -118
- package/dist/internal/resizable-table-helper.cjs.js +1 -1
- package/dist/internal/resizable-table-helper.cjs.js.map +1 -1
- package/dist/internal/resizable-table-helper.esm.js +1 -1
- 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/extensionSetup.cjs.js +3 -3
- package/dist/nile-code-editor/extensionSetup.cjs.js.map +1 -1
- package/dist/nile-code-editor/extensionSetup.esm.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.cjs.js +2 -2
- package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
- package/dist/nile-code-editor/nile-code-editor.esm.js +2 -2
- package/dist/nile-code-editor/theme.cjs.js +1 -1
- package/dist/nile-code-editor/theme.cjs.js.map +1 -1
- package/dist/nile-code-editor/theme.esm.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.test.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.test.esm.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.cjs.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.test.esm.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.cjs.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.esm.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.test.cjs.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.test.esm.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.test.cjs.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.test.esm.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +1 -1
- package/dist/nile-form-group/nile-form-group.test.cjs.js +1 -1
- package/dist/nile-form-group/nile-form-group.test.esm.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +1 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +1 -1
- package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
- package/dist/nile-hero/nile-hero.test.esm.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js +1 -1
- package/dist/nile-icon/nile-icon.test.esm.js +1 -1
- package/dist/nile-input/nile-input.test.cjs.js +1 -1
- package/dist/nile-input/nile-input.test.esm.js +1 -1
- package/dist/nile-link/nile-link.test.cjs.js +1 -1
- package/dist/nile-link/nile-link.test.esm.js +1 -1
- package/dist/nile-loader/nile-loader.test.cjs.js +1 -1
- package/dist/nile-loader/nile-loader.test.esm.js +1 -1
- package/dist/nile-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 +2 -2
- package/dist/nile-option-group/nile-option-group.cjs.js +1 -1
- package/dist/nile-option-group/nile-option-group.cjs.js.map +1 -1
- package/dist/nile-option-group/nile-option-group.esm.js +5 -5
- package/dist/nile-popover/nile-popover.test.cjs.js +1 -1
- package/dist/nile-popover/nile-popover.test.esm.js +1 -1
- package/dist/nile-popup/nile-popup.test.cjs.js +1 -1
- package/dist/nile-popup/nile-popup.test.esm.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -1
- package/dist/nile-radio/nile-radio.test.cjs.js +1 -1
- package/dist/nile-radio/nile-radio.test.esm.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.cjs.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.test.esm.js +1 -1
- package/dist/nile-select/nile-select.cjs.js +1 -1
- package/dist/nile-select/nile-select.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.esm.js +9 -9
- 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-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-table-body/nile-table-body.cjs.js +1 -1
- package/dist/nile-table-body/nile-table-body.cjs.js.map +1 -1
- package/dist/nile-table-body/nile-table-body.esm.js +3 -2
- package/dist/nile-table-cell-item/nile-table-cell-item.cjs.js +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.cjs.js.map +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.esm.js +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.cjs.js +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.cjs.js.map +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.esm.js +2 -2
- package/dist/nile-table-row/nile-table-row.cjs.js +1 -1
- package/dist/nile-table-row/nile-table-row.cjs.js.map +1 -1
- package/dist/nile-table-row/nile-table-row.css.cjs.js +1 -1
- package/dist/nile-table-row/nile-table-row.css.cjs.js.map +1 -1
- package/dist/nile-table-row/nile-table-row.css.esm.js +0 -47
- package/dist/nile-table-row/nile-table-row.esm.js +6 -33
- 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/nile-virtual-select.test.cjs.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +1 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- 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/resizable-table-helper.d.ts +5 -0
- package/dist/src/internal/resizable-table-helper.js +27 -4
- package/dist/src/internal/resizable-table-helper.js.map +1 -1
- 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/nile-code-editor.d.ts +2 -0
- package/dist/src/nile-code-editor/nile-code-editor.js +22 -5
- package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
- package/dist/src/nile-code-editor/theme.d.ts +9 -0
- package/dist/src/nile-code-editor/theme.js +9 -0
- package/dist/src/nile-code-editor/theme.js.map +1 -1
- package/dist/src/nile-grid/data-processor.d.ts +37 -0
- package/dist/src/nile-grid/data-processor.js +122 -0
- package/dist/src/nile-grid/data-processor.js.map +1 -0
- package/dist/src/nile-grid/event-handlers.d.ts +35 -0
- package/dist/src/nile-grid/event-handlers.js +158 -0
- package/dist/src/nile-grid/event-handlers.js.map +1 -0
- package/dist/src/nile-grid/index.d.ts +5 -0
- package/dist/src/nile-grid/index.js +6 -0
- package/dist/src/nile-grid/index.js.map +1 -0
- package/dist/src/nile-grid/nile-grid.css.d.ts +1 -0
- package/dist/src/nile-grid/nile-grid.css.js +120 -0
- package/dist/src/nile-grid/nile-grid.css.js.map +1 -0
- package/dist/src/nile-grid/nile-grid.d.ts +39 -0
- package/dist/src/nile-grid/nile-grid.js +182 -0
- package/dist/src/nile-grid/nile-grid.js.map +1 -0
- package/dist/src/nile-grid/renderer.d.ts +8 -0
- package/dist/src/nile-grid/renderer.js +78 -0
- package/dist/src/nile-grid/renderer.js.map +1 -0
- package/dist/src/nile-grid/resize-handler.d.ts +4 -0
- package/dist/src/nile-grid/resize-handler.js +36 -0
- package/dist/src/nile-grid/resize-handler.js.map +1 -0
- package/dist/src/nile-grid/types.d.ts +32 -0
- package/dist/src/nile-grid/types.js +2 -0
- package/dist/src/nile-grid/types.js.map +1 -0
- package/dist/src/nile-grid/utils.d.ts +4 -0
- package/dist/src/nile-grid/utils.js +32 -0
- package/dist/src/nile-grid/utils.js.map +1 -0
- package/dist/src/nile-hero/__snapshots__/nile-hero.test.snap.js +47 -0
- package/dist/src/nile-icon/__snapshots__/nile-icon.test.snap.js +16 -0
- package/dist/src/nile-input/__snapshots__/nile-input.test.snap.js +75 -0
- package/dist/src/nile-option/nile-option.d.ts +1 -0
- package/dist/src/nile-option/nile-option.js +5 -0
- package/dist/src/nile-option/nile-option.js.map +1 -1
- package/dist/src/nile-popover/__snapshots__/nile-popover.test.snap.js +22 -0
- package/dist/src/nile-select/nile-select.d.ts +6 -0
- package/dist/src/nile-select/nile-select.js +59 -1
- package/dist/src/nile-select/nile-select.js.map +1 -1
- package/dist/src/nile-table-body/nile-table-body.d.ts +1 -3
- package/dist/src/nile-table-body/nile-table-body.js +3 -31
- package/dist/src/nile-table-body/nile-table-body.js.map +1 -1
- package/dist/src/nile-table-body/virtual-scroll-helper.d.ts +9 -0
- package/dist/src/nile-table-body/virtual-scroll-helper.js +24 -0
- package/dist/src/nile-table-body/virtual-scroll-helper.js.map +1 -0
- package/dist/src/nile-table-cell-item/nile-table-cell-item.d.ts +2 -1
- package/dist/src/nile-table-cell-item/nile-table-cell-item.js +12 -1
- package/dist/src/nile-table-cell-item/nile-table-cell-item.js.map +1 -1
- package/dist/src/nile-table-header-item/nile-table-header-item.d.ts +2 -1
- package/dist/src/nile-table-header-item/nile-table-header-item.js +12 -1
- package/dist/src/nile-table-header-item/nile-table-header-item.js.map +1 -1
- package/dist/src/nile-table-row/nile-table-row.css.js +0 -47
- package/dist/src/nile-table-row/nile-table-row.css.js.map +1 -1
- package/dist/src/nile-table-row/nile-table-row.d.ts +1 -10
- package/dist/src/nile-table-row/nile-table-row.js +9 -88
- package/dist/src/nile-table-row/nile-table-row.js.map +1 -1
- package/dist/src/nile-virtual-table-body/index.d.ts +2 -0
- package/dist/src/nile-virtual-table-body/index.js +3 -0
- package/dist/src/nile-virtual-table-body/index.js.map +1 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.d.ts +1 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js +44 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.css.js.map +1 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.d.ts +50 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js +135 -0
- package/dist/src/nile-virtual-table-body/nile-virtual-table-body.js.map +1 -0
- package/dist/src/nile-virtual-table-body/renderer.d.ts +16 -0
- package/dist/src/nile-virtual-table-body/renderer.js +49 -0
- package/dist/src/nile-virtual-table-body/renderer.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/src/index.ts +2 -1
- package/src/internal/resizable-table-helper.ts +31 -8
- package/src/nile-code-editor/nile-code-editor.ts +25 -6
- package/src/nile-code-editor/theme.ts +11 -1
- package/src/nile-option/nile-option.ts +3 -0
- package/src/nile-option-group/index.ts +1 -0
- package/src/nile-option-group/nile-option-group.css.ts +60 -0
- package/src/nile-option-group/nile-option-group.interface.ts +25 -0
- package/src/nile-option-group/nile-option-group.ts +84 -0
- package/src/nile-select/nile-select.interface.ts +5 -0
- package/src/nile-select/nile-select.ts +74 -2
- package/src/nile-table-body/nile-table-body.ts +3 -27
- package/src/nile-table-cell-item/nile-table-cell-item.ts +15 -1
- package/src/nile-table-header-item/nile-table-header-item.ts +15 -1
- package/src/nile-table-row/nile-table-row.css.ts +0 -47
- package/src/nile-table-row/nile-table-row.ts +5 -87
- package/vscode-html-custom-data.json +37 -29
- package/dist/aquera-nile-elements-0.1.57-beta-2.0.tgz +0 -0
- package/dist/axe.min-2b379f29.cjs.js +0 -12
- package/dist/axe.min-2b379f29.cjs.js.map +0 -1
- package/dist/axe.min-c2cd8733.esm.js +0 -12
- package/dist/fixture-add72f26.esm.js +0 -569
- package/dist/fixture-c1bd203f.cjs.js +0 -395
- package/dist/fixture-c1bd203f.cjs.js.map +0 -1
- package/dist/fixture-cb376a7f.cjs.js +0 -395
- package/dist/fixture-cb376a7f.cjs.js.map +0 -1
- package/dist/fixture-f2693d97.esm.js +0 -569
- package/dist/src/internal/expandable-row-helper.d.ts +0 -13
- package/dist/src/internal/expandable-row-helper.js +0 -37
- package/dist/src/internal/expandable-row-helper.js.map +0 -1
- package/dist/src/internal/expandable-row-styles.d.ts +0 -11
- package/dist/src/internal/expandable-row-styles.js +0 -27
- package/dist/src/internal/expandable-row-styles.js.map +0 -1
- package/dist/src/internal/table-expandable-helper.d.ts +0 -0
- package/dist/src/internal/table-expandable-helper.js +0 -2
- package/dist/src/internal/table-expandable-helper.js.map +0 -1
- package/dist/src/internal/table-row-expandable-helper.d.ts +0 -12
- package/dist/src/internal/table-row-expandable-helper.js +0 -32
- package/dist/src/internal/table-row-expandable-helper.js.map +0 -1
- package/dist/src/internal/table-row-expandable-styles.d.ts +0 -11
- package/dist/src/internal/table-row-expandable-styles.js +0 -12
- package/dist/src/internal/table-row-expandable-styles.js.map +0 -1
- package/dist/src/nile-group-header/index.d.ts +0 -1
- package/dist/src/nile-group-header/index.js +0 -2
- package/dist/src/nile-group-header/index.js.map +0 -1
- package/dist/src/nile-group-header/nile-group-header.css.d.ts +0 -12
- package/dist/src/nile-group-header/nile-group-header.css.js +0 -30
- package/dist/src/nile-group-header/nile-group-header.css.js.map +0 -1
- package/dist/src/nile-group-header/nile-group-header.d.ts +0 -19
- package/dist/src/nile-group-header/nile-group-header.js +0 -36
- package/dist/src/nile-group-header/nile-group-header.js.map +0 -1
- package/dist/src/nile-group-header/nile-option-header.css.d.ts +0 -12
- package/dist/src/nile-group-header/nile-option-header.css.js +0 -30
- package/dist/src/nile-group-header/nile-option-header.css.js.map +0 -1
- package/dist/src/nile-group-header/nile-option-header.d.ts +0 -33
- package/dist/src/nile-group-header/nile-option-header.js +0 -51
- package/dist/src/nile-group-header/nile-option-header.js.map +0 -1
- package/dist/src/nile-option-header/index.d.ts +0 -1
- package/dist/src/nile-option-header/index.js +0 -2
- package/dist/src/nile-option-header/index.js.map +0 -1
- package/dist/src/nile-option-header/nile-option-header.css.d.ts +0 -12
- package/dist/src/nile-option-header/nile-option-header.css.js +0 -30
- package/dist/src/nile-option-header/nile-option-header.css.js.map +0 -1
- package/dist/src/nile-option-header/nile-option-header.d.ts +0 -33
- package/dist/src/nile-option-header/nile-option-header.js +0 -51
- package/dist/src/nile-option-header/nile-option-header.js.map +0 -1
- package/dist/src/nile-table-row/TableRowExpandableHelper.d.ts +0 -9
- package/dist/src/nile-table-row/TableRowExpandableHelper.js +0 -26
- package/dist/src/nile-table-row/TableRowExpandableHelper.js.map +0 -1
- package/dist/src/nile-table-row/helper.ts.d.ts +0 -37
- package/dist/src/nile-table-row/helper.ts.js +0 -105
- package/dist/src/nile-table-row/helper.ts.js.map +0 -1
- package/dist/src/nile-table-row/nile-table-row-expandable.d.ts +0 -37
- package/dist/src/nile-table-row/nile-table-row-expandable.js +0 -105
- package/dist/src/nile-table-row/nile-table-row-expandable.js.map +0 -1
- package/dist/src/nile-table-row-expandable/index.d.ts +0 -1
- package/dist/src/nile-table-row-expandable/index.js +0 -2
- package/dist/src/nile-table-row-expandable/index.js.map +0 -1
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.d.ts +0 -12
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.js +0 -17
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.js.map +0 -1
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.d.ts +0 -37
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.js +0 -103
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.js.map +0 -1
- package/dist/src/nile-tooltip/nile-tooltip-utils.d.ts +0 -18
- package/dist/src/nile-tooltip/nile-tooltip-utils.js +0 -216
- package/dist/src/nile-tooltip/nile-tooltip-utils.js.map +0 -1
- package/dist/src/nile-tooltip/nile-tooltip.test.d.ts +0 -1
- package/dist/src/nile-tooltip/nile-tooltip.test.js +0 -148
- package/dist/src/nile-tooltip/nile-tooltip.test.js.map +0 -1
package/package.json
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
"description": "Webcomponent nile-elements following open-wc recommendations",
|
4
4
|
"license": "MIT",
|
5
5
|
"author": "nile-elements",
|
6
|
-
"version": "0.1.70-beta-1.
|
6
|
+
"version": "0.1.70-beta-1.2",
|
7
7
|
"main": "dist/src/index.js",
|
8
8
|
"type": "module",
|
9
9
|
"module": "dist/src/index.js",
|
@@ -87,7 +87,8 @@
|
|
87
87
|
"./nile-tour": "./dist/src/nile-tour/index.js",
|
88
88
|
"./nile-table": "./dist/src/nile-table/index.js",
|
89
89
|
"./nile-pagination": "./dist/src/nile-pagination/index.js",
|
90
|
-
"./nile-slider": "./dist/src/nile-slider/index.js"
|
90
|
+
"./nile-slider": "./dist/src/nile-slider/index.js",
|
91
|
+
"./nile-option-group": "./dist/src/nile-option-group/index.js"
|
91
92
|
},
|
92
93
|
"scripts": {
|
93
94
|
"analyze": "cem analyze --litelement",
|
package/src/index.ts
CHANGED
@@ -81,4 +81,5 @@ export { NileFilterChip } from './nile-filter-chip';
|
|
81
81
|
export {NilePagination } from './nile-pagination';
|
82
82
|
export { NileSlider } from './nile-slider';
|
83
83
|
export { NileFileUpload } from './nile-file-upload';
|
84
|
-
export { NileFilePreview } from './nile-file-preview'
|
84
|
+
export { NileFilePreview } from './nile-file-preview';
|
85
|
+
export { NileOptionGroup } from './nile-option-group';
|
@@ -103,6 +103,23 @@ export function synchronizeColumnWidth(sourceElement: HTMLElement, newWidth: num
|
|
103
103
|
});
|
104
104
|
}
|
105
105
|
|
106
|
+
/**
|
107
|
+
* Resets all column widths in a table to their default values
|
108
|
+
* @param tableBody The table body element to reset
|
109
|
+
*/
|
110
|
+
export function resetAllColumnWidths(tableBody: HTMLElement): void {
|
111
|
+
const headerItems = tableBody.querySelectorAll('nile-table-header-item');
|
112
|
+
const cellItems = tableBody.querySelectorAll('nile-table-cell-item');
|
113
|
+
|
114
|
+
headerItems.forEach(header => {
|
115
|
+
header.style.removeProperty('width');
|
116
|
+
});
|
117
|
+
|
118
|
+
cellItems.forEach(cell => {
|
119
|
+
cell.style.removeProperty('width');
|
120
|
+
});
|
121
|
+
}
|
122
|
+
|
106
123
|
/**
|
107
124
|
* Checks if an element has the resizable attribute
|
108
125
|
* @param element The element to check
|
@@ -137,15 +154,21 @@ export function createResizeHandler(element: HTMLElement, minWidth: number = 50)
|
|
137
154
|
* @returns True if any columns have resizable attribute
|
138
155
|
*/
|
139
156
|
export function hasResizableColumns(tableBody: HTMLElement): boolean {
|
140
|
-
const
|
141
|
-
|
157
|
+
const directChildren = Array.from(tableBody.children);
|
158
|
+
|
159
|
+
const hasResizableHeaders = directChildren.some(child => {
|
160
|
+
if (child.tagName.toLowerCase() === 'nile-table-header-item') {
|
161
|
+
return child.hasAttribute('resizable');
|
162
|
+
}
|
163
|
+
return false;
|
164
|
+
});
|
142
165
|
|
143
|
-
const
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
);
|
166
|
+
const hasResizableCells = directChildren.some(child => {
|
167
|
+
if (child.tagName.toLowerCase() === 'nile-table-cell-item') {
|
168
|
+
return child.hasAttribute('resizable');
|
169
|
+
}
|
170
|
+
return false;
|
171
|
+
});
|
149
172
|
|
150
173
|
return hasResizableHeaders || hasResizableCells;
|
151
174
|
}
|
@@ -35,13 +35,12 @@ import {
|
|
35
35
|
import { sql } from '@codemirror/lang-sql';
|
36
36
|
import { json } from '@codemirror/lang-json';
|
37
37
|
import { html as htmlLang } from '@codemirror/lang-html';
|
38
|
-
import { autocompletion,closeCompletion,CompletionContext,CompletionResult, completionStatus } from '@codemirror/autocomplete';
|
38
|
+
import { autocompletion,acceptCompletion, closeCompletion,CompletionContext,CompletionResult, completionStatus } from '@codemirror/autocomplete';
|
39
39
|
import NileElement from '../internal/nile-element';
|
40
40
|
import { basicSetup } from './extensionSetup';
|
41
41
|
import { classMap } from 'lit/directives/class-map.js';
|
42
|
-
import { Theme as DefaultTheme, customisedThemeCss } from './theme';
|
42
|
+
import { Theme as DefaultTheme, customisedThemeCss, fontFamily } from './theme';
|
43
43
|
import { keymap } from '@codemirror/view';
|
44
|
-
import { acceptCompletion } from '@codemirror/autocomplete';
|
45
44
|
|
46
45
|
// Choose the appropriate mode for your use case
|
47
46
|
|
@@ -104,6 +103,8 @@ export class NileCodeEditor extends NileElement {
|
|
104
103
|
|
105
104
|
@property({ type: Boolean, reflect: true, attribute: true }) tabCompletion: boolean = true;
|
106
105
|
|
106
|
+
@property({ type: Boolean, reflect: true, attribute: true }) defaultFont: boolean = false;
|
107
|
+
|
107
108
|
public view: EditorView;
|
108
109
|
public viewState:EditorState;
|
109
110
|
private timeOut: any = null;
|
@@ -116,6 +117,7 @@ export class NileCodeEditor extends NileElement {
|
|
116
117
|
private placeholderComp = new Compartment();
|
117
118
|
private defaultSyntaxHighlightingComp = new Compartment();
|
118
119
|
private themeComp = new Compartment();
|
120
|
+
private autoCompletionComp = new Compartment();
|
119
121
|
|
120
122
|
private isSpacePressed:boolean = false;
|
121
123
|
/**
|
@@ -179,6 +181,15 @@ export class NileCodeEditor extends NileElement {
|
|
179
181
|
]
|
180
182
|
})
|
181
183
|
}
|
184
|
+
if (changedProperties.has('aboveCursor')) {
|
185
|
+
this.view.dispatch({
|
186
|
+
effects: [
|
187
|
+
this.autoCompletionComp.reconfigure(
|
188
|
+
autocompletion({ aboveCursor: this.aboveCursor })
|
189
|
+
)
|
190
|
+
]
|
191
|
+
});
|
192
|
+
}
|
182
193
|
if (changedProperties.has('placeholder')) {
|
183
194
|
this.view.dispatch({
|
184
195
|
effects: [
|
@@ -310,7 +321,9 @@ export class NileCodeEditor extends NileElement {
|
|
310
321
|
customAutoCompletions,
|
311
322
|
placeholderExtension,
|
312
323
|
defaultSyntaxHighlightingExtension,
|
313
|
-
|
324
|
+
this.autoCompletionComp.of(
|
325
|
+
autocompletion({ aboveCursor: this.aboveCursor })
|
326
|
+
),
|
314
327
|
language,
|
315
328
|
customThemeExtension,
|
316
329
|
this.getTabCompletionKeymap(),
|
@@ -533,10 +546,16 @@ export class NileCodeEditor extends NileElement {
|
|
533
546
|
}
|
534
547
|
|
535
548
|
getCustomThemeExtension(): Extension {
|
536
|
-
if
|
549
|
+
if(this.customThemeCSS) {
|
550
|
+
if(this.defaultFont){
|
551
|
+
return [EditorView.theme(this.customThemeCSS as { [selector: string]: StyleSpec }), EditorView.theme(customisedThemeCss),EditorView.theme(fontFamily)];
|
552
|
+
}
|
537
553
|
return [EditorView.theme(this.customThemeCSS as { [selector: string]: StyleSpec }), EditorView.theme(customisedThemeCss)];
|
538
554
|
}
|
539
|
-
|
555
|
+
if(this.defaultFont){
|
556
|
+
return [EditorView.theme(customisedThemeCss), EditorView.theme(fontFamily)];
|
557
|
+
}
|
558
|
+
return [EditorView.theme(customisedThemeCss)];
|
540
559
|
}
|
541
560
|
|
542
561
|
restrictSingleLine() {
|
@@ -38,6 +38,16 @@ export const CustomTheme = {
|
|
38
38
|
},
|
39
39
|
};
|
40
40
|
|
41
|
+
export const fontFamily = {
|
42
|
+
'.cm-tooltip.cm-tooltip-autocomplete > ul' : {
|
43
|
+
fontFamily: 'monospace !important',
|
44
|
+
fontWeight: '400',
|
45
|
+
},
|
46
|
+
'.cm-content' : {
|
47
|
+
fontFamily: 'monospace !important',
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
41
51
|
export const customisedThemeCss = {
|
42
52
|
'.cm-content' : {
|
43
53
|
fontFamily: 'inherit',
|
@@ -153,4 +163,4 @@ export const customisedThemeCss = {
|
|
153
163
|
'.cm-completionLabel': {
|
154
164
|
marginLeft: '18px',
|
155
165
|
}
|
156
|
-
};
|
166
|
+
};
|
@@ -68,6 +68,9 @@ export class NileOption extends NileElement {
|
|
68
68
|
/** Indicates whether the option is selected. */
|
69
69
|
@property({ type: Boolean, reflect: true }) selected = false;
|
70
70
|
|
71
|
+
/* used to pass group name to the option, so that grouped options can be shown */
|
72
|
+
@property({ type: String, reflect: true }) groupName: string = '';
|
73
|
+
|
71
74
|
connectedCallback() {
|
72
75
|
super.connectedCallback();
|
73
76
|
this.setAttribute('role', 'option');
|
@@ -0,0 +1 @@
|
|
1
|
+
export { NileOptionGroup } from './nile-option-group';
|
@@ -0,0 +1,60 @@
|
|
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
|
+
|
8
|
+
import { css } from 'lit';
|
9
|
+
|
10
|
+
/**
|
11
|
+
* OptionHeader CSS
|
12
|
+
*/
|
13
|
+
export const styles = css`
|
14
|
+
.option-group-header {
|
15
|
+
height: 40px;
|
16
|
+
display: flex;
|
17
|
+
align-items: center;
|
18
|
+
padding: 0px 12px;
|
19
|
+
background-color: var(--nile-colors-dark-200);
|
20
|
+
color: var(--nile-colors-dark-900);
|
21
|
+
font-feature-settings: 'liga' off, 'clig' off;
|
22
|
+
font-family: 'colfax-medium';
|
23
|
+
font-size: 12px;
|
24
|
+
font-weight: 500;
|
25
|
+
width: 100%;
|
26
|
+
box-sizing: border-box;
|
27
|
+
justify-content: space-between;
|
28
|
+
}
|
29
|
+
|
30
|
+
.content-container {
|
31
|
+
display: flex;
|
32
|
+
justify-content: flex-start;
|
33
|
+
align-items: center;
|
34
|
+
}
|
35
|
+
|
36
|
+
.gap-18px {
|
37
|
+
gap: 14px;
|
38
|
+
}
|
39
|
+
|
40
|
+
.option-group-prefix,
|
41
|
+
.option-group-suffix {
|
42
|
+
flex: 0 0 auto;
|
43
|
+
display: flex;
|
44
|
+
align-items: center;
|
45
|
+
}
|
46
|
+
|
47
|
+
.option-group-prefix::slotted(*) {
|
48
|
+
margin-inline-end: 0.5rem;
|
49
|
+
}
|
50
|
+
|
51
|
+
.option-group-suffix::slotted(*) {
|
52
|
+
margin-inline-start: 0.5rem;
|
53
|
+
}
|
54
|
+
|
55
|
+
:host(.nile-group-hidden)::part(option-group-header) {
|
56
|
+
display: none !important;
|
57
|
+
}
|
58
|
+
`;
|
59
|
+
|
60
|
+
export default [styles];
|
@@ -0,0 +1,25 @@
|
|
1
|
+
export interface IconData {
|
2
|
+
name: string;
|
3
|
+
size?: string;
|
4
|
+
color?: string;
|
5
|
+
method?: string;
|
6
|
+
}
|
7
|
+
|
8
|
+
export interface ImageData {
|
9
|
+
src?: string;
|
10
|
+
height?: string;
|
11
|
+
width?: string;
|
12
|
+
}
|
13
|
+
|
14
|
+
export interface PrefixSuffixData {
|
15
|
+
icon?: IconData;
|
16
|
+
prefixText?: string;
|
17
|
+
suffixText?: string;
|
18
|
+
image?: ImageData;
|
19
|
+
}
|
20
|
+
|
21
|
+
export interface OptionGroupData {
|
22
|
+
prefix?: PrefixSuffixData;
|
23
|
+
suffix?: PrefixSuffixData;
|
24
|
+
textContent?: string;
|
25
|
+
}
|
@@ -0,0 +1,84 @@
|
|
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
|
+
|
8
|
+
import {LitElement, html, CSSResultArray, TemplateResult} from 'lit';
|
9
|
+
import { customElement, property} from 'lit/decorators.js';
|
10
|
+
import {styles} from './nile-option-group.css';
|
11
|
+
import NileElement from '../internal/nile-element';
|
12
|
+
import { OptionGroupData } from './nile-option-group.interface';
|
13
|
+
|
14
|
+
@customElement('nile-option-group')
|
15
|
+
export class NileOptionGroup extends NileElement {
|
16
|
+
|
17
|
+
public static get styles(): CSSResultArray {
|
18
|
+
return [styles];
|
19
|
+
}
|
20
|
+
|
21
|
+
@property({type: String, reflect: true, attribute: true}) name: string = "";
|
22
|
+
@property({type: Object, attribute: true}) data: OptionGroupData | null = null;
|
23
|
+
|
24
|
+
private checkForImageOrIcon() {
|
25
|
+
return this.data?.prefix?.icon?.name || this.data?.prefix?.image?.src || this.data?.prefix?.prefixText;
|
26
|
+
}
|
27
|
+
|
28
|
+
private normalizeImageDimension(value?: string | number): string {
|
29
|
+
if (value === undefined || value === null || value === "") {
|
30
|
+
return "20";
|
31
|
+
}
|
32
|
+
|
33
|
+
const dimension = Number(value);
|
34
|
+
if (isNaN(dimension) || dimension <= 0) {
|
35
|
+
return "20";
|
36
|
+
}
|
37
|
+
return dimension > 40 ? "25" : dimension.toString();
|
38
|
+
}
|
39
|
+
|
40
|
+
public render(): TemplateResult {
|
41
|
+
return html`
|
42
|
+
<div part="option-group-header" class="option-group-header">
|
43
|
+
<div part="content-container" class="content-container ${this.checkForImageOrIcon() ? 'gap-18px' : ''}">
|
44
|
+
<!-- prefix content -->
|
45
|
+
${
|
46
|
+
this.data?.prefix?.icon?.name
|
47
|
+
? html`<nile-icon part="prefix-icon" name="${this.data?.prefix?.icon?.name}" size="${this.data?.prefix?.icon?.size || "16"}" color="${this.data?.prefix?.icon?.color || "var(--nile-colors-dark-500)"}" method="${this.data?.prefix?.icon?.method || "fill"}"></nile-icon>`
|
48
|
+
: this.data?.prefix?.prefixText
|
49
|
+
? html`<span part="prefix-text">${this.data?.prefix?.prefixText}</span>`
|
50
|
+
: this.data?.prefix?.image?.src
|
51
|
+
? html`<img part="prefix-image" src="${this.data?.prefix?.image?.src}" width="${this.normalizeImageDimension(this.data?.prefix?.image?.width)}" height="${this.normalizeImageDimension(this.data?.prefix?.image?.height)}">`
|
52
|
+
: html`<slot part="prefix" name="prefix" class="option-group-prefix"></slot>`
|
53
|
+
}
|
54
|
+
|
55
|
+
<!-- main content -->
|
56
|
+
${
|
57
|
+
this.data?.textContent
|
58
|
+
? html`<span part="content-text">${this.data?.textContent}</span>`
|
59
|
+
: html`<slot part="content"></slot>`
|
60
|
+
}
|
61
|
+
</div>
|
62
|
+
|
63
|
+
<!-- suffix content -->
|
64
|
+
${
|
65
|
+
this.data?.suffix?.icon?.name
|
66
|
+
? html`<nile-icon part="suffix-icon" name="${this.data?.suffix?.icon?.name}" size="${this.data?.suffix?.icon?.size || "16"}" color="${this.data?.suffix?.icon?.color || "var(--nile-colors-dark-500)"}" method="${this.data?.suffix?.icon?.method || "fill"}"></nile-icon>`
|
67
|
+
: this.data?.suffix?.suffixText
|
68
|
+
? html`<span part="suffix-text">${this.data?.suffix?.suffixText}</span>`
|
69
|
+
: this.data?.suffix?.image?.src
|
70
|
+
? html`<img part="suffix-image" src="${this.data?.prefix?.image?.src}" width="${this.normalizeImageDimension(this.data?.suffix?.image?.width)}" height="${this.normalizeImageDimension(this.data?.suffix?.image?.height)}">`
|
71
|
+
: html`<slot part="suffix" name="suffix" class="option-group-suffix"></slot>`
|
72
|
+
}
|
73
|
+
</div>
|
74
|
+
`;
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
78
|
+
export default NileOptionGroup;
|
79
|
+
|
80
|
+
declare global {
|
81
|
+
interface HTMLElementTagNameMap {
|
82
|
+
'nile-option-group': NileOptionGroup;
|
83
|
+
}
|
84
|
+
}
|
@@ -38,6 +38,8 @@ import { unsafeHTML } from 'lit/directives/unsafe-html.js';
|
|
38
38
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
39
39
|
import '../nile-virtual-select/nile-virtual-select';
|
40
40
|
import { VirtualScrollHelper } from './virtual-scroll-helper';
|
41
|
+
import NileOptionGroup from '../nile-option-group/nile-option-group';
|
42
|
+
import { GroupAttributes } from './nile-select.interface';
|
41
43
|
|
42
44
|
type NileRemoveEvent = CustomEvent<Record<PropertyKey, never>>;
|
43
45
|
|
@@ -258,6 +260,9 @@ export class NileSelect extends NileElement implements NileFormControl{
|
|
258
260
|
|
259
261
|
@property({ type: Boolean }) enableVirtualScroll = false;
|
260
262
|
|
263
|
+
/** To enable the group header in the select */
|
264
|
+
@property({ type: Boolean, reflect: true, attribute: true }) enableGroupHeader = false;
|
265
|
+
|
261
266
|
/** Gets the validity state object */
|
262
267
|
get validity() {
|
263
268
|
return this.valueInput?.validity;
|
@@ -303,6 +308,10 @@ export class NileSelect extends NileElement implements NileFormControl{
|
|
303
308
|
}
|
304
309
|
|
305
310
|
protected firstUpdated(_changedProperties: PropertyValues): void {
|
311
|
+
if(this.enableGroupHeader) {
|
312
|
+
this.handleGroupSearchChange();
|
313
|
+
}
|
314
|
+
|
306
315
|
if(_changedProperties.has('multiple')) {
|
307
316
|
this.setCheckBoxInOption(this.multiple as boolean);
|
308
317
|
}
|
@@ -379,6 +388,9 @@ export class NileSelect extends NileElement implements NileFormControl{
|
|
379
388
|
}
|
380
389
|
});
|
381
390
|
|
391
|
+
if(this.enableGroupHeader) {
|
392
|
+
this.handleGroupShowSelected();
|
393
|
+
}
|
382
394
|
// this.requestUpdate();
|
383
395
|
}
|
384
396
|
|
@@ -392,6 +404,9 @@ export class NileSelect extends NileElement implements NileFormControl{
|
|
392
404
|
el.selected = false;
|
393
405
|
el.hidden = false;
|
394
406
|
});
|
407
|
+
if(this.enableGroupHeader) {
|
408
|
+
this.handleGroupShowSelected();
|
409
|
+
}
|
395
410
|
this.value = '';
|
396
411
|
this.selectionChanged();
|
397
412
|
this.emit('nile-change', { value: this.value, name: this.name });
|
@@ -541,6 +556,9 @@ export class NileSelect extends NileElement implements NileFormControl{
|
|
541
556
|
this.showSelected = false;
|
542
557
|
this.value = '';
|
543
558
|
this.displayInput.focus({ preventScroll: true });
|
559
|
+
if(this.enableGroupHeader) {
|
560
|
+
this.handleGroupShowSelected();
|
561
|
+
}
|
544
562
|
|
545
563
|
// Emit after update
|
546
564
|
this.updateComplete.then(() => {
|
@@ -604,7 +622,9 @@ export class NileSelect extends NileElement implements NileFormControl{
|
|
604
622
|
el.hidden = this.showSelected;
|
605
623
|
}
|
606
624
|
});
|
607
|
-
|
625
|
+
if(this.enableGroupHeader) {
|
626
|
+
this.handleGroupShowSelected();
|
627
|
+
}
|
608
628
|
this.requestUpdate();
|
609
629
|
}
|
610
630
|
}
|
@@ -642,6 +662,9 @@ export class NileSelect extends NileElement implements NileFormControl{
|
|
642
662
|
el.hidden = this.showSelected;
|
643
663
|
}
|
644
664
|
});
|
665
|
+
if(this.enableGroupHeader) {
|
666
|
+
this.handleGroupShowSelected();
|
667
|
+
}
|
645
668
|
|
646
669
|
// Emit after updating
|
647
670
|
this.updateComplete.then(() => {
|
@@ -811,6 +834,9 @@ export class NileSelect extends NileElement implements NileFormControl{
|
|
811
834
|
|
812
835
|
handleSearchChange(e: any) {
|
813
836
|
this.searchValue = e.detail.value;
|
837
|
+
if(this.enableGroupHeader) {
|
838
|
+
this.handleGroupSearchChange();
|
839
|
+
}
|
814
840
|
if (!this.disableLocalSearch) {
|
815
841
|
let filteredOptions = this.filterOptions(this.searchValue);
|
816
842
|
if (filteredOptions.length === 0) {
|
@@ -874,8 +900,14 @@ export class NileSelect extends NileElement implements NileFormControl{
|
|
874
900
|
// Reset the current option
|
875
901
|
this.setCurrentOption(this.selectedOptions[0] || this.getFirstOption());
|
876
902
|
|
877
|
-
// Show
|
878
903
|
this.emit('nile-show', { value: this.value, name: this.name });
|
904
|
+
|
905
|
+
if(this.enableGroupHeader) {
|
906
|
+
this.getAllGroupAttributes().forEach((el: GroupAttributes) => {
|
907
|
+
el.element.classList.remove('nile-group-hidden');
|
908
|
+
});
|
909
|
+
}
|
910
|
+
|
879
911
|
this.addOpenListeners();
|
880
912
|
|
881
913
|
this.showNoResults = !this.getAllOptions()?.length;
|
@@ -921,6 +953,46 @@ export class NileSelect extends NileElement implements NileFormControl{
|
|
921
953
|
}
|
922
954
|
}
|
923
955
|
|
956
|
+
private getAllGroupAttributes() {
|
957
|
+
return Array.from(
|
958
|
+
this.querySelectorAll<NileOptionGroup>('nile-option-group[name]')
|
959
|
+
).map((el: HTMLElement) => ({
|
960
|
+
name: el?.getAttribute('name') || '',
|
961
|
+
data: el?.getAttribute('data'),
|
962
|
+
element: el
|
963
|
+
}));
|
964
|
+
}
|
965
|
+
|
966
|
+
getUniqueGroupNames(arr: NileOption[]) {
|
967
|
+
return Array.from(new Set(arr.map(obj => obj?.groupName)));
|
968
|
+
}
|
969
|
+
|
970
|
+
handleGroupSearchChange() {
|
971
|
+
const filtered = new Set(
|
972
|
+
this.getUniqueGroupNames(this.filterOptions(this.searchValue))
|
973
|
+
);
|
974
|
+
this.getAllGroupAttributes().forEach(({ name, element }) => {
|
975
|
+
element?.classList.toggle('nile-group-hidden', !filtered.has(name));
|
976
|
+
});
|
977
|
+
}
|
978
|
+
|
979
|
+
handleGroupShowSelected() {
|
980
|
+
const visibleGroups = new Set<string>();
|
981
|
+
|
982
|
+
if (this.showSelected) {
|
983
|
+
this.getAllOptions().forEach((option: NileOption) => {
|
984
|
+
if (!option.hidden) visibleGroups.add(option.groupName);
|
985
|
+
});
|
986
|
+
}
|
987
|
+
|
988
|
+
this.getAllGroupAttributes().forEach(({ name, element }) => {
|
989
|
+
element?.classList.toggle(
|
990
|
+
'nile-group-hidden',
|
991
|
+
this.showSelected && !visibleGroups.has(name)
|
992
|
+
);
|
993
|
+
});
|
994
|
+
}
|
995
|
+
|
924
996
|
/** Shows the listbox. */
|
925
997
|
async show() {
|
926
998
|
if (this.open || this.disabled) {
|
@@ -42,37 +42,20 @@ export class NileTableBody extends NileElement {
|
|
42
42
|
@query('slot') defaultSlot: HTMLSlotElement;
|
43
43
|
@queryAssignedNodes({ flatten: true }) _childNodes!: Array<HTMLElement>;
|
44
44
|
@property() type: 'primary' | 'secondary' = 'primary';
|
45
|
-
@property(
|
46
|
-
@property({ type: Boolean, reflect: true, attribute: true }) singleRowExpand = false;
|
45
|
+
@property() bodyStyle: string;
|
47
46
|
|
48
47
|
@state() private rows_data: any[] = [];
|
49
48
|
@state() private header_rows_data: any[] = [];
|
50
49
|
@state() private sort__index: number;
|
51
50
|
@state() private search__index: number;
|
52
51
|
@state() private hasResizableColumns = false;
|
53
|
-
private expandedRow: HTMLElement | null = null;
|
54
52
|
|
55
53
|
public static get styles(): CSSResultArray {
|
56
54
|
return [styles];
|
57
55
|
}
|
58
56
|
|
59
57
|
protected firstUpdated(_changedProperties: PropertyValues): void {
|
60
|
-
this.emit('nile-body-load', { value: this.type, comp:
|
61
|
-
|
62
|
-
if (this.singleRowExpand) {
|
63
|
-
this.addEventListener('nile-change', (e: any) => {
|
64
|
-
const targetRow = e.target as HTMLElement;
|
65
|
-
|
66
|
-
if (e.detail.expanded) {
|
67
|
-
if (this.expandedRow && this.expandedRow !== targetRow) {
|
68
|
-
(this.expandedRow as any).expanded = false;
|
69
|
-
}
|
70
|
-
this.expandedRow = targetRow;
|
71
|
-
} else if (this.expandedRow === targetRow) {
|
72
|
-
this.expandedRow = null;
|
73
|
-
}
|
74
|
-
});
|
75
|
-
}
|
58
|
+
this.emit('nile-body-load', { value: this.type, comp:this },true,false)
|
76
59
|
}
|
77
60
|
|
78
61
|
/* #endregion */
|
@@ -95,14 +78,6 @@ export class NileTableBody extends NileElement {
|
|
95
78
|
let row_data: any = [];
|
96
79
|
this._childNodes.forEach((child: any) => {
|
97
80
|
if (child.tagName && child?.tagName?.toLowerCase() === 'nile-table-row') {
|
98
|
-
if (this.expandableRows) {
|
99
|
-
const expandable = child.getAttribute('expandable');
|
100
|
-
if (expandable) {
|
101
|
-
(child as any).expandable = expandable === 'false' || expandable === false ? false : true;
|
102
|
-
} else {
|
103
|
-
(child as any).expandable = true;
|
104
|
-
}
|
105
|
-
}
|
106
81
|
let nilerows = this.getChildren(child, 'nile-table-cell-item');
|
107
82
|
if (nilerows.length > 0) {
|
108
83
|
nilerows.forEach((element: { innerHTML: any }) => {
|
@@ -149,6 +124,7 @@ export class NileTableBody extends NileElement {
|
|
149
124
|
@slotchange=${this.handleSlotchange}
|
150
125
|
@nile-click-sort=${this.handleSort}
|
151
126
|
class="nile__table__body"
|
127
|
+
style="display: ${this.bodyStyle}"
|
152
128
|
?resizable=${this.hasResizableColumns}
|
153
129
|
@nile-search=${this.handleSearch}
|
154
130
|
></slot>
|
@@ -10,12 +10,13 @@ import {
|
|
10
10
|
html,
|
11
11
|
CSSResultArray,
|
12
12
|
TemplateResult,
|
13
|
+
PropertyValues,
|
13
14
|
} from 'lit';
|
14
15
|
import { customElement, property } from 'lit/decorators.js';
|
15
16
|
import { styles } from './nile-table-cell-item.css';
|
16
17
|
import NileElement from '../internal/nile-element';
|
17
18
|
import { HasSlotController } from '../internal/slot';
|
18
|
-
import { createResizeHandler } from '../internal/resizable-table-helper';
|
19
|
+
import { createResizeHandler, resetAllColumnWidths } from '../internal/resizable-table-helper';
|
19
20
|
|
20
21
|
/**
|
21
22
|
* Nile table Cell Item component.
|
@@ -43,6 +44,19 @@ export class NileTableCellItem extends NileElement {
|
|
43
44
|
|
44
45
|
private handleResizeStart = createResizeHandler(this, 50);
|
45
46
|
|
47
|
+
protected updated(changedProperties: PropertyValues) {
|
48
|
+
super.updated(changedProperties);
|
49
|
+
|
50
|
+
if (changedProperties.has('resizable')) {
|
51
|
+
if (!this.resizable) {
|
52
|
+
const tableBody = this.closest('nile-table-body');
|
53
|
+
if (tableBody) {
|
54
|
+
resetAllColumnWidths(tableBody);
|
55
|
+
}
|
56
|
+
}
|
57
|
+
}
|
58
|
+
}
|
59
|
+
|
46
60
|
/**
|
47
61
|
* Render method
|
48
62
|
* @slot This is a slot test
|
@@ -10,12 +10,13 @@ import {
|
|
10
10
|
html,
|
11
11
|
CSSResultArray,
|
12
12
|
TemplateResult,
|
13
|
+
PropertyValues,
|
13
14
|
} from 'lit';
|
14
15
|
import { customElement, state, property } from 'lit/decorators.js';
|
15
16
|
import { styles } from './nile-table-header-item.css';
|
16
17
|
import NileElement from '../internal/nile-element';
|
17
18
|
import { HasSlotController } from '../internal/slot';
|
18
|
-
import { createResizeHandler } from '../internal/resizable-table-helper';
|
19
|
+
import { createResizeHandler, resetAllColumnWidths } from '../internal/resizable-table-helper';
|
19
20
|
|
20
21
|
/**
|
21
22
|
* Nile icon component.
|
@@ -53,6 +54,19 @@ export class NileTableHeaderItem extends NileElement {
|
|
53
54
|
|
54
55
|
/* #region Methods */
|
55
56
|
|
57
|
+
protected updated(changedProperties: PropertyValues) {
|
58
|
+
super.updated(changedProperties);
|
59
|
+
|
60
|
+
if (changedProperties.has('resizable')) {
|
61
|
+
if (!this.resizable) {
|
62
|
+
const tableBody = this.closest('nile-table-body');
|
63
|
+
if (tableBody) {
|
64
|
+
resetAllColumnWidths(tableBody);
|
65
|
+
}
|
66
|
+
}
|
67
|
+
}
|
68
|
+
}
|
69
|
+
|
56
70
|
/**
|
57
71
|
* Render method
|
58
72
|
* @slot This is a slot test
|