diff --git a/addons/addon-contexts/src/@types/index.ts b/addons/addon-contexts/src/@types/index.ts index 28264f9f72a..eba96b7c2b9 100644 --- a/addons/addon-contexts/src/@types/index.ts +++ b/addons/addon-contexts/src/@types/index.ts @@ -57,7 +57,9 @@ export declare type RenderAggregatedComponents = ( export declare type RenderAggregatedContexts = ( ...arg: [ContextNode[], Exclude] ) => GenericFnWithReturn; -export declare type MergeSettings = (...args: Partial[]) => ContextNode; +export declare type MergeSettings = ( + ...args: [Partial, Partial] +) => ContextNode; export declare type GetNodes = (settings: WrapperSettings) => ContextNode[]; export declare type UseChannel = ( event: string, diff --git a/addons/addon-contexts/src/components/ToolBar.tsx b/addons/addon-contexts/src/components/ToolBar.tsx index b186362f6ec..88cc9e99395 100644 --- a/addons/addon-contexts/src/components/ToolBar.tsx +++ b/addons/addon-contexts/src/components/ToolBar.tsx @@ -7,9 +7,11 @@ export const ToolBar: TToolBar = React.memo(({ nodes, setSelect }) => nodes.length ? ( <> - {nodes.map(({ components, ...rest }) => ( - - ))} + {nodes.map(({ components, ...props }) => + props.params.length > 1 ? ( + + ) : null + )} ) : null ); diff --git a/addons/addon-contexts/src/libs/helpers.ts b/addons/addon-contexts/src/libs/helpers.ts index 1604a7b4421..ef72c70b617 100644 --- a/addons/addon-contexts/src/libs/helpers.ts +++ b/addons/addon-contexts/src/libs/helpers.ts @@ -35,13 +35,15 @@ export const renderAggregatedContexts: RenderAggregatedContexts = (nodes, propsT export const mergeSettings: MergeSettings = ( { icon = '', title = '', components = [], params = [], options = {} }, - { params: additionalParams = [], options: localOptions = {} } + { params: storyParams = [], options: storyOptions = {} } ) => ({ nodeId: title, icon: icon, title: title, components: components, - params: params.concat(additionalParams), + params: !(params.length || storyParams.length) + ? params.concat(storyParams) + : [{ name: '', props: {} }], options: Object.assign( { deep: false, @@ -49,7 +51,7 @@ export const mergeSettings: MergeSettings = ( cancelable: false, }, options, - localOptions + storyOptions ), });