import React from 'react'; import { __ } from '@wordpress/i18n'; import { Button } from '@wordpress/components'; import RuleComponent from './RuleComponent'; import { Rules } from './ConditionalPanel'; import MagicTagsComponent from './MagicTagsComponent'; /** * Type for RuleGroup */ type RuleGroupArgs = { group: Rules[]; isFirst: boolean; isLast: boolean; canAddMore: boolean; magicTags: string[]; onChange: ( val: string | [ ], type: keyof Rules, ruleSetIndex: number ) => void; addRuleSet: ( ruleIndex: number ) => void; addRuleGroup: () => void; removeRuleSet: ( ruleIndex: number ) => void; removeRuleGroup: () => void; }; /** * Component RuleGroup. * * @param {RuleGroupArgs} args * @class */ const RuleGroup = ( { group, isFirst, isLast, canAddMore, magicTags, onChange, addRuleSet, addRuleGroup, removeRuleSet, removeRuleGroup, }: RuleGroupArgs ) => { const updateValues = ( value: string, type: keyof Rules, ruleSetIndex: number ) => { onChange( value, type, ruleSetIndex ); }; if ( group.length < 1 ) { return null; } return ( <>