UNPKG

@ezbot-ai/javascript-sdk

Version:

The easiest way to interact with ezbot via JS (node and browser)

44 lines 3.67 kB
/** * Returns the first visual prediction matching the provided CSS selector. */ export function getVisualForSelector(predictions, selector) { return predictions.find((pred) => pred.type === 'visual' && pred.config?.selector === selector); } /** * Converts visual predictions into a CSS string suitable for server-side rendering * within a single <style> tag. */ export 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 ?? ''); default: // ignore unsupported actions in SSR CSS generation return ''; } }) .filter((rule) => rule.length > 0) .join('\n'); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlZGljdGlvbkhlbHBlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3ByZWRpY3Rpb25IZWxwZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxXQUFzQyxFQUN0QyxRQUFnQjtJQUVoQixPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQ3JCLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLFFBQVEsS0FBSyxRQUFRLENBQ3ZFLENBQUM7QUFDSixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUM5QixXQUFzQztJQUV0QyxPQUFPLFdBQVc7U0FDZixNQUFNLENBQ0wsQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUNiLENBQUMsQ0FBQyxVQUFVLElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxRQUFRLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQ3RFO1NBQ0EsR0FBRyxDQUFDLENBQUMsVUFBVSxFQUFFLEVBQUU7UUFDbEIsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsVUFBVSxDQUFDLE1BQU8sQ0FBQztRQUMzRCxNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsS0FBSyxDQUFDO1FBRS9CLFFBQVEsTUFBTSxFQUFFLENBQUM7WUFDZixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxHQUFHLFFBQVEsZ0NBQWdDLENBQUM7WUFDckQsS0FBSyxNQUFNO2dCQUNULE9BQU8sR0FBRyxRQUFRLGlDQUFpQyxDQUFDO1lBQ3RELEtBQUssVUFBVTtnQkFDYixPQUFPLFNBQVM7b0JBQ2QsQ0FBQyxDQUFDLEdBQUcsUUFBUSxNQUFNLFNBQVMsS0FBSyxLQUFLLGdCQUFnQjtvQkFDdEQsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNULEtBQUssYUFBYTtnQkFDaEIsT0FBTyxHQUFHLFFBQVEsaUJBQWlCLEtBQUssZ0JBQWdCLENBQUM7WUFDM0QsS0FBSyxjQUFjO2dCQUNqQixPQUFPLEdBQUcsUUFBUSxhQUFhLEtBQUssZ0JBQWdCLENBQUM7WUFDdkQsS0FBSyxvQkFBb0I7Z0JBQ3ZCLE9BQU8sR0FBRyxRQUFRLHdCQUF3QixLQUFLLGdCQUFnQixDQUFDO1lBQ2xFLEtBQUssZUFBZTtnQkFDbEIsT0FBTyxHQUFHLFFBQVEsa0JBQWtCLEtBQUssZ0JBQWdCLENBQUM7WUFDNUQsS0FBSyxjQUFjO2dCQUNqQixPQUFPLE1BQU0sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUM7WUFDN0I7Z0JBQ0UsbURBQW1EO2dCQUNuRCxPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7SUFDSCxDQUFDLENBQUM7U0FDRCxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1NBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUNoQixDQUFDIn0=