likec4 1.49.0 → 1.50.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 (90) hide show
  1. package/__app__/src/likec4.js +17 -40
  2. package/__app__/src/routes/single.js +27 -20
  3. package/__app__/src/style.css +1 -1
  4. package/__app__/src/vendors.js +1152 -1013
  5. package/config/schema.json +16 -0
  6. package/dist/THIRD-PARTY-LICENSES.md +31 -1
  7. package/dist/_chunks/LikeC4.mjs +1154 -0
  8. package/dist/_chunks/binary.mjs +72 -0
  9. package/dist/_chunks/index.d.mts +11 -12
  10. package/dist/_chunks/index2.d.mts +166 -76
  11. package/dist/_chunks/libs/@chevrotain/cst-dts-gen.mjs +30 -0
  12. package/dist/_chunks/libs/@chevrotain/regexp-to-ast.mjs +8 -8
  13. package/dist/_chunks/libs/@chevrotain/types.d.mts +1 -0
  14. package/dist/_chunks/libs/@chevrotain/utils.mjs +1 -1
  15. package/dist/_chunks/libs/@hono/mcp.mjs +8 -8
  16. package/dist/_chunks/libs/@hono/node-server.mjs +1 -1
  17. package/dist/_chunks/libs/@logtape/logtape.mjs +3 -3
  18. package/dist/_chunks/libs/@lume/kiwi.mjs +1 -1
  19. package/dist/_chunks/libs/@modelcontextprotocol/sdk.d.mts +114 -14
  20. package/dist/_chunks/libs/@modelcontextprotocol/sdk.mjs +7 -7
  21. package/dist/_chunks/libs/@msgpack/msgpack.mjs +1 -1
  22. package/dist/_chunks/libs/@nanostores/react.d.mts +61 -1
  23. package/dist/_chunks/libs/@nanostores/react.mjs +1 -1
  24. package/dist/_chunks/libs/@smithy/is-array-buffer.mjs +1 -0
  25. package/dist/_chunks/libs/@smithy/util-base64.mjs +1 -1
  26. package/dist/_chunks/libs/ajv.mjs +1 -1
  27. package/dist/_chunks/libs/atomically.mjs +1 -1
  28. package/dist/_chunks/libs/birpc.mjs +1 -1
  29. package/dist/_chunks/libs/chevrotain-allstar.mjs +2 -2
  30. package/dist/_chunks/libs/chevrotain.mjs +35 -35
  31. package/dist/_chunks/libs/conf.mjs +1 -1
  32. package/dist/_chunks/libs/defu.mjs +1 -1
  33. package/dist/_chunks/libs/esm-env.mjs +1 -1
  34. package/dist/_chunks/libs/eventemitter3.mjs +1 -1
  35. package/dist/_chunks/libs/fast-equals.mjs +1 -1
  36. package/dist/_chunks/libs/find-up-simple.mjs +1 -1
  37. package/dist/_chunks/libs/get-port.mjs +1 -1
  38. package/dist/_chunks/libs/is-docker.mjs +1 -1
  39. package/dist/_chunks/libs/is-error-instance.mjs +1 -1
  40. package/dist/_chunks/libs/is-inside-container.mjs +1 -1
  41. package/dist/_chunks/libs/is-plain-obj.mjs +1 -1
  42. package/dist/_chunks/libs/isexe.mjs +1 -1
  43. package/dist/_chunks/libs/json5.mjs +10 -10
  44. package/dist/_chunks/libs/khroma.mjs +1 -1
  45. package/dist/_chunks/libs/ky.mjs +2 -2
  46. package/dist/_chunks/libs/langium.d.mts +4 -3
  47. package/dist/_chunks/libs/langium.mjs +20 -19
  48. package/dist/_chunks/libs/merge-error-cause.mjs +2 -2
  49. package/dist/_chunks/libs/p-limit.mjs +1 -1
  50. package/dist/_chunks/libs/p-queue.mjs +1 -1
  51. package/dist/_chunks/libs/package-manager-detector.mjs +1 -1
  52. package/dist/_chunks/libs/package-up.mjs +1 -1
  53. package/dist/_chunks/libs/pako.mjs +1 -0
  54. package/dist/_chunks/libs/parse-ms.mjs +1 -1
  55. package/dist/_chunks/libs/pathe.mjs +1 -1
  56. package/dist/_chunks/libs/picomatch.mjs +1 -1
  57. package/dist/_chunks/libs/pretty-ms.mjs +1 -1
  58. package/dist/_chunks/libs/remeda.mjs +2 -1
  59. package/dist/_chunks/libs/safe-stringify.mjs +1 -1
  60. package/dist/_chunks/libs/strip-indent.mjs +1 -1
  61. package/dist/_chunks/libs/tinyrainbow.mjs +1 -1
  62. package/dist/_chunks/libs/ts-graphviz.mjs +3 -3
  63. package/dist/_chunks/libs/ufo.mjs +1 -1
  64. package/dist/_chunks/libs/which.mjs +1 -1
  65. package/dist/_chunks/libs/word-wrap.mjs +2 -2
  66. package/dist/_chunks/rolldown-runtime.mjs +1 -1
  67. package/dist/_chunks/sequence.mjs +1 -0
  68. package/dist/_chunks/src.mjs +15 -0
  69. package/dist/_chunks/src2.mjs +499 -0
  70. package/dist/cli/index.mjs +75 -231
  71. package/dist/config/index.mjs +1 -1
  72. package/dist/index.d.mts +5 -3
  73. package/dist/index.mjs +1 -1
  74. package/dist/model/index.mjs +1 -1
  75. package/dist/vite-plugin/index.d.mts +3 -0
  76. package/dist/vite-plugin/index.mjs +1 -1
  77. package/dist/vite-plugin/internal.d.mts +1 -2
  78. package/dist/vite-plugin/internal.mjs +1 -1
  79. package/package.json +26 -26
  80. package/react/index.d.mts +2 -2
  81. package/react/index.mjs +36 -54
  82. package/vite-plugin-modules.d.ts +5 -0
  83. package/dist/_chunks/GraphvizBinaryAdapter.mjs +0 -72
  84. package/dist/_chunks/filenames.mjs +0 -14
  85. package/dist/_chunks/libs/@chevrotain/gast.mjs +0 -1
  86. package/dist/_chunks/libs/nanostores.d.mts +0 -63
  87. package/dist/_chunks/libs/nanostores.mjs +0 -1
  88. package/dist/_chunks/node.mjs +0 -481
  89. package/dist/_chunks/plugin.mjs +0 -322
  90. package/dist/_chunks/sequence-view.mjs +0 -1
@@ -1307,7 +1307,7 @@ function useOptionalLikeC4Editor() {
1307
1307
  function useId() {
1308
1308
  return useId$1().replace("mantine-", "likec4-");
1309
1309
  }
1310
- var userGeneratedStr = "css,pos,insetX,insetY,insetEnd,end,insetStart,start,flexDir,p,pl,pr,pt,pb,py,paddingY,paddingX,px,pe,paddingEnd,ps,paddingStart,ml,mr,mt,mb,m,my,marginY,mx,marginX,me,marginEnd,ms,marginStart,ringWidth,ringColor,ring,ringOffset,w,minW,maxW,h,minH,maxH,textShadowColor,bgPosition,bgPositionX,bgPositionY,bgAttachment,bgClip,bg,bgColor,bgOrigin,bgImage,bgRepeat,bgBlendMode,bgSize,bgGradient,bgLinear,bgRadial,bgConic,rounded,roundedTopLeft,roundedTopRight,roundedBottomRight,roundedBottomLeft,roundedTop,roundedRight,roundedBottom,roundedLeft,roundedStartStart,roundedStartEnd,roundedStart,roundedEndStart,roundedEndEnd,roundedEnd,borderX,borderXWidth,borderXColor,borderY,borderYWidth,borderYColor,borderStart,borderStartWidth,borderStartColor,borderEnd,borderEndWidth,borderEndColor,shadow,shadowColor,x,y,z,scrollMarginY,scrollMarginX,scrollPaddingY,scrollPaddingX,aspectRatio,boxDecorationBreak,zIndex,boxSizing,objectPosition,objectFit,overscrollBehavior,overscrollBehaviorX,overscrollBehaviorY,position,top,left,inset,insetInline,insetBlock,insetBlockEnd,insetBlockStart,insetInlineEnd,insetInlineStart,right,bottom,float,visibility,display,hideFrom,hideBelow,flexBasis,flex,flexDirection,flexGrow,flexShrink,gridTemplateColumns,gridTemplateRows,gridColumn,gridRow,gridColumnStart,gridColumnEnd,gridAutoFlow,gridAutoColumns,gridAutoRows,gap,gridGap,gridRowGap,gridColumnGap,rowGap,columnGap,justifyContent,alignContent,alignItems,alignSelf,padding,paddingLeft,paddingRight,paddingTop,paddingBottom,paddingBlock,paddingBlockEnd,paddingBlockStart,paddingInline,paddingInlineEnd,paddingInlineStart,marginLeft,marginRight,marginTop,marginBottom,margin,marginBlock,marginBlockEnd,marginBlockStart,marginInline,marginInlineEnd,marginInlineStart,spaceX,spaceY,outlineWidth,outlineColor,outline,outlineOffset,focusRing,focusVisibleRing,focusRingColor,focusRingOffset,focusRingWidth,focusRingStyle,divideX,divideY,divideColor,divideStyle,width,inlineSize,minWidth,minInlineSize,maxWidth,maxInlineSize,height,blockSize,minHeight,minBlockSize,maxHeight,maxBlockSize,boxSize,color,fontFamily,fontSize,fontSizeAdjust,fontPalette,fontKerning,fontFeatureSettings,fontWeight,fontSmoothing,fontVariant,fontVariantAlternates,fontVariantCaps,fontVariationSettings,fontVariantNumeric,letterSpacing,lineHeight,textAlign,textDecoration,textDecorationColor,textEmphasisColor,textDecorationStyle,textDecorationThickness,textUnderlineOffset,textTransform,textIndent,textShadow,WebkitTextFillColor,textOverflow,verticalAlign,wordBreak,textWrap,truncate,lineClamp,listStyleType,listStylePosition,listStyleImage,listStyle,backgroundPosition,backgroundPositionX,backgroundPositionY,backgroundAttachment,backgroundClip,background,backgroundColor,backgroundOrigin,backgroundImage,backgroundRepeat,backgroundBlendMode,backgroundSize,backgroundGradient,backgroundLinear,backgroundRadial,backgroundConic,textGradient,gradientFromPosition,gradientToPosition,gradientFrom,gradientTo,gradientVia,gradientViaPosition,borderRadius,borderTopLeftRadius,borderTopRightRadius,borderBottomRightRadius,borderBottomLeftRadius,borderTopRadius,borderRightRadius,borderBottomRadius,borderLeftRadius,borderStartStartRadius,borderStartEndRadius,borderStartRadius,borderEndStartRadius,borderEndEndRadius,borderEndRadius,border,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,borderBlockStartWidth,borderBlockEndWidth,borderColor,borderInline,borderInlineWidth,borderInlineColor,borderBlock,borderBlockWidth,borderBlockColor,borderLeft,borderLeftColor,borderInlineStart,borderInlineStartWidth,borderInlineStartColor,borderRight,borderRightColor,borderInlineEnd,borderInlineEndWidth,borderInlineEndColor,borderTop,borderTopColor,borderBottom,borderBottomColor,borderBlockEnd,borderBlockEndColor,borderBlockStart,borderBlockStartColor,opacity,boxShadow,boxShadowColor,mixBlendMode,filter,brightness,contrast,grayscale,hueRotate,invert,saturate,sepia,dropShadow,blur,backdropFilter,backdropBlur,backdropBrightness,backdropContrast,backdropGrayscale,backdropHueRotate,backdropInvert,backdropOpacity,backdropSaturate,backdropSepia,borderCollapse,borderSpacing,borderSpacingX,borderSpacingY,tableLayout,transitionTimingFunction,transitionDelay,transitionDuration,transitionProperty,transition,animation,animationName,animationTimingFunction,animationDuration,animationDelay,animationPlayState,animationComposition,animationFillMode,animationDirection,animationIterationCount,animationRange,animationState,animationRangeStart,animationRangeEnd,animationTimeline,transformOrigin,transformBox,transformStyle,transform,rotate,rotateX,rotateY,rotateZ,scale,scaleX,scaleY,translate,translateX,translateY,translateZ,accentColor,caretColor,scrollBehavior,scrollbar,scrollbarColor,scrollbarGutter,scrollbarWidth,scrollMargin,scrollMarginLeft,scrollMarginRight,scrollMarginTop,scrollMarginBottom,scrollMarginBlock,scrollMarginBlockEnd,scrollMarginBlockStart,scrollMarginInline,scrollMarginInlineEnd,scrollMarginInlineStart,scrollPadding,scrollPaddingBlock,scrollPaddingBlockStart,scrollPaddingBlockEnd,scrollPaddingInline,scrollPaddingInlineEnd,scrollPaddingInlineStart,scrollPaddingLeft,scrollPaddingRight,scrollPaddingTop,scrollPaddingBottom,scrollSnapAlign,scrollSnapStop,scrollSnapType,scrollSnapStrictness,scrollSnapMargin,scrollSnapMarginTop,scrollSnapMarginBottom,scrollSnapMarginLeft,scrollSnapMarginRight,scrollSnapCoordinate,scrollSnapDestination,scrollSnapPointsX,scrollSnapPointsY,scrollSnapTypeX,scrollSnapTypeY,scrollTimeline,scrollTimelineAxis,scrollTimelineName,touchAction,userSelect,overflow,overflowWrap,overflowX,overflowY,overflowAnchor,overflowBlock,overflowInline,overflowClipBox,overflowClipMargin,overscrollBehaviorBlock,overscrollBehaviorInline,fill,stroke,strokeWidth,strokeDasharray,strokeDashoffset,strokeLinecap,strokeLinejoin,strokeMiterlimit,strokeOpacity,srOnly,debug,appearance,backfaceVisibility,clipPath,hyphens,mask,maskImage,maskSize,textSizeAdjust,container,containerName,containerType,cursor,colorPalette,_hover,_focus,_focusWithin,_focusVisible,_disabled,_active,_visited,_target,_readOnly,_readWrite,_empty,_checked,_enabled,_expanded,_highlighted,_complete,_incomplete,_dragging,_before,_after,_firstLetter,_firstLine,_marker,_selection,_file,_backdrop,_first,_last,_only,_even,_odd,_firstOfType,_lastOfType,_onlyOfType,_peerFocus,_peerHover,_peerActive,_peerFocusWithin,_peerFocusVisible,_peerDisabled,_peerChecked,_peerInvalid,_peerExpanded,_peerPlaceholderShown,_groupFocus,_groupHover,_groupActive,_groupFocusWithin,_groupFocusVisible,_groupDisabled,_groupChecked,_groupExpanded,_groupInvalid,_indeterminate,_required,_valid,_invalid,_autofill,_inRange,_outOfRange,_placeholder,_placeholderShown,_pressed,_selected,_grabbed,_underValue,_overValue,_atValue,_default,_optional,_open,_closed,_fullscreen,_loading,_hidden,_current,_currentPage,_currentStep,_today,_unavailable,_rangeStart,_rangeEnd,_now,_topmost,_motionReduce,_motionSafe,_print,_landscape,_portrait,_dark,_light,_osDark,_osLight,_highContrast,_lessContrast,_moreContrast,_ltr,_rtl,_scrollbar,_scrollbarThumb,_scrollbarTrack,_horizontal,_vertical,_icon,_starting,_noscript,_invertedColors,_shapeSizeXs,_shapeSizeSm,_shapeSizeMd,_shapeSizeLg,_shapeSizeXl,_shapeRectangle,_shapePerson,_shapeBrowser,_shapeMobile,_shapeCylinder,_shapeStorage,_shapeQueue,_shapeBucket,_shapeDocument,_shapeComponent,_notDisabled,_reduceGraphics,_reduceGraphicsOnPan,_noReduceGraphics,_whenPanning,_smallZoom,_compoundTransparent,_edgeActive,_whenHovered,_whenSelectable,_whenSelected,_whenDimmed,_whenFocused,_p3,xs,xsOnly,xsDown,sm,smOnly,smDown,md,mdOnly,mdDown,lg,lgOnly,lgDown,xl,xlOnly,xlDown,xsToSm,xsToMd,xsToLg,xsToXl,smToMd,smToLg,smToXl,mdToLg,mdToXl,lgToXl,@/xs,@/sm,@/md,@/lg,@likec4-root/xs,@likec4-root/sm,@likec4-root/md,@likec4-root/lg,@likec4-dialog/xs,@likec4-dialog/sm,@likec4-dialog/md,@likec4-dialog/lg,textStyle,layerStyle,animationStyle", userGenerated = userGeneratedStr.split(","), cssPropertiesStr = "WebkitAppearance,WebkitBorderBefore,WebkitBorderBeforeColor,WebkitBorderBeforeStyle,WebkitBorderBeforeWidth,WebkitBoxReflect,WebkitLineClamp,WebkitMask,WebkitMaskAttachment,WebkitMaskClip,WebkitMaskComposite,WebkitMaskImage,WebkitMaskOrigin,WebkitMaskPosition,WebkitMaskPositionX,WebkitMaskPositionY,WebkitMaskRepeat,WebkitMaskRepeatX,WebkitMaskRepeatY,WebkitMaskSize,WebkitOverflowScrolling,WebkitTapHighlightColor,WebkitTextFillColor,WebkitTextStroke,WebkitTextStrokeColor,WebkitTextStrokeWidth,WebkitTouchCallout,WebkitUserModify,WebkitUserSelect,accentColor,alignContent,alignItems,alignSelf,alignTracks,all,anchorName,anchorScope,animation,animationComposition,animationDelay,animationDirection,animationDuration,animationFillMode,animationIterationCount,animationName,animationPlayState,animationRange,animationRangeEnd,animationRangeStart,animationTimeline,animationTimingFunction,appearance,aspectRatio,backdropFilter,backfaceVisibility,background,backgroundAttachment,backgroundBlendMode,backgroundClip,backgroundColor,backgroundImage,backgroundOrigin,backgroundPosition,backgroundPositionX,backgroundPositionY,backgroundRepeat,backgroundSize,blockSize,border,borderBlock,borderBlockColor,borderBlockEnd,borderBlockEndColor,borderBlockEndStyle,borderBlockEndWidth,borderBlockStart,borderBlockStartColor,borderBlockStartStyle,borderBlockStartWidth,borderBlockStyle,borderBlockWidth,borderBottom,borderBottomColor,borderBottomLeftRadius,borderBottomRightRadius,borderBottomStyle,borderBottomWidth,borderCollapse,borderColor,borderEndEndRadius,borderEndStartRadius,borderImage,borderImageOutset,borderImageRepeat,borderImageSlice,borderImageSource,borderImageWidth,borderInline,borderInlineColor,borderInlineEnd,borderInlineEndColor,borderInlineEndStyle,borderInlineEndWidth,borderInlineStart,borderInlineStartColor,borderInlineStartStyle,borderInlineStartWidth,borderInlineStyle,borderInlineWidth,borderLeft,borderLeftColor,borderLeftStyle,borderLeftWidth,borderRadius,borderRight,borderRightColor,borderRightStyle,borderRightWidth,borderSpacing,borderStartEndRadius,borderStartStartRadius,borderStyle,borderTop,borderTopColor,borderTopLeftRadius,borderTopRightRadius,borderTopStyle,borderTopWidth,borderWidth,bottom,boxAlign,boxDecorationBreak,boxDirection,boxFlex,boxFlexGroup,boxLines,boxOrdinalGroup,boxOrient,boxPack,boxShadow,boxSizing,breakAfter,breakBefore,breakInside,captionSide,caret,caretColor,caretShape,clear,clip,clipPath,clipRule,color,colorInterpolationFilters,colorScheme,columnCount,columnFill,columnGap,columnRule,columnRuleColor,columnRuleStyle,columnRuleWidth,columnSpan,columnWidth,columns,contain,containIntrinsicBlockSize,containIntrinsicHeight,containIntrinsicInlineSize,containIntrinsicSize,containIntrinsicWidth,container,containerName,containerType,content,contentVisibility,counterIncrement,counterReset,counterSet,cursor,cx,cy,d,direction,display,dominantBaseline,emptyCells,fieldSizing,fill,fillOpacity,fillRule,filter,flex,flexBasis,flexDirection,flexFlow,flexGrow,flexShrink,flexWrap,float,floodColor,floodOpacity,font,fontFamily,fontFeatureSettings,fontKerning,fontLanguageOverride,fontOpticalSizing,fontPalette,fontSize,fontSizeAdjust,fontSmooth,fontStretch,fontStyle,fontSynthesis,fontSynthesisPosition,fontSynthesisSmallCaps,fontSynthesisStyle,fontSynthesisWeight,fontVariant,fontVariantAlternates,fontVariantCaps,fontVariantEastAsian,fontVariantEmoji,fontVariantLigatures,fontVariantNumeric,fontVariantPosition,fontVariationSettings,fontWeight,forcedColorAdjust,gap,grid,gridArea,gridAutoColumns,gridAutoFlow,gridAutoRows,gridColumn,gridColumnEnd,gridColumnGap,gridColumnStart,gridGap,gridRow,gridRowEnd,gridRowGap,gridRowStart,gridTemplate,gridTemplateAreas,gridTemplateColumns,gridTemplateRows,hangingPunctuation,height,hyphenateCharacter,hyphenateLimitChars,hyphens,imageOrientation,imageRendering,imageResolution,imeMode,initialLetter,initialLetterAlign,inlineSize,inset,insetBlock,insetBlockEnd,insetBlockStart,insetInline,insetInlineEnd,insetInlineStart,interpolateSize,isolation,justifyContent,justifyItems,justifySelf,justifyTracks,left,letterSpacing,lightingColor,lineBreak,lineClamp,lineHeight,lineHeightStep,listStyle,listStyleImage,listStylePosition,listStyleType,margin,marginBlock,marginBlockEnd,marginBlockStart,marginBottom,marginInline,marginInlineEnd,marginInlineStart,marginLeft,marginRight,marginTop,marginTrim,marker,markerEnd,markerMid,markerStart,mask,maskBorder,maskBorderMode,maskBorderOutset,maskBorderRepeat,maskBorderSlice,maskBorderSource,maskBorderWidth,maskClip,maskComposite,maskImage,maskMode,maskOrigin,maskPosition,maskRepeat,maskSize,maskType,masonryAutoFlow,mathDepth,mathShift,mathStyle,maxBlockSize,maxHeight,maxInlineSize,maxLines,maxWidth,minBlockSize,minHeight,minInlineSize,minWidth,mixBlendMode,objectFit,objectPosition,offset,offsetAnchor,offsetDistance,offsetPath,offsetPosition,offsetRotate,opacity,order,orphans,outline,outlineColor,outlineOffset,outlineStyle,outlineWidth,overflow,overflowAnchor,overflowBlock,overflowClipBox,overflowClipMargin,overflowInline,overflowWrap,overflowX,overflowY,overlay,overscrollBehavior,overscrollBehaviorBlock,overscrollBehaviorInline,overscrollBehaviorX,overscrollBehaviorY,padding,paddingBlock,paddingBlockEnd,paddingBlockStart,paddingBottom,paddingInline,paddingInlineEnd,paddingInlineStart,paddingLeft,paddingRight,paddingTop,page,pageBreakAfter,pageBreakBefore,pageBreakInside,paintOrder,perspective,perspectiveOrigin,placeContent,placeItems,placeSelf,pointerEvents,position,positionAnchor,positionArea,positionTry,positionTryFallbacks,positionTryOrder,positionVisibility,printColorAdjust,quotes,r,resize,right,rotate,rowGap,rubyAlign,rubyMerge,rubyPosition,rx,ry,scale,scrollBehavior,scrollMargin,scrollMarginBlock,scrollMarginBlockEnd,scrollMarginBlockStart,scrollMarginBottom,scrollMarginInline,scrollMarginInlineEnd,scrollMarginInlineStart,scrollMarginLeft,scrollMarginRight,scrollMarginTop,scrollPadding,scrollPaddingBlock,scrollPaddingBlockEnd,scrollPaddingBlockStart,scrollPaddingBottom,scrollPaddingInline,scrollPaddingInlineEnd,scrollPaddingInlineStart,scrollPaddingLeft,scrollPaddingRight,scrollPaddingTop,scrollSnapAlign,scrollSnapCoordinate,scrollSnapDestination,scrollSnapPointsX,scrollSnapPointsY,scrollSnapStop,scrollSnapType,scrollSnapTypeX,scrollSnapTypeY,scrollTimeline,scrollTimelineAxis,scrollTimelineName,scrollbarColor,scrollbarGutter,scrollbarWidth,shapeImageThreshold,shapeMargin,shapeOutside,shapeRendering,stopColor,stopOpacity,stroke,strokeDasharray,strokeDashoffset,strokeLinecap,strokeLinejoin,strokeMiterlimit,strokeOpacity,strokeWidth,tabSize,tableLayout,textAlign,textAlignLast,textAnchor,textBox,textBoxEdge,textBoxTrim,textCombineUpright,textDecoration,textDecorationColor,textDecorationLine,textDecorationSkip,textDecorationSkipInk,textDecorationStyle,textDecorationThickness,textEmphasis,textEmphasisColor,textEmphasisPosition,textEmphasisStyle,textIndent,textJustify,textOrientation,textOverflow,textRendering,textShadow,textSizeAdjust,textSpacingTrim,textTransform,textUnderlineOffset,textUnderlinePosition,textWrap,textWrapMode,textWrapStyle,timelineScope,top,touchAction,transform,transformBox,transformOrigin,transformStyle,transition,transitionBehavior,transitionDelay,transitionDuration,transitionProperty,transitionTimingFunction,translate,unicodeBidi,userSelect,vectorEffect,verticalAlign,viewTimeline,viewTimelineAxis,viewTimelineInset,viewTimelineName,viewTransitionName,visibility,whiteSpace,whiteSpaceCollapse,widows,width,willChange,wordBreak,wordSpacing,wordWrap,writingMode,x,y,zIndex,zoom,alignmentBaseline,baselineShift,colorInterpolation,colorRendering,glyphOrientationVertical", allCssProperties = cssPropertiesStr.split(",").concat(userGenerated), properties = new Map(allCssProperties.map((prop) => [prop, !0])), cssPropertySelectorRegex = /&|@/, isCssProperty = /* @__PURE__ */ memo((prop) => properties.has(prop) || prop.startsWith("--") || cssPropertySelectorRegex.test(prop));
1310
+ var userGeneratedStr = "css,pos,insetX,insetY,insetEnd,end,insetStart,start,flexDir,p,pl,pr,pt,pb,py,paddingY,paddingX,px,pe,paddingEnd,ps,paddingStart,ml,mr,mt,mb,m,my,marginY,mx,marginX,me,marginEnd,ms,marginStart,ringWidth,ringColor,ring,ringOffset,w,minW,maxW,h,minH,maxH,textShadowColor,bgPosition,bgPositionX,bgPositionY,bgAttachment,bgClip,bg,bgColor,bgOrigin,bgImage,bgRepeat,bgBlendMode,bgSize,bgGradient,bgLinear,bgRadial,bgConic,rounded,roundedTopLeft,roundedTopRight,roundedBottomRight,roundedBottomLeft,roundedTop,roundedRight,roundedBottom,roundedLeft,roundedStartStart,roundedStartEnd,roundedStart,roundedEndStart,roundedEndEnd,roundedEnd,borderX,borderXWidth,borderXColor,borderY,borderYWidth,borderYColor,borderStart,borderStartWidth,borderStartColor,borderEnd,borderEndWidth,borderEndColor,shadow,shadowColor,x,y,z,scrollMarginY,scrollMarginX,scrollPaddingY,scrollPaddingX,aspectRatio,boxDecorationBreak,zIndex,boxSizing,objectPosition,objectFit,overscrollBehavior,overscrollBehaviorX,overscrollBehaviorY,position,top,left,inset,insetInline,insetBlock,insetBlockEnd,insetBlockStart,insetInlineEnd,insetInlineStart,right,bottom,float,visibility,display,hideFrom,hideBelow,flexBasis,flex,flexDirection,flexGrow,flexShrink,gridTemplateColumns,gridTemplateRows,gridColumn,gridRow,gridColumnStart,gridColumnEnd,gridAutoFlow,gridAutoColumns,gridAutoRows,gap,gridGap,gridRowGap,gridColumnGap,rowGap,columnGap,justifyContent,alignContent,alignItems,alignSelf,padding,paddingLeft,paddingRight,paddingTop,paddingBottom,paddingBlock,paddingBlockEnd,paddingBlockStart,paddingInline,paddingInlineEnd,paddingInlineStart,marginLeft,marginRight,marginTop,marginBottom,margin,marginBlock,marginBlockEnd,marginBlockStart,marginInline,marginInlineEnd,marginInlineStart,spaceX,spaceY,outlineWidth,outlineColor,outline,outlineOffset,focusRing,focusVisibleRing,focusRingColor,focusRingOffset,focusRingWidth,focusRingStyle,divideX,divideY,divideColor,divideStyle,width,inlineSize,minWidth,minInlineSize,maxWidth,maxInlineSize,height,blockSize,minHeight,minBlockSize,maxHeight,maxBlockSize,boxSize,color,fontFamily,fontSize,fontSizeAdjust,fontPalette,fontKerning,fontFeatureSettings,fontWeight,fontSmoothing,fontVariant,fontVariantAlternates,fontVariantCaps,fontVariationSettings,fontVariantNumeric,letterSpacing,lineHeight,textAlign,textDecoration,textDecorationColor,textEmphasisColor,textDecorationStyle,textDecorationThickness,textUnderlineOffset,textTransform,textIndent,textShadow,WebkitTextFillColor,textOverflow,verticalAlign,wordBreak,textWrap,truncate,lineClamp,listStyleType,listStylePosition,listStyleImage,listStyle,backgroundPosition,backgroundPositionX,backgroundPositionY,backgroundAttachment,backgroundClip,background,backgroundColor,backgroundOrigin,backgroundImage,backgroundRepeat,backgroundBlendMode,backgroundSize,backgroundGradient,backgroundLinear,backgroundRadial,backgroundConic,textGradient,gradientFromPosition,gradientToPosition,gradientFrom,gradientTo,gradientVia,gradientViaPosition,borderRadius,borderTopLeftRadius,borderTopRightRadius,borderBottomRightRadius,borderBottomLeftRadius,borderTopRadius,borderRightRadius,borderBottomRadius,borderLeftRadius,borderStartStartRadius,borderStartEndRadius,borderStartRadius,borderEndStartRadius,borderEndEndRadius,borderEndRadius,border,borderWidth,borderTopWidth,borderLeftWidth,borderRightWidth,borderBottomWidth,borderBlockStartWidth,borderBlockEndWidth,borderColor,borderInline,borderInlineWidth,borderInlineColor,borderBlock,borderBlockWidth,borderBlockColor,borderLeft,borderLeftColor,borderInlineStart,borderInlineStartWidth,borderInlineStartColor,borderRight,borderRightColor,borderInlineEnd,borderInlineEndWidth,borderInlineEndColor,borderTop,borderTopColor,borderBottom,borderBottomColor,borderBlockEnd,borderBlockEndColor,borderBlockStart,borderBlockStartColor,opacity,boxShadow,boxShadowColor,mixBlendMode,filter,brightness,contrast,grayscale,hueRotate,invert,saturate,sepia,dropShadow,blur,backdropFilter,backdropBlur,backdropBrightness,backdropContrast,backdropGrayscale,backdropHueRotate,backdropInvert,backdropOpacity,backdropSaturate,backdropSepia,borderCollapse,borderSpacing,borderSpacingX,borderSpacingY,tableLayout,transitionTimingFunction,transitionDelay,transitionDuration,transitionProperty,transition,animation,animationName,animationTimingFunction,animationDuration,animationDelay,animationPlayState,animationComposition,animationFillMode,animationDirection,animationIterationCount,animationRange,animationState,animationRangeStart,animationRangeEnd,animationTimeline,transformOrigin,transformBox,transformStyle,transform,rotate,rotateX,rotateY,rotateZ,scale,scaleX,scaleY,translate,translateX,translateY,translateZ,accentColor,caretColor,scrollBehavior,scrollbar,scrollbarColor,scrollbarGutter,scrollbarWidth,scrollMargin,scrollMarginLeft,scrollMarginRight,scrollMarginTop,scrollMarginBottom,scrollMarginBlock,scrollMarginBlockEnd,scrollMarginBlockStart,scrollMarginInline,scrollMarginInlineEnd,scrollMarginInlineStart,scrollPadding,scrollPaddingBlock,scrollPaddingBlockStart,scrollPaddingBlockEnd,scrollPaddingInline,scrollPaddingInlineEnd,scrollPaddingInlineStart,scrollPaddingLeft,scrollPaddingRight,scrollPaddingTop,scrollPaddingBottom,scrollSnapAlign,scrollSnapStop,scrollSnapType,scrollSnapStrictness,scrollSnapMargin,scrollSnapMarginTop,scrollSnapMarginBottom,scrollSnapMarginLeft,scrollSnapMarginRight,scrollSnapCoordinate,scrollSnapDestination,scrollSnapPointsX,scrollSnapPointsY,scrollSnapTypeX,scrollSnapTypeY,scrollTimeline,scrollTimelineAxis,scrollTimelineName,touchAction,userSelect,overflow,overflowWrap,overflowX,overflowY,overflowAnchor,overflowBlock,overflowInline,overflowClipBox,overflowClipMargin,overscrollBehaviorBlock,overscrollBehaviorInline,fill,stroke,strokeWidth,strokeDasharray,strokeDashoffset,strokeLinecap,strokeLinejoin,strokeMiterlimit,strokeOpacity,srOnly,debug,appearance,backfaceVisibility,clipPath,hyphens,mask,maskImage,maskSize,textSizeAdjust,container,containerName,containerType,cursor,colorPalette,_hover,_focus,_focusWithin,_focusVisible,_disabled,_active,_visited,_target,_readOnly,_readWrite,_empty,_checked,_enabled,_expanded,_highlighted,_complete,_incomplete,_dragging,_before,_after,_firstLetter,_firstLine,_marker,_selection,_file,_backdrop,_first,_last,_only,_even,_odd,_firstOfType,_lastOfType,_onlyOfType,_peerFocus,_peerHover,_peerActive,_peerFocusWithin,_peerFocusVisible,_peerDisabled,_peerChecked,_peerInvalid,_peerExpanded,_peerPlaceholderShown,_groupFocus,_groupHover,_groupActive,_groupFocusWithin,_groupFocusVisible,_groupDisabled,_groupChecked,_groupExpanded,_groupInvalid,_indeterminate,_required,_valid,_invalid,_autofill,_inRange,_outOfRange,_placeholder,_placeholderShown,_pressed,_selected,_grabbed,_underValue,_overValue,_atValue,_default,_optional,_open,_closed,_fullscreen,_loading,_hidden,_current,_currentPage,_currentStep,_today,_unavailable,_rangeStart,_rangeEnd,_now,_topmost,_motionReduce,_motionSafe,_print,_landscape,_portrait,_dark,_light,_osDark,_osLight,_highContrast,_lessContrast,_moreContrast,_ltr,_rtl,_scrollbar,_scrollbarThumb,_scrollbarTrack,_horizontal,_vertical,_icon,_starting,_noscript,_invertedColors,_shapeSizeXs,_shapeSizeSm,_shapeSizeMd,_shapeSizeLg,_shapeSizeXl,_shapeRectangle,_shapePerson,_shapeBrowser,_shapeMobile,_shapeCylinder,_shapeStorage,_shapeQueue,_shapeBucket,_shapeDocument,_shapeComponent,_notDisabled,_reduceGraphics,_reduceGraphicsOnPan,_noReduceGraphics,_whenPanning,_smallZoom,_compoundTransparent,_edgeActive,_whenHovered,_whenSelectable,_whenSelected,_whenDimmed,_whenFocused,_p3,xs,xsOnly,xsDown,sm,smOnly,smDown,md,mdOnly,mdDown,lg,lgOnly,lgDown,xl,xlOnly,xlDown,xsToSm,xsToMd,xsToLg,xsToXl,smToMd,smToLg,smToXl,mdToLg,mdToXl,lgToXl,@/xs,@/sm,@/md,@/lg,@likec4-root/xs,@likec4-root/sm,@likec4-root/md,@likec4-root/lg,@likec4-dialog/xs,@likec4-dialog/sm,@likec4-dialog/md,@likec4-dialog/lg,textStyle,layerStyle,animationStyle", userGenerated = userGeneratedStr.split(","), cssPropertiesStr = "WebkitAppearance,WebkitBorderBefore,WebkitBorderBeforeColor,WebkitBorderBeforeStyle,WebkitBorderBeforeWidth,WebkitBoxReflect,WebkitLineClamp,WebkitMask,WebkitMaskAttachment,WebkitMaskClip,WebkitMaskComposite,WebkitMaskImage,WebkitMaskOrigin,WebkitMaskPosition,WebkitMaskPositionX,WebkitMaskPositionY,WebkitMaskRepeat,WebkitMaskRepeatX,WebkitMaskRepeatY,WebkitMaskSize,WebkitOverflowScrolling,WebkitTapHighlightColor,WebkitTextFillColor,WebkitTextStroke,WebkitTextStrokeColor,WebkitTextStrokeWidth,WebkitTouchCallout,WebkitUserModify,WebkitUserSelect,accentColor,alignContent,alignItems,alignSelf,alignTracks,all,anchorName,anchorScope,animation,animationComposition,animationDelay,animationDirection,animationDuration,animationFillMode,animationIterationCount,animationName,animationPlayState,animationRange,animationRangeEnd,animationRangeStart,animationTimeline,animationTimingFunction,appearance,aspectRatio,backdropFilter,backfaceVisibility,background,backgroundAttachment,backgroundBlendMode,backgroundClip,backgroundColor,backgroundImage,backgroundOrigin,backgroundPosition,backgroundPositionX,backgroundPositionY,backgroundRepeat,backgroundSize,blockSize,border,borderBlock,borderBlockColor,borderBlockEnd,borderBlockEndColor,borderBlockEndStyle,borderBlockEndWidth,borderBlockStart,borderBlockStartColor,borderBlockStartStyle,borderBlockStartWidth,borderBlockStyle,borderBlockWidth,borderBottom,borderBottomColor,borderBottomLeftRadius,borderBottomRightRadius,borderBottomStyle,borderBottomWidth,borderCollapse,borderColor,borderEndEndRadius,borderEndStartRadius,borderImage,borderImageOutset,borderImageRepeat,borderImageSlice,borderImageSource,borderImageWidth,borderInline,borderInlineColor,borderInlineEnd,borderInlineEndColor,borderInlineEndStyle,borderInlineEndWidth,borderInlineStart,borderInlineStartColor,borderInlineStartStyle,borderInlineStartWidth,borderInlineStyle,borderInlineWidth,borderLeft,borderLeftColor,borderLeftStyle,borderLeftWidth,borderRadius,borderRight,borderRightColor,borderRightStyle,borderRightWidth,borderSpacing,borderStartEndRadius,borderStartStartRadius,borderStyle,borderTop,borderTopColor,borderTopLeftRadius,borderTopRightRadius,borderTopStyle,borderTopWidth,borderWidth,bottom,boxAlign,boxDecorationBreak,boxDirection,boxFlex,boxFlexGroup,boxLines,boxOrdinalGroup,boxOrient,boxPack,boxShadow,boxSizing,breakAfter,breakBefore,breakInside,captionSide,caret,caretColor,caretShape,clear,clip,clipPath,clipRule,color,colorInterpolationFilters,colorScheme,columnCount,columnFill,columnGap,columnRule,columnRuleColor,columnRuleStyle,columnRuleWidth,columnSpan,columnWidth,columns,contain,containIntrinsicBlockSize,containIntrinsicHeight,containIntrinsicInlineSize,containIntrinsicSize,containIntrinsicWidth,container,containerName,containerType,content,contentVisibility,cornerShape,counterIncrement,counterReset,counterSet,cursor,cx,cy,d,direction,display,dominantBaseline,emptyCells,fieldSizing,fill,fillOpacity,fillRule,filter,flex,flexBasis,flexDirection,flexFlow,flexGrow,flexShrink,flexWrap,float,floodColor,floodOpacity,font,fontFamily,fontFeatureSettings,fontKerning,fontLanguageOverride,fontOpticalSizing,fontPalette,fontSize,fontSizeAdjust,fontSmooth,fontStretch,fontStyle,fontSynthesis,fontSynthesisPosition,fontSynthesisSmallCaps,fontSynthesisStyle,fontSynthesisWeight,fontVariant,fontVariantAlternates,fontVariantCaps,fontVariantEastAsian,fontVariantEmoji,fontVariantLigatures,fontVariantNumeric,fontVariantPosition,fontVariationSettings,fontWeight,forcedColorAdjust,gap,grid,gridArea,gridAutoColumns,gridAutoFlow,gridAutoRows,gridColumn,gridColumnEnd,gridColumnGap,gridColumnStart,gridGap,gridRow,gridRowEnd,gridRowGap,gridRowStart,gridTemplate,gridTemplateAreas,gridTemplateColumns,gridTemplateRows,hangingPunctuation,height,hyphenateCharacter,hyphenateLimitChars,hyphens,imageOrientation,imageRendering,imageResolution,imeMode,initialLetter,initialLetterAlign,inlineSize,inset,insetBlock,insetBlockEnd,insetBlockStart,insetInline,insetInlineEnd,insetInlineStart,interpolateSize,isolation,justifyContent,justifyItems,justifySelf,justifyTracks,left,letterSpacing,lightingColor,lineBreak,lineClamp,lineHeight,lineHeightStep,listStyle,listStyleImage,listStylePosition,listStyleType,margin,marginBlock,marginBlockEnd,marginBlockStart,marginBottom,marginInline,marginInlineEnd,marginInlineStart,marginLeft,marginRight,marginTop,marginTrim,marker,markerEnd,markerMid,markerStart,mask,maskBorder,maskBorderMode,maskBorderOutset,maskBorderRepeat,maskBorderSlice,maskBorderSource,maskBorderWidth,maskClip,maskComposite,maskImage,maskMode,maskOrigin,maskPosition,maskRepeat,maskSize,maskType,masonryAutoFlow,mathDepth,mathShift,mathStyle,maxBlockSize,maxHeight,maxInlineSize,maxLines,maxWidth,minBlockSize,minHeight,minInlineSize,minWidth,mixBlendMode,objectFit,objectPosition,offset,offsetAnchor,offsetDistance,offsetPath,offsetPosition,offsetRotate,opacity,order,orphans,outline,outlineColor,outlineOffset,outlineStyle,outlineWidth,overflow,overflowAnchor,overflowBlock,overflowClipBox,overflowClipMargin,overflowInline,overflowWrap,overflowX,overflowY,overlay,overscrollBehavior,overscrollBehaviorBlock,overscrollBehaviorInline,overscrollBehaviorX,overscrollBehaviorY,padding,paddingBlock,paddingBlockEnd,paddingBlockStart,paddingBottom,paddingInline,paddingInlineEnd,paddingInlineStart,paddingLeft,paddingRight,paddingTop,page,pageBreakAfter,pageBreakBefore,pageBreakInside,paintOrder,perspective,perspectiveOrigin,placeContent,placeItems,placeSelf,pointerEvents,position,positionAnchor,positionArea,positionTry,positionTryFallbacks,positionTryOrder,positionVisibility,printColorAdjust,quotes,r,resize,right,rotate,rowGap,rubyAlign,rubyMerge,rubyPosition,rx,ry,scale,scrollBehavior,scrollMargin,scrollMarginBlock,scrollMarginBlockEnd,scrollMarginBlockStart,scrollMarginBottom,scrollMarginInline,scrollMarginInlineEnd,scrollMarginInlineStart,scrollMarginLeft,scrollMarginRight,scrollMarginTop,scrollPadding,scrollPaddingBlock,scrollPaddingBlockEnd,scrollPaddingBlockStart,scrollPaddingBottom,scrollPaddingInline,scrollPaddingInlineEnd,scrollPaddingInlineStart,scrollPaddingLeft,scrollPaddingRight,scrollPaddingTop,scrollSnapAlign,scrollSnapCoordinate,scrollSnapDestination,scrollSnapPointsX,scrollSnapPointsY,scrollSnapStop,scrollSnapType,scrollSnapTypeX,scrollSnapTypeY,scrollTimeline,scrollTimelineAxis,scrollTimelineName,scrollbarColor,scrollbarGutter,scrollbarWidth,shapeImageThreshold,shapeMargin,shapeOutside,shapeRendering,stopColor,stopOpacity,stroke,strokeDasharray,strokeDashoffset,strokeLinecap,strokeLinejoin,strokeMiterlimit,strokeOpacity,strokeWidth,tabSize,tableLayout,textAlign,textAlignLast,textAnchor,textBox,textBoxEdge,textBoxTrim,textCombineUpright,textDecoration,textDecorationColor,textDecorationLine,textDecorationSkip,textDecorationSkipInk,textDecorationStyle,textDecorationThickness,textEmphasis,textEmphasisColor,textEmphasisPosition,textEmphasisStyle,textIndent,textJustify,textOrientation,textOverflow,textRendering,textShadow,textSizeAdjust,textSpacingTrim,textTransform,textUnderlineOffset,textUnderlinePosition,textWrap,textWrapMode,textWrapStyle,timelineScope,top,touchAction,transform,transformBox,transformOrigin,transformStyle,transition,transitionBehavior,transitionDelay,transitionDuration,transitionProperty,transitionTimingFunction,translate,unicodeBidi,userSelect,vectorEffect,verticalAlign,viewTimeline,viewTimelineAxis,viewTimelineInset,viewTimelineName,viewTransitionName,visibility,whiteSpace,whiteSpaceCollapse,widows,width,willChange,wordBreak,wordSpacing,wordWrap,writingMode,x,y,zIndex,zoom,alignmentBaseline,baselineShift,colorInterpolation,colorRendering,glyphOrientationVertical", allCssProperties = cssPropertiesStr.split(",").concat(userGenerated), properties = new Map(allCssProperties.map((prop) => [prop, !0])), cssPropertySelectorRegex = /&|@/, isCssProperty = /* @__PURE__ */ memo((prop) => properties.has(prop) || prop.startsWith("--") || cssPropertySelectorRegex.test(prop));
1311
1311
  const defaultShouldForwardProp = (prop, variantKeys) => !variantKeys.includes(prop) && !isCssProperty(prop), composeShouldForwardProps = (tag, shouldForwardProp2) => tag.__shouldForwardProps__ && shouldForwardProp2 ? (propName) => tag.__shouldForwardProps__(propName) && shouldForwardProp2(propName) : shouldForwardProp2, composeCvaFn = (cvaA, cvaB) => {
1312
1312
  if (cvaA && !cvaB) return cvaA;
1313
1313
  if (!cvaA && cvaB) return cvaB;
@@ -1983,7 +1983,7 @@ const hotkeyActorLogic$1 = fromCallback(({ sendBack }) => {
1983
1983
  ), machine$5 = setup({
1984
1984
  delays: {
1985
1985
  "500ms": 500,
1986
- waitBeforeSync: 2e3
1986
+ waitBeforeSync: 1e3
1987
1987
  },
1988
1988
  actors: {
1989
1989
  applyLatest,
@@ -6171,7 +6171,7 @@ const Open = (props) => /* @__PURE__ */ jsx(
6171
6171
  {
6172
6172
  d: "M 0 0 L 8 3 L 0 6 L 1 3 z",
6173
6173
  stroke: "context-stroke",
6174
- fill: "context-stroke",
6174
+ fill: "var(--likec4-background-color)",
6175
6175
  strokeWidth: 1.25,
6176
6176
  strokeLinejoin: "miter",
6177
6177
  strokeLinecap: "square"
@@ -6215,7 +6215,7 @@ const Open = (props) => /* @__PURE__ */ jsx(
6215
6215
  {
6216
6216
  d: "M5,0 L10,4 L5,8 L0,4 Z",
6217
6217
  stroke: "context-stroke",
6218
- fill: "context-stroke",
6218
+ fill: "var(--likec4-background-color)",
6219
6219
  strokeWidth: 1.25,
6220
6220
  strokeLinecap: "round"
6221
6221
  }
@@ -6255,7 +6255,7 @@ const Open = (props) => /* @__PURE__ */ jsx(
6255
6255
  {
6256
6256
  strokeWidth: 1.25,
6257
6257
  stroke: "context-stroke",
6258
- fill: "context-stroke",
6258
+ fill: "var(--likec4-background-color)",
6259
6259
  cx: 4,
6260
6260
  cy: 4,
6261
6261
  r: 3
@@ -7057,7 +7057,7 @@ function ShapeSvgOutline({ shape, w, h }) {
7057
7057
  }
7058
7058
  return /* @__PURE__ */ jsx("g", { className: "likec4-shape-outline", children: svg });
7059
7059
  }
7060
- function ElementShape({ data: data2, width, height, showSeletionOutline = !0 }) {
7060
+ function ElementShape({ data: data2, width, height, showSelectionOutline = !0 }) {
7061
7061
  let w = width && width > 10 ? width : data2.width, h = height && height > 10 ? height : data2.height;
7062
7062
  const isMultiple = data2.style?.multiple ?? !1, borderStyle = data2.style?.border ?? "none", withBorder = borderStyle !== "none";
7063
7063
  if (data2.shape === "rectangle")
@@ -7070,7 +7070,7 @@ function ElementShape({ data: data2, width, height, showSeletionOutline = !0 })
7070
7070
  className: elementShapeRecipe({
7071
7071
  shapetype: "html",
7072
7072
  withBorder,
7073
- withOutline: showSeletionOutline
7073
+ withOutline: showSelectionOutline
7074
7074
  }),
7075
7075
  children: [
7076
7076
  isMultiple && /* @__PURE__ */ jsx("div", { className: "likec4-shape-multiple" }),
@@ -7080,7 +7080,7 @@ function ElementShape({ data: data2, width, height, showSeletionOutline = !0 })
7080
7080
  );
7081
7081
  const className = elementShapeRecipe({
7082
7082
  shapetype: "svg",
7083
- withOutline: showSeletionOutline
7083
+ withOutline: showSelectionOutline
7084
7084
  });
7085
7085
  return /* @__PURE__ */ jsxs(Fragment, { children: [
7086
7086
  isMultiple && /* @__PURE__ */ jsx("svg", { className, "data-likec4-shape-multiple": "true", viewBox: `0 0 ${w} ${h}`, children: /* @__PURE__ */ jsx(ShapeSvg, { shape: data2.shape, size: data2.style?.size, w, h }) }),
@@ -10791,26 +10791,26 @@ function ElementDetailsCard({
10791
10791
  );
10792
10792
  let defaultView = nodeModel?.navigateTo?.$view ?? elementModel.defaultView?.$view ?? null;
10793
10793
  defaultView?.id === viewId && (defaultView = null);
10794
- const defaultLink = t$f(elementModel.links), controls = useDragControls(), isCompound = (nodeModel?.$node.children?.length ?? 0) > 0, _width = Math.min(700, windowWidth - MIN_PADDING * 2), _height = Math.min(650, windowHeight - MIN_PADDING * 2), fromPositon = rectFromNode ? {
10794
+ const defaultLink = t$f(elementModel.links), controls = useDragControls(), isCompound = (nodeModel?.$node.children?.length ?? 0) > 0, _width = Math.min(700, windowWidth - MIN_PADDING * 2), _height = Math.min(650, windowHeight - MIN_PADDING * 2), fromPosition = rectFromNode ? {
10795
10795
  x: rectFromNode.x + (isCompound ? rectFromNode.width - _width / 2 : rectFromNode.width / 2),
10796
10796
  y: rectFromNode.y + (isCompound ? 0 : rectFromNode.height / 2)
10797
10797
  } : {
10798
10798
  x: windowWidth / 2,
10799
10799
  y: windowHeight / 2
10800
10800
  }, fromScale = rectFromNode ? Math.min(rectFromNode.width / _width, rectFromNode.height / _height, 0.9) : 1, left = Math.round(
10801
- t(fromPositon.x - _width / 2, {
10801
+ t(fromPosition.x - _width / 2, {
10802
10802
  min: MIN_PADDING,
10803
10803
  max: windowWidth - _width - MIN_PADDING
10804
10804
  })
10805
10805
  ), top = Math.round(
10806
- t(fromPositon.y - (isCompound ? 0 : 60), {
10806
+ t(fromPosition.y - (isCompound ? 0 : 60), {
10807
10807
  min: MIN_PADDING,
10808
10808
  max: windowHeight - _height - MIN_PADDING
10809
10809
  })
10810
- ), originX = t((fromPositon.x - left) / _width, {
10810
+ ), originX = t((fromPosition.x - left) / _width, {
10811
10811
  min: 0.1,
10812
10812
  max: 0.9
10813
- }), originY = t((fromPositon.y - top) / _height, {
10813
+ }), originY = t((fromPosition.y - top) / _height, {
10814
10814
  min: 0.1,
10815
10815
  max: 0.9
10816
10816
  }), width = useMotionValue(_width), height = useMotionValue(_height);
@@ -14297,31 +14297,8 @@ const shapeBadge = css({
14297
14297
  key: "notation-webview-collapsed",
14298
14298
  defaultValue: !0
14299
14299
  }), hasNotations = notations.length > 0, portalProps = useMantinePortalProps();
14300
- return /* @__PURE__ */ jsxs(AnimatePresence, { children: [
14301
- !hasNotations && /* @__PURE__ */ jsx(
14302
- m$1.div,
14303
- {
14304
- initial: { opacity: 0.75, translateX: "50%" },
14305
- animate: { opacity: 1, translateX: 0 },
14306
- exit: {
14307
- translateX: "100%",
14308
- opacity: 0.6
14309
- },
14310
- className: container,
14311
- children: /* @__PURE__ */ jsx(Tooltip$7, { label: "View has no notations", color: "orange", ...portalProps, children: /* @__PURE__ */ jsx(
14312
- ThemeIcon,
14313
- {
14314
- size: "lg",
14315
- variant: "light",
14316
- color: "orange",
14317
- radius: "md",
14318
- children: /* @__PURE__ */ jsx(IconAlertTriangle, {})
14319
- }
14320
- ) })
14321
- },
14322
- "empty"
14323
- ),
14324
- hasNotations && isCollapsed && /* @__PURE__ */ jsx(
14300
+ return hasNotations ? /* @__PURE__ */ jsxs(AnimatePresence, { children: [
14301
+ isCollapsed && /* @__PURE__ */ jsx(
14325
14302
  m$1.div,
14326
14303
  {
14327
14304
  initial: { opacity: 0.75, translateX: "50%" },
@@ -14345,7 +14322,7 @@ const shapeBadge = css({
14345
14322
  },
14346
14323
  "collapsed"
14347
14324
  ),
14348
- hasNotations && !isCollapsed && /* @__PURE__ */ jsx(
14325
+ !isCollapsed && /* @__PURE__ */ jsx(
14349
14326
  m$1.div,
14350
14327
  {
14351
14328
  initial: {
@@ -14405,7 +14382,7 @@ const shapeBadge = css({
14405
14382
  },
14406
14383
  id
14407
14384
  )
14408
- ] });
14385
+ ] }) : null;
14409
14386
  }), LikeC4DiagramUI = memo$1(() => {
14410
14387
  const {
14411
14388
  enableControls,
@@ -1,9 +1,9 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
- import { d8 as useRouter, d9 as useParams, da as isNotFound, db as Container, br as Alert, U as Text, dc as Code, W as Button, dd as e, de as e$1, as as e$2, bt as Group, bh as rem, df as Link, bZ as Title, d1 as createFileRoute, Q as m, d0 as Outlet, d as deepEqual, s as shallowEqual, dg as useMatches, dh as useIsomorphicLayoutEffect, d3 as useDocumentTitle, di as SimpleGrid, dj as useInViewport, dk as e$3, ci as Card, aQ as Box, d2 as redirect, k as useMantineColorScheme, dl as useComputedColorScheme, aA as ActionIcon, aF as MotionDiv, cN as isValidMotionProp, aD as Menu, bc as MenuTarget, bd as MenuDropdown, be as MenuItem, dm as MenuDivider, bp as Stack, b5 as CopyButton$1, dn as Select, dp as ModalRoot, dq as ModalOverlay, dr as ModalContent, ds as ModalBody, bL as Tabs, bM as TabsList, bN as TabsTab, bO as TabsPanel, dt as useMantineTheme, du as useMediaQuery, cq as useDisclosure, aG as Divider, dv as MenuLabel, dw as useSearch, dx as LoadingOverlay, dy as toBlob, c$ as stripSearchParams, cZ as z, cY as useNavigate, bS as useCallbackRef, aL as useIsMounted, T as Tooltip, dz as useAsync, dA as It, dB as Ot, bP as ScrollArea, dC as Nt, dD as notFound } from "../vendors.js";
2
+ import { d8 as useRouter, d9 as useParams, da as isNotFound, db as Container, br as Alert, U as Text, dc as Code, W as Button, dd as e, de as e$1, as as e$2, bt as Group, bh as rem, df as Link, bZ as Title, d1 as createFileRoute, Q as m, d0 as Outlet, d as deepEqual, s as shallowEqual, dg as useMatches, dh as useIsomorphicLayoutEffect, d3 as useDocumentTitle, di as SimpleGrid, dj as useInViewport, dk as e$3, ci as Card, aQ as Box, d2 as redirect, k as useMantineColorScheme, dl as useComputedColorScheme, aA as ActionIcon, aF as MotionDiv, cN as isValidMotionProp, aD as Menu, bc as MenuTarget, bd as MenuDropdown, be as MenuItem, dm as MenuDivider, bp as Stack, b5 as CopyButton$1, dn as Select, dp as ModalRoot, dq as ModalOverlay, dr as ModalContent, ds as ModalBody, bL as Tabs, bM as TabsList, bN as TabsTab, bO as TabsPanel, dt as useMantineTheme, du as useMediaQuery, cq as useDisclosure, aG as Divider, dv as MenuLabel, dw as useSearch, dx as LoadingOverlay, dy as toBlob, c$ as stripSearchParams, cZ as z, cY as useNavigate, bS as useCallbackRef, aL as useIsMounted, T as Tooltip, dz as useAsync, dA as Tt, dB as _t, bP as ScrollArea, dC as Ht, dD as notFound } from "../vendors.js";
3
3
  import { loadModel } from "likec4:model";
4
4
  import { c as css, s as styled, I as IconRendererProvider, a as LikeC4ModelProvider, u as useUpdateEffect, S as StaticLikeC4Diagram, M as Markdown, b as LikeC4AdHocViewEditor, B as Box$1, d as IconMoonStars, e as IconSun, f as createStyleContext, n as navigationPanel, i as isCssProperty, g as useLikeC4Projects$1, h as IconChevronDown, j as IconAlertTriangle, k as IconCheck, l as IconCopy, m as IconExternalLink, o as IconShare, p as pickViewBounds, q as LikeC4Diagram, r as useLikeC4Model, t as useDiagramContext, v as useDiagram, w as useOnDiagramEvent, x as LikeC4EditorProvider } from "../likec4.js";
5
5
  import { getProjectIcons } from "likec4:icons";
6
- import { useMemo, createContext, useContext, useState, useEffect, memo, useRef } from "react";
6
+ import { useMemo, createContext, useContext, useState, useEffect, memo, useCallback, useRef } from "react";
7
7
  import { useStore } from "likec4/vite-plugin/internal";
8
8
  import { RichText } from "@likec4/core/types";
9
9
  import { pageTitle, ComponentName, useHashHistory, isDevelopment, krokiPumlSvgUrl, krokiD2SvgUrl } from "../const.js";
@@ -740,7 +740,14 @@ const Header = memo(() => {
740
740
  function ExportButton() {
741
741
  const isInsideProject = useMatches({
742
742
  select: (matches) => matches.some(({ routeId }) => routeId === "/project/$projectId")
743
- });
743
+ }), project = useCurrentProject(), viewId = useCurrentViewId(), handleDrawioExport = useCallback(async () => {
744
+ try {
745
+ const { loadDrawioSources } = await import("likec4:drawio"), { drawioEditUrl } = await loadDrawioSources(project.id), url = drawioEditUrl(viewId);
746
+ window.open(url, "_blank", "noopener,noreferrer");
747
+ } catch (error) {
748
+ console.error("Failed to export to Draw.io:", error);
749
+ }
750
+ }, [project.id, viewId]);
744
751
  return /* @__PURE__ */ jsxs(Menu, { shadow: "md", width: 200, trigger: "click-hover", openDelay: 200, children: [
745
752
  /* @__PURE__ */ jsx(MenuTarget, { children: /* @__PURE__ */ jsx(
746
753
  Button,
@@ -827,7 +834,7 @@ function ExportButton() {
827
834
  children: "Export as .puml"
828
835
  }
829
836
  ),
830
- /* @__PURE__ */ jsx(MenuItem, { disabled: !0, children: "Export to Draw.io" }),
837
+ /* @__PURE__ */ jsx(MenuItem, { onClick: handleDrawioExport, children: "Export to Draw.io" }),
831
838
  /* @__PURE__ */ jsx(MenuItem, { disabled: !0, children: "Export to Miro" }),
832
839
  /* @__PURE__ */ jsx(MenuItem, { disabled: !0, children: "Export to Notion" })
833
840
  ] })
@@ -1222,12 +1229,12 @@ const svgContainer = css({
1222
1229
  function ViewAsPuml({ pumlSource }) {
1223
1230
  const [krokiSvg, { execute }] = useAsync(fetchFromKroki$1, null);
1224
1231
  return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(
1225
- It,
1232
+ Tt,
1226
1233
  {
1227
1234
  className: viewWithTopPadding,
1228
1235
  orientation: "horizontal",
1229
1236
  children: [
1230
- /* @__PURE__ */ jsx(Ot, { children: /* @__PURE__ */ jsxs(
1237
+ /* @__PURE__ */ jsx(_t, { children: /* @__PURE__ */ jsxs(
1231
1238
  ScrollArea,
1232
1239
  {
1233
1240
  className: cssScrollArea,
@@ -1244,14 +1251,14 @@ function ViewAsPuml({ pumlSource }) {
1244
1251
  }
1245
1252
  ) }),
1246
1253
  /* @__PURE__ */ jsx(
1247
- Nt,
1254
+ Ht,
1248
1255
  {
1249
1256
  style: {
1250
1257
  width: 10
1251
1258
  }
1252
1259
  }
1253
1260
  ),
1254
- /* @__PURE__ */ jsx(Ot, { children: /* @__PURE__ */ jsxs(ScrollArea, { h: "100%", children: [
1261
+ /* @__PURE__ */ jsx(_t, { children: /* @__PURE__ */ jsxs(ScrollArea, { h: "100%", children: [
1255
1262
  krokiSvg.status !== "success" && /* @__PURE__ */ jsxs(Fragment, { children: [
1256
1263
  /* @__PURE__ */ jsx(
1257
1264
  Button,
@@ -1305,12 +1312,12 @@ function ViewAsMmd({ viewId, mmdSource }) {
1305
1312
  return useEffect(() => {
1306
1313
  execute(viewId, mmdSource);
1307
1314
  }, [mmdSource]), /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(
1308
- It,
1315
+ Tt,
1309
1316
  {
1310
1317
  className: viewWithTopPadding,
1311
1318
  orientation: "horizontal",
1312
1319
  children: [
1313
- /* @__PURE__ */ jsx(Ot, { children: /* @__PURE__ */ jsxs(
1320
+ /* @__PURE__ */ jsx(_t, { children: /* @__PURE__ */ jsxs(
1314
1321
  ScrollArea,
1315
1322
  {
1316
1323
  className: cssScrollArea,
@@ -1327,14 +1334,14 @@ function ViewAsMmd({ viewId, mmdSource }) {
1327
1334
  }
1328
1335
  ) }),
1329
1336
  /* @__PURE__ */ jsx(
1330
- Nt,
1337
+ Ht,
1331
1338
  {
1332
1339
  style: {
1333
1340
  width: 10
1334
1341
  }
1335
1342
  }
1336
1343
  ),
1337
- /* @__PURE__ */ jsx(Ot, { children: /* @__PURE__ */ jsx(ScrollArea, { h: "100%", children: mmdSvg.result && /* @__PURE__ */ jsx(Box$1, { className: svgContainer, dangerouslySetInnerHTML: { __html: mmdSvg.result } }) }) })
1344
+ /* @__PURE__ */ jsx(_t, { children: /* @__PURE__ */ jsx(ScrollArea, { h: "100%", children: mmdSvg.result && /* @__PURE__ */ jsx(Box$1, { className: svgContainer, dangerouslySetInnerHTML: { __html: mmdSvg.result } }) }) })
1338
1345
  ]
1339
1346
  }
1340
1347
  ) });
@@ -1359,8 +1366,8 @@ function Page$2() {
1359
1366
  return /* @__PURE__ */ jsx(ViewAsMmd, { viewId, mmdSource: source });
1360
1367
  }
1361
1368
  function ViewAsDot({ dot, dotSvg }) {
1362
- return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(It, { className: viewWithTopPadding, children: [
1363
- /* @__PURE__ */ jsx(Ot, { children: /* @__PURE__ */ jsxs(
1369
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(Tt, { className: viewWithTopPadding, children: [
1370
+ /* @__PURE__ */ jsx(_t, { children: /* @__PURE__ */ jsxs(
1364
1371
  ScrollArea,
1365
1372
  {
1366
1373
  className: cssScrollArea,
@@ -1377,14 +1384,14 @@ function ViewAsDot({ dot, dotSvg }) {
1377
1384
  }
1378
1385
  ) }),
1379
1386
  /* @__PURE__ */ jsx(
1380
- Nt,
1387
+ Ht,
1381
1388
  {
1382
1389
  style: {
1383
1390
  width: 10
1384
1391
  }
1385
1392
  }
1386
1393
  ),
1387
- /* @__PURE__ */ jsx(Ot, { children: /* @__PURE__ */ jsx(ScrollArea, { h: "100%", children: /* @__PURE__ */ jsx("div", { className: svgContainer, dangerouslySetInnerHTML: { __html: dotSvg } }) }) })
1394
+ /* @__PURE__ */ jsx(_t, { children: /* @__PURE__ */ jsx(ScrollArea, { h: "100%", children: /* @__PURE__ */ jsx("div", { className: svgContainer, dangerouslySetInnerHTML: { __html: dotSvg } }) }) })
1388
1395
  ] }) });
1389
1396
  }
1390
1397
  const Route$1 = createFileRoute("/_single/view/$viewId/dot")({
@@ -1424,12 +1431,12 @@ const fetchFromKroki = async (d2) => await (await fetch(krokiD2SvgUrl, {
1424
1431
  function ViewAsD2({ d2Source }) {
1425
1432
  const [krokiSvg, { execute }] = useAsync(fetchFromKroki, null);
1426
1433
  return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(
1427
- It,
1434
+ Tt,
1428
1435
  {
1429
1436
  className: viewWithTopPadding,
1430
1437
  orientation: "horizontal",
1431
1438
  children: [
1432
- /* @__PURE__ */ jsx(Ot, { children: /* @__PURE__ */ jsxs(
1439
+ /* @__PURE__ */ jsx(_t, { children: /* @__PURE__ */ jsxs(
1433
1440
  ScrollArea,
1434
1441
  {
1435
1442
  className: cssScrollArea,
@@ -1446,14 +1453,14 @@ function ViewAsD2({ d2Source }) {
1446
1453
  }
1447
1454
  ) }),
1448
1455
  /* @__PURE__ */ jsx(
1449
- Nt,
1456
+ Ht,
1450
1457
  {
1451
1458
  style: {
1452
1459
  width: 10
1453
1460
  }
1454
1461
  }
1455
1462
  ),
1456
- /* @__PURE__ */ jsx(Ot, { children: /* @__PURE__ */ jsxs(ScrollArea, { h: "100%", children: [
1463
+ /* @__PURE__ */ jsx(_t, { children: /* @__PURE__ */ jsxs(ScrollArea, { h: "100%", children: [
1457
1464
  krokiSvg.status !== "success" && /* @__PURE__ */ jsxs(Fragment, { children: [
1458
1465
  /* @__PURE__ */ jsx(
1459
1466
  Button,