From 2200ab47d397c641d1f911c08ca2d7f1e02dc261 Mon Sep 17 00:00:00 2001 From: Snow Date: Tue, 14 Sep 2021 05:13:52 +1000 Subject: [PATCH] Feature/icon name class (#395) * #317 Add icon-names to class list for Vue. * #317 Tidy up class name. --- packages/lucide-vue/src/createVueComponent.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/lucide-vue/src/createVueComponent.js b/packages/lucide-vue/src/createVueComponent.js index 6068644..2abff05 100644 --- a/packages/lucide-vue/src/createVueComponent.js +++ b/packages/lucide-vue/src/createVueComponent.js @@ -1,5 +1,15 @@ import defaultAttributes from './defaultAttributes'; +/** + * Converts string to KebabCase + * Copied from scripts/helper. If anyone knows how to properly import it here + * then please fix it. + * + * @param {string} string + * @returns {string} A kebabized string + */ + export const toKebabCase = string => string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase(); + export default (iconName, iconNode) => ({ name: iconName, functional: true, @@ -18,7 +28,7 @@ export default (iconName, iconNode) => ({ }, defaultClass: { type: String, - default: 'lucide-icon', + default: `lucide-icon lucide lucide-${toKebabCase(iconName).replace('-icon', '')}`, }, }, render(