namirasoft-account-react 1.4.113 → 1.4.115

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/App.js CHANGED
@@ -1,9 +1,18 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
1
10
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
11
  import { NSALayout, NSASectionTabs, NSAVerificationPage } from "./main";
3
12
  export function App(props) {
4
- return (_jsx(_Fragment, { children: _jsxs(NSALayout, Object.assign({}, props, { scope: "Namirasoft Job Arranger Console", logo: "", background: "", header: "", notifications: [], children: [_jsx(NSASectionTabs, {}), _jsx(NSAVerificationPage, { contact_type: "Email", contact_value: "fsdfgs gfsd gd ", onApply: (code) => {
13
+ return (_jsx(_Fragment, { children: _jsxs(NSALayout, Object.assign({}, props, { scope: "Namirasoft Job Arranger Console", logo: "", background: "", header: "", notifications: [], children: [_jsx(NSASectionTabs, {}), _jsx(NSAVerificationPage, Object.assign({}, props, { contact_type: "Email", contact_value_name: "Email", getContactValue: () => "myname@example.com", onVerify: (code) => __awaiter(this, void 0, void 0, function* () {
5
14
  console.log(code);
6
- }, onSend: () => { } })] })) }));
15
+ }), onSend: () => __awaiter(this, void 0, void 0, function* () { }) }))] })) }));
7
16
  }
8
17
  ;
9
18
  //# sourceMappingURL=App.js.map
package/dist/App.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAMxE,MAAM,UAAU,GAAG,CAAC,KAAe;IAElC,OAAO,CACN,4BACC,MAAC,SAAS,oBAAK,KAAK,IACnB,KAAK,EAAE,iCAAiC,EACxC,IAAI,EAAE,EAAE,EACR,UAAU,EAAE,EAAE,EACd,MAAM,EAAE,EAAE,EACV,aAAa,EAAE,EAAE,aAEjB,KAAC,cAAc,KAAG,EAClB,KAAC,mBAAmB,IACnB,YAAY,EAAC,OAAO,EACpB,aAAa,EAAC,iBAAiB,EAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;wBAEjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBAClB,CAAC,EACD,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,GAChB,KACU,GACX,CACH,CAAC;AACH,CAAC;AAAA,CAAC"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":";;;;;;;;;;AACA,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAMxE,MAAM,UAAU,GAAG,CAAC,KAAe;IAElC,OAAO,CACN,4BACC,MAAC,SAAS,oBAAK,KAAK,IACnB,KAAK,EAAE,iCAAiC,EACxC,IAAI,EAAE,EAAE,EACR,UAAU,EAAE,EAAE,EACd,MAAM,EAAE,EAAE,EACV,aAAa,EAAE,EAAE,aAEjB,KAAC,cAAc,KAAG,EAClB,KAAC,mBAAmB,oBACf,KAAK,IACT,YAAY,EAAC,OAAO,EACpB,kBAAkB,EAAC,OAAO,EAC1B,eAAe,EAAE,GAAG,EAAE,CAAC,oBAAoB,EAC3C,QAAQ,EAAE,CAAO,IAAI,EAAE,EAAE;wBAExB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBAClB,CAAC,CAAA,EACD,MAAM,EAAE,GAAS,EAAE,gDAAG,CAAC,CAAA,IACtB,KACU,GACX,CACH,CAAC;AACH,CAAC;AAAA,CAAC"}
@@ -1,11 +1,12 @@
1
- import { IBaseComponentProps } from 'namirasoft-site-react';
2
- import React from "react";
3
- export interface INSAVerificationPageProps extends IBaseComponentProps {
1
+ import { IBaseComponentProps, INSRouterProps } from 'namirasoft-site-react';
2
+ import { ReactNode } from "react";
3
+ export interface INSAVerificationPageProps extends IBaseComponentProps, INSRouterProps {
4
4
  contact_type: string;
5
- contact_value: string;
6
- onSend: () => void;
7
- onApply: (code: string) => void;
8
- onChanged?: (e: React.ChangeEvent<HTMLInputElement>) => void;
5
+ contact_value_name: string;
6
+ getContactValue: () => string;
7
+ onSend: () => Promise<void>;
8
+ onVerify: (code: string) => Promise<void>;
9
+ children?: ReactNode;
9
10
  }
10
11
  export interface NSAVerificationPageState {
11
12
  values: string;
@@ -1,3 +1,12 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
1
10
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
11
  import Styles from './NSAVerificationPage.module.css';
3
12
  import { NSABoxOTP } from '../components/NSABoxOTP';
@@ -18,16 +27,32 @@ export function NSAVerificationPage(props) {
18
27
  setState(prevState => (Object.assign(Object.assign({}, prevState), { values: updatedValues.join("") })));
19
28
  }
20
29
  }
21
- function sendClickHandler() {
22
- props.onSend();
23
- setState(prevState => (Object.assign(Object.assign({}, prevState), { isSendCode: true })));
30
+ function onSend() {
31
+ return __awaiter(this, void 0, void 0, function* () {
32
+ try {
33
+ yield props.onSend();
34
+ setState(prevState => (Object.assign(Object.assign({}, prevState), { isSendCode: true })));
35
+ }
36
+ catch (error) {
37
+ props.notifier.onError(error);
38
+ }
39
+ });
24
40
  }
25
- function onApply() {
26
- props.onApply(state.values);
41
+ function onVerify() {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ try {
44
+ yield props.onVerify(state.values);
45
+ }
46
+ catch (error) {
47
+ props.notifier.onError(error);
48
+ }
49
+ });
27
50
  }
28
- return (_jsx(_Fragment, { children: _jsxs(NSSection, { center_items: true, children: [_jsxs("div", { className: `${Styles.nsa_verification_container} ${(_a = props.classList) === null || _a === void 0 ? void 0 : _a.join(" ")}`, style: props.style, children: [_jsx("img", { src: "https://static.namirasoft.com/image/concept/verification/purple.png", alt: 'verification vector', className: Styles.nsa_verification_vector }), _jsxs("div", { className: 'm-0', children: [_jsxs("p", { className: 'm-2', children: ["Type: ", props.contact_type] }), _jsxs("p", { className: 'm-2', children: ["Address: ", props.contact_value] })] }), state.isSendCode ?
29
- _jsxs(_Fragment, { children: [_jsxs("p", { children: ["Please enter code sent to ", props.contact_value] }), _jsx(NSABoxOTP, { onChanged: onChanged })] }) :
30
- _jsx(_Fragment, { children: _jsx(NSButtonBlue, { onClick: sendClickHandler, title: 'Send Code' }) })] }), _jsx(NSSpace, { size: NSSpaceSizeType.NORMAL }), state.isSendCode &&
31
- _jsxs(_Fragment, { children: [_jsx(NSButtonBlue, { title: "Apply", onClick: () => onApply() }), _jsx(NSSpace, { size: NSSpaceSizeType.SMALL }), _jsx("button", { onClick: props.onSend, className: Styles.nsa_resend_button, children: "Resend Code" })] })] }) }));
51
+ return (_jsx(_Fragment, { children: _jsxs(NSSection, { center_items: true, children: [_jsxs("div", { className: `${Styles.nsa_verification_container} ${(_a = props.classList) === null || _a === void 0 ? void 0 : _a.join(" ")}`, style: props.style, children: [_jsx("img", { src: "https://static.namirasoft.com/image/concept/verification/purple.png", alt: 'verification vector', className: Styles.nsa_verification_vector }), _jsxs("div", { className: 'm-0', children: [_jsxs("p", { className: 'm-2', children: ["Type: ", props.contact_type] }), props.children && !state.isSendCode ? props.children : _jsxs("p", { className: 'm-2', children: [props.contact_value_name, ": ", props.getContactValue()] })] }), state.isSendCode ?
52
+ _jsxs(_Fragment, { children: [_jsxs("p", { children: ["Please enter code sent to ", props.getContactValue()] }), _jsx(NSABoxOTP, { onChanged: onChanged })] }) :
53
+ _jsx(_Fragment, { children: _jsx(NSButtonBlue, { onClick: onSend, title: 'Send Code' }) })] }), _jsx(NSSpace, { size: NSSpaceSizeType.NORMAL }), state.isSendCode &&
54
+ _jsxs(_Fragment, { children: [_jsx(NSButtonBlue, { title: "Verify", onClick: () => onVerify() }), _jsx(NSSpace, { size: NSSpaceSizeType.SMALL }), _jsx("button", { onClick: () => {
55
+ setState(prevState => (Object.assign(Object.assign({}, prevState), { isSendCode: false })));
56
+ }, className: Styles.nsa_resend_button, children: "Resend Code" })] })] }) }));
32
57
  }
33
58
  //# sourceMappingURL=NSAVerificationPage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NSAVerificationPage.js","sourceRoot":"","sources":["../../src/pages/NSAVerificationPage.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,kCAAkC,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAiB1F,MAAM,UAAU,mBAAmB,CAAC,KAAgC;;IAEnE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAA2B;QAC5D,MAAM,EAAE,EAAE;QACV,UAAU,EAAE,KAAK;KACjB,CAAC,CAAC;IAEH,SAAS,SAAS,CAAC,KAA0C,EAAE,KAAa;QAErE,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;QAC1C,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,iCAAM,SAAS,KAAE,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,QAAQ,IAAG,CAAC,CAAC;QAC3E,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EACpC,CAAC;YACA,MAAM,aAAa,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;YAC/B,aAAa,CAAC,KAAK,CAAC,GAAG,QAAQ,CAAC;YACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,iCAAM,SAAS,KAAE,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,IAAE,CAAC,CAAA;QACzE,CAAC;IACF,CAAC;IAED,SAAS,gBAAgB;QAExB,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,iCAAM,SAAS,KAAE,UAAU,EAAE,IAAI,IAAG,CAAC,CAAA;IAC5D,CAAC;IAED,SAAS,OAAO;QAEf,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,CACN,4BACC,MAAC,SAAS,IAAC,YAAY,EAAE,IAAI,aAC5B,eACC,SAAS,EAAE,GAAG,MAAM,CAAC,0BAA0B,IAAI,MAAA,KAAK,CAAC,SAAS,0CAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAC/E,KAAK,EAAE,KAAK,CAAC,KAAK,aAElB,cACC,GAAG,EAAE,qEAAqE,EAC1E,GAAG,EAAE,qBAAqB,EAC1B,SAAS,EAAE,MAAM,CAAC,uBAAuB,GACxC,EACF,eAAK,SAAS,EAAC,KAAK,aACnB,aAAG,SAAS,EAAC,KAAK,uBAAQ,KAAK,CAAC,YAAY,IAAK,EACjD,aAAG,SAAS,EAAC,KAAK,0BAAW,KAAK,CAAC,aAAa,IAAK,IAChD,EAEL,KAAK,CAAC,UAAU,CAAC,CAAC;4BACjB,8BACC,sDAA8B,KAAK,CAAC,aAAa,IAAK,EACtD,KAAC,SAAS,IAAC,SAAS,EAAE,SAAS,GAAI,IACjC,CAAC,CAAC;4BACL,4BACC,KAAC,YAAY,IAAC,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAC,WAAW,GAAG,GAC3D,IAEA,EACN,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,MAAM,GAAY,EAChD,KAAK,CAAC,UAAU;oBAChB,8BACC,KAAC,YAAY,IAAC,KAAK,EAAC,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,GAAI,EACxD,KAAC,OAAO,IAAC,IAAI,EAAE,eAAe,CAAC,KAAK,GAAY,EAChD,iBAAQ,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,iBAAiB,4BAAuB,IACvF,IAEO,GACV,CACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"NSAVerificationPage.js","sourceRoot":"","sources":["../../src/pages/NSAVerificationPage.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.4.113",
11
+ "version": "1.4.115",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/main.js",
package/src/App.tsx CHANGED
@@ -18,13 +18,15 @@ export function App(props: AppProps)
18
18
  >
19
19
  <NSASectionTabs />
20
20
  <NSAVerificationPage
21
+ {...props}
21
22
  contact_type="Email"
22
- contact_value="fsdfgs gfsd gd "
23
- onApply={(code) =>
23
+ contact_value_name="Email"
24
+ getContactValue={() => "myname@example.com"}
25
+ onVerify={async (code) =>
24
26
  {
25
27
  console.log(code)
26
28
  }}
27
- onSend={() => { }}
29
+ onSend={async () => { }}
28
30
  />
29
31
  </NSALayout >
30
32
  </>
@@ -1,16 +1,17 @@
1
1
  import Styles from './NSAVerificationPage.module.css';
2
- import { IBaseComponentProps } from 'namirasoft-site-react';
2
+ import { IBaseComponentProps, INSRouterProps } from 'namirasoft-site-react';
3
3
  import { NSABoxOTP } from '../components/NSABoxOTP';
4
- import React, { useState } from "react";
4
+ import React, { ReactNode, useState } from "react";
5
5
  import { NSSection, NSSpace, NSSpaceSizeType, NSButtonBlue } from 'namirasoft-site-react';
6
6
 
7
- export interface INSAVerificationPageProps extends IBaseComponentProps
7
+ export interface INSAVerificationPageProps extends IBaseComponentProps, INSRouterProps
8
8
  {
9
9
  contact_type: string;
10
- contact_value: string;
11
- onSend: () => void;
12
- onApply: (code: string) => void;
13
- onChanged?: (e: React.ChangeEvent<HTMLInputElement>) => void;
10
+ contact_value_name: string;
11
+ getContactValue: () => string;
12
+ onSend: () => Promise<void>;
13
+ onVerify: (code: string) => Promise<void>;
14
+ children?: ReactNode;
14
15
  }
15
16
 
16
17
  export interface NSAVerificationPageState
@@ -28,25 +29,37 @@ export function NSAVerificationPage(props: INSAVerificationPageProps)
28
29
 
29
30
  function onChanged(event: React.ChangeEvent<HTMLInputElement>, index: number): void
30
31
  {
31
- const newValue = event.target.value;
32
+ const newValue = event.target.value;
32
33
  setState(prevState => ({ ...prevState, values: state.values + newValue }));
33
34
  if (/^\d?$/.test(event.target.value))
34
35
  {
35
36
  const updatedValues = [...state.values];
36
- updatedValues[index] = newValue;
37
- setState(prevState => ({ ...prevState, values: updatedValues.join("")}))
37
+ updatedValues[index] = newValue;
38
+ setState(prevState => ({ ...prevState, values: updatedValues.join("") }))
38
39
  }
39
40
  }
40
41
 
41
- function sendClickHandler()
42
+ async function onSend()
42
43
  {
43
- props.onSend();
44
- setState(prevState => ({ ...prevState, isSendCode: true }))
44
+ try
45
+ {
46
+ await props.onSend();
47
+ setState(prevState => ({ ...prevState, isSendCode: true }))
48
+ } catch (error)
49
+ {
50
+ props.notifier.onError(error as Error);
51
+ }
45
52
  }
46
53
 
47
- function onApply()
54
+ async function onVerify()
48
55
  {
49
- props.onApply(state.values);
56
+ try
57
+ {
58
+ await props.onVerify(state.values);
59
+ } catch (error)
60
+ {
61
+ props.notifier.onError(error as Error);
62
+ }
50
63
  }
51
64
 
52
65
  return (
@@ -63,25 +76,31 @@ export function NSAVerificationPage(props: INSAVerificationPageProps)
63
76
  />
64
77
  <div className='m-0'>
65
78
  <p className='m-2'>Type: {props.contact_type}</p>
66
- <p className='m-2'>Address: {props.contact_value}</p>
79
+ {
80
+ props.children && !state.isSendCode ? props.children : <p className='m-2'>{props.contact_value_name}: {props.getContactValue()}</p>
81
+ }
67
82
  </div>
68
83
  {
69
84
  state.isSendCode ?
70
85
  <>
71
- <p>Please enter code sent to {props.contact_value}</p>
86
+ <p>Please enter code sent to {props.getContactValue()}</p>
72
87
  <NSABoxOTP onChanged={onChanged} />
73
88
  </> :
74
89
  <>
75
- <NSButtonBlue onClick={sendClickHandler} title='Send Code' />
90
+ <NSButtonBlue onClick={onSend} title='Send Code' />
76
91
  </>
77
92
  }
78
93
  </div>
79
94
  <NSSpace size={NSSpaceSizeType.NORMAL}></NSSpace>
80
- {state.isSendCode &&
95
+ {
96
+ state.isSendCode &&
81
97
  <>
82
- <NSButtonBlue title="Apply" onClick={() => onApply()} />
98
+ <NSButtonBlue title="Verify" onClick={() => onVerify()} />
83
99
  <NSSpace size={NSSpaceSizeType.SMALL}></NSSpace>
84
- <button onClick={props.onSend} className={Styles.nsa_resend_button} >Resend Code</button>
100
+ <button onClick={() =>
101
+ {
102
+ setState(prevState => ({ ...prevState, isSendCode: false }))
103
+ }} className={Styles.nsa_resend_button}>Resend Code</button>
85
104
  </>
86
105
  }
87
106
  </NSSection>