@postenbring/hedwig-react
Version:
React components for [Hedwig Design System](https://github.com/bring/hedwig-design-system).
81 lines (79 loc) • 3.02 kB
JavaScript
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