UNPKG

@postenbring/hedwig-react

Version:

React components for [Hedwig Design System](https://github.com/bring/hedwig-design-system).

81 lines (79 loc) 3.02 kB
import { focusWithLegendOrLabelInViewport } from "./chunk-CKAL5ZJZ.mjs"; import { Message } from "./chunk-BYFBK3J7.mjs"; import { useMergeRefs } from "./chunk-ILFK3VKS.mjs"; import { Link } from "./chunk-OHDHIRAW.mjs"; import { UnorderedList } from "./chunk-3QHKPEXO.mjs"; import { __objRest, __spreadProps, __spreadValues } from "./chunk-YOSPWY5K.mjs"; // src/form/error-summary/error-summary.tsx import { forwardRef, useEffect, useRef } from "react"; import { jsx } from "react/jsx-runtime"; var ErrorSummaryHeading = forwardRef((_a, ref) => { var _b = _a, { children, as: Tag, autoFocus = true } = _b, rest = __objRest(_b, ["children", "as", "autoFocus"]); const focusRef = useRef(null); const mergedRef = useMergeRefs([focusRef, ref]); useEffect(() => { setTimeout(() => { if (focusRef.current && autoFocus) { focusRef.current.focus(); } }); }, []); return /* @__PURE__ */ jsx(Message.Title, __spreadProps(__spreadValues({ ref: mergedRef, tabIndex: -1, asChild: true }, rest), { children: Tag ? /* @__PURE__ */ jsx(Tag, { children }) : children })); }); ErrorSummaryHeading.displayName = "ErrorSummary.Heading"; var ErrorSummaryList = forwardRef( (_a, ref) => { var _b = _a, { children, style: _style, size = "small" } = _b, rest = __objRest(_b, ["children", "style", "size"]); const style = __spreadValues({ // Match the link `solid` style, which black underline "--_hds-list-marker-color": "var(--hds-ui-colors-black)" }, _style); return /* @__PURE__ */ jsx(Message.Description, { asChild: true, children: /* @__PURE__ */ jsx(UnorderedList, __spreadProps(__spreadValues({ size, ref, style }, rest), { children })) }); } ); ErrorSummaryList.displayName = "ErrorSummary.List"; var ErrorSummaryItem = forwardRef( (_a, ref) => { var _b = _a, { children, href, linkProps } = _b, rest = __objRest(_b, ["children", "href", "linkProps"]); function onClick(e) { var _a2; (_a2 = linkProps == null ? void 0 : linkProps.onClick) == null ? void 0 : _a2.call(linkProps, e); if (focusWithLegendOrLabelInViewport(href.replace("#", ""))) { e.preventDefault(); } } return /* @__PURE__ */ jsx("li", __spreadProps(__spreadValues({ ref }, rest), { children: /* @__PURE__ */ jsx(Link, __spreadProps(__spreadValues({ size: "small", href, variant: "solid" }, linkProps), { onClick, children })) })); } ); ErrorSummaryItem.displayName = "ErrorSummary.Item"; var ErrorSummary = forwardRef( (_a, ref) => { var _b = _a, { children } = _b, rest = __objRest(_b, ["children"]); return /* @__PURE__ */ jsx(Message, __spreadProps(__spreadValues({ variant: "warning", ref }, rest), { children })); } ); ErrorSummary.displayName = "ErrorSummary"; ErrorSummary.Heading = ErrorSummaryHeading; ErrorSummary.List = ErrorSummaryList; ErrorSummary.Item = ErrorSummaryItem; export { ErrorSummaryHeading, ErrorSummaryList, ErrorSummaryItem, ErrorSummary }; //# sourceMappingURL=chunk-ZSYBCM2L.mjs.map