UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

36 lines (35 loc) 1.67 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const jsxRuntime = require("react/jsx-runtime"); const React = require("react"); const uikitReactUtils = require("@hitachivantara/uikit-react-utils"); const useUniqueId = require("../hooks/useUniqueId.cjs"); const context = require("./context.cjs"); const FormElement_styles = require("./FormElement.styles.cjs"); const utils = require("./utils.cjs"); const HvFormElement = (props) => { const { classes: classesProp, className, children, id: idProp, name, value, disabled, required, readOnly, status = "standBy", ...others } = uikitReactUtils.useDefaultProps("HvFormElement", props); const { classes, cx } = FormElement_styles.useClasses(classesProp); const id = useUniqueId.useUniqueId(idProp); const contextValue = React.useMemo( () => ({ id, name, status, disabled, required, readOnly }), [id, name, status, disabled, required, readOnly] ); const descriptors = React.useMemo(() => utils.findDescriptors(children), [children]); return /* @__PURE__ */ jsxRuntime.jsx("div", { id, className: cx(classes.root, className), ...others, children: /* @__PURE__ */ jsxRuntime.jsx(context.HvFormElementContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(context.HvFormElementValueContext.Provider, { value, children: /* @__PURE__ */ jsxRuntime.jsx(context.HvFormElementDescriptorsContext.Provider, { value: descriptors, children }) }) }) }); }; HvFormElement.formElementType = "formelement"; exports.formElementClasses = FormElement_styles.staticClasses; exports.HvFormElement = HvFormElement;