diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-dark-colorblind-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-dark-colorblind-linux.png new file mode 100644 index 00000000000..4f2b5604f40 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-dark-colorblind-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-dark-dimmed-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-dark-dimmed-linux.png new file mode 100644 index 00000000000..8b3d5a33fd5 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-dark-dimmed-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-dark-high-contrast-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-dark-high-contrast-linux.png new file mode 100644 index 00000000000..48d72407fae Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-dark-high-contrast-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-dark-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-dark-linux.png new file mode 100644 index 00000000000..4f2b5604f40 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-dark-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-dark-tritanopia-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-dark-tritanopia-linux.png new file mode 100644 index 00000000000..4f2b5604f40 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-dark-tritanopia-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-light-colorblind-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-light-colorblind-linux.png new file mode 100644 index 00000000000..f15486265a6 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-light-colorblind-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-light-high-contrast-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-light-high-contrast-linux.png new file mode 100644 index 00000000000..fa61b27bcd6 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-light-high-contrast-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-light-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-light-linux.png new file mode 100644 index 00000000000..f15486265a6 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-light-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-light-tritanopia-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-light-tritanopia-linux.png new file mode 100644 index 00000000000..f15486265a6 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Block-light-tritanopia-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-dark-colorblind-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-dark-colorblind-linux.png new file mode 100644 index 00000000000..fd0d4983cda Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-dark-colorblind-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-dark-dimmed-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-dark-dimmed-linux.png new file mode 100644 index 00000000000..5a9478e2256 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-dark-dimmed-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-dark-high-contrast-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-dark-high-contrast-linux.png new file mode 100644 index 00000000000..3c1449070c0 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-dark-high-contrast-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-dark-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-dark-linux.png new file mode 100644 index 00000000000..fd0d4983cda Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-dark-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-dark-tritanopia-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-dark-tritanopia-linux.png new file mode 100644 index 00000000000..fd0d4983cda Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-dark-tritanopia-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-light-colorblind-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-light-colorblind-linux.png new file mode 100644 index 00000000000..3906e15a3a4 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-light-colorblind-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-light-high-contrast-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-light-high-contrast-linux.png new file mode 100644 index 00000000000..b1f3aead11e Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-light-high-contrast-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-light-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-light-linux.png new file mode 100644 index 00000000000..3906e15a3a4 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-light-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-light-tritanopia-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-light-tritanopia-linux.png new file mode 100644 index 00000000000..3906e15a3a4 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Default-light-tritanopia-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-dark-colorblind-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-dark-colorblind-linux.png new file mode 100644 index 00000000000..172a020bcfb Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-dark-colorblind-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-dark-dimmed-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-dark-dimmed-linux.png new file mode 100644 index 00000000000..9d12314953c Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-dark-dimmed-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-dark-high-contrast-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-dark-high-contrast-linux.png new file mode 100644 index 00000000000..197732f65bc Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-dark-high-contrast-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-dark-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-dark-linux.png new file mode 100644 index 00000000000..172a020bcfb Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-dark-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-dark-tritanopia-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-dark-tritanopia-linux.png new file mode 100644 index 00000000000..172a020bcfb Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-dark-tritanopia-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-light-colorblind-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-light-colorblind-linux.png new file mode 100644 index 00000000000..9ebc19c93ba Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-light-colorblind-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-light-high-contrast-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-light-high-contrast-linux.png new file mode 100644 index 00000000000..c0681b7e4f5 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-light-high-contrast-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-light-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-light-linux.png new file mode 100644 index 00000000000..9ebc19c93ba Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-light-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-light-tritanopia-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-light-tritanopia-linux.png new file mode 100644 index 00000000000..9ebc19c93ba Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Disabled-light-tritanopia-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-dark-colorblind-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-dark-colorblind-linux.png new file mode 100644 index 00000000000..2d4343438e9 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-dark-colorblind-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-dark-dimmed-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-dark-dimmed-linux.png new file mode 100644 index 00000000000..79dca8f196e Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-dark-dimmed-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-dark-high-contrast-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-dark-high-contrast-linux.png new file mode 100644 index 00000000000..4e3177b4fae Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-dark-high-contrast-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-dark-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-dark-linux.png new file mode 100644 index 00000000000..459840b3383 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-dark-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-dark-tritanopia-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-dark-tritanopia-linux.png new file mode 100644 index 00000000000..459840b3383 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-dark-tritanopia-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-light-colorblind-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-light-colorblind-linux.png new file mode 100644 index 00000000000..f29965f59a1 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-light-colorblind-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-light-high-contrast-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-light-high-contrast-linux.png new file mode 100644 index 00000000000..f0bca23bb82 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-light-high-contrast-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-light-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-light-linux.png new file mode 100644 index 00000000000..f350d7feea2 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-light-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-light-tritanopia-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-light-tritanopia-linux.png new file mode 100644 index 00000000000..f350d7feea2 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Error-light-tritanopia-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-dark-colorblind-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-dark-colorblind-linux.png new file mode 100644 index 00000000000..0333ab18f13 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-dark-colorblind-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-dark-dimmed-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-dark-dimmed-linux.png new file mode 100644 index 00000000000..04f11b7da5a Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-dark-dimmed-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-dark-high-contrast-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-dark-high-contrast-linux.png new file mode 100644 index 00000000000..7e63a8a5ef6 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-dark-high-contrast-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-dark-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-dark-linux.png new file mode 100644 index 00000000000..ea5b1cd57f3 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-dark-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-dark-tritanopia-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-dark-tritanopia-linux.png new file mode 100644 index 00000000000..0333ab18f13 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-dark-tritanopia-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-light-colorblind-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-light-colorblind-linux.png new file mode 100644 index 00000000000..b4b0b83b715 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-light-colorblind-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-light-high-contrast-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-light-high-contrast-linux.png new file mode 100644 index 00000000000..2b5d9f00810 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-light-high-contrast-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-light-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-light-linux.png new file mode 100644 index 00000000000..5f605c40204 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-light-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-light-tritanopia-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-light-tritanopia-linux.png new file mode 100644 index 00000000000..b4b0b83b715 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Success-light-tritanopia-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-dark-colorblind-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-dark-colorblind-linux.png new file mode 100644 index 00000000000..51efc43570c Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-dark-colorblind-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-dark-dimmed-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-dark-dimmed-linux.png new file mode 100644 index 00000000000..b6a3759b275 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-dark-dimmed-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-dark-high-contrast-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-dark-high-contrast-linux.png new file mode 100644 index 00000000000..527d2d6fb2b Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-dark-high-contrast-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-dark-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-dark-linux.png new file mode 100644 index 00000000000..51efc43570c Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-dark-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-dark-tritanopia-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-dark-tritanopia-linux.png new file mode 100644 index 00000000000..51efc43570c Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-dark-tritanopia-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-light-colorblind-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-light-colorblind-linux.png new file mode 100644 index 00000000000..a067139abb4 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-light-colorblind-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-light-high-contrast-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-light-high-contrast-linux.png new file mode 100644 index 00000000000..5e6a87a6119 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-light-high-contrast-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-light-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-light-linux.png new file mode 100644 index 00000000000..a067139abb4 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-light-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-light-tritanopia-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-light-tritanopia-linux.png new file mode 100644 index 00000000000..a067139abb4 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Visually-Hidden-Label-light-tritanopia-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-dark-colorblind-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-dark-colorblind-linux.png new file mode 100644 index 00000000000..ae1e85350a4 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-dark-colorblind-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-dark-dimmed-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-dark-dimmed-linux.png new file mode 100644 index 00000000000..3fc69f40c8c Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-dark-dimmed-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-dark-high-contrast-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-dark-high-contrast-linux.png new file mode 100644 index 00000000000..079cd36b84e Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-dark-high-contrast-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-dark-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-dark-linux.png new file mode 100644 index 00000000000..ae1e85350a4 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-dark-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-dark-tritanopia-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-dark-tritanopia-linux.png new file mode 100644 index 00000000000..ae1e85350a4 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-dark-tritanopia-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-light-colorblind-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-light-colorblind-linux.png new file mode 100644 index 00000000000..3473fbc256f Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-light-colorblind-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-light-high-contrast-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-light-high-contrast-linux.png new file mode 100644 index 00000000000..832f5fc16b0 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-light-high-contrast-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-light-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-light-linux.png new file mode 100644 index 00000000000..3473fbc256f Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-light-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-light-tritanopia-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-light-tritanopia-linux.png new file mode 100644 index 00000000000..3473fbc256f Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-Warning-light-tritanopia-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-dark-colorblind-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-dark-colorblind-linux.png new file mode 100644 index 00000000000..99d5bbf153e Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-dark-colorblind-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-dark-dimmed-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-dark-dimmed-linux.png new file mode 100644 index 00000000000..595ab35802a Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-dark-dimmed-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-dark-high-contrast-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-dark-high-contrast-linux.png new file mode 100644 index 00000000000..22cce7a5a37 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-dark-high-contrast-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-dark-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-dark-linux.png new file mode 100644 index 00000000000..99d5bbf153e Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-dark-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-dark-tritanopia-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-dark-tritanopia-linux.png new file mode 100644 index 00000000000..99d5bbf153e Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-dark-tritanopia-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-light-colorblind-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-light-colorblind-linux.png new file mode 100644 index 00000000000..436ad8d1c1a Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-light-colorblind-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-light-high-contrast-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-light-high-contrast-linux.png new file mode 100644 index 00000000000..d617a989232 Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-light-high-contrast-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-light-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-light-linux.png new file mode 100644 index 00000000000..436ad8d1c1a Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-light-linux.png differ diff --git a/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-light-tritanopia-linux.png b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-light-tritanopia-linux.png new file mode 100644 index 00000000000..436ad8d1c1a Binary files /dev/null and b/.playwright/snapshots/components/Textarea.test.ts-snapshots/Textarea-With-Caption-light-tritanopia-linux.png differ diff --git a/docs/content/Textarea.mdx b/docs/content/Textarea.mdx index 0c4d9173767..d54104fa01a 100644 --- a/docs/content/Textarea.mdx +++ b/docs/content/Textarea.mdx @@ -7,7 +7,7 @@ source: https://github.com/primer/react/blob/main/src/Textarea.tsx storybook: '/react/storybook?path=/story/components-forms-textarea--textarea-story' --- -import data from '../../src/Textarea.docs.json' +import data from '../../src/Textarea/Textarea.docs.json' import {Textarea} from '@primer/react' diff --git a/e2e/components/Textarea.test.ts b/e2e/components/Textarea.test.ts new file mode 100644 index 00000000000..c2d34565a35 --- /dev/null +++ b/e2e/components/Textarea.test.ts @@ -0,0 +1,229 @@ +import {test, expect} from '@playwright/test' +import {visit} from '../test-helpers/storybook' +import {themes} from '../test-helpers/themes' + +test.describe('Textarea', () => { + test.describe('Default', () => { + for (const theme of themes) { + test.describe(theme, () => { + test('default @vrt', async ({page}) => { + await visit(page, { + id: 'components-textarea--default', + globals: { + colorScheme: theme, + }, + }) + + // Default state + expect(await page.screenshot()).toMatchSnapshot(`Textarea.Default.${theme}.png`) + }) + + test('axe @aat', async ({page}) => { + await visit(page, { + id: 'components-textarea--default', + globals: { + colorScheme: theme, + }, + }) + await expect(page).toHaveNoViolations() + }) + }) + } + }) + + test.describe('Block', () => { + for (const theme of themes) { + test.describe(theme, () => { + test('default @vrt', async ({page}) => { + await visit(page, { + id: 'components-textarea-features--block', + globals: { + colorScheme: theme, + }, + }) + + // Default state + expect(await page.screenshot()).toMatchSnapshot(`Textarea.Block.${theme}.png`) + }) + + test('axe @aat', async ({page}) => { + await visit(page, { + id: 'components-textarea-features--block', + globals: { + colorScheme: theme, + }, + }) + await expect(page).toHaveNoViolations() + }) + }) + } + }) + + test.describe('Disabled', () => { + for (const theme of themes) { + test.describe(theme, () => { + test('default @vrt', async ({page}) => { + await visit(page, { + id: 'components-textarea-features--disabled', + globals: { + colorScheme: theme, + }, + }) + + // Default state + expect(await page.screenshot()).toMatchSnapshot(`Textarea.Disabled.${theme}.png`) + }) + + test('axe @aat', async ({page}) => { + await visit(page, { + id: 'components-textarea-features--disabled', + globals: { + colorScheme: theme, + }, + }) + await expect(page).toHaveNoViolations() + }) + }) + } + }) + + test.describe('Error', () => { + for (const theme of themes) { + test.describe(theme, () => { + test('default @vrt', async ({page}) => { + await visit(page, { + id: 'components-textarea-features--error', + globals: { + colorScheme: theme, + }, + }) + + // Default state + expect(await page.screenshot({animations: 'disabled'})).toMatchSnapshot(`Textarea.Error.${theme}.png`) + }) + + test('axe @aat', async ({page}) => { + await visit(page, { + id: 'components-textarea-features--error', + globals: { + colorScheme: theme, + }, + }) + await expect(page).toHaveNoViolations() + }) + }) + } + }) + + test.describe('Success', () => { + for (const theme of themes) { + test.describe(theme, () => { + test('default @vrt', async ({page}) => { + await visit(page, { + id: 'components-textarea-features--success', + globals: { + colorScheme: theme, + }, + }) + + // Default state + expect(await page.screenshot({animations: 'disabled'})).toMatchSnapshot(`Textarea.Success.${theme}.png`) + }) + + test('axe @aat', async ({page}) => { + await visit(page, { + id: 'components-textarea-features--success', + globals: { + colorScheme: theme, + }, + }) + await expect(page).toHaveNoViolations() + }) + }) + } + }) + + test.describe('Visually Hidden Label', () => { + for (const theme of themes) { + test.describe(theme, () => { + test('default @vrt', async ({page}) => { + await visit(page, { + id: 'components-textarea-features--visually-hidden-label', + globals: { + colorScheme: theme, + }, + }) + + // Default state + expect(await page.screenshot()).toMatchSnapshot(`Textarea.Visually Hidden Label.${theme}.png`) + }) + + test('axe @aat', async ({page}) => { + await visit(page, { + id: 'components-textarea-features--visually-hidden-label', + globals: { + colorScheme: theme, + }, + }) + await expect(page).toHaveNoViolations() + }) + }) + } + }) + + test.describe('Warning', () => { + for (const theme of themes) { + test.describe(theme, () => { + test('default @vrt', async ({page}) => { + await visit(page, { + id: 'components-textarea-features--warning', + globals: { + colorScheme: theme, + }, + }) + + // Default state + expect(await page.screenshot({animations: 'disabled'})).toMatchSnapshot(`Textarea.Warning.${theme}.png`) + }) + + test('axe @aat', async ({page}) => { + await visit(page, { + id: 'components-textarea-features--warning', + globals: { + colorScheme: theme, + }, + }) + await expect(page).toHaveNoViolations() + }) + }) + } + }) + + test.describe('With Caption', () => { + for (const theme of themes) { + test.describe(theme, () => { + test('default @vrt', async ({page}) => { + await visit(page, { + id: 'components-textarea-features--with-caption', + globals: { + colorScheme: theme, + }, + }) + + // Default state + expect(await page.screenshot()).toMatchSnapshot(`Textarea.With Caption.${theme}.png`) + }) + + test('axe @aat', async ({page}) => { + await visit(page, { + id: 'components-textarea-features--with-caption', + globals: { + colorScheme: theme, + }, + }) + await expect(page).toHaveNoViolations() + }) + }) + } + }) +}) diff --git a/generated/components.json b/generated/components.json index eed9305dd6e..9eb441d89f5 100644 --- a/generated/components.json +++ b/generated/components.json @@ -691,69 +691,6 @@ ], "subcomponents": [] }, - "textarea": { - "id": "textarea", - "name": "Textarea", - "status": "alpha", - "a11yReviewed": false, - "stories": [], - "props": [ - { - "name": "required", - "type": "boolean", - "defaultValue": "", - "description": "Indicates to the user and assistive technologies that the field value is required" - }, - { - "name": "cols", - "type": "number", - "defaultValue": "", - "description": "Specifies the visible width of a text area." - }, - { - "name": "rows", - "type": "number", - "defaultValue": "", - "description": "Specifies the visible height of a text area." - }, - { - "name": "block", - "type": "boolean", - "defaultValue": "false", - "description": "Expands with width of the component to fill the parent elements" - }, - { - "name": "resize", - "type": "'both' | 'horizontal' | 'vertical' | 'none'", - "defaultValue": "'both'", - "description": "Changes background color to a higher contrast color" - }, - { - "name": "validationStatus", - "type": "'success' | 'error' | undefined", - "defaultValue": "", - "description": "Style the textarea to match the current form validation status" - }, - { - "name": "ref", - "type": "React.RefObject" - }, - { - "name": "ref", - "type": "React.RefObject" - }, - { - "name": "as", - "type": "React.ElementType", - "defaultValue": "\"input\"" - }, - { - "name": "sx", - "type": "SystemStyleObject" - } - ], - "subcomponents": [] - }, "tooltip": { "id": "tooltip", "name": "Tooltip", @@ -4153,6 +4090,74 @@ ], "subcomponents": [] }, + "textarea": { + "id": "textarea", + "name": "Textarea", + "status": "alpha", + "a11yReviewed": false, + "stories": [ + { + "id": "components-textarea--default", + "code": "() => (\n \n \n Default label\n