Skip to content

Commit c90c7ab

Browse files
committed
fix logic for input
1 parent 49a6cf1 commit c90c7ab

3 files changed

Lines changed: 24 additions & 12 deletions

File tree

index.html

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,16 @@
1616
OneSignalDeferred.push(async function (OneSignal) {
1717
await OneSignal.init({
1818
appId,
19+
// promptOptions: {
20+
// slidedown: {
21+
// prompts: [
22+
// {
23+
// type: 'email',
24+
// // autoPrompt: false,
25+
// },
26+
// ],
27+
// },
28+
// },
1929
});
2030
});
2131

src/global.d.ts

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -34,18 +34,20 @@ declare global {
3434
safari?: {
3535
pushNotification?: SafariRemoteNotification;
3636
};
37-
intlTelInput: ((
37+
intlTelInputUtils: {
38+
numberFormat: {
39+
E164: string;
40+
};
41+
};
42+
intlTelInput: (
3843
element: Element,
3944
options: {
4045
autoPlaceholder: string;
4146
separateDialCode: boolean;
4247
},
43-
) => void) & {
44-
utils: {
45-
numberFormat: {
46-
E164: string;
47-
};
48-
};
48+
) => {
49+
isValidNumber: () => boolean;
50+
getNumber: (format: string) => string;
4951
};
5052
}
5153

src/page/slidedown/ChannelCaptureContainer.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export default class ChannelCaptureContainer {
3434
public smsInputFieldIsValid = true;
3535
public emailInputFieldIsValid = true;
3636
private promptOptions: SlidedownPromptOptions;
37-
private itiOneSignal: any; // iti library initialization return obj
37+
private itiOneSignal: ReturnType<typeof window.intlTelInput> | undefined;
3838

3939
constructor(promptOptions: SlidedownPromptOptions) {
4040
this.promptOptions = promptOptions;
@@ -207,7 +207,7 @@ export default class ChannelCaptureContainer {
207207

208208
smsInput.addEventListener('keyup', (event) => {
209209
this.smsInputFieldIsValid =
210-
this.itiOneSignal.isValidNumber() ||
210+
this.itiOneSignal?.isValidNumber() ||
211211
(smsInput as HTMLInputElement)?.value === '';
212212

213213
// @ts-expect-error - TODO: improve type
@@ -222,7 +222,7 @@ export default class ChannelCaptureContainer {
222222
// handles case where number is typed, then country is changed after
223223
smsInput.addEventListener('blur', () => {
224224
this.smsInputFieldIsValid =
225-
this.itiOneSignal.isValidNumber() ||
225+
this.itiOneSignal?.isValidNumber() ||
226226
(smsInput as HTMLInputElement)?.value === '';
227227

228228
this.updateValidationOnSmsInputChange();
@@ -369,8 +369,8 @@ export default class ChannelCaptureContainer {
369369

370370
getValueFromSmsInput(): string {
371371
return (
372-
this.itiOneSignal.getNumber(
373-
window.intlTelInput.utils.numberFormat.E164,
372+
this.itiOneSignal?.getNumber(
373+
window.intlTelInputUtils.numberFormat.E164,
374374
) || ''
375375
);
376376
}

0 commit comments

Comments
 (0)