diff --git a/README.md b/README.md index 721e195..0e39b6a 100644 --- a/README.md +++ b/README.md @@ -359,19 +359,20 @@ schepta/ │ ├── react/ # React form factory │ ├── vue/ # Vue form factory │ └── vanilla/ # Vanilla JS form factory -├── showcases/ # Example applications -│ ├── src/ -│ │ ├── frameworks/ # React & Vue showcases -│ │ │ ├── react/ # React examples (basic, MUI, Chakra, RHF, Formik) -│ │ │ └── vue/ # Vue examples (basic, Vuetify) -│ │ └── vanilla/ # Vanilla JS examples -│ └── public/ # Static assets ├── tests/ # E2E tests with Playwright │ ├── e2e/ # Test specs │ └── playwright.config.ts # Playwright configuration ├── instances/ # Shared schema instances │ └── form/ # Form schemas ├── docs/ # Documentation site (VitePress) +│ ├── .vitepress/ +│ │ └── showcases/ # Interactive showcases (React, Vue, Vanilla) +│ │ ├── react/ # React examples (basic, MUI, Chakra, RHF, Formik) +│ │ ├── vue/ # Vue examples (basic, Vuetify) +│ │ └── vanilla/ # Vanilla JS examples +│ ├── en-US/showcases/ # Showcase pages (English) +│ ├── pt-BR/showcases/ # Showcase pages (Portuguese) +│ └── es-ES/showcases/ # Showcase pages (Spanish) └── scripts/ # Build and publish scripts ``` diff --git a/docs/.vitepress/components.ts b/docs/.vitepress/components.ts deleted file mode 100644 index 5a31702..0000000 --- a/docs/.vitepress/components.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { defineAsyncComponent, h } from 'vue'; -import { createRoot } from 'react-dom/client'; -import React from 'react'; - -// React components need to be rendered differently -const ReactWrapper = (Component: any) => { - return defineAsyncComponent({ - loader: () => Promise.resolve(Component), - loadingComponent: { - setup() { - return () => h('div', { style: { padding: '20px' } }, 'Loading...'); - }, - }, - errorComponent: { - setup() { - return () => h('div', { style: { padding: '20px', color: 'red' } }, 'Error loading component'); - }, - }, - }); -}; - -export default { - SimpleFormReact: defineAsyncComponent(() => import('../components/showcases/SimpleFormReact.vue')), - ComplexFormReact: defineAsyncComponent(() => import('../components/showcases/ComplexFormReact.vue')), - SimpleFormVue: defineAsyncComponent(() => import('../components/showcases/SimpleFormVue.vue')), - ComplexFormVue: defineAsyncComponent(() => import('../components/showcases/ComplexFormVue.vue')), - SimpleFormVuetify: defineAsyncComponent(() => import('../components/showcases/SimpleFormVuetify.vue')), - ComplexFormVuetify: defineAsyncComponent(() => import('../components/showcases/ComplexFormVuetify.vue')), -}; - diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 9ce3ac9..014d4c9 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -56,11 +56,24 @@ export default defineConfig({ { text: 'Showcases', items: [ - { text: 'React', link: '/en-US/showcases/react' }, - { text: 'React Material UI', link: '/en-US/showcases/material-ui' }, - { text: 'React Chakra UI', link: '/en-US/showcases/chakra-ui' }, - { text: 'Vue', link: '/en-US/showcases/vue' }, - { text: 'Vue Vuetify', link: '/en-US/showcases/vuetify' }, + { + text: 'React', + collapsed: false, + items: [ + { text: 'Basic', link: '/en-US/showcases/react' }, + { text: 'Material UI', link: '/en-US/showcases/material-ui' }, + { text: 'Chakra UI', link: '/en-US/showcases/chakra-ui' }, + ], + }, + { + text: 'Vue', + collapsed: false, + items: [ + { text: 'Basic', link: '/en-US/showcases/vue' }, + { text: 'Vuetify', link: '/en-US/showcases/vuetify' }, + ], + }, + { text: 'Vanilla JS', link: '/en-US/showcases/vanilla' }, ], }, ], @@ -110,11 +123,24 @@ export default defineConfig({ { text: 'Exemplos', items: [ - { text: 'React', link: '/pt-BR/showcases/react' }, - { text: 'React Material UI', link: '/pt-BR/showcases/material-ui' }, - { text: 'React Chakra UI', link: '/pt-BR/showcases/chakra-ui' }, - { text: 'Vue', link: '/pt-BR/showcases/vue' }, - { text: 'Vue Vuetify', link: '/pt-BR/showcases/vuetify' }, + { + text: 'React', + collapsed: false, + items: [ + { text: 'Básico', link: '/pt-BR/showcases/react' }, + { text: 'Material UI', link: '/pt-BR/showcases/material-ui' }, + { text: 'Chakra UI', link: '/pt-BR/showcases/chakra-ui' }, + ], + }, + { + text: 'Vue', + collapsed: false, + items: [ + { text: 'Básico', link: '/pt-BR/showcases/vue' }, + { text: 'Vuetify', link: '/pt-BR/showcases/vuetify' }, + ], + }, + { text: 'Vanilla JS', link: '/pt-BR/showcases/vanilla' }, ], }, ], @@ -164,11 +190,24 @@ export default defineConfig({ { text: 'Ejemplos', items: [ - { text: 'React', link: '/es-ES/showcases/react' }, - { text: 'React Material UI', link: '/es-ES/showcases/material-ui' }, - { text: 'React Chakra UI', link: '/es-ES/showcases/chakra-ui' }, - { text: 'Vue', link: '/es-ES/showcases/vue' }, - { text: 'Vue Vuetify', link: '/es-ES/showcases/vuetify' }, + { + text: 'React', + collapsed: false, + items: [ + { text: 'Básico', link: '/es-ES/showcases/react' }, + { text: 'Material UI', link: '/es-ES/showcases/material-ui' }, + { text: 'Chakra UI', link: '/es-ES/showcases/chakra-ui' }, + ], + }, + { + text: 'Vue', + collapsed: false, + items: [ + { text: 'Básico', link: '/es-ES/showcases/vue' }, + { text: 'Vuetify', link: '/es-ES/showcases/vuetify' }, + ], + }, + { text: 'Vanilla JS', link: '/es-ES/showcases/vanilla' }, ], }, ], @@ -196,16 +235,17 @@ export default defineConfig({ }, resolve: { alias: { - '@schepta/core': resolve(__dirname, '../packages/core/src'), - '@schepta/factory-react': resolve(__dirname, '../packages/factories/react/src'), - '@schepta/factory-vue': resolve(__dirname, '../packages/factories/vue/src'), - '@schepta/adapter-react': resolve(__dirname, '../packages/adapters/react/src'), - '@schepta/adapter-vue': resolve(__dirname, '../packages/adapters/vue/src'), + '@schepta/core': resolve(__dirname, '../../packages/core/src'), + '@schepta/factory-react': resolve(__dirname, '../../packages/factories/react/src'), + '@schepta/factory-vue': resolve(__dirname, '../../packages/factories/vue/src'), + '@schepta/factory-vanilla': resolve(__dirname, '../../packages/factories/vanilla/src'), + '@schepta/adapter-react': resolve(__dirname, '../../packages/adapters/react/src'), + '@schepta/adapter-vue': resolve(__dirname, '../../packages/adapters/vue/src'), + '@schepta/adapter-vanilla': resolve(__dirname, '../../packages/adapters/vanilla/src'), }, }, optimizeDeps: { include: ['react', 'react-dom', 'vue', 'vuetify'], - exclude: ['vitepress'], }, server: { hmr: { diff --git a/docs/.vitepress/showcases/react/ReactShowcase.tsx b/docs/.vitepress/showcases/react/ReactShowcase.tsx new file mode 100644 index 0000000..295c8d6 --- /dev/null +++ b/docs/.vitepress/showcases/react/ReactShowcase.tsx @@ -0,0 +1,51 @@ +import React, { useMemo } from "react"; +import { ThemeProvider, createTheme } from "@mui/material/styles"; +import { ScheptaProvider } from "@schepta/adapter-react"; +import { BasicFormPage } from "./basic/pages/BasicFormPage"; +import { MaterialFormPage } from "./material-ui/pages/MaterialFormPage"; +import { ChakraFormPage } from "./chakra-ui/pages/ChakraFormPage"; +import simpleFormSchema from "../../../../instances/form/simple-form.json"; +import { FormSchema } from "@schepta/core"; +import { getToken } from "../../utils/getToken"; +import { components } from "./basic/components/ComponentRegistry"; + +interface ReactShowcaseProps { + variant?: "basic" | "material-ui" | "chakra-ui"; + isDark?: boolean; +} + +export function ReactShowcase({ + variant = "basic", + isDark = false, +}: ReactShowcaseProps) { + const labelMiddleware = (props: any) => { + if (props.label) { + return { ...props, label: `[Provider] ${props.label}` }; + } + return props; + }; + + const content = (() => { + switch (variant) { + case "chakra-ui": + return ; + case "material-ui": + return ; + default: + return ; + } + })(); + + return ( + + {content} + + ); +} diff --git a/docs/.vitepress/showcases/react/ReactShowcaseWrapper.vue b/docs/.vitepress/showcases/react/ReactShowcaseWrapper.vue new file mode 100644 index 0000000..aa881fb --- /dev/null +++ b/docs/.vitepress/showcases/react/ReactShowcaseWrapper.vue @@ -0,0 +1,68 @@ + + + + + diff --git a/showcases/src/frameworks/react/basic-ui/components/ComponentRegistry.tsx b/docs/.vitepress/showcases/react/basic/components/ComponentRegistry.tsx similarity index 100% rename from showcases/src/frameworks/react/basic-ui/components/ComponentRegistry.tsx rename to docs/.vitepress/showcases/react/basic/components/ComponentRegistry.tsx diff --git a/showcases/src/frameworks/react/basic-ui/components/Forms/FormWithFormik.tsx b/docs/.vitepress/showcases/react/basic/components/Forms/FormWithFormik.tsx similarity index 91% rename from showcases/src/frameworks/react/basic-ui/components/Forms/FormWithFormik.tsx rename to docs/.vitepress/showcases/react/basic/components/Forms/FormWithFormik.tsx index 9c07e20..2046492 100644 --- a/showcases/src/frameworks/react/basic-ui/components/Forms/FormWithFormik.tsx +++ b/docs/.vitepress/showcases/react/basic/components/Forms/FormWithFormik.tsx @@ -56,7 +56,7 @@ export const FormWithFormik: React.FC = ({ schema }) => { <>
= ({ schema }) => {
@@ -83,13 +83,13 @@ export const FormWithFormik: React.FC = ({ schema }) => {

Submitted Values (Formik):

 = ({ schema }) => {
     <>
       
= ({ schema }) => {
@@ -79,13 +79,13 @@ export const FormWithRHF: React.FC = ({ schema }) => {

Submitted Values (RHF):

 {
         onClick={() => setIsOpen(true)}
         style={{
           padding: '12px 24px',
-          backgroundColor: '#6366f1',
-          color: 'white',
+          backgroundColor: 'var(--schepta-brand)',
+          color: '#fff',
           border: 'none',
           borderRadius: '6px',
           cursor: 'pointer',
@@ -70,7 +70,7 @@ export const ModalForm = ({ schema, onSubmit }: FormModalProps) => {
           
e.stopPropagation()} style={{ - backgroundColor: 'white', + backgroundColor: 'var(--schepta-bg)', borderRadius: '12px', width: '100%', maxWidth: '500px', @@ -84,7 +84,7 @@ export const ModalForm = ({ schema, onSubmit }: FormModalProps) => {
{ border: 'none', fontSize: '24px', cursor: 'pointer', - color: '#6b7280', + color: 'var(--schepta-text-2)', }} > × @@ -121,7 +121,7 @@ export const ModalForm = ({ schema, onSubmit }: FormModalProps) => {
{ onClick={() => setIsOpen(false)} style={{ padding: '10px 20px', - backgroundColor: 'white', - color: '#374151', - border: '1px solid #d1d5db', + backgroundColor: 'var(--schepta-bg)', + color: 'var(--schepta-text-1)', + border: '1px solid var(--schepta-border)', borderRadius: '6px', cursor: 'pointer', fontSize: '14px', @@ -147,8 +147,8 @@ export const ModalForm = ({ schema, onSubmit }: FormModalProps) => { data-test-id="external-submit-button" style={{ padding: '10px 20px', - backgroundColor: '#007bff', - color: 'white', + backgroundColor: 'var(--schepta-brand)', + color: '#fff', border: 'none', borderRadius: '6px', cursor: 'pointer', @@ -168,13 +168,13 @@ export const ModalForm = ({ schema, onSubmit }: FormModalProps) => {

Submitted Values:

 {
         style={{
           marginBottom: "24px",
           padding: "20px",
-          background: "#f9fafb",
-          border: "1px solid #e5e7eb",
+          background: "var(--schepta-bg-soft)",
+          border: "1px solid var(--schepta-border)",
           borderRadius: "8px",
         }}
       >
-        

+

What you can see in this form:

    @@ -166,7 +166,7 @@ export const NativeComplexForm = ({ schema }: FormProps) => {
{ style={{ marginTop: "24px", padding: "16px", - background: "#f9fafb", - border: "1px solid #e5e7eb", + background: "var(--schepta-bg-soft)", + border: "1px solid var(--schepta-border)", borderRadius: "8px", }} >

Submitted Values:

       

Submitted Values:

(
         style={{
           width: "100%",
           padding: "8px",
-          border: "1px solid #ccc",
+          border: "1px solid var(--schepta-border)",
           borderRadius: "4px",
         }}
         {...rest}
diff --git a/showcases/src/frameworks/react/basic-ui/components/formik/FormikFieldRenderer.tsx b/docs/.vitepress/showcases/react/basic/components/formik/FormikFieldRenderer.tsx
similarity index 100%
rename from showcases/src/frameworks/react/basic-ui/components/formik/FormikFieldRenderer.tsx
rename to docs/.vitepress/showcases/react/basic/components/formik/FormikFieldRenderer.tsx
diff --git a/showcases/src/frameworks/react/basic-ui/components/formik/FormikFormContainer.tsx b/docs/.vitepress/showcases/react/basic/components/formik/FormikFormContainer.tsx
similarity index 95%
rename from showcases/src/frameworks/react/basic-ui/components/formik/FormikFormContainer.tsx
rename to docs/.vitepress/showcases/react/basic/components/formik/FormikFormContainer.tsx
index 25497ec..bb7e9ea 100644
--- a/showcases/src/frameworks/react/basic-ui/components/formik/FormikFormContainer.tsx
+++ b/docs/.vitepress/showcases/react/basic/components/formik/FormikFormContainer.tsx
@@ -82,8 +82,8 @@ export const FormikFormContainer: React.FC = ({
                 data-test-id="submit-button"
                 style={{
                   padding: "12px 24px",
-                  backgroundColor: isSubmitting ? "#6c757d" : "#28a745",
-                  color: "white",
+                  backgroundColor: isSubmitting ? "var(--schepta-text-2)" : "var(--schepta-brand)",
+                  color: "#fff",
                   border: "none",
                   borderRadius: "4px",
                   cursor: isSubmitting ? "not-allowed" : "pointer",
diff --git a/showcases/src/frameworks/react/basic-ui/components/rhf/RHFFieldRenderer.tsx b/docs/.vitepress/showcases/react/basic/components/rhf/RHFFieldRenderer.tsx
similarity index 100%
rename from showcases/src/frameworks/react/basic-ui/components/rhf/RHFFieldRenderer.tsx
rename to docs/.vitepress/showcases/react/basic/components/rhf/RHFFieldRenderer.tsx
diff --git a/showcases/src/frameworks/react/basic-ui/components/rhf/RHFFormContainer.tsx b/docs/.vitepress/showcases/react/basic/components/rhf/RHFFormContainer.tsx
similarity index 96%
rename from showcases/src/frameworks/react/basic-ui/components/rhf/RHFFormContainer.tsx
rename to docs/.vitepress/showcases/react/basic/components/rhf/RHFFormContainer.tsx
index 818f301..6f9df17 100644
--- a/showcases/src/frameworks/react/basic-ui/components/rhf/RHFFormContainer.tsx
+++ b/docs/.vitepress/showcases/react/basic/components/rhf/RHFFormContainer.tsx
@@ -79,8 +79,8 @@ export const RHFFormContainer: React.FC = ({
                   data-test-id="submit-button"
                   style={{
                     padding: '12px 24px',
-                    backgroundColor: '#007bff',
-                    color: 'white',
+                    backgroundColor: 'var(--schepta-brand)',
+                    color: '#fff',
                     border: 'none',
                     borderRadius: '4px',
                     cursor: 'pointer',
diff --git a/showcases/src/frameworks/react/basic-ui/pages/BasicFormPage.tsx b/docs/.vitepress/showcases/react/basic/pages/BasicFormPage.tsx
similarity index 61%
rename from showcases/src/frameworks/react/basic-ui/pages/BasicFormPage.tsx
rename to docs/.vitepress/showcases/react/basic/pages/BasicFormPage.tsx
index ccc1ca4..592f2f5 100644
--- a/showcases/src/frameworks/react/basic-ui/pages/BasicFormPage.tsx
+++ b/docs/.vitepress/showcases/react/basic/pages/BasicFormPage.tsx
@@ -1,5 +1,5 @@
-import React, { useState } from "react";
-import { Tab, Tabs, Paper } from "@mui/material";
+import React, { useMemo, useState } from "react";
+import { Tab, Tabs, Paper, ThemeProvider, createTheme } from "@mui/material";
 import simpleFormSchema from "../../../../../../instances/form/simple-form.json";
 import complexFormSchema from "../../../../../../instances/form/complex-form.json";
 import { NativeForm } from "../components/Forms/NativeForm";
@@ -9,8 +9,13 @@ import { FormWithRHF } from "../components/Forms/FormWithRHF";
 import { FormWithFormik } from "../components/Forms/FormWithFormik";
 import { FormSchema } from "@schepta/core";
 import { NativeComplexForm } from "../components/Forms/NativeComplexForm";
+import { getToken } from "../../../../utils/getToken";
 
-export function BasicFormPage() {
+interface BasicFormPageProps {
+  isDark?: boolean;
+}
+
+export function BasicFormPage({ isDark = false }: BasicFormPageProps) {
   const [tabValue, setTabValue] = useState(0);
   const simpleSchema = simpleFormSchema as FormSchema;
   const complexSchema = complexFormSchema as FormSchema;
@@ -20,10 +25,34 @@ export function BasicFormPage() {
     setTabValue(newValue);
   };
 
+  const muiTheme = useMemo(() => {
+    return createTheme({
+      palette: {
+        mode: isDark ? "dark" : "light",
+        background: {
+          default: getToken("--schepta-bg", "#ffffff"),
+          paper: getToken("--schepta-bg", "#ffffff"),
+        },
+        text: {
+          primary: getToken("--schepta-text-1", "#333333"),
+          secondary: getToken("--schepta-text-2", "#666666"),
+        },
+        divider: getToken("--schepta-border", "#cccccc"),
+      },
+    });
+  }, [isDark]);
+
   return (
-    <>
-      
-        
+    
+      
+        
           
           
           
@@ -47,6 +76,6 @@ export function BasicFormPage() {
           
         
       
-    
+    
   );
 }
diff --git a/showcases/src/frameworks/react/chakra-ui/components/ComponentRegistry.tsx b/docs/.vitepress/showcases/react/chakra-ui/components/ComponentRegistry.tsx
similarity index 100%
rename from showcases/src/frameworks/react/chakra-ui/components/ComponentRegistry.tsx
rename to docs/.vitepress/showcases/react/chakra-ui/components/ComponentRegistry.tsx
diff --git a/showcases/src/frameworks/react/chakra-ui/components/Containers/FormContainer.tsx b/docs/.vitepress/showcases/react/chakra-ui/components/Containers/FormContainer.tsx
similarity index 100%
rename from showcases/src/frameworks/react/chakra-ui/components/Containers/FormContainer.tsx
rename to docs/.vitepress/showcases/react/chakra-ui/components/Containers/FormContainer.tsx
diff --git a/showcases/src/frameworks/react/chakra-ui/components/Containers/FormField.tsx b/docs/.vitepress/showcases/react/chakra-ui/components/Containers/FormField.tsx
similarity index 100%
rename from showcases/src/frameworks/react/chakra-ui/components/Containers/FormField.tsx
rename to docs/.vitepress/showcases/react/chakra-ui/components/Containers/FormField.tsx
diff --git a/showcases/src/frameworks/react/chakra-ui/components/Containers/FormSectionContainer.tsx b/docs/.vitepress/showcases/react/chakra-ui/components/Containers/FormSectionContainer.tsx
similarity index 100%
rename from showcases/src/frameworks/react/chakra-ui/components/Containers/FormSectionContainer.tsx
rename to docs/.vitepress/showcases/react/chakra-ui/components/Containers/FormSectionContainer.tsx
diff --git a/showcases/src/frameworks/react/chakra-ui/components/Containers/FormSectionGroup.tsx b/docs/.vitepress/showcases/react/chakra-ui/components/Containers/FormSectionGroup.tsx
similarity index 100%
rename from showcases/src/frameworks/react/chakra-ui/components/Containers/FormSectionGroup.tsx
rename to docs/.vitepress/showcases/react/chakra-ui/components/Containers/FormSectionGroup.tsx
diff --git a/showcases/src/frameworks/react/chakra-ui/components/Containers/FormSectionGroupContainer.tsx b/docs/.vitepress/showcases/react/chakra-ui/components/Containers/FormSectionGroupContainer.tsx
similarity index 100%
rename from showcases/src/frameworks/react/chakra-ui/components/Containers/FormSectionGroupContainer.tsx
rename to docs/.vitepress/showcases/react/chakra-ui/components/Containers/FormSectionGroupContainer.tsx
diff --git a/showcases/src/frameworks/react/chakra-ui/components/Containers/FormSectionTitle.tsx b/docs/.vitepress/showcases/react/chakra-ui/components/Containers/FormSectionTitle.tsx
similarity index 100%
rename from showcases/src/frameworks/react/chakra-ui/components/Containers/FormSectionTitle.tsx
rename to docs/.vitepress/showcases/react/chakra-ui/components/Containers/FormSectionTitle.tsx
diff --git a/showcases/src/frameworks/react/chakra-ui/components/Form.tsx b/docs/.vitepress/showcases/react/chakra-ui/components/Form.tsx
similarity index 97%
rename from showcases/src/frameworks/react/chakra-ui/components/Form.tsx
rename to docs/.vitepress/showcases/react/chakra-ui/components/Form.tsx
index 7ac56df..9adac97 100644
--- a/showcases/src/frameworks/react/chakra-ui/components/Form.tsx
+++ b/docs/.vitepress/showcases/react/chakra-ui/components/Form.tsx
@@ -36,7 +36,7 @@ export const Form = ({ schema, onSubmit }: FormProps) => {
         
diff --git a/showcases/src/frameworks/react/chakra-ui/components/Inputs/InputCheckbox.tsx b/docs/.vitepress/showcases/react/chakra-ui/components/Inputs/InputCheckbox.tsx
similarity index 100%
rename from showcases/src/frameworks/react/chakra-ui/components/Inputs/InputCheckbox.tsx
rename to docs/.vitepress/showcases/react/chakra-ui/components/Inputs/InputCheckbox.tsx
diff --git a/showcases/src/frameworks/react/chakra-ui/components/Inputs/InputDate.tsx b/docs/.vitepress/showcases/react/chakra-ui/components/Inputs/InputDate.tsx
similarity index 100%
rename from showcases/src/frameworks/react/chakra-ui/components/Inputs/InputDate.tsx
rename to docs/.vitepress/showcases/react/chakra-ui/components/Inputs/InputDate.tsx
diff --git a/showcases/src/frameworks/react/chakra-ui/components/Inputs/InputNumber.tsx b/docs/.vitepress/showcases/react/chakra-ui/components/Inputs/InputNumber.tsx
similarity index 100%
rename from showcases/src/frameworks/react/chakra-ui/components/Inputs/InputNumber.tsx
rename to docs/.vitepress/showcases/react/chakra-ui/components/Inputs/InputNumber.tsx
diff --git a/showcases/src/frameworks/react/chakra-ui/components/Inputs/InputPhone.tsx b/docs/.vitepress/showcases/react/chakra-ui/components/Inputs/InputPhone.tsx
similarity index 100%
rename from showcases/src/frameworks/react/chakra-ui/components/Inputs/InputPhone.tsx
rename to docs/.vitepress/showcases/react/chakra-ui/components/Inputs/InputPhone.tsx
diff --git a/showcases/src/frameworks/react/chakra-ui/components/Inputs/InputSelect.tsx b/docs/.vitepress/showcases/react/chakra-ui/components/Inputs/InputSelect.tsx
similarity index 100%
rename from showcases/src/frameworks/react/chakra-ui/components/Inputs/InputSelect.tsx
rename to docs/.vitepress/showcases/react/chakra-ui/components/Inputs/InputSelect.tsx
diff --git a/showcases/src/frameworks/react/chakra-ui/components/Inputs/InputText.tsx b/docs/.vitepress/showcases/react/chakra-ui/components/Inputs/InputText.tsx
similarity index 100%
rename from showcases/src/frameworks/react/chakra-ui/components/Inputs/InputText.tsx
rename to docs/.vitepress/showcases/react/chakra-ui/components/Inputs/InputText.tsx
diff --git a/showcases/src/frameworks/react/chakra-ui/components/Inputs/InputTextarea.tsx b/docs/.vitepress/showcases/react/chakra-ui/components/Inputs/InputTextarea.tsx
similarity index 100%
rename from showcases/src/frameworks/react/chakra-ui/components/Inputs/InputTextarea.tsx
rename to docs/.vitepress/showcases/react/chakra-ui/components/Inputs/InputTextarea.tsx
diff --git a/showcases/src/frameworks/react/chakra-ui/components/SubmitButton.tsx b/docs/.vitepress/showcases/react/chakra-ui/components/SubmitButton.tsx
similarity index 100%
rename from showcases/src/frameworks/react/chakra-ui/components/SubmitButton.tsx
rename to docs/.vitepress/showcases/react/chakra-ui/components/SubmitButton.tsx
diff --git a/docs/.vitepress/showcases/react/chakra-ui/pages/ChakraFormPage.tsx b/docs/.vitepress/showcases/react/chakra-ui/pages/ChakraFormPage.tsx
new file mode 100644
index 0000000..2f9d3ca
--- /dev/null
+++ b/docs/.vitepress/showcases/react/chakra-ui/pages/ChakraFormPage.tsx
@@ -0,0 +1,79 @@
+import React, { useMemo } from "react";
+import {
+  ChakraProvider,
+  extendTheme,
+  Tabs,
+  TabList,
+  TabPanels,
+  Tab,
+  TabPanel,
+  Box,
+} from "@chakra-ui/react";
+import type { StorageManager } from "@chakra-ui/react";
+import { Form } from "../components/Form";
+import { FormSchema } from "@schepta/core";
+import simpleFormSchema from "../../../../../../instances/form/simple-form.json";
+import complexFormSchema from "../../../../../../instances/form/complex-form.json";
+import { getToken } from "../../../../utils/getToken";
+
+interface ChakraFormPageProps {
+  isDark?: boolean;
+}
+
+export function ChakraFormPage({ isDark = false }: ChakraFormPageProps) {
+  const simpleSchema = simpleFormSchema as FormSchema;
+  const complexSchema = complexFormSchema as FormSchema;
+
+  const theme = useMemo(
+    () => {
+      const bg = getToken("--schepta-bg", "#ffffff");
+      const bgSoft = getToken("--schepta-bg-soft", "#f6f6f7");
+      const text1 = getToken("--schepta-text-1", "#333333");
+      const text2 = getToken("--schepta-text-2", "#666666");
+      const border = getToken("--schepta-border", "#cccccc");
+
+      return extendTheme({
+        config: {
+          initialColorMode: isDark ? "dark" : "light",
+          useSystemColorMode: false,
+        },
+        semanticTokens: {
+          colors: {
+            "chakra-body-bg": { _light: bg, _dark: bg },
+            "chakra-body-text": { _light: text1, _dark: text1 },
+            "chakra-border-color": { _light: border, _dark: border },
+            "chakra-subtle-bg": { _light: bgSoft, _dark: bgSoft },
+            "chakra-subtle-text": { _light: text2, _dark: text2 },
+          },
+        },
+      });
+    },
+    [isDark]
+  );
+
+  return (
+    
+      
+        
+          
+            SIMPLE FORM
+            COMPLEX FORM
+          
+          
+            
+              
+ + + + + + + + + ); +} diff --git a/showcases/src/frameworks/react/material-ui/components/ComponentRegistry.tsx b/docs/.vitepress/showcases/react/material-ui/components/ComponentRegistry.tsx similarity index 100% rename from showcases/src/frameworks/react/material-ui/components/ComponentRegistry.tsx rename to docs/.vitepress/showcases/react/material-ui/components/ComponentRegistry.tsx diff --git a/showcases/src/frameworks/react/material-ui/components/Containers/FormContainer.tsx b/docs/.vitepress/showcases/react/material-ui/components/Containers/FormContainer.tsx similarity index 100% rename from showcases/src/frameworks/react/material-ui/components/Containers/FormContainer.tsx rename to docs/.vitepress/showcases/react/material-ui/components/Containers/FormContainer.tsx diff --git a/showcases/src/frameworks/react/material-ui/components/Containers/FormField.tsx b/docs/.vitepress/showcases/react/material-ui/components/Containers/FormField.tsx similarity index 100% rename from showcases/src/frameworks/react/material-ui/components/Containers/FormField.tsx rename to docs/.vitepress/showcases/react/material-ui/components/Containers/FormField.tsx diff --git a/showcases/src/frameworks/react/material-ui/components/Containers/FormSectionContainer.tsx b/docs/.vitepress/showcases/react/material-ui/components/Containers/FormSectionContainer.tsx similarity index 100% rename from showcases/src/frameworks/react/material-ui/components/Containers/FormSectionContainer.tsx rename to docs/.vitepress/showcases/react/material-ui/components/Containers/FormSectionContainer.tsx diff --git a/showcases/src/frameworks/react/material-ui/components/Containers/FormSectionGroup.tsx b/docs/.vitepress/showcases/react/material-ui/components/Containers/FormSectionGroup.tsx similarity index 100% rename from showcases/src/frameworks/react/material-ui/components/Containers/FormSectionGroup.tsx rename to docs/.vitepress/showcases/react/material-ui/components/Containers/FormSectionGroup.tsx diff --git a/showcases/src/frameworks/react/material-ui/components/Containers/FormSectionGroupContainer.tsx b/docs/.vitepress/showcases/react/material-ui/components/Containers/FormSectionGroupContainer.tsx similarity index 100% rename from showcases/src/frameworks/react/material-ui/components/Containers/FormSectionGroupContainer.tsx rename to docs/.vitepress/showcases/react/material-ui/components/Containers/FormSectionGroupContainer.tsx diff --git a/showcases/src/frameworks/react/material-ui/components/Containers/FormSectionTitle.tsx b/docs/.vitepress/showcases/react/material-ui/components/Containers/FormSectionTitle.tsx similarity index 100% rename from showcases/src/frameworks/react/material-ui/components/Containers/FormSectionTitle.tsx rename to docs/.vitepress/showcases/react/material-ui/components/Containers/FormSectionTitle.tsx diff --git a/showcases/src/frameworks/react/material-ui/components/Form.tsx b/docs/.vitepress/showcases/react/material-ui/components/Form.tsx similarity index 86% rename from showcases/src/frameworks/react/material-ui/components/Form.tsx rename to docs/.vitepress/showcases/react/material-ui/components/Form.tsx index f5d0612..3706550 100644 --- a/showcases/src/frameworks/react/material-ui/components/Form.tsx +++ b/docs/.vitepress/showcases/react/material-ui/components/Form.tsx @@ -21,7 +21,7 @@ export const Form = ({ schema, onSubmit }: FormProps) => { return ( <> { /> {submittedValues && ( - + Submitted Values: { + return createTheme({ + palette: { + mode: isDark ? "dark" : "light", + background: { + default: getToken("--schepta-bg", "#ffffff"), + paper: getToken("--schepta-bg", "#ffffff"), + }, + text: { + primary: getToken("--schepta-text-1", "#333333"), + secondary: getToken("--schepta-text-2", "#666666"), + }, + divider: getToken("--schepta-border", "#cccccc"), + }, + }); + }, [isDark]); + return ( - <> + - + ); } diff --git a/docs/.vitepress/showcases/vanilla/VanillaShowcase.ts b/docs/.vitepress/showcases/vanilla/VanillaShowcase.ts new file mode 100644 index 0000000..7c57e2a --- /dev/null +++ b/docs/.vitepress/showcases/vanilla/VanillaShowcase.ts @@ -0,0 +1,25 @@ +import { createAppRoot } from './app'; + +export function mountVanillaShowcase(containerId: string = 'vanilla-showcase-root'): void { + const container = document.getElementById(containerId); + + if (!container) { + console.error(`Container with id "${containerId}" not found`); + return; + } + + // Clear any existing content + container.innerHTML = ''; + + // Create and mount the vanilla app + const appRoot = createAppRoot(); + container.appendChild(appRoot); +} + +export function unmountVanillaShowcase(containerId: string = 'vanilla-showcase-root'): void { + const container = document.getElementById(containerId); + + if (container) { + container.innerHTML = ''; + } +} diff --git a/docs/.vitepress/showcases/vanilla/VanillaShowcaseWrapper.vue b/docs/.vitepress/showcases/vanilla/VanillaShowcaseWrapper.vue new file mode 100644 index 0000000..a3db218 --- /dev/null +++ b/docs/.vitepress/showcases/vanilla/VanillaShowcaseWrapper.vue @@ -0,0 +1,27 @@ + + + + + diff --git a/showcases/src/vanilla/app.ts b/docs/.vitepress/showcases/vanilla/app.ts similarity index 64% rename from showcases/src/vanilla/app.ts rename to docs/.vitepress/showcases/vanilla/app.ts index 798a9e1..c573c72 100644 --- a/showcases/src/vanilla/app.ts +++ b/docs/.vitepress/showcases/vanilla/app.ts @@ -5,39 +5,17 @@ import type { FormSchema } from '@schepta/core'; import { createNativeForm } from './components/NativeForm'; import { createNativeComplexForm } from './components/NativeComplexForm'; -import simpleFormSchema from '../../../instances/form/simple-form.json'; -import complexFormSchema from '../../../instances/form/complex-form.json'; +import simpleFormSchema from '../../../../instances/form/simple-form.json'; +import complexFormSchema from '../../../../instances/form/complex-form.json'; export function createAppRoot(): HTMLElement { const container = document.createElement('div'); - container.style.cssText = ` - padding: 2rem; - background: #fffbf0; - border-radius: 8px; - margin: 1rem 0; - `; - - // Header - const header = document.createElement('div'); - header.style.cssText = ` - color: #f7df1e; - margin-bottom: 1rem; - display: flex; - align-items: center; - gap: 0.5rem; - `; - header.innerHTML = ` - - - -

Vanilla JS Microfrontend - Schepta Forms

- `; - container.appendChild(header); + container.style.cssText = `background: var(--schepta-bg); border-radius: 8px; margin: 1rem 0;border: 1px solid var(--schepta-border);`; // Main content wrapper const mainContent = document.createElement('div'); mainContent.style.cssText = ` - background: white; + background: var(--schepta-bg); padding: 1.5rem; border-radius: 6px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); @@ -48,7 +26,7 @@ export function createAppRoot(): HTMLElement { tabsContainer.className = 'vanilla-tabs'; tabsContainer.style.cssText = ` display: flex; - border-bottom: 1px solid #ddd; + border-bottom: 1px solid var(--schepta-border); margin-bottom: 1rem; `; @@ -62,8 +40,8 @@ export function createAppRoot(): HTMLElement { border: none; background: none; cursor: pointer; - border-bottom: 2px solid #f7df1e; - color: #f7df1e; + border-bottom: 2px solid var(--schepta-brand); + color: var(--schepta-brand); font-weight: 500; `; @@ -129,11 +107,11 @@ function attachTabBehavior( tabs.forEach(t => { t.classList.remove('active'); (t as HTMLElement).style.borderBottomColor = 'transparent'; - (t as HTMLElement).style.color = '#333'; + (t as HTMLElement).style.color = 'var(--schepta-text-2)'; }); tab.classList.add('active'); - (tab as HTMLElement).style.borderBottomColor = '#f7df1e'; - (tab as HTMLElement).style.color = '#f7df1e'; + (tab as HTMLElement).style.borderBottomColor = 'var(--schepta-brand)'; + (tab as HTMLElement).style.color = 'var(--schepta-brand)'; // Update panels panels.forEach(p => { diff --git a/showcases/src/vanilla/components/NativeComplexForm.ts b/docs/.vitepress/showcases/vanilla/components/NativeComplexForm.ts similarity index 85% rename from showcases/src/vanilla/components/NativeComplexForm.ts rename to docs/.vitepress/showcases/vanilla/components/NativeComplexForm.ts index 17abb93..70c201b 100644 --- a/showcases/src/vanilla/components/NativeComplexForm.ts +++ b/docs/.vitepress/showcases/vanilla/components/NativeComplexForm.ts @@ -15,7 +15,7 @@ export function createNativeComplexForm(container: HTMLElement, schema: FormSche // Form wrapper const formWrapper = document.createElement('div'); - formWrapper.style.border = '1px solid #ddd'; + formWrapper.style.border = '1px solid var(--schepta-border)'; formWrapper.style.padding = '24px'; formWrapper.style.borderRadius = '8px'; @@ -60,12 +60,12 @@ function createInfoBox(): HTMLElement { const box = document.createElement('div'); box.style.marginBottom = '24px'; box.style.padding = '20px'; - box.style.background = '#f9fafb'; - box.style.border = '1px solid #e5e7eb'; + box.style.background = 'var(--schepta-bg-soft)'; + box.style.border = '1px solid var(--schepta-border)'; box.style.borderRadius = '8px'; box.innerHTML = ` -

What you can see in this form:

+

What you can see in this form:

  • Custom Components (x-custom): Social Name field with toggle behavior
  • Template Expressions: Conditional visibility (spouseName appears when maritalStatus is 'married')
  • @@ -101,14 +101,14 @@ function displaySubmittedValues(container: HTMLElement, values: any) { resultsDiv.className = 'submitted-values'; resultsDiv.style.marginTop = '24px'; resultsDiv.style.padding = '16px'; - resultsDiv.style.background = '#f9fafb'; - resultsDiv.style.border = '1px solid #e5e7eb'; + resultsDiv.style.background = 'var(--schepta-bg-soft)'; + resultsDiv.style.border = '1px solid var(--schepta-border)'; resultsDiv.style.borderRadius = '8px'; container.appendChild(resultsDiv); } resultsDiv.innerHTML = ` -

    Submitted Values:

    -
    ${JSON.stringify(values, null, 2)}
    +

    Submitted Values:

    +
    ${JSON.stringify(values, null, 2)}
    `; } diff --git a/showcases/src/vanilla/components/NativeForm.ts b/docs/.vitepress/showcases/vanilla/components/NativeForm.ts similarity index 70% rename from showcases/src/vanilla/components/NativeForm.ts rename to docs/.vitepress/showcases/vanilla/components/NativeForm.ts index 62afb3e..dc9213b 100644 --- a/showcases/src/vanilla/components/NativeForm.ts +++ b/docs/.vitepress/showcases/vanilla/components/NativeForm.ts @@ -7,7 +7,7 @@ import { createFormFactory, type FormFactoryResult } from '@schepta/factory-vani export function createNativeForm(container: HTMLElement, schema: FormSchema): FormFactoryResult { const wrapper = document.createElement('div'); - wrapper.style.border = '1px solid #ddd'; + wrapper.style.border = '1px solid var(--schepta-border)'; wrapper.style.padding = '24px'; wrapper.style.borderRadius = '8px'; @@ -32,14 +32,14 @@ function displaySubmittedValues(container: HTMLElement, values: any) { resultsDiv.className = 'submitted-values'; resultsDiv.style.marginTop = '24px'; resultsDiv.style.padding = '16px'; - resultsDiv.style.background = '#f9fafb'; - resultsDiv.style.border = '1px solid #e5e7eb'; + resultsDiv.style.background = 'var(--schepta-bg-soft)'; + resultsDiv.style.border = '1px solid var(--schepta-border)'; resultsDiv.style.borderRadius = '8px'; container.appendChild(resultsDiv); } resultsDiv.innerHTML = ` -

    Submitted Values:

    -
    ${JSON.stringify(values, null, 2)}
    +

    Submitted Values:

    +
    ${JSON.stringify(values, null, 2)}
    `; } diff --git a/showcases/src/vanilla/components/SocialNameInput.ts b/docs/.vitepress/showcases/vanilla/components/SocialNameInput.ts similarity index 96% rename from showcases/src/vanilla/components/SocialNameInput.ts rename to docs/.vitepress/showcases/vanilla/components/SocialNameInput.ts index cd412a1..7a77d80 100644 --- a/showcases/src/vanilla/components/SocialNameInput.ts +++ b/docs/.vitepress/showcases/vanilla/components/SocialNameInput.ts @@ -28,7 +28,7 @@ export function createSocialNameInput(props: SocialNameInputProps): HTMLElement toggleBtn.setAttribute('data-test-id', 'social-name-toggle'); toggleBtn.style.background = 'none'; toggleBtn.style.border = 'none'; - toggleBtn.style.color = '#2563eb'; + toggleBtn.style.color = 'var(--schepta-brand)'; toggleBtn.style.cursor = 'pointer'; toggleBtn.style.padding = '0'; toggleBtn.style.fontSize = '14px'; @@ -65,7 +65,7 @@ export function createSocialNameInput(props: SocialNameInputProps): HTMLElement input.style.display = 'block'; input.style.width = '100%'; input.style.padding = '8px 12px'; - input.style.border = '1px solid #d1d5db'; + input.style.border = '1px solid var(--schepta-border)'; input.style.borderRadius = '4px'; input.style.fontSize = '14px'; diff --git a/showcases/src/vanilla/components/SubmitButton.ts b/docs/.vitepress/showcases/vanilla/components/SubmitButton.ts similarity index 82% rename from showcases/src/vanilla/components/SubmitButton.ts rename to docs/.vitepress/showcases/vanilla/components/SubmitButton.ts index b3661b8..6aa2316 100644 --- a/showcases/src/vanilla/components/SubmitButton.ts +++ b/docs/.vitepress/showcases/vanilla/components/SubmitButton.ts @@ -8,8 +8,8 @@ export function createSubmitButton(props: SubmitButtonProps): HTMLElement { button.textContent = 'Submit'; button.dataset.testId = 'submit-button-complex-form'; button.style.padding = '12px 24px'; - button.style.backgroundColor = '#007bff'; - button.style.color = 'white'; + button.style.backgroundColor = 'var(--schepta-brand)'; + button.style.color = 'var(--schepta-brand-text)'; button.style.border = 'none'; button.style.borderRadius = '4px'; button.style.cursor = 'pointer'; diff --git a/showcases/src/vanilla/styles.ts b/docs/.vitepress/showcases/vanilla/styles.ts similarity index 100% rename from showcases/src/vanilla/styles.ts rename to docs/.vitepress/showcases/vanilla/styles.ts diff --git a/showcases/src/vanilla/tabs.ts b/docs/.vitepress/showcases/vanilla/tabs.ts similarity index 100% rename from showcases/src/vanilla/tabs.ts rename to docs/.vitepress/showcases/vanilla/tabs.ts diff --git a/docs/.vitepress/showcases/vue/VueShowcase.vue b/docs/.vitepress/showcases/vue/VueShowcase.vue new file mode 100644 index 0000000..61b380d --- /dev/null +++ b/docs/.vitepress/showcases/vue/VueShowcase.vue @@ -0,0 +1,15 @@ + + + + + diff --git a/docs/.vitepress/showcases/vue/VuetifyShowcaseWrapper.vue b/docs/.vitepress/showcases/vue/VuetifyShowcaseWrapper.vue new file mode 100644 index 0000000..341111e --- /dev/null +++ b/docs/.vitepress/showcases/vue/VuetifyShowcaseWrapper.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/showcases/src/frameworks/vue/components/NativeComplexForm.vue b/docs/.vitepress/showcases/vue/basic/components/NativeComplexForm.vue similarity index 90% rename from showcases/src/frameworks/vue/components/NativeComplexForm.vue rename to docs/.vitepress/showcases/vue/basic/components/NativeComplexForm.vue index 722d482..5ade763 100644 --- a/showcases/src/frameworks/vue/components/NativeComplexForm.vue +++ b/docs/.vitepress/showcases/vue/basic/components/NativeComplexForm.vue @@ -4,12 +4,12 @@ style=" margin-bottom: 24px; padding: 20px; - background: #f9fafb; - border: 1px solid #e5e7eb; + background: var(--schepta-bg-soft); + border: 1px solid var(--schepta-border); border-radius: 8px; " > -

    +

    What you can see in this form:

      @@ -57,7 +57,7 @@
-

Submitted Values:

+

Submitted Values:

       

Submitted Values:

+    
+
+ +
+ +
+
+ +
+ +
+ +
+
+
+
+ + + + + diff --git a/showcases/src/frameworks/vue/plugins/vuetify.ts b/docs/.vitepress/showcases/vue/vuetify.ts similarity index 70% rename from showcases/src/frameworks/vue/plugins/vuetify.ts rename to docs/.vitepress/showcases/vue/vuetify.ts index 81993de..2d379b5 100644 --- a/showcases/src/frameworks/vue/plugins/vuetify.ts +++ b/docs/.vitepress/showcases/vue/vuetify.ts @@ -25,6 +25,18 @@ export const vuetify = createVuetify({ warning: '#fb8c00', }, }, + dark: { + dark: true, + colors: { + primary: '#90caf9', + secondary: '#b0bec5', + accent: '#82b1ff', + error: '#ff5252', + info: '#2196f3', + success: '#4caf50', + warning: '#fb8c00', + }, + }, }, }, }); diff --git a/showcases/src/frameworks/vue/vuetify/components/ComponentRegistry.ts b/docs/.vitepress/showcases/vue/vuetify/components/ComponentRegistry.ts similarity index 100% rename from showcases/src/frameworks/vue/vuetify/components/ComponentRegistry.ts rename to docs/.vitepress/showcases/vue/vuetify/components/ComponentRegistry.ts diff --git a/showcases/src/frameworks/vue/vuetify/components/Containers/FormContainer.ts b/docs/.vitepress/showcases/vue/vuetify/components/Containers/FormContainer.ts similarity index 100% rename from showcases/src/frameworks/vue/vuetify/components/Containers/FormContainer.ts rename to docs/.vitepress/showcases/vue/vuetify/components/Containers/FormContainer.ts diff --git a/showcases/src/frameworks/vue/vuetify/components/Containers/FormField.ts b/docs/.vitepress/showcases/vue/vuetify/components/Containers/FormField.ts similarity index 100% rename from showcases/src/frameworks/vue/vuetify/components/Containers/FormField.ts rename to docs/.vitepress/showcases/vue/vuetify/components/Containers/FormField.ts diff --git a/showcases/src/frameworks/vue/vuetify/components/Containers/FormSectionContainer.ts b/docs/.vitepress/showcases/vue/vuetify/components/Containers/FormSectionContainer.ts similarity index 100% rename from showcases/src/frameworks/vue/vuetify/components/Containers/FormSectionContainer.ts rename to docs/.vitepress/showcases/vue/vuetify/components/Containers/FormSectionContainer.ts diff --git a/showcases/src/frameworks/vue/vuetify/components/Containers/FormSectionGroup.ts b/docs/.vitepress/showcases/vue/vuetify/components/Containers/FormSectionGroup.ts similarity index 100% rename from showcases/src/frameworks/vue/vuetify/components/Containers/FormSectionGroup.ts rename to docs/.vitepress/showcases/vue/vuetify/components/Containers/FormSectionGroup.ts diff --git a/showcases/src/frameworks/vue/vuetify/components/Containers/FormSectionGroupContainer.ts b/docs/.vitepress/showcases/vue/vuetify/components/Containers/FormSectionGroupContainer.ts similarity index 100% rename from showcases/src/frameworks/vue/vuetify/components/Containers/FormSectionGroupContainer.ts rename to docs/.vitepress/showcases/vue/vuetify/components/Containers/FormSectionGroupContainer.ts diff --git a/showcases/src/frameworks/vue/vuetify/components/Containers/FormSectionTitle.ts b/docs/.vitepress/showcases/vue/vuetify/components/Containers/FormSectionTitle.ts similarity index 100% rename from showcases/src/frameworks/vue/vuetify/components/Containers/FormSectionTitle.ts rename to docs/.vitepress/showcases/vue/vuetify/components/Containers/FormSectionTitle.ts diff --git a/showcases/src/frameworks/vue/vuetify/components/Form.vue b/docs/.vitepress/showcases/vue/vuetify/components/Form.vue similarity index 64% rename from showcases/src/frameworks/vue/vuetify/components/Form.vue rename to docs/.vitepress/showcases/vue/vuetify/components/Form.vue index ad39309..35dc02a 100644 --- a/showcases/src/frameworks/vue/vuetify/components/Form.vue +++ b/docs/.vitepress/showcases/vue/vuetify/components/Form.vue @@ -6,9 +6,9 @@ @submit="handleSubmit" /> -
-

Submitted Values:

-
{{ JSON.stringify(submittedValues, null, 2) }}
+
+

Submitted Values:

+
{{ JSON.stringify(submittedValues, null, 2) }}
diff --git a/showcases/src/frameworks/vue/vuetify/components/Inputs/InputCheckbox.ts b/docs/.vitepress/showcases/vue/vuetify/components/Inputs/InputCheckbox.ts similarity index 100% rename from showcases/src/frameworks/vue/vuetify/components/Inputs/InputCheckbox.ts rename to docs/.vitepress/showcases/vue/vuetify/components/Inputs/InputCheckbox.ts diff --git a/showcases/src/frameworks/vue/vuetify/components/Inputs/InputDate.ts b/docs/.vitepress/showcases/vue/vuetify/components/Inputs/InputDate.ts similarity index 100% rename from showcases/src/frameworks/vue/vuetify/components/Inputs/InputDate.ts rename to docs/.vitepress/showcases/vue/vuetify/components/Inputs/InputDate.ts diff --git a/showcases/src/frameworks/vue/vuetify/components/Inputs/InputNumber.ts b/docs/.vitepress/showcases/vue/vuetify/components/Inputs/InputNumber.ts similarity index 100% rename from showcases/src/frameworks/vue/vuetify/components/Inputs/InputNumber.ts rename to docs/.vitepress/showcases/vue/vuetify/components/Inputs/InputNumber.ts diff --git a/showcases/src/frameworks/vue/vuetify/components/Inputs/InputSelect.ts b/docs/.vitepress/showcases/vue/vuetify/components/Inputs/InputSelect.ts similarity index 100% rename from showcases/src/frameworks/vue/vuetify/components/Inputs/InputSelect.ts rename to docs/.vitepress/showcases/vue/vuetify/components/Inputs/InputSelect.ts diff --git a/showcases/src/frameworks/vue/vuetify/components/Inputs/InputText.ts b/docs/.vitepress/showcases/vue/vuetify/components/Inputs/InputText.ts similarity index 100% rename from showcases/src/frameworks/vue/vuetify/components/Inputs/InputText.ts rename to docs/.vitepress/showcases/vue/vuetify/components/Inputs/InputText.ts diff --git a/showcases/src/frameworks/vue/vuetify/components/Inputs/InputTextarea.ts b/docs/.vitepress/showcases/vue/vuetify/components/Inputs/InputTextarea.ts similarity index 100% rename from showcases/src/frameworks/vue/vuetify/components/Inputs/InputTextarea.ts rename to docs/.vitepress/showcases/vue/vuetify/components/Inputs/InputTextarea.ts diff --git a/showcases/src/frameworks/vue/vuetify/components/SubmitButton.ts b/docs/.vitepress/showcases/vue/vuetify/components/SubmitButton.ts similarity index 100% rename from showcases/src/frameworks/vue/vuetify/components/SubmitButton.ts rename to docs/.vitepress/showcases/vue/vuetify/components/SubmitButton.ts diff --git a/showcases/src/frameworks/vue/vuetify/pages/VuetifyFormPage.vue b/docs/.vitepress/showcases/vue/vuetify/pages/VuetifyFormPage.vue similarity index 89% rename from showcases/src/frameworks/vue/vuetify/pages/VuetifyFormPage.vue rename to docs/.vitepress/showcases/vue/vuetify/pages/VuetifyFormPage.vue index 00b3cd4..9cc78f8 100644 --- a/showcases/src/frameworks/vue/vuetify/pages/VuetifyFormPage.vue +++ b/docs/.vitepress/showcases/vue/vuetify/pages/VuetifyFormPage.vue @@ -1,7 +1,5 @@