@diagrammo/dgmo 0.21.1 → 0.23.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 (87) hide show
  1. package/README.md +16 -6
  2. package/dist/advanced.cjs +2230 -503
  3. package/dist/advanced.d.cts +5731 -0
  4. package/dist/advanced.d.ts +5731 -0
  5. package/dist/advanced.js +2226 -503
  6. package/dist/auto.cjs +2272 -479
  7. package/dist/auto.d.cts +39 -0
  8. package/dist/auto.d.ts +39 -0
  9. package/dist/auto.js +124 -124
  10. package/dist/auto.mjs +2274 -480
  11. package/dist/cli.cjs +170 -170
  12. package/dist/editor.cjs +16 -16
  13. package/dist/editor.js +16 -16
  14. package/dist/highlight.cjs +18 -13
  15. package/dist/highlight.js +18 -13
  16. package/dist/index.cjs +2253 -465
  17. package/dist/index.d.cts +339 -0
  18. package/dist/index.d.ts +339 -0
  19. package/dist/index.js +2255 -466
  20. package/dist/internal.cjs +2230 -503
  21. package/dist/internal.d.cts +5731 -0
  22. package/dist/internal.d.ts +5731 -0
  23. package/dist/internal.js +2226 -503
  24. package/dist/map-data/PROVENANCE.json +1 -1
  25. package/dist/map-data/gazetteer.json +1 -1
  26. package/dist/map-data/mountain-ranges.json +1 -1
  27. package/dist/map-data/water-bodies.json +1 -0
  28. package/dist/map-data/world-coarse.json +1 -1
  29. package/dist/map-data/world-detail.json +1 -1
  30. package/docs/language-reference.md +55 -9
  31. package/gallery/fixtures/boxes-and-lines.dgmo +6 -4
  32. package/gallery/fixtures/map-categorical-world.dgmo +16 -0
  33. package/gallery/fixtures/map-categorical.dgmo +0 -1
  34. package/gallery/fixtures/map-choropleth.dgmo +0 -1
  35. package/gallery/fixtures/map-coastline.dgmo +7 -0
  36. package/gallery/fixtures/map-colorize.dgmo +11 -0
  37. package/gallery/fixtures/map-direct-color.dgmo +0 -1
  38. package/gallery/fixtures/map-reference-world.dgmo +11 -0
  39. package/gallery/fixtures/map-region-scope.dgmo +0 -3
  40. package/gallery/fixtures/map-route.dgmo +0 -1
  41. package/package.json +1 -1
  42. package/src/advanced.ts +12 -1
  43. package/src/boxes-and-lines/parser.ts +39 -0
  44. package/src/boxes-and-lines/renderer.ts +205 -20
  45. package/src/boxes-and-lines/types.ts +9 -0
  46. package/src/cli.ts +1 -1
  47. package/src/completion.ts +36 -30
  48. package/src/cycle/renderer.ts +14 -1
  49. package/src/d3.ts +20 -6
  50. package/src/editor/highlight-api.ts +4 -0
  51. package/src/editor/keywords.ts +16 -16
  52. package/src/infra/renderer.ts +35 -7
  53. package/src/map/colorize.ts +54 -0
  54. package/src/map/context-labels.ts +429 -0
  55. package/src/map/data/PROVENANCE.json +1 -1
  56. package/src/map/data/README.md +6 -0
  57. package/src/map/data/gazetteer.json +1 -1
  58. package/src/map/data/mountain-ranges.json +1 -1
  59. package/src/map/data/types.ts +34 -0
  60. package/src/map/data/water-bodies.json +1 -0
  61. package/src/map/data/world-coarse.json +1 -1
  62. package/src/map/data/world-detail.json +1 -1
  63. package/src/map/dimensions.ts +117 -0
  64. package/src/map/geo-query.ts +21 -3
  65. package/src/map/geo.ts +47 -1
  66. package/src/map/layout.ts +1408 -266
  67. package/src/map/load-data.ts +10 -2
  68. package/src/map/parser.ts +42 -116
  69. package/src/map/renderer.ts +604 -14
  70. package/src/map/resolved-types.ts +16 -2
  71. package/src/map/resolver.ts +208 -59
  72. package/src/map/types.ts +30 -32
  73. package/src/mindmap/renderer.ts +10 -1
  74. package/src/palettes/atlas.ts +77 -0
  75. package/src/palettes/blueprint.ts +73 -0
  76. package/src/palettes/color-utils.ts +58 -1
  77. package/src/palettes/index.ts +12 -3
  78. package/src/palettes/slate.ts +73 -0
  79. package/src/palettes/tidewater.ts +73 -0
  80. package/src/render.ts +8 -1
  81. package/src/tech-radar/renderer.ts +3 -0
  82. package/src/tech-radar/types.ts +3 -0
  83. package/src/utils/d3-types.ts +5 -0
  84. package/src/utils/legend-layout.ts +21 -4
  85. package/src/utils/legend-types.ts +7 -0
  86. package/src/utils/reserved-key-registry.ts +8 -3
  87. package/src/palettes/bold.ts +0 -67
package/dist/editor.cjs CHANGED
@@ -121,11 +121,10 @@ var METADATA_KEYS = /* @__PURE__ */ new Set([
121
121
  "quadrant",
122
122
  "ring",
123
123
  "trend",
124
- // Map (§24B) metadata keys
125
- "score",
124
+ // Map (§24B) reserved metadata keys
125
+ "value",
126
126
  "label",
127
- "description",
128
- "weight"
127
+ "style"
129
128
  ]);
130
129
  var TAG_KEYWORD = "tag";
131
130
  var DIRECTIVE_KEYWORDS = /* @__PURE__ */ new Set([
@@ -148,6 +147,9 @@ var DIRECTIVE_KEYWORDS = /* @__PURE__ */ new Set([
148
147
  "hide",
149
148
  "mode",
150
149
  "direction",
150
+ // Boxes-and-lines
151
+ "box-metric",
152
+ "show-values",
151
153
  // ER
152
154
  "notation",
153
155
  // Class
@@ -187,22 +189,20 @@ var DIRECTIVE_KEYWORDS = /* @__PURE__ */ new Set([
187
189
  // Sequence
188
190
  "activations",
189
191
  "no-activations",
190
- // Map (§24B) directives
191
- "region",
192
- "projection",
192
+ // Map (§24B) directives — cosmetics on by default, bare `no-*` opt-outs
193
193
  "region-metric",
194
194
  "poi-metric",
195
195
  "flow-metric",
196
- "region-labels",
197
- "poi-labels",
198
- "default-country",
199
- "default-state",
200
- "no-legend",
201
- "no-insets",
202
- "muted",
203
- "natural",
204
- "subtitle",
196
+ "locale",
197
+ "active-tag",
205
198
  "caption",
199
+ "no-legend",
200
+ "no-coastline",
201
+ "no-relief",
202
+ "no-context-labels",
203
+ "no-region-labels",
204
+ "no-poi-labels",
205
+ "no-colorize",
206
206
  "poi",
207
207
  "route",
208
208
  // Data charts
package/dist/editor.js CHANGED
@@ -91,11 +91,10 @@ var METADATA_KEYS = /* @__PURE__ */ new Set([
91
91
  "quadrant",
92
92
  "ring",
93
93
  "trend",
94
- // Map (§24B) metadata keys
95
- "score",
94
+ // Map (§24B) reserved metadata keys
95
+ "value",
96
96
  "label",
97
- "description",
98
- "weight"
97
+ "style"
99
98
  ]);
100
99
  var TAG_KEYWORD = "tag";
101
100
  var DIRECTIVE_KEYWORDS = /* @__PURE__ */ new Set([
@@ -118,6 +117,9 @@ var DIRECTIVE_KEYWORDS = /* @__PURE__ */ new Set([
118
117
  "hide",
119
118
  "mode",
120
119
  "direction",
120
+ // Boxes-and-lines
121
+ "box-metric",
122
+ "show-values",
121
123
  // ER
122
124
  "notation",
123
125
  // Class
@@ -157,22 +159,20 @@ var DIRECTIVE_KEYWORDS = /* @__PURE__ */ new Set([
157
159
  // Sequence
158
160
  "activations",
159
161
  "no-activations",
160
- // Map (§24B) directives
161
- "region",
162
- "projection",
162
+ // Map (§24B) directives — cosmetics on by default, bare `no-*` opt-outs
163
163
  "region-metric",
164
164
  "poi-metric",
165
165
  "flow-metric",
166
- "region-labels",
167
- "poi-labels",
168
- "default-country",
169
- "default-state",
170
- "no-legend",
171
- "no-insets",
172
- "muted",
173
- "natural",
174
- "subtitle",
166
+ "locale",
167
+ "active-tag",
175
168
  "caption",
169
+ "no-legend",
170
+ "no-coastline",
171
+ "no-relief",
172
+ "no-context-labels",
173
+ "no-region-labels",
174
+ "no-poi-labels",
175
+ "no-colorize",
176
176
  "poi",
177
177
  "route",
178
178
  // Data charts
@@ -109,6 +109,9 @@ var DIRECTIVE_KEYWORDS = /* @__PURE__ */ new Set([
109
109
  "hide",
110
110
  "mode",
111
111
  "direction",
112
+ // Boxes-and-lines
113
+ "box-metric",
114
+ "show-values",
112
115
  // ER
113
116
  "notation",
114
117
  // Class
@@ -148,22 +151,20 @@ var DIRECTIVE_KEYWORDS = /* @__PURE__ */ new Set([
148
151
  // Sequence
149
152
  "activations",
150
153
  "no-activations",
151
- // Map (§24B) directives
152
- "region",
153
- "projection",
154
+ // Map (§24B) directives — cosmetics on by default, bare `no-*` opt-outs
154
155
  "region-metric",
155
156
  "poi-metric",
156
157
  "flow-metric",
157
- "region-labels",
158
- "poi-labels",
159
- "default-country",
160
- "default-state",
161
- "no-legend",
162
- "no-insets",
163
- "muted",
164
- "natural",
165
- "subtitle",
158
+ "locale",
159
+ "active-tag",
166
160
  "caption",
161
+ "no-legend",
162
+ "no-coastline",
163
+ "no-relief",
164
+ "no-context-labels",
165
+ "no-region-labels",
166
+ "no-poi-labels",
167
+ "no-colorize",
167
168
  "poi",
168
169
  "route",
169
170
  // Data charts
@@ -456,7 +457,11 @@ var ATTRIBUTE_KEYS = /* @__PURE__ */ new Set([
456
457
  "collapsed",
457
458
  "tech",
458
459
  "span",
459
- "split"
460
+ "split",
461
+ // Map (§24B) reserved keys
462
+ "value",
463
+ "label",
464
+ "style"
460
465
  ]);
461
466
  function applyAttributeKeys(tokens) {
462
467
  for (let i = 0; i < tokens.length - 1; i++) {
package/dist/highlight.js CHANGED
@@ -80,6 +80,9 @@ var DIRECTIVE_KEYWORDS = /* @__PURE__ */ new Set([
80
80
  "hide",
81
81
  "mode",
82
82
  "direction",
83
+ // Boxes-and-lines
84
+ "box-metric",
85
+ "show-values",
83
86
  // ER
84
87
  "notation",
85
88
  // Class
@@ -119,22 +122,20 @@ var DIRECTIVE_KEYWORDS = /* @__PURE__ */ new Set([
119
122
  // Sequence
120
123
  "activations",
121
124
  "no-activations",
122
- // Map (§24B) directives
123
- "region",
124
- "projection",
125
+ // Map (§24B) directives — cosmetics on by default, bare `no-*` opt-outs
125
126
  "region-metric",
126
127
  "poi-metric",
127
128
  "flow-metric",
128
- "region-labels",
129
- "poi-labels",
130
- "default-country",
131
- "default-state",
132
- "no-legend",
133
- "no-insets",
134
- "muted",
135
- "natural",
136
- "subtitle",
129
+ "locale",
130
+ "active-tag",
137
131
  "caption",
132
+ "no-legend",
133
+ "no-coastline",
134
+ "no-relief",
135
+ "no-context-labels",
136
+ "no-region-labels",
137
+ "no-poi-labels",
138
+ "no-colorize",
138
139
  "poi",
139
140
  "route",
140
141
  // Data charts
@@ -427,7 +428,11 @@ var ATTRIBUTE_KEYS = /* @__PURE__ */ new Set([
427
428
  "collapsed",
428
429
  "tech",
429
430
  "span",
430
- "split"
431
+ "split",
432
+ // Map (§24B) reserved keys
433
+ "value",
434
+ "label",
435
+ "style"
431
436
  ]);
432
437
  function applyAttributeKeys(tokens) {
433
438
  for (let i = 0; i < tokens.length - 1; i++) {