@nightshadeui/canvas 2.12.6 → 2.13.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.
@@ -1,7 +1,7 @@
1
- import { Box } from '@nightshadeui/util/src';
1
+ import { Box } from '@nightshadeui/util';
2
2
  export declare class CanvasBoxSelect {
3
3
  private config;
4
- private inputState;
4
+ private inputStateManager;
5
5
  private objectRegistry;
6
6
  private selection;
7
7
  private space;
@@ -1 +1 @@
1
- {"version":3,"file":"CanvasBoxSelect.d.ts","sourceRoot":"","sources":["../src/CanvasBoxSelect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAAyC,MAAM,wBAAwB,CAAC;AASzF,qBAAa,eAAe;IAExB,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,UAAU,CAAsC;IACxD,OAAO,CAAC,cAAc,CAA0C;IAChE,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,KAAK,CAAiC;IAE9C,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,WAAW,CAA4B;IAE/C,WAAW;IAIX,aAAa,CAAC,EAAE,EAAE,UAAU;IAiB5B,YAAY,CAAC,EAAE,EAAE,UAAU;IAQ3B,WAAW,CAAC,EAAE,EAAE,UAAU;IAO1B,eAAe;IAUf,iBAAiB;;;;;;IAejB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,eAAe;CAc1B"}
1
+ {"version":3,"file":"CanvasBoxSelect.d.ts","sourceRoot":"","sources":["../src/CanvasBoxSelect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,GAAG,EAA4D,MAAM,oBAAoB,CAAC;AAQxG,qBAAa,eAAe;IAExB,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,cAAc,CAA0C;IAChE,OAAO,CAAC,SAAS,CAAqC;IACtD,OAAO,CAAC,KAAK,CAAiC;IAE9C,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,mBAAmB,CAAqB;IAChD,OAAO,CAAC,WAAW,CAA4B;IAE/C,WAAW;IAIX,aAAa,CAAC,EAAE,EAAE,UAAU;IAiB5B,YAAY,CAAC,EAAE,EAAE,UAAU;IAQ3B,WAAW,CAAC,EAAE,EAAE,UAAU;IAO1B,eAAe;IAUf,iBAAiB;;;;;;IAejB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,eAAe;CAc1B"}
@@ -1,6 +1,14 @@
1
+ import { InputStateManager } from '@nightshadeui/util';
1
2
  export interface CanvasConfigSpec {
2
3
  autoCenter?: boolean;
3
4
  allowMultiSelect?: boolean;
5
+ /**
6
+ * Shared global input / UI event manager. When omitted, the controller creates
7
+ * one and calls {@link InputStateManager.mount} / {@link InputStateManager.unmount}
8
+ * from {@link CanvasController.mount} / {@link CanvasController.unmount}.
9
+ * When provided, the application owns the lifecycle of {@link InputStateManager.mount}.
10
+ */
11
+ inputStateManager?: InputStateManager;
4
12
  }
5
13
  export declare class CanvasConfig {
6
14
  autoCenter: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"CanvasConfig.d.ts","sourceRoot":"","sources":["../src/CanvasConfig.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,qBAAa,YAAY;IAErB,UAAU,UAAQ;IAClB,gBAAgB,UAAQ;IAExB,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC;CAIxC"}
1
+ {"version":3,"file":"CanvasConfig.d.ts","sourceRoot":"","sources":["../src/CanvasConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,WAAW,gBAAgB;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACzC;AAED,qBAAa,YAAY;IAErB,UAAU,UAAQ;IAClB,gBAAgB,UAAQ;IAExB,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC;CAIxC"}
@@ -1,13 +1,12 @@
1
+ import { InputStateManager } from '@nightshadeui/util';
1
2
  import { Mesh } from 'mesh-ioc';
2
3
  import { CanvasBoxSelect } from './CanvasBoxSelect.js';
3
4
  import { CanvasConfig, CanvasConfigSpec } from './CanvasConfig.js';
4
5
  import { CanvasEvents } from './CanvasEvents.js';
5
- import { CanvasInputState } from './CanvasInputState.js';
6
6
  import { CanvasObjectRegistry } from './CanvasObjectRegistry.js';
7
7
  import { CanvasPan } from './CanvasPan.js';
8
8
  import { CanvasSelection } from './CanvasSelection.js';
9
9
  import { CanvasSpace } from './CanvasSpace.js';
10
- import { CanvasUiEvents } from './CanvasUiEvents.js';
11
10
  import { CanvasViewport } from './CanvasViewport.js';
12
11
  import { CanvasZoom } from './CanvasZoom.js';
13
12
  export declare class CanvasController {
@@ -18,11 +17,11 @@ export declare class CanvasController {
18
17
  viewport: CanvasViewport;
19
18
  pan: CanvasPan;
20
19
  events: CanvasEvents;
21
- inputState: CanvasInputState;
20
+ inputStateManager: InputStateManager;
22
21
  objectRegistry: CanvasObjectRegistry;
23
22
  selection: CanvasSelection;
24
- uiEvents: CanvasUiEvents;
25
23
  zoom: CanvasZoom;
24
+ private ownsInputStateManager;
26
25
  constructor(config?: CanvasConfigSpec);
27
26
  mount(viewportEl: HTMLElement): void;
28
27
  unmount(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"CanvasController.d.ts","sourceRoot":"","sources":["../src/CanvasController.ts"],"names":[],"mappings":"AACA,OAAO,EAAc,IAAI,EAAE,MAAM,UAAU,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,gBAAgB;IAEzB,IAAI,OAAc;IAClB,SAAS,kBAAqC;IAC9C,MAAM,eAAkC;IACxC,KAAK,cAAiC;IACtC,QAAQ,iBAAoC;IAC5C,GAAG,YAA+B;IAClC,MAAM,eAAkC;IACxC,UAAU,mBAAsC;IAChD,cAAc,uBAA0C;IACxD,SAAS,kBAAqC;IAC9C,QAAQ,iBAAoC;IAC5C,IAAI,aAAgC;gBAExB,MAAM,GAAE,gBAAqB;IAkBzC,KAAK,CAAC,UAAU,EAAE,WAAW;IAM7B,OAAO;CAMV"}
1
+ {"version":3,"file":"CanvasController.d.ts","sourceRoot":"","sources":["../src/CanvasController.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAc,IAAI,EAAE,MAAM,UAAU,CAAC;AAG5C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,KAAK,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,qBAAa,gBAAgB;IAEzB,IAAI,OAAc;IAClB,SAAS,kBAAqC;IAC9C,MAAM,eAAkC;IACxC,KAAK,cAAiC;IACtC,QAAQ,iBAAoC;IAC5C,GAAG,YAA+B;IAClC,MAAM,eAAkC;IACxC,iBAAiB,oBAAuC;IACxD,cAAc,uBAA0C;IACxD,SAAS,kBAAqC;IAC9C,IAAI,aAAgC;IAEpC,OAAO,CAAC,qBAAqB,CAAU;gBAE3B,MAAM,GAAE,gBAAqB;IAmBzC,KAAK,CAAC,UAAU,EAAE,WAAW;IAS7B,OAAO;CASV"}
package/dist/canvas.css CHANGED
@@ -1 +1 @@
1
- @layer nightshade-components{.CanvasBoxSelect[data-v-9e8905e1]{--CanvasBoxSelect-color:var(--canvas-box-select-color,var(--color-primary-500));--CanvasBoxSelect-opacity:var(--canvas-box-select-opacity,.1);z-index:20;pointer-events:none;position:absolute;inset:0}.Box[data-v-9e8905e1]{border:1px solid var(--CanvasBoxSelect-color);position:absolute}.Box[data-v-9e8905e1]:before{content:"";background:var(--CanvasBoxSelect-color);opacity:var(--CanvasBoxSelect-opacity);position:absolute;inset:0}.CanvasDebugCoords[data-v-6d2e1386]{z-index:10;margin:var(--sp);padding:var(--sp);pointer-events:none;font-family:var(--font-monospace);font-size:var(--font-size-s);border:var(--input-border-size) solid var(--color-base-200);border-radius:var(--border-radius);background:var(--color-base-0);position:absolute;top:0;left:0}.Row[data-v-6d2e1386]{white-space:nowrap}.ResizeHandle[data-v-c83350e5]{--canvas-resize-handle-size:var(--sp2);--canvas-resize-handle-offset:calc(-.5 * var(--canvas-resize-handle-size));z-index:3;position:absolute}.ResizeHandle-n[data-v-c83350e5]{top:var(--canvas-resize-handle-offset);left:var(--canvas-resize-handle-offset);right:var(--canvas-resize-handle-offset);height:var(--canvas-resize-handle-size);cursor:ns-resize}.ResizeHandle-ne[data-v-c83350e5]{top:var(--canvas-resize-handle-offset);right:var(--canvas-resize-handle-offset);width:var(--canvas-resize-handle-size);height:var(--canvas-resize-handle-size);cursor:nesw-resize;z-index:4}.ResizeHandle-e[data-v-c83350e5]{top:var(--canvas-resize-handle-offset);bottom:var(--canvas-resize-handle-offset);right:var(--canvas-resize-handle-offset);width:var(--canvas-resize-handle-size);cursor:ew-resize}.ResizeHandle-se[data-v-c83350e5]{bottom:var(--canvas-resize-handle-offset);right:var(--canvas-resize-handle-offset);width:var(--canvas-resize-handle-size);height:var(--canvas-resize-handle-size);cursor:nwse-resize;z-index:4}.ResizeHandle-s[data-v-c83350e5]{bottom:var(--canvas-resize-handle-offset);left:var(--canvas-resize-handle-offset);right:var(--canvas-resize-handle-offset);height:var(--canvas-resize-handle-size);cursor:ns-resize}.ResizeHandle-sw[data-v-c83350e5]{bottom:var(--canvas-resize-handle-offset);left:var(--canvas-resize-handle-offset);width:var(--canvas-resize-handle-size);height:var(--canvas-resize-handle-size);cursor:nesw-resize;z-index:4}.ResizeHandle-w[data-v-c83350e5]{top:var(--canvas-resize-handle-offset);bottom:var(--canvas-resize-handle-offset);left:var(--canvas-resize-handle-offset);width:var(--canvas-resize-handle-size);cursor:ew-resize}.ResizeHandle-nw[data-v-c83350e5]{top:var(--canvas-resize-handle-offset);left:var(--canvas-resize-handle-offset);width:var(--canvas-resize-handle-size);height:var(--canvas-resize-handle-size);cursor:nwse-resize;z-index:4}.CanvasView[data-v-5b37630f]{-webkit-user-select:none;user-select:none;display:flex;position:relative}.Viewport[data-v-5b37630f]{z-index:1;cursor:crosshair;flex:1;position:relative;overflow:auto}.Sizer[data-v-5b37630f]{z-index:0;position:relative}.Canvas[data-v-5b37630f]{background:var(--canvas-background,var(--color-base-0));position:absolute;top:0;left:0;overflow:hidden}.Origin[data-v-5b37630f]{position:absolute}}
1
+ @layer nightshade-components{.CanvasBoxSelect[data-v-9e8905e1]{--CanvasBoxSelect-color:var(--canvas-box-select-color,var(--color-primary-500));--CanvasBoxSelect-opacity:var(--canvas-box-select-opacity,.1);z-index:20;pointer-events:none;position:absolute;inset:0}.Box[data-v-9e8905e1]{border:1px solid var(--CanvasBoxSelect-color);position:absolute}.Box[data-v-9e8905e1]:before{content:"";background:var(--CanvasBoxSelect-color);opacity:var(--CanvasBoxSelect-opacity);position:absolute;inset:0}.CanvasDebugCoords[data-v-871d7c0c]{z-index:10;margin:var(--sp);padding:var(--sp);pointer-events:none;font-family:var(--font-monospace);font-size:var(--font-size-s);border:var(--input-border-size) solid var(--color-base-200);border-radius:var(--border-radius);background:var(--color-base-0);position:absolute;top:0;left:0}.Row[data-v-871d7c0c]{white-space:nowrap}.ResizeHandle[data-v-c83350e5]{--canvas-resize-handle-size:var(--sp2);--canvas-resize-handle-offset:calc(-.5 * var(--canvas-resize-handle-size));z-index:3;position:absolute}.ResizeHandle-n[data-v-c83350e5]{top:var(--canvas-resize-handle-offset);left:var(--canvas-resize-handle-offset);right:var(--canvas-resize-handle-offset);height:var(--canvas-resize-handle-size);cursor:ns-resize}.ResizeHandle-ne[data-v-c83350e5]{top:var(--canvas-resize-handle-offset);right:var(--canvas-resize-handle-offset);width:var(--canvas-resize-handle-size);height:var(--canvas-resize-handle-size);cursor:nesw-resize;z-index:4}.ResizeHandle-e[data-v-c83350e5]{top:var(--canvas-resize-handle-offset);bottom:var(--canvas-resize-handle-offset);right:var(--canvas-resize-handle-offset);width:var(--canvas-resize-handle-size);cursor:ew-resize}.ResizeHandle-se[data-v-c83350e5]{bottom:var(--canvas-resize-handle-offset);right:var(--canvas-resize-handle-offset);width:var(--canvas-resize-handle-size);height:var(--canvas-resize-handle-size);cursor:nwse-resize;z-index:4}.ResizeHandle-s[data-v-c83350e5]{bottom:var(--canvas-resize-handle-offset);left:var(--canvas-resize-handle-offset);right:var(--canvas-resize-handle-offset);height:var(--canvas-resize-handle-size);cursor:ns-resize}.ResizeHandle-sw[data-v-c83350e5]{bottom:var(--canvas-resize-handle-offset);left:var(--canvas-resize-handle-offset);width:var(--canvas-resize-handle-size);height:var(--canvas-resize-handle-size);cursor:nesw-resize;z-index:4}.ResizeHandle-w[data-v-c83350e5]{top:var(--canvas-resize-handle-offset);bottom:var(--canvas-resize-handle-offset);left:var(--canvas-resize-handle-offset);width:var(--canvas-resize-handle-size);cursor:ew-resize}.ResizeHandle-nw[data-v-c83350e5]{top:var(--canvas-resize-handle-offset);left:var(--canvas-resize-handle-offset);width:var(--canvas-resize-handle-size);height:var(--canvas-resize-handle-size);cursor:nwse-resize;z-index:4}.CanvasView[data-v-5b37630f]{-webkit-user-select:none;user-select:none;display:flex;position:relative}.Viewport[data-v-5b37630f]{z-index:1;cursor:crosshair;flex:1;position:relative;overflow:auto}.Sizer[data-v-5b37630f]{z-index:0;position:relative}.Canvas[data-v-5b37630f]{background:var(--canvas-background,var(--color-base-0));position:absolute;top:0;left:0;overflow:hidden}.Origin[data-v-5b37630f]{position:absolute}}