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 )
}