UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

63 lines (62 loc) 2.25 kB
"use strict"; "use client"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _componentHelper = require("../../shared/component-helper.js"); var _InputMaskedContext = _interopRequireDefault(require("./InputMaskedContext.js")); var _InputMaskedElement2 = _interopRequireDefault(require("./InputMaskedElement.js")); var _Input = _interopRequireDefault(require("../input/Input.js")); var _Context = _interopRequireDefault(require("../../shared/Context.js")); var _InputMaskedElement; function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } function InputMasked(props) { const context = _react.default.useContext(_Context.default); if (props !== null && props !== void 0 && props.mask) { const alias = context === null || context === void 0 ? void 0 : context.InputMasked; for (const key in alias) { if (/^as[_A-Z]|number_mask|currency_mask/.test(key)) { delete alias[key]; } } } const contextAndProps = _react.default.useMemo(() => { return (0, _componentHelper.extendPropsWithContext)(props, defaultProps, context === null || context === void 0 ? void 0 : context.InputMasked); }, [context === null || context === void 0 ? void 0 : context.InputMasked, props]); return _react.default.createElement(_InputMaskedContext.default.Provider, { value: { props: contextAndProps, context } }, _InputMaskedElement || (_InputMaskedElement = _react.default.createElement(_InputMaskedElement2.default, null))); } const defaultProps = { ..._Input.default.defaultProps, mask: null, number_mask: null, currency_mask: null, mask_options: null, number_format: null, as_currency: null, as_number: null, as_percent: null, locale: null, show_mask: false, show_guide: true, pipe: null, keep_char_positions: false, placeholder_char: null, inner_ref: null, on_change: null, on_submit: null, on_focus: null, on_blur: null, on_submit_focus: null, on_submit_blur: null }; var _default = exports.default = InputMasked; InputMasked._formElement = true; InputMasked._supportsSpacingProps = true; //# sourceMappingURL=InputMasked.js.map