@likec4/diagram 1.45.0 → 1.46.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/index.js +2134 -1652
- package/dist/LikeC4Diagram.d.ts +1 -1
- package/dist/LikeC4Diagram.js +8 -7
- package/dist/LikeC4Diagram.props.d.ts +4 -12
- package/dist/LikeC4ProjectsProvider.js +8 -4
- package/dist/LikeC4View.js +1 -5
- package/dist/ReactLikeC4.d.ts +1 -4
- package/dist/StaticLikeC4Diagram.js +0 -2
- package/dist/base-primitives/NodeHandles.d.ts +2 -1
- package/dist/base-primitives/NodeHandles.js +22 -18
- package/dist/base-primitives/compound/CompoundActionButton.js +1 -1
- package/dist/base-primitives/compound/CompoundDetailsButton.js +1 -1
- package/dist/base-primitives/edge/EdgeActionButton.js +1 -1
- package/dist/base-primitives/edge/EdgeContainer.d.ts +1 -1
- package/dist/base-primitives/edge/EdgeContainer.js +2 -3
- package/dist/base-primitives/edge/EdgeLabel.js +16 -16
- package/dist/base-primitives/edge/EdgeLabelContainer.d.ts +1 -1
- package/dist/base-primitives/edge/EdgeLabelContainer.js +5 -4
- package/dist/base-primitives/edge/EdgePath.js +13 -18
- package/dist/base-primitives/element/ElementActionButtons.js +1 -1
- package/dist/base-primitives/element/ElementDetailsButton.js +1 -1
- package/dist/components/ErrorFallback.js +1 -1
- package/dist/components/Link.js +2 -2
- package/dist/context/DiagramEventHandlers.js +0 -1
- package/dist/context/DiagramFeatures.d.ts +1 -1
- package/dist/context/DiagramFeatures.js +1 -0
- package/dist/context/EnsureMantine.js +2 -1
- package/dist/context/IconRenderer.js +6 -6
- package/dist/editor/LikeC4EditorProvider.d.ts +22 -0
- package/dist/editor/LikeC4EditorProvider.js +12 -0
- package/dist/editor/__tests__/fixture.d.ts +205 -0
- package/dist/editor/applyChangesToManualLayout.d.ts +8 -0
- package/dist/editor/applyChangesToManualLayout.js +182 -0
- package/dist/editor/editorActor.actions.d.ts +201 -0
- package/dist/editor/editorActor.actions.js +149 -0
- package/dist/editor/editorActor.d.ts +653 -0
- package/dist/editor/editorActor.js +324 -0
- package/dist/editor/hotkeyActor.d.ts +7 -0
- package/dist/editor/hotkeyActor.js +19 -0
- package/dist/editor/index.d.ts +3 -2
- package/dist/editor/useEditorActorLogic.d.ts +565 -0
- package/dist/editor/useEditorActorLogic.js +54 -0
- package/dist/hooks/safeContext.d.ts +3 -2
- package/dist/hooks/safeContext.js +7 -4
- package/dist/hooks/useDiagram.d.ts +4 -2
- package/dist/hooks/useDiagram.js +19 -8
- package/dist/hooks/useDiagramCompareLayout.d.ts +8 -0
- package/dist/hooks/useDiagramCompareLayout.js +22 -2
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/likec4diagram/DiagramXYFlow.js +1 -2
- package/dist/likec4diagram/custom/edges/EdgeDrifts.js +1 -5
- package/dist/likec4diagram/custom/edges/RelationshipEdge.js +74 -48
- package/dist/likec4diagram/custom/edges/edges.css.d.ts +0 -1
- package/dist/likec4diagram/custom/edges/edges.css.js +30 -24
- package/dist/likec4diagram/custom/edges/useControlPoints.js +2 -2
- package/dist/likec4diagram/custom/nodes/ElementActions.js +2 -2
- package/dist/likec4diagram/custom/nodes/NodeDrifts.js +4 -9
- package/dist/likec4diagram/custom/nodes/nodes.js +3 -6
- package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +2 -2
- package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +2 -2
- package/dist/likec4diagram/relationship-popover/RelationshipPopover.js +127 -14
- package/dist/likec4diagram/state/DiagramActorProvider.js +63 -71
- package/dist/likec4diagram/state/assign.d.ts +4 -1
- package/dist/likec4diagram/state/assign.js +11 -8
- package/dist/likec4diagram/state/createViewChange.js +13 -9
- package/dist/likec4diagram/state/diagram-api.d.ts +20 -2
- package/dist/likec4diagram/state/diagram-api.js +58 -44
- package/dist/likec4diagram/state/hotkeyActor.d.ts +1 -1
- package/dist/likec4diagram/state/hotkeyActor.js +12 -0
- package/dist/likec4diagram/state/machine.actions.d.ts +774 -195
- package/dist/likec4diagram/state/machine.actions.js +185 -74
- package/dist/likec4diagram/state/machine.actions.layout.d.ts +93 -31
- package/dist/likec4diagram/state/machine.actions.layout.js +16 -4
- package/dist/likec4diagram/state/machine.d.ts +5 -4
- package/dist/likec4diagram/state/machine.js +11 -6
- package/dist/likec4diagram/state/machine.setup.d.ts +20 -9
- package/dist/likec4diagram/state/machine.setup.js +18 -3
- package/dist/likec4diagram/state/machine.state.initializing.d.ts +34 -18
- package/dist/likec4diagram/state/machine.state.initializing.js +10 -10
- package/dist/likec4diagram/state/machine.state.navigating.js +28 -9
- package/dist/likec4diagram/state/machine.state.ready.d.ts +1368 -434
- package/dist/likec4diagram/state/machine.state.ready.focused.d.ts +363 -39
- package/dist/likec4diagram/state/machine.state.ready.focused.js +17 -4
- package/dist/likec4diagram/state/machine.state.ready.idle.d.ts +104 -38
- package/dist/likec4diagram/state/machine.state.ready.idle.js +14 -5
- package/dist/likec4diagram/state/machine.state.ready.js +13 -90
- package/dist/likec4diagram/state/machine.state.ready.printing.d.ts +18 -6
- package/dist/likec4diagram/state/machine.state.ready.walkthrough.d.ts +204 -31
- package/dist/likec4diagram/state/machine.state.ready.walkthrough.js +14 -1
- package/dist/likec4diagram/state/types.d.ts +6 -2
- package/dist/likec4diagram/state/utils.d.ts +33 -7
- package/dist/likec4diagram/state/utils.js +23 -7
- package/dist/likec4diagram/ui/notation/NotationPanel.js +3 -3
- package/dist/likec4diagram/useLayoutConstraints.js +5 -9
- package/dist/navigationpanel/NavigationPanel.js +6 -9
- package/dist/navigationpanel/NavigationPanelDropdown.js +7 -7
- package/dist/navigationpanel/_common.js +1 -1
- package/dist/navigationpanel/comparepanel/CompareActionsMenu.d.ts +3 -1
- package/dist/navigationpanel/comparepanel/CompareActionsMenu.js +40 -14
- package/dist/navigationpanel/comparepanel/ComparePanelControls.js +6 -4
- package/dist/navigationpanel/comparepanel/LayoutTypeSwitcher.js +2 -2
- package/dist/navigationpanel/controls/DetailsControls.js +2 -2
- package/dist/navigationpanel/controls/LayoutWarning.js +2 -1
- package/dist/navigationpanel/controls/NavigationButtons.js +2 -2
- package/dist/navigationpanel/controls/OpenSource.js +1 -1
- package/dist/navigationpanel/controls/SearchControl.js +2 -2
- package/dist/navigationpanel/controls/ToggleReadonly.js +25 -17
- package/dist/navigationpanel/dropdown/ProjectsMenu.js +1 -1
- package/dist/navigationpanel/editorpanel/CenterCamera.js +1 -1
- package/dist/navigationpanel/editorpanel/ChangeAutoLayoutButton.js +1 -1
- package/dist/navigationpanel/editorpanel/ManualLayoutToolsButton.js +9 -9
- package/dist/navigationpanel/editorpanel/ToggleReadonly.js +1 -1
- package/dist/navigationpanel/walkthrough/ActiveWalkthroughControls.js +3 -3
- package/dist/navigationpanel/walkthrough/DynamicViewControls.d.ts +66 -66
- package/dist/navigationpanel/walkthrough/DynamicViewControls.js +1 -1
- package/dist/overlays/Overlays.js +24 -12
- package/dist/overlays/element-details/ElementDetailsCard.js +4 -4
- package/dist/overlays/element-details/MetadataValue.js +4 -6
- package/dist/overlays/element-details/TabPanelDeployments.js +3 -3
- package/dist/overlays/element-details/TabPanelRelationships.js +12 -7
- package/dist/overlays/element-details/TabPanelStructure.js +1 -1
- package/dist/overlays/overlaysActor.js +6 -3
- package/dist/overlays/relationship-details/RelationshipDetails.js +3 -3
- package/dist/overlays/relationship-details/SelectEdge.js +2 -2
- package/dist/overlays/relationship-details/custom/ElementActions.js +3 -3
- package/dist/overlays/relationships-browser/RelationshipsBrowser.js +3 -3
- package/dist/overlays/relationships-browser/SelectElement.js +2 -2
- package/dist/overlays/relationships-browser/custom/ElementActions.js +3 -3
- package/dist/search/components/ElementsColumn.js +7 -3
- package/dist/search/components/PickView.js +3 -1
- package/dist/search/components/SearchByTags.js +1 -1
- package/dist/search/components/SearchInput.js +1 -1
- package/dist/search/components/ViewsColum.d.ts +3 -1
- package/dist/search/components/ViewsColum.js +13 -7
- package/dist/shadowroot/styles.css.js +6 -1
- package/dist/styles.css2.js +1 -1
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/xyflow.d.ts +2 -3
- package/dist/utils/xyflow.js +9 -8
- package/package.json +17 -17
- package/panda.buildinfo.json +59 -77
- package/styles-min.css +1 -1
- package/styles.css +1 -1
- package/dist/base-primitives/edge/edge.css.d.ts +0 -4
- package/dist/base-primitives/edge/edge.css.js +0 -71
- package/dist/editor/LikeC4EditorContext.d.ts +0 -21
- package/dist/likec4diagram/state/syncManualLayoutActor.d.ts +0 -46
- package/dist/likec4diagram/state/syncManualLayoutActor.js +0 -309
- package/dist/utils/vector.d.ts +0 -86
- package/dist/utils/vector.js +0 -127
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/createReactComponent.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertTriangle.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowDownRight.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowLeft.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconBolt.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconBrowser.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconCylinder.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconDeviceMobile.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconDirectionSignFilled.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconFocusCentered.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconFolderFilled.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconHelpCircle.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconId.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignBottom.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignCenter.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignLeft.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignMiddle.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignRight.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignTop.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutBoardSplit.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutCollage.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutDashboard.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLink.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLock.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconLockOpen2.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerPlayFilled.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipBackFilled.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipForwardFilled.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerStopFilled.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconRectangularPrism.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconReorder.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconRouteOff.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconStack2.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconStarFilled.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconTarget.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconTransform.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconUser.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js +0 -0
- /package/dist/node_modules/.pnpm/{@tabler_icons-react@3.35.0_react@19.2.0 → @tabler_icons-react@3.35.0_react@19.2.1}/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js +0 -0
|
@@ -1,79 +1,23 @@
|
|
|
1
1
|
import { ButtonProps } from '@mantine/core';
|
|
2
|
-
import { ForwardRefExoticComponent,
|
|
2
|
+
import { ForwardRefExoticComponent, ReactEventHandler, AriaRole, ClipboardEventHandler, CompositionEventHandler, FocusEventHandler, FormEventHandler, InputEventHandler, KeyboardEventHandler, MouseEventHandler, DragEventHandler, TouchEventHandler, PointerEventHandler, UIEventHandler, WheelEventHandler, AnimationEventHandler, ToggleEventHandler, TransitionEventHandler, Key, Ref, RefAttributes } from 'react';
|
|
3
3
|
import { MotionProps } from 'motion/react';
|
|
4
4
|
export declare const TriggerWalkthroughButton: ForwardRefExoticComponent<Omit<ButtonProps & {
|
|
5
|
-
name?: string | undefined;
|
|
6
|
-
onChange?: FormEventHandler<HTMLButtonElement> | undefined;
|
|
7
5
|
id?: string | undefined;
|
|
8
|
-
type?: "button" | "
|
|
6
|
+
type?: "button" | "reset" | "submit" | undefined;
|
|
9
7
|
form?: string | undefined;
|
|
10
8
|
hidden?: boolean | undefined;
|
|
11
9
|
draggable?: (boolean | "true" | "false") | undefined;
|
|
12
10
|
className?: string | undefined;
|
|
13
11
|
title?: string | undefined;
|
|
14
12
|
color?: string | undefined;
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
onError?: ReactEventHandler<HTMLButtonElement> | undefined;
|
|
14
|
+
value?: string | number | readonly string[] | undefined;
|
|
17
15
|
role?: AriaRole | undefined;
|
|
18
16
|
"aria-label"?: string | undefined;
|
|
17
|
+
defaultValue?: string | number | readonly string[] | undefined;
|
|
19
18
|
dangerouslySetInnerHTML?: {
|
|
20
19
|
__html: string | TrustedHTML;
|
|
21
20
|
} | undefined;
|
|
22
|
-
suppressHydrationWarning?: boolean | undefined;
|
|
23
|
-
lang?: string | undefined;
|
|
24
|
-
tabIndex?: number | undefined;
|
|
25
|
-
"aria-activedescendant"?: string | undefined;
|
|
26
|
-
"aria-atomic"?: (boolean | "true" | "false") | undefined;
|
|
27
|
-
"aria-autocomplete"?: "list" | "none" | "both" | "inline" | undefined;
|
|
28
|
-
"aria-braillelabel"?: string | undefined;
|
|
29
|
-
"aria-brailleroledescription"?: string | undefined;
|
|
30
|
-
"aria-busy"?: (boolean | "true" | "false") | undefined;
|
|
31
|
-
"aria-checked"?: boolean | "true" | "false" | "mixed" | undefined;
|
|
32
|
-
"aria-colcount"?: number | undefined;
|
|
33
|
-
"aria-colindex"?: number | undefined;
|
|
34
|
-
"aria-colindextext"?: string | undefined;
|
|
35
|
-
"aria-colspan"?: number | undefined;
|
|
36
|
-
"aria-controls"?: string | undefined;
|
|
37
|
-
"aria-current"?: boolean | "step" | "time" | "page" | "location" | "date" | "true" | "false" | undefined;
|
|
38
|
-
"aria-describedby"?: string | undefined;
|
|
39
|
-
"aria-description"?: string | undefined;
|
|
40
|
-
"aria-details"?: string | undefined;
|
|
41
|
-
"aria-disabled"?: (boolean | "true" | "false") | undefined;
|
|
42
|
-
"aria-dropeffect"?: "link" | "none" | "copy" | "move" | "execute" | "popup" | undefined;
|
|
43
|
-
"aria-errormessage"?: string | undefined;
|
|
44
|
-
"aria-expanded"?: (boolean | "true" | "false") | undefined;
|
|
45
|
-
"aria-flowto"?: string | undefined;
|
|
46
|
-
"aria-grabbed"?: (boolean | "true" | "false") | undefined;
|
|
47
|
-
"aria-haspopup"?: boolean | "dialog" | "grid" | "listbox" | "menu" | "tree" | "true" | "false" | undefined;
|
|
48
|
-
"aria-hidden"?: (boolean | "true" | "false") | undefined;
|
|
49
|
-
"aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
|
|
50
|
-
"aria-keyshortcuts"?: string | undefined;
|
|
51
|
-
"aria-labelledby"?: string | undefined;
|
|
52
|
-
"aria-level"?: number | undefined;
|
|
53
|
-
"aria-live"?: "off" | "assertive" | "polite" | undefined;
|
|
54
|
-
"aria-modal"?: (boolean | "true" | "false") | undefined;
|
|
55
|
-
"aria-multiline"?: (boolean | "true" | "false") | undefined;
|
|
56
|
-
"aria-multiselectable"?: (boolean | "true" | "false") | undefined;
|
|
57
|
-
"aria-orientation"?: "horizontal" | "vertical" | undefined;
|
|
58
|
-
"aria-owns"?: string | undefined;
|
|
59
|
-
"aria-placeholder"?: string | undefined;
|
|
60
|
-
"aria-posinset"?: number | undefined;
|
|
61
|
-
"aria-pressed"?: boolean | "true" | "false" | "mixed" | undefined;
|
|
62
|
-
"aria-readonly"?: (boolean | "true" | "false") | undefined;
|
|
63
|
-
"aria-relevant"?: "all" | "text" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
|
|
64
|
-
"aria-required"?: (boolean | "true" | "false") | undefined;
|
|
65
|
-
"aria-roledescription"?: string | undefined;
|
|
66
|
-
"aria-rowcount"?: number | undefined;
|
|
67
|
-
"aria-rowindex"?: number | undefined;
|
|
68
|
-
"aria-rowindextext"?: string | undefined;
|
|
69
|
-
"aria-rowspan"?: number | undefined;
|
|
70
|
-
"aria-selected"?: (boolean | "true" | "false") | undefined;
|
|
71
|
-
"aria-setsize"?: number | undefined;
|
|
72
|
-
"aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
|
|
73
|
-
"aria-valuemax"?: number | undefined;
|
|
74
|
-
"aria-valuemin"?: number | undefined;
|
|
75
|
-
"aria-valuenow"?: number | undefined;
|
|
76
|
-
"aria-valuetext"?: string | undefined;
|
|
77
21
|
onCopy?: ClipboardEventHandler<HTMLButtonElement> | undefined;
|
|
78
22
|
onCopyCapture?: ClipboardEventHandler<HTMLButtonElement> | undefined;
|
|
79
23
|
onCut?: ClipboardEventHandler<HTMLButtonElement> | undefined;
|
|
@@ -90,6 +34,7 @@ export declare const TriggerWalkthroughButton: ForwardRefExoticComponent<Omit<Bu
|
|
|
90
34
|
onFocusCapture?: FocusEventHandler<HTMLButtonElement> | undefined;
|
|
91
35
|
onBlur?: FocusEventHandler<HTMLButtonElement> | undefined;
|
|
92
36
|
onBlurCapture?: FocusEventHandler<HTMLButtonElement> | undefined;
|
|
37
|
+
onChange?: FormEventHandler<HTMLButtonElement> | undefined;
|
|
93
38
|
onChangeCapture?: FormEventHandler<HTMLButtonElement> | undefined;
|
|
94
39
|
onBeforeInput?: InputEventHandler<HTMLButtonElement> | undefined;
|
|
95
40
|
onBeforeInputCapture?: FormEventHandler<HTMLButtonElement> | undefined;
|
|
@@ -103,7 +48,6 @@ export declare const TriggerWalkthroughButton: ForwardRefExoticComponent<Omit<Bu
|
|
|
103
48
|
onInvalidCapture?: FormEventHandler<HTMLButtonElement> | undefined;
|
|
104
49
|
onLoad?: ReactEventHandler<HTMLButtonElement> | undefined;
|
|
105
50
|
onLoadCapture?: ReactEventHandler<HTMLButtonElement> | undefined;
|
|
106
|
-
onError?: ReactEventHandler<HTMLButtonElement> | undefined;
|
|
107
51
|
onErrorCapture?: ReactEventHandler<HTMLButtonElement> | undefined;
|
|
108
52
|
onKeyDown?: KeyboardEventHandler<HTMLButtonElement> | undefined;
|
|
109
53
|
onKeyDownCapture?: KeyboardEventHandler<HTMLButtonElement> | undefined;
|
|
@@ -237,20 +181,21 @@ export declare const TriggerWalkthroughButton: ForwardRefExoticComponent<Omit<Bu
|
|
|
237
181
|
onTransitionRunCapture?: TransitionEventHandler<HTMLButtonElement> | undefined;
|
|
238
182
|
onTransitionStart?: TransitionEventHandler<HTMLButtonElement> | undefined;
|
|
239
183
|
onTransitionStartCapture?: TransitionEventHandler<HTMLButtonElement> | undefined;
|
|
240
|
-
value?: string | number | readonly string[] | undefined;
|
|
241
|
-
key?: Key | null | undefined;
|
|
242
|
-
defaultValue?: string | number | readonly string[] | undefined;
|
|
243
184
|
defaultChecked?: boolean | undefined;
|
|
244
185
|
suppressContentEditableWarning?: boolean | undefined;
|
|
186
|
+
suppressHydrationWarning?: boolean | undefined;
|
|
245
187
|
accessKey?: string | undefined;
|
|
246
188
|
autoCapitalize?: "none" | (string & {}) | "on" | "off" | "sentences" | "words" | "characters" | undefined;
|
|
247
189
|
autoFocus?: boolean | undefined;
|
|
248
190
|
contentEditable?: "inherit" | (boolean | "true" | "false") | "plaintext-only" | undefined;
|
|
249
191
|
contextMenu?: string | undefined;
|
|
250
|
-
|
|
192
|
+
dir?: string | undefined;
|
|
193
|
+
enterKeyHint?: "search" | "done" | "send" | "next" | "previous" | "enter" | "go" | undefined;
|
|
194
|
+
lang?: string | undefined;
|
|
251
195
|
nonce?: string | undefined;
|
|
252
196
|
slot?: string | undefined;
|
|
253
197
|
spellCheck?: (boolean | "true" | "false") | undefined;
|
|
198
|
+
tabIndex?: number | undefined;
|
|
254
199
|
translate?: "yes" | "no" | undefined;
|
|
255
200
|
radioGroup?: string | undefined;
|
|
256
201
|
about?: string | undefined;
|
|
@@ -258,6 +203,7 @@ export declare const TriggerWalkthroughButton: ForwardRefExoticComponent<Omit<Bu
|
|
|
258
203
|
datatype?: string | undefined;
|
|
259
204
|
inlist?: any;
|
|
260
205
|
prefix?: string | undefined;
|
|
206
|
+
property?: string | undefined;
|
|
261
207
|
rel?: string | undefined;
|
|
262
208
|
resource?: string | undefined;
|
|
263
209
|
rev?: string | undefined;
|
|
@@ -281,6 +227,60 @@ export declare const TriggerWalkthroughButton: ForwardRefExoticComponent<Omit<Bu
|
|
|
281
227
|
is?: string | undefined;
|
|
282
228
|
exportparts?: string | undefined;
|
|
283
229
|
part?: string | undefined;
|
|
230
|
+
"aria-activedescendant"?: string | undefined;
|
|
231
|
+
"aria-atomic"?: (boolean | "true" | "false") | undefined;
|
|
232
|
+
"aria-autocomplete"?: "list" | "none" | "both" | "inline" | undefined;
|
|
233
|
+
"aria-braillelabel"?: string | undefined;
|
|
234
|
+
"aria-brailleroledescription"?: string | undefined;
|
|
235
|
+
"aria-busy"?: (boolean | "true" | "false") | undefined;
|
|
236
|
+
"aria-checked"?: boolean | "true" | "false" | "mixed" | undefined;
|
|
237
|
+
"aria-colcount"?: number | undefined;
|
|
238
|
+
"aria-colindex"?: number | undefined;
|
|
239
|
+
"aria-colindextext"?: string | undefined;
|
|
240
|
+
"aria-colspan"?: number | undefined;
|
|
241
|
+
"aria-controls"?: string | undefined;
|
|
242
|
+
"aria-current"?: boolean | "page" | "step" | "location" | "date" | "time" | "true" | "false" | undefined;
|
|
243
|
+
"aria-describedby"?: string | undefined;
|
|
244
|
+
"aria-description"?: string | undefined;
|
|
245
|
+
"aria-details"?: string | undefined;
|
|
246
|
+
"aria-disabled"?: (boolean | "true" | "false") | undefined;
|
|
247
|
+
"aria-dropeffect"?: "link" | "none" | "copy" | "move" | "execute" | "popup" | undefined;
|
|
248
|
+
"aria-errormessage"?: string | undefined;
|
|
249
|
+
"aria-expanded"?: (boolean | "true" | "false") | undefined;
|
|
250
|
+
"aria-flowto"?: string | undefined;
|
|
251
|
+
"aria-grabbed"?: (boolean | "true" | "false") | undefined;
|
|
252
|
+
"aria-haspopup"?: boolean | "dialog" | "grid" | "listbox" | "menu" | "tree" | "true" | "false" | undefined;
|
|
253
|
+
"aria-hidden"?: (boolean | "true" | "false") | undefined;
|
|
254
|
+
"aria-invalid"?: boolean | "true" | "false" | "grammar" | "spelling" | undefined;
|
|
255
|
+
"aria-keyshortcuts"?: string | undefined;
|
|
256
|
+
"aria-labelledby"?: string | undefined;
|
|
257
|
+
"aria-level"?: number | undefined;
|
|
258
|
+
"aria-live"?: "off" | "assertive" | "polite" | undefined;
|
|
259
|
+
"aria-modal"?: (boolean | "true" | "false") | undefined;
|
|
260
|
+
"aria-multiline"?: (boolean | "true" | "false") | undefined;
|
|
261
|
+
"aria-multiselectable"?: (boolean | "true" | "false") | undefined;
|
|
262
|
+
"aria-orientation"?: "horizontal" | "vertical" | undefined;
|
|
263
|
+
"aria-owns"?: string | undefined;
|
|
264
|
+
"aria-placeholder"?: string | undefined;
|
|
265
|
+
"aria-posinset"?: number | undefined;
|
|
266
|
+
"aria-pressed"?: boolean | "true" | "false" | "mixed" | undefined;
|
|
267
|
+
"aria-readonly"?: (boolean | "true" | "false") | undefined;
|
|
268
|
+
"aria-relevant"?: "all" | "text" | "additions" | "additions removals" | "additions text" | "removals" | "removals additions" | "removals text" | "text additions" | "text removals" | undefined;
|
|
269
|
+
"aria-required"?: (boolean | "true" | "false") | undefined;
|
|
270
|
+
"aria-roledescription"?: string | undefined;
|
|
271
|
+
"aria-rowcount"?: number | undefined;
|
|
272
|
+
"aria-rowindex"?: number | undefined;
|
|
273
|
+
"aria-rowindextext"?: string | undefined;
|
|
274
|
+
"aria-rowspan"?: number | undefined;
|
|
275
|
+
"aria-selected"?: (boolean | "true" | "false") | undefined;
|
|
276
|
+
"aria-setsize"?: number | undefined;
|
|
277
|
+
"aria-sort"?: "none" | "other" | "ascending" | "descending" | undefined;
|
|
278
|
+
"aria-valuemax"?: number | undefined;
|
|
279
|
+
"aria-valuemin"?: number | undefined;
|
|
280
|
+
"aria-valuenow"?: number | undefined;
|
|
281
|
+
"aria-valuetext"?: string | undefined;
|
|
282
|
+
name?: string | undefined;
|
|
283
|
+
key?: Key | null | undefined;
|
|
284
284
|
ref?: Ref<HTMLButtonElement> | undefined;
|
|
285
285
|
disabled?: boolean | undefined;
|
|
286
286
|
formAction?: string | ((formData: FormData) => void | Promise<void>) | undefined;
|
|
@@ -10,7 +10,7 @@ import { useDiagramContext } from '../../hooks/useDiagram.js';
|
|
|
10
10
|
import { Tooltip } from '../_common.js';
|
|
11
11
|
import { useNavigationActor } from '../hooks.js';
|
|
12
12
|
import { useDiagram } from '../../hooks/safeContext.js';
|
|
13
|
-
import IconPlayerPlayFilled from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
13
|
+
import IconPlayerPlayFilled from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerPlayFilled.js';
|
|
14
14
|
|
|
15
15
|
const TriggerWalkthroughButton = forwardRef((props, ref) => /* @__PURE__ */ jsx(
|
|
16
16
|
Button,
|
|
@@ -3,16 +3,15 @@ import { nonexhaustive } from '@likec4/core';
|
|
|
3
3
|
import { useSelector } from '@xstate/react';
|
|
4
4
|
import { animate } from 'motion';
|
|
5
5
|
import { useReducedMotionConfig, LayoutGroup, AnimatePresence } from 'motion/react';
|
|
6
|
-
import { useMemo, useEffect } from 'react';
|
|
7
|
-
import { ErrorBoundary } from 'react-error-boundary';
|
|
8
6
|
import { isNonNullish } from 'remeda';
|
|
9
|
-
import {
|
|
7
|
+
import { ErrorBoundary } from '../components/ErrorFallback.js';
|
|
10
8
|
import { ElementDetails } from './element-details/ElementDetails.js';
|
|
11
9
|
import { Overlay } from './overlay/Overlay.js';
|
|
12
10
|
import { RelationshipDetails } from './relationship-details/RelationshipDetails.js';
|
|
13
11
|
import { RelationshipsBrowser } from './relationships-browser/RelationshipsBrowser.js';
|
|
14
|
-
import {
|
|
12
|
+
import { useUpdateEffect } from '../hooks/useUpdateEffect.js';
|
|
15
13
|
import { DiagramFeatures } from '../context/DiagramFeatures.js';
|
|
14
|
+
import { useDiagram } from '../hooks/safeContext.js';
|
|
16
15
|
|
|
17
16
|
const selectOverlays = (s) => {
|
|
18
17
|
return s.context.overlays.map((overlay) => {
|
|
@@ -43,23 +42,36 @@ const compareSelectOverlays = (a, b) => {
|
|
|
43
42
|
});
|
|
44
43
|
};
|
|
45
44
|
function Overlays({ overlaysActorRef }) {
|
|
46
|
-
const
|
|
47
|
-
const xyflowRendererDom = useMemo(() => xyflowDomNode?.querySelector(".react-flow__renderer") ?? null, [
|
|
48
|
-
xyflowDomNode
|
|
49
|
-
]);
|
|
45
|
+
const diagram = useDiagram();
|
|
50
46
|
const overlays = useSelector(overlaysActorRef, selectOverlays, compareSelectOverlays);
|
|
51
47
|
const isMotionReduced = useReducedMotionConfig() ?? false;
|
|
52
48
|
const isActiveOverlay = overlays.some((overlay) => overlay.type === "elementDetails");
|
|
53
|
-
|
|
49
|
+
useUpdateEffect(() => {
|
|
50
|
+
const xyflowDomNode = diagram.getContext().xystore.getState().domNode;
|
|
51
|
+
const xyflowRendererDom = xyflowDomNode?.querySelector(".react-flow__renderer");
|
|
54
52
|
if (!xyflowRendererDom || isMotionReduced) return;
|
|
55
|
-
animate(xyflowRendererDom, {
|
|
53
|
+
const current = animate(xyflowRendererDom, {
|
|
56
54
|
opacity: isActiveOverlay ? 0.7 : 1,
|
|
57
55
|
filter: isActiveOverlay ? "grayscale(1)" : "grayscale(0)",
|
|
58
56
|
transform: isActiveOverlay ? `perspective(400px) translateZ(-12px) translateY(3px)` : `translateY(0)`
|
|
59
57
|
}, {
|
|
60
58
|
duration: isActiveOverlay ? 0.35 : 0.17
|
|
61
59
|
});
|
|
62
|
-
|
|
60
|
+
let cleanupTm = null;
|
|
61
|
+
if (!isActiveOverlay) {
|
|
62
|
+
cleanupTm = setTimeout(() => {
|
|
63
|
+
xyflowRendererDom.style.transform = "";
|
|
64
|
+
xyflowRendererDom.style.filter = "";
|
|
65
|
+
cleanupTm = null;
|
|
66
|
+
}, 450);
|
|
67
|
+
}
|
|
68
|
+
return () => {
|
|
69
|
+
if (cleanupTm) {
|
|
70
|
+
clearTimeout(cleanupTm);
|
|
71
|
+
}
|
|
72
|
+
current.stop();
|
|
73
|
+
};
|
|
74
|
+
}, [isActiveOverlay]);
|
|
63
75
|
const close = (actorRef) => {
|
|
64
76
|
overlaysActorRef.send({ type: "close", actorId: actorRef.id });
|
|
65
77
|
};
|
|
@@ -98,7 +110,7 @@ function Overlays({ overlaysActorRef }) {
|
|
|
98
110
|
nonexhaustive(overlay);
|
|
99
111
|
}
|
|
100
112
|
});
|
|
101
|
-
return /* @__PURE__ */ jsx(DiagramFeatures.Overlays, { children: /* @__PURE__ */ jsx(ErrorBoundary, {
|
|
113
|
+
return /* @__PURE__ */ jsx(DiagramFeatures.Overlays, { children: /* @__PURE__ */ jsx(ErrorBoundary, { onReset: () => overlaysActorRef.send({ type: "close.all" }), children: /* @__PURE__ */ jsx(LayoutGroup, { children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "popLayout", children: overlaysReact }) }) }) });
|
|
102
114
|
}
|
|
103
115
|
|
|
104
116
|
export { Overlays };
|
|
@@ -21,12 +21,12 @@ import { TabPanelStructure } from './TabPanelStructure.js';
|
|
|
21
21
|
import { useUpdateEffect } from '../../hooks/useUpdateEffect.js';
|
|
22
22
|
import { IconRenderer } from '../../context/IconRenderer.js';
|
|
23
23
|
import { stopPropagation } from '../../utils/xyflow.js';
|
|
24
|
-
import IconExternalLink from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
24
|
+
import IconExternalLink from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js';
|
|
25
25
|
import { IfEnabled, DiagramFeatures } from '../../context/DiagramFeatures.js';
|
|
26
|
-
import IconFileSymlink from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
27
|
-
import IconZoomScan from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
26
|
+
import IconFileSymlink from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js';
|
|
27
|
+
import IconZoomScan from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js';
|
|
28
28
|
import { Markdown } from '../../base-primitives/Markdown.js';
|
|
29
|
-
import IconStack2 from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
29
|
+
import IconStack2 from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconStack2.js';
|
|
30
30
|
|
|
31
31
|
const Divider = Divider$1.withProps({
|
|
32
32
|
mb: 8,
|
|
@@ -2,8 +2,8 @@ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
|
2
2
|
import { css } from '@likec4/styles/css';
|
|
3
3
|
import { UnstyledButton, Flex, Text, Box, Stack, Tooltip } from '@mantine/core';
|
|
4
4
|
import { useState, useRef, useEffect } from 'react';
|
|
5
|
-
import IconChevronDown from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
6
|
-
import IconChevronRight from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
5
|
+
import IconChevronDown from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.js';
|
|
6
|
+
import IconChevronRight from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js';
|
|
7
7
|
|
|
8
8
|
function MetadataProvider({ children }) {
|
|
9
9
|
return /* @__PURE__ */ jsx(Fragment, { children });
|
|
@@ -49,8 +49,7 @@ function TruncatedValue({ value, isExpanded }) {
|
|
|
49
49
|
}
|
|
50
50
|
function MultiValueDisplay({
|
|
51
51
|
values,
|
|
52
|
-
isExpanded
|
|
53
|
-
onToggle
|
|
52
|
+
isExpanded
|
|
54
53
|
}) {
|
|
55
54
|
if (isExpanded) {
|
|
56
55
|
return /* @__PURE__ */ jsx(Stack, { gap: "xs", children: values.map((value, index) => /* @__PURE__ */ jsxs(Flex, { align: "center", gap: "xs", children: [
|
|
@@ -239,8 +238,7 @@ function MetadataValue({ label, value }) {
|
|
|
239
238
|
MultiValueDisplay,
|
|
240
239
|
{
|
|
241
240
|
values: elements,
|
|
242
|
-
isExpanded
|
|
243
|
-
onToggle: handleToggle
|
|
241
|
+
isExpanded
|
|
244
242
|
}
|
|
245
243
|
) : /* @__PURE__ */ jsx(
|
|
246
244
|
Box,
|
|
@@ -6,10 +6,10 @@ import 'fast-equals';
|
|
|
6
6
|
import { useDiagram } from '../../hooks/safeContext.js';
|
|
7
7
|
import { useLikeC4Model } from '../../hooks/useLikeC4Model.js';
|
|
8
8
|
import { treeNodeLabel, treeNode, nodeLabel, instanceLabel } from './TabPanelDeployments.css.js';
|
|
9
|
-
import IconInfoCircle from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
10
|
-
import IconTarget from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
9
|
+
import IconInfoCircle from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js';
|
|
10
|
+
import IconTarget from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconTarget.js';
|
|
11
11
|
import { stopPropagation } from '../../utils/xyflow.js';
|
|
12
|
-
import IconZoomScan from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
12
|
+
import IconZoomScan from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js';
|
|
13
13
|
|
|
14
14
|
const DeploymentNodeRenderer = ({
|
|
15
15
|
node
|
|
@@ -2,14 +2,16 @@ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
|
2
2
|
import { nameFromFqn } from '@likec4/core';
|
|
3
3
|
import { Stack, Group, Box, ThemeIcon, Text, Tooltip as Tooltip$1, ActionIcon, Paper } from '@mantine/core';
|
|
4
4
|
import { useSelector } from '@xstate/react';
|
|
5
|
+
import { useCallback } from 'react';
|
|
5
6
|
import { unique } from 'remeda';
|
|
6
|
-
import { useOverlaysActorRef } from '../../hooks/useOverlaysActor.js';
|
|
7
7
|
import { RelationshipsBrowser } from '../relationships-browser/RelationshipsBrowser.js';
|
|
8
8
|
import { useElementDetailsActorRef } from './actorContext.js';
|
|
9
9
|
import { fqn, xyflow, relationshipStat } from './TabPanelRelationships.css.js';
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
10
|
+
import { useDiagram } from '../../hooks/safeContext.js';
|
|
11
|
+
import 'fast-equals';
|
|
12
|
+
import IconArrowRight from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js';
|
|
13
|
+
import IconInfoCircle from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js';
|
|
14
|
+
import IconExternalLink from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js';
|
|
13
15
|
|
|
14
16
|
const Tooltip = Tooltip$1.withProps({
|
|
15
17
|
color: "dark",
|
|
@@ -25,9 +27,12 @@ function TabPanelRelationships({
|
|
|
25
27
|
node,
|
|
26
28
|
element
|
|
27
29
|
}) {
|
|
28
|
-
const
|
|
30
|
+
const diagram = useDiagram();
|
|
29
31
|
const delailsActor = useElementDetailsActorRef();
|
|
30
|
-
const relationshipsBrowserActor = useSelector(
|
|
32
|
+
const relationshipsBrowserActor = useSelector(
|
|
33
|
+
delailsActor,
|
|
34
|
+
useCallback((s) => s.children[`${delailsActor.id}-relationships`], [delailsActor.id])
|
|
35
|
+
);
|
|
31
36
|
const incoming = [...element.incoming()].map((r) => r.id);
|
|
32
37
|
const outgoing = [...element.outgoing()].map((r) => r.id);
|
|
33
38
|
const incomingInView = node ? unique([...node.incoming()].flatMap((e) => e.$edge.relations)) : [];
|
|
@@ -93,7 +98,7 @@ function TabPanelRelationships({
|
|
|
93
98
|
scope,
|
|
94
99
|
viewId
|
|
95
100
|
} = relationshipsBrowserActor.getSnapshot().context;
|
|
96
|
-
|
|
101
|
+
diagram.overlays().send({
|
|
97
102
|
type: "open.relationshipsBrowser",
|
|
98
103
|
subject,
|
|
99
104
|
scope,
|
|
@@ -2,7 +2,7 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
|
2
2
|
import { useTree, Alert, Anchor, Tree, Box, Text, Pill } from '@mantine/core';
|
|
3
3
|
import { useMemo, useEffect } from 'react';
|
|
4
4
|
import { treeNodeLabel, elementLabel } from './TabPanelStructure.css.js';
|
|
5
|
-
import IconInfoCircle from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
5
|
+
import IconInfoCircle from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js';
|
|
6
6
|
|
|
7
7
|
const ElementLabel = ({
|
|
8
8
|
element
|
|
@@ -93,7 +93,8 @@ const openElementDetails = () => machine.enqueueActions(({ context, enqueue, eve
|
|
|
93
93
|
const id = `elementDetails-${context.seq}`;
|
|
94
94
|
enqueue.spawnChild("elementDetails", {
|
|
95
95
|
id,
|
|
96
|
-
input: event
|
|
96
|
+
input: event,
|
|
97
|
+
syncSnapshot: true
|
|
97
98
|
});
|
|
98
99
|
enqueue.assign({
|
|
99
100
|
seq: context.seq + 1,
|
|
@@ -120,7 +121,8 @@ const openRelationshipDetails = () => machine.enqueueActions(({ context, enqueue
|
|
|
120
121
|
const id = `relationshipDetails-${context.seq}`;
|
|
121
122
|
enqueue.spawnChild("relationshipDetails", {
|
|
122
123
|
id,
|
|
123
|
-
input: event
|
|
124
|
+
input: event,
|
|
125
|
+
syncSnapshot: true
|
|
124
126
|
});
|
|
125
127
|
enqueue.assign({
|
|
126
128
|
seq: context.seq + 1,
|
|
@@ -147,7 +149,8 @@ const openRelationshipsBrowser = () => machine.enqueueActions(({ context, enqueu
|
|
|
147
149
|
const id = `relationshipsBrowser-${context.seq}`;
|
|
148
150
|
enqueue.spawnChild("relationshipsBrowser", {
|
|
149
151
|
id,
|
|
150
|
-
input: event
|
|
152
|
+
input: event,
|
|
153
|
+
syncSnapshot: true
|
|
151
154
|
});
|
|
152
155
|
enqueue.assign({
|
|
153
156
|
seq: context.seq + 1,
|
|
@@ -17,9 +17,9 @@ import { layoutRelationshipDetails } from './layout.js';
|
|
|
17
17
|
import { SelectEdge } from './SelectEdge.js';
|
|
18
18
|
import { RelationshipEdge } from './custom/edgeTypes.js';
|
|
19
19
|
import { CompoundNode, ElementNode } from './custom/nodeTypes.js';
|
|
20
|
-
import IconX from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
21
|
-
import IconChevronLeft from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
22
|
-
import IconChevronRight from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
20
|
+
import IconX from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js';
|
|
21
|
+
import IconChevronLeft from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js';
|
|
22
|
+
import IconChevronRight from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js';
|
|
23
23
|
|
|
24
24
|
const nodeTypes = {
|
|
25
25
|
element: ElementNode,
|
|
@@ -3,8 +3,8 @@ import { Popover, PopoverTarget, Button, Box, Text, ThemeIcon, PopoverDropdown,
|
|
|
3
3
|
import { useRef } from 'react';
|
|
4
4
|
import { useRelationshipDetails } from './hooks.js';
|
|
5
5
|
import { edgeSource, edgeTarget, scrollArea, edgeGrid, edgeRow, edgeArrow, edgeLabel } from './SelectEdge.css.js';
|
|
6
|
-
import IconArrowRight from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
7
|
-
import IconSelector from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
6
|
+
import IconArrowRight from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js';
|
|
7
|
+
import IconSelector from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js';
|
|
8
8
|
|
|
9
9
|
const SelectEdge = ({
|
|
10
10
|
edge,
|
|
@@ -6,9 +6,9 @@ import 'fast-equals';
|
|
|
6
6
|
import 'react';
|
|
7
7
|
import { useDiagram } from '../../../hooks/safeContext.js';
|
|
8
8
|
import { ElementActionButtons } from '../../../base-primitives/element/ElementActionButtons.js';
|
|
9
|
-
import IconZoomScan from '../../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
10
|
-
import IconTransform from '../../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
11
|
-
import IconFileSymlink from '../../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
9
|
+
import IconZoomScan from '../../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js';
|
|
10
|
+
import IconTransform from '../../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconTransform.js';
|
|
11
|
+
import IconFileSymlink from '../../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js';
|
|
12
12
|
|
|
13
13
|
const ElementActions = (props) => {
|
|
14
14
|
const { enableNavigateTo, enableVscode } = useEnabledFeatures();
|
|
@@ -15,9 +15,9 @@ import { SelectElement } from './SelectElement.js';
|
|
|
15
15
|
import { RelationshipEdge } from './custom/edgeTypes.js';
|
|
16
16
|
import { EmptyNode } from './custom/EmptyNode.js';
|
|
17
17
|
import { CompoundNode, ElementNode } from './custom/nodeTypes.js';
|
|
18
|
-
import IconX from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
19
|
-
import IconChevronLeft from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
20
|
-
import IconChevronRight from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
18
|
+
import IconX from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js';
|
|
19
|
+
import IconChevronLeft from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js';
|
|
20
|
+
import IconChevronRight from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js';
|
|
21
21
|
|
|
22
22
|
const nodeTypes = {
|
|
23
23
|
element: ElementNode,
|
|
@@ -7,8 +7,8 @@ import { useLikeC4Model } from '../../hooks/useLikeC4Model.js';
|
|
|
7
7
|
import { useRelationshipsBrowser, useRelationshipsBrowserState } from './hooks.js';
|
|
8
8
|
import * as SelectElement_css from './SelectElement.css.js';
|
|
9
9
|
import { scrollArea } from './SelectElement.css.js';
|
|
10
|
-
import IconSelector from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
11
|
-
import IconChevronRight from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
10
|
+
import IconSelector from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js';
|
|
11
|
+
import IconChevronRight from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js';
|
|
12
12
|
|
|
13
13
|
const selector2 = (state) => {
|
|
14
14
|
const subjectExistsInScope = state.context.layouted?.subjectExistsInScope ?? false;
|
|
@@ -6,9 +6,9 @@ import '@xstate/react';
|
|
|
6
6
|
import 'fast-equals';
|
|
7
7
|
import { useDiagram } from '../../../hooks/safeContext.js';
|
|
8
8
|
import { useRelationshipsBrowser, useRelationshipsBrowserState } from '../hooks.js';
|
|
9
|
-
import IconZoomScan from '../../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
10
|
-
import IconTransform from '../../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
11
|
-
import IconFileSymlink from '../../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
9
|
+
import IconZoomScan from '../../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js';
|
|
10
|
+
import IconTransform from '../../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconTransform.js';
|
|
11
|
+
import IconFileSymlink from '../../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js';
|
|
12
12
|
import { ElementActionButtons } from '../../../base-primitives/element/ElementActionButtons.js';
|
|
13
13
|
|
|
14
14
|
const selectSubject = (state) => state.context.subject;
|
|
@@ -17,7 +17,7 @@ import { focusable, buttonsva } from './_shared.css.js';
|
|
|
17
17
|
import { treeSubtree, treeLabel, treeRoot, treeNode, elementIcon, elementExpandIcon, elementTitleAndId, elementId, elementViewsCount } from './ElementsColumn.css.js';
|
|
18
18
|
import { stopAndPrevent, moveFocusToSearchInput, queryAllFocusable, centerY } from './utils.js';
|
|
19
19
|
import { NothingFound } from './ViewsColum.js';
|
|
20
|
-
import IconChevronRight from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
20
|
+
import IconChevronRight from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js';
|
|
21
21
|
|
|
22
22
|
const btn = buttonsva();
|
|
23
23
|
const ElementsColumn = memo(() => {
|
|
@@ -250,9 +250,13 @@ function useHandleElementSelection() {
|
|
|
250
250
|
const singleView = only(views);
|
|
251
251
|
if (singleView) {
|
|
252
252
|
searchActorRef.send({ type: "close" });
|
|
253
|
-
if (singleView.id
|
|
253
|
+
if (singleView.id === diagram.currentView.id) {
|
|
254
254
|
setTimeout(() => {
|
|
255
|
-
diagram.
|
|
255
|
+
diagram.focusOnElement(element.id);
|
|
256
|
+
}, 100);
|
|
257
|
+
} else {
|
|
258
|
+
setTimeout(() => {
|
|
259
|
+
diagram.navigateTo(singleView.id, void 0, element.id);
|
|
256
260
|
}, 100);
|
|
257
261
|
}
|
|
258
262
|
return;
|
|
@@ -6,7 +6,7 @@ import { useLikeC4Model } from '../../hooks/useLikeC4Model.js';
|
|
|
6
6
|
import { useSearchActor } from '../hooks.js';
|
|
7
7
|
import { pickviewBackdrop, pickview, pickviewGroup } from './styles.css.js';
|
|
8
8
|
import { ViewButton } from './ViewsColum.js';
|
|
9
|
-
import IconX from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
9
|
+
import IconX from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js';
|
|
10
10
|
|
|
11
11
|
function PickView({ elementFqn }) {
|
|
12
12
|
const searchActorRef = useSearchActor();
|
|
@@ -102,6 +102,7 @@ function PickView({ elementFqn }) {
|
|
|
102
102
|
view,
|
|
103
103
|
search: "",
|
|
104
104
|
loop: true,
|
|
105
|
+
focusOnElement: elementFqn,
|
|
105
106
|
mod: {
|
|
106
107
|
autofocus: i === 0
|
|
107
108
|
}
|
|
@@ -117,6 +118,7 @@ function PickView({ elementFqn }) {
|
|
|
117
118
|
view,
|
|
118
119
|
search: "",
|
|
119
120
|
loop: true,
|
|
121
|
+
focusOnElement: elementFqn,
|
|
120
122
|
mod: {
|
|
121
123
|
autofocus: i === 0 && scoped.length === 0
|
|
122
124
|
}
|
|
@@ -7,7 +7,7 @@ import { useLikeC4Model } from '../../hooks/useLikeC4Model.js';
|
|
|
7
7
|
import { useUpdateSearch, useNormalizedSearch } from '../hooks.js';
|
|
8
8
|
import { focusToFirstFoundElement, moveFocusToSearchInput } from './utils.js';
|
|
9
9
|
import { ElementTag } from '../../base-primitives/element/ElementTags.js';
|
|
10
|
-
import IconX from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
10
|
+
import IconX from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js';
|
|
11
11
|
|
|
12
12
|
function SearchByTags() {
|
|
13
13
|
const ref = useRef(null);
|
|
@@ -7,7 +7,7 @@ import { useLikeC4Model } from '../../hooks/useLikeC4Model.js';
|
|
|
7
7
|
import { useSearchActor, useSearch } from '../hooks.js';
|
|
8
8
|
import { input } from './styles.css.js';
|
|
9
9
|
import { moveFocusToSearchInput, stopAndPrevent, focusToFirstFoundElement } from './utils.js';
|
|
10
|
-
import IconSearch from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.
|
|
10
|
+
import IconSearch from '../../node_modules/.pnpm/@tabler_icons-react@3.35.0_react@19.2.1/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.js';
|
|
11
11
|
|
|
12
12
|
function startingWithKind(search) {
|
|
13
13
|
return search.match(/^(k|ki|kin|kind|kind:)$/) != null;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { LikeC4Model } from '@likec4/core/model';
|
|
2
|
+
import { Fqn } from '@likec4/core/types';
|
|
2
3
|
import { ElementProps, UnstyledButtonProps } from '@mantine/core';
|
|
3
4
|
import { MemoExoticComponent } from 'react';
|
|
4
5
|
export declare const NothingFound: () => import("react/jsx-runtime").JSX.Element;
|
|
5
6
|
export declare const ViewsColumn: MemoExoticComponent<() => import("react/jsx-runtime").JSX.Element>;
|
|
6
|
-
export declare function ViewButton({ className, view, loop, search, ...props }: {
|
|
7
|
+
export declare function ViewButton({ className, view, loop, search, focusOnElement, ...props }: {
|
|
7
8
|
view: LikeC4Model.View;
|
|
8
9
|
search: string;
|
|
9
10
|
loop?: boolean;
|
|
11
|
+
focusOnElement?: Fqn;
|
|
10
12
|
} & UnstyledButtonProps & ElementProps<'button'>): import("react/jsx-runtime").JSX.Element;
|