@wordpress/components
Version:
UI components for WordPress.
8 lines (7 loc) • 3.38 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../src/custom-gradient-picker/serializer.ts"],
"sourcesContent": ["/**\n * External dependencies\n */\n\nexport function serializeGradientColor({\n type,\n value\n}) {\n if (type === 'literal') {\n return value;\n }\n if (type === 'hex') {\n return `#${value}`;\n }\n if (type === 'var') {\n return `var(${value})`;\n }\n if (type === 'hsl') {\n const [hue, saturation, lightness] = value;\n return `hsl(${hue},${saturation}%,${lightness}%)`;\n }\n if (type === 'hsla') {\n const [hue, saturation, lightness, alpha] = value;\n return `hsla(${hue},${saturation}%,${lightness}%,${alpha})`;\n }\n return `${type}(${value.join(',')})`;\n}\nexport function serializeGradientPosition(position) {\n if (!position) {\n return '';\n }\n const {\n value,\n type\n } = position;\n if (type === 'calc') {\n return `calc(${value})`;\n }\n return `${value}${type}`;\n}\nexport function serializeGradientColorStop({\n type,\n value,\n length\n}) {\n return `${serializeGradientColor({\n type,\n value\n })} ${serializeGradientPosition(length)}`;\n}\nexport function serializeGradientOrientation(orientation) {\n if (Array.isArray(orientation) || !orientation || orientation.type !== 'angular') {\n return;\n }\n return `${orientation.value}deg`;\n}\nexport function serializeGradient({\n type,\n orientation,\n colorStops\n}) {\n const serializedOrientation = serializeGradientOrientation(orientation);\n const serializedColorStops = colorStops.sort((colorStop1, colorStop2) => {\n const getNumericStopValue = colorStop => {\n return colorStop?.length?.value === undefined ? 0 : parseInt(colorStop.length.value);\n };\n return getNumericStopValue(colorStop1) - getNumericStopValue(colorStop2);\n }).map(serializeGradientColorStop);\n return `${type}(${[serializedOrientation, ...serializedColorStops].filter(Boolean).join(',')})`;\n}"],
"mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,SAAS,uBAAuB;AAAA,EACrC;AAAA,EACA;AACF,GAAG;AACD,MAAI,SAAS,WAAW;AACtB,WAAO;AAAA,EACT;AACA,MAAI,SAAS,OAAO;AAClB,WAAO,IAAI,KAAK;AAAA,EAClB;AACA,MAAI,SAAS,OAAO;AAClB,WAAO,OAAO,KAAK;AAAA,EACrB;AACA,MAAI,SAAS,OAAO;AAClB,UAAM,CAAC,KAAK,YAAY,SAAS,IAAI;AACrC,WAAO,OAAO,GAAG,IAAI,UAAU,KAAK,SAAS;AAAA,EAC/C;AACA,MAAI,SAAS,QAAQ;AACnB,UAAM,CAAC,KAAK,YAAY,WAAW,KAAK,IAAI;AAC5C,WAAO,QAAQ,GAAG,IAAI,UAAU,KAAK,SAAS,KAAK,KAAK;AAAA,EAC1D;AACA,SAAO,GAAG,IAAI,IAAI,MAAM,KAAK,GAAG,CAAC;AACnC;AACO,SAAS,0BAA0B,UAAU;AAClD,MAAI,CAAC,UAAU;AACb,WAAO;AAAA,EACT;AACA,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,EACF,IAAI;AACJ,MAAI,SAAS,QAAQ;AACnB,WAAO,QAAQ,KAAK;AAAA,EACtB;AACA,SAAO,GAAG,KAAK,GAAG,IAAI;AACxB;AACO,SAAS,2BAA2B;AAAA,EACzC;AAAA,EACA;AAAA,EACA;AACF,GAAG;AACD,SAAO,GAAG,uBAAuB;AAAA,IAC/B;AAAA,IACA;AAAA,EACF,CAAC,CAAC,IAAI,0BAA0B,MAAM,CAAC;AACzC;AACO,SAAS,6BAA6B,aAAa;AACxD,MAAI,MAAM,QAAQ,WAAW,KAAK,CAAC,eAAe,YAAY,SAAS,WAAW;AAChF;AAAA,EACF;AACA,SAAO,GAAG,YAAY,KAAK;AAC7B;AACO,SAAS,kBAAkB;AAAA,EAChC;AAAA,EACA;AAAA,EACA;AACF,GAAG;AACD,QAAM,wBAAwB,6BAA6B,WAAW;AACtE,QAAM,uBAAuB,WAAW,KAAK,CAAC,YAAY,eAAe;AACvE,UAAM,sBAAsB,eAAa;AACvC,aAAO,WAAW,QAAQ,UAAU,SAAY,IAAI,SAAS,UAAU,OAAO,KAAK;AAAA,IACrF;AACA,WAAO,oBAAoB,UAAU,IAAI,oBAAoB,UAAU;AAAA,EACzE,CAAC,EAAE,IAAI,0BAA0B;AACjC,SAAO,GAAG,IAAI,IAAI,CAAC,uBAAuB,GAAG,oBAAoB,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,CAAC;AAC9F;",
"names": []
}