@grafloria/element 0.3.3 → 0.3.5

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 CHANGED
@@ -25,6 +25,6 @@ properties (`el.nodes = [...]`) — the standard custom-element contract every
25
25
  framework's template binding targets.
26
26
 
27
27
  For first-class framework idioms use `@grafloria/react`,
28
- `@grafloria/renderer-angular`, or `@grafloria/vue`.
28
+ `@grafloria/angular`, or `@grafloria/vue`.
29
29
 
30
30
  MIT © [Grafloria](https://github.com/grafloria/grafloria)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grafloria/element",
3
- "version": "0.3.3",
3
+ "version": "0.3.5",
4
4
  "type": "commonjs",
5
5
  "main": "./src/index.js",
6
6
  "types": "./src/index.d.ts",
package/src/index.d.ts CHANGED
@@ -33,6 +33,8 @@ export { shadcnBridge, muiBridge, tailwindBridge, BRIDGEABLE_TOKENS, generateTok
33
33
  export type { TokenBridge } from '@grafloria/renderer';
34
34
  export { portTypeRegistry, arePortDataTypesCompatible, portTypeColor } from '@grafloria/engine';
35
35
  export type { PortDataTypeDefinition } from '@grafloria/engine';
36
+ export { listStencils, builtInStencils, getStencil, registerStencils, registerGeneratedTemplates, generatedTemplates, TemplateRegistry, NodeFactory, registerTemplateLibrary, } from '@grafloria/engine';
37
+ export type { Stencil, NodeTemplate } from '@grafloria/engine';
36
38
  export { defineStyle, defineStyles, getStyle, hasStyle, removeStyle, clearStyles, listStyles, resolveStyleClasses, resolveNodeStyle, resolveLinkStyle, CASCADE_ORDER, } from '@grafloria/renderer';
37
39
  export type { NamedStyle, CascadeLayer } from '@grafloria/renderer';
38
40
  export { GRAFLORIA_INSTANCE_ATTR, GRAFLORIA_VAR_PREFIX, THEME_VARS, THEME_TOKENS, cssVarName, themeVar, themeVarValue, resolveThemeVars, instanceScopeSelector, } from '@grafloria/renderer';
@@ -78,6 +80,8 @@ export { erTable, umlClass, erTables, umlClasses, CardHandle, ErTable, ErField,
78
80
  export type { HandleApi } from './lib/diagram-kit';
79
81
  export { bindDashboardGrid, rowHeightFor, boardHeightFor, columnUnitFor, cellToRect, pointToCell, sizeToSpan, gridItemFromCell, cellFromGridItem, buildCommitCommands, ensureDashboardKitStyles, DASHBOARD_KIT_STYLE_ID, dashboard, defaultWidgetRenderer, renderKpiWidget, renderLineWidget, renderBarWidget, renderDonutWidget, renderFunnelWidget, renderTableWidget, BUILT_IN_WIDGET_KINDS, } from './lib/dashboard-kit';
80
82
  export type { DashboardGridApi, DashboardGridOptions, DashboardGridHandle, CellRect, WorldRect, DashboardGridGeometry, TileDelta, DashboardOptions, DashboardSpec, DashboardSnapshot, DashboardHandle, DashboardViewSpec, DashboardWidgetSpec, WidgetHandle, WidgetRenderer, KpiWidgetData, LineWidgetData, LineSeries, BarWidgetData, DonutWidgetData, FunnelWidgetData, TableWidgetData, } from './lib/dashboard-kit';
83
+ export { bindStencilPalette, bindShapeDataPanel, ensureStencilKitStyles } from './lib/stencil-kit';
84
+ export type { StencilPaletteApi, StencilPaletteOptions, StencilPaletteHandle, ShapeDataPanelApi, ShapeDataPanelOptions, ShapeDataPanelHandle, } from './lib/stencil-kit';
81
85
  export * from '@grafloria/engine';
82
86
  export * from '@grafloria/renderer';
83
87
  export { NodeModel, PortModel, distanceToSegment, rotatePoint, coalesce, } from '@grafloria/engine';
package/src/index.js CHANGED
@@ -15,11 +15,11 @@
15
15
  */
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
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;
18
+ 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.registerTemplateLibrary = exports.NodeFactory = exports.TemplateRegistry = exports.generatedTemplates = exports.registerGeneratedTemplates = exports.registerStencils = exports.getStencil = exports.builtInStencils = exports.listStencils = exports.portTypeColor = exports.arePortDataTypesCompatible = exports.portTypeRegistry = exports.generateInstanceOverrideCSS = exports.generateTokenBridgeBlock = exports.BRIDGEABLE_TOKENS = void 0;
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.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 = 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 = void 0;
23
23
  const tslib_1 = require("tslib");
24
24
  const grafloria_flow_element_1 = require("./lib/grafloria-flow-element");
25
25
  var grafloria_flow_element_2 = require("./lib/grafloria-flow-element");
@@ -125,6 +125,20 @@ var engine_1 = require("@grafloria/engine");
125
125
  Object.defineProperty(exports, "portTypeRegistry", { enumerable: true, get: function () { return engine_1.portTypeRegistry; } });
126
126
  Object.defineProperty(exports, "arePortDataTypesCompatible", { enumerable: true, get: function () { return engine_1.arePortDataTypesCompatible; } });
127
127
  Object.defineProperty(exports, "portTypeColor", { enumerable: true, get: function () { return engine_1.portTypeColor; } });
128
+ // Stencils & shape masters — the Visio-style palette surface. Named here (not
129
+ // left to the `export *` below) because this IS the documented way to browse and
130
+ // register shapes: listStencils() feeds a palette, registerStencils() puts every
131
+ // master behind engine.templateRegistry for NodeFactory to stamp.
132
+ var engine_2 = require("@grafloria/engine");
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; } });
128
142
  // Named style classes — the `named-class` layer of the cascade. The cascade read
129
143
  // this registry on every frame; nothing could WRITE to it.
130
144
  var renderer_7 = require("@grafloria/renderer");
@@ -212,47 +226,47 @@ Object.defineProperty(exports, "loadReadonlySnapshot", { enumerable: true, get:
212
226
  // Sync, the CRDT and comments live in the ENGINE, and this package did not
213
227
  // re-export the engine AT ALL — its only reference was a type-only import,
214
228
  // 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
229
  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.
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; } });
241
+ // The per-property CRDT. Whole-entity LWW would silently throw one edit away.
240
242
  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
+ 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; } });
253
+ // Threaded comments. A deleted node ORPHANS its thread; it never destroys it.
243
254
  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; } });
255
+ Object.defineProperty(exports, "CommentStore", { enumerable: true, get: function () { return engine_5.CommentStore; } });
256
+ // The lossless Mermaid-compatible text format, with hand-edit detection.
249
257
  var engine_6 = require("@grafloria/engine");
250
- Object.defineProperty(exports, "DiagramSerializer", { enumerable: true, get: function () { return engine_6.DiagramSerializer; } });
258
+ Object.defineProperty(exports, "exportDiagramText", { enumerable: true, get: function () { return engine_6.exportDiagramText; } });
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; } });
251
265
  // wave10/whiteboard: ink as a first-class model entity — authors seed and inspect strokes
252
266
  // 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; } });
267
+ var engine_8 = require("@grafloria/engine");
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; } });
256
270
  // ===========================================================================
257
271
  // wave10/gallery BUG FIX — the AUTHORING SEAMS were not on the public embed.
258
272
  //
@@ -385,22 +399,22 @@ Object.defineProperty(exports, "SnapController", { enumerable: true, get: functi
385
399
  Object.defineProperty(exports, "DEFAULT_SNAP_CONFIG", { enumerable: true, get: function () { return renderer_17.DEFAULT_SNAP_CONFIG; } });
386
400
  // Swimlanes / pools / lanes — a whole containment model in the ENGINE that the
387
401
  // 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
402
  var engine_9 = require("@grafloria/engine");
391
- Object.defineProperty(exports, "GroupModel", { enumerable: true, get: function () { return engine_9.GroupModel; } });
403
+ Object.defineProperty(exports, "SwimlaneService", { enumerable: true, get: function () { return engine_9.SwimlaneService; } });
392
404
  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; } });
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; } });
396
410
  // serveLayout — the worker body for OFF-THREAD layout. `engine.setLayoutPort()`
397
411
  // takes any port; an app runs the layout in a real Worker by importing this
398
412
  // package inside the worker and calling `serveLayout(self)`. It was exported
399
413
  // from @grafloria/engine and reachable by NOBODY through the embed, so the whole
400
414
  // off-thread-layout capability (progress streaming + mid-run cancellation with
401
415
  // 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; } });
416
+ var engine_12 = require("@grafloria/engine");
417
+ Object.defineProperty(exports, "serveLayout", { enumerable: true, get: function () { return engine_12.serveLayout; } });
404
418
  // ===========================================================================
405
419
  // DIAGRAM KIT — reusable ER / UML builders (wave16m).
406
420
  //
@@ -484,6 +498,12 @@ Object.defineProperty(exports, "renderDonutWidget", { enumerable: true, get: fun
484
498
  Object.defineProperty(exports, "renderFunnelWidget", { enumerable: true, get: function () { return dashboard_kit_1.renderFunnelWidget; } });
485
499
  Object.defineProperty(exports, "renderTableWidget", { enumerable: true, get: function () { return dashboard_kit_1.renderTableWidget; } });
486
500
  Object.defineProperty(exports, "BUILT_IN_WIDGET_KINDS", { enumerable: true, get: function () { return dashboard_kit_1.BUILT_IN_WIDGET_KINDS; } });
501
+ // The stencil kit — a Visio-style palette that drags shape masters onto the
502
+ // canvas (T6/T7). Pairs with listStencils()/registerStencils() above.
503
+ var stencil_kit_1 = require("./lib/stencil-kit");
504
+ Object.defineProperty(exports, "bindStencilPalette", { enumerable: true, get: function () { return stencil_kit_1.bindStencilPalette; } });
505
+ Object.defineProperty(exports, "bindShapeDataPanel", { enumerable: true, get: function () { return stencil_kit_1.bindShapeDataPanel; } });
506
+ Object.defineProperty(exports, "ensureStencilKitStyles", { enumerable: true, get: function () { return stencil_kit_1.ensureStencilKitStyles; } });
487
507
  /* ==========================================================================
488
508
  * PHASE 0 — THE INVERSION.
489
509
  *
@@ -525,12 +545,12 @@ tslib_1.__exportStar(require("@grafloria/renderer"), exports);
525
545
  * They are pinned here anyway — they are the most load-bearing names in the
526
546
  * package, and pinning costs one line.)
527
547
  */
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; } });
548
+ var engine_13 = require("@grafloria/engine");
549
+ Object.defineProperty(exports, "NodeModel", { enumerable: true, get: function () { return engine_13.NodeModel; } });
550
+ Object.defineProperty(exports, "PortModel", { enumerable: true, get: function () { return engine_13.PortModel; } });
551
+ Object.defineProperty(exports, "distanceToSegment", { enumerable: true, get: function () { return engine_13.distanceToSegment; } });
552
+ Object.defineProperty(exports, "rotatePoint", { enumerable: true, get: function () { return engine_13.rotatePoint; } });
553
+ Object.defineProperty(exports, "coalesce", { enumerable: true, get: function () { return engine_13.coalesce; } });
534
554
  // The three genuine VALUE collisions, kept reachable under qualified names.
535
555
  // `coalesce` is the one that matters: the engine's coalesces op-log entries for
536
556
  // batching, the renderer's merges dirty rectangles for partial redraw. Same
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/element/src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;;;;;;;AAEH,yEAAmE;AAEnE,uEAA2G;AAAlG,8HAAA,oBAAoB,OAAA;AAAE,6HAAA,mBAAmB,OAAA;AAAE,0HAAA,gBAAgB,OAAA;AAEpE,6CAAkE;AAAzD,sGAAA,SAAS,OAAA;AAAE,mGAAA,MAAM,OAAA;AAAE,yGAAA,YAAY,OAAA;AAGxC,2EAA2E;AAC3E,+EAA+E;AAC/E,uEAAuE;AACvE,mCAA0C;AAAjC,oGAAA,YAAY,OAAA;AAGrB,+DAOkC;AANhC,sHAAA,gBAAgB,OAAA;AAChB,wHAAA,kBAAkB,OAAA;AAClB,yHAAA,mBAAmB,OAAA;AACnB,iHAAA,WAAW,OAAA;AACX,iHAAA,WAAW,OAAA;AACX,wHAAA,kBAAkB,OAAA;AAgBpB,gDAAiF;AAAxE,6GAAA,iBAAiB,OAAA;AAAE,uGAAA,WAAW,OAAA;AAAE,sGAAA,UAAU,OAAA;AACnD,+EAA+E;AAC/E,8EAA8E;AAC9E,gDAAuD;AAA9C,4GAAA,gBAAgB,OAAA;AAGzB;;;;;;;;;;;;;;;;;;;gFAmBgF;AAEhF,6EAA6E;AAC7E,6EAA6E;AAC7E,gDAU6B;AAT3B,qHAAA,yBAAyB,OAAA;AACzB,oHAAA,wBAAwB,OAAA;AACxB,6GAAA,iBAAiB,OAAA;AACjB,+GAAA,mBAAmB,OAAA;AACnB,iHAAA,qBAAqB,OAAA;AACrB,gHAAA,oBAAoB,OAAA;AACpB,8GAAA,kBAAkB,OAAA;AAClB,kHAAA,sBAAsB,OAAA;AACtB,+GAAA,mBAAmB,OAAA;AAIrB,6EAA6E;AAC7E,gDAQ6B;AAP3B,oGAAA,QAAQ,OAAA;AACR,sGAAA,UAAU,OAAA;AACV,yGAAA,aAAa,OAAA;AACb,uGAAA,WAAW,OAAA;AACX,2GAAA,eAAe,OAAA;AACf,4GAAA,gBAAgB,OAAA;AAChB,+GAAA,mBAAmB,OAAA;AAIrB,8DAA8D;AAC9D,gDAe6B;AAd3B,gGAAA,IAAI,OAAA;AACJ,sGAAA,UAAU,OAAA;AACV,iGAAA,KAAK,OAAA;AACL,6GAAA,iBAAiB,OAAA;AACjB,yGAAA,aAAa,OAAA;AACb,yGAAA,aAAa,OAAA;AACb,oGAAA,QAAQ,OAAA;AACR,oGAAA,QAAQ,OAAA;AACR,uGAAA,WAAW,OAAA;AACX,yGAAA,aAAa,OAAA;AACb,0GAAA,cAAc,OAAA;AACd,8GAAA,kBAAkB,OAAA;AAClB,+GAAA,mBAAmB,OAAA;AACnB,uGAAA,WAAW,OAAA;AAIb,mFAAmF;AACnF,gDAO6B;AAN3B,wGAAA,YAAY,OAAA;AACZ,qGAAA,SAAS,OAAA;AACT,0GAAA,cAAc,OAAA;AACd,6GAAA,iBAAiB,OAAA;AACjB,oHAAA,wBAAwB,OAAA;AACxB,uHAAA,2BAA2B,OAAA;AAI7B,8EAA8E;AAC9E,8EAA8E;AAC9E,gFAAgF;AAChF,6EAA6E;AAC7E,gFAAgF;AAChF,sBAAsB;AACtB,4CAAgG;AAAvF,0GAAA,gBAAgB,OAAA;AAAE,oHAAA,0BAA0B,OAAA;AAAE,uGAAA,aAAa,OAAA;AAGpE,iFAAiF;AACjF,2DAA2D;AAC3D,gDAY6B;AAX3B,uGAAA,WAAW,OAAA;AACX,wGAAA,YAAY,OAAA;AACZ,oGAAA,QAAQ,OAAA;AACR,oGAAA,QAAQ,OAAA;AACR,uGAAA,WAAW,OAAA;AACX,uGAAA,WAAW,OAAA;AACX,sGAAA,UAAU,OAAA;AACV,+GAAA,mBAAmB,OAAA;AACnB,4GAAA,gBAAgB,OAAA;AAChB,4GAAA,gBAAgB,OAAA;AAChB,yGAAA,aAAa,OAAA;AAIf,sEAAsE;AACtE,gDAU6B;AAT3B,mHAAA,uBAAuB,OAAA;AACvB,gHAAA,oBAAoB,OAAA;AACpB,sGAAA,UAAU,OAAA;AACV,wGAAA,YAAY,OAAA;AACZ,sGAAA,UAAU,OAAA;AACV,oGAAA,QAAQ,OAAA;AACR,yGAAA,aAAa,OAAA;AACb,4GAAA,gBAAgB,OAAA;AAChB,iHAAA,qBAAqB,OAAA;AAIvB,6EAA6E;AAC7E,+EAA+E;AAC/E,gDAa6B;AAZ3B,qGAAA,SAAS,OAAA;AACT,0GAAA,cAAc,OAAA;AACd,uGAAA,WAAW,OAAA;AACX,qGAAA,SAAS,OAAA;AACT,oGAAA,QAAQ,OAAA;AACR,8GAAA,kBAAkB,OAAA;AAClB,uGAAA,WAAW,OAAA;AACX,kHAAA,sBAAsB,OAAA;AACtB,gHAAA,oBAAoB,OAAA;AACpB,yHAAA,6BAA6B,OAAA;AAC7B,wGAAA,YAAY,OAAA;AACZ,6GAAA,iBAAiB,OAAA;AAYnB,6EAA6E;AAC7E,iDAU6B;AAT3B,yGAAA,YAAY,OAAA;AACZ,gHAAA,mBAAmB,OAAA;AACnB,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AACnB,4GAAA,eAAe,OAAA;AACf,gHAAA,mBAAmB,OAAA;AACnB,yGAAA,YAAY,OAAA;AACZ,+GAAA,kBAAkB,OAAA;AAClB,0GAAA,aAAa,OAAA;AAGf,6EAA6E;AAC7E,iFAAiF;AACjF,2DAA2D;AAC3D,iDAK6B;AAJ3B,gHAAA,mBAAmB,OAAA;AACnB,0GAAA,aAAa,OAAA;AACb,2GAAA,cAAc,OAAA;AACd,6GAAA,gBAAgB,OAAA;AAWlB,6EAA6E;AAC7E,iDAA+F;AAAtF,oGAAA,OAAO,OAAA;AAAE,2GAAA,cAAc,OAAA;AAAE,2GAAA,cAAc,OAAA;AAAE,4GAAA,eAAe,OAAA;AAGjE,6EAA6E;AAC7E,qEAAqE;AACrE,iDAO6B;AAN3B,yGAAA,YAAY,OAAA;AACZ,4GAAA,eAAe,OAAA;AACf,iHAAA,oBAAoB,OAAA;AACpB,uGAAA,UAAU,OAAA;AACV,0GAAA,aAAa,OAAA;AACb,iHAAA,oBAAoB,OAAA;AAItB,iDAA+D;AAAtD,qHAAA,wBAAwB,OAAA;AAGjC,iDAO6B;AAN3B,oHAAA,uBAAuB,OAAA;AACvB,sGAAA,SAAS,OAAA;AACT,4GAAA,eAAe,OAAA;AACf,yGAAA,YAAY,OAAA;AACZ,6GAAA,gBAAgB,OAAA;AAChB,iHAAA,oBAAoB,OAAA;AAItB,6EAA6E;AAC7E,2EAA2E;AAC3E,2EAA2E;AAC3E,wEAAwE;AACxE,4CAY2B;AAXzB,2GAAA,iBAAiB,OAAA;AACjB,qGAAA,WAAW,OAAA;AACX,mGAAA,SAAS,OAAA;AACT,yGAAA,eAAe,OAAA;AACf,mHAAA,yBAAyB,OAAA;AACzB,4GAAA,kBAAkB,OAAA;AAClB,uGAAA,aAAa,OAAA;AACb,mGAAA,SAAS,OAAA;AACT,uGAAA,aAAa,OAAA;AACb,mGAAA,SAAS,OAAA;AACT,sGAAA,YAAY,OAAA;AAId,8EAA8E;AAC9E,4CAW2B;AAVzB,iGAAA,OAAO,OAAA;AACP,qGAAA,WAAW,OAAA;AACX,+FAAA,KAAK,OAAA;AACL,mGAAA,SAAS,OAAA;AACT,8GAAA,oBAAoB,OAAA;AACpB,sGAAA,YAAY,OAAA;AACZ,iGAAA,OAAO,OAAA;AACP,gGAAA,MAAM,OAAA;AACN,oGAAA,UAAU,OAAA;AACV,8FAAA,IAAI,OAAA;AAIN,8EAA8E;AAC9E,4CAAiD;AAAxC,sGAAA,YAAY,OAAA;AAGrB,yEAAyE;AACzE,4CAM2B;AALzB,2GAAA,iBAAiB,OAAA;AACjB,2GAAA,iBAAiB,OAAA;AACjB,+GAAA,qBAAqB,OAAA;AACrB,8GAAA,oBAAoB,OAAA;AACpB,+GAAA,qBAAqB,OAAA;AAIvB,4CAAsD;AAA7C,2GAAA,iBAAiB,OAAA;AAE1B,0FAA0F;AAC1F,sDAAsD;AACtD,4CAAsE;AAA7D,qGAAA,WAAW,OAAA;AAAE,8GAAA,oBAAoB,OAAA;AAG1C,8EAA8E;AAC9E,6EAA6E;AAC7E,EAAE;AACF,+EAA+E;AAC/E,4EAA4E;AAC5E,2EAA2E;AAC3E,EAAE;AACF,0EAA0E;AAC1E,4EAA4E;AAC5E,yCAAyC;AACzC,6EAA6E;AAC7E,2EAA2E;AAC3E,wEAAwE;AACxE,6EAA6E;AAC7E,+EAA+E;AAC/E,EAAE;AACF,8EAA8E;AAC9E,4FAA4F;AAC5F,8EAA8E;AAC9E,0EAA0E;AAC1E,EAAE;AACF,gFAAgF;AAChF,mFAAmF;AACnF,iCAAiC;AACjC,8EAA8E;AAE9E,iDA+C6B;AA9C3B,4DAA4D;AAC5D,iHAAA,oBAAoB,OAAA;AACpB,mHAAA,sBAAsB,OAAA;AACtB,8GAAA,iBAAiB,OAAA;AACjB,kHAAA,qBAAqB,OAAA;AACrB,oHAAA,uBAAuB,OAAA;AACvB,+GAAA,kBAAkB,OAAA;AAClB,2GAAA,cAAc,OAAA;AACd,6GAAA,gBAAgB,OAAA;AAChB,wGAAA,WAAW,OAAA;AACX,2GAAA,cAAc,OAAA;AAEd,+EAA+E;AAC/E,2GAAA,cAAc,OAAA;AACd,wGAAA,WAAW,OAAA;AACX,oHAAA,uBAAuB,OAAA;AACvB,iHAAA,oBAAoB,OAAA;AACpB,8GAAA,iBAAiB,OAAA;AACjB,2GAAA,cAAc,OAAA;AAEd,+DAA+D;AAC/D,wHAAA,2BAA2B,OAAA;AAC3B,8GAAA,iBAAiB,OAAA;AACjB,sHAAA,yBAAyB,OAAA;AACzB,yGAAA,YAAY,OAAA;AACZ,sGAAA,SAAS,OAAA;AAET,oFAAoF;AACpF,oFAAoF;AACpF,qEAAqE;AACrE,2GAAA,cAAc,OAAA;AACd,gHAAA,mBAAmB,OAAA;AACnB,6GAAA,gBAAgB,OAAA;AAChB,0FAA0F;AAC1F,iHAAA,oBAAoB,OAAA;AACpB,qGAAA,QAAQ,OAAA;AACR,0GAAA,aAAa,OAAA;AACb,uGAAA,UAAU,OAAA;AACV,2GAAA,cAAc,OAAA;AACd,uGAAA,UAAU,OAAA;AACV,8GAAA,iBAAiB,OAAA;AAEjB,6EAA6E;AAC7E,yGAAA,YAAY,OAAA;AACZ,iHAAA,oBAAoB,OAAA;AACpB,sHAAA,yBAAyB,OAAA;AA8B3B,8EAA8E;AAC9E,iFAAiF;AACjF,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,kFAAkF;AAClF,gFAAgF;AAChF,sEAAsE;AACtE,EAAE;AACF,gFAAgF;AAChF,4EAA4E;AAC5E,kFAAkF;AAClF,iFAAiF;AACjF,kCAAkC;AAClC,gFAAgF;AAChF,kFAAkF;AAClF,+EAA+E;AAC/E,4EAA4E;AAC5E,iFAAiF;AACjF,8EAA8E;AAC9E,+EAA+E;AAC/E,8EAA8E;AAC9E,iFAAiF;AACjF,EAAE;AACF,4EAA4E;AAC5E,oFAAoF;AACpF,kDAAkD;AAClD,8EAA8E;AAE9E,iDAqC6B;AApC3B,gEAAgE;AAChE,0GAAA,aAAa,OAAA;AACb,8GAAA,iBAAiB,OAAA;AACjB,4GAAA,eAAe,OAAA;AACf,qGAAA,QAAQ,OAAA;AACR,qGAAA,QAAQ,OAAA;AACR,uGAAA,UAAU,OAAA;AACV,+GAAA,kBAAkB,OAAA;AAClB,oHAAA,uBAAuB,OAAA;AACvB,kHAAA,qBAAqB,OAAA;AAErB,+EAA+E;AAC/E,0DAA0D;AAC1D,0GAAA,aAAa,OAAA;AACb,wGAAA,WAAW,OAAA;AACX,+GAAA,kBAAkB,OAAA;AAClB,mHAAA,sBAAsB,OAAA;AACtB,uGAAA,UAAU,OAAA;AAEV,qEAAqE;AACrE,gHAAA,mBAAmB,OAAA;AACnB,4GAAA,eAAe,OAAA;AACf,8GAAA,iBAAiB,OAAA;AACjB,yGAAA,YAAY,OAAA;AACZ,4GAAA,eAAe,OAAA;AAEf,uEAAuE;AACvE,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,2GAAA,cAAc,OAAA;AACd,mHAAA,sBAAsB,OAAA;AAEtB,gFAAgF;AAChF,2GAAA,cAAc,OAAA;AACd,gHAAA,mBAAmB,OAAA;AAkBrB,+EAA+E;AAC/E,6DAA6D;AAC7D,4CAAoD;AAA3C,yGAAA,eAAe,OAAA;AA0BxB,4CAA+C;AAAtC,oGAAA,UAAU,OAAA;AACnB,6CAAqG;AAA5F,+GAAA,oBAAoB,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAAE,+GAAA,oBAAoB,OAAA;AAEzE,kFAAkF;AAClF,gFAAgF;AAChF,iFAAiF;AACjF,qFAAqF;AACrF,mFAAmF;AACnF,6EAA6E;AAC7E,6CAAgD;AAAvC,sGAAA,WAAW,OAAA;AAIpB,8EAA8E;AAC9E,sDAAsD;AACtD,EAAE;AACF,kFAAkF;AAClF,yEAAyE;AACzE,uEAAuE;AACvE,yEAAyE;AACzE,8EAA8E;AAC9E,mEAAmE;AACnE,EAAE;AACF,yDAAyD;AACzD,sBAAsB;AACtB,EAAE;AACF,wDAAwD;AACxD,oDAAoD;AACpD,8EAA8E;AAC9E,iDAiB2B;AAhBzB,wGAAA,SAAS,OAAA;AACT,2GAAA,YAAY,OAAA;AACZ,uGAAA,QAAQ,OAAA;AACR,wGAAA,SAAS,OAAA;AACT,yGAAA,UAAU,OAAA;AACV,qHAAA,sBAAsB,OAAA;AACtB,mHAAA,oBAAoB,OAAA;AACpB,8DAA8D;AAC9D,2GAAA,YAAY,OAAA;AACZ,0GAAA,WAAW,OAAA;AACX,0GAAA,WAAW,OAAA;AACX,6GAAA,cAAc,OAAA;AACd,6GAAA,cAAc,OAAA;AACd,8GAAA,eAAe,OAAA;AACf,2GAAA,YAAY,OAAA;AACZ,4GAAA,aAAa,OAAA;AAkBf,yEAAyE;AACzE,oEAAoE;AACpE,iDAW2B;AAVzB,sGAAA,OAAO,OAAA;AACP,uGAAA,QAAQ,OAAA;AACR,uGAAA,QAAQ,OAAA;AACR,yGAAA,UAAU,OAAA;AACV,yGAAA,UAAU,OAAA;AACV,sGAAA,OAAO,OAAA;AACP,sGAAA,OAAO,OAAA;AACP,2GAAA,YAAY,OAAA;AACZ,uGAAA,QAAQ,OAAA;AACR,4GAAA,aAAa,OAAA;AAIf,8EAA8E;AAC9E,0DAA0D;AAC1D,EAAE;AACF,iFAAiF;AACjF,6EAA6E;AAC7E,2EAA2E;AAC3E,4EAA4E;AAC5E,kEAAkE;AAClE,yEAAyE;AACzE,iEAAiE;AACjE,8EAA8E;AAC9E,qDA0B6B;AAzB3B,kHAAA,iBAAiB,OAAA;AACjB,6GAAA,YAAY,OAAA;AACZ,+GAAA,cAAc,OAAA;AACd,8GAAA,aAAa,OAAA;AACb,2GAAA,UAAU,OAAA;AACV,4GAAA,WAAW,OAAA;AACX,2GAAA,UAAU,OAAA;AACV,iHAAA,gBAAgB,OAAA;AAChB,iHAAA,gBAAgB,OAAA;AAChB,oHAAA,mBAAmB,OAAA;AACnB,yHAAA,wBAAwB,OAAA;AACxB,uHAAA,sBAAsB,OAAA;AACtB,0EAA0E;AAC1E,0GAAA,SAAS,OAAA;AACT,2EAA2E;AAC3E,6EAA6E;AAC7E,qBAAqB;AACrB,sHAAA,qBAAqB,OAAA;AACrB,gHAAA,eAAe,OAAA;AACf,iHAAA,gBAAgB,OAAA;AAChB,gHAAA,eAAe,OAAA;AACf,kHAAA,iBAAiB,OAAA;AACjB,mHAAA,kBAAkB,OAAA;AAClB,kHAAA,iBAAiB,OAAA;AACjB,sHAAA,qBAAqB,OAAA;AA2BvB;;;;;;;;;;;;;;;;;;;;;;;;;;gFA0BgF;AAChF,4DAAkC;AAClC,8DAAoC;AAEpC;;;;;;;;;;;GAWG;AACH,6CAM2B;AALzB,oGAAA,SAAS,OAAA;AACT,oGAAA,SAAS,OAAA;AACT,4GAAA,iBAAiB,OAAA;AACjB,sGAAA,WAAW,OAAA;AACX,mGAAA,QAAQ,OAAA;AAEV,4EAA4E;AAC5E,gFAAgF;AAChF,4EAA4E;AAC5E,6EAA6E;AAC7E,sDAAsD;AACtD,iDAI6B;AAH3B,oHAAA,iBAAiB,OAA2B;AAC5C,iHAAA,WAAW,OAAwB;AACnC,0GAAA,QAAQ,OAAiB;AA0B3B,gEAAgE;AAChE,qFAAqF;AACrF,2DAA2D;AAC3D,IAAA,4CAAmB,GAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../libs/element/src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { bindStencilPalette } from './palette';
2
+ export type { StencilPaletteApi, StencilPaletteOptions, StencilPaletteHandle, } from './palette';
3
+ export { bindShapeDataPanel } from './shape-data';
4
+ export type { ShapeDataPanelApi, ShapeDataPanelOptions, ShapeDataPanelHandle } from './shape-data';
5
+ export { ensureStencilKitStyles } from './styles';
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ensureStencilKitStyles = exports.bindShapeDataPanel = exports.bindStencilPalette = void 0;
4
+ var palette_1 = require("./palette");
5
+ Object.defineProperty(exports, "bindStencilPalette", { enumerable: true, get: function () { return palette_1.bindStencilPalette; } });
6
+ var shape_data_1 = require("./shape-data");
7
+ Object.defineProperty(exports, "bindShapeDataPanel", { enumerable: true, get: function () { return shape_data_1.bindShapeDataPanel; } });
8
+ var styles_1 = require("./styles");
9
+ Object.defineProperty(exports, "ensureStencilKitStyles", { enumerable: true, get: function () { return styles_1.ensureStencilKitStyles; } });
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../libs/element/src/lib/stencil-kit/index.ts"],"names":[],"mappings":";;;AAAA,qCAA+C;AAAtC,6GAAA,kBAAkB,OAAA;AAM3B,2CAAkD;AAAzC,gHAAA,kBAAkB,OAAA;AAE3B,mCAAkD;AAAzC,gHAAA,sBAAsB,OAAA"}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * The stencil palette — the signature Visio surface: a categorized, searchable
3
+ * list of shape masters you DRAG ONTO THE CANVAS.
4
+ *
5
+ * Two halves, deliberately in one module because they share the drag contract:
6
+ * T6 the palette UI — sections from `listStencils()`, live search, and a
7
+ * thumbnail drawn from the master's OWN outline
8
+ * geometry (`getShape(type).outline(w,h)`), so what
9
+ * you see in the palette is the shape you get.
10
+ * T7 drag-to-place — HTML5 drag-and-drop (not pointer events: the canvas
11
+ * binder consumes pointerdown, and DnD is the gesture
12
+ * browsers already route across two elements). The
13
+ * drop lands the master at the cursor as ONE undoable
14
+ * BatchCommand.
15
+ */
16
+ import { type Stencil, type NodeTemplate } from '@grafloria/engine';
17
+ /** The bits of a diagram instance the palette needs (kept structural so any
18
+ * host — element, React, Vue — satisfies it without importing a class). */
19
+ export interface StencilPaletteApi {
20
+ getEngine(): any;
21
+ getModel(): any;
22
+ viewport: {
23
+ clientToWorld(x: number, y: number, rect: {
24
+ left: number;
25
+ top: number;
26
+ width: number;
27
+ height: number;
28
+ }): {
29
+ x: number;
30
+ y: number;
31
+ };
32
+ };
33
+ }
34
+ export interface StencilPaletteOptions {
35
+ /** Sections to show (default: every built-in stencil). */
36
+ stencils?: Stencil[];
37
+ /** Show the search box (default true). */
38
+ search?: boolean;
39
+ /** Stencil ids to render collapsed initially (default: all but the first). */
40
+ collapsed?: string[];
41
+ /** Data merged into every placed master (e.g. a default label). */
42
+ data?: (master: NodeTemplate) => Record<string, unknown>;
43
+ /** Called after a master is placed on the canvas. */
44
+ onPlace?: (info: {
45
+ master: NodeTemplate;
46
+ nodeId: string;
47
+ x: number;
48
+ y: number;
49
+ }) => void;
50
+ }
51
+ export interface StencilPaletteHandle {
52
+ /** Filter the list programmatically (same as typing in the search box). */
53
+ setSearch(query: string): void;
54
+ /** Place a master at a WORLD point without dragging (keyboard / test path). */
55
+ place(masterId: string, world: {
56
+ x: number;
57
+ y: number;
58
+ }): Promise<string | null>;
59
+ /** Remove listeners and the palette DOM. */
60
+ destroy(): void;
61
+ }
62
+ /**
63
+ * Build a stencil palette in `palette` that drops masters onto `canvas`.
64
+ *
65
+ * @param api the diagram instance (engine + model + viewport)
66
+ * @param hosts `palette`: where the list renders · `canvas`: the drop target
67
+ * (the element the diagram is mounted in)
68
+ */
69
+ export declare function bindStencilPalette(api: StencilPaletteApi, hosts: {
70
+ palette: HTMLElement;
71
+ canvas: HTMLElement;
72
+ }, options?: StencilPaletteOptions): StencilPaletteHandle;
@@ -0,0 +1,275 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bindStencilPalette = bindStencilPalette;
4
+ const tslib_1 = require("tslib");
5
+ /**
6
+ * The stencil palette — the signature Visio surface: a categorized, searchable
7
+ * list of shape masters you DRAG ONTO THE CANVAS.
8
+ *
9
+ * Two halves, deliberately in one module because they share the drag contract:
10
+ * T6 the palette UI — sections from `listStencils()`, live search, and a
11
+ * thumbnail drawn from the master's OWN outline
12
+ * geometry (`getShape(type).outline(w,h)`), so what
13
+ * you see in the palette is the shape you get.
14
+ * T7 drag-to-place — HTML5 drag-and-drop (not pointer events: the canvas
15
+ * binder consumes pointerdown, and DnD is the gesture
16
+ * browsers already route across two elements). The
17
+ * drop lands the master at the cursor as ONE undoable
18
+ * BatchCommand.
19
+ */
20
+ const engine_1 = require("@grafloria/engine");
21
+ const renderer_1 = require("@grafloria/renderer");
22
+ const styles_1 = require("./styles");
23
+ const SVG_NS = 'http://www.w3.org/2000/svg';
24
+ /** The MIME the palette drags with — namespaced so a page's other DnD is untouched. */
25
+ const DND_TYPE = 'application/x-grafloria-master';
26
+ /** A thumbnail SVG for a master, drawn from its real outline + declared paint. */
27
+ function thumbnail(master, box = 34) {
28
+ var _a, _b, _c, _d, _e, _f;
29
+ const svg = document.createElementNS(SVG_NS, 'svg');
30
+ svg.setAttribute('width', String(box));
31
+ svg.setAttribute('height', String(box));
32
+ svg.setAttribute('viewBox', `0 0 ${box} ${box}`);
33
+ svg.setAttribute('aria-hidden', 'true');
34
+ const struct = (_a = master.structure) !== null && _a !== void 0 ? _a : {};
35
+ const paint = (_b = struct.shape) !== null && _b !== void 0 ? _b : {};
36
+ // Preserve the master's aspect ratio inside the square, with a hairline inset
37
+ // so a 2px stroke isn't clipped at the edges.
38
+ const w0 = Number((_c = struct.size) === null || _c === void 0 ? void 0 : _c.width) || 100;
39
+ const h0 = Number((_d = struct.size) === null || _d === void 0 ? void 0 : _d.height) || 60;
40
+ const pad = 3;
41
+ const s = Math.min((box - pad * 2) / w0, (box - pad * 2) / h0);
42
+ const w = Math.max(6, w0 * s);
43
+ const h = Math.max(6, h0 * s);
44
+ let el;
45
+ try {
46
+ const spec = (0, renderer_1.getShape)(paint.type).outline(w, h);
47
+ el = document.createElementNS(SVG_NS, spec.el);
48
+ for (const [k, v] of Object.entries(spec.geom))
49
+ el.setAttribute(k, String(v));
50
+ }
51
+ catch (_g) {
52
+ el = document.createElementNS(SVG_NS, 'rect');
53
+ el.setAttribute('width', String(w));
54
+ el.setAttribute('height', String(h));
55
+ el.setAttribute('rx', '3');
56
+ }
57
+ el.setAttribute('fill', (_e = paint.fill) !== null && _e !== void 0 ? _e : '#eef1fb');
58
+ el.setAttribute('stroke', (_f = paint.stroke) !== null && _f !== void 0 ? _f : '#3B52D9');
59
+ el.setAttribute('stroke-width', String(Math.min(Number(paint.strokeWidth) || 1.5, 2)));
60
+ const g = document.createElementNS(SVG_NS, 'g');
61
+ g.setAttribute('transform', `translate(${(box - w) / 2} ${(box - h) / 2})`);
62
+ g.appendChild(el);
63
+ svg.appendChild(g);
64
+ return svg;
65
+ }
66
+ /** Root + descendants, so a multi-node master commits (and undoes) as a unit. */
67
+ function subtree(diagram, root) {
68
+ var _a;
69
+ const out = [root];
70
+ const stack = [root];
71
+ while (stack.length) {
72
+ const n = stack.pop();
73
+ const ids = Array.from((_a = n === null || n === void 0 ? void 0 : n.children) !== null && _a !== void 0 ? _a : []);
74
+ for (const id of ids) {
75
+ const c = diagram.getNode(id);
76
+ if (c) {
77
+ out.push(c);
78
+ stack.push(c);
79
+ }
80
+ }
81
+ }
82
+ return out;
83
+ }
84
+ /**
85
+ * Build a stencil palette in `palette` that drops masters onto `canvas`.
86
+ *
87
+ * @param api the diagram instance (engine + model + viewport)
88
+ * @param hosts `palette`: where the list renders · `canvas`: the drop target
89
+ * (the element the diagram is mounted in)
90
+ */
91
+ function bindStencilPalette(api, hosts, options = {}) {
92
+ var _a, _b, _c;
93
+ (0, styles_1.ensureStencilKitStyles)((_a = hosts.palette.ownerDocument) !== null && _a !== void 0 ? _a : document);
94
+ const stencils = (_b = options.stencils) !== null && _b !== void 0 ? _b : (0, engine_1.listStencils)();
95
+ const collapsed = new Set((_c = options.collapsed) !== null && _c !== void 0 ? _c : stencils.slice(1).map((s) => s.id));
96
+ const { palette, canvas } = hosts;
97
+ let query = '';
98
+ palette.classList.add('gf-stencil');
99
+ palette.innerHTML = '';
100
+ // ── search ───────────────────────────────────────────────────────────────
101
+ let input = null;
102
+ if (options.search !== false) {
103
+ const wrap = document.createElement('div');
104
+ wrap.className = 'gf-stencil-search';
105
+ input = document.createElement('input');
106
+ input.type = 'search';
107
+ input.placeholder = 'Search shapes…';
108
+ input.setAttribute('aria-label', 'Search shapes');
109
+ input.addEventListener('input', () => { query = input.value.trim().toLowerCase(); renderList(); });
110
+ wrap.appendChild(input);
111
+ palette.appendChild(wrap);
112
+ }
113
+ const body = document.createElement('div');
114
+ body.className = 'gf-stencil-body';
115
+ palette.appendChild(body);
116
+ /** A master matches on its display name, its id, or any of its tags. */
117
+ const matches = (m) => {
118
+ var _a, _b;
119
+ if (!query)
120
+ return true;
121
+ const meta = (_a = m.meta) !== null && _a !== void 0 ? _a : {};
122
+ const hay = [meta.name, m.id, ...((_b = meta.tags) !== null && _b !== void 0 ? _b : [])].join(' ').toLowerCase();
123
+ return hay.includes(query);
124
+ };
125
+ function renderList() {
126
+ body.innerHTML = '';
127
+ let shown = 0;
128
+ for (const stencil of stencils) {
129
+ const hits = stencil.masters.filter(matches);
130
+ if (hits.length === 0)
131
+ continue;
132
+ shown += hits.length;
133
+ const group = document.createElement('details');
134
+ group.className = 'gf-stencil-group';
135
+ // A search always opens the sections that matched; otherwise honour the
136
+ // caller's collapsed set.
137
+ group.open = query ? true : !collapsed.has(stencil.id);
138
+ group.addEventListener('toggle', () => {
139
+ if (query)
140
+ return;
141
+ if (group.open)
142
+ collapsed.delete(stencil.id);
143
+ else
144
+ collapsed.add(stencil.id);
145
+ });
146
+ const summary = document.createElement('summary');
147
+ summary.append(stencil.name);
148
+ const count = document.createElement('span');
149
+ count.className = 'gf-stencil-count';
150
+ count.textContent = String(hits.length);
151
+ summary.appendChild(count);
152
+ summary.title = stencil.description;
153
+ group.appendChild(summary);
154
+ const items = document.createElement('div');
155
+ items.className = 'gf-stencil-items';
156
+ for (const master of hits)
157
+ items.appendChild(itemEl(master));
158
+ group.appendChild(items);
159
+ body.appendChild(group);
160
+ }
161
+ if (shown === 0) {
162
+ const empty = document.createElement('div');
163
+ empty.className = 'gf-stencil-empty';
164
+ empty.textContent = query ? `No shapes match “${query}”.` : 'No stencils.';
165
+ body.appendChild(empty);
166
+ }
167
+ }
168
+ function itemEl(master) {
169
+ var _a, _b, _c;
170
+ const meta = (_a = master.meta) !== null && _a !== void 0 ? _a : {};
171
+ const el = document.createElement('div');
172
+ el.className = 'gf-stencil-item';
173
+ el.draggable = true;
174
+ el.dataset['masterId'] = master.id;
175
+ el.title = meta.description ? `${meta.name} — ${meta.description}` : (_b = meta.name) !== null && _b !== void 0 ? _b : master.id;
176
+ el.appendChild(thumbnail(master));
177
+ const label = document.createElement('span');
178
+ label.className = 'gf-stencil-label';
179
+ label.textContent = (_c = meta.name) !== null && _c !== void 0 ? _c : master.id;
180
+ el.appendChild(label);
181
+ el.addEventListener('dragstart', (e) => {
182
+ var _a;
183
+ const dt = e.dataTransfer;
184
+ if (!dt)
185
+ return;
186
+ dt.setData(DND_TYPE, master.id);
187
+ dt.setData('text/plain', (_a = meta.name) !== null && _a !== void 0 ? _a : master.id); // so a stray drop is harmless text
188
+ dt.effectAllowed = 'copy';
189
+ });
190
+ return el;
191
+ }
192
+ // ── drop-to-place on the canvas ──────────────────────────────────────────
193
+ const heldMaster = (e) => {
194
+ const dt = e.dataTransfer;
195
+ if (!dt)
196
+ return null;
197
+ // `getData` is empty during dragover in most browsers — the TYPE is the
198
+ // reliable signal there, and the id itself is read on drop.
199
+ return dt.types.includes(DND_TYPE) ? (dt.getData(DND_TYPE) || '') : null;
200
+ };
201
+ const onDragOver = (e) => {
202
+ if (heldMaster(e) === null)
203
+ return;
204
+ e.preventDefault(); // required, or the drop never fires
205
+ if (e.dataTransfer)
206
+ e.dataTransfer.dropEffect = 'copy';
207
+ canvas.classList.add('gf-stencil-target');
208
+ };
209
+ const onDragLeave = (e) => {
210
+ if (e.relatedTarget && canvas.contains(e.relatedTarget))
211
+ return;
212
+ canvas.classList.remove('gf-stencil-target');
213
+ };
214
+ const onDrop = (e) => {
215
+ const id = heldMaster(e);
216
+ canvas.classList.remove('gf-stencil-target');
217
+ if (!id)
218
+ return;
219
+ e.preventDefault();
220
+ const rect = canvas.getBoundingClientRect();
221
+ void place(id, api.viewport.clientToWorld(e.clientX, e.clientY, rect));
222
+ };
223
+ canvas.addEventListener('dragover', onDragOver);
224
+ canvas.addEventListener('dragleave', onDragLeave);
225
+ canvas.addEventListener('drop', onDrop);
226
+ /**
227
+ * Stamp `masterId` centred on a world point, as ONE undo entry.
228
+ *
229
+ * `NodeFactory.createFromTemplate` adds straight to the model (no command), so
230
+ * the created subtree is captured, taken back out, and re-applied through the
231
+ * CommandManager — one Ctrl+Z removes the whole shape, and collab sees a
232
+ * normal add.
233
+ */
234
+ function place(masterId, world) {
235
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
236
+ var _a, _b, _c, _d, _e, _f, _g, _h;
237
+ const engine = api.getEngine();
238
+ const diagram = api.getModel();
239
+ const registry = engine === null || engine === void 0 ? void 0 : engine.templateRegistry;
240
+ const master = registry === null || registry === void 0 ? void 0 : registry.get(masterId);
241
+ if (!master || !diagram)
242
+ return null;
243
+ const struct = (_a = master.structure) !== null && _a !== void 0 ? _a : {};
244
+ const w = Number((_b = struct.size) === null || _b === void 0 ? void 0 : _b.width) || 100;
245
+ const h = Number((_c = struct.size) === null || _c === void 0 ? void 0 : _c.height) || 60;
246
+ const at = { x: world.x - w / 2, y: world.y - h / 2 }; // drop centres on the cursor
247
+ const factory = new engine_1.NodeFactory(registry, diagram);
248
+ const root = factory.createFromTemplate(masterId, (_e = (_d = options.data) === null || _d === void 0 ? void 0 : _d.call(options, master)) !== null && _e !== void 0 ? _e : {}, at);
249
+ const created = subtree(diagram, root);
250
+ // Serialize into commands BEFORE detaching (AddNodeCommand snapshots in its
251
+ // constructor), then detach and replay through the command manager.
252
+ const cmds = created.map((n) => new engine_1.AddNodeCommand(n));
253
+ for (const n of [...created].reverse())
254
+ diagram.removeNode(n.id);
255
+ yield engine.commandManager.execute(new engine_1.BatchCommand(`Place ${(_g = (_f = master.meta) === null || _f === void 0 ? void 0 : _f.name) !== null && _g !== void 0 ? _g : masterId}`, cmds));
256
+ (_h = options.onPlace) === null || _h === void 0 ? void 0 : _h.call(options, { master, nodeId: root.id, x: at.x, y: at.y });
257
+ return root.id;
258
+ });
259
+ }
260
+ renderList();
261
+ return {
262
+ setSearch(q) { query = (q !== null && q !== void 0 ? q : '').trim().toLowerCase(); if (input)
263
+ input.value = q !== null && q !== void 0 ? q : ''; renderList(); },
264
+ place,
265
+ destroy() {
266
+ canvas.removeEventListener('dragover', onDragOver);
267
+ canvas.removeEventListener('dragleave', onDragLeave);
268
+ canvas.removeEventListener('drop', onDrop);
269
+ canvas.classList.remove('gf-stencil-target');
270
+ palette.classList.remove('gf-stencil');
271
+ palette.innerHTML = '';
272
+ },
273
+ };
274
+ }
275
+ //# sourceMappingURL=palette.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"palette.js","sourceRoot":"","sources":["../../../../../../libs/element/src/lib/stencil-kit/palette.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export interface ShapeDataPanelApi {
2
+ getEngine(): any;
3
+ getModel(): any;
4
+ on(event: string, handler: (payload: any) => void): () => void;
5
+ }
6
+ export interface ShapeDataPanelOptions {
7
+ /** Heading above the fields (default "Shape data"). */
8
+ title?: string;
9
+ /** Shown when nothing (or more than one thing) is selected. */
10
+ emptyText?: string;
11
+ /** Called after an edit commits. */
12
+ onEdit?: (info: {
13
+ nodeId: string;
14
+ key: string;
15
+ value: unknown;
16
+ }) => void;
17
+ }
18
+ export interface ShapeDataPanelHandle {
19
+ /** Re-read the selection and rebuild the fields. */
20
+ refresh(): void;
21
+ destroy(): void;
22
+ }
23
+ /**
24
+ * Bind a shape-data panel into `host`. It follows the diagram's selection: one
25
+ * node selected → its schema's fields; anything else → the empty message.
26
+ */
27
+ export declare function bindShapeDataPanel(api: ShapeDataPanelApi, host: HTMLElement, options?: ShapeDataPanelOptions): ShapeDataPanelHandle;
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.bindShapeDataPanel = bindShapeDataPanel;
4
+ /**
5
+ * The shape-data panel — Visio's "Shape Data" window.
6
+ *
7
+ * T9. Every master ships a `dataSchema` (all 80 generated ones do) and the values
8
+ * live on `node.data`. The renderer already had a full `property-schema/` type
9
+ * contract, but it was TYPES ONLY — zero runtime — and the one working property
10
+ * sheet was inside the Angular wrapper, unreachable from a vanilla / React / Vue
11
+ * embed. This is the framework-free runtime: read the selected node's schema,
12
+ * render its fields, and write them back through `SetNodeDataCommand` so every
13
+ * edit is undoable and collab-safe (per-key, matching node.data's LWW registers).
14
+ */
15
+ const engine_1 = require("@grafloria/engine");
16
+ const styles_1 = require("./styles");
17
+ /** The schema a node's shape data follows, via the master it was stamped from. */
18
+ function schemaFor(engine, node) {
19
+ var _a, _b, _c, _d;
20
+ const templateId = (_a = node === null || node === void 0 ? void 0 : node.getMetadata) === null || _a === void 0 ? void 0 : _a.call(node, 'templateId');
21
+ if (!templateId)
22
+ return null;
23
+ const master = (_c = (_b = engine === null || engine === void 0 ? void 0 : engine.templateRegistry) === null || _b === void 0 ? void 0 : _b.get) === null || _c === void 0 ? void 0 : _c.call(_b, templateId);
24
+ const props = (_d = master === null || master === void 0 ? void 0 : master.dataSchema) === null || _d === void 0 ? void 0 : _d.properties;
25
+ return props && typeof props === 'object' ? props : null;
26
+ }
27
+ /** Turn `unitCost` / `unit_cost` into "Unit cost" for the field label. */
28
+ function humanize(key) {
29
+ const spaced = key.replace(/[_-]+/g, ' ').replace(/([a-z0-9])([A-Z])/g, '$1 $2');
30
+ return spaced.charAt(0).toUpperCase() + spaced.slice(1);
31
+ }
32
+ /**
33
+ * Bind a shape-data panel into `host`. It follows the diagram's selection: one
34
+ * node selected → its schema's fields; anything else → the empty message.
35
+ */
36
+ function bindShapeDataPanel(api, host, options = {}) {
37
+ var _a, _b, _c;
38
+ (0, styles_1.ensureStencilKitStyles)((_a = host.ownerDocument) !== null && _a !== void 0 ? _a : document);
39
+ host.classList.add('gf-shapedata');
40
+ const title = (_b = options.title) !== null && _b !== void 0 ? _b : 'Shape data';
41
+ const emptyText = (_c = options.emptyText) !== null && _c !== void 0 ? _c : 'Select a shape to edit its data.';
42
+ function render() {
43
+ var _a, _b, _c, _d, _e, _f;
44
+ host.innerHTML = '';
45
+ const head = document.createElement('div');
46
+ head.className = 'gf-sd-title';
47
+ head.textContent = title;
48
+ host.appendChild(head);
49
+ const diagram = api.getModel();
50
+ const engine = api.getEngine();
51
+ const selected = ((_b = (_a = diagram === null || diagram === void 0 ? void 0 : diagram.getSelectedNodes) === null || _a === void 0 ? void 0 : _a.call(diagram)) !== null && _b !== void 0 ? _b : []);
52
+ if (selected.length !== 1) {
53
+ const empty = document.createElement('div');
54
+ empty.className = 'gf-sd-empty';
55
+ empty.textContent = selected.length > 1 ? 'Select a single shape.' : emptyText;
56
+ host.appendChild(empty);
57
+ return;
58
+ }
59
+ const node = selected[0];
60
+ const props = schemaFor(engine, node);
61
+ if (!props || Object.keys(props).length === 0) {
62
+ const empty = document.createElement('div');
63
+ empty.className = 'gf-sd-empty';
64
+ empty.textContent = 'This shape has no data fields.';
65
+ host.appendChild(empty);
66
+ return;
67
+ }
68
+ const form = document.createElement('div');
69
+ form.className = 'gf-sd-fields';
70
+ for (const [key, prop] of Object.entries(props)) {
71
+ const row = document.createElement('label');
72
+ row.className = 'gf-sd-row';
73
+ const label = document.createElement('span');
74
+ label.className = 'gf-sd-label';
75
+ label.textContent = (_c = prop.title) !== null && _c !== void 0 ? _c : humanize(key);
76
+ if (prop.description)
77
+ row.title = prop.description;
78
+ row.appendChild(label);
79
+ const current = (_f = (_e = (_d = node.getData) === null || _d === void 0 ? void 0 : _d.call(node, key)) !== null && _e !== void 0 ? _e : prop.default) !== null && _f !== void 0 ? _f : '';
80
+ // Commit through the command so the edit is undoable and collab-safe.
81
+ const commit = (value) => {
82
+ var _a;
83
+ void engine.commandManager.execute(new engine_1.SetNodeDataCommand(node.id, { [key]: value }));
84
+ (_a = options.onEdit) === null || _a === void 0 ? void 0 : _a.call(options, { nodeId: node.id, key, value });
85
+ };
86
+ let field;
87
+ if (Array.isArray(prop.enum) && prop.enum.length > 0) {
88
+ const sel = document.createElement('select');
89
+ sel.className = 'gf-sd-input';
90
+ for (const opt of prop.enum) {
91
+ const o = document.createElement('option');
92
+ o.value = String(opt);
93
+ o.textContent = String(opt);
94
+ if (String(opt) === String(current))
95
+ o.selected = true;
96
+ sel.appendChild(o);
97
+ }
98
+ sel.addEventListener('change', () => commit(sel.value));
99
+ field = sel;
100
+ }
101
+ else if (prop.type === 'boolean') {
102
+ const box = document.createElement('input');
103
+ box.type = 'checkbox';
104
+ box.className = 'gf-sd-check';
105
+ box.checked = current === true || current === 'true';
106
+ box.addEventListener('change', () => commit(box.checked));
107
+ field = box;
108
+ }
109
+ else {
110
+ const input = document.createElement('input');
111
+ const numeric = prop.type === 'number' || prop.type === 'integer';
112
+ input.type = numeric ? 'number' : 'text';
113
+ input.className = 'gf-sd-input';
114
+ input.value = current === undefined || current === null ? '' : String(current);
115
+ // Commit on change (blur / Enter), not per keystroke: one undo entry per edit.
116
+ input.addEventListener('change', () => {
117
+ var _a, _b;
118
+ if (numeric) {
119
+ const n = input.value === '' ? null : Number(input.value);
120
+ if (n !== null && Number.isNaN(n)) {
121
+ input.value = String((_b = (_a = node.getData) === null || _a === void 0 ? void 0 : _a.call(node, key)) !== null && _b !== void 0 ? _b : '');
122
+ return;
123
+ }
124
+ commit(n);
125
+ }
126
+ else {
127
+ commit(input.value);
128
+ }
129
+ });
130
+ input.addEventListener('keydown', (e) => {
131
+ e.stopPropagation(); // keep canvas keys out of the field
132
+ if (e.key === 'Enter')
133
+ input.blur();
134
+ });
135
+ field = input;
136
+ }
137
+ row.appendChild(field);
138
+ form.appendChild(row);
139
+ }
140
+ host.appendChild(form);
141
+ }
142
+ const off = api.on('selection:change', () => render());
143
+ render();
144
+ return {
145
+ refresh: render,
146
+ destroy() {
147
+ off === null || off === void 0 ? void 0 : off();
148
+ host.classList.remove('gf-shapedata');
149
+ host.innerHTML = '';
150
+ },
151
+ };
152
+ }
153
+ //# sourceMappingURL=shape-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shape-data.js","sourceRoot":"","sources":["../../../../../../libs/element/src/lib/stencil-kit/shape-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ /** Inject the palette stylesheet once per document. */
2
+ export declare function ensureStencilKitStyles(doc?: Document): void;
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ensureStencilKitStyles = ensureStencilKitStyles;
4
+ /**
5
+ * Stencil-palette styles, injected once per document (same discipline as the
6
+ * dashboard kit: the kit owns its chrome so a host gets a working palette
7
+ * without copying CSS, and every colour is a themable custom property).
8
+ */
9
+ const STENCIL_KIT_STYLE_ID = 'grafloria-stencil-kit-styles';
10
+ const CSS = `
11
+ .gf-stencil {
12
+ --gf-st-bg: #fff; --gf-st-ink: #1e2436; --gf-st-mut: #6b7280;
13
+ --gf-st-line: #e5e7eb; --gf-st-accent: #3B52D9; --gf-st-hover: #f5f7ff;
14
+ display: flex; flex-direction: column; min-height: 0; height: 100%;
15
+ background: var(--gf-st-bg); color: var(--gf-st-ink);
16
+ font: 13px/1.4 ui-sans-serif, system-ui, -apple-system, sans-serif;
17
+ border-right: 1px solid var(--gf-st-line); box-sizing: border-box;
18
+ }
19
+ @media (prefers-color-scheme: dark) {
20
+ .gf-stencil {
21
+ --gf-st-bg: #161a24; --gf-st-ink: #e8ecfb; --gf-st-mut: #9aa4bf;
22
+ --gf-st-line: #2a3040; --gf-st-accent: #8fa2ff; --gf-st-hover: #1e2536;
23
+ }
24
+ }
25
+ .gf-stencil-search { padding: 10px; border-bottom: 1px solid var(--gf-st-line); }
26
+ .gf-stencil-search input {
27
+ width: 100%; box-sizing: border-box; padding: 7px 10px; border-radius: 8px;
28
+ border: 1px solid var(--gf-st-line); background: var(--gf-st-bg);
29
+ color: var(--gf-st-ink); font: inherit; outline: none;
30
+ }
31
+ .gf-stencil-search input:focus { border-color: var(--gf-st-accent); }
32
+ .gf-stencil-body { overflow: auto; flex: 1; min-height: 0; padding-bottom: 8px; }
33
+ .gf-stencil-group > summary {
34
+ cursor: pointer; padding: 8px 10px; font-weight: 600; font-size: 12px;
35
+ letter-spacing: .02em; text-transform: uppercase; color: var(--gf-st-mut);
36
+ list-style: none; user-select: none; display: flex; align-items: center; gap: 6px;
37
+ }
38
+ .gf-stencil-group > summary::-webkit-details-marker { display: none; }
39
+ .gf-stencil-group > summary::before { content: '▸'; font-size: 10px; transition: transform .15s; }
40
+ .gf-stencil-group[open] > summary::before { transform: rotate(90deg); }
41
+ .gf-stencil-group > summary:hover { color: var(--gf-st-ink); }
42
+ .gf-stencil-count { margin-left: auto; font-weight: 500; opacity: .7; text-transform: none; }
43
+ .gf-stencil-items {
44
+ display: grid; grid-template-columns: repeat(auto-fill, minmax(74px, 1fr));
45
+ gap: 4px; padding: 2px 8px 10px;
46
+ }
47
+ .gf-stencil-item {
48
+ display: flex; flex-direction: column; align-items: center; gap: 4px;
49
+ padding: 8px 4px; border-radius: 8px; cursor: grab; border: 1px solid transparent;
50
+ text-align: center; background: none;
51
+ }
52
+ .gf-stencil-item:hover { background: var(--gf-st-hover); border-color: var(--gf-st-line); }
53
+ .gf-stencil-item:active { cursor: grabbing; }
54
+ .gf-stencil-item svg { display: block; overflow: visible; }
55
+ .gf-stencil-label {
56
+ font-size: 10.5px; color: var(--gf-st-mut); line-height: 1.25;
57
+ display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
58
+ overflow: hidden; word-break: break-word;
59
+ }
60
+ .gf-stencil-item:hover .gf-stencil-label { color: var(--gf-st-ink); }
61
+ .gf-stencil-empty { padding: 18px 12px; color: var(--gf-st-mut); font-size: 12px; text-align: center; }
62
+ .gf-shapedata {
63
+ --gf-st-bg: #fff; --gf-st-ink: #1e2436; --gf-st-mut: #6b7280;
64
+ --gf-st-line: #e5e7eb; --gf-st-accent: #3B52D9;
65
+ display: flex; flex-direction: column; height: 100%; box-sizing: border-box;
66
+ background: var(--gf-st-bg); color: var(--gf-st-ink); overflow: auto;
67
+ font: 13px/1.4 ui-sans-serif, system-ui, -apple-system, sans-serif;
68
+ border-left: 1px solid var(--gf-st-line);
69
+ }
70
+ @media (prefers-color-scheme: dark) {
71
+ .gf-shapedata { --gf-st-bg: #161a24; --gf-st-ink: #e8ecfb; --gf-st-mut: #9aa4bf; --gf-st-line: #2a3040; --gf-st-accent: #8fa2ff; }
72
+ }
73
+ .gf-sd-title {
74
+ padding: 10px 12px; font-weight: 600; font-size: 12px; text-transform: uppercase;
75
+ letter-spacing: .02em; color: var(--gf-st-mut); border-bottom: 1px solid var(--gf-st-line);
76
+ }
77
+ .gf-sd-empty { padding: 16px 12px; color: var(--gf-st-mut); font-size: 12px; }
78
+ .gf-sd-fields { display: flex; flex-direction: column; gap: 8px; padding: 12px; }
79
+ .gf-sd-row { display: flex; flex-direction: column; gap: 3px; }
80
+ .gf-sd-label { font-size: 11px; color: var(--gf-st-mut); }
81
+ .gf-sd-input {
82
+ padding: 6px 8px; border: 1px solid var(--gf-st-line); border-radius: 7px;
83
+ background: var(--gf-st-bg); color: var(--gf-st-ink); font: inherit; outline: none; width: 100%; box-sizing: border-box;
84
+ }
85
+ .gf-sd-input:focus { border-color: var(--gf-st-accent); }
86
+ .gf-sd-check { width: 16px; height: 16px; accent-color: var(--gf-st-accent); }
87
+
88
+ /* The canvas while a stencil is held over it. */
89
+ .gf-stencil-target { outline: 2px dashed var(--gf-st-accent); outline-offset: -3px; }
90
+ `;
91
+ /** Inject the palette stylesheet once per document. */
92
+ function ensureStencilKitStyles(doc = document) {
93
+ if (doc.getElementById(STENCIL_KIT_STYLE_ID))
94
+ return;
95
+ const style = doc.createElement('style');
96
+ style.id = STENCIL_KIT_STYLE_ID;
97
+ style.textContent = CSS;
98
+ doc.head.appendChild(style);
99
+ }
100
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../../../libs/element/src/lib/stencil-kit/styles.ts"],"names":[],"mappings":";;AA0FA,wDAMC;AAhGD;;;;GAIG;AACH,MAAM,oBAAoB,GAAG,8BAA8B,CAAC;AAE5D,MAAM,GAAG,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgFX,CAAC;AAEF,uDAAuD;AACvD,SAAgB,sBAAsB,CAAC,MAAgB,QAAQ;IAC7D,IAAI,GAAG,CAAC,cAAc,CAAC,oBAAoB,CAAC;QAAE,OAAO;IACrD,MAAM,KAAK,GAAG,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACzC,KAAK,CAAC,EAAE,GAAG,oBAAoB,CAAC;IAChC,KAAK,CAAC,WAAW,GAAG,GAAG,CAAC;IACxB,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC"}