mcp-figma-toolkit 1.0.8 → 1.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server.js +45 -0
- package/dist/server.js.map +1 -1
- package/package.json +1 -1
- package/plugin/plugin.js +348 -1
package/dist/server.js
CHANGED
|
@@ -644,6 +644,51 @@ server.registerTool("get_component_properties", {
|
|
|
644
644
|
componentId: z.string().describe("ID of the component, component set, or instance")
|
|
645
645
|
}
|
|
646
646
|
}, async (input) => ok(await sendToPlugin("get_component_properties", input)));
|
|
647
|
+
const valueOrVariable = z.union([
|
|
648
|
+
z.number(),
|
|
649
|
+
z.object({ variableId: z.string().describe("Figma variable ID to bind") })
|
|
650
|
+
]).describe("Raw number value, or { variableId } to bind a variable");
|
|
651
|
+
const paintValue = z.union([
|
|
652
|
+
z.string().describe("Hex color string e.g. '#FF0000'"),
|
|
653
|
+
z.object({ variableId: z.string().describe("Figma color variable ID to bind") })
|
|
654
|
+
]).describe("Hex color string, or { variableId } to bind a color variable");
|
|
655
|
+
server.registerTool("batch_update_components", {
|
|
656
|
+
description: "Batch-update component variants in a COMPONENT_SET using rules. Each rule matches variants by their property values (parsed from 'Key=Value' names) and applies updates. Rules are applied in order — later rules override earlier ones. Values can be raw numbers or { variableId } objects to bind variables.",
|
|
657
|
+
inputSchema: {
|
|
658
|
+
componentSetId: z.string().describe("ID of the COMPONENT_SET to update"),
|
|
659
|
+
rules: z.array(z.object({
|
|
660
|
+
match: z.record(z.string(), z.string()).optional().describe("Variant property conditions to match, e.g. { 'Size': 'md', 'Hierarchy': 'Primary' }. Omit or empty to match all variants."),
|
|
661
|
+
cornerRadius: valueOrVariable.optional().describe("Corner radius"),
|
|
662
|
+
padding: z.object({
|
|
663
|
+
left: valueOrVariable.optional(),
|
|
664
|
+
right: valueOrVariable.optional(),
|
|
665
|
+
top: valueOrVariable.optional(),
|
|
666
|
+
bottom: valueOrVariable.optional()
|
|
667
|
+
}).optional().describe("Auto-layout padding"),
|
|
668
|
+
itemSpacing: valueOrVariable.optional().describe("Auto-layout item spacing / gap"),
|
|
669
|
+
fill: paintValue.optional().describe("Fill color (replaces all fills with single solid)"),
|
|
670
|
+
stroke: paintValue.optional().describe("Stroke color (replaces all strokes with single solid)"),
|
|
671
|
+
strokeWeight: z.number().optional().describe("Stroke weight"),
|
|
672
|
+
alignment: z.object({
|
|
673
|
+
primary: z.enum(["MIN", "CENTER", "MAX", "SPACE_BETWEEN"]).optional(),
|
|
674
|
+
counter: z.enum(["MIN", "CENTER", "MAX"]).optional()
|
|
675
|
+
}).optional().describe("Auto-layout alignment"),
|
|
676
|
+
sizing: z.object({
|
|
677
|
+
horizontal: z.enum(["HUG", "FIXED", "FILL"]).optional(),
|
|
678
|
+
vertical: z.enum(["HUG", "FIXED", "FILL"]).optional(),
|
|
679
|
+
width: z.number().optional().describe("Explicit width (for FIXED sizing)"),
|
|
680
|
+
height: z.number().optional().describe("Explicit height (for FIXED sizing)")
|
|
681
|
+
}).optional().describe("Layout sizing mode and dimensions"),
|
|
682
|
+
font: z.object({
|
|
683
|
+
family: z.string().optional(),
|
|
684
|
+
style: z.string().optional(),
|
|
685
|
+
size: z.number().optional(),
|
|
686
|
+
lineHeight: z.number().optional()
|
|
687
|
+
}).optional().describe("Font settings applied to all TEXT descendants")
|
|
688
|
+
})).describe("Rules applied in order. Each rule has a match condition and updates."),
|
|
689
|
+
dryRun: z.boolean().optional().describe("If true, report what would change without modifying")
|
|
690
|
+
}
|
|
691
|
+
}, async (input) => ok(await sendToPlugin("batch_update_components", input)));
|
|
647
692
|
// Connect to VS Code over stdio
|
|
648
693
|
const transport = new StdioServerTransport();
|
|
649
694
|
await server.connect(transport);
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-figma-toolkit",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.10",
|
|
4
4
|
"description": "MCP server that enables AI agents to manipulate Figma documents - create shapes, text, styles, components, variables, and more",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/server.js",
|
package/plugin/plugin.js
CHANGED
|
@@ -53,6 +53,22 @@ function serializeEffects(effects) {
|
|
|
53
53
|
base.hex = rgbToHex(e.color);
|
|
54
54
|
base.opacity = e.color.a != null ? e.color.a : 1;
|
|
55
55
|
}
|
|
56
|
+
if (e.boundVariables) {
|
|
57
|
+
var ebv = {};
|
|
58
|
+
var ebvKeys = ["radius", "spread", "color", "offsetX", "offsetY"];
|
|
59
|
+
for (var ei = 0; ei < ebvKeys.length; ei++) {
|
|
60
|
+
var ek = ebvKeys[ei];
|
|
61
|
+
try {
|
|
62
|
+
var eb = e.boundVariables[ek];
|
|
63
|
+
if (eb && eb.id) {
|
|
64
|
+
ebv[ek] = { type: eb.type, id: eb.id };
|
|
65
|
+
var ev = figma.variables.getVariableById(eb.id);
|
|
66
|
+
if (ev) { ebv[ek].name = ev.name; ebv[ek].resolvedType = ev.resolvedType; }
|
|
67
|
+
}
|
|
68
|
+
} catch (_) {}
|
|
69
|
+
}
|
|
70
|
+
if (Object.keys(ebv).length > 0) base.boundVariables = ebv;
|
|
71
|
+
}
|
|
56
72
|
return base;
|
|
57
73
|
});
|
|
58
74
|
}
|
|
@@ -218,6 +234,8 @@ async function handleAction(action, input) {
|
|
|
218
234
|
case "set_instance_property": return setInstanceProperty(input);
|
|
219
235
|
case "get_component_properties": return getComponentProperties(input);
|
|
220
236
|
|
|
237
|
+
case "batch_update_components": return await batchUpdateComponents(input);
|
|
238
|
+
|
|
221
239
|
default:
|
|
222
240
|
throw new Error("Unknown action: " + action);
|
|
223
241
|
}
|
|
@@ -716,6 +734,45 @@ function getNodeInfo({ nodeId }) {
|
|
|
716
734
|
try { info.effects = serializeEffects(node.effects); } catch (_) {}
|
|
717
735
|
}
|
|
718
736
|
|
|
737
|
+
// Constraints
|
|
738
|
+
if ("constraints" in node) {
|
|
739
|
+
info.constraints = {
|
|
740
|
+
horizontal: node.constraints.horizontal,
|
|
741
|
+
vertical: node.constraints.vertical
|
|
742
|
+
};
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
// Clips content (for frames)
|
|
746
|
+
if ("clipsContent" in node) info.clipsContent = node.clipsContent;
|
|
747
|
+
|
|
748
|
+
// Layout positioning within auto-layout parent
|
|
749
|
+
if ("layoutAlign" in node) info.layoutAlign = node.layoutAlign;
|
|
750
|
+
if ("layoutGrow" in node) info.layoutGrow = node.layoutGrow;
|
|
751
|
+
if ("layoutPositioning" in node) info.layoutPositioning = node.layoutPositioning;
|
|
752
|
+
|
|
753
|
+
// Style IDs (paint styles, text styles, effect styles)
|
|
754
|
+
if ("fillStyleId" in node && node.fillStyleId && node.fillStyleId !== "") {
|
|
755
|
+
info.fillStyleId = node.fillStyleId;
|
|
756
|
+
}
|
|
757
|
+
if ("strokeStyleId" in node && node.strokeStyleId && node.strokeStyleId !== "") {
|
|
758
|
+
info.strokeStyleId = node.strokeStyleId;
|
|
759
|
+
}
|
|
760
|
+
if ("effectStyleId" in node && node.effectStyleId && node.effectStyleId !== "") {
|
|
761
|
+
info.effectStyleId = node.effectStyleId;
|
|
762
|
+
}
|
|
763
|
+
if ("textStyleId" in node && node.textStyleId && node.textStyleId !== "") {
|
|
764
|
+
info.textStyleId = node.textStyleId;
|
|
765
|
+
}
|
|
766
|
+
|
|
767
|
+
// Mask
|
|
768
|
+
if ("isMask" in node) info.isMask = node.isMask;
|
|
769
|
+
|
|
770
|
+
// Min/max size
|
|
771
|
+
if ("minWidth" in node && node.minWidth != null) info.minWidth = node.minWidth;
|
|
772
|
+
if ("maxWidth" in node && node.maxWidth != null) info.maxWidth = node.maxWidth;
|
|
773
|
+
if ("minHeight" in node && node.minHeight != null) info.minHeight = node.minHeight;
|
|
774
|
+
if ("maxHeight" in node && node.maxHeight != null) info.maxHeight = node.maxHeight;
|
|
775
|
+
|
|
719
776
|
// Auto-layout properties
|
|
720
777
|
if ("layoutMode" in node && node.layoutMode !== "NONE") {
|
|
721
778
|
info.autoLayout = {
|
|
@@ -729,7 +786,8 @@ function getNodeInfo({ nodeId }) {
|
|
|
729
786
|
primaryAxisAlignItems: node.primaryAxisAlignItems,
|
|
730
787
|
counterAxisAlignItems: node.counterAxisAlignItems,
|
|
731
788
|
layoutSizingHorizontal: node.layoutSizingHorizontal,
|
|
732
|
-
layoutSizingVertical: node.layoutSizingVertical
|
|
789
|
+
layoutSizingVertical: node.layoutSizingVertical,
|
|
790
|
+
layoutWrap: node.layoutWrap
|
|
733
791
|
};
|
|
734
792
|
}
|
|
735
793
|
|
|
@@ -776,6 +834,70 @@ function getNodeInfo({ nodeId }) {
|
|
|
776
834
|
} catch (_) {}
|
|
777
835
|
}
|
|
778
836
|
|
|
837
|
+
// Bound variables (library tokens)
|
|
838
|
+
if ("boundVariables" in node) {
|
|
839
|
+
try {
|
|
840
|
+
var bv = node.boundVariables;
|
|
841
|
+
var bvResult = {};
|
|
842
|
+
var knownBVKeys = [
|
|
843
|
+
"fills", "strokes", "effects",
|
|
844
|
+
"layoutGrids", "componentProperties",
|
|
845
|
+
"fontSize", "fontFamily", "fontStyle", "fontWeight",
|
|
846
|
+
"lineHeight", "letterSpacing", "paragraphSpacing", "paragraphIndent",
|
|
847
|
+
"textCase", "textDecoration",
|
|
848
|
+
"visible", "opacity",
|
|
849
|
+
"topLeftRadius", "topRightRadius", "bottomLeftRadius", "bottomRightRadius",
|
|
850
|
+
"itemSpacing", "counterAxisSpacing",
|
|
851
|
+
"paddingLeft", "paddingRight", "paddingTop", "paddingBottom",
|
|
852
|
+
"strokeWeight", "strokeTopWeight", "strokeBottomWeight", "strokeLeftWeight", "strokeRightWeight",
|
|
853
|
+
"width", "height",
|
|
854
|
+
"minWidth", "maxWidth", "minHeight", "maxHeight",
|
|
855
|
+
"characters"
|
|
856
|
+
];
|
|
857
|
+
|
|
858
|
+
function extractBinding(binding) {
|
|
859
|
+
if (Array.isArray(binding)) {
|
|
860
|
+
return binding.map(function(b) {
|
|
861
|
+
var entry = { type: b.type, id: b.id };
|
|
862
|
+
try {
|
|
863
|
+
var v = figma.variables.getVariableById(b.id);
|
|
864
|
+
if (v) { entry.name = v.name; entry.resolvedType = v.resolvedType; }
|
|
865
|
+
} catch (_) {}
|
|
866
|
+
return entry;
|
|
867
|
+
});
|
|
868
|
+
} else if (binding && binding.id) {
|
|
869
|
+
var single = { type: binding.type, id: binding.id };
|
|
870
|
+
try {
|
|
871
|
+
var v2 = figma.variables.getVariableById(binding.id);
|
|
872
|
+
if (v2) { single.name = v2.name; single.resolvedType = v2.resolvedType; }
|
|
873
|
+
} catch (_) {}
|
|
874
|
+
return single;
|
|
875
|
+
}
|
|
876
|
+
return null;
|
|
877
|
+
}
|
|
878
|
+
|
|
879
|
+
// First try for...in (catches any enumerable keys)
|
|
880
|
+
for (var key in bv) {
|
|
881
|
+
var result = extractBinding(bv[key]);
|
|
882
|
+
if (result != null) bvResult[key] = result;
|
|
883
|
+
}
|
|
884
|
+
// Supplement with explicit key access (Figma proxies may not enumerate all keys)
|
|
885
|
+
for (var ki = 0; ki < knownBVKeys.length; ki++) {
|
|
886
|
+
var bvKey = knownBVKeys[ki];
|
|
887
|
+
if (!(bvKey in bvResult)) {
|
|
888
|
+
try {
|
|
889
|
+
var val = bv[bvKey];
|
|
890
|
+
if (val != null) {
|
|
891
|
+
var r = extractBinding(val);
|
|
892
|
+
if (r != null) bvResult[bvKey] = r;
|
|
893
|
+
}
|
|
894
|
+
} catch (_) {}
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
if (Object.keys(bvResult).length > 0) info.boundVariables = bvResult;
|
|
898
|
+
} catch (_) {}
|
|
899
|
+
}
|
|
900
|
+
|
|
779
901
|
return info;
|
|
780
902
|
}
|
|
781
903
|
|
|
@@ -1617,3 +1739,228 @@ function getComponentProperties({ componentId }) {
|
|
|
1617
1739
|
}))
|
|
1618
1740
|
};
|
|
1619
1741
|
}
|
|
1742
|
+
|
|
1743
|
+
// ---------- Batch Update Components ----------
|
|
1744
|
+
|
|
1745
|
+
// Helper: set a property as either a raw value or a variable binding.
|
|
1746
|
+
// If value is an object with { variableId }, bind that variable.
|
|
1747
|
+
// If value is a number/string, set it directly (leaves existing binding intact
|
|
1748
|
+
// only if Figma allows — note: setting a raw value on a variable-bound
|
|
1749
|
+
// property will implicitly unbind the variable per Figma API behavior).
|
|
1750
|
+
function applyValue(node, field, value) {
|
|
1751
|
+
if (value != null && typeof value === "object" && value.variableId) {
|
|
1752
|
+
var v = figma.variables.getVariableById(value.variableId);
|
|
1753
|
+
if (!v) throw new Error("Variable not found: " + value.variableId);
|
|
1754
|
+
node.setBoundVariable(field, v);
|
|
1755
|
+
} else if (value != null) {
|
|
1756
|
+
node[field] = value;
|
|
1757
|
+
}
|
|
1758
|
+
}
|
|
1759
|
+
|
|
1760
|
+
// Helper: apply a paint (fill/stroke) — raw hex or variable binding
|
|
1761
|
+
function applyPaint(node, prop, value) {
|
|
1762
|
+
if (value != null && typeof value === "object" && value.variableId) {
|
|
1763
|
+
var v = figma.variables.getVariableById(value.variableId);
|
|
1764
|
+
if (!v) throw new Error("Variable not found: " + value.variableId);
|
|
1765
|
+
var paint = figma.variables.setBoundVariableForPaint(
|
|
1766
|
+
{ type: "SOLID", color: { r: 0, g: 0, b: 0 } }, "color", v
|
|
1767
|
+
);
|
|
1768
|
+
node[prop] = [paint];
|
|
1769
|
+
} else if (typeof value === "string") {
|
|
1770
|
+
// hex string
|
|
1771
|
+
var hex = value.replace("#", "");
|
|
1772
|
+
var r = parseInt(hex.substring(0, 2), 16) / 255;
|
|
1773
|
+
var g = parseInt(hex.substring(2, 4), 16) / 255;
|
|
1774
|
+
var b = parseInt(hex.substring(4, 6), 16) / 255;
|
|
1775
|
+
node[prop] = [{ type: "SOLID", color: { r: r, g: g, b: b } }];
|
|
1776
|
+
}
|
|
1777
|
+
}
|
|
1778
|
+
|
|
1779
|
+
async function batchUpdateComponents(input) {
|
|
1780
|
+
var componentSetId = input.componentSetId;
|
|
1781
|
+
var rules = input.rules; // Array of rule objects
|
|
1782
|
+
var dryRun = input.dryRun === true;
|
|
1783
|
+
|
|
1784
|
+
var setNode = getNode(componentSetId);
|
|
1785
|
+
if (setNode.type !== "COMPONENT_SET") {
|
|
1786
|
+
throw new Error("Node " + componentSetId + " is not a COMPONENT_SET");
|
|
1787
|
+
}
|
|
1788
|
+
|
|
1789
|
+
var children = setNode.children;
|
|
1790
|
+
var updated = 0;
|
|
1791
|
+
var skipped = 0;
|
|
1792
|
+
var errors = [];
|
|
1793
|
+
var details = [];
|
|
1794
|
+
|
|
1795
|
+
for (var i = 0; i < children.length; i++) {
|
|
1796
|
+
var comp = children[i];
|
|
1797
|
+
if (comp.type !== "COMPONENT") continue;
|
|
1798
|
+
|
|
1799
|
+
// Parse variant properties from name: "Size=md, Hierarchy=Primary, ..."
|
|
1800
|
+
var variantProps = {};
|
|
1801
|
+
var nameParts = comp.name.split(",");
|
|
1802
|
+
for (var p = 0; p < nameParts.length; p++) {
|
|
1803
|
+
var kv = nameParts[p].trim().split("=");
|
|
1804
|
+
if (kv.length === 2) {
|
|
1805
|
+
variantProps[kv[0].trim()] = kv[1].trim();
|
|
1806
|
+
}
|
|
1807
|
+
}
|
|
1808
|
+
|
|
1809
|
+
// Find all matching rules (applied in order, later rules override)
|
|
1810
|
+
var matchedRules = [];
|
|
1811
|
+
for (var r = 0; r < rules.length; r++) {
|
|
1812
|
+
var rule = rules[r];
|
|
1813
|
+
var match = rule.match;
|
|
1814
|
+
var matches = true;
|
|
1815
|
+
if (match) {
|
|
1816
|
+
for (var mk in match) {
|
|
1817
|
+
if (variantProps[mk] !== match[mk]) {
|
|
1818
|
+
matches = false;
|
|
1819
|
+
break;
|
|
1820
|
+
}
|
|
1821
|
+
}
|
|
1822
|
+
}
|
|
1823
|
+
// match === null/undefined/empty means "match all"
|
|
1824
|
+
if (matches) matchedRules.push(rule);
|
|
1825
|
+
}
|
|
1826
|
+
|
|
1827
|
+
if (matchedRules.length === 0) {
|
|
1828
|
+
skipped++;
|
|
1829
|
+
continue;
|
|
1830
|
+
}
|
|
1831
|
+
|
|
1832
|
+
// Merge matched rules (later overrides earlier)
|
|
1833
|
+
var merged = {};
|
|
1834
|
+
for (var mi = 0; mi < matchedRules.length; mi++) {
|
|
1835
|
+
var mr = matchedRules[mi];
|
|
1836
|
+
if (mr.cornerRadius != null) merged.cornerRadius = mr.cornerRadius;
|
|
1837
|
+
if (mr.padding) {
|
|
1838
|
+
if (!merged.padding) merged.padding = {};
|
|
1839
|
+
if (mr.padding.left != null) merged.padding.left = mr.padding.left;
|
|
1840
|
+
if (mr.padding.right != null) merged.padding.right = mr.padding.right;
|
|
1841
|
+
if (mr.padding.top != null) merged.padding.top = mr.padding.top;
|
|
1842
|
+
if (mr.padding.bottom != null) merged.padding.bottom = mr.padding.bottom;
|
|
1843
|
+
}
|
|
1844
|
+
if (mr.itemSpacing != null) merged.itemSpacing = mr.itemSpacing;
|
|
1845
|
+
if (mr.sizing) {
|
|
1846
|
+
if (!merged.sizing) merged.sizing = {};
|
|
1847
|
+
if (mr.sizing.horizontal) merged.sizing.horizontal = mr.sizing.horizontal;
|
|
1848
|
+
if (mr.sizing.vertical) merged.sizing.vertical = mr.sizing.vertical;
|
|
1849
|
+
if (mr.sizing.width != null) merged.sizing.width = mr.sizing.width;
|
|
1850
|
+
if (mr.sizing.height != null) merged.sizing.height = mr.sizing.height;
|
|
1851
|
+
}
|
|
1852
|
+
if (mr.font) {
|
|
1853
|
+
if (!merged.font) merged.font = {};
|
|
1854
|
+
if (mr.font.family) merged.font.family = mr.font.family;
|
|
1855
|
+
if (mr.font.style) merged.font.style = mr.font.style;
|
|
1856
|
+
if (mr.font.size != null) merged.font.size = mr.font.size;
|
|
1857
|
+
if (mr.font.lineHeight != null) merged.font.lineHeight = mr.font.lineHeight;
|
|
1858
|
+
}
|
|
1859
|
+
if (mr.fill != null) merged.fill = mr.fill;
|
|
1860
|
+
if (mr.stroke != null) merged.stroke = mr.stroke;
|
|
1861
|
+
if (mr.strokeWeight != null) merged.strokeWeight = mr.strokeWeight;
|
|
1862
|
+
if (mr.alignment) {
|
|
1863
|
+
if (!merged.alignment) merged.alignment = {};
|
|
1864
|
+
if (mr.alignment.primary) merged.alignment.primary = mr.alignment.primary;
|
|
1865
|
+
if (mr.alignment.counter) merged.alignment.counter = mr.alignment.counter;
|
|
1866
|
+
}
|
|
1867
|
+
}
|
|
1868
|
+
|
|
1869
|
+
if (dryRun) {
|
|
1870
|
+
details.push({ id: comp.id, name: comp.name, matched: matchedRules.length, merged: merged });
|
|
1871
|
+
updated++;
|
|
1872
|
+
continue;
|
|
1873
|
+
}
|
|
1874
|
+
|
|
1875
|
+
try {
|
|
1876
|
+
// Corner radius
|
|
1877
|
+
if (merged.cornerRadius != null) {
|
|
1878
|
+
if (typeof merged.cornerRadius === "object" && merged.cornerRadius.variableId) {
|
|
1879
|
+
var crVar = figma.variables.getVariableById(merged.cornerRadius.variableId);
|
|
1880
|
+
if (crVar) {
|
|
1881
|
+
comp.setBoundVariable("topLeftRadius", crVar);
|
|
1882
|
+
comp.setBoundVariable("topRightRadius", crVar);
|
|
1883
|
+
comp.setBoundVariable("bottomLeftRadius", crVar);
|
|
1884
|
+
comp.setBoundVariable("bottomRightRadius", crVar);
|
|
1885
|
+
}
|
|
1886
|
+
} else {
|
|
1887
|
+
comp.cornerRadius = merged.cornerRadius;
|
|
1888
|
+
}
|
|
1889
|
+
}
|
|
1890
|
+
|
|
1891
|
+
// Padding
|
|
1892
|
+
if (merged.padding) {
|
|
1893
|
+
if (merged.padding.left != null) applyValue(comp, "paddingLeft", merged.padding.left);
|
|
1894
|
+
if (merged.padding.right != null) applyValue(comp, "paddingRight", merged.padding.right);
|
|
1895
|
+
if (merged.padding.top != null) applyValue(comp, "paddingTop", merged.padding.top);
|
|
1896
|
+
if (merged.padding.bottom != null) applyValue(comp, "paddingBottom", merged.padding.bottom);
|
|
1897
|
+
}
|
|
1898
|
+
|
|
1899
|
+
// Item spacing
|
|
1900
|
+
if (merged.itemSpacing != null) applyValue(comp, "itemSpacing", merged.itemSpacing);
|
|
1901
|
+
|
|
1902
|
+
// Fill & stroke
|
|
1903
|
+
if (merged.fill != null && "fills" in comp) applyPaint(comp, "fills", merged.fill);
|
|
1904
|
+
if (merged.stroke != null && "strokes" in comp) applyPaint(comp, "strokes", merged.stroke);
|
|
1905
|
+
if (merged.strokeWeight != null && "strokeWeight" in comp) comp.strokeWeight = merged.strokeWeight;
|
|
1906
|
+
|
|
1907
|
+
// Alignment
|
|
1908
|
+
if (merged.alignment) {
|
|
1909
|
+
if (merged.alignment.primary) comp.primaryAxisAlignItems = merged.alignment.primary;
|
|
1910
|
+
if (merged.alignment.counter) comp.counterAxisAlignItems = merged.alignment.counter;
|
|
1911
|
+
}
|
|
1912
|
+
|
|
1913
|
+
// Sizing mode & resize
|
|
1914
|
+
if (merged.sizing) {
|
|
1915
|
+
if (merged.sizing.horizontal) comp.layoutSizingHorizontal = merged.sizing.horizontal;
|
|
1916
|
+
if (merged.sizing.vertical) comp.layoutSizingVertical = merged.sizing.vertical;
|
|
1917
|
+
if (merged.sizing.width != null || merged.sizing.height != null) {
|
|
1918
|
+
var w = merged.sizing.width != null ? merged.sizing.width : comp.width;
|
|
1919
|
+
var h = merged.sizing.height != null ? merged.sizing.height : comp.height;
|
|
1920
|
+
comp.resize(w, h);
|
|
1921
|
+
}
|
|
1922
|
+
}
|
|
1923
|
+
|
|
1924
|
+
// Font (applies to all TEXT descendants)
|
|
1925
|
+
if (merged.font) {
|
|
1926
|
+
var family = merged.font.family;
|
|
1927
|
+
var style = merged.font.style;
|
|
1928
|
+
if (family && style) {
|
|
1929
|
+
await figma.loadFontAsync({ family: family, style: style });
|
|
1930
|
+
}
|
|
1931
|
+
var textNodes = comp.findAll(function(n) { return n.type === "TEXT"; });
|
|
1932
|
+
for (var ti = 0; ti < textNodes.length; ti++) {
|
|
1933
|
+
var tn = textNodes[ti];
|
|
1934
|
+
try {
|
|
1935
|
+
if (family && style) {
|
|
1936
|
+
await figma.loadFontAsync({ family: family, style: style });
|
|
1937
|
+
tn.fontName = { family: family, style: style };
|
|
1938
|
+
}
|
|
1939
|
+
if (merged.font.size != null) tn.fontSize = merged.font.size;
|
|
1940
|
+
if (merged.font.lineHeight != null) {
|
|
1941
|
+
tn.lineHeight = { value: merged.font.lineHeight, unit: "PIXELS" };
|
|
1942
|
+
}
|
|
1943
|
+
} catch (fontErr) {
|
|
1944
|
+
errors.push("Font error on " + tn.id + ": " + fontErr.message);
|
|
1945
|
+
}
|
|
1946
|
+
}
|
|
1947
|
+
}
|
|
1948
|
+
|
|
1949
|
+
details.push({ id: comp.id, name: comp.name, action: "updated" });
|
|
1950
|
+
updated++;
|
|
1951
|
+
} catch (err) {
|
|
1952
|
+
errors.push(comp.id + " (" + comp.name + "): " + (err.message || String(err)));
|
|
1953
|
+
}
|
|
1954
|
+
}
|
|
1955
|
+
|
|
1956
|
+
return {
|
|
1957
|
+
componentSetId: componentSetId,
|
|
1958
|
+
componentSetName: setNode.name,
|
|
1959
|
+
totalChildren: children.length,
|
|
1960
|
+
updated: updated,
|
|
1961
|
+
skipped: skipped,
|
|
1962
|
+
errorCount: errors.length,
|
|
1963
|
+
errors: errors.length <= 10 ? errors : errors.slice(0, 10).concat(["... and " + (errors.length - 10) + " more"]),
|
|
1964
|
+
details: details.length <= 30 ? details : details.slice(0, 30).concat([{ note: "... and " + (details.length - 30) + " more" }])
|
|
1965
|
+
};
|
|
1966
|
+
}
|