@ezbot-ai/javascript-sdk
Version:
The easiest way to interact with ezbot via JS (node and browser)
49 lines • 4.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.predictionsToCss = exports.getVisualForSelector = void 0;
/**
* Returns the first visual prediction matching the provided CSS selector.
*/
function getVisualForSelector(predictions, selector) {
return predictions.find((pred) => { var _a; return pred.type === 'visual' && ((_a = pred.config) === null || _a === void 0 ? void 0 : _a.selector) === selector; });
}
exports.getVisualForSelector = getVisualForSelector;
/**
* Converts visual predictions into a CSS string suitable for server-side rendering
* within a single <style> tag.
*/
function predictionsToCss(predictions) {
return predictions
.filter((prediction) => !!prediction && prediction.type === 'visual' && !!prediction.config)
.map((prediction) => {
const { selector, action, attribute } = prediction.config;
const value = prediction.value;
switch (action) {
case 'hide':
return `${selector} { display: none !important; }`;
case 'show':
return `${selector} { display: block !important; }`;
case 'setStyle':
return attribute
? `${selector} { ${attribute}: ${value} !important; }`
: '';
case 'setFontSize':
return `${selector} { font-size: ${value} !important; }`;
case 'setFontColor':
return `${selector} { color: ${value} !important; }`;
case 'setBackgroundColor':
return `${selector} { background-color: ${value} !important; }`;
case 'setVisibility':
return `${selector} { visibility: ${value} !important; }`;
case 'addGlobalCSS':
return String(value !== null && value !== void 0 ? value : '');
default:
// ignore unsupported actions in SSR CSS generation
return '';
}
})
.filter((rule) => rule.length > 0)
.join('\n');
}
exports.predictionsToCss = predictionsToCss;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZGljdGlvbkhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ByZWRpY3Rpb25IZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBOztHQUVHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQ2xDLFdBQXNDLEVBQ3RDLFFBQWdCO0lBRWhCLE9BQU8sV0FBVyxDQUFDLElBQUksQ0FDckIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxXQUFDLE9BQUEsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQSxNQUFBLElBQUksQ0FBQyxNQUFNLDBDQUFFLFFBQVEsTUFBSyxRQUFRLENBQUEsRUFBQSxDQUN2RSxDQUFDO0FBQ0osQ0FBQztBQVBELG9EQU9DO0FBRUQ7OztHQUdHO0FBQ0gsU0FBZ0IsZ0JBQWdCLENBQzlCLFdBQXNDO0lBRXRDLE9BQU8sV0FBVztTQUNmLE1BQU0sQ0FDTCxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQ2IsQ0FBQyxDQUFDLFVBQVUsSUFBSSxVQUFVLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FDdEU7U0FDQSxHQUFHLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtRQUNsQixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxVQUFVLENBQUMsTUFBTyxDQUFDO1FBQzNELE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxLQUFLLENBQUM7UUFFL0IsUUFBUSxNQUFNLEVBQUUsQ0FBQztZQUNmLEtBQUssTUFBTTtnQkFDVCxPQUFPLEdBQUcsUUFBUSxnQ0FBZ0MsQ0FBQztZQUNyRCxLQUFLLE1BQU07Z0JBQ1QsT0FBTyxHQUFHLFFBQVEsaUNBQWlDLENBQUM7WUFDdEQsS0FBSyxVQUFVO2dCQUNiLE9BQU8sU0FBUztvQkFDZCxDQUFDLENBQUMsR0FBRyxRQUFRLE1BQU0sU0FBUyxLQUFLLEtBQUssZ0JBQWdCO29CQUN0RCxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1QsS0FBSyxhQUFhO2dCQUNoQixPQUFPLEdBQUcsUUFBUSxpQkFBaUIsS0FBSyxnQkFBZ0IsQ0FBQztZQUMzRCxLQUFLLGNBQWM7Z0JBQ2pCLE9BQU8sR0FBRyxRQUFRLGFBQWEsS0FBSyxnQkFBZ0IsQ0FBQztZQUN2RCxLQUFLLG9CQUFvQjtnQkFDdkIsT0FBTyxHQUFHLFFBQVEsd0JBQXdCLEtBQUssZ0JBQWdCLENBQUM7WUFDbEUsS0FBSyxlQUFlO2dCQUNsQixPQUFPLEdBQUcsUUFBUSxrQkFBa0IsS0FBSyxnQkFBZ0IsQ0FBQztZQUM1RCxLQUFLLGNBQWM7Z0JBQ2pCLE9BQU8sTUFBTSxDQUFDLEtBQUssYUFBTCxLQUFLLGNBQUwsS0FBSyxHQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQzdCO2dCQUNFLG1EQUFtRDtnQkFDbkQsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQyxDQUFDO1NBQ0QsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztTQUNqQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDaEIsQ0FBQztBQXRDRCw0Q0FzQ0MifQ==