@grafloria/element 0.1.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 (61) hide show
  1. package/package.json +41 -0
  2. package/src/index.d.ts +87 -0
  3. package/src/index.js +547 -0
  4. package/src/index.js.map +1 -0
  5. package/src/lib/dashboard-kit/dashboard.d.ts +345 -0
  6. package/src/lib/dashboard-kit/dashboard.js +594 -0
  7. package/src/lib/dashboard-kit/dashboard.js.map +1 -0
  8. package/src/lib/dashboard-kit/grid-binder.d.ts +277 -0
  9. package/src/lib/dashboard-kit/grid-binder.js +1635 -0
  10. package/src/lib/dashboard-kit/grid-binder.js.map +1 -0
  11. package/src/lib/dashboard-kit/grid-mapping.d.ts +141 -0
  12. package/src/lib/dashboard-kit/grid-mapping.js +176 -0
  13. package/src/lib/dashboard-kit/grid-mapping.js.map +1 -0
  14. package/src/lib/dashboard-kit/index.d.ts +5 -0
  15. package/src/lib/dashboard-kit/index.js +33 -0
  16. package/src/lib/dashboard-kit/index.js.map +1 -0
  17. package/src/lib/dashboard-kit/styles.d.ts +25 -0
  18. package/src/lib/dashboard-kit/styles.js +203 -0
  19. package/src/lib/dashboard-kit/styles.js.map +1 -0
  20. package/src/lib/dashboard-kit/widgets.d.ts +112 -0
  21. package/src/lib/dashboard-kit/widgets.js +389 -0
  22. package/src/lib/dashboard-kit/widgets.js.map +1 -0
  23. package/src/lib/diagram-kit/card.d.ts +75 -0
  24. package/src/lib/diagram-kit/card.js +209 -0
  25. package/src/lib/diagram-kit/card.js.map +1 -0
  26. package/src/lib/diagram-kit/editing.d.ts +54 -0
  27. package/src/lib/diagram-kit/editing.js +289 -0
  28. package/src/lib/diagram-kit/editing.js.map +1 -0
  29. package/src/lib/diagram-kit/er.d.ts +73 -0
  30. package/src/lib/diagram-kit/er.js +163 -0
  31. package/src/lib/diagram-kit/er.js.map +1 -0
  32. package/src/lib/diagram-kit/handles.d.ts +181 -0
  33. package/src/lib/diagram-kit/handles.js +325 -0
  34. package/src/lib/diagram-kit/handles.js.map +1 -0
  35. package/src/lib/diagram-kit/index.d.ts +8 -0
  36. package/src/lib/diagram-kit/index.js +38 -0
  37. package/src/lib/diagram-kit/index.js.map +1 -0
  38. package/src/lib/diagram-kit/rows.d.ts +53 -0
  39. package/src/lib/diagram-kit/rows.js +147 -0
  40. package/src/lib/diagram-kit/rows.js.map +1 -0
  41. package/src/lib/diagram-kit/styles.d.ts +18 -0
  42. package/src/lib/diagram-kit/styles.js +114 -0
  43. package/src/lib/diagram-kit/styles.js.map +1 -0
  44. package/src/lib/diagram-kit/uml.d.ts +59 -0
  45. package/src/lib/diagram-kit/uml.js +138 -0
  46. package/src/lib/diagram-kit/uml.js.map +1 -0
  47. package/src/lib/diagram-kit/update.d.ts +133 -0
  48. package/src/lib/diagram-kit/update.js +251 -0
  49. package/src/lib/diagram-kit/update.js.map +1 -0
  50. package/src/lib/grafloria-flow-element.d.ts +48 -0
  51. package/src/lib/grafloria-flow-element.js +271 -0
  52. package/src/lib/grafloria-flow-element.js.map +1 -0
  53. package/src/lib/grafloria.d.ts +61 -0
  54. package/src/lib/grafloria.js +72 -0
  55. package/src/lib/grafloria.js.map +1 -0
  56. package/src/lib/load.d.ts +72 -0
  57. package/src/lib/load.js +255 -0
  58. package/src/lib/load.js.map +1 -0
  59. package/src/lib/node-type-registry.d.ts +39 -0
  60. package/src/lib/node-type-registry.js +50 -0
  61. package/src/lib/node-type-registry.js.map +1 -0
package/src/index.js ADDED
@@ -0,0 +1,547 @@
1
+ "use strict";
2
+ /**
3
+ * `@grafloria/element` — the universal embed.
4
+ *
5
+ * Two surfaces over the same headless core:
6
+ *
7
+ * 1. `<grafloria-flow>` — a custom element. Attributes/properties in, DOM events
8
+ * out, slotted `<template>`s for custom nodes. Works in Vue, Svelte, Solid,
9
+ * Lit, Alpine, plain HTML, a CMS, a notebook — with no wrapper library.
10
+ * 2. `Grafloria.render(spec, el)` — the Mermaid-shaped one-call API.
11
+ *
12
+ * Importing this module registers `<grafloria-flow>` automatically (and is a no-op
13
+ * on the server, where `customElements` does not exist). Call
14
+ * `Grafloria.define('my-flow')` yourself if you want a different tag name.
15
+ */
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.tailwindBridge = exports.muiBridge = exports.shadcnBridge = exports.deriveTheme = exports.assertThemeContrast = exports.auditThemeContrast = exports.ensureContrast = exports.withLightness = exports.lightnessOf = exports.hslToRgb = exports.rgbToHsl = exports.meetsContrast = exports.contrastRatio = exports.relativeLuminance = exports.toHex = exports.parseColor = exports.WCAG = exports.resolveBindableVars = exports.themeRefCssValue = exports.resolveThemeRef = exports.themeRefVar = exports.themeRefToken = exports.isThemeRef = exports.themeRef = exports.MEDIA_FORCED_COLORS = exports.MEDIA_PREFERS_CONTRAST = exports.MEDIA_PREFERS_DARK = exports.readColorPreferences = exports.resolveThemeFromPrefs = exports.ColorModeController = exports.DEFAULT_THEME_SET = exports.HIGH_CONTRAST_DARK_THEME = exports.HIGH_CONTRAST_LIGHT_THEME = exports.createDiagramApi = exports.DARK_THEME = exports.LIGHT_THEME = exports.renderToStaticSVG = exports.renderFromTemplate = exports.hasNodeType = exports.getNodeType = exports.registeredNodeTypes = exports.unregisterNodeType = exports.registerNodeType = exports.fromDocument = exports.renderStatic = exports.render = exports.Grafloria = exports.GRAFLORIA_EVENTS = exports.defineGrafloriaFlow = exports.GrafloriaFlowElement = void 0;
18
+ exports.createControls = exports.createMiniMap = exports.attachCanvasPlugins = exports.importDiagram = exports.isEditableArtifact = exports.extractModel = exports.extractModelFromPng = exports.embedModelInPng = exports.extractModelFromSvg = exports.embedModelInSvg = exports.GRAFLORIA_MODEL_KEY = exports.GRAFLORIA_NS = exports.mimeTypeForFormat = exports.svgToDataUri = exports.canRasterizeInThisEnvironment = exports.resolveRasterBackend = exports.createDomRasterBackend = exports.exportBatch = exports.buildPrintDocument = exports.paginate = exports.exportPdf = exports.vnodeBounds = exports.serializeVNode = exports.exportSvg = exports.instanceScopeSelector = exports.resolveThemeVars = exports.themeVarValue = exports.themeVar = exports.cssVarName = exports.THEME_TOKENS = exports.THEME_VARS = exports.GRAFLORIA_VAR_PREFIX = exports.GRAFLORIA_INSTANCE_ATTR = exports.CASCADE_ORDER = exports.resolveLinkStyle = exports.resolveNodeStyle = exports.resolveStyleClasses = exports.listStyles = exports.clearStyles = exports.removeStyle = exports.hasStyle = exports.getStyle = exports.defineStyles = exports.defineStyle = exports.portTypeColor = exports.arePortDataTypesCompatible = exports.portTypeRegistry = exports.generateInstanceOverrideCSS = exports.generateTokenBridgeBlock = exports.BRIDGEABLE_TOKENS = void 0;
19
+ exports.unregisterLinkTemplate = exports.registerLinkTemplate = exports.DEFAULT_STROKE_STYLE = exports.StrokeModel = exports.DiagramSerializer = exports.GRAFLORIA_HASH_PREFIX = exports.GRAFLORIA_DOC_PREFIX = exports.stripGrafloriaSidecar = exports.importDiagramText = 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 = void 0;
20
+ exports.autoSizeNode = exports.outerSizeForInner = exports.desiredNodeSize = exports.measureLabelContent = exports.clampValue = exports.clampSizeToConstraints = exports.resolveAspectRatio = exports.isAutoSized = exports.getNodeSizing = 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 = void 0;
21
+ 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 = exports.CardHandle = exports.umlClasses = exports.erTables = exports.umlClass = exports.erTable = 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 = void 0;
22
+ exports.coalesceRects = exports.rotatePointSelection = exports.distanceToSegmentCanvas = exports.coalesce = exports.rotatePoint = exports.distanceToSegment = exports.PortModel = exports.NodeModel = 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 = 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; } });
33
+ // The LOAD front door — the other half of `DiagramSerializer.serialize()`.
34
+ // `render(fromDocument(json), host)` is the one-liner; see lib/load.ts for why
35
+ // the loaded models go back in as models rather than being re-specced.
36
+ var load_1 = require("./lib/load");
37
+ Object.defineProperty(exports, "fromDocument", { enumerable: true, get: function () { return load_1.fromDocument; } });
38
+ var node_type_registry_1 = require("./lib/node-type-registry");
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; } });
49
+ // React Flow-parity helper surface (getIntersectingNodes & friends) — an embed
50
+ // gets the same convenience wrapper the frameworks get, from the same import.
51
+ var renderer_2 = require("@grafloria/renderer");
52
+ Object.defineProperty(exports, "createDiagramApi", { enumerable: true, get: function () { return renderer_2.createDiagramApi; } });
53
+ /* ==========================================================================
54
+ * WAVE 10 — THE REACHABILITY FIX.
55
+ *
56
+ * Everything below this line ALREADY EXISTED, was ALREADY unit-tested, and was
57
+ * ALREADY exported from `@grafloria/renderer` / `@grafloria/engine`. None of it was
58
+ * reachable by an actual embedder, because THIS file — the public package —
59
+ * re-exported exactly three runtime values (`renderToStaticSVG`, `LIGHT_THEME`,
60
+ * `DARK_THEME`) and nothing else.
61
+ *
62
+ * So: PNG/SVG/PDF export, the round-trip artifact, the Mermaid text format, the
63
+ * minimap, the perf HUD, the quality governor, the named-style registry, the
64
+ * WCAG contrast maths, `deriveTheme()`, `themeRef()`, the design-token bridges,
65
+ * cross-tab sync, the CRDT, presence, comments and presentation mode were all
66
+ * built, all green, and all WIRED TO NOTHING at the package boundary. The
67
+ * gallery is what caught it: not one of these demos could be written.
68
+ *
69
+ * The rule this file now follows: if the library claims a feature, this file
70
+ * exports the handle you drive it with. `libs/element/src/reachability.spec.ts`
71
+ * is the lock — it fails if any of these names stops being reachable.
72
+ * ========================================================================== */
73
+ // -- Theming ---------------------------------------------------------------
74
+ // The theme set + the OS-preference controller behind `colorMode: 'system'`.
75
+ var renderer_3 = require("@grafloria/renderer");
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; } });
85
+ // Theme-bound properties: the CALLER's semantic colours follow a theme swap.
86
+ var renderer_4 = require("@grafloria/renderer");
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; } });
94
+ // WCAG maths + a theme derivation that audits its own output.
95
+ var renderer_5 = require("@grafloria/renderer");
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; } });
110
+ // The design-token bridge: drive Grafloria from shadcn / MUI / Tailwind variables.
111
+ var renderer_6 = require("@grafloria/renderer");
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; } });
118
+ // Port data types — the registry the renderer reads for glyph colours and the
119
+ // validator reads for connection compatibility. Same reachability hole as the
120
+ // style classes below: read on every frame, and no embedder could WRITE to it —
121
+ // the typed-ports demo could not colour its own types through the public API
122
+ // (its glyphs silently fell back to direction colours, and the screenshot audit
123
+ // read them as such).
124
+ var engine_1 = require("@grafloria/engine");
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; } });
128
+ // Named style classes — the `named-class` layer of the cascade. The cascade read
129
+ // this registry on every frame; nothing could WRITE to it.
130
+ var renderer_7 = require("@grafloria/renderer");
131
+ Object.defineProperty(exports, "defineStyle", { enumerable: true, get: function () { return renderer_7.defineStyle; } });
132
+ Object.defineProperty(exports, "defineStyles", { enumerable: true, get: function () { return renderer_7.defineStyles; } });
133
+ Object.defineProperty(exports, "getStyle", { enumerable: true, get: function () { return renderer_7.getStyle; } });
134
+ Object.defineProperty(exports, "hasStyle", { enumerable: true, get: function () { return renderer_7.hasStyle; } });
135
+ Object.defineProperty(exports, "removeStyle", { enumerable: true, get: function () { return renderer_7.removeStyle; } });
136
+ Object.defineProperty(exports, "clearStyles", { enumerable: true, get: function () { return renderer_7.clearStyles; } });
137
+ Object.defineProperty(exports, "listStyles", { enumerable: true, get: function () { return renderer_7.listStyles; } });
138
+ Object.defineProperty(exports, "resolveStyleClasses", { enumerable: true, get: function () { return renderer_7.resolveStyleClasses; } });
139
+ Object.defineProperty(exports, "resolveNodeStyle", { enumerable: true, get: function () { return renderer_7.resolveNodeStyle; } });
140
+ Object.defineProperty(exports, "resolveLinkStyle", { enumerable: true, get: function () { return renderer_7.resolveLinkStyle; } });
141
+ Object.defineProperty(exports, "CASCADE_ORDER", { enumerable: true, get: function () { return renderer_7.CASCADE_ORDER; } });
142
+ // Instance-scoped CSS variables — two diagrams, two themes, one page.
143
+ var renderer_8 = require("@grafloria/renderer");
144
+ Object.defineProperty(exports, "GRAFLORIA_INSTANCE_ATTR", { enumerable: true, get: function () { return renderer_8.GRAFLORIA_INSTANCE_ATTR; } });
145
+ Object.defineProperty(exports, "GRAFLORIA_VAR_PREFIX", { enumerable: true, get: function () { return renderer_8.GRAFLORIA_VAR_PREFIX; } });
146
+ Object.defineProperty(exports, "THEME_VARS", { enumerable: true, get: function () { return renderer_8.THEME_VARS; } });
147
+ Object.defineProperty(exports, "THEME_TOKENS", { enumerable: true, get: function () { return renderer_8.THEME_TOKENS; } });
148
+ Object.defineProperty(exports, "cssVarName", { enumerable: true, get: function () { return renderer_8.cssVarName; } });
149
+ Object.defineProperty(exports, "themeVar", { enumerable: true, get: function () { return renderer_8.themeVar; } });
150
+ Object.defineProperty(exports, "themeVarValue", { enumerable: true, get: function () { return renderer_8.themeVarValue; } });
151
+ Object.defineProperty(exports, "resolveThemeVars", { enumerable: true, get: function () { return renderer_8.resolveThemeVars; } });
152
+ Object.defineProperty(exports, "instanceScopeSelector", { enumerable: true, get: function () { return renderer_8.instanceScopeSelector; } });
153
+ // -- Export ----------------------------------------------------------------
154
+ // Deterministic, DOM-free SVG serialization; true vector PDF; the raster seam.
155
+ var renderer_9 = require("@grafloria/renderer");
156
+ Object.defineProperty(exports, "exportSvg", { enumerable: true, get: function () { return renderer_9.exportSvg; } });
157
+ Object.defineProperty(exports, "serializeVNode", { enumerable: true, get: function () { return renderer_9.serializeVNode; } });
158
+ Object.defineProperty(exports, "vnodeBounds", { enumerable: true, get: function () { return renderer_9.vnodeBounds; } });
159
+ Object.defineProperty(exports, "exportPdf", { enumerable: true, get: function () { return renderer_9.exportPdf; } });
160
+ Object.defineProperty(exports, "paginate", { enumerable: true, get: function () { return renderer_9.paginate; } });
161
+ Object.defineProperty(exports, "buildPrintDocument", { enumerable: true, get: function () { return renderer_9.buildPrintDocument; } });
162
+ Object.defineProperty(exports, "exportBatch", { enumerable: true, get: function () { return renderer_9.exportBatch; } });
163
+ Object.defineProperty(exports, "createDomRasterBackend", { enumerable: true, get: function () { return renderer_9.createDomRasterBackend; } });
164
+ Object.defineProperty(exports, "resolveRasterBackend", { enumerable: true, get: function () { return renderer_9.resolveRasterBackend; } });
165
+ Object.defineProperty(exports, "canRasterizeInThisEnvironment", { enumerable: true, get: function () { return renderer_9.canRasterizeInThisEnvironment; } });
166
+ Object.defineProperty(exports, "svgToDataUri", { enumerable: true, get: function () { return renderer_9.svgToDataUri; } });
167
+ Object.defineProperty(exports, "mimeTypeForFormat", { enumerable: true, get: function () { return renderer_9.mimeTypeForFormat; } });
168
+ // The model rides INSIDE the artifact: SVG metadata + a real PNG iTXt chunk.
169
+ var renderer_10 = require("@grafloria/renderer");
170
+ Object.defineProperty(exports, "GRAFLORIA_NS", { enumerable: true, get: function () { return renderer_10.GRAFLORIA_NS; } });
171
+ Object.defineProperty(exports, "GRAFLORIA_MODEL_KEY", { enumerable: true, get: function () { return renderer_10.GRAFLORIA_MODEL_KEY; } });
172
+ Object.defineProperty(exports, "embedModelInSvg", { enumerable: true, get: function () { return renderer_10.embedModelInSvg; } });
173
+ Object.defineProperty(exports, "extractModelFromSvg", { enumerable: true, get: function () { return renderer_10.extractModelFromSvg; } });
174
+ Object.defineProperty(exports, "embedModelInPng", { enumerable: true, get: function () { return renderer_10.embedModelInPng; } });
175
+ Object.defineProperty(exports, "extractModelFromPng", { enumerable: true, get: function () { return renderer_10.extractModelFromPng; } });
176
+ Object.defineProperty(exports, "extractModel", { enumerable: true, get: function () { return renderer_10.extractModel; } });
177
+ Object.defineProperty(exports, "isEditableArtifact", { enumerable: true, get: function () { return renderer_10.isEditableArtifact; } });
178
+ Object.defineProperty(exports, "importDiagram", { enumerable: true, get: function () { return renderer_10.importDiagram; } });
179
+ // -- Canvas furniture ------------------------------------------------------
180
+ // One call over a DiagramInstance. `gridEnabled` / `showMinimap` / `snapEnabled`
181
+ // are only live once this runs — which nothing could call.
182
+ var renderer_11 = require("@grafloria/renderer");
183
+ Object.defineProperty(exports, "attachCanvasPlugins", { enumerable: true, get: function () { return renderer_11.attachCanvasPlugins; } });
184
+ Object.defineProperty(exports, "createMiniMap", { enumerable: true, get: function () { return renderer_11.createMiniMap; } });
185
+ Object.defineProperty(exports, "createControls", { enumerable: true, get: function () { return renderer_11.createControls; } });
186
+ Object.defineProperty(exports, "createBackground", { enumerable: true, get: function () { return renderer_11.createBackground; } });
187
+ // -- Performance -----------------------------------------------------------
188
+ var renderer_12 = require("@grafloria/renderer");
189
+ Object.defineProperty(exports, "PerfHud", { enumerable: true, get: function () { return renderer_12.PerfHud; } });
190
+ Object.defineProperty(exports, "formatSnapshot", { enumerable: true, get: function () { return renderer_12.formatSnapshot; } });
191
+ Object.defineProperty(exports, "EMPTY_SNAPSHOT", { enumerable: true, get: function () { return renderer_12.EMPTY_SNAPSHOT; } });
192
+ Object.defineProperty(exports, "QualityGovernor", { enumerable: true, get: function () { return renderer_12.QualityGovernor; } });
193
+ // -- Collaboration (renderer half) -----------------------------------------
194
+ // Presence is a SEPARATE DOM layer that never enters the VNode tree.
195
+ var renderer_13 = require("@grafloria/renderer");
196
+ Object.defineProperty(exports, "bindPresence", { enumerable: true, get: function () { return renderer_13.bindPresence; } });
197
+ Object.defineProperty(exports, "PresenceOverlay", { enumerable: true, get: function () { return renderer_13.PresenceOverlay; } });
198
+ Object.defineProperty(exports, "PRESENCE_LAYER_CLASS", { enumerable: true, get: function () { return renderer_13.PRESENCE_LAYER_CLASS; } });
199
+ Object.defineProperty(exports, "actorColor", { enumerable: true, get: function () { return renderer_13.actorColor; } });
200
+ Object.defineProperty(exports, "actorInitials", { enumerable: true, get: function () { return renderer_13.actorInitials; } });
201
+ Object.defineProperty(exports, "contrastingTextColor", { enumerable: true, get: function () { return renderer_13.contrastingTextColor; } });
202
+ var renderer_14 = require("@grafloria/renderer");
203
+ Object.defineProperty(exports, "CommentOverlayController", { enumerable: true, get: function () { return renderer_14.CommentOverlayController; } });
204
+ var renderer_15 = require("@grafloria/renderer");
205
+ Object.defineProperty(exports, "InMemoryViewportChannel", { enumerable: true, get: function () { return renderer_15.InMemoryViewportChannel; } });
206
+ Object.defineProperty(exports, "presentTo", { enumerable: true, get: function () { return renderer_15.presentTo; } });
207
+ Object.defineProperty(exports, "followPresenter", { enumerable: true, get: function () { return renderer_15.followPresenter; } });
208
+ Object.defineProperty(exports, "lockDocument", { enumerable: true, get: function () { return renderer_15.lockDocument; } });
209
+ Object.defineProperty(exports, "isDocumentLocked", { enumerable: true, get: function () { return renderer_15.isDocumentLocked; } });
210
+ Object.defineProperty(exports, "loadReadonlySnapshot", { enumerable: true, get: function () { return renderer_15.loadReadonlySnapshot; } });
211
+ // -- Collaboration (engine half) -------------------------------------------
212
+ // Sync, the CRDT and comments live in the ENGINE, and this package did not
213
+ // re-export the engine AT ALL — its only reference was a type-only import,
214
+ // erased at build. Zero collaboration symbols survived into the bundle.
215
+ var engine_2 = require("@grafloria/engine");
216
+ Object.defineProperty(exports, "createSyncSession", { enumerable: true, get: function () { return engine_2.createSyncSession; } });
217
+ Object.defineProperty(exports, "SyncAdapter", { enumerable: true, get: function () { return engine_2.SyncAdapter; } });
218
+ Object.defineProperty(exports, "MemoryHub", { enumerable: true, get: function () { return engine_2.MemoryHub; } });
219
+ Object.defineProperty(exports, "MemoryTransport", { enumerable: true, get: function () { return engine_2.MemoryTransport; } });
220
+ Object.defineProperty(exports, "BroadcastChannelTransport", { enumerable: true, get: function () { return engine_2.BroadcastChannelTransport; } });
221
+ Object.defineProperty(exports, "WebSocketTransport", { enumerable: true, get: function () { return engine_2.WebSocketTransport; } });
222
+ Object.defineProperty(exports, "UnreliableHub", { enumerable: true, get: function () { return engine_2.UnreliableHub; } });
223
+ Object.defineProperty(exports, "Awareness", { enumerable: true, get: function () { return engine_2.Awareness; } });
224
+ Object.defineProperty(exports, "VersionVector", { enumerable: true, get: function () { return engine_2.VersionVector; } });
225
+ Object.defineProperty(exports, "OpBatcher", { enumerable: true, get: function () { return engine_2.OpBatcher; } });
226
+ Object.defineProperty(exports, "CausalBuffer", { enumerable: true, get: function () { return engine_2.CausalBuffer; } });
227
+ // The per-property CRDT. Whole-entity LWW would silently throw one edit away.
228
+ var engine_3 = require("@grafloria/engine");
229
+ Object.defineProperty(exports, "Replica", { enumerable: true, get: function () { return engine_3.Replica; } });
230
+ Object.defineProperty(exports, "LwwRegistry", { enumerable: true, get: function () { return engine_3.LwwRegistry; } });
231
+ Object.defineProperty(exports, "OpLog", { enumerable: true, get: function () { return engine_3.OpLog; } });
232
+ Object.defineProperty(exports, "UndoStack", { enumerable: true, get: function () { return engine_3.UndoStack; } });
233
+ Object.defineProperty(exports, "ReferentialIntegrity", { enumerable: true, get: function () { return engine_3.ReferentialIntegrity; } });
234
+ Object.defineProperty(exports, "LamportClock", { enumerable: true, get: function () { return engine_3.LamportClock; } });
235
+ Object.defineProperty(exports, "applyOp", { enumerable: true, get: function () { return engine_3.applyOp; } });
236
+ Object.defineProperty(exports, "replay", { enumerable: true, get: function () { return engine_3.replay; } });
237
+ Object.defineProperty(exports, "compareOps", { enumerable: true, get: function () { return engine_3.compareOps; } });
238
+ Object.defineProperty(exports, "opId", { enumerable: true, get: function () { return engine_3.opId; } });
239
+ // Threaded comments. A deleted node ORPHANS its thread; it never destroys it.
240
+ var engine_4 = require("@grafloria/engine");
241
+ Object.defineProperty(exports, "CommentStore", { enumerable: true, get: function () { return engine_4.CommentStore; } });
242
+ // The lossless Mermaid-compatible text format, with hand-edit detection.
243
+ var engine_5 = require("@grafloria/engine");
244
+ Object.defineProperty(exports, "exportDiagramText", { enumerable: true, get: function () { return engine_5.exportDiagramText; } });
245
+ Object.defineProperty(exports, "importDiagramText", { enumerable: true, get: function () { return engine_5.importDiagramText; } });
246
+ Object.defineProperty(exports, "stripGrafloriaSidecar", { enumerable: true, get: function () { return engine_5.stripGrafloriaSidecar; } });
247
+ Object.defineProperty(exports, "GRAFLORIA_DOC_PREFIX", { enumerable: true, get: function () { return engine_5.GRAFLORIA_DOC_PREFIX; } });
248
+ Object.defineProperty(exports, "GRAFLORIA_HASH_PREFIX", { enumerable: true, get: function () { return engine_5.GRAFLORIA_HASH_PREFIX; } });
249
+ var engine_6 = require("@grafloria/engine");
250
+ Object.defineProperty(exports, "DiagramSerializer", { enumerable: true, get: function () { return engine_6.DiagramSerializer; } });
251
+ // wave10/whiteboard: ink as a first-class model entity — authors seed and inspect strokes
252
+ // through this, the same class the draw tool commits.
253
+ var engine_7 = require("@grafloria/engine");
254
+ Object.defineProperty(exports, "StrokeModel", { enumerable: true, get: function () { return engine_7.StrokeModel; } });
255
+ Object.defineProperty(exports, "DEFAULT_STROKE_STYLE", { enumerable: true, get: function () { return engine_7.DEFAULT_STROKE_STYLE; } });
256
+ // ===========================================================================
257
+ // wave10/gallery BUG FIX — the AUTHORING SEAMS were not on the public embed.
258
+ //
259
+ // This package's own doc calls itself "the universal embed … so an embed never
260
+ // needs a second import". It exported fifteen values, and every registry an
261
+ // author actually extends the engine THROUGH was missing from all of them:
262
+ //
263
+ // registerLinkTemplate / registerLabelTemplate — custom edges & labels
264
+ // registerMarker — named custom arrowheads
265
+ // registerConnector / registerAnchor /
266
+ // registerConnectionPoint — the wave-6 link pipeline
267
+ // registerConnectionValidator / isValidConnection — vetoing a connection
268
+ // registerTool — replacing a gesture
269
+ // createPortal / createViewportPortal — anchoring UI to geometry
270
+ // (an edge toolbar, a badge)
271
+ //
272
+ // Every one of them is a documented, semver'd, unit-tested extension point of
273
+ // `@grafloria/renderer`. None was reachable from `<grafloria-flow>` or `Grafloria.render()`
274
+ // — i.e. from the surface this package exists to BE. An embedder who took the
275
+ // package at its word ("no second import") could not write a custom edge.
276
+ //
277
+ // These are re-exports, not new API. The registries are process-wide singletons
278
+ // in @grafloria/renderer, so registering through here is the same registration the
279
+ // renderer's own consumers read.
280
+ // ===========================================================================
281
+ var renderer_16 = require("@grafloria/renderer");
282
+ // Custom edges, labels and named markers (Wave 4 — Card 5).
283
+ Object.defineProperty(exports, "registerLinkTemplate", { enumerable: true, get: function () { return renderer_16.registerLinkTemplate; } });
284
+ Object.defineProperty(exports, "unregisterLinkTemplate", { enumerable: true, get: function () { return renderer_16.unregisterLinkTemplate; } });
285
+ Object.defineProperty(exports, "listLinkTemplates", { enumerable: true, get: function () { return renderer_16.listLinkTemplates; } });
286
+ Object.defineProperty(exports, "registerLabelTemplate", { enumerable: true, get: function () { return renderer_16.registerLabelTemplate; } });
287
+ Object.defineProperty(exports, "unregisterLabelTemplate", { enumerable: true, get: function () { return renderer_16.unregisterLabelTemplate; } });
288
+ Object.defineProperty(exports, "listLabelTemplates", { enumerable: true, get: function () { return renderer_16.listLabelTemplates; } });
289
+ Object.defineProperty(exports, "registerMarker", { enumerable: true, get: function () { return renderer_16.registerMarker; } });
290
+ Object.defineProperty(exports, "unregisterMarker", { enumerable: true, get: function () { return renderer_16.unregisterMarker; } });
291
+ Object.defineProperty(exports, "listMarkers", { enumerable: true, get: function () { return renderer_16.listMarkers; } });
292
+ Object.defineProperty(exports, "htmlLabelVNode", { enumerable: true, get: function () { return renderer_16.htmlLabelVNode; } });
293
+ // The link pipeline: anchors, connection points, connectors (Wave 6 — Card 2).
294
+ Object.defineProperty(exports, "registerAnchor", { enumerable: true, get: function () { return renderer_16.registerAnchor; } });
295
+ Object.defineProperty(exports, "listAnchors", { enumerable: true, get: function () { return renderer_16.listAnchors; } });
296
+ Object.defineProperty(exports, "registerConnectionPoint", { enumerable: true, get: function () { return renderer_16.registerConnectionPoint; } });
297
+ Object.defineProperty(exports, "listConnectionPoints", { enumerable: true, get: function () { return renderer_16.listConnectionPoints; } });
298
+ Object.defineProperty(exports, "registerConnector", { enumerable: true, get: function () { return renderer_16.registerConnector; } });
299
+ Object.defineProperty(exports, "listConnectors", { enumerable: true, get: function () { return renderer_16.listConnectors; } });
300
+ // Connection validation + the tool registry (Wave 6 — Card 5).
301
+ Object.defineProperty(exports, "registerConnectionValidator", { enumerable: true, get: function () { return renderer_16.registerConnectionValidator; } });
302
+ Object.defineProperty(exports, "isValidConnection", { enumerable: true, get: function () { return renderer_16.isValidConnection; } });
303
+ Object.defineProperty(exports, "clearConnectionValidators", { enumerable: true, get: function () { return renderer_16.clearConnectionValidators; } });
304
+ Object.defineProperty(exports, "registerTool", { enumerable: true, get: function () { return renderer_16.registerTool; } });
305
+ Object.defineProperty(exports, "listTools", { enumerable: true, get: function () { return renderer_16.listTools; } });
306
+ // wave10/whiteboard: the freehand-draw / rectangle / eraser tools + the in-progress
307
+ // ink overlay. Register them through `registerTool` — an embed draws on its diagram
308
+ // with no second import, which is the whole promise of this package.
309
+ Object.defineProperty(exports, "createDrawTool", { enumerable: true, get: function () { return renderer_16.createDrawTool; } });
310
+ Object.defineProperty(exports, "createRectangleTool", { enumerable: true, get: function () { return renderer_16.createRectangleTool; } });
311
+ Object.defineProperty(exports, "createEraserTool", { enumerable: true, get: function () { return renderer_16.createEraserTool; } });
312
+ // wave13/stroke-edit: select + move committed ink (the drawn/erased/EDITED triad closes).
313
+ Object.defineProperty(exports, "createStrokeEditTool", { enumerable: true, get: function () { return renderer_16.createStrokeEditTool; } });
314
+ Object.defineProperty(exports, "DrawTool", { enumerable: true, get: function () { return renderer_16.DrawTool; } });
315
+ Object.defineProperty(exports, "RectangleTool", { enumerable: true, get: function () { return renderer_16.RectangleTool; } });
316
+ Object.defineProperty(exports, "EraserTool", { enumerable: true, get: function () { return renderer_16.EraserTool; } });
317
+ Object.defineProperty(exports, "StrokeEditTool", { enumerable: true, get: function () { return renderer_16.StrokeEditTool; } });
318
+ Object.defineProperty(exports, "InkOverlay", { enumerable: true, get: function () { return renderer_16.InkOverlay; } });
319
+ Object.defineProperty(exports, "INK_OVERLAY_CLASS", { enumerable: true, get: function () { return renderer_16.INK_OVERLAY_CLASS; } });
320
+ // Anchoring your own DOM to diagram geometry — how an edge toolbar is built.
321
+ Object.defineProperty(exports, "createPortal", { enumerable: true, get: function () { return renderer_16.createPortal; } });
322
+ Object.defineProperty(exports, "createViewportPortal", { enumerable: true, get: function () { return renderer_16.createViewportPortal; } });
323
+ Object.defineProperty(exports, "createCounterScaledPortal", { enumerable: true, get: function () { return renderer_16.createCounterScaledPortal; } });
324
+ // ===========================================================================
325
+ // wave11/nodes GALLERY BUG FIX — the NODE authoring seams were not on the embed.
326
+ //
327
+ // Same finding shape as Wave 10, one layer down. This package re-exported the
328
+ // EDGE/PORT authoring registries (Wave 10) and the whole collaboration/export
329
+ // stack, but the NODE-shape and node-sizing seams — every one a documented,
330
+ // unit-tested, `@grafloria/renderer`-exported extension point — were missing from
331
+ // all fifteen-plus re-exports. An embedder taking the package at its word ("the
332
+ // universal embed … an embed never needs a second import") could NOT:
333
+ //
334
+ // - draw any of the 21 built-in figures' CUSTOM cousins, or register a custom
335
+ // silhouette: `registerShape` / `registerPathShape` / `listShapes` were
336
+ // reachable only past the package boundary. (The 21 built-ins render fine via
337
+ // `shape: { type }`, because the registry pre-registers them; a custom shape
338
+ // could not be added at all.)
339
+ // - read or reuse the per-node sizing contract the resizer AND the auto-sizer
340
+ // share (`getNodeSizing` / `clampSizeToConstraints` / `resolveAspectRatio`) —
341
+ // the min/max/aspect clamp math that a custom resize gesture (built on the
342
+ // public `registerTool` seam) needs to honour a node's declared limits.
343
+ // - measure a node from its content (`desiredNodeSize` / `measureLabelContent`
344
+ // / `autoSizeNode`), or build an in-node foreignObject / read its toolbar
345
+ // config, or drive proximity-connect from the shipped `SnapController`, or
346
+ // create SWIMLANES — `SwimlaneService`, a whole engine feature React Flow
347
+ // does not have, was reachable only via a second `@grafloria/engine` import.
348
+ //
349
+ // All re-exports, no new API. The registries are process-wide singletons in
350
+ // @grafloria/renderer / @grafloria/engine, so registering through here is the exact
351
+ // registration the renderer's own consumers read.
352
+ // ===========================================================================
353
+ var renderer_17 = require("@grafloria/renderer");
354
+ // The node figure registry (21 built-ins + custom silhouettes).
355
+ Object.defineProperty(exports, "registerShape", { enumerable: true, get: function () { return renderer_17.registerShape; } });
356
+ Object.defineProperty(exports, "registerPathShape", { enumerable: true, get: function () { return renderer_17.registerPathShape; } });
357
+ Object.defineProperty(exports, "unregisterShape", { enumerable: true, get: function () { return renderer_17.unregisterShape; } });
358
+ Object.defineProperty(exports, "getShape", { enumerable: true, get: function () { return renderer_17.getShape; } });
359
+ Object.defineProperty(exports, "hasShape", { enumerable: true, get: function () { return renderer_17.hasShape; } });
360
+ Object.defineProperty(exports, "listShapes", { enumerable: true, get: function () { return renderer_17.listShapes; } });
361
+ Object.defineProperty(exports, "getShapeDefinition", { enumerable: true, get: function () { return renderer_17.getShapeDefinition; } });
362
+ Object.defineProperty(exports, "getShapeRegistryVersion", { enumerable: true, get: function () { return renderer_17.getShapeRegistryVersion; } });
363
+ Object.defineProperty(exports, "onShapeRegistryChange", { enumerable: true, get: function () { return renderer_17.onShapeRegistryChange; } });
364
+ // Per-node sizing constraints — the min/max/aspect contract the resizer clamps
365
+ // to DURING a gesture and the auto-sizer floors/ceils to.
366
+ Object.defineProperty(exports, "getNodeSizing", { enumerable: true, get: function () { return renderer_17.getNodeSizing; } });
367
+ Object.defineProperty(exports, "isAutoSized", { enumerable: true, get: function () { return renderer_17.isAutoSized; } });
368
+ Object.defineProperty(exports, "resolveAspectRatio", { enumerable: true, get: function () { return renderer_17.resolveAspectRatio; } });
369
+ Object.defineProperty(exports, "clampSizeToConstraints", { enumerable: true, get: function () { return renderer_17.clampSizeToConstraints; } });
370
+ Object.defineProperty(exports, "clampValue", { enumerable: true, get: function () { return renderer_17.clampValue; } });
371
+ // Content-aware auto-sizing (a node grows to fit its label + panel).
372
+ Object.defineProperty(exports, "measureLabelContent", { enumerable: true, get: function () { return renderer_17.measureLabelContent; } });
373
+ Object.defineProperty(exports, "desiredNodeSize", { enumerable: true, get: function () { return renderer_17.desiredNodeSize; } });
374
+ Object.defineProperty(exports, "outerSizeForInner", { enumerable: true, get: function () { return renderer_17.outerSizeForInner; } });
375
+ Object.defineProperty(exports, "autoSizeNode", { enumerable: true, get: function () { return renderer_17.autoSizeNode; } });
376
+ Object.defineProperty(exports, "autoSizeDiagram", { enumerable: true, get: function () { return renderer_17.autoSizeDiagram; } });
377
+ // Per-node toolbar config seam + in-node HTML (foreignObject) content.
378
+ Object.defineProperty(exports, "getNodeToolbar", { enumerable: true, get: function () { return renderer_17.getNodeToolbar; } });
379
+ Object.defineProperty(exports, "resolveToolbar", { enumerable: true, get: function () { return renderer_17.resolveToolbar; } });
380
+ Object.defineProperty(exports, "getHtmlContent", { enumerable: true, get: function () { return renderer_17.getHtmlContent; } });
381
+ Object.defineProperty(exports, "hasHtmlContent", { enumerable: true, get: function () { return renderer_17.hasHtmlContent; } });
382
+ Object.defineProperty(exports, "buildHtmlForeignObject", { enumerable: true, get: function () { return renderer_17.buildHtmlForeignObject; } });
383
+ // Proximity-connect: the shipped reference implementation, addressable at last.
384
+ Object.defineProperty(exports, "SnapController", { enumerable: true, get: function () { return renderer_17.SnapController; } });
385
+ Object.defineProperty(exports, "DEFAULT_SNAP_CONFIG", { enumerable: true, get: function () { return renderer_17.DEFAULT_SNAP_CONFIG; } });
386
+ // Swimlanes / pools / lanes — a whole containment model in the ENGINE that the
387
+ // package re-exported none of. React Flow has no equivalent.
388
+ var engine_8 = require("@grafloria/engine");
389
+ Object.defineProperty(exports, "SwimlaneService", { enumerable: true, get: function () { return engine_8.SwimlaneService; } });
390
+ var engine_9 = require("@grafloria/engine");
391
+ Object.defineProperty(exports, "GroupModel", { enumerable: true, get: function () { return engine_9.GroupModel; } });
392
+ var engine_10 = require("@grafloria/engine");
393
+ Object.defineProperty(exports, "GroupCollapseService", { enumerable: true, get: function () { return engine_10.GroupCollapseService; } });
394
+ Object.defineProperty(exports, "PROXY_NODE_GROUP_KEY", { enumerable: true, get: function () { return engine_10.PROXY_NODE_GROUP_KEY; } });
395
+ Object.defineProperty(exports, "PROXY_LINK_GROUP_KEY", { enumerable: true, get: function () { return engine_10.PROXY_LINK_GROUP_KEY; } });
396
+ // serveLayout — the worker body for OFF-THREAD layout. `engine.setLayoutPort()`
397
+ // takes any port; an app runs the layout in a real Worker by importing this
398
+ // package inside the worker and calling `serveLayout(self)`. It was exported
399
+ // from @grafloria/engine and reachable by NOBODY through the embed, so the whole
400
+ // off-thread-layout capability (progress streaming + mid-run cancellation with
401
+ // a retained partial result) could not be wired from the public package.
402
+ var engine_11 = require("@grafloria/engine");
403
+ Object.defineProperty(exports, "serveLayout", { enumerable: true, get: function () { return engine_11.serveLayout; } });
404
+ // ===========================================================================
405
+ // DIAGRAM KIT — reusable ER / UML builders (wave16m).
406
+ //
407
+ // The diagrams/* demos proved Grafloria can draw database tables with crow's-foot
408
+ // cardinality (field-level FK→PK included) and full-vocabulary UML class
409
+ // diagrams — but every page hand-composed the HTML cards, the CSS, the
410
+ // selection overrides and the marker tables. That is a capability, not a
411
+ // feature. This kit is the feature: typed builders that emit a ready render()
412
+ // spec + one self-injected stylesheet, so an embedder writes DATA:
413
+ //
414
+ // const spec = erDiagram({ entities, relationships });
415
+ // render(spec, el);
416
+ //
417
+ // const uml = umlDiagram({ classes, relationships });
418
+ // const api = render(uml, el); uml.finalize(api);
419
+ // ===========================================================================
420
+ var diagram_kit_1 = require("./lib/diagram-kit");
421
+ Object.defineProperty(exports, "erDiagram", { enumerable: true, get: function () { return diagram_kit_1.erDiagram; } });
422
+ Object.defineProperty(exports, "erRowCenterY", { enumerable: true, get: function () { return diagram_kit_1.erRowCenterY; } });
423
+ Object.defineProperty(exports, "ER_ROW_H", { enumerable: true, get: function () { return diagram_kit_1.ER_ROW_H; } });
424
+ Object.defineProperty(exports, "ER_HEAD_H", { enumerable: true, get: function () { return diagram_kit_1.ER_HEAD_H; } });
425
+ Object.defineProperty(exports, "umlDiagram", { enumerable: true, get: function () { return diagram_kit_1.umlDiagram; } });
426
+ Object.defineProperty(exports, "ensureDiagramKitStyles", { enumerable: true, get: function () { return diagram_kit_1.ensureDiagramKitStyles; } });
427
+ Object.defineProperty(exports, "DIAGRAM_KIT_STYLE_ID", { enumerable: true, get: function () { return diagram_kit_1.DIAGRAM_KIT_STYLE_ID; } });
428
+ // In-canvas editing (P2–P4): live edits + the gesture binder.
429
+ Object.defineProperty(exports, "updateEntity", { enumerable: true, get: function () { return diagram_kit_1.updateEntity; } });
430
+ Object.defineProperty(exports, "updateClass", { enumerable: true, get: function () { return diagram_kit_1.updateClass; } });
431
+ Object.defineProperty(exports, "addColumnAt", { enumerable: true, get: function () { return diagram_kit_1.addColumnAt; } });
432
+ Object.defineProperty(exports, "removeColumnAt", { enumerable: true, get: function () { return diagram_kit_1.removeColumnAt; } });
433
+ Object.defineProperty(exports, "renameColumnAt", { enumerable: true, get: function () { return diagram_kit_1.renameColumnAt; } });
434
+ Object.defineProperty(exports, "bindCardEditing", { enumerable: true, get: function () { return diagram_kit_1.bindCardEditing; } });
435
+ Object.defineProperty(exports, "matchColumns", { enumerable: true, get: function () { return diagram_kit_1.matchColumns; } });
436
+ Object.defineProperty(exports, "rowIndexFromY", { enumerable: true, get: function () { return diagram_kit_1.rowIndexFromY; } });
437
+ // Typed façade handles (domain-API decision, Option B): the OO surface —
438
+ // CardHandle → ErTable/UmlClass, ErField — over the data-first kit.
439
+ var diagram_kit_2 = require("./lib/diagram-kit");
440
+ Object.defineProperty(exports, "erTable", { enumerable: true, get: function () { return diagram_kit_2.erTable; } });
441
+ Object.defineProperty(exports, "umlClass", { enumerable: true, get: function () { return diagram_kit_2.umlClass; } });
442
+ Object.defineProperty(exports, "erTables", { enumerable: true, get: function () { return diagram_kit_2.erTables; } });
443
+ Object.defineProperty(exports, "umlClasses", { enumerable: true, get: function () { return diagram_kit_2.umlClasses; } });
444
+ Object.defineProperty(exports, "CardHandle", { enumerable: true, get: function () { return diagram_kit_2.CardHandle; } });
445
+ Object.defineProperty(exports, "ErTable", { enumerable: true, get: function () { return diagram_kit_2.ErTable; } });
446
+ Object.defineProperty(exports, "ErField", { enumerable: true, get: function () { return diagram_kit_2.ErField; } });
447
+ Object.defineProperty(exports, "ErColumnList", { enumerable: true, get: function () { return diagram_kit_2.ErColumnList; } });
448
+ Object.defineProperty(exports, "UmlClass", { enumerable: true, get: function () { return diagram_kit_2.UmlClass; } });
449
+ Object.defineProperty(exports, "UmlMemberList", { enumerable: true, get: function () { return diagram_kit_2.UmlMemberList; } });
450
+ // ===========================================================================
451
+ // THE DASHBOARD KIT — Phase 2 of the dashboard-grid plan.
452
+ //
453
+ // The dashboard demo proved Grafloria can host a dashboard-builder app — but its
454
+ // interaction (live push while you hover, truthful placeholder, cell-stepped
455
+ // resize, one undo step per gesture) was page JS. This kit is the feature:
456
+ // `bindDashboardGrid(api, group)` puts a GridPackEngine-driven pack grid on
457
+ // any group of widget nodes, with cells persisted in the EXISTING
458
+ // GridItemConfig. Element-local code, so the Phase-0 wholesale re-export
459
+ // below does NOT cover it — this curated block is its only door.
460
+ // ===========================================================================
461
+ var dashboard_kit_1 = require("./lib/dashboard-kit");
462
+ Object.defineProperty(exports, "bindDashboardGrid", { enumerable: true, get: function () { return dashboard_kit_1.bindDashboardGrid; } });
463
+ Object.defineProperty(exports, "rowHeightFor", { enumerable: true, get: function () { return dashboard_kit_1.rowHeightFor; } });
464
+ Object.defineProperty(exports, "boardHeightFor", { enumerable: true, get: function () { return dashboard_kit_1.boardHeightFor; } });
465
+ Object.defineProperty(exports, "columnUnitFor", { enumerable: true, get: function () { return dashboard_kit_1.columnUnitFor; } });
466
+ Object.defineProperty(exports, "cellToRect", { enumerable: true, get: function () { return dashboard_kit_1.cellToRect; } });
467
+ Object.defineProperty(exports, "pointToCell", { enumerable: true, get: function () { return dashboard_kit_1.pointToCell; } });
468
+ Object.defineProperty(exports, "sizeToSpan", { enumerable: true, get: function () { return dashboard_kit_1.sizeToSpan; } });
469
+ Object.defineProperty(exports, "gridItemFromCell", { enumerable: true, get: function () { return dashboard_kit_1.gridItemFromCell; } });
470
+ Object.defineProperty(exports, "cellFromGridItem", { enumerable: true, get: function () { return dashboard_kit_1.cellFromGridItem; } });
471
+ Object.defineProperty(exports, "buildCommitCommands", { enumerable: true, get: function () { return dashboard_kit_1.buildCommitCommands; } });
472
+ Object.defineProperty(exports, "ensureDashboardKitStyles", { enumerable: true, get: function () { return dashboard_kit_1.ensureDashboardKitStyles; } });
473
+ Object.defineProperty(exports, "DASHBOARD_KIT_STYLE_ID", { enumerable: true, get: function () { return dashboard_kit_1.DASHBOARD_KIT_STYLE_ID; } });
474
+ // The DATA-FIRST authoring API — the erDiagram()/umlDiagram() equivalent.
475
+ Object.defineProperty(exports, "dashboard", { enumerable: true, get: function () { return dashboard_kit_1.dashboard; } });
476
+ // …and the built-in renderers behind `kind`, so a dashboard is useful with
477
+ // no renderWidget at all. Composable: call defaultWidgetRenderer first, then
478
+ // decorate the host.
479
+ Object.defineProperty(exports, "defaultWidgetRenderer", { enumerable: true, get: function () { return dashboard_kit_1.defaultWidgetRenderer; } });
480
+ Object.defineProperty(exports, "renderKpiWidget", { enumerable: true, get: function () { return dashboard_kit_1.renderKpiWidget; } });
481
+ Object.defineProperty(exports, "renderLineWidget", { enumerable: true, get: function () { return dashboard_kit_1.renderLineWidget; } });
482
+ Object.defineProperty(exports, "renderBarWidget", { enumerable: true, get: function () { return dashboard_kit_1.renderBarWidget; } });
483
+ Object.defineProperty(exports, "renderDonutWidget", { enumerable: true, get: function () { return dashboard_kit_1.renderDonutWidget; } });
484
+ Object.defineProperty(exports, "renderFunnelWidget", { enumerable: true, get: function () { return dashboard_kit_1.renderFunnelWidget; } });
485
+ Object.defineProperty(exports, "renderTableWidget", { enumerable: true, get: function () { return dashboard_kit_1.renderTableWidget; } });
486
+ Object.defineProperty(exports, "BUILT_IN_WIDGET_KINDS", { enumerable: true, get: function () { return dashboard_kit_1.BUILT_IN_WIDGET_KINDS; } });
487
+ /* ==========================================================================
488
+ * PHASE 0 — THE INVERSION.
489
+ *
490
+ * Everything above this line is a CURATED re-export: a hand-written list, added
491
+ * to whenever someone noticed a capability was missing. That model made the
492
+ * front door default-DENY — a capability shipped in `@grafloria/engine` or
493
+ * `@grafloria/renderer` was invisible to embedders until a human remembered to add
494
+ * a line here. The Wave 10 comment above records what that cost the first time.
495
+ * It kept costing: an audit found 207 capability-level symbols (classes, and
496
+ * `register…` / `create…` / `define…` factories) built, tested, exported one
497
+ * layer down, and unreachable from this package — including `DiagramEngine`, `DiagramModel`,
498
+ * `NodeModel`, `Command`, `CommandManager`, `RoutingEngine`, `LayoutRegistry`,
499
+ * `EventBus`, `PluginManager` and every one of the 30 undoable commands. The
500
+ * repo's own flagship app (apps/renderer-demo, which contains a dashboard
501
+ * builder, a workflow builder and an ERD designer — exactly the apps this
502
+ * package is meant to enable) imports `@grafloria/engine` in 41 files and
503
+ * `@grafloria/element` in ZERO. It could not have used the front door.
504
+ *
505
+ * So the default flips: this package now re-exports the two lower packages
506
+ * WHOLESALE. Adding a capability downstairs makes it reachable here with no
507
+ * edit to this file, and `reachability.spec.ts` — now an INVERTED lock — fails
508
+ * the build if a capability is NOT reachable, rather than passing silently.
509
+ *
510
+ * The curated block above is kept deliberately: it is the DOCUMENTED surface
511
+ * (what the 15-line getting-started guide uses), and explicit exports take
512
+ * precedence over `export *`, so it also resolves the collisions below.
513
+ * ========================================================================== */
514
+ tslib_1.__exportStar(require("@grafloria/engine"), exports);
515
+ tslib_1.__exportStar(require("@grafloria/renderer"), exports);
516
+ /* -- Collision resolution (9 names are declared in BOTH lower packages) -----
517
+ * Under ES `export *` semantics an ambiguous name is silently OMITTED from the
518
+ * re-export — a silent hole, which is the exact failure mode this phase exists
519
+ * to kill. So every one is resolved explicitly. The ENGINE wins by default:
520
+ * its declarations are the document vocabulary an app manipulates. Nothing is
521
+ * dropped — each renderer counterpart keeps a qualified name below.
522
+ *
523
+ * (`NodeModel`, `PortModel`, `PortLayoutArgs` and `PortLayoutSpec` are NOT real
524
+ * collisions: `svg/port-layout.ts` re-exports the engine's own declarations.
525
+ * They are pinned here anyway — they are the most load-bearing names in the
526
+ * package, and pinning costs one line.)
527
+ */
528
+ var engine_12 = require("@grafloria/engine");
529
+ Object.defineProperty(exports, "NodeModel", { enumerable: true, get: function () { return engine_12.NodeModel; } });
530
+ Object.defineProperty(exports, "PortModel", { enumerable: true, get: function () { return engine_12.PortModel; } });
531
+ Object.defineProperty(exports, "distanceToSegment", { enumerable: true, get: function () { return engine_12.distanceToSegment; } });
532
+ Object.defineProperty(exports, "rotatePoint", { enumerable: true, get: function () { return engine_12.rotatePoint; } });
533
+ Object.defineProperty(exports, "coalesce", { enumerable: true, get: function () { return engine_12.coalesce; } });
534
+ // The three genuine VALUE collisions, kept reachable under qualified names.
535
+ // `coalesce` is the one that matters: the engine's coalesces op-log entries for
536
+ // batching, the renderer's merges dirty rectangles for partial redraw. Same
537
+ // name, unrelated jobs — losing either to an `export *` ambiguity would be a
538
+ // silent capability hole rather than a compile error.
539
+ var renderer_18 = require("@grafloria/renderer");
540
+ Object.defineProperty(exports, "distanceToSegmentCanvas", { enumerable: true, get: function () { return renderer_18.distanceToSegment; } });
541
+ Object.defineProperty(exports, "rotatePointSelection", { enumerable: true, get: function () { return renderer_18.rotatePoint; } });
542
+ Object.defineProperty(exports, "coalesceRects", { enumerable: true, get: function () { return renderer_18.coalesce; } });
543
+ // Side effect: define the element on import. This is what makes
544
+ // `<script type="module" src="…/grafloria.js"></script>` + `<grafloria-flow>` in the
545
+ // markup Just Work, which is the entire point of the card.
546
+ (0, grafloria_flow_element_1.defineGrafloriaFlow)();
547
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/element/src/index.ts"],"names":[],"mappings":"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"}