diff --git a/packages/eui/.loki/reference/chrome_desktop_Editors_Syntax_EuiMarkdownFormat_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Editors_Syntax_EuiMarkdownFormat_Playground.png
index 0d70b990e44..09d83378cff 100644
Binary files a/packages/eui/.loki/reference/chrome_desktop_Editors_Syntax_EuiMarkdownFormat_Playground.png and b/packages/eui/.loki/reference/chrome_desktop_Editors_Syntax_EuiMarkdownFormat_Playground.png differ
diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiCheckboxGroup_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiCheckboxGroup_Playground.png
index 6b9e9b52822..8993825b30e 100644
Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiCheckboxGroup_Playground.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiCheckboxGroup_Playground.png differ
diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiCheckbox_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiCheckbox_Playground.png
index d49d36d2309..ed522a8a334 100644
Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiCheckbox_Playground.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiCheckbox_Playground.png differ
diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiRadioGroup_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiRadioGroup_Playground.png
index 6beb887b5ec..8fc344b6542 100644
Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiRadioGroup_Playground.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiRadioGroup_Playground.png differ
diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiRadio_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiRadio_Playground.png
index dc6d6148072..62c4d8e920d 100644
Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiRadio_Playground.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiRadio_Playground.png differ
diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSwitch_Kitchen_Sink.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSwitch_Kitchen_Sink.png
new file mode 100644
index 00000000000..5d07ea70a4b
Binary files /dev/null and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSwitch_Kitchen_Sink.png differ
diff --git a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSwitch_Playground.png b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSwitch_Playground.png
index df76bf3bfa6..c7048826c82 100644
Binary files a/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSwitch_Playground.png and b/packages/eui/.loki/reference/chrome_desktop_Forms_EuiSwitch_Playground.png differ
diff --git a/packages/eui/.loki/reference/chrome_mobile_Editors_Syntax_EuiMarkdownFormat_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Editors_Syntax_EuiMarkdownFormat_Playground.png
index c81fbf045dc..fcc5adc6a60 100644
Binary files a/packages/eui/.loki/reference/chrome_mobile_Editors_Syntax_EuiMarkdownFormat_Playground.png and b/packages/eui/.loki/reference/chrome_mobile_Editors_Syntax_EuiMarkdownFormat_Playground.png differ
diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiCheckboxGroup_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiCheckboxGroup_Playground.png
index 2d684c11940..5321036ba3c 100644
Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiCheckboxGroup_Playground.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiCheckboxGroup_Playground.png differ
diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiCheckbox_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiCheckbox_Playground.png
index 7f0285f8dcf..5bf1e090823 100644
Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiCheckbox_Playground.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiCheckbox_Playground.png differ
diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiRadioGroup_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiRadioGroup_Playground.png
index 5eb3f20d0ec..86ac51459b6 100644
Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiRadioGroup_Playground.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiRadioGroup_Playground.png differ
diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiRadio_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiRadio_Playground.png
index 6a1906478c0..02cf0e6a0c4 100644
Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiRadio_Playground.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiRadio_Playground.png differ
diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSwitch_Kitchen_Sink.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSwitch_Kitchen_Sink.png
new file mode 100644
index 00000000000..66275ef3c65
Binary files /dev/null and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSwitch_Kitchen_Sink.png differ
diff --git a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSwitch_Playground.png b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSwitch_Playground.png
index a72980a7909..6941fed5635 100644
Binary files a/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSwitch_Playground.png and b/packages/eui/.loki/reference/chrome_mobile_Forms_EuiSwitch_Playground.png differ
diff --git a/packages/eui/changelogs/upcoming/7969.md b/packages/eui/changelogs/upcoming/7969.md
new file mode 100644
index 00000000000..dd1e80736ea
--- /dev/null
+++ b/packages/eui/changelogs/upcoming/7969.md
@@ -0,0 +1,22 @@
+**CSS-in-JS conversions**
+
+- Converted `EuiCheckbox` to Emotion
+- Converted `EuiRadio` to Emotion
+- Converted `EuiSwitch` to Emotion
+- Removed the following Sass variables:
+ - `$euiFormCustomControlDisabledIconColor`
+ - `$euiFormCustomControlBorderColor`
+ - `$euiRadioSize`
+ - `$euiCheckBoxSize`
+ - `$euiCheckboxBorderRadius`
+ - `$euiSwitchHeight` (and compressed/mini variants)
+ - `$euiSwitchWidth` (and compressed/mini variants)
+ - `$euiSwitchThumbSize` (and compressed/mini variants)
+ - `$euiSwitchIconHeight`
+ - `$euiSwitchOffColor`
+- Removed the following Sass mixins:
+ - `euiIconBackground`
+ - `euiCustomControl`
+ - `euiCustomControlSelected`
+ - `euiCustomControlDisabled`
+ - `euiCustomControlFocused`
diff --git a/packages/eui/src-docs/src/views/selection_controls/checkbox.js b/packages/eui/src-docs/src/views/selection_controls/checkbox.js
index 715cfe54c0e..cc045ecb747 100644
--- a/packages/eui/src-docs/src/views/selection_controls/checkbox.js
+++ b/packages/eui/src-docs/src/views/selection_controls/checkbox.js
@@ -1,4 +1,4 @@
-import React, { useState, Fragment } from 'react';
+import React, { useState } from 'react';
import { EuiCheckbox, EuiSpacer } from '../../../../src/components';
@@ -26,7 +26,7 @@ export default () => {
};
return (
-
+ <>
{
id={compressedCheckboxId}
label="I am a readonly checkbox"
checked={checked}
- onChange={(e) => onChange(e)}
+ onChange={() => {}}
readOnly
/>
-
+ >
);
};
diff --git a/packages/eui/src/components/basic_table/__snapshots__/basic_table.test.tsx.snap b/packages/eui/src/components/basic_table/__snapshots__/basic_table.test.tsx.snap
index 2334b0aee41..09520756ab1 100644
--- a/packages/eui/src/components/basic_table/__snapshots__/basic_table.test.tsx.snap
+++ b/packages/eui/src/components/basic_table/__snapshots__/basic_table.test.tsx.snap
@@ -145,19 +145,24 @@ exports[`EuiBasicTable renders (kitchen sink) with pagination, selection, sortin
class="euiTableCellContent"
>
@@ -269,19 +274,24 @@ exports[`EuiBasicTable renders (kitchen sink) with pagination, selection, sortin
class="euiTableCellContent"
>
@@ -375,19 +385,24 @@ exports[`EuiBasicTable renders (kitchen sink) with pagination, selection, sortin
class="euiTableCellContent"
>
@@ -481,19 +496,24 @@ exports[`EuiBasicTable renders (kitchen sink) with pagination, selection, sortin
class="euiTableCellContent"
>
diff --git a/packages/eui/src/components/basic_table/__snapshots__/in_memory_table.test.tsx.snap b/packages/eui/src/components/basic_table/__snapshots__/in_memory_table.test.tsx.snap
index dd93726382c..91bc4241c1d 100644
--- a/packages/eui/src/components/basic_table/__snapshots__/in_memory_table.test.tsx.snap
+++ b/packages/eui/src/components/basic_table/__snapshots__/in_memory_table.test.tsx.snap
@@ -7,19 +7,24 @@ exports[`EuiInMemoryTable behavior mobile header 1`] = `