diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 8f26aaa191..dcc1894424 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -164,3 +164,114 @@ jobs:
- run: npm run build:storage:lite
- run: npm run test:sync
- run: npm run test:sync:schematics
+
+ test-visual:
+ name: Test visual regression
+
+ runs-on: ubuntu-latest
+
+ steps:
+
+ - uses: actions/checkout@v3
+
+ - uses: actions/setup-node@v3
+ with:
+ node-version: 24
+
+ # Detecta o nome da branch atual
+ - name: Get branch name
+ id: branch
+ env:
+ HEAD_REF: ${{ github.head_ref }}
+ REF_NAME: ${{ github.ref_name }}
+ EVENT_NAME: ${{ github.event_name }}
+ run: |
+ if [ "$EVENT_NAME" = "pull_request" ]; then
+ BRANCH_NAME="$HEAD_REF"
+ else
+ BRANCH_NAME="$REF_NAME"
+ fi
+ echo "name=$BRANCH_NAME" >> $GITHUB_OUTPUT
+ echo "Branch name: $BRANCH_NAME"
+
+ # Verifica se existe uma branch de mesmo nome no po-style
+ - name: Check for matching po-style branch
+ id: po_style
+ env:
+ BRANCH_NAME: ${{ steps.branch.outputs.name }}
+ run: |
+ ENCODED_BRANCH=$(echo "$BRANCH_NAME" | sed 's|/|%2F|g')
+ HTTP_STATUS=$(curl -s -o /dev/null -w "%{http_code}" \
+ "https://api.github.com/repos/po-ui/po-style/branches/$ENCODED_BRANCH")
+ if [ "$HTTP_STATUS" = "200" ]; then
+ echo "found=true" >> $GITHUB_OUTPUT
+ echo "Branch '$BRANCH_NAME' encontrada no po-style"
+ else
+ echo "found=false" >> $GITHUB_OUTPUT
+ echo "Branch '$BRANCH_NAME' nao encontrada no po-style (HTTP $HTTP_STATUS), usando @po-ui/style do npm"
+ fi
+
+ # Se encontrou a branch, clona po-style, builda e gera o tgz
+ - name: Build po-style from matching branch
+ if: steps.po_style.outputs.found == 'true'
+ env:
+ BRANCH_NAME: ${{ steps.branch.outputs.name }}
+ run: |
+ git clone --branch "$BRANCH_NAME" --depth 1 https://github.com/po-ui/po-style.git /tmp/po-style
+ cd /tmp/po-style
+ npm ci
+ npm run build
+ npm run pack:style
+ echo "TGZ gerado:"
+ ls -la dist/style/*.tgz
+
+ # Instala dependencias do po-angular
+ - run: npm i
+
+ # Se tiver o tgz do po-style, instala por cima da versao do npm
+ - name: Install po-style from tgz
+ if: steps.po_style.outputs.found == 'true'
+ run: |
+ TGZ_PATH=$(ls /tmp/po-style/dist/style/*.tgz)
+ echo "Instalando @po-ui/style a partir de: $TGZ_PATH"
+ npm install "$TGZ_PATH"
+
+ - run: npm run build:ui:lite
+ - run: npx playwright install --with-deps chromium
+
+ # Restaura baselines do cache (geradas em execucoes anteriores no CI)
+ - name: Restore visual regression baselines from cache
+ id: baselines-cache
+ uses: actions/cache@v4
+ with:
+ path: e2e/visual/__snapshots__
+ key: visual-baselines-${{ runner.os }}-${{ hashFiles('e2e/visual/**/*.visual.spec.ts', 'e2e/visual/**/*.component.html') }}
+ restore-keys: |
+ visual-baselines-${{ runner.os }}-
+
+ # Se nao encontrou baselines no cache, gera novas para o ambiente CI
+ - name: Generate baselines for CI environment
+ if: steps.baselines-cache.outputs.cache-hit != 'true'
+ run: npx playwright test --update-snapshots --reporter=list
+
+ # Executa os testes visuais comparando com as baselines
+ - name: Run visual regression tests
+ run: npx playwright test
+
+ # Disponibiliza o relatorio HTML do Playwright como artefato
+ - name: Upload visual regression report
+ uses: actions/upload-artifact@v4
+ if: ${{ !cancelled() }}
+ with:
+ name: visual-regression-report
+ path: e2e/visual/playwright-report/
+ retention-days: 30
+
+ # Disponibiliza os resultados de teste (diffs, screenshots) como artefato
+ - name: Upload visual regression test results
+ uses: actions/upload-artifact@v4
+ if: ${{ !cancelled() }}
+ with:
+ name: visual-regression-test-results
+ path: e2e/visual/test-results/
+ retention-days: 30
diff --git a/.gitignore b/.gitignore
index f5845ba342..a9287aee48 100644
--- a/.gitignore
+++ b/.gitignore
@@ -49,6 +49,10 @@ testem.log
.scannerwork
.env
+# Playwright
+/e2e/visual/test-results/
+/e2e/visual/playwright-report/
+
# System Files
.DS_Store
Thumbs.db
diff --git a/angular.json b/angular.json
index e64238d454..28ffefd39e 100644
--- a/angular.json
+++ b/angular.json
@@ -266,6 +266,46 @@
}
}
},
+ "visual-app": {
+ "projectType": "application",
+ "schematics": {},
+ "root": "e2e/visual",
+ "sourceRoot": "e2e/visual",
+ "prefix": "app",
+ "architect": {
+ "build": {
+ "builder": "@angular-devkit/build-angular:application",
+ "options": {
+ "outputPath": {
+ "base": "dist/visual-app"
+ },
+ "index": "e2e/visual/app/index.html",
+ "polyfills": ["e2e/visual/app/polyfills.ts"],
+ "tsConfig": "e2e/visual/tsconfig.visual.json",
+ "assets": [
+ {
+ "glob": "**/*",
+ "input": "node_modules/@po-ui/style/images",
+ "output": "/assets/images"
+ }
+ ],
+ "styles": ["./node_modules/@po-ui/style/css/po-theme-default.min.css"],
+ "scripts": [],
+ "extractLicenses": false,
+ "sourceMap": true,
+ "optimization": false,
+ "namedChunks": true,
+ "browser": "e2e/visual/app/main.ts"
+ }
+ },
+ "serve": {
+ "builder": "@angular-devkit/build-angular:dev-server",
+ "options": {
+ "buildTarget": "visual-app:build"
+ }
+ }
+ }
+ },
"portal": {
"projectType": "application",
"schematics": {},
diff --git a/e2e/visual/__snapshots__/fields/po-checkbox-group/po-checkbox-group-states.visual.spec.ts-snapshots/po-checkbox-group-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-checkbox-group/po-checkbox-group-states.visual.spec.ts-snapshots/po-checkbox-group-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..585a5b5491
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-checkbox-group/po-checkbox-group-states.visual.spec.ts-snapshots/po-checkbox-group-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-checkbox-group/po-checkbox-group-states.visual.spec.ts-snapshots/po-checkbox-group-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-checkbox-group/po-checkbox-group-states.visual.spec.ts-snapshots/po-checkbox-group-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..4824f66439
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-checkbox-group/po-checkbox-group-states.visual.spec.ts-snapshots/po-checkbox-group-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-checkbox-group/po-checkbox-group-states.visual.spec.ts-snapshots/po-checkbox-group-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-checkbox-group/po-checkbox-group-states.visual.spec.ts-snapshots/po-checkbox-group-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..a7762ed4e6
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-checkbox-group/po-checkbox-group-states.visual.spec.ts-snapshots/po-checkbox-group-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-checkbox-group/po-checkbox-group-states.visual.spec.ts-snapshots/po-checkbox-group-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-checkbox-group/po-checkbox-group-states.visual.spec.ts-snapshots/po-checkbox-group-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..31c16f2385
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-checkbox-group/po-checkbox-group-states.visual.spec.ts-snapshots/po-checkbox-group-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-checkbox-group/po-checkbox-group-states.visual.spec.ts-snapshots/po-checkbox-group-state-required-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-checkbox-group/po-checkbox-group-states.visual.spec.ts-snapshots/po-checkbox-group-state-required-chromium-linux.png
new file mode 100644
index 0000000000..afe67e8a57
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-checkbox-group/po-checkbox-group-states.visual.spec.ts-snapshots/po-checkbox-group-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-checkbox/po-checkbox-states.visual.spec.ts-snapshots/po-checkbox-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-checkbox/po-checkbox-states.visual.spec.ts-snapshots/po-checkbox-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..5fe06d47c1
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-checkbox/po-checkbox-states.visual.spec.ts-snapshots/po-checkbox-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-checkbox/po-checkbox-states.visual.spec.ts-snapshots/po-checkbox-state-disabled-checked-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-checkbox/po-checkbox-states.visual.spec.ts-snapshots/po-checkbox-state-disabled-checked-chromium-linux.png
new file mode 100644
index 0000000000..cacda56b41
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-checkbox/po-checkbox-states.visual.spec.ts-snapshots/po-checkbox-state-disabled-checked-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-checkbox/po-checkbox-states.visual.spec.ts-snapshots/po-checkbox-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-checkbox/po-checkbox-states.visual.spec.ts-snapshots/po-checkbox-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..a83aaaec83
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-checkbox/po-checkbox-states.visual.spec.ts-snapshots/po-checkbox-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-checkbox/po-checkbox-states.visual.spec.ts-snapshots/po-checkbox-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-checkbox/po-checkbox-states.visual.spec.ts-snapshots/po-checkbox-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..0974a20c4f
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-checkbox/po-checkbox-states.visual.spec.ts-snapshots/po-checkbox-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-checkbox/po-checkbox-states.visual.spec.ts-snapshots/po-checkbox-state-required-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-checkbox/po-checkbox-states.visual.spec.ts-snapshots/po-checkbox-state-required-chromium-linux.png
new file mode 100644
index 0000000000..2b4e224d48
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-checkbox/po-checkbox-states.visual.spec.ts-snapshots/po-checkbox-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..9e06dbf330
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..1e42057596
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-label-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-label-chromium-linux.png
new file mode 100644
index 0000000000..22588a8520
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-label-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..ea2aeb7350
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..140b901c21
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-required-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-required-chromium-linux.png
new file mode 100644
index 0000000000..d621082332
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-required-error-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-required-error-chromium-linux.png
new file mode 100644
index 0000000000..d63073b967
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-combo/po-combo-states.visual.spec.ts-snapshots/po-combo-state-required-error-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..da9453a409
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..f6f38834aa
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-label-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-label-chromium-linux.png
new file mode 100644
index 0000000000..d3feefe70e
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-label-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..772ac6e8af
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..3f5c8b5644
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-loading-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-loading-chromium-linux.png
new file mode 100644
index 0000000000..2144a3e052
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-loading-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-loading-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-loading-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..715187fb85
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-loading-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-required-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-required-chromium-linux.png
new file mode 100644
index 0000000000..b5929ae2d4
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-datepicker-range/po-datepicker-range-states.visual.spec.ts-snapshots/po-datepicker-range-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..36006448ab
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..85acb96448
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-label-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-label-chromium-linux.png
new file mode 100644
index 0000000000..02c70a7f9a
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-label-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..b9845862cf
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..9c6e3d9c8e
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-loading-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-loading-chromium-linux.png
new file mode 100644
index 0000000000..8bc583c512
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-loading-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-loading-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-loading-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..886d14d29d
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-loading-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-readonly-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-readonly-chromium-linux.png
new file mode 100644
index 0000000000..9153a79501
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-readonly-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-required-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-required-chromium-linux.png
new file mode 100644
index 0000000000..7e9ca4f18f
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-required-error-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-required-error-chromium-linux.png
new file mode 100644
index 0000000000..328e57eef0
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-datepicker/po-datepicker-states.visual.spec.ts-snapshots/po-datepicker-state-required-error-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..6e3e71519d
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..a4ba033260
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-label-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-label-chromium-linux.png
new file mode 100644
index 0000000000..b10abd5d1d
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-label-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..31cfd9d8f2
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..3c93f859f5
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-loading-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-loading-chromium-linux.png
new file mode 100644
index 0000000000..8bc583c512
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-loading-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-loading-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-loading-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..886d14d29d
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-loading-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-readonly-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-readonly-chromium-linux.png
new file mode 100644
index 0000000000..f8ad05e406
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-readonly-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-required-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-required-chromium-linux.png
new file mode 100644
index 0000000000..ee3b9bcbdd
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-required-error-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-required-error-chromium-linux.png
new file mode 100644
index 0000000000..80055710d3
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-decimal/po-decimal-states.visual.spec.ts-snapshots/po-decimal-state-required-error-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..4ce62c1616
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..1a633614b0
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-label-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-label-chromium-linux.png
new file mode 100644
index 0000000000..92ac964ce9
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-label-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..0503ede75e
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..bc03f852f6
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-loading-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-loading-chromium-linux.png
new file mode 100644
index 0000000000..04c972e047
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-loading-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-loading-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-loading-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..1cd366bcaa
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-loading-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-readonly-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-readonly-chromium-linux.png
new file mode 100644
index 0000000000..c31f288165
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-readonly-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-required-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-required-chromium-linux.png
new file mode 100644
index 0000000000..a09c8521c9
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-required-error-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-required-error-chromium-linux.png
new file mode 100644
index 0000000000..8fd16c3c93
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-email/po-email-states.visual.spec.ts-snapshots/po-email-state-required-error-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..23fc5d8451
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..a4ba033260
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-helper-chromium-linux.png
new file mode 100644
index 0000000000..b461ffac18
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-chromium-linux.png
new file mode 100644
index 0000000000..b10abd5d1d
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..31cfd9d8f2
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..3c93f859f5
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-helper-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-helper-help-chromium-linux.png
new file mode 100644
index 0000000000..d2544f3a6d
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-helper-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-loading-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-loading-chromium-linux.png
new file mode 100644
index 0000000000..0ad557973c
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-loading-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-loading-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-loading-helper-chromium-linux.png
new file mode 100644
index 0000000000..7ba1bb3997
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-loading-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-loading-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-loading-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..595770c74b
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-loading-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-readonly-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-readonly-chromium-linux.png
new file mode 100644
index 0000000000..f0fccafaaa
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-readonly-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-required-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-required-chromium-linux.png
new file mode 100644
index 0000000000..ee3b9bcbdd
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-required-error-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-required-error-chromium-linux.png
new file mode 100644
index 0000000000..80055710d3
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-required-error-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..c570706a16
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..8d82a22481
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-label-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-label-chromium-linux.png
new file mode 100644
index 0000000000..0d85552985
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-label-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..da61905416
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..d2eb8d6bf2
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-loading-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-loading-chromium-linux.png
new file mode 100644
index 0000000000..c1e8ca93f9
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-loading-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-loading-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-loading-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..494bf8b0cb
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-loading-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-readonly-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-readonly-chromium-linux.png
new file mode 100644
index 0000000000..6f0e73bc1f
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-readonly-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-required-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-required-chromium-linux.png
new file mode 100644
index 0000000000..af8a39ba2b
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-required-error-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-required-error-chromium-linux.png
new file mode 100644
index 0000000000..a736ab4142
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-login/po-login-states.visual.spec.ts-snapshots/po-login-state-required-error-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..98d04c11c6
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-clean-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-clean-chromium-linux.png
new file mode 100644
index 0000000000..ba86abe6da
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-clean-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..5f698bcdb3
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-label-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-label-chromium-linux.png
new file mode 100644
index 0000000000..09c76e71f2
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-label-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..6545d7c410
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..b5bd25a9c5
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-required-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-required-chromium-linux.png
new file mode 100644
index 0000000000..69cb710075
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-lookup/po-lookup-states.visual.spec.ts-snapshots/po-lookup-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-multiselect/po-multiselect-states.visual.spec.ts-snapshots/po-multiselect-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-multiselect/po-multiselect-states.visual.spec.ts-snapshots/po-multiselect-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..821a558fc7
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-multiselect/po-multiselect-states.visual.spec.ts-snapshots/po-multiselect-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-multiselect/po-multiselect-states.visual.spec.ts-snapshots/po-multiselect-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-multiselect/po-multiselect-states.visual.spec.ts-snapshots/po-multiselect-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..b4a269980f
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-multiselect/po-multiselect-states.visual.spec.ts-snapshots/po-multiselect-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-multiselect/po-multiselect-states.visual.spec.ts-snapshots/po-multiselect-state-label-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-multiselect/po-multiselect-states.visual.spec.ts-snapshots/po-multiselect-state-label-chromium-linux.png
new file mode 100644
index 0000000000..a8880be751
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-multiselect/po-multiselect-states.visual.spec.ts-snapshots/po-multiselect-state-label-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-multiselect/po-multiselect-states.visual.spec.ts-snapshots/po-multiselect-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-multiselect/po-multiselect-states.visual.spec.ts-snapshots/po-multiselect-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..b904e16f98
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-multiselect/po-multiselect-states.visual.spec.ts-snapshots/po-multiselect-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-multiselect/po-multiselect-states.visual.spec.ts-snapshots/po-multiselect-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-multiselect/po-multiselect-states.visual.spec.ts-snapshots/po-multiselect-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..14d07b124a
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-multiselect/po-multiselect-states.visual.spec.ts-snapshots/po-multiselect-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-multiselect/po-multiselect-states.visual.spec.ts-snapshots/po-multiselect-state-required-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-multiselect/po-multiselect-states.visual.spec.ts-snapshots/po-multiselect-state-required-chromium-linux.png
new file mode 100644
index 0000000000..9e1a308a23
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-multiselect/po-multiselect-states.visual.spec.ts-snapshots/po-multiselect-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..13a8e92336
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..a4ba033260
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-label-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-label-chromium-linux.png
new file mode 100644
index 0000000000..b10abd5d1d
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-label-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..31cfd9d8f2
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..3c93f859f5
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-loading-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-loading-chromium-linux.png
new file mode 100644
index 0000000000..8bc583c512
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-loading-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-loading-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-loading-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..886d14d29d
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-loading-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-readonly-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-readonly-chromium-linux.png
new file mode 100644
index 0000000000..c21cad6278
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-readonly-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-required-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-required-chromium-linux.png
new file mode 100644
index 0000000000..ee3b9bcbdd
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-required-error-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-required-error-chromium-linux.png
new file mode 100644
index 0000000000..af60e0ce87
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-number/po-number-states.visual.spec.ts-snapshots/po-number-state-required-error-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..71f2f99ae6
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..d88ec6d0d8
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-label-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-label-chromium-linux.png
new file mode 100644
index 0000000000..646bc70bd7
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-label-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..20813d671a
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..cf5b35394c
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-loading-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-loading-chromium-linux.png
new file mode 100644
index 0000000000..cb07913e01
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-loading-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-loading-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-loading-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..7875c1da1a
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-loading-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-readonly-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-readonly-chromium-linux.png
new file mode 100644
index 0000000000..2cd9817930
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-readonly-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-required-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-required-chromium-linux.png
new file mode 100644
index 0000000000..b621bfb599
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-required-error-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-required-error-chromium-linux.png
new file mode 100644
index 0000000000..aa753eada1
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-password/po-password-states.visual.spec.ts-snapshots/po-password-state-required-error-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-radio-group/po-radio-group-states.visual.spec.ts-snapshots/po-radio-group-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-radio-group/po-radio-group-states.visual.spec.ts-snapshots/po-radio-group-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..0d5a8fc983
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-radio-group/po-radio-group-states.visual.spec.ts-snapshots/po-radio-group-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-radio-group/po-radio-group-states.visual.spec.ts-snapshots/po-radio-group-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-radio-group/po-radio-group-states.visual.spec.ts-snapshots/po-radio-group-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..90516656d3
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-radio-group/po-radio-group-states.visual.spec.ts-snapshots/po-radio-group-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-radio-group/po-radio-group-states.visual.spec.ts-snapshots/po-radio-group-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-radio-group/po-radio-group-states.visual.spec.ts-snapshots/po-radio-group-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..ae524720b7
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-radio-group/po-radio-group-states.visual.spec.ts-snapshots/po-radio-group-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-radio-group/po-radio-group-states.visual.spec.ts-snapshots/po-radio-group-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-radio-group/po-radio-group-states.visual.spec.ts-snapshots/po-radio-group-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..969d3b14b7
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-radio-group/po-radio-group-states.visual.spec.ts-snapshots/po-radio-group-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-radio-group/po-radio-group-states.visual.spec.ts-snapshots/po-radio-group-state-required-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-radio-group/po-radio-group-states.visual.spec.ts-snapshots/po-radio-group-state-required-chromium-linux.png
new file mode 100644
index 0000000000..fcc6c52ae7
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-radio-group/po-radio-group-states.visual.spec.ts-snapshots/po-radio-group-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..291202fb8a
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..492587eea0
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-label-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-label-chromium-linux.png
new file mode 100644
index 0000000000..dc5b1b9ebf
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-label-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..ce2d9bb271
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..56a7eb0990
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-readonly-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-readonly-chromium-linux.png
new file mode 100644
index 0000000000..123f37a6fc
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-readonly-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-required-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-required-chromium-linux.png
new file mode 100644
index 0000000000..0a6050b9f9
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-rich-text/po-rich-text-states.visual.spec.ts-snapshots/po-rich-text-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..eabf10e628
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..9fce17c947
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-label-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-label-chromium-linux.png
new file mode 100644
index 0000000000..f413a3cd91
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-label-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..00e0285a2d
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..7c9671adf4
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-loading-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-loading-chromium-linux.png
new file mode 100644
index 0000000000..74ac27c120
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-loading-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-loading-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-loading-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..0804e255f2
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-loading-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-readonly-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-readonly-chromium-linux.png
new file mode 100644
index 0000000000..2498251ba3
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-readonly-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-required-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-required-chromium-linux.png
new file mode 100644
index 0000000000..f4f7bf270c
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-select/po-select-states.visual.spec.ts-snapshots/po-select-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-switch/po-switch-states.visual.spec.ts-snapshots/po-switch-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-switch/po-switch-states.visual.spec.ts-snapshots/po-switch-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..13de2055a0
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-switch/po-switch-states.visual.spec.ts-snapshots/po-switch-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-switch/po-switch-states.visual.spec.ts-snapshots/po-switch-state-disabled-checked-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-switch/po-switch-states.visual.spec.ts-snapshots/po-switch-state-disabled-checked-chromium-linux.png
new file mode 100644
index 0000000000..2fcf92a974
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-switch/po-switch-states.visual.spec.ts-snapshots/po-switch-state-disabled-checked-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-switch/po-switch-states.visual.spec.ts-snapshots/po-switch-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-switch/po-switch-states.visual.spec.ts-snapshots/po-switch-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..41d4c6bf6e
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-switch/po-switch-states.visual.spec.ts-snapshots/po-switch-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-switch/po-switch-states.visual.spec.ts-snapshots/po-switch-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-switch/po-switch-states.visual.spec.ts-snapshots/po-switch-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..1351707345
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-switch/po-switch-states.visual.spec.ts-snapshots/po-switch-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-switch/po-switch-states.visual.spec.ts-snapshots/po-switch-state-labels-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-switch/po-switch-states.visual.spec.ts-snapshots/po-switch-state-labels-chromium-linux.png
new file mode 100644
index 0000000000..f9a1cabd77
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-switch/po-switch-states.visual.spec.ts-snapshots/po-switch-state-labels-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-switch/po-switch-states.visual.spec.ts-snapshots/po-switch-state-loading-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-switch/po-switch-states.visual.spec.ts-snapshots/po-switch-state-loading-chromium-linux.png
new file mode 100644
index 0000000000..1d533b6f02
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-switch/po-switch-states.visual.spec.ts-snapshots/po-switch-state-loading-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..d8b23e7cb3
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..b8143e63bd
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-label-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-label-chromium-linux.png
new file mode 100644
index 0000000000..d31f5b3cd1
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-label-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..b8fa666361
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..e8abf10a1d
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-readonly-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-readonly-chromium-linux.png
new file mode 100644
index 0000000000..93dc44f6b7
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-readonly-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-required-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-required-chromium-linux.png
new file mode 100644
index 0000000000..5ef06c0554
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-required-error-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-required-error-chromium-linux.png
new file mode 100644
index 0000000000..6c094ccf0b
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-textarea/po-textarea-states.visual.spec.ts-snapshots/po-textarea-state-required-error-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-upload/po-upload-states.visual.spec.ts-snapshots/po-upload-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-upload/po-upload-states.visual.spec.ts-snapshots/po-upload-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..ca30916b03
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-upload/po-upload-states.visual.spec.ts-snapshots/po-upload-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-upload/po-upload-states.visual.spec.ts-snapshots/po-upload-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-upload/po-upload-states.visual.spec.ts-snapshots/po-upload-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..e7126cf73c
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-upload/po-upload-states.visual.spec.ts-snapshots/po-upload-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-upload/po-upload-states.visual.spec.ts-snapshots/po-upload-state-label-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-upload/po-upload-states.visual.spec.ts-snapshots/po-upload-state-label-chromium-linux.png
new file mode 100644
index 0000000000..ce6af63af1
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-upload/po-upload-states.visual.spec.ts-snapshots/po-upload-state-label-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-upload/po-upload-states.visual.spec.ts-snapshots/po-upload-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-upload/po-upload-states.visual.spec.ts-snapshots/po-upload-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..80e5477afb
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-upload/po-upload-states.visual.spec.ts-snapshots/po-upload-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-upload/po-upload-states.visual.spec.ts-snapshots/po-upload-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-upload/po-upload-states.visual.spec.ts-snapshots/po-upload-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..44715e995e
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-upload/po-upload-states.visual.spec.ts-snapshots/po-upload-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-upload/po-upload-states.visual.spec.ts-snapshots/po-upload-state-required-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-upload/po-upload-states.visual.spec.ts-snapshots/po-upload-state-required-chromium-linux.png
new file mode 100644
index 0000000000..3dacec6679
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-upload/po-upload-states.visual.spec.ts-snapshots/po-upload-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..fc53e9b973
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..c4f74828ee
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-label-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-label-chromium-linux.png
new file mode 100644
index 0000000000..c5ffd84fec
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-label-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..beb85f7c9d
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..45e8777655
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-loading-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-loading-chromium-linux.png
new file mode 100644
index 0000000000..24fb5ca1eb
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-loading-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-loading-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-loading-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..fb6a51d8a8
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-loading-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-readonly-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-readonly-chromium-linux.png
new file mode 100644
index 0000000000..037234c7e2
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-readonly-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-required-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-required-chromium-linux.png
new file mode 100644
index 0000000000..8d54a59f64
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-required-error-chromium-linux.png b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-required-error-chromium-linux.png
new file mode 100644
index 0000000000..dbd84e03aa
Binary files /dev/null and b/e2e/visual/__snapshots__/fields/po-url/po-url-states.visual.spec.ts-snapshots/po-url-state-required-error-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-accordion/po-accordion.visual.spec.ts-snapshots/po-accordion-basic-chromium-linux.png b/e2e/visual/__snapshots__/po-accordion/po-accordion.visual.spec.ts-snapshots/po-accordion-basic-chromium-linux.png
new file mode 100644
index 0000000000..33d81d5370
Binary files /dev/null and b/e2e/visual/__snapshots__/po-accordion/po-accordion.visual.spec.ts-snapshots/po-accordion-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-button-group/po-button-group.visual.spec.ts-snapshots/po-button-group-basic-chromium-linux.png b/e2e/visual/__snapshots__/po-button-group/po-button-group.visual.spec.ts-snapshots/po-button-group-basic-chromium-linux.png
new file mode 100644
index 0000000000..8ffba1f078
Binary files /dev/null and b/e2e/visual/__snapshots__/po-button-group/po-button-group.visual.spec.ts-snapshots/po-button-group-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-button/po-button.visual.spec.ts-snapshots/po-button-basic-chromium-linux.png b/e2e/visual/__snapshots__/po-button/po-button.visual.spec.ts-snapshots/po-button-basic-chromium-linux.png
new file mode 100644
index 0000000000..496ee3f4c1
Binary files /dev/null and b/e2e/visual/__snapshots__/po-button/po-button.visual.spec.ts-snapshots/po-button-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-checkbox/po-checkbox.visual.spec.ts-snapshots/po-checkbox-basic-chromium-linux.png b/e2e/visual/__snapshots__/po-checkbox/po-checkbox.visual.spec.ts-snapshots/po-checkbox-basic-chromium-linux.png
new file mode 100644
index 0000000000..1f85a53468
Binary files /dev/null and b/e2e/visual/__snapshots__/po-checkbox/po-checkbox.visual.spec.ts-snapshots/po-checkbox-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-divider/po-divider.visual.spec.ts-snapshots/po-divider-basic-chromium-linux.png b/e2e/visual/__snapshots__/po-divider/po-divider.visual.spec.ts-snapshots/po-divider-basic-chromium-linux.png
new file mode 100644
index 0000000000..3b584bb34e
Binary files /dev/null and b/e2e/visual/__snapshots__/po-divider/po-divider.visual.spec.ts-snapshots/po-divider-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-input/po-input-basic.visual.spec.ts-snapshots/po-input-basic-chromium-linux.png b/e2e/visual/__snapshots__/po-input/po-input-basic.visual.spec.ts-snapshots/po-input-basic-chromium-linux.png
new file mode 100644
index 0000000000..9f7252eb7a
Binary files /dev/null and b/e2e/visual/__snapshots__/po-input/po-input-basic.visual.spec.ts-snapshots/po-input-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-basic-chromium-linux.png b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-basic-chromium-linux.png
new file mode 100644
index 0000000000..23fc5d8451
Binary files /dev/null and b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-disabled-chromium-linux.png b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-disabled-chromium-linux.png
new file mode 100644
index 0000000000..a4ba033260
Binary files /dev/null and b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-disabled-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-helper-chromium-linux.png b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-helper-chromium-linux.png
new file mode 100644
index 0000000000..b461ffac18
Binary files /dev/null and b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-chromium-linux.png b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-chromium-linux.png
new file mode 100644
index 0000000000..b10abd5d1d
Binary files /dev/null and b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-help-chromium-linux.png b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-help-chromium-linux.png
new file mode 100644
index 0000000000..31cfd9d8f2
Binary files /dev/null and b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..3c93f859f5
Binary files /dev/null and b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-helper-help-chromium-linux.png b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-helper-help-chromium-linux.png
new file mode 100644
index 0000000000..d2544f3a6d
Binary files /dev/null and b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-label-helper-help-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-loading-chromium-linux.png b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-loading-chromium-linux.png
new file mode 100644
index 0000000000..0ad557973c
Binary files /dev/null and b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-loading-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-loading-helper-chromium-linux.png b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-loading-helper-chromium-linux.png
new file mode 100644
index 0000000000..7ba1bb3997
Binary files /dev/null and b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-loading-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-loading-label-helper-chromium-linux.png b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-loading-label-helper-chromium-linux.png
new file mode 100644
index 0000000000..595770c74b
Binary files /dev/null and b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-loading-label-helper-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-readonly-chromium-linux.png b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-readonly-chromium-linux.png
new file mode 100644
index 0000000000..f0fccafaaa
Binary files /dev/null and b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-readonly-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-required-chromium-linux.png b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-required-chromium-linux.png
new file mode 100644
index 0000000000..cdcebc7f5f
Binary files /dev/null and b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-required-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-required-error-chromium-linux.png b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-required-error-chromium-linux.png
new file mode 100644
index 0000000000..68a482cc7a
Binary files /dev/null and b/e2e/visual/__snapshots__/po-input/po-input-states.visual.spec.ts-snapshots/po-input-state-required-error-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-progress/po-progress.visual.spec.ts-snapshots/po-progress-basic-chromium-linux.png b/e2e/visual/__snapshots__/po-progress/po-progress.visual.spec.ts-snapshots/po-progress-basic-chromium-linux.png
new file mode 100644
index 0000000000..ffd080b9e6
Binary files /dev/null and b/e2e/visual/__snapshots__/po-progress/po-progress.visual.spec.ts-snapshots/po-progress-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-select/po-select.visual.spec.ts-snapshots/po-select-basic-chromium-linux.png b/e2e/visual/__snapshots__/po-select/po-select.visual.spec.ts-snapshots/po-select-basic-chromium-linux.png
new file mode 100644
index 0000000000..852811ad3e
Binary files /dev/null and b/e2e/visual/__snapshots__/po-select/po-select.visual.spec.ts-snapshots/po-select-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-switch/po-switch.visual.spec.ts-snapshots/po-switch-basic-chromium-linux.png b/e2e/visual/__snapshots__/po-switch/po-switch.visual.spec.ts-snapshots/po-switch-basic-chromium-linux.png
new file mode 100644
index 0000000000..cf0e2ff476
Binary files /dev/null and b/e2e/visual/__snapshots__/po-switch/po-switch.visual.spec.ts-snapshots/po-switch-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-table/po-table.visual.spec.ts-snapshots/po-table-basic-chromium-linux.png b/e2e/visual/__snapshots__/po-table/po-table.visual.spec.ts-snapshots/po-table-basic-chromium-linux.png
new file mode 100644
index 0000000000..3f6592492b
Binary files /dev/null and b/e2e/visual/__snapshots__/po-table/po-table.visual.spec.ts-snapshots/po-table-basic-chromium-linux.png differ
diff --git a/e2e/visual/__snapshots__/po-tag/po-tag.visual.spec.ts-snapshots/po-tag-basic-chromium-linux.png b/e2e/visual/__snapshots__/po-tag/po-tag.visual.spec.ts-snapshots/po-tag-basic-chromium-linux.png
new file mode 100644
index 0000000000..057c9bbefe
Binary files /dev/null and b/e2e/visual/__snapshots__/po-tag/po-tag.visual.spec.ts-snapshots/po-tag-basic-chromium-linux.png differ
diff --git a/e2e/visual/app/app.component.ts b/e2e/visual/app/app.component.ts
new file mode 100644
index 0000000000..bd509c6ef9
--- /dev/null
+++ b/e2e/visual/app/app.component.ts
@@ -0,0 +1,8 @@
+import { Component } from '@angular/core';
+
+@Component({
+ selector: 'app-root',
+ template: '