UNPKG

@wordpress/components

Version:
63 lines (58 loc) 1.45 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import { createElement } from "@wordpress/element"; /** * External dependencies */ /** * Internal dependencies */ import { contextConnect } from '../../ui/context'; import { useItemGroup } from './hook'; import { ItemGroupContext, useItemGroupContext } from '../context'; import { View } from '../../view'; function UnconnectedItemGroup(props, forwardedRef) { const { isBordered, isSeparated, size: sizeProp, ...otherProps } = useItemGroup(props); const { size: contextSize } = useItemGroupContext(); const spacedAround = !isBordered && !isSeparated; const size = sizeProp || contextSize; const contextValue = { spacedAround, size }; return createElement(ItemGroupContext.Provider, { value: contextValue }, createElement(View, _extends({}, otherProps, { ref: forwardedRef }))); } /** * `ItemGroup` displays a list of `Item`s grouped and styled together. * * @example * ```jsx * import { * __experimentalItemGroup as ItemGroup, * __experimentalItem as Item, * } from '@wordpress/components'; * * function Example() { * return ( * <ItemGroup> * <Item>Code</Item> * <Item>is</Item> * <Item>Poetry</Item> * </ItemGroup> * ); * } * ``` */ export const ItemGroup = contextConnect(UnconnectedItemGroup, 'ItemGroup'); export default ItemGroup; //# sourceMappingURL=component.js.map