@gallop.software/studio 1.2.0 → 1.2.1

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.
@@ -4,7 +4,7 @@ import {
4
4
  colors,
5
5
  fontSize,
6
6
  fontStack
7
- } from "./chunk-HXE6XCG2.mjs";
7
+ } from "./chunk-RHI3UROE.mjs";
8
8
 
9
9
  // src/components/StudioUI.tsx
10
10
  import { useEffect as useEffect5, useCallback as useCallback5, useState as useState10 } from "react";
@@ -5760,4 +5760,4 @@ export {
5760
5760
  StudioUI,
5761
5761
  StudioUI_default as default
5762
5762
  };
5763
- //# sourceMappingURL=StudioUI-ADLDMRJQ.mjs.map
5763
+ //# sourceMappingURL=StudioUI-GLI2IYCZ.mjs.map
@@ -28,6 +28,7 @@ var colors = {
28
28
  shadow: "rgba(50, 50, 93, 0.1)",
29
29
  shadowDark: "rgba(50, 50, 93, 0.2)",
30
30
  // Special folders
31
+ folder: "#64748b",
31
32
  imagesFolder: "#8b5cf6",
32
33
  imagesFolderLight: "#f3f0ff"
33
34
  };
@@ -64,4 +65,4 @@ var baseReset = _react.css`
64
65
 
65
66
 
66
67
  exports.fontStack = fontStack; exports.colors = colors; exports.fontSize = fontSize; exports.baseReset = baseReset;
67
- //# sourceMappingURL=chunk-UFCWGUAG.js.map
68
+ //# sourceMappingURL=chunk-N6JYTJCB.js.map
@@ -0,0 +1 @@
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"]}
@@ -28,6 +28,7 @@ var colors = {
28
28
  shadow: "rgba(50, 50, 93, 0.1)",
29
29
  shadowDark: "rgba(50, 50, 93, 0.2)",
30
30
  // Special folders
31
+ folder: "#64748b",
31
32
  imagesFolder: "#8b5cf6",
32
33
  imagesFolderLight: "#f3f0ff"
33
34
  };
@@ -64,4 +65,4 @@ export {
64
65
  fontSize,
65
66
  baseReset
66
67
  };
67
- //# sourceMappingURL=chunk-HXE6XCG2.mjs.map
68
+ //# sourceMappingURL=chunk-RHI3UROE.mjs.map
@@ -0,0 +1 @@
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":[]}
@@ -705,11 +705,10 @@ async function handleUpload(request) {
705
705
  try {
706
706
  const metadata = await _sharp2.default.call(void 0, buffer).metadata();
707
707
  meta[imageKey] = {
708
- w: metadata.width || 0,
709
- h: metadata.height || 0
708
+ o: { w: metadata.width || 0, h: metadata.height || 0 }
710
709
  };
711
710
  } catch (e13) {
712
- meta[imageKey] = { w: 0, h: 0 };
711
+ meta[imageKey] = { o: { w: 0, h: 0 } };
713
712
  }
714
713
  } else {
715
714
  meta[imageKey] = {};
@@ -744,7 +743,7 @@ async function handleDelete(request) {
744
743
  const absolutePath = _path2.default.join(process.cwd(), itemPath);
745
744
  const imageKey = "/" + itemPath.replace(/^public\//, "");
746
745
  const entry = meta[imageKey];
747
- const isPushedToCloud = _optionalChain([entry, 'optionalAccess', _13 => _13.c]) === 1;
746
+ const isPushedToCloud = _optionalChain([entry, 'optionalAccess', _13 => _13.c]) !== void 0;
748
747
  try {
749
748
  const stats = await _fs.promises.stat(absolutePath);
750
749
  if (stats.isDirectory()) {
@@ -752,7 +751,8 @@ async function handleDelete(request) {
752
751
  const prefix = imageKey + "/";
753
752
  for (const key of Object.keys(meta)) {
754
753
  if (key.startsWith(prefix) || key === imageKey) {
755
- if (!meta[key].c) {
754
+ const keyEntry = meta[key];
755
+ if (keyEntry && keyEntry.c === void 0) {
756
756
  for (const thumbPath of _chunkWOHZ4LYGjs.getAllThumbnailPaths.call(void 0, key)) {
757
757
  const absoluteThumbPath = _path2.default.join(process.cwd(), "public", thumbPath);
758
758
  try {