export default function getIconAttributes( defaults ) { return { icon: { type: 'string', source: 'html', selector: '.gb-icon', }, hasIcon: { type: 'boolean', default: false, }, iconColor: { type: 'string', default: defaults.iconColor, }, iconColorOpacity: { type: 'number', default: defaults.iconColorOpacity, }, customIcon: { type: 'boolean', default: false, }, iconLocation: { type: 'string', default: defaults.iconLocation, }, iconLocationTablet: { type: 'string', default: defaults.iconLocationTablet, }, iconLocationMobile: { type: 'string', default: defaults.iconLocationMobile, }, iconVerticalAlignment: { type: 'string', default: defaults.iconVerticalAlignment, }, iconVerticalAlignmentTablet: { type: 'string', default: defaults.iconVerticalAlignmentTablet, }, iconVerticalAlignmentMobile: { type: 'string', default: defaults.iconVerticalAlignmentMobile, }, iconPaddingTop: { type: 'string', default: defaults.iconPaddingTop, }, iconPaddingRight: { type: 'string', default: defaults.iconPaddingRight, }, iconPaddingBottom: { type: 'string', default: defaults.iconPaddingBottom, }, iconPaddingLeft: { type: 'string', default: defaults.iconPaddingLeft, }, iconPaddingTopTablet: { type: 'string', default: defaults.iconPaddingTopTablet, }, iconPaddingRightTablet: { type: 'string', default: defaults.iconPaddingRightTablet, }, iconPaddingBottomTablet: { type: 'string', default: defaults.iconPaddingBottomTablet, }, iconPaddingLeftTablet: { type: 'string', default: defaults.iconPaddingLeftTablet, }, iconPaddingTopMobile: { type: 'string', default: defaults.iconPaddingTopMobile, }, iconPaddingRightMobile: { type: 'string', default: defaults.iconPaddingRightMobile, }, iconPaddingBottomMobile: { type: 'string', default: defaults.iconPaddingBottomMobile, }, iconPaddingLeftMobile: { type: 'string', default: defaults.iconPaddingLeftMobile, }, iconPaddingUnit: { type: 'string', default: defaults.iconPaddingUnit, }, iconPaddingSyncUnits: { type: 'boolean', default: false, }, iconSize: { type: 'number', default: defaults.iconSize, }, iconSizeTablet: { type: 'number', default: defaults.iconSizeTablet, }, iconSizeMobile: { type: 'number', default: defaults.iconSizeMobile, }, iconSizeUnit: { type: 'string', default: defaults.iconSizeUnit, }, removeText: { type: 'boolean', default: defaults.removeText, }, iconStyles: { type: 'object', default: {}, }, }; }