UNPKG

@gravity-ui/uikit

Version:

Gravity UI base styling and components

36 lines (35 loc) 1.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DefinitionList = DefinitionList; const tslib_1 = require("tslib"); const jsx_runtime_1 = require("react/jsx-runtime"); const React = tslib_1.__importStar(require("react")); const filterDOMProps_1 = require("../utils/filterDOMProps.js"); const isOfType_1 = require("../utils/isOfType.js"); const warn_1 = require("../utils/warn.js"); const DefinitionListContext_1 = require("./components/DefinitionListContext.js"); const DefinitionListItem_1 = require("./components/DefinitionListItem.js"); const constants_1 = require("./constants.js"); require("./DefinitionList.css"); function DefinitionList({ responsive, direction = 'horizontal', nameMaxWidth, contentMaxWidth, className, children, qa, ...restProps }) { const normalizedChildren = prepareChildren(children); return ((0, jsx_runtime_1.jsx)(DefinitionListContext_1.DefinitionListProvider, { direction: direction, nameMaxWidth: nameMaxWidth, contentMaxWidth: contentMaxWidth, children: (0, jsx_runtime_1.jsx)("dl", { ...(0, filterDOMProps_1.filterDOMProps)(restProps, { labelable: true }), className: (0, constants_1.b)({ responsive, vertical: direction === 'vertical' }, className), "data-qa": qa, children: normalizedChildren }) })); } const isDefinitionListItem = (0, isOfType_1.isOfType)(DefinitionListItem_1.DefinitionListItem); function prepareChildren(children) { const items = React.Children.toArray(children); const normalizedItems = []; for (const item of items) { const isItem = isDefinitionListItem(item); if (isItem) { normalizedItems.push(item); } else { (0, warn_1.warnOnce)('[DefinitionList] Only <DefinitionList.Item> components is allowed as children'); } } return normalizedItems; } DefinitionList.Item = DefinitionListItem_1.DefinitionListItem; DefinitionList.displayName = 'DefinitionList'; //# sourceMappingURL=DefinitionList.js.map