{"version":3,"sources":["propUtils.ts"],"sourcesContent":["import { useMemo } from \"react\"\nimport { ControlType, PropertyControls } from \"framer\"\n\n/**\n * Helpers for Props\n */\n\nexport interface RadiusProps {\n    borderRadius: number\n    isMixedBorderRadius: boolean\n    topLeftRadius: number\n    topRightRadius: number\n    bottomRightRadius: number\n    bottomLeftRadius: number\n}\n\nexport function useRadius(props) {\n    const {\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius,\n    } = props\n\n    const radiusValue = useMemo(\n        () =>\n            isMixedBorderRadius\n                ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px`\n                : `${borderRadius}px`,\n        [\n            borderRadius,\n            isMixedBorderRadius,\n            topLeftRadius,\n            topRightRadius,\n            bottomRightRadius,\n            bottomLeftRadius,\n        ]\n    )\n\n    return radiusValue\n}\n\nexport const borderRadiusControl: PropertyControls = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\"Radius\", \"Radius per corner\"],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\",\n        ],\n        valueLabels: [\"TL\", \"TR\", \"BR\", \"BL\"],\n        min: 0,\n    },\n}\n\nexport interface PaddingProps {\n    padding: number\n    paddingPerSide: true\n    paddingTop: number\n    paddingRight: number\n    paddingBottom: number\n    paddingLeft: number\n}\n\nexport function usePadding(props: PaddingProps) {\n    const {\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft,\n    } = props\n\n    const paddingValue = useMemo(\n        () =>\n            paddingPerSide\n                ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px`\n                : padding,\n        [\n            padding,\n            paddingPerSide,\n            paddingTop,\n            paddingRight,\n            paddingBottom,\n            paddingLeft,\n        ]\n    )\n\n    return paddingValue\n}\n\nexport const paddingControl: PropertyControls = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\"Padding\", \"Padding per side\"],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\",\n        ],\n        valueLabels: [\"T\", \"R\", \"B\", \"L\"],\n        min: 0,\n        title: \"Padding\",\n    },\n}\n"],"names":[],"mappings":"SAAS,OAAO,SAAQ,KAAO;SACtB,WAAW,SAA0B,MAAQ;gBAetC,SAAS,CAAC,KAAK,EAAE,CAAC;IAC9B,KAAK,GACD,YAAY,GACZ,mBAAmB,GACnB,aAAa,GACb,cAAc,GACd,iBAAiB,GACjB,gBAAgB,QAChB,KAAK;IAET,KAAK,CAAC,WAAW,GAAG,OAAO,KAEnB,mBAAmB,MACV,aAAa,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,CAAC,EAAE,OACjF,YAAY,CAAC,EAAE;;QAExB,YAAY;QACZ,mBAAmB;QACnB,aAAa;QACb,cAAc;QACd,iBAAiB;QACjB,gBAAgB;;WAIjB,WAAW;AACtB,CAAC;OAEM,KAAK,CAAC,mBAAmB;IAC5B,YAAY;QACR,KAAK,GAAE,MAAQ;QACf,IAAI,EAAE,WAAW,CAAC,WAAW;QAC7B,SAAS,GAAE,mBAAqB;QAChC,YAAY;aAAG,MAAQ;aAAE,iBAAmB;;QAC5C,SAAS;aACL,aAAe;aACf,cAAgB;aAChB,iBAAmB;aACnB,gBAAkB;;QAEtB,WAAW;aAAG,EAAI;aAAE,EAAI;aAAE,EAAI;aAAE,EAAI;;QACpC,GAAG,EAAE,CAAC;;;gBAaE,UAAU,CAAC,KAAmB,EAAE,CAAC;IAC7C,KAAK,GACD,OAAO,GACP,cAAc,GACd,UAAU,GACV,YAAY,GACZ,aAAa,GACb,WAAW,QACX,KAAK;IAET,KAAK,CAAC,YAAY,GAAG,OAAO,KAEpB,cAAc,MACL,UAAU,CAAC,GAAG,EAAE,YAAY,CAAC,GAAG,EAAE,aAAa,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,IACtE,OAAO;;QAEb,OAAO;QACP,cAAc;QACd,UAAU;QACV,YAAY;QACZ,aAAa;QACb,WAAW;;WAIZ,YAAY;AACvB,CAAC;OAEM,KAAK,CAAC,cAAc;IACvB,OAAO;QACH,IAAI,EAAE,WAAW,CAAC,WAAW;QAC7B,SAAS,GAAE,cAAgB;QAC3B,YAAY;aAAG,OAAS;aAAE,gBAAkB;;QAC5C,SAAS;aACL,UAAY;aACZ,YAAc;aACd,aAAe;aACf,WAAa;;QAEjB,WAAW;aAAG,CAAG;aAAE,CAAG;aAAE,CAAG;aAAE,CAAG;;QAChC,GAAG,EAAE,CAAC;QACN,KAAK,GAAE,OAAS"}