UNPKG

@justeattakeaway/pie-icons-vue

Version:
47 lines (39 loc) 1.43 kB
'use strict'; var configs = require('./configs.cjs'); /** * Object with size props configuration for large and regular icons */ const iconSize = { large: { type: [Number], default: configs.largeIconSizeDefault, validator: configs.iconSizeValidator.large, }, regular: { type: [String], default: configs.regularIconSizeDefault, validator: configs.iconSizeValidator.regular, }, }; /** * Update Vue icon component context data based on the provided svgClasses and current props, such as class * @param {Object} ctx - Vue icon component context * @param {string} svgClasses - String of classes assigned to the component * @returns {Object} - Updated context data */ const updateContextData = (ctx, svgClasses, componentName) => { const { staticClass } = ctx.data; /* eslint-disable @typescript-eslint/no-unused-vars */ const { width, height, ...rest } = ctx.data.attrs || {}; /* eslint-enable @typescript-eslint/no-unused-vars */ const props = configs.getSvgProps(svgClasses, staticClass, ctx.props.size, componentName); ctx.data.attrs = { ...rest, ...props }; ctx.data.staticClass = ctx.data.attrs.class; // Necessary otherwise classes assigned in markup override the ones assigned in getSvgProps return ctx.data; }; exports.iconSize = iconSize; exports.updateContextData = updateContextData;