@draftably/editor 0.4.0 → 0.6.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.
Files changed (82) hide show
  1. package/dist/assets/engine.worker-iJs-dOtM.js +8071 -0
  2. package/dist/element.js +27 -16
  3. package/dist/index.js +12154 -11312
  4. package/dist/types/src/components/scene/EdgeView.d.ts +2 -0
  5. package/dist/types/src/components/scene/Lifelines.d.ts +4 -3
  6. package/dist/types/src/components/session-context.d.ts +9 -2
  7. package/dist/types/src/dsl/compile.d.ts +2 -0
  8. package/dist/types/src/dsl/sequence-layout.d.ts +87 -0
  9. package/dist/types/src/dsl/source-edits.d.ts +2 -0
  10. package/dist/types/src/dsl/syntax.d.ts +8 -2
  11. package/dist/types/src/dsl/translate.d.ts +1 -1
  12. package/dist/types/src/editor/internal.d.ts +9 -2
  13. package/dist/types/src/editor/mount.d.ts +13 -6
  14. package/dist/types/src/engines/explorer-engine.d.ts +63 -0
  15. package/dist/types/src/engines/layout/arrange.d.ts +36 -0
  16. package/dist/types/src/engines/layout/compute.d.ts +7 -0
  17. package/dist/types/src/engines/layout/forces.d.ts +8 -0
  18. package/dist/types/src/engines/layout/grid.d.ts +10 -0
  19. package/dist/types/src/engines/layout/intent.d.ts +14 -0
  20. package/dist/types/src/engines/layout/layered.d.ts +5 -0
  21. package/dist/types/src/engines/layout/objective.d.ts +6 -0
  22. package/dist/types/src/engines/layout/packing.d.ts +7 -0
  23. package/dist/types/src/engines/layout/report.d.ts +7 -0
  24. package/dist/types/src/engines/layout/scene.d.ts +53 -0
  25. package/dist/types/src/engines/layout/seed.d.ts +3 -0
  26. package/dist/types/src/engines/layout/separation.d.ts +17 -0
  27. package/dist/types/src/engines/layout/settings.d.ts +6 -0
  28. package/dist/types/src/engines/layout/topology.d.ts +18 -0
  29. package/dist/types/src/engines/layout/trees.d.ts +8 -0
  30. package/dist/types/src/engines/layout/types.d.ts +133 -0
  31. package/dist/types/src/engines/layout/util.d.ts +19 -0
  32. package/dist/types/src/engines/layout-engine.d.ts +15 -0
  33. package/dist/types/src/engines/routing/compute.d.ts +6 -0
  34. package/dist/types/src/engines/routing/conflicts.d.ts +36 -0
  35. package/dist/types/src/engines/routing/context.d.ts +37 -0
  36. package/dist/types/src/engines/routing/cost.d.ts +13 -0
  37. package/dist/types/src/engines/routing/doglegs.d.ts +16 -0
  38. package/dist/types/src/engines/routing/find.d.ts +6 -0
  39. package/dist/types/src/engines/routing/geometry.d.ts +24 -0
  40. package/dist/types/src/engines/routing/heap.d.ts +20 -0
  41. package/dist/types/src/engines/routing/improve.d.ts +7 -0
  42. package/dist/types/src/engines/routing/nudge.d.ts +7 -0
  43. package/dist/types/src/engines/routing/paths.d.ts +8 -0
  44. package/dist/types/src/engines/routing/planned.d.ts +7 -0
  45. package/dist/types/src/engines/routing/ports.d.ts +10 -0
  46. package/dist/types/src/engines/routing/repair.d.ts +9 -0
  47. package/dist/types/src/engines/routing/score.d.ts +12 -0
  48. package/dist/types/src/engines/routing/search.d.ts +16 -0
  49. package/dist/types/src/engines/routing/settings.d.ts +4 -0
  50. package/dist/types/src/engines/routing/sidepairs.d.ts +20 -0
  51. package/dist/types/src/engines/routing/tidy-ports.d.ts +13 -0
  52. package/dist/types/src/engines/routing/tidy.d.ts +10 -0
  53. package/dist/types/src/engines/routing/tuning.d.ts +9 -0
  54. package/dist/types/src/engines/routing/types.d.ts +157 -0
  55. package/dist/types/src/engines/routing-engine.d.ts +20 -0
  56. package/dist/types/src/engines/sculpt-engine.d.ts +87 -0
  57. package/dist/types/src/lib/engine-tasks.d.ts +4 -4
  58. package/dist/types/src/model/appearance.d.ts +18 -2
  59. package/dist/types/src/model/edits.d.ts +19 -0
  60. package/dist/types/src/model/labels.d.ts +23 -0
  61. package/dist/types/src/model/markers.d.ts +7 -0
  62. package/dist/types/src/model/note.d.ts +11 -2
  63. package/dist/types/src/model/routes.d.ts +5 -3
  64. package/dist/types/src/model/status.d.ts +18 -0
  65. package/dist/types/src/model/types.d.ts +20 -1
  66. package/dist/types/src/runtime/color-scheme.d.ts +15 -0
  67. package/dist/types/src/runtime/host.d.ts +34 -2
  68. package/dist/types/src/runtime/page-shared.d.ts +1 -1
  69. package/dist/types/src/runtime/schemes.d.ts +2 -0
  70. package/dist/types/src/runtime/svg-renderer.d.ts +9 -4
  71. package/dist/types/src/runtime/types.d.ts +7 -0
  72. package/dist/types/src/state/active-session.d.ts +9 -2
  73. package/dist/types/src/state/canvas-commands.d.ts +37 -0
  74. package/dist/types/src/state/session/actions.d.ts +2 -0
  75. package/dist/types/src/state/session/emphasis.d.ts +3 -0
  76. package/dist/types/src/state/session/file-session.d.ts +1 -1
  77. package/dist/types/src/state/session/index.d.ts +14 -2
  78. package/dist/types/src/state/session/layout.d.ts +1 -1
  79. package/dist/types/src/state/session/scene.d.ts +11 -9
  80. package/dist/types/src/state/session/sculpt.d.ts +1 -1
  81. package/package.json +1 -1
  82. package/dist/assets/engine.worker-C6o2x40z.js +0 -7609
@@ -15,6 +15,11 @@ export interface SessionOptions {
15
15
  openLink?: (href: string) => void;
16
16
  /** The user started a gesture or a tool on the canvas; a host closes its menus here. */
17
17
  onInteract?: () => void;
18
+ /** A link was pressed, before it opens. Return true to stop it opening. */
19
+ onLink?: (link: {
20
+ href: string;
21
+ itemId: string | undefined;
22
+ }) => boolean;
18
23
  }
19
24
  export declare function createDiagramSession(options?: SessionOptions): {
20
25
  dispose: () => void;
@@ -223,6 +228,8 @@ export declare function createDiagramSession(options?: SessionOptions): {
223
228
  tail?: import("../../model/markers").EndMarker;
224
229
  emphasis: boolean;
225
230
  dashed: boolean;
231
+ message?: import("../../model/markers").MessageKind;
232
+ replyTo?: string;
226
233
  status?: import("../../model/status").Status;
227
234
  spot?: import("../../model/status").Spot;
228
235
  }[];
@@ -231,7 +238,7 @@ export declare function createDiagramSession(options?: SessionOptions): {
231
238
  routingReport: () => import("../../engines/routing-engine").RoutingReport;
232
239
  blockedRouteIds: () => string[];
233
240
  sceneBounds: () => import("../../model/types").Rect;
234
- viewerFrame: () => {
241
+ viewerFrame: import("solid-js").Accessor<{
235
242
  x: number;
236
243
  y: number;
237
244
  w: number;
@@ -275,7 +282,7 @@ export declare function createDiagramSession(options?: SessionOptions): {
275
282
  h: number;
276
283
  };
277
284
  notes: import("../../model/note").PlacedNote[];
278
- };
285
+ }>;
279
286
  } & {
280
287
  states: () => import("../../model/appearance").EmphasisState[];
281
288
  activeState: () => string | null;
@@ -284,6 +291,9 @@ export declare function createDiagramSession(options?: SessionOptions): {
284
291
  showState: (id: string | null) => void;
285
292
  stepState: (by: 1 | -1) => boolean;
286
293
  drawnDoc: () => import("../../model/types").Diagram;
294
+ dark: import("solid-js").Accessor<boolean>;
295
+ setDark: import("solid-js").Setter<boolean>;
296
+ drawnAppearance: () => import("../../model/appearance").DiagramAppearance;
287
297
  } & {
288
298
  tool: import("solid-js").Accessor<import("./editor").Tool>;
289
299
  setToolSignal: import("solid-js").Setter<import("./editor").Tool>;
@@ -410,6 +420,8 @@ export declare function createDiagramSession(options?: SessionOptions): {
410
420
  fitSelectedContainer: () => void;
411
421
  toggleCollapse: (id?: string | undefined) => void;
412
422
  reverseSelectedEdge: () => void;
423
+ insertEvent: (where: "before" | "after") => string | undefined;
424
+ moveEvent: (by: -1 | 1) => void;
413
425
  resetSelectedBends: () => void;
414
426
  setLayoutIntent: (role: import("../../model/types").IntentRole, id: string | null, placement?: import("../../model/types").IntentPlacement) => void;
415
427
  markSelectedAs: (role: import("../../model/types").IntentRole) => void;
@@ -1,4 +1,4 @@
1
- import { type LayoutOptions, type LayoutReport, type LayoutScope } from '../../engines/layout-engine.js';
1
+ import { type LayoutOptions, type LayoutReport, type LayoutScope } from '../../engines/layout-engine';
2
2
  import { type ShapeChange } from '../../dsl/layout-edits';
3
3
  import type { Diagram, LayoutAlgorithmId, RoutingSettings } from '../../model/types';
4
4
  import type { DocumentPart } from './document';
@@ -1,4 +1,4 @@
1
- import type { PriorRoute, RoutingResult } from '../../engines/routing-engine.js';
1
+ import type { PriorRoute, RoutingResult } from '../../engines/routing-engine';
2
2
  import { type VisibleGraph } from '../../model/graph';
3
3
  import { type DrawnRoute } from '../../model/routes';
4
4
  import type { NodeGeometry, NodeLayout, Rect } from '../../model/types';
@@ -83,19 +83,21 @@ export declare function createScene(s: DocumentPart & FileSessionPart): {
83
83
  label: string;
84
84
  was?: string;
85
85
  directed: boolean;
86
- head?: import("../../model/markers.js").EndMarker;
87
- tail?: import("../../model/markers.js").EndMarker;
86
+ head?: import("../../model/markers").EndMarker;
87
+ tail?: import("../../model/markers").EndMarker;
88
88
  emphasis: boolean;
89
89
  dashed: boolean;
90
+ message?: import("../../model/markers").MessageKind;
91
+ replyTo?: string;
90
92
  status?: import("../../model/status").Status;
91
93
  spot?: import("../../model/status").Spot;
92
94
  }[];
93
95
  };
94
96
  routes: () => DrawnRoute[];
95
- routingReport: () => import("../../engines/routing-engine.js").RoutingReport;
97
+ routingReport: () => import("../../engines/routing-engine").RoutingReport;
96
98
  blockedRouteIds: () => string[];
97
99
  sceneBounds: () => Rect;
98
- viewerFrame: () => {
100
+ viewerFrame: import("solid-js").Accessor<{
99
101
  x: number;
100
102
  y: number;
101
103
  w: number;
@@ -129,16 +131,16 @@ export declare function createScene(s: DocumentPart & FileSessionPart): {
129
131
  foot: {
130
132
  x: number;
131
133
  y: number;
132
- type: import("../../model/fonts.js").TypeProfile;
134
+ type: import("../../model/fonts").TypeProfile;
133
135
  gutter: number;
134
136
  items: {
135
- note: import("../../model/footnote.js").Footnote;
136
- lines: import("../../model/rich-text.js").Run[][];
137
+ note: import("../../model/footnote").Footnote;
138
+ lines: import("../../model/rich-text").Run[][];
137
139
  y: number;
138
140
  }[];
139
141
  h: number;
140
142
  };
141
143
  notes: import("../../model/note").PlacedNote[];
142
- };
144
+ }>;
143
145
  };
144
146
  export type ScenePart = ReturnType<typeof createScene>;
@@ -1,4 +1,4 @@
1
- import { type BrushSettings, type DabResult, type Timeline } from '../../engines/sculpt-engine.js';
1
+ import { type BrushSettings, type DabResult, type Timeline } from '../../engines/sculpt-engine';
2
2
  import type { Point } from '../../model/types';
3
3
  import type { DocumentPart } from './document';
4
4
  import type { LayoutPart } from './layout';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftably/editor",
3
- "version": "0.4.0",
3
+ "version": "0.6.0",
4
4
  "description": "The Draftably diagram editor: drag boxes and lines, and get the .draft source back.",
5
5
  "license": "MIT",
6
6
  "type": "module",