diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 8db4e4d8..91955661 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1,4 +1,4 @@ -.github/CODEOWNERS @iclanton @nickpape-msft @octogonz -common/config/**/* @iclanton @nickpape-msft @octogonz +.github/CODEOWNERS @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft @patmill +common/config/**/* @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft @patmill -**/* @iclanton @nickpape-msft @octogonz \ No newline at end of file +**/* @iclanton @octogonz @apostolisms @D4N14L @dmichon-msft @patmill diff --git a/common/config/azure-pipelines/ci-build.yaml b/common/config/azure-pipelines/ci-build.yaml index 1195461c..6ffd79d3 100644 --- a/common/config/azure-pipelines/ci-build.yaml +++ b/common/config/azure-pipelines/ci-build.yaml @@ -4,10 +4,7 @@ jobs: - job: PRBuild condition: succeeded() strategy: - maxParallel: 3 matrix: - 'NodeJs 14': - NodeVersion: 14 'NodeJs 16': NodeVersion: 16 'NodeJs 18': diff --git a/common/config/azure-pipelines/npm-publish.yaml b/common/config/azure-pipelines/npm-publish.yaml index d3fd08df..da78963d 100644 --- a/common/config/azure-pipelines/npm-publish.yaml +++ b/common/config/azure-pipelines/npm-publish.yaml @@ -1,7 +1,7 @@ pool: vmImage: 'ubuntu-latest' variables: - NodeVersion: 16 + NodeVersion: 18 FORCE_COLOR: 1 steps: - checkout: self diff --git a/common/config/azure-pipelines/npm-republish.yaml b/common/config/azure-pipelines/npm-republish.yaml index dcc5626a..bb2a2078 100644 --- a/common/config/azure-pipelines/npm-republish.yaml +++ b/common/config/azure-pipelines/npm-republish.yaml @@ -1,7 +1,7 @@ pool: vmImage: 'ubuntu-latest' variables: - NodeVersion: 16 + NodeVersion: 18 FORCE_COLOR: 1 steps: - checkout: self diff --git a/common/config/azure-pipelines/playground-build.yaml b/common/config/azure-pipelines/playground-build.yaml index ec40ae31..df838544 100644 --- a/common/config/azure-pipelines/playground-build.yaml +++ b/common/config/azure-pipelines/playground-build.yaml @@ -9,7 +9,7 @@ resources: ref: refs/heads/gh-pages trigger: none variables: - NodeVersion: 16 + NodeVersion: 18 FORCE_COLOR: 1 jobs: - job: build diff --git a/common/config/azure-pipelines/templates/build.yaml b/common/config/azure-pipelines/templates/build.yaml index d6783593..87c2da42 100644 --- a/common/config/azure-pipelines/templates/build.yaml +++ b/common/config/azure-pipelines/templates/build.yaml @@ -13,3 +13,7 @@ steps: displayName: 'Rush Install' - script: 'node common/scripts/install-run-rush.js rebuild --verbose --production' displayName: 'Rush Rebuild' + env: + # Prevent time-based browserslist update warning + # See https://github.com/microsoft/rushstack/issues/2981 + BROWSERSLIST_IGNORE_OLD_DATA: 1 diff --git a/playground/src/TabPane.tsx b/playground/src/TabPane.tsx index ff01aca7..ef5ed579 100644 --- a/playground/src/TabPane.tsx +++ b/playground/src/TabPane.tsx @@ -17,6 +17,12 @@ export interface ITabPaneState { selectedTabIndex: number; } +const TAB_STYLE: React.CSSProperties = { + padding: '8px', + marginLeft: '1px', + marginRight: '1px' +}; + export class TabPane extends React.Component { // Saved bindings of _onClickTab() with a tabIndex parameter, to avoid the react/jsx-no-bind issue private _onClickTabBindings: React.MouseEventHandler[] = []; @@ -38,17 +44,14 @@ export class TabPane extends React.Component { for (let i: number = 0; i < this.props.tabs.length; ++i) { const tabDefinition: ITabDefinition = this.props.tabs[i]; - const style: React.CSSProperties = { - padding: '8px', - marginLeft: '1px', - marginRight: '1px' - }; - + let ariaSelected: boolean = false; + let tabStyleToUse: React.CSSProperties; if (i === this.state.selectedTabIndex) { selectedTabDefinition = tabDefinition; + ariaSelected = true; - const activeTabStyle: React.CSSProperties = { - ...style, + tabStyleToUse = { + ...TAB_STYLE, borderStyle: 'solid', borderWidth: '2px', borderColor: '#c0c0c0', @@ -56,31 +59,27 @@ export class TabPane extends React.Component { borderTopLeftRadius: '4px', borderTopRightRadius: '4px' }; - - buttons.push( -
- {tabDefinition.title} -
- ); } else { - if (!this._onClickTabBindings[i]) { - // Bind _onClickTab() with i as the tabIndex parameter - this._onClickTabBindings[i] = this._onClickTab.bind(this, i); - } - - buttons.push( -
- - {tabDefinition.title} - -
- ); + tabStyleToUse = TAB_STYLE; } + + if (!this._onClickTabBindings[i]) { + // Bind _onClickTab() with i as the tabIndex parameter + this._onClickTabBindings[i] = this._onClickTab.bind(this, i); + } + buttons.push( +
+ + {tabDefinition.title} + +
+ ); } const contentDivStyle: React.CSSProperties = {