zp-figma-converter
Version:
Convert Figma designs to various code formats
76 lines • 3.27 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PanelParser = void 0;
const xml_utils_1 = require("../../../../utils/xml-utils");
const widget_parser_1 = require("./widget-parser");
/**
* Parser for PanelData
*/
class PanelParser extends widget_parser_1.WidgetParser {
parse(nodeData) {
const result = this.parseBaseAttributes(nodeData);
return result;
}
parseBaseAttributes(nodeData) {
const result = super.parseBaseAttributes(nodeData);
// Panel specific properties
if (nodeData.ClipAble !== undefined)
result['@_ClipAble'] = (0, xml_utils_1.boolToString)(nodeData.ClipAble);
if (nodeData.BackColorAlpha !== undefined)
result['@_BackColorAlpha'] = (0, xml_utils_1.toString)(nodeData.BackColorAlpha);
if (nodeData.ComboBoxIndex !== undefined)
result['@_ComboBoxIndex'] = (0, xml_utils_1.toString)(nodeData.ComboBoxIndex);
if (nodeData.TouchEnable !== undefined)
result['@_TouchEnable'] = (0, xml_utils_1.boolToString)(nodeData.TouchEnable);
if (nodeData.Scale9Enable !== undefined)
result['@_Scale9Enable'] = (0, xml_utils_1.boolToString)(nodeData.Scale9Enable);
if (nodeData.Scale9OriginX !== undefined)
result['@_Scale9OriginX'] = (0, xml_utils_1.toString)(nodeData.Scale9OriginX);
if (nodeData.Scale9OriginY !== undefined)
result['@_Scale9OriginY'] = (0, xml_utils_1.toString)(nodeData.Scale9OriginY);
if (nodeData.Scale9Width !== undefined)
result['@_Scale9Width'] = (0, xml_utils_1.toString)(nodeData.Scale9Width);
if (nodeData.Scale9Height !== undefined)
result['@_Scale9Height'] = (0, xml_utils_1.toString)(nodeData.Scale9Height);
if (nodeData.FileData !== undefined) {
result.FileData = {
'@_Type': nodeData.FileData.Type,
'@_Path': nodeData.FileData.Path,
'@_Plist': nodeData.FileData.Plist
};
}
if (nodeData.SingleColor) {
result.SingleColor = {
'@_A': '255',
'@_R': (0, xml_utils_1.toString)(nodeData.SingleColor.R || 150),
'@_G': (0, xml_utils_1.toString)(nodeData.SingleColor.G || 200),
'@_B': '255'
};
}
if (nodeData.FirstColor) {
result.FirstColor = {
'@_A': '255',
'@_R': (0, xml_utils_1.toString)(nodeData.FirstColor.R || 150),
'@_G': (0, xml_utils_1.toString)(nodeData.FirstColor.G || 200),
'@_B': '255'
};
}
if (nodeData.EndColor) {
result.EndColor = {
'@_A': '255',
'@_R': '255',
'@_G': '255',
'@_B': '255'
};
}
if (nodeData.ColorVector) {
result.ColorVector = {
'@_ScaleX': (0, xml_utils_1.toString)(nodeData.ColorVector.ScaleX || 0),
'@_ScaleY': (0, xml_utils_1.toString)(nodeData.ColorVector.ScaleY || 1)
};
}
return result;
}
}
exports.PanelParser = PanelParser;
//# sourceMappingURL=panel-parser.js.map