@dfosco/storyboard 0.10.1 → 0.10.2

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.
@@ -1 +1 @@
1
- :root{--tc-border-radius: var(--radius, 12px);--tc-shadow-rest: var(--shadow-resting, 0 1px 3px rgba(0, 0, 0, .12));--tc-shadow-float: var(--shadow-floating, 0 4px 12px rgba(0, 0, 0, .15));--tc-border-color: var(--color-border-muted, rgba(0, 0, 0, .15));--tc-bg-muted: var(--color-background-muted, #f6f8fa);--tc-dot-color: var(--color-overlay-backdrop, rgba(0, 0, 0, .08));--tc-grid-size: var(--golden-number, 36px);--tc-grid-offset: calc(var(--tc-grid-size) / -2);--tc-dot-radius: 2px;--tc-font-stack: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}.tc-canvas{min-width:max(100vw,10000px);min-height:max(100vh,10000px);width:100%;height:100%;margin:0;font-family:var(--tc-font-stack);position:relative;background-color:var(--tc-bg-muted);color-scheme:light dark}html[data-canvas-surface-width=viewport] .tc-canvas{min-width:100vw;max-width:100vw}html[data-canvas-surface-height=viewport] .tc-canvas{min-height:100vh;max-height:100vh}.tc-canvas[data-color-mode=light]{color-scheme:light}.tc-canvas[data-color-mode=dark]{color-scheme:dark}.tc-canvas[data-dotted]{background-image:radial-gradient(var(--tc-dot-color) var(--tc-dot-radius),transparent var(--tc-dot-radius));background-size:var(--tc-grid-size) var(--tc-grid-size);background-position:var(--tc-grid-offset) var(--tc-grid-offset)}@media(prefers-color-scheme:dark){.tc-canvas:not([data-color-mode=light]){--tc-bg-muted: var(--color-background-muted, #161b22);--tc-dot-color: var(--color-overlay-backdrop, rgba(255, 255, 255, .1));--tc-border-color: var(--color-border-muted, rgba(255, 255, 255, .15));--tc-shadow-rest: var(--shadow-resting, 0 1px 3px rgba(0, 0, 0, .3));--tc-shadow-float: var(--shadow-floating, 0 4px 12px rgba(0, 0, 0, .4))}}.tc-canvas[data-color-mode=dark]{--tc-bg-muted: var(--color-background-muted, #161b22);--tc-dot-color: var(--color-overlay-backdrop, rgba(255, 255, 255, .1));--tc-border-color: var(--color-border-muted, rgba(255, 255, 255, .15));--tc-shadow-rest: var(--shadow-resting, 0 1px 3px rgba(0, 0, 0, .3));--tc-shadow-float: var(--shadow-floating, 0 4px 12px rgba(0, 0, 0, .4))}body .tc-draggable-inner:not(:active){touch-action:none}.tc-on-translation{transition:transform calc(var(--tc-translation-ms, .15s) + var(--tc-translation-delay-ms, 50ms)) cubic-bezier(.78,.1,.51,.78) var(--tc-translation-delay-ms, 50ms)}.tc-drag{position:absolute;width:fit-content}.tc-draggable-inner{position:relative;width:fit-content;height:min-content}.tc-draggable-inner:after{content:"";position:absolute;z-index:-1;width:100%;height:100%;top:0;border-radius:var(--tc-border-radius);box-shadow:var(--tc-shadow-float);opacity:0;transition:opacity .3s ease-in-out}.tc-on-translation .tc-draggable-inner:after,.tc-draggable-inner:active:after,.tc-draggable-inner:hover:after{opacity:0}.tc-on-translation .tc-draggable-inner,.tc-draggable-inner:active,.tc-draggable-inner:hover{outline:none}.tc-canvas[data-locked] *{cursor:default!important}
1
+ :root{--tc-border-radius: var(--radius, 12px);--tc-shadow-rest: var(--shadow-resting, 0 1px 3px rgba(0, 0, 0, .12));--tc-shadow-float: var(--shadow-floating, 0 4px 12px rgba(0, 0, 0, .15));--tc-border-color: var(--color-border-muted, rgba(0, 0, 0, .15));--tc-bg-muted: var(--color-background-muted, #f6f8fa);--tc-dot-color: var(--color-overlay-backdrop, rgba(0, 0, 0, .08));--tc-grid-size: var(--golden-number, 36px);--tc-grid-offset: calc(var(--tc-grid-size) / -2);--tc-dot-radius: 2px;--tc-font-stack: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}.tc-canvas{min-width:max(100vw,10000px);min-height:max(100vh,10000px);width:100%;height:100%;margin:0;font-family:var(--tc-font-stack);position:relative;background-color:var(--tc-bg-muted);color-scheme:light dark}html[data-canvas-surface-width=viewport] .tc-canvas{min-width:100vw;max-width:100vw;overflow-x:hidden}html[data-canvas-surface-height=viewport] .tc-canvas{min-height:100vh;max-height:100vh;overflow-y:hidden}.tc-canvas[data-color-mode=light]{color-scheme:light}.tc-canvas[data-color-mode=dark]{color-scheme:dark}.tc-canvas[data-dotted]{background-image:radial-gradient(var(--tc-dot-color) var(--tc-dot-radius),transparent var(--tc-dot-radius));background-size:var(--tc-grid-size) var(--tc-grid-size);background-position:var(--tc-grid-offset) var(--tc-grid-offset)}@media(prefers-color-scheme:dark){.tc-canvas:not([data-color-mode=light]){--tc-bg-muted: var(--color-background-muted, #161b22);--tc-dot-color: var(--color-overlay-backdrop, rgba(255, 255, 255, .1));--tc-border-color: var(--color-border-muted, rgba(255, 255, 255, .15));--tc-shadow-rest: var(--shadow-resting, 0 1px 3px rgba(0, 0, 0, .3));--tc-shadow-float: var(--shadow-floating, 0 4px 12px rgba(0, 0, 0, .4))}}.tc-canvas[data-color-mode=dark]{--tc-bg-muted: var(--color-background-muted, #161b22);--tc-dot-color: var(--color-overlay-backdrop, rgba(255, 255, 255, .1));--tc-border-color: var(--color-border-muted, rgba(255, 255, 255, .15));--tc-shadow-rest: var(--shadow-resting, 0 1px 3px rgba(0, 0, 0, .3));--tc-shadow-float: var(--shadow-floating, 0 4px 12px rgba(0, 0, 0, .4))}body .tc-draggable-inner:not(:active){touch-action:none}.tc-on-translation{transition:transform calc(var(--tc-translation-ms, .15s) + var(--tc-translation-delay-ms, 50ms)) cubic-bezier(.78,.1,.51,.78) var(--tc-translation-delay-ms, 50ms)}.tc-drag{position:absolute;width:fit-content}.tc-draggable-inner{position:relative;width:fit-content;height:min-content}.tc-draggable-inner:after{content:"";position:absolute;z-index:-1;width:100%;height:100%;top:0;border-radius:var(--tc-border-radius);box-shadow:var(--tc-shadow-float);opacity:0;transition:opacity .3s ease-in-out}.tc-on-translation .tc-draggable-inner:after,.tc-draggable-inner:active:after,.tc-draggable-inner:hover:after{opacity:0}.tc-on-translation .tc-draggable-inner,.tc-draggable-inner:active,.tc-draggable-inner:hover{outline:none}.tc-canvas[data-locked] *{cursor:default!important}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dfosco/storyboard",
3
- "version": "0.10.1",
3
+ "version": "0.10.2",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "description": "Storyboard prototyping framework — core engine, React integration, and canvas",
@@ -32,14 +32,24 @@
32
32
  * storyboard.config.json (see canvasInteractionStore.js). The store
33
33
  * toggles these `<html>` data attrs; CSS clamps each axis independently
34
34
  * so e.g. width can be viewport-locked while height stays "auto" with
35
- * the 10000px pannable floor. */
35
+ * the 10000px pannable floor.
36
+ *
37
+ * `overflow-{x,y}: hidden` is required on the constrained axis so that
38
+ * widgets positioned past the surface bounds (absolute-positioned
39
+ * Draggables) don't contribute to the scroll container's scrollWidth /
40
+ * scrollHeight at 100% zoom. CSS transforms (the zoom scaling on
41
+ * `.canvasZoom`) ink-overflow past `overflow: hidden`, so zoom-in still
42
+ * produces real scroll on the scroller — only the in-bounds layout is
43
+ * clipped. */
36
44
  html[data-canvas-surface-width="viewport"] .tc-canvas {
37
45
  min-width: 100vw;
38
46
  max-width: 100vw;
47
+ overflow-x: hidden;
39
48
  }
40
49
  html[data-canvas-surface-height="viewport"] .tc-canvas {
41
50
  min-height: 100vh;
42
51
  max-height: 100vh;
52
+ overflow-y: hidden;
43
53
  }
44
54
 
45
55
  .tc-canvas[data-color-mode="light"] {