@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
53 lines (52 loc) • 2 kB
JavaScript
"use client";
import _extends from "@babel/runtime/helpers/esm/extends";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
const _excluded = ["label", "className", "children"],
_excluded2 = ["skeleton"];
import "core-js/modules/web.dom-collections.iterator.js";
import React from 'react';
import classnames from 'classnames';
import { createSpacingClasses } from '../space/SpacingHelper';
import { validateDOMAttributes, extendPropsWithContext } from '../../shared/component-helper';
import Context from '../../shared/Context';
import { TagGroupContext } from './TagContext';
export const defaultProps = {
label: null,
className: null,
children: null,
skeleton: false
};
const TagGroup = localProps => {
const context = React.useContext(Context);
const _extendPropsWithConte = extendPropsWithContext(localProps, defaultProps, context === null || context === void 0 ? void 0 : context.TagGroup, {
skeleton: context === null || context === void 0 ? void 0 : context.skeleton
}),
{
label,
className,
children: childrenProp
} = _extendPropsWithConte,
props = _objectWithoutProperties(_extendPropsWithConte, _excluded);
let children = childrenProp;
if (Array.isArray(childrenProp)) {
children = [...childrenProp].map(child => {
return child;
});
}
const spacingClasses = createSpacingClasses(props);
const _validateDOMAttribute = validateDOMAttributes({}, props),
{
skeleton
} = _validateDOMAttribute,
attributes = _objectWithoutProperties(_validateDOMAttribute, _excluded2);
return React.createElement(TagGroupContext.Provider, {
value: props
}, React.createElement("span", _extends({
className: classnames('dnb-tag__group', spacingClasses, className)
}, attributes), React.createElement("span", {
className: "dnb-sr-only"
}, label), children));
};
TagGroup._supportsSpacingProps = true;
export default TagGroup;
//# sourceMappingURL=TagGroup.js.map