@grafloria/element 0.3.23 → 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.
- package/README.md +7 -7
- package/package.json +7 -9
- package/src/index.d.ts +16 -16
- package/src/index.js +58 -339
- package/src/lib/dashboard-kit/dashboard.d.ts +1 -1
- package/src/lib/dashboard-kit/dashboard.js +22 -26
- package/src/lib/dashboard-kit/grid-binder.d.ts +1 -1
- package/src/lib/dashboard-kit/grid-binder.js +62 -65
- package/src/lib/dashboard-kit/grid-mapping.js +14 -26
- package/src/lib/dashboard-kit/index.d.ts +5 -5
- package/src/lib/dashboard-kit/index.js +5 -30
- package/src/lib/dashboard-kit/styles.js +4 -8
- package/src/lib/dashboard-kit/widgets.d.ts +1 -1
- package/src/lib/dashboard-kit/widgets.js +16 -26
- package/src/lib/diagram-kit/card.d.ts +2 -2
- package/src/lib/diagram-kit/card.js +22 -32
- package/src/lib/diagram-kit/editing.js +15 -20
- package/src/lib/diagram-kit/er.d.ts +1 -1
- package/src/lib/diagram-kit/er.js +15 -18
- package/src/lib/diagram-kit/handles.d.ts +4 -4
- package/src/lib/diagram-kit/handles.js +16 -29
- package/src/lib/diagram-kit/index.d.ts +10 -10
- package/src/lib/diagram-kit/index.js +10 -50
- package/src/lib/diagram-kit/join-guidance.js +9 -18
- package/src/lib/diagram-kit/rows.js +1 -4
- package/src/lib/diagram-kit/styles.js +4 -8
- package/src/lib/diagram-kit/uml.js +10 -13
- package/src/lib/diagram-kit/update.d.ts +1 -1
- package/src/lib/diagram-kit/update.js +19 -26
- package/src/lib/grafloria-flow-element.js +19 -24
- package/src/lib/grafloria.d.ts +4 -4
- package/src/lib/grafloria.js +12 -17
- package/src/lib/load.d.ts +3 -3
- package/src/lib/load.js +19 -22
- package/src/lib/node-type-registry.js +6 -14
- package/src/lib/stencil-kit/builders.js +4 -10
- package/src/lib/stencil-kit/card-builders.js +14 -17
- package/src/lib/stencil-kit/index.d.ts +7 -7
- package/src/lib/stencil-kit/index.js +6 -16
- package/src/lib/stencil-kit/palette.js +14 -17
- package/src/lib/stencil-kit/shape-data.js +25 -28
- package/src/lib/stencil-kit/styles.js +1 -4
- package/esm/src/index.js +0 -295
- package/esm/src/lib/dashboard-kit/dashboard.js +0 -590
- package/esm/src/lib/dashboard-kit/grid-binder.js +0 -1633
- package/esm/src/lib/dashboard-kit/grid-mapping.js +0 -164
- package/esm/src/lib/dashboard-kit/index.js +0 -8
- package/esm/src/lib/dashboard-kit/styles.js +0 -205
- package/esm/src/lib/dashboard-kit/widgets.js +0 -379
- package/esm/src/lib/diagram-kit/card.js +0 -199
- package/esm/src/lib/diagram-kit/editing.js +0 -448
- package/esm/src/lib/diagram-kit/er.js +0 -160
- package/esm/src/lib/diagram-kit/handles.js +0 -312
- package/esm/src/lib/diagram-kit/index.js +0 -15
- package/esm/src/lib/diagram-kit/join-guidance.js +0 -322
- package/esm/src/lib/diagram-kit/rows.js +0 -144
- package/esm/src/lib/diagram-kit/styles.js +0 -118
- package/esm/src/lib/diagram-kit/uml.js +0 -135
- package/esm/src/lib/diagram-kit/update.js +0 -244
- package/esm/src/lib/grafloria-flow-element.js +0 -266
- package/esm/src/lib/grafloria.js +0 -69
- package/esm/src/lib/load.js +0 -252
- package/esm/src/lib/node-type-registry.js +0 -42
- package/esm/src/lib/stencil-kit/builders.js +0 -18
- package/esm/src/lib/stencil-kit/card-builders.js +0 -105
- package/esm/src/lib/stencil-kit/index.js +0 -9
- package/esm/src/lib/stencil-kit/palette.js +0 -427
- package/esm/src/lib/stencil-kit/shape-data.js +0 -537
- package/esm/src/lib/stencil-kit/styles.js +0 -126
package/src/index.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/**
|
|
3
2
|
* `@grafloria/element` — the universal embed.
|
|
4
3
|
*
|
|
@@ -13,43 +12,18 @@
|
|
|
13
12
|
* on the server, where `customElements` does not exist). Call
|
|
14
13
|
* `Grafloria.define('my-flow')` yourself if you want a different tag name.
|
|
15
14
|
*/
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
exports.exportDiagramText = exports.CommentStore = exports.opId = exports.compareOps = exports.replay = exports.applyOp = exports.LamportClock = exports.ReferentialIntegrity = exports.UndoStack = exports.OpLog = exports.LwwRegistry = exports.Replica = exports.CausalBuffer = exports.OpBatcher = exports.VersionVector = exports.Awareness = exports.UnreliableHub = exports.WebSocketTransport = exports.BroadcastChannelTransport = exports.MemoryTransport = exports.MemoryHub = exports.SyncAdapter = exports.createSyncSession = exports.loadReadonlySnapshot = exports.isDocumentLocked = exports.lockDocument = exports.followPresenter = exports.presentTo = exports.InMemoryViewportChannel = exports.CommentOverlayController = exports.contrastingTextColor = exports.actorInitials = exports.actorColor = exports.PRESENCE_LAYER_CLASS = exports.PresenceOverlay = exports.bindPresence = exports.QualityGovernor = exports.EMPTY_SNAPSHOT = exports.formatSnapshot = exports.PerfHud = exports.createBackground = exports.createControls = exports.createMiniMap = exports.attachCanvasPlugins = exports.importDiagram = exports.isEditableArtifact = exports.extractModel = exports.extractModelFromPng = exports.embedModelInPng = exports.extractModelFromSvg = void 0;
|
|
20
|
-
exports.onShapeRegistryChange = exports.getShapeRegistryVersion = exports.getShapeDefinition = exports.listShapes = exports.hasShape = exports.getShape = exports.unregisterShape = exports.registerPathShape = exports.registerShape = exports.createCounterScaledPortal = exports.createViewportPortal = exports.createPortal = exports.INK_OVERLAY_CLASS = exports.InkOverlay = exports.StrokeEditTool = exports.EraserTool = exports.RectangleTool = exports.DrawTool = exports.createStrokeEditTool = exports.createEraserTool = exports.createRectangleTool = exports.createDrawTool = exports.listTools = exports.registerTool = exports.clearConnectionValidators = exports.isValidConnection = exports.registerConnectionValidator = exports.listConnectors = exports.registerConnector = exports.listConnectionPoints = exports.registerConnectionPoint = exports.listAnchors = exports.registerAnchor = exports.htmlLabelVNode = exports.listMarkers = exports.unregisterMarker = exports.registerMarker = exports.listLabelTemplates = exports.unregisterLabelTemplate = exports.registerLabelTemplate = exports.listLinkTemplates = exports.unregisterLinkTemplate = exports.registerLinkTemplate = exports.DEFAULT_STROKE_STYLE = exports.StrokeModel = exports.DiagramSerializer = exports.GRAFLORIA_HASH_PREFIX = exports.GRAFLORIA_DOC_PREFIX = exports.stripGrafloriaSidecar = exports.importDiagramText = void 0;
|
|
21
|
-
exports.CardHandle = exports.umlClasses = exports.erTables = exports.umlClass = exports.erTable = exports.JOIN_GUIDANCE_STYLE_ID = exports.ensureJoinGuidanceStyles = exports.bindJoinGuidance = exports.singularize = exports.assignTiers = exports.matchTier = exports.scoreMatch = exports.rowIndexFromY = exports.matchColumns = exports.bindCardEditing = exports.renameColumnAt = exports.removeColumnAt = exports.addColumnAt = exports.updateClass = exports.updateEntity = exports.DIAGRAM_KIT_STYLE_ID = exports.ensureDiagramKitStyles = exports.umlDiagram = exports.ER_HEAD_H = exports.ER_ROW_H = exports.erRowCenterY = exports.erDiagram = exports.serveLayout = exports.PROXY_LINK_GROUP_KEY = exports.PROXY_NODE_GROUP_KEY = exports.GroupCollapseService = exports.GroupModel = exports.SwimlaneService = exports.DEFAULT_SNAP_CONFIG = exports.SnapController = exports.buildHtmlForeignObject = exports.hasHtmlContent = exports.getHtmlContent = exports.resolveToolbar = exports.getNodeToolbar = exports.autoSizeDiagram = exports.autoSizeNode = exports.outerSizeForInner = exports.desiredNodeSize = exports.measureLabelContent = exports.clampValue = exports.clampSizeToConstraints = exports.resolveAspectRatio = exports.isAutoSized = exports.getNodeSizing = void 0;
|
|
22
|
-
exports.coalesceRects = exports.rotatePointSelection = exports.distanceToSegmentCanvas = exports.coalesce = exports.rotatePoint = exports.distanceToSegment = exports.PortModel = exports.NodeModel = exports.ensureStencilKitStyles = exports.bindShapeDataPanel = exports.bindStencilPalette = exports.BUILT_IN_WIDGET_KINDS = exports.renderTableWidget = exports.renderFunnelWidget = exports.renderDonutWidget = exports.renderBarWidget = exports.renderLineWidget = exports.renderKpiWidget = exports.defaultWidgetRenderer = exports.dashboard = exports.DASHBOARD_KIT_STYLE_ID = exports.ensureDashboardKitStyles = exports.buildCommitCommands = exports.cellFromGridItem = exports.gridItemFromCell = exports.sizeToSpan = exports.pointToCell = exports.cellToRect = exports.columnUnitFor = exports.boardHeightFor = exports.rowHeightFor = exports.bindDashboardGrid = exports.UmlMemberList = exports.UmlClass = exports.ErColumnList = exports.ErField = exports.ErTable = void 0;
|
|
23
|
-
const tslib_1 = require("tslib");
|
|
24
|
-
const grafloria_flow_element_1 = require("./lib/grafloria-flow-element");
|
|
25
|
-
var grafloria_flow_element_2 = require("./lib/grafloria-flow-element");
|
|
26
|
-
Object.defineProperty(exports, "GrafloriaFlowElement", { enumerable: true, get: function () { return grafloria_flow_element_2.GrafloriaFlowElement; } });
|
|
27
|
-
Object.defineProperty(exports, "defineGrafloriaFlow", { enumerable: true, get: function () { return grafloria_flow_element_2.defineGrafloriaFlow; } });
|
|
28
|
-
Object.defineProperty(exports, "GRAFLORIA_EVENTS", { enumerable: true, get: function () { return grafloria_flow_element_2.GRAFLORIA_EVENTS; } });
|
|
29
|
-
var grafloria_1 = require("./lib/grafloria");
|
|
30
|
-
Object.defineProperty(exports, "Grafloria", { enumerable: true, get: function () { return grafloria_1.Grafloria; } });
|
|
31
|
-
Object.defineProperty(exports, "render", { enumerable: true, get: function () { return grafloria_1.render; } });
|
|
32
|
-
Object.defineProperty(exports, "renderStatic", { enumerable: true, get: function () { return grafloria_1.renderStatic; } });
|
|
15
|
+
import { defineGrafloriaFlow } from './lib/grafloria-flow-element.js';
|
|
16
|
+
export { GrafloriaFlowElement, defineGrafloriaFlow, GRAFLORIA_EVENTS } from './lib/grafloria-flow-element.js';
|
|
17
|
+
export { Grafloria, render, renderStatic } from './lib/grafloria.js';
|
|
33
18
|
// The LOAD front door — the other half of `DiagramSerializer.serialize()`.
|
|
34
19
|
// `render(fromDocument(json), host)` is the one-liner; see lib/load.ts for why
|
|
35
20
|
// the loaded models go back in as models rather than being re-specced.
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
Object.defineProperty(exports, "registerNodeType", { enumerable: true, get: function () { return node_type_registry_1.registerNodeType; } });
|
|
40
|
-
Object.defineProperty(exports, "unregisterNodeType", { enumerable: true, get: function () { return node_type_registry_1.unregisterNodeType; } });
|
|
41
|
-
Object.defineProperty(exports, "registeredNodeTypes", { enumerable: true, get: function () { return node_type_registry_1.registeredNodeTypes; } });
|
|
42
|
-
Object.defineProperty(exports, "getNodeType", { enumerable: true, get: function () { return node_type_registry_1.getNodeType; } });
|
|
43
|
-
Object.defineProperty(exports, "hasNodeType", { enumerable: true, get: function () { return node_type_registry_1.hasNodeType; } });
|
|
44
|
-
Object.defineProperty(exports, "renderFromTemplate", { enumerable: true, get: function () { return node_type_registry_1.renderFromTemplate; } });
|
|
45
|
-
var renderer_1 = require("@grafloria/renderer");
|
|
46
|
-
Object.defineProperty(exports, "renderToStaticSVG", { enumerable: true, get: function () { return renderer_1.renderToStaticSVG; } });
|
|
47
|
-
Object.defineProperty(exports, "LIGHT_THEME", { enumerable: true, get: function () { return renderer_1.LIGHT_THEME; } });
|
|
48
|
-
Object.defineProperty(exports, "DARK_THEME", { enumerable: true, get: function () { return renderer_1.DARK_THEME; } });
|
|
21
|
+
export { fromDocument } from './lib/load.js';
|
|
22
|
+
export { registerNodeType, unregisterNodeType, registeredNodeTypes, getNodeType, hasNodeType, renderFromTemplate, } from './lib/node-type-registry.js';
|
|
23
|
+
export { renderToStaticSVG, LIGHT_THEME, DARK_THEME } from '@grafloria/renderer';
|
|
49
24
|
// React Flow-parity helper surface (getIntersectingNodes & friends) — an embed
|
|
50
25
|
// gets the same convenience wrapper the frameworks get, from the same import.
|
|
51
|
-
|
|
52
|
-
Object.defineProperty(exports, "createDiagramApi", { enumerable: true, get: function () { return renderer_2.createDiagramApi; } });
|
|
26
|
+
export { createDiagramApi } from '@grafloria/renderer';
|
|
53
27
|
/* ==========================================================================
|
|
54
28
|
* WAVE 10 — THE REACHABILITY FIX.
|
|
55
29
|
*
|
|
@@ -72,201 +46,61 @@ Object.defineProperty(exports, "createDiagramApi", { enumerable: true, get: func
|
|
|
72
46
|
* ========================================================================== */
|
|
73
47
|
// -- Theming ---------------------------------------------------------------
|
|
74
48
|
// The theme set + the OS-preference controller behind `colorMode: 'system'`.
|
|
75
|
-
|
|
76
|
-
Object.defineProperty(exports, "HIGH_CONTRAST_LIGHT_THEME", { enumerable: true, get: function () { return renderer_3.HIGH_CONTRAST_LIGHT_THEME; } });
|
|
77
|
-
Object.defineProperty(exports, "HIGH_CONTRAST_DARK_THEME", { enumerable: true, get: function () { return renderer_3.HIGH_CONTRAST_DARK_THEME; } });
|
|
78
|
-
Object.defineProperty(exports, "DEFAULT_THEME_SET", { enumerable: true, get: function () { return renderer_3.DEFAULT_THEME_SET; } });
|
|
79
|
-
Object.defineProperty(exports, "ColorModeController", { enumerable: true, get: function () { return renderer_3.ColorModeController; } });
|
|
80
|
-
Object.defineProperty(exports, "resolveThemeFromPrefs", { enumerable: true, get: function () { return renderer_3.resolveThemeFromPrefs; } });
|
|
81
|
-
Object.defineProperty(exports, "readColorPreferences", { enumerable: true, get: function () { return renderer_3.readColorPreferences; } });
|
|
82
|
-
Object.defineProperty(exports, "MEDIA_PREFERS_DARK", { enumerable: true, get: function () { return renderer_3.MEDIA_PREFERS_DARK; } });
|
|
83
|
-
Object.defineProperty(exports, "MEDIA_PREFERS_CONTRAST", { enumerable: true, get: function () { return renderer_3.MEDIA_PREFERS_CONTRAST; } });
|
|
84
|
-
Object.defineProperty(exports, "MEDIA_FORCED_COLORS", { enumerable: true, get: function () { return renderer_3.MEDIA_FORCED_COLORS; } });
|
|
49
|
+
export { HIGH_CONTRAST_LIGHT_THEME, HIGH_CONTRAST_DARK_THEME, DEFAULT_THEME_SET, ColorModeController, resolveThemeFromPrefs, readColorPreferences, MEDIA_PREFERS_DARK, MEDIA_PREFERS_CONTRAST, MEDIA_FORCED_COLORS, } from '@grafloria/renderer';
|
|
85
50
|
// Theme-bound properties: the CALLER's semantic colours follow a theme swap.
|
|
86
|
-
|
|
87
|
-
Object.defineProperty(exports, "themeRef", { enumerable: true, get: function () { return renderer_4.themeRef; } });
|
|
88
|
-
Object.defineProperty(exports, "isThemeRef", { enumerable: true, get: function () { return renderer_4.isThemeRef; } });
|
|
89
|
-
Object.defineProperty(exports, "themeRefToken", { enumerable: true, get: function () { return renderer_4.themeRefToken; } });
|
|
90
|
-
Object.defineProperty(exports, "themeRefVar", { enumerable: true, get: function () { return renderer_4.themeRefVar; } });
|
|
91
|
-
Object.defineProperty(exports, "resolveThemeRef", { enumerable: true, get: function () { return renderer_4.resolveThemeRef; } });
|
|
92
|
-
Object.defineProperty(exports, "themeRefCssValue", { enumerable: true, get: function () { return renderer_4.themeRefCssValue; } });
|
|
93
|
-
Object.defineProperty(exports, "resolveBindableVars", { enumerable: true, get: function () { return renderer_4.resolveBindableVars; } });
|
|
51
|
+
export { themeRef, isThemeRef, themeRefToken, themeRefVar, resolveThemeRef, themeRefCssValue, resolveBindableVars, } from '@grafloria/renderer';
|
|
94
52
|
// WCAG maths + a theme derivation that audits its own output.
|
|
95
|
-
|
|
96
|
-
Object.defineProperty(exports, "WCAG", { enumerable: true, get: function () { return renderer_5.WCAG; } });
|
|
97
|
-
Object.defineProperty(exports, "parseColor", { enumerable: true, get: function () { return renderer_5.parseColor; } });
|
|
98
|
-
Object.defineProperty(exports, "toHex", { enumerable: true, get: function () { return renderer_5.toHex; } });
|
|
99
|
-
Object.defineProperty(exports, "relativeLuminance", { enumerable: true, get: function () { return renderer_5.relativeLuminance; } });
|
|
100
|
-
Object.defineProperty(exports, "contrastRatio", { enumerable: true, get: function () { return renderer_5.contrastRatio; } });
|
|
101
|
-
Object.defineProperty(exports, "meetsContrast", { enumerable: true, get: function () { return renderer_5.meetsContrast; } });
|
|
102
|
-
Object.defineProperty(exports, "rgbToHsl", { enumerable: true, get: function () { return renderer_5.rgbToHsl; } });
|
|
103
|
-
Object.defineProperty(exports, "hslToRgb", { enumerable: true, get: function () { return renderer_5.hslToRgb; } });
|
|
104
|
-
Object.defineProperty(exports, "lightnessOf", { enumerable: true, get: function () { return renderer_5.lightnessOf; } });
|
|
105
|
-
Object.defineProperty(exports, "withLightness", { enumerable: true, get: function () { return renderer_5.withLightness; } });
|
|
106
|
-
Object.defineProperty(exports, "ensureContrast", { enumerable: true, get: function () { return renderer_5.ensureContrast; } });
|
|
107
|
-
Object.defineProperty(exports, "auditThemeContrast", { enumerable: true, get: function () { return renderer_5.auditThemeContrast; } });
|
|
108
|
-
Object.defineProperty(exports, "assertThemeContrast", { enumerable: true, get: function () { return renderer_5.assertThemeContrast; } });
|
|
109
|
-
Object.defineProperty(exports, "deriveTheme", { enumerable: true, get: function () { return renderer_5.deriveTheme; } });
|
|
53
|
+
export { WCAG, parseColor, toHex, relativeLuminance, contrastRatio, meetsContrast, rgbToHsl, hslToRgb, lightnessOf, withLightness, ensureContrast, auditThemeContrast, assertThemeContrast, deriveTheme, } from '@grafloria/renderer';
|
|
110
54
|
// The design-token bridge: drive Grafloria from shadcn / MUI / Tailwind variables.
|
|
111
|
-
|
|
112
|
-
Object.defineProperty(exports, "shadcnBridge", { enumerable: true, get: function () { return renderer_6.shadcnBridge; } });
|
|
113
|
-
Object.defineProperty(exports, "muiBridge", { enumerable: true, get: function () { return renderer_6.muiBridge; } });
|
|
114
|
-
Object.defineProperty(exports, "tailwindBridge", { enumerable: true, get: function () { return renderer_6.tailwindBridge; } });
|
|
115
|
-
Object.defineProperty(exports, "BRIDGEABLE_TOKENS", { enumerable: true, get: function () { return renderer_6.BRIDGEABLE_TOKENS; } });
|
|
116
|
-
Object.defineProperty(exports, "generateTokenBridgeBlock", { enumerable: true, get: function () { return renderer_6.generateTokenBridgeBlock; } });
|
|
117
|
-
Object.defineProperty(exports, "generateInstanceOverrideCSS", { enumerable: true, get: function () { return renderer_6.generateInstanceOverrideCSS; } });
|
|
55
|
+
export { shadcnBridge, muiBridge, tailwindBridge, BRIDGEABLE_TOKENS, generateTokenBridgeBlock, generateInstanceOverrideCSS, } from '@grafloria/renderer';
|
|
118
56
|
// Port data types — the registry the renderer reads for glyph colours and the
|
|
119
57
|
// validator reads for connection compatibility. Same reachability hole as the
|
|
120
58
|
// style classes below: read on every frame, and no embedder could WRITE to it —
|
|
121
59
|
// the typed-ports demo could not colour its own types through the public API
|
|
122
60
|
// (its glyphs silently fell back to direction colours, and the screenshot audit
|
|
123
61
|
// read them as such).
|
|
124
|
-
|
|
125
|
-
Object.defineProperty(exports, "portTypeRegistry", { enumerable: true, get: function () { return engine_1.portTypeRegistry; } });
|
|
126
|
-
Object.defineProperty(exports, "arePortDataTypesCompatible", { enumerable: true, get: function () { return engine_1.arePortDataTypesCompatible; } });
|
|
127
|
-
Object.defineProperty(exports, "portTypeColor", { enumerable: true, get: function () { return engine_1.portTypeColor; } });
|
|
62
|
+
export { portTypeRegistry, arePortDataTypesCompatible, portTypeColor } from '@grafloria/engine';
|
|
128
63
|
// Stencils & shape masters — the Visio-style palette surface. Named here (not
|
|
129
64
|
// left to the `export *` below) because this IS the documented way to browse and
|
|
130
65
|
// register shapes: listStencils() feeds a palette, registerStencils() puts every
|
|
131
66
|
// master behind engine.templateRegistry for NodeFactory to stamp.
|
|
132
|
-
|
|
133
|
-
Object.defineProperty(exports, "listStencils", { enumerable: true, get: function () { return engine_2.listStencils; } });
|
|
134
|
-
Object.defineProperty(exports, "builtInStencils", { enumerable: true, get: function () { return engine_2.builtInStencils; } });
|
|
135
|
-
Object.defineProperty(exports, "getStencil", { enumerable: true, get: function () { return engine_2.getStencil; } });
|
|
136
|
-
Object.defineProperty(exports, "registerStencils", { enumerable: true, get: function () { return engine_2.registerStencils; } });
|
|
137
|
-
Object.defineProperty(exports, "registerGeneratedTemplates", { enumerable: true, get: function () { return engine_2.registerGeneratedTemplates; } });
|
|
138
|
-
Object.defineProperty(exports, "generatedTemplates", { enumerable: true, get: function () { return engine_2.generatedTemplates; } });
|
|
139
|
-
Object.defineProperty(exports, "TemplateRegistry", { enumerable: true, get: function () { return engine_2.TemplateRegistry; } });
|
|
140
|
-
Object.defineProperty(exports, "NodeFactory", { enumerable: true, get: function () { return engine_2.NodeFactory; } });
|
|
141
|
-
Object.defineProperty(exports, "registerTemplateLibrary", { enumerable: true, get: function () { return engine_2.registerTemplateLibrary; } });
|
|
67
|
+
export { listStencils, builtInStencils, getStencil, registerStencils, registerGeneratedTemplates, generatedTemplates, TemplateRegistry, NodeFactory, registerTemplateLibrary, } from '@grafloria/engine';
|
|
142
68
|
// Named style classes — the `named-class` layer of the cascade. The cascade read
|
|
143
69
|
// this registry on every frame; nothing could WRITE to it.
|
|
144
|
-
|
|
145
|
-
Object.defineProperty(exports, "defineStyle", { enumerable: true, get: function () { return renderer_7.defineStyle; } });
|
|
146
|
-
Object.defineProperty(exports, "defineStyles", { enumerable: true, get: function () { return renderer_7.defineStyles; } });
|
|
147
|
-
Object.defineProperty(exports, "getStyle", { enumerable: true, get: function () { return renderer_7.getStyle; } });
|
|
148
|
-
Object.defineProperty(exports, "hasStyle", { enumerable: true, get: function () { return renderer_7.hasStyle; } });
|
|
149
|
-
Object.defineProperty(exports, "removeStyle", { enumerable: true, get: function () { return renderer_7.removeStyle; } });
|
|
150
|
-
Object.defineProperty(exports, "clearStyles", { enumerable: true, get: function () { return renderer_7.clearStyles; } });
|
|
151
|
-
Object.defineProperty(exports, "listStyles", { enumerable: true, get: function () { return renderer_7.listStyles; } });
|
|
152
|
-
Object.defineProperty(exports, "resolveStyleClasses", { enumerable: true, get: function () { return renderer_7.resolveStyleClasses; } });
|
|
153
|
-
Object.defineProperty(exports, "resolveNodeStyle", { enumerable: true, get: function () { return renderer_7.resolveNodeStyle; } });
|
|
154
|
-
Object.defineProperty(exports, "resolveLinkStyle", { enumerable: true, get: function () { return renderer_7.resolveLinkStyle; } });
|
|
155
|
-
Object.defineProperty(exports, "CASCADE_ORDER", { enumerable: true, get: function () { return renderer_7.CASCADE_ORDER; } });
|
|
70
|
+
export { defineStyle, defineStyles, getStyle, hasStyle, removeStyle, clearStyles, listStyles, resolveStyleClasses, resolveNodeStyle, resolveLinkStyle, CASCADE_ORDER, } from '@grafloria/renderer';
|
|
156
71
|
// Instance-scoped CSS variables — two diagrams, two themes, one page.
|
|
157
|
-
|
|
158
|
-
Object.defineProperty(exports, "GRAFLORIA_INSTANCE_ATTR", { enumerable: true, get: function () { return renderer_8.GRAFLORIA_INSTANCE_ATTR; } });
|
|
159
|
-
Object.defineProperty(exports, "GRAFLORIA_VAR_PREFIX", { enumerable: true, get: function () { return renderer_8.GRAFLORIA_VAR_PREFIX; } });
|
|
160
|
-
Object.defineProperty(exports, "THEME_VARS", { enumerable: true, get: function () { return renderer_8.THEME_VARS; } });
|
|
161
|
-
Object.defineProperty(exports, "THEME_TOKENS", { enumerable: true, get: function () { return renderer_8.THEME_TOKENS; } });
|
|
162
|
-
Object.defineProperty(exports, "cssVarName", { enumerable: true, get: function () { return renderer_8.cssVarName; } });
|
|
163
|
-
Object.defineProperty(exports, "themeVar", { enumerable: true, get: function () { return renderer_8.themeVar; } });
|
|
164
|
-
Object.defineProperty(exports, "themeVarValue", { enumerable: true, get: function () { return renderer_8.themeVarValue; } });
|
|
165
|
-
Object.defineProperty(exports, "resolveThemeVars", { enumerable: true, get: function () { return renderer_8.resolveThemeVars; } });
|
|
166
|
-
Object.defineProperty(exports, "instanceScopeSelector", { enumerable: true, get: function () { return renderer_8.instanceScopeSelector; } });
|
|
72
|
+
export { GRAFLORIA_INSTANCE_ATTR, GRAFLORIA_VAR_PREFIX, THEME_VARS, THEME_TOKENS, cssVarName, themeVar, themeVarValue, resolveThemeVars, instanceScopeSelector, } from '@grafloria/renderer';
|
|
167
73
|
// -- Export ----------------------------------------------------------------
|
|
168
74
|
// Deterministic, DOM-free SVG serialization; true vector PDF; the raster seam.
|
|
169
|
-
|
|
170
|
-
Object.defineProperty(exports, "exportSvg", { enumerable: true, get: function () { return renderer_9.exportSvg; } });
|
|
171
|
-
Object.defineProperty(exports, "serializeVNode", { enumerable: true, get: function () { return renderer_9.serializeVNode; } });
|
|
172
|
-
Object.defineProperty(exports, "vnodeBounds", { enumerable: true, get: function () { return renderer_9.vnodeBounds; } });
|
|
173
|
-
Object.defineProperty(exports, "exportPdf", { enumerable: true, get: function () { return renderer_9.exportPdf; } });
|
|
174
|
-
Object.defineProperty(exports, "paginate", { enumerable: true, get: function () { return renderer_9.paginate; } });
|
|
175
|
-
Object.defineProperty(exports, "buildPrintDocument", { enumerable: true, get: function () { return renderer_9.buildPrintDocument; } });
|
|
176
|
-
Object.defineProperty(exports, "exportBatch", { enumerable: true, get: function () { return renderer_9.exportBatch; } });
|
|
177
|
-
Object.defineProperty(exports, "createDomRasterBackend", { enumerable: true, get: function () { return renderer_9.createDomRasterBackend; } });
|
|
178
|
-
Object.defineProperty(exports, "resolveRasterBackend", { enumerable: true, get: function () { return renderer_9.resolveRasterBackend; } });
|
|
179
|
-
Object.defineProperty(exports, "canRasterizeInThisEnvironment", { enumerable: true, get: function () { return renderer_9.canRasterizeInThisEnvironment; } });
|
|
180
|
-
Object.defineProperty(exports, "svgToDataUri", { enumerable: true, get: function () { return renderer_9.svgToDataUri; } });
|
|
181
|
-
Object.defineProperty(exports, "mimeTypeForFormat", { enumerable: true, get: function () { return renderer_9.mimeTypeForFormat; } });
|
|
75
|
+
export { exportSvg, serializeVNode, vnodeBounds, exportPdf, paginate, buildPrintDocument, exportBatch, createDomRasterBackend, resolveRasterBackend, canRasterizeInThisEnvironment, svgToDataUri, mimeTypeForFormat, } from '@grafloria/renderer';
|
|
182
76
|
// The model rides INSIDE the artifact: SVG metadata + a real PNG iTXt chunk.
|
|
183
|
-
|
|
184
|
-
Object.defineProperty(exports, "GRAFLORIA_NS", { enumerable: true, get: function () { return renderer_10.GRAFLORIA_NS; } });
|
|
185
|
-
Object.defineProperty(exports, "GRAFLORIA_MODEL_KEY", { enumerable: true, get: function () { return renderer_10.GRAFLORIA_MODEL_KEY; } });
|
|
186
|
-
Object.defineProperty(exports, "embedModelInSvg", { enumerable: true, get: function () { return renderer_10.embedModelInSvg; } });
|
|
187
|
-
Object.defineProperty(exports, "extractModelFromSvg", { enumerable: true, get: function () { return renderer_10.extractModelFromSvg; } });
|
|
188
|
-
Object.defineProperty(exports, "embedModelInPng", { enumerable: true, get: function () { return renderer_10.embedModelInPng; } });
|
|
189
|
-
Object.defineProperty(exports, "extractModelFromPng", { enumerable: true, get: function () { return renderer_10.extractModelFromPng; } });
|
|
190
|
-
Object.defineProperty(exports, "extractModel", { enumerable: true, get: function () { return renderer_10.extractModel; } });
|
|
191
|
-
Object.defineProperty(exports, "isEditableArtifact", { enumerable: true, get: function () { return renderer_10.isEditableArtifact; } });
|
|
192
|
-
Object.defineProperty(exports, "importDiagram", { enumerable: true, get: function () { return renderer_10.importDiagram; } });
|
|
77
|
+
export { GRAFLORIA_NS, GRAFLORIA_MODEL_KEY, embedModelInSvg, extractModelFromSvg, embedModelInPng, extractModelFromPng, extractModel, isEditableArtifact, importDiagram, } from '@grafloria/renderer';
|
|
193
78
|
// -- Canvas furniture ------------------------------------------------------
|
|
194
79
|
// One call over a DiagramInstance. `gridEnabled` / `showMinimap` / `snapEnabled`
|
|
195
80
|
// are only live once this runs — which nothing could call.
|
|
196
|
-
|
|
197
|
-
Object.defineProperty(exports, "attachCanvasPlugins", { enumerable: true, get: function () { return renderer_11.attachCanvasPlugins; } });
|
|
198
|
-
Object.defineProperty(exports, "createMiniMap", { enumerable: true, get: function () { return renderer_11.createMiniMap; } });
|
|
199
|
-
Object.defineProperty(exports, "createControls", { enumerable: true, get: function () { return renderer_11.createControls; } });
|
|
200
|
-
Object.defineProperty(exports, "createBackground", { enumerable: true, get: function () { return renderer_11.createBackground; } });
|
|
81
|
+
export { attachCanvasPlugins, createMiniMap, createControls, createBackground, } from '@grafloria/renderer';
|
|
201
82
|
// -- Performance -----------------------------------------------------------
|
|
202
|
-
|
|
203
|
-
Object.defineProperty(exports, "PerfHud", { enumerable: true, get: function () { return renderer_12.PerfHud; } });
|
|
204
|
-
Object.defineProperty(exports, "formatSnapshot", { enumerable: true, get: function () { return renderer_12.formatSnapshot; } });
|
|
205
|
-
Object.defineProperty(exports, "EMPTY_SNAPSHOT", { enumerable: true, get: function () { return renderer_12.EMPTY_SNAPSHOT; } });
|
|
206
|
-
Object.defineProperty(exports, "QualityGovernor", { enumerable: true, get: function () { return renderer_12.QualityGovernor; } });
|
|
83
|
+
export { PerfHud, formatSnapshot, EMPTY_SNAPSHOT, QualityGovernor } from '@grafloria/renderer';
|
|
207
84
|
// -- Collaboration (renderer half) -----------------------------------------
|
|
208
85
|
// Presence is a SEPARATE DOM layer that never enters the VNode tree.
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
Object.defineProperty(exports, "PRESENCE_LAYER_CLASS", { enumerable: true, get: function () { return renderer_13.PRESENCE_LAYER_CLASS; } });
|
|
213
|
-
Object.defineProperty(exports, "actorColor", { enumerable: true, get: function () { return renderer_13.actorColor; } });
|
|
214
|
-
Object.defineProperty(exports, "actorInitials", { enumerable: true, get: function () { return renderer_13.actorInitials; } });
|
|
215
|
-
Object.defineProperty(exports, "contrastingTextColor", { enumerable: true, get: function () { return renderer_13.contrastingTextColor; } });
|
|
216
|
-
var renderer_14 = require("@grafloria/renderer");
|
|
217
|
-
Object.defineProperty(exports, "CommentOverlayController", { enumerable: true, get: function () { return renderer_14.CommentOverlayController; } });
|
|
218
|
-
var renderer_15 = require("@grafloria/renderer");
|
|
219
|
-
Object.defineProperty(exports, "InMemoryViewportChannel", { enumerable: true, get: function () { return renderer_15.InMemoryViewportChannel; } });
|
|
220
|
-
Object.defineProperty(exports, "presentTo", { enumerable: true, get: function () { return renderer_15.presentTo; } });
|
|
221
|
-
Object.defineProperty(exports, "followPresenter", { enumerable: true, get: function () { return renderer_15.followPresenter; } });
|
|
222
|
-
Object.defineProperty(exports, "lockDocument", { enumerable: true, get: function () { return renderer_15.lockDocument; } });
|
|
223
|
-
Object.defineProperty(exports, "isDocumentLocked", { enumerable: true, get: function () { return renderer_15.isDocumentLocked; } });
|
|
224
|
-
Object.defineProperty(exports, "loadReadonlySnapshot", { enumerable: true, get: function () { return renderer_15.loadReadonlySnapshot; } });
|
|
86
|
+
export { bindPresence, PresenceOverlay, PRESENCE_LAYER_CLASS, actorColor, actorInitials, contrastingTextColor, } from '@grafloria/renderer';
|
|
87
|
+
export { CommentOverlayController } from '@grafloria/renderer';
|
|
88
|
+
export { InMemoryViewportChannel, presentTo, followPresenter, lockDocument, isDocumentLocked, loadReadonlySnapshot, } from '@grafloria/renderer';
|
|
225
89
|
// -- Collaboration (engine half) -------------------------------------------
|
|
226
90
|
// Sync, the CRDT and comments live in the ENGINE, and this package did not
|
|
227
91
|
// re-export the engine AT ALL — its only reference was a type-only import,
|
|
228
92
|
// erased at build. Zero collaboration symbols survived into the bundle.
|
|
229
|
-
|
|
230
|
-
Object.defineProperty(exports, "createSyncSession", { enumerable: true, get: function () { return engine_3.createSyncSession; } });
|
|
231
|
-
Object.defineProperty(exports, "SyncAdapter", { enumerable: true, get: function () { return engine_3.SyncAdapter; } });
|
|
232
|
-
Object.defineProperty(exports, "MemoryHub", { enumerable: true, get: function () { return engine_3.MemoryHub; } });
|
|
233
|
-
Object.defineProperty(exports, "MemoryTransport", { enumerable: true, get: function () { return engine_3.MemoryTransport; } });
|
|
234
|
-
Object.defineProperty(exports, "BroadcastChannelTransport", { enumerable: true, get: function () { return engine_3.BroadcastChannelTransport; } });
|
|
235
|
-
Object.defineProperty(exports, "WebSocketTransport", { enumerable: true, get: function () { return engine_3.WebSocketTransport; } });
|
|
236
|
-
Object.defineProperty(exports, "UnreliableHub", { enumerable: true, get: function () { return engine_3.UnreliableHub; } });
|
|
237
|
-
Object.defineProperty(exports, "Awareness", { enumerable: true, get: function () { return engine_3.Awareness; } });
|
|
238
|
-
Object.defineProperty(exports, "VersionVector", { enumerable: true, get: function () { return engine_3.VersionVector; } });
|
|
239
|
-
Object.defineProperty(exports, "OpBatcher", { enumerable: true, get: function () { return engine_3.OpBatcher; } });
|
|
240
|
-
Object.defineProperty(exports, "CausalBuffer", { enumerable: true, get: function () { return engine_3.CausalBuffer; } });
|
|
93
|
+
export { createSyncSession, SyncAdapter, MemoryHub, MemoryTransport, BroadcastChannelTransport, WebSocketTransport, UnreliableHub, Awareness, VersionVector, OpBatcher, CausalBuffer, } from '@grafloria/engine';
|
|
241
94
|
// The per-property CRDT. Whole-entity LWW would silently throw one edit away.
|
|
242
|
-
|
|
243
|
-
Object.defineProperty(exports, "Replica", { enumerable: true, get: function () { return engine_4.Replica; } });
|
|
244
|
-
Object.defineProperty(exports, "LwwRegistry", { enumerable: true, get: function () { return engine_4.LwwRegistry; } });
|
|
245
|
-
Object.defineProperty(exports, "OpLog", { enumerable: true, get: function () { return engine_4.OpLog; } });
|
|
246
|
-
Object.defineProperty(exports, "UndoStack", { enumerable: true, get: function () { return engine_4.UndoStack; } });
|
|
247
|
-
Object.defineProperty(exports, "ReferentialIntegrity", { enumerable: true, get: function () { return engine_4.ReferentialIntegrity; } });
|
|
248
|
-
Object.defineProperty(exports, "LamportClock", { enumerable: true, get: function () { return engine_4.LamportClock; } });
|
|
249
|
-
Object.defineProperty(exports, "applyOp", { enumerable: true, get: function () { return engine_4.applyOp; } });
|
|
250
|
-
Object.defineProperty(exports, "replay", { enumerable: true, get: function () { return engine_4.replay; } });
|
|
251
|
-
Object.defineProperty(exports, "compareOps", { enumerable: true, get: function () { return engine_4.compareOps; } });
|
|
252
|
-
Object.defineProperty(exports, "opId", { enumerable: true, get: function () { return engine_4.opId; } });
|
|
95
|
+
export { Replica, LwwRegistry, OpLog, UndoStack, ReferentialIntegrity, LamportClock, applyOp, replay, compareOps, opId, } from '@grafloria/engine';
|
|
253
96
|
// Threaded comments. A deleted node ORPHANS its thread; it never destroys it.
|
|
254
|
-
|
|
255
|
-
Object.defineProperty(exports, "CommentStore", { enumerable: true, get: function () { return engine_5.CommentStore; } });
|
|
97
|
+
export { CommentStore } from '@grafloria/engine';
|
|
256
98
|
// The lossless Mermaid-compatible text format, with hand-edit detection.
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
Object.defineProperty(exports, "importDiagramText", { enumerable: true, get: function () { return engine_6.importDiagramText; } });
|
|
260
|
-
Object.defineProperty(exports, "stripGrafloriaSidecar", { enumerable: true, get: function () { return engine_6.stripGrafloriaSidecar; } });
|
|
261
|
-
Object.defineProperty(exports, "GRAFLORIA_DOC_PREFIX", { enumerable: true, get: function () { return engine_6.GRAFLORIA_DOC_PREFIX; } });
|
|
262
|
-
Object.defineProperty(exports, "GRAFLORIA_HASH_PREFIX", { enumerable: true, get: function () { return engine_6.GRAFLORIA_HASH_PREFIX; } });
|
|
263
|
-
var engine_7 = require("@grafloria/engine");
|
|
264
|
-
Object.defineProperty(exports, "DiagramSerializer", { enumerable: true, get: function () { return engine_7.DiagramSerializer; } });
|
|
99
|
+
export { exportDiagramText, importDiagramText, stripGrafloriaSidecar, GRAFLORIA_DOC_PREFIX, GRAFLORIA_HASH_PREFIX, } from '@grafloria/engine';
|
|
100
|
+
export { DiagramSerializer } from '@grafloria/engine';
|
|
265
101
|
// wave10/whiteboard: ink as a first-class model entity — authors seed and inspect strokes
|
|
266
102
|
// through this, the same class the draw tool commits.
|
|
267
|
-
|
|
268
|
-
Object.defineProperty(exports, "StrokeModel", { enumerable: true, get: function () { return engine_8.StrokeModel; } });
|
|
269
|
-
Object.defineProperty(exports, "DEFAULT_STROKE_STYLE", { enumerable: true, get: function () { return engine_8.DEFAULT_STROKE_STYLE; } });
|
|
103
|
+
export { StrokeModel, DEFAULT_STROKE_STYLE } from '@grafloria/engine';
|
|
270
104
|
// ===========================================================================
|
|
271
105
|
// wave10/gallery BUG FIX — the AUTHORING SEAMS were not on the public embed.
|
|
272
106
|
//
|
|
@@ -292,49 +126,21 @@ Object.defineProperty(exports, "DEFAULT_STROKE_STYLE", { enumerable: true, get:
|
|
|
292
126
|
// in @grafloria/renderer, so registering through here is the same registration the
|
|
293
127
|
// renderer's own consumers read.
|
|
294
128
|
// ===========================================================================
|
|
295
|
-
|
|
129
|
+
export {
|
|
296
130
|
// Custom edges, labels and named markers (Wave 4 — Card 5).
|
|
297
|
-
|
|
298
|
-
Object.defineProperty(exports, "unregisterLinkTemplate", { enumerable: true, get: function () { return renderer_16.unregisterLinkTemplate; } });
|
|
299
|
-
Object.defineProperty(exports, "listLinkTemplates", { enumerable: true, get: function () { return renderer_16.listLinkTemplates; } });
|
|
300
|
-
Object.defineProperty(exports, "registerLabelTemplate", { enumerable: true, get: function () { return renderer_16.registerLabelTemplate; } });
|
|
301
|
-
Object.defineProperty(exports, "unregisterLabelTemplate", { enumerable: true, get: function () { return renderer_16.unregisterLabelTemplate; } });
|
|
302
|
-
Object.defineProperty(exports, "listLabelTemplates", { enumerable: true, get: function () { return renderer_16.listLabelTemplates; } });
|
|
303
|
-
Object.defineProperty(exports, "registerMarker", { enumerable: true, get: function () { return renderer_16.registerMarker; } });
|
|
304
|
-
Object.defineProperty(exports, "unregisterMarker", { enumerable: true, get: function () { return renderer_16.unregisterMarker; } });
|
|
305
|
-
Object.defineProperty(exports, "listMarkers", { enumerable: true, get: function () { return renderer_16.listMarkers; } });
|
|
306
|
-
Object.defineProperty(exports, "htmlLabelVNode", { enumerable: true, get: function () { return renderer_16.htmlLabelVNode; } });
|
|
131
|
+
registerLinkTemplate, unregisterLinkTemplate, listLinkTemplates, registerLabelTemplate, unregisterLabelTemplate, listLabelTemplates, registerMarker, unregisterMarker, listMarkers, htmlLabelVNode,
|
|
307
132
|
// The link pipeline: anchors, connection points, connectors (Wave 6 — Card 2).
|
|
308
|
-
|
|
309
|
-
Object.defineProperty(exports, "listAnchors", { enumerable: true, get: function () { return renderer_16.listAnchors; } });
|
|
310
|
-
Object.defineProperty(exports, "registerConnectionPoint", { enumerable: true, get: function () { return renderer_16.registerConnectionPoint; } });
|
|
311
|
-
Object.defineProperty(exports, "listConnectionPoints", { enumerable: true, get: function () { return renderer_16.listConnectionPoints; } });
|
|
312
|
-
Object.defineProperty(exports, "registerConnector", { enumerable: true, get: function () { return renderer_16.registerConnector; } });
|
|
313
|
-
Object.defineProperty(exports, "listConnectors", { enumerable: true, get: function () { return renderer_16.listConnectors; } });
|
|
133
|
+
registerAnchor, listAnchors, registerConnectionPoint, listConnectionPoints, registerConnector, listConnectors,
|
|
314
134
|
// Connection validation + the tool registry (Wave 6 — Card 5).
|
|
315
|
-
|
|
316
|
-
Object.defineProperty(exports, "isValidConnection", { enumerable: true, get: function () { return renderer_16.isValidConnection; } });
|
|
317
|
-
Object.defineProperty(exports, "clearConnectionValidators", { enumerable: true, get: function () { return renderer_16.clearConnectionValidators; } });
|
|
318
|
-
Object.defineProperty(exports, "registerTool", { enumerable: true, get: function () { return renderer_16.registerTool; } });
|
|
319
|
-
Object.defineProperty(exports, "listTools", { enumerable: true, get: function () { return renderer_16.listTools; } });
|
|
135
|
+
registerConnectionValidator, isValidConnection, clearConnectionValidators, registerTool, listTools,
|
|
320
136
|
// wave10/whiteboard: the freehand-draw / rectangle / eraser tools + the in-progress
|
|
321
137
|
// ink overlay. Register them through `registerTool` — an embed draws on its diagram
|
|
322
138
|
// with no second import, which is the whole promise of this package.
|
|
323
|
-
|
|
324
|
-
Object.defineProperty(exports, "createRectangleTool", { enumerable: true, get: function () { return renderer_16.createRectangleTool; } });
|
|
325
|
-
Object.defineProperty(exports, "createEraserTool", { enumerable: true, get: function () { return renderer_16.createEraserTool; } });
|
|
139
|
+
createDrawTool, createRectangleTool, createEraserTool,
|
|
326
140
|
// wave13/stroke-edit: select + move committed ink (the drawn/erased/EDITED triad closes).
|
|
327
|
-
|
|
328
|
-
Object.defineProperty(exports, "DrawTool", { enumerable: true, get: function () { return renderer_16.DrawTool; } });
|
|
329
|
-
Object.defineProperty(exports, "RectangleTool", { enumerable: true, get: function () { return renderer_16.RectangleTool; } });
|
|
330
|
-
Object.defineProperty(exports, "EraserTool", { enumerable: true, get: function () { return renderer_16.EraserTool; } });
|
|
331
|
-
Object.defineProperty(exports, "StrokeEditTool", { enumerable: true, get: function () { return renderer_16.StrokeEditTool; } });
|
|
332
|
-
Object.defineProperty(exports, "InkOverlay", { enumerable: true, get: function () { return renderer_16.InkOverlay; } });
|
|
333
|
-
Object.defineProperty(exports, "INK_OVERLAY_CLASS", { enumerable: true, get: function () { return renderer_16.INK_OVERLAY_CLASS; } });
|
|
141
|
+
createStrokeEditTool, DrawTool, RectangleTool, EraserTool, StrokeEditTool, InkOverlay, INK_OVERLAY_CLASS,
|
|
334
142
|
// Anchoring your own DOM to diagram geometry — how an edge toolbar is built.
|
|
335
|
-
|
|
336
|
-
Object.defineProperty(exports, "createViewportPortal", { enumerable: true, get: function () { return renderer_16.createViewportPortal; } });
|
|
337
|
-
Object.defineProperty(exports, "createCounterScaledPortal", { enumerable: true, get: function () { return renderer_16.createCounterScaledPortal; } });
|
|
143
|
+
createPortal, createViewportPortal, createCounterScaledPortal, } from '@grafloria/renderer';
|
|
338
144
|
// ===========================================================================
|
|
339
145
|
// wave11/nodes GALLERY BUG FIX — the NODE authoring seams were not on the embed.
|
|
340
146
|
//
|
|
@@ -364,57 +170,30 @@ Object.defineProperty(exports, "createCounterScaledPortal", { enumerable: true,
|
|
|
364
170
|
// @grafloria/renderer / @grafloria/engine, so registering through here is the exact
|
|
365
171
|
// registration the renderer's own consumers read.
|
|
366
172
|
// ===========================================================================
|
|
367
|
-
|
|
173
|
+
export {
|
|
368
174
|
// The node figure registry (21 built-ins + custom silhouettes).
|
|
369
|
-
|
|
370
|
-
Object.defineProperty(exports, "registerPathShape", { enumerable: true, get: function () { return renderer_17.registerPathShape; } });
|
|
371
|
-
Object.defineProperty(exports, "unregisterShape", { enumerable: true, get: function () { return renderer_17.unregisterShape; } });
|
|
372
|
-
Object.defineProperty(exports, "getShape", { enumerable: true, get: function () { return renderer_17.getShape; } });
|
|
373
|
-
Object.defineProperty(exports, "hasShape", { enumerable: true, get: function () { return renderer_17.hasShape; } });
|
|
374
|
-
Object.defineProperty(exports, "listShapes", { enumerable: true, get: function () { return renderer_17.listShapes; } });
|
|
375
|
-
Object.defineProperty(exports, "getShapeDefinition", { enumerable: true, get: function () { return renderer_17.getShapeDefinition; } });
|
|
376
|
-
Object.defineProperty(exports, "getShapeRegistryVersion", { enumerable: true, get: function () { return renderer_17.getShapeRegistryVersion; } });
|
|
377
|
-
Object.defineProperty(exports, "onShapeRegistryChange", { enumerable: true, get: function () { return renderer_17.onShapeRegistryChange; } });
|
|
175
|
+
registerShape, registerPathShape, unregisterShape, getShape, hasShape, listShapes, getShapeDefinition, getShapeRegistryVersion, onShapeRegistryChange,
|
|
378
176
|
// Per-node sizing constraints — the min/max/aspect contract the resizer clamps
|
|
379
177
|
// to DURING a gesture and the auto-sizer floors/ceils to.
|
|
380
|
-
|
|
381
|
-
Object.defineProperty(exports, "isAutoSized", { enumerable: true, get: function () { return renderer_17.isAutoSized; } });
|
|
382
|
-
Object.defineProperty(exports, "resolveAspectRatio", { enumerable: true, get: function () { return renderer_17.resolveAspectRatio; } });
|
|
383
|
-
Object.defineProperty(exports, "clampSizeToConstraints", { enumerable: true, get: function () { return renderer_17.clampSizeToConstraints; } });
|
|
384
|
-
Object.defineProperty(exports, "clampValue", { enumerable: true, get: function () { return renderer_17.clampValue; } });
|
|
178
|
+
getNodeSizing, isAutoSized, resolveAspectRatio, clampSizeToConstraints, clampValue,
|
|
385
179
|
// Content-aware auto-sizing (a node grows to fit its label + panel).
|
|
386
|
-
|
|
387
|
-
Object.defineProperty(exports, "desiredNodeSize", { enumerable: true, get: function () { return renderer_17.desiredNodeSize; } });
|
|
388
|
-
Object.defineProperty(exports, "outerSizeForInner", { enumerable: true, get: function () { return renderer_17.outerSizeForInner; } });
|
|
389
|
-
Object.defineProperty(exports, "autoSizeNode", { enumerable: true, get: function () { return renderer_17.autoSizeNode; } });
|
|
390
|
-
Object.defineProperty(exports, "autoSizeDiagram", { enumerable: true, get: function () { return renderer_17.autoSizeDiagram; } });
|
|
180
|
+
measureLabelContent, desiredNodeSize, outerSizeForInner, autoSizeNode, autoSizeDiagram,
|
|
391
181
|
// Per-node toolbar config seam + in-node HTML (foreignObject) content.
|
|
392
|
-
|
|
393
|
-
Object.defineProperty(exports, "resolveToolbar", { enumerable: true, get: function () { return renderer_17.resolveToolbar; } });
|
|
394
|
-
Object.defineProperty(exports, "getHtmlContent", { enumerable: true, get: function () { return renderer_17.getHtmlContent; } });
|
|
395
|
-
Object.defineProperty(exports, "hasHtmlContent", { enumerable: true, get: function () { return renderer_17.hasHtmlContent; } });
|
|
396
|
-
Object.defineProperty(exports, "buildHtmlForeignObject", { enumerable: true, get: function () { return renderer_17.buildHtmlForeignObject; } });
|
|
182
|
+
getNodeToolbar, resolveToolbar, getHtmlContent, hasHtmlContent, buildHtmlForeignObject,
|
|
397
183
|
// Proximity-connect: the shipped reference implementation, addressable at last.
|
|
398
|
-
|
|
399
|
-
Object.defineProperty(exports, "DEFAULT_SNAP_CONFIG", { enumerable: true, get: function () { return renderer_17.DEFAULT_SNAP_CONFIG; } });
|
|
184
|
+
SnapController, DEFAULT_SNAP_CONFIG, } from '@grafloria/renderer';
|
|
400
185
|
// Swimlanes / pools / lanes — a whole containment model in the ENGINE that the
|
|
401
186
|
// package re-exported none of. React Flow has no equivalent.
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
Object.defineProperty(exports, "GroupModel", { enumerable: true, get: function () { return engine_10.GroupModel; } });
|
|
406
|
-
var engine_11 = require("@grafloria/engine");
|
|
407
|
-
Object.defineProperty(exports, "GroupCollapseService", { enumerable: true, get: function () { return engine_11.GroupCollapseService; } });
|
|
408
|
-
Object.defineProperty(exports, "PROXY_NODE_GROUP_KEY", { enumerable: true, get: function () { return engine_11.PROXY_NODE_GROUP_KEY; } });
|
|
409
|
-
Object.defineProperty(exports, "PROXY_LINK_GROUP_KEY", { enumerable: true, get: function () { return engine_11.PROXY_LINK_GROUP_KEY; } });
|
|
187
|
+
export { SwimlaneService } from '@grafloria/engine';
|
|
188
|
+
export { GroupModel } from '@grafloria/engine';
|
|
189
|
+
export { GroupCollapseService, PROXY_NODE_GROUP_KEY, PROXY_LINK_GROUP_KEY } from '@grafloria/engine';
|
|
410
190
|
// serveLayout — the worker body for OFF-THREAD layout. `engine.setLayoutPort()`
|
|
411
191
|
// takes any port; an app runs the layout in a real Worker by importing this
|
|
412
192
|
// package inside the worker and calling `serveLayout(self)`. It was exported
|
|
413
193
|
// from @grafloria/engine and reachable by NOBODY through the embed, so the whole
|
|
414
194
|
// off-thread-layout capability (progress streaming + mid-run cancellation with
|
|
415
195
|
// a retained partial result) could not be wired from the public package.
|
|
416
|
-
|
|
417
|
-
Object.defineProperty(exports, "serveLayout", { enumerable: true, get: function () { return engine_12.serveLayout; } });
|
|
196
|
+
export { serveLayout } from '@grafloria/engine';
|
|
418
197
|
// ===========================================================================
|
|
419
198
|
// DIAGRAM KIT — reusable ER / UML builders (wave16m).
|
|
420
199
|
//
|
|
@@ -431,45 +210,15 @@ Object.defineProperty(exports, "serveLayout", { enumerable: true, get: function
|
|
|
431
210
|
// const uml = umlDiagram({ classes, relationships });
|
|
432
211
|
// const api = render(uml, el); uml.finalize(api);
|
|
433
212
|
// ===========================================================================
|
|
434
|
-
|
|
435
|
-
Object.defineProperty(exports, "erDiagram", { enumerable: true, get: function () { return diagram_kit_1.erDiagram; } });
|
|
436
|
-
Object.defineProperty(exports, "erRowCenterY", { enumerable: true, get: function () { return diagram_kit_1.erRowCenterY; } });
|
|
437
|
-
Object.defineProperty(exports, "ER_ROW_H", { enumerable: true, get: function () { return diagram_kit_1.ER_ROW_H; } });
|
|
438
|
-
Object.defineProperty(exports, "ER_HEAD_H", { enumerable: true, get: function () { return diagram_kit_1.ER_HEAD_H; } });
|
|
439
|
-
Object.defineProperty(exports, "umlDiagram", { enumerable: true, get: function () { return diagram_kit_1.umlDiagram; } });
|
|
440
|
-
Object.defineProperty(exports, "ensureDiagramKitStyles", { enumerable: true, get: function () { return diagram_kit_1.ensureDiagramKitStyles; } });
|
|
441
|
-
Object.defineProperty(exports, "DIAGRAM_KIT_STYLE_ID", { enumerable: true, get: function () { return diagram_kit_1.DIAGRAM_KIT_STYLE_ID; } });
|
|
213
|
+
export { erDiagram, erRowCenterY, ER_ROW_H, ER_HEAD_H, umlDiagram, ensureDiagramKitStyles, DIAGRAM_KIT_STYLE_ID,
|
|
442
214
|
// In-canvas editing (P2–P4): live edits + the gesture binder.
|
|
443
|
-
|
|
444
|
-
Object.defineProperty(exports, "updateClass", { enumerable: true, get: function () { return diagram_kit_1.updateClass; } });
|
|
445
|
-
Object.defineProperty(exports, "addColumnAt", { enumerable: true, get: function () { return diagram_kit_1.addColumnAt; } });
|
|
446
|
-
Object.defineProperty(exports, "removeColumnAt", { enumerable: true, get: function () { return diagram_kit_1.removeColumnAt; } });
|
|
447
|
-
Object.defineProperty(exports, "renameColumnAt", { enumerable: true, get: function () { return diagram_kit_1.renameColumnAt; } });
|
|
448
|
-
Object.defineProperty(exports, "bindCardEditing", { enumerable: true, get: function () { return diagram_kit_1.bindCardEditing; } });
|
|
449
|
-
Object.defineProperty(exports, "matchColumns", { enumerable: true, get: function () { return diagram_kit_1.matchColumns; } });
|
|
450
|
-
Object.defineProperty(exports, "rowIndexFromY", { enumerable: true, get: function () { return diagram_kit_1.rowIndexFromY; } });
|
|
215
|
+
updateEntity, updateClass, addColumnAt, removeColumnAt, renameColumnAt, bindCardEditing, matchColumns, rowIndexFromY,
|
|
451
216
|
// Live join guidance (query-builder): score every other table's columns
|
|
452
217
|
// against a connection drag's source column and tint the kit rows by fit.
|
|
453
|
-
|
|
454
|
-
Object.defineProperty(exports, "matchTier", { enumerable: true, get: function () { return diagram_kit_1.matchTier; } });
|
|
455
|
-
Object.defineProperty(exports, "assignTiers", { enumerable: true, get: function () { return diagram_kit_1.assignTiers; } });
|
|
456
|
-
Object.defineProperty(exports, "singularize", { enumerable: true, get: function () { return diagram_kit_1.singularize; } });
|
|
457
|
-
Object.defineProperty(exports, "bindJoinGuidance", { enumerable: true, get: function () { return diagram_kit_1.bindJoinGuidance; } });
|
|
458
|
-
Object.defineProperty(exports, "ensureJoinGuidanceStyles", { enumerable: true, get: function () { return diagram_kit_1.ensureJoinGuidanceStyles; } });
|
|
459
|
-
Object.defineProperty(exports, "JOIN_GUIDANCE_STYLE_ID", { enumerable: true, get: function () { return diagram_kit_1.JOIN_GUIDANCE_STYLE_ID; } });
|
|
218
|
+
scoreMatch, matchTier, assignTiers, singularize, bindJoinGuidance, ensureJoinGuidanceStyles, JOIN_GUIDANCE_STYLE_ID, } from './lib/diagram-kit/index.js';
|
|
460
219
|
// Typed façade handles (domain-API decision, Option B): the OO surface —
|
|
461
220
|
// CardHandle → ErTable/UmlClass, ErField — over the data-first kit.
|
|
462
|
-
|
|
463
|
-
Object.defineProperty(exports, "erTable", { enumerable: true, get: function () { return diagram_kit_2.erTable; } });
|
|
464
|
-
Object.defineProperty(exports, "umlClass", { enumerable: true, get: function () { return diagram_kit_2.umlClass; } });
|
|
465
|
-
Object.defineProperty(exports, "erTables", { enumerable: true, get: function () { return diagram_kit_2.erTables; } });
|
|
466
|
-
Object.defineProperty(exports, "umlClasses", { enumerable: true, get: function () { return diagram_kit_2.umlClasses; } });
|
|
467
|
-
Object.defineProperty(exports, "CardHandle", { enumerable: true, get: function () { return diagram_kit_2.CardHandle; } });
|
|
468
|
-
Object.defineProperty(exports, "ErTable", { enumerable: true, get: function () { return diagram_kit_2.ErTable; } });
|
|
469
|
-
Object.defineProperty(exports, "ErField", { enumerable: true, get: function () { return diagram_kit_2.ErField; } });
|
|
470
|
-
Object.defineProperty(exports, "ErColumnList", { enumerable: true, get: function () { return diagram_kit_2.ErColumnList; } });
|
|
471
|
-
Object.defineProperty(exports, "UmlClass", { enumerable: true, get: function () { return diagram_kit_2.UmlClass; } });
|
|
472
|
-
Object.defineProperty(exports, "UmlMemberList", { enumerable: true, get: function () { return diagram_kit_2.UmlMemberList; } });
|
|
221
|
+
export { erTable, umlClass, erTables, umlClasses, CardHandle, ErTable, ErField, ErColumnList, UmlClass, UmlMemberList, } from './lib/diagram-kit/index.js';
|
|
473
222
|
// ===========================================================================
|
|
474
223
|
// THE DASHBOARD KIT — Phase 2 of the dashboard-grid plan.
|
|
475
224
|
//
|
|
@@ -481,38 +230,16 @@ Object.defineProperty(exports, "UmlMemberList", { enumerable: true, get: functio
|
|
|
481
230
|
// GridItemConfig. Element-local code, so the Phase-0 wholesale re-export
|
|
482
231
|
// below does NOT cover it — this curated block is its only door.
|
|
483
232
|
// ===========================================================================
|
|
484
|
-
|
|
485
|
-
Object.defineProperty(exports, "bindDashboardGrid", { enumerable: true, get: function () { return dashboard_kit_1.bindDashboardGrid; } });
|
|
486
|
-
Object.defineProperty(exports, "rowHeightFor", { enumerable: true, get: function () { return dashboard_kit_1.rowHeightFor; } });
|
|
487
|
-
Object.defineProperty(exports, "boardHeightFor", { enumerable: true, get: function () { return dashboard_kit_1.boardHeightFor; } });
|
|
488
|
-
Object.defineProperty(exports, "columnUnitFor", { enumerable: true, get: function () { return dashboard_kit_1.columnUnitFor; } });
|
|
489
|
-
Object.defineProperty(exports, "cellToRect", { enumerable: true, get: function () { return dashboard_kit_1.cellToRect; } });
|
|
490
|
-
Object.defineProperty(exports, "pointToCell", { enumerable: true, get: function () { return dashboard_kit_1.pointToCell; } });
|
|
491
|
-
Object.defineProperty(exports, "sizeToSpan", { enumerable: true, get: function () { return dashboard_kit_1.sizeToSpan; } });
|
|
492
|
-
Object.defineProperty(exports, "gridItemFromCell", { enumerable: true, get: function () { return dashboard_kit_1.gridItemFromCell; } });
|
|
493
|
-
Object.defineProperty(exports, "cellFromGridItem", { enumerable: true, get: function () { return dashboard_kit_1.cellFromGridItem; } });
|
|
494
|
-
Object.defineProperty(exports, "buildCommitCommands", { enumerable: true, get: function () { return dashboard_kit_1.buildCommitCommands; } });
|
|
495
|
-
Object.defineProperty(exports, "ensureDashboardKitStyles", { enumerable: true, get: function () { return dashboard_kit_1.ensureDashboardKitStyles; } });
|
|
496
|
-
Object.defineProperty(exports, "DASHBOARD_KIT_STYLE_ID", { enumerable: true, get: function () { return dashboard_kit_1.DASHBOARD_KIT_STYLE_ID; } });
|
|
233
|
+
export { bindDashboardGrid, rowHeightFor, boardHeightFor, columnUnitFor, cellToRect, pointToCell, sizeToSpan, gridItemFromCell, cellFromGridItem, buildCommitCommands, ensureDashboardKitStyles, DASHBOARD_KIT_STYLE_ID,
|
|
497
234
|
// The DATA-FIRST authoring API — the erDiagram()/umlDiagram() equivalent.
|
|
498
|
-
|
|
235
|
+
dashboard,
|
|
499
236
|
// …and the built-in renderers behind `kind`, so a dashboard is useful with
|
|
500
237
|
// no renderWidget at all. Composable: call defaultWidgetRenderer first, then
|
|
501
238
|
// decorate the host.
|
|
502
|
-
|
|
503
|
-
Object.defineProperty(exports, "renderKpiWidget", { enumerable: true, get: function () { return dashboard_kit_1.renderKpiWidget; } });
|
|
504
|
-
Object.defineProperty(exports, "renderLineWidget", { enumerable: true, get: function () { return dashboard_kit_1.renderLineWidget; } });
|
|
505
|
-
Object.defineProperty(exports, "renderBarWidget", { enumerable: true, get: function () { return dashboard_kit_1.renderBarWidget; } });
|
|
506
|
-
Object.defineProperty(exports, "renderDonutWidget", { enumerable: true, get: function () { return dashboard_kit_1.renderDonutWidget; } });
|
|
507
|
-
Object.defineProperty(exports, "renderFunnelWidget", { enumerable: true, get: function () { return dashboard_kit_1.renderFunnelWidget; } });
|
|
508
|
-
Object.defineProperty(exports, "renderTableWidget", { enumerable: true, get: function () { return dashboard_kit_1.renderTableWidget; } });
|
|
509
|
-
Object.defineProperty(exports, "BUILT_IN_WIDGET_KINDS", { enumerable: true, get: function () { return dashboard_kit_1.BUILT_IN_WIDGET_KINDS; } });
|
|
239
|
+
defaultWidgetRenderer, renderKpiWidget, renderLineWidget, renderBarWidget, renderDonutWidget, renderFunnelWidget, renderTableWidget, BUILT_IN_WIDGET_KINDS, } from './lib/dashboard-kit/index.js';
|
|
510
240
|
// The stencil kit — a Visio-style palette that drags shape masters onto the
|
|
511
241
|
// canvas (T6/T7). Pairs with listStencils()/registerStencils() above.
|
|
512
|
-
|
|
513
|
-
Object.defineProperty(exports, "bindStencilPalette", { enumerable: true, get: function () { return stencil_kit_1.bindStencilPalette; } });
|
|
514
|
-
Object.defineProperty(exports, "bindShapeDataPanel", { enumerable: true, get: function () { return stencil_kit_1.bindShapeDataPanel; } });
|
|
515
|
-
Object.defineProperty(exports, "ensureStencilKitStyles", { enumerable: true, get: function () { return stencil_kit_1.ensureStencilKitStyles; } });
|
|
242
|
+
export { bindStencilPalette, bindShapeDataPanel, ensureStencilKitStyles } from './lib/stencil-kit/index.js';
|
|
516
243
|
/* ==========================================================================
|
|
517
244
|
* PHASE 0 — THE INVERSION.
|
|
518
245
|
*
|
|
@@ -540,8 +267,8 @@ Object.defineProperty(exports, "ensureStencilKitStyles", { enumerable: true, get
|
|
|
540
267
|
* (what the 15-line getting-started guide uses), and explicit exports take
|
|
541
268
|
* precedence over `export *`, so it also resolves the collisions below.
|
|
542
269
|
* ========================================================================== */
|
|
543
|
-
|
|
544
|
-
|
|
270
|
+
export * from '@grafloria/engine';
|
|
271
|
+
export * from '@grafloria/renderer';
|
|
545
272
|
/* -- Collision resolution (9 names are declared in BOTH lower packages) -----
|
|
546
273
|
* Under ES `export *` semantics an ambiguous name is silently OMITTED from the
|
|
547
274
|
* re-export — a silent hole, which is the exact failure mode this phase exists
|
|
@@ -554,23 +281,15 @@ tslib_1.__exportStar(require("@grafloria/renderer"), exports);
|
|
|
554
281
|
* They are pinned here anyway — they are the most load-bearing names in the
|
|
555
282
|
* package, and pinning costs one line.)
|
|
556
283
|
*/
|
|
557
|
-
|
|
558
|
-
Object.defineProperty(exports, "NodeModel", { enumerable: true, get: function () { return engine_13.NodeModel; } });
|
|
559
|
-
Object.defineProperty(exports, "PortModel", { enumerable: true, get: function () { return engine_13.PortModel; } });
|
|
560
|
-
Object.defineProperty(exports, "distanceToSegment", { enumerable: true, get: function () { return engine_13.distanceToSegment; } });
|
|
561
|
-
Object.defineProperty(exports, "rotatePoint", { enumerable: true, get: function () { return engine_13.rotatePoint; } });
|
|
562
|
-
Object.defineProperty(exports, "coalesce", { enumerable: true, get: function () { return engine_13.coalesce; } });
|
|
284
|
+
export { NodeModel, PortModel, distanceToSegment, rotatePoint, coalesce, } from '@grafloria/engine';
|
|
563
285
|
// The three genuine VALUE collisions, kept reachable under qualified names.
|
|
564
286
|
// `coalesce` is the one that matters: the engine's coalesces op-log entries for
|
|
565
287
|
// batching, the renderer's merges dirty rectangles for partial redraw. Same
|
|
566
288
|
// name, unrelated jobs — losing either to an `export *` ambiguity would be a
|
|
567
289
|
// silent capability hole rather than a compile error.
|
|
568
|
-
|
|
569
|
-
Object.defineProperty(exports, "distanceToSegmentCanvas", { enumerable: true, get: function () { return renderer_18.distanceToSegment; } });
|
|
570
|
-
Object.defineProperty(exports, "rotatePointSelection", { enumerable: true, get: function () { return renderer_18.rotatePoint; } });
|
|
571
|
-
Object.defineProperty(exports, "coalesceRects", { enumerable: true, get: function () { return renderer_18.coalesce; } });
|
|
290
|
+
export { distanceToSegment as distanceToSegmentCanvas, rotatePoint as rotatePointSelection, coalesce as coalesceRects, } from '@grafloria/renderer';
|
|
572
291
|
// Side effect: define the element on import. This is what makes
|
|
573
292
|
// `<script type="module" src="…/grafloria.js"></script>` + `<grafloria-flow>` in the
|
|
574
293
|
// markup Just Work, which is the entire point of the card.
|
|
575
|
-
|
|
294
|
+
defineGrafloriaFlow();
|
|
576
295
|
//# sourceMappingURL=index.js.map
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
* round-trips with no extra work — same as every other kit.
|
|
44
44
|
*/
|
|
45
45
|
import { GroupModel, NodeModel, type GridColumnLayout } from '@grafloria/engine';
|
|
46
|
-
import { type DashboardGridHandle, type DashboardGridOptions, type DashboardResponsiveOptions } from './grid-binder';
|
|
46
|
+
import { type DashboardGridHandle, type DashboardGridOptions, type DashboardResponsiveOptions } from './grid-binder.js';
|
|
47
47
|
/** A widget, declared as data. */
|
|
48
48
|
export interface DashboardWidgetSpec {
|
|
49
49
|
id: string;
|