UNPKG

@wordpress/components

Version:
74 lines (63 loc) 1.68 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.serializeGradientColor = serializeGradientColor; exports.serializeGradientPosition = serializeGradientPosition; exports.serializeGradientColorStop = serializeGradientColorStop; exports.serializeGradientOrientation = serializeGradientOrientation; exports.serializeGradient = serializeGradient; var _lodash = require("lodash"); /** * External dependencies */ function serializeGradientColor({ type, value }) { if (type === 'literal') { return value; } if (type === 'hex') { return `#${value}`; } return `${type}(${value.join(',')})`; } function serializeGradientPosition(position) { if (!position) { return ''; } const { value, type } = position; return `${value}${type}`; } function serializeGradientColorStop({ type, value, length }) { return `${serializeGradientColor({ type, value })} ${serializeGradientPosition(length)}`; } function serializeGradientOrientation(orientation) { if (!orientation || orientation.type !== 'angular') { return; } return `${orientation.value}deg`; } function serializeGradient({ type, orientation, colorStops }) { const serializedOrientation = serializeGradientOrientation(orientation); const serializedColorStops = colorStops.sort((colorStop1, colorStop2) => { return (0, _lodash.get)(colorStop1, ['length', 'value'], 0) - (0, _lodash.get)(colorStop2, ['length', 'value'], 0); }).map(serializeGradientColorStop); return `${type}(${(0, _lodash.compact)([serializedOrientation, ...serializedColorStops]).join(',')})`; } //# sourceMappingURL=serializer.js.map