@workday/canvas-kit-react
Version:
The parent module that contains all Workday Canvas Kit React components
53 lines (52 loc) • 2.26 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Svg = exports.transformColorNameToToken = exports.svgStencil = void 0;
const jsx_runtime_1 = require("react/jsx-runtime");
const utils_1 = require("./utils");
const common_1 = require("@workday/canvas-kit-react/common");
const layout_1 = require("@workday/canvas-kit-react/layout");
const canvas_kit_styling_1 = require("@workday/canvas-kit-styling");
const canvas_tokens_web_1 = require("@workday/canvas-tokens-web");
exports.svgStencil = (0, canvas_kit_styling_1.createStencil)({
vars: {
/** sets width of svg element */
width: '',
/** sets height of svg element */
height: '',
/** sets width and height of svg element */
size: '',
},
base: { name: "3cwow9", styles: "box-sizing:border-box;display:inline-block;> svg{display:block;width:var(--width-svg-8fcab8, var(--size-svg-8fcab8));height:var(--height-svg-8fcab8, var(--size-svg-8fcab8));}" },
modifiers: {
shouldMirror: {
true: { name: "38zx8b", styles: "transform:scaleX(-1);" }
},
shouldMirrorInRTL: {
true: { name: "1rtxae", styles: "&:dir(rtl){transform:scaleX(-1);}" }
}
}
}, "svg-8fcab8");
/** @deprecated */
const transformColorNameToToken = (color) => {
if (color && color in canvas_tokens_web_1.base) {
return (0, canvas_kit_styling_1.cssVar)(canvas_tokens_web_1.base[color]);
}
if (color === null || color === void 0 ? void 0 : color.startsWith('--')) {
return (0, canvas_kit_styling_1.cssVar)(color);
}
return color;
};
exports.transformColorNameToToken = transformColorNameToToken;
exports.Svg = (0, common_1.createComponent)('span')({
displayName: 'Svg',
Component: ({ shouldMirror, shouldMirrorInRTL, src, type, ...elemProps }, ref, Element) => {
try {
(0, utils_1.validateIconType)(src, type);
}
catch (e) {
console.error(e);
return null;
}
return ((0, jsx_runtime_1.jsx)(Element, { ref: ref, dangerouslySetInnerHTML: { __html: src.svg }, ...(0, layout_1.mergeStyles)(elemProps, (0, exports.svgStencil)({ shouldMirror, shouldMirrorInRTL })) }));
},
});