diff --git a/packages/solid-imask/src/directive.ts b/packages/solid-imask/src/directive.ts index 7a74dd58..7b51db3c 100644 --- a/packages/solid-imask/src/directive.ts +++ b/packages/solid-imask/src/directive.ts @@ -24,6 +24,7 @@ interface SolidMaskedDirectiveInterface< ) => void; value?: () => InputMask['value']; unmaskedValue?: () => InputMask['unmaskedValue']; + typedValue?: () => InputMask['typedValue']; } declare module 'solid-js' { @@ -57,11 +58,18 @@ const masked = < ) => void; value?: () => InputMask['value']; unmaskedValue?: () => InputMask['unmaskedValue']; + typedValue?: () => InputMask['typedValue']; } ) => { - const { mask, onAccept, onComplete, value, unmaskedValue } = props(); + const { mask, onAccept, onComplete, value, unmaskedValue, typedValue } = props(); const m = IMask(el, mask); + createEffect(() => { + if (m && typedValue) { + m.typedValue = typedValue(); + } + }); + createEffect(() => { if (m && unmaskedValue) { m.unmaskedValue = unmaskedValue();