@calibrate-ds/core 0.1.36 → 0.1.38

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.
@@ -58,7 +58,7 @@ const FENCE_END_CSS = "/* @ptb-custom-end */";
58
58
  */
59
59
  export function makeCustomSection(style) {
60
60
  if (style === "css") {
61
- return `\n${FENCE_START_CSS} Add your custom styles below. This section is preserved on regeneration.\n\n${FENCE_END_CSS}\n`;
61
+ return `\n${FENCE_START_CSS}\n/* Add your custom styles below. This section is preserved on regeneration. */\n\n${FENCE_END_CSS}\n`;
62
62
  }
63
63
  return `\n${FENCE_START_JS} Add your custom logic below. This section is preserved on regeneration.\n\n${FENCE_END_JS}\n`;
64
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-extraction.js","sourceRoot":"","sources":["../../src/context/metadata-extraction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata-extraction.js","sourceRoot":"","sources":["../../src/context/metadata-extraction.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold-playground.d.ts","sourceRoot":"","sources":["../../src/playground/scaffold-playground.ts"],"names":[],"mappings":"AA0VA,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAkC7F"}
1
+ {"version":3,"file":"scaffold-playground.d.ts","sourceRoot":"","sources":["../../src/playground/scaffold-playground.ts"],"names":[],"mappings":"AAkbA,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAkC7F"}
@@ -96,6 +96,7 @@ export type RegistryEntry = {
96
96
  slug: string;
97
97
  Component: any;
98
98
  variantAxes: Array<{ name: string; options: string[]; defaultValue?: string }>;
99
+ thumbnailUrl?: string;
99
100
  };
100
101
  export const registry: RegistryEntry[] = [];
101
102
  `;
@@ -241,28 +242,55 @@ class ErrorBoundary extends React.Component<
241
242
  }
242
243
  }
243
244
 
245
+ type ViewMode = 'live' | 'design' | 'overlay'
246
+
244
247
  export function ComponentTile({ entry }: { entry: RegistryEntry }) {
245
248
  const [variantProps, setVariantProps] = useState<Record<string, string>>(
246
249
  () => Object.fromEntries(entry.variantAxes.map(a => [a.name, a.defaultValue ?? a.options[0] ?? '']))
247
250
  )
251
+ const [viewMode, setViewMode] = useState<ViewMode>('live')
252
+ const [overlayOpacity, setOverlayOpacity] = useState(0.5)
248
253
 
249
254
  const allCombinations = getAllCombinations(entry.variantAxes)
250
255
  const showGrid = allCombinations.length > 1 && allCombinations.length <= 48
256
+ const hasThumbnail = !!entry.thumbnailUrl
257
+
258
+ const modeBtn = (mode: ViewMode, label: string) => (
259
+ <button
260
+ onClick={() => setViewMode(mode)}
261
+ style={{
262
+ padding: '4px 12px', fontSize: 11, borderRadius: 4, cursor: 'pointer',
263
+ background: viewMode === mode ? '#1d4ed8' : '#161616',
264
+ color: viewMode === mode ? '#fff' : '#555',
265
+ border: viewMode === mode ? '1px solid #2563eb' : '1px solid #222',
266
+ fontWeight: viewMode === mode ? 600 : 400,
267
+ }}
268
+ >{label}</button>
269
+ )
251
270
 
252
271
  return (
253
272
  <div>
254
- <div style={{ marginBottom: 24 }}>
255
- <h2 style={{ fontSize: 18, fontWeight: 600, color: '#e8e8e8' }}>{entry.name}</h2>
256
- {entry.variantAxes.length > 0 && (
257
- <div style={{ marginTop: 3, fontSize: 11, color: '#555' }}>
258
- {entry.variantAxes.map(a => \`\${a.name}: \${a.options.join(', ')}\`).join(' · ')}
273
+ <div style={{ marginBottom: 20, display: 'flex', alignItems: 'flex-start', justifyContent: 'space-between', gap: 12 }}>
274
+ <div>
275
+ <h2 style={{ fontSize: 18, fontWeight: 600, color: '#e8e8e8' }}>{entry.name}</h2>
276
+ {entry.variantAxes.length > 0 && (
277
+ <div style={{ marginTop: 3, fontSize: 11, color: '#555' }}>
278
+ {entry.variantAxes.map(a => \`\${a.name}: \${a.options.join(', ')}\`).join(' · ')}
279
+ </div>
280
+ )}
281
+ </div>
282
+ {hasThumbnail && (
283
+ <div style={{ display: 'flex', gap: 4, flexShrink: 0 }}>
284
+ {modeBtn('live', 'Live')}
285
+ {modeBtn('design', 'Design')}
286
+ {modeBtn('overlay', 'Overlay')}
259
287
  </div>
260
288
  )}
261
289
  </div>
262
290
 
263
291
  {/* Variant controls */}
264
292
  {entry.variantAxes.length > 0 && (
265
- <div style={{ display: 'flex', flexWrap: 'wrap', gap: 16, marginBottom: 28 }}>
293
+ <div style={{ display: 'flex', flexWrap: 'wrap', gap: 16, marginBottom: 24 }}>
266
294
  {entry.variantAxes.map(axis => (
267
295
  <div key={axis.name}>
268
296
  <div style={{ fontSize: 10, color: '#555', marginBottom: 5, textTransform: 'uppercase', letterSpacing: '0.07em' }}>{axis.name}</div>
@@ -285,18 +313,78 @@ export function ComponentTile({ entry }: { entry: RegistryEntry }) {
285
313
  </div>
286
314
  )}
287
315
 
288
- {/* Live preview */}
316
+ {/* Main preview area */}
289
317
  <div style={{ marginBottom: 36 }}>
290
- <div style={{ fontSize: 10, color: '#444', marginBottom: 8, textTransform: 'uppercase', letterSpacing: '0.07em' }}>Preview</div>
291
- <div style={{ background: '#111', border: '1px solid #1e1e1e', borderRadius: 8, padding: 32, display: 'flex', alignItems: 'center', justifyContent: 'center', minHeight: 100 }}>
292
- <ErrorBoundary>
293
- <entry.Component {...variantProps} />
294
- </ErrorBoundary>
318
+ <div style={{ fontSize: 10, color: '#444', marginBottom: 8, textTransform: 'uppercase', letterSpacing: '0.07em' }}>
319
+ {viewMode === 'live' ? 'Preview' : viewMode === 'design' ? 'Figma Design' : 'Overlay'}
295
320
  </div>
321
+
322
+ {viewMode === 'live' && (
323
+ <div style={{ background: '#111', border: '1px solid #1e1e1e', borderRadius: 8, padding: 32, display: 'flex', alignItems: 'center', justifyContent: 'center', minHeight: 100 }}>
324
+ <ErrorBoundary>
325
+ <entry.Component {...variantProps} />
326
+ </ErrorBoundary>
327
+ </div>
328
+ )}
329
+
330
+ {viewMode === 'design' && hasThumbnail && (
331
+ <div style={{ background: '#111', border: '1px solid #1e1e1e', borderRadius: 8, padding: 32, display: 'flex', alignItems: 'center', justifyContent: 'center', minHeight: 100 }}>
332
+ <img
333
+ src={entry.thumbnailUrl}
334
+ alt={entry.name + ' Figma design'}
335
+ style={{ maxWidth: '100%', maxHeight: 480, objectFit: 'contain', borderRadius: 4 }}
336
+ />
337
+ </div>
338
+ )}
339
+
340
+ {viewMode === 'overlay' && hasThumbnail && (
341
+ <div>
342
+ <div style={{
343
+ position: 'relative', background: '#111', border: '1px solid #1e1e1e',
344
+ borderRadius: 8, padding: 32, display: 'flex', alignItems: 'center',
345
+ justifyContent: 'center', minHeight: 100, overflow: 'hidden',
346
+ }}>
347
+ {/* Figma design as base layer */}
348
+ <img
349
+ src={entry.thumbnailUrl}
350
+ alt="Figma design"
351
+ style={{
352
+ position: 'absolute', inset: 0, width: '100%', height: '100%',
353
+ objectFit: 'contain', padding: 32,
354
+ opacity: 1 - overlayOpacity,
355
+ }}
356
+ />
357
+ {/* Live component on top */}
358
+ <div style={{ position: 'relative', zIndex: 1, opacity: overlayOpacity }}>
359
+ <ErrorBoundary>
360
+ <entry.Component {...variantProps} />
361
+ </ErrorBoundary>
362
+ </div>
363
+ </div>
364
+
365
+ {/* Opacity slider */}
366
+ <div style={{ marginTop: 12, display: 'flex', alignItems: 'center', gap: 10 }}>
367
+ <span style={{ fontSize: 10, color: '#555', width: 52, textAlign: 'right', flexShrink: 0 }}>Design</span>
368
+ <input
369
+ type="range" min={0} max={1} step={0.01}
370
+ value={overlayOpacity}
371
+ onChange={e => setOverlayOpacity(Number(e.target.value))}
372
+ style={{ flex: 1, accentColor: '#3b82f6', cursor: 'pointer' }}
373
+ />
374
+ <span style={{ fontSize: 10, color: '#555', width: 52, flexShrink: 0 }}>Live</span>
375
+ <span style={{ fontSize: 10, color: '#444', width: 36, textAlign: 'right', flexShrink: 0 }}>
376
+ {Math.round(overlayOpacity * 100)}%
377
+ </span>
378
+ </div>
379
+ <div style={{ marginTop: 6, fontSize: 10, color: '#333', textAlign: 'center' }}>
380
+ Slide left → see Figma design · Slide right → see implementation
381
+ </div>
382
+ </div>
383
+ )}
296
384
  </div>
297
385
 
298
386
  {/* All variants grid */}
299
- {showGrid && (
387
+ {showGrid && viewMode === 'live' && (
300
388
  <div>
301
389
  <div style={{ fontSize: 10, color: '#444', marginBottom: 10, textTransform: 'uppercase', letterSpacing: '0.07em' }}>
302
390
  All variants ({allCombinations.length})
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold-playground.js","sourceRoot":"","sources":["../../src/playground/scaffold-playground.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold-playground.js","sourceRoot":"","sources":["../../src/playground/scaffold-playground.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,11 @@ export type VerifyReport = {
28
28
  screenshots: VerifyScreenshots;
29
29
  pixelMatch: PixelMatchResult | null;
30
30
  aiFeedback: AIFeedback | null;
31
+ /** True when the story was found and screenshotted; false when resolution failed. */
32
+ resolved: boolean;
33
+ /** Resolved Storybook story id (e.g. "buttons-btnweb--default"). Present when resolved=true. */
34
+ resolvedStoryId?: string;
35
+ /** Human-readable error when resolved=false. */
31
36
  error?: string;
32
37
  };
33
38
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/verify/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,yFAAyF;IACzF,WAAW,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;IACzC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B,iBAAiB,EAAE,SAAS,GAAG,mBAAmB,GAAG,yBAAyB,CAAC;CAClF,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/verify/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG;IAC5B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,yFAAyF;IACzF,WAAW,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAAC;IACzC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,YAAY,EAAE,CAAC;IAC5B,iBAAiB,EAAE,SAAS,GAAG,mBAAmB,GAAG,yBAAyB,CAAC;CAClF,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,qFAAqF;IACrF,QAAQ,EAAE,OAAO,CAAC;IAClB,gGAAgG;IAChG,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@calibrate-ds/core",
3
- "version": "0.1.36",
3
+ "version": "0.1.38",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -27,8 +27,8 @@
27
27
  "pixelmatch": "^6.0.0",
28
28
  "pngjs": "^7.0.0",
29
29
  "zod": "^4.3.6",
30
- "@calibrate-ds/shared-types": "^0.1.36",
31
- "@calibrate-ds/figma-client": "^0.1.36"
30
+ "@calibrate-ds/shared-types": "^0.1.38",
31
+ "@calibrate-ds/figma-client": "^0.1.38"
32
32
  },
33
33
  "scripts": {
34
34
  "build": "tsc -p tsconfig.json",