@gallop.software/studio 1.5.10 → 2.0.0
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/app/api/studio/[...path]/route.ts +1 -0
- package/app/layout.tsx +20 -0
- package/app/page.tsx +82 -0
- package/bin/studio.mjs +110 -0
- package/dist/handlers/index.js +77 -55
- package/dist/handlers/index.js.map +1 -1
- package/dist/handlers/index.mjs +128 -106
- package/dist/handlers/index.mjs.map +1 -1
- package/dist/index.d.mts +14 -10
- package/dist/index.d.ts +14 -10
- package/dist/index.js +2 -177
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -179
- package/dist/index.mjs.map +1 -1
- package/next.config.mjs +22 -0
- package/package.json +18 -10
- package/src/components/AddNewModal.tsx +402 -0
- package/src/components/ErrorModal.tsx +89 -0
- package/src/components/R2SetupModal.tsx +400 -0
- package/src/components/StudioBreadcrumb.tsx +115 -0
- package/src/components/StudioButton.tsx +200 -0
- package/src/components/StudioContext.tsx +219 -0
- package/src/components/StudioDetailView.tsx +714 -0
- package/src/components/StudioFileGrid.tsx +704 -0
- package/src/components/StudioFileList.tsx +743 -0
- package/src/components/StudioFolderPicker.tsx +342 -0
- package/src/components/StudioModal.tsx +473 -0
- package/src/components/StudioPreview.tsx +399 -0
- package/src/components/StudioSettings.tsx +536 -0
- package/src/components/StudioToolbar.tsx +1448 -0
- package/src/components/StudioUI.tsx +731 -0
- package/src/components/styles/common.ts +236 -0
- package/src/components/tokens.ts +78 -0
- package/src/components/useStudioActions.tsx +497 -0
- package/src/config/index.ts +7 -0
- package/src/config/workspace.ts +52 -0
- package/src/handlers/favicon.ts +152 -0
- package/src/handlers/files.ts +784 -0
- package/src/handlers/images.ts +949 -0
- package/src/handlers/import.ts +190 -0
- package/src/handlers/index.ts +168 -0
- package/src/handlers/list.ts +627 -0
- package/src/handlers/scan.ts +311 -0
- package/src/handlers/utils/cdn.ts +234 -0
- package/src/handlers/utils/files.ts +64 -0
- package/src/handlers/utils/index.ts +4 -0
- package/src/handlers/utils/meta.ts +102 -0
- package/src/handlers/utils/thumbnails.ts +98 -0
- package/src/hooks/useFileList.ts +143 -0
- package/src/index.tsx +36 -0
- package/src/lib/api.ts +176 -0
- package/src/types.ts +119 -0
- package/dist/StudioUI-GJK45R3T.js +0 -6500
- package/dist/StudioUI-GJK45R3T.js.map +0 -1
- package/dist/StudioUI-QZ54STXE.mjs +0 -6500
- package/dist/StudioUI-QZ54STXE.mjs.map +0 -1
- package/dist/chunk-N6JYTJCB.js +0 -68
- package/dist/chunk-N6JYTJCB.js.map +0 -1
- package/dist/chunk-RHI3UROE.mjs +0 -68
- package/dist/chunk-RHI3UROE.mjs.map +0 -1
package/dist/chunk-N6JYTJCB.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/components/tokens.ts
|
|
2
|
-
var _react = require('@emotion/react');
|
|
3
|
-
var fontStack = `-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Ubuntu, sans-serif`;
|
|
4
|
-
var colors = {
|
|
5
|
-
// Primary brand
|
|
6
|
-
primary: "#635bff",
|
|
7
|
-
primaryHover: "#5851e5",
|
|
8
|
-
primaryLight: "#f0f0ff",
|
|
9
|
-
// Backgrounds
|
|
10
|
-
background: "#f6f9fc",
|
|
11
|
-
surface: "#ffffff",
|
|
12
|
-
surfaceHover: "#f6f9fc",
|
|
13
|
-
// Borders
|
|
14
|
-
border: "#d8dee4",
|
|
15
|
-
borderLight: "#e3e8ee",
|
|
16
|
-
borderHover: "#c1c9d2",
|
|
17
|
-
// Text
|
|
18
|
-
text: "#1a1f36",
|
|
19
|
-
textSecondary: "#697386",
|
|
20
|
-
textMuted: "#8792a2",
|
|
21
|
-
// Status
|
|
22
|
-
success: "#0d7d4d",
|
|
23
|
-
successLight: "#e6f7ef",
|
|
24
|
-
danger: "#df1b41",
|
|
25
|
-
dangerHover: "#c41535",
|
|
26
|
-
dangerLight: "#fff5f7",
|
|
27
|
-
// Shadows
|
|
28
|
-
shadow: "rgba(50, 50, 93, 0.1)",
|
|
29
|
-
shadowDark: "rgba(50, 50, 93, 0.2)",
|
|
30
|
-
// Special folders
|
|
31
|
-
folder: "#64748b",
|
|
32
|
-
imagesFolder: "#8b5cf6",
|
|
33
|
-
imagesFolderLight: "#f3f0ff"
|
|
34
|
-
};
|
|
35
|
-
var fontSize = {
|
|
36
|
-
xs: "13px",
|
|
37
|
-
sm: "14px",
|
|
38
|
-
base: "16px",
|
|
39
|
-
md: "17px",
|
|
40
|
-
lg: "19px",
|
|
41
|
-
xl: "22px"
|
|
42
|
-
};
|
|
43
|
-
var baseReset = _react.css`
|
|
44
|
-
font-family: ${fontStack};
|
|
45
|
-
font-size: ${fontSize.base};
|
|
46
|
-
line-height: 1.5;
|
|
47
|
-
color: ${colors.text};
|
|
48
|
-
-webkit-font-smoothing: antialiased;
|
|
49
|
-
-moz-osx-font-smoothing: grayscale;
|
|
50
|
-
box-sizing: border-box;
|
|
51
|
-
|
|
52
|
-
*, *::before, *::after {
|
|
53
|
-
box-sizing: border-box;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
button, input, select, textarea {
|
|
57
|
-
font-family: inherit;
|
|
58
|
-
font-size: inherit;
|
|
59
|
-
}
|
|
60
|
-
`;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
exports.fontStack = fontStack; exports.colors = colors; exports.fontSize = fontSize; exports.baseReset = baseReset;
|
|
68
|
-
//# sourceMappingURL=chunk-N6JYTJCB.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/chrisb/Sites/studio/dist/chunk-N6JYTJCB.js","../src/components/tokens.ts"],"names":[],"mappings":"AAAA;ACAA,uCAAoB;AAQb,IAAM,UAAA,EAAY,CAAA,2FAAA,CAAA;AAGlB,IAAM,OAAA,EAAS;AAAA;AAAA,EAEpB,OAAA,EAAS,SAAA;AAAA,EACT,YAAA,EAAc,SAAA;AAAA,EACd,YAAA,EAAc,SAAA;AAAA;AAAA,EAGd,UAAA,EAAY,SAAA;AAAA,EACZ,OAAA,EAAS,SAAA;AAAA,EACT,YAAA,EAAc,SAAA;AAAA;AAAA,EAGd,MAAA,EAAQ,SAAA;AAAA,EACR,WAAA,EAAa,SAAA;AAAA,EACb,WAAA,EAAa,SAAA;AAAA;AAAA,EAGb,IAAA,EAAM,SAAA;AAAA,EACN,aAAA,EAAe,SAAA;AAAA,EACf,SAAA,EAAW,SAAA;AAAA;AAAA,EAGX,OAAA,EAAS,SAAA;AAAA,EACT,YAAA,EAAc,SAAA;AAAA,EACd,MAAA,EAAQ,SAAA;AAAA,EACR,WAAA,EAAa,SAAA;AAAA,EACb,WAAA,EAAa,SAAA;AAAA;AAAA,EAGb,MAAA,EAAQ,uBAAA;AAAA,EACR,UAAA,EAAY,uBAAA;AAAA;AAAA,EAGZ,MAAA,EAAQ,SAAA;AAAA,EACR,YAAA,EAAc,SAAA;AAAA,EACd,iBAAA,EAAmB;AACrB,CAAA;AAGO,IAAM,SAAA,EAAW;AAAA,EACtB,EAAA,EAAI,MAAA;AAAA,EACJ,EAAA,EAAI,MAAA;AAAA,EACJ,IAAA,EAAM,MAAA;AAAA,EACN,EAAA,EAAI,MAAA;AAAA,EACJ,EAAA,EAAI,MAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAGO,IAAM,UAAA,EAAY,UAAA,CAAA;AAAA,eAAA,EACR,SAAS,CAAA;AAAA,aAAA,EACX,QAAA,CAAS,IAAI,CAAA;AAAA;AAAA,SAAA,EAEjB,MAAA,CAAO,IAAI,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,CAAA;ADJtB;AACA;AACE;AACA;AACA;AACA;AACF,mHAAC","file":"/Users/chrisb/Sites/studio/dist/chunk-N6JYTJCB.js","sourcesContent":[null,"import { css } from '@emotion/react'\n\n/**\n * Stripe-inspired design tokens for Studio\n * These are self-contained and agnostic of any parent template styling\n */\n\n// Base font stack - system fonts that work everywhere\nexport const fontStack = `-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Ubuntu, sans-serif`\n\n// Color palette\nexport const colors = {\n // Primary brand\n primary: '#635bff',\n primaryHover: '#5851e5',\n primaryLight: '#f0f0ff',\n \n // Backgrounds\n background: '#f6f9fc',\n surface: '#ffffff',\n surfaceHover: '#f6f9fc',\n \n // Borders\n border: '#d8dee4',\n borderLight: '#e3e8ee',\n borderHover: '#c1c9d2',\n \n // Text\n text: '#1a1f36',\n textSecondary: '#697386',\n textMuted: '#8792a2',\n \n // Status\n success: '#0d7d4d',\n successLight: '#e6f7ef',\n danger: '#df1b41',\n dangerHover: '#c41535',\n dangerLight: '#fff5f7',\n \n // Shadows\n shadow: 'rgba(50, 50, 93, 0.1)',\n shadowDark: 'rgba(50, 50, 93, 0.2)',\n \n // Special folders\n folder: '#64748b',\n imagesFolder: '#8b5cf6',\n imagesFolderLight: '#f3f0ff',\n}\n\n// Font sizes - slightly larger for better readability\nexport const fontSize = {\n xs: '13px',\n sm: '14px',\n base: '16px',\n md: '17px',\n lg: '19px',\n xl: '22px',\n}\n\n// Base reset styles for Studio container - isolates from parent template\nexport const baseReset = css`\n font-family: ${fontStack};\n font-size: ${fontSize.base};\n line-height: 1.5;\n color: ${colors.text};\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n box-sizing: border-box;\n \n *, *::before, *::after {\n box-sizing: border-box;\n }\n \n button, input, select, textarea {\n font-family: inherit;\n font-size: inherit;\n }\n`\n"]}
|
package/dist/chunk-RHI3UROE.mjs
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
// src/components/tokens.ts
|
|
2
|
-
import { css } from "@emotion/react";
|
|
3
|
-
var fontStack = `-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Ubuntu, sans-serif`;
|
|
4
|
-
var colors = {
|
|
5
|
-
// Primary brand
|
|
6
|
-
primary: "#635bff",
|
|
7
|
-
primaryHover: "#5851e5",
|
|
8
|
-
primaryLight: "#f0f0ff",
|
|
9
|
-
// Backgrounds
|
|
10
|
-
background: "#f6f9fc",
|
|
11
|
-
surface: "#ffffff",
|
|
12
|
-
surfaceHover: "#f6f9fc",
|
|
13
|
-
// Borders
|
|
14
|
-
border: "#d8dee4",
|
|
15
|
-
borderLight: "#e3e8ee",
|
|
16
|
-
borderHover: "#c1c9d2",
|
|
17
|
-
// Text
|
|
18
|
-
text: "#1a1f36",
|
|
19
|
-
textSecondary: "#697386",
|
|
20
|
-
textMuted: "#8792a2",
|
|
21
|
-
// Status
|
|
22
|
-
success: "#0d7d4d",
|
|
23
|
-
successLight: "#e6f7ef",
|
|
24
|
-
danger: "#df1b41",
|
|
25
|
-
dangerHover: "#c41535",
|
|
26
|
-
dangerLight: "#fff5f7",
|
|
27
|
-
// Shadows
|
|
28
|
-
shadow: "rgba(50, 50, 93, 0.1)",
|
|
29
|
-
shadowDark: "rgba(50, 50, 93, 0.2)",
|
|
30
|
-
// Special folders
|
|
31
|
-
folder: "#64748b",
|
|
32
|
-
imagesFolder: "#8b5cf6",
|
|
33
|
-
imagesFolderLight: "#f3f0ff"
|
|
34
|
-
};
|
|
35
|
-
var fontSize = {
|
|
36
|
-
xs: "13px",
|
|
37
|
-
sm: "14px",
|
|
38
|
-
base: "16px",
|
|
39
|
-
md: "17px",
|
|
40
|
-
lg: "19px",
|
|
41
|
-
xl: "22px"
|
|
42
|
-
};
|
|
43
|
-
var baseReset = css`
|
|
44
|
-
font-family: ${fontStack};
|
|
45
|
-
font-size: ${fontSize.base};
|
|
46
|
-
line-height: 1.5;
|
|
47
|
-
color: ${colors.text};
|
|
48
|
-
-webkit-font-smoothing: antialiased;
|
|
49
|
-
-moz-osx-font-smoothing: grayscale;
|
|
50
|
-
box-sizing: border-box;
|
|
51
|
-
|
|
52
|
-
*, *::before, *::after {
|
|
53
|
-
box-sizing: border-box;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
button, input, select, textarea {
|
|
57
|
-
font-family: inherit;
|
|
58
|
-
font-size: inherit;
|
|
59
|
-
}
|
|
60
|
-
`;
|
|
61
|
-
|
|
62
|
-
export {
|
|
63
|
-
fontStack,
|
|
64
|
-
colors,
|
|
65
|
-
fontSize,
|
|
66
|
-
baseReset
|
|
67
|
-
};
|
|
68
|
-
//# sourceMappingURL=chunk-RHI3UROE.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/tokens.ts"],"sourcesContent":["import { css } from '@emotion/react'\n\n/**\n * Stripe-inspired design tokens for Studio\n * These are self-contained and agnostic of any parent template styling\n */\n\n// Base font stack - system fonts that work everywhere\nexport const fontStack = `-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Ubuntu, sans-serif`\n\n// Color palette\nexport const colors = {\n // Primary brand\n primary: '#635bff',\n primaryHover: '#5851e5',\n primaryLight: '#f0f0ff',\n \n // Backgrounds\n background: '#f6f9fc',\n surface: '#ffffff',\n surfaceHover: '#f6f9fc',\n \n // Borders\n border: '#d8dee4',\n borderLight: '#e3e8ee',\n borderHover: '#c1c9d2',\n \n // Text\n text: '#1a1f36',\n textSecondary: '#697386',\n textMuted: '#8792a2',\n \n // Status\n success: '#0d7d4d',\n successLight: '#e6f7ef',\n danger: '#df1b41',\n dangerHover: '#c41535',\n dangerLight: '#fff5f7',\n \n // Shadows\n shadow: 'rgba(50, 50, 93, 0.1)',\n shadowDark: 'rgba(50, 50, 93, 0.2)',\n \n // Special folders\n folder: '#64748b',\n imagesFolder: '#8b5cf6',\n imagesFolderLight: '#f3f0ff',\n}\n\n// Font sizes - slightly larger for better readability\nexport const fontSize = {\n xs: '13px',\n sm: '14px',\n base: '16px',\n md: '17px',\n lg: '19px',\n xl: '22px',\n}\n\n// Base reset styles for Studio container - isolates from parent template\nexport const baseReset = css`\n font-family: ${fontStack};\n font-size: ${fontSize.base};\n line-height: 1.5;\n color: ${colors.text};\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n box-sizing: border-box;\n \n *, *::before, *::after {\n box-sizing: border-box;\n }\n \n button, input, select, textarea {\n font-family: inherit;\n font-size: inherit;\n }\n`\n"],"mappings":";AAAA,SAAS,WAAW;AAQb,IAAM,YAAY;AAGlB,IAAM,SAAS;AAAA;AAAA,EAEpB,SAAS;AAAA,EACT,cAAc;AAAA,EACd,cAAc;AAAA;AAAA,EAGd,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,cAAc;AAAA;AAAA,EAGd,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,aAAa;AAAA;AAAA,EAGb,MAAM;AAAA,EACN,eAAe;AAAA,EACf,WAAW;AAAA;AAAA,EAGX,SAAS;AAAA,EACT,cAAc;AAAA,EACd,QAAQ;AAAA,EACR,aAAa;AAAA,EACb,aAAa;AAAA;AAAA,EAGb,QAAQ;AAAA,EACR,YAAY;AAAA;AAAA,EAGZ,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,mBAAmB;AACrB;AAGO,IAAM,WAAW;AAAA,EACtB,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,MAAM;AAAA,EACN,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAGO,IAAM,YAAY;AAAA,iBACR,SAAS;AAAA,eACX,SAAS,IAAI;AAAA;AAAA,WAEjB,OAAO,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;","names":[]}
|