imep-vue-form-builder
Version:
Vue Form Builder PRO MAX built from top of Vue. Super dynamic and flexible including Drag and Drop feature.
64 lines (58 loc) • 2.21 kB
JavaScript
/**
* Form-Icon-Facade is a lightweight library to help you retain ICON inside Form-Builder v2
* @author Phat Tran <phattranminh96@gmail.com>
* @license From Zondicons of Steve Schoger. Thanks very much for the beautiful/lightweight icons
* @iconHomePage https://www.zondicons.com/
*/
import {ARROW_UP_ICON} from "@/libraries/icons/arrow-up.icon";
import {ARROW_DOWN_ICON} from "@/libraries/icons/arrow-down.icon";
import {EDIT_PENCIL_ICON} from "@/libraries/icons/edit-pencil.icon";
import {COG_ICON} from "@/libraries/icons/cog.icon";
import {ADD_OUTLINE_ICON} from "@/libraries/icons/add-outline.icon";
import {CLOSE_ICON} from "@/libraries/icons/close.icon";
import {TRASH_ICON} from "@/libraries/icons/trash.icon";
import {CHEVRON_UP_ICON} from "@/libraries/icons/chevron-up.icon";
import {CHEVRON_DOWN_ICON} from "@/libraries/icons/chevron-down.icon";
import {NAVIGATION_MORE_ICON} from "@/libraries/icons/navigation-more.icon";
import {INFORMATION_OUTLINE_ICON} from "@/libraries/icons/information-outline.icon";
const ICONS = {
addOutline: ADD_OUTLINE_ICON,
arrowUp: ARROW_UP_ICON,
arrowDown: ARROW_DOWN_ICON,
editPencil: EDIT_PENCIL_ICON,
cog: COG_ICON,
close: CLOSE_ICON,
trash: TRASH_ICON,
chevronUp: CHEVRON_UP_ICON,
chevronDown: CHEVRON_DOWN_ICON,
navigationMore: NAVIGATION_MORE_ICON,
informationOutline: INFORMATION_OUTLINE_ICON
}
const FormIcon = {
/**
* Get SVG Icon for Form-Builder
* @param {String} iconName
* @param {String} width - Width with px (Eg: 16px)
* @param {String} height - Height with px (Eg: 16px)
* @param {String} fillColor - Hex Color String (Eg: #ffffff)
* @returns {string} of SVG HTML TAG
*/
getSVG(
iconName,
width = '16px',
height = '16px',
fillColor = '#ffffff'
) {
if (!ICONS[iconName]) {
throw new TypeError(`Icon Name '${iconName}' doesn't exists in Vue-Form-Builder.`);
}
let replacedIconWithData = ICONS[iconName]
.replace("{0}", width)
.replace("{1}", height)
.replace("{2}", fillColor)
return replacedIconWithData
}
};
export {
FormIcon
}