UNPKG

@dnb/eufemia

Version:

DNB Eufemia Design System UI Library

57 lines (56 loc) 1.81 kB
"use client"; var _InputMaskedElement; import React from 'react'; import { extendPropsWithContext } from "../../shared/component-helper.js"; import InputMaskedContext from "./InputMaskedContext.js"; import InputMaskedElement from "./InputMaskedElement.js"; import Input from "../input/Input.js"; import Context from "../../shared/Context.js"; function InputMasked(props) { const context = React.useContext(Context); 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.useMemo(() => { return extendPropsWithContext(props, defaultProps, context === null || context === void 0 ? void 0 : context.InputMasked); }, [context === null || context === void 0 ? void 0 : context.InputMasked, props]); return React.createElement(InputMaskedContext.Provider, { value: { props: contextAndProps, context } }, _InputMaskedElement || (_InputMaskedElement = React.createElement(InputMaskedElement, null))); } const defaultProps = { ...Input.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 }; export default InputMasked; InputMasked._formElement = true; InputMasked._supportsSpacingProps = true; //# sourceMappingURL=InputMasked.js.map