@aquera/nile-elements 1.2.8-beta-1.5 → 1.2.8-beta-1.7
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 +54 -1
- package/dist/assets/nile-elements-4b5c262d.css +1 -0
- package/dist/{fixture-78a015b8.esm.js → fixture-985bba12.esm.js} +1 -1
- package/dist/{fixture-28d63bc4.cjs.js → fixture-d1470b58.cjs.js} +2 -2
- package/dist/{fixture-28d63bc4.cjs.js.map → fixture-d1470b58.cjs.js.map} +1 -1
- package/dist/{fixture-d3ab97fa.cjs.js → fixture-dff65c89.cjs.js} +2 -2
- package/dist/{fixture-82d27dd9.cjs.js.map → fixture-dff65c89.cjs.js.map} +1 -1
- package/dist/index.js +36 -39
- 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/nile-button-toggle.cjs.js +1 -1
- package/dist/nile-button-toggle/nile-button-toggle.cjs.js.map +1 -1
- package/dist/nile-button-toggle/nile-button-toggle.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-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-grid/nile-grid-body/nile-grid-body.css.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-body/nile-grid-body.css.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid-body/nile-grid-body.css.esm.js +1 -1
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +10 -11
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.esm.js +13 -14
- package/dist/nile-grid/nile-grid-row/nile-grid-row.css.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid-row/nile-grid-row.css.esm.js +3 -4
- package/dist/nile-grid/nile-grid.css.cjs.js +1 -1
- package/dist/nile-grid/nile-grid.css.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid.css.esm.js +7 -7
- package/dist/nile-grid/nile-grid.width.cjs.js +1 -1
- package/dist/nile-grid/nile-grid.width.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid.width.esm.js +1 -1
- package/dist/nile-grid-body/nile-grid-body.cjs.js +1 -1
- package/dist/nile-grid-body/nile-grid-body.cjs.js.map +1 -1
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js +1 -1
- package/dist/nile-grid-body/nile-grid-body.css.cjs.js.map +1 -1
- package/dist/nile-grid-body/nile-grid-body.css.esm.js +4 -0
- package/dist/nile-grid-body/nile-grid-body.esm.js +3 -3
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js +1 -1
- package/dist/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -1
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +1 -1
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -1
- package/dist/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +3 -18
- package/dist/nile-grid-cell-item/nile-grid-cell-item.esm.js +3 -3
- package/dist/nile-grid-head/nile-grid-head.cjs.js +1 -1
- package/dist/nile-grid-head/nile-grid-head.cjs.js.map +1 -1
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js +1 -1
- package/dist/nile-grid-head/nile-grid-head.css.cjs.js.map +1 -1
- package/dist/nile-grid-head/nile-grid-head.css.esm.js +1 -1
- package/dist/nile-grid-head/nile-grid-head.esm.js +3 -3
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js +1 -1
- package/dist/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -1
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js +1 -1
- package/dist/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -1
- package/dist/nile-grid-head-item/nile-grid-head-item.css.esm.js +5 -20
- package/dist/nile-grid-head-item/nile-grid-head-item.esm.js +3 -4
- package/dist/nile-grid-row/nile-grid-row.cjs.js +1 -1
- package/dist/nile-grid-row/nile-grid-row.cjs.js.map +1 -1
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js +1 -1
- package/dist/nile-grid-row/nile-grid-row.css.cjs.js.map +1 -1
- package/dist/nile-grid-row/nile-grid-row.css.esm.js +5 -17
- package/dist/nile-grid-row/nile-grid-row.esm.js +5 -4
- package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
- package/dist/nile-hero/nile-hero.test.esm.js +1 -1
- package/dist/nile-icon/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-light-tooltip/index.esm.js +1 -0
- package/dist/nile-light-tooltip/nile-light-tooltip.css.esm.js +6 -0
- package/dist/nile-light-tooltip/nile-light-tooltip.esm.js +1 -0
- 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-lite-tooltip/nile-lite-tooltip.cjs.js +1 -1
- package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js.map +1 -1
- package/dist/nile-lite-tooltip/nile-lite-tooltip.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-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-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/nile-button-toggle/nile-button-toggle.js +1 -1
- package/dist/src/nile-button-toggle/nile-button-toggle.js.map +1 -1
- package/dist/src/nile-chip/nile-chip.js.map +1 -1
- package/dist/src/nile-grid/nile-grid-body/nile-grid-body.css.js +1 -1
- package/dist/src/nile-grid/nile-grid-body/nile-grid-body.css.js.map +1 -1
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js +8 -9
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -1
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.js +11 -12
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -1
- package/dist/src/nile-grid/nile-grid-row/nile-grid-row.css.js +3 -4
- package/dist/src/nile-grid/nile-grid-row/nile-grid-row.css.js.map +1 -1
- package/dist/src/nile-grid/nile-grid.css.js +5 -5
- package/dist/src/nile-grid/nile-grid.css.js.map +1 -1
- package/dist/src/nile-grid/nile-grid.layout.js +3 -3
- package/dist/src/nile-grid/nile-grid.layout.js.map +1 -1
- package/dist/src/nile-light-tooltip/index.d.ts +1 -0
- package/dist/src/nile-light-tooltip/index.js +2 -0
- package/dist/src/{nile-option-header → nile-light-tooltip}/index.js.map +1 -1
- package/dist/src/{nile-group-header/nile-group-header.css.d.ts → nile-light-tooltip/nile-light-tooltip.css.d.ts} +1 -1
- package/dist/src/nile-light-tooltip/nile-light-tooltip.css.js +18 -0
- package/dist/src/nile-light-tooltip/nile-light-tooltip.css.js.map +1 -0
- package/dist/src/nile-light-tooltip/nile-light-tooltip.d.ts +40 -0
- package/dist/src/nile-light-tooltip/nile-light-tooltip.js +101 -0
- package/dist/src/nile-light-tooltip/nile-light-tooltip.js.map +1 -0
- package/dist/src/nile-lite-tooltip/nile-lite-tooltip.d.ts +1 -0
- package/dist/src/nile-lite-tooltip/nile-lite-tooltip.js +46 -0
- package/dist/src/nile-lite-tooltip/nile-lite-tooltip.js.map +1 -1
- package/dist/src/nile-menu/virtual-menu-search-manager.d.ts +11 -0
- package/dist/src/nile-menu/virtual-menu-search-manager.js +43 -0
- package/dist/src/nile-menu/virtual-menu-search-manager.js.map +1 -0
- package/dist/src/nile-sidebar/index.js +11 -14
- package/dist/src/nile-sidebar/index.js.map +1 -1
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js +4 -7
- package/dist/src/nile-sidebar-menu/nile-sidebar-menu.css.js.map +1 -1
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js +4 -7
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.css.js.map +1 -1
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js +0 -1
- package/dist/src/nile-sidebar-menu-items/nile-sidebar-menu-items.js.map +1 -1
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js +1 -4
- package/dist/src/nile-sidebar-wrapper/nile-sidebar-wrapper.css.js.map +1 -1
- package/dist/src/version.js +2 -2
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/nile-button-toggle/nile-button-toggle.ts +1 -1
- package/src/nile-chip/nile-chip.ts +1 -0
- package/src/nile-grid/nile-grid-body/nile-grid-body.css.ts +1 -1
- package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.ts +8 -9
- package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.ts +11 -12
- package/src/nile-grid/nile-grid-row/nile-grid-row.css.ts +3 -4
- package/src/nile-grid/nile-grid.css.ts +5 -5
- package/src/nile-grid/nile-grid.layout.ts +3 -3
- package/src/nile-lite-tooltip/nile-lite-tooltip.ts +52 -0
- 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-324a7ef9.cjs.js +0 -395
- package/dist/fixture-324a7ef9.cjs.js.map +0 -1
- package/dist/fixture-7a0c60c4.esm.js +0 -569
- package/dist/fixture-82d27dd9.cjs.js +0 -395
- package/dist/fixture-add72f26.esm.js +0 -569
- package/dist/fixture-ba65eb22.esm.js +0 -569
- package/dist/fixture-c1bd203f.cjs.js +0 -395
- package/dist/fixture-c1bd203f.cjs.js.map +0 -1
- package/dist/fixture-cb376a7f.cjs.js +0 -395
- package/dist/fixture-cb376a7f.cjs.js.map +0 -1
- package/dist/fixture-d3ab97fa.cjs.js.map +0 -1
- package/dist/fixture-f2693d97.esm.js +0 -569
- package/dist/nile-grid/nile-grid-column-cell-template/index.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-column-cell-template/index.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-column-cell-template/index.esm.js +0 -1
- package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.esm.js +0 -5
- package/dist/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.esm.js +0 -1
- package/dist/nile-grid/nile-grid-column-head-template/index.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-column-head-template/index.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-column-head-template/index.esm.js +0 -1
- package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.esm.js +0 -5
- package/dist/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.esm.js +0 -3
- package/dist/nile-grid/nile-grid-columns/index.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-columns/index.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-columns/index.esm.js +0 -1
- package/dist/nile-grid/nile-grid-columns/nile-grid-columns.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-columns/nile-grid-columns.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-columns/nile-grid-columns.css.cjs.js +0 -2
- package/dist/nile-grid/nile-grid-columns/nile-grid-columns.css.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid-columns/nile-grid-columns.css.esm.js +0 -5
- package/dist/nile-grid/nile-grid-columns/nile-grid-columns.esm.js +0 -3
- package/dist/nile-grid/nile-grid.data-attribute.cjs.js +0 -2
- package/dist/nile-grid/nile-grid.data-attribute.cjs.js.map +0 -1
- package/dist/nile-grid/nile-grid.data-attribute.esm.js +0 -1
- package/dist/nile-grid-cell/index.cjs.js +0 -2
- package/dist/nile-grid-cell/index.cjs.js.map +0 -1
- package/dist/nile-grid-cell/index.esm.js +0 -1
- package/dist/nile-grid-cell/nile-grid-cell.cjs.js +0 -2
- package/dist/nile-grid-cell/nile-grid-cell.cjs.js.map +0 -1
- package/dist/nile-grid-cell/nile-grid-cell.css.cjs.js +0 -2
- package/dist/nile-grid-cell/nile-grid-cell.css.cjs.js.map +0 -1
- package/dist/nile-grid-cell/nile-grid-cell.css.esm.js +0 -35
- package/dist/nile-grid-cell/nile-grid-cell.esm.js +0 -12
- package/dist/nile-grid-cell/nile-grid-cell.utils.cjs.js +0 -2
- package/dist/nile-grid-cell/nile-grid-cell.utils.cjs.js.map +0 -1
- package/dist/nile-grid-cell/nile-grid-cell.utils.esm.js +0 -1
- package/dist/nile-sidebar/index.cjs.js +0 -2
- package/dist/nile-sidebar/index.cjs.js.map +0 -1
- package/dist/nile-sidebar/index.esm.js +0 -75
- package/dist/nile-sidebar-menu/index.cjs.js +0 -2
- package/dist/nile-sidebar-menu/index.cjs.js.map +0 -1
- package/dist/nile-sidebar-menu/index.esm.js +0 -1
- package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js +0 -2
- package/dist/nile-sidebar-menu/nile-sidebar-menu.cjs.js.map +0 -1
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js +0 -2
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.cjs.js.map +0 -1
- package/dist/nile-sidebar-menu/nile-sidebar-menu.css.esm.js +0 -38
- package/dist/nile-sidebar-menu/nile-sidebar-menu.esm.js +0 -10
- package/dist/nile-sidebar-menu-items/index.cjs.js +0 -2
- package/dist/nile-sidebar-menu-items/index.cjs.js.map +0 -1
- package/dist/nile-sidebar-menu-items/index.esm.js +0 -1
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js +0 -2
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.cjs.js.map +0 -1
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js +0 -2
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.cjs.js.map +0 -1
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.css.esm.js +0 -36
- package/dist/nile-sidebar-menu-items/nile-sidebar-menu-items.esm.js +0 -15
- package/dist/nile-sidebar-wrapper/index.cjs.js +0 -2
- package/dist/nile-sidebar-wrapper/index.cjs.js.map +0 -1
- package/dist/nile-sidebar-wrapper/index.esm.js +0 -1
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js +0 -2
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.cjs.js.map +0 -1
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js +0 -2
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.cjs.js.map +0 -1
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.css.esm.js +0 -105
- package/dist/nile-sidebar-wrapper/nile-sidebar-wrapper.esm.js +0 -16
- package/dist/nile-test-hello/index.cjs.js +0 -2
- package/dist/nile-test-hello/index.cjs.js.map +0 -1
- package/dist/nile-test-hello/index.esm.js +0 -1
- package/dist/nile-test-hello/nile-test-hello.cjs.js +0 -2
- package/dist/nile-test-hello/nile-test-hello.cjs.js.map +0 -1
- package/dist/nile-test-hello/nile-test-hello.css.cjs.js +0 -2
- package/dist/nile-test-hello/nile-test-hello.css.cjs.js.map +0 -1
- package/dist/nile-test-hello/nile-test-hello.css.esm.js +0 -5
- package/dist/nile-test-hello/nile-test-hello.esm.js +0 -1
- package/dist/nile-test-hello-column/index.cjs.js +0 -2
- package/dist/nile-test-hello-column/index.cjs.js.map +0 -1
- package/dist/nile-test-hello-column/index.esm.js +0 -1
- package/dist/nile-test-hello-column/nile-test-hello-column.cjs.js +0 -2
- package/dist/nile-test-hello-column/nile-test-hello-column.cjs.js.map +0 -1
- package/dist/nile-test-hello-column/nile-test-hello-column.css.cjs.js +0 -2
- package/dist/nile-test-hello-column/nile-test-hello-column.css.cjs.js.map +0 -1
- package/dist/nile-test-hello-column/nile-test-hello-column.css.esm.js +0 -5
- package/dist/nile-test-hello-column/nile-test-hello-column.esm.js +0 -1
- package/dist/scopedElementsWrapper-4c29be11.esm.js +0 -7
- package/dist/scopedElementsWrapper-a112fc73.cjs.js +0 -6
- package/dist/scopedElementsWrapper-a112fc73.cjs.js.map +0 -1
- package/dist/src/internal/expandable-row-helper.d.ts +0 -13
- package/dist/src/internal/expandable-row-helper.js +0 -37
- package/dist/src/internal/expandable-row-helper.js.map +0 -1
- package/dist/src/internal/expandable-row-styles.d.ts +0 -11
- package/dist/src/internal/expandable-row-styles.js +0 -27
- package/dist/src/internal/expandable-row-styles.js.map +0 -1
- package/dist/src/internal/table-expandable-helper.d.ts +0 -0
- package/dist/src/internal/table-expandable-helper.js +0 -2
- package/dist/src/internal/table-expandable-helper.js.map +0 -1
- package/dist/src/internal/table-row-expandable-helper.d.ts +0 -12
- package/dist/src/internal/table-row-expandable-helper.js +0 -32
- package/dist/src/internal/table-row-expandable-helper.js.map +0 -1
- package/dist/src/internal/table-row-expandable-styles.d.ts +0 -11
- package/dist/src/internal/table-row-expandable-styles.js +0 -12
- package/dist/src/internal/table-row-expandable-styles.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-column-cell-template/index.d.ts +0 -1
- package/dist/src/nile-grid/nile-grid-column-cell-template/index.js +0 -2
- package/dist/src/nile-grid/nile-grid-column-cell-template/index.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.d.ts +0 -12
- package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.js +0 -17
- package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.css.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.d.ts +0 -36
- package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.js +0 -61
- package/dist/src/nile-grid/nile-grid-column-cell-template/nile-grid-column-cell-template.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-column-head-template/index.d.ts +0 -1
- package/dist/src/nile-grid/nile-grid-column-head-template/index.js +0 -2
- package/dist/src/nile-grid/nile-grid-column-head-template/index.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.d.ts +0 -12
- package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.js +0 -17
- package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.css.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.d.ts +0 -32
- package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.js +0 -43
- package/dist/src/nile-grid/nile-grid-column-head-template/nile-grid-column-head-template.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-columns/index.d.ts +0 -1
- package/dist/src/nile-grid/nile-grid-columns/index.js +0 -2
- package/dist/src/nile-grid/nile-grid-columns/index.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.css.d.ts +0 -12
- package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.css.js +0 -17
- package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.css.js.map +0 -1
- package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.d.ts +0 -32
- package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.js +0 -43
- package/dist/src/nile-grid/nile-grid-columns/nile-grid-columns.js.map +0 -1
- package/dist/src/nile-grid/nile-grid.computeWidth.d.ts +0 -0
- package/dist/src/nile-grid/nile-grid.computeWidth.js +0 -2
- package/dist/src/nile-grid/nile-grid.computeWidth.js.map +0 -1
- package/dist/src/nile-grid/nile-grid.data-attribute.d.ts +0 -2
- package/dist/src/nile-grid/nile-grid.data-attribute.js +0 -13
- package/dist/src/nile-grid/nile-grid.data-attribute.js.map +0 -1
- package/dist/src/nile-grid/nile-grid.enums.d.ts +0 -1
- package/dist/src/nile-grid/nile-grid.enums.js +0 -2
- package/dist/src/nile-grid/nile-grid.enums.js.map +0 -1
- package/dist/src/nile-grid/nile-spannable-table.css.d.ts +0 -12
- package/dist/src/nile-grid/nile-spannable-table.css.js +0 -21
- package/dist/src/nile-grid/nile-spannable-table.css.js.map +0 -1
- package/dist/src/nile-grid/nile-spannable-table.d.ts +0 -63
- package/dist/src/nile-grid/nile-spannable-table.js +0 -296
- package/dist/src/nile-grid/nile-spannable-table.js.map +0 -1
- package/dist/src/nile-grid-cell/index.d.ts +0 -1
- package/dist/src/nile-grid-cell/index.js +0 -2
- package/dist/src/nile-grid-cell/index.js.map +0 -1
- package/dist/src/nile-grid-cell/nile-grid-cell.css.d.ts +0 -12
- package/dist/src/nile-grid-cell/nile-grid-cell.css.js +0 -47
- package/dist/src/nile-grid-cell/nile-grid-cell.css.js.map +0 -1
- package/dist/src/nile-grid-cell/nile-grid-cell.d.ts +0 -43
- package/dist/src/nile-grid-cell/nile-grid-cell.js +0 -102
- package/dist/src/nile-grid-cell/nile-grid-cell.js.map +0 -1
- package/dist/src/nile-grid-cell/nile-grid-cell.utils.d.ts +0 -10
- package/dist/src/nile-grid-cell/nile-grid-cell.utils.js +0 -41
- package/dist/src/nile-grid-cell/nile-grid-cell.utils.js.map +0 -1
- package/dist/src/nile-grid-cell/nile-gris-cell.utils.d.ts +0 -10
- package/dist/src/nile-grid-cell/nile-gris-cell.utils.js +0 -33
- package/dist/src/nile-grid-cell/nile-gris-cell.utils.js.map +0 -1
- package/dist/src/nile-grid-column/index.d.ts +0 -1
- package/dist/src/nile-grid-column/index.js +0 -2
- package/dist/src/nile-grid-column/index.js.map +0 -1
- package/dist/src/nile-grid-column/nile-grid-column.css.d.ts +0 -12
- package/dist/src/nile-grid-column/nile-grid-column.css.js +0 -17
- package/dist/src/nile-grid-column/nile-grid-column.css.js.map +0 -1
- package/dist/src/nile-grid-column/nile-grid-column.d.ts +0 -32
- package/dist/src/nile-grid-column/nile-grid-column.js +0 -43
- package/dist/src/nile-grid-column/nile-grid-column.js.map +0 -1
- package/dist/src/nile-grid-columns/index.d.ts +0 -1
- package/dist/src/nile-grid-columns/index.js +0 -2
- package/dist/src/nile-grid-columns/index.js.map +0 -1
- package/dist/src/nile-grid-columns/nile-grid-columns.css.d.ts +0 -12
- package/dist/src/nile-grid-columns/nile-grid-columns.css.js +0 -17
- package/dist/src/nile-grid-columns/nile-grid-columns.css.js.map +0 -1
- package/dist/src/nile-grid-columns/nile-grid-columns.d.ts +0 -32
- package/dist/src/nile-grid-columns/nile-grid-columns.js +0 -43
- package/dist/src/nile-grid-columns/nile-grid-columns.js.map +0 -1
- package/dist/src/nile-grid-header/index.d.ts +0 -1
- package/dist/src/nile-grid-header/index.js +0 -2
- package/dist/src/nile-grid-header/index.js.map +0 -1
- package/dist/src/nile-grid-header/nile-grid-head-item.css.d.ts +0 -12
- package/dist/src/nile-grid-header/nile-grid-head-item.css.js +0 -44
- package/dist/src/nile-grid-header/nile-grid-head-item.css.js.map +0 -1
- package/dist/src/nile-grid-header/nile-grid-head-item.d.ts +0 -42
- package/dist/src/nile-grid-header/nile-grid-head-item.js +0 -127
- package/dist/src/nile-grid-header/nile-grid-head-item.js.map +0 -1
- package/dist/src/nile-grid-header/nile-grid-header.css.d.ts +0 -12
- package/dist/src/nile-grid-header/nile-grid-header.css.js +0 -44
- package/dist/src/nile-grid-header/nile-grid-header.css.js.map +0 -1
- package/dist/src/nile-grid-header/nile-grid-header.d.ts +0 -42
- package/dist/src/nile-grid-header/nile-grid-header.js +0 -127
- package/dist/src/nile-grid-header/nile-grid-header.js.map +0 -1
- package/dist/src/nile-group-header/index.d.ts +0 -1
- package/dist/src/nile-group-header/index.js +0 -2
- package/dist/src/nile-group-header/index.js.map +0 -1
- package/dist/src/nile-group-header/nile-group-header.css.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/nile-option-header.css.d.ts +0 -12
- package/dist/src/nile-option-header/nile-option-header.css.js +0 -30
- package/dist/src/nile-option-header/nile-option-header.css.js.map +0 -1
- package/dist/src/nile-option-header/nile-option-header.d.ts +0 -33
- package/dist/src/nile-option-header/nile-option-header.js +0 -51
- package/dist/src/nile-option-header/nile-option-header.js.map +0 -1
- package/dist/src/nile-spannable-table/index.d.ts +0 -1
- package/dist/src/nile-spannable-table/index.js +0 -2
- package/dist/src/nile-spannable-table/index.js.map +0 -1
- package/dist/src/nile-spannable-table/nile-spannable-table.css.d.ts +0 -12
- package/dist/src/nile-spannable-table/nile-spannable-table.css.js +0 -21
- package/dist/src/nile-spannable-table/nile-spannable-table.css.js.map +0 -1
- package/dist/src/nile-spannable-table/nile-spannable-table.d.ts +0 -63
- package/dist/src/nile-spannable-table/nile-spannable-table.js +0 -296
- package/dist/src/nile-spannable-table/nile-spannable-table.js.map +0 -1
- package/dist/src/nile-spannable-table-body/index.d.ts +0 -1
- package/dist/src/nile-spannable-table-body/index.js +0 -2
- package/dist/src/nile-spannable-table-body/index.js.map +0 -1
- package/dist/src/nile-spannable-table-body/nile-spannable-table-body.css.d.ts +0 -12
- package/dist/src/nile-spannable-table-body/nile-spannable-table-body.css.js +0 -23
- package/dist/src/nile-spannable-table-body/nile-spannable-table-body.css.js.map +0 -1
- package/dist/src/nile-spannable-table-body/nile-spannable-table-body.d.ts +0 -33
- package/dist/src/nile-spannable-table-body/nile-spannable-table-body.js +0 -45
- package/dist/src/nile-spannable-table-body/nile-spannable-table-body.js.map +0 -1
- package/dist/src/nile-spannable-table-cell/index.d.ts +0 -1
- package/dist/src/nile-spannable-table-cell/index.js +0 -2
- package/dist/src/nile-spannable-table-cell/index.js.map +0 -1
- package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.css.d.ts +0 -12
- package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.css.js +0 -21
- package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.css.js.map +0 -1
- package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.d.ts +0 -37
- package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.js +0 -63
- package/dist/src/nile-spannable-table-cell/nile-spannable-table-cell.js.map +0 -1
- package/dist/src/nile-spannable-table-header/index.d.ts +0 -1
- package/dist/src/nile-spannable-table-header/index.js +0 -2
- package/dist/src/nile-spannable-table-header/index.js.map +0 -1
- package/dist/src/nile-spannable-table-header/nile-spannable-table-header.css.d.ts +0 -12
- package/dist/src/nile-spannable-table-header/nile-spannable-table-header.css.js +0 -33
- package/dist/src/nile-spannable-table-header/nile-spannable-table-header.css.js.map +0 -1
- package/dist/src/nile-spannable-table-header/nile-spannable-table-header.d.ts +0 -42
- package/dist/src/nile-spannable-table-header/nile-spannable-table-header.js +0 -119
- package/dist/src/nile-spannable-table-header/nile-spannable-table-header.js.map +0 -1
- package/dist/src/nile-spannable-table-row/index.d.ts +0 -1
- package/dist/src/nile-spannable-table-row/index.js +0 -2
- package/dist/src/nile-spannable-table-row/index.js.map +0 -1
- package/dist/src/nile-spannable-table-row/nile-spannable-table-row.css.d.ts +0 -12
- package/dist/src/nile-spannable-table-row/nile-spannable-table-row.css.js +0 -17
- package/dist/src/nile-spannable-table-row/nile-spannable-table-row.css.js.map +0 -1
- package/dist/src/nile-spannable-table-row/nile-spannable-table-row.d.ts +0 -35
- package/dist/src/nile-spannable-table-row/nile-spannable-table-row.js +0 -57
- package/dist/src/nile-spannable-table-row/nile-spannable-table-row.js.map +0 -1
- package/dist/src/nile-table-row/TableRowExpandableHelper.d.ts +0 -9
- package/dist/src/nile-table-row/TableRowExpandableHelper.js +0 -26
- package/dist/src/nile-table-row/TableRowExpandableHelper.js.map +0 -1
- package/dist/src/nile-table-row/helper.ts.d.ts +0 -37
- package/dist/src/nile-table-row/helper.ts.js +0 -105
- package/dist/src/nile-table-row/helper.ts.js.map +0 -1
- package/dist/src/nile-table-row/nile-table-row-expandable.d.ts +0 -37
- package/dist/src/nile-table-row/nile-table-row-expandable.js +0 -105
- package/dist/src/nile-table-row/nile-table-row-expandable.js.map +0 -1
- package/dist/src/nile-table-row-expandable/index.d.ts +0 -1
- package/dist/src/nile-table-row-expandable/index.js +0 -2
- package/dist/src/nile-table-row-expandable/index.js.map +0 -1
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.d.ts +0 -12
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.js +0 -17
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.css.js.map +0 -1
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.d.ts +0 -37
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.js +0 -103
- package/dist/src/nile-table-row-expandable/nile-table-row-expandable.js.map +0 -1
- package/dist/src/nile-test-hello/index.d.ts +0 -1
- package/dist/src/nile-test-hello/index.js +0 -2
- package/dist/src/nile-test-hello/index.js.map +0 -1
- package/dist/src/nile-test-hello/nile-test-hello.css.d.ts +0 -12
- package/dist/src/nile-test-hello/nile-test-hello.css.js +0 -17
- package/dist/src/nile-test-hello/nile-test-hello.css.js.map +0 -1
- package/dist/src/nile-test-hello/nile-test-hello.d.ts +0 -33
- package/dist/src/nile-test-hello/nile-test-hello.js +0 -49
- package/dist/src/nile-test-hello/nile-test-hello.js.map +0 -1
- package/dist/src/nile-test-hello-column/index.d.ts +0 -1
- package/dist/src/nile-test-hello-column/index.js +0 -2
- package/dist/src/nile-test-hello-column/index.js.map +0 -1
- package/dist/src/nile-test-hello-column/nile-test-hello-column.css.d.ts +0 -12
- package/dist/src/nile-test-hello-column/nile-test-hello-column.css.js +0 -17
- package/dist/src/nile-test-hello-column/nile-test-hello-column.css.js.map +0 -1
- package/dist/src/nile-test-hello-column/nile-test-hello-column.d.ts +0 -13
- package/dist/src/nile-test-hello-column/nile-test-hello-column.js +0 -27
- package/dist/src/nile-test-hello-column/nile-test-hello-column.js.map +0 -1
- package/dist/src/nile-tooltip/nile-tooltip-utils.d.ts +0 -18
- package/dist/src/nile-tooltip/nile-tooltip-utils.js +0 -216
- package/dist/src/nile-tooltip/nile-tooltip-utils.js.map +0 -1
- package/dist/src/nile-tooltip/nile-tooltip.test.d.ts +0 -1
- package/dist/src/nile-tooltip/nile-tooltip.test.js +0 -148
- package/dist/src/nile-tooltip/nile-tooltip.test.js.map +0 -1
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright Aquera Inc 2023
|
|
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 spannable-table component.
|
|
11
|
-
*
|
|
12
|
-
* @tag nile-spannable-table
|
|
13
|
-
*
|
|
14
|
-
*/
|
|
15
|
-
export declare class NileSpannableTable extends NileElement {
|
|
16
|
-
/**
|
|
17
|
-
* The styles for nile-spannable-table
|
|
18
|
-
* @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
|
|
19
|
-
*/
|
|
20
|
-
static get styles(): CSSResultArray;
|
|
21
|
-
private colTemplate;
|
|
22
|
-
private columnWidths;
|
|
23
|
-
private slotEl;
|
|
24
|
-
private rowHeight;
|
|
25
|
-
private overscan;
|
|
26
|
-
private _allRows;
|
|
27
|
-
private _first;
|
|
28
|
-
private _last;
|
|
29
|
-
private _topEl?;
|
|
30
|
-
private _botEl?;
|
|
31
|
-
private _lastTop;
|
|
32
|
-
private _lastTs;
|
|
33
|
-
private _scrollRaf;
|
|
34
|
-
private _vsUpdating;
|
|
35
|
-
private mo?;
|
|
36
|
-
private raf;
|
|
37
|
-
private _ensureSpacers;
|
|
38
|
-
private scheduleLayout;
|
|
39
|
-
private ensureWidths;
|
|
40
|
-
private applyTemplate;
|
|
41
|
-
private onResize;
|
|
42
|
-
protected firstUpdated(): void;
|
|
43
|
-
private onAutoFit;
|
|
44
|
-
private _attachObserverAndLayout;
|
|
45
|
-
private layout;
|
|
46
|
-
private _onScroll;
|
|
47
|
-
private _updateWindow;
|
|
48
|
-
/** later: parse rows/cells → compute col count/template */
|
|
49
|
-
private _getBody;
|
|
50
|
-
protected updated(_c: PropertyValues): void;
|
|
51
|
-
/**
|
|
52
|
-
* Render method
|
|
53
|
-
* @slot This is a slot test
|
|
54
|
-
*/
|
|
55
|
-
render(): TemplateResult;
|
|
56
|
-
disconnectedCallback(): void;
|
|
57
|
-
}
|
|
58
|
-
export default NileSpannableTable;
|
|
59
|
-
declare global {
|
|
60
|
-
interface HTMLElementTagNameMap {
|
|
61
|
-
'nile-spannable-table': NileSpannableTable;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
@@ -1,296 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright Aquera Inc 2023
|
|
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 } from 'lit/decorators.js';
|
|
10
|
-
import { styles } from './nile-spannable-table.css';
|
|
11
|
-
import NileElement from '../internal/nile-element';
|
|
12
|
-
/**
|
|
13
|
-
* Nile spannable-table component.
|
|
14
|
-
*
|
|
15
|
-
* @tag nile-spannable-table
|
|
16
|
-
*
|
|
17
|
-
*/
|
|
18
|
-
let NileSpannableTable = class NileSpannableTable extends NileElement {
|
|
19
|
-
constructor() {
|
|
20
|
-
super(...arguments);
|
|
21
|
-
this.colTemplate = ''; // e.g. '200px 1fr 240px'
|
|
22
|
-
this.columnWidths = []; // e.g. ['200px','1fr','240px']
|
|
23
|
-
this.rowHeight = 40; // px
|
|
24
|
-
this.overscan = 6; // base overscan
|
|
25
|
-
this._allRows = [];
|
|
26
|
-
this._first = 0;
|
|
27
|
-
this._last = 0;
|
|
28
|
-
this._lastTop = 0;
|
|
29
|
-
this._lastTs = 0;
|
|
30
|
-
this._scrollRaf = 0;
|
|
31
|
-
// avoid observer ping-pong while we replace children
|
|
32
|
-
this._vsUpdating = false;
|
|
33
|
-
this.raf = 0;
|
|
34
|
-
this.onResize = (e) => {
|
|
35
|
-
const { col, widthPx } = e.detail;
|
|
36
|
-
this.columnWidths[col] = `${Math.max(40, widthPx)}px`; // min 40px
|
|
37
|
-
this.colTemplate = this.columnWidths.join(' ');
|
|
38
|
-
const body = this._getBody();
|
|
39
|
-
if (body)
|
|
40
|
-
this.applyTemplate(body);
|
|
41
|
-
};
|
|
42
|
-
this.onAutoFit = (e) => {
|
|
43
|
-
const { col } = e.detail;
|
|
44
|
-
const body = this._getBody();
|
|
45
|
-
if (!body)
|
|
46
|
-
return;
|
|
47
|
-
const line = String(col + 1);
|
|
48
|
-
const els = body.querySelectorAll(`[data-c-start="${line}"]`);
|
|
49
|
-
let max = 0;
|
|
50
|
-
els.forEach(el => max = Math.max(max, Math.ceil(el.getBoundingClientRect().width)));
|
|
51
|
-
const pad = 16; // tweak if needed
|
|
52
|
-
this.columnWidths[col] = `${Math.max(40, max + pad)}px`;
|
|
53
|
-
this.colTemplate = this.columnWidths.join(' ');
|
|
54
|
-
this.applyTemplate(body);
|
|
55
|
-
};
|
|
56
|
-
this._onScroll = () => {
|
|
57
|
-
if (this._scrollRaf)
|
|
58
|
-
return;
|
|
59
|
-
this._scrollRaf = requestAnimationFrame(() => {
|
|
60
|
-
this._scrollRaf = 0;
|
|
61
|
-
const body = this._getBody();
|
|
62
|
-
if (!body)
|
|
63
|
-
return;
|
|
64
|
-
this._updateWindow(body);
|
|
65
|
-
});
|
|
66
|
-
};
|
|
67
|
-
/* #endregion */
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* The styles for nile-spannable-table
|
|
71
|
-
* @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
|
|
72
|
-
*/
|
|
73
|
-
static get styles() {
|
|
74
|
-
return [styles];
|
|
75
|
-
}
|
|
76
|
-
_ensureSpacers(body) {
|
|
77
|
-
if (!this._topEl) {
|
|
78
|
-
this._topEl = document.createElement('div');
|
|
79
|
-
this._topEl.className = 'nile-vs-top';
|
|
80
|
-
this._topEl.setAttribute('aria-hidden', 'true');
|
|
81
|
-
this._topEl.style.gridColumn = '1 / -1';
|
|
82
|
-
}
|
|
83
|
-
if (!this._botEl) {
|
|
84
|
-
this._botEl = document.createElement('div');
|
|
85
|
-
this._botEl.className = 'nile-vs-bot';
|
|
86
|
-
this._botEl.setAttribute('aria-hidden', 'true');
|
|
87
|
-
this._botEl.style.gridColumn = '1 / -1';
|
|
88
|
-
}
|
|
89
|
-
if (!this._topEl.parentNode)
|
|
90
|
-
body.prepend(this._topEl);
|
|
91
|
-
if (!this._botEl.parentNode)
|
|
92
|
-
body.append(this._botEl);
|
|
93
|
-
}
|
|
94
|
-
scheduleLayout() {
|
|
95
|
-
if (this.raf)
|
|
96
|
-
cancelAnimationFrame(this.raf);
|
|
97
|
-
this.raf = requestAnimationFrame(() => { this.raf = 0; this.layout(); });
|
|
98
|
-
}
|
|
99
|
-
ensureWidths(colCount) {
|
|
100
|
-
if (this.columnWidths.length !== colCount) {
|
|
101
|
-
this.columnWidths = Array(colCount).fill('auto');
|
|
102
|
-
this.colTemplate = this.columnWidths.join(' ');
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
applyTemplate(body) {
|
|
106
|
-
body.style.gridTemplateColumns = this.colTemplate || `repeat(${Math.max(this.columnWidths.length, 1)}, auto)`;
|
|
107
|
-
}
|
|
108
|
-
firstUpdated() {
|
|
109
|
-
this.setAttribute('role', 'table');
|
|
110
|
-
this.addEventListener('nile:resize', this.onResize);
|
|
111
|
-
this.addEventListener('nile:autofit', this.onAutoFit);
|
|
112
|
-
this.slotEl.addEventListener('slotchange', () => this._attachObserverAndLayout());
|
|
113
|
-
this._attachObserverAndLayout();
|
|
114
|
-
const rh = parseFloat(getComputedStyle(this._getBody()).getPropertyValue('--row-h')) || 0;
|
|
115
|
-
if (rh)
|
|
116
|
-
this.rowHeight = rh;
|
|
117
|
-
}
|
|
118
|
-
_attachObserverAndLayout() {
|
|
119
|
-
const body = this._getBody();
|
|
120
|
-
if (!body)
|
|
121
|
-
return;
|
|
122
|
-
// (re)attach observer
|
|
123
|
-
this.mo?.disconnect();
|
|
124
|
-
this.mo = new MutationObserver(() => {
|
|
125
|
-
if (this._vsUpdating)
|
|
126
|
-
return;
|
|
127
|
-
this.scheduleLayout();
|
|
128
|
-
});
|
|
129
|
-
this.mo.observe(body, {
|
|
130
|
-
subtree: true,
|
|
131
|
-
childList: true,
|
|
132
|
-
attributes: true,
|
|
133
|
-
attributeFilter: ['colspan', 'rowspan']
|
|
134
|
-
});
|
|
135
|
-
this.layout();
|
|
136
|
-
}
|
|
137
|
-
layout() {
|
|
138
|
-
const body = this._getBody();
|
|
139
|
-
if (!body)
|
|
140
|
-
return;
|
|
141
|
-
// const rows = Array.from(body.querySelectorAll('nile-spannable-table-row'));
|
|
142
|
-
const rows = this._allRows.length
|
|
143
|
-
? this._allRows
|
|
144
|
-
: Array.from(body.querySelectorAll('nile-spannable-table-row'));
|
|
145
|
-
this._allRows = rows;
|
|
146
|
-
const carry = []; // remaining blocked rows per column
|
|
147
|
-
let colCount = 0;
|
|
148
|
-
rows.forEach((row, rIdx) => {
|
|
149
|
-
for (let i = 0; i < carry.length; i++)
|
|
150
|
-
if (carry[i] > 0)
|
|
151
|
-
carry[i]--; // new row
|
|
152
|
-
let c = 1; // 1-based column index
|
|
153
|
-
const cells = Array.from(row.querySelectorAll('nile-spannable-table-cell, nile-spannable-table-header'));
|
|
154
|
-
cells.forEach(cell => {
|
|
155
|
-
while (carry[c - 1] > 0)
|
|
156
|
-
c++; // skip blocked cols (rowspan)
|
|
157
|
-
const colspan = Math.max(1, Number(cell.getAttribute('colspan')) || 1);
|
|
158
|
-
const rowspan = Math.max(1, Number(cell.getAttribute('rowspan')) || 1);
|
|
159
|
-
const cStart = c, cEnd = c + colspan;
|
|
160
|
-
const rStart = rIdx + 1, rEnd = rStart + rowspan;
|
|
161
|
-
cell.style.gridColumn = `${cStart} / ${cEnd}`;
|
|
162
|
-
cell.style.gridRow = `${rStart} / ${rEnd}`;
|
|
163
|
-
cell.dataset.cStart = String(cStart);
|
|
164
|
-
for (let k = 0; k < colspan; k++) {
|
|
165
|
-
const idx = c - 1 + k;
|
|
166
|
-
carry[idx] = Math.max(carry[idx] || 0, rowspan - 1);
|
|
167
|
-
}
|
|
168
|
-
c = cEnd;
|
|
169
|
-
colCount = Math.max(colCount, cEnd - 1);
|
|
170
|
-
});
|
|
171
|
-
});
|
|
172
|
-
this.ensureWidths(colCount);
|
|
173
|
-
body.style.display = 'grid';
|
|
174
|
-
body.style.gridAutoRows = 'var(--row-h, 40px)';
|
|
175
|
-
// body.style.gridTemplateColumns = this.colTemplate || `repeat(${Math.max(colCount, 1)}, auto)`;
|
|
176
|
-
body.style.height = '100%'; // ← make body the scrolling viewport
|
|
177
|
-
body.style.overflowY = 'auto';
|
|
178
|
-
this._ensureSpacers(body);
|
|
179
|
-
// capture the full set of rows once (order matters)
|
|
180
|
-
// this._allRows = Array.from(body.querySelectorAll('nile-spannable-table-row'));
|
|
181
|
-
// listen once
|
|
182
|
-
if (!body.hasAttribute('data-vs')) {
|
|
183
|
-
body.setAttribute('data-vs', '1');
|
|
184
|
-
body.addEventListener('scroll', this._onScroll, { passive: true });
|
|
185
|
-
// init scroll anchors
|
|
186
|
-
this._lastTop = body.scrollTop;
|
|
187
|
-
this._lastTs = performance.now();
|
|
188
|
-
}
|
|
189
|
-
// initial window
|
|
190
|
-
this._updateWindow(body, /*force*/ true);
|
|
191
|
-
this.applyTemplate(body);
|
|
192
|
-
}
|
|
193
|
-
// METHOD: _updateWindow
|
|
194
|
-
_updateWindow(body, force = false) {
|
|
195
|
-
this._ensureSpacers(body);
|
|
196
|
-
const total = this._allRows.length;
|
|
197
|
-
if (!total)
|
|
198
|
-
return;
|
|
199
|
-
const now = performance.now();
|
|
200
|
-
const st = body.scrollTop;
|
|
201
|
-
const dt = Math.max(1, now - this._lastTs);
|
|
202
|
-
const v = Math.abs(st - this._lastTop) / dt; // px/ms
|
|
203
|
-
// velocity-adaptive overscan
|
|
204
|
-
const boost = v > 0.8 ? 3 : v > 0.4 ? 2 : 1;
|
|
205
|
-
const localOverscan = Math.max(this.overscan, this.overscan * boost);
|
|
206
|
-
const vh = body.clientHeight;
|
|
207
|
-
const rowsInView = Math.max(1, Math.ceil(vh / this.rowHeight));
|
|
208
|
-
let start = Math.max(0, Math.floor(st / this.rowHeight) - localOverscan);
|
|
209
|
-
let end = Math.min(total, start + rowsInView + localOverscan * 2);
|
|
210
|
-
if (end <= start)
|
|
211
|
-
end = Math.min(total, start + 1); // ← ensure at least one row
|
|
212
|
-
if (!force && start === this._first && end === this._last) {
|
|
213
|
-
this._lastTop = st;
|
|
214
|
-
this._lastTs = now;
|
|
215
|
-
return;
|
|
216
|
-
}
|
|
217
|
-
this._first = start;
|
|
218
|
-
this._last = end;
|
|
219
|
-
// spacers
|
|
220
|
-
this._topEl.style.height = `${start * this.rowHeight}px`;
|
|
221
|
-
this._botEl.style.height = `${(total - end) * this.rowHeight}px`;
|
|
222
|
-
// build window
|
|
223
|
-
const frag = document.createDocumentFragment();
|
|
224
|
-
for (let i = start; i < end; i++)
|
|
225
|
-
frag.appendChild(this._allRows[i]);
|
|
226
|
-
// swap once with MO paused; keep scroll position
|
|
227
|
-
const obs = this.mo;
|
|
228
|
-
obs?.disconnect();
|
|
229
|
-
try {
|
|
230
|
-
body.replaceChildren(this._topEl, frag, this._botEl);
|
|
231
|
-
body.scrollTop = st;
|
|
232
|
-
}
|
|
233
|
-
finally {
|
|
234
|
-
obs?.observe(body, {
|
|
235
|
-
subtree: true,
|
|
236
|
-
childList: true,
|
|
237
|
-
attributes: true,
|
|
238
|
-
attributeFilter: ['colspan', 'rowspan']
|
|
239
|
-
});
|
|
240
|
-
}
|
|
241
|
-
this._lastTop = st;
|
|
242
|
-
this._lastTs = now;
|
|
243
|
-
}
|
|
244
|
-
/** later: parse rows/cells → compute col count/template */
|
|
245
|
-
_getBody() {
|
|
246
|
-
const nodes = this.slotEl?.assignedElements({ flatten: true }) ?? [];
|
|
247
|
-
return nodes.find(n => n.tagName.toLowerCase() === 'nile-spannable-table-body') || null;
|
|
248
|
-
}
|
|
249
|
-
updated(_c) {
|
|
250
|
-
// later: reapply computed grid-template-columns here
|
|
251
|
-
}
|
|
252
|
-
/**
|
|
253
|
-
* Render method
|
|
254
|
-
* @slot This is a slot test
|
|
255
|
-
*/
|
|
256
|
-
render() {
|
|
257
|
-
return html `
|
|
258
|
-
<slot></slot>
|
|
259
|
-
`;
|
|
260
|
-
}
|
|
261
|
-
disconnectedCallback() {
|
|
262
|
-
super.disconnectedCallback?.();
|
|
263
|
-
this.mo?.disconnect();
|
|
264
|
-
if (this.raf)
|
|
265
|
-
cancelAnimationFrame(this.raf);
|
|
266
|
-
const body = this._getBody();
|
|
267
|
-
if (body)
|
|
268
|
-
body.removeEventListener('scroll', this._onScroll);
|
|
269
|
-
this.removeEventListener('nile:resize', this.onResize);
|
|
270
|
-
this.removeEventListener('nile:autofit', this.onAutoFit);
|
|
271
|
-
this._allRows = [];
|
|
272
|
-
this._topEl = undefined;
|
|
273
|
-
this._botEl = undefined;
|
|
274
|
-
}
|
|
275
|
-
};
|
|
276
|
-
__decorate([
|
|
277
|
-
state()
|
|
278
|
-
], NileSpannableTable.prototype, "colTemplate", void 0);
|
|
279
|
-
__decorate([
|
|
280
|
-
state()
|
|
281
|
-
], NileSpannableTable.prototype, "columnWidths", void 0);
|
|
282
|
-
__decorate([
|
|
283
|
-
query('slot')
|
|
284
|
-
], NileSpannableTable.prototype, "slotEl", void 0);
|
|
285
|
-
__decorate([
|
|
286
|
-
state()
|
|
287
|
-
], NileSpannableTable.prototype, "rowHeight", void 0);
|
|
288
|
-
__decorate([
|
|
289
|
-
state()
|
|
290
|
-
], NileSpannableTable.prototype, "overscan", void 0);
|
|
291
|
-
NileSpannableTable = __decorate([
|
|
292
|
-
customElement('nile-spannable-table')
|
|
293
|
-
], NileSpannableTable);
|
|
294
|
-
export { NileSpannableTable };
|
|
295
|
-
export default NileSpannableTable;
|
|
296
|
-
//# sourceMappingURL=nile-spannable-table.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nile-spannable-table.js","sourceRoot":"","sources":["../../../src/nile-spannable-table/nile-spannable-table.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {LitElement, html, CSSResultArray, TemplateResult, PropertyValues} from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport {styles} from './nile-spannable-table.css';\nimport NileElement from '../internal/nile-element';\n\n\n/**\n * Nile spannable-table component.\n *\n * @tag nile-spannable-table\n *\n */\n@customElement('nile-spannable-table')\nexport class NileSpannableTable extends NileElement {\n\n\t/**\n\t * The styles for nile-spannable-table\n\t * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n\t */\n\tpublic static get styles(): CSSResultArray {\n\t\treturn [styles];\n\t}\n\n\t@state() private colTemplate = ''; // e.g. '200px 1fr 240px'\n\t@state() private columnWidths: string[] = []; // e.g. ['200px','1fr','240px']\n\t@query('slot') private slotEl!: HTMLSlotElement;\n\n\t@state() private rowHeight = 40; // px\n\t@state() private overscan = 6; // base overscan\n\n\tprivate _allRows: HTMLElement[] = [];\n\tprivate _first = 0;\n\tprivate _last = 0;\n\n\tprivate _topEl?: HTMLDivElement;\n\tprivate _botEl?: HTMLDivElement;\n\n\tprivate _lastTop = 0;\n\tprivate _lastTs = 0;\n\tprivate _scrollRaf = 0;\n\n\t// avoid observer ping-pong while we replace children\n\tprivate _vsUpdating = false;\n\n\tprivate mo?: MutationObserver;\n\tprivate raf = 0;\n\n\tprivate _ensureSpacers(body: HTMLElement) {\n\t\tif (!this._topEl) {\n\t\t\tthis._topEl = document.createElement('div');\n\t\t\tthis._topEl.className = 'nile-vs-top';\n\t\t\tthis._topEl.setAttribute('aria-hidden', 'true');\n\t\t\tthis._topEl.style.gridColumn = '1 / -1';\n\t\t}\n\t\tif (!this._botEl) {\n\t\t\tthis._botEl = document.createElement('div');\n\t\t\tthis._botEl.className = 'nile-vs-bot';\n\t\t\tthis._botEl.setAttribute('aria-hidden', 'true');\n\t\t\tthis._botEl.style.gridColumn = '1 / -1';\n\t\t}\n\t\tif (!this._topEl.parentNode) body.prepend(this._topEl);\n\t\tif (!this._botEl.parentNode) body.append(this._botEl);\n\t}\n\n\tprivate scheduleLayout() {\n\t\tif (this.raf) cancelAnimationFrame(this.raf);\n\t\tthis.raf = requestAnimationFrame(() => { this.raf = 0; this.layout(); });\n\t}\n\n\tprivate ensureWidths(colCount: number) {\n\t\tif (this.columnWidths.length !== colCount) {\n\t\t\tthis.columnWidths = Array(colCount).fill('auto');\n\t\t\tthis.colTemplate = this.columnWidths.join(' ');\n\t\t}\n\t}\n\n\tprivate applyTemplate(body: HTMLElement) {\n\t\tbody.style.gridTemplateColumns = this.colTemplate || `repeat(${Math.max(this.columnWidths.length, 1)}, auto)`;\n\t}\n\n\tprivate onResize = (e: Event) => {\n\t\tconst { col, widthPx } = (e as CustomEvent).detail as { col: number; widthPx: number };\n\t\tthis.columnWidths[col] = `${Math.max(40, widthPx)}px`; // min 40px\n\t\tthis.colTemplate = this.columnWidths.join(' ');\n\t\tconst body = this._getBody(); if (body) this.applyTemplate(body);\n\t};\n\n\tprotected firstUpdated() {\n\t\tthis.setAttribute('role', 'table');\n\t\tthis.addEventListener('nile:resize', this.onResize);\n\t\tthis.addEventListener('nile:autofit', this.onAutoFit);\n\t\tthis.slotEl.addEventListener('slotchange', () => this._attachObserverAndLayout());\n\t\tthis._attachObserverAndLayout();\n\n\t\tconst rh = parseFloat(getComputedStyle(this._getBody()!).getPropertyValue('--row-h')) || 0;\n\t\tif (rh) this.rowHeight = rh;\n\t}\n\n\tprivate onAutoFit = (e: Event) => {\n\t\tconst { col } = (e as CustomEvent).detail as { col: number };\n\t\tconst body = this._getBody(); if (!body) return;\n\t\tconst line = String(col + 1);\n\t\tconst els = body.querySelectorAll<HTMLElement>(`[data-c-start=\"${line}\"]`);\n\t\tlet max = 0;\n\t\tels.forEach(el => max = Math.max(max, Math.ceil(el.getBoundingClientRect().width)));\n\t\tconst pad = 16; // tweak if needed\n\t\tthis.columnWidths[col] = `${Math.max(40, max + pad)}px`;\n\t\tthis.colTemplate = this.columnWidths.join(' ');\n\t\tthis.applyTemplate(body);\n\t};\n\n\tprivate _attachObserverAndLayout() {\n\t\tconst body = this._getBody();\n\t\tif (!body) return;\n\n\t\t// (re)attach observer\n\t\tthis.mo?.disconnect();\n\t\tthis.mo = new MutationObserver(() => {\n\t\t\tif (this._vsUpdating) return;\n\t\t\tthis.scheduleLayout()\n\t\t});\n\t\tthis.mo.observe(body, {\n\t\t\tsubtree: true,\n\t\t\tchildList: true,\n\t\t\tattributes: true,\n\t\t\tattributeFilter: ['colspan', 'rowspan']\n\t\t});\n\n\t\tthis.layout();\n\t}\n\n\tprivate layout() {\n\t\tconst body = this._getBody(); if (!body) return;\n\n\t\t// const rows = Array.from(body.querySelectorAll('nile-spannable-table-row'));\n\t\tconst rows = this._allRows.length\n\t\t\t? this._allRows\n\t\t\t: Array.from(body.querySelectorAll('nile-spannable-table-row'));\n\t\tthis._allRows = rows;\n\n\t\tconst carry: number[] = []; // remaining blocked rows per column\n\t\tlet colCount = 0;\n\n\t\trows.forEach((row, rIdx) => {\n\t\t\tfor (let i = 0; i < carry.length; i++) if (carry[i] > 0) carry[i]--; // new row\n\n\t\t\tlet c = 1; // 1-based column index\n\t\t\tconst cells = Array.from(\n\t\t\t\trow.querySelectorAll('nile-spannable-table-cell, nile-spannable-table-header')\n\t\t\t) as HTMLElement[];\n\n\t\t\tcells.forEach(cell => {\n\t\t\t\twhile (carry[c - 1] > 0) c++; // skip blocked cols (rowspan)\n\t\t\t\tconst colspan = Math.max(1, Number(cell.getAttribute('colspan')) || 1);\n\t\t\t\tconst rowspan = Math.max(1, Number(cell.getAttribute('rowspan')) || 1);\n\n\t\t\t\tconst cStart = c, cEnd = c + colspan;\n\t\t\t\tconst rStart = rIdx + 1, rEnd = rStart + rowspan;\n\n\t\t\t\tcell.style.gridColumn = `${cStart} / ${cEnd}`;\n\t\t\t\tcell.style.gridRow = `${rStart} / ${rEnd}`;\n\t\t\t\t(cell as any).dataset.cStart = String(cStart);\n\n\t\t\t\tfor (let k = 0; k < colspan; k++) {\n\t\t\t\t\tconst idx = c - 1 + k;\n\t\t\t\t\tcarry[idx] = Math.max(carry[idx] || 0, rowspan - 1);\n\t\t\t\t}\n\n\t\t\t\tc = cEnd;\n\t\t\t\tcolCount = Math.max(colCount, cEnd - 1);\n\t\t\t});\n\t\t});\n\n\t\tthis.ensureWidths(colCount);\n\t\tbody.style.display = 'grid';\n\t\tbody.style.gridAutoRows = 'var(--row-h, 40px)';\n\t\t// body.style.gridTemplateColumns = this.colTemplate || `repeat(${Math.max(colCount, 1)}, auto)`;\n\t\tbody.style.height = '100%'; // ← make body the scrolling viewport\n\t\tbody.style.overflowY = 'auto';\n\n\t\tthis._ensureSpacers(body);\n\n\t\t// capture the full set of rows once (order matters)\n\t\t// this._allRows = Array.from(body.querySelectorAll('nile-spannable-table-row'));\n\n\t\t// listen once\n\t\tif (!body.hasAttribute('data-vs')) {\n\t\t\tbody.setAttribute('data-vs', '1');\n\t\t\tbody.addEventListener('scroll', this._onScroll, { passive: true });\n\t\t\t// init scroll anchors\n\t\t\tthis._lastTop = body.scrollTop;\n\t\t\tthis._lastTs = performance.now();\n\t\t}\n\n\t\t// initial window\n\t\tthis._updateWindow(body, /*force*/ true);\n\n\t\tthis.applyTemplate(body);\n\t}\n\n\tprivate _onScroll = () => {\n\t\tif (this._scrollRaf) return;\n\t\tthis._scrollRaf = requestAnimationFrame(() => {\n\t\t\tthis._scrollRaf = 0;\n\t\t\tconst body = this._getBody(); if (!body) return;\n\t\t\tthis._updateWindow(body);\n\t\t});\n\t};\n\n\t// METHOD: _updateWindow\n\tprivate _updateWindow(body: HTMLElement, force = false) {\n\t\tthis._ensureSpacers(body);\n\n\t\tconst total = this._allRows.length;\n\t\tif (!total) return;\n\n\t\tconst now = performance.now();\n\t\tconst st = body.scrollTop;\n\t\tconst dt = Math.max(1, now - this._lastTs);\n\t\tconst v = Math.abs(st - this._lastTop) / dt; // px/ms\n\n\t\t// velocity-adaptive overscan\n\t\tconst boost = v > 0.8 ? 3 : v > 0.4 ? 2 : 1;\n\t\tconst localOverscan = Math.max(this.overscan, this.overscan * boost);\n\n\t\tconst vh = body.clientHeight;\n\t\tconst rowsInView = Math.max(1, Math.ceil(vh / this.rowHeight));\n\t\tlet start = Math.max(0, Math.floor(st / this.rowHeight) - localOverscan);\n\t\tlet end = Math.min(total, start + rowsInView + localOverscan * 2);\n\t\tif (end <= start) end = Math.min(total, start + 1); // ← ensure at least one row\n\n\t\tif (!force && start === this._first && end === this._last) {\n\t\t\tthis._lastTop = st; this._lastTs = now;\n\t\t\treturn;\n\t\t}\n\t\tthis._first = start; this._last = end;\n\n\t\t// spacers\n\t\tthis._topEl!.style.height = `${start * this.rowHeight}px`;\n\t\tthis._botEl!.style.height = `${(total - end) * this.rowHeight}px`;\n\n\t\t// build window\n\t\tconst frag = document.createDocumentFragment();\n\t\tfor (let i = start; i < end; i++) frag.appendChild(this._allRows[i]);\n\n\t\t// swap once with MO paused; keep scroll position\n\t\tconst obs = this.mo;\n\t\tobs?.disconnect();\n\t\ttry {\n\t\t\tbody.replaceChildren(this._topEl!, frag, this._botEl!);\n\t\t\tbody.scrollTop = st;\n\t\t} finally {\n\t\t\tobs?.observe(body, {\n\t\t\t\tsubtree: true,\n\t\t\t\tchildList: true,\n\t\t\t\tattributes: true,\n\t\t\t\tattributeFilter: ['colspan', 'rowspan']\n\t\t\t});\n\t\t}\n\n\t\tthis._lastTop = st; this._lastTs = now;\n\t}\n\n\t/** later: parse rows/cells → compute col count/template */\n\tprivate _getBody(): HTMLElement | null {\n\t\tconst nodes = this.slotEl?.assignedElements({ flatten: true }) ?? [];\n\t\treturn nodes.find(n => n.tagName.toLowerCase() === 'nile-spannable-table-body') as HTMLElement || null;\n\t}\n\n\tprotected updated(_c: PropertyValues) {\n\t\t// later: reapply computed grid-template-columns here\n\t}\n\n\t/**\n\t * Render method\n\t * @slot This is a slot test\n\t */\n\tpublic render(): TemplateResult {\n\t\treturn html`\n\t\t\t<slot></slot>\n\t\t`;\n\t}\n\n\tdisconnectedCallback(): void {\n\t\tsuper.disconnectedCallback?.();\n\t\tthis.mo?.disconnect();\n\t\tif (this.raf) cancelAnimationFrame(this.raf);\n\n\t\tconst body = this._getBody(); \n\t\tif (body) body.removeEventListener('scroll', this._onScroll);\n\t\tthis.removeEventListener('nile:resize', this.onResize);\n\t\tthis.removeEventListener('nile:autofit', this.onAutoFit);\n\n\t\tthis._allRows = [];\n\t\tthis._topEl = undefined;\n\t\tthis._botEl = undefined;\n\t}\n\n\t/* #endregion */\n}\n\nexport default NileSpannableTable;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-spannable-table': NileSpannableTable;\n }\n}"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { NileSpannableTableBody } from './nile-spannable-table-body';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nile-spannable-table-body/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC","sourcesContent":["export { NileSpannableTableBody } from './nile-spannable-table-body';"]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright Aquera Inc 2023
|
|
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
|
-
* SpannableTableBody CSS
|
|
9
|
-
*/
|
|
10
|
-
export declare const styles: import("lit").CSSResult;
|
|
11
|
-
declare const _default: import("lit").CSSResult[];
|
|
12
|
-
export default _default;
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright Aquera Inc 2023
|
|
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 { css } from 'lit';
|
|
8
|
-
/**
|
|
9
|
-
* SpannableTableBody CSS
|
|
10
|
-
*/
|
|
11
|
-
export const styles = css `
|
|
12
|
-
:host{
|
|
13
|
-
display:grid; /* table sets template */
|
|
14
|
-
overflow:auto; /* scroll container */
|
|
15
|
-
box-sizing:border-box;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
::slotted(*) {
|
|
19
|
-
box-sizing:border-box;
|
|
20
|
-
}
|
|
21
|
-
`;
|
|
22
|
-
export default [styles];
|
|
23
|
-
//# sourceMappingURL=nile-spannable-table-body.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nile-spannable-table-body.css.js","sourceRoot":"","sources":["../../../src/nile-spannable-table-body/nile-spannable-table-body.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;CAUxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2023\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport {css} from 'lit';\n\n/**\n * SpannableTableBody CSS\n */\nexport const styles = css`\n\t:host{\n\t\tdisplay:grid; /* table sets template */\n\t\toverflow:auto; /* scroll container */\n\t\tbox-sizing:border-box;\n\t}\n\t\n\t::slotted(*) { \n\t\tbox-sizing:border-box;\n\t}\n`;\n\nexport default [styles];"]}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright Aquera Inc 2023
|
|
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 } from 'lit';
|
|
8
|
-
import NileElement from '../internal/nile-element';
|
|
9
|
-
/**
|
|
10
|
-
* Nile spannable-table-body component.
|
|
11
|
-
*
|
|
12
|
-
* @tag nile-spannable-table-body
|
|
13
|
-
*
|
|
14
|
-
*/
|
|
15
|
-
export declare class NileSpannableTableBody extends NileElement {
|
|
16
|
-
/**
|
|
17
|
-
* The styles for nile-spannable-table-body
|
|
18
|
-
* @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
|
|
19
|
-
*/
|
|
20
|
-
static get styles(): CSSResultArray;
|
|
21
|
-
connectedCallback(): void;
|
|
22
|
-
/**
|
|
23
|
-
* Render method
|
|
24
|
-
* @slot This is a slot test
|
|
25
|
-
*/
|
|
26
|
-
render(): TemplateResult;
|
|
27
|
-
}
|
|
28
|
-
export default NileSpannableTableBody;
|
|
29
|
-
declare global {
|
|
30
|
-
interface HTMLElementTagNameMap {
|
|
31
|
-
'nile-spannable-table-body': NileSpannableTableBody;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright Aquera Inc 2023
|
|
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 } from 'lit/decorators.js';
|
|
10
|
-
import { styles } from './nile-spannable-table-body.css';
|
|
11
|
-
import NileElement from '../internal/nile-element';
|
|
12
|
-
/**
|
|
13
|
-
* Nile spannable-table-body component.
|
|
14
|
-
*
|
|
15
|
-
* @tag nile-spannable-table-body
|
|
16
|
-
*
|
|
17
|
-
*/
|
|
18
|
-
let NileSpannableTableBody = class NileSpannableTableBody extends NileElement {
|
|
19
|
-
/**
|
|
20
|
-
* The styles for nile-spannable-table-body
|
|
21
|
-
* @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
|
|
22
|
-
*/
|
|
23
|
-
static get styles() {
|
|
24
|
-
return [styles];
|
|
25
|
-
}
|
|
26
|
-
connectedCallback() {
|
|
27
|
-
super.connectedCallback();
|
|
28
|
-
this.setAttribute('role', 'rowgroup'); // table may override; safe default
|
|
29
|
-
}
|
|
30
|
-
/**
|
|
31
|
-
* Render method
|
|
32
|
-
* @slot This is a slot test
|
|
33
|
-
*/
|
|
34
|
-
render() {
|
|
35
|
-
return html `
|
|
36
|
-
<slot></slot>
|
|
37
|
-
`;
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
NileSpannableTableBody = __decorate([
|
|
41
|
-
customElement('nile-spannable-table-body')
|
|
42
|
-
], NileSpannableTableBody);
|
|
43
|
-
export { NileSpannableTableBody };
|
|
44
|
-
export default NileSpannableTableBody;
|
|
45
|
-
//# sourceMappingURL=nile-spannable-table-body.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nile-spannable-table-body.js","sourceRoot":"","sources":["../../../src/nile-spannable-table-body/nile-spannable-table-body.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAAa,IAAI,EAAiC,MAAM,KAAK,CAAC;AACrE,OAAO,EAAE,aAAa,EAAW,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAC,MAAM,EAAC,MAAM,iCAAiC,CAAC;AACvD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AAGnD;;;;;GAKG;AAEI,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,WAAW;IAEtD;;;OAGG;IACI,MAAM,KAAK,MAAM;QACvB,OAAO,CAAC,MAAM,CAAC,CAAC;IACjB,CAAC;IAED,iBAAiB;QAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,mCAAmC;IAC3E,CAAC;IAED;;;OAGG;IACI,MAAM;QACZ,OAAO,IAAI,CAAA;;GAEV,CAAC;IACH,CAAC;CAGD,CAAA;AA1BY,sBAAsB;IADlC,aAAa,CAAC,2BAA2B,CAAC;GAC9B,sBAAsB,CA0BlC;;AAED,eAAe,sBAAsB,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {LitElement, html, CSSResultArray, TemplateResult} from 'lit';\nimport { customElement, property} from 'lit/decorators.js';\nimport {styles} from './nile-spannable-table-body.css';\nimport NileElement from '../internal/nile-element';\n\n\n/**\n * Nile spannable-table-body component.\n *\n * @tag nile-spannable-table-body\n *\n */\n@customElement('nile-spannable-table-body')\nexport class NileSpannableTableBody extends NileElement {\n\n\t/**\n\t * The styles for nile-spannable-table-body\n\t * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n\t */\n\tpublic static get styles(): CSSResultArray {\n\t\treturn [styles];\n\t}\n\t\n\tconnectedCallback() {\n\t\tsuper.connectedCallback();\n\t\tthis.setAttribute('role', 'rowgroup'); // table may override; safe default\n\t}\n\n\t/**\n\t * Render method\n\t * @slot This is a slot test\n\t */\n\tpublic render(): TemplateResult {\n\t\treturn html`\n\t\t\t<slot></slot>\n\t\t`;\n\t}\n\n\t/* #endregion */\n}\n\nexport default NileSpannableTableBody;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-spannable-table-body': NileSpannableTableBody;\n }\n}"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { NileSpannableTableCell } from './nile-spannable-table-cell';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nile-spannable-table-cell/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC","sourcesContent":["export { NileSpannableTableCell } from './nile-spannable-table-cell';"]}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright Aquera Inc 2023
|
|
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
|
-
* SpannableTableCell CSS
|
|
9
|
-
*/
|
|
10
|
-
export declare const styles: import("lit").CSSResult;
|
|
11
|
-
declare const _default: import("lit").CSSResult[];
|
|
12
|
-
export default _default;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright Aquera Inc 2023
|
|
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 { css } from 'lit';
|
|
8
|
-
/**
|
|
9
|
-
* SpannableTableCell CSS
|
|
10
|
-
*/
|
|
11
|
-
export const styles = css `
|
|
12
|
-
:host{
|
|
13
|
-
box-sizing:border-box; min-width:0;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
::slotted(*) {
|
|
17
|
-
overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
|
|
18
|
-
}
|
|
19
|
-
`;
|
|
20
|
-
export default [styles];
|
|
21
|
-
//# sourceMappingURL=nile-spannable-table-cell.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nile-spannable-table-cell.css.js","sourceRoot":"","sources":["../../../src/nile-spannable-table-cell/nile-spannable-table-cell.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;CAQxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2023\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport { css } from 'lit';\n\n/**\n * SpannableTableCell CSS\n */\nexport const styles = css`\n\t:host{\n box-sizing:border-box; min-width:0;\n }\n \n ::slotted(*) {\n overflow:hidden; text-overflow:ellipsis; white-space:nowrap;\n }\n`;\n\nexport default [styles];"]}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright Aquera Inc 2023
|
|
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 } from 'lit';
|
|
8
|
-
import NileElement from '../internal/nile-element';
|
|
9
|
-
/**
|
|
10
|
-
* Nile spannable-table-cell component.
|
|
11
|
-
*
|
|
12
|
-
* @tag nile-spannable-table-cell
|
|
13
|
-
*
|
|
14
|
-
*/
|
|
15
|
-
export declare class NileSpannableTableCell extends NileElement {
|
|
16
|
-
/**
|
|
17
|
-
* The styles for nile-spannable-table-cell
|
|
18
|
-
* @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
|
|
19
|
-
*/
|
|
20
|
-
static get styles(): CSSResultArray;
|
|
21
|
-
colspan: number;
|
|
22
|
-
rowspan: number;
|
|
23
|
-
align?: 'start' | 'center' | 'end';
|
|
24
|
-
valign?: 'top' | 'middle' | 'bottom';
|
|
25
|
-
connectedCallback(): void;
|
|
26
|
-
/**
|
|
27
|
-
* Render method
|
|
28
|
-
* @slot This is a slot test
|
|
29
|
-
*/
|
|
30
|
-
render(): TemplateResult;
|
|
31
|
-
}
|
|
32
|
-
export default NileSpannableTableCell;
|
|
33
|
-
declare global {
|
|
34
|
-
interface HTMLElementTagNameMap {
|
|
35
|
-
'nile-spannable-table-cell': NileSpannableTableCell;
|
|
36
|
-
}
|
|
37
|
-
}
|