@base-ui/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.
30 lines (29 loc) • 1.27 kB
JavaScript
;
'use client';
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.OTPFieldRootContext = void 0;
exports.getOTPFieldInputState = getOTPFieldInputState;
exports.useOTPFieldRootContext = useOTPFieldRootContext;
var _formatErrorMessage2 = _interopRequireDefault(require("@base-ui/utils/formatErrorMessage"));
var React = _interopRequireWildcard(require("react"));
const OTPFieldRootContext = exports.OTPFieldRootContext = /*#__PURE__*/React.createContext(undefined);
if (process.env.NODE_ENV !== "production") OTPFieldRootContext.displayName = "OTPFieldRootContext";
function useOTPFieldRootContext() {
const context = React.useContext(OTPFieldRootContext);
if (context === undefined) {
throw new Error(process.env.NODE_ENV !== "production" ? 'Base UI: OTPFieldRootContext is missing. OTPField parts must be placed within <OTPField.Root>.' : (0, _formatErrorMessage2.default)(98));
}
return context;
}
function getOTPFieldInputState(state, value, index) {
return {
...state,
value,
index,
filled: value !== ''
};
}