UNPKG

@veracity/vui

Version:

Veracity UI is a React component library crafted for use within Veracity applications and pages. Based on Styled Components and @xstyled.

63 lines (61 loc) 1.74 kB
import { isJsx } from "../utils/assertion.js"; import { cs } from "../utils/styles.js"; import { inputColors } from "./consts.js"; import { useStyleConfig } from "../core/theme.js"; import vui from "../core/vui.js"; import { Box } from "../box/box.js"; import { Icon } from "../icon/icon.js"; import { P } from "../p/p.js"; import { useInputContext } from "./context.js"; import { jsx, jsxs } from "react/jsx-runtime"; //#region src/input/helpText.tsx /** Displaying help text below the input. */ const HelpText = vui((props, ref) => { const { className, children, isError, ...rest } = props; const mergedProps = { ...useInputContext(), ...props }; const styles = useStyleConfig("Input", mergedProps); const color = isError ? inputColors.error : inputColors.helpText; if (isJsx(children)) return /* @__PURE__ */ jsxs(Box, { alignItems: "flex-start", className: cs("vui-inputHelpText", className), color, display: "flex", pt: .5, ref, ...styles.helpText, ...rest, children: [isError && /* @__PURE__ */ jsx(Icon, { mr: 1, mt: "3px", name: "uiExclamationTriangle", pathFill: inputColors.error, size: "sm" }), children] }); return /* @__PURE__ */ jsxs(P, { alignItems: "flex-start", className: cs("vui-inputHelpText", className), color, display: "flex", fontSize: isError ? "md" : "sm", pt: .5, ref, ...styles.helpText, ...rest, children: [isError && /* @__PURE__ */ jsx(Icon, { mr: 1, mt: "3px", name: "uiExclamationTriangle", pathFill: inputColors.error, size: "sm" }), children] }); }); HelpText.displayName = "HelpText"; //#endregion export { HelpText, HelpText as default }; globalThis.__vuiVersion__ = "5.3.1" //# sourceMappingURL=helpText.js.map