UNPKG

@base-ui-components/react

Version:

Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features.

58 lines (57 loc) 2.21 kB
"use strict"; 'use client'; Object.defineProperty(exports, "__esModule", { value: true }); exports.FieldRootContext = void 0; exports.useFieldRootContext = useFieldRootContext; var React = _interopRequireWildcard(require("react")); var _constants = require("../utils/constants"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } const NOOP = () => {}; const FieldRootContext = exports.FieldRootContext = /*#__PURE__*/React.createContext({ invalid: undefined, controlId: undefined, setControlId: NOOP, labelId: undefined, setLabelId: NOOP, messageIds: [], setMessageIds: NOOP, name: undefined, validityData: { state: _constants.DEFAULT_VALIDITY_STATE, errors: [], error: '', value: '', initialValue: null }, setValidityData: NOOP, disabled: undefined, touched: false, setTouched: NOOP, dirty: false, setDirty: NOOP, validate: () => null, validationMode: 'onBlur', validationDebounceTime: 0, state: { disabled: false, valid: null, touched: false, dirty: false }, markedDirtyRef: { current: false } }); if (process.env.NODE_ENV !== 'production') { FieldRootContext.displayName = 'FieldRootContext'; } function useFieldRootContext(optional = true) { const context = React.useContext(FieldRootContext); if (context.setControlId === NOOP && !optional) { throw new Error('Base UI: FieldRootContext is missing. Field parts must be placed within <Field.Root>.'); } return context; }