diff --git a/apps/docs/content/components/switch/colors.raw.jsx b/apps/docs/content/components/switch/colors.raw.jsx
new file mode 100644
index 0000000000..569b6eb4a6
--- /dev/null
+++ b/apps/docs/content/components/switch/colors.raw.jsx
@@ -0,0 +1,26 @@
+import {Switch} from "@nextui-org/react";
+
+export default function App() {
+ return (
+
+
+ Default
+
+
+ Primary
+
+
+ Secondary
+
+
+ Success
+
+
+ Warning
+
+
+ Danger
+
+
+ );
+}
diff --git a/apps/docs/content/components/switch/colors.ts b/apps/docs/content/components/switch/colors.ts
index a3da415b92..d5bef810aa 100644
--- a/apps/docs/content/components/switch/colors.ts
+++ b/apps/docs/content/components/switch/colors.ts
@@ -1,17 +1,4 @@
-const App = `import {Switch} from "@nextui-org/react";
-
-export default function App() {
- return (
-
- Default
- Primary
- Secondary
- Success
- Warning
- Danger
-
- );
-}`;
+import App from "./colors.raw.jsx?raw";
const react = {
"/App.jsx": App,
diff --git a/apps/docs/content/components/switch/controlled.raw.jsx b/apps/docs/content/components/switch/controlled.raw.jsx
new file mode 100644
index 0000000000..2e8633b943
--- /dev/null
+++ b/apps/docs/content/components/switch/controlled.raw.jsx
@@ -0,0 +1,14 @@
+import {Switch} from "@nextui-org/react";
+
+export default function App() {
+ const [isSelected, setIsSelected] = React.useState(true);
+
+ return (
+
+
+ Airplane mode
+
+
Selected: {isSelected ? "true" : "false"}
+
+ );
+}
diff --git a/apps/docs/content/components/switch/controlled.ts b/apps/docs/content/components/switch/controlled.ts
index b7abbb6ae0..2c3f0cacb4 100644
--- a/apps/docs/content/components/switch/controlled.ts
+++ b/apps/docs/content/components/switch/controlled.ts
@@ -1,17 +1,4 @@
-const App = `import {Switch} from "@nextui-org/react";
-
-export default function App() {
- const [isSelected, setIsSelected] = React.useState(true);
-
- return (
-
-
- Airplane mode
-
-
Selected: {isSelected ? "true" : "false"}
-
- )
-}`;
+import App from "./controlled.raw.jsx?raw";
const react = {
"/App.jsx": App,
diff --git a/apps/docs/content/components/switch/custom-impl.raw.jsx b/apps/docs/content/components/switch/custom-impl.raw.jsx
new file mode 100644
index 0000000000..1a3d45c059
--- /dev/null
+++ b/apps/docs/content/components/switch/custom-impl.raw.jsx
@@ -0,0 +1,67 @@
+import {VisuallyHidden, useSwitch} from "@nextui-org/react";
+
+export const MoonIcon = (props) => (
+
+);
+
+export const SunIcon = (props) => (
+
+);
+
+const ThemeSwitch = (props) => {
+ const {Component, slots, isSelected, getBaseProps, getInputProps, getWrapperProps} =
+ useSwitch(props);
+
+ return (
+
+
+
+
+
+
+ {isSelected ? : }
+
+
+
Lights: {isSelected ? "on" : "off"}
+
+ );
+};
+
+export default function App() {
+ return ;
+}
diff --git a/apps/docs/content/components/switch/custom-impl.raw.tsx b/apps/docs/content/components/switch/custom-impl.raw.tsx
new file mode 100644
index 0000000000..d2501a59c7
--- /dev/null
+++ b/apps/docs/content/components/switch/custom-impl.raw.tsx
@@ -0,0 +1,68 @@
+import React from "react";
+import {useSwitch, VisuallyHidden, SwitchProps} from "@nextui-org/react";
+
+export const MoonIcon = (props) => (
+
+);
+
+export const SunIcon = (props) => (
+
+);
+
+const ThemeSwitch = (props: SwitchProps) => {
+ const {Component, slots, isSelected, getBaseProps, getInputProps, getWrapperProps} =
+ useSwitch(props);
+
+ return (
+
+
+
+
+
+
+ {isSelected ? : }
+
+
+
Lights: {isSelected ? "on" : "off"}
+
+ );
+};
+
+export default function App() {
+ return ;
+}
diff --git a/apps/docs/content/components/switch/custom-impl.ts b/apps/docs/content/components/switch/custom-impl.ts
index 31bb02960d..ef0d8ef531 100644
--- a/apps/docs/content/components/switch/custom-impl.ts
+++ b/apps/docs/content/components/switch/custom-impl.ts
@@ -1,133 +1,12 @@
-const MoonIcon = `export const MoonIcon = (props) => (
-
-);`;
-
-const SunIcon = `export const SunIcon = (props) => (
-
-);`;
-
-const App = `import {Switch, VisuallyHidden, useSwitch} from "@nextui-org/react";
-import {MoonIcon} from "./MoonIcon";
-import {SunIcon} from "./SunIcon";
-
-const ThemeSwitch = (props) => {
- const {
- Component,
- slots,
- isSelected,
- getBaseProps,
- getInputProps,
- getWrapperProps
- } = useSwitch(props);
-
- return (
-
-
-
-
-
-
- {isSelected ? : }
-
-
-
Lights: {isSelected ? "on" : "off"}
-
- )
-}
-
-
-export default function App() {
- return
-}`;
-
-const AppTs = `import {Switch, useSwitch, VisuallyHidden, SwitchProps} from "@nextui-org/react";
-import {MoonIcon} from "./MoonIcon";
-import {SunIcon} from "./SunIcon";
-
-const ThemeSwitch = (props: SwitchProps) => {
- const {
- Component,
- slots,
- isSelected,
- getBaseProps,
- getInputProps,
- getWrapperProps
- } = useSwitch(props);
-
- return (
-
-
-
-
-
-
- {isSelected ? : }
-
-
-
Lights: {isSelected ? "on" : "off"}
-
- )
-}
-
-
-export default function App() {
- return
-}`;
+import App from "./custom-impl.raw.jsx?raw";
+import AppTs from "./custom-impl.raw.tsx?raw";
const react = {
"/App.jsx": App,
- "/MoonIcon.jsx": MoonIcon,
- "/SunIcon.jsx": SunIcon,
};
const reactTs = {
"/App.tsx": AppTs,
- "/MoonIcon.tsx": MoonIcon,
- "/SunIcon.tsx": SunIcon,
};
export default {
diff --git a/apps/docs/content/components/switch/custom-styles.raw.jsx b/apps/docs/content/components/switch/custom-styles.raw.jsx
new file mode 100644
index 0000000000..db7a3568c9
--- /dev/null
+++ b/apps/docs/content/components/switch/custom-styles.raw.jsx
@@ -0,0 +1,32 @@
+import {Switch, cn} from "@nextui-org/react";
+
+export default function App() {
+ return (
+
+
+
Enable early access
+
+ Get access to new features before they are released.
+
+
+
+ );
+}
diff --git a/apps/docs/content/components/switch/custom-styles.ts b/apps/docs/content/components/switch/custom-styles.ts
index c4470a56e0..da3ea9093a 100644
--- a/apps/docs/content/components/switch/custom-styles.ts
+++ b/apps/docs/content/components/switch/custom-styles.ts
@@ -1,34 +1,4 @@
-const App = `import {Switch, cn} from "@nextui-org/react";
-
-export default function App() {
- return (
-
-
-
Enable early access
-
- Get access to new features before they are released.
-
-
-
- );
-}`;
+import App from "./custom-styles.raw.jsx?raw";
const react = {
"/App.jsx": App,
diff --git a/apps/docs/content/components/switch/disabled.raw.jsx b/apps/docs/content/components/switch/disabled.raw.jsx
new file mode 100644
index 0000000000..146c57ed38
--- /dev/null
+++ b/apps/docs/content/components/switch/disabled.raw.jsx
@@ -0,0 +1,9 @@
+import {Switch} from "@nextui-org/react";
+
+export default function App() {
+ return (
+
+ Automatic updates
+
+ );
+}
diff --git a/apps/docs/content/components/switch/disabled.ts b/apps/docs/content/components/switch/disabled.ts
index 5914c616bb..1a215cc91f 100644
--- a/apps/docs/content/components/switch/disabled.ts
+++ b/apps/docs/content/components/switch/disabled.ts
@@ -1,12 +1,4 @@
-const App = `import {Switch} from "@nextui-org/react";
-
-export default function App() {
- return (
-
- Automatic updates
-
- );
-}`;
+import App from "./disabled.raw.jsx?raw";
const react = {
"/App.jsx": App,
diff --git a/apps/docs/content/components/switch/icons.raw.jsx b/apps/docs/content/components/switch/icons.raw.jsx
new file mode 100644
index 0000000000..fbe7fe3274
--- /dev/null
+++ b/apps/docs/content/components/switch/icons.raw.jsx
@@ -0,0 +1,49 @@
+import {Switch} from "@nextui-org/react";
+
+export const MoonIcon = (props) => (
+
+);
+
+export const SunIcon = (props) => (
+
+);
+
+export default function App() {
+ return (
+ }
+ size="lg"
+ startContent={}
+ >
+ Dark mode
+
+ );
+}
diff --git a/apps/docs/content/components/switch/icons.ts b/apps/docs/content/components/switch/icons.ts
index 3f3d9fcf1d..22a410c88f 100644
--- a/apps/docs/content/components/switch/icons.ts
+++ b/apps/docs/content/components/switch/icons.ts
@@ -1,59 +1,7 @@
-const MoonIcon = `export const MoonIcon = (props) => (
-
-);`;
-
-const SunIcon = `export const SunIcon = (props) => (
-
-);`;
-
-const App = `import {Switch} from "@nextui-org/react";
-import {MoonIcon} from "./MoonIcon";
-import {SunIcon} from "./SunIcon";
-
-export default function App() {
- return (
- }
- endContent={}
- >
- Dark mode
-
- );
-}`;
+import App from "./icons.raw.jsx?raw";
const react = {
"/App.jsx": App,
- "/MoonIcon.jsx": MoonIcon,
- "/SunIcon.jsx": SunIcon,
};
export default {
diff --git a/apps/docs/content/components/switch/label.raw.jsx b/apps/docs/content/components/switch/label.raw.jsx
new file mode 100644
index 0000000000..c349c1b537
--- /dev/null
+++ b/apps/docs/content/components/switch/label.raw.jsx
@@ -0,0 +1,5 @@
+import {Switch} from "@nextui-org/react";
+
+export default function App() {
+ return Automatic updates;
+}
diff --git a/apps/docs/content/components/switch/label.ts b/apps/docs/content/components/switch/label.ts
index c9786705ff..254b95afb8 100644
--- a/apps/docs/content/components/switch/label.ts
+++ b/apps/docs/content/components/switch/label.ts
@@ -1,12 +1,4 @@
-const App = `import {Switch} from "@nextui-org/react";
-
-export default function App() {
- return (
-
- Automatic updates
-
- );
-}`;
+import App from "./label.raw.jsx?raw";
const react = {
"/App.jsx": App,
diff --git a/apps/docs/content/components/switch/sizes.raw.jsx b/apps/docs/content/components/switch/sizes.raw.jsx
new file mode 100644
index 0000000000..36dbbb9b47
--- /dev/null
+++ b/apps/docs/content/components/switch/sizes.raw.jsx
@@ -0,0 +1,17 @@
+import {Switch} from "@nextui-org/react";
+
+export default function App() {
+ return (
+
+
+ Small
+
+
+ Medium
+
+
+ Large
+
+
+ );
+}
diff --git a/apps/docs/content/components/switch/sizes.ts b/apps/docs/content/components/switch/sizes.ts
index 8a8b6f4f15..85a2f5b30b 100644
--- a/apps/docs/content/components/switch/sizes.ts
+++ b/apps/docs/content/components/switch/sizes.ts
@@ -1,14 +1,4 @@
-const App = `import {Switch} from "@nextui-org/react";
-
-export default function App() {
- return (
-
- Small
- Medium
- Large
-
- );
-}`;
+import App from "./sizes.raw.jsx?raw";
const react = {
"/App.jsx": App,
diff --git a/apps/docs/content/components/switch/thumb-icon.raw.jsx b/apps/docs/content/components/switch/thumb-icon.raw.jsx
new file mode 100644
index 0000000000..3f7bea5cca
--- /dev/null
+++ b/apps/docs/content/components/switch/thumb-icon.raw.jsx
@@ -0,0 +1,50 @@
+import {Switch} from "@nextui-org/react";
+
+export const MoonIcon = (props) => (
+
+);
+
+export const SunIcon = (props) => (
+
+);
+
+export default function App() {
+ return (
+
+ isSelected ? :
+ }
+ >
+ Dark mode
+
+ );
+}
diff --git a/apps/docs/content/components/switch/thumb-icon.ts b/apps/docs/content/components/switch/thumb-icon.ts
index 41746fa903..4201c3f43c 100644
--- a/apps/docs/content/components/switch/thumb-icon.ts
+++ b/apps/docs/content/components/switch/thumb-icon.ts
@@ -1,64 +1,7 @@
-const MoonIcon = `export const MoonIcon = (props) => (
-
-);`;
-
-const SunIcon = `export const SunIcon = (props) => (
-
-);`;
-
-const App = `import {Switch} from "@nextui-org/react";
-import {MoonIcon} from "./MoonIcon";
-import {SunIcon} from "./SunIcon";
-
-export default function App() {
- return (
-
- isSelected ? (
-
- ) : (
-
- )
- }
- >
- Dark mode
-
- );
-}`;
+import App from "./thumb-icon.raw.jsx?raw";
const react = {
"/App.jsx": App,
- "/MoonIcon.jsx": MoonIcon,
- "/SunIcon.jsx": SunIcon,
};
export default {
diff --git a/apps/docs/content/components/switch/usage.raw.jsx b/apps/docs/content/components/switch/usage.raw.jsx
new file mode 100644
index 0000000000..434305473b
--- /dev/null
+++ b/apps/docs/content/components/switch/usage.raw.jsx
@@ -0,0 +1,5 @@
+import {Switch} from "@nextui-org/react";
+
+export default function App() {
+ return ;
+}
diff --git a/apps/docs/content/components/switch/usage.ts b/apps/docs/content/components/switch/usage.ts
index e76fed14c7..1118304c37 100644
--- a/apps/docs/content/components/switch/usage.ts
+++ b/apps/docs/content/components/switch/usage.ts
@@ -1,10 +1,4 @@
-const App = `import {Switch} from "@nextui-org/react";
-
-export default function App() {
- return (
-
- );
-}`;
+import App from "./usage.raw.jsx?raw";
const react = {
"/App.jsx": App,
diff --git a/apps/docs/content/docs/components/switch.mdx b/apps/docs/content/docs/components/switch.mdx
index d76faa2e3d..91f0d5fe6f 100644
--- a/apps/docs/content/docs/components/switch.mdx
+++ b/apps/docs/content/docs/components/switch.mdx
@@ -66,7 +66,7 @@ The Switch component is used as an alternative between checked and not checked s
You can also add icons to start and end of the switch by using `startContent` and `endContent` props.
-
+
### Controlled