@likec4/diagram 1.41.0 → 1.42.1
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 +1 -1
- package/bundle/index.js +44390 -25365
- package/bundle/package.json +4 -0
- package/custom/package.json +4 -0
- package/dist/LikeC4Diagram.d.ts +7 -1
- package/dist/LikeC4Diagram.js +66 -33
- package/dist/LikeC4Diagram.props.d.ts +40 -40
- package/dist/LikeC4ModelProvider.js +1 -1
- package/dist/LikeC4ProjectsProvider.js +1 -1
- package/dist/LikeC4Styles.d.ts +6 -2
- package/dist/LikeC4Styles.js +22 -54
- package/dist/{bundle/LikeC4View.props.d.ts → LikeC4View.d.ts} +29 -25
- package/dist/LikeC4View.js +173 -0
- package/dist/{bundle/ReactLikeC4.d.ts → ReactLikeC4.d.ts} +15 -9
- package/dist/ReactLikeC4.js +65 -0
- package/dist/StaticLikeC4Diagram.d.ts +7 -1
- package/dist/StaticLikeC4Diagram.js +0 -1
- package/dist/base/BaseXYFlow.d.ts +3 -3
- package/dist/base/BaseXYFlow.js +11 -9
- package/dist/base/index.d.ts +1 -1
- package/dist/base/types.d.ts +65 -65
- package/dist/base/types.js +44 -45
- package/dist/base/updateEdges.d.ts +3 -3
- package/dist/base/updateNodes.d.ts +3 -3
- package/dist/{base/primitives/MarkdownBlock.d.ts → base-primitives/Markdown.d.ts} +4 -4
- package/dist/{base/primitives/MarkdownBlock.js → base-primitives/Markdown.js} +6 -5
- package/dist/{base/primitives → base-primitives}/NodeHandles.js +8 -1
- package/dist/{base/primitives → base-primitives}/compound/CompoundActionButton.d.ts +2 -2
- package/dist/{base/primitives → base-primitives}/compound/CompoundActionButton.js +2 -2
- package/dist/{base/primitives → base-primitives}/compound/CompoundDetailsButton.d.ts +2 -2
- package/dist/{base/primitives → base-primitives}/compound/CompoundDetailsButton.js +2 -2
- package/dist/{base/primitives → base-primitives}/compound/CompoundNodeContainer.d.ts +3 -3
- package/dist/{base/primitives → base-primitives}/compound/CompoundNodeContainer.js +1 -2
- package/dist/base-primitives/compound/CompoundTitle.d.ts +13 -0
- package/dist/{base/primitives → base-primitives}/compound/CompoundTitle.js +3 -7
- package/dist/{base/primitives → base-primitives}/compound/actionbtns.css.d.ts +1 -1
- package/dist/{base/primitives → base-primitives}/edge/EdgeActionButton.js +2 -2
- package/dist/{base/primitives → base-primitives}/edge/EdgeContainer.d.ts +2 -2
- package/dist/{base/primitives → base-primitives}/edge/EdgeLabel.d.ts +2 -2
- package/dist/{base/primitives → base-primitives}/edge/EdgeLabel.js +2 -1
- package/dist/{base/primitives → base-primitives}/edge/EdgeLabelContainer.d.ts +2 -2
- package/dist/{base/primitives → base-primitives}/edge/EdgeLabelContainer.js +2 -2
- package/dist/{base/primitives → base-primitives}/edge/EdgePath.d.ts +2 -2
- package/dist/base-primitives/element/ElementActionButtons.d.ts +40 -0
- package/dist/base-primitives/element/ElementActionButtons.js +86 -0
- package/dist/base-primitives/element/ElementData.d.ts +65 -0
- package/dist/base-primitives/element/ElementData.js +121 -0
- package/dist/{base/primitives → base-primitives}/element/ElementDetailsButton.d.ts +4 -2
- package/dist/{base/primitives → base-primitives}/element/ElementDetailsButton.js +2 -2
- package/dist/{base/primitives → base-primitives}/element/ElementNodeContainer.d.ts +8 -13
- package/dist/base-primitives/element/ElementShape.d.ts +18 -0
- package/dist/{base/primitives → base-primitives}/element/ElementShape.js +31 -43
- package/dist/{base/primitives → base-primitives}/element/ElementTags.d.ts +2 -2
- package/dist/{base/primitives → base-primitives}/element/ElementTags.js +4 -4
- package/dist/{base/primitives → base-primitives}/index.d.ts +4 -4
- package/dist/base-primitives/memoEdge.d.ts +3 -0
- package/dist/{base/primitives/customEdge.js → base-primitives/memoEdge.js} +2 -2
- package/dist/base-primitives/memoNode.d.ts +3 -0
- package/dist/{base/primitives/customNode.js → base-primitives/memoNode.js} +12 -3
- package/dist/bundle/index.d.ts +1 -8
- package/dist/components/ErrorFallback.js +36 -17
- package/dist/components/Link.js +2 -2
- package/dist/components/Logo.d.ts +5 -0
- package/dist/components/Logo.js +42 -0
- package/dist/components/PortalToContainer.d.ts +6 -0
- package/dist/components/PortalToContainer.js +14 -0
- package/dist/{context → components}/RootContainer.d.ts +1 -6
- package/dist/components/RootContainer.js +43 -0
- package/dist/{bundle → components}/ViewNotFound.js +2 -2
- package/dist/context/DiagramEventHandlers.d.ts +3 -3
- package/dist/context/DiagramEventHandlers.js +20 -16
- package/dist/context/DiagramFeatures.d.ts +1 -1
- package/dist/context/DiagramFeatures.js +0 -1
- package/dist/context/IconRenderer.d.ts +4 -3
- package/dist/context/IconRenderer.js +10 -8
- package/dist/context/RootContainerContext.d.ts +22 -0
- package/dist/context/RootContainerContext.js +31 -0
- package/dist/context/TagStylesContext.js +22 -25
- package/dist/context/index.d.ts +1 -1
- package/dist/custom/builtins.d.ts +1 -0
- package/dist/custom/customNodes.d.ts +30 -43
- package/dist/custom/customNodes.js +21 -10
- package/dist/custom/hooks.d.ts +5 -6
- package/dist/custom/index.d.ts +11 -1
- package/dist/custom/index.js +25 -20
- package/dist/custom/primitives.d.ts +1 -0
- package/dist/hooks/index.d.ts +6 -0
- package/dist/hooks/safeContext.d.ts +1 -1
- package/dist/{likec4model → hooks}/useCurrentViewModel.d.ts +2 -1
- package/dist/hooks/useCurrentViewModel.js +12 -0
- package/dist/hooks/useDiagram.d.ts +23 -15
- package/dist/hooks/useDiagram.js +1 -1
- package/dist/{likec4model → hooks}/useLikeC4Model.d.ts +1 -0
- package/dist/{likec4model → hooks}/useLikeC4Model.js +5 -2
- package/dist/{likec4model → hooks}/useLikeC4Project.d.ts +1 -1
- package/dist/{likec4model → hooks}/useLikeC4Project.js +2 -2
- package/dist/hooks/useLikeC4Styles.d.ts +2 -0
- package/dist/hooks/useLikeC4Styles.js +18 -0
- package/dist/hooks/useMantinePortalProps.js +2 -2
- package/dist/hooks/useReducedGraphics.d.ts +1 -1
- package/dist/hooks/useXYFlow.d.ts +10 -10
- package/dist/hooks/useXYFlow.js +11 -5
- package/dist/index.d.ts +14 -6
- package/dist/index.js +9 -13
- package/dist/likec4diagram/DiagramUI.d.ts +1 -1
- package/dist/likec4diagram/DiagramUI.js +10 -16
- package/dist/likec4diagram/DiagramXYFlow.js +130 -118
- package/dist/likec4diagram/convert-to-xyflow.js +2 -2
- package/dist/likec4diagram/custom/edges/RelationshipEdge.d.ts +3 -51
- package/dist/likec4diagram/custom/edges/RelationshipEdge.js +8 -9
- package/dist/likec4diagram/custom/edges/SequenceStepEdge.d.ts +1 -2
- package/dist/likec4diagram/custom/edges/SequenceStepEdge.js +5 -5
- package/dist/likec4diagram/custom/index.d.ts +16 -0
- package/dist/likec4diagram/custom/index.js +12 -12
- package/dist/likec4diagram/custom/nodes/CompoundActions.d.ts +1 -2
- package/dist/likec4diagram/custom/nodes/CompoundActions.js +1 -1
- package/dist/likec4diagram/custom/nodes/ElementActions.d.ts +61 -5
- package/dist/likec4diagram/custom/nodes/ElementActions.js +8 -8
- package/dist/likec4diagram/custom/nodes/SequenceActorNode.d.ts +2 -3
- package/dist/likec4diagram/custom/nodes/SequenceActorNode.js +12 -24
- package/dist/likec4diagram/custom/nodes/nodes.d.ts +10 -10
- package/dist/likec4diagram/custom/nodes/nodes.js +25 -28
- package/dist/likec4diagram/custom/nodes/toolbar/ColorButton.d.ts +3 -2
- package/dist/likec4diagram/custom/nodes/toolbar/ColorButton.js +17 -12
- package/dist/likec4diagram/custom/nodes/toolbar/CompoundToolbar.d.ts +2 -6
- package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.d.ts +2 -6
- package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +3 -3
- package/dist/likec4diagram/custom/nodes/toolbar/Toolbar.d.ts +2 -3
- package/dist/likec4diagram/custom/nodes/toolbar/_shared.d.ts +5 -19
- package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +11 -22
- package/dist/likec4diagram/relationship-popover/RelationshipPopover.js +50 -49
- package/dist/likec4diagram/relationship-popover/actor.d.ts +1 -1
- package/dist/{state → likec4diagram/state}/DiagramActorProvider.d.ts +1 -1
- package/dist/{state → likec4diagram/state}/DiagramActorProvider.js +39 -13
- package/dist/{state → likec4diagram/state}/assign.d.ts +1 -1
- package/dist/{state → likec4diagram/state}/assign.js +3 -4
- package/dist/{state → likec4diagram/state}/diagram-machine.d.ts +178 -138
- package/dist/{state → likec4diagram/state}/diagram-machine.js +34 -24
- package/dist/{state → likec4diagram/state}/persistence.d.ts +1 -1
- package/dist/{state → likec4diagram/state}/syncManualLayoutActor.d.ts +1 -1
- package/dist/{state → likec4diagram/state}/syncManualLayoutActor.js +2 -2
- package/dist/{state → likec4diagram/state}/types.d.ts +2 -2
- package/dist/{state → likec4diagram/state}/utils.d.ts +2 -2
- package/dist/likec4diagram/types.d.ts +51 -34
- package/dist/likec4diagram/ui/index.d.ts +0 -3
- package/dist/likec4diagram/ui/notation/NotationPanel.css.js +4 -1
- package/dist/likec4diagram/ui/notation/NotationPanel.js +6 -6
- package/dist/likec4diagram/useLayoutConstraints.d.ts +1 -1
- package/dist/likec4diagram/xyflow-diagram/diagram-view.d.ts +1 -1
- package/dist/likec4diagram/xyflow-diagram/diagram-view.js +12 -9
- package/dist/likec4diagram/xyflow-sequence/const.js +1 -8
- package/dist/likec4diagram/xyflow-sequence/sequence-layout.d.ts +7 -0
- package/dist/likec4diagram/xyflow-sequence/sequence-layout.js +181 -0
- package/dist/navigationpanel/NavigationPanel.js +5 -6
- package/dist/navigationpanel/NavigationPanelControls.js +3 -4
- package/dist/navigationpanel/NavigationPanelDropdown.js +37 -13
- package/dist/navigationpanel/_common.js +1 -1
- package/dist/navigationpanel/actor.d.ts +1 -1
- package/dist/navigationpanel/controls/BurgerButton.js +46 -8
- package/dist/navigationpanel/controls/NavigationButtons.js +2 -2
- package/dist/navigationpanel/controls/OpenSource.js +1 -1
- package/dist/navigationpanel/controls/SearchControl.js +1 -1
- package/dist/navigationpanel/controls/ToggleReadonly.js +2 -2
- package/dist/navigationpanel/controls/ViewDetailsCard.js +8 -10
- package/dist/navigationpanel/dropdown/ProjectsMenu.js +2 -2
- package/dist/navigationpanel/editorpanel/CenterCamera.js +1 -1
- package/dist/navigationpanel/editorpanel/ChangeAutoLayoutButton.js +1 -1
- package/dist/navigationpanel/editorpanel/LayoutDriftNotification.js +1 -1
- package/dist/navigationpanel/editorpanel/ManualLayoutToolsButton.js +9 -9
- package/dist/navigationpanel/hooks.d.ts +3 -3
- package/dist/navigationpanel/hooks.js +2 -2
- package/dist/navigationpanel/styles.css.d.ts +1 -1
- package/dist/navigationpanel/styles.css.js +1 -1
- package/dist/navigationpanel/walkthrough/ActiveWalkthroughControls.js +3 -3
- package/dist/navigationpanel/walkthrough/DynamicViewControls.d.ts +107 -107
- package/dist/navigationpanel/walkthrough/DynamicViewControls.js +3 -13
- package/dist/navigationpanel/walkthrough/WalkthroughPanel.js +2 -2
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/createReactComponent.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertTriangle.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowDownRight.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowLeft.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js +1 -1
- package/dist/node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconBolt.js +14 -0
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconBrowser.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconCylinder.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconDeviceMobile.js +1 -1
- package/dist/node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconDirectionSignFilled.js +14 -0
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconFocusCentered.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconFolderFilled.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconHelpCircle.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconId.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignBottom.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignCenter.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignLeft.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignMiddle.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignRight.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignTop.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutBoardSplit.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutCollage.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutDashboard.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLink.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLock.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLockOpen2.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerPlayFilled.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipBackFilled.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipForwardFilled.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerStopFilled.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconRectangularPrism.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconReorder.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconRouteOff.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconStack2.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconStarFilled.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconTarget.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconTransform.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconUser.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js +1 -1
- package/dist/node_modules/.pnpm/{@tabler_icons-react@3.34.1_react@19.1.1 → @tabler_icons-react@3.35.0_react@19.1.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js +1 -1
- package/dist/overlays/element-details/ElementDetailsCard.css.js +1 -1
- package/dist/overlays/element-details/ElementDetailsCard.js +31 -27
- package/dist/overlays/element-details/TabPanelDeployments.js +4 -4
- package/dist/overlays/element-details/TabPanelRelationships.js +5 -7
- package/dist/overlays/element-details/TabPanelStructure.js +1 -1
- package/dist/overlays/element-details/actor.d.ts +14 -16620
- package/dist/overlays/element-details/actor.js +2 -1
- package/dist/overlays/overlay/Overlay.js +9 -6
- package/dist/overlays/relationship-details/RelationshipDetails.d.ts +3 -43
- package/dist/overlays/relationship-details/RelationshipDetails.js +6 -6
- package/dist/overlays/relationship-details/SelectEdge.js +2 -2
- package/dist/overlays/relationship-details/_types.d.ts +29 -12
- package/dist/overlays/relationship-details/actor.d.ts +14 -54
- package/dist/overlays/relationship-details/actor.js +4 -3
- package/dist/overlays/relationship-details/compute.d.ts +2 -1
- package/dist/overlays/relationship-details/custom/ElementActions.d.ts +1 -4
- package/dist/overlays/relationship-details/custom/ElementActions.js +4 -4
- package/dist/overlays/relationship-details/custom/edgeTypes.d.ts +3 -43
- package/dist/overlays/relationship-details/custom/edgeTypes.js +7 -9
- package/dist/overlays/relationship-details/custom/nodeTypes.d.ts +10 -0
- package/dist/overlays/relationship-details/custom/nodeTypes.js +19 -17
- package/dist/overlays/relationship-details/hooks.d.ts +5 -377
- package/dist/overlays/relationship-details/layout-to-xyflow.js +11 -10
- package/dist/overlays/relationship-details/layout.d.ts +2 -2
- package/dist/overlays/relationship-details/layout.js +6 -6
- package/dist/overlays/relationships-browser/RelationshipsBrowser.d.ts +3 -44
- package/dist/overlays/relationships-browser/RelationshipsBrowser.js +12 -8
- package/dist/overlays/relationships-browser/SelectElement.js +4 -4
- package/dist/overlays/relationships-browser/_types.d.ts +30 -13
- package/dist/overlays/relationships-browser/actor.d.ts +17 -523
- package/dist/overlays/relationships-browser/actor.js +5 -4
- package/dist/overlays/relationships-browser/const.d.ts +6 -2
- package/dist/overlays/relationships-browser/custom/ElementActions.d.ts +1 -4
- package/dist/overlays/relationships-browser/custom/ElementActions.js +4 -4
- package/dist/overlays/relationships-browser/custom/EmptyNode.d.ts +1 -4
- package/dist/overlays/relationships-browser/custom/edgeTypes.d.ts +3 -44
- package/dist/overlays/relationships-browser/custom/edgeTypes.js +7 -8
- package/dist/overlays/relationships-browser/custom/index.d.ts +2 -1
- package/dist/overlays/relationships-browser/custom/nodeTypes.d.ts +5 -12
- package/dist/overlays/relationships-browser/custom/nodeTypes.js +16 -21
- package/dist/overlays/relationships-browser/layout.js +12 -11
- package/dist/overlays/relationships-browser/useViewToNodesEdges.d.ts +2 -2
- package/dist/overlays/relationships-browser/useViewToNodesEdges.js +11 -10
- package/dist/search/components/ElementsColumn.js +5 -4
- package/dist/search/components/PickView.js +2 -2
- package/dist/search/components/SearchByTags.js +3 -3
- package/dist/search/components/SearchInput.js +2 -2
- package/dist/search/components/ViewsColum.js +4 -4
- package/dist/search/components/_shared.css.d.ts +2 -2
- package/dist/{bundle → shadowroot}/ShadowRoot.d.ts +5 -1
- package/dist/shadowroot/ShadowRoot.js +69 -0
- package/dist/{bundle → shadowroot}/styles.css.d.ts +4 -4
- package/dist/{bundle → shadowroot}/styles.css.js +17 -24
- package/dist/styles.css2.js +1 -1
- package/dist/utils/get-view-bounds.d.ts +3 -0
- package/dist/utils/get-view-bounds.js +14 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/xyflow.d.ts +5 -2
- package/dist/utils/xyflow.js +2 -0
- package/package.json +48 -39
- package/panda.buildinfo.json +129 -180
- package/{dist/styles-min.css → styles-min.css} +1 -1
- package/styles.css +1 -0
- package/bundle/chunk-FGcODVxo.js +0 -21865
- package/bundle/custom.js +0 -82
- package/dist/base/primitives/compound/CompoundTitle.d.ts +0 -6
- package/dist/base/primitives/customEdge.d.ts +0 -4
- package/dist/base/primitives/customNode.d.ts +0 -4
- package/dist/base/primitives/edge/xyvars.d.ts +0 -24
- package/dist/base/primitives/element/ElementActionButtons.d.ts +0 -13
- package/dist/base/primitives/element/ElementActionButtons.js +0 -79
- package/dist/base/primitives/element/ElementShape.d.ts +0 -32
- package/dist/base/primitives/element/ElementTitle.d.ts +0 -12
- package/dist/base/primitives/element/ElementTitle.js +0 -76
- package/dist/bundle/LikeC4ModelProvider.d.ts +0 -9
- package/dist/bundle/LikeC4ModelProvider.js +0 -5
- package/dist/bundle/LikeC4View.d.ts +0 -3
- package/dist/bundle/LikeC4View.js +0 -186
- package/dist/bundle/ReactLikeC4.js +0 -91
- package/dist/bundle/ShadowRoot.js +0 -46
- package/dist/bundle/custom.d.ts +0 -1
- package/dist/bundle/custom.js +0 -33
- package/dist/bundle/index.js +0 -17
- package/dist/components/SearchControl.css.js +0 -79
- package/dist/components/SearchControl.js +0 -17
- package/dist/context/ControlsCustomLayout.d.ts +0 -12
- package/dist/context/ControlsCustomLayout.js +0 -8
- package/dist/context/ReduceGraphics.d.ts +0 -12
- package/dist/context/ReduceGraphics.js +0 -26
- package/dist/context/RootContainer.js +0 -39
- package/dist/custom/components.d.ts +0 -5
- package/dist/likec4diagram/ui/controls/ChangeAutoLayoutButton.d.ts +0 -2
- package/dist/likec4diagram/ui/controls/ChangeAutoLayoutButton.js +0 -159
- package/dist/likec4diagram/ui/controls/Controls.d.ts +0 -2
- package/dist/likec4diagram/ui/controls/Controls.js +0 -154
- package/dist/likec4diagram/ui/controls/LayoutDriftNotification.d.ts +0 -2
- package/dist/likec4diagram/ui/controls/LayoutDriftNotification.js +0 -50
- package/dist/likec4diagram/ui/controls/ManualLayoutToolsButton.d.ts +0 -2
- package/dist/likec4diagram/ui/controls/ManualLayoutToolsButton.js +0 -145
- package/dist/likec4diagram/ui/controls/NavigationButtons.d.ts +0 -1
- package/dist/likec4diagram/ui/controls/NavigationButtons.js +0 -61
- package/dist/likec4diagram/ui/controls/ToggleReadonly.d.ts +0 -1
- package/dist/likec4diagram/ui/controls/ToggleReadonly.js +0 -29
- package/dist/likec4diagram/ui/controls/_shared.d.ts +0 -7
- package/dist/likec4diagram/ui/controls/_shared.js +0 -22
- package/dist/likec4diagram/ui/controls/styles.css.d.ts +0 -8
- package/dist/likec4diagram/ui/controls/styles.css.js +0 -79
- package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.d.ts +0 -3
- package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.js +0 -49
- package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.d.ts +0 -1
- package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.js +0 -164
- package/dist/likec4diagram/ui/diagram-title/Link.d.ts +0 -4
- package/dist/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.css.d.ts +0 -4
- package/dist/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.css.js +0 -67
- package/dist/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.d.ts +0 -1
- package/dist/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.js +0 -124
- package/dist/likec4diagram/xyflow-sequence/layouter.js +0 -408
- package/dist/likec4diagram/xyflow-sequence/sequence-view.js +0 -273
- package/dist/likec4diagram/xyflow-sequence/utils.js +0 -92
- package/dist/likec4model/index.d.ts +0 -4
- package/dist/likec4model/useCurrentViewModel.js +0 -15
- package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconMenu.js +0 -14
- package/dist/node_modules/.pnpm/@tabler_icons-react@3.34.1_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconMenu2.js +0 -14
- package/dist/overlays/overlay/Overlay.css.d.ts +0 -60
- package/dist/overlays/overlay/Overlay.css.js +0 -122
- package/dist/src/index.ts.d.ts +0 -2
- package/dist/styles.css +0 -1
- package/src/LikeC4Diagram.props.ts +0 -350
- package/src/LikeC4Diagram.tsx +0 -172
- package/src/LikeC4ModelProvider.tsx +0 -22
- package/src/LikeC4ProjectsProvider.tsx +0 -41
- package/src/LikeC4Styles.tsx +0 -137
- package/src/StaticLikeC4Diagram.tsx +0 -62
- package/src/base/Background.tsx +0 -31
- package/src/base/BaseXYFlow.tsx +0 -218
- package/src/base/const.ts +0 -22
- package/src/base/index.ts +0 -12
- package/src/base/primitives/MarkdownBlock.tsx +0 -82
- package/src/base/primitives/NodeHandles.tsx +0 -18
- package/src/base/primitives/compound/CompoundActionButton.tsx +0 -62
- package/src/base/primitives/compound/CompoundDetailsButton.tsx +0 -56
- package/src/base/primitives/compound/CompoundNodeContainer.tsx +0 -83
- package/src/base/primitives/compound/CompoundTitle.tsx +0 -34
- package/src/base/primitives/compound/actionbtns.css.ts +0 -18
- package/src/base/primitives/customEdge.ts +0 -34
- package/src/base/primitives/customNode.tsx +0 -29
- package/src/base/primitives/edge/EdgeActionButton.tsx +0 -24
- package/src/base/primitives/edge/EdgeContainer.tsx +0 -68
- package/src/base/primitives/edge/EdgeLabel.tsx +0 -94
- package/src/base/primitives/edge/EdgeLabelContainer.tsx +0 -102
- package/src/base/primitives/edge/EdgeMarkers.tsx +0 -198
- package/src/base/primitives/edge/EdgePath.tsx +0 -126
- package/src/base/primitives/edge/edge.css.ts +0 -74
- package/src/base/primitives/edge/xyvars.ts +0 -31
- package/src/base/primitives/element/ElementActionButtons.tsx +0 -95
- package/src/base/primitives/element/ElementDetailsButton.tsx +0 -80
- package/src/base/primitives/element/ElementNodeContainer.css.ts +0 -51
- package/src/base/primitives/element/ElementNodeContainer.tsx +0 -98
- package/src/base/primitives/element/ElementShape.tsx +0 -250
- package/src/base/primitives/element/ElementTags.tsx +0 -190
- package/src/base/primitives/element/ElementTitle.tsx +0 -94
- package/src/base/primitives/index.ts +0 -20
- package/src/base/types.ts +0 -174
- package/src/base/updateEdges.ts +0 -38
- package/src/base/updateNodes.ts +0 -43
- package/src/bundle/LikeC4ModelProvider.tsx +0 -12
- package/src/bundle/LikeC4View.props.ts +0 -288
- package/src/bundle/LikeC4View.tsx +0 -194
- package/src/bundle/ReactLikeC4.tsx +0 -127
- package/src/bundle/ShadowRoot.tsx +0 -54
- package/src/bundle/ViewNotFound.tsx +0 -25
- package/src/bundle/custom.ts +0 -1
- package/src/bundle/index.ts +0 -27
- package/src/bundle/react-dom-server-mock.ts +0 -3
- package/src/bundle/styles.css.ts +0 -172
- package/src/components/ErrorFallback.tsx +0 -45
- package/src/components/GithubIcon.tsx +0 -16
- package/src/components/Link.tsx +0 -112
- package/src/components/NavigationLink.tsx +0 -32
- package/src/components/SearchControl.css.ts +0 -79
- package/src/components/SearchControl.tsx +0 -30
- package/src/context/ControlsCustomLayout.ts +0 -15
- package/src/context/DiagramEventHandlers.tsx +0 -68
- package/src/context/DiagramFeatures.tsx +0 -141
- package/src/context/EnsureMantine.tsx +0 -25
- package/src/context/FramerMotionConfig.tsx +0 -25
- package/src/context/IconRenderer.tsx +0 -117
- package/src/context/ReduceGraphics.tsx +0 -42
- package/src/context/RootContainer.tsx +0 -54
- package/src/context/TagStylesContext.tsx +0 -98
- package/src/context/index.ts +0 -13
- package/src/custom/components.ts +0 -51
- package/src/custom/customNodes.ts +0 -282
- package/src/custom/hooks.ts +0 -52
- package/src/custom/index.ts +0 -5
- package/src/hooks/index.ts +0 -6
- package/src/hooks/safeContext.tsx +0 -18
- package/src/hooks/useCurrentViewId.ts +0 -15
- package/src/hooks/useDiagram.ts +0 -310
- package/src/hooks/useId.ts +0 -5
- package/src/hooks/useMantinePortalProps.ts +0 -17
- package/src/hooks/useOverlaysActor.ts +0 -11
- package/src/hooks/useReducedGraphics.ts +0 -1
- package/src/hooks/useSearchActor.ts +0 -11
- package/src/hooks/useSetState.ts +0 -19
- package/src/hooks/useUpdateEffect.ts +0 -46
- package/src/hooks/useXYFlow.ts +0 -41
- package/src/index.ts +0 -50
- package/src/likec4diagram/DiagramUI.tsx +0 -46
- package/src/likec4diagram/DiagramXYFlow.tsx +0 -240
- package/src/likec4diagram/convert-to-xyflow.ts +0 -45
- package/src/likec4diagram/custom/edges/RelationshipEdge.tsx +0 -373
- package/src/likec4diagram/custom/edges/SequenceStepEdge.tsx +0 -65
- package/src/likec4diagram/custom/edges/edges.css.ts +0 -45
- package/src/likec4diagram/custom/edges/utils.ts +0 -125
- package/src/likec4diagram/custom/index.ts +0 -28
- package/src/likec4diagram/custom/nodes/CompoundActions.tsx +0 -27
- package/src/likec4diagram/custom/nodes/ElementActions.tsx +0 -120
- package/src/likec4diagram/custom/nodes/SequenceActorNode.tsx +0 -175
- package/src/likec4diagram/custom/nodes/index.ts +0 -18
- package/src/likec4diagram/custom/nodes/nodes.tsx +0 -129
- package/src/likec4diagram/custom/nodes/toolbar/ColorButton.tsx +0 -175
- package/src/likec4diagram/custom/nodes/toolbar/CompoundToolbar.tsx +0 -122
- package/src/likec4diagram/custom/nodes/toolbar/ElementToolbar.tsx +0 -140
- package/src/likec4diagram/custom/nodes/toolbar/Toolbar.tsx +0 -82
- package/src/likec4diagram/custom/nodes/toolbar/_shared.tsx +0 -151
- package/src/likec4diagram/custom/nodes/toolbar/styles.css.ts +0 -13
- package/src/likec4diagram/relationship-popover/RelationshipPopover.tsx +0 -549
- package/src/likec4diagram/relationship-popover/actor.ts +0 -192
- package/src/likec4diagram/relationship-popover/styles.css.ts +0 -27
- package/src/likec4diagram/types.ts +0 -240
- package/src/likec4diagram/ui/controls/ChangeAutoLayoutButton.tsx +0 -202
- package/src/likec4diagram/ui/controls/Controls.tsx +0 -153
- package/src/likec4diagram/ui/controls/LayoutDriftNotification.tsx +0 -50
- package/src/likec4diagram/ui/controls/ManualLayoutToolsButton.tsx +0 -125
- package/src/likec4diagram/ui/controls/NavigationButtons.tsx +0 -61
- package/src/likec4diagram/ui/controls/ToggleReadonly.tsx +0 -30
- package/src/likec4diagram/ui/controls/_shared.ts +0 -21
- package/src/likec4diagram/ui/controls/styles.css.ts +0 -84
- package/src/likec4diagram/ui/diagram-title/DiagramTitlePanel.css.ts +0 -51
- package/src/likec4diagram/ui/diagram-title/DiagramTitlePanel.tsx +0 -175
- package/src/likec4diagram/ui/diagram-title/Link.tsx +0 -40
- package/src/likec4diagram/ui/index.ts +0 -4
- package/src/likec4diagram/ui/notation/NotationPanel.css.ts +0 -99
- package/src/likec4diagram/ui/notation/NotationPanel.tsx +0 -252
- package/src/likec4diagram/ui/notation/index.ts +0 -1
- package/src/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.css.ts +0 -70
- package/src/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.tsx +0 -130
- package/src/likec4diagram/useLayoutConstraints.ts +0 -281
- package/src/likec4diagram/xyflow-diagram/diagram-view.ts +0 -275
- package/src/likec4diagram/xyflow-sequence/_types.ts +0 -45
- package/src/likec4diagram/xyflow-sequence/const.ts +0 -37
- package/src/likec4diagram/xyflow-sequence/layouter.ts +0 -567
- package/src/likec4diagram/xyflow-sequence/sequence-view.ts +0 -337
- package/src/likec4diagram/xyflow-sequence/utils.ts +0 -112
- package/src/likec4model/LikeC4ModelContext.tsx +0 -19
- package/src/likec4model/LikeC4ProjectsContext.ts +0 -9
- package/src/likec4model/index.ts +0 -19
- package/src/likec4model/useCurrentViewModel.ts +0 -14
- package/src/likec4model/useLikeC4ElementsTree.ts +0 -39
- package/src/likec4model/useLikeC4Model.ts +0 -35
- package/src/likec4model/useLikeC4Project.ts +0 -61
- package/src/navigationpanel/NavigationPanel.tsx +0 -136
- package/src/navigationpanel/NavigationPanelControls.tsx +0 -133
- package/src/navigationpanel/NavigationPanelDropdown.tsx +0 -547
- package/src/navigationpanel/_common.tsx +0 -84
- package/src/navigationpanel/actor.ts +0 -320
- package/src/navigationpanel/controls/BurgerButton.tsx +0 -30
- package/src/navigationpanel/controls/NavigationButtons.tsx +0 -40
- package/src/navigationpanel/controls/OpenSource.tsx +0 -28
- package/src/navigationpanel/controls/SearchControl.tsx +0 -66
- package/src/navigationpanel/controls/ToggleReadonly.tsx +0 -66
- package/src/navigationpanel/controls/ViewDetailsCard.tsx +0 -263
- package/src/navigationpanel/controls/index.ts +0 -6
- package/src/navigationpanel/dropdown/ProjectsMenu.tsx +0 -78
- package/src/navigationpanel/editorpanel/CenterCamera.tsx +0 -15
- package/src/navigationpanel/editorpanel/ChangeAutoLayoutButton.tsx +0 -199
- package/src/navigationpanel/editorpanel/EditorPanel.tsx +0 -49
- package/src/navigationpanel/editorpanel/LayoutDriftNotification.tsx +0 -56
- package/src/navigationpanel/editorpanel/ManualLayoutToolsButton.tsx +0 -148
- package/src/navigationpanel/editorpanel/_common.tsx +0 -14
- package/src/navigationpanel/editorpanel/index.ts +0 -1
- package/src/navigationpanel/editorpanel/styles.ts +0 -84
- package/src/navigationpanel/hooks.tsx +0 -70
- package/src/navigationpanel/index.ts +0 -1
- package/src/navigationpanel/styles.css.ts +0 -28
- package/src/navigationpanel/walkthrough/ActiveWalkthroughControls.tsx +0 -132
- package/src/navigationpanel/walkthrough/DynamicViewControls.tsx +0 -125
- package/src/navigationpanel/walkthrough/WalkthroughPanel.css.ts +0 -21
- package/src/navigationpanel/walkthrough/WalkthroughPanel.tsx +0 -88
- package/src/navigationpanel/walkthrough/index.tsx +0 -2
- package/src/overlays/Overlays.tsx +0 -121
- package/src/overlays/element-details/ElementDetails.tsx +0 -33
- package/src/overlays/element-details/ElementDetailsCard.css.ts +0 -263
- package/src/overlays/element-details/ElementDetailsCard.tsx +0 -665
- package/src/overlays/element-details/TabPanelDeployments.css.ts +0 -64
- package/src/overlays/element-details/TabPanelDeployments.tsx +0 -220
- package/src/overlays/element-details/TabPanelRelationships.css.ts +0 -102
- package/src/overlays/element-details/TabPanelRelationships.tsx +0 -186
- package/src/overlays/element-details/TabPanelStructure.css.ts +0 -36
- package/src/overlays/element-details/TabPanelStructure.tsx +0 -121
- package/src/overlays/element-details/actor.ts +0 -104
- package/src/overlays/element-details/actorContext.tsx +0 -16
- package/src/overlays/overlay/Overlay.css.ts +0 -123
- package/src/overlays/overlay/Overlay.tsx +0 -169
- package/src/overlays/overlaysActor.ts +0 -284
- package/src/overlays/relationship-details/RelationshipDetails.tsx +0 -334
- package/src/overlays/relationship-details/SelectEdge.css.ts +0 -88
- package/src/overlays/relationship-details/SelectEdge.tsx +0 -141
- package/src/overlays/relationship-details/_types.ts +0 -88
- package/src/overlays/relationship-details/actor.ts +0 -397
- package/src/overlays/relationship-details/compute.ts +0 -177
- package/src/overlays/relationship-details/custom/ElementActions.tsx +0 -53
- package/src/overlays/relationship-details/custom/edgeTypes.tsx +0 -49
- package/src/overlays/relationship-details/custom/index.ts +0 -2
- package/src/overlays/relationship-details/custom/nodeTypes.tsx +0 -126
- package/src/overlays/relationship-details/custom/styles.css.ts +0 -13
- package/src/overlays/relationship-details/hooks.ts +0 -51
- package/src/overlays/relationship-details/layout-to-xyflow.ts +0 -173
- package/src/overlays/relationship-details/layout.ts +0 -477
- package/src/overlays/relationships-browser/RelationshipsBrowser.tsx +0 -282
- package/src/overlays/relationships-browser/SelectElement.css.ts +0 -22
- package/src/overlays/relationships-browser/SelectElement.tsx +0 -229
- package/src/overlays/relationships-browser/_types.ts +0 -102
- package/src/overlays/relationships-browser/actor.ts +0 -592
- package/src/overlays/relationships-browser/const.ts +0 -8
- package/src/overlays/relationships-browser/custom/ElementActions.tsx +0 -57
- package/src/overlays/relationships-browser/custom/EmptyNode.tsx +0 -18
- package/src/overlays/relationships-browser/custom/edgeTypes.tsx +0 -103
- package/src/overlays/relationships-browser/custom/index.ts +0 -2
- package/src/overlays/relationships-browser/custom/nodeTypes.tsx +0 -146
- package/src/overlays/relationships-browser/custom/styles.css.ts +0 -12
- package/src/overlays/relationships-browser/hooks.ts +0 -63
- package/src/overlays/relationships-browser/layout.ts +0 -630
- package/src/overlays/relationships-browser/useViewToNodesEdges.ts +0 -210
- package/src/overlays/types.ts +0 -39
- package/src/search/Search.tsx +0 -220
- package/src/search/components/ElementsColumn.css.ts +0 -84
- package/src/search/components/ElementsColumn.tsx +0 -318
- package/src/search/components/PickView.tsx +0 -134
- package/src/search/components/SearchByTags.tsx +0 -112
- package/src/search/components/SearchInput.tsx +0 -265
- package/src/search/components/ViewsColum.tsx +0 -167
- package/src/search/components/ViewsColumn.css.ts +0 -34
- package/src/search/components/_shared.css.ts +0 -176
- package/src/search/components/styles.css.ts +0 -72
- package/src/search/components/utils.ts +0 -64
- package/src/search/hooks.ts +0 -38
- package/src/search/searchActor.ts +0 -99
- package/src/state/DiagramActorProvider.tsx +0 -160
- package/src/state/aligners.ts +0 -500
- package/src/state/assign.ts +0 -425
- package/src/state/diagram-machine.ts +0 -1422
- package/src/state/hotkeyActor.ts +0 -41
- package/src/state/inspector.ts +0 -5
- package/src/state/persistence.ts +0 -22
- package/src/state/syncManualLayoutActor.ts +0 -218
- package/src/state/types.ts +0 -34
- package/src/state/utils.ts +0 -152
- package/src/styles-font.css +0 -251
- package/src/styles-min.css +0 -2
- package/src/styles-xyflow.css +0 -1
- package/src/styles.css +0 -3
- package/src/utils/css.ts +0 -7
- package/src/utils/index.ts +0 -15
- package/src/utils/roundDpr.ts +0 -27
- package/src/utils/vector.ts +0 -57
- package/src/utils/xyflow.ts +0 -105
- /package/dist/{base/primitives → base-primitives}/NodeHandles.d.ts +0 -0
- /package/dist/{base/primitives → base-primitives}/compound/actionbtns.css.js +0 -0
- /package/dist/{base/primitives → base-primitives}/edge/EdgeActionButton.d.ts +0 -0
- /package/dist/{base/primitives → base-primitives}/edge/EdgeContainer.js +0 -0
- /package/dist/{base/primitives → base-primitives}/edge/EdgeMarkers.d.ts +0 -0
- /package/dist/{base/primitives → base-primitives}/edge/EdgeMarkers.js +0 -0
- /package/dist/{base/primitives → base-primitives}/edge/EdgePath.js +0 -0
- /package/dist/{base/primitives → base-primitives}/edge/edge.css.d.ts +0 -0
- /package/dist/{base/primitives → base-primitives}/edge/edge.css.js +0 -0
- /package/dist/{base/primitives → base-primitives}/element/ElementNodeContainer.css.d.ts +0 -0
- /package/dist/{base/primitives → base-primitives}/element/ElementNodeContainer.css.js +0 -0
- /package/dist/{base/primitives → base-primitives}/element/ElementNodeContainer.js +0 -0
- /package/dist/{bundle → components}/ViewNotFound.d.ts +0 -0
- /package/dist/{likec4model → context}/LikeC4ModelContext.d.ts +0 -0
- /package/dist/{likec4model → context}/LikeC4ModelContext.js +0 -0
- /package/dist/{likec4model → context}/LikeC4ProjectsContext.d.ts +0 -0
- /package/dist/{likec4model → context}/LikeC4ProjectsContext.js +0 -0
- /package/dist/{likec4model → hooks}/useLikeC4ElementsTree.d.ts +0 -0
- /package/dist/{likec4model → hooks}/useLikeC4ElementsTree.js +0 -0
- /package/dist/{state → likec4diagram/state}/aligners.d.ts +0 -0
- /package/dist/{state → likec4diagram/state}/aligners.js +0 -0
- /package/dist/{state → likec4diagram/state}/hotkeyActor.d.ts +0 -0
- /package/dist/{state → likec4diagram/state}/hotkeyActor.js +0 -0
- /package/dist/{state → likec4diagram/state}/inspector.d.ts +0 -0
- /package/dist/{state → likec4diagram/state}/persistence.js +0 -0
- /package/dist/{state → likec4diagram/state}/utils.js +0 -0
- /package/{dist/styles-font.css → styles-font.css} +0 -0
- /package/{dist/styles-xyflow.css → styles-xyflow.css} +0 -0
|
@@ -1,27 +1,22 @@
|
|
|
1
1
|
import { Color, ElementShape, ElementStyle } from '@likec4/core/types';
|
|
2
2
|
import { MotionNodeLayoutOptions } from 'motion/react';
|
|
3
|
-
import { CSSProperties,
|
|
4
|
-
import {
|
|
5
|
-
|
|
3
|
+
import { CSSProperties, ForwardRefExoticComponent, ReactNode, RefAttributes } from 'react';
|
|
4
|
+
import { BaseNodePropsWithData } from '../../base/types';
|
|
5
|
+
type RequiredData = {
|
|
6
6
|
color: Color;
|
|
7
7
|
shape: ElementShape;
|
|
8
8
|
style?: ElementStyle;
|
|
9
9
|
};
|
|
10
|
-
export type ElementNodeContainerProps = {
|
|
11
|
-
nodeProps: NodeProps<RequiredData>;
|
|
12
|
-
children?: ReactNode | undefined;
|
|
13
|
-
className?: string | undefined;
|
|
14
|
-
style?: CSSProperties | undefined;
|
|
15
|
-
[key: `data-${string}`]: string | undefined;
|
|
16
|
-
} & MotionNodeLayoutOptions;
|
|
17
10
|
/**
|
|
18
11
|
* Top-level primitive to compose leaf nodes renderers.
|
|
19
12
|
* This container provides the state via data-* attributes
|
|
20
13
|
*/
|
|
21
14
|
export declare const ElementNodeContainer: ForwardRefExoticComponent<{
|
|
22
15
|
[key: `data-${string}`]: string | undefined;
|
|
23
|
-
nodeProps:
|
|
24
|
-
children?: ReactNode | undefined;
|
|
16
|
+
nodeProps: BaseNodePropsWithData<RequiredData>;
|
|
25
17
|
className?: string | undefined;
|
|
26
18
|
style?: CSSProperties | undefined;
|
|
27
|
-
} & MotionNodeLayoutOptions &
|
|
19
|
+
} & MotionNodeLayoutOptions & {
|
|
20
|
+
children?: ReactNode | undefined;
|
|
21
|
+
} & RefAttributes<HTMLDivElement>>;
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ComputedNodeStyle, ElementShape } from '@likec4/core/types';
|
|
2
|
+
type Data = {
|
|
3
|
+
shape: ElementShape;
|
|
4
|
+
width: number;
|
|
5
|
+
height: number;
|
|
6
|
+
style?: ComputedNodeStyle;
|
|
7
|
+
};
|
|
8
|
+
type ElementShapeProps = {
|
|
9
|
+
data: Data;
|
|
10
|
+
width?: number | undefined;
|
|
11
|
+
height?: number | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* @default true
|
|
14
|
+
*/
|
|
15
|
+
showSeletionOutline?: boolean | undefined;
|
|
16
|
+
};
|
|
17
|
+
export declare function ElementShape({ data, width, height, showSeletionOutline }: ElementShapeProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export {};
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { nonexhaustive } from '@likec4/core';
|
|
3
|
-
import { Box } from '@likec4/styles/jsx';
|
|
4
3
|
import { elementShapeRecipe } from '@likec4/styles/recipes';
|
|
5
|
-
import { roundDpr } from '
|
|
4
|
+
import { roundDpr } from '../../utils/roundDpr.js';
|
|
6
5
|
|
|
7
6
|
function cylinderSVGPath(diameter, height, tilt = 0.065) {
|
|
8
7
|
const radius = Math.round(diameter / 2);
|
|
@@ -132,25 +131,41 @@ function ShapeSvg({ shape, w, h }) {
|
|
|
132
131
|
/* @__PURE__ */ jsx("ellipse", { cx: rx, cy: ry, ry, rx: rx - 0.75, "data-likec4-fill": "mix-stroke", strokeWidth: 2 })
|
|
133
132
|
] });
|
|
134
133
|
}
|
|
135
|
-
|
|
136
|
-
return
|
|
134
|
+
default: {
|
|
135
|
+
return nonexhaustive(shape);
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
function ShapeSvgOutline({ shape, w, h }) {
|
|
140
|
+
let svg;
|
|
141
|
+
switch (shape) {
|
|
142
|
+
case "queue":
|
|
143
|
+
svg = /* @__PURE__ */ jsx("path", { d: queueSVGPath(w, h).path });
|
|
144
|
+
break;
|
|
145
|
+
case "storage":
|
|
146
|
+
case "cylinder": {
|
|
147
|
+
svg = /* @__PURE__ */ jsx("path", { d: cylinderSVGPath(w, h).path });
|
|
148
|
+
break;
|
|
149
|
+
}
|
|
150
|
+
default: {
|
|
151
|
+
svg = /* @__PURE__ */ jsx(
|
|
137
152
|
"rect",
|
|
138
153
|
{
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
154
|
+
x: -1,
|
|
155
|
+
y: -1,
|
|
156
|
+
width: w + 2,
|
|
157
|
+
height: h + 2,
|
|
158
|
+
rx: 6
|
|
143
159
|
}
|
|
144
160
|
);
|
|
145
|
-
|
|
146
|
-
default: {
|
|
147
|
-
return nonexhaustive(shape);
|
|
161
|
+
break;
|
|
148
162
|
}
|
|
149
163
|
}
|
|
164
|
+
return /* @__PURE__ */ jsx("g", { className: "likec4-shape-outline", children: svg });
|
|
150
165
|
}
|
|
151
166
|
function ShapeHtml({ multiple, withOutLine }) {
|
|
152
167
|
return /* @__PURE__ */ jsxs(
|
|
153
|
-
|
|
168
|
+
"div",
|
|
154
169
|
{
|
|
155
170
|
className: elementShapeRecipe({
|
|
156
171
|
shapetype: "html"
|
|
@@ -162,12 +177,12 @@ function ShapeHtml({ multiple, withOutLine }) {
|
|
|
162
177
|
}
|
|
163
178
|
);
|
|
164
179
|
}
|
|
165
|
-
function ElementShape({ data, width, height,
|
|
180
|
+
function ElementShape({ data, width, height, showSeletionOutline = true }) {
|
|
166
181
|
let w = !!width && width > 10 ? width : data.width;
|
|
167
182
|
let h = !!height && height > 10 ? height : data.height;
|
|
168
183
|
const isMultiple = data.style?.multiple ?? false;
|
|
169
184
|
if (data.shape === "rectangle") {
|
|
170
|
-
return /* @__PURE__ */ jsx(ShapeHtml, { multiple: isMultiple, withOutLine:
|
|
185
|
+
return /* @__PURE__ */ jsx(ShapeHtml, { multiple: isMultiple, withOutLine: showSeletionOutline });
|
|
171
186
|
}
|
|
172
187
|
const className = elementShapeRecipe({
|
|
173
188
|
shapetype: "svg"
|
|
@@ -175,37 +190,10 @@ function ElementShape({ data, width, height, withSelectedIndicator = true }) {
|
|
|
175
190
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
176
191
|
isMultiple && /* @__PURE__ */ jsx("svg", { className, "data-likec4-shape-multiple": "true", viewBox: `0 0 ${w} ${h}`, children: /* @__PURE__ */ jsx(ShapeSvg, { shape: data.shape, w, h }) }),
|
|
177
192
|
/* @__PURE__ */ jsxs("svg", { className, viewBox: `0 0 ${w} ${h}`, children: [
|
|
178
|
-
|
|
193
|
+
showSeletionOutline && /* @__PURE__ */ jsx(ShapeSvgOutline, { shape: data.shape, w, h }),
|
|
179
194
|
/* @__PURE__ */ jsx(ShapeSvg, { shape: data.shape, w, h })
|
|
180
195
|
] })
|
|
181
196
|
] });
|
|
182
197
|
}
|
|
183
|
-
function SelectedIndicator({ shape, w, h }) {
|
|
184
|
-
let svg;
|
|
185
|
-
switch (shape) {
|
|
186
|
-
case "queue":
|
|
187
|
-
svg = /* @__PURE__ */ jsx("path", { d: queueSVGPath(w, h).path });
|
|
188
|
-
break;
|
|
189
|
-
case "storage":
|
|
190
|
-
case "cylinder": {
|
|
191
|
-
svg = /* @__PURE__ */ jsx("path", { d: cylinderSVGPath(w, h).path });
|
|
192
|
-
break;
|
|
193
|
-
}
|
|
194
|
-
default: {
|
|
195
|
-
svg = /* @__PURE__ */ jsx(
|
|
196
|
-
"rect",
|
|
197
|
-
{
|
|
198
|
-
x: -1,
|
|
199
|
-
y: -1,
|
|
200
|
-
width: w + 2,
|
|
201
|
-
height: h + 2,
|
|
202
|
-
rx: 6
|
|
203
|
-
}
|
|
204
|
-
);
|
|
205
|
-
break;
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
return /* @__PURE__ */ jsx("g", { className: "likec4-shape-outline", children: svg });
|
|
209
|
-
}
|
|
210
198
|
|
|
211
|
-
export { ElementShape
|
|
199
|
+
export { ElementShape };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BoxProps } from '@likec4/styles/jsx';
|
|
2
|
-
import {
|
|
2
|
+
import { BaseNodePropsWithData } from '../../base/types';
|
|
3
3
|
import { ForwardRefExoticComponent, RefAttributes, MemoExoticComponent } from 'react';
|
|
4
4
|
export type ElementTagProps = {
|
|
5
5
|
tag: string;
|
|
@@ -10,6 +10,6 @@ type Data = {
|
|
|
10
10
|
tags: readonly string[] | null | undefined;
|
|
11
11
|
width: number;
|
|
12
12
|
};
|
|
13
|
-
type ElementTagsProps =
|
|
13
|
+
type ElementTagsProps = BaseNodePropsWithData<Data>;
|
|
14
14
|
export declare const ElementTags: MemoExoticComponent<({ id, data: { tags, width, hovered } }: ElementTagsProps) => import("react/jsx-runtime").JSX.Element | null>;
|
|
15
15
|
export {};
|
|
@@ -8,10 +8,10 @@ import { useHover, useDebouncedState } from '@mantine/hooks';
|
|
|
8
8
|
import { NodeToolbar, Position } from '@xyflow/react';
|
|
9
9
|
import { deepEqual } from 'fast-equals';
|
|
10
10
|
import { forwardRef, memo, useEffect, useCallback } from 'react';
|
|
11
|
-
import { useTagSpecification } from '
|
|
12
|
-
import { useDiagram } from '
|
|
13
|
-
import { useCurrentZoom } from '
|
|
14
|
-
import { stopPropagation } from '
|
|
11
|
+
import { useTagSpecification } from '../../context/TagStylesContext.js';
|
|
12
|
+
import { useDiagram } from '../../hooks/useDiagram.js';
|
|
13
|
+
import { useCurrentZoom } from '../../hooks/useXYFlow.js';
|
|
14
|
+
import { stopPropagation } from '../../utils/xyflow.js';
|
|
15
15
|
|
|
16
16
|
const ElementTag = forwardRef(
|
|
17
17
|
({ tag, cursor, className, style, ...props }, ref) => {
|
|
@@ -2,8 +2,6 @@ export { CompoundActionButton } from './compound/CompoundActionButton';
|
|
|
2
2
|
export { CompoundDetailsButton } from './compound/CompoundDetailsButton';
|
|
3
3
|
export { CompoundNodeContainer } from './compound/CompoundNodeContainer';
|
|
4
4
|
export { CompoundTitle } from './compound/CompoundTitle';
|
|
5
|
-
export { customEdge } from './customEdge';
|
|
6
|
-
export { customNode } from './customNode';
|
|
7
5
|
export { EdgeActionButton } from './edge/EdgeActionButton';
|
|
8
6
|
export { EdgeContainer } from './edge/EdgeContainer';
|
|
9
7
|
export { EdgeLabel } from './edge/EdgeLabel';
|
|
@@ -11,10 +9,12 @@ export { EdgeLabelContainer } from './edge/EdgeLabelContainer';
|
|
|
11
9
|
export { arrowTypeToMarker, EdgeMarkers, type EdgeMarkerType } from './edge/EdgeMarkers';
|
|
12
10
|
export { EdgePath } from './edge/EdgePath';
|
|
13
11
|
export { ElementActionButtons } from './element/ElementActionButtons';
|
|
12
|
+
export { ElementData } from './element/ElementData';
|
|
14
13
|
export { ElementDetailsButton } from './element/ElementDetailsButton';
|
|
15
14
|
export { ElementNodeContainer } from './element/ElementNodeContainer';
|
|
16
15
|
export { ElementShape } from './element/ElementShape';
|
|
17
16
|
export { ElementTag, ElementTags } from './element/ElementTags';
|
|
18
|
-
export {
|
|
19
|
-
export {
|
|
17
|
+
export { Markdown } from './Markdown';
|
|
18
|
+
export { memoEdge } from './memoEdge';
|
|
19
|
+
export { memoNode } from './memoNode';
|
|
20
20
|
export { DefaultHandles } from './NodeHandles';
|
|
@@ -5,8 +5,8 @@ const isSame = (a, b) => {
|
|
|
5
5
|
return Math.abs(a - b) < 2.5;
|
|
6
6
|
};
|
|
7
7
|
const edgePropsEqual = (prev, next) => prev.id === next.id && deepEqual(prev.selected ?? false, next.selected ?? false) && deepEqual(prev.animated ?? false, next.animated ?? false) && deepEqual(prev.source, next.source) && deepEqual(prev.sourceHandleId ?? null, next.sourceHandleId ?? null) && deepEqual(prev.sourcePosition, next.sourcePosition) && deepEqual(prev.target, next.target) && deepEqual(prev.targetHandleId ?? null, next.targetHandleId ?? null) && deepEqual(prev.targetPosition, next.targetPosition) && isSame(prev.sourceX, next.sourceX) && isSame(prev.sourceY, next.sourceY) && isSame(prev.targetX, next.targetX) && isSame(prev.targetY, next.targetY) && deepEqual(prev.data, next.data);
|
|
8
|
-
function
|
|
8
|
+
function memoEdge(Edge) {
|
|
9
9
|
return memo(Edge, edgePropsEqual);
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
export {
|
|
12
|
+
export { memoEdge };
|
|
@@ -4,13 +4,22 @@ import { memo } from 'react';
|
|
|
4
4
|
function nodePropsEqual(prev, next) {
|
|
5
5
|
return prev.id === next.id && deepEqual(prev.selected ?? false, next.selected ?? false) && deepEqual(prev.dragging ?? false, next.dragging ?? false) && deepEqual(prev.width ?? 0, next.width ?? 0) && deepEqual(prev.height ?? 0, next.height ?? 0) && deepEqual(prev.zIndex ?? 0, next.zIndex ?? 0) && deepEqual(prev.data, next.data);
|
|
6
6
|
}
|
|
7
|
-
|
|
7
|
+
const isMemoized = Symbol.for("isMemoized");
|
|
8
|
+
function memoNode(Node) {
|
|
9
|
+
if (Node.hasOwnProperty(isMemoized)) {
|
|
10
|
+
return Node;
|
|
11
|
+
}
|
|
8
12
|
const NodeComponent = memo(
|
|
9
13
|
Node,
|
|
10
|
-
|
|
14
|
+
nodePropsEqual
|
|
11
15
|
);
|
|
12
16
|
NodeComponent.displayName = "Node";
|
|
17
|
+
Object.defineProperty(NodeComponent, isMemoized, {
|
|
18
|
+
enumerable: false,
|
|
19
|
+
writable: false,
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
13
22
|
return NodeComponent;
|
|
14
23
|
}
|
|
15
24
|
|
|
16
|
-
export {
|
|
25
|
+
export { memoNode };
|
package/dist/bundle/index.d.ts
CHANGED
|
@@ -1,8 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export { LikeC4View } from './LikeC4View';
|
|
3
|
-
export type { LikeC4BrowserProps, LikeC4ViewProps } from './LikeC4View.props';
|
|
4
|
-
export { ReactLikeC4, type ReactLikeC4Props } from './ReactLikeC4';
|
|
5
|
-
export { LikeC4ProjectsProvider, type LikeC4ProjectsProviderProps } from '../LikeC4ProjectsProvider';
|
|
6
|
-
export { LikeC4ModelProvider, type LikeC4ModelProviderProps } from './LikeC4ModelProvider';
|
|
7
|
-
export { ViewNotFound } from './ViewNotFound';
|
|
8
|
-
export * from '../custom/hooks';
|
|
1
|
+
export * from '../index';
|
|
@@ -2,29 +2,48 @@ import { jsx, jsxs } from 'react/jsx-runtime';
|
|
|
2
2
|
import { Box } from '@likec4/styles/jsx';
|
|
3
3
|
import { Notification, ScrollAreaAutosize, Code, Group, Button } from '@mantine/core';
|
|
4
4
|
import { ErrorBoundary as ErrorBoundary$1 } from 'react-error-boundary';
|
|
5
|
-
import IconX from '../node_modules/.pnpm/@tabler_icons-react@3.
|
|
5
|
+
import IconX from '../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js';
|
|
6
6
|
|
|
7
7
|
function ErrorFallback({ error, resetErrorBoundary }) {
|
|
8
8
|
const errorString = error instanceof Error ? error.message : "Unknown error";
|
|
9
|
-
return /* @__PURE__ */ jsx(
|
|
10
|
-
|
|
9
|
+
return /* @__PURE__ */ jsx(
|
|
10
|
+
Box,
|
|
11
11
|
{
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
css: {
|
|
13
|
+
position: "absolute",
|
|
14
|
+
top: "0",
|
|
15
|
+
left: "0",
|
|
16
|
+
width: "100%",
|
|
17
|
+
height: "100%",
|
|
18
|
+
padding: "0",
|
|
19
|
+
backdropFilter: `blur(5px)`,
|
|
20
|
+
backgroundColor: {
|
|
21
|
+
_dark: `[rgb(34 34 34 / 10%)]`,
|
|
22
|
+
_light: `[rgb(15 15 15/ 20%)]`
|
|
23
|
+
},
|
|
24
|
+
zIndex: 1e3
|
|
17
25
|
},
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
+
children: /* @__PURE__ */ jsxs(
|
|
27
|
+
Notification,
|
|
28
|
+
{
|
|
29
|
+
icon: /* @__PURE__ */ jsx(IconX, { style: { width: 16, height: 16 } }),
|
|
30
|
+
styles: {
|
|
31
|
+
icon: {
|
|
32
|
+
alignSelf: "flex-start"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
color: "red",
|
|
36
|
+
title: "Oops, something went wrong",
|
|
37
|
+
p: "xl",
|
|
38
|
+
withCloseButton: false,
|
|
39
|
+
children: [
|
|
40
|
+
/* @__PURE__ */ jsx(ScrollAreaAutosize, { maw: "100%", mah: 400, children: /* @__PURE__ */ jsx(Code, { block: true, children: errorString }) }),
|
|
41
|
+
/* @__PURE__ */ jsx(Group, { gap: "xs", mt: "xl", children: /* @__PURE__ */ jsx(Button, { color: "gray", size: "xs", variant: "light", onClick: () => resetErrorBoundary(), children: "Reset" }) })
|
|
42
|
+
]
|
|
43
|
+
}
|
|
44
|
+
)
|
|
26
45
|
}
|
|
27
|
-
)
|
|
46
|
+
);
|
|
28
47
|
}
|
|
29
48
|
function ErrorBoundary(props) {
|
|
30
49
|
return /* @__PURE__ */ jsx(
|
package/dist/components/Link.js
CHANGED
|
@@ -4,8 +4,8 @@ import { styled } from '@likec4/styles/jsx';
|
|
|
4
4
|
import { Badge, CopyButton, ActionIcon } from '@mantine/core';
|
|
5
5
|
import { forwardRef } from 'react';
|
|
6
6
|
import { GithubIcon } from './GithubIcon.js';
|
|
7
|
-
import IconCheck from '../node_modules/.pnpm/@tabler_icons-react@3.
|
|
8
|
-
import IconCopy from '../node_modules/.pnpm/@tabler_icons-react@3.
|
|
7
|
+
import IconCheck from '../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.js';
|
|
8
|
+
import IconCopy from '../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.1.1/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js';
|
|
9
9
|
|
|
10
10
|
const GITHUB_PREFIX = "https://github.com/";
|
|
11
11
|
const Link = forwardRef(
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SVGProps, ForwardRefExoticComponent, RefAttributes } from 'react';
|
|
2
|
+
type LogoProps = Omit<SVGProps<SVGSVGElement>, 'viewBox'>;
|
|
3
|
+
export declare const Logo: ForwardRefExoticComponent<Omit<LogoProps, "ref"> & RefAttributes<SVGSVGElement>>;
|
|
4
|
+
export declare const LogoIcon: ForwardRefExoticComponent<Omit<LogoProps, "ref"> & RefAttributes<SVGSVGElement>>;
|
|
5
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { css } from '@likec4/styles/css';
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
|
|
5
|
+
const Logo = forwardRef(
|
|
6
|
+
(props, ref) => {
|
|
7
|
+
return /* @__PURE__ */ jsxs("svg", { ref, xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 222 56", ...props, children: [
|
|
8
|
+
/* @__PURE__ */ jsx(
|
|
9
|
+
"path",
|
|
10
|
+
{
|
|
11
|
+
fill: "#5E98AF",
|
|
12
|
+
d: "M33.95 33.78V0H2.37A2.37 2.37 0 0 0 0 2.35V33.9h33.95v-.12ZM38.57 33.78H55.6v-14.6c0-1.3-1.06-2.35-2.36-2.35H38.57v16.95ZM33.95 38.37H17.04v14.6c0 1.29 1.06 2.35 2.36 2.35h14.67V38.37h-.12ZM38.57 38.37v16.95h14.67c1.3 0 2.36-1.06 2.36-2.36v-14.6H38.57Z"
|
|
13
|
+
}
|
|
14
|
+
),
|
|
15
|
+
/* @__PURE__ */ jsx(
|
|
16
|
+
"path",
|
|
17
|
+
{
|
|
18
|
+
className: css({
|
|
19
|
+
fill: "[#FCFBF7]",
|
|
20
|
+
_light: {
|
|
21
|
+
fill: "[#222221]"
|
|
22
|
+
}
|
|
23
|
+
}),
|
|
24
|
+
d: "M71.61 12.08c-.06 3.61.3 29.95.23 31.87 0 1.8 0 3.6.06 5.41 0 .3.18.58.47.58 4.1.18 8.13-.17 12.22-.11 1.34.05 2.69 0 3.97 0 1.29-.06 1.4-.59 1.35-1.63-.06-1.63-.06-3.08-.06-4.65-.06-.82-.53-1.11-1.23-1.11-2.4.06-4.8-.06-7.19.06-.4.06-.82.06-1.23.06-.7-.06-.87-.24-.93-1v-.86c-.18-4.83.17-9.83.17-14.66-.06-4.07 0-7.73-.06-11.34 0-1.57 0-3.14-.05-4.65-.06-.93 0-1.92-.24-2.85-.11-.35-.29-.81-.7-.81h-5.5c-.93 0-1.22.64-1.28 1.57v4.12ZM103.81 35c-.17-6.63-.1-13.67-.05-20.24 0-2.04-.12-4.25-.12-6.28 0-2.21-.87-2.1-2.04-2.15-1.7-.06-2.46-.06-4.15-.06-1.11-.06-1.58.23-1.58 1.34 0 5.7-.18 21.8-.12 24.13.06 2.33.3 12.91.18 15.24-.06.81 0 1.62.06 2.44.05.29.23.58.7.58 1.93-.12 3.74-.12 5.67-.17.7-.06 1.28-.24 1.58-1 .05-.4-.12-11.04-.12-13.83Zm13.92 4.47c0-2.03-.3-7.56-.23-8.72 0-.17.11-.4.17-.4.12 0 .35.11.41.17 1.87 2.44 10.64 19.36 11.7 19.42.28.06.58.06.87.06 1.99-.12 3.74 0 5.73 0 2.04 0 .7-1.98.35-2.5-.53-.76-7.48-13.14-7.9-13.9-1.16-1.98-2.16-4.13-3.32-6.05-.12-.23-.24-.58-.18-.81.12-.7.3-1.34.59-1.98a93.18 93.18 0 0 1 4.55-8.14c1.88-2.97 2.93-4.83 4.45-7.5.35-.64.58-1.34.82-2.1.05-.29-.18-.58-.53-.58-1.11-.05-5.15 0-6.43 0-.59 0-1.17.12-1.46.64-.76 1.46-8.6 15.7-9.35 16.98-.06.12-.24.18-.41.18 0 0-.12-.18-.12-.3-.06-3.25.53-13.9.4-16.04-.05-1.28-.28-1.4-1.57-1.46-1.4-.05-3.33-.05-4.73-.05-1.3 0-1.4.7-1.58 1.62-.06.18-.06 5.64-.06 8.09 0 3.54-.3 25.76.11 32.8 0 .7.18 1.1.77 1.1 1.57-.12 3.91 0 5.49 0 1.11 0 1.29-.12 1.29-1.98 0-2.5.23-4.77.23-7.85 0-.23-.06-.46-.06-.7Zm25.66-1.4h-.06c0 1.46-.05 2.97 0 4.49.06 1.86.18 3.72.3 5.58 0 .64.17.81.76.93 1.22.29 2.4.35 3.62.35 3.16-.12 6.31.11 9.47 0 1.29-.06 1.87.06 3.16-.18 1.17-.23 1.58-.87 1.58-2.61-.12-1.1-.06-1.57-.06-2.91 0-1.92-1.35-2.56-2.52-2.5-.81.06-4.73-.06-6.31-.06-2.63.06-2.22.4-2.22-2.33 0-2.2.06-5.05.06-7.32 0-1.22.11-1.63 1.28-1.63h7.31c1.17.17 1.99-.64 1.99-1.86 0-1.22.12-1.28.12-2.5l-.18-1.75c-.12-.99-.47-1.33-1.46-1.33-.64 0-1.29.05-1.93.11-2.52.18-3.68-.17-6.14 0-.82 0-.93-.11-1-.87-.23-2.27 0-4.77.24-7.04.06-.93.3-1.1 1.17-1.16l8.24-.06c1.11-.11 1.46-.06 1.4-1.16-.11-1.69.06-3.43-.11-5.12-.12-.93-.41-1.1-1.46-1.1-1.76.05-2.17.05-3.92.17-1.75.06-8.77.06-10.46.06-2.46 0-2.63-.18-2.7 2.8-.1 2.32-.05 4.7-.05 7.09 0 4.07-.23 18.66-.12 21.92Zm47.76-24.82c.06-1.92 0-3.5 0-5.35 0-2.15-3.92-1.92-5.32-1.86a18.95 18.95 0 0 0-15.08 9.77c-.82 1.57-1.4 3.2-1.81 4.88a34 34 0 0 0-.59 12.15c.41 3.78 1.4 7.56 3.74 10.59 4.04 5.3 11.46 7.15 17.83 6.16.3-.06.59-.11.82-.29.18-.11.35-.35.35-.58l.18-3.31c.06-1.05 0-1 0-2.04 0-1.4-2.93-.35-4.74-.35-1.75 0-3.62-.06-5.2-.87-2.8-1.57-4.38-4.71-5.26-7.68-1-3.2-1.23-6.63-.64-9.88.7-4.25 2.74-9.13 7.25-10.59 2.57-.87 5.31-.58 7.89-.29.35.06.58-.17.58-.46Zm26.77 15.3c.06-2.5 0-14.84 0-18.38.06-.82 0-1.63-.11-2.45-.06-.99-.24-1.28-1.29-1.33h-4.44c-.82 0-1.35.4-1.82 1.27-1.34 3.2-10.75 24.02-12.15 26.58-.53.99-1 1.63-1 2.68v4.24c0 .76-.06 1.28 1.23 1.28l11.1-.06c1.47 0 1.47.3 1.47 1.1 0 .88-.12 4.9-.12 5.3 0 .58.12 1.16 1.23 1.16h5.08c1.23 0 1.23-.7 1.23-2.03.06-1.17-.06-3.5-.06-4.66 0-.93.18-.98 1.76-.98 1.22 0 1.75-.12 1.75-.88.06-1.57 0-2.67 0-4.42 0-1.04-.93-.98-2.92-.98-.65 0-.7-.18-.7-1.05-.12-1.8-.24-4.6-.24-6.4Zm-7.25-5.94c-.05.7-.11 10.82-.11 12.27-.06.81-.24 1.05-1 1.1-1.93.06-3.85.06-5.78.06-.47 0-.65-.4-.41-.87.23-.4 4.85-11.57 6.13-14.48.18-.17.24-.35.41-.52.18-.12.41-.18.59-.23.06 0 .23.29.23.46 0 .76-.06 1.51-.06 2.21Z"
|
|
25
|
+
}
|
|
26
|
+
)
|
|
27
|
+
] });
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
const LogoIcon = forwardRef(
|
|
31
|
+
(props, ref) => {
|
|
32
|
+
return /* @__PURE__ */ jsx("svg", { ref, xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 56 56", ...props, children: /* @__PURE__ */ jsx(
|
|
33
|
+
"path",
|
|
34
|
+
{
|
|
35
|
+
fill: "#5E98AF",
|
|
36
|
+
d: "M33.95 33.78V0H2.37A2.37 2.37 0 0 0 0 2.35V33.9h33.95v-.12ZM38.57 33.78H55.6v-14.6c0-1.3-1.06-2.35-2.36-2.35H38.57v16.95ZM33.95 38.37H17.04v14.6c0 1.29 1.06 2.35 2.36 2.35h14.67V38.37h-.12ZM38.57 38.37v16.95h14.67c1.3 0 2.36-1.06 2.36-2.36v-14.6H38.57Z"
|
|
37
|
+
}
|
|
38
|
+
) });
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
export { Logo, LogoIcon };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* PortalToContainer is used to render elements outside the LikeC4DiagramXYFlow, but inside the container.
|
|
4
|
+
* It is used internally by the library.
|
|
5
|
+
*/
|
|
6
|
+
export declare function PortalToContainer({ children }: PropsWithChildren): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { Portal } from '@mantine/core';
|
|
3
|
+
import { useContext } from 'react';
|
|
4
|
+
import { RootContainerContext } from '../context/RootContainerContext.js';
|
|
5
|
+
|
|
6
|
+
function PortalToContainer({ children }) {
|
|
7
|
+
const ctx = useContext(RootContainerContext);
|
|
8
|
+
if (!ctx) {
|
|
9
|
+
throw new Error("PortalToContainer must be used within RootContainer");
|
|
10
|
+
}
|
|
11
|
+
return /* @__PURE__ */ jsx(Portal, { target: ctx.ref.current ?? `#${ctx.id}`, children });
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { PortalToContainer };
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
import { PropsWithChildren
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
2
|
export declare function RootContainer({ id, className, reduceGraphics, children, }: PropsWithChildren<{
|
|
3
3
|
id: string;
|
|
4
4
|
className?: string | undefined;
|
|
5
5
|
reduceGraphics?: boolean;
|
|
6
6
|
}>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
export declare function useRootContainerRef(): RefObject<HTMLDivElement | null>;
|
|
8
|
-
/**
|
|
9
|
-
* NOTE: Non-reactive
|
|
10
|
-
*/
|
|
11
|
-
export declare function useRootContainer(): HTMLDivElement | null;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { cx } from '@likec4/styles/css';
|
|
3
|
+
import { useIsomorphicLayoutEffect } from '@react-hookz/web';
|
|
4
|
+
import { atom } from 'nanostores';
|
|
5
|
+
import { useState, useRef, useEffect, useMemo } from 'react';
|
|
6
|
+
import { PanningAtomSafeCtx, ReduceGraphicsModeCtx, RootContainerContext } from '../context/RootContainerContext.js';
|
|
7
|
+
|
|
8
|
+
function RootContainer({
|
|
9
|
+
id,
|
|
10
|
+
className,
|
|
11
|
+
reduceGraphics = false,
|
|
12
|
+
children
|
|
13
|
+
}) {
|
|
14
|
+
const [mounted, setMounted] = useState(false);
|
|
15
|
+
const ref = useRef(null);
|
|
16
|
+
const $isPanningRef = useRef(null);
|
|
17
|
+
if (!$isPanningRef.current) {
|
|
18
|
+
$isPanningRef.current = atom(false);
|
|
19
|
+
}
|
|
20
|
+
useIsomorphicLayoutEffect(() => {
|
|
21
|
+
setMounted(true);
|
|
22
|
+
}, []);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
return $isPanningRef.current?.subscribe((isPanning) => {
|
|
25
|
+
ref.current?.setAttribute("data-likec4-diagram-panning", isPanning ? "true" : "false");
|
|
26
|
+
});
|
|
27
|
+
}, []);
|
|
28
|
+
const ctx = useMemo(() => ({ id, ref }), [id, ref]);
|
|
29
|
+
return /* @__PURE__ */ jsx(PanningAtomSafeCtx, { value: $isPanningRef.current, children: /* @__PURE__ */ jsx(ReduceGraphicsModeCtx.Provider, { value: reduceGraphics, children: /* @__PURE__ */ jsx(
|
|
30
|
+
"div",
|
|
31
|
+
{
|
|
32
|
+
id,
|
|
33
|
+
className: cx("likec4-root", className),
|
|
34
|
+
ref,
|
|
35
|
+
...reduceGraphics && {
|
|
36
|
+
["data-likec4-reduced-graphics"]: true
|
|
37
|
+
},
|
|
38
|
+
children: mounted && !!ctx.ref.current && /* @__PURE__ */ jsx(RootContainerContext.Provider, { value: ctx, children })
|
|
39
|
+
}
|
|
40
|
+
) }) });
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export { RootContainer };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
|
|
3
3
|
const ErrorMessage = ({ children }) => /* @__PURE__ */ jsx(
|
|
4
4
|
"div",
|
|
5
5
|
{
|
|
6
6
|
style: {
|
|
7
|
-
margin: "
|
|
7
|
+
margin: "1rem 0"
|
|
8
8
|
},
|
|
9
9
|
children: /* @__PURE__ */ jsx(
|
|
10
10
|
"div",
|
|
@@ -4,11 +4,11 @@ import { LikeC4DiagramEventHandlers } from '../LikeC4Diagram.props';
|
|
|
4
4
|
type RequiredOrNull<T> = {
|
|
5
5
|
[P in keyof T]-?: NonNullable<T[P]> | null;
|
|
6
6
|
};
|
|
7
|
-
export type DiagramEventHandlersContext = RequiredOrNull<LikeC4DiagramEventHandlers
|
|
8
|
-
handlersRef: RefObject<LikeC4DiagramEventHandlers
|
|
7
|
+
export type DiagramEventHandlersContext = RequiredOrNull<LikeC4DiagramEventHandlers> & {
|
|
8
|
+
handlersRef: RefObject<Required<LikeC4DiagramEventHandlers>>;
|
|
9
9
|
};
|
|
10
10
|
export declare function DiagramEventHandlers<A extends aux.Any>({ handlers, children, }: PropsWithChildren<{
|
|
11
|
-
handlers: LikeC4DiagramEventHandlers<A
|
|
11
|
+
handlers: Required<LikeC4DiagramEventHandlers<A>>;
|
|
12
12
|
}>): import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
export declare function useDiagramEventHandlers(): DiagramEventHandlersContext;
|
|
14
14
|
export declare function useDiagramEventHandlersRef<A extends aux.Any = aux.Any>(): RefObject<LikeC4DiagramEventHandlers<A>>;
|
|
@@ -1,32 +1,36 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useSyncedRef } from '@react-hookz/web';
|
|
3
3
|
import { useContext, createContext, useMemo } from 'react';
|
|
4
|
-
import { isFunction, mapToObj } from 'remeda';
|
|
4
|
+
import { keys, isFunction, mapToObj } from 'remeda';
|
|
5
5
|
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
6
|
+
const defaultHandlers = {
|
|
7
|
+
onChange: null,
|
|
8
|
+
onNavigateTo: null,
|
|
9
|
+
onNodeClick: null,
|
|
10
|
+
onNodeContextMenu: null,
|
|
11
|
+
onCanvasContextMenu: null,
|
|
12
|
+
onEdgeClick: null,
|
|
13
|
+
onEdgeContextMenu: null,
|
|
14
|
+
onCanvasClick: null,
|
|
15
|
+
onCanvasDblClick: null,
|
|
16
|
+
onBurgerMenuClick: null,
|
|
17
|
+
onOpenSource: null,
|
|
18
|
+
onInitialized: null
|
|
19
|
+
};
|
|
20
|
+
const HandlerNames = keys(defaultHandlers);
|
|
19
21
|
const DiagramEventHandlersReactContext = createContext({
|
|
20
22
|
...mapToObj(HandlerNames, (name) => [name, null]),
|
|
21
23
|
handlersRef: {
|
|
22
|
-
current:
|
|
24
|
+
current: defaultHandlers
|
|
23
25
|
}
|
|
24
26
|
});
|
|
25
27
|
function DiagramEventHandlers({
|
|
26
28
|
handlers,
|
|
27
29
|
children
|
|
28
30
|
}) {
|
|
29
|
-
const handlersRef = useSyncedRef(
|
|
31
|
+
const handlersRef = useSyncedRef(
|
|
32
|
+
handlers
|
|
33
|
+
);
|
|
30
34
|
const deps = HandlerNames.map((name) => isFunction(handlers[name]));
|
|
31
35
|
const value = useMemo(() => ({
|
|
32
36
|
...mapToObj(HandlerNames, (name) => {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ExclusiveUnion } from '@likec4/core/types';
|
|
2
2
|
import { PropsWithChildren } from 'react';
|
|
3
|
-
declare const FeatureNames: readonly ["Controls", "ReadOnly", "FocusMode", "NavigateTo", "ElementDetails", "RelationshipDetails", "RelationshipBrowser", "Search", "NavigationButtons", "Notations", "DynamicViewWalkthrough", "EdgeEditing", "
|
|
3
|
+
declare const FeatureNames: readonly ["Controls", "ReadOnly", "FocusMode", "NavigateTo", "ElementDetails", "RelationshipDetails", "RelationshipBrowser", "Search", "NavigationButtons", "Notations", "DynamicViewWalkthrough", "EdgeEditing", "FitView", "Vscode", "ElementTags"];
|
|
4
4
|
export type FeatureName = typeof FeatureNames[number];
|
|
5
5
|
type CustomFeatures = {
|
|
6
6
|
enableControls: 'next' | boolean;
|
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
import { ElementShape } from '@likec4/core';
|
|
2
|
-
import { PropsWithChildren } from 'react';
|
|
2
|
+
import { CSSProperties, PropsWithChildren } from 'react';
|
|
3
3
|
import { ElementIconRenderer } from '../LikeC4Diagram.props';
|
|
4
4
|
export declare function IconRendererProvider({ value, children, }: PropsWithChildren<{
|
|
5
5
|
value: ElementIconRenderer | null;
|
|
6
6
|
}>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
export declare function IconRenderer({ element, className, }: {
|
|
7
|
+
export declare function IconRenderer({ element, className, style, }: {
|
|
8
8
|
element?: {
|
|
9
9
|
id: string;
|
|
10
10
|
title: string;
|
|
11
11
|
icon?: string | null | undefined;
|
|
12
12
|
};
|
|
13
|
-
className
|
|
13
|
+
className?: string | undefined;
|
|
14
|
+
style?: CSSProperties | undefined;
|
|
14
15
|
}): import("react/jsx-runtime").JSX.Element | null;
|
|
15
16
|
export declare function IconOrShapeRenderer({ element, className, }: {
|
|
16
17
|
element: {
|