Skip to content

Commit eaf5377

Browse files
authored
fix: Initial scroll sizing (#10)
* fix: Initial scroll sizing - Updated dependencies and updated styles generation
1 parent 2fd5d2c commit eaf5377

18 files changed

+343
-280
lines changed

package-lock.json

Lines changed: 301 additions & 245 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -64,30 +64,30 @@
6464
},
6565
"devDependencies": {
6666
"@blockquote/rollup-plugin-total-bundlesize": "^1.0.0",
67-
"@blockquote/sass-style-template": "^2.1.2",
67+
"@blockquote/sass-style-template": "^3.0.0",
6868
"@blockquote/test-runner-mocha-style-reporter": "^1.4.1",
6969
"@custom-elements-manifest/analyzer": "^0.6.6",
7070
"@open-wc/eslint-config": "^9.0.0",
7171
"@open-wc/testing": "^3.1.7",
72-
"@typescript-eslint/eslint-plugin": "^5.44.0",
73-
"@typescript-eslint/parser": "^5.44.0",
72+
"@typescript-eslint/eslint-plugin": "^5.45.1",
73+
"@typescript-eslint/parser": "^5.45.1",
7474
"@web/dev-server": "^0.1.35",
7575
"@web/test-runner": "^0.15.0",
7676
"@web/test-runner-playwright": "^0.9.0",
7777
"concurrently": "^7.6.0",
78-
"eslint": "^8.28.0",
78+
"eslint": "^8.29.0",
7979
"eslint-config-prettier": "^8.5.0",
8080
"eslint-plugin-log-filenames": "^1.0.6",
8181
"husky": "^8.0.2",
82-
"lint-staged": "^13.0.3",
82+
"lint-staged": "^13.1.0",
8383
"prettier": "^2.8.0",
84-
"sinon": "^14.0.2",
85-
"stylelint": "^14.15.0",
84+
"sinon": "^15.0.0",
85+
"stylelint": "^14.16.0",
8686
"stylelint-config-standard-scss": "^6.1.0",
8787
"tslib": "^2.4.1",
8888
"typedoc": "^0.23.21",
8989
"typescript": "^4.9.3",
90-
"vite": "^3.2.4"
90+
"vite": "^3.2.5"
9191
},
9292
"customElements": "custom-elements.json"
9393
}

src/components/cell.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { html, LitElement } from 'lit';
22
import { customElement, property } from 'lit/decorators.js';
33
import { GRID_CELL_TAG } from '../internal/tags.js';
44
import type { ApexCellContext, ColumnConfiguration } from '../internal/types.js';
5-
import styles from '../styles/body-cell/body-cell-styles.js';
5+
import { styles } from '../styles/body-cell/body-cell-styles.css.js';
66
import type ApexGridRow from './row.js';
77

88
@customElement(GRID_CELL_TAG)

src/components/filter-row.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { GRID_FILTER_ROW_TAG } from '../internal/tags.js';
99
import { getFilterOperandsFor } from '../internal/utils.js';
1010
import { watch } from '../internal/watch.js';
1111

12-
import styles from '../styles/filter-row/filter-row-styles.js';
12+
import { styles } from '../styles/filter-row/filter-row-styles.css.js';
1313

1414
import type { FilterExpressionTree } from '../operations/filter/tree.js';
1515
import type { FilterExpression, FilterOperation } from '../operations/filter/types.js';

src/components/grid.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ import type { FilterExpressionTree } from '../operations/filter/tree.js';
2323
import type { FilterExpression } from '../operations/filter/types.js';
2424
import type { SortExpression } from '../operations/sort/types.js';
2525

26-
import { default as bootstrap } from '../styles/grid/themes/light/grid.bootstrap-styles.js';
27-
import { default as fluent } from '../styles/grid/themes/light/grid.fluent-styles.js';
28-
import { default as indigo } from '../styles/grid/themes/light/grid.indigo-styles.js';
29-
import { default as material } from '../styles/grid/themes/light/grid.material-styles.js';
26+
import { styles as bootstrap } from '../styles/grid/themes/light/grid.bootstrap-styles.css.js';
27+
import { styles as fluent } from '../styles/grid/themes/light/grid.fluent-styles.css.js';
28+
import { styles as indigo } from '../styles/grid/themes/light/grid.indigo-styles.css.js';
29+
import { styles as material } from '../styles/grid/themes/light/grid.material-styles.css.js';
3030

3131
import ApexGridBody from './grid-body.js';
3232
import ApexGridHeaderRow from './header-row.js';

src/components/header-row.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import { partNameMap } from '../internal/part-map.js';
77
import { GRID_HEADER_ROW_TAG } from '../internal/tags.js';
88

99
import ApexGridHeader from './header.js';
10-
import styles from '../styles/header-row/header-row.base-styles.js';
10+
import { styles } from '../styles/header-row/header-row.base-styles.css.js';
1111

1212
import type { ColumnConfiguration } from '../internal/types.js';
1313

src/components/header.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import {
1010
} from '../internal/constants.js';
1111
import type { ColumnConfiguration, ApexHeaderContext } from '../internal/types.js';
1212
import { StateController, gridStateContext } from '../controllers/state.js';
13-
import styles from '../styles/header-cell/header-cell-styles.js';
13+
import { styles } from '../styles/header-cell/header-cell-styles.css.js';
1414

1515
@customElement(GRID_HEADER_TAG)
1616
export default class ApexGridHeader<T extends object> extends LitElement {

src/components/row.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { map } from 'lit/directives/map.js';
44
import { GRID_ROW_TAG } from '../internal/tags.js';
55
import type { ActiveNode, ColumnConfiguration } from '../internal/types.js';
66
import ApexGridCell from './cell.js';
7-
import styles from '../styles/body-row/body-row-styles.js';
7+
import { styles } from '../styles/body-row/body-row-styles.css.js';
88

99
@customElement(GRID_ROW_TAG)
1010
export default class ApexGridRow<T extends object> extends LitElement {

src/controllers/dom.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,13 @@ export class GridDOMController<T extends object> implements ReactiveController {
1818

1919
public hostConnected(): void {
2020
this.setGridColumnSizes();
21+
22+
// Wait until the virtualizer updates the DOM. Then measure the scroll width again on the next tick.
23+
setTimeout(async () => {
24+
const ref = (this.virtualBody as any)._virtualizer;
25+
await ref._mutationPromise;
26+
this.host.requestUpdate();
27+
});
2128
}
2229

2330
public hostUpdate(): void {

src/styles/body-cell/body-cell-styles.ts renamed to src/styles/body-cell/body-cell-styles.css.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import {css} from 'lit';
1+
import { css } from 'lit';
22

3-
export default css`/* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */ /* stylelint-disable max-line-length */
3+
export const styles = css`
44
:host {
55
--is-large: clamp(0, (var(--component-size, 1) + 1) - var(--ig-size-large, 3), 1);
66
--is-medium:

0 commit comments

Comments
 (0)