@oaysus/cli 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +87 -95
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +16 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/switch.d.ts +6 -0
- package/dist/commands/switch.d.ts.map +1 -0
- package/dist/commands/switch.js +120 -0
- package/dist/commands/switch.js.map +1 -0
- package/dist/commands/whoami.d.ts.map +1 -1
- package/dist/commands/whoami.js +11 -2
- package/dist/commands/whoami.js.map +1 -1
- package/dist/components/App.d.ts +3 -1
- package/dist/components/App.d.ts.map +1 -1
- package/dist/components/App.js +4 -1
- package/dist/components/App.js.map +1 -1
- package/dist/components/SlashCommands.js +1 -1
- package/dist/lib/push.d.ts.map +1 -1
- package/dist/lib/push.js +11 -12
- package/dist/lib/push.js.map +1 -1
- package/dist/lib/react/builder.js +5 -5
- package/dist/lib/react/builder.js.map +1 -1
- package/dist/lib/react/bundler.js +2 -2
- package/dist/lib/react/bundler.js.map +1 -1
- package/dist/lib/shared/auth-middleware.js +1 -1
- package/dist/lib/shared/auth-middleware.js.map +1 -1
- package/dist/lib/shared/auth.d.ts +8 -0
- package/dist/lib/shared/auth.d.ts.map +1 -1
- package/dist/lib/shared/auth.js +102 -10
- package/dist/lib/shared/auth.js.map +1 -1
- package/dist/lib/shared/cdn-downloader.js +2 -2
- package/dist/lib/shared/cdn-downloader.js.map +1 -1
- package/dist/lib/shared/commands.d.ts.map +1 -1
- package/dist/lib/shared/commands.js +5 -1
- package/dist/lib/shared/commands.js.map +1 -1
- package/dist/lib/shared/config.d.ts +6 -8
- package/dist/lib/shared/config.d.ts.map +1 -1
- package/dist/lib/shared/config.js +75 -10
- package/dist/lib/shared/config.js.map +1 -1
- package/dist/lib/shared/import-analyzer.js +4 -4
- package/dist/lib/shared/import-analyzer.js.map +1 -1
- package/dist/lib/shared/uploader.d.ts +14 -0
- package/dist/lib/shared/uploader.d.ts.map +1 -1
- package/dist/lib/shared/uploader.js +207 -0
- package/dist/lib/shared/uploader.js.map +1 -1
- package/dist/screens/PushScreen.d.ts.map +1 -1
- package/dist/screens/PushScreen.js +43 -27
- package/dist/screens/PushScreen.js.map +1 -1
- package/dist/screens/SwitchScreen.d.ts +14 -0
- package/dist/screens/SwitchScreen.d.ts.map +1 -0
- package/dist/screens/SwitchScreen.js +196 -0
- package/dist/screens/SwitchScreen.js.map +1 -0
- package/dist/screens/WelcomeScreen.d.ts +3 -1
- package/dist/screens/WelcomeScreen.d.ts.map +1 -1
- package/dist/screens/WelcomeScreen.js +8 -5
- package/dist/screens/WelcomeScreen.js.map +1 -1
- package/dist/screens/WhoamiScreen.d.ts.map +1 -1
- package/dist/screens/WhoamiScreen.js +13 -6
- package/dist/screens/WhoamiScreen.js.map +1 -1
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/templates/react-theme-pack/.storybook/main.ts.template +16 -0
- package/src/templates/react-theme-pack/.storybook/preview.ts.template +43 -0
- package/src/templates/react-theme-pack/.storybook/utils/schemaToArgTypes.ts.template +92 -0
- package/src/templates/react-theme-pack/README.md.template +71 -0
- package/src/templates/react-theme-pack/components/example-schema.json.template +24 -0
- package/src/templates/react-theme-pack/components/example.stories.tsx.template +29 -0
- package/src/templates/react-theme-pack/components/example.tsx.template +30 -0
- package/src/templates/react-theme-pack/package.json.template +51 -0
- package/src/templates/react-theme-pack/preview/generate.js.template +218 -0
- package/src/templates/react-theme-pack/preview/server.js.template +40 -0
- package/src/templates/react-theme-pack/shared/types.ts.template +19 -0
- package/src/templates/react-theme-pack/shared/utils.ts.template +30 -0
- package/src/templates/react-theme-pack/styles/tailwind.css.template +1 -0
- package/src/templates/react-theme-pack/tsconfig.json.template +24 -0
- package/src/templates/react-theme-pack/vite.config.ts.template +12 -0
- package/src/templates/shared/.gitignore.template +46 -0
- package/src/templates/shared/postcss.config.js.template +6 -0
- package/src/templates/shared/tailwind.config.js.template +11 -0
- package/src/templates/svelte-theme-pack/.storybook/main.ts.template +13 -0
- package/src/templates/svelte-theme-pack/.storybook/preview.ts.template +40 -0
- package/src/templates/svelte-theme-pack/.storybook/utils/schemaToArgTypes.ts.template +107 -0
- package/src/templates/svelte-theme-pack/README.md.template +67 -0
- package/src/templates/svelte-theme-pack/components/example-schema.json.template +24 -0
- package/src/templates/svelte-theme-pack/components/example.stories.ts.template +34 -0
- package/src/templates/svelte-theme-pack/components/example.svelte.template +29 -0
- package/src/templates/svelte-theme-pack/package.json.template +45 -0
- package/src/templates/svelte-theme-pack/preview/generate.js.template +221 -0
- package/src/templates/svelte-theme-pack/preview/server.js.template +40 -0
- package/src/templates/svelte-theme-pack/shared/types.ts.template +31 -0
- package/src/templates/svelte-theme-pack/shared/utils.ts.template +37 -0
- package/src/templates/svelte-theme-pack/styles/tailwind.css.template +1 -0
- package/src/templates/svelte-theme-pack/svelte.config.js.template +5 -0
- package/src/templates/svelte-theme-pack/tsconfig.json.template +27 -0
- package/src/templates/svelte-theme-pack/vite.config.ts.template +12 -0
- package/src/templates/vue-theme-pack/.storybook/main.ts.template +13 -0
- package/src/templates/vue-theme-pack/.storybook/preview.ts.template +40 -0
- package/src/templates/vue-theme-pack/.storybook/utils/schemaToArgTypes.ts.template +107 -0
- package/src/templates/vue-theme-pack/README.md.template +69 -0
- package/src/templates/vue-theme-pack/components/example-schema.json.template +24 -0
- package/src/templates/vue-theme-pack/components/example.stories.ts.template +34 -0
- package/src/templates/vue-theme-pack/components/example.vue.template +32 -0
- package/src/templates/vue-theme-pack/package.json.template +44 -0
- package/src/templates/vue-theme-pack/preview/generate.js.template +218 -0
- package/src/templates/vue-theme-pack/preview/server.js.template +40 -0
- package/src/templates/vue-theme-pack/shared/types.ts.template +31 -0
- package/src/templates/vue-theme-pack/shared/utils.ts.template +37 -0
- package/src/templates/vue-theme-pack/styles/tailwind.css.template +1 -0
- package/src/templates/vue-theme-pack/tsconfig.json.template +27 -0
- package/src/templates/vue-theme-pack/vite.config.ts.template +12 -0
|
@@ -80,8 +80,11 @@ export const WhoamiScreen = ({ onExit, sessionHistory = [], addToHistory }) => {
|
|
|
80
80
|
{ type: 'info', content: '✓ Authenticated' },
|
|
81
81
|
{ type: 'info', content: `Email: ${credsData.email}` }
|
|
82
82
|
];
|
|
83
|
-
// Add website
|
|
84
|
-
if (credsData.
|
|
83
|
+
// Add website: customDomain (preferred), subdomain, name, or ID as fallback
|
|
84
|
+
if (credsData.customDomain) {
|
|
85
|
+
statusEntries.push({ type: 'info', content: `Website: ${credsData.customDomain}` });
|
|
86
|
+
}
|
|
87
|
+
else if (credsData.subdomain) {
|
|
85
88
|
statusEntries.push({ type: 'info', content: `Website: ${credsData.subdomain}.myoaysus.com` });
|
|
86
89
|
}
|
|
87
90
|
else if (credsData.websiteName) {
|
|
@@ -143,7 +146,7 @@ export const WhoamiScreen = ({ onExit, sessionHistory = [], addToHistory }) => {
|
|
|
143
146
|
React.createElement(Text, { dimColor: true }, '─'.repeat(process.stdout.columns || 80)),
|
|
144
147
|
React.createElement(Box, null,
|
|
145
148
|
React.createElement(Text, { dimColor: true }, "\u276F "),
|
|
146
|
-
React.createElement(Text, { dimColor: true }, "/
|
|
149
|
+
React.createElement(Text, { dimColor: true }, "/whoami")),
|
|
147
150
|
React.createElement(Text, { dimColor: true }, '─'.repeat(process.stdout.columns || 80))),
|
|
148
151
|
React.createElement(Box, { flexDirection: "column", marginTop: 1, paddingX: 2 },
|
|
149
152
|
loading && (React.createElement(Box, null,
|
|
@@ -156,16 +159,20 @@ export const WhoamiScreen = ({ onExit, sessionHistory = [], addToHistory }) => {
|
|
|
156
159
|
React.createElement(Text, { dimColor: true },
|
|
157
160
|
"Email: ",
|
|
158
161
|
credentials.email)),
|
|
159
|
-
credentials.
|
|
162
|
+
credentials.customDomain && (React.createElement(Box, null,
|
|
163
|
+
React.createElement(Text, { dimColor: true },
|
|
164
|
+
"Website: ",
|
|
165
|
+
credentials.customDomain))),
|
|
166
|
+
!credentials.customDomain && credentials.subdomain && (React.createElement(Box, null,
|
|
160
167
|
React.createElement(Text, { dimColor: true },
|
|
161
168
|
"Website: ",
|
|
162
169
|
credentials.subdomain,
|
|
163
170
|
".myoaysus.com"))),
|
|
164
|
-
!credentials.subdomain && credentials.websiteName && (React.createElement(Box, null,
|
|
171
|
+
!credentials.customDomain && !credentials.subdomain && credentials.websiteName && (React.createElement(Box, null,
|
|
165
172
|
React.createElement(Text, { dimColor: true },
|
|
166
173
|
"Website: ",
|
|
167
174
|
credentials.websiteName))),
|
|
168
|
-
!credentials.subdomain && !credentials.websiteName && (React.createElement(Box, null,
|
|
175
|
+
!credentials.customDomain && !credentials.subdomain && !credentials.websiteName && (React.createElement(Box, null,
|
|
169
176
|
React.createElement(Text, { dimColor: true },
|
|
170
177
|
"Website ID: ",
|
|
171
178
|
credentials.websiteId))),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WhoamiScreen.js","sourceRoot":"","sources":["../../src/screens/WhoamiScreen.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"WhoamiScreen.js","sourceRoot":"","sources":["../../src/screens/WhoamiScreen.tsx"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export interface Credentials {
|
|
|
5
5
|
websiteId: string;
|
|
6
6
|
websiteName?: string;
|
|
7
7
|
subdomain?: string;
|
|
8
|
+
customDomain?: string;
|
|
8
9
|
platforms: string[];
|
|
9
10
|
expiresAt: string;
|
|
10
11
|
}
|
|
@@ -18,6 +19,7 @@ export interface Website {
|
|
|
18
19
|
id: string;
|
|
19
20
|
name: string;
|
|
20
21
|
subdomain: string;
|
|
22
|
+
customDomain?: string;
|
|
21
23
|
}
|
|
22
24
|
export interface DeviceStatusResponse {
|
|
23
25
|
status: 'pending' | 'approved' | 'denied' | 'expired';
|
|
@@ -29,6 +31,7 @@ export interface DeviceStatusResponse {
|
|
|
29
31
|
websiteId?: string;
|
|
30
32
|
websiteName?: string;
|
|
31
33
|
subdomain?: string;
|
|
34
|
+
customDomain?: string;
|
|
32
35
|
platforms?: string[];
|
|
33
36
|
expiresIn?: number;
|
|
34
37
|
message?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtD,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oaysus/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Oaysus CLI - Professional developer tool for component uploads",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
"types": "./dist/index.d.ts",
|
|
11
11
|
"files": [
|
|
12
12
|
"dist",
|
|
13
|
-
"bin"
|
|
13
|
+
"bin",
|
|
14
|
+
"src/templates"
|
|
14
15
|
],
|
|
15
16
|
"scripts": {
|
|
16
17
|
"build": "tsc",
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { StorybookConfig } from '@storybook/react-vite';
|
|
2
|
+
|
|
3
|
+
const config: StorybookConfig = {
|
|
4
|
+
stories: ['../components/**/*.stories.@(js|jsx|mjs|ts|tsx)'],
|
|
5
|
+
addons: ['@storybook/addon-a11y'],
|
|
6
|
+
framework: {
|
|
7
|
+
name: '@storybook/react-vite',
|
|
8
|
+
options: {}
|
|
9
|
+
},
|
|
10
|
+
typescript: {
|
|
11
|
+
reactDocgen: 'react-docgen-typescript',
|
|
12
|
+
check: false
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
export default config;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import type { Preview } from '@storybook/react';
|
|
2
|
+
import '../styles/tailwind.css';
|
|
3
|
+
|
|
4
|
+
const preview: Preview = {
|
|
5
|
+
parameters: {
|
|
6
|
+
controls: {
|
|
7
|
+
matchers: {
|
|
8
|
+
color: /(background|color)$/i,
|
|
9
|
+
date: /Date$/i,
|
|
10
|
+
},
|
|
11
|
+
expanded: true,
|
|
12
|
+
sort: 'requiredFirst'
|
|
13
|
+
},
|
|
14
|
+
viewport: {
|
|
15
|
+
viewports: {
|
|
16
|
+
mobile: {
|
|
17
|
+
name: 'Mobile',
|
|
18
|
+
styles: { width: '375px', height: '667px' }
|
|
19
|
+
},
|
|
20
|
+
tablet: {
|
|
21
|
+
name: 'Tablet',
|
|
22
|
+
styles: { width: '768px', height: '1024px' }
|
|
23
|
+
},
|
|
24
|
+
desktop: {
|
|
25
|
+
name: 'Desktop',
|
|
26
|
+
styles: { width: '1280px', height: '800px' }
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
defaultViewport: 'desktop'
|
|
30
|
+
},
|
|
31
|
+
backgrounds: {
|
|
32
|
+
default: 'light',
|
|
33
|
+
values: [
|
|
34
|
+
{ name: 'light', value: '#ffffff' },
|
|
35
|
+
{ name: 'dark', value: '#1f2937' },
|
|
36
|
+
{ name: 'gray', value: '#f3f4f6' }
|
|
37
|
+
]
|
|
38
|
+
},
|
|
39
|
+
layout: 'fullscreen'
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export default preview;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type { ArgTypes } from 'storybook/internal/csf';
|
|
2
|
+
|
|
3
|
+
interface SchemaProp {
|
|
4
|
+
type: string;
|
|
5
|
+
displayName?: string;
|
|
6
|
+
description?: string;
|
|
7
|
+
default?: any;
|
|
8
|
+
min?: number;
|
|
9
|
+
max?: number;
|
|
10
|
+
step?: number;
|
|
11
|
+
unit?: string;
|
|
12
|
+
properties?: Record<string, SchemaProp>;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
interface Schema {
|
|
16
|
+
type: string;
|
|
17
|
+
displayName: string;
|
|
18
|
+
description?: string;
|
|
19
|
+
category?: string;
|
|
20
|
+
props: Record<string, SchemaProp>;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
type ControlConfig =
|
|
24
|
+
| { type: 'color'; presetColors?: string[] }
|
|
25
|
+
| { type: 'range'; min?: number; max?: number; step?: number }
|
|
26
|
+
| { type: 'number'; min?: number; max?: number; step?: number }
|
|
27
|
+
| { type: 'boolean' }
|
|
28
|
+
| { type: 'text' }
|
|
29
|
+
| { type: 'object' };
|
|
30
|
+
|
|
31
|
+
function propTypeToControl(prop: SchemaProp): ControlConfig {
|
|
32
|
+
switch (prop.type) {
|
|
33
|
+
case 'color':
|
|
34
|
+
return { type: 'color', presetColors: ['#ffffff', '#000000', '#6366f1', '#22c55e', '#ef4444'] };
|
|
35
|
+
case 'range':
|
|
36
|
+
return { type: 'range', min: prop.min ?? 0, max: prop.max ?? 100, step: prop.step ?? 1 };
|
|
37
|
+
case 'number':
|
|
38
|
+
return { type: 'number', min: prop.min, max: prop.max, step: prop.step ?? 1 };
|
|
39
|
+
case 'boolean':
|
|
40
|
+
return { type: 'boolean' };
|
|
41
|
+
case 'textarea':
|
|
42
|
+
case 'string':
|
|
43
|
+
return { type: 'text' };
|
|
44
|
+
case 'image':
|
|
45
|
+
case 'array':
|
|
46
|
+
case 'object':
|
|
47
|
+
return { type: 'object' };
|
|
48
|
+
default:
|
|
49
|
+
return { type: 'text' };
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export function schemaToArgTypes(schema: Schema): ArgTypes {
|
|
54
|
+
const argTypes: ArgTypes = {};
|
|
55
|
+
|
|
56
|
+
for (const [propName, prop] of Object.entries(schema.props)) {
|
|
57
|
+
argTypes[propName] = {
|
|
58
|
+
name: prop.displayName || propName,
|
|
59
|
+
description: prop.description,
|
|
60
|
+
control: propTypeToControl(prop),
|
|
61
|
+
table: {
|
|
62
|
+
category: prop.type === 'object' || prop.type === 'array' ? 'Grouped' : 'Props',
|
|
63
|
+
type: { summary: prop.type },
|
|
64
|
+
defaultValue: { summary: typeof prop.default === 'object' ? JSON.stringify(prop.default) : String(prop.default ?? '') }
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
return argTypes;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export function schemaToDefaultArgs(schema: Schema): Record<string, any> {
|
|
73
|
+
const args: Record<string, any> = {};
|
|
74
|
+
|
|
75
|
+
for (const [propName, prop] of Object.entries(schema.props)) {
|
|
76
|
+
if (prop.default !== undefined) {
|
|
77
|
+
args[propName] = prop.default;
|
|
78
|
+
} else if (prop.type === 'object' && prop.properties) {
|
|
79
|
+
const nestedArgs: Record<string, any> = {};
|
|
80
|
+
for (const [nestedName, nestedProp] of Object.entries(prop.properties)) {
|
|
81
|
+
if (nestedProp.default !== undefined) {
|
|
82
|
+
nestedArgs[nestedName] = nestedProp.default;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
if (Object.keys(nestedArgs).length > 0) {
|
|
86
|
+
args[propName] = nestedArgs;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
return args;
|
|
92
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# {{DISPLAY_NAME}}
|
|
2
|
+
|
|
3
|
+
{{DESCRIPTION}}
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pnpm install
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Components
|
|
12
|
+
|
|
13
|
+
This theme pack includes the following components:
|
|
14
|
+
|
|
15
|
+
### Hero
|
|
16
|
+
A hero section component with heading, subheading, and CTA button.
|
|
17
|
+
|
|
18
|
+
### CTA
|
|
19
|
+
A call-to-action component for conversions.
|
|
20
|
+
|
|
21
|
+
### Testimonials
|
|
22
|
+
A testimonials section to showcase customer reviews.
|
|
23
|
+
|
|
24
|
+
## Usage
|
|
25
|
+
|
|
26
|
+
```tsx
|
|
27
|
+
import Hero from './components/Hero';
|
|
28
|
+
import CTA from './components/CTA';
|
|
29
|
+
import Testimonials from './components/Testimonials';
|
|
30
|
+
|
|
31
|
+
function App() {
|
|
32
|
+
return (
|
|
33
|
+
<>
|
|
34
|
+
<Hero
|
|
35
|
+
heading="Welcome"
|
|
36
|
+
subheading="Build amazing things"
|
|
37
|
+
buttonText="Get Started"
|
|
38
|
+
buttonLink="/start"
|
|
39
|
+
/>
|
|
40
|
+
<Testimonials />
|
|
41
|
+
<CTA />
|
|
42
|
+
</>
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Adding New Components
|
|
48
|
+
|
|
49
|
+
To add a new component to this theme pack:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
oaysus create component MyComponent
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Development
|
|
56
|
+
|
|
57
|
+
This theme pack was created using the Oaysus CLI.
|
|
58
|
+
|
|
59
|
+
To validate and package for upload:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
oaysus validate
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Author
|
|
66
|
+
|
|
67
|
+
{{AUTHOR}}
|
|
68
|
+
|
|
69
|
+
## License
|
|
70
|
+
|
|
71
|
+
MIT
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"type": "{{COMPONENT_TYPE}}",
|
|
3
|
+
"displayName": "{{COMPONENT_NAME}}",
|
|
4
|
+
"description": "{{DESCRIPTION}}",
|
|
5
|
+
"category": "{{CATEGORY}}",
|
|
6
|
+
"props": {
|
|
7
|
+
"heading": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"default": "Welcome"
|
|
10
|
+
},
|
|
11
|
+
"subheading": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"default": "Your amazing tagline"
|
|
14
|
+
},
|
|
15
|
+
"buttonText": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"default": "Get Started"
|
|
18
|
+
},
|
|
19
|
+
"buttonLink": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"default": "#"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import {{COMPONENT_NAME}} from './index';
|
|
3
|
+
import { schemaToArgTypes, schemaToDefaultArgs } from '../../.storybook/utils/schemaToArgTypes';
|
|
4
|
+
import schema from './schema.json';
|
|
5
|
+
|
|
6
|
+
const meta: Meta<typeof {{COMPONENT_NAME}}> = {
|
|
7
|
+
title: '{{CATEGORY}}/{{COMPONENT_NAME}}',
|
|
8
|
+
component: {{COMPONENT_NAME}},
|
|
9
|
+
parameters: {
|
|
10
|
+
layout: 'fullscreen'
|
|
11
|
+
},
|
|
12
|
+
argTypes: schemaToArgTypes(schema)
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export default meta;
|
|
16
|
+
type Story = StoryObj<typeof {{COMPONENT_NAME}}>;
|
|
17
|
+
|
|
18
|
+
export const Default: Story = {
|
|
19
|
+
args: schemaToDefaultArgs(schema)
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export const CustomExample: Story = {
|
|
23
|
+
args: {
|
|
24
|
+
heading: 'Build Something Amazing',
|
|
25
|
+
subheading: 'The fastest way to create beautiful, responsive websites',
|
|
26
|
+
buttonText: 'Start Free Trial',
|
|
27
|
+
buttonLink: '/signup'
|
|
28
|
+
}
|
|
29
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
interface {{COMPONENT_NAME}}Props {
|
|
4
|
+
heading?: string;
|
|
5
|
+
subheading?: string;
|
|
6
|
+
buttonText?: string;
|
|
7
|
+
buttonLink?: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export default function {{COMPONENT_NAME}}({
|
|
11
|
+
heading = 'Welcome',
|
|
12
|
+
subheading = 'Your amazing tagline',
|
|
13
|
+
buttonText = 'Get Started',
|
|
14
|
+
buttonLink = '#'
|
|
15
|
+
}: {{COMPONENT_NAME}}Props) {
|
|
16
|
+
return (
|
|
17
|
+
<div className="bg-gradient-to-r from-blue-600 to-purple-600 text-white py-20 px-4">
|
|
18
|
+
<div className="max-w-4xl mx-auto text-center">
|
|
19
|
+
<h1 className="text-5xl font-bold mb-4">{heading}</h1>
|
|
20
|
+
<p className="text-xl mb-8">{subheading}</p>
|
|
21
|
+
<a
|
|
22
|
+
href={buttonLink}
|
|
23
|
+
className="bg-white text-blue-600 px-8 py-3 rounded-lg font-semibold hover:bg-gray-100 cursor-pointer"
|
|
24
|
+
>
|
|
25
|
+
{buttonText}
|
|
26
|
+
</a>
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
);
|
|
30
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "{{PROJECT_NAME}}",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "{{DESCRIPTION}}",
|
|
6
|
+
"author": "{{AUTHOR}}",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"preview": "node preview/generate.js && node preview/server.js",
|
|
10
|
+
"preview:build": "node preview/generate.js",
|
|
11
|
+
"preview:start": "node preview/server.js",
|
|
12
|
+
"storybook": "storybook dev -p 6006",
|
|
13
|
+
"build-storybook": "storybook build -o storybook-static"
|
|
14
|
+
},
|
|
15
|
+
"peerDependencies": {
|
|
16
|
+
"react": "^19.2.0",
|
|
17
|
+
"react-dom": "^19.2.0"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@storybook/addon-a11y": "^10.1.2",
|
|
21
|
+
"@storybook/react": "^10.1.2",
|
|
22
|
+
"@storybook/react-vite": "^10.1.2",
|
|
23
|
+
"@tailwindcss/cli": "^4.1.17",
|
|
24
|
+
"@tailwindcss/postcss": "^4.1.17",
|
|
25
|
+
"@types/react": "^19.2.7",
|
|
26
|
+
"@types/react-dom": "^19.2.3",
|
|
27
|
+
"@vitejs/plugin-react": "^5.1.1",
|
|
28
|
+
"autoprefixer": "^10.4.22",
|
|
29
|
+
"express": "^5.1.0",
|
|
30
|
+
"postcss": "^8.5.6",
|
|
31
|
+
"react": "^19.2.0",
|
|
32
|
+
"react-dom": "^19.2.0",
|
|
33
|
+
"storybook": "^10.1.2",
|
|
34
|
+
"tailwindcss": "^4.1.17",
|
|
35
|
+
"typescript": "^5.9.3",
|
|
36
|
+
"vite": "^7.2.4"
|
|
37
|
+
},
|
|
38
|
+
"oaysus": {
|
|
39
|
+
"theme": {
|
|
40
|
+
"name": "{{PROJECT_NAME}}-pack",
|
|
41
|
+
"displayName": "{{DISPLAY_NAME}}",
|
|
42
|
+
"description": "{{DESCRIPTION}}",
|
|
43
|
+
"category": "marketing",
|
|
44
|
+
"isPremium": false,
|
|
45
|
+
"tags": ["marketing", "components", "theme", "react", "tailwind"]
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"dependencies": {
|
|
49
|
+
"lucide-react": "^0.555.0"
|
|
50
|
+
}
|
|
51
|
+
}
|