diff --git a/.github/assets/enable-workflows.png b/.github/assets/enable-workflows.png new file mode 100644 index 000000000..e9e3876fc Binary files /dev/null and b/.github/assets/enable-workflows.png differ diff --git a/.github/assets/protected-token-creation.gif b/.github/assets/protected-token-creation.gif new file mode 100644 index 000000000..398064ee4 Binary files /dev/null and b/.github/assets/protected-token-creation.gif differ diff --git a/.github/assets/test-results-report.gif b/.github/assets/test-results-report.gif new file mode 100644 index 000000000..656561438 Binary files /dev/null and b/.github/assets/test-results-report.gif differ diff --git a/.github/workflows/add-screenshots.yml b/.github/workflows/add-screenshots.yml index 531bea89a..05f674510 100644 --- a/.github/workflows/add-screenshots.yml +++ b/.github/workflows/add-screenshots.yml @@ -1,32 +1,210 @@ name: Generate Playwright Screenshots +env: + PW_COMPONENT_FILTER: on: push: branches-ignore: [ main,develop,alpha ] paths: - '**/*.spec.ts' - '**/*.spec.js' - - '**/OmniInputPlaywright.ts' - - '**/JestPlaywright.ts' - - 'playwright.config.js' - - '.github/workflows/add-screenshots.yml' + - '**/*Playwright.ts' # Allows you to run this workflow manually from the Actions tab. workflow_dispatch: jobs: - screenshot-add: + screenshot-prepare: if: github.event_name != 'workflow_dispatch' || (github.ref != 'refs/heads/main' && github.ref != 'refs/heads/develop' && github.ref != 'refs/heads/alpha') + name: "Detect required tests" + runs-on: macos-latest + outputs: + matrix: ${{ steps.get-component-filter.outputs.result }} + steps: + - name: Configure OS + run: | + echo "Setting CGFontDisableAntialiasing" + defaults write CoreGraphics CGFontDisableAntialiasing YES + echo "Disabling AppleFontSmoothing" + defaults write -g AppleFontSmoothing -int 0 + echo "Completed OS configure" + + - name: Dump env 💩 + run: env | sort + + - name: Dump GitHub context 💩 + env: + GITHUB_CONTEXT: ${{ toJson(github) }} + run: echo "$GITHUB_CONTEXT" + + + - name: Checkout 🛎️ + uses: actions/checkout@v3 + with: + persist-credentials: true + fetch-depth: 0 + + - name: Ensure branch up to date 🌿 + # Only on branches + if: ${{ startsWith(github.ref, 'refs/heads/') }} + run: | + git pull + + - name: Use Node.js 16.x ✔ + uses: actions/setup-node@v3 + with: + node-version: 16.x + registry-url: 'https://registry.npmjs.org' + always-auth: true + + - name: Install Package Dependencies + run: | + npm ci --force + + - name: Detect necessary components to test + uses: actions/github-script@v6 + id: get-component-filter + with: + script: | + console.log('Checking required components'); + + const path = require('path'); + const { execSync } = require('child_process'); + + const { globby } = await import('${{ github.workspace }}/node_modules/globby/index.js'); + + const ghCtx = ${{ toJson(github) }}; + let files = []; + let excludeFiles = []; + + async function getAllComponents() { + + const entryPoints = (await globby('${{ github.workspace }}/src/**/!(*.(style|test|stories|spec)).(ts|js)')) + .filter(value => + !value.startsWith('./src/utils') && + !value.includes('OmniInputPlaywright') && + !value.includes('OmniInputStories')); + return entryPoints.map(e => e.replace('./', '').replace('${{ github.workspace }}/', '')).join('\n'); + } + + let list = ''; + if (ghCtx.event_name === 'workflow_dispatch') { + console.log('Manual Dispatch'); + try { + const response = await github.request(`GET /repos/${ghCtx.repository}/actions/runs?branch=${ghCtx.ref_name}&event=workflow_dispatch&per_page=100`); + const before = response.data.workflow_runs.find(wr => wr.name === ghCtx.workflow && wr.id?.toString() !== ghCtx.run_id?.toString() && wr.head_sha && wr.head_sha !== ghCtx.sha && wr.head_branch === ghCtx.ref_name && wr.status === 'completed' && wr.conclusion !== 'failure')?.head_sha; + if (before) { + list = execSync(`git diff-tree --no-commit-id --name-only -r ${before} ${ghCtx.sha}`).toString(); + } else { + list = await getAllComponents(); + } + } catch (error) { + console.warn(error); + list = await getAllComponents(); + } + } else if (ghCtx.event_name === 'pull_request') { + console.log('Pull Request Automated Workflow'); + try { + const response = await github.request(`GET /repos/${ghCtx.repository}/actions/runs?branch=${ghCtx.head_ref}&event=pull_request&per_page=100`); + const beforeWorkflows = response.data.workflow_runs.filter(wr => wr.name === ghCtx.workflow && wr.id?.toString() !== ghCtx.run_id?.toString() && wr.head_sha && wr.head_sha !== ghCtx.sha && wr.head_branch === ghCtx.head_ref && wr.status === 'completed' && wr.pull_requests && wr.pull_requests.length > 0 && wr.pull_requests.find(p => p.id === ghCtx.event.pull_request?.id)); + let currentSha = ghCtx.event.pull_request?.head?.sha ?? ghCtx.sha; + if (beforeWorkflows && beforeWorkflows.length > 0) { + for (let index = 0; index < beforeWorkflows.length; index++) { + const beforeWorkflow = beforeWorkflows[index]; + + if (beforeWorkflow?.head_sha) { + const jobsResponse = await github.request(`GET /repos/${ghCtx.repository}/actions/runs/${beforeWorkflow.id}/attempts/${beforeWorkflow.run_attempt}/jobs`); + if (jobsResponse?.data) { + const passedBefore = jobsResponse.data.jobs.filter(j => j.name.startsWith('Test (') && j.status === 'completed' && j.conclusion === 'success').map(j => j.name.match(/\(([^)]+)\)/)[1]); + if (passedBefore && passedBefore.length > 0) { + const diffList = execSync(`git diff-tree --no-commit-id --name-only -r ${beforeWorkflow?.head_sha} ${currentSha}`).toString(); + const changedFiles = []; + diffList.split(/(\r\n|\n|\r)/gm).forEach(f => { + if (f.startsWith('src') && !f.startsWith('src/utils') && !f.startsWith('src/core') && !f.startsWith('src/icons') && !f.endsWith('index.ts') && f.endsWith('.ts')) { + const filter = path.basename(f).replace('.stories', '').replace('.spec', '').replace('.ts', '.spec.ts'); + if (!changedFiles.includes(filter)) { + changedFiles.push(filter); + } + } + }); + excludeFiles = [...excludeFiles, ...passedBefore.filter(p => !changedFiles.includes(p) && !excludeFiles.includes(p))]; + } + } + } + } + } + list = execSync(`git diff-tree --no-commit-id --name-only -r ${ghCtx.event.pull_request?.base?.sha ?? ghCtx.event.before} ${ghCtx.event.pull_request?.head?.sha ?? ghCtx.sha}`).toString(); + } catch (error) { + list = execSync(`git diff-tree --no-commit-id --name-only -r ${ghCtx.event.pull_request?.base?.sha ?? ghCtx.event.before} ${ghCtx.event.pull_request?.head?.sha ?? ghCtx.sha}`).toString(); + } + + } else { + console.log('Automated Workflow'); + list = execSync(`git diff-tree --no-commit-id --name-only -r ${ghCtx.event.pull_request?.base?.sha ?? ghCtx.event.before} ${ghCtx.event.pull_request?.head?.sha ?? ghCtx.sha}`).toString(); + } + if (list.includes('src/core')) { + console.log('Core was changed. Testing all components'); + list = await getAllComponents(); + } + + if (!list) { + console.log('No specific component modified. Testing all components'); + list = await getAllComponents(); + } + + console.log(list); + list.split(/(\r\n|\n|\r)/gm).forEach(f => { + if (f.startsWith('src') && !f.startsWith('src/utils') && !f.startsWith('src/core') && !f.startsWith('src/icons') && !f.endsWith('index.ts') && f.endsWith('.ts')) { + const filter = path.basename(f).replace('.stories', '').replace('.spec', '').replace('.ts', '.spec.ts'); + if (!files.includes(filter)) { + files.push(filter); + } + } + }); + if (excludeFiles.length > 0) { + console.log('Excluding files: ', JSON.stringify(excludeFiles)); + } + files = files.filter(p => !excludeFiles.includes(p)); + + console.log(JSON.stringify(files)); + return files; + result-encoding: json + + screenshot-add: + if: ${{ needs.screenshot-prepare.outputs.matrix != '[]' && needs.screenshot-prepare.outputs.matrix != '' && needs.screenshot-prepare.outputs.matrix && (github.event_name != 'workflow_dispatch' || (github.ref != 'refs/heads/main' && github.ref != 'refs/heads/develop' && github.ref != 'refs/heads/alpha')) }} name: "Add Missing Screenshots" - timeout-minutes: 60 + timeout-minutes: 240 + permissions: write-all runs-on: macos-latest + needs: [ screenshot-prepare ] + strategy: + fail-fast: false + matrix: + value: ${{fromJson(needs.screenshot-prepare.outputs.matrix)}} steps: + - name: Configure OS + run: | + echo "Setting CGFontDisableAntialiasing" + defaults write CoreGraphics CGFontDisableAntialiasing YES + echo "Disabling AppleFontSmoothing" + defaults write -g AppleFontSmoothing -int 0 + echo "Completed OS configure" + + - name: Dump env 💩 + run: env | sort + + - name: Dump GitHub context 💩 + env: + GITHUB_CONTEXT: ${{ toJson(github) }} + run: echo "$GITHUB_CONTEXT" + + - name: Checkout 🛎️ uses: actions/checkout@v3 with: persist-credentials: true fetch-depth: 0 - token: ${{ secrets.PROTECTED_TOKEN }} + token: ${{ secrets.PROTECTED_TOKEN || secrets.GITHUB_TOKEN }} - name: Ensure branch up to date 🌿 # Only on branches @@ -44,6 +222,11 @@ jobs: - name: Install Package Dependencies run: | npm ci --force + + - name: Update PW_COMPONENT_FILTER + run: | + PW_COMPONENT_FILTER="${{matrix.value}}" + echo PW_COMPONENT_FILTER=${PW_COMPONENT_FILTER} >> $GITHUB_ENV - name: Install Playwright Chrome Dependencies run: npx playwright install --with-deps @@ -54,6 +237,12 @@ jobs: CI: true PW_NO_RETRIES: true + - name: Ensure branch up to date (again) 🌿 + # Only on branches even when failed + if: ${{ always() && startsWith(github.ref, 'refs/heads/') }} + run: | + git pull || true + - name: Auto Commit Changes 👩‍💻 uses: stefanzweifel/git-auto-commit-action@v4 # Only on branches even when failed diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 10cb8d11e..92262f905 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -20,6 +20,7 @@ env: LOCAL_VERSION: jobs: build-and-release: + if: ${{ github.repository_owner == 'capitec' && github.repository_owner_id == '109590421' }} concurrency: group: ${{ github.ref }} cancel-in-progress: true diff --git a/.github/workflows/pull-request.yml b/.github/workflows/pull-request.yml index 3e4949a3a..8c5e14872 100644 --- a/.github/workflows/pull-request.yml +++ b/.github/workflows/pull-request.yml @@ -1,11 +1,15 @@ name: Pull Request + +env: + PW_COMPONENT_FILTER: on: pull_request: - branches: [ main, develop] + branches: [ main, develop ] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: +permissions: write-all jobs: pr-lint: name: Lint @@ -47,18 +51,193 @@ jobs: run: | npm run format:check + pr-prepare: + name: "Detect required tests" + runs-on: macos-latest + outputs: + matrix: ${{ steps.get-component-filter.outputs.result }} + steps: + - name: Configure OS + run: | + echo "Setting CGFontDisableAntialiasing" + defaults write CoreGraphics CGFontDisableAntialiasing YES + echo "Disabling AppleFontSmoothing" + defaults write -g AppleFontSmoothing -int 0 + echo "Completed OS configure" + + - name: Dump env 💩 + run: env | sort + + - name: Dump GitHub context 💩 + env: + GITHUB_CONTEXT: ${{ toJson(github) }} + run: echo "$GITHUB_CONTEXT" + + - name: Checkout 🛎️ + uses: actions/checkout@v3 + with: + persist-credentials: true + fetch-depth: 0 + + - name: Ensure branch up to date 🌿 + # Only on branches + if: ${{ startsWith(github.ref, 'refs/heads/') }} + run: | + git pull + + - name: Use Node.js 16.x ✔ + uses: actions/setup-node@v3 + with: + node-version: 16.x + registry-url: 'https://registry.npmjs.org' + always-auth: true + + - name: Install Package Dependencies + run: | + npm ci --force + + - name: Detect necessary components to test + uses: actions/github-script@v6 + id: get-component-filter + with: + script: | + console.log('Checking required components'); + + const path = require('path'); + const { execSync } = require('child_process'); + + const { globby } = await import('${{ github.workspace }}/node_modules/globby/index.js'); + + const ghCtx = ${{ toJson(github) }}; + let files = []; + let excludeFiles = []; + + async function getAllComponents() { + + const entryPoints = (await globby('${{ github.workspace }}/src/**/!(*.(style|test|stories|spec)).(ts|js)')) + .filter(value => + !value.startsWith('./src/utils') && + !value.includes('OmniInputPlaywright') && + !value.includes('OmniInputStories')); + return entryPoints.map(e => e.replace('./', '').replace('${{ github.workspace }}/', '')).join('\n'); + } + + let list = ''; + if (ghCtx.event_name === 'workflow_dispatch') { + console.log('Manual Dispatch'); + try { + const response = await github.request(`GET /repos/${ghCtx.repository}/actions/runs?branch=${ghCtx.ref_name}&event=workflow_dispatch&per_page=100`); + const before = response.data.workflow_runs.find(wr => wr.name === ghCtx.workflow && wr.id?.toString() !== ghCtx.run_id?.toString() && wr.head_sha && wr.head_sha !== ghCtx.sha && wr.head_branch === ghCtx.ref_name && wr.status === 'completed' && wr.conclusion !== 'failure')?.head_sha; + if (before) { + list = execSync(`git diff-tree --no-commit-id --name-only -r ${before} ${ghCtx.sha}`).toString(); + } else { + list = await getAllComponents(); + } + } catch (error) { + console.warn(error); + list = await getAllComponents(); + } + } else if (ghCtx.event_name === 'pull_request') { + console.log('Pull Request Automated Workflow'); + try { + const response = await github.request(`GET /repos/${ghCtx.repository}/actions/runs?branch=${ghCtx.head_ref}&event=pull_request&per_page=100`); + const beforeWorkflows = response.data.workflow_runs.filter(wr => wr.name === ghCtx.workflow && wr.id?.toString() !== ghCtx.run_id?.toString() && wr.head_sha && wr.head_sha !== ghCtx.sha && wr.head_branch === ghCtx.head_ref && wr.status === 'completed' && wr.pull_requests && wr.pull_requests.length > 0 && wr.pull_requests.find(p => p.id === ghCtx.event.pull_request?.id)); + let currentSha = ghCtx.event.pull_request?.head?.sha ?? ghCtx.sha; + if (beforeWorkflows && beforeWorkflows.length > 0) { + for (let index = 0; index < beforeWorkflows.length; index++) { + const beforeWorkflow = beforeWorkflows[index]; + + if (beforeWorkflow?.head_sha) { + const jobsResponse = await github.request(`GET /repos/${ghCtx.repository}/actions/runs/${beforeWorkflow.id}/attempts/${beforeWorkflow.run_attempt}/jobs`); + if (jobsResponse?.data) { + const passedBefore = jobsResponse.data.jobs.filter(j => j.name.startsWith('Test (') && j.status === 'completed' && j.conclusion === 'success').map(j => j.name.match(/\(([^)]+)\)/)[1]); + if (passedBefore && passedBefore.length > 0) { + const diffList = execSync(`git diff-tree --no-commit-id --name-only -r ${beforeWorkflow?.head_sha} ${currentSha}`).toString(); + const changedFiles = []; + diffList.split(/(\r\n|\n|\r)/gm).forEach(f => { + if (f.startsWith('src') && !f.startsWith('src/utils') && !f.startsWith('src/core') && !f.startsWith('src/icons') && !f.endsWith('index.ts') && f.endsWith('.ts')) { + const filter = path.basename(f).replace('.stories', '').replace('.spec', '').replace('.ts', '.spec.ts'); + if (!changedFiles.includes(filter)) { + changedFiles.push(filter); + } + } + }); + excludeFiles = [...excludeFiles, ...passedBefore.filter(p => !changedFiles.includes(p) && !excludeFiles.includes(p))]; + } + } + } + } + } + list = execSync(`git diff-tree --no-commit-id --name-only -r ${ghCtx.event.pull_request?.base?.sha ?? ghCtx.event.before} ${ghCtx.event.pull_request?.head?.sha ?? ghCtx.sha}`).toString(); + } catch (error) { + list = execSync(`git diff-tree --no-commit-id --name-only -r ${ghCtx.event.pull_request?.base?.sha ?? ghCtx.event.before} ${ghCtx.event.pull_request?.head?.sha ?? ghCtx.sha}`).toString(); + } + + } else { + console.log('Automated Workflow'); + list = execSync(`git diff-tree --no-commit-id --name-only -r ${ghCtx.event.pull_request?.base?.sha ?? ghCtx.event.before} ${ghCtx.event.pull_request?.head?.sha ?? ghCtx.sha}`).toString(); + } + if (list.includes('src/core')) { + console.log('Core was changed. Testing all components'); + list = await getAllComponents(); + } + + if (!list) { + console.log('No specific component modified. Testing all components'); + list = await getAllComponents(); + } + + console.log(list); + list.split(/(\r\n|\n|\r)/gm).forEach(f => { + if (f.startsWith('src') && !f.startsWith('src/utils') && !f.startsWith('src/core') && !f.startsWith('src/icons') && !f.endsWith('index.ts') && f.endsWith('.ts')) { + const filter = path.basename(f).replace('.stories', '').replace('.spec', '').replace('.ts', '.spec.ts'); + if (!files.includes(filter)) { + files.push(filter); + } + } + }); + if (excludeFiles.length > 0) { + console.log('Excluding files: ', JSON.stringify(excludeFiles)); + } + files = files.filter(p => !excludeFiles.includes(p)); + + console.log(JSON.stringify(files)); + return files; + result-encoding: json + pr-test: - needs: ["pr-lint", "pr-format"] + if: ${{ needs.pr-prepare.outputs.matrix != '[]' && needs.pr-prepare.outputs.matrix != '' && needs.pr-prepare.outputs.matrix }} + needs: [ pr-lint, pr-format, pr-prepare ] + permissions: write-all name: "Test" - timeout-minutes: 60 + timeout-minutes: 300 runs-on: macos-latest - steps: + strategy: + fail-fast: false + matrix: + value: ${{fromJson(needs.pr-prepare.outputs.matrix)}} + steps: + - name: Configure OS + run: | + echo "Setting CGFontDisableAntialiasing" + defaults write CoreGraphics CGFontDisableAntialiasing YES + echo "Disabling AppleFontSmoothing" + defaults write -g AppleFontSmoothing -int 0 + echo "Completed OS configure" + + - name: Dump env 💩 + run: env | sort + + - name: Dump GitHub context 💩 + env: + GITHUB_CONTEXT: ${{ toJson(github) }} + run: echo "$GITHUB_CONTEXT" + - name: Checkout 🛎️ uses: actions/checkout@v3 with: persist-credentials: true fetch-depth: 0 - token: ${{ secrets.PROTECTED_TOKEN }} - name: Ensure branch up to date 🌿 # Only on branches @@ -76,6 +255,11 @@ jobs: - name: Install Package Dependencies run: | npm ci --force + + - name: Update PW_COMPONENT_FILTER + run: | + PW_COMPONENT_FILTER="${{matrix.value}}" + echo PW_COMPONENT_FILTER=${PW_COMPONENT_FILTER} >> $GITHUB_ENV - name: Install Playwright Chrome Dependencies run: npx playwright install --with-deps @@ -88,23 +272,26 @@ jobs: uses: actions/upload-artifact@v3 if: always() with: - name: playwright-report + name: "playwright-report-${{matrix.value}}" path: playwright-report/ retention-days: 30 - name: Upload Test Coverage uses: actions/upload-artifact@v3 if: always() with: - name: coverage + name: "coverage-report-${{matrix.value}}" path: coverage/ retention-days: 30 - - name: Auto Commit Changes 👩‍💻 - uses: stefanzweifel/git-auto-commit-action@v4 - # Only on branches with failures (in case the failure was caused by missing screenshots) or cancelled (usually caused by timeouts of too many missing screenshots) - if: ${{ (failure() || cancelled()) && startsWith(github.ref, 'refs/heads/') }} - with: - commit_message: Added Missing Screenshots - branch: ${{ env.GITHUB_REF_NAME }} - file_pattern: '*.png' - + pr-pass: + needs: [ pr-prepare, pr-test ] + if: ${{ always() }} + name: "Ensure All Tests Pass" + runs-on: macos-latest + steps: + - name: Fail on Error or Cancelation + run: | + echo "${{ toJson(needs) }}" + exit 1 + # see https://github.com/orgs/community/discussions/26822#discussioncomment-5122101 + if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }} diff --git a/.tooling/readme/contributors.md b/.tooling/readme/contributors.md index 88ec8e1d0..0cf787cad 100644 --- a/.tooling/readme/contributors.md +++ b/.tooling/readme/contributors.md @@ -3,17 +3,17 @@
- - chromaticWaster + + BOTLANNER
- chromaticWaster + BOTLANNER
- - BOTLANNER + + chromaticWaster
- BOTLANNER + chromaticWaster
@@ -31,17 +31,17 @@ - - Makhubedu + + capitec-oss
- Makhubedu + capitec-oss
- - capitec-oss + + Makhubedu
- capitec-oss + Makhubedu
diff --git a/.tooling/scripts/eleventy-config.mjs b/.tooling/scripts/eleventy-config.mjs index 41a764ed7..58dda9e78 100644 --- a/.tooling/scripts/eleventy-config.mjs +++ b/.tooling/scripts/eleventy-config.mjs @@ -55,6 +55,8 @@ export default async config => { config.addGlobalData(key, globalData[key]); } + config.addPassthroughCopy('./.github/assets/'); + config.addPassthroughCopy('./.tooling/eleventy/assets/'); config.addPassthroughCopy('./.tooling/eleventy/favicon.ico'); config.addPassthroughCopy('./custom-elements.json'); diff --git a/.tooling/tests/screenshots/Button---Label-Behaviour/darwin/Mobile-Chrome/button-label.png b/.tooling/tests/screenshots/Button---Label-Behaviour/darwin/Mobile-Chrome/button-label.png new file mode 100644 index 000000000..0ccedbdbb Binary files /dev/null and b/.tooling/tests/screenshots/Button---Label-Behaviour/darwin/Mobile-Chrome/button-label.png differ diff --git a/.tooling/tests/screenshots/Button---Label-Behaviour/darwin/Mobile-Safari/button-label.png b/.tooling/tests/screenshots/Button---Label-Behaviour/darwin/Mobile-Safari/button-label.png new file mode 100644 index 000000000..36cffea96 Binary files /dev/null and b/.tooling/tests/screenshots/Button---Label-Behaviour/darwin/Mobile-Safari/button-label.png differ diff --git a/.tooling/tests/screenshots/Button---Label-Behaviour/darwin/chromium/button-label.png b/.tooling/tests/screenshots/Button---Label-Behaviour/darwin/chromium/button-label.png new file mode 100644 index 000000000..5d65fd1eb Binary files /dev/null and b/.tooling/tests/screenshots/Button---Label-Behaviour/darwin/chromium/button-label.png differ diff --git a/.tooling/tests/screenshots/Button---Label-Behaviour/darwin/firefox/button-label.png b/.tooling/tests/screenshots/Button---Label-Behaviour/darwin/firefox/button-label.png new file mode 100644 index 000000000..207b549c1 Binary files /dev/null and b/.tooling/tests/screenshots/Button---Label-Behaviour/darwin/firefox/button-label.png differ diff --git a/.tooling/tests/screenshots/Button---Label-Behaviour/darwin/webkit/button-label.png b/.tooling/tests/screenshots/Button---Label-Behaviour/darwin/webkit/button-label.png new file mode 100644 index 000000000..39f81f9f1 Binary files /dev/null and b/.tooling/tests/screenshots/Button---Label-Behaviour/darwin/webkit/button-label.png differ diff --git a/.tooling/tests/screenshots/Button---Visual-Clear/darwin/Mobile-Safari/button-clear.png b/.tooling/tests/screenshots/Button---Visual-Clear/darwin/Mobile-Safari/button-clear.png index cbefc3671..ab6b3756c 100644 Binary files a/.tooling/tests/screenshots/Button---Visual-Clear/darwin/Mobile-Safari/button-clear.png and b/.tooling/tests/screenshots/Button---Visual-Clear/darwin/Mobile-Safari/button-clear.png differ diff --git a/.tooling/tests/screenshots/Button---Visual-Clear/darwin/firefox/button-clear.png b/.tooling/tests/screenshots/Button---Visual-Clear/darwin/firefox/button-clear.png index 346569f1c..dc745699d 100644 Binary files a/.tooling/tests/screenshots/Button---Visual-Clear/darwin/firefox/button-clear.png and b/.tooling/tests/screenshots/Button---Visual-Clear/darwin/firefox/button-clear.png differ diff --git a/.tooling/tests/screenshots/Button---Visual-Clear/darwin/webkit/button-clear.png b/.tooling/tests/screenshots/Button---Visual-Clear/darwin/webkit/button-clear.png index 92cad7554..b51d0259f 100644 Binary files a/.tooling/tests/screenshots/Button---Visual-Clear/darwin/webkit/button-clear.png and b/.tooling/tests/screenshots/Button---Visual-Clear/darwin/webkit/button-clear.png differ diff --git a/.tooling/tests/screenshots/Button---Visual-Primary/darwin/firefox/button-primary.png b/.tooling/tests/screenshots/Button---Visual-Primary/darwin/firefox/button-primary.png index fcb801f92..15adee0ed 100644 Binary files a/.tooling/tests/screenshots/Button---Visual-Primary/darwin/firefox/button-primary.png and b/.tooling/tests/screenshots/Button---Visual-Primary/darwin/firefox/button-primary.png differ diff --git a/.tooling/tests/screenshots/Button---Visual-Primary/darwin/webkit/button-primary.png b/.tooling/tests/screenshots/Button---Visual-Primary/darwin/webkit/button-primary.png index 6de3f2094..13daa3e0c 100644 Binary files a/.tooling/tests/screenshots/Button---Visual-Primary/darwin/webkit/button-primary.png and b/.tooling/tests/screenshots/Button---Visual-Primary/darwin/webkit/button-primary.png differ diff --git a/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary-after.png b/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary-after.png index 40fd37484..0a98f5aa0 100644 Binary files a/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary-after.png and b/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary-after.png differ diff --git a/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary-clicked.png b/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary-clicked.png index 40fd37484..0a98f5aa0 100644 Binary files a/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary-clicked.png and b/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary-clicked.png differ diff --git a/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary-focus.png b/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary-focus.png index 40fd37484..0a98f5aa0 100644 Binary files a/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary-focus.png and b/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary-focus.png differ diff --git a/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary-hover.png b/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary-hover.png index 40fd37484..0a98f5aa0 100644 Binary files a/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary-hover.png and b/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary-hover.png differ diff --git a/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary.png b/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary.png index 3fbbfa0b6..8bd30374f 100644 Binary files a/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary.png and b/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/firefox/button-secondary.png differ diff --git a/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/webkit/button-secondary-after.png b/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/webkit/button-secondary-after.png index 392024c68..81ccde525 100644 Binary files a/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/webkit/button-secondary-after.png and b/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/webkit/button-secondary-after.png differ diff --git a/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/webkit/button-secondary-clicked.png b/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/webkit/button-secondary-clicked.png index 392024c68..81ccde525 100644 Binary files a/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/webkit/button-secondary-clicked.png and b/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/webkit/button-secondary-clicked.png differ diff --git a/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/webkit/button-secondary-focus.png b/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/webkit/button-secondary-focus.png index 392024c68..81ccde525 100644 Binary files a/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/webkit/button-secondary-focus.png and b/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/webkit/button-secondary-focus.png differ diff --git a/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/webkit/button-secondary-hover.png b/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/webkit/button-secondary-hover.png index 392024c68..038789bfe 100644 Binary files a/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/webkit/button-secondary-hover.png and b/.tooling/tests/screenshots/Button---Visual-Secondary/darwin/webkit/button-secondary-hover.png differ diff --git a/.tooling/tests/screenshots/Button---Visual-White/darwin/Mobile-Safari/button-white.png b/.tooling/tests/screenshots/Button---Visual-White/darwin/Mobile-Safari/button-white.png index cbefc3671..bec216e58 100644 Binary files a/.tooling/tests/screenshots/Button---Visual-White/darwin/Mobile-Safari/button-white.png and b/.tooling/tests/screenshots/Button---Visual-White/darwin/Mobile-Safari/button-white.png differ diff --git a/.tooling/tests/screenshots/Button---Visual-White/darwin/firefox/button-white.png b/.tooling/tests/screenshots/Button---Visual-White/darwin/firefox/button-white.png index 346569f1c..dc745699d 100644 Binary files a/.tooling/tests/screenshots/Button---Visual-White/darwin/firefox/button-white.png and b/.tooling/tests/screenshots/Button---Visual-White/darwin/firefox/button-white.png differ diff --git a/.tooling/tests/screenshots/Button---Visual-White/darwin/webkit/button-white.png b/.tooling/tests/screenshots/Button---Visual-White/darwin/webkit/button-white.png index 92cad7554..b51d0259f 100644 Binary files a/.tooling/tests/screenshots/Button---Visual-White/darwin/webkit/button-white.png and b/.tooling/tests/screenshots/Button---Visual-White/darwin/webkit/button-white.png differ diff --git a/.tooling/tests/screenshots/Calendar---Locale-Behaviour/darwin/firefox/calendar-initial.png b/.tooling/tests/screenshots/Calendar---Locale-Behaviour/darwin/firefox/calendar-initial.png index 918775bcd..efb2fbb60 100644 Binary files a/.tooling/tests/screenshots/Calendar---Locale-Behaviour/darwin/firefox/calendar-initial.png and b/.tooling/tests/screenshots/Calendar---Locale-Behaviour/darwin/firefox/calendar-initial.png differ diff --git a/.tooling/tests/screenshots/Calendar---Locale-Behaviour/darwin/webkit/calendar-initial.png b/.tooling/tests/screenshots/Calendar---Locale-Behaviour/darwin/webkit/calendar-initial.png index 6e1f6abe7..dee83919a 100644 Binary files a/.tooling/tests/screenshots/Calendar---Locale-Behaviour/darwin/webkit/calendar-initial.png and b/.tooling/tests/screenshots/Calendar---Locale-Behaviour/darwin/webkit/calendar-initial.png differ diff --git a/.tooling/tests/screenshots/Calendar---Max-Date-Behaviour/darwin/firefox/calendar-initial.png b/.tooling/tests/screenshots/Calendar---Max-Date-Behaviour/darwin/firefox/calendar-initial.png index 7668c2800..54f14ca17 100644 Binary files a/.tooling/tests/screenshots/Calendar---Max-Date-Behaviour/darwin/firefox/calendar-initial.png and b/.tooling/tests/screenshots/Calendar---Max-Date-Behaviour/darwin/firefox/calendar-initial.png differ diff --git a/.tooling/tests/screenshots/Calendar---Min-Date-Behaviour/darwin/Mobile-Chrome/calendar-initial.png b/.tooling/tests/screenshots/Calendar---Min-Date-Behaviour/darwin/Mobile-Chrome/calendar-initial.png index d6bfc119b..63ec43413 100644 Binary files a/.tooling/tests/screenshots/Calendar---Min-Date-Behaviour/darwin/Mobile-Chrome/calendar-initial.png and b/.tooling/tests/screenshots/Calendar---Min-Date-Behaviour/darwin/Mobile-Chrome/calendar-initial.png differ diff --git a/.tooling/tests/screenshots/Calendar---Min-Date-Behaviour/darwin/firefox/calendar-initial.png b/.tooling/tests/screenshots/Calendar---Min-Date-Behaviour/darwin/firefox/calendar-initial.png index 20c52211f..788bfb21a 100644 Binary files a/.tooling/tests/screenshots/Calendar---Min-Date-Behaviour/darwin/firefox/calendar-initial.png and b/.tooling/tests/screenshots/Calendar---Min-Date-Behaviour/darwin/firefox/calendar-initial.png differ diff --git a/.tooling/tests/screenshots/Calendar---Value-Behaviour/darwin/Mobile-Chrome/calendar-initial.png b/.tooling/tests/screenshots/Calendar---Value-Behaviour/darwin/Mobile-Chrome/calendar-initial.png index 514a197c3..c70042bb8 100644 Binary files a/.tooling/tests/screenshots/Calendar---Value-Behaviour/darwin/Mobile-Chrome/calendar-initial.png and b/.tooling/tests/screenshots/Calendar---Value-Behaviour/darwin/Mobile-Chrome/calendar-initial.png differ diff --git a/.tooling/tests/screenshots/Calendar---Value-Behaviour/darwin/firefox/calendar-initial.png b/.tooling/tests/screenshots/Calendar---Value-Behaviour/darwin/firefox/calendar-initial.png index 3ffa6a084..668467e91 100644 Binary files a/.tooling/tests/screenshots/Calendar---Value-Behaviour/darwin/firefox/calendar-initial.png and b/.tooling/tests/screenshots/Calendar---Value-Behaviour/darwin/firefox/calendar-initial.png differ diff --git a/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/Mobile-Chrome/calendar-months.png b/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/Mobile-Chrome/calendar-months.png index 177d41116..005ef1604 100644 Binary files a/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/Mobile-Chrome/calendar-months.png and b/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/Mobile-Chrome/calendar-months.png differ diff --git a/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/Mobile-Chrome/calendar-years.png b/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/Mobile-Chrome/calendar-years.png index 19ca6e35c..e316ed212 100644 Binary files a/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/Mobile-Chrome/calendar-years.png and b/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/Mobile-Chrome/calendar-years.png differ diff --git a/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-after.png b/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-after.png index becbb992e..b87728fca 100644 Binary files a/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-after.png and b/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-after.png differ diff --git a/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-days.png b/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-days.png index 5a31fc1fd..308632c92 100644 Binary files a/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-days.png and b/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-days.png differ diff --git a/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-initial.png b/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-initial.png index 09564fd5b..c651479ee 100644 Binary files a/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-initial.png and b/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-initial.png differ diff --git a/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-months.png b/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-months.png index aa3bd7494..e7b717cad 100644 Binary files a/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-months.png and b/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-months.png differ diff --git a/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-years.png b/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-years.png index 98e3ef471..7e0df6dff 100644 Binary files a/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-years.png and b/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/firefox/calendar-years.png differ diff --git a/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/webkit/calendar-initial.png b/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/webkit/calendar-initial.png index 53983b17b..cf97fc2b2 100644 Binary files a/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/webkit/calendar-initial.png and b/.tooling/tests/screenshots/Calendar---Visual-and-Behaviour/darwin/webkit/calendar-initial.png differ diff --git a/.tooling/tests/screenshots/Check---Checked-Unchecked-Behaviour/darwin/firefox/check-checked.png b/.tooling/tests/screenshots/Check---Checked-Unchecked-Behaviour/darwin/firefox/check-checked.png index 54979a021..1a9d2ae5e 100644 Binary files a/.tooling/tests/screenshots/Check---Checked-Unchecked-Behaviour/darwin/firefox/check-checked.png and b/.tooling/tests/screenshots/Check---Checked-Unchecked-Behaviour/darwin/firefox/check-checked.png differ diff --git a/.tooling/tests/screenshots/Check---Checked-Unchecked-Behaviour/darwin/firefox/check-unchecked.png b/.tooling/tests/screenshots/Check---Checked-Unchecked-Behaviour/darwin/firefox/check-unchecked.png index 36a326ba3..d25641ed5 100644 Binary files a/.tooling/tests/screenshots/Check---Checked-Unchecked-Behaviour/darwin/firefox/check-unchecked.png and b/.tooling/tests/screenshots/Check---Checked-Unchecked-Behaviour/darwin/firefox/check-unchecked.png differ diff --git a/.tooling/tests/screenshots/Check---Custom-Check-Icon-Behaviour/darwin/firefox/check-custom-check-icon.png b/.tooling/tests/screenshots/Check---Custom-Check-Icon-Behaviour/darwin/firefox/check-custom-check-icon.png index e20627884..2c4b61038 100644 Binary files a/.tooling/tests/screenshots/Check---Custom-Check-Icon-Behaviour/darwin/firefox/check-custom-check-icon.png and b/.tooling/tests/screenshots/Check---Custom-Check-Icon-Behaviour/darwin/firefox/check-custom-check-icon.png differ diff --git a/.tooling/tests/screenshots/Check---Custom-Indeterminate-Icon-Behaviour/darwin/firefox/check-custom-indeterminate-icon.png b/.tooling/tests/screenshots/Check---Custom-Indeterminate-Icon-Behaviour/darwin/firefox/check-custom-indeterminate-icon.png index 65346e895..958db0c8f 100644 Binary files a/.tooling/tests/screenshots/Check---Custom-Indeterminate-Icon-Behaviour/darwin/firefox/check-custom-indeterminate-icon.png and b/.tooling/tests/screenshots/Check---Custom-Indeterminate-Icon-Behaviour/darwin/firefox/check-custom-indeterminate-icon.png differ diff --git a/.tooling/tests/screenshots/Check---Disabled-Behaviour/darwin/firefox/check-disabled-click.png b/.tooling/tests/screenshots/Check---Disabled-Behaviour/darwin/firefox/check-disabled-click.png index d66e3b0bb..ee039f66e 100644 Binary files a/.tooling/tests/screenshots/Check---Disabled-Behaviour/darwin/firefox/check-disabled-click.png and b/.tooling/tests/screenshots/Check---Disabled-Behaviour/darwin/firefox/check-disabled-click.png differ diff --git a/.tooling/tests/screenshots/Check---Disabled-Behaviour/darwin/firefox/check-disabled.png b/.tooling/tests/screenshots/Check---Disabled-Behaviour/darwin/firefox/check-disabled.png index d66e3b0bb..ee039f66e 100644 Binary files a/.tooling/tests/screenshots/Check---Disabled-Behaviour/darwin/firefox/check-disabled.png and b/.tooling/tests/screenshots/Check---Disabled-Behaviour/darwin/firefox/check-disabled.png differ diff --git a/.tooling/tests/screenshots/Check---Error-Behaviour/darwin/firefox/check-error.png b/.tooling/tests/screenshots/Check---Error-Behaviour/darwin/firefox/check-error.png index 01f6e7933..925d2b8fd 100644 Binary files a/.tooling/tests/screenshots/Check---Error-Behaviour/darwin/firefox/check-error.png and b/.tooling/tests/screenshots/Check---Error-Behaviour/darwin/firefox/check-error.png differ diff --git a/.tooling/tests/screenshots/Check---Hint-Behaviour/darwin/firefox/check-hint.png b/.tooling/tests/screenshots/Check---Hint-Behaviour/darwin/firefox/check-hint.png index eed1112e1..485759fa0 100644 Binary files a/.tooling/tests/screenshots/Check---Hint-Behaviour/darwin/firefox/check-hint.png and b/.tooling/tests/screenshots/Check---Hint-Behaviour/darwin/firefox/check-hint.png differ diff --git a/.tooling/tests/screenshots/Check---Indeterminate-Behaviour/darwin/firefox/check-indeterminate.png b/.tooling/tests/screenshots/Check---Indeterminate-Behaviour/darwin/firefox/check-indeterminate.png index 8b56096c3..81d7bd253 100644 Binary files a/.tooling/tests/screenshots/Check---Indeterminate-Behaviour/darwin/firefox/check-indeterminate.png and b/.tooling/tests/screenshots/Check---Indeterminate-Behaviour/darwin/firefox/check-indeterminate.png differ diff --git a/.tooling/tests/screenshots/Check---Label-Behaviour/darwin/firefox/check-label.png b/.tooling/tests/screenshots/Check---Label-Behaviour/darwin/firefox/check-label.png index 35d0efd16..3568df9e7 100644 Binary files a/.tooling/tests/screenshots/Check---Label-Behaviour/darwin/firefox/check-label.png and b/.tooling/tests/screenshots/Check---Label-Behaviour/darwin/firefox/check-label.png differ diff --git a/.tooling/tests/screenshots/Check---Slot-Behaviour/darwin/firefox/check-slot.png b/.tooling/tests/screenshots/Check---Slot-Behaviour/darwin/firefox/check-slot.png index fba484540..6713dbcfd 100644 Binary files a/.tooling/tests/screenshots/Check---Slot-Behaviour/darwin/firefox/check-slot.png and b/.tooling/tests/screenshots/Check---Slot-Behaviour/darwin/firefox/check-slot.png differ diff --git a/.tooling/tests/screenshots/Chip---Closable-Behaviour/darwin/firefox/chip-initial.png b/.tooling/tests/screenshots/Chip---Closable-Behaviour/darwin/firefox/chip-initial.png index fe2f78cd0..a78213978 100644 Binary files a/.tooling/tests/screenshots/Chip---Closable-Behaviour/darwin/firefox/chip-initial.png and b/.tooling/tests/screenshots/Chip---Closable-Behaviour/darwin/firefox/chip-initial.png differ diff --git a/.tooling/tests/screenshots/Chip---Close-Icon-Slot/darwin/Mobile-Chrome/chip-initial.png b/.tooling/tests/screenshots/Chip---Close-Icon-Slot-Behaviour/darwin/Mobile-Chrome/chip-initial.png similarity index 100% rename from .tooling/tests/screenshots/Chip---Close-Icon-Slot/darwin/Mobile-Chrome/chip-initial.png rename to .tooling/tests/screenshots/Chip---Close-Icon-Slot-Behaviour/darwin/Mobile-Chrome/chip-initial.png diff --git a/.tooling/tests/screenshots/Chip---Close-Icon-Slot/darwin/Mobile-Safari/chip-initial.png b/.tooling/tests/screenshots/Chip---Close-Icon-Slot-Behaviour/darwin/Mobile-Safari/chip-initial.png similarity index 100% rename from .tooling/tests/screenshots/Chip---Close-Icon-Slot/darwin/Mobile-Safari/chip-initial.png rename to .tooling/tests/screenshots/Chip---Close-Icon-Slot-Behaviour/darwin/Mobile-Safari/chip-initial.png diff --git a/.tooling/tests/screenshots/Chip---Close-Icon-Slot-Behaviour/darwin/chromium/chip-initial.png b/.tooling/tests/screenshots/Chip---Close-Icon-Slot-Behaviour/darwin/chromium/chip-initial.png new file mode 100644 index 000000000..d3719bb2f Binary files /dev/null and b/.tooling/tests/screenshots/Chip---Close-Icon-Slot-Behaviour/darwin/chromium/chip-initial.png differ diff --git a/.tooling/tests/screenshots/Chip---Close-Icon-Slot-Behaviour/darwin/firefox/chip-initial.png b/.tooling/tests/screenshots/Chip---Close-Icon-Slot-Behaviour/darwin/firefox/chip-initial.png new file mode 100644 index 000000000..795508499 Binary files /dev/null and b/.tooling/tests/screenshots/Chip---Close-Icon-Slot-Behaviour/darwin/firefox/chip-initial.png differ diff --git a/.tooling/tests/screenshots/Chip---Close-Icon-Slot/darwin/webkit/chip-initial.png b/.tooling/tests/screenshots/Chip---Close-Icon-Slot-Behaviour/darwin/webkit/chip-initial.png similarity index 100% rename from .tooling/tests/screenshots/Chip---Close-Icon-Slot/darwin/webkit/chip-initial.png rename to .tooling/tests/screenshots/Chip---Close-Icon-Slot-Behaviour/darwin/webkit/chip-initial.png diff --git a/.tooling/tests/screenshots/Chip---Close-Icon-Slot/darwin/chromium/chip-initial.png b/.tooling/tests/screenshots/Chip---Close-Icon-Slot/darwin/chromium/chip-initial.png deleted file mode 100644 index 6905d557b..000000000 Binary files a/.tooling/tests/screenshots/Chip---Close-Icon-Slot/darwin/chromium/chip-initial.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Chip---Close-Icon-Slot/darwin/firefox/chip-initial.png b/.tooling/tests/screenshots/Chip---Close-Icon-Slot/darwin/firefox/chip-initial.png deleted file mode 100644 index 91ff46881..000000000 Binary files a/.tooling/tests/screenshots/Chip---Close-Icon-Slot/darwin/firefox/chip-initial.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Chip---Disabled-Behaviour/darwin/firefox/chip-initial.png b/.tooling/tests/screenshots/Chip---Disabled-Behaviour/darwin/firefox/chip-initial.png index ca49c4958..dc2777a90 100644 Binary files a/.tooling/tests/screenshots/Chip---Disabled-Behaviour/darwin/firefox/chip-initial.png and b/.tooling/tests/screenshots/Chip---Disabled-Behaviour/darwin/firefox/chip-initial.png differ diff --git a/.tooling/tests/screenshots/Chip---Icon-Slot/darwin/Mobile-Chrome/chip-initial.png b/.tooling/tests/screenshots/Chip---Icon-Slot-Behaviour/darwin/Mobile-Chrome/chip-initial.png similarity index 100% rename from .tooling/tests/screenshots/Chip---Icon-Slot/darwin/Mobile-Chrome/chip-initial.png rename to .tooling/tests/screenshots/Chip---Icon-Slot-Behaviour/darwin/Mobile-Chrome/chip-initial.png diff --git a/.tooling/tests/screenshots/Chip---Icon-Slot/darwin/Mobile-Safari/chip-initial.png b/.tooling/tests/screenshots/Chip---Icon-Slot-Behaviour/darwin/Mobile-Safari/chip-initial.png similarity index 100% rename from .tooling/tests/screenshots/Chip---Icon-Slot/darwin/Mobile-Safari/chip-initial.png rename to .tooling/tests/screenshots/Chip---Icon-Slot-Behaviour/darwin/Mobile-Safari/chip-initial.png diff --git a/.tooling/tests/screenshots/Chip---Icon-Slot/darwin/chromium/chip-initial.png b/.tooling/tests/screenshots/Chip---Icon-Slot-Behaviour/darwin/chromium/chip-initial.png similarity index 100% rename from .tooling/tests/screenshots/Chip---Icon-Slot/darwin/chromium/chip-initial.png rename to .tooling/tests/screenshots/Chip---Icon-Slot-Behaviour/darwin/chromium/chip-initial.png diff --git a/.tooling/tests/screenshots/Chip---Icon-Slot-Behaviour/darwin/firefox/chip-initial.png b/.tooling/tests/screenshots/Chip---Icon-Slot-Behaviour/darwin/firefox/chip-initial.png new file mode 100644 index 000000000..92c482708 Binary files /dev/null and b/.tooling/tests/screenshots/Chip---Icon-Slot-Behaviour/darwin/firefox/chip-initial.png differ diff --git a/.tooling/tests/screenshots/Chip---Icon-Slot/darwin/webkit/chip-initial.png b/.tooling/tests/screenshots/Chip---Icon-Slot-Behaviour/darwin/webkit/chip-initial.png similarity index 100% rename from .tooling/tests/screenshots/Chip---Icon-Slot/darwin/webkit/chip-initial.png rename to .tooling/tests/screenshots/Chip---Icon-Slot-Behaviour/darwin/webkit/chip-initial.png diff --git a/.tooling/tests/screenshots/Chip---Icon-Slot/darwin/firefox/chip-initial.png b/.tooling/tests/screenshots/Chip---Icon-Slot/darwin/firefox/chip-initial.png deleted file mode 100644 index 5de685d71..000000000 Binary files a/.tooling/tests/screenshots/Chip---Icon-Slot/darwin/firefox/chip-initial.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Chip---Label/darwin/Mobile-Chrome/chip-initial.png b/.tooling/tests/screenshots/Chip---Label-Behaviour/darwin/Mobile-Chrome/chip-initial.png similarity index 100% rename from .tooling/tests/screenshots/Chip---Label/darwin/Mobile-Chrome/chip-initial.png rename to .tooling/tests/screenshots/Chip---Label-Behaviour/darwin/Mobile-Chrome/chip-initial.png diff --git a/.tooling/tests/screenshots/Chip---Label/darwin/Mobile-Safari/chip-initial.png b/.tooling/tests/screenshots/Chip---Label-Behaviour/darwin/Mobile-Safari/chip-initial.png similarity index 100% rename from .tooling/tests/screenshots/Chip---Label/darwin/Mobile-Safari/chip-initial.png rename to .tooling/tests/screenshots/Chip---Label-Behaviour/darwin/Mobile-Safari/chip-initial.png diff --git a/.tooling/tests/screenshots/Chip---Label/darwin/chromium/chip-initial.png b/.tooling/tests/screenshots/Chip---Label-Behaviour/darwin/chromium/chip-initial.png similarity index 100% rename from .tooling/tests/screenshots/Chip---Label/darwin/chromium/chip-initial.png rename to .tooling/tests/screenshots/Chip---Label-Behaviour/darwin/chromium/chip-initial.png diff --git a/.tooling/tests/screenshots/Chip---Label-Behaviour/darwin/firefox/chip-initial.png b/.tooling/tests/screenshots/Chip---Label-Behaviour/darwin/firefox/chip-initial.png new file mode 100644 index 000000000..38d86dae0 Binary files /dev/null and b/.tooling/tests/screenshots/Chip---Label-Behaviour/darwin/firefox/chip-initial.png differ diff --git a/.tooling/tests/screenshots/Chip---Label/darwin/webkit/chip-initial.png b/.tooling/tests/screenshots/Chip---Label-Behaviour/darwin/webkit/chip-initial.png similarity index 100% rename from .tooling/tests/screenshots/Chip---Label/darwin/webkit/chip-initial.png rename to .tooling/tests/screenshots/Chip---Label-Behaviour/darwin/webkit/chip-initial.png diff --git a/.tooling/tests/screenshots/Chip---Label/darwin/firefox/chip-initial.png b/.tooling/tests/screenshots/Chip---Label/darwin/firefox/chip-initial.png deleted file mode 100644 index 5103ddcc6..000000000 Binary files a/.tooling/tests/screenshots/Chip---Label/darwin/firefox/chip-initial.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Chip---Visual-and-Behaviour/darwin/firefox/chip-initial.png b/.tooling/tests/screenshots/Chip---Visual-and-Behaviour/darwin/firefox/chip-initial.png index bdbe8b3b3..02b503796 100644 Binary files a/.tooling/tests/screenshots/Chip---Visual-and-Behaviour/darwin/firefox/chip-initial.png and b/.tooling/tests/screenshots/Chip---Visual-and-Behaviour/darwin/firefox/chip-initial.png differ diff --git a/.tooling/tests/screenshots/Color-Field---Disabled-Behaviour/darwin/firefox/color-field-initial.png b/.tooling/tests/screenshots/Color-Field---Disabled-Behaviour/darwin/firefox/color-field-initial.png index 0ad06efc0..311fef28a 100644 Binary files a/.tooling/tests/screenshots/Color-Field---Disabled-Behaviour/darwin/firefox/color-field-initial.png and b/.tooling/tests/screenshots/Color-Field---Disabled-Behaviour/darwin/firefox/color-field-initial.png differ diff --git a/.tooling/tests/screenshots/Color-Field---Interactive/darwin/firefox/color-field-value.png b/.tooling/tests/screenshots/Color-Field---Interactive/darwin/firefox/color-field-value.png deleted file mode 100644 index e57bb8f73..000000000 Binary files a/.tooling/tests/screenshots/Color-Field---Interactive/darwin/firefox/color-field-value.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Color-Field---Interactive/darwin/firefox/color-field.png b/.tooling/tests/screenshots/Color-Field---Interactive/darwin/firefox/color-field.png deleted file mode 100644 index 36d868796..000000000 Binary files a/.tooling/tests/screenshots/Color-Field---Interactive/darwin/firefox/color-field.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Color-Field---Interactive/darwin/Mobile-Chrome/color-field-value.png b/.tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/color-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Color-Field---Interactive/darwin/Mobile-Chrome/color-field-value.png rename to .tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/color-field-value.png diff --git a/.tooling/tests/screenshots/Color-Field---Interactive/darwin/Mobile-Chrome/color-field.png b/.tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/color-field.png similarity index 100% rename from .tooling/tests/screenshots/Color-Field---Interactive/darwin/Mobile-Chrome/color-field.png rename to .tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/color-field.png diff --git a/.tooling/tests/screenshots/Color-Field---Interactive/darwin/Mobile-Safari/color-field-value.png b/.tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/Mobile-Safari/color-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Color-Field---Interactive/darwin/Mobile-Safari/color-field-value.png rename to .tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/Mobile-Safari/color-field-value.png diff --git a/.tooling/tests/screenshots/Color-Field---Interactive/darwin/Mobile-Safari/color-field.png b/.tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/Mobile-Safari/color-field.png similarity index 100% rename from .tooling/tests/screenshots/Color-Field---Interactive/darwin/Mobile-Safari/color-field.png rename to .tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/Mobile-Safari/color-field.png diff --git a/.tooling/tests/screenshots/Color-Field---Interactive/darwin/chromium/color-field-value.png b/.tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/chromium/color-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Color-Field---Interactive/darwin/chromium/color-field-value.png rename to .tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/chromium/color-field-value.png diff --git a/.tooling/tests/screenshots/Color-Field---Interactive/darwin/chromium/color-field.png b/.tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/chromium/color-field.png similarity index 100% rename from .tooling/tests/screenshots/Color-Field---Interactive/darwin/chromium/color-field.png rename to .tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/chromium/color-field.png diff --git a/.tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/firefox/color-field-value.png b/.tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/firefox/color-field-value.png new file mode 100644 index 000000000..274bbc3bb Binary files /dev/null and b/.tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/firefox/color-field-value.png differ diff --git a/.tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/firefox/color-field.png b/.tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/firefox/color-field.png new file mode 100644 index 000000000..4da70615c Binary files /dev/null and b/.tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/firefox/color-field.png differ diff --git a/.tooling/tests/screenshots/Color-Field---Interactive/darwin/webkit/color-field-value.png b/.tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/webkit/color-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Color-Field---Interactive/darwin/webkit/color-field-value.png rename to .tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/webkit/color-field-value.png diff --git a/.tooling/tests/screenshots/Color-Field---Interactive/darwin/webkit/color-field.png b/.tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/webkit/color-field.png similarity index 100% rename from .tooling/tests/screenshots/Color-Field---Interactive/darwin/webkit/color-field.png rename to .tooling/tests/screenshots/Color-Field---Visual-and-Behaviour/darwin/webkit/color-field.png diff --git a/.tooling/tests/screenshots/Currency-Field---Visual-and-Behaviour/darwin/firefox/currency-field-blurred.png b/.tooling/tests/screenshots/Currency-Field---Visual-and-Behaviour/darwin/firefox/currency-field-blurred.png index 045e20d74..474997921 100644 Binary files a/.tooling/tests/screenshots/Currency-Field---Visual-and-Behaviour/darwin/firefox/currency-field-blurred.png and b/.tooling/tests/screenshots/Currency-Field---Visual-and-Behaviour/darwin/firefox/currency-field-blurred.png differ diff --git a/.tooling/tests/screenshots/Currency-Field---Visual-and-Behaviour/darwin/firefox/currency-field-clicked.png b/.tooling/tests/screenshots/Currency-Field---Visual-and-Behaviour/darwin/firefox/currency-field-clicked.png index 0baba7a59..39083b27d 100644 Binary files a/.tooling/tests/screenshots/Currency-Field---Visual-and-Behaviour/darwin/firefox/currency-field-clicked.png and b/.tooling/tests/screenshots/Currency-Field---Visual-and-Behaviour/darwin/firefox/currency-field-clicked.png differ diff --git a/.tooling/tests/screenshots/Currency-Field---Visual-and-Behaviour/darwin/firefox/currency-field-focussed.png b/.tooling/tests/screenshots/Currency-Field---Visual-and-Behaviour/darwin/firefox/currency-field-focussed.png index 0baba7a59..39083b27d 100644 Binary files a/.tooling/tests/screenshots/Currency-Field---Visual-and-Behaviour/darwin/firefox/currency-field-focussed.png and b/.tooling/tests/screenshots/Currency-Field---Visual-and-Behaviour/darwin/firefox/currency-field-focussed.png differ diff --git a/.tooling/tests/screenshots/Currency-Field---Visual-and-Behaviour/darwin/firefox/currency-field-initial.png b/.tooling/tests/screenshots/Currency-Field---Visual-and-Behaviour/darwin/firefox/currency-field-initial.png index 3a672ced5..639406b3c 100644 Binary files a/.tooling/tests/screenshots/Currency-Field---Visual-and-Behaviour/darwin/firefox/currency-field-initial.png and b/.tooling/tests/screenshots/Currency-Field---Visual-and-Behaviour/darwin/firefox/currency-field-initial.png differ diff --git a/.tooling/tests/screenshots/Date-Picker---Disabled-Behaviour/darwin/firefox/date-picker-initial.png b/.tooling/tests/screenshots/Date-Picker---Disabled-Behaviour/darwin/firefox/date-picker-initial.png index 02884b9ee..f34552986 100644 Binary files a/.tooling/tests/screenshots/Date-Picker---Disabled-Behaviour/darwin/firefox/date-picker-initial.png and b/.tooling/tests/screenshots/Date-Picker---Disabled-Behaviour/darwin/firefox/date-picker-initial.png differ diff --git a/.tooling/tests/screenshots/Date-Picker---Locale-Behaviour/darwin/firefox/date-picker-initial.png b/.tooling/tests/screenshots/Date-Picker---Locale-Behaviour/darwin/firefox/date-picker-initial.png index dac10c76d..6b42fd78f 100644 Binary files a/.tooling/tests/screenshots/Date-Picker---Locale-Behaviour/darwin/firefox/date-picker-initial.png and b/.tooling/tests/screenshots/Date-Picker---Locale-Behaviour/darwin/firefox/date-picker-initial.png differ diff --git a/.tooling/tests/screenshots/Date-Picker---Max-Date-Behaviour/darwin/firefox/date-picker-initial.png b/.tooling/tests/screenshots/Date-Picker---Max-Date-Behaviour/darwin/firefox/date-picker-initial.png index 8e333c189..8ce46c10c 100644 Binary files a/.tooling/tests/screenshots/Date-Picker---Max-Date-Behaviour/darwin/firefox/date-picker-initial.png and b/.tooling/tests/screenshots/Date-Picker---Max-Date-Behaviour/darwin/firefox/date-picker-initial.png differ diff --git a/.tooling/tests/screenshots/Date-Picker---Min-Date-Behaviour/darwin/firefox/date-picker-initial.png b/.tooling/tests/screenshots/Date-Picker---Min-Date-Behaviour/darwin/firefox/date-picker-initial.png index 10d301ea2..c1488916a 100644 Binary files a/.tooling/tests/screenshots/Date-Picker---Min-Date-Behaviour/darwin/firefox/date-picker-initial.png and b/.tooling/tests/screenshots/Date-Picker---Min-Date-Behaviour/darwin/firefox/date-picker-initial.png differ diff --git a/.tooling/tests/screenshots/Date-Picker---Value-Behaviour/darwin/firefox/date-picker-initial.png b/.tooling/tests/screenshots/Date-Picker---Value-Behaviour/darwin/firefox/date-picker-initial.png index f47bd3fc5..f9fb290e8 100644 Binary files a/.tooling/tests/screenshots/Date-Picker---Value-Behaviour/darwin/firefox/date-picker-initial.png and b/.tooling/tests/screenshots/Date-Picker---Value-Behaviour/darwin/firefox/date-picker-initial.png differ diff --git a/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/chromium/date-picker-calendar-years.png b/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/chromium/date-picker-calendar-years.png index 9427948e8..cc2779fe1 100644 Binary files a/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/chromium/date-picker-calendar-years.png and b/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/chromium/date-picker-calendar-years.png differ diff --git a/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-after.png b/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-after.png index bad5816aa..9b6fc3d69 100644 Binary files a/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-after.png and b/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-after.png differ diff --git a/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-calendar-days.png b/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-calendar-days.png index 96fa73767..2938ed0b8 100644 Binary files a/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-calendar-days.png and b/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-calendar-days.png differ diff --git a/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-calendar-months.png b/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-calendar-months.png index 985a0719f..380f797c4 100644 Binary files a/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-calendar-months.png and b/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-calendar-months.png differ diff --git a/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-calendar-open.png b/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-calendar-open.png index 4d19b393d..103620b7e 100644 Binary files a/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-calendar-open.png and b/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-calendar-open.png differ diff --git a/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-calendar-years.png b/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-calendar-years.png index 47bc5e138..bc9a4a99a 100644 Binary files a/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-calendar-years.png and b/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-calendar-years.png differ diff --git a/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-initial.png b/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-initial.png index 191e5e2c3..28234159f 100644 Binary files a/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-initial.png and b/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-initial.png differ diff --git a/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-open.png b/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-open.png index 637e9d8a1..02c52f536 100644 Binary files a/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-open.png and b/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/firefox/date-picker-open.png differ diff --git a/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/webkit/date-picker-calendar-open.png b/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/webkit/date-picker-calendar-open.png index 519a86612..450f420dc 100644 Binary files a/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/webkit/date-picker-calendar-open.png and b/.tooling/tests/screenshots/Date-Picker---Visual-and-Behaviour/darwin/webkit/date-picker-calendar-open.png differ diff --git a/.tooling/tests/screenshots/Email-Field---Interactive/darwin/firefox/email-field-value.png b/.tooling/tests/screenshots/Email-Field---Interactive/darwin/firefox/email-field-value.png deleted file mode 100644 index 135a39e26..000000000 Binary files a/.tooling/tests/screenshots/Email-Field---Interactive/darwin/firefox/email-field-value.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Email-Field---Interactive/darwin/firefox/email-field.png b/.tooling/tests/screenshots/Email-Field---Interactive/darwin/firefox/email-field.png deleted file mode 100644 index 2401393c1..000000000 Binary files a/.tooling/tests/screenshots/Email-Field---Interactive/darwin/firefox/email-field.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Email-Field---Interactive/darwin/Mobile-Chrome/email-field-value.png b/.tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/email-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Email-Field---Interactive/darwin/Mobile-Chrome/email-field-value.png rename to .tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/email-field-value.png diff --git a/.tooling/tests/screenshots/Email-Field---Interactive/darwin/Mobile-Chrome/email-field.png b/.tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/email-field.png similarity index 100% rename from .tooling/tests/screenshots/Email-Field---Interactive/darwin/Mobile-Chrome/email-field.png rename to .tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/email-field.png diff --git a/.tooling/tests/screenshots/Email-Field---Interactive/darwin/Mobile-Safari/email-field-value.png b/.tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/Mobile-Safari/email-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Email-Field---Interactive/darwin/Mobile-Safari/email-field-value.png rename to .tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/Mobile-Safari/email-field-value.png diff --git a/.tooling/tests/screenshots/Email-Field---Interactive/darwin/Mobile-Safari/email-field.png b/.tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/Mobile-Safari/email-field.png similarity index 100% rename from .tooling/tests/screenshots/Email-Field---Interactive/darwin/Mobile-Safari/email-field.png rename to .tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/Mobile-Safari/email-field.png diff --git a/.tooling/tests/screenshots/Email-Field---Interactive/darwin/chromium/email-field-value.png b/.tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/chromium/email-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Email-Field---Interactive/darwin/chromium/email-field-value.png rename to .tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/chromium/email-field-value.png diff --git a/.tooling/tests/screenshots/Email-Field---Interactive/darwin/chromium/email-field.png b/.tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/chromium/email-field.png similarity index 100% rename from .tooling/tests/screenshots/Email-Field---Interactive/darwin/chromium/email-field.png rename to .tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/chromium/email-field.png diff --git a/.tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/firefox/email-field-value.png b/.tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/firefox/email-field-value.png new file mode 100644 index 000000000..dc05b378f Binary files /dev/null and b/.tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/firefox/email-field-value.png differ diff --git a/.tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/firefox/email-field.png b/.tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/firefox/email-field.png new file mode 100644 index 000000000..520cdcfe6 Binary files /dev/null and b/.tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/firefox/email-field.png differ diff --git a/.tooling/tests/screenshots/Email-Field---Interactive/darwin/webkit/email-field-value.png b/.tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/webkit/email-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Email-Field---Interactive/darwin/webkit/email-field-value.png rename to .tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/webkit/email-field-value.png diff --git a/.tooling/tests/screenshots/Email-Field---Interactive/darwin/webkit/email-field.png b/.tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/webkit/email-field.png similarity index 100% rename from .tooling/tests/screenshots/Email-Field---Interactive/darwin/webkit/email-field.png rename to .tooling/tests/screenshots/Email-Field---Visual-and-Behaviour/darwin/webkit/email-field.png diff --git a/.tooling/tests/screenshots/Hyperlink---Disabled-Behaviour/darwin/firefox/hyperlink-initial.png b/.tooling/tests/screenshots/Hyperlink---Disabled-Behaviour/darwin/firefox/hyperlink-initial.png index 9543306c7..ce87e9458 100644 Binary files a/.tooling/tests/screenshots/Hyperlink---Disabled-Behaviour/darwin/firefox/hyperlink-initial.png and b/.tooling/tests/screenshots/Hyperlink---Disabled-Behaviour/darwin/firefox/hyperlink-initial.png differ diff --git a/.tooling/tests/screenshots/Hyperlink---Href-Behaviour/darwin/firefox/hyperlink-initial.png b/.tooling/tests/screenshots/Hyperlink---Href-Behaviour/darwin/firefox/hyperlink-initial.png index c781d14da..93c8d256a 100644 Binary files a/.tooling/tests/screenshots/Hyperlink---Href-Behaviour/darwin/firefox/hyperlink-initial.png and b/.tooling/tests/screenshots/Hyperlink---Href-Behaviour/darwin/firefox/hyperlink-initial.png differ diff --git a/.tooling/tests/screenshots/Hyperlink---Inline-Visual/darwin/firefox/hyperlink-inline.png b/.tooling/tests/screenshots/Hyperlink---Inline-Visual/darwin/firefox/hyperlink-inline.png index 78983fc50..d2892407e 100644 Binary files a/.tooling/tests/screenshots/Hyperlink---Inline-Visual/darwin/firefox/hyperlink-inline.png and b/.tooling/tests/screenshots/Hyperlink---Inline-Visual/darwin/firefox/hyperlink-inline.png differ diff --git a/.tooling/tests/screenshots/Hyperlink---Label-Behaviour/darwin/firefox/hyperlink-initial.png b/.tooling/tests/screenshots/Hyperlink---Label-Behaviour/darwin/firefox/hyperlink-initial.png index 1e5d5ddb1..059aae8e8 100644 Binary files a/.tooling/tests/screenshots/Hyperlink---Label-Behaviour/darwin/firefox/hyperlink-initial.png and b/.tooling/tests/screenshots/Hyperlink---Label-Behaviour/darwin/firefox/hyperlink-initial.png differ diff --git a/.tooling/tests/screenshots/Hyperlink---Size-Visual/darwin/firefox/hyperlink-size.png b/.tooling/tests/screenshots/Hyperlink---Size-Visual/darwin/firefox/hyperlink-size.png index 8cf020819..3659661eb 100644 Binary files a/.tooling/tests/screenshots/Hyperlink---Size-Visual/darwin/firefox/hyperlink-size.png and b/.tooling/tests/screenshots/Hyperlink---Size-Visual/darwin/firefox/hyperlink-size.png differ diff --git a/.tooling/tests/screenshots/Hyperlink---Visual-and-Behaviour/darwin/firefox/hyperlink-initial.png b/.tooling/tests/screenshots/Hyperlink---Visual-and-Behaviour/darwin/firefox/hyperlink-initial.png index b63bebd7c..5920ba176 100644 Binary files a/.tooling/tests/screenshots/Hyperlink---Visual-and-Behaviour/darwin/firefox/hyperlink-initial.png and b/.tooling/tests/screenshots/Hyperlink---Visual-and-Behaviour/darwin/firefox/hyperlink-initial.png differ diff --git a/.tooling/tests/screenshots/Icon---Remote-Source-Visual/darwin/Mobile-Safari/icon-initial.png b/.tooling/tests/screenshots/Icon---Remote-Source-Visual/darwin/Mobile-Safari/icon-initial.png index 06809f9d2..91b400138 100644 Binary files a/.tooling/tests/screenshots/Icon---Remote-Source-Visual/darwin/Mobile-Safari/icon-initial.png and b/.tooling/tests/screenshots/Icon---Remote-Source-Visual/darwin/Mobile-Safari/icon-initial.png differ diff --git a/.tooling/tests/screenshots/Icon---Remote-Source-Visual/darwin/firefox/icon-initial.png b/.tooling/tests/screenshots/Icon---Remote-Source-Visual/darwin/firefox/icon-initial.png index f9e42c6db..cb59adcef 100644 Binary files a/.tooling/tests/screenshots/Icon---Remote-Source-Visual/darwin/firefox/icon-initial.png and b/.tooling/tests/screenshots/Icon---Remote-Source-Visual/darwin/firefox/icon-initial.png differ diff --git a/.tooling/tests/screenshots/Icon---Remote-Source-Visual/darwin/webkit/icon-initial.png b/.tooling/tests/screenshots/Icon---Remote-Source-Visual/darwin/webkit/icon-initial.png index 637af364a..390867c9b 100644 Binary files a/.tooling/tests/screenshots/Icon---Remote-Source-Visual/darwin/webkit/icon-initial.png and b/.tooling/tests/screenshots/Icon---Remote-Source-Visual/darwin/webkit/icon-initial.png differ diff --git a/.tooling/tests/screenshots/Icon---Symmetrical-Visual-and-Behaviour/darwin/Mobile-Chrome/icon-initial.png b/.tooling/tests/screenshots/Icon---Symmetrical-Visual-and-Behaviour/darwin/Mobile-Chrome/icon-initial.png index 55ab9f356..6250972b1 100644 Binary files a/.tooling/tests/screenshots/Icon---Symmetrical-Visual-and-Behaviour/darwin/Mobile-Chrome/icon-initial.png and b/.tooling/tests/screenshots/Icon---Symmetrical-Visual-and-Behaviour/darwin/Mobile-Chrome/icon-initial.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-alpha-enter.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-alpha-enter.png index 17342f53f..d332fdbf6 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-alpha-enter.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-alpha-enter.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-alpha-search.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-alpha-search.png new file mode 100644 index 000000000..5d0972fa8 Binary files /dev/null and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-alpha-search.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-alpha-send.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-alpha-send.png new file mode 100644 index 000000000..450e8ce43 Binary files /dev/null and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-alpha-send.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-enter.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-enter.png index 673003e85..20888135b 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-enter.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-enter.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-go.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-go.png index 5fd67a399..c8e4c442e 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-go.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-go.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-next.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-next.png index 2a78683b8..334021964 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-next.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-next.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-previous.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-previous.png new file mode 100644 index 000000000..6bc7967e7 Binary files /dev/null and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-previous.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-search.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-search.png new file mode 100644 index 000000000..7ec4bdf38 Binary files /dev/null and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-search.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-send.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-send.png new file mode 100644 index 000000000..00efdf0dd Binary files /dev/null and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-only-open-number-send.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-alpha-search.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-alpha-search.png new file mode 100644 index 000000000..2f0087362 Binary files /dev/null and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-alpha-search.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-alpha-send.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-alpha-send.png new file mode 100644 index 000000000..8aa669d1b Binary files /dev/null and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-alpha-send.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-done.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-done.png index a3cc2cfd7..16fd17a4f 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-done.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-done.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-enter.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-enter.png index 25655a4f6..7f6ba1970 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-enter.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-enter.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-go.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-go.png index 2fa4a9686..44212ecaf 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-go.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-go.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-previous.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-previous.png index 008098ca7..9e01effbd 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-previous.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-previous.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-search.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-search.png new file mode 100644 index 000000000..5cb10285c Binary files /dev/null and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-search.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-send.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-send.png new file mode 100644 index 000000000..e11715ce4 Binary files /dev/null and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/chromium/keyboard-open-number-send.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-done.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-done.png index 5da3ef23d..6d83ba08f 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-done.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-done.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-enter.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-enter.png index 33cc3adc8..bd4341c49 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-enter.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-enter.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-go.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-go.png index 322499100..18a3e373a 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-go.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-go.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-next.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-next.png index 7994e23ac..4734f2280 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-next.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-next.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-previous.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-previous.png index 52a179a16..0fe1d5672 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-previous.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-previous.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-search.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-search.png index 7a3fc8679..ad71d4169 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-search.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-search.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-send.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-send.png new file mode 100644 index 000000000..e814b4f6a Binary files /dev/null and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-alpha-send.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-done.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-done.png index aa4041c58..48166731a 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-done.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-done.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-enter.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-enter.png index 2970b028f..11cdac0d8 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-enter.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-enter.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-go.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-go.png index 0ad331f45..8ca46c770 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-go.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-go.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-next.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-next.png index 392a512bb..d59b8309f 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-next.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-next.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-previous.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-previous.png index dc6275560..cf2c6e16d 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-previous.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-previous.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-search.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-search.png index dcbc7a7d6..a270d86fe 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-search.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-search.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-send.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-send.png new file mode 100644 index 000000000..d7fd380c0 Binary files /dev/null and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-only-open-number-send.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-done.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-done.png index 4a85f95c5..0a43ce180 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-done.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-done.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-enter.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-enter.png index f34536e05..b9f215112 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-enter.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-enter.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-go.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-go.png index 8b9369be7..1dfba4d03 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-go.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-go.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-next.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-next.png index abaa5c10d..b4c5569df 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-next.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-next.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-previous.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-previous.png index cebc33f90..f546e1d1c 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-previous.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-previous.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-search.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-search.png index 6e07c0acd..b2d9ca6d7 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-search.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-search.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-send.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-send.png index 8cd419890..2db9431b6 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-send.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-alpha-send.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-done.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-done.png index 682fb636a..8140fed75 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-done.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-done.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-enter.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-enter.png index 90ef965e7..b11b8bc1d 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-enter.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-enter.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-go.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-go.png index 7b8b7c998..a5495e96e 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-go.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-go.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-next.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-next.png index fdf003592..f440bce8d 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-next.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-next.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-previous.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-previous.png index bfd2c98eb..2fc3e73ac 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-previous.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-previous.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-search.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-search.png index 54a8965d9..c0e86a058 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-search.png and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-search.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-send.png b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-send.png new file mode 100644 index 000000000..87548cb42 Binary files /dev/null and b/.tooling/tests/screenshots/Keyboard---Enter-Key-Hint-Variations/darwin/firefox/keyboard-open-number-send.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-interacted-number-field.png b/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-interacted-number-field.png index 62cfa2847..375da52c7 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-interacted-number-field.png and b/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-interacted-number-field.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-interacted-text-field.png b/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-interacted-text-field.png index f8a109dbd..f6a859c4b 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-interacted-text-field.png and b/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-interacted-text-field.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-open-number.png b/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-open-number.png index 86846bf6b..f47ba1b0b 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-open-number.png and b/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-open-number.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-open.png b/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-open.png index f34536e05..b9f215112 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-open.png and b/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-open.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-page-initial.png b/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-page-initial.png index ca62345de..378e357ef 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-page-initial.png and b/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-page-initial.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-page-interacted-number-field.png b/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-page-interacted-number-field.png index 6cebcc663..f4256ea62 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-page-interacted-number-field.png and b/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-page-interacted-number-field.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-page-interacted-text-field.png b/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-page-interacted-text-field.png index 8542c7b7c..3dd6ecaf7 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-page-interacted-text-field.png and b/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-page-interacted-text-field.png differ diff --git a/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-page-open.png b/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-page-open.png index 5c0336fef..98464c40b 100644 Binary files a/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-page-open.png and b/.tooling/tests/screenshots/Keyboard---Visual-and-Behaviour/darwin/firefox/keyboard-page-open.png differ diff --git a/.tooling/tests/screenshots/Label---Slot-Visual/darwin/firefox/label-initial.png b/.tooling/tests/screenshots/Label---Slot-Visual/darwin/firefox/label-initial.png index 9cbd6fd4b..d9540496d 100644 Binary files a/.tooling/tests/screenshots/Label---Slot-Visual/darwin/firefox/label-initial.png and b/.tooling/tests/screenshots/Label---Slot-Visual/darwin/firefox/label-initial.png differ diff --git a/.tooling/tests/screenshots/Label---Strong-Visual/darwin/firefox/label-initial.png b/.tooling/tests/screenshots/Label---Strong-Visual/darwin/firefox/label-initial.png index 37f6f9ca3..303ffcc20 100644 Binary files a/.tooling/tests/screenshots/Label---Strong-Visual/darwin/firefox/label-initial.png and b/.tooling/tests/screenshots/Label---Strong-Visual/darwin/firefox/label-initial.png differ diff --git a/.tooling/tests/screenshots/Label---Subtitle-Visual/darwin/firefox/label-initial.png b/.tooling/tests/screenshots/Label---Subtitle-Visual/darwin/firefox/label-initial.png index 5c4261356..8e09e8c09 100644 Binary files a/.tooling/tests/screenshots/Label---Subtitle-Visual/darwin/firefox/label-initial.png and b/.tooling/tests/screenshots/Label---Subtitle-Visual/darwin/firefox/label-initial.png differ diff --git a/.tooling/tests/screenshots/Label---Title-Visual/darwin/firefox/label-initial.png b/.tooling/tests/screenshots/Label---Title-Visual/darwin/firefox/label-initial.png index ac647a78a..bb60c28eb 100644 Binary files a/.tooling/tests/screenshots/Label---Title-Visual/darwin/firefox/label-initial.png and b/.tooling/tests/screenshots/Label---Title-Visual/darwin/firefox/label-initial.png differ diff --git a/.tooling/tests/screenshots/Label---Visual-and-Behaviour/darwin/firefox/label-initial.png b/.tooling/tests/screenshots/Label---Visual-and-Behaviour/darwin/firefox/label-initial.png index 65911708b..721f5d566 100644 Binary files a/.tooling/tests/screenshots/Label---Visual-and-Behaviour/darwin/firefox/label-initial.png and b/.tooling/tests/screenshots/Label---Visual-and-Behaviour/darwin/firefox/label-initial.png differ diff --git a/.tooling/tests/screenshots/Modal---Footer-Slot-Visual/darwin/firefox/modal-dialog-open.png b/.tooling/tests/screenshots/Modal---Footer-Slot-Visual/darwin/firefox/modal-dialog-open.png index d5bd4e877..33ef1dd5a 100644 Binary files a/.tooling/tests/screenshots/Modal---Footer-Slot-Visual/darwin/firefox/modal-dialog-open.png and b/.tooling/tests/screenshots/Modal---Footer-Slot-Visual/darwin/firefox/modal-dialog-open.png differ diff --git a/.tooling/tests/screenshots/Modal---Footer-Slot-Visual/darwin/webkit/modal-dialog-open.png b/.tooling/tests/screenshots/Modal---Footer-Slot-Visual/darwin/webkit/modal-dialog-open.png index fb3f0f6a9..a5a94a4ec 100644 Binary files a/.tooling/tests/screenshots/Modal---Footer-Slot-Visual/darwin/webkit/modal-dialog-open.png and b/.tooling/tests/screenshots/Modal---Footer-Slot-Visual/darwin/webkit/modal-dialog-open.png differ diff --git a/.tooling/tests/screenshots/Modal---Header-Align-Visual/darwin/firefox/modal-dialog-open.png b/.tooling/tests/screenshots/Modal---Header-Align-Visual/darwin/firefox/modal-dialog-open.png index 8f70fe0a8..d88ebbdf0 100644 Binary files a/.tooling/tests/screenshots/Modal---Header-Align-Visual/darwin/firefox/modal-dialog-open.png and b/.tooling/tests/screenshots/Modal---Header-Align-Visual/darwin/firefox/modal-dialog-open.png differ diff --git a/.tooling/tests/screenshots/Modal---Header-Label-Visual/darwin/firefox/modal-dialog-open.png b/.tooling/tests/screenshots/Modal---Header-Label-Visual/darwin/firefox/modal-dialog-open.png index 16d3784c2..66ab93e17 100644 Binary files a/.tooling/tests/screenshots/Modal---Header-Label-Visual/darwin/firefox/modal-dialog-open.png and b/.tooling/tests/screenshots/Modal---Header-Label-Visual/darwin/firefox/modal-dialog-open.png differ diff --git a/.tooling/tests/screenshots/Modal---Header-Slot-Visual/darwin/firefox/modal-dialog-open.png b/.tooling/tests/screenshots/Modal---Header-Slot-Visual/darwin/firefox/modal-dialog-open.png index fc5aaae25..726d71d05 100644 Binary files a/.tooling/tests/screenshots/Modal---Header-Slot-Visual/darwin/firefox/modal-dialog-open.png and b/.tooling/tests/screenshots/Modal---Header-Slot-Visual/darwin/firefox/modal-dialog-open.png differ diff --git a/.tooling/tests/screenshots/Modal---Header-Slot-Visual/darwin/webkit/modal-dialog-open.png b/.tooling/tests/screenshots/Modal---Header-Slot-Visual/darwin/webkit/modal-dialog-open.png index 4c2eba033..24cdf4f61 100644 Binary files a/.tooling/tests/screenshots/Modal---Header-Slot-Visual/darwin/webkit/modal-dialog-open.png and b/.tooling/tests/screenshots/Modal---Header-Slot-Visual/darwin/webkit/modal-dialog-open.png differ diff --git a/.tooling/tests/screenshots/Modal---No-Header-Visual/darwin/firefox/modal-dialog-open.png b/.tooling/tests/screenshots/Modal---No-Header-Visual/darwin/firefox/modal-dialog-open.png index c235096f4..1cd76189b 100644 Binary files a/.tooling/tests/screenshots/Modal---No-Header-Visual/darwin/firefox/modal-dialog-open.png and b/.tooling/tests/screenshots/Modal---No-Header-Visual/darwin/firefox/modal-dialog-open.png differ diff --git a/.tooling/tests/screenshots/Modal---No-Header-Visual/darwin/webkit/modal-dialog-open.png b/.tooling/tests/screenshots/Modal---No-Header-Visual/darwin/webkit/modal-dialog-open.png index 2f27ab67b..0409a46ab 100644 Binary files a/.tooling/tests/screenshots/Modal---No-Header-Visual/darwin/webkit/modal-dialog-open.png and b/.tooling/tests/screenshots/Modal---No-Header-Visual/darwin/webkit/modal-dialog-open.png differ diff --git a/.tooling/tests/screenshots/Modal---Scripted-Modal-Visual/darwin/firefox/modal-dialog-open.png b/.tooling/tests/screenshots/Modal---Scripted-Modal-Visual/darwin/firefox/modal-dialog-open.png index f0f8389d5..8eecd1aec 100644 Binary files a/.tooling/tests/screenshots/Modal---Scripted-Modal-Visual/darwin/firefox/modal-dialog-open.png and b/.tooling/tests/screenshots/Modal---Scripted-Modal-Visual/darwin/firefox/modal-dialog-open.png differ diff --git a/.tooling/tests/screenshots/Modal---Visual-and-Behaviour/darwin/firefox/modal-dialog-open.png b/.tooling/tests/screenshots/Modal---Visual-and-Behaviour/darwin/firefox/modal-dialog-open.png index b99eb4968..9cbe80469 100644 Binary files a/.tooling/tests/screenshots/Modal---Visual-and-Behaviour/darwin/firefox/modal-dialog-open.png and b/.tooling/tests/screenshots/Modal---Visual-and-Behaviour/darwin/firefox/modal-dialog-open.png differ diff --git a/.tooling/tests/screenshots/Number-Field---Interactive/darwin/firefox/number-field-value.png b/.tooling/tests/screenshots/Number-Field---Interactive/darwin/firefox/number-field-value.png deleted file mode 100644 index ab599e660..000000000 Binary files a/.tooling/tests/screenshots/Number-Field---Interactive/darwin/firefox/number-field-value.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Number-Field---Interactive/darwin/firefox/number-field.png b/.tooling/tests/screenshots/Number-Field---Interactive/darwin/firefox/number-field.png deleted file mode 100644 index 2401393c1..000000000 Binary files a/.tooling/tests/screenshots/Number-Field---Interactive/darwin/firefox/number-field.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Number-Field---Interactive/darwin/Mobile-Chrome/number-field-value.png b/.tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/number-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Number-Field---Interactive/darwin/Mobile-Chrome/number-field-value.png rename to .tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/number-field-value.png diff --git a/.tooling/tests/screenshots/Number-Field---Interactive/darwin/Mobile-Chrome/number-field.png b/.tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/number-field.png similarity index 100% rename from .tooling/tests/screenshots/Number-Field---Interactive/darwin/Mobile-Chrome/number-field.png rename to .tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/number-field.png diff --git a/.tooling/tests/screenshots/Number-Field---Interactive/darwin/Mobile-Safari/number-field-value.png b/.tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/Mobile-Safari/number-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Number-Field---Interactive/darwin/Mobile-Safari/number-field-value.png rename to .tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/Mobile-Safari/number-field-value.png diff --git a/.tooling/tests/screenshots/Number-Field---Interactive/darwin/Mobile-Safari/number-field.png b/.tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/Mobile-Safari/number-field.png similarity index 100% rename from .tooling/tests/screenshots/Number-Field---Interactive/darwin/Mobile-Safari/number-field.png rename to .tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/Mobile-Safari/number-field.png diff --git a/.tooling/tests/screenshots/Number-Field---Interactive/darwin/chromium/number-field-value.png b/.tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/chromium/number-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Number-Field---Interactive/darwin/chromium/number-field-value.png rename to .tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/chromium/number-field-value.png diff --git a/.tooling/tests/screenshots/Number-Field---Interactive/darwin/chromium/number-field.png b/.tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/chromium/number-field.png similarity index 100% rename from .tooling/tests/screenshots/Number-Field---Interactive/darwin/chromium/number-field.png rename to .tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/chromium/number-field.png diff --git a/.tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/firefox/number-field-value.png b/.tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/firefox/number-field-value.png new file mode 100644 index 000000000..2119c9958 Binary files /dev/null and b/.tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/firefox/number-field-value.png differ diff --git a/.tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/firefox/number-field.png b/.tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/firefox/number-field.png new file mode 100644 index 000000000..520cdcfe6 Binary files /dev/null and b/.tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/firefox/number-field.png differ diff --git a/.tooling/tests/screenshots/Number-Field---Interactive/darwin/webkit/number-field-value.png b/.tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/webkit/number-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Number-Field---Interactive/darwin/webkit/number-field-value.png rename to .tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/webkit/number-field-value.png diff --git a/.tooling/tests/screenshots/Number-Field---Interactive/darwin/webkit/number-field.png b/.tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/webkit/number-field.png similarity index 100% rename from .tooling/tests/screenshots/Number-Field---Interactive/darwin/webkit/number-field.png rename to .tooling/tests/screenshots/Number-Field---Visual-and-Behaviour/darwin/webkit/number-field.png diff --git a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/Mobile-Chrome/password-field-hide.png b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/Mobile-Chrome/password-field-hide.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/Mobile-Chrome/password-field-hide.png rename to .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/Mobile-Chrome/password-field-hide.png diff --git a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/Mobile-Chrome/password-field-show.png b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/Mobile-Chrome/password-field-show.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/Mobile-Chrome/password-field-show.png rename to .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/Mobile-Chrome/password-field-show.png diff --git a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/Mobile-Chrome/password-field.png b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/Mobile-Chrome/password-field.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/Mobile-Chrome/password-field.png rename to .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/Mobile-Chrome/password-field.png diff --git a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/Mobile-Safari/password-field-hide.png b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/Mobile-Safari/password-field-hide.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/Mobile-Safari/password-field-hide.png rename to .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/Mobile-Safari/password-field-hide.png diff --git a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/Mobile-Safari/password-field-show.png b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/Mobile-Safari/password-field-show.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/Mobile-Safari/password-field-show.png rename to .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/Mobile-Safari/password-field-show.png diff --git a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/Mobile-Safari/password-field.png b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/Mobile-Safari/password-field.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/Mobile-Safari/password-field.png rename to .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/Mobile-Safari/password-field.png diff --git a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/chromium/password-field-hide.png b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/chromium/password-field-hide.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/chromium/password-field-hide.png rename to .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/chromium/password-field-hide.png diff --git a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/chromium/password-field-show.png b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/chromium/password-field-show.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/chromium/password-field-show.png rename to .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/chromium/password-field-show.png diff --git a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/chromium/password-field.png b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/chromium/password-field.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/chromium/password-field.png rename to .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/chromium/password-field.png diff --git a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/firefox/password-field-hide.png b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/firefox/password-field-hide.png new file mode 100644 index 000000000..82588489f Binary files /dev/null and b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/firefox/password-field-hide.png differ diff --git a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/firefox/password-field-show.png b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/firefox/password-field-show.png new file mode 100644 index 000000000..bfe0f6218 Binary files /dev/null and b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/firefox/password-field-show.png differ diff --git a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/firefox/password-field.png b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/firefox/password-field.png new file mode 100644 index 000000000..c492c8ea3 Binary files /dev/null and b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/firefox/password-field.png differ diff --git a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/webkit/password-field-hide.png b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/webkit/password-field-hide.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/webkit/password-field-hide.png rename to .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/webkit/password-field-hide.png diff --git a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/webkit/password-field-show.png b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/webkit/password-field-show.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/webkit/password-field-show.png rename to .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/webkit/password-field-show.png diff --git a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/webkit/password-field.png b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/webkit/password-field.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/webkit/password-field.png rename to .tooling/tests/screenshots/Password-Field---Custom-Icon-Slot-Behaviour/darwin/webkit/password-field.png diff --git a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/firefox/password-field-hide.png b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/firefox/password-field-hide.png deleted file mode 100644 index e09f4ed81..000000000 Binary files a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/firefox/password-field-hide.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/firefox/password-field-show.png b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/firefox/password-field-show.png deleted file mode 100644 index f560bb9d0..000000000 Binary files a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/firefox/password-field-show.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/firefox/password-field.png b/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/firefox/password-field.png deleted file mode 100644 index 332c1633e..000000000 Binary files a/.tooling/tests/screenshots/Password-Field---Custom-Icon-Slot/darwin/firefox/password-field.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/firefox/password-field-hide.png b/.tooling/tests/screenshots/Password-Field---Interactive/darwin/firefox/password-field-hide.png deleted file mode 100644 index 3f9001fe2..000000000 Binary files a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/firefox/password-field-hide.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/firefox/password-field-show.png b/.tooling/tests/screenshots/Password-Field---Interactive/darwin/firefox/password-field-show.png deleted file mode 100644 index 795677558..000000000 Binary files a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/firefox/password-field-show.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/firefox/password-field-value.png b/.tooling/tests/screenshots/Password-Field---Interactive/darwin/firefox/password-field-value.png deleted file mode 100644 index 92064c7d7..000000000 Binary files a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/firefox/password-field-value.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/firefox/password-field.png b/.tooling/tests/screenshots/Password-Field---Interactive/darwin/firefox/password-field.png deleted file mode 100644 index 887674321..000000000 Binary files a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/firefox/password-field.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/Mobile-Chrome/password-field-hide.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/password-field-hide.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Interactive/darwin/Mobile-Chrome/password-field-hide.png rename to .tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/password-field-hide.png diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/Mobile-Chrome/password-field-show.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/password-field-show.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Interactive/darwin/Mobile-Chrome/password-field-show.png rename to .tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/password-field-show.png diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/Mobile-Chrome/password-field-value.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/password-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Interactive/darwin/Mobile-Chrome/password-field-value.png rename to .tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/password-field-value.png diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/Mobile-Chrome/password-field.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/password-field.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Interactive/darwin/Mobile-Chrome/password-field.png rename to .tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/password-field.png diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/Mobile-Safari/password-field-hide.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/Mobile-Safari/password-field-hide.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Interactive/darwin/Mobile-Safari/password-field-hide.png rename to .tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/Mobile-Safari/password-field-hide.png diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/Mobile-Safari/password-field-show.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/Mobile-Safari/password-field-show.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Interactive/darwin/Mobile-Safari/password-field-show.png rename to .tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/Mobile-Safari/password-field-show.png diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/Mobile-Safari/password-field-value.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/Mobile-Safari/password-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Interactive/darwin/Mobile-Safari/password-field-value.png rename to .tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/Mobile-Safari/password-field-value.png diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/Mobile-Safari/password-field.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/Mobile-Safari/password-field.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Interactive/darwin/Mobile-Safari/password-field.png rename to .tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/Mobile-Safari/password-field.png diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/chromium/password-field-hide.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/chromium/password-field-hide.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Interactive/darwin/chromium/password-field-hide.png rename to .tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/chromium/password-field-hide.png diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/chromium/password-field-show.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/chromium/password-field-show.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Interactive/darwin/chromium/password-field-show.png rename to .tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/chromium/password-field-show.png diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/chromium/password-field-value.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/chromium/password-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Interactive/darwin/chromium/password-field-value.png rename to .tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/chromium/password-field-value.png diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/chromium/password-field.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/chromium/password-field.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Interactive/darwin/chromium/password-field.png rename to .tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/chromium/password-field.png diff --git a/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/firefox/password-field-hide.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/firefox/password-field-hide.png new file mode 100644 index 000000000..d6c781000 Binary files /dev/null and b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/firefox/password-field-hide.png differ diff --git a/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/firefox/password-field-show.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/firefox/password-field-show.png new file mode 100644 index 000000000..fe3f10355 Binary files /dev/null and b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/firefox/password-field-show.png differ diff --git a/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/firefox/password-field-value.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/firefox/password-field-value.png new file mode 100644 index 000000000..2abd99de2 Binary files /dev/null and b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/firefox/password-field-value.png differ diff --git a/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/firefox/password-field.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/firefox/password-field.png new file mode 100644 index 000000000..915a1cf0d Binary files /dev/null and b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/firefox/password-field.png differ diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/webkit/password-field-hide.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/webkit/password-field-hide.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Interactive/darwin/webkit/password-field-hide.png rename to .tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/webkit/password-field-hide.png diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/webkit/password-field-show.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/webkit/password-field-show.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Interactive/darwin/webkit/password-field-show.png rename to .tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/webkit/password-field-show.png diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/webkit/password-field-value.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/webkit/password-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Interactive/darwin/webkit/password-field-value.png rename to .tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/webkit/password-field-value.png diff --git a/.tooling/tests/screenshots/Password-Field---Interactive/darwin/webkit/password-field.png b/.tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/webkit/password-field.png similarity index 100% rename from .tooling/tests/screenshots/Password-Field---Interactive/darwin/webkit/password-field.png rename to .tooling/tests/screenshots/Password-Field---Visual-and-Behaviour/darwin/webkit/password-field.png diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/firefox/pin-field-hide.png b/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/firefox/pin-field-hide.png deleted file mode 100644 index 6129fb565..000000000 Binary files a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/firefox/pin-field-hide.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/firefox/pin-field-show.png b/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/firefox/pin-field-show.png deleted file mode 100644 index 1d604dc5d..000000000 Binary files a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/firefox/pin-field-show.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/firefox/pin-field-value.png b/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/firefox/pin-field-value.png deleted file mode 100644 index 8dd8d199f..000000000 Binary files a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/firefox/pin-field-value.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/firefox/pin-field.png b/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/firefox/pin-field.png deleted file mode 100644 index 5e37de510..000000000 Binary files a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/firefox/pin-field.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/Mobile-Chrome/pin-field-show.png b/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/Mobile-Chrome/pin-field-show.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Max-Length/darwin/Mobile-Chrome/pin-field-show.png rename to .tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/Mobile-Chrome/pin-field-show.png diff --git a/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/Mobile-Chrome/pin-field-value.png b/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/Mobile-Chrome/pin-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Max-Length/darwin/Mobile-Chrome/pin-field-value.png rename to .tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/Mobile-Chrome/pin-field-value.png diff --git a/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/Mobile-Chrome/pin-field.png b/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/Mobile-Chrome/pin-field.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Max-Length/darwin/Mobile-Chrome/pin-field.png rename to .tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/Mobile-Chrome/pin-field.png diff --git a/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/Mobile-Safari/pin-field-show.png b/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/Mobile-Safari/pin-field-show.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Max-Length/darwin/Mobile-Safari/pin-field-show.png rename to .tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/Mobile-Safari/pin-field-show.png diff --git a/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/Mobile-Safari/pin-field-value.png b/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/Mobile-Safari/pin-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Max-Length/darwin/Mobile-Safari/pin-field-value.png rename to .tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/Mobile-Safari/pin-field-value.png diff --git a/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/Mobile-Safari/pin-field.png b/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/Mobile-Safari/pin-field.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Max-Length/darwin/Mobile-Safari/pin-field.png rename to .tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/Mobile-Safari/pin-field.png diff --git a/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/chromium/pin-field-show.png b/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/chromium/pin-field-show.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Max-Length/darwin/chromium/pin-field-show.png rename to .tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/chromium/pin-field-show.png diff --git a/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/chromium/pin-field-value.png b/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/chromium/pin-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Max-Length/darwin/chromium/pin-field-value.png rename to .tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/chromium/pin-field-value.png diff --git a/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/chromium/pin-field.png b/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/chromium/pin-field.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Max-Length/darwin/chromium/pin-field.png rename to .tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/chromium/pin-field.png diff --git a/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/firefox/pin-field-show.png b/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/firefox/pin-field-show.png new file mode 100644 index 000000000..81fa960f6 Binary files /dev/null and b/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/firefox/pin-field-show.png differ diff --git a/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/firefox/pin-field-value.png b/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/firefox/pin-field-value.png new file mode 100644 index 000000000..7cbb21439 Binary files /dev/null and b/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/firefox/pin-field-value.png differ diff --git a/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/firefox/pin-field.png b/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/firefox/pin-field.png new file mode 100644 index 000000000..20e632558 Binary files /dev/null and b/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/firefox/pin-field.png differ diff --git a/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/webkit/pin-field-show.png b/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/webkit/pin-field-show.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Max-Length/darwin/webkit/pin-field-show.png rename to .tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/webkit/pin-field-show.png diff --git a/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/webkit/pin-field-value.png b/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/webkit/pin-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Max-Length/darwin/webkit/pin-field-value.png rename to .tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/webkit/pin-field-value.png diff --git a/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/webkit/pin-field.png b/.tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/webkit/pin-field.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Max-Length/darwin/webkit/pin-field.png rename to .tooling/tests/screenshots/Pin-Field---Max-Length-Behaviour/darwin/webkit/pin-field.png diff --git a/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/firefox/pin-field-show.png b/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/firefox/pin-field-show.png deleted file mode 100644 index c48271462..000000000 Binary files a/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/firefox/pin-field-show.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/firefox/pin-field-value.png b/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/firefox/pin-field-value.png deleted file mode 100644 index 4c37ef98d..000000000 Binary files a/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/firefox/pin-field-value.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/firefox/pin-field.png b/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/firefox/pin-field.png deleted file mode 100644 index 5dc2d8966..000000000 Binary files a/.tooling/tests/screenshots/Pin-Field---Max-Length/darwin/firefox/pin-field.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/Mobile-Chrome/pin-field-hide.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/pin-field-hide.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Interactive/darwin/Mobile-Chrome/pin-field-hide.png rename to .tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/pin-field-hide.png diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/Mobile-Chrome/pin-field-show.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/pin-field-show.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Interactive/darwin/Mobile-Chrome/pin-field-show.png rename to .tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/pin-field-show.png diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/Mobile-Chrome/pin-field-value.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/pin-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Interactive/darwin/Mobile-Chrome/pin-field-value.png rename to .tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/pin-field-value.png diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/Mobile-Chrome/pin-field.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/pin-field.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Interactive/darwin/Mobile-Chrome/pin-field.png rename to .tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/pin-field.png diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/Mobile-Safari/pin-field-hide.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/Mobile-Safari/pin-field-hide.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Interactive/darwin/Mobile-Safari/pin-field-hide.png rename to .tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/Mobile-Safari/pin-field-hide.png diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/Mobile-Safari/pin-field-show.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/Mobile-Safari/pin-field-show.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Interactive/darwin/Mobile-Safari/pin-field-show.png rename to .tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/Mobile-Safari/pin-field-show.png diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/Mobile-Safari/pin-field-value.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/Mobile-Safari/pin-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Interactive/darwin/Mobile-Safari/pin-field-value.png rename to .tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/Mobile-Safari/pin-field-value.png diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/Mobile-Safari/pin-field.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/Mobile-Safari/pin-field.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Interactive/darwin/Mobile-Safari/pin-field.png rename to .tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/Mobile-Safari/pin-field.png diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/chromium/pin-field-hide.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/chromium/pin-field-hide.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Interactive/darwin/chromium/pin-field-hide.png rename to .tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/chromium/pin-field-hide.png diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/chromium/pin-field-show.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/chromium/pin-field-show.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Interactive/darwin/chromium/pin-field-show.png rename to .tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/chromium/pin-field-show.png diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/chromium/pin-field-value.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/chromium/pin-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Interactive/darwin/chromium/pin-field-value.png rename to .tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/chromium/pin-field-value.png diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/chromium/pin-field.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/chromium/pin-field.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Interactive/darwin/chromium/pin-field.png rename to .tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/chromium/pin-field.png diff --git a/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/firefox/pin-field-hide.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/firefox/pin-field-hide.png new file mode 100644 index 000000000..36340e12b Binary files /dev/null and b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/firefox/pin-field-hide.png differ diff --git a/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/firefox/pin-field-show.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/firefox/pin-field-show.png new file mode 100644 index 000000000..15575928f Binary files /dev/null and b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/firefox/pin-field-show.png differ diff --git a/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/firefox/pin-field-value.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/firefox/pin-field-value.png new file mode 100644 index 000000000..edd05e9d4 Binary files /dev/null and b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/firefox/pin-field-value.png differ diff --git a/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/firefox/pin-field.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/firefox/pin-field.png new file mode 100644 index 000000000..fd064eea1 Binary files /dev/null and b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/firefox/pin-field.png differ diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/webkit/pin-field-hide.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/webkit/pin-field-hide.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Interactive/darwin/webkit/pin-field-hide.png rename to .tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/webkit/pin-field-hide.png diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/webkit/pin-field-show.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/webkit/pin-field-show.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Interactive/darwin/webkit/pin-field-show.png rename to .tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/webkit/pin-field-show.png diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/webkit/pin-field-value.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/webkit/pin-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Interactive/darwin/webkit/pin-field-value.png rename to .tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/webkit/pin-field-value.png diff --git a/.tooling/tests/screenshots/Pin-Field---Interactive/darwin/webkit/pin-field.png b/.tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/webkit/pin-field.png similarity index 100% rename from .tooling/tests/screenshots/Pin-Field---Interactive/darwin/webkit/pin-field.png rename to .tooling/tests/screenshots/Pin-Field---Visual-and-Behaviour/darwin/webkit/pin-field.png diff --git a/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/Mobile-Chrome/radio-checked.png b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/Mobile-Chrome/radio-checked.png new file mode 100644 index 000000000..dbd2ee8d3 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/Mobile-Chrome/radio-checked.png differ diff --git a/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/Mobile-Chrome/radio-initial.png b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/Mobile-Chrome/radio-initial.png new file mode 100644 index 000000000..f1dad7b9e Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/Mobile-Chrome/radio-initial.png differ diff --git a/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/Mobile-Chrome/radio-unchecked.png b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/Mobile-Chrome/radio-unchecked.png new file mode 100644 index 000000000..61334ac88 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/Mobile-Chrome/radio-unchecked.png differ diff --git a/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/Mobile-Safari/radio-checked.png b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/Mobile-Safari/radio-checked.png new file mode 100644 index 000000000..54cef40b0 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/Mobile-Safari/radio-checked.png differ diff --git a/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/Mobile-Safari/radio-initial.png b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/Mobile-Safari/radio-initial.png new file mode 100644 index 000000000..40f464e10 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/Mobile-Safari/radio-initial.png differ diff --git a/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/Mobile-Safari/radio-unchecked.png b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/Mobile-Safari/radio-unchecked.png new file mode 100644 index 000000000..8dae0cf2e Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/Mobile-Safari/radio-unchecked.png differ diff --git a/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/chromium/radio-checked.png b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/chromium/radio-checked.png new file mode 100644 index 000000000..91cadb61e Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/chromium/radio-checked.png differ diff --git a/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/chromium/radio-initial.png b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/chromium/radio-initial.png new file mode 100644 index 000000000..226453c82 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/chromium/radio-initial.png differ diff --git a/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/chromium/radio-unchecked.png b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/chromium/radio-unchecked.png new file mode 100644 index 000000000..a61194fb1 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/chromium/radio-unchecked.png differ diff --git a/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/firefox/radio-checked.png b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/firefox/radio-checked.png new file mode 100644 index 000000000..b3b6db593 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/firefox/radio-checked.png differ diff --git a/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/firefox/radio-initial.png b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/firefox/radio-initial.png new file mode 100644 index 000000000..7df94e986 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/firefox/radio-initial.png differ diff --git a/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/firefox/radio-unchecked.png b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/firefox/radio-unchecked.png new file mode 100644 index 000000000..2291e6779 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/firefox/radio-unchecked.png differ diff --git a/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/webkit/radio-checked.png b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/webkit/radio-checked.png new file mode 100644 index 000000000..8a9ace5ef Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/webkit/radio-checked.png differ diff --git a/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/webkit/radio-initial.png b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/webkit/radio-initial.png new file mode 100644 index 000000000..e92ee04d0 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/webkit/radio-initial.png differ diff --git a/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/webkit/radio-unchecked.png b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/webkit/radio-unchecked.png new file mode 100644 index 000000000..e8a11c99b Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Check-Unchecked-Behaviour/darwin/webkit/radio-unchecked.png differ diff --git a/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/Mobile-Chrome/radio-disabled-click.png b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/Mobile-Chrome/radio-disabled-click.png new file mode 100644 index 000000000..cd7b62899 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/Mobile-Chrome/radio-disabled-click.png differ diff --git a/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/Mobile-Chrome/radio-disabled.png b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/Mobile-Chrome/radio-disabled.png new file mode 100644 index 000000000..e298bc3cd Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/Mobile-Chrome/radio-disabled.png differ diff --git a/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/Mobile-Safari/radio-disabled-click.png b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/Mobile-Safari/radio-disabled-click.png new file mode 100644 index 000000000..dc5c2a265 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/Mobile-Safari/radio-disabled-click.png differ diff --git a/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/Mobile-Safari/radio-disabled.png b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/Mobile-Safari/radio-disabled.png new file mode 100644 index 000000000..dc5c2a265 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/Mobile-Safari/radio-disabled.png differ diff --git a/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/chromium/radio-disabled-click.png b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/chromium/radio-disabled-click.png new file mode 100644 index 000000000..adc52aa27 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/chromium/radio-disabled-click.png differ diff --git a/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/chromium/radio-disabled.png b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/chromium/radio-disabled.png new file mode 100644 index 000000000..adc52aa27 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/chromium/radio-disabled.png differ diff --git a/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/firefox/radio-disabled-click.png b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/firefox/radio-disabled-click.png new file mode 100644 index 000000000..05e441ca9 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/firefox/radio-disabled-click.png differ diff --git a/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/firefox/radio-disabled.png b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/firefox/radio-disabled.png new file mode 100644 index 000000000..05e441ca9 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/firefox/radio-disabled.png differ diff --git a/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/webkit/radio-disabled-click.png b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/webkit/radio-disabled-click.png new file mode 100644 index 000000000..dc5c2a265 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/webkit/radio-disabled-click.png differ diff --git a/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/webkit/radio-disabled.png b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/webkit/radio-disabled.png new file mode 100644 index 000000000..dc5c2a265 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Disabled-Behaviour/darwin/webkit/radio-disabled.png differ diff --git a/.tooling/tests/screenshots/Radio---Error-Behaviour/darwin/Mobile-Chrome/radio-error.png b/.tooling/tests/screenshots/Radio---Error-Behaviour/darwin/Mobile-Chrome/radio-error.png new file mode 100644 index 000000000..068c72e6a Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Error-Behaviour/darwin/Mobile-Chrome/radio-error.png differ diff --git a/.tooling/tests/screenshots/Radio---Error-Behaviour/darwin/Mobile-Safari/radio-error.png b/.tooling/tests/screenshots/Radio---Error-Behaviour/darwin/Mobile-Safari/radio-error.png new file mode 100644 index 000000000..b24ec2a85 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Error-Behaviour/darwin/Mobile-Safari/radio-error.png differ diff --git a/.tooling/tests/screenshots/Radio---Error-Behaviour/darwin/chromium/radio-error.png b/.tooling/tests/screenshots/Radio---Error-Behaviour/darwin/chromium/radio-error.png new file mode 100644 index 000000000..469e746b5 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Error-Behaviour/darwin/chromium/radio-error.png differ diff --git a/.tooling/tests/screenshots/Radio---Error-Behaviour/darwin/firefox/radio-error.png b/.tooling/tests/screenshots/Radio---Error-Behaviour/darwin/firefox/radio-error.png new file mode 100644 index 000000000..890444624 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Error-Behaviour/darwin/firefox/radio-error.png differ diff --git a/.tooling/tests/screenshots/Radio---Error-Behaviour/darwin/webkit/radio-error.png b/.tooling/tests/screenshots/Radio---Error-Behaviour/darwin/webkit/radio-error.png new file mode 100644 index 000000000..28167c55c Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Error-Behaviour/darwin/webkit/radio-error.png differ diff --git a/.tooling/tests/screenshots/Radio---Hint-Behaviour/darwin/Mobile-Chrome/radio-hint.png b/.tooling/tests/screenshots/Radio---Hint-Behaviour/darwin/Mobile-Chrome/radio-hint.png new file mode 100644 index 000000000..322043373 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Hint-Behaviour/darwin/Mobile-Chrome/radio-hint.png differ diff --git a/.tooling/tests/screenshots/Radio---Hint-Behaviour/darwin/Mobile-Safari/radio-hint.png b/.tooling/tests/screenshots/Radio---Hint-Behaviour/darwin/Mobile-Safari/radio-hint.png new file mode 100644 index 000000000..e2f42480f Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Hint-Behaviour/darwin/Mobile-Safari/radio-hint.png differ diff --git a/.tooling/tests/screenshots/Radio---Hint-Behaviour/darwin/chromium/radio-hint.png b/.tooling/tests/screenshots/Radio---Hint-Behaviour/darwin/chromium/radio-hint.png new file mode 100644 index 000000000..1b8d03999 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Hint-Behaviour/darwin/chromium/radio-hint.png differ diff --git a/.tooling/tests/screenshots/Radio---Hint-Behaviour/darwin/firefox/radio-hint.png b/.tooling/tests/screenshots/Radio---Hint-Behaviour/darwin/firefox/radio-hint.png new file mode 100644 index 000000000..7babe5d94 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Hint-Behaviour/darwin/firefox/radio-hint.png differ diff --git a/.tooling/tests/screenshots/Radio---Hint-Behaviour/darwin/webkit/radio-hint.png b/.tooling/tests/screenshots/Radio---Hint-Behaviour/darwin/webkit/radio-hint.png new file mode 100644 index 000000000..db4c8bdc0 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Hint-Behaviour/darwin/webkit/radio-hint.png differ diff --git a/.tooling/tests/screenshots/Radio---Label-Behaviour/darwin/Mobile-Chrome/radio-label.png b/.tooling/tests/screenshots/Radio---Label-Behaviour/darwin/Mobile-Chrome/radio-label.png new file mode 100644 index 000000000..fd01a4b12 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Label-Behaviour/darwin/Mobile-Chrome/radio-label.png differ diff --git a/.tooling/tests/screenshots/Radio---Label-Behaviour/darwin/Mobile-Safari/radio-label.png b/.tooling/tests/screenshots/Radio---Label-Behaviour/darwin/Mobile-Safari/radio-label.png new file mode 100644 index 000000000..682ce9a3b Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Label-Behaviour/darwin/Mobile-Safari/radio-label.png differ diff --git a/.tooling/tests/screenshots/Radio---Label-Behaviour/darwin/chromium/radio-label.png b/.tooling/tests/screenshots/Radio---Label-Behaviour/darwin/chromium/radio-label.png new file mode 100644 index 000000000..1376ebdaa Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Label-Behaviour/darwin/chromium/radio-label.png differ diff --git a/.tooling/tests/screenshots/Radio---Label-Behaviour/darwin/firefox/radio-label.png b/.tooling/tests/screenshots/Radio---Label-Behaviour/darwin/firefox/radio-label.png new file mode 100644 index 000000000..a77add33c Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Label-Behaviour/darwin/firefox/radio-label.png differ diff --git a/.tooling/tests/screenshots/Radio---Label-Behaviour/darwin/webkit/radio-label.png b/.tooling/tests/screenshots/Radio---Label-Behaviour/darwin/webkit/radio-label.png new file mode 100644 index 000000000..682ce9a3b Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Label-Behaviour/darwin/webkit/radio-label.png differ diff --git a/.tooling/tests/screenshots/Radio---Slot-Behaviour/darwin/Mobile-Chrome/radio-slot.png b/.tooling/tests/screenshots/Radio---Slot-Behaviour/darwin/Mobile-Chrome/radio-slot.png new file mode 100644 index 000000000..aa501cdad Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Slot-Behaviour/darwin/Mobile-Chrome/radio-slot.png differ diff --git a/.tooling/tests/screenshots/Radio---Slot-Behaviour/darwin/Mobile-Safari/radio-slot.png b/.tooling/tests/screenshots/Radio---Slot-Behaviour/darwin/Mobile-Safari/radio-slot.png new file mode 100644 index 000000000..1e1a4141e Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Slot-Behaviour/darwin/Mobile-Safari/radio-slot.png differ diff --git a/.tooling/tests/screenshots/Radio---Slot-Behaviour/darwin/chromium/radio-slot.png b/.tooling/tests/screenshots/Radio---Slot-Behaviour/darwin/chromium/radio-slot.png new file mode 100644 index 000000000..7584363b9 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Slot-Behaviour/darwin/chromium/radio-slot.png differ diff --git a/.tooling/tests/screenshots/Radio---Slot-Behaviour/darwin/firefox/radio-slot.png b/.tooling/tests/screenshots/Radio---Slot-Behaviour/darwin/firefox/radio-slot.png new file mode 100644 index 000000000..6c46b25d0 Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Slot-Behaviour/darwin/firefox/radio-slot.png differ diff --git a/.tooling/tests/screenshots/Radio---Slot-Behaviour/darwin/webkit/radio-slot.png b/.tooling/tests/screenshots/Radio---Slot-Behaviour/darwin/webkit/radio-slot.png new file mode 100644 index 000000000..1e1a4141e Binary files /dev/null and b/.tooling/tests/screenshots/Radio---Slot-Behaviour/darwin/webkit/radio-slot.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/Mobile-Chrome/radio-group-initial.png b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/Mobile-Chrome/radio-group-initial.png new file mode 100644 index 000000000..371a58ada Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/Mobile-Chrome/radio-group-initial.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/Mobile-Chrome/radio-group-radio-checked.png b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/Mobile-Chrome/radio-group-radio-checked.png new file mode 100644 index 000000000..047792bd0 Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/Mobile-Chrome/radio-group-radio-checked.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/Mobile-Safari/radio-group-initial.png b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/Mobile-Safari/radio-group-initial.png new file mode 100644 index 000000000..4c83188ac Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/Mobile-Safari/radio-group-initial.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/Mobile-Safari/radio-group-radio-checked.png b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/Mobile-Safari/radio-group-radio-checked.png new file mode 100644 index 000000000..e9eb71b15 Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/Mobile-Safari/radio-group-radio-checked.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/chromium/radio-group-initial.png b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/chromium/radio-group-initial.png new file mode 100644 index 000000000..c1aca848b Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/chromium/radio-group-initial.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/chromium/radio-group-radio-checked.png b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/chromium/radio-group-radio-checked.png new file mode 100644 index 000000000..fb589a03d Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/chromium/radio-group-radio-checked.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/firefox/radio-group-initial.png b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/firefox/radio-group-initial.png new file mode 100644 index 000000000..fa4156d78 Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/firefox/radio-group-initial.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/firefox/radio-group-radio-checked.png b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/firefox/radio-group-radio-checked.png new file mode 100644 index 000000000..f6cf98493 Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/firefox/radio-group-radio-checked.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/webkit/radio-group-initial.png b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/webkit/radio-group-initial.png new file mode 100644 index 000000000..ebb71ffa2 Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/webkit/radio-group-initial.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/webkit/radio-group-radio-checked.png b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/webkit/radio-group-radio-checked.png new file mode 100644 index 000000000..1ae311872 Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Check-Unchecked-Behaviour/darwin/webkit/radio-group-radio-checked.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/Mobile-Chrome/radio-group-deselect.png b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/Mobile-Chrome/radio-group-deselect.png new file mode 100644 index 000000000..27fba6a96 Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/Mobile-Chrome/radio-group-deselect.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/Mobile-Chrome/radio-group-initial.png b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/Mobile-Chrome/radio-group-initial.png new file mode 100644 index 000000000..5ff18ad96 Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/Mobile-Chrome/radio-group-initial.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/Mobile-Safari/radio-group-deselect.png b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/Mobile-Safari/radio-group-deselect.png new file mode 100644 index 000000000..b048da4e0 Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/Mobile-Safari/radio-group-deselect.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/Mobile-Safari/radio-group-initial.png b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/Mobile-Safari/radio-group-initial.png new file mode 100644 index 000000000..8d6978d65 Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/Mobile-Safari/radio-group-initial.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/chromium/radio-group-deselect.png b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/chromium/radio-group-deselect.png new file mode 100644 index 000000000..4ceed7f9e Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/chromium/radio-group-deselect.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/chromium/radio-group-initial.png b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/chromium/radio-group-initial.png new file mode 100644 index 000000000..edb08a28c Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/chromium/radio-group-initial.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/firefox/radio-group-deselect.png b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/firefox/radio-group-deselect.png new file mode 100644 index 000000000..45c139c97 Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/firefox/radio-group-deselect.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/firefox/radio-group-initial.png b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/firefox/radio-group-initial.png new file mode 100644 index 000000000..6ced87e5b Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/firefox/radio-group-initial.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/webkit/radio-group-deselect.png b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/webkit/radio-group-deselect.png new file mode 100644 index 000000000..b048da4e0 Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/webkit/radio-group-deselect.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/webkit/radio-group-initial.png b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/webkit/radio-group-initial.png new file mode 100644 index 000000000..8d6978d65 Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Deselect-allowed-Behaviour/darwin/webkit/radio-group-initial.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Horizontal-Behaviour/darwin/Mobile-Chrome/radio-group-horizontal.png b/.tooling/tests/screenshots/Radio-Group---Horizontal-Behaviour/darwin/Mobile-Chrome/radio-group-horizontal.png new file mode 100644 index 000000000..726ee65eb Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Horizontal-Behaviour/darwin/Mobile-Chrome/radio-group-horizontal.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Horizontal-Behaviour/darwin/Mobile-Safari/radio-group-horizontal.png b/.tooling/tests/screenshots/Radio-Group---Horizontal-Behaviour/darwin/Mobile-Safari/radio-group-horizontal.png new file mode 100644 index 000000000..810e3515d Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Horizontal-Behaviour/darwin/Mobile-Safari/radio-group-horizontal.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Horizontal-Behaviour/darwin/chromium/radio-group-horizontal.png b/.tooling/tests/screenshots/Radio-Group---Horizontal-Behaviour/darwin/chromium/radio-group-horizontal.png new file mode 100644 index 000000000..7c40f2e32 Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Horizontal-Behaviour/darwin/chromium/radio-group-horizontal.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Horizontal-Behaviour/darwin/firefox/radio-group-horizontal.png b/.tooling/tests/screenshots/Radio-Group---Horizontal-Behaviour/darwin/firefox/radio-group-horizontal.png new file mode 100644 index 000000000..a931a25b8 Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Horizontal-Behaviour/darwin/firefox/radio-group-horizontal.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Horizontal-Behaviour/darwin/webkit/radio-group-horizontal.png b/.tooling/tests/screenshots/Radio-Group---Horizontal-Behaviour/darwin/webkit/radio-group-horizontal.png new file mode 100644 index 000000000..596021fd3 Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Horizontal-Behaviour/darwin/webkit/radio-group-horizontal.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Label-Behaviour/darwin/Mobile-Chrome/radio-group-label.png b/.tooling/tests/screenshots/Radio-Group---Label-Behaviour/darwin/Mobile-Chrome/radio-group-label.png new file mode 100644 index 000000000..15cb46e27 Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Label-Behaviour/darwin/Mobile-Chrome/radio-group-label.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Label-Behaviour/darwin/Mobile-Safari/radio-group-label.png b/.tooling/tests/screenshots/Radio-Group---Label-Behaviour/darwin/Mobile-Safari/radio-group-label.png new file mode 100644 index 000000000..8cabd87e0 Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Label-Behaviour/darwin/Mobile-Safari/radio-group-label.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Label-Behaviour/darwin/chromium/radio-group-label.png b/.tooling/tests/screenshots/Radio-Group---Label-Behaviour/darwin/chromium/radio-group-label.png new file mode 100644 index 000000000..5963fe24d Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Label-Behaviour/darwin/chromium/radio-group-label.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Label-Behaviour/darwin/firefox/radio-group-label.png b/.tooling/tests/screenshots/Radio-Group---Label-Behaviour/darwin/firefox/radio-group-label.png new file mode 100644 index 000000000..f4671fd16 Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Label-Behaviour/darwin/firefox/radio-group-label.png differ diff --git a/.tooling/tests/screenshots/Radio-Group---Label-Behaviour/darwin/webkit/radio-group-label.png b/.tooling/tests/screenshots/Radio-Group---Label-Behaviour/darwin/webkit/radio-group-label.png new file mode 100644 index 000000000..992bd39bb Binary files /dev/null and b/.tooling/tests/screenshots/Radio-Group---Label-Behaviour/darwin/webkit/radio-group-label.png differ diff --git a/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/Mobile-Safari/render-element-loading.png b/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/Mobile-Safari/render-element-loading.png index 7d8aa1b60..98c5e3bb1 100644 Binary files a/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/Mobile-Safari/render-element-loading.png and b/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/Mobile-Safari/render-element-loading.png differ diff --git a/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/chromium/render-element-loading.png b/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/chromium/render-element-loading.png index 4119be244..6bac97d4d 100644 Binary files a/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/chromium/render-element-loading.png and b/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/chromium/render-element-loading.png differ diff --git a/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/firefox/render-element-after.png b/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/firefox/render-element-after.png index 549db1a00..d22a2ebb4 100644 Binary files a/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/firefox/render-element-after.png and b/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/firefox/render-element-after.png differ diff --git a/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/firefox/render-element-before.png b/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/firefox/render-element-before.png index 5e3c76e93..f9af1b5fe 100644 Binary files a/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/firefox/render-element-before.png and b/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/firefox/render-element-before.png differ diff --git a/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/firefox/render-element-loading.png b/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/firefox/render-element-loading.png index 405e69205..760022aa4 100644 Binary files a/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/firefox/render-element-loading.png and b/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/firefox/render-element-loading.png differ diff --git a/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/webkit/render-element-loading.png b/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/webkit/render-element-loading.png index 9f888c4fc..a143ea089 100644 Binary files a/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/webkit/render-element-loading.png and b/.tooling/tests/screenshots/Render-Element---HTML-Element-Instance-Visual-and-Behaviour/darwin/webkit/render-element-loading.png differ diff --git a/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/Mobile-Safari/render-element-loading.png b/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/Mobile-Safari/render-element-loading.png index da35f8d02..2151816ea 100644 Binary files a/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/Mobile-Safari/render-element-loading.png and b/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/Mobile-Safari/render-element-loading.png differ diff --git a/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/chromium/render-element-loading.png b/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/chromium/render-element-loading.png index 1edd39c77..9a843ed8c 100644 Binary files a/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/chromium/render-element-loading.png and b/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/chromium/render-element-loading.png differ diff --git a/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/firefox/render-element-after.png b/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/firefox/render-element-after.png index 2b5fc1b69..01a4d952e 100644 Binary files a/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/firefox/render-element-after.png and b/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/firefox/render-element-after.png differ diff --git a/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/firefox/render-element-before.png b/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/firefox/render-element-before.png index 4a8b71962..50e736298 100644 Binary files a/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/firefox/render-element-before.png and b/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/firefox/render-element-before.png differ diff --git a/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/firefox/render-element-loading.png b/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/firefox/render-element-loading.png index b996c2ab4..442e18a33 100644 Binary files a/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/firefox/render-element-loading.png and b/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/firefox/render-element-loading.png differ diff --git a/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/webkit/render-element-loading.png b/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/webkit/render-element-loading.png index 58ef98ccd..6d90d0c6d 100644 Binary files a/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/webkit/render-element-loading.png and b/.tooling/tests/screenshots/Render-Element---HTML-String-Visual-and-Behaviour/darwin/webkit/render-element-loading.png differ diff --git a/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/Mobile-Chrome/render-element-loading.png b/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/Mobile-Chrome/render-element-loading.png index acace64c5..4a3b8a83b 100644 Binary files a/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/Mobile-Chrome/render-element-loading.png and b/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/Mobile-Chrome/render-element-loading.png differ diff --git a/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/Mobile-Safari/render-element-loading.png b/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/Mobile-Safari/render-element-loading.png index 00a1978db..8005a00ca 100644 Binary files a/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/Mobile-Safari/render-element-loading.png and b/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/Mobile-Safari/render-element-loading.png differ diff --git a/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/chromium/render-element-loading.png b/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/chromium/render-element-loading.png index 5466bc7cc..cf7f89d75 100644 Binary files a/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/chromium/render-element-loading.png and b/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/chromium/render-element-loading.png differ diff --git a/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/firefox/render-element-after.png b/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/firefox/render-element-after.png index 2b5fc1b69..01a4d952e 100644 Binary files a/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/firefox/render-element-after.png and b/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/firefox/render-element-after.png differ diff --git a/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/firefox/render-element-before.png b/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/firefox/render-element-before.png index 4a8b71962..50e736298 100644 Binary files a/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/firefox/render-element-before.png and b/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/firefox/render-element-before.png differ diff --git a/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/firefox/render-element-loading.png b/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/firefox/render-element-loading.png index 0833e8615..1c3bf06d8 100644 Binary files a/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/firefox/render-element-loading.png and b/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/firefox/render-element-loading.png differ diff --git a/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/webkit/render-element-loading.png b/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/webkit/render-element-loading.png index 58ef98ccd..2aeb8955c 100644 Binary files a/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/webkit/render-element-loading.png and b/.tooling/tests/screenshots/Render-Element---Lit-Template-Visual-and-Behaviour/darwin/webkit/render-element-loading.png differ diff --git a/.tooling/tests/screenshots/Search-Field---Interactive/darwin/firefox/search-field-value.png b/.tooling/tests/screenshots/Search-Field---Interactive/darwin/firefox/search-field-value.png deleted file mode 100644 index 537d3a9c6..000000000 Binary files a/.tooling/tests/screenshots/Search-Field---Interactive/darwin/firefox/search-field-value.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Search-Field---Interactive/darwin/firefox/search-field.png b/.tooling/tests/screenshots/Search-Field---Interactive/darwin/firefox/search-field.png deleted file mode 100644 index b904f2668..000000000 Binary files a/.tooling/tests/screenshots/Search-Field---Interactive/darwin/firefox/search-field.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Search-Field---Interactive/darwin/Mobile-Chrome/search-field-value.png b/.tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/search-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Search-Field---Interactive/darwin/Mobile-Chrome/search-field-value.png rename to .tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/search-field-value.png diff --git a/.tooling/tests/screenshots/Search-Field---Interactive/darwin/Mobile-Chrome/search-field.png b/.tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/search-field.png similarity index 100% rename from .tooling/tests/screenshots/Search-Field---Interactive/darwin/Mobile-Chrome/search-field.png rename to .tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/search-field.png diff --git a/.tooling/tests/screenshots/Search-Field---Interactive/darwin/Mobile-Safari/search-field-value.png b/.tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/Mobile-Safari/search-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Search-Field---Interactive/darwin/Mobile-Safari/search-field-value.png rename to .tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/Mobile-Safari/search-field-value.png diff --git a/.tooling/tests/screenshots/Search-Field---Interactive/darwin/Mobile-Safari/search-field.png b/.tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/Mobile-Safari/search-field.png similarity index 100% rename from .tooling/tests/screenshots/Search-Field---Interactive/darwin/Mobile-Safari/search-field.png rename to .tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/Mobile-Safari/search-field.png diff --git a/.tooling/tests/screenshots/Search-Field---Interactive/darwin/chromium/search-field-value.png b/.tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/chromium/search-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Search-Field---Interactive/darwin/chromium/search-field-value.png rename to .tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/chromium/search-field-value.png diff --git a/.tooling/tests/screenshots/Search-Field---Interactive/darwin/chromium/search-field.png b/.tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/chromium/search-field.png similarity index 100% rename from .tooling/tests/screenshots/Search-Field---Interactive/darwin/chromium/search-field.png rename to .tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/chromium/search-field.png diff --git a/.tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/firefox/search-field-value.png b/.tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/firefox/search-field-value.png new file mode 100644 index 000000000..dab48dd74 Binary files /dev/null and b/.tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/firefox/search-field-value.png differ diff --git a/.tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/firefox/search-field.png b/.tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/firefox/search-field.png new file mode 100644 index 000000000..b24036a85 Binary files /dev/null and b/.tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/firefox/search-field.png differ diff --git a/.tooling/tests/screenshots/Search-Field---Interactive/darwin/webkit/search-field-value.png b/.tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/webkit/search-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Search-Field---Interactive/darwin/webkit/search-field-value.png rename to .tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/webkit/search-field-value.png diff --git a/.tooling/tests/screenshots/Search-Field---Interactive/darwin/webkit/search-field.png b/.tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/webkit/search-field.png similarity index 100% rename from .tooling/tests/screenshots/Search-Field---Interactive/darwin/webkit/search-field.png rename to .tooling/tests/screenshots/Search-Field---Visual-and-Behaviour/darwin/webkit/search-field.png diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Chrome/select-after.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Chrome/select-after.png new file mode 100644 index 000000000..f0ed16c3a Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Chrome/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Chrome/select-dialog.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Chrome/select-dialog.png new file mode 100644 index 000000000..2d05be4f2 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Chrome/select-dialog.png differ diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Chrome/select-initial.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Chrome/select-initial.png new file mode 100644 index 000000000..ca4cf0782 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Chrome/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Chrome/select-open.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Chrome/select-open.png new file mode 100644 index 000000000..c523083fd Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Chrome/select-open.png differ diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Safari/select-after.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Safari/select-after.png new file mode 100644 index 000000000..8c43af065 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Safari/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Safari/select-dialog.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Safari/select-dialog.png new file mode 100644 index 000000000..70314fd34 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Safari/select-dialog.png differ diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Safari/select-initial.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Safari/select-initial.png new file mode 100644 index 000000000..47a9d6dc1 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Safari/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Safari/select-open.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Safari/select-open.png new file mode 100644 index 000000000..1269b1d9c Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/Mobile-Safari/select-open.png differ diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/chromium/select-after.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/chromium/select-after.png new file mode 100644 index 000000000..96401701f Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/chromium/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/chromium/select-initial.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/chromium/select-initial.png new file mode 100644 index 000000000..4dccfadd2 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/chromium/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/chromium/select-items-container.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/chromium/select-items-container.png new file mode 100644 index 000000000..033ccebb5 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/chromium/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/chromium/select-open.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/chromium/select-open.png new file mode 100644 index 000000000..bcbe513dd Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/chromium/select-open.png differ diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/firefox/select-after.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/firefox/select-after.png new file mode 100644 index 000000000..36e4c30db Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/firefox/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/firefox/select-initial.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/firefox/select-initial.png new file mode 100644 index 000000000..aca444c75 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/firefox/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/firefox/select-items-container.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/firefox/select-items-container.png new file mode 100644 index 000000000..b46606098 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/firefox/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/firefox/select-open.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/firefox/select-open.png new file mode 100644 index 000000000..c083089e7 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/firefox/select-open.png differ diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/webkit/select-after.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/webkit/select-after.png new file mode 100644 index 000000000..466c88f00 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/webkit/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/webkit/select-initial.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/webkit/select-initial.png new file mode 100644 index 000000000..a278603b6 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/webkit/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/webkit/select-items-container.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/webkit/select-items-container.png new file mode 100644 index 000000000..a4d9755a7 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/webkit/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/webkit/select-open.png b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/webkit/select-open.png new file mode 100644 index 000000000..49e4cd2b3 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Async-Per-Item-Behaviour/darwin/webkit/select-open.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/Mobile-Chrome/custom-control.png b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/Mobile-Chrome/custom-control.png new file mode 100644 index 000000000..fdd3c4bbb Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/Mobile-Chrome/custom-control.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/Mobile-Chrome/more-slot-svg.png b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/Mobile-Chrome/more-slot-svg.png new file mode 100644 index 000000000..aef9c6e7d Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/Mobile-Chrome/more-slot-svg.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/Mobile-Safari/custom-control.png b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/Mobile-Safari/custom-control.png new file mode 100644 index 000000000..4cdffcf1f Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/Mobile-Safari/custom-control.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/Mobile-Safari/more-slot-svg.png b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/Mobile-Safari/more-slot-svg.png new file mode 100644 index 000000000..00efa05af Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/Mobile-Safari/more-slot-svg.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/chromium/arrow-slot-svg.png b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/chromium/arrow-slot-svg.png new file mode 100644 index 000000000..f11dc334f Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/chromium/arrow-slot-svg.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/chromium/custom-control.png b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/chromium/custom-control.png new file mode 100644 index 000000000..e8aa37e3a Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/chromium/custom-control.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/firefox/arrow-slot-svg.png b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/firefox/arrow-slot-svg.png new file mode 100644 index 000000000..a0838151f Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/firefox/arrow-slot-svg.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/firefox/custom-control.png b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/firefox/custom-control.png new file mode 100644 index 000000000..4b2d64d55 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/firefox/custom-control.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/webkit/arrow-slot-svg.png b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/webkit/arrow-slot-svg.png new file mode 100644 index 000000000..4be8f2062 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/webkit/arrow-slot-svg.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/webkit/custom-control.png b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/webkit/custom-control.png new file mode 100644 index 000000000..213d568ba Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Control-Slot-Visual/darwin/webkit/custom-control.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Chrome/search-field.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Chrome/search-field.png new file mode 100644 index 000000000..999ba546b Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Chrome/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Chrome/select-after.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Chrome/select-after.png new file mode 100644 index 000000000..eebee80af Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Chrome/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Chrome/select-dialog.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Chrome/select-dialog.png new file mode 100644 index 000000000..a65ac6d7c Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Chrome/select-dialog.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Chrome/select-initial.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Chrome/select-initial.png new file mode 100644 index 000000000..4d86edd2f Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Chrome/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Safari/search-field.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Safari/search-field.png new file mode 100644 index 000000000..368f3b44c Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Safari/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Safari/select-after.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Safari/select-after.png new file mode 100644 index 000000000..58afb729e Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Safari/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Safari/select-dialog.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Safari/select-dialog.png new file mode 100644 index 000000000..77b5e913e Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Safari/select-dialog.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Safari/select-initial.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Safari/select-initial.png new file mode 100644 index 000000000..a95ddca46 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/Mobile-Safari/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/chromium/search-field.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/chromium/search-field.png new file mode 100644 index 000000000..0366487f3 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/chromium/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/chromium/select-after.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/chromium/select-after.png new file mode 100644 index 000000000..1f5af96ff Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/chromium/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/chromium/select-initial.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/chromium/select-initial.png new file mode 100644 index 000000000..8b4f299b0 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/chromium/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/chromium/select-items-container.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/chromium/select-items-container.png new file mode 100644 index 000000000..19771c554 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/chromium/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/firefox/search-field.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/firefox/search-field.png new file mode 100644 index 000000000..a91c5c9e9 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/firefox/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/firefox/select-after.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/firefox/select-after.png new file mode 100644 index 000000000..6ab7579c8 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/firefox/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/firefox/select-initial.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/firefox/select-initial.png new file mode 100644 index 000000000..84c81c776 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/firefox/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/firefox/select-items-container.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/firefox/select-items-container.png new file mode 100644 index 000000000..a86c7b661 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/firefox/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/webkit/search-field.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/webkit/search-field.png new file mode 100644 index 000000000..f3ad8f1f0 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/webkit/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/webkit/select-after.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/webkit/select-after.png new file mode 100644 index 000000000..37f6ac20f Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/webkit/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/webkit/select-initial.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/webkit/select-initial.png new file mode 100644 index 000000000..9bc4a2e94 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/webkit/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/webkit/select-items-container.png b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/webkit/select-items-container.png new file mode 100644 index 000000000..cae9a9c0c Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Behaviour/darwin/webkit/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Chrome/search-field.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Chrome/search-field.png new file mode 100644 index 000000000..999ba546b Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Chrome/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Chrome/select-dialog-after.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Chrome/select-dialog-after.png new file mode 100644 index 000000000..91366b9f2 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Chrome/select-dialog-after.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Chrome/select-dialog.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Chrome/select-dialog.png new file mode 100644 index 000000000..f51acf31b Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Chrome/select-dialog.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Chrome/select-initial.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Chrome/select-initial.png new file mode 100644 index 000000000..e53a4911f Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Chrome/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Safari/search-field.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Safari/search-field.png new file mode 100644 index 000000000..368f3b44c Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Safari/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Safari/select-dialog-after.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Safari/select-dialog-after.png new file mode 100644 index 000000000..ec4337fef Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Safari/select-dialog-after.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Safari/select-dialog.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Safari/select-dialog.png new file mode 100644 index 000000000..655295b79 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Safari/select-dialog.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Safari/select-initial.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Safari/select-initial.png new file mode 100644 index 000000000..b4a35681a Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/Mobile-Safari/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/chromium/search-field.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/chromium/search-field.png new file mode 100644 index 000000000..0366487f3 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/chromium/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/chromium/select-initial.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/chromium/select-initial.png new file mode 100644 index 000000000..96cf44b34 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/chromium/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/chromium/select-items-container-after.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/chromium/select-items-container-after.png new file mode 100644 index 000000000..b952ed629 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/chromium/select-items-container-after.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/chromium/select-items-container.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/chromium/select-items-container.png new file mode 100644 index 000000000..d7dc6ca67 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/chromium/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/firefox/search-field.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/firefox/search-field.png new file mode 100644 index 000000000..abeacf3f9 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/firefox/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/firefox/select-initial.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/firefox/select-initial.png new file mode 100644 index 000000000..3346201ec Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/firefox/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/firefox/select-items-container-after.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/firefox/select-items-container-after.png new file mode 100644 index 000000000..dfca10fa2 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/firefox/select-items-container-after.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/firefox/select-items-container.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/firefox/select-items-container.png new file mode 100644 index 000000000..65f20b98b Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/firefox/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/webkit/search-field.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/webkit/search-field.png new file mode 100644 index 000000000..f3ad8f1f0 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/webkit/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/webkit/select-initial.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/webkit/select-initial.png new file mode 100644 index 000000000..be34d3db1 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/webkit/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/webkit/select-items-container-after.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/webkit/select-items-container-after.png new file mode 100644 index 000000000..9a50f87ac Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/webkit/select-items-container-after.png differ diff --git a/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/webkit/select-items-container.png b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/webkit/select-items-container.png new file mode 100644 index 000000000..7500b3def Binary files /dev/null and b/.tooling/tests/screenshots/Select---Custom-Search-Slot-Behaviour/darwin/webkit/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Disabled-Behaviour/darwin/Mobile-Chrome/select-initial.png b/.tooling/tests/screenshots/Select---Disabled-Behaviour/darwin/Mobile-Chrome/select-initial.png new file mode 100644 index 000000000..9643ce922 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Disabled-Behaviour/darwin/Mobile-Chrome/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Disabled-Behaviour/darwin/Mobile-Safari/select-initial.png b/.tooling/tests/screenshots/Select---Disabled-Behaviour/darwin/Mobile-Safari/select-initial.png new file mode 100644 index 000000000..f1fbdc812 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Disabled-Behaviour/darwin/Mobile-Safari/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Disabled-Behaviour/darwin/chromium/select-initial.png b/.tooling/tests/screenshots/Select---Disabled-Behaviour/darwin/chromium/select-initial.png new file mode 100644 index 000000000..dead6db44 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Disabled-Behaviour/darwin/chromium/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Disabled-Behaviour/darwin/firefox/select-initial.png b/.tooling/tests/screenshots/Select---Disabled-Behaviour/darwin/firefox/select-initial.png new file mode 100644 index 000000000..5753d034d Binary files /dev/null and b/.tooling/tests/screenshots/Select---Disabled-Behaviour/darwin/firefox/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Disabled-Behaviour/darwin/webkit/select-initial.png b/.tooling/tests/screenshots/Select---Disabled-Behaviour/darwin/webkit/select-initial.png new file mode 100644 index 000000000..8dc3fadd2 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Disabled-Behaviour/darwin/webkit/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/Mobile-Chrome/select-dialog.png b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/Mobile-Chrome/select-dialog.png new file mode 100644 index 000000000..d632c252c Binary files /dev/null and b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/Mobile-Chrome/select-dialog.png differ diff --git a/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/Mobile-Chrome/select-initial.png b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/Mobile-Chrome/select-initial.png new file mode 100644 index 000000000..f2be3b891 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/Mobile-Chrome/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/Mobile-Safari/select-dialog.png b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/Mobile-Safari/select-dialog.png new file mode 100644 index 000000000..0dd5f3b8e Binary files /dev/null and b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/Mobile-Safari/select-dialog.png differ diff --git a/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/Mobile-Safari/select-initial.png b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/Mobile-Safari/select-initial.png new file mode 100644 index 000000000..26a914578 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/Mobile-Safari/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/chromium/select-initial.png b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/chromium/select-initial.png new file mode 100644 index 000000000..48a0d3058 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/chromium/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/chromium/select-items-container.png b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/chromium/select-items-container.png new file mode 100644 index 000000000..b5acb839c Binary files /dev/null and b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/chromium/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/firefox/select-initial.png b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/firefox/select-initial.png new file mode 100644 index 000000000..6df30b049 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/firefox/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/firefox/select-items-container.png b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/firefox/select-items-container.png new file mode 100644 index 000000000..b6ef99b3e Binary files /dev/null and b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/firefox/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/webkit/select-initial.png b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/webkit/select-initial.png new file mode 100644 index 000000000..344ef6357 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/webkit/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/webkit/select-items-container.png b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/webkit/select-items-container.png new file mode 100644 index 000000000..890b87882 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Empty-Message-Behaviour/darwin/webkit/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Chrome/search-field.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Chrome/search-field.png new file mode 100644 index 000000000..999ba546b Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Chrome/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Chrome/select-after.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Chrome/select-after.png new file mode 100644 index 000000000..52ec429dc Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Chrome/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Chrome/select-dialog.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Chrome/select-dialog.png new file mode 100644 index 000000000..7017aa701 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Chrome/select-dialog.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Chrome/select-initial.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Chrome/select-initial.png new file mode 100644 index 000000000..0a9fd3fcb Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Chrome/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Safari/search-field.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Safari/search-field.png new file mode 100644 index 000000000..368f3b44c Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Safari/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Safari/select-after.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Safari/select-after.png new file mode 100644 index 000000000..35eb278c7 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Safari/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Safari/select-dialog.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Safari/select-dialog.png new file mode 100644 index 000000000..dbbe5f4af Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Safari/select-dialog.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Safari/select-initial.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Safari/select-initial.png new file mode 100644 index 000000000..85ecac861 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/Mobile-Safari/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/chromium/search-field.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/chromium/search-field.png new file mode 100644 index 000000000..e32bfe59e Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/chromium/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/chromium/select-after.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/chromium/select-after.png new file mode 100644 index 000000000..735d3d68a Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/chromium/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/chromium/select-initial.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/chromium/select-initial.png new file mode 100644 index 000000000..548ad74e3 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/chromium/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/chromium/select-items-container.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/chromium/select-items-container.png new file mode 100644 index 000000000..60bb49390 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/chromium/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/firefox/search-field.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/firefox/search-field.png new file mode 100644 index 000000000..abeacf3f9 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/firefox/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/firefox/select-after.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/firefox/select-after.png new file mode 100644 index 000000000..d5932b461 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/firefox/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/firefox/select-initial.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/firefox/select-initial.png new file mode 100644 index 000000000..964304346 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/firefox/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/firefox/select-items-container.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/firefox/select-items-container.png new file mode 100644 index 000000000..f52831ce0 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/firefox/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/webkit/search-field.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/webkit/search-field.png new file mode 100644 index 000000000..f3ad8f1f0 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/webkit/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/webkit/select-after.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/webkit/select-after.png new file mode 100644 index 000000000..eec7a45c5 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/webkit/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/webkit/select-initial.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/webkit/select-initial.png new file mode 100644 index 000000000..37bec71c9 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/webkit/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/webkit/select-items-container.png b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/webkit/select-items-container.png new file mode 100644 index 000000000..e72cfbfb5 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Searchable-Behaviour/darwin/webkit/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Chrome/select-after.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Chrome/select-after.png new file mode 100644 index 000000000..1bf4748f0 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Chrome/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Chrome/select-dialog.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Chrome/select-dialog.png new file mode 100644 index 000000000..3ad4af9f1 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Chrome/select-dialog.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Chrome/select-initial.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Chrome/select-initial.png new file mode 100644 index 000000000..8b5d062e8 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Chrome/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Chrome/select-open.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Chrome/select-open.png new file mode 100644 index 000000000..0e861cceb Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Chrome/select-open.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Chrome/select-renderer-before.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Chrome/select-renderer-before.png new file mode 100644 index 000000000..8b5d062e8 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Chrome/select-renderer-before.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Safari/select-after.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Safari/select-after.png new file mode 100644 index 000000000..b6fd0bcf5 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Safari/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Safari/select-dialog.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Safari/select-dialog.png new file mode 100644 index 000000000..d74dde076 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Safari/select-dialog.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Safari/select-initial.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Safari/select-initial.png new file mode 100644 index 000000000..e5c9d59c8 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Safari/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Safari/select-open.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Safari/select-open.png new file mode 100644 index 000000000..b10aed69f Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Safari/select-open.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Safari/select-renderer-before.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Safari/select-renderer-before.png new file mode 100644 index 000000000..e5c9d59c8 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/Mobile-Safari/select-renderer-before.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/chromium/select-after.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/chromium/select-after.png new file mode 100644 index 000000000..f668fe47d Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/chromium/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/chromium/select-initial.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/chromium/select-initial.png new file mode 100644 index 000000000..cc48eba10 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/chromium/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/chromium/select-items-container.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/chromium/select-items-container.png new file mode 100644 index 000000000..bccca3bf6 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/chromium/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/chromium/select-open.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/chromium/select-open.png new file mode 100644 index 000000000..35eec1e35 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/chromium/select-open.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/chromium/select-renderer-before.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/chromium/select-renderer-before.png new file mode 100644 index 000000000..cc48eba10 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/chromium/select-renderer-before.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/firefox/select-after.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/firefox/select-after.png new file mode 100644 index 000000000..8466ff534 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/firefox/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/firefox/select-initial.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/firefox/select-initial.png new file mode 100644 index 000000000..a07466df9 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/firefox/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/firefox/select-items-container.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/firefox/select-items-container.png new file mode 100644 index 000000000..70022a9bb Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/firefox/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/firefox/select-open.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/firefox/select-open.png new file mode 100644 index 000000000..0d4a4f2fa Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/firefox/select-open.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/firefox/select-renderer-before.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/firefox/select-renderer-before.png new file mode 100644 index 000000000..a07466df9 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/firefox/select-renderer-before.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/webkit/select-after.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/webkit/select-after.png new file mode 100644 index 000000000..c3ef30692 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/webkit/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/webkit/select-initial.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/webkit/select-initial.png new file mode 100644 index 000000000..747878372 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/webkit/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/webkit/select-items-container.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/webkit/select-items-container.png new file mode 100644 index 000000000..0414adf91 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/webkit/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/webkit/select-open.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/webkit/select-open.png new file mode 100644 index 000000000..917d3c15f Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/webkit/select-open.png differ diff --git a/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/webkit/select-renderer-before.png b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/webkit/select-renderer-before.png new file mode 100644 index 000000000..747878372 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Selection-Render-Behaviour/darwin/webkit/select-renderer-before.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Chrome/search-field.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Chrome/search-field.png new file mode 100644 index 000000000..999ba546b Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Chrome/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Chrome/select-after.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Chrome/select-after.png new file mode 100644 index 000000000..684550111 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Chrome/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Chrome/select-dialog.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Chrome/select-dialog.png new file mode 100644 index 000000000..1c29c339e Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Chrome/select-dialog.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Chrome/select-initial.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Chrome/select-initial.png new file mode 100644 index 000000000..af13611c4 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Chrome/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Safari/search-field.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Safari/search-field.png new file mode 100644 index 000000000..368f3b44c Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Safari/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Safari/select-after.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Safari/select-after.png new file mode 100644 index 000000000..c31323ac2 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Safari/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Safari/select-dialog.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Safari/select-dialog.png new file mode 100644 index 000000000..cf1a6c154 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Safari/select-dialog.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Safari/select-initial.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Safari/select-initial.png new file mode 100644 index 000000000..52659b420 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/Mobile-Safari/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/chromium/search-field.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/chromium/search-field.png new file mode 100644 index 000000000..e32bfe59e Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/chromium/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/chromium/select-after.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/chromium/select-after.png new file mode 100644 index 000000000..e6d1447a5 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/chromium/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/chromium/select-initial.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/chromium/select-initial.png new file mode 100644 index 000000000..1314f1133 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/chromium/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/chromium/select-items-container.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/chromium/select-items-container.png new file mode 100644 index 000000000..5a1e16a07 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/chromium/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/firefox/search-field.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/firefox/search-field.png new file mode 100644 index 000000000..abeacf3f9 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/firefox/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/firefox/select-after.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/firefox/select-after.png new file mode 100644 index 000000000..d46d1a1d1 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/firefox/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/firefox/select-initial.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/firefox/select-initial.png new file mode 100644 index 000000000..e33634cbb Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/firefox/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/firefox/select-items-container.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/firefox/select-items-container.png new file mode 100644 index 000000000..65f20b98b Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/firefox/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/webkit/search-field.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/webkit/search-field.png new file mode 100644 index 000000000..f3ad8f1f0 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/webkit/search-field.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/webkit/select-after.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/webkit/select-after.png new file mode 100644 index 000000000..aa22d2b32 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/webkit/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/webkit/select-initial.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/webkit/select-initial.png new file mode 100644 index 000000000..7475ba1cb Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/webkit/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/webkit/select-items-container.png b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/webkit/select-items-container.png new file mode 100644 index 000000000..2814f0e28 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Server-Side-Filtering-Behaviour/darwin/webkit/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Chrome/select-after.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Chrome/select-after.png new file mode 100644 index 000000000..1275e38a7 Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Chrome/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Chrome/select-dialog.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Chrome/select-dialog.png new file mode 100644 index 000000000..c23f9efa1 Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Chrome/select-dialog.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Chrome/select-initial.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Chrome/select-initial.png new file mode 100644 index 000000000..1cf8e73ea Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Chrome/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Chrome/select-open.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Chrome/select-open.png new file mode 100644 index 000000000..3e35dfe57 Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Chrome/select-open.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Safari/select-after.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Safari/select-after.png new file mode 100644 index 000000000..67c597a08 Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Safari/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Safari/select-dialog.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Safari/select-dialog.png new file mode 100644 index 000000000..da9d88594 Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Safari/select-dialog.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Safari/select-initial.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Safari/select-initial.png new file mode 100644 index 000000000..10e22051a Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Safari/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Safari/select-open.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Safari/select-open.png new file mode 100644 index 000000000..6347024ae Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/Mobile-Safari/select-open.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/chromium/select-after.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/chromium/select-after.png new file mode 100644 index 000000000..f6ba81f38 Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/chromium/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/chromium/select-initial.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/chromium/select-initial.png new file mode 100644 index 000000000..6c2dd35ae Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/chromium/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/chromium/select-items-container.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/chromium/select-items-container.png new file mode 100644 index 000000000..2e2e5abe7 Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/chromium/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/chromium/select-open.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/chromium/select-open.png new file mode 100644 index 000000000..0e6fd4c96 Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/chromium/select-open.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/firefox/select-after.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/firefox/select-after.png new file mode 100644 index 000000000..6b7dca653 Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/firefox/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/firefox/select-initial.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/firefox/select-initial.png new file mode 100644 index 000000000..e9ad8fc8f Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/firefox/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/firefox/select-items-container.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/firefox/select-items-container.png new file mode 100644 index 000000000..fe537124b Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/firefox/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/firefox/select-open.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/firefox/select-open.png new file mode 100644 index 000000000..30c11aa3f Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/firefox/select-open.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/webkit/select-after.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/webkit/select-after.png new file mode 100644 index 000000000..4be5f4548 Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/webkit/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/webkit/select-initial.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/webkit/select-initial.png new file mode 100644 index 000000000..8a0b540f9 Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/webkit/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/webkit/select-items-container.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/webkit/select-items-container.png new file mode 100644 index 000000000..430803d68 Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/webkit/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/webkit/select-open.png b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/webkit/select-open.png new file mode 100644 index 000000000..04d4e3c8c Binary files /dev/null and b/.tooling/tests/screenshots/Select---String-Array-Behaviour/darwin/webkit/select-open.png differ diff --git a/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/Mobile-Chrome/select-after.png b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/Mobile-Chrome/select-after.png new file mode 100644 index 000000000..5932c278e Binary files /dev/null and b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/Mobile-Chrome/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/Mobile-Chrome/select-dialog.png b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/Mobile-Chrome/select-dialog.png new file mode 100644 index 000000000..8a84c9734 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/Mobile-Chrome/select-dialog.png differ diff --git a/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/Mobile-Chrome/select-initial.png b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/Mobile-Chrome/select-initial.png new file mode 100644 index 000000000..c4f9ca56a Binary files /dev/null and b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/Mobile-Chrome/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/Mobile-Safari/select-after.png b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/Mobile-Safari/select-after.png new file mode 100644 index 000000000..446359644 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/Mobile-Safari/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/Mobile-Safari/select-dialog.png b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/Mobile-Safari/select-dialog.png new file mode 100644 index 000000000..ee036e649 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/Mobile-Safari/select-dialog.png differ diff --git a/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/Mobile-Safari/select-initial.png b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/Mobile-Safari/select-initial.png new file mode 100644 index 000000000..4b7b9fdfa Binary files /dev/null and b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/Mobile-Safari/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/chromium/select-after.png b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/chromium/select-after.png new file mode 100644 index 000000000..d995b6163 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/chromium/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/chromium/select-initial.png b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/chromium/select-initial.png new file mode 100644 index 000000000..1b4b3a2b6 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/chromium/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/chromium/select-items-container.png b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/chromium/select-items-container.png new file mode 100644 index 000000000..e8246d09d Binary files /dev/null and b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/chromium/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/firefox/select-after.png b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/firefox/select-after.png new file mode 100644 index 000000000..5b36dcc32 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/firefox/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/firefox/select-initial.png b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/firefox/select-initial.png new file mode 100644 index 000000000..008047898 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/firefox/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/firefox/select-items-container.png b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/firefox/select-items-container.png new file mode 100644 index 000000000..bed5781c3 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/firefox/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/webkit/select-after.png b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/webkit/select-after.png new file mode 100644 index 000000000..f3966571c Binary files /dev/null and b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/webkit/select-after.png differ diff --git a/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/webkit/select-initial.png b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/webkit/select-initial.png new file mode 100644 index 000000000..70ff61522 Binary files /dev/null and b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/webkit/select-initial.png differ diff --git a/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/webkit/select-items-container.png b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/webkit/select-items-container.png new file mode 100644 index 000000000..d77fc1e3e Binary files /dev/null and b/.tooling/tests/screenshots/Select---Visual-and-Behaviour/darwin/webkit/select-items-container.png differ diff --git a/.tooling/tests/screenshots/Switch---Checked-Unchecked-Behaviour/darwin/firefox/switch-checked.png b/.tooling/tests/screenshots/Switch---Checked-Unchecked-Behaviour/darwin/firefox/switch-checked.png index df854311f..c2093e076 100644 Binary files a/.tooling/tests/screenshots/Switch---Checked-Unchecked-Behaviour/darwin/firefox/switch-checked.png and b/.tooling/tests/screenshots/Switch---Checked-Unchecked-Behaviour/darwin/firefox/switch-checked.png differ diff --git a/.tooling/tests/screenshots/Switch---Checked-Unchecked-Behaviour/darwin/firefox/switch-unchecked.png b/.tooling/tests/screenshots/Switch---Checked-Unchecked-Behaviour/darwin/firefox/switch-unchecked.png index d48ffcf30..0696c2fa4 100644 Binary files a/.tooling/tests/screenshots/Switch---Checked-Unchecked-Behaviour/darwin/firefox/switch-unchecked.png and b/.tooling/tests/screenshots/Switch---Checked-Unchecked-Behaviour/darwin/firefox/switch-unchecked.png differ diff --git a/.tooling/tests/screenshots/Switch---Disabled-Behaviour/darwin/firefox/switch-disabled-click.png b/.tooling/tests/screenshots/Switch---Disabled-Behaviour/darwin/firefox/switch-disabled-click.png index 64e0b1f46..7187e5b64 100644 Binary files a/.tooling/tests/screenshots/Switch---Disabled-Behaviour/darwin/firefox/switch-disabled-click.png and b/.tooling/tests/screenshots/Switch---Disabled-Behaviour/darwin/firefox/switch-disabled-click.png differ diff --git a/.tooling/tests/screenshots/Switch---Disabled-Behaviour/darwin/firefox/switch-disabled.png b/.tooling/tests/screenshots/Switch---Disabled-Behaviour/darwin/firefox/switch-disabled.png index 64e0b1f46..7187e5b64 100644 Binary files a/.tooling/tests/screenshots/Switch---Disabled-Behaviour/darwin/firefox/switch-disabled.png and b/.tooling/tests/screenshots/Switch---Disabled-Behaviour/darwin/firefox/switch-disabled.png differ diff --git a/.tooling/tests/screenshots/Switch---Error-Behaviour/darwin/firefox/switch-error.png b/.tooling/tests/screenshots/Switch---Error-Behaviour/darwin/firefox/switch-error.png index 082c33c3f..2d86c765d 100644 Binary files a/.tooling/tests/screenshots/Switch---Error-Behaviour/darwin/firefox/switch-error.png and b/.tooling/tests/screenshots/Switch---Error-Behaviour/darwin/firefox/switch-error.png differ diff --git a/.tooling/tests/screenshots/Switch---Hint-Behaviour/darwin/firefox/switch-hint.png b/.tooling/tests/screenshots/Switch---Hint-Behaviour/darwin/firefox/switch-hint.png index 3a073debf..bcedbb1f2 100644 Binary files a/.tooling/tests/screenshots/Switch---Hint-Behaviour/darwin/firefox/switch-hint.png and b/.tooling/tests/screenshots/Switch---Hint-Behaviour/darwin/firefox/switch-hint.png differ diff --git a/.tooling/tests/screenshots/Switch---Label-Behaviour/darwin/Mobile-Chrome/switch-label.png b/.tooling/tests/screenshots/Switch---Label-Behaviour/darwin/Mobile-Chrome/switch-label.png index 408b0d337..1fc3c83fd 100644 Binary files a/.tooling/tests/screenshots/Switch---Label-Behaviour/darwin/Mobile-Chrome/switch-label.png and b/.tooling/tests/screenshots/Switch---Label-Behaviour/darwin/Mobile-Chrome/switch-label.png differ diff --git a/.tooling/tests/screenshots/Switch---Label-Behaviour/darwin/firefox/switch-label.png b/.tooling/tests/screenshots/Switch---Label-Behaviour/darwin/firefox/switch-label.png index a9dd82036..0ab047568 100644 Binary files a/.tooling/tests/screenshots/Switch---Label-Behaviour/darwin/firefox/switch-label.png and b/.tooling/tests/screenshots/Switch---Label-Behaviour/darwin/firefox/switch-label.png differ diff --git a/.tooling/tests/screenshots/Switch---Slot-Behaviour/darwin/firefox/switch-slot.png b/.tooling/tests/screenshots/Switch---Slot-Behaviour/darwin/firefox/switch-slot.png index 5a2aba091..2f3fc3380 100644 Binary files a/.tooling/tests/screenshots/Switch---Slot-Behaviour/darwin/firefox/switch-slot.png and b/.tooling/tests/screenshots/Switch---Slot-Behaviour/darwin/firefox/switch-slot.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Chrome/tab-bar.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Chrome/tab-bar.png new file mode 100644 index 000000000..8a6685065 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Chrome/tab-bar.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Chrome/tab-group-active.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Chrome/tab-group-active.png new file mode 100644 index 000000000..0fd53b326 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Chrome/tab-group-active.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Chrome/tab-group-initial.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Chrome/tab-group-initial.png new file mode 100644 index 000000000..0fd53b326 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Chrome/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Chrome/tab-group-tab-selected.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Chrome/tab-group-tab-selected.png new file mode 100644 index 000000000..c241dc0d4 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Chrome/tab-group-tab-selected.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Safari/tab-bar.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Safari/tab-bar.png new file mode 100644 index 000000000..971c50238 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Safari/tab-bar.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Safari/tab-group-active.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Safari/tab-group-active.png new file mode 100644 index 000000000..14b9d3873 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Safari/tab-group-active.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Safari/tab-group-initial.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Safari/tab-group-initial.png new file mode 100644 index 000000000..14b9d3873 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Safari/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Safari/tab-group-tab-selected.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Safari/tab-group-tab-selected.png new file mode 100644 index 000000000..54ebbb9ad Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/Mobile-Safari/tab-group-tab-selected.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/chromium/tab-bar.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/chromium/tab-bar.png new file mode 100644 index 000000000..2ba8facb2 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/chromium/tab-bar.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/chromium/tab-group-active.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/chromium/tab-group-active.png new file mode 100644 index 000000000..34caa3a7d Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/chromium/tab-group-active.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/chromium/tab-group-initial.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/chromium/tab-group-initial.png new file mode 100644 index 000000000..34caa3a7d Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/chromium/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/chromium/tab-group-tab-selected.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/chromium/tab-group-tab-selected.png new file mode 100644 index 000000000..e20a7738e Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/chromium/tab-group-tab-selected.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/firefox/tab-bar.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/firefox/tab-bar.png new file mode 100644 index 000000000..01492594e Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/firefox/tab-bar.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/firefox/tab-group-active.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/firefox/tab-group-active.png new file mode 100644 index 000000000..48068f6cd Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/firefox/tab-group-active.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/firefox/tab-group-initial.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/firefox/tab-group-initial.png new file mode 100644 index 000000000..48068f6cd Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/firefox/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/firefox/tab-group-tab-selected.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/firefox/tab-group-tab-selected.png new file mode 100644 index 000000000..68a131b0d Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/firefox/tab-group-tab-selected.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/webkit/tab-bar.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/webkit/tab-bar.png new file mode 100644 index 000000000..8dd8b6828 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/webkit/tab-bar.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/webkit/tab-group-active.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/webkit/tab-group-active.png new file mode 100644 index 000000000..f18fb8357 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/webkit/tab-group-active.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/webkit/tab-group-initial.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/webkit/tab-group-initial.png new file mode 100644 index 000000000..f18fb8357 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/webkit/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/webkit/tab-group-tab-selected.png b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/webkit/tab-group-tab-selected.png new file mode 100644 index 000000000..afe5e1d79 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Active-Behaviour/darwin/webkit/tab-group-tab-selected.png differ diff --git a/.tooling/tests/screenshots/Tab---Basic-Behaviour/darwin/Mobile-Chrome/tab-group-initial.png b/.tooling/tests/screenshots/Tab---Basic-Behaviour/darwin/Mobile-Chrome/tab-group-initial.png new file mode 100644 index 000000000..6b4a8fb4a Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Basic-Behaviour/darwin/Mobile-Chrome/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab---Basic-Behaviour/darwin/Mobile-Safari/tab-group-initial.png b/.tooling/tests/screenshots/Tab---Basic-Behaviour/darwin/Mobile-Safari/tab-group-initial.png new file mode 100644 index 000000000..b7fe9ca89 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Basic-Behaviour/darwin/Mobile-Safari/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab---Basic-Behaviour/darwin/chromium/tab-group-initial.png b/.tooling/tests/screenshots/Tab---Basic-Behaviour/darwin/chromium/tab-group-initial.png new file mode 100644 index 000000000..a771437f4 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Basic-Behaviour/darwin/chromium/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab---Basic-Behaviour/darwin/firefox/tab-group-initial.png b/.tooling/tests/screenshots/Tab---Basic-Behaviour/darwin/firefox/tab-group-initial.png new file mode 100644 index 000000000..e5375f1b7 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Basic-Behaviour/darwin/firefox/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab---Basic-Behaviour/darwin/webkit/tab-group-initial.png b/.tooling/tests/screenshots/Tab---Basic-Behaviour/darwin/webkit/tab-group-initial.png new file mode 100644 index 000000000..679a64f2e Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Basic-Behaviour/darwin/webkit/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/Mobile-Chrome/tab-group-disabled-click.png b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/Mobile-Chrome/tab-group-disabled-click.png new file mode 100644 index 000000000..d80c2358e Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/Mobile-Chrome/tab-group-disabled-click.png differ diff --git a/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/Mobile-Chrome/tab-group-initial.png b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/Mobile-Chrome/tab-group-initial.png new file mode 100644 index 000000000..d80c2358e Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/Mobile-Chrome/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/Mobile-Chrome/tab-group-non-disabled-click.png b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/Mobile-Chrome/tab-group-non-disabled-click.png new file mode 100644 index 000000000..b651e6bbc Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/Mobile-Chrome/tab-group-non-disabled-click.png differ diff --git a/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/Mobile-Safari/tab-group-disabled-click.png b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/Mobile-Safari/tab-group-disabled-click.png new file mode 100644 index 000000000..e95c35fbe Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/Mobile-Safari/tab-group-disabled-click.png differ diff --git a/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/Mobile-Safari/tab-group-initial.png b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/Mobile-Safari/tab-group-initial.png new file mode 100644 index 000000000..e95c35fbe Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/Mobile-Safari/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/Mobile-Safari/tab-group-non-disabled-click.png b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/Mobile-Safari/tab-group-non-disabled-click.png new file mode 100644 index 000000000..ed9f303a7 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/Mobile-Safari/tab-group-non-disabled-click.png differ diff --git a/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/chromium/tab-group-disabled-click.png b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/chromium/tab-group-disabled-click.png new file mode 100644 index 000000000..78c57b186 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/chromium/tab-group-disabled-click.png differ diff --git a/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/chromium/tab-group-initial.png b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/chromium/tab-group-initial.png new file mode 100644 index 000000000..78c57b186 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/chromium/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/chromium/tab-group-non-disabled-click.png b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/chromium/tab-group-non-disabled-click.png new file mode 100644 index 000000000..3699720e0 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/chromium/tab-group-non-disabled-click.png differ diff --git a/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/firefox/tab-group-disabled-click.png b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/firefox/tab-group-disabled-click.png new file mode 100644 index 000000000..8aeb0ddba Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/firefox/tab-group-disabled-click.png differ diff --git a/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/firefox/tab-group-initial.png b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/firefox/tab-group-initial.png new file mode 100644 index 000000000..8aeb0ddba Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/firefox/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/firefox/tab-group-non-disabled-click.png b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/firefox/tab-group-non-disabled-click.png new file mode 100644 index 000000000..b8a3fd418 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/firefox/tab-group-non-disabled-click.png differ diff --git a/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/webkit/tab-group-disabled-click.png b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/webkit/tab-group-disabled-click.png new file mode 100644 index 000000000..0bb59e13d Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/webkit/tab-group-disabled-click.png differ diff --git a/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/webkit/tab-group-initial.png b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/webkit/tab-group-initial.png new file mode 100644 index 000000000..0bb59e13d Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/webkit/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/webkit/tab-group-non-disabled-click.png b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/webkit/tab-group-non-disabled-click.png new file mode 100644 index 000000000..a7201fb06 Binary files /dev/null and b/.tooling/tests/screenshots/Tab---Disabled-Behaviour/darwin/webkit/tab-group-non-disabled-click.png differ diff --git a/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/Mobile-Chrome/tab-group-initial.png b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/Mobile-Chrome/tab-group-initial.png new file mode 100644 index 000000000..6b4a8fb4a Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/Mobile-Chrome/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/Mobile-Chrome/tab-group-tab-selected.png b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/Mobile-Chrome/tab-group-tab-selected.png new file mode 100644 index 000000000..5e2315d44 Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/Mobile-Chrome/tab-group-tab-selected.png differ diff --git a/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/Mobile-Safari/tab-group-initial.png b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/Mobile-Safari/tab-group-initial.png new file mode 100644 index 000000000..b7fe9ca89 Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/Mobile-Safari/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/Mobile-Safari/tab-group-tab-selected.png b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/Mobile-Safari/tab-group-tab-selected.png new file mode 100644 index 000000000..92119e7aa Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/Mobile-Safari/tab-group-tab-selected.png differ diff --git a/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/chromium/tab-group-initial.png b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/chromium/tab-group-initial.png new file mode 100644 index 000000000..9e09d93b3 Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/chromium/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/chromium/tab-group-tab-selected.png b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/chromium/tab-group-tab-selected.png new file mode 100644 index 000000000..acc4f03d2 Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/chromium/tab-group-tab-selected.png differ diff --git a/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/firefox/tab-group-initial.png b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/firefox/tab-group-initial.png new file mode 100644 index 000000000..bfbf5e4a4 Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/firefox/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/firefox/tab-group-tab-selected.png b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/firefox/tab-group-tab-selected.png new file mode 100644 index 000000000..9cac9001f Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/firefox/tab-group-tab-selected.png differ diff --git a/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/webkit/tab-group-initial.png b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/webkit/tab-group-initial.png new file mode 100644 index 000000000..6c289e92b Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/webkit/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/webkit/tab-group-tab-selected.png b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/webkit/tab-group-tab-selected.png new file mode 100644 index 000000000..33513b01f Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Group---Visual-and-Behaviour/darwin/webkit/tab-group-tab-selected.png differ diff --git a/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/Mobile-Chrome/tab-group-initial.png b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/Mobile-Chrome/tab-group-initial.png new file mode 100644 index 000000000..f78d5b3c6 Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/Mobile-Chrome/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/Mobile-Chrome/tab-header-clicked.png b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/Mobile-Chrome/tab-header-clicked.png new file mode 100644 index 000000000..2e229d5c7 Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/Mobile-Chrome/tab-header-clicked.png differ diff --git a/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/Mobile-Safari/tab-group-initial.png b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/Mobile-Safari/tab-group-initial.png new file mode 100644 index 000000000..dd04822cd Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/Mobile-Safari/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/Mobile-Safari/tab-header-clicked.png b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/Mobile-Safari/tab-header-clicked.png new file mode 100644 index 000000000..3c3e8d7a6 Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/Mobile-Safari/tab-header-clicked.png differ diff --git a/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/chromium/tab-group-initial.png b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/chromium/tab-group-initial.png new file mode 100644 index 000000000..35d3bc33a Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/chromium/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/chromium/tab-header-clicked.png b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/chromium/tab-header-clicked.png new file mode 100644 index 000000000..e40709050 Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/chromium/tab-header-clicked.png differ diff --git a/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/firefox/tab-group-initial.png b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/firefox/tab-group-initial.png new file mode 100644 index 000000000..957fce5cb Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/firefox/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/firefox/tab-header-clicked.png b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/firefox/tab-header-clicked.png new file mode 100644 index 000000000..8b6e50eba Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/firefox/tab-header-clicked.png differ diff --git a/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/webkit/tab-group-initial.png b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/webkit/tab-group-initial.png new file mode 100644 index 000000000..9d101ac3b Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/webkit/tab-group-initial.png differ diff --git a/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/webkit/tab-header-clicked.png b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/webkit/tab-header-clicked.png new file mode 100644 index 000000000..d4b6beab8 Binary files /dev/null and b/.tooling/tests/screenshots/Tab-Header---Advanced-Behaviour/darwin/webkit/tab-header-clicked.png differ diff --git a/.tooling/tests/screenshots/Text-Field---Interactive/darwin/firefox/text-field-value.png b/.tooling/tests/screenshots/Text-Field---Interactive/darwin/firefox/text-field-value.png deleted file mode 100644 index eacc8736e..000000000 Binary files a/.tooling/tests/screenshots/Text-Field---Interactive/darwin/firefox/text-field-value.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Text-Field---Interactive/darwin/firefox/text-field.png b/.tooling/tests/screenshots/Text-Field---Interactive/darwin/firefox/text-field.png deleted file mode 100644 index 2401393c1..000000000 Binary files a/.tooling/tests/screenshots/Text-Field---Interactive/darwin/firefox/text-field.png and /dev/null differ diff --git a/.tooling/tests/screenshots/Text-Field---Interactive/darwin/Mobile-Chrome/text-field-value.png b/.tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/text-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Text-Field---Interactive/darwin/Mobile-Chrome/text-field-value.png rename to .tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/text-field-value.png diff --git a/.tooling/tests/screenshots/Text-Field---Interactive/darwin/Mobile-Chrome/text-field.png b/.tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/text-field.png similarity index 100% rename from .tooling/tests/screenshots/Text-Field---Interactive/darwin/Mobile-Chrome/text-field.png rename to .tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/Mobile-Chrome/text-field.png diff --git a/.tooling/tests/screenshots/Text-Field---Interactive/darwin/Mobile-Safari/text-field-value.png b/.tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/Mobile-Safari/text-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Text-Field---Interactive/darwin/Mobile-Safari/text-field-value.png rename to .tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/Mobile-Safari/text-field-value.png diff --git a/.tooling/tests/screenshots/Text-Field---Interactive/darwin/Mobile-Safari/text-field.png b/.tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/Mobile-Safari/text-field.png similarity index 100% rename from .tooling/tests/screenshots/Text-Field---Interactive/darwin/Mobile-Safari/text-field.png rename to .tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/Mobile-Safari/text-field.png diff --git a/.tooling/tests/screenshots/Text-Field---Interactive/darwin/chromium/text-field-value.png b/.tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/chromium/text-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Text-Field---Interactive/darwin/chromium/text-field-value.png rename to .tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/chromium/text-field-value.png diff --git a/.tooling/tests/screenshots/Text-Field---Interactive/darwin/chromium/text-field.png b/.tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/chromium/text-field.png similarity index 100% rename from .tooling/tests/screenshots/Text-Field---Interactive/darwin/chromium/text-field.png rename to .tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/chromium/text-field.png diff --git a/.tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/firefox/text-field-value.png b/.tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/firefox/text-field-value.png new file mode 100644 index 000000000..5d5a280a8 Binary files /dev/null and b/.tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/firefox/text-field-value.png differ diff --git a/.tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/firefox/text-field.png b/.tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/firefox/text-field.png new file mode 100644 index 000000000..520cdcfe6 Binary files /dev/null and b/.tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/firefox/text-field.png differ diff --git a/.tooling/tests/screenshots/Text-Field---Interactive/darwin/webkit/text-field-value.png b/.tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/webkit/text-field-value.png similarity index 100% rename from .tooling/tests/screenshots/Text-Field---Interactive/darwin/webkit/text-field-value.png rename to .tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/webkit/text-field-value.png diff --git a/.tooling/tests/screenshots/Text-Field---Interactive/darwin/webkit/text-field.png b/.tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/webkit/text-field.png similarity index 100% rename from .tooling/tests/screenshots/Text-Field---Interactive/darwin/webkit/text-field.png rename to .tooling/tests/screenshots/Text-Field---Visual-and-Behaviour/darwin/webkit/text-field.png diff --git a/.tooling/tests/screenshots/Toast---Closeable/darwin/Mobile-Chrome/toast-initial.png b/.tooling/tests/screenshots/Toast---Closeable/darwin/Mobile-Chrome/toast-initial.png index 2d3c58ff8..c7dee82fe 100644 Binary files a/.tooling/tests/screenshots/Toast---Closeable/darwin/Mobile-Chrome/toast-initial.png and b/.tooling/tests/screenshots/Toast---Closeable/darwin/Mobile-Chrome/toast-initial.png differ diff --git a/.tooling/tests/screenshots/Toast---Closeable/darwin/firefox/toast-initial.png b/.tooling/tests/screenshots/Toast---Closeable/darwin/firefox/toast-initial.png index a3c910b27..f8fb10641 100644 Binary files a/.tooling/tests/screenshots/Toast---Closeable/darwin/firefox/toast-initial.png and b/.tooling/tests/screenshots/Toast---Closeable/darwin/firefox/toast-initial.png differ diff --git a/.tooling/tests/screenshots/Toast---Configure-Behaviour/darwin/Mobile-Chrome/toasts-configured-shown.png b/.tooling/tests/screenshots/Toast---Configure-Behaviour/darwin/Mobile-Chrome/toasts-configured-shown.png new file mode 100644 index 000000000..dfd5a8dc0 Binary files /dev/null and b/.tooling/tests/screenshots/Toast---Configure-Behaviour/darwin/Mobile-Chrome/toasts-configured-shown.png differ diff --git a/.tooling/tests/screenshots/Toast---Configure-Behaviour/darwin/Mobile-Safari/toasts-configured-shown.png b/.tooling/tests/screenshots/Toast---Configure-Behaviour/darwin/Mobile-Safari/toasts-configured-shown.png new file mode 100644 index 000000000..a8b8ea977 Binary files /dev/null and b/.tooling/tests/screenshots/Toast---Configure-Behaviour/darwin/Mobile-Safari/toasts-configured-shown.png differ diff --git a/.tooling/tests/screenshots/Toast---Configure-Behaviour/darwin/chromium/toasts-configured-shown.png b/.tooling/tests/screenshots/Toast---Configure-Behaviour/darwin/chromium/toasts-configured-shown.png new file mode 100644 index 000000000..0065e2610 Binary files /dev/null and b/.tooling/tests/screenshots/Toast---Configure-Behaviour/darwin/chromium/toasts-configured-shown.png differ diff --git a/.tooling/tests/screenshots/Toast---Configure-Behaviour/darwin/firefox/toasts-configured-shown.png b/.tooling/tests/screenshots/Toast---Configure-Behaviour/darwin/firefox/toasts-configured-shown.png new file mode 100644 index 000000000..abd16a2df Binary files /dev/null and b/.tooling/tests/screenshots/Toast---Configure-Behaviour/darwin/firefox/toasts-configured-shown.png differ diff --git a/.tooling/tests/screenshots/Toast---Configure-Behaviour/darwin/webkit/toasts-configured-shown.png b/.tooling/tests/screenshots/Toast---Configure-Behaviour/darwin/webkit/toasts-configured-shown.png new file mode 100644 index 000000000..f2b77da10 Binary files /dev/null and b/.tooling/tests/screenshots/Toast---Configure-Behaviour/darwin/webkit/toasts-configured-shown.png differ diff --git a/.tooling/tests/screenshots/Toast---Custom-Slotted-Close/darwin/Mobile-Chrome/toast-initial.png b/.tooling/tests/screenshots/Toast---Custom-Slotted-Close/darwin/Mobile-Chrome/toast-initial.png index fbb06c2ab..93542ff5c 100644 Binary files a/.tooling/tests/screenshots/Toast---Custom-Slotted-Close/darwin/Mobile-Chrome/toast-initial.png and b/.tooling/tests/screenshots/Toast---Custom-Slotted-Close/darwin/Mobile-Chrome/toast-initial.png differ diff --git a/.tooling/tests/screenshots/Toast---Custom-Slotted-Close/darwin/chromium/toast-initial.png b/.tooling/tests/screenshots/Toast---Custom-Slotted-Close/darwin/chromium/toast-initial.png index 7a07e3459..58a012c0b 100644 Binary files a/.tooling/tests/screenshots/Toast---Custom-Slotted-Close/darwin/chromium/toast-initial.png and b/.tooling/tests/screenshots/Toast---Custom-Slotted-Close/darwin/chromium/toast-initial.png differ diff --git a/.tooling/tests/screenshots/Toast---Custom-Slotted-Close/darwin/firefox/toast-initial.png b/.tooling/tests/screenshots/Toast---Custom-Slotted-Close/darwin/firefox/toast-initial.png index 97e690219..b8146b4f8 100644 Binary files a/.tooling/tests/screenshots/Toast---Custom-Slotted-Close/darwin/firefox/toast-initial.png and b/.tooling/tests/screenshots/Toast---Custom-Slotted-Close/darwin/firefox/toast-initial.png differ diff --git a/.tooling/tests/screenshots/Toast---Custom-Slotted-Content/darwin/Mobile-Chrome/toast-initial.png b/.tooling/tests/screenshots/Toast---Custom-Slotted-Content/darwin/Mobile-Chrome/toast-initial.png index 7fafc057b..6b347829d 100644 Binary files a/.tooling/tests/screenshots/Toast---Custom-Slotted-Content/darwin/Mobile-Chrome/toast-initial.png and b/.tooling/tests/screenshots/Toast---Custom-Slotted-Content/darwin/Mobile-Chrome/toast-initial.png differ diff --git a/.tooling/tests/screenshots/Toast---Custom-Slotted-Content/darwin/chromium/toast-initial.png b/.tooling/tests/screenshots/Toast---Custom-Slotted-Content/darwin/chromium/toast-initial.png index bd5db4d77..a9c8c7970 100644 Binary files a/.tooling/tests/screenshots/Toast---Custom-Slotted-Content/darwin/chromium/toast-initial.png and b/.tooling/tests/screenshots/Toast---Custom-Slotted-Content/darwin/chromium/toast-initial.png differ diff --git a/.tooling/tests/screenshots/Toast---Custom-Slotted-Content/darwin/firefox/toast-initial.png b/.tooling/tests/screenshots/Toast---Custom-Slotted-Content/darwin/firefox/toast-initial.png index 9fdcfa77f..efe3e08cd 100644 Binary files a/.tooling/tests/screenshots/Toast---Custom-Slotted-Content/darwin/firefox/toast-initial.png and b/.tooling/tests/screenshots/Toast---Custom-Slotted-Content/darwin/firefox/toast-initial.png differ diff --git a/.tooling/tests/screenshots/Toast---Custom-Slotted-Prefix/darwin/Mobile-Chrome/toast-initial.png b/.tooling/tests/screenshots/Toast---Custom-Slotted-Prefix/darwin/Mobile-Chrome/toast-initial.png index 7b0354fa5..6c60a72c9 100644 Binary files a/.tooling/tests/screenshots/Toast---Custom-Slotted-Prefix/darwin/Mobile-Chrome/toast-initial.png and b/.tooling/tests/screenshots/Toast---Custom-Slotted-Prefix/darwin/Mobile-Chrome/toast-initial.png differ diff --git a/.tooling/tests/screenshots/Toast---Custom-Slotted-Prefix/darwin/chromium/toast-initial.png b/.tooling/tests/screenshots/Toast---Custom-Slotted-Prefix/darwin/chromium/toast-initial.png index 54ffd6826..1b5bc831b 100644 Binary files a/.tooling/tests/screenshots/Toast---Custom-Slotted-Prefix/darwin/chromium/toast-initial.png and b/.tooling/tests/screenshots/Toast---Custom-Slotted-Prefix/darwin/chromium/toast-initial.png differ diff --git a/.tooling/tests/screenshots/Toast---Custom-Slotted-Prefix/darwin/firefox/toast-initial.png b/.tooling/tests/screenshots/Toast---Custom-Slotted-Prefix/darwin/firefox/toast-initial.png index 92b58d7d4..0deeebd4b 100644 Binary files a/.tooling/tests/screenshots/Toast---Custom-Slotted-Prefix/darwin/firefox/toast-initial.png and b/.tooling/tests/screenshots/Toast---Custom-Slotted-Prefix/darwin/firefox/toast-initial.png differ diff --git a/.tooling/tests/screenshots/Toast---Error-Type/darwin/Mobile-Chrome/toast-type.png b/.tooling/tests/screenshots/Toast---Error-Type/darwin/Mobile-Chrome/toast-type.png index c842e0289..f4b51e39d 100644 Binary files a/.tooling/tests/screenshots/Toast---Error-Type/darwin/Mobile-Chrome/toast-type.png and b/.tooling/tests/screenshots/Toast---Error-Type/darwin/Mobile-Chrome/toast-type.png differ diff --git a/.tooling/tests/screenshots/Toast---Error-Type/darwin/firefox/toast-type.png b/.tooling/tests/screenshots/Toast---Error-Type/darwin/firefox/toast-type.png index bd2807fda..a22dafaa5 100644 Binary files a/.tooling/tests/screenshots/Toast---Error-Type/darwin/firefox/toast-type.png and b/.tooling/tests/screenshots/Toast---Error-Type/darwin/firefox/toast-type.png differ diff --git a/.tooling/tests/screenshots/Toast---Info-Type/darwin/Mobile-Chrome/toast-type.png b/.tooling/tests/screenshots/Toast---Info-Type/darwin/Mobile-Chrome/toast-type.png index 0b510eebf..4f8cc5434 100644 Binary files a/.tooling/tests/screenshots/Toast---Info-Type/darwin/Mobile-Chrome/toast-type.png and b/.tooling/tests/screenshots/Toast---Info-Type/darwin/Mobile-Chrome/toast-type.png differ diff --git a/.tooling/tests/screenshots/Toast---Info-Type/darwin/firefox/toast-type.png b/.tooling/tests/screenshots/Toast---Info-Type/darwin/firefox/toast-type.png index fff307754..0b2c7b900 100644 Binary files a/.tooling/tests/screenshots/Toast---Info-Type/darwin/firefox/toast-type.png and b/.tooling/tests/screenshots/Toast---Info-Type/darwin/firefox/toast-type.png differ diff --git a/.tooling/tests/screenshots/Toast---No-Type/darwin/Mobile-Chrome/toast-type.png b/.tooling/tests/screenshots/Toast---No-Type/darwin/Mobile-Chrome/toast-type.png index c27f83578..ece6b8c45 100644 Binary files a/.tooling/tests/screenshots/Toast---No-Type/darwin/Mobile-Chrome/toast-type.png and b/.tooling/tests/screenshots/Toast---No-Type/darwin/Mobile-Chrome/toast-type.png differ diff --git a/.tooling/tests/screenshots/Toast---No-Type/darwin/firefox/toast-type.png b/.tooling/tests/screenshots/Toast---No-Type/darwin/firefox/toast-type.png index 32e6bc2b0..da72ba3f8 100644 Binary files a/.tooling/tests/screenshots/Toast---No-Type/darwin/firefox/toast-type.png and b/.tooling/tests/screenshots/Toast---No-Type/darwin/firefox/toast-type.png differ diff --git a/.tooling/tests/screenshots/Toast---No-Type/darwin/webkit/toast-type.png b/.tooling/tests/screenshots/Toast---No-Type/darwin/webkit/toast-type.png index 9140c7fe4..639c4bb7d 100644 Binary files a/.tooling/tests/screenshots/Toast---No-Type/darwin/webkit/toast-type.png and b/.tooling/tests/screenshots/Toast---No-Type/darwin/webkit/toast-type.png differ diff --git a/.tooling/tests/screenshots/Toast---Show-Behaviour/darwin/Mobile-Chrome/toast-shown.png b/.tooling/tests/screenshots/Toast---Show-Behaviour/darwin/Mobile-Chrome/toast-shown.png new file mode 100644 index 000000000..bf1426b83 Binary files /dev/null and b/.tooling/tests/screenshots/Toast---Show-Behaviour/darwin/Mobile-Chrome/toast-shown.png differ diff --git a/.tooling/tests/screenshots/Toast---Show-Behaviour/darwin/Mobile-Safari/toast-shown.png b/.tooling/tests/screenshots/Toast---Show-Behaviour/darwin/Mobile-Safari/toast-shown.png new file mode 100644 index 000000000..ef18399f2 Binary files /dev/null and b/.tooling/tests/screenshots/Toast---Show-Behaviour/darwin/Mobile-Safari/toast-shown.png differ diff --git a/.tooling/tests/screenshots/Toast---Show-Behaviour/darwin/chromium/toast-shown.png b/.tooling/tests/screenshots/Toast---Show-Behaviour/darwin/chromium/toast-shown.png new file mode 100644 index 000000000..f2f97eda8 Binary files /dev/null and b/.tooling/tests/screenshots/Toast---Show-Behaviour/darwin/chromium/toast-shown.png differ diff --git a/.tooling/tests/screenshots/Toast---Show-Behaviour/darwin/firefox/toast-shown.png b/.tooling/tests/screenshots/Toast---Show-Behaviour/darwin/firefox/toast-shown.png new file mode 100644 index 000000000..a1912da56 Binary files /dev/null and b/.tooling/tests/screenshots/Toast---Show-Behaviour/darwin/firefox/toast-shown.png differ diff --git a/.tooling/tests/screenshots/Toast---Show-Behaviour/darwin/webkit/toast-shown.png b/.tooling/tests/screenshots/Toast---Show-Behaviour/darwin/webkit/toast-shown.png new file mode 100644 index 000000000..b51875175 Binary files /dev/null and b/.tooling/tests/screenshots/Toast---Show-Behaviour/darwin/webkit/toast-shown.png differ diff --git a/.tooling/tests/screenshots/Toast---Success-Type/darwin/Mobile-Chrome/toast-type.png b/.tooling/tests/screenshots/Toast---Success-Type/darwin/Mobile-Chrome/toast-type.png index 402ddc733..0ed87dc93 100644 Binary files a/.tooling/tests/screenshots/Toast---Success-Type/darwin/Mobile-Chrome/toast-type.png and b/.tooling/tests/screenshots/Toast---Success-Type/darwin/Mobile-Chrome/toast-type.png differ diff --git a/.tooling/tests/screenshots/Toast---Success-Type/darwin/chromium/toast-type.png b/.tooling/tests/screenshots/Toast---Success-Type/darwin/chromium/toast-type.png index c20a18922..415b3fcb9 100644 Binary files a/.tooling/tests/screenshots/Toast---Success-Type/darwin/chromium/toast-type.png and b/.tooling/tests/screenshots/Toast---Success-Type/darwin/chromium/toast-type.png differ diff --git a/.tooling/tests/screenshots/Toast---Success-Type/darwin/firefox/toast-type.png b/.tooling/tests/screenshots/Toast---Success-Type/darwin/firefox/toast-type.png index 75209ecd4..f1837c9de 100644 Binary files a/.tooling/tests/screenshots/Toast---Success-Type/darwin/firefox/toast-type.png and b/.tooling/tests/screenshots/Toast---Success-Type/darwin/firefox/toast-type.png differ diff --git a/.tooling/tests/screenshots/Toast---Visual-and-Behaviour/darwin/firefox/toast-initial.png b/.tooling/tests/screenshots/Toast---Visual-and-Behaviour/darwin/firefox/toast-initial.png index ae2a8fb44..2c1d1e0f3 100644 Binary files a/.tooling/tests/screenshots/Toast---Visual-and-Behaviour/darwin/firefox/toast-initial.png and b/.tooling/tests/screenshots/Toast---Visual-and-Behaviour/darwin/firefox/toast-initial.png differ diff --git a/.tooling/tests/screenshots/Toast---Visual-and-Behaviour/darwin/webkit/toast-initial.png b/.tooling/tests/screenshots/Toast---Visual-and-Behaviour/darwin/webkit/toast-initial.png index 623ef7511..fd8bc11cc 100644 Binary files a/.tooling/tests/screenshots/Toast---Visual-and-Behaviour/darwin/webkit/toast-initial.png and b/.tooling/tests/screenshots/Toast---Visual-and-Behaviour/darwin/webkit/toast-initial.png differ diff --git a/.tooling/tests/screenshots/Toast---Warning-Type/darwin/Mobile-Chrome/toast-type.png b/.tooling/tests/screenshots/Toast---Warning-Type/darwin/Mobile-Chrome/toast-type.png index b00a1f8c9..ccf27282d 100644 Binary files a/.tooling/tests/screenshots/Toast---Warning-Type/darwin/Mobile-Chrome/toast-type.png and b/.tooling/tests/screenshots/Toast---Warning-Type/darwin/Mobile-Chrome/toast-type.png differ diff --git a/.tooling/tests/screenshots/Toast---Warning-Type/darwin/chromium/toast-type.png b/.tooling/tests/screenshots/Toast---Warning-Type/darwin/chromium/toast-type.png index 2b3df23f0..b88a0e03f 100644 Binary files a/.tooling/tests/screenshots/Toast---Warning-Type/darwin/chromium/toast-type.png and b/.tooling/tests/screenshots/Toast---Warning-Type/darwin/chromium/toast-type.png differ diff --git a/.tooling/tests/screenshots/Toast---Warning-Type/darwin/firefox/toast-type.png b/.tooling/tests/screenshots/Toast---Warning-Type/darwin/firefox/toast-type.png index 6e1dbd28d..a670229ec 100644 Binary files a/.tooling/tests/screenshots/Toast---Warning-Type/darwin/firefox/toast-type.png and b/.tooling/tests/screenshots/Toast---Warning-Type/darwin/firefox/toast-type.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Bottom-Left-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Bottom-Left-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png index 699d69e6d..bb136fd80 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Bottom-Left-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Bottom-Left-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Bottom-Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Bottom-Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png index 3c74718f4..d4c21506c 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Bottom-Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Bottom-Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Bottom-Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png b/.tooling/tests/screenshots/Toast-Stack---Bottom-Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png index 52e33446a..fb1a17ea6 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Bottom-Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png and b/.tooling/tests/screenshots/Toast-Stack---Bottom-Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Bottom-Left-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Bottom-Left-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png index bc8f5a7c4..9018361f9 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Bottom-Left-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Bottom-Left-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Bottom-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Bottom-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png index 75ece0126..6ddd90cc2 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Bottom-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Bottom-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Bottom-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png b/.tooling/tests/screenshots/Toast-Stack---Bottom-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png index 63d2d45d4..1487b2eaa 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Bottom-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png and b/.tooling/tests/screenshots/Toast-Stack---Bottom-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Bottom-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Bottom-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png index a6e6b3966..f611ec6c9 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Bottom-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Bottom-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png index 3f3569571..c9374875a 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-top.png b/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-top.png index 8d9576b68..4078ef62d 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-top.png and b/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png index 6cd8a070e..e8173fccc 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png b/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png index 7eede8bf8..89f516b7e 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png and b/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png index 3d2c5d9c8..d55bd051e 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Bottom-Right-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Left-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Left-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png index b0bdce3e4..0eb7c3ce5 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Left-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Left-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png index 74c519e96..f0fa2bb1d 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png b/.tooling/tests/screenshots/Toast-Stack---Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png index 52e0b1497..40a8678a2 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png and b/.tooling/tests/screenshots/Toast-Stack---Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Left-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Left-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png index 71ad8ec54..bcb5dbb58 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Left-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Left-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Reverse-Visual-and-Behaviour/darwin/firefox/toast-stack-not-reversed.png b/.tooling/tests/screenshots/Toast-Stack---Reverse-Visual-and-Behaviour/darwin/firefox/toast-stack-not-reversed.png index d51b5f77d..1487b2eaa 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Reverse-Visual-and-Behaviour/darwin/firefox/toast-stack-not-reversed.png and b/.tooling/tests/screenshots/Toast-Stack---Reverse-Visual-and-Behaviour/darwin/firefox/toast-stack-not-reversed.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Reverse-Visual-and-Behaviour/darwin/firefox/toast-stack-reversed.png b/.tooling/tests/screenshots/Toast-Stack---Reverse-Visual-and-Behaviour/darwin/firefox/toast-stack-reversed.png index c4b12128e..1b90d2228 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Reverse-Visual-and-Behaviour/darwin/firefox/toast-stack-reversed.png and b/.tooling/tests/screenshots/Toast-Stack---Reverse-Visual-and-Behaviour/darwin/firefox/toast-stack-reversed.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Right-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Right-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png index 897a41b1b..3bf9c0b81 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Right-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Right-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png index 7b2e468de..3b777c8e5 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png b/.tooling/tests/screenshots/Toast-Stack---Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png index 9f997970a..1d3a27b82 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png and b/.tooling/tests/screenshots/Toast-Stack---Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Right-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Right-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png index df12b6b2c..ce3914817 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Right-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Right-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Top-Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Top-Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png index d2b70e676..0b593f618 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Top-Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Top-Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Top-Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png b/.tooling/tests/screenshots/Toast-Stack---Top-Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png index 2dc16a8ec..691cc7ce8 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Top-Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png and b/.tooling/tests/screenshots/Toast-Stack---Top-Left-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Top-Left-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Top-Left-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png index 295555e5c..cf113dcca 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Top-Left-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Top-Left-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png index 20fb36871..a9defb2c3 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png index 7cea79911..a9a164423 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png b/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png index 043a74f22..a2e99601e 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png and b/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png index 3784e12ad..ab885810d 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-top.png b/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-top.png index 1673edbd1..5bb816451 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-top.png and b/.tooling/tests/screenshots/Toast-Stack---Top-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Top-Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Top-Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png index 233daa708..0efafe4de 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Top-Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Top-Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Top-Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png b/.tooling/tests/screenshots/Toast-Stack---Top-Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png index 536f6f874..b6c6baffa 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Top-Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png and b/.tooling/tests/screenshots/Toast-Stack---Top-Right-Position-Visual-and-Behaviour/darwin/firefox/toast-stack-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Top-Right-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png b/.tooling/tests/screenshots/Toast-Stack---Top-Right-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png index 13fe35df5..20b22af7d 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Top-Right-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png and b/.tooling/tests/screenshots/Toast-Stack---Top-Right-Position-Visual-and-Behaviour/darwin/webkit/toast-stack-page-top.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/Mobile-Chrome/toast-stack-more.png b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/Mobile-Chrome/toast-stack-more.png index 0f51a4050..b0678d607 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/Mobile-Chrome/toast-stack-more.png and b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/Mobile-Chrome/toast-stack-more.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-more.png b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-more.png index c5327d8de..9d70cd0aa 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-more.png and b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/Mobile-Safari/toast-stack-more.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/chromium/toast-shown.png b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/chromium/toast-shown.png index 4d9725182..7cd3f028b 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/chromium/toast-shown.png and b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/chromium/toast-shown.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/chromium/toast-stack-more.png b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/chromium/toast-stack-more.png index fdc86e5d0..a993e6a86 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/chromium/toast-stack-more.png and b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/chromium/toast-stack-more.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/firefox/toast-shown.png b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/firefox/toast-shown.png index ec7a9a281..13c1ef2e9 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/firefox/toast-shown.png and b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/firefox/toast-shown.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/firefox/toast-stack-final.png b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/firefox/toast-stack-final.png index 71f143204..3e2531617 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/firefox/toast-stack-final.png and b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/firefox/toast-stack-final.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/firefox/toast-stack-initial.png b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/firefox/toast-stack-initial.png index f3e9c1536..f5a468fe0 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/firefox/toast-stack-initial.png and b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/firefox/toast-stack-initial.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/firefox/toast-stack-more.png b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/firefox/toast-stack-more.png index bbc89b401..c18ae7e6c 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/firefox/toast-stack-more.png and b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/firefox/toast-stack-more.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/webkit/toast-stack-initial.png b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/webkit/toast-stack-initial.png index 1d520b186..a23dee688 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/webkit/toast-stack-initial.png and b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/webkit/toast-stack-initial.png differ diff --git a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/webkit/toast-stack-more.png b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/webkit/toast-stack-more.png index 8afd1ceac..3b9d804e5 100644 Binary files a/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/webkit/toast-stack-more.png and b/.tooling/tests/screenshots/Toast-Stack---Visual-and-Behaviour/darwin/webkit/toast-stack-more.png differ diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0ff86fcd8..558a51de9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -6,6 +6,7 @@ Welcome! We encourage contributions and here's a few important guidelines we wou * [Issues](#issues) * [Vulnerabilities](#vulnerabilities) * [Development](#development) +* [Testing](#testing) * [Pull Requests](#pull-requests) ## Code of Conduct @@ -63,28 +64,40 @@ A vulnerability is typically a security-related risk associated with *any part* #### Setup -1. [Fork](https://github.com/capitec/omni-components/fork) the repository and create a branch from `develop`. -2. Clone the forked repo, checkout your branch, and run `npm ci` inside the repository root. -3. Start up the dev server with `npm run serve` (or by launching debugging in VS Code). -4. Install the testing dependencies with `npx playwright install --with-deps`. +1. [Fork](https://github.com/capitec/omni-components/fork) the repository and create a new branch from `develop` (Do not directly use `develop` as this will prevent certain workflows from being triggered). +2. Go to the Actions tab and enable workflow runs for the repository. (This is needed to generate screenshots for tests) + + Enabling Workflows +3. Add a `PROTECTED_TOKEN` secret for workflow runs with a [personal access token](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens#creating-a-fine-grained-personal-access-token) as its value. (Optional) + - This is to enable re-triggering of workflows when a workflow commits screenshots. If this is not set a new code commit will be required to trigger the next workflow as it uses the default `GITHUB_TOKEN` instead. + - See [Automatic token authentication](https://docs.github.com/en/actions/security-guides/automatic-token-authentication#using-the-github_token-in-a-workflow) for detail. + + Protected token creation +4. Clone the forked repo, checkout your branch, and run `npm ci` inside the repository root. +5. Install the testing dependencies with `npx playwright install --with-deps`. +6. Start up the dev server with `npm run serve` (or by launching debugging in VS Code). ### Directory Structure When adding or editing components, please note the following key directories: ``` + ├── src │ ├── button │ │ ├── Button.stories.ts +│ │ ├── Button.spec.ts │ │ ├── Button.ts │ │ ├── index.ts │ │ ├── README.md │ ├── ... ├── ... + ``` * `src` - Contains all components in a flat structure, each named after a component, e.g. `button`. Contents: * `Button.stories.ts` - The stories for the component. + * `Button.spec.ts` - The tests for the component. * `Button.ts` - The component. *(NOTE: There might be multiple, depending on complexity and composition)* * `index.ts` - The directory-level index, containing one or more component exports. * `README.md` - The README for the component *(NOTE: Generated when Pull Request is merged)*. @@ -94,6 +107,7 @@ When adding or editing components, please note the following key directories: * **Do** use *lower case* [kebab-case](https://en.wikipedia.org/wiki/Letter_case#Kebab_case) for component folder names, e.g. `some-component`. 🍢 * **Do** use uppercase first letter [CamelCase](https://en.wikipedia.org/wiki/Camel_case) for component file names, e.g. `SomeComponent.ts`. * **Do** use the name of the component, suffixed with `.stories` for component story file names, e.g. `SomeComponent.stories.ts`. +* **Do** use the name of the component, suffixed with `.spec` for component test file names, e.g. `SomeComponent.spec.ts`. * **Do** match component name with its file name, e.g. `SomeComponent.ts` contains `export class SomeComponent { ... }`. * **Do** prefix the custom element name with `omni-`. * **Do not** use any verbs or prefixes within component property names, instead **do** use nouns, e.g. `mode`, `position`. @@ -126,9 +140,23 @@ Here's a *non-exhaustive* list of requirements that are key to contributing to t #### Stories * **Do** use [Component Story Format (CSF) 3](https://github.com/capitec/omni-components/blob/develop/src/utils/ComponentStoryFormat.ts). -* **Do** implement a [play function](https://github.com/capitec/omni-components/blob/develop/src/utils/PlayFunction.ts) per story to test story-specific component state and event behaviors. * **Do** set the `data-testid` within every story template. * **Do** ensure that stories are authored to be both dark and light theme friendly (test via the hosted documentation). +* **Do** ensure that stories have their respective framework templates authored for each story where required. + +#### Tests +* **Do** cater for behavioral testing for components that covers interaction and visual testing. + * **Test** the attributes of the component using assertions. + * **Test** visual behaviour by interactions. (Ensure mobile rendering differences are catered for) + * Take a screenshot of the initial state of the component. + * Perform interactions with the component. + * Take a screenshot of every change in state during the interactions. + * **Test** the events of the component using mock functions. +* **Do** ensure that the test name is unique and descriptive of what will be tested. +* **Do** ensure that the tests written result in at least 80% code coverage for the component. +* **Do** ensure that the tests focus on user facing features of the component, not the internal workings of the component. +* **Do** ensure that all tests pass. + #### Themes * **Do** maintain each built-in theme, by ensuring all `--omni-theme-*` CSS custom properties are implemented. @@ -136,6 +164,49 @@ Here's a *non-exhaustive* list of requirements that are key to contributing to t > 💡 TIP: Refer to existing components, stories and themes for examples for any of the above. + +## Testing + +Tests are conducted via [Playwright](https://playwright.dev). + +### Running tests from shell + +- To run the end-to-end tests for all components on all configured browsers + +```sh +npm run test +``` + +- To only run the end-to-end tests for all components on all configured browsers. (`npm run serve` must be run separately) + +```sh +npm run test:only +``` + +- To run the end-to-end tests for all components only on Chromium. (`npm run serve` must be run separately) +```sh +npx playwright test --project=chromium +``` +- To run the tests of a specific component on all configured browsers. (`npm run serve` must be run separately) +```sh +npx playwright test Component.spec.ts +``` + +### Running tests from Playwright Test Explorer within VSCode + +- Ensure that `npm run serve` is running separately. +- Refer to the [Playwright Test Explorer](https://marketplace.visualstudio.com/items?itemName=ms-playwright.playwright) extension. + +### Viewing the test report + +- To view the latest test report. +```sh +npm run test-results +``` +Test Report + +> 🔶 NOTE: Screenshot testing only asserts during CI workflows, the report will locally only show current screenshots taken, but not perform any comparisons. + ## Pull Requests ### Requirements * **Do** ensure the branch is up to date with the `develop` branch. @@ -149,7 +220,5 @@ Here's a *non-exhaustive* list of requirements that are key to contributing to t > 💡 TIP: Analyze changes locally with `npm run lint`. * Format validation passes. > 💡 TIP: Apply changes locally with `npm run format`. -* All story play function tests pass. -> 💡 TIP: Run tests locally with `npm run test`. +* All tests pass. - diff --git a/README.md b/README.md index a1d8f01fe..ec0fa5f73 100644 --- a/README.md +++ b/README.md @@ -641,17 +641,17 @@ See the [`CONTRIBUTING.md`](./CONTRIBUTING.md) guide to get involved.
- - chromaticWaster + + BOTLANNER
- chromaticWaster + BOTLANNER
- - BOTLANNER + + chromaticWaster
- BOTLANNER + chromaticWaster
@@ -669,17 +669,17 @@ See the [`CONTRIBUTING.md`](./CONTRIBUTING.md) guide to get involved. - - Makhubedu + + capitec-oss
- Makhubedu + capitec-oss
- - capitec-oss + + Makhubedu
- capitec-oss + Makhubedu
diff --git a/package-lock.json b/package-lock.json index 8d04882ee..fff6b7b5d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13734,9 +13734,9 @@ } }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", + "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -24208,9 +24208,9 @@ } }, "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz", + "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==", "dev": true }, "wordwrap": { diff --git a/package.json b/package.json index fbd23827a..8dbb69909 100644 --- a/package.json +++ b/package.json @@ -22,9 +22,9 @@ "docs:elements": "node .tooling/scripts/elements-list.mjs", "serve": "npm run clean && tsc -p tsconfig.utils.json && eleventy --serve --config=.eleventy.cjs --port 6006", "test": "concurrently -k -r -s first \"npm run serve\" \"npm run test:only\"", - "test:only": "npx wait-on tcp:6006 && cross-env PW_EXPERIMENTAL_TS_ESM=1 npx playwright test", + "test:only": "npx wait-on tcp:6006 && cross-env PW_EXPERIMENTAL_TS_ESM=1 cross-env-shell npx playwright test $PW_COMPONENT_FILTER --pass-with-no-tests", "test:add-screenshots": "concurrently -k -r -s first \"npm run serve\" \"npm run test:add-screenshots-only\"", - "test:add-screenshots-only": "npx wait-on tcp:6006 && (cross-env PW_EXPERIMENTAL_TS_ESM=1 PWTEST_SKIP_TEST_OUTPUT=1 npx playwright test || echo \"Generated missing screenshots\")", + "test:add-screenshots-only": "npx wait-on tcp:6006 && (cross-env PW_EXPERIMENTAL_TS_ESM=1 PWTEST_SKIP_TEST_OUTPUT=1 cross-env-shell npx playwright test $PW_COMPONENT_FILTER --pass-with-no-tests || echo \"Generated missing screenshots\")", "test-results": "npx playwright show-report", "format": "prettier --config .prettierrc \"src/**/*.ts\" --write", "format:check": "prettier --config .prettierrc \"src/**/*.ts\" --check" diff --git a/playwright.config.js b/playwright.config.js index 2e5f640b9..fdf10a62d 100644 --- a/playwright.config.js +++ b/playwright.config.js @@ -33,13 +33,13 @@ const config = { } }, /* Run tests in files in parallel */ - fullyParallel: true, + fullyParallel: process.env.CI ? false : true, /* Fail the build on CI if you accidentally left test.only in the source code. */ forbidOnly: !!process.env.CI, /* Retry on CI only */ retries: process.env.CI && !process.env.PW_NO_RETRIES ? 2 : 0, /* Limit parallel tests on CI. */ - workers: process.env.CI ? 4 : undefined, + workers: process.env.CI ? 1 : undefined, /* Reporter to use. See https://playwright.dev/docs/test-reporters */ reporter: [ [ diff --git a/src/button/Button.spec.ts b/src/button/Button.spec.ts index 7a4c72d81..da2b22b62 100644 --- a/src/button/Button.spec.ts +++ b/src/button/Button.spec.ts @@ -1,5 +1,4 @@ -import * as jestMock from 'jest-mock'; -import { test, expect, withCoverage, type Page } from '../utils/JestPlaywright.js'; +import { test, expect, mockEventListener, withCoverage } from '../utils/JestPlaywright.js'; test(`Button - Visual Secondary`, async ({ page }) => { await withCoverage(page, async () => { @@ -71,11 +70,7 @@ test(`Button - Interactive Behaviour`, async ({ page }) => { const button = page.locator('.Interactive').locator('[data-testid=test-button]'); - const click = jestMock.fn(); - await page.exposeFunction('jestClick', () => click()); - await button.evaluate((node) => { - node.addEventListener('click', () => (window as any).jestClick()); - }); + const click = await mockEventListener(button, 'click'); await button.click(); await button.click(); @@ -91,6 +86,7 @@ test(`Button - Type Behaviour`, async ({ page }) => { const button = page.locator('.Type').locator('[data-testid=test-button]'); const buttonElement = button.locator('#button'); const foundPrimaryClass = await buttonElement.evaluate((btn) => btn?.classList.contains('primary')); + await expect(foundPrimaryClass).toBeTruthy(); }); }); @@ -103,6 +99,7 @@ test(`Button - Label Behaviour`, async ({ page }) => { const button = page.locator('.Label').locator('[data-testid=test-button]'); const labelElement = button.locator('#label'); await expect(labelElement).toHaveText(args.label); + await expect(button).toHaveScreenshot('button-label.png'); }); }); @@ -113,6 +110,8 @@ test(`Button - Slot Behaviour`, async ({ page }) => { const button = page.locator('.Slot').locator('[data-testid=test-button]'); const slotElement = button.locator('slot'); + + // Check for element in default slot const foundSlottedOmniIconElement = await slotElement.evaluateHandle((s: HTMLSlotElement) => s.assignedElements().find((e) => e.tagName.toLowerCase() === 'omni-icon') ); @@ -135,11 +134,7 @@ test(`Button - Disabled Behaviour`, async ({ page }) => { await expect(foundDisabledClass).toBeTruthy(); await expect(buttonElement).toHaveClass(/disabled/); - const click = jestMock.fn(); - await page.exposeFunction('jestClick', () => click()); - await button.evaluate((node) => { - node.addEventListener('click', () => (window as any).jestClick()); - }); + const click = await mockEventListener(button, 'click'); await button.click({ force: true diff --git a/src/button/Button.stories.ts b/src/button/Button.stories.ts index 49108efc2..f82e60eea 100644 --- a/src/button/Button.stories.ts +++ b/src/button/Button.stories.ts @@ -1,12 +1,7 @@ -import { within } from '@testing-library/dom'; -import userEvent from '@testing-library/user-event'; -import * as jest from 'jest-mock'; import { html } from 'lit'; import { unsafeHTML } from 'lit/directives/unsafe-html.js'; import { ifNotEmpty } from '../utils/Directives.js'; -import expect from '../utils/ExpectDOM.js'; -import { raw, CSFIdentifier, ComponentStoryFormat, getSourceFromLit } from '../utils/StoryUtils.js'; -import { Button } from './Button.js'; +import { raw, ComponentStoryFormat, getSourceFromLit } from '../utils/StoryUtils.js'; import './Button.js'; import '../icon/Icon.js'; @@ -14,27 +9,6 @@ import '../icon/Icon.js'; const buttonOptions = ['primary', 'secondary', 'clear', 'white'] as const; const slotPositionOptions = ['left', 'top', 'right', 'bottom'] as const; -export default { - title: 'UI Components/Button', - component: 'omni-button', - argTypes: { - type: { - control: 'radio', - options: buttonOptions - }, - slotPosition: { - control: 'radio', - options: slotPositionOptions - }, - 'slot-position': { - control: false - }, - '[Default Slot]': { - control: 'text' - } - } -} as CSFIdentifier; - interface Args { type: (typeof buttonOptions)[number]; label: string; diff --git a/src/calendar/Calendar.spec.ts b/src/calendar/Calendar.spec.ts index ad5982a2d..79c8cab06 100644 --- a/src/calendar/Calendar.spec.ts +++ b/src/calendar/Calendar.spec.ts @@ -1,15 +1,14 @@ import { DateTime } from 'luxon'; -import { test, expect, withCoverage } from '../utils/JestPlaywright.js'; +import { test, expect, getStoryArgs, withCoverage } from '../utils/JestPlaywright.js'; import type { Calendar } from './Calendar.js'; -test(`Calendar - Visual and Behaviour`, async ({ page, isMobile }) => { +test(`Calendar - Visual and Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/calendar/'); // Use LivePropertyEditor to set Calendar initial date (Use LPE to ensure code snippet is also updated in case it gets picked up in the screenshot) await page.locator('#examples #inputField').nth(3).fill('2021-10-05'); - const args = await page.locator('story-renderer[key=Interactive]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const calendar = page.locator('.Interactive').getByTestId('test-calendar'); await expect(calendar).toHaveScreenshot('calendar-initial.png'); @@ -57,11 +56,10 @@ test(`Calendar - Visual and Behaviour`, async ({ page, isMobile }) => { }); }); -test(`Calendar - Value Behaviour`, async ({ page, isMobile }) => { +test(`Calendar - Value Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/calendar/'); - const args = await page.locator('story-renderer[key=Value]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const calendar = page.locator('.Value').getByTestId('test-calendar'); await calendar.evaluate(async (c: Calendar) => { c.value = '2023-01-01'; @@ -75,11 +73,11 @@ test(`Calendar - Value Behaviour`, async ({ page, isMobile }) => { }); }); -test(`Calendar - Locale Behaviour`, async ({ page, isMobile }) => { +test(`Calendar - Locale Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/calendar/'); - const args = await page.locator('story-renderer[key=Locale]').evaluate((storyRenderer) => (storyRenderer as any).story.args); + const args = await getStoryArgs(page, 'Locale'); const calendar = page.locator('.Locale').getByTestId('test-calendar'); const localDate = DateTime.fromISO('2022-06-21', { @@ -111,7 +109,7 @@ test(`Calendar - Min Date Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/calendar/'); - const args = await page.locator('story-renderer[key=Min_Date]').evaluate((storyRenderer) => (storyRenderer as any).story.args); + const args = await getStoryArgs(page, 'Min_Date'); const calendar = page.locator('.Min_Date').getByTestId('test-calendar'); await expect(calendar).toHaveScreenshot('calendar-initial.png'); @@ -149,7 +147,7 @@ test(`Calendar - Max Date Behaviour`, async ({ page }) => { await page.waitForSelector('[data-testid]', {}); - const args = await page.locator('story-renderer[key=Max_Date]').evaluate((storyRenderer) => (storyRenderer as any).story.args); + const args = await getStoryArgs(page, 'Max_Date'); const calendar = page.locator('.Max_Date').getByTestId('test-calendar'); await expect(calendar).toHaveScreenshot('calendar-initial.png'); diff --git a/src/calendar/Calendar.stories.ts b/src/calendar/Calendar.stories.ts index 3a2757edb..ae46b7c99 100644 --- a/src/calendar/Calendar.stories.ts +++ b/src/calendar/Calendar.stories.ts @@ -1,20 +1,11 @@ -import { within } from '@testing-library/dom'; -import userEvent from '@testing-library/user-event'; import { html } from 'lit'; import { DateTime } from 'luxon'; import { ifNotEmpty } from '../utils/Directives.js'; -import expect from '../utils/ExpectDOM.js'; -import { ComponentStoryFormat, CSFIdentifier, querySelectorAsync } from '../utils/StoryUtils.js'; -import { Calendar } from './Calendar'; +import { ComponentStoryFormat } from '../utils/StoryUtils.js'; import './Calendar.js'; -export default { - title: 'UI Components/Calendar', - component: 'omni-calendar' -} as CSFIdentifier; - -interface Args { +export interface Args { locale: string; value: string; minDate?: string; diff --git a/src/check/Check.spec.ts b/src/check/Check.spec.ts index 382d9a23c..6f82ab2b2 100644 --- a/src/check/Check.spec.ts +++ b/src/check/Check.spec.ts @@ -1,12 +1,10 @@ -import * as jestMock from 'jest-mock'; -import { test, expect, withCoverage } from '../utils/JestPlaywright.js'; -import { Args } from './Check.stories.js'; +import { test, expect, getStoryArgs, mockEventListener, withCoverage } from '../utils/JestPlaywright.js'; test(`Check - Label Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/check/'); - const args = await page.locator('story-renderer[key=Label]').evaluate(getStoryArgs()); + const args = await getStoryArgs(page, 'Label'); const check = page.locator('.Label').getByTestId('test-check'); const labelElement = check.locator('label'); @@ -19,7 +17,7 @@ test(`Check - Hint Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/check/'); - const args = await page.locator('story-renderer[key=Hint]').evaluate(getStoryArgs()); + const args = await getStoryArgs(page, 'Hint'); const check = page.locator('.Hint').getByTestId('test-check'); const hintElement = check.locator('.hint'); @@ -32,7 +30,7 @@ test(`Check - Error Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/check/'); - const args = await page.locator('story-renderer[key=Error_Label]').evaluate(getStoryArgs()); + const args = await getStoryArgs(page, 'Error_Label'); const check = page.locator('.Error_Label').getByTestId('test-check'); const errorElement = check.locator('.error'); @@ -85,10 +83,7 @@ test(`Check - Disabled Behaviour`, async ({ page }) => { await expect(disabledElement).toBeVisible(); await expect(check).toHaveScreenshot('check-disabled.png'); - // Test not clickable when disabled. - const click = jestMock.fn(); - await page.exposeFunction('setCheckClicked', () => click()); - await check.evaluate((n) => n.addEventListener('click', () => window.setCheckClicked())); + const click = await mockEventListener(check, 'click'); await check.click({ force: true @@ -105,9 +100,8 @@ test(`Check - Slot Behaviour`, async ({ page }) => { await page.goto('/components/check/'); const check = page.locator('.Slot').getByTestId('test-check'); - const slottedContent = await check.innerHTML(); - await expect(slottedContent).toEqual('Slotted'); + await expect(await check.innerHTML()).toEqual('Slotted'); await expect(check).toHaveScreenshot('check-slot.png'); }); }); @@ -135,13 +129,3 @@ test(`Check - Custom Indeterminate Icon Behaviour`, async ({ page }) => { await expect(check).toHaveScreenshot('check-custom-indeterminate-icon.png'); }); }); - -declare global { - interface Window { - setCheckClicked: () => void; - } -} -function getStoryArgs() { - // eslint-disable-next-line @typescript-eslint/no-explicit-any - return (storyRenderer: any) => storyRenderer?.story?.args as Args; -} diff --git a/src/check/Check.stories.ts b/src/check/Check.stories.ts index 4fffddea7..7189c8cfb 100644 --- a/src/check/Check.stories.ts +++ b/src/check/Check.stories.ts @@ -1,27 +1,9 @@ -import { within, fireEvent } from '@testing-library/dom'; -import userEvent from '@testing-library/user-event'; -import * as jest from 'jest-mock'; import { html, nothing } from 'lit'; import { unsafeHTML } from 'lit/directives/unsafe-html.js'; import { ifNotEmpty } from '../utils/Directives.js'; -import expect from '../utils/ExpectDOM.js'; -import { assignToSlot, ComponentStoryFormat, CSFIdentifier, getSourceFromLit, raw } from '../utils/StoryUtils.js'; -import { Check } from './Check.js'; +import { assignToSlot, ComponentStoryFormat, getSourceFromLit, raw } from '../utils/StoryUtils.js'; import './Check.js'; -export default { - title: 'UI Components/Check', - component: 'omni-check', - argTypes: { - indeterminate_icon: { - control: 'text' - }, - check_icon: { - control: 'text' - } - } -} as CSFIdentifier; - export interface Args { label: string; data: object; @@ -76,22 +58,6 @@ export const Interactive: ComponentStoryFormat = { check_icon: '', indeterminate_icon: '', '[Default Slot]': undefined - }, - play: async (context) => { - const check = within(context.canvasElement).getByTestId('test-check'); - const valueChange = jest.fn(); - check.addEventListener('value-change', valueChange); - await userEvent.click(check, { - pointerEventsCheck: 0 - }); - - const content = check.shadowRoot?.getElementById('content') as HTMLElement; - - await fireEvent.keyDown(content, { - key: ' ', - code: 'Space' - }); - await expect(valueChange).toBeCalledTimes(2); } }; @@ -108,12 +74,6 @@ const App = () => ;` description: 'Set text value to display next to the check box.', args: { label: 'Label' - }, - play: async (context) => { - const check = within(context.canvasElement).getByTestId('test-check'); - const labelElement = check.shadowRoot?.querySelector('label'); - await expect(labelElement).toBeTruthy(); - await expect(labelElement).toHaveTextContent(Label.args?.label as string); } }; @@ -131,12 +91,6 @@ const App = () => { - const check = within(context.canvasElement).getByTestId('test-check'); - const hintElement = check.shadowRoot?.querySelector('.hint'); - await expect(hintElement).toBeTruthy(); - await expect(hintElement).toHaveTextContent(Hint.args?.hint as string); } }; @@ -155,12 +109,6 @@ const App = () => { - const check = within(context.canvasElement).getByTestId('test-check'); - const errorElement = check.shadowRoot?.querySelector('.error'); - await expect(errorElement).toBeTruthy(); - await expect(errorElement).toHaveTextContent(Error_Label.args?.error as string); } }; @@ -188,11 +136,6 @@ const App = () => { - const check = within(context.canvasElement).getByTestId('test-check'); - const checkedElement = check.shadowRoot?.querySelector('.checked'); - await expect(checkedElement).toBeTruthy(); } }; @@ -220,11 +163,6 @@ const App = () => { - const check = within(context.canvasElement).getByTestId('test-check'); - const indeterminateElement = check.shadowRoot?.querySelector('.indeterminate'); - await expect(indeterminateElement).toBeTruthy(); } }; @@ -252,24 +190,6 @@ const App = () => { - const check = within(context.canvasElement).getByTestId('test-check'); - const valueChange = jest.fn(); - check.addEventListener('value-change', valueChange); - - const disabledElement = check.shadowRoot?.querySelector('.disabled'); - await expect(disabledElement).toBeTruthy(); - - const content = check.shadowRoot?.getElementById('content') as HTMLElement; - await userEvent.click(content, { - pointerEventsCheck: 0 - }); - await fireEvent.keyDown(content, { - key: ' ', - code: 'Space' - }); - await expect(valueChange).toBeCalledTimes(0); } }; @@ -289,12 +209,7 @@ const App = () => ], name: 'Slot', description: 'Set content to display within.', - args: {}, - play: async (context) => { - const checkElement = within(context.canvasElement).getByTestId('test-check'); - const slottedText = checkElement.innerHTML; - await expect(slottedText).toEqual('Slotted'); - } + args: {} } as ComponentStoryFormat; export const Custom_Check_Icon: ComponentStoryFormat = { @@ -337,14 +252,6 @@ const App = () => ` - }, - play: async (context) => { - const check = within(context.canvasElement).getByTestId('test-check'); - const slotElement = check.shadowRoot?.querySelector('slot[name=check_icon]'); - await expect(slotElement).toBeTruthy(); - - const foundSlottedSvgElement = slotElement?.assignedElements().find((e) => e.tagName.toLowerCase() === 'svg'); - await expect(foundSlottedSvgElement).toBeTruthy(); } }; @@ -409,13 +316,5 @@ const App = () => ` - }, - play: async (context) => { - const check = within(context.canvasElement).getByTestId('test-check'); - const slotElement = check.shadowRoot?.querySelector('slot[name=indeterminate_icon]'); - await expect(slotElement).toBeTruthy(); - - const foundSlottedSvgElement = slotElement?.assignedElements().find((e) => e.tagName.toLowerCase() === 'svg'); - await expect(foundSlottedSvgElement).toBeTruthy(); } }; diff --git a/src/chip/Chip.spec.ts b/src/chip/Chip.spec.ts index 3ad7a95aa..16268ab43 100644 --- a/src/chip/Chip.spec.ts +++ b/src/chip/Chip.spec.ts @@ -1,20 +1,16 @@ -import * as jestMock from 'jest-mock'; -import { test, expect, withCoverage } from '../utils/JestPlaywright.js'; +import { test, expect, getStoryArgs, mockEventListener, withCoverage } from '../utils/JestPlaywright.js'; -test(`Chip - Visual and Behaviour`, async ({ page, isMobile }) => { +test(`Chip - Visual and Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/chip/'); - const args = await page.locator('story-renderer[key=Interactive]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const chip = page.locator('.Interactive').getByTestId('test-chip'); await expect(chip).toHaveScreenshot('chip-initial.png'); - const click = jestMock.fn(); - await page.exposeFunction('jestClick', () => click()); - await chip.evaluate((node) => { - node.addEventListener('click', () => (window as any).jestClick()); - }); + // mock the click event. + const click = await mockEventListener(chip, 'click'); + await chip.click({ force: true }); @@ -26,11 +22,11 @@ test(`Chip - Visual and Behaviour`, async ({ page, isMobile }) => { }); }); -test(`Chip - Label`, async ({ page, isMobile }) => { +test(`Chip - Label Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/chip/'); - const args = await page.locator('story-renderer[key=Label]').evaluate((storyRenderer) => (storyRenderer as any).story.args); + const args = await getStoryArgs(page, 'Label'); const chip = page.locator('.Label').getByTestId('test-chip'); await expect(chip).toHaveScreenshot('chip-initial.png'); @@ -38,20 +34,15 @@ test(`Chip - Label`, async ({ page, isMobile }) => { }); }); -test(`Chip - Closable Behaviour`, async ({ page, isMobile }) => { +test(`Chip - Closable Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/chip/'); - const args = await page.locator('story-renderer[key=Closable]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const chip = page.locator('.Closable').getByTestId('test-chip'); await expect(chip).toHaveScreenshot('chip-initial.png'); - const remove = jestMock.fn(); - await page.exposeFunction('jestRemove', () => remove()); - await chip.evaluate((node) => { - node.addEventListener('remove', () => (window as any).jestRemove()); - }); + const remove = await mockEventListener(chip, 'remove'); const closeButton = chip.locator('#closeButton'); @@ -71,11 +62,10 @@ test(`Chip - Closable Behaviour`, async ({ page, isMobile }) => { }); }); -test(`Chip - Disabled Behaviour`, async ({ page, isMobile }) => { +test(`Chip - Disabled Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/chip/'); - const args = await page.locator('story-renderer[key=Disabled]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const chip = page.locator('.Disabled').getByTestId('test-chip'); await expect(chip).toHaveScreenshot('chip-initial.png'); @@ -83,11 +73,8 @@ test(`Chip - Disabled Behaviour`, async ({ page, isMobile }) => { const chipElement = chip.locator('#chip'); await expect(chipElement).toHaveClass(/disabled/); - const click = jestMock.fn(); - await page.exposeFunction('jestClick', () => click()); - await chip.evaluate((node) => { - node.addEventListener('click', () => (window as any).jestClick()); - }); + const click = await mockEventListener(chip, 'click'); + await chip.click({ force: true }); @@ -99,11 +86,10 @@ test(`Chip - Disabled Behaviour`, async ({ page, isMobile }) => { }); }); -test(`Chip - Icon Slot`, async ({ page, isMobile }) => { +test(`Chip - Icon Slot Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/chip/'); - const args = await page.locator('story-renderer[key=Chip_Slot_Icon]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const chip = page.locator('.Chip_Slot_Icon').getByTestId('test-chip'); await expect(chip).toHaveScreenshot('chip-initial.png'); @@ -118,11 +104,10 @@ test(`Chip - Icon Slot`, async ({ page, isMobile }) => { }); }); -test(`Chip - Close Icon Slot`, async ({ page, isMobile }) => { +test(`Chip - Close Icon Slot Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/chip/'); - const args = await page.locator('story-renderer[key=Custom_Close_Icon]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const chip = page.locator('.Custom_Close_Icon').getByTestId('test-chip'); await expect(chip).toHaveScreenshot('chip-initial.png'); diff --git a/src/chip/Chip.stories.ts b/src/chip/Chip.stories.ts index b20a065f6..e7e857fa1 100644 --- a/src/chip/Chip.stories.ts +++ b/src/chip/Chip.stories.ts @@ -1,30 +1,12 @@ -import { within } from '@testing-library/dom'; -import userEvent from '@testing-library/user-event'; -import * as jest from 'jest-mock'; import { html, nothing } from 'lit'; import { unsafeHTML } from 'lit/directives/unsafe-html.js'; import { ifNotEmpty } from '../utils/Directives.js'; -import expect from '../utils/ExpectDOM.js'; -import { assignToSlot, ComponentStoryFormat, CSFIdentifier, getSourceFromLit, raw } from '../utils/StoryUtils.js'; -import { Chip } from './Chip.js'; +import { assignToSlot, ComponentStoryFormat, getSourceFromLit, raw } from '../utils/StoryUtils.js'; import './Chip.js'; import '../icon/Icon.js'; -export default { - title: 'UI Components/Chip', - component: 'omni-chip', - argTypes: { - chip_icon: { - control: 'text' - }, - close_icon: { - control: 'text' - } - } -} as CSFIdentifier; - -interface Args { +export interface Args { label: string; closable: boolean; slot: string; diff --git a/src/color-field/ColorField.spec.ts b/src/color-field/ColorField.spec.ts index 8605db55d..4c48dd08c 100644 --- a/src/color-field/ColorField.spec.ts +++ b/src/color-field/ColorField.spec.ts @@ -1,4 +1,3 @@ -import * as jestMock from 'jest-mock'; import { testLabelBehaviour, testHintBehaviour, @@ -9,16 +8,14 @@ import { testPrefixBehaviour, testSuffixBehaviour } from '../core/OmniInputPlaywright.js'; -import { test, expect, withCoverage, type Page } from '../utils/JestPlaywright.js'; +import { test, expect, getStoryArgs, mockEventListener, withCoverage } from '../utils/JestPlaywright.js'; import type { ColorField } from './ColorField.js'; -test(`Color Field - Interactive`, async ({ page, browserName }) => { +test(`Color Field - Visual and Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/color-field/'); await page.evaluate(() => document.fonts.ready); - await page.waitForSelector('[data-testid]', {}); - const field = page.locator('[data-testid]').first(); const inputField = field.locator('#inputField'); @@ -34,22 +31,20 @@ test(`Color Field - Interactive`, async ({ page, browserName }) => { }); }); -testLabelBehaviour('omni-color-field'); -testHintBehaviour('omni-color-field'); -testErrorBehaviour('omni-color-field'); -testValueBehaviour('omni-color-field'); -testClearableBehaviour('omni-color-field'); -testCustomClearableSlotBehaviour('omni-color-field'); -testPrefixBehaviour('omni-color-field'); -testSuffixBehaviour('omni-color-field'); +test('Color Field - Label Behaviour', testLabelBehaviour('omni-color-field')); +test('Color Field - Hint Behaviour', testHintBehaviour('omni-color-field')); +test('Color Field - Error Behaviour', testErrorBehaviour('omni-color-field')); +test('Color Field - Value Behaviour', testValueBehaviour('omni-color-field')); +test('Color Field - Clearable Behaviour', testClearableBehaviour('omni-color-field')); +test('Color Field - Custom Clearable Slot Behaviour', testCustomClearableSlotBehaviour('omni-color-field')); +test('Color Field - Prefix Behaviour', testPrefixBehaviour('omni-color-field')); +test('Color Field - Suffix Behaviour', testSuffixBehaviour('omni-color-field')); -test(`Color Field - Disabled Behaviour`, async ({ page, isMobile }) => { +test(`Color Field - Disabled Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/color-field/'); - await page.waitForSelector('[data-testid]', {}); - - const args = await page.locator('story-renderer[key=Disabled]').evaluate((storyRenderer) => (storyRenderer as any).story.args); + const args = await getStoryArgs(page, 'Disabled'); const colorField = page.locator('.Disabled').getByTestId('test-field'); await colorField.evaluate(async (d: ColorField, args) => { d.value = args.value; @@ -59,12 +54,7 @@ test(`Color Field - Disabled Behaviour`, async ({ page, isMobile }) => { await expect(colorField).toHaveScreenshot('color-field-initial.png'); - //Click event test. - const click = jestMock.fn(); - await page.exposeFunction('jestClick', () => click()); - await colorField.evaluate((node) => { - node.addEventListener('click', () => (window as any).jestClick()); - }); + const click = await mockEventListener(colorField, 'click'); await colorField.click({ force: true diff --git a/src/color-field/ColorField.stories.ts b/src/color-field/ColorField.stories.ts index 19bf87be2..ab9b06764 100644 --- a/src/color-field/ColorField.stories.ts +++ b/src/color-field/ColorField.stories.ts @@ -1,9 +1,5 @@ -import { waitFor, within } from '@testing-library/dom'; -import userEvent from '@testing-library/user-event'; -import * as jest from 'jest-mock'; import { html, nothing } from 'lit'; import { unsafeHTML } from 'lit/directives/unsafe-html.js'; -import { OmniFormElement } from '../core/OmniFormElement.js'; import { LabelStory, BaseArgs, @@ -16,17 +12,11 @@ import { SuffixStory } from '../core/OmniInputStories.js'; import { ifNotEmpty } from '../utils/Directives.js'; -import expect from '../utils/ExpectDOM.js'; -import { assignToSlot, ComponentStoryFormat, CSFIdentifier, getSourceFromLit } from '../utils/StoryUtils.js'; +import { assignToSlot, ComponentStoryFormat, getSourceFromLit } from '../utils/StoryUtils.js'; import { ColorField } from './ColorField.js'; import './ColorField.js'; -export default { - title: 'UI Components/Color Field', - component: 'omni-color-field' -} as CSFIdentifier; - export const Interactive: ComponentStoryFormat = { render: (args: BaseArgs) => html` { - test(`${toComponentName(tagName)} - ${storyExport} Behaviour`, async ({ page }) => { +export const testLabelBehaviour = (tagName: string, storyExport = 'Label'): TestFunction => { + return async ({ page }) => { await withCoverage(page, async () => { await page.goto(`/components/${asDirectoryName(tagName)}/`); await page.waitForSelector('[data-testid]', {}); - const args = (await page - .locator(`story-renderer[key=${storyExport}]`) - .evaluate((storyRenderer) => (storyRenderer as any).story.args)) as BaseArgs; + const args = await getStoryArgs(page, storyExport); const input = page.locator(`.${storyExport}`).getByTestId('test-field'); - await expect(input.locator(`.label > div`)).toHaveText(args?.label as string); + await expect(input.locator(`.label > div`)).toHaveText(args?.label); }); - }); + }; }; -export const testHintBehaviour = (tagName: string, storyExport = 'Hint') => { - test(`${toComponentName(tagName)} - ${storyExport} Behaviour`, async ({ page }) => { +export const testHintBehaviour = (tagName: string, storyExport = 'Hint'): TestFunction => { + return async ({ page }) => { await withCoverage(page, async () => { await page.goto(`/components/${asDirectoryName(tagName)}/`); await page.waitForSelector('[data-testid]', {}); - const args = (await page - .locator(`story-renderer[key=${storyExport}]`) - .evaluate((storyRenderer) => (storyRenderer as any).story.args)) as BaseArgs; + const args = await getStoryArgs(page, storyExport); const input = page.locator(`.${storyExport}`).getByTestId('test-field'); const hintElement = input.locator('.hint-label'); await expect(hintElement).toHaveCount(1); await expect(hintElement).toHaveText(args?.hint as string); }); - }); + }; }; -export const testErrorBehaviour = (tagName: string, storyExport = 'Error_Label') => { - test(`${toComponentName(tagName)} - ${storyExport} Behaviour`, async ({ page }) => { +export const testErrorBehaviour = (tagName: string, storyExport = 'Error_Label'): TestFunction => { + return async ({ page }) => { await withCoverage(page, async () => { await page.goto(`/components/${asDirectoryName(tagName)}/`); await page.waitForSelector('[data-testid]', {}); - const args = (await page - .locator(`story-renderer[key=${storyExport}]`) - .evaluate((storyRenderer) => (storyRenderer as any).story.args)) as BaseArgs; + const args = await getStoryArgs(page, storyExport); const input = page.locator(`.${storyExport}`).getByTestId('test-field'); const errorElement = input.locator('.error-label'); await expect(errorElement).toHaveCount(1); await expect(errorElement).toHaveText(args?.error as string); }); - }); + }; }; -export const testValueBehaviour = (tagName: string, storyExport = 'Value') => { - test(`${toComponentName(tagName)} - ${storyExport} Behaviour`, async ({ page }) => { +export const testValueBehaviour = (tagName: string, storyExport = 'Value'): TestFunction => { + return async ({ page }) => { await withCoverage(page, async () => { await page.goto(`/components/${asDirectoryName(tagName)}/`); await page.waitForSelector('[data-testid]', {}); - const args = (await page - .locator(`story-renderer[key=${storyExport}]`) - .evaluate((storyRenderer) => (storyRenderer as any).story.args)) as BaseArgs; + const args = await getStoryArgs(page, storyExport); const input = page.locator(`.${storyExport}`).getByTestId('test-field'); const inputField = input.locator('input#inputField'); await expect(inputField).toHaveValue(args?.value?.toString() as string); }); - }); + }; }; -export const testPrefixBehaviour = (tagName: string, storyExport = 'Prefix') => { - test(`${toComponentName(tagName)} - ${storyExport} Behaviour`, async ({ page }) => { +export const testPrefixBehaviour = (tagName: string, storyExport = 'Prefix'): TestFunction => { + return async ({ page }) => { await withCoverage(page, async () => { await page.goto(`/components/${asDirectoryName(tagName)}/`); await page.waitForSelector('[data-testid]', {}); - const args = (await page - .locator(`story-renderer[key=${storyExport}]`) - .evaluate((storyRenderer) => (storyRenderer as any).story.args)) as BaseArgs; const input = page.locator(`.${storyExport}`).getByTestId('test-field'); const slotElement = input.locator('slot[name=prefix]'); @@ -108,19 +98,16 @@ export const testPrefixBehaviour = (tagName: string, storyExport = 'Prefix') => ).asElement(); await expect(foundSlottedSvgElement).toBeTruthy(); }); - }); + }; }; -export const testSuffixBehaviour = (tagName: string, storyExport = 'Suffix') => { - test(`${toComponentName(tagName)} - ${storyExport} Behaviour`, async ({ page }) => { +export const testSuffixBehaviour = (tagName: string, storyExport = 'Suffix'): TestFunction => { + return async ({ page }) => { await withCoverage(page, async () => { await page.goto(`/components/${asDirectoryName(tagName)}/`); await page.waitForSelector('[data-testid]', {}); - const args = (await page - .locator(`story-renderer[key=${storyExport}]`) - .evaluate((storyRenderer) => (storyRenderer as any).story.args)) as BaseArgs; const input = page.locator(`.${storyExport}`).getByTestId('test-field'); const slotElement = input.locator('slot[name=suffix]'); @@ -131,19 +118,16 @@ export const testSuffixBehaviour = (tagName: string, storyExport = 'Suffix') => ).asElement(); await expect(foundSlottedSvgElement).toBeTruthy(); }); - }); + }; }; -export const testClearableBehaviour = (tagName: string, storyExport = 'Clearable') => { - test(`${toComponentName(tagName)} - ${storyExport} Behaviour`, async ({ page }) => { +export const testClearableBehaviour = (tagName: string, storyExport = 'Clearable'): TestFunction => { + return async ({ page }) => { await withCoverage(page, async () => { await page.goto(`/components/${asDirectoryName(tagName)}/`); await page.waitForSelector('[data-testid]', {}); - const args = (await page - .locator(`story-renderer[key=${storyExport}]`) - .evaluate((storyRenderer) => (storyRenderer as any).story.args)) as BaseArgs; const input = page.locator(`.${storyExport}`).getByTestId('test-field'); //Clearable attribute test. @@ -151,22 +135,19 @@ export const testClearableBehaviour = (tagName: string, storyExport = 'Clearable const clearButton = input.locator('#clear-click'); await clearButton.click(); - + // Evaluate the value after clearing. await expect(await input.evaluate((i: OmniFormElement) => !i.value || i.value === '0.00')).toBeTruthy(); }); - }); + }; }; -export const testCustomClearableSlotBehaviour = (tagName: string, storyExport = 'Custom_Clear_Slot') => { - test(`${toComponentName(tagName)} - ${storyExport} Behaviour`, async ({ page }) => { +export const testCustomClearableSlotBehaviour = (tagName: string, storyExport = 'Custom_Clear_Slot'): TestFunction => { + return async ({ page }) => { await withCoverage(page, async () => { await page.goto(`/components/${asDirectoryName(tagName)}/`); await page.waitForSelector('[data-testid]', {}); - const args = (await page - .locator(`story-renderer[key=${storyExport}]`) - .evaluate((storyRenderer) => (storyRenderer as any).story.args)) as BaseArgs; const input = page.locator(`.${storyExport}`).getByTestId('test-field'); //Clearable attribute test. @@ -177,36 +158,32 @@ export const testCustomClearableSlotBehaviour = (tagName: string, storyExport = await expect(await input.evaluate((i: OmniFormElement) => !i.value || i.value === '0.00')).toBeTruthy(); }); - }); + }; }; -export const testDisabledBehaviour = (tagName: string, storyExport = 'Disabled') => { - test(`${toComponentName(tagName)} - ${storyExport} Behaviour`, async ({ page }) => { +export const testDisabledBehaviour = (tagName: string, storyExport = 'Disabled'): TestFunction => { + return async ({ page }) => { await withCoverage(page, async () => { await page.goto(`/components/${asDirectoryName(tagName)}/`); await page.waitForSelector('[data-testid]', {}); - const args = (await page - .locator(`story-renderer[key=${storyExport}]`) - .evaluate((storyRenderer) => (storyRenderer as any).story.args)) as BaseArgs; const input = page.locator(`.${storyExport}`).getByTestId('test-field'); //Disabled class test. await expect(input).toHaveAttribute('disabled', ''); //Input event test. - const inputTest = jestMock.fn(); - await page.exposeFunction('jestInput', () => inputTest()); - await input.evaluate((node) => { - node.addEventListener('input', () => (window as any).jestInput()); - }); + const inputTest = await mockEventListener(input, 'input'); const inputField = input.locator('input#inputField'); await inputField.type('Value Update 3'); - + // Confirm that mock input event is called zero times await expect(inputTest).toBeCalledTimes(0); }); - }); + }; }; + +export type TestArgs = PlaywrightTestArgs & PlaywrightTestOptions & PlaywrightWorkerArgs & PlaywrightWorkerOptions; +export type TestFunction = (args: TestArgs, testInfo: TestInfo) => Promise; diff --git a/src/currency-field/CurrencyField.spec.ts b/src/currency-field/CurrencyField.spec.ts index 05f3e12d6..7dd5a0728 100644 --- a/src/currency-field/CurrencyField.spec.ts +++ b/src/currency-field/CurrencyField.spec.ts @@ -1,4 +1,3 @@ -import * as jestMock from 'jest-mock'; import { testLabelBehaviour, testHintBehaviour, @@ -10,14 +9,13 @@ import { testSuffixBehaviour, testDisabledBehaviour } from '../core/OmniInputPlaywright.js'; -import { test, expect, withCoverage /*keyboardPaste, clipboardCopy*/ } from '../utils/JestPlaywright.js'; +import { test, expect, mockEventListener, withCoverage /*keyboardPaste, clipboardCopy*/ } from '../utils/JestPlaywright.js'; import type { CurrencyField } from './CurrencyField.js'; -test(`Currency Field - Visual and Behaviour`, async ({ page, isMobile }) => { +test(`Currency Field - Visual and Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/currency-field/'); - const args = await page.locator('story-renderer[key=Interactive]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const currencyField = page.locator('.Interactive').getByTestId('test-currency-field'); await currencyField.evaluate(async (c: CurrencyField) => { @@ -39,11 +37,7 @@ test(`Currency Field - Visual and Behaviour`, async ({ page, isMobile }) => { await inputField.blur(); await expect(currencyField).toHaveScreenshot('currency-field-blurred.png'); - const beforeinput = jestMock.fn(); - await page.exposeFunction('jestbeforeinput', () => beforeinput()); - await currencyField.evaluate((node) => { - node.addEventListener('beforeinput', () => (window as any).jestbeforeinput()); - }); + const beforeinput = await mockEventListener(currencyField, 'beforeinput'); const value = '120000015'; await inputField.type(value); @@ -107,12 +101,12 @@ test(`Currency Field - Visual and Behaviour`, async ({ page, isMobile }) => { }); }); -testLabelBehaviour('omni-currency-field'); -testHintBehaviour('omni-currency-field'); -testErrorBehaviour('omni-currency-field'); -testValueBehaviour('omni-currency-field'); -testClearableBehaviour('omni-currency-field'); -testCustomClearableSlotBehaviour('omni-currency-field'); -testPrefixBehaviour('omni-currency-field'); -testSuffixBehaviour('omni-currency-field'); -testDisabledBehaviour('omni-currency-field'); +test('Currency Field - Label Behaviour', testLabelBehaviour('omni-currency-field')); +test('Currency Field - Hint Behaviour', testHintBehaviour('omni-currency-field')); +test('Currency Field - Error Behaviour', testErrorBehaviour('omni-currency-field')); +test('Currency Field - Value Behaviour', testValueBehaviour('omni-currency-field')); +test('Currency Field - Clearable Behaviour', testClearableBehaviour('omni-currency-field')); +test('Currency Field - Custom Clear Slot Behaviour', testCustomClearableSlotBehaviour('omni-currency-field')); +test('Currency Field - Prefix Behaviour', testPrefixBehaviour('omni-currency-field')); +test('Currency Field - Suffix Behaviour', testSuffixBehaviour('omni-currency-field')); +test('Currency Field - Disabled Behaviour', testDisabledBehaviour('omni-currency-field')); diff --git a/src/currency-field/CurrencyField.stories.ts b/src/currency-field/CurrencyField.stories.ts index 5515997b3..e536a3fad 100644 --- a/src/currency-field/CurrencyField.stories.ts +++ b/src/currency-field/CurrencyField.stories.ts @@ -1,7 +1,3 @@ -import { waitFor, within } from '@testing-library/dom'; -import userEvent from '@testing-library/user-event'; -import { setUIValueClean } from '@testing-library/user-event/dist/esm/document/UI.js'; -import * as jest from 'jest-mock'; import { html, nothing } from 'lit'; import { unsafeHTML } from 'lit/directives/unsafe-html.js'; import { @@ -17,17 +13,11 @@ import { SuffixStory } from '../core/OmniInputStories.js'; import { ifNotEmpty } from '../utils/Directives.js'; -import expect from '../utils/ExpectDOM.js'; -import { assignToSlot, ComponentStoryFormat, CSFIdentifier, getSourceFromLit } from '../utils/StoryUtils.js'; +import { assignToSlot, ComponentStoryFormat, getSourceFromLit } from '../utils/StoryUtils.js'; import { CurrencyField } from './CurrencyField.js'; import './CurrencyField.js'; -export default { - title: 'UI Components/Currency Field', - component: 'omni-currency-field' -} as CSFIdentifier; - interface Args extends BaseArgs { fractionalPrecision: number; fractionalSeparator: string; diff --git a/src/date-picker/DatePicker.spec.ts b/src/date-picker/DatePicker.spec.ts index 8356b3e52..a2b2ef645 100644 --- a/src/date-picker/DatePicker.spec.ts +++ b/src/date-picker/DatePicker.spec.ts @@ -1,6 +1,4 @@ -import * as jestMock from 'jest-mock'; import { DateTime } from 'luxon'; -import type { Calendar } from '../calendar/Calendar.js'; import { testLabelBehaviour, testHintBehaviour, @@ -10,16 +8,15 @@ import { testPrefixBehaviour, testSuffixBehaviour } from '../core/OmniInputPlaywright.js'; -import { test, expect, withCoverage, type Page } from '../utils/JestPlaywright.js'; +import { test, expect, getStoryArgs, mockEventListener, withCoverage, type Page } from '../utils/JestPlaywright.js'; import type { DatePicker } from './DatePicker.js'; -test(`Date Picker - Visual and Behaviour`, async ({ page, isMobile }) => { +test(`Date Picker - Visual and Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/date-picker/'); await page.waitForSelector('[data-testid]', {}); - const args = await page.locator('story-renderer[key=Value]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const datePicker = page.locator('.Value').getByTestId('test-date-picker'); // Prepare test data @@ -90,13 +87,12 @@ test(`Date Picker - Visual and Behaviour`, async ({ page, isMobile }) => { }); }); -test(`Date Picker - Value Behaviour`, async ({ page, isMobile }) => { +test(`Date Picker - Value Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/date-picker/'); await page.waitForSelector('[data-testid]', {}); - const args = await page.locator('story-renderer[key=Value]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const datePicker = page.locator('.Value').getByTestId('test-date-picker'); await datePicker.evaluate(async (d: DatePicker) => { d.value = '2023-01-01'; @@ -114,7 +110,7 @@ test(`Date Picker - Value Behaviour`, async ({ page, isMobile }) => { }); }); -test(`Date Picker - Locale Behaviour`, async ({ page, isMobile }) => { +test(`Date Picker - Locale Behaviour`, async ({ page }) => { await withCoverage(page, async () => { const localDate = DateTime.fromISO('2022-06-21'); const isoDate = localDate.toISODate() as string; @@ -124,7 +120,6 @@ test(`Date Picker - Locale Behaviour`, async ({ page, isMobile }) => { await page.waitForSelector('[data-testid]', {}); - const args = await page.locator('story-renderer[key=Locale]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const datePicker = page.locator('.Locale').getByTestId('test-date-picker'); // Prepare test data @@ -158,7 +153,7 @@ test(`Date Picker - Min Date Behaviour`, async ({ page }) => { await page.waitForSelector('[data-testid]', {}); - const args = await page.locator('story-renderer[key=Min_Date]').evaluate((storyRenderer) => (storyRenderer as any).story.args); + const args = await getStoryArgs(page, 'Min_Date'); const datePicker = page.locator('.Min_Date').getByTestId('test-date-picker'); await datePicker.evaluate(async (d: DatePicker, args) => { d.value = args.value; @@ -206,7 +201,7 @@ test(`Date Picker - Max Date Behaviour`, async ({ page }) => { await page.waitForSelector('[data-testid]', {}); - const args = await page.locator('story-renderer[key=Max_Date]').evaluate((storyRenderer) => (storyRenderer as any).story.args); + const args = await getStoryArgs(page, 'Max_Date'); const datePicker = page.locator('.Max_Date').getByTestId('test-date-picker'); await datePicker.evaluate(async (d: DatePicker, args) => { d.value = args.value; @@ -248,13 +243,13 @@ test(`Date Picker - Max Date Behaviour`, async ({ page }) => { }); }); -testLabelBehaviour('omni-date-picker'); -testHintBehaviour('omni-date-picker'); -testErrorBehaviour('omni-date-picker'); -testClearableBehaviour('omni-date-picker'); -testCustomClearableSlotBehaviour('omni-date-picker'); -testPrefixBehaviour('omni-date-picker'); -testSuffixBehaviour('omni-date-picker'); +test('Date Picker - Label Behaviour', testLabelBehaviour('omni-date-picker')); +test('Date Picker - Hint Behaviour', testHintBehaviour('omni-date-picker')); +test('Date Picker - Error Behaviour', testErrorBehaviour('omni-date-picker')); +test('Date Picker - Clearable Behaviour', testClearableBehaviour('omni-date-picker')); +test('Date Picker - Custom Clear Slot Behaviour', testCustomClearableSlotBehaviour('omni-date-picker')); +test('Date Picker - Prefix Behaviour', testPrefixBehaviour('omni-date-picker')); +test('Date Picker - Suffix Behaviour', testSuffixBehaviour('omni-date-picker')); test(`Date Picker - Disabled Behaviour`, async ({ page, isMobile }) => { await withCoverage(page, async () => { @@ -262,7 +257,7 @@ test(`Date Picker - Disabled Behaviour`, async ({ page, isMobile }) => { await page.waitForSelector('[data-testid]', {}); - const args = await page.locator('story-renderer[key=Disabled]').evaluate((storyRenderer) => (storyRenderer as any).story.args); + const args = await getStoryArgs(page, 'Disabled'); const datePicker = page.locator('.Disabled').getByTestId('test-date-picker'); await datePicker.evaluate(async (d: DatePicker, args) => { d.value = args.value; @@ -272,12 +267,7 @@ test(`Date Picker - Disabled Behaviour`, async ({ page, isMobile }) => { await expect(datePicker).toHaveScreenshot('date-picker-initial.png'); - //Click event test. - const click = jestMock.fn(); - await page.exposeFunction('jestClick', () => click()); - await datePicker.evaluate((node) => { - node.addEventListener('click', () => (window as any).jestClick()); - }); + const click = await mockEventListener(datePicker, 'click'); await datePicker.click({ force: true diff --git a/src/date-picker/DatePicker.stories.ts b/src/date-picker/DatePicker.stories.ts index d4a23b402..32f29bc95 100644 --- a/src/date-picker/DatePicker.stories.ts +++ b/src/date-picker/DatePicker.stories.ts @@ -1,10 +1,6 @@ -import { waitFor, within } from '@testing-library/dom'; -import userEvent from '@testing-library/user-event'; -import * as jest from 'jest-mock'; import { html, nothing } from 'lit'; import { unsafeHTML } from 'lit/directives/unsafe-html.js'; import { DateTime } from 'luxon'; -import { Calendar } from '../calendar/Calendar.js'; import { LabelStory, BaseArgs, @@ -13,22 +9,14 @@ import { HintStory, ErrorStory, PrefixStory, - SuffixStory, - DisabledStory + SuffixStory } from '../core/OmniInputStories.js'; import { ifNotEmpty } from '../utils/Directives.js'; -import expect from '../utils/ExpectDOM.js'; -import { assignToSlot, ComponentStoryFormat, CSFIdentifier, getSourceFromLit, querySelectorAsync } from '../utils/StoryUtils.js'; +import { assignToSlot, ComponentStoryFormat, getSourceFromLit } from '../utils/StoryUtils.js'; import { DatePicker } from './DatePicker'; import './DatePicker.js'; - -export default { - title: 'UI Components/DatePicker', - component: 'omni-date-picker' -} as CSFIdentifier; - -interface Args extends BaseArgs { +export interface Args extends BaseArgs { locale: string; minDate?: string; maxDate?: string; diff --git a/src/email-field/EmailField.spec.ts b/src/email-field/EmailField.spec.ts index 0ad8be179..2665d1ffc 100644 --- a/src/email-field/EmailField.spec.ts +++ b/src/email-field/EmailField.spec.ts @@ -1,4 +1,3 @@ -import * as jestMock from 'jest-mock'; import { testLabelBehaviour, testHintBehaviour, @@ -10,10 +9,10 @@ import { testSuffixBehaviour, testDisabledBehaviour } from '../core/OmniInputPlaywright.js'; -import { test, expect, withCoverage } from '../utils/JestPlaywright.js'; +import { test, expect, mockEventListener, withCoverage } from '../utils/JestPlaywright.js'; import type { EmailField } from './EmailField.js'; -test(`Email Field - Interactive`, async ({ page, browserName }) => { +test(`Email Field - Visual and Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/email-field/'); await page.evaluate(() => document.fonts.ready); @@ -25,11 +24,7 @@ test(`Email Field - Interactive`, async ({ page, browserName }) => { }); await expect(emailField).toHaveScreenshot('email-field.png'); - const inputFn = jestMock.fn(); - await page.exposeFunction('jestInput', () => inputFn()); - await emailField.evaluate((node) => { - node.addEventListener('input', () => (window as any).jestInput()); - }); + const inputFn = await mockEventListener(emailField, 'input'); const inputField = emailField.locator('#inputField'); @@ -43,12 +38,12 @@ test(`Email Field - Interactive`, async ({ page, browserName }) => { }); }); -testLabelBehaviour('omni-email-field'); -testHintBehaviour('omni-email-field'); -testErrorBehaviour('omni-email-field'); -testValueBehaviour('omni-email-field'); -testClearableBehaviour('omni-email-field'); -testCustomClearableSlotBehaviour('omni-email-field'); -testPrefixBehaviour('omni-email-field'); -testSuffixBehaviour('omni-email-field'); -testDisabledBehaviour('omni-email-field'); +test('Email Field - Label Behaviour', testLabelBehaviour('omni-email-field')); +test('Email Field - Hint Behaviour', testHintBehaviour('omni-email-field')); +test('Email Field - Error Behaviour', testErrorBehaviour('omni-email-field')); +test('Email Field - Value Behaviour', testValueBehaviour('omni-email-field')); +test('Email Field - Clearable Behaviour', testClearableBehaviour('omni-email-field')); +test('Email Field - Custom Clear Slot Behaviour', testCustomClearableSlotBehaviour('omni-email-field')); +test('Email Field - Prefix Behaviour', testPrefixBehaviour('omni-email-field')); +test('Email Field - Suffix Behaviour', testSuffixBehaviour('omni-email-field')); +test('Email Field - Disabled Behaviour', testDisabledBehaviour('omni-email-field')); diff --git a/src/email-field/EmailField.stories.ts b/src/email-field/EmailField.stories.ts index fb555c71e..de6b4c2ce 100644 --- a/src/email-field/EmailField.stories.ts +++ b/src/email-field/EmailField.stories.ts @@ -1,7 +1,3 @@ -import { waitFor, within } from '@testing-library/dom'; -import userEvent from '@testing-library/user-event'; -import { setUIValueClean } from '@testing-library/user-event/dist/esm/document/UI.js'; -import * as jest from 'jest-mock'; import { html, nothing } from 'lit'; import { unsafeHTML } from 'lit/directives/unsafe-html.js'; import { @@ -17,17 +13,11 @@ import { SuffixStory } from '../core/OmniInputStories.js'; import { ifNotEmpty } from '../utils/Directives.js'; -import expect from '../utils/ExpectDOM.js'; -import { assignToSlot, ComponentStoryFormat, CSFIdentifier, getSourceFromLit } from '../utils/StoryUtils.js'; +import { assignToSlot, ComponentStoryFormat, getSourceFromLit } from '../utils/StoryUtils.js'; import { EmailField } from './EmailField.js'; import './EmailField.js'; -export default { - title: 'UI Components/Email Field', - component: 'omni-email-field' -} as CSFIdentifier; - export const Interactive: ComponentStoryFormat = { render: (args: BaseArgs) => html` = { }; export const Label = LabelStory('omni-email-field'); - export const Hint = HintStory('omni-email-field'); - export const Error_Label = ErrorStory('omni-email-field'); - export const Value = ValueStory('omni-email-field', 'johndoe@gmail.com'); - export const Clearable = ClearableStory('omni-email-field', 'johndoe@gmail.com'); - export const Custom_Clear_Slot = CustomClearableSlot('omni-email-field', 'johndoe@gmail.com'); - export const Prefix = PrefixStory('omni-email-field'); - export const Suffix = SuffixStory('omni-email-field'); - export const Disabled = DisabledStory('omni-email-field', 'johndoe@gmail.com'); diff --git a/src/hyperlink/Hyperlink.spec.ts b/src/hyperlink/Hyperlink.spec.ts index 7346f8663..6319f41f8 100644 --- a/src/hyperlink/Hyperlink.spec.ts +++ b/src/hyperlink/Hyperlink.spec.ts @@ -1,20 +1,15 @@ -import * as jestMock from 'jest-mock'; -import { test, expect, withCoverage } from '../utils/JestPlaywright.js'; +import { test, expect, getStoryArgs, mockEventListener, withCoverage } from '../utils/JestPlaywright.js'; test(`Hyperlink - Visual and Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/hyperlink/'); - const args = await page.locator('story-renderer[key=Interactive]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const hyperlink = page.locator('.Interactive').getByTestId('test-hyperlink'); await expect(hyperlink).toHaveScreenshot('hyperlink-initial.png'); - const click = jestMock.fn(); - await page.exposeFunction('jestClick', () => click()); - await hyperlink.evaluate((node) => { - node.addEventListener('click', () => (window as any).jestClick()); - }); + const click = await mockEventListener(hyperlink, 'click'); + await hyperlink.click({ force: true }); @@ -30,7 +25,7 @@ test(`Hyperlink - Label Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/hyperlink/'); - const args = await page.locator('story-renderer[key=Label]').evaluate((storyRenderer) => (storyRenderer as any).story.args); + const args = await getStoryArgs(page, 'Label'); const hyperlink = page.locator('.Label').getByTestId('test-hyperlink'); await expect(hyperlink).toHaveScreenshot('hyperlink-initial.png'); @@ -53,12 +48,12 @@ test(`Hyperlink - Href Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/hyperlink/'); - const args = await page.locator('story-renderer[key=Href]').evaluate((storyRenderer) => (storyRenderer as any).story.args); + const args = await getStoryArgs(page, 'Href'); const hyperlink = page.locator('.Href').getByTestId('test-hyperlink'); await expect(hyperlink).toHaveScreenshot('hyperlink-initial.png'); - // Start waiting for popup before clicking. Note no await. + // Start waiting for popup before clicking. Note there is no await, rather the promise is kept as a reference const popupPromise = page.waitForEvent('popup'); await hyperlink.click(); @@ -77,16 +72,12 @@ test(`Hyperlink - Disabled Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/hyperlink/'); - const args = await page.locator('story-renderer[key=Disabled]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const hyperlink = page.locator('.Disabled').getByTestId('test-hyperlink'); await expect(hyperlink).toHaveScreenshot('hyperlink-initial.png'); - const click = jestMock.fn(); - await page.exposeFunction('jestClick', () => click()); - await hyperlink.evaluate((node) => { - node.addEventListener('click', () => (window as any).jestClick()); - }); + const click = await mockEventListener(hyperlink, 'click'); + await hyperlink.click({ force: true }); diff --git a/src/hyperlink/Hyperlink.stories.ts b/src/hyperlink/Hyperlink.stories.ts index 71ad4fe4d..fba069977 100644 --- a/src/hyperlink/Hyperlink.stories.ts +++ b/src/hyperlink/Hyperlink.stories.ts @@ -1,28 +1,12 @@ -import { within } from '@testing-library/dom'; -import userEvent from '@testing-library/user-event'; -import * as jest from 'jest-mock'; import { html } from 'lit'; import { unsafeHTML } from 'lit/directives/unsafe-html.js'; import { ifNotEmpty } from '../utils/Directives.js'; -import expect from '../utils/ExpectDOM.js'; -import { ComponentStoryFormat, CSFIdentifier, getSourceFromLit } from '../utils/StoryUtils.js'; +import { ComponentStoryFormat, getSourceFromLit } from '../utils/StoryUtils.js'; import './Hyperlink.js'; const linkTarget = ['_self', '_blank', '_parent', '_top'] as const; -export default { - title: 'UI Components/Hyperlink', - component: 'omni-hyperlink', - argTypes: { - size: { control: 'radio', options: ['default', 'small'] }, - target: { control: 'radio', options: linkTarget }, - '[Default Slot]': { - control: 'text' - } - } -} as CSFIdentifier; - -interface Args { +export interface Args { label: string; href: string; target: (typeof linkTarget)[number]; diff --git a/src/icon/Icon.spec.ts b/src/icon/Icon.spec.ts index 778bb58a0..2a72d9da7 100644 --- a/src/icon/Icon.spec.ts +++ b/src/icon/Icon.spec.ts @@ -64,8 +64,8 @@ test(`Icon - Symmetrical Visual and Behaviour`, async ({ page }) => { const svg = icon.locator('svg'); const svgWidth = await svg.evaluate((s) => s.clientWidth); const svgHeight = await svg.evaluate((s) => s.clientHeight); - await expect(svgWidth).toEqual(svgHeight); + await expect(svgWidth).toEqual(svgHeight); await expect(icon).toHaveScreenshot('icon-initial.png'); }); }); diff --git a/src/icon/Icon.stories.ts b/src/icon/Icon.stories.ts index 445342175..bf9c582eb 100644 --- a/src/icon/Icon.stories.ts +++ b/src/icon/Icon.stories.ts @@ -3,17 +3,11 @@ import { html } from 'lit'; import { unsafeHTML } from 'lit/directives/unsafe-html.js'; import { ifNotEmpty } from '../utils/Directives.js'; import expect from '../utils/ExpectDOM.js'; -import { ComponentStoryFormat, CSFIdentifier, getSourceFromLit, raw } from '../utils/StoryUtils.js'; +import { ComponentStoryFormat, getSourceFromLit, raw } from '../utils/StoryUtils.js'; import { Icon } from './Icon.js'; import './Icon.js'; const sizeOptions = ['default', 'extra-small', 'small', 'medium', 'large'] as const; - -export default { - title: 'UI Components/Icon', - component: 'omni-icon' -} as CSFIdentifier; - interface Args { size: (typeof sizeOptions)[number]; icon: string; diff --git a/src/keyboard/Keyboard.spec.ts b/src/keyboard/Keyboard.spec.ts index 15c9568df..317a1ed24 100644 --- a/src/keyboard/Keyboard.spec.ts +++ b/src/keyboard/Keyboard.spec.ts @@ -1,28 +1,9 @@ -import * as jestMock from 'jest-mock'; import { test, expect, withCoverage } from '../utils/JestPlaywright.js'; -/*import { - type Keyboard, - type EnterKeyHint, - type InputEventInitWithType, - type InputEventTypes, - type InputMode, - type KeyboardInit, - type KeyboardMode, - attachAttribute, - explicitKeyboardMode, - hiddenAttribute, - maskAttribute, - multiLineAttribute, - noDisplayValueAttribute -} from './Keyboard.js';*/ - -// keyboard-script-generated test(`Keyboard - Visual and Behaviour`, async ({ page, isMobile }) => { await withCoverage(page, async () => { await page.goto('/components/keyboard/'); - const args = await page.locator('story-renderer[key=Interactive]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const container = page.locator('.Interactive'); const keyboard = container.locator('#keyboard-interactive'); const keyboardArea = keyboard.locator('.footer').first(); @@ -114,13 +95,10 @@ test(`Keyboard - Visual and Behaviour`, async ({ page, isMobile }) => { /* 'enter' | 'go' | 'done' | 'next' | 'previous' | 'search' | 'send' */ -test(`Keyboard - Enter Key Hint Variations`, async ({ page, isMobile }) => { +test(`Keyboard - Enter Key Hint Variations`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/keyboard/'); - const args = await page - .locator('story-renderer[key=Enter_Key_Hint_Variations]') - .evaluate((storyRenderer) => (storyRenderer as any).story.args); const container = page.locator('.Enter_Key_Hint_Variations'); const keyboard = page.locator('#keyboard-interactive'); const keyboardArea = keyboard.locator('.footer').first(); diff --git a/src/keyboard/Keyboard.stories.ts b/src/keyboard/Keyboard.stories.ts index d468519c2..eaa164580 100644 --- a/src/keyboard/Keyboard.stories.ts +++ b/src/keyboard/Keyboard.stories.ts @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-non-null-assertion */ import { html, nothing } from 'lit'; import { unsafeHTML } from 'lit/directives/unsafe-html.js'; -import { assignToSlot, ComponentStoryFormat, CSFIdentifier, raw, getSourceFromLit } from '../utils/StoryUtils.js'; +import { assignToSlot, ComponentStoryFormat, raw, getSourceFromLit } from '../utils/StoryUtils.js'; import { Keyboard } from './Keyboard.js'; import './Keyboard.js'; @@ -16,11 +16,6 @@ import '../label'; import '../button'; import '../switch'; -export default { - title: 'UI Components/Keyboard', - component: 'omni-keyboard' -} as CSFIdentifier; - interface Args { clearLabel: string; spaceLabel: string; diff --git a/src/label/Label.spec.ts b/src/label/Label.spec.ts index e4d2cd560..312542449 100644 --- a/src/label/Label.spec.ts +++ b/src/label/Label.spec.ts @@ -1,10 +1,10 @@ -import { test, expect, withCoverage } from '../utils/JestPlaywright.js'; +import { test, expect, getStoryArgs, withCoverage } from '../utils/JestPlaywright.js'; test(`Label - Visual and Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/label/'); - const args = await page.locator('story-renderer[key=Interactive]').evaluate((storyRenderer) => (storyRenderer as any).story.args); + const args = await getStoryArgs(page, 'Interactive'); const label = page.locator('.Interactive').getByTestId('test-label'); await expect(label).toHaveScreenshot('label-initial.png'); diff --git a/src/label/Label.stories.ts b/src/label/Label.stories.ts index f21c1b913..2b6e1f8de 100644 --- a/src/label/Label.stories.ts +++ b/src/label/Label.stories.ts @@ -1,31 +1,12 @@ -import { within } from '@testing-library/dom'; import { html } from 'lit'; import { unsafeHTML } from 'lit/directives/unsafe-html.js'; import { ifNotEmpty } from '../utils/Directives.js'; -import expect from '../utils/ExpectDOM.js'; -import { ComponentStoryFormat, CSFIdentifier } from '../utils/StoryUtils.js'; -import { Label } from './Label.js'; +import { ComponentStoryFormat } from '../utils/StoryUtils.js'; import './Label.js'; const labelOptions = ['default', 'title', 'subtitle', 'strong'] as const; -export default { - title: 'UI Components/Label', - component: 'omni-label', - argTypes: { - type: { - control: { - type: 'radio', - options: labelOptions - }, - '[Default Slot]': { - control: 'text' - } - } - } -} as CSFIdentifier; - -interface Args { +export interface Args { label: string; type: (typeof labelOptions)[number]; '[Default Slot]': string; diff --git a/src/modal/Modal.spec.ts b/src/modal/Modal.spec.ts index 014795d14..607905ace 100644 --- a/src/modal/Modal.spec.ts +++ b/src/modal/Modal.spec.ts @@ -1,12 +1,10 @@ -import * as jestMock from 'jest-mock'; -import { test, expect, withCoverage } from '../utils/JestPlaywright.js'; +import { test, expect, mockEventListener, withCoverage } from '../utils/JestPlaywright.js'; import type { Modal } from './Modal.js'; test(`Modal - Visual and Behaviour`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/modal/'); - const args = await page.locator('story-renderer[key=Interactive]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const container = page.locator('.Interactive'); const modal = container.getByTestId('test-modal'); const dialog = modal.locator('dialog'); @@ -23,11 +21,7 @@ test(`Modal - Visual and Behaviour`, async ({ page }) => { await expect(dialog).toHaveScreenshot('modal-dialog-open.png'); await expect(modal).not.toHaveAttribute('hide', ''); - const clickOutside = jestMock.fn(); - await page.exposeFunction('jestClickOutside', () => clickOutside()); - await modal.evaluate((node) => { - node.addEventListener('click-outside', () => (window as any).jestClickOutside()); - }); + const clickOutside = await mockEventListener(modal, 'click-outside'); await dialog.click({ force: true, @@ -48,7 +42,6 @@ test(`Modal - Header Label Visual`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/modal/'); - const args = await page.locator('story-renderer[key=Header_Label]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const container = page.locator('.Header_Label'); const modal = container.getByTestId('test-modal'); const dialog = modal.locator('dialog'); @@ -69,7 +62,6 @@ test(`Modal - Header Align Visual`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/modal/'); - const args = await page.locator('story-renderer[key=Header_Align]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const container = page.locator('.Header_Align'); const modal = container.getByTestId('test-modal'); const dialog = modal.locator('dialog'); @@ -90,7 +82,6 @@ test(`Modal - Header Slot Visual`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/modal/'); - const args = await page.locator('story-renderer[key=Header_Slot]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const container = page.locator('.Header_Slot'); const modal = container.getByTestId('test-modal'); const dialog = modal.locator('dialog'); @@ -111,7 +102,6 @@ test(`Modal - No Header Visual`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/modal/'); - const args = await page.locator('story-renderer[key=No_Header]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const container = page.locator('.No_Header'); const modal = container.getByTestId('test-modal'); const dialog = modal.locator('dialog'); @@ -132,7 +122,6 @@ test(`Modal - Footer Slot Visual`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/modal/'); - const args = await page.locator('story-renderer[key=Footer_Slot]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const container = page.locator('.Footer_Slot'); const modal = container.getByTestId('test-modal'); const dialog = modal.locator('dialog'); @@ -153,7 +142,6 @@ test(`Modal - Scripted Modal Visual`, async ({ page }) => { await withCoverage(page, async () => { await page.goto('/components/modal/'); - const args = await page.locator('story-renderer[key=Scripted_Modal]').evaluate((storyRenderer) => (storyRenderer as any).story.args); const container = page.locator('.Scripted_Modal'); const modal = page.getByTestId('test-modal-scripted'); const dialog = modal.locator('dialog'); diff --git a/src/modal/Modal.stories.ts b/src/modal/Modal.stories.ts index 1bfc634b5..9eb333bff 100644 --- a/src/modal/Modal.stories.ts +++ b/src/modal/Modal.stories.ts @@ -1,23 +1,12 @@ -import { within, fireEvent, waitFor } from '@testing-library/dom'; -import userEvent from '@testing-library/user-event'; -import * as jest from 'jest-mock'; import { TemplateResult, html, nothing } from 'lit'; import { unsafeHTML } from 'lit/directives/unsafe-html.js'; -import { Button } from '../button/Button.js'; -import { RenderElement } from '../render-element/RenderElement.js'; import { ifNotEmpty } from '../utils/Directives.js'; -import expect from '../utils/ExpectDOM.js'; -import { assignToSlot, ComponentStoryFormat, CSFIdentifier, getSourceFromLit, querySelectorAsync, raw } from '../utils/StoryUtils.js'; +import { assignToSlot, ComponentStoryFormat, getSourceFromLit, raw } from '../utils/StoryUtils.js'; import { Modal } from './Modal.js'; import './Modal.js'; import '../button/Button.js'; -export default { - title: 'UI Components/Modal', - component: 'omni-modal' -} as CSFIdentifier; - interface Args { headerLabel: string; headerAlign: 'left' | 'center' | 'right'; @@ -732,23 +721,6 @@ const App = () => Body Content`, hide: true, noFooter: true - }, - play: async (context) => { - let modal = within(context.canvasElement).getByTestId('test-modal'); - await expect(modal && !modal.hide).toBeFalsy(); - - const btn = within(context.canvasElement).getByTestId