@likec4/diagram 1.22.0 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/dist/LikeC4Diagram.js +2 -3
  2. package/dist/base/BaseXYFlow.js +0 -1
  3. package/dist/base/example/custom.d.ts +1 -1
  4. package/dist/base/primitives/customEdge.d.ts +1 -1
  5. package/dist/base/primitives/edge/EdgePath.d.ts +1 -1
  6. package/dist/context/DiagramEventHandlers.d.ts +6 -2
  7. package/dist/context/DiagramEventHandlers.js +25 -20
  8. package/dist/context/DiagramFeatures.d.ts +1 -1
  9. package/dist/context/DiagramFeatures.js +9 -22
  10. package/dist/{style.css → diagram.css} +1 -1
  11. package/dist/hooks/index.d.ts +0 -1
  12. package/dist/hooks/safeContext.d.ts +7 -0
  13. package/dist/hooks/safeContext.js +14 -0
  14. package/dist/hooks/useCurrentViewId.js +1 -1
  15. package/dist/hooks/useDiagram.d.ts +7250 -6596
  16. package/dist/hooks/useDiagram.js +29 -14
  17. package/dist/index.js +1 -1
  18. package/dist/likec4diagram/DiagramUI.js +12 -5
  19. package/dist/likec4diagram/XYFlow.js +11 -5
  20. package/dist/likec4diagram/custom/edges/NotePopover.js +1 -2
  21. package/dist/likec4diagram/custom/edges/RelationshipEdge.d.ts +1 -1
  22. package/dist/likec4diagram/custom/edges/RelationshipEdge.js +1 -1
  23. package/dist/likec4diagram/custom/edges/RelationshipsDropdownMenu.js +6 -7
  24. package/dist/likec4diagram/custom/index.d.ts +1 -1
  25. package/dist/likec4diagram/custom/nodes/toolbar/Toolbar.js +1 -1
  26. package/dist/likec4diagram/ui/controls/ChangeAutoLayoutButton.js +1 -2
  27. package/dist/likec4diagram/ui/controls/Controls.js +5 -13
  28. package/dist/likec4diagram/ui/controls/NavigationButtons.js +1 -2
  29. package/dist/likec4diagram/ui/controls/ToggleReadonly.d.ts +1 -0
  30. package/dist/likec4diagram/ui/controls/ToggleReadonly.js +28 -0
  31. package/dist/likec4diagram/ui/diagram-title/DiagramTitlePanel.js +8 -9
  32. package/dist/likec4diagram/ui/notation/NotationPanel.js +1 -2
  33. package/dist/likec4diagram/ui/search/LikeC4Search.js +2 -4
  34. package/dist/likec4diagram/ui/search/ViewsColum.js +1 -1
  35. package/dist/likec4diagram/ui/search/state.js +1 -1
  36. package/dist/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.js +1 -2
  37. package/dist/likec4diagram/useViewToNodesEdges.d.ts +0 -1
  38. package/dist/likec4diagram/useViewToNodesEdges.js +0 -2
  39. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Accordion/Accordion.module.css.mjs.vanilla.css.js +1 -0
  40. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ActionIcon/ActionIcon.module.css.mjs.vanilla.css.js +1 -0
  41. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Affix/Affix.module.css.mjs.vanilla.css.js +1 -0
  42. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Alert/Alert.module.css.mjs.vanilla.css.js +1 -0
  43. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Anchor/Anchor.module.css.mjs.vanilla.css.js +1 -0
  44. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/AngleSlider/AngleSlider.module.css.mjs.vanilla.css.js +1 -0
  45. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/AppShell/AppShell.module.css.mjs.vanilla.css.js +1 -0
  46. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/AspectRatio/AspectRatio.module.css.mjs.vanilla.css.js +1 -0
  47. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Avatar/Avatar.module.css.mjs.vanilla.css.js +1 -0
  48. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/BackgroundImage/BackgroundImage.module.css.mjs.vanilla.css.js +1 -0
  49. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Badge/Badge.module.css.mjs.vanilla.css.js +1 -0
  50. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Blockquote/Blockquote.module.css.mjs.vanilla.css.js +1 -0
  51. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Breadcrumbs/Breadcrumbs.module.css.mjs.vanilla.css.js +1 -0
  52. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Burger/Burger.module.css.mjs.vanilla.css.js +1 -0
  53. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Button/Button.module.css.mjs.vanilla.css.js +1 -0
  54. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Card/Card.module.css.mjs.vanilla.css.js +1 -0
  55. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Center/Center.module.css.mjs.vanilla.css.js +1 -0
  56. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Checkbox/Checkbox.module.css.mjs.vanilla.css.js +1 -0
  57. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Checkbox/CheckboxCard/CheckboxCard.module.css.mjs.vanilla.css.js +1 -0
  58. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Checkbox/CheckboxIndicator/CheckboxIndicator.module.css.mjs.vanilla.css.js +1 -0
  59. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Chip/Chip.module.css.mjs.vanilla.css.js +1 -0
  60. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/CloseButton/CloseButton.module.css.mjs.vanilla.css.js +1 -0
  61. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Code/Code.module.css.mjs.vanilla.css.js +1 -0
  62. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ColorInput/ColorInput.module.css.mjs.vanilla.css.js +1 -0
  63. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ColorPicker/ColorPicker.module.css.mjs.vanilla.css.js +1 -0
  64. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ColorSwatch/ColorSwatch.module.css.mjs.vanilla.css.js +1 -0
  65. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Combobox/Combobox.module.css.mjs.vanilla.css.js +1 -0
  66. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Container/Container.module.css.mjs.vanilla.css.js +1 -0
  67. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Dialog/Dialog.module.css.mjs.vanilla.css.js +1 -0
  68. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Divider/Divider.module.css.mjs.vanilla.css.js +1 -0
  69. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Drawer/Drawer.module.css.mjs.vanilla.css.js +1 -0
  70. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Fieldset/Fieldset.module.css.mjs.vanilla.css.js +1 -0
  71. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Flex/Flex.module.css.mjs.vanilla.css.js +1 -0
  72. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/FloatingIndicator/FloatingIndicator.module.css.mjs.vanilla.css.js +1 -0
  73. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Grid/Grid.module.css.mjs.vanilla.css.js +1 -0
  74. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Group/Group.module.css.mjs.vanilla.css.js +1 -0
  75. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Image/Image.module.css.mjs.vanilla.css.js +1 -0
  76. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Indicator/Indicator.module.css.mjs.vanilla.css.js +1 -0
  77. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/InlineInput/InlineInput.module.css.mjs.vanilla.css.js +1 -0
  78. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Input/Input.module.css.mjs.vanilla.css.js +1 -0
  79. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Kbd/Kbd.module.css.mjs.vanilla.css.js +1 -0
  80. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/List/List.module.css.mjs.vanilla.css.js +1 -0
  81. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Loader/Loader.module.css.mjs.vanilla.css.js +1 -0
  82. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/LoadingOverlay/LoadingOverlay.module.css.mjs.vanilla.css.js +1 -0
  83. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Mark/Mark.module.css.mjs.vanilla.css.js +1 -0
  84. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Menu/Menu.module.css.mjs.vanilla.css.js +1 -0
  85. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Modal/Modal.module.css.mjs.vanilla.css.js +1 -0
  86. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ModalBase/ModalBase.module.css.mjs.vanilla.css.js +1 -0
  87. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/NavLink/NavLink.module.css.mjs.vanilla.css.js +1 -0
  88. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Notification/Notification.module.css.mjs.vanilla.css.js +1 -0
  89. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/NumberInput/NumberInput.module.css.mjs.vanilla.css.js +1 -0
  90. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Overlay/Overlay.module.css.mjs.vanilla.css.js +1 -0
  91. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Pagination/Pagination.module.css.mjs.vanilla.css.js +1 -0
  92. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Paper/Paper.module.css.mjs.vanilla.css.js +1 -0
  93. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/PasswordInput/PasswordInput.module.css.mjs.vanilla.css.js +1 -0
  94. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Pill/Pill.module.css.mjs.vanilla.css.js +1 -0
  95. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/PillsInput/PillsInput.module.css.mjs.vanilla.css.js +1 -0
  96. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/PinInput/PinInput.module.css.mjs.vanilla.css.js +1 -0
  97. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Popover/Popover.module.css.mjs.vanilla.css.js +1 -0
  98. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Progress/Progress.module.css.mjs.vanilla.css.js +1 -0
  99. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Radio/Radio.module.css.mjs.vanilla.css.js +1 -0
  100. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Radio/RadioCard/RadioCard.module.css.mjs.vanilla.css.js +1 -0
  101. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Radio/RadioIndicator/RadioIndicator.module.css.mjs.vanilla.css.js +1 -0
  102. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Rating/Rating.module.css.mjs.vanilla.css.js +1 -0
  103. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/RingProgress/RingProgress.module.css.mjs.vanilla.css.js +1 -0
  104. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ScrollArea/ScrollArea.module.css.mjs.vanilla.css.js +1 -0
  105. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/SegmentedControl/SegmentedControl.module.css.mjs.vanilla.css.js +1 -0
  106. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/SemiCircleProgress/SemiCircleProgress.module.css.mjs.vanilla.css.js +1 -0
  107. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/SimpleGrid/SimpleGrid.module.css.mjs.vanilla.css.js +1 -0
  108. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Skeleton/Skeleton.module.css.mjs.vanilla.css.js +1 -0
  109. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Slider/Slider.module.css.mjs.vanilla.css.js +1 -0
  110. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Spoiler/Spoiler.module.css.mjs.vanilla.css.js +1 -0
  111. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Stack/Stack.module.css.mjs.vanilla.css.js +1 -0
  112. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Stepper/Stepper.module.css.mjs.vanilla.css.js +1 -0
  113. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Switch/Switch.module.css.mjs.vanilla.css.js +1 -0
  114. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Table/Table.module.css.mjs.vanilla.css.js +1 -0
  115. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/TableOfContents/TableOfContents.module.css.mjs.vanilla.css.js +1 -0
  116. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Tabs/Tabs.module.css.mjs.vanilla.css.js +1 -0
  117. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Text/Text.module.css.mjs.vanilla.css.js +1 -0
  118. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/ThemeIcon/ThemeIcon.module.css.mjs.vanilla.css.js +1 -0
  119. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Timeline/Timeline.module.css.mjs.vanilla.css.js +1 -0
  120. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Title/Title.module.css.mjs.vanilla.css.js +1 -0
  121. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Tooltip/Tooltip.module.css.mjs.vanilla.css.js +1 -0
  122. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/Tree/Tree.module.css.mjs.vanilla.css.js +1 -0
  123. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/TypographyStylesProvider/TypographyStylesProvider.module.css.mjs.vanilla.css.js +1 -0
  124. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/UnstyledButton/UnstyledButton.module.css.mjs.vanilla.css.js +1 -0
  125. package/dist/node_modules/.pnpm/@mantine_core@7.17.0_@mantine_hooks@7.17.0_react@19.0.0__@types_react@19.0.8_react-dom@19.0.0_react@19.0.0__react@19.0.0/node_modules/@mantine/core/esm/components/VisuallyHidden/VisuallyHidden.module.css.mjs.vanilla.css.js +1 -0
  126. package/dist/overlays/Overlays.d.ts +4 -1
  127. package/dist/overlays/Overlays.js +72 -60
  128. package/dist/overlays/element-details/ElementDetails.d.ts +6 -0
  129. package/dist/overlays/element-details/ElementDetails.js +31 -0
  130. package/dist/overlays/element-details/ElementDetailsCard.js +4 -9
  131. package/dist/overlays/element-details/TabPanelDeployments.js +1 -1
  132. package/dist/overlays/element-details/TabPanelRelationships.d.ts +3 -4
  133. package/dist/overlays/element-details/TabPanelRelationships.js +20 -20
  134. package/dist/overlays/element-details/actor.d.ts +20626 -0
  135. package/dist/overlays/element-details/actor.js +68 -0
  136. package/dist/overlays/element-details/actorContext.d.ts +7 -0
  137. package/dist/overlays/element-details/actorContext.js +14 -0
  138. package/dist/overlays/overlay/Overlay.css.js +87 -87
  139. package/dist/overlays/overlay/Overlay.js +16 -1
  140. package/dist/overlays/overlaysActor.d.ts +190 -0
  141. package/dist/overlays/overlaysActor.js +233 -0
  142. package/dist/overlays/relationship-details/actor.d.ts +130 -4
  143. package/dist/overlays/relationship-details/actor.js +2 -2
  144. package/dist/overlays/relationship-details/custom/edgeTypes.d.ts +1 -1
  145. package/dist/overlays/relationship-details/custom/nodeTypes.js +17 -0
  146. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +17 -19
  147. package/dist/overlays/relationships-browser/actor.d.ts +1095 -8
  148. package/dist/overlays/relationships-browser/actor.js +181 -173
  149. package/dist/overlays/relationships-browser/custom/ElementActions.js +3 -2
  150. package/dist/overlays/relationships-browser/custom/edgeTypes.d.ts +1 -1
  151. package/dist/overlays/relationships-browser/custom/nodeTypes.js +17 -0
  152. package/dist/overlays/relationships-browser/hooks.d.ts +1 -1
  153. package/dist/overlays/relationships-browser/hooks.js +7 -5
  154. package/dist/overlays/types.d.ts +29 -0
  155. package/dist/{likec4diagram/DiagramActor.d.ts → state/DiagramActorProvider.d.ts} +2 -2
  156. package/dist/state/DiagramActorProvider.js +77 -0
  157. package/dist/{likec4diagram/state → state}/assign.d.ts +2 -2
  158. package/dist/{likec4diagram/state → state}/assign.js +2 -2
  159. package/dist/state/diagram-machine.d.ts +11680 -0
  160. package/dist/{likec4diagram/state/machine.js → state/diagram-machine.js} +120 -192
  161. package/dist/{likec4diagram/state → state}/hotkeyActor.d.ts +1 -1
  162. package/dist/state/hotkeyActor.js +26 -0
  163. package/dist/state/inspector.d.ts +4 -0
  164. package/dist/{likec4diagram/state → state}/syncManualLayoutActor.d.ts +7 -8
  165. package/dist/{likec4diagram/state → state}/syncManualLayoutActor.js +7 -13
  166. package/dist/state/types.d.ts +19 -0
  167. package/dist/state/utils.d.ts +17 -0
  168. package/dist/{likec4diagram/state → state}/utils.js +20 -1
  169. package/package.json +20 -25
  170. package/src/LikeC4Diagram.tsx +3 -5
  171. package/src/base/BaseXYFlow.tsx +2 -1
  172. package/src/base/primitives/compound/CompoundTitle.css.ts +0 -5
  173. package/src/context/DiagramEventHandlers.tsx +27 -13
  174. package/src/context/DiagramFeatures.tsx +9 -22
  175. package/src/hooks/index.ts +0 -1
  176. package/src/hooks/safeContext.tsx +16 -0
  177. package/src/hooks/useCurrentViewId.ts +2 -2
  178. package/src/hooks/useDiagram.ts +47 -15
  179. package/src/likec4diagram/DiagramUI.tsx +14 -11
  180. package/src/likec4diagram/XYFlow.tsx +13 -6
  181. package/src/likec4diagram/custom/edges/NotePopover.tsx +1 -2
  182. package/src/likec4diagram/custom/edges/RelationshipEdge.tsx +1 -1
  183. package/src/likec4diagram/custom/edges/RelationshipsDropdownMenu.tsx +6 -7
  184. package/src/likec4diagram/custom/nodes/toolbar/Toolbar.tsx +1 -1
  185. package/src/likec4diagram/ui/controls/ChangeAutoLayoutButton.tsx +2 -3
  186. package/src/likec4diagram/ui/controls/Controls.tsx +4 -4
  187. package/src/likec4diagram/ui/controls/NavigationButtons.tsx +1 -2
  188. package/src/likec4diagram/ui/controls/ToggleReadonly.tsx +30 -0
  189. package/src/likec4diagram/ui/diagram-title/DiagramTitlePanel.tsx +8 -11
  190. package/src/likec4diagram/ui/notation/NotationPanel.tsx +2 -3
  191. package/src/likec4diagram/ui/search/LikeC4Search.tsx +1 -4
  192. package/src/likec4diagram/ui/search/ViewsColum.tsx +1 -1
  193. package/src/likec4diagram/ui/search/state.ts +1 -1
  194. package/src/likec4diagram/ui/walkthrough/DynamicViewWalkthrough.tsx +1 -2
  195. package/src/likec4diagram/useViewToNodesEdges.ts +0 -4
  196. package/src/overlays/Overlays.tsx +81 -71
  197. package/src/overlays/element-details/ElementDetails.tsx +33 -0
  198. package/src/overlays/element-details/ElementDetailsCard.tsx +8 -18
  199. package/src/overlays/element-details/TabPanelDeployments.tsx +1 -1
  200. package/src/overlays/element-details/TabPanelRelationships.tsx +33 -32
  201. package/src/overlays/element-details/actor.ts +102 -0
  202. package/src/overlays/element-details/actorContext.tsx +16 -0
  203. package/src/overlays/overlay/Overlay.tsx +14 -11
  204. package/src/overlays/overlaysActor.ts +278 -0
  205. package/src/overlays/relationship-details/actor.ts +8 -11
  206. package/src/overlays/relationship-details/custom/nodeTypes.tsx +18 -0
  207. package/src/overlays/relationships-browser/RelationshipsBrowser.tsx +23 -29
  208. package/src/overlays/relationships-browser/actor.ts +216 -220
  209. package/src/overlays/relationships-browser/custom/ElementActions.tsx +3 -2
  210. package/src/overlays/relationships-browser/custom/nodeTypes.tsx +20 -0
  211. package/src/overlays/relationships-browser/hooks.ts +7 -5
  212. package/src/overlays/types.ts +39 -0
  213. package/src/state/DiagramActorProvider.tsx +97 -0
  214. package/src/{likec4diagram/state → state}/assign.ts +4 -4
  215. package/src/{likec4diagram/state/machine.ts → state/diagram-machine.ts} +152 -203
  216. package/src/state/hotkeyActor.ts +29 -0
  217. package/src/state/inspector.ts +5 -0
  218. package/src/{likec4diagram/state → state}/syncManualLayoutActor.ts +14 -21
  219. package/src/state/types.ts +23 -0
  220. package/src/{likec4diagram/state → state}/utils.ts +24 -2
  221. package/dist/hooks/useDiagramActor.d.ts +0 -5
  222. package/dist/hooks/useDiagramActor.js +0 -21
  223. package/dist/hooks/useDiagramContext.d.ts +0 -3
  224. package/dist/hooks/useDiagramContext.js +0 -10
  225. package/dist/likec4diagram/DiagramActor.js +0 -71
  226. package/dist/likec4diagram/state/actorContext.d.ts +0 -51923
  227. package/dist/likec4diagram/state/actorContext.js +0 -12
  228. package/dist/likec4diagram/state/hotkeyActor.js +0 -18
  229. package/dist/likec4diagram/state/inspector.d.ts +0 -5
  230. package/dist/likec4diagram/state/machine.d.ts +0 -10979
  231. package/dist/likec4diagram/state/utils.d.ts +0 -8
  232. package/src/hooks/useDiagramActor.ts +0 -27
  233. package/src/hooks/useDiagramContext.ts +0 -14
  234. package/src/likec4diagram/DiagramActor.tsx +0 -79
  235. package/src/likec4diagram/state/actorContext.ts +0 -8
  236. package/src/likec4diagram/state/hotkeyActor.ts +0 -20
  237. package/src/likec4diagram/state/inspector.ts +0 -23
  238. /package/dist/{likec4diagram/state → state}/aligners.d.ts +0 -0
  239. /package/dist/{likec4diagram/state → state}/aligners.js +0 -0
  240. /package/src/{likec4diagram/state → state}/aligners.ts +0 -0
@@ -3,9 +3,9 @@ import { ReactFlowProvider } from "@xyflow/react";
3
3
  import { useRef } from "react";
4
4
  import { isEmpty } from "remeda";
5
5
  import { LikeC4CustomColors } from "./LikeC4CustomColors.js";
6
- import { DiagramActor } from "./likec4diagram/DiagramActor.js";
7
6
  import { useViewToNodesEdges } from "./likec4diagram/useViewToNodesEdges.js";
8
7
  import { LikeC4DiagramXYFlow } from "./likec4diagram/XYFlow.js";
8
+ import { DiagramActorProvider } from "./state/DiagramActorProvider.js";
9
9
  import { useLikeC4Model } from "./likec4model/useLikeC4Model.js";
10
10
  import { EnsureMantine } from "./context/EnsureMantine.js";
11
11
  import { FramerMotionConfig } from "./context/FramerMotionConfig.js";
@@ -56,7 +56,6 @@ function LikeC4Diagram({
56
56
  const xyNodesEdges = useViewToNodesEdges({
57
57
  view,
58
58
  where,
59
- nodesDraggable,
60
59
  nodesSelectable
61
60
  });
62
61
  const isDynamicView = view.__ === "dynamic";
@@ -113,7 +112,7 @@ function LikeC4Diagram({
113
112
  fitView,
114
113
  ...initialRef.current,
115
114
  children: /* @__PURE__ */ jsx(
116
- DiagramActor,
115
+ DiagramActorProvider,
117
116
  {
118
117
  input: {
119
118
  view,
@@ -68,7 +68,6 @@ const BaseXYFlow = ({
68
68
  ...!pannable && {
69
69
  selectionKeyCode: null
70
70
  },
71
- onlyRenderVisibleElements: nodes.length > 75,
72
71
  elementsSelectable: nodesSelectable,
73
72
  nodesFocusable: nodesDraggable || nodesSelectable,
74
73
  edgesFocusable: false,
@@ -36,9 +36,9 @@ export declare const edgeTypes: {
36
36
  target: string;
37
37
  style?: CSSProperties;
38
38
  id: string;
39
+ selected?: boolean;
39
40
  selectable?: boolean;
40
41
  deletable?: boolean;
41
- selected?: boolean;
42
42
  animated?: boolean;
43
43
  sourceX: number;
44
44
  sourceY: number;
@@ -11,9 +11,9 @@ export declare function customEdge<P extends Record<string, unknown> = Base.Node
11
11
  target: string;
12
12
  style?: CSSProperties;
13
13
  id: string;
14
+ selected?: boolean;
14
15
  selectable?: boolean;
15
16
  deletable?: boolean;
16
- selected?: boolean;
17
17
  animated?: boolean;
18
18
  sourceX: number;
19
19
  sourceY: number;
@@ -6,9 +6,9 @@ export declare const EdgePath: ForwardRefExoticComponent<{
6
6
  target: string;
7
7
  style?: CSSProperties;
8
8
  id: string;
9
+ selected?: boolean;
9
10
  selectable?: boolean;
10
11
  deletable?: boolean;
11
- selected?: boolean;
12
12
  animated?: boolean;
13
13
  sourceX: number;
14
14
  sourceY: number;
@@ -1,10 +1,14 @@
1
- import { PropsWithChildren } from 'react';
1
+ import { PropsWithChildren, RefObject } from 'react';
2
2
  import { LikeC4DiagramEventHandlers } from '../LikeC4Diagram.props';
3
3
  type RequiredOrNull<T> = {
4
4
  [P in keyof T]-?: NonNullable<T[P]> | null;
5
5
  };
6
+ type DiagramEventHandlersContextValue = RequiredOrNull<LikeC4DiagramEventHandlers> & {
7
+ handlersRef: RefObject<LikeC4DiagramEventHandlers>;
8
+ };
6
9
  export declare function DiagramEventHandlers({ handlers, children, }: PropsWithChildren<{
7
10
  handlers: LikeC4DiagramEventHandlers;
8
11
  }>): import("react/jsx-runtime").JSX.Element;
9
- export declare function useDiagramEventHandlers(): RequiredOrNull<LikeC4DiagramEventHandlers>;
12
+ export declare function useDiagramEventHandlers(): DiagramEventHandlersContextValue;
13
+ export declare function useDiagramEventHandlersRef(): RefObject<LikeC4DiagramEventHandlers>;
10
14
  export {};
@@ -1,6 +1,6 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { useSyncedRef } from "@react-hookz/web";
3
- import { createContext, useMemo, useContext } from "react";
3
+ import { useMemo, createContext, useContext } from "react";
4
4
  import { isFunction, mapToObj } from "remeda";
5
5
  const HandlerNames = [
6
6
  "onBurgerMenuClick",
@@ -15,35 +15,40 @@ const HandlerNames = [
15
15
  "onChange",
16
16
  "onCanvasDblClick"
17
17
  ];
18
- const DiagramEventHandlersContext = createContext(
19
- mapToObj(HandlerNames, (name) => [name, null])
20
- );
18
+ const DiagramEventHandlersContext = createContext({
19
+ ...mapToObj(HandlerNames, (name) => [name, null]),
20
+ handlersRef: {
21
+ current: {}
22
+ }
23
+ });
21
24
  function DiagramEventHandlers({
22
25
  handlers,
23
26
  children
24
27
  }) {
25
28
  const handlersRef = useSyncedRef(handlers);
26
29
  const deps = HandlerNames.map((name) => isFunction(handlers[name]));
27
- return /* @__PURE__ */ jsx(
28
- DiagramEventHandlersContext.Provider,
29
- {
30
- value: useMemo(() => mapToObj(HandlerNames, (name) => {
31
- if (handlersRef.current[name]) {
32
- return [name, (...args) => {
33
- var _a, _b;
34
- return (_b = (_a = handlersRef.current)[name]) == null ? void 0 : _b.call(_a, ...args);
35
- }];
36
- }
37
- return [name, null];
38
- }), [handlersRef, ...deps]),
39
- children
40
- }
41
- );
30
+ const value = useMemo(() => ({
31
+ ...mapToObj(HandlerNames, (name) => {
32
+ if (handlersRef.current[name]) {
33
+ return [name, (...args) => {
34
+ var _a, _b;
35
+ return (_b = (_a = handlersRef.current)[name]) == null ? void 0 : _b.call(_a, ...args);
36
+ }];
37
+ }
38
+ return [name, null];
39
+ }),
40
+ handlersRef
41
+ }), [handlersRef, ...deps]);
42
+ return /* @__PURE__ */ jsx(DiagramEventHandlersContext.Provider, { value, children });
42
43
  }
43
44
  function useDiagramEventHandlers() {
44
45
  return useContext(DiagramEventHandlersContext);
45
46
  }
47
+ function useDiagramEventHandlersRef() {
48
+ return useContext(DiagramEventHandlersContext).handlersRef;
49
+ }
46
50
  export {
47
51
  DiagramEventHandlers,
48
- useDiagramEventHandlers
52
+ useDiagramEventHandlers,
53
+ useDiagramEventHandlersRef
49
54
  };
@@ -1,7 +1,7 @@
1
1
  import { ExclusiveUnion, NonEmptyArray } from '@likec4/core';
2
2
  import { PropsWithChildren } from 'react';
3
3
  declare const FeatureNames: readonly ["Controls", "ReadOnly", "FocusMode", "NavigateTo", "ElementDetails", "RelationshipDetails", "RelationshipBrowser", "Search", "NavigationButtons", "Notations", "DynamicViewWalkthrough", "EdgeEditing", "ViewTitle", "FitView", "LikeC4Model", "Vscode"];
4
- type FeatureName = typeof FeatureNames[number];
4
+ export type FeatureName = typeof FeatureNames[number];
5
5
  export type EnabledFeatures = {
6
6
  [P in `enable${FeatureName}`]: boolean;
7
7
  };
@@ -40,40 +40,27 @@ const validate = (features) => {
40
40
  enableRelationshipDetails,
41
41
  enableRelationshipBrowser,
42
42
  enableSearch,
43
+ enableEdgeEditing,
43
44
  ...rest
44
45
  } = features;
45
46
  if (!enableLikeC4Model) {
46
- if (enableElementDetails) {
47
- console.warn("enableElementDetails is ignored because requires LikeC4Model");
48
- enableElementDetails = false;
49
- }
50
- if (enableRelationshipDetails) {
51
- console.warn("enableRelationshipDetails is ignored because requires enableLikeC4Model");
52
- enableRelationshipDetails = false;
53
- }
54
- if (enableRelationshipBrowser) {
55
- console.warn("enableRelationshipBrowser is ignored because requires LikeC4Model");
56
- enableRelationshipBrowser = false;
57
- }
58
- if (enableSearch) {
59
- console.warn("enableSearch is ignored because requires LikeC4Model");
60
- enableSearch = false;
61
- }
47
+ enableElementDetails = false;
48
+ enableRelationshipDetails = false;
49
+ enableRelationshipBrowser = false;
50
+ enableSearch = false;
62
51
  }
63
52
  if (enableReadOnly) {
64
- if (rest.enableEdgeEditing) {
65
- console.warn("enableEdgeEditing is ignored because enabled ReadOnly");
66
- rest.enableEdgeEditing = false;
67
- }
53
+ enableEdgeEditing = false;
68
54
  }
69
55
  return {
70
- ...rest,
71
56
  enableReadOnly,
72
57
  enableLikeC4Model,
73
58
  enableElementDetails,
74
59
  enableRelationshipDetails,
75
60
  enableRelationshipBrowser,
76
- enableSearch
61
+ enableSearch,
62
+ enableEdgeEditing,
63
+ ...rest
77
64
  };
78
65
  };
79
66
  function DiagramFeatures({