import * as React from "react"; import _ from "lodash"; import EditorObject from "@sc/modules/page/Builder/EditorObject"; import PropertiesBuilder from "@sc/modules/v2/Properties/components/generator"; import { updateSection } from "@sc/modules/v2/Properties/components/generator"; import { SectionTypes } from "@sc/modules/v2/Properties/types"; import { Icon } from "./live"; import { PluginProps } from "./types"; import { V1ObjectWrapper, convertProperties } from "../V1ObjectWrapper"; import { IconTypes } from "../Icon"; import iconSettings from "./settings"; const Properties = (props) => { const { updateComponentSettings, updateComponentStyle, settings } = props; const { properties } = iconSettings; const { sections } = properties.main; const withIcon = updateSection(sections, SectionTypes.ICONSELECTOR, { onChange: (e) => { updateComponentSettings( settings.id, { ...settings, iconType: IconTypes[e] }, true, 0 ); }, }); // const withSize = withIcon; const withSize = updateSection(withIcon, SectionTypes.BUTTONSLIDER, { // value: _.get(settings.properties, "fontSize", 0).replace("pt", ""), onChange: (e) => { console.log("size", e); switch (e) { case "GROW": { const value = parseInt( _.get(settings, "properties.fontSize", "1pt").replace("pt") ) + 5; updateComponentStyle( settings.id, { fontSize: `${value}pt` }, true, 0 ); break; } case "SHRINK": { const value = parseInt( _.get(settings, "properties.fontSize", "6pt").replace("pt") ) - 5; updateComponentStyle( settings.id, { fontSize: `${value}pt` }, true, 0 ); break; } default: { updateComponentStyle(settings.id, { fontSize: `${e}pt` }, true, 0); } } }, }); const withColor = updateSection(withSize, SectionTypes.COLORPICKER, { onChange: (e) => { updateComponentStyle( settings.id, { color: e.hex, }, true, 0 ); }, }); const updatedProperties = { ...properties, main: { ...properties.main, sections: withColor }, }; return ( ); }; export const IconComponent: React.FC = (props) => { const { id, mode, settings } = props; const properties = convertProperties(settings.properties); return ( <> ); };