@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/package.json ADDED
@@ -0,0 +1,41 @@
1
+ {
2
+ "name": "@grafloria/element",
3
+ "version": "0.1.0",
4
+ "type": "commonjs",
5
+ "main": "./src/index.js",
6
+ "types": "./src/index.d.ts",
7
+ "peerDependencies": {
8
+ "@grafloria/engine": "^0.1.0",
9
+ "@grafloria/renderer": "^0.1.0"
10
+ },
11
+ "dependencies": {
12
+ "tslib": "^2.3.0"
13
+ },
14
+ "description": "The <grafloria-flow> custom element and high-level diagram kits (dashboard, UML, ERD) — works in any framework or none",
15
+ "license": "MIT",
16
+ "author": "Ramy Othman",
17
+ "homepage": "https://github.com/grafloria/grafloria",
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "git+https://github.com/grafloria/grafloria.git",
21
+ "directory": "libs/element"
22
+ },
23
+ "bugs": {
24
+ "url": "https://github.com/grafloria/grafloria/issues"
25
+ },
26
+ "keywords": [
27
+ "diagram",
28
+ "flowchart",
29
+ "graph",
30
+ "node-editor",
31
+ "dashboard",
32
+ "uml",
33
+ "erd",
34
+ "svg",
35
+ "layout",
36
+ "mermaid"
37
+ ],
38
+ "publishConfig": {
39
+ "access": "public"
40
+ }
41
+ }
package/src/index.d.ts ADDED
@@ -0,0 +1,87 @@
1
+ /**
2
+ * `@grafloria/element` — the universal embed.
3
+ *
4
+ * Two surfaces over the same headless core:
5
+ *
6
+ * 1. `<grafloria-flow>` — a custom element. Attributes/properties in, DOM events
7
+ * out, slotted `<template>`s for custom nodes. Works in Vue, Svelte, Solid,
8
+ * Lit, Alpine, plain HTML, a CMS, a notebook — with no wrapper library.
9
+ * 2. `Grafloria.render(spec, el)` — the Mermaid-shaped one-call API.
10
+ *
11
+ * Importing this module registers `<grafloria-flow>` automatically (and is a no-op
12
+ * on the server, where `customElements` does not exist). Call
13
+ * `Grafloria.define('my-flow')` yourself if you want a different tag name.
14
+ */
15
+ export { GrafloriaFlowElement, defineGrafloriaFlow, GRAFLORIA_EVENTS } from './lib/grafloria-flow-element';
16
+ export { Grafloria, render, renderStatic } from './lib/grafloria';
17
+ export type { DiagramSpec, RenderSpec, RenderOptions } from './lib/grafloria';
18
+ export { fromDocument } from './lib/load';
19
+ export type { SavedDiagram, FromDocumentOptions, LoadedDiagramSpec } from './lib/load';
20
+ export { registerNodeType, unregisterNodeType, registeredNodeTypes, getNodeType, hasNodeType, renderFromTemplate, } from './lib/node-type-registry';
21
+ export type { NodeTypeRenderer } from './lib/node-type-registry';
22
+ export type { DiagramInstance, CreateDiagramOptions, NodeSpec, EdgeSpec, PortSpec, HydrationSnapshot, StaticRenderOptions, StaticRenderResult, Theme, } from '@grafloria/renderer';
23
+ export { renderToStaticSVG, LIGHT_THEME, DARK_THEME } from '@grafloria/renderer';
24
+ export { createDiagramApi } from '@grafloria/renderer';
25
+ export type { DiagramApi, DiagramSnapshot, GetIntersectingOptions } from '@grafloria/renderer';
26
+ export { HIGH_CONTRAST_LIGHT_THEME, HIGH_CONTRAST_DARK_THEME, DEFAULT_THEME_SET, ColorModeController, resolveThemeFromPrefs, readColorPreferences, MEDIA_PREFERS_DARK, MEDIA_PREFERS_CONTRAST, MEDIA_FORCED_COLORS, } from '@grafloria/renderer';
27
+ export type { ColorMode, ThemeSet, ColorPreferences } from '@grafloria/renderer';
28
+ export { themeRef, isThemeRef, themeRefToken, themeRefVar, resolveThemeRef, themeRefCssValue, resolveBindableVars, } from '@grafloria/renderer';
29
+ export type { ThemeRef } from '@grafloria/renderer';
30
+ export { WCAG, parseColor, toHex, relativeLuminance, contrastRatio, meetsContrast, rgbToHsl, hslToRgb, lightnessOf, withLightness, ensureContrast, auditThemeContrast, assertThemeContrast, deriveTheme, } from '@grafloria/renderer';
31
+ export type { ContrastCheck, ContrastReport, DeriveThemeOptions, Rgb, Hsl } from '@grafloria/renderer';
32
+ export { shadcnBridge, muiBridge, tailwindBridge, BRIDGEABLE_TOKENS, generateTokenBridgeBlock, generateInstanceOverrideCSS, } from '@grafloria/renderer';
33
+ export type { TokenBridge } from '@grafloria/renderer';
34
+ export { portTypeRegistry, arePortDataTypesCompatible, portTypeColor } from '@grafloria/engine';
35
+ export type { PortDataTypeDefinition } from '@grafloria/engine';
36
+ export { defineStyle, defineStyles, getStyle, hasStyle, removeStyle, clearStyles, listStyles, resolveStyleClasses, resolveNodeStyle, resolveLinkStyle, CASCADE_ORDER, } from '@grafloria/renderer';
37
+ export type { NamedStyle, CascadeLayer } from '@grafloria/renderer';
38
+ export { GRAFLORIA_INSTANCE_ATTR, GRAFLORIA_VAR_PREFIX, THEME_VARS, THEME_TOKENS, cssVarName, themeVar, themeVarValue, resolveThemeVars, instanceScopeSelector, } from '@grafloria/renderer';
39
+ export type { ThemeToken } from '@grafloria/renderer';
40
+ export { exportSvg, serializeVNode, vnodeBounds, exportPdf, paginate, buildPrintDocument, exportBatch, createDomRasterBackend, resolveRasterBackend, canRasterizeInThisEnvironment, svgToDataUri, mimeTypeForFormat, } from '@grafloria/renderer';
41
+ export type { SvgExportOptions, SvgExportResult, PdfExportOptions, PdfExportResult, RasterBackend, ExportFormat, ExportOptions, } from '@grafloria/renderer';
42
+ export { GRAFLORIA_NS, GRAFLORIA_MODEL_KEY, embedModelInSvg, extractModelFromSvg, embedModelInPng, extractModelFromPng, extractModel, isEditableArtifact, importDiagram, } from '@grafloria/renderer';
43
+ export { attachCanvasPlugins, createMiniMap, createControls, createBackground, } from '@grafloria/renderer';
44
+ export type { CanvasPluginOptions, CanvasPlugins, MiniMapOptions, ControlsOptions, BackgroundOptions, BackgroundVariant, } from '@grafloria/renderer';
45
+ export { PerfHud, formatSnapshot, EMPTY_SNAPSHOT, QualityGovernor } from '@grafloria/renderer';
46
+ export type { PerfSnapshot, QualityBias, GovernorState, GovernorOptions } from '@grafloria/renderer';
47
+ export { bindPresence, PresenceOverlay, PRESENCE_LAYER_CLASS, actorColor, actorInitials, contrastingTextColor, } from '@grafloria/renderer';
48
+ export type { PresencePeer, PresenceSource, PresenceBinding } from '@grafloria/renderer';
49
+ export { CommentOverlayController } from '@grafloria/renderer';
50
+ export type { CommentSource, CommentRendererHost, CommentOverlayOptions } from '@grafloria/renderer';
51
+ export { InMemoryViewportChannel, presentTo, followPresenter, lockDocument, isDocumentLocked, loadReadonlySnapshot, } from '@grafloria/renderer';
52
+ export type { ViewportChannel, PresenterViewport } from '@grafloria/renderer';
53
+ export { createSyncSession, SyncAdapter, MemoryHub, MemoryTransport, BroadcastChannelTransport, WebSocketTransport, UnreliableHub, Awareness, VersionVector, OpBatcher, CausalBuffer, } from '@grafloria/engine';
54
+ export type { SyncTransport, SyncSessionOptions, SyncAdapterOptions, AwarenessState } from '@grafloria/engine';
55
+ export { Replica, LwwRegistry, OpLog, UndoStack, ReferentialIntegrity, LamportClock, applyOp, replay, compareOps, opId, } from '@grafloria/engine';
56
+ export type { ActorId, Op, ReplicaOptions, Stamp } from '@grafloria/engine';
57
+ export { CommentStore } from '@grafloria/engine';
58
+ export type { AnchorSpec, CommentStoreOptions } from '@grafloria/engine';
59
+ export { exportDiagramText, importDiagramText, stripGrafloriaSidecar, GRAFLORIA_DOC_PREFIX, GRAFLORIA_HASH_PREFIX, } from '@grafloria/engine';
60
+ export type { ExportTextOptions, ImportTextOptions, ImportTextResult } from '@grafloria/engine';
61
+ export { DiagramSerializer } from '@grafloria/engine';
62
+ export { StrokeModel, DEFAULT_STROKE_STYLE } from '@grafloria/engine';
63
+ export type { StrokePoint, StrokeStyle, SerializedStroke } from '@grafloria/engine';
64
+ export { registerLinkTemplate, unregisterLinkTemplate, listLinkTemplates, registerLabelTemplate, unregisterLabelTemplate, listLabelTemplates, registerMarker, unregisterMarker, listMarkers, htmlLabelVNode, registerAnchor, listAnchors, registerConnectionPoint, listConnectionPoints, registerConnector, listConnectors, registerConnectionValidator, isValidConnection, clearConnectionValidators, registerTool, listTools, createDrawTool, createRectangleTool, createEraserTool, createStrokeEditTool, DrawTool, RectangleTool, EraserTool, StrokeEditTool, InkOverlay, INK_OVERLAY_CLASS, createPortal, createViewportPortal, createCounterScaledPortal, } from '@grafloria/renderer';
65
+ export type { LinkTemplate, LinkTemplateContext, LabelTemplate, LabelTemplateContext, MarkerDefinition, MarkerContext, AnchorFn, AnchorContext, ConnectionPointFn, ConnectionPointContext, ConnectorFn, ConnectorContext, ConnectionValidator, ConnectionCandidate, CanvasTool, Portal, ViewportPortal, WhiteboardHost, DrawToolOptions, RectangleToolOptions, EraserToolOptions, StrokeEditToolOptions, InkPreviewStyle, } from '@grafloria/renderer';
66
+ export { registerShape, registerPathShape, unregisterShape, getShape, hasShape, listShapes, getShapeDefinition, getShapeRegistryVersion, onShapeRegistryChange, getNodeSizing, isAutoSized, resolveAspectRatio, clampSizeToConstraints, clampValue, measureLabelContent, desiredNodeSize, outerSizeForInner, autoSizeNode, autoSizeDiagram, getNodeToolbar, resolveToolbar, getHtmlContent, hasHtmlContent, buildHtmlForeignObject, SnapController, DEFAULT_SNAP_CONFIG, } from '@grafloria/renderer';
67
+ export type { ShapeDefinition, PathShapeOptions, PathGeometry, NodeSizing, ClampOptions, ContentSize, AutoSizeOptions, NodeToolbarConfig, HtmlNodeContent, HtmlContentNode, SnapConfig, ProximityCandidate, } from '@grafloria/renderer';
68
+ export { SwimlaneService } from '@grafloria/engine';
69
+ export type { Pool, LaneSpec, CreatePoolOptions, LaneOrientation } from '@grafloria/engine';
70
+ export type { SnapResult, AlignmentGuide, SpacingGuide } from '@grafloria/renderer';
71
+ export { GroupModel } from '@grafloria/engine';
72
+ export { GroupCollapseService, PROXY_NODE_GROUP_KEY, PROXY_LINK_GROUP_KEY } from '@grafloria/engine';
73
+ export { serveLayout } from '@grafloria/engine';
74
+ export type { LayoutPort, LayoutServePort, LayoutProgress } from '@grafloria/engine';
75
+ export { erDiagram, erRowCenterY, ER_ROW_H, ER_HEAD_H, umlDiagram, ensureDiagramKitStyles, DIAGRAM_KIT_STYLE_ID, updateEntity, updateClass, addColumnAt, removeColumnAt, renameColumnAt, bindCardEditing, matchColumns, rowIndexFromY, } from './lib/diagram-kit';
76
+ export type { ErColumn, ErEntitySpec, ErRelationshipSpec, ErCardinality, ErSide, ErDiagramOptions, UmlClassSpec, UmlRelationshipSpec, UmlRelationKind, UmlSide, UmlDiagramOptions, ErEntityDelta, UmlClassDelta, CardEditingHandle, } from './lib/diagram-kit';
77
+ export { erTable, umlClass, erTables, umlClasses, CardHandle, ErTable, ErField, ErColumnList, UmlClass, UmlMemberList, } from './lib/diagram-kit';
78
+ export type { HandleApi } from './lib/diagram-kit';
79
+ 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
+ export type { DashboardGridApi, DashboardGridOptions, DashboardGridHandle, CellRect, WorldRect, DashboardGridGeometry, TileDelta, DashboardOptions, DashboardSpec, DashboardHandle, DashboardViewSpec, DashboardWidgetSpec, WidgetHandle, WidgetRenderer, KpiWidgetData, LineWidgetData, LineSeries, BarWidgetData, DonutWidgetData, FunnelWidgetData, TableWidgetData, } from './lib/dashboard-kit';
81
+ export * from '@grafloria/engine';
82
+ export * from '@grafloria/renderer';
83
+ export { NodeModel, PortModel, distanceToSegment, rotatePoint, coalesce, } from '@grafloria/engine';
84
+ export { distanceToSegment as distanceToSegmentCanvas, rotatePoint as rotatePointSelection, coalesce as coalesceRects, } from '@grafloria/renderer';
85
+ export type { Point, BoundingBox, Rectangle, ValidationResult, ValidationError, PortLayoutArgs, PortLayoutSpec, } from '@grafloria/engine';
86
+ export type { ConnectionValidator as EngineConnectionValidator } from '@grafloria/engine';
87
+ export type { BoundingBox as RendererBoundingBox, Rectangle as RendererRectangle, ValidationResult as PropertySchemaValidationResult, ValidationError as PropertySchemaValidationError, PortLayoutArgs as RendererPortLayoutArgs, PortLayoutSpec as RendererPortLayoutSpec, } from '@grafloria/renderer';