MCPcopy Create free account
hub / github.com/bernaferrari/FigmaToCode / getDecoration

Function getDecoration

packages/backend/src/flutter/flutterContainer.ts:115–151  ·  view source on GitHub ↗
(node: SceneNode)

Source from the content-addressed store, hash-verified

113}
114
115const getDecoration = (node: SceneNode): string => {
116 if (!("fills" in node)) {
117 return "";
118 }
119
120 const propBoxShadow = flutterShadow(node);
121 const decorationBackground = flutterBoxDecorationColor(node, "fills");
122
123 let shapeDecorationBorder = "";
124 if (node.type === "STAR") {
125 shapeDecorationBorder = generateStarBorder(node);
126 } else if (node.type === "POLYGON") {
127 shapeDecorationBorder = generatePolygonBorder(node);
128 } else if (node.type === "ELLIPSE") {
129 shapeDecorationBorder = generateOvalBorder(node);
130 } else if ("strokeWeight" in node && node.strokeWeight !== figma.mixed) {
131 shapeDecorationBorder = skipDefaultProperty(
132 generateRoundedRectangleBorder(node),
133 "RoundedRectangleBorder()",
134 );
135 }
136
137 if (shapeDecorationBorder) {
138 return generateWidgetCode("ShapeDecoration", {
139 ...decorationBackground,
140 shape: shapeDecorationBorder,
141 shadows: propBoxShadow,
142 });
143 }
144
145 return generateWidgetCode("BoxDecoration", {
146 ...decorationBackground,
147 borderRadius: generateBorderRadius(node),
148 border: flutterBorder(node),
149 boxShadow: propBoxShadow,
150 });
151};
152
153const generateRoundedRectangleBorder = (
154 node: SceneNode & MinimalStrokesMixin,

Callers 1

flutterContainerFunction · 0.85

Calls 10

flutterShadowFunction · 0.90
skipDefaultPropertyFunction · 0.90
generateWidgetCodeFunction · 0.90
flutterBorderFunction · 0.90
generateStarBorderFunction · 0.85
generatePolygonBorderFunction · 0.85
generateOvalBorderFunction · 0.85
generateBorderRadiusFunction · 0.85

Tested by

no test coverage detected