diff --git a/src/block/icon-list-item/style.scss b/src/block/icon-list-item/style.scss index d16d20a8fa..251c3e9e95 100644 --- a/src/block/icon-list-item/style.scss +++ b/src/block/icon-list-item/style.scss @@ -18,7 +18,7 @@ } // Apply the color to the SVG path on the defintion - svg.ugb-custom-icon :is(g,path,rect,polygon,ellipse) { + &:not(.stk__use-custom-icon-color) svg:where(.ugb-custom-icon) :is(g,path,rect,polygon,ellipse) { fill: var(--stk-icon-list-marker-color) !important; color: var(--stk-icon-list-marker-color) !important; } @@ -48,17 +48,22 @@ width: var(--stk-icon-height, var(--stk-icon-list-icon-size, 16px)); transform: rotate(var(--stk-icon-list-icon-rotation, 0deg)); opacity: var(--stk-icon-list-icon-opacity, 1); - fill: var(--stk-icon-list-marker-color); - color: var(--stk-icon-list-marker-color); position: relative; - :is(use,g,path,rect,polygon,ellipse) { - fill: var(--stk-icon-list-marker-color); - color: var(--stk-icon-list-marker-color); - } } } + } +} + +.stk-block-icon-list:not(.stk__use-custom-icon-color) .stk-block-icon-list__ul .stk-block-icon-list-item .stk-block-icon-list-item__content { + .stk--inner-svg svg { + fill: var(--stk-icon-list-marker-color); + color: var(--stk-icon-list-marker-color); + :is(use,g,path,rect,polygon,ellipse) { + fill: var(--stk-icon-list-marker-color); + color: var(--stk-icon-list-marker-color); + } } } diff --git a/src/block/icon-list/edit.js b/src/block/icon-list/edit.js index 312e91d65a..661f14a272 100644 --- a/src/block/icon-list/edit.js +++ b/src/block/icon-list/edit.js @@ -52,6 +52,7 @@ import { dispatch, useSelect } from '@wordpress/data' import { addFilter } from '@wordpress/hooks' import { memo } from '@wordpress/element' import { useBlockLayoutDefaults } from '~stackable/hooks' +import { ToggleControl } from '@wordpress/components' const ALLOWED_INNER_BLOCKS = [ 'stackable/icon-list-item' ] @@ -143,6 +144,7 @@ const Edit = props => { listItemBorderColor, listDisplayStyle, listFullWidth, + useCustomIconColor, } = attributes const wrapList = ! listFullWidth && listDisplayStyle !== 'grid' @@ -163,7 +165,9 @@ const Edit = props => { 'stk-block-icon-list', blockAlignmentClass, textClasses, - ] ) + ], { + 'stk__use-custom-icon-color': useCustomIconColor, + } ) const tagNameClassNames = classnames( [ ordered ? 'stk-block-icon-list__ol' : 'stk-block-icon-list__ul', @@ -209,6 +213,7 @@ const Edit = props => { listItemBorderStyle={ listItemBorderStyle } listItemBorderColor={ listItemBorderColor } resetCustomIcons={ resetCustomIcons } + useCustomIconColor={ useCustomIconColor } /> { blockCss && } @@ -339,7 +344,7 @@ const InspectorControls = memo( props => { default="unordered" /> - { ! props.ordered && ( + { ! props.ordered && <> { } } defaultValue={ DEFAULT_SVG } /> - ) } + + props.setAttributes( { useCustomIconColor } ) } + /> + } { props.ordered && ( { versionAdded: '3.0.0', versionDeprecated: '', } ) + attrObject.add( { + attributes: { + useCustomIconColor: { + type: 'boolean', + default: false, + }, + }, + versionAdded: '3.14.4', + versionDeprecated: '', + } ) return attrObject.getMerged( version ) }