namirasoft-site-react 1.4.576 → 1.4.577

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.
@@ -1,6 +1,7 @@
1
1
  export interface NSLabelSensitiveProps {
2
2
  value: string;
3
3
  sensitive: boolean;
4
+ copy?: boolean;
4
5
  decryptor?: (value: string) => Promise<string>;
5
6
  }
6
7
  export interface NSLabelSensitiveState {
@@ -9,6 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  };
10
10
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
11
11
  import { useState } from 'react';
12
+ import { NSCopy } from "./NSCopy";
12
13
  import Styles from "./NSLabelSensitive.module.css";
13
14
  export function NSLabelSensitive(props) {
14
15
  const [state, setState] = useState({
@@ -30,13 +31,22 @@ export function NSLabelSensitive(props) {
30
31
  setState((prev) => (Object.assign(Object.assign({}, prev), { loading: false })));
31
32
  }
32
33
  });
34
+ const getDecryptedValue = () => __awaiter(this, void 0, void 0, function* () {
35
+ var _a, _b;
36
+ if (state.decrypted_value)
37
+ return state.decrypted_value;
38
+ const decrypted_value = (_b = yield ((_a = props.decryptor) === null || _a === void 0 ? void 0 : _a.call(props, props.value))) !== null && _b !== void 0 ? _b : props.value;
39
+ setState((prev) => (Object.assign(Object.assign({}, prev), { decrypted_value })));
40
+ return decrypted_value;
41
+ });
33
42
  let placeholder = Array.from({ length: 6 }, (_, i) => (_jsx("img", { src: "https://static.namirasoft.com/image/concept/close/blue.svg", width: "12", height: "12", alt: "times" }, i + 1)));
43
+ let content = state.show ? _jsx("span", { children: state.decrypted_value }) : _jsx("div", { children: placeholder });
34
44
  return (_jsxs("div", { className: "d-flex align-items-center gap-1", children: [(props.sensitive && !state.loading) &&
35
45
  _jsx("button", { onClick: () => decrypt(), className: Styles.ns_button, children: _jsx("img", { src: `https://static.namirasoft.com/image/concept/password/${state.show ? "show" : "hide"}.png`, width: "20", height: "20", alt: "password" }) }), state.loading &&
36
- _jsx("div", { className: "spinner-border spinner-border-sm text-primary", role: "status" }), state.show ?
37
- _jsx("span", { children: state.decrypted_value })
46
+ _jsx("div", { className: "spinner-border spinner-border-sm text-primary", role: "status" }), props.copy ?
47
+ _jsx(NSCopy, { getValue: getDecryptedValue, copyOnClick: true, children: content })
38
48
  :
39
- _jsx("div", { children: placeholder })] }));
49
+ content] }));
40
50
  }
41
51
  export default NSLabelSensitive;
42
52
  //# sourceMappingURL=NSLabelSensitive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NSLabelSensitive.js","sourceRoot":"","sources":["../../src/components/NSLabelSensitive.tsx"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,MAAM,MAAM,+BAA+B,CAAC;AAgBnD,MAAM,UAAU,gBAAgB,CAAC,KAA4B;IAEzD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAwB;QACtD,IAAI,EAAE,CAAC,KAAK,CAAC,SAAS;QACtB,eAAe,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACtD,OAAO,EAAE,KAAK;KACjB,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,GAAS,EAAE;;QAEvB,IACA,CAAC;YACG,IAAI,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;YAEhC,IAAI,CAAC,eAAe,EACpB,CAAC;gBACG,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iCAAM,IAAI,KAAE,OAAO,EAAE,IAAI,IAAG,CAAC,CAAC;gBACjD,eAAe,GAAG,MAAA,MAAM,CAAA,MAAA,KAAK,CAAC,SAAS,sDAAG,KAAK,CAAC,KAAK,CAAC,CAAA,mCAAI,KAAK,CAAC,KAAK,CAAC;YAC1E,CAAC;YAED,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAChF,CAAC;QACD,OAAO,KAAK,EACZ,CAAC;YACG,QAAQ,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iCAAM,IAAI,KAAE,OAAO,EAAE,KAAK,IAAG,CAAC,CAAC;QACtD,CAAC;IACL,CAAC,CAAA,CAAA;IAED,IAAI,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAClD,cAEI,GAAG,EAAC,4DAA4D,EAChE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,GAAG,EAAC,OAAO,IAJN,CAAC,GAAG,CAAC,CAKZ,CACL,CAAC,CAAA;IAEF,OAAO,CACH,eAAK,SAAS,EAAC,iCAAiC,aAExC,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;gBACnC,iBACI,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,EACxB,SAAS,EAAE,MAAM,CAAC,SAAS,YAE3B,cACI,GAAG,EAAE,wDAAwD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAC/F,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,GAAG,EAAC,UAAU,GAChB,GACG,EAGT,KAAK,CAAC,OAAO;gBACb,cAAK,SAAS,EAAC,+CAA+C,EAAC,IAAI,EAAC,QAAQ,GAAG,EAG/E,KAAK,CAAC,IAAI,CAAC,CAAC;gBACR,yBAAO,KAAK,CAAC,eAAe,GAAQ;gBACpC,CAAC;oBACD,wBAAM,WAAW,GAAO,IAE9B,CACT,CAAA;AACL,CAAC;AAED,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"NSLabelSensitive.js","sourceRoot":"","sources":["../../src/components/NSLabelSensitive.tsx"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { BaseColumnFormatter } from "./BaseColumnFormatter";
3
3
  export declare class SensitiveFormatter<RowType = any> extends BaseColumnFormatter {
4
4
  decryptor: (value: string) => Promise<string>;
5
5
  isSensitive: (col: TableColumnInfo, row: TableRowInfo<RowType>) => boolean;
6
- constructor(decryptor: (value: string) => Promise<string>, isSensitive: (col: TableColumnInfo, row: TableRowInfo<RowType>) => boolean, width?: string);
6
+ copy: boolean;
7
+ constructor(decryptor: (value: string) => Promise<string>, isSensitive: (col: TableColumnInfo, row: TableRowInfo<RowType>) => boolean, copy?: boolean, width?: string);
7
8
  format(value: any, col: TableColumnInfo, row: TableRowInfo<RowType>, printable: boolean): any;
8
9
  }
@@ -2,16 +2,17 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import NSLabelSensitive from "../components/NSLabelSensitive";
3
3
  import { BaseColumnFormatter } from "./BaseColumnFormatter";
4
4
  export class SensitiveFormatter extends BaseColumnFormatter {
5
- constructor(decryptor, isSensitive, width = "240px") {
5
+ constructor(decryptor, isSensitive, copy = true, width = "240px") {
6
6
  super();
7
7
  this.decryptor = decryptor;
8
8
  this.isSensitive = isSensitive;
9
+ this.copy = copy;
9
10
  this.width = width;
10
11
  }
11
12
  format(value, col, row, printable) {
12
13
  try {
13
14
  if (!printable)
14
- return (_jsx(NSLabelSensitive, { value: value, sensitive: this.isSensitive(col, row), decryptor: this.decryptor }));
15
+ return (_jsx(NSLabelSensitive, { value: value, sensitive: this.isSensitive(col, row), copy: this.copy, decryptor: this.decryptor }));
15
16
  }
16
17
  catch (error) { }
17
18
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"SensitiveFormatter.js","sourceRoot":"","sources":["../../src/formatter/SensitiveFormatter.tsx"],"names":[],"mappings":";AAAA,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,OAAO,kBAAkC,SAAQ,mBAAmB;IAKtE,YAAY,SAA6C,EAAE,WAA0E,EAAE,QAAgB,OAAO;QAE1J,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IACQ,MAAM,CAAC,KAAU,EAAE,GAAoB,EAAE,GAA0B,EAAE,SAAkB;QAE5F,IACA,CAAC;YACG,IAAI,CAAC,SAAS;gBACV,OAAO,CACH,KAAC,gBAAgB,IACb,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EACrC,SAAS,EAAE,IAAI,CAAC,SAAS,GAC3B,CACL,CAAC;QACV,CAAC;QACD,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;QAEjB,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
1
+ {"version":3,"file":"SensitiveFormatter.js","sourceRoot":"","sources":["../../src/formatter/SensitiveFormatter.tsx"],"names":[],"mappings":";AAAA,OAAO,gBAAgB,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,OAAO,kBAAkC,SAAQ,mBAAmB;IAMtE,YAAY,SAA6C,EAAE,WAA0E,EAAE,OAAgB,IAAI,EAAE,QAAgB,OAAO;QAEhL,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IACQ,MAAM,CAAC,KAAU,EAAE,GAAoB,EAAE,GAA0B,EAAE,SAAkB;QAE5F,IACA,CAAC;YACG,IAAI,CAAC,SAAS;gBACV,OAAO,CACH,KAAC,gBAAgB,IACb,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,EACrC,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,SAAS,EAAE,IAAI,CAAC,SAAS,GAC3B,CACL,CAAC;QACV,CAAC;QACD,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC;QAEjB,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
package/package.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "framework": "npm",
9
9
  "application": "package",
10
10
  "private": false,
11
- "version": "1.4.576",
11
+ "version": "1.4.577",
12
12
  "author": "Amir Abolhasani",
13
13
  "license": "MIT",
14
14
  "main": "./dist/main.js",
@@ -1,10 +1,12 @@
1
1
  import { useState } from 'react';
2
+ import { NSCopy } from "./NSCopy";
2
3
  import Styles from "./NSLabelSensitive.module.css";
3
4
 
4
5
  export interface NSLabelSensitiveProps
5
6
  {
6
7
  value: string;
7
8
  sensitive: boolean;
9
+ copy?: boolean;
8
10
  decryptor?: (value: string) => Promise<string>;
9
11
  }
10
12
 
@@ -43,6 +45,16 @@ export function NSLabelSensitive(props: NSLabelSensitiveProps)
43
45
  }
44
46
  }
45
47
 
48
+ const getDecryptedValue = async (): Promise<string> =>
49
+ {
50
+ if (state.decrypted_value)
51
+ return state.decrypted_value;
52
+
53
+ const decrypted_value = await props.decryptor?.(props.value) ?? props.value;
54
+ setState((prev) => ({ ...prev, decrypted_value }));
55
+ return decrypted_value;
56
+ }
57
+
46
58
  let placeholder = Array.from({ length: 6 }, (_, i) => (
47
59
  <img
48
60
  key={i + 1}
@@ -53,6 +65,8 @@ export function NSLabelSensitive(props: NSLabelSensitiveProps)
53
65
  />
54
66
  ))
55
67
 
68
+ let content = state.show ? <span>{state.decrypted_value}</span> : <div>{placeholder}</div>;
69
+
56
70
  return (
57
71
  <div className="d-flex align-items-center gap-1">
58
72
  {
@@ -74,10 +88,12 @@ export function NSLabelSensitive(props: NSLabelSensitiveProps)
74
88
  <div className="spinner-border spinner-border-sm text-primary" role="status" />
75
89
  }
76
90
  {
77
- state.show ?
78
- <span>{state.decrypted_value}</span>
91
+ props.copy ?
92
+ <NSCopy getValue={getDecryptedValue} copyOnClick={true}>
93
+ {content}
94
+ </NSCopy>
79
95
  :
80
- <div>{placeholder}</div>
96
+ content
81
97
  }
82
98
  </div>
83
99
  )
@@ -6,12 +6,14 @@ export class SensitiveFormatter<RowType = any> extends BaseColumnFormatter
6
6
  {
7
7
  decryptor: (value: string) => Promise<string>;
8
8
  isSensitive: (col: TableColumnInfo, row: TableRowInfo<RowType>) => boolean;
9
+ copy: boolean;
9
10
 
10
- constructor(decryptor: (value: string) => Promise<string>, isSensitive: (col: TableColumnInfo, row: TableRowInfo<RowType>) => boolean, width: string = "240px")
11
+ constructor(decryptor: (value: string) => Promise<string>, isSensitive: (col: TableColumnInfo, row: TableRowInfo<RowType>) => boolean, copy: boolean = true, width: string = "240px")
11
12
  {
12
13
  super();
13
14
  this.decryptor = decryptor;
14
15
  this.isSensitive = isSensitive;
16
+ this.copy = copy;
15
17
  this.width = width;
16
18
  }
17
19
  override format(value: any, col: TableColumnInfo, row: TableRowInfo<RowType>, printable: boolean): any
@@ -23,6 +25,7 @@ export class SensitiveFormatter<RowType = any> extends BaseColumnFormatter
23
25
  <NSLabelSensitive
24
26
  value={value}
25
27
  sensitive={this.isSensitive(col, row)}
28
+ copy={this.copy}
26
29
  decryptor={this.decryptor}
27
30
  />
28
31
  );