@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,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-grid/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 { NileGridCell } from './nile-grid-cell';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nile-grid-cell/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC","sourcesContent":["export { NileGridCell } from './nile-grid-cell';"]}
|
|
@@ -1,12 +0,0 @@
|
|
|
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
|
-
* Grid Cell CSS
|
|
9
|
-
*/
|
|
10
|
-
export declare const styles: import("lit").CSSResult;
|
|
11
|
-
declare const _default: import("lit").CSSResult[];
|
|
12
|
-
export default _default;
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright Aquera Inc 2025
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
import { css } from 'lit';
|
|
8
|
-
/**
|
|
9
|
-
* Grid Cell CSS
|
|
10
|
-
*/
|
|
11
|
-
export const styles = css `
|
|
12
|
-
:host{
|
|
13
|
-
--padding: 16px 24px;
|
|
14
|
-
box-sizing:border-box;
|
|
15
|
-
min-width:0;
|
|
16
|
-
white-space: nowrap;
|
|
17
|
-
width: 100%;
|
|
18
|
-
overflow: hidden;
|
|
19
|
-
text-overflow: ellipsis;
|
|
20
|
-
padding: var(--padding);
|
|
21
|
-
height: auto;
|
|
22
|
-
border-bottom: 1px solid var(--nile-colors-neutral-400);
|
|
23
|
-
border-right: 1px solid var(--nile-colors-neutral-400);
|
|
24
|
-
position:relative;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
::slotted(*) {
|
|
28
|
-
overflow:hidden;
|
|
29
|
-
text-overflow:ellipsis;
|
|
30
|
-
white-space:nowrap;
|
|
31
|
-
width: min-content;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
.resize-handle {
|
|
35
|
-
position:absolute;
|
|
36
|
-
top:0;
|
|
37
|
-
right:0;
|
|
38
|
-
height:100%;
|
|
39
|
-
cursor: col-resize;
|
|
40
|
-
touch-action:none;
|
|
41
|
-
z-index: 1;
|
|
42
|
-
width: 2px;
|
|
43
|
-
border-right: 1px solid var(--nile-colors-neutral-400);
|
|
44
|
-
}
|
|
45
|
-
`;
|
|
46
|
-
export default [styles];
|
|
47
|
-
//# sourceMappingURL=nile-grid-cell.css.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nile-grid-cell.css.js","sourceRoot":"","sources":["../../../src/nile-grid-cell/nile-grid-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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2025\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport { css } from 'lit';\n\n/**\n * Grid Cell CSS\n */\nexport const styles = css`\n\t:host{\n --padding: 16px 24px;\n box-sizing:border-box;\n min-width:0;\n white-space: nowrap;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n\t\tpadding: var(--padding);\n height: auto;\n border-bottom: 1px solid var(--nile-colors-neutral-400);\n border-right: 1px solid var(--nile-colors-neutral-400);\n position:relative;\n }\n \n ::slotted(*) {\n overflow:hidden;\n text-overflow:ellipsis;\n white-space:nowrap;\n width: min-content;\n }\n\n .resize-handle {\n position:absolute;\n top:0;\n right:0;\n height:100%;\n cursor: col-resize;\n touch-action:none;\n z-index: 1;\n width: 2px;\n border-right: 1px solid var(--nile-colors-neutral-400);\n }\n`;\n\nexport default [styles];"]}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright Aquera Inc 2025
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
import { CSSResultArray, TemplateResult } from 'lit';
|
|
8
|
-
import NileElement from '../internal/nile-element';
|
|
9
|
-
/**
|
|
10
|
-
* Nile grid-cell component.
|
|
11
|
-
*
|
|
12
|
-
* @tag nile-grid-cell
|
|
13
|
-
*
|
|
14
|
-
*/
|
|
15
|
-
export declare class NileGridCell extends NileElement {
|
|
16
|
-
/**
|
|
17
|
-
* The styles for nile-grid-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
|
-
resizable: boolean;
|
|
26
|
-
textOverflowType: 'ellipsis' | 'clip';
|
|
27
|
-
private slotEl;
|
|
28
|
-
private _downX;
|
|
29
|
-
private _startW;
|
|
30
|
-
connectedCallback(): void;
|
|
31
|
-
private onHandlePointerDown;
|
|
32
|
-
/**
|
|
33
|
-
* Render method
|
|
34
|
-
* @slot This is a slot test
|
|
35
|
-
*/
|
|
36
|
-
render(): TemplateResult;
|
|
37
|
-
}
|
|
38
|
-
export default NileGridCell;
|
|
39
|
-
declare global {
|
|
40
|
-
interface HTMLElementTagNameMap {
|
|
41
|
-
'nile-grid-cell': NileGridCell;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Copyright Aquera Inc 2025
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
import { __decorate } from "tslib";
|
|
8
|
-
import { html } from 'lit';
|
|
9
|
-
import { customElement, property, query } from 'lit/decorators.js';
|
|
10
|
-
import { styles } from './nile-grid-cell.css';
|
|
11
|
-
import NileElement from '../internal/nile-element';
|
|
12
|
-
import { initCellResize, cellResizeMove, cellResizeDone } from './nile-grid-cell.utils';
|
|
13
|
-
/**
|
|
14
|
-
* Nile grid-cell component.
|
|
15
|
-
*
|
|
16
|
-
* @tag nile-grid-cell
|
|
17
|
-
*
|
|
18
|
-
*/
|
|
19
|
-
let NileGridCell = class NileGridCell extends NileElement {
|
|
20
|
-
constructor() {
|
|
21
|
-
super(...arguments);
|
|
22
|
-
this.colspan = 1;
|
|
23
|
-
this.rowspan = 1;
|
|
24
|
-
this.resizable = false;
|
|
25
|
-
this.textOverflowType = 'ellipsis';
|
|
26
|
-
this._downX = 0;
|
|
27
|
-
this._startW = 0;
|
|
28
|
-
this.onHandlePointerDown = (ev) => {
|
|
29
|
-
const el = this;
|
|
30
|
-
const downXRef = { value: 0 };
|
|
31
|
-
const startWRef = { value: 0 };
|
|
32
|
-
const result = initCellResize(el, ev, downXRef, startWRef);
|
|
33
|
-
if (!result)
|
|
34
|
-
return;
|
|
35
|
-
const { target, col } = result;
|
|
36
|
-
const move = (e) => cellResizeMove(el, col, startWRef.value, downXRef.value, e);
|
|
37
|
-
const done = () => cellResizeDone(el, ev, target, move);
|
|
38
|
-
target.addEventListener('pointermove', move);
|
|
39
|
-
target.addEventListener('pointerup', done, { once: true });
|
|
40
|
-
target.addEventListener('pointercancel', done, { once: true });
|
|
41
|
-
};
|
|
42
|
-
/* #endregion */
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* The styles for nile-grid-cell
|
|
46
|
-
* @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
|
|
47
|
-
*/
|
|
48
|
-
static get styles() {
|
|
49
|
-
return [styles];
|
|
50
|
-
}
|
|
51
|
-
connectedCallback() {
|
|
52
|
-
super.connectedCallback();
|
|
53
|
-
this.setAttribute('role', 'cell');
|
|
54
|
-
}
|
|
55
|
-
/**
|
|
56
|
-
* Render method
|
|
57
|
-
* @slot This is a slot test
|
|
58
|
-
*/
|
|
59
|
-
render() {
|
|
60
|
-
return html `
|
|
61
|
-
<div style="display: contents;">
|
|
62
|
-
<slot></slot>
|
|
63
|
-
${this.resizable ?
|
|
64
|
-
html `
|
|
65
|
-
<div
|
|
66
|
-
aria-hidden="true"
|
|
67
|
-
class="resize-handle"
|
|
68
|
-
@pointerdown=${this.onHandlePointerDown}
|
|
69
|
-
></div>
|
|
70
|
-
` :
|
|
71
|
-
null}
|
|
72
|
-
</div>
|
|
73
|
-
`;
|
|
74
|
-
}
|
|
75
|
-
};
|
|
76
|
-
__decorate([
|
|
77
|
-
property({ type: Number, reflect: true, attribute: true })
|
|
78
|
-
], NileGridCell.prototype, "colspan", void 0);
|
|
79
|
-
__decorate([
|
|
80
|
-
property({ type: Number, reflect: true, attribute: true })
|
|
81
|
-
], NileGridCell.prototype, "rowspan", void 0);
|
|
82
|
-
__decorate([
|
|
83
|
-
property({ type: String, reflect: true, attribute: true })
|
|
84
|
-
], NileGridCell.prototype, "align", void 0);
|
|
85
|
-
__decorate([
|
|
86
|
-
property({ type: String, reflect: true, attribute: true })
|
|
87
|
-
], NileGridCell.prototype, "valign", void 0);
|
|
88
|
-
__decorate([
|
|
89
|
-
property({ type: Boolean, reflect: true, attribute: true })
|
|
90
|
-
], NileGridCell.prototype, "resizable", void 0);
|
|
91
|
-
__decorate([
|
|
92
|
-
property({ type: Boolean, reflect: true, attribute: true })
|
|
93
|
-
], NileGridCell.prototype, "textOverflowType", void 0);
|
|
94
|
-
__decorate([
|
|
95
|
-
query('slot')
|
|
96
|
-
], NileGridCell.prototype, "slotEl", void 0);
|
|
97
|
-
NileGridCell = __decorate([
|
|
98
|
-
customElement('nile-grid-cell')
|
|
99
|
-
], NileGridCell);
|
|
100
|
-
export { NileGridCell };
|
|
101
|
-
export default NileGridCell;
|
|
102
|
-
//# sourceMappingURL=nile-grid-cell.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nile-grid-cell.js","sourceRoot":"","sources":["../../../src/nile-grid-cell/nile-grid-cell.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {LitElement, html, CSSResultArray, TemplateResult} from 'lit';\nimport { customElement, property, query} from 'lit/decorators.js';\nimport {styles} from './nile-grid-cell.css';\nimport NileElement from '../internal/nile-element';\nimport { initCellResize, cellResizeMove, cellResizeDone } from './nile-grid-cell.utils';\n\n\n/**\n * Nile grid-cell component.\n *\n * @tag nile-grid-cell\n *\n */\n@customElement('nile-grid-cell')\nexport class NileGridCell extends NileElement {\n\n\t/**\n\t * The styles for nile-grid-cell\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@property({ type: Number, reflect: true, attribute: true }) colspan = 1;\n\t@property({ type: Number, reflect: true, attribute: true }) rowspan = 1;\n\t\n\t// optional alignment hooks (table may map to CSS)\n\t@property({ type: String, reflect: true, attribute: true }) align?: 'start' | 'center' | 'end';\n\t@property({ type: String, reflect: true, attribute: true }) valign?: 'top' | 'middle' | 'bottom';\n\n\t@property({ type: Boolean, reflect: true, attribute: true }) resizable = false;\n\n\t@property({ type: Boolean, reflect: true, attribute: true }) textOverflowType: 'ellipsis' | 'clip' = 'ellipsis';\n\n\t@query('slot') private slotEl!: HTMLSlotElement;\n\n\tprivate _downX = 0;\n\tprivate _startW = 0;\n\n\tconnectedCallback() {\n\t\tsuper.connectedCallback();\n\t\tthis.setAttribute('role', 'cell');\n\t}\n\nprivate onHandlePointerDown = (ev: PointerEvent) => {\n\tconst el = this as HTMLElement;\n\n\tconst downXRef = { value: 0 };\n\tconst startWRef = { value: 0 };\n\n\tconst result = initCellResize(el, ev, downXRef, startWRef);\n\tif (!result) return;\n\n\tconst { target, col } = result;\n\n\tconst move = (e: PointerEvent) => cellResizeMove(el, col, startWRef.value, downXRef.value, e);\n\tconst done = () => cellResizeDone(el, ev, target, move);\n\n\ttarget.addEventListener('pointermove', move);\n\ttarget.addEventListener('pointerup', done, { once: true });\n\ttarget.addEventListener('pointercancel', done, { once: true });\n};\n\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 <div style=\"display: contents;\">\n\t\t\t\t<slot></slot>\n\t\t\t\t${this.resizable ?\n\t\t\t\thtml`\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\t\tclass=\"resize-handle\"\n\t\t\t\t\t\t\t@pointerdown=${this.onHandlePointerDown}\n\t\t\t\t\t\t></div>\n\t\t\t\t\t` :\n\t\t\t\tnull\n\t\t\t\t}\n\t\t\t</div>\n `;\n\t}\n\n\t/* #endregion */\n}\n\nexport default NileGridCell;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-grid-cell': NileGridCell;\n }\n}"]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export declare function initCellResize(el: HTMLElement, ev: PointerEvent, downXRef: {
|
|
2
|
-
value: number;
|
|
3
|
-
}, startWRef: {
|
|
4
|
-
value: number;
|
|
5
|
-
}): {
|
|
6
|
-
target: HTMLElement;
|
|
7
|
-
col: number;
|
|
8
|
-
} | null;
|
|
9
|
-
export declare function cellResizeMove(el: HTMLElement, col: number, startW: number, downX: number, e: PointerEvent): void;
|
|
10
|
-
export declare function cellResizeDone(el: HTMLElement, ev: PointerEvent, target: HTMLElement, move: (e: PointerEvent) => void): void;
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
// cell-resize-handlers.ts
|
|
2
|
-
export function initCellResize(el, ev, downXRef, startWRef) {
|
|
3
|
-
ev.preventDefault();
|
|
4
|
-
ev.stopPropagation();
|
|
5
|
-
const cStart = Number(el.dataset.cStart);
|
|
6
|
-
if (!cStart)
|
|
7
|
-
return null;
|
|
8
|
-
const span = Number(el.getAttribute('colspan')) || 1;
|
|
9
|
-
const col = Math.max(0, (cStart + span - 1) - 1);
|
|
10
|
-
downXRef.value = ev.clientX;
|
|
11
|
-
startWRef.value = el.getBoundingClientRect().width;
|
|
12
|
-
const target = ev.currentTarget;
|
|
13
|
-
target.setPointerCapture(ev.pointerId);
|
|
14
|
-
el.dispatchEvent(new CustomEvent('nile:resize', {
|
|
15
|
-
detail: { col, widthPx: startWRef.value },
|
|
16
|
-
bubbles: true, composed: true
|
|
17
|
-
}));
|
|
18
|
-
el.dispatchEvent(new CustomEvent('nile:resize-start', { bubbles: true, composed: true }));
|
|
19
|
-
return { target, col };
|
|
20
|
-
}
|
|
21
|
-
export function cellResizeMove(el, col, startW, downX, e) {
|
|
22
|
-
const widthPx = Math.max(40, Math.round(startW + (e.clientX - downX)));
|
|
23
|
-
el.dispatchEvent(new CustomEvent('nile:resize', {
|
|
24
|
-
detail: { col, widthPx },
|
|
25
|
-
bubbles: true, composed: true
|
|
26
|
-
}));
|
|
27
|
-
}
|
|
28
|
-
export function cellResizeDone(el, ev, target, move) {
|
|
29
|
-
target.releasePointerCapture(ev.pointerId);
|
|
30
|
-
target.removeEventListener('pointermove', move);
|
|
31
|
-
el.dispatchEvent(new CustomEvent('nile:resize-end', { bubbles: true, composed: true }));
|
|
32
|
-
}
|
|
33
|
-
// private onAutoFit = () => {
|
|
34
|
-
// const el = this as HTMLElement;
|
|
35
|
-
// const cStart = Number(el.dataset.cStart); if (!cStart) return;
|
|
36
|
-
// console.log("el.dataset: ", el.dataset);
|
|
37
|
-
// const span = Number(this.getAttribute('colspan')) || 1;
|
|
38
|
-
// const col = cStart + span - 2; // zero-based last covered col
|
|
39
|
-
// this.dispatchEvent(new CustomEvent('nile:autofit', { detail: { col }, bubbles: true, composed: true }));
|
|
40
|
-
// };
|
|
41
|
-
//# sourceMappingURL=nile-grid-cell.utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nile-grid-cell.utils.js","sourceRoot":"","sources":["../../../src/nile-grid-cell/nile-grid-cell.utils.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B,MAAM,UAAU,cAAc,CAC5B,EAAe,EACf,EAAgB,EAChB,QAA2B,EAC3B,SAA4B;IAE5B,EAAE,CAAC,cAAc,EAAE,CAAC;IACpB,EAAE,CAAC,eAAe,EAAE,CAAC;IAErB,MAAM,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAEzB,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjD,QAAQ,CAAC,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC;IAC5B,SAAS,CAAC,KAAK,GAAG,EAAE,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;IAEnD,MAAM,MAAM,GAAG,EAAE,CAAC,aAA4B,CAAC;IAC/C,MAAM,CAAC,iBAAiB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAEvC,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE;QAC9C,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE;QACzC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI;KAC9B,CAAC,CAAC,CAAC;IAEJ,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAE1F,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,EAAe,EACf,GAAW,EACX,MAAc,EACd,KAAa,EACb,CAAe;IAEf,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvE,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,aAAa,EAAE;QAC9C,MAAM,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE;QACxB,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI;KAC9B,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAe,EAAE,EAAgB,EAAE,MAAmB,EAAE,IAA+B;IACpH,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAC3C,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IAChD,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AAC1F,CAAC;AAEA,8BAA8B;AAC9B,mCAAmC;AACnC,kEAAkE;AAClE,4CAA4C;AAE5C,2DAA2D;AAC3D,iEAAiE;AACjE,4GAA4G;AAC5G,KAAK","sourcesContent":["// cell-resize-handlers.ts\nexport function initCellResize(\n el: HTMLElement,\n ev: PointerEvent,\n downXRef: { value: number },\n startWRef: { value: number }\n) {\n ev.preventDefault();\n ev.stopPropagation();\n\n const cStart = Number(el.dataset.cStart);\n if (!cStart) return null;\n\n const span = Number(el.getAttribute('colspan')) || 1;\n const col = Math.max(0, (cStart + span - 1) - 1);\n\n downXRef.value = ev.clientX;\n startWRef.value = el.getBoundingClientRect().width;\n\n const target = ev.currentTarget as HTMLElement;\n target.setPointerCapture(ev.pointerId);\n\n el.dispatchEvent(new CustomEvent('nile:resize', { \n detail: { col, widthPx: startWRef.value },\n bubbles: true, composed: true\n }));\n\n el.dispatchEvent(new CustomEvent('nile:resize-start', { bubbles: true, composed: true }));\n\n return { target, col };\n}\n\nexport function cellResizeMove(\n el: HTMLElement,\n col: number,\n startW: number,\n downX: number,\n e: PointerEvent\n) {\n const widthPx = Math.max(40, Math.round(startW + (e.clientX - downX)));\n el.dispatchEvent(new CustomEvent('nile:resize', {\n detail: { col, widthPx },\n bubbles: true, composed: true\n }));\n}\n\nexport function cellResizeDone(el: HTMLElement, ev: PointerEvent, target: HTMLElement, move: (e: PointerEvent) => void) {\n target.releasePointerCapture(ev.pointerId);\n target.removeEventListener('pointermove', move);\n el.dispatchEvent(new CustomEvent('nile:resize-end', { bubbles: true, composed: true }));\n}\n\n\t// private onAutoFit = () => {\n\t// \tconst el = this as HTMLElement;\n\t// \tconst cStart = Number(el.dataset.cStart); if (!cStart) return;\n\t// \tconsole.log(\"el.dataset: \", el.dataset);\n\t\t\n\t// \tconst span = Number(this.getAttribute('colspan')) || 1;\n\t// \tconst col = cStart + span - 2; // zero-based last covered col\n\t// \tthis.dispatchEvent(new CustomEvent('nile:autofit', { detail: { col }, bubbles: true, composed: true }));\n\t// };"]}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export declare function initCellResize(el: HTMLElement, ev: PointerEvent, downXRef: {
|
|
2
|
-
value: number;
|
|
3
|
-
}, startWRef: {
|
|
4
|
-
value: number;
|
|
5
|
-
}): {
|
|
6
|
-
target: HTMLElement;
|
|
7
|
-
col: number;
|
|
8
|
-
} | null;
|
|
9
|
-
export declare function cellResizeMove(el: HTMLElement, col: number, startW: number, downX: number, e: PointerEvent): void;
|
|
10
|
-
export declare function cellResizeDone(el: HTMLElement, ev: PointerEvent, target: HTMLElement, move: (e: PointerEvent) => void): void;
|