UNPKG

braid-design-system

Version:
63 lines (62 loc) 2.32 kB
"use strict"; const jsxRuntime = require("react/jsx-runtime"); const lib_utils_align_cjs = require("../../../utils/align.cjs"); const lib_components_Box_Box_cjs = require("../../Box/Box.cjs"); const lib_components_private_MaxLines_MaxLines_cjs = require("../MaxLines/MaxLines.cjs"); const lib_components_private_buildDataAttributes_cjs = require("../buildDataAttributes.cjs"); const lib_components_private_iconSlotSpace_cjs = require("../iconSlotSpace.cjs"); const lib_components_private_MaxLines_MaxLines_css_cjs = require("../MaxLines/MaxLines.css.cjs"); const Typography = ({ id, component = "span", className, align, maxLines, icon, data, children, ...restProps }) => { const isTruncated = typeof maxLines === "number"; const contents = isTruncated ? /* @__PURE__ */ jsxRuntime.jsx(lib_components_private_MaxLines_MaxLines_cjs.MaxLines, { lines: maxLines, children }) : children; return /* @__PURE__ */ jsxRuntime.jsx( lib_components_Box_Box_cjs.Box, { id, display: "block", component, textAlign: align, className: [ className, isTruncated ? lib_components_private_MaxLines_MaxLines_css_cjs.descenderCropFixForWebkitBox : void 0 ], minWidth: isTruncated ? 0 : void 0, ...lib_components_private_buildDataAttributes_cjs.buildDataAttributes({ data, validateRestProps: restProps }), children: icon ? /* @__PURE__ */ jsxRuntime.jsxs( lib_components_Box_Box_cjs.Box, { component: "span", display: "flex", justifyContent: lib_utils_align_cjs.alignToFlexAlign(align), children: [ /* @__PURE__ */ jsxRuntime.jsx( lib_components_Box_Box_cjs.Box, { component: "span", display: "block", paddingRight: lib_components_private_iconSlotSpace_cjs.iconSlotSpace, flexGrow: 0, flexShrink: 0, minWidth: 0, textAlign: align, children: icon } ), /* @__PURE__ */ jsxRuntime.jsx(lib_components_Box_Box_cjs.Box, { component: "span", display: "block", minWidth: 0, children: contents }) ] } ) : contents } ); }; exports.Typography = Typography;