@draftably/runtime 0.3.0 → 0.4.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 (35) hide show
  1. package/README.md +1 -0
  2. package/dist/assets/render.worker-BXjS76Gy.js +8485 -0
  3. package/dist/compile-C2lvlbqE.js +7369 -0
  4. package/dist/element.js +275 -125
  5. package/dist/{font-data-DLXJur0j.js → font-data-DME3E71S.js} +1 -1
  6. package/dist/geometry-DfUVE8b2.js +79 -0
  7. package/dist/graph.js +336 -373
  8. package/dist/host.css +37 -0
  9. package/dist/host.js +16 -0
  10. package/dist/index.js +3 -3
  11. package/dist/{render-Dgo42PR4.js → render-CFWEEKPT.js} +339 -325
  12. package/dist/types/src/dsl/cells.d.ts +1 -0
  13. package/dist/types/src/dsl/compile.d.ts +2 -1
  14. package/dist/types/src/dsl/legend-notes.d.ts +14 -0
  15. package/dist/types/src/dsl/syntax.d.ts +2 -0
  16. package/dist/types/src/model/appearance.d.ts +19 -0
  17. package/dist/types/src/model/colors.d.ts +10 -2
  18. package/dist/types/src/model/labels.d.ts +22 -6
  19. package/dist/types/src/runtime/anchors.d.ts +46 -0
  20. package/dist/types/src/runtime/camera.d.ts +41 -0
  21. package/dist/types/src/runtime/element-base.d.ts +40 -0
  22. package/dist/types/src/runtime/element.d.ts +7 -0
  23. package/dist/types/src/runtime/geometry.d.ts +72 -0
  24. package/dist/types/src/runtime/host.d.ts +46 -0
  25. package/dist/types/src/runtime/index.d.ts +1 -0
  26. package/dist/types/src/runtime/page-shared.d.ts +24 -0
  27. package/dist/types/src/runtime/svg-renderer.d.ts +8 -0
  28. package/dist/types/src/runtime/types.d.ts +6 -0
  29. package/dist/types/src/runtime/viewer.d.ts +41 -7
  30. package/dist/version-CKs2Vl8m.js +4 -0
  31. package/dist/viewer.css +66 -9
  32. package/dist/viewer.js +689 -343
  33. package/package.json +6 -1
  34. package/dist/assets/render.worker-dvseyGmC.js +0 -8310
  35. package/dist/compile-Csfz4rk4.js +0 -7267
package/dist/viewer.css CHANGED
@@ -1,7 +1,15 @@
1
+ /*
2
+ * Public tokens: set any --draft-* property on the element or an ancestor, and it wins.
3
+ * They inherit through the shadow root; the defaults below apply only when unset.
4
+ */
1
5
  .draft-viewer {
2
- --dv-border: #cbd5e1;
3
- --dv-ink: #1e293b;
4
- --dv-bg: #fff;
6
+ --dv-border: var(--draft-border, #cbd5e1);
7
+ --dv-ink: var(--draft-ink, #1e293b);
8
+ --dv-bg: var(--draft-bg, #fff);
9
+ --dv-focus: var(--draft-focus, #2563eb);
10
+ --dv-shadow: var(--draft-shadow, rgb(15 23 42 / 0.12));
11
+ --dv-warning-ink: var(--draft-warning-ink, #9a3412);
12
+ --dv-warning-bg: var(--draft-warning-bg, #fff7ed);
5
13
  position: relative;
6
14
  display: grid;
7
15
  grid-template-rows: auto minmax(8rem, 1fr) auto auto;
@@ -15,9 +23,13 @@
15
23
  font:
16
24
  14px/1.45 system-ui,
17
25
  sans-serif;
18
- overflow: hidden;
26
+ overflow: clip;
27
+ }
28
+ .draft-viewer__toolbar[hidden] {
29
+ display: none;
19
30
  }
20
31
  .draft-viewer__toolbar {
32
+ grid-row: 1;
21
33
  display: flex;
22
34
  flex-wrap: wrap;
23
35
  align-items: center;
@@ -35,12 +47,14 @@
35
47
  }
36
48
  .draft-viewer button:focus-visible,
37
49
  .draft-viewer__viewport:focus-visible {
38
- outline: 3px solid #2563eb;
50
+ outline: 3px solid var(--dv-focus);
39
51
  outline-offset: 2px;
40
52
  }
41
53
  .draft-viewer__viewport {
54
+ grid-row: 2;
42
55
  position: relative;
43
- overflow: hidden;
56
+ /* clip, not hidden: focus on off-screen slot content must not scroll the drawing away. */
57
+ overflow: clip;
44
58
  min-height: 8rem;
45
59
  touch-action: none;
46
60
  cursor: grab;
@@ -55,10 +69,12 @@
55
69
  overflow: visible;
56
70
  }
57
71
  .draft-viewer__status {
72
+ grid-row: 3;
58
73
  margin: 0;
59
74
  padding: 0.35rem 0.65rem;
60
75
  }
61
76
  .draft-viewer__outline {
77
+ grid-row: 4;
62
78
  margin: 0;
63
79
  padding: 0.4rem 0.8rem 0.6rem 2rem;
64
80
  max-height: 7rem;
@@ -85,11 +101,11 @@
85
101
  position: absolute;
86
102
  inset: auto 0 0;
87
103
  background: var(--dv-bg);
88
- box-shadow: 0 -4px 12px rgb(15 23 42 / 0.12);
104
+ box-shadow: 0 -4px 12px var(--dv-shadow);
89
105
  }
90
106
  .draft-viewer--stale .draft-viewer__status {
91
- color: #9a3412;
92
- background: #fff7ed;
107
+ color: var(--dv-warning-ink);
108
+ background: var(--dv-warning-bg);
93
109
  }
94
110
  .draft-viewer__status:empty {
95
111
  display: none;
@@ -108,3 +124,44 @@
108
124
  padding-inline: 0.45rem;
109
125
  }
110
126
  }
127
+
128
+ /* The anchor layer: slot targets above the drawing. Slot content takes no pointer input unless
129
+ it is marked data-draft-input (host.css). */
130
+ .draft-anchors {
131
+ position: absolute;
132
+ inset: 0;
133
+ pointer-events: none;
134
+ overflow: visible;
135
+ }
136
+ .draft-anchors__bodies {
137
+ position: absolute;
138
+ left: 0;
139
+ top: 0;
140
+ width: 0;
141
+ height: 0;
142
+ transform-origin: 0 0;
143
+ }
144
+ .draft-anchors__overlays {
145
+ position: absolute;
146
+ inset: 0;
147
+ }
148
+ .draft-anchor {
149
+ position: absolute;
150
+ box-sizing: border-box;
151
+ pointer-events: none;
152
+ }
153
+ .draft-anchor--body {
154
+ overflow: clip;
155
+ }
156
+ .draft-anchor--overlay {
157
+ left: 0;
158
+ top: 0;
159
+ overflow: visible;
160
+ }
161
+ .draft-anchors[data-draft-detail='low'] .draft-anchors__bodies {
162
+ visibility: hidden;
163
+ }
164
+ /* A body replaces its node's drawn title; the title stays for screen readers. */
165
+ .draft-viewer__viewport[data-draft-detail='full'] [data-draft-body] text {
166
+ opacity: 0;
167
+ }