se-design 1.0.81 → 1.0.83-dev.0
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/assets/style.css +1 -1
- package/dist/components/MessageBar/index.d.ts +20 -1
- package/dist/components/NLSearch/ClearAiFiltersBar.d.ts +21 -0
- package/dist/components/NLSearch/NLDynamicChip.d.ts +18 -0
- package/dist/components/NLSearch/NLSearchInput.d.ts +21 -0
- package/dist/components/NLSearch/index.d.ts +6 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/index.js +131 -124
- package/dist/index.js.map +1 -1
- package/dist/index100.js +1 -1
- package/dist/index100.js.map +1 -1
- package/dist/index101.js +1 -1
- package/dist/index101.js.map +1 -1
- package/dist/index102.js +1 -1
- package/dist/index102.js.map +1 -1
- package/dist/index103.js +1 -1
- package/dist/index103.js.map +1 -1
- package/dist/index104.js +1 -1
- package/dist/index104.js.map +1 -1
- package/dist/index105.js +1 -1
- package/dist/index105.js.map +1 -1
- package/dist/index106.js +1 -1
- package/dist/index106.js.map +1 -1
- package/dist/index107.js +1 -1
- package/dist/index107.js.map +1 -1
- package/dist/index108.js +1 -1
- package/dist/index108.js.map +1 -1
- package/dist/index109.js +1 -1
- package/dist/index109.js.map +1 -1
- package/dist/index11.js +1 -1
- package/dist/index110.js +1 -1
- package/dist/index110.js.map +1 -1
- package/dist/index111.js +1 -1
- package/dist/index111.js.map +1 -1
- package/dist/index112.js +1 -1
- package/dist/index112.js.map +1 -1
- package/dist/index113.js +2 -2
- package/dist/index113.js.map +1 -1
- package/dist/index114.js +2 -2
- package/dist/index114.js.map +1 -1
- package/dist/index115.js +1 -1
- package/dist/index115.js.map +1 -1
- package/dist/index116.js +2 -2
- package/dist/index116.js.map +1 -1
- package/dist/index117.js +2 -2
- package/dist/index117.js.map +1 -1
- package/dist/index118.js +2 -2
- package/dist/index118.js.map +1 -1
- package/dist/index119.js +2 -2
- package/dist/index119.js.map +1 -1
- package/dist/index12.js +3 -3
- package/dist/index120.js +1 -1
- package/dist/index120.js.map +1 -1
- package/dist/index121.js +2 -2
- package/dist/index121.js.map +1 -1
- package/dist/index122.js +2 -2
- package/dist/index122.js.map +1 -1
- package/dist/index123.js +1 -1
- package/dist/index123.js.map +1 -1
- package/dist/index124.js +1 -1
- package/dist/index124.js.map +1 -1
- package/dist/index125.js +2 -2
- package/dist/index125.js.map +1 -1
- package/dist/index126.js +2 -2
- package/dist/index126.js.map +1 -1
- package/dist/index127.js +2 -2
- package/dist/index127.js.map +1 -1
- package/dist/index128.js +2 -2
- package/dist/index128.js.map +1 -1
- package/dist/index129.js +2 -2
- package/dist/index129.js.map +1 -1
- package/dist/index13.js +2 -2
- package/dist/index130.js +1 -1
- package/dist/index130.js.map +1 -1
- package/dist/index131.js +1 -1
- package/dist/index131.js.map +1 -1
- package/dist/index132.js +1 -1
- package/dist/index132.js.map +1 -1
- package/dist/index133.js +2 -2
- package/dist/index133.js.map +1 -1
- package/dist/index134.js +1 -1
- package/dist/index134.js.map +1 -1
- package/dist/index135.js +2 -2
- package/dist/index135.js.map +1 -1
- package/dist/index136.js +2 -2
- package/dist/index136.js.map +1 -1
- package/dist/index137.js +1 -1
- package/dist/index137.js.map +1 -1
- package/dist/index138.js +2 -2
- package/dist/index138.js.map +1 -1
- package/dist/index139.js +2 -2
- package/dist/index139.js.map +1 -1
- package/dist/index140.js +1 -1
- package/dist/index140.js.map +1 -1
- package/dist/index141.js +1 -1
- package/dist/index141.js.map +1 -1
- package/dist/index142.js +1 -1
- package/dist/index142.js.map +1 -1
- package/dist/index143.js +1 -1
- package/dist/index143.js.map +1 -1
- package/dist/index144.js +1 -1
- package/dist/index144.js.map +1 -1
- package/dist/index145.js +1 -1
- package/dist/index145.js.map +1 -1
- package/dist/index146.js +2 -2
- package/dist/index146.js.map +1 -1
- package/dist/index147.js +1 -1
- package/dist/index147.js.map +1 -1
- package/dist/index148.js +1 -1
- package/dist/index148.js.map +1 -1
- package/dist/index149.js +2 -2
- package/dist/index149.js.map +1 -1
- package/dist/index150.js +1 -1
- package/dist/index150.js.map +1 -1
- package/dist/index151.js +1 -1
- package/dist/index151.js.map +1 -1
- package/dist/index152.js +1 -1
- package/dist/index152.js.map +1 -1
- package/dist/index153.js +1 -1
- package/dist/index153.js.map +1 -1
- package/dist/index154.js +1 -1
- package/dist/index154.js.map +1 -1
- package/dist/index155.js +2 -2
- package/dist/index155.js.map +1 -1
- package/dist/index156.js +2 -2
- package/dist/index156.js.map +1 -1
- package/dist/index157.js +1 -1
- package/dist/index157.js.map +1 -1
- package/dist/index158.js +2 -2
- package/dist/index158.js.map +1 -1
- package/dist/index159.js +1 -1
- package/dist/index159.js.map +1 -1
- package/dist/index16.js +3 -3
- package/dist/index160.js +1 -1
- package/dist/index160.js.map +1 -1
- package/dist/index161.js +2 -2
- package/dist/index161.js.map +1 -1
- package/dist/index162.js +2 -2
- package/dist/index162.js.map +1 -1
- package/dist/index163.js +1 -1
- package/dist/index163.js.map +1 -1
- package/dist/index164.js +1 -1
- package/dist/index164.js.map +1 -1
- package/dist/index165.js +1 -1
- package/dist/index165.js.map +1 -1
- package/dist/index166.js +1 -1
- package/dist/index166.js.map +1 -1
- package/dist/index167.js +1 -1
- package/dist/index167.js.map +1 -1
- package/dist/index168.js +1 -1
- package/dist/index168.js.map +1 -1
- package/dist/index169.js +1 -1
- package/dist/index169.js.map +1 -1
- package/dist/index170.js +1 -1
- package/dist/index170.js.map +1 -1
- package/dist/index171.js +1 -1
- package/dist/index171.js.map +1 -1
- package/dist/index172.js +1 -1
- package/dist/index172.js.map +1 -1
- package/dist/index173.js +1 -1
- package/dist/index173.js.map +1 -1
- package/dist/index174.js +1 -1
- package/dist/index174.js.map +1 -1
- package/dist/index175.js +1 -1
- package/dist/index175.js.map +1 -1
- package/dist/index176.js +1 -1
- package/dist/index176.js.map +1 -1
- package/dist/index177.js +1 -1
- package/dist/index177.js.map +1 -1
- package/dist/index178.js +1 -1
- package/dist/index178.js.map +1 -1
- package/dist/index179.js +1 -1
- package/dist/index179.js.map +1 -1
- package/dist/index18.js +2 -2
- package/dist/index180.js +1 -1
- package/dist/index180.js.map +1 -1
- package/dist/index181.js +1 -1
- package/dist/index181.js.map +1 -1
- package/dist/index182.js +1 -1
- package/dist/index182.js.map +1 -1
- package/dist/index183.js +1 -1
- package/dist/index183.js.map +1 -1
- package/dist/index184.js +1 -1
- package/dist/index184.js.map +1 -1
- package/dist/index185.js +2 -2
- package/dist/index185.js.map +1 -1
- package/dist/index186.js +1 -1
- package/dist/index186.js.map +1 -1
- package/dist/index187.js +1 -1
- package/dist/index187.js.map +1 -1
- package/dist/index188.js +2 -2
- package/dist/index188.js.map +1 -1
- package/dist/index189.js +2 -2
- package/dist/index189.js.map +1 -1
- package/dist/index19.js +5 -5
- package/dist/index190.js +1 -1
- package/dist/index190.js.map +1 -1
- package/dist/index191.js +1 -1
- package/dist/index191.js.map +1 -1
- package/dist/index192.js +2 -2
- package/dist/index192.js.map +1 -1
- package/dist/index193.js +1 -1
- package/dist/index193.js.map +1 -1
- package/dist/index194.js +1 -1
- package/dist/index194.js.map +1 -1
- package/dist/index195.js +1 -1
- package/dist/index195.js.map +1 -1
- package/dist/index196.js +1 -1
- package/dist/index196.js.map +1 -1
- package/dist/index197.js +1 -1
- package/dist/index197.js.map +1 -1
- package/dist/index198.js +1 -1
- package/dist/index198.js.map +1 -1
- package/dist/index199.js +1 -1
- package/dist/index199.js.map +1 -1
- package/dist/index200.js +2 -2
- package/dist/index200.js.map +1 -1
- package/dist/index201.js +1 -1
- package/dist/index201.js.map +1 -1
- package/dist/index202.js +2 -2
- package/dist/index202.js.map +1 -1
- package/dist/index203.js +149 -2
- package/dist/index203.js.map +1 -1
- package/dist/index204.js +9 -2
- package/dist/index204.js.map +1 -1
- package/dist/index205.js +6 -2
- package/dist/index205.js.map +1 -1
- package/dist/index206.js +5 -149
- package/dist/index206.js.map +1 -1
- package/dist/index207.js +41 -4
- package/dist/index207.js.map +1 -1
- package/dist/index208.js +24 -0
- package/dist/index208.js.map +1 -0
- package/dist/index215.js +26 -0
- package/dist/index215.js.map +1 -0
- package/dist/index216.js +71 -0
- package/dist/index216.js.map +1 -0
- package/dist/{index221.js → index224.js} +1 -1
- package/dist/{index221.js.map → index224.js.map} +1 -1
- package/dist/index23.js +4 -4
- package/dist/index232.js +1233 -43
- package/dist/index232.js.map +1 -1
- package/dist/index235.js +46 -0
- package/dist/index235.js.map +1 -0
- package/dist/index244.js +168 -8
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +3 -9
- package/dist/index245.js.map +1 -1
- package/dist/index247.js +18 -169
- package/dist/index247.js.map +1 -1
- package/dist/index248.js +10 -11
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +8 -4
- package/dist/index249.js.map +1 -1
- package/dist/index25.js +3 -3
- package/dist/index250.js +4 -5
- package/dist/index250.js.map +1 -1
- package/dist/index251.js +168 -36
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +11 -2
- package/dist/index252.js.map +1 -1
- package/dist/index253.js +5 -7
- package/dist/index253.js.map +1 -1
- package/dist/index254.js +5 -326
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +36 -48
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +2 -2
- package/dist/index257.js +7 -75
- package/dist/index257.js.map +1 -1
- package/dist/index258.js +308 -74
- package/dist/index258.js.map +1 -1
- package/dist/index259.js +45 -47
- package/dist/index259.js.map +1 -1
- package/dist/index260.js +2 -8
- package/dist/index260.js.map +1 -1
- package/dist/index261.js +75 -4
- package/dist/index261.js.map +1 -1
- package/dist/index262.js +89 -48
- package/dist/index262.js.map +1 -1
- package/dist/index263.js +52 -2
- package/dist/index263.js.map +1 -1
- package/dist/index264.js +8 -2
- package/dist/index264.js.map +1 -1
- package/dist/index265.js +8 -0
- package/dist/index265.js.map +1 -0
- package/dist/index266.js +55 -0
- package/dist/index266.js.map +1 -0
- package/dist/index267.js +5 -0
- package/dist/index267.js.map +1 -0
- package/dist/index268.js +5 -0
- package/dist/index268.js.map +1 -0
- package/dist/index27.js +1 -1
- package/dist/index28.js +4 -4
- package/dist/index29.js +3 -3
- package/dist/index3.js +3 -3
- package/dist/index30.js +4 -4
- package/dist/index32.js +10 -11
- package/dist/index33.js +1 -1
- package/dist/index35.js +4 -4
- package/dist/index36.js +5 -5
- package/dist/index38.js +3 -3
- package/dist/index39.js +4 -4
- package/dist/index4.js +3 -3
- package/dist/index40.js +1 -1
- package/dist/index42.js +7 -8
- package/dist/index43.js +95 -57
- package/dist/index43.js.map +1 -1
- package/dist/index45.js +4 -4
- package/dist/index46.js +142 -193
- package/dist/index46.js.map +1 -1
- package/dist/index47.js +21 -38
- package/dist/index47.js.map +1 -1
- package/dist/index48.js +36 -33
- package/dist/index48.js.map +1 -1
- package/dist/index50.js +189 -78
- package/dist/index50.js.map +1 -1
- package/dist/index51.js +36 -459
- package/dist/index51.js.map +1 -1
- package/dist/index52.js +33 -98
- package/dist/index52.js.map +1 -1
- package/dist/index53.js +151 -36
- package/dist/index53.js.map +1 -1
- package/dist/index54.js +84 -36
- package/dist/index54.js.map +1 -1
- package/dist/index55.js +456 -88
- package/dist/index55.js.map +1 -1
- package/dist/index56.js +96 -161
- package/dist/index56.js.map +1 -1
- package/dist/index57.js +35 -146
- package/dist/index57.js.map +1 -1
- package/dist/index58.js +38 -33
- package/dist/index58.js.map +1 -1
- package/dist/index59.js +89 -83
- package/dist/index59.js.map +1 -1
- package/dist/index6.js +123 -123
- package/dist/index60.js +157 -113
- package/dist/index60.js.map +1 -1
- package/dist/index61.js +143 -61
- package/dist/index61.js.map +1 -1
- package/dist/index62.js +33 -152
- package/dist/index62.js.map +1 -1
- package/dist/index63.js +80 -312
- package/dist/index63.js.map +1 -1
- package/dist/index64.js +118 -45
- package/dist/index64.js.map +1 -1
- package/dist/index65.js +62 -140
- package/dist/index65.js.map +1 -1
- package/dist/index66.js +152 -12
- package/dist/index66.js.map +1 -1
- package/dist/index67.js +316 -44
- package/dist/index67.js.map +1 -1
- package/dist/index68.js +44 -82
- package/dist/index68.js.map +1 -1
- package/dist/index69.js +143 -18
- package/dist/index69.js.map +1 -1
- package/dist/index7.js +9 -10
- package/dist/index70.js +9 -63
- package/dist/index70.js.map +1 -1
- package/dist/index71.js +45 -26
- package/dist/index71.js.map +1 -1
- package/dist/index72.js +78 -102
- package/dist/index72.js.map +1 -1
- package/dist/index73.js +18 -61
- package/dist/index73.js.map +1 -1
- package/dist/index74.js +63 -18
- package/dist/index74.js.map +1 -1
- package/dist/index75.js +27 -5
- package/dist/index75.js.map +1 -1
- package/dist/index76.js +102 -48
- package/dist/index76.js.map +1 -1
- package/dist/index77.js +58 -20
- package/dist/index77.js.map +1 -1
- package/dist/index78.js +19 -7
- package/dist/index78.js.map +1 -1
- package/dist/index79.js +5 -23
- package/dist/index79.js.map +1 -1
- package/dist/index80.js +51 -16
- package/dist/index80.js.map +1 -1
- package/dist/index81.js +23 -8
- package/dist/index81.js.map +1 -1
- package/dist/index82.js +7 -40
- package/dist/index82.js.map +1 -1
- package/dist/index84.js +2 -68
- package/dist/index84.js.map +1 -1
- package/dist/index85.js +2 -21
- package/dist/index85.js.map +1 -1
- package/dist/index86.js +5 -0
- package/dist/index86.js.map +1 -0
- package/dist/index87.js +1 -1
- package/dist/index87.js.map +1 -1
- package/dist/index88.js +2 -2
- package/dist/index88.js.map +1 -1
- package/dist/index89.js +1 -1
- package/dist/index89.js.map +1 -1
- package/dist/index9.js +5 -5
- package/dist/index90.js +2 -2
- package/dist/index90.js.map +1 -1
- package/dist/index91.js +1 -1
- package/dist/index91.js.map +1 -1
- package/dist/index92.js +1 -1
- package/dist/index92.js.map +1 -1
- package/dist/index93.js +1 -1
- package/dist/index93.js.map +1 -1
- package/dist/index94.js +1 -1
- package/dist/index94.js.map +1 -1
- package/dist/index95.js +1 -1
- package/dist/index95.js.map +1 -1
- package/dist/index96.js +1 -1
- package/dist/index96.js.map +1 -1
- package/dist/index97.js +1 -1
- package/dist/index97.js.map +1 -1
- package/dist/index98.js +1 -1
- package/dist/index98.js.map +1 -1
- package/dist/index99.js +1 -1
- package/dist/index99.js.map +1 -1
- package/package.json +1 -1
- package/dist/index229.js +0 -1236
- package/dist/index229.js.map +0 -1
- package/dist/index241.js +0 -173
- package/dist/index241.js.map +0 -1
- package/dist/index242.js +0 -7
- package/dist/index242.js.map +0 -1
- package/dist/index246.js +0 -8
- package/dist/index246.js.map +0 -1
- package/dist/index49.js +0 -152
- package/dist/index49.js.map +0 -1
- package/dist/index83.js +0 -9
- package/dist/index83.js.map +0 -1
package/dist/index57.js
CHANGED
|
@@ -1,152 +1,41 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
})
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
b(t, "");
|
|
23
|
-
}, c = (t) => {
|
|
24
|
-
f.current[t]?.focus();
|
|
25
|
-
};
|
|
26
|
-
j(() => {
|
|
27
|
-
w && f.current[0] && !i && c(0);
|
|
28
|
-
}, [w, i]);
|
|
29
|
-
const C = (t) => {
|
|
30
|
-
if (t.length === 0)
|
|
31
|
-
return l || "Please enter the verification code";
|
|
32
|
-
if (t.length < n || !T(t))
|
|
33
|
-
return l || "Please enter all digits";
|
|
34
|
-
if (u) {
|
|
35
|
-
const e = u(t);
|
|
36
|
-
if (e === !1)
|
|
37
|
-
return l || "Invalid verification code";
|
|
38
|
-
if (typeof e == "string")
|
|
39
|
-
return e;
|
|
40
|
-
}
|
|
41
|
-
return null;
|
|
42
|
-
};
|
|
43
|
-
j(() => {
|
|
44
|
-
const t = s.join("");
|
|
45
|
-
if (h?.(t), g && t.length > 0 && m(null), T(t)) {
|
|
46
|
-
if (u) {
|
|
47
|
-
const e = u(t);
|
|
48
|
-
m(e === !1 || typeof e == "string" ? typeof e == "string" ? e : l || "Invalid verification code" : null);
|
|
49
|
-
}
|
|
50
|
-
k?.(t);
|
|
51
|
-
}
|
|
52
|
-
}, [s, n, h, k, u, l]);
|
|
53
|
-
const F = (t, e) => {
|
|
54
|
-
e && !N(e) || b(t, e, !0);
|
|
55
|
-
}, V = (t, e) => {
|
|
56
|
-
if (i) return;
|
|
57
|
-
const r = s[t];
|
|
58
|
-
if (e.key === "Backspace") {
|
|
59
|
-
d.current = !0, r ? E(t) : t > 0 && (E(t - 1), c(t - 1)), setTimeout(() => {
|
|
60
|
-
d.current = !1;
|
|
61
|
-
}, 100), e.preventDefault();
|
|
62
|
-
return;
|
|
63
|
-
}
|
|
64
|
-
if (e.key === "Delete") {
|
|
65
|
-
d.current = !0, E(t), setTimeout(() => {
|
|
66
|
-
d.current = !1;
|
|
67
|
-
}, 100), e.preventDefault();
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
const o = {
|
|
71
|
-
ArrowLeft: () => t > 0 && c(t - 1),
|
|
72
|
-
ArrowRight: () => t < n - 1 && c(t + 1),
|
|
73
|
-
Home: () => c(0),
|
|
74
|
-
End: () => c(n - 1)
|
|
75
|
-
};
|
|
76
|
-
if (o[e.key]) {
|
|
77
|
-
o[e.key](), e.preventDefault();
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
N(e.key) && r && b(t, e.key, !0);
|
|
81
|
-
}, q = (t) => {
|
|
82
|
-
if (i) return;
|
|
83
|
-
t.preventDefault();
|
|
84
|
-
const r = t.clipboardData.getData("text/plain").trim().replace(/\D/g, "").slice(0, n);
|
|
85
|
-
if (r.length > 0) {
|
|
86
|
-
const o = [...s], x = f.current.findIndex((a) => a === document.activeElement), v = x >= 0 ? x : 0;
|
|
87
|
-
for (let a = 0; a < r.length && v + a < n; a++)
|
|
88
|
-
o[v + a] = r[a];
|
|
89
|
-
P(o);
|
|
90
|
-
const S = o.findIndex((a, U) => U >= v && a === ""), Q = S >= 0 ? S : Math.min(v + r.length, n - 1);
|
|
91
|
-
c(Q);
|
|
92
|
-
}
|
|
93
|
-
}, z = (t) => {
|
|
94
|
-
f.current[t]?.select();
|
|
95
|
-
}, G = () => {
|
|
96
|
-
if (L && !d.current) {
|
|
97
|
-
const t = s.join(""), e = C(t);
|
|
98
|
-
m(e);
|
|
1
|
+
import e, { useEffect as d } from "react";
|
|
2
|
+
import { delay as m } from "./index245.js";
|
|
3
|
+
import { Icon as i } from "./index6.js";
|
|
4
|
+
const g = (r) => {
|
|
5
|
+
const {
|
|
6
|
+
title: a = "",
|
|
7
|
+
itemsList: t = [],
|
|
8
|
+
handleDownload: l,
|
|
9
|
+
backgroundColor: n = "var(--color-white)",
|
|
10
|
+
titleBackgroundColor: c = "var(--color-blue-50)"
|
|
11
|
+
} = r;
|
|
12
|
+
return d(() => {
|
|
13
|
+
t?.length > 0 && t?.forEach((o) => {
|
|
14
|
+
m(2e3).then(() => {
|
|
15
|
+
l(o);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
}, [t?.length]), /* @__PURE__ */ e.createElement("div", {
|
|
19
|
+
className: "download-widgets-container rounded-t-xl border border-[var(--color-gray-400)] w-[300px] overflow-hidden fixed bottom-0 right-5 z-[1100]",
|
|
20
|
+
style: {
|
|
21
|
+
backgroundColor: n
|
|
99
22
|
}
|
|
100
|
-
},
|
|
101
|
-
|
|
102
|
-
className: `se-design-otp-input ${H || ""}`,
|
|
103
|
-
"data-automation-id": "otp-input-container"
|
|
104
|
-
}, y && /* @__PURE__ */ p.createElement("div", {
|
|
105
|
-
id: R,
|
|
106
|
-
className: "se-design-otp-input-label"
|
|
107
|
-
}, y), /* @__PURE__ */ p.createElement("div", {
|
|
108
|
-
className: "flex items-center gap-[12px]",
|
|
109
|
-
role: "group",
|
|
110
|
-
"aria-labelledby": y ? R : void 0
|
|
111
|
-
}, s.map((t, e) => /* @__PURE__ */ p.createElement("input", {
|
|
112
|
-
key: e,
|
|
113
|
-
ref: (r) => {
|
|
114
|
-
f.current[e] = r;
|
|
115
|
-
},
|
|
116
|
-
type: "text",
|
|
117
|
-
inputMode: "numeric",
|
|
118
|
-
maxLength: 1,
|
|
119
|
-
value: t,
|
|
120
|
-
onChange: (r) => F(e, r.target.value),
|
|
121
|
-
onKeyDown: (r) => V(e, r),
|
|
122
|
-
onPaste: q,
|
|
123
|
-
onFocus: () => z(e),
|
|
124
|
-
onBlur: G,
|
|
125
|
-
disabled: i,
|
|
126
|
-
className: `
|
|
127
|
-
w-12 h-12
|
|
128
|
-
flex flex-col items-start
|
|
129
|
-
text-center text-lg font-medium
|
|
130
|
-
border rounded-md
|
|
131
|
-
outline-none
|
|
132
|
-
transition-colors
|
|
133
|
-
disabled:bg-gray-50 disabled:cursor-not-allowed
|
|
134
|
-
${i ? "border-[var(--color-gray-300)] text-gray-400" : I ? "border-[var(--color-red-500)] text-gray-900 focus:border-[var(--color-red-500)] focus:ring-1 focus:ring-[var(--color-red-500)]" : "border-[var(--color-gray-600)] text-gray-900 focus:border-[var(--color-blue-500)] focus:ring-1 focus:ring-[var(--color-blue-500)]"}
|
|
135
|
-
`,
|
|
23
|
+
}, /* @__PURE__ */ e.createElement("div", {
|
|
24
|
+
className: "p-4 text-base font-medium",
|
|
136
25
|
style: {
|
|
137
|
-
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
"
|
|
141
|
-
|
|
142
|
-
"
|
|
143
|
-
})
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
}
|
|
26
|
+
backgroundColor: c
|
|
27
|
+
}
|
|
28
|
+
}, a), t?.map((o) => /* @__PURE__ */ e.createElement("div", {
|
|
29
|
+
className: " download-item flex items-center gap-2 px-4 pt-4 last:pb-4"
|
|
30
|
+
}, /* @__PURE__ */ e.createElement("span", {
|
|
31
|
+
className: "text-base font-normal flex-1"
|
|
32
|
+
}, o.label), /* @__PURE__ */ e.createElement(i, {
|
|
33
|
+
name: "checked-circle",
|
|
34
|
+
stroke: "var(--color-green-500)",
|
|
35
|
+
size: 16
|
|
36
|
+
}))));
|
|
148
37
|
};
|
|
149
38
|
export {
|
|
150
|
-
|
|
39
|
+
g as DownloadWidget
|
|
151
40
|
};
|
|
152
41
|
//# sourceMappingURL=index57.js.map
|
package/dist/index57.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index57.js","sources":["../src/components/OTPInput/index.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, KeyboardEvent, ChangeEvent, ClipboardEvent, FC } from 'react';\nimport { useStableId } from '../../utils/useStableId';\nimport './style.scss';\n\nexport interface OTPInputProps {\n length?: number;\n onChange?: (value: string) => void;\n onComplete?: (value: string) => void;\n label?: string;\n disabled?: boolean;\n className?: string;\n autoFocus?: boolean;\n error?: boolean;\n errorMessage?: string;\n validateOnBlur?: boolean;\n onValidate?: (value: string) => boolean | string;\n id?: string;\n}\n\nexport const OTPInput: FC<OTPInputProps> = ({\n length = 6,\n onChange,\n onComplete,\n label,\n disabled = false,\n className = '',\n autoFocus = true,\n error = false,\n errorMessage,\n validateOnBlur = false,\n onValidate,\n id\n}) => {\n const [values, setValues] = useState<string[]>(Array(length).fill(''));\n const [internalError, setInternalError] = useState<string | null>(null);\n const inputRefs = useRef<(HTMLInputElement | null)[]>([]);\n const isBackspacePressed = useRef<boolean>(false);\n \n // Generate stable IDs for ARIA attributes\n const baseId = useStableId(id, 'se-otp-input');\n const labelId = `${baseId}-label`;\n const errorId = `${baseId}-error`;\n\n // Helper: Check if a string is a single digit\n const isDigit = (char: string): boolean => /^\\d$/.test(char);\n\n // Helper: Check if OTP is complete\n const isComplete = (otpValue: string): boolean => {\n return otpValue.length === length && values.every((val) => val !== '');\n };\n\n // Helper: Update value at specific index\n const updateValue = (index: number, value: string, shouldFocusNext = false) => {\n const newValues = [...values];\n newValues[index] = value;\n setValues(newValues);\n\n if (shouldFocusNext && value && index < length - 1) {\n focusInput(index + 1);\n }\n };\n\n // Helper: Clear value at specific index\n const clearValue = (index: number) => {\n updateValue(index, '');\n };\n\n // Helper: Focus input at index\n const focusInput = (index: number) => {\n inputRefs.current[index]?.focus();\n };\n\n useEffect(() => {\n if (autoFocus && inputRefs.current[0] && !disabled) {\n focusInput(0);\n }\n }, [autoFocus, disabled]);\n\n // Internal validation\n const validateOTP = (otpValue: string): string | null => {\n // Empty validation\n if (otpValue.length === 0) {\n return errorMessage || 'Please enter the verification code';\n }\n\n // Incomplete validation\n if (otpValue.length < length || !isComplete(otpValue)) {\n return errorMessage || 'Please enter all digits';\n }\n\n // Custom validation\n if (onValidate) {\n const validationResult = onValidate(otpValue);\n if (validationResult === false) {\n return errorMessage || 'Invalid verification code';\n }\n if (typeof validationResult === 'string') {\n return validationResult;\n }\n }\n\n return null;\n };\n\n useEffect(() => {\n const otpValue = values.join('');\n onChange?.(otpValue);\n\n // Clear error when user starts typing\n if (internalError && otpValue.length > 0) {\n setInternalError(null);\n }\n\n if (isComplete(otpValue)) {\n // Validate on complete\n if (onValidate) {\n const validationResult = onValidate(otpValue);\n if (validationResult === false || typeof validationResult === 'string') {\n const errorMsg =\n typeof validationResult === 'string' ? validationResult : errorMessage || 'Invalid verification code';\n setInternalError(errorMsg);\n } else {\n setInternalError(null);\n }\n }\n onComplete?.(otpValue);\n }\n }, [values, length, onChange, onComplete, onValidate, errorMessage]);\n\n const handleChange = (index: number, value: string) => {\n // Only allow single digit or empty\n if (value && !isDigit(value)) {\n return;\n }\n\n updateValue(index, value, true);\n };\n\n const handleKeyDown = (index: number, e: KeyboardEvent<HTMLInputElement>) => {\n if (disabled) return;\n\n const currentValue = values[index];\n\n // Handle backspace\n if (e.key === 'Backspace') {\n isBackspacePressed.current = true;\n if (currentValue) {\n clearValue(index);\n } else if (index > 0) {\n clearValue(index - 1);\n focusInput(index - 1);\n }\n // Reset backspace flag after a short delay\n setTimeout(() => {\n isBackspacePressed.current = false;\n }, 100);\n e.preventDefault();\n return;\n }\n\n // Handle delete\n if (e.key === 'Delete') {\n isBackspacePressed.current = true;\n clearValue(index);\n // Reset backspace flag after a short delay\n setTimeout(() => {\n isBackspacePressed.current = false;\n }, 100);\n e.preventDefault();\n return;\n }\n\n // Handle navigation keys\n const navigationHandlers: Record<string, () => void> = {\n ArrowLeft: () => index > 0 && focusInput(index - 1),\n ArrowRight: () => index < length - 1 && focusInput(index + 1),\n Home: () => focusInput(0),\n End: () => focusInput(length - 1)\n };\n\n if (navigationHandlers[e.key]) {\n navigationHandlers[e.key]();\n e.preventDefault();\n return;\n }\n\n // Allow digits, but prevent if already filled\n if (isDigit(e.key)) {\n if (currentValue) {\n updateValue(index, e.key, true);\n }\n }\n };\n\n const handlePaste = (e: ClipboardEvent<HTMLInputElement>) => {\n if (disabled) return;\n\n e.preventDefault();\n const pastedData = e.clipboardData.getData('text/plain').trim();\n\n // Extract only digits\n const digits = pastedData.replace(/\\D/g, '').slice(0, length);\n\n if (digits.length > 0) {\n const newValues = [...values];\n\n // Fill inputs starting from the current index\n const startIndex = inputRefs.current.findIndex((ref) => ref === document.activeElement);\n const actualStartIndex = startIndex >= 0 ? startIndex : 0;\n\n for (let i = 0; i < digits.length && actualStartIndex + i < length; i++) {\n newValues[actualStartIndex + i] = digits[i];\n }\n\n setValues(newValues);\n\n // Focus the next empty input or the last input\n const nextEmptyIndex = newValues.findIndex((val, idx) => idx >= actualStartIndex && val === '');\n const focusIndex = nextEmptyIndex >= 0 ? nextEmptyIndex : Math.min(actualStartIndex + digits.length, length - 1);\n focusInput(focusIndex);\n }\n };\n\n const handleFocus = (index: number) => {\n inputRefs.current[index]?.select();\n };\n\n const handleBlur = () => {\n // Don't validate on blur if backspace/delete was just pressed\n if (validateOnBlur && !isBackspacePressed.current) {\n const otpValue = values.join('');\n const validationError = validateOTP(otpValue);\n setInternalError(validationError);\n }\n };\n\n const hasError = error || !!internalError;\n // Priority: errorMessage prop > internalError\n const displayError = hasError && (errorMessage || internalError);\n \n const ariaDescribedByError = displayError ? errorId : undefined;\n\n return (\n <div className={`se-design-otp-input ${className || ''}`} data-automation-id=\"otp-input-container\">\n {label && <div id={labelId} className=\"se-design-otp-input-label\">{label}</div>}\n <div className=\"flex items-center gap-[12px]\" role=\"group\" aria-labelledby={label ? labelId : undefined}>\n {values.map((value, index) => (\n <input\n key={index}\n ref={(el) => {\n inputRefs.current[index] = el;\n }}\n type=\"text\"\n inputMode=\"numeric\"\n maxLength={1}\n value={value}\n onChange={(e: ChangeEvent<HTMLInputElement>) => handleChange(index, e.target.value)}\n onKeyDown={(e: KeyboardEvent<HTMLInputElement>) => handleKeyDown(index, e)}\n onPaste={handlePaste}\n onFocus={() => handleFocus(index)}\n onBlur={handleBlur}\n disabled={disabled}\n className={`\n w-12 h-12 \n flex flex-col items-start \n text-center text-lg font-medium\n border rounded-md\n outline-none\n transition-colors\n disabled:bg-gray-50 disabled:cursor-not-allowed\n ${\n disabled\n ? 'border-[var(--color-gray-300)] text-gray-400'\n : hasError\n ? 'border-[var(--color-red-500)] text-gray-900 focus:border-[var(--color-red-500)] focus:ring-1 focus:ring-[var(--color-red-500)]'\n : 'border-[var(--color-gray-600)] text-gray-900 focus:border-[var(--color-blue-500)] focus:ring-1 focus:ring-[var(--color-blue-500)]'\n }\n `}\n style={{\n gap: 'var(--Spacer-6px, 6px)'\n }}\n aria-label={`OTP digit ${index + 1} of ${length}`}\n aria-invalid={hasError}\n aria-describedby={ariaDescribedByError}\n data-automation-id={`otp-input-${index}`}\n />\n ))}\n </div>\n {displayError && <div id={errorId} className=\"se-design-otp-input-error\" role=\"alert\">{displayError}</div>}\n </div>\n );\n};\n"],"names":["OTPInput","length","onChange","onComplete","label","disabled","className","autoFocus","error","errorMessage","validateOnBlur","onValidate","id","values","setValues","useState","Array","fill","internalError","setInternalError","inputRefs","useRef","isBackspacePressed","baseId","useStableId","labelId","errorId","isDigit","char","test","isComplete","otpValue","every","val","updateValue","index","value","shouldFocusNext","newValues","focusInput","clearValue","current","focus","useEffect","validateOTP","validationResult","join","handleChange","handleKeyDown","e","currentValue","key","setTimeout","preventDefault","navigationHandlers","ArrowLeft","ArrowRight","Home","End","handlePaste","digits","clipboardData","getData","trim","replace","slice","startIndex","findIndex","ref","document","activeElement","actualStartIndex","i","nextEmptyIndex","idx","focusIndex","Math","min","handleFocus","select","handleBlur","validationError","hasError","displayError","ariaDescribedByError","undefined","React","createElement","role","map","el","type","inputMode","maxLength","target","onKeyDown","onPaste","onFocus","onBlur","style","gap"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index57.js","sources":["../src/components/DownloadWidget/index.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\n\nimport { delay } from 'utils/delay';\n\nimport { Icon } from '../Icon';\n\ntype ItemType = { label: string; id?: number; metadata?: any };\n\ntype DownloadWidgetProps = {\n title: string;\n itemsList: ItemType[];\n handleDownload: (downloadItem?: any) => void;\n backgroundColor?: string;\n titleBackgroundColor?: string;\n};\n\nexport const DownloadWidget = (props: DownloadWidgetProps) => {\n const {\n title = '',\n itemsList = [],\n handleDownload,\n backgroundColor = 'var(--color-white)',\n titleBackgroundColor = 'var(--color-blue-50)'\n } = props;\n\n useEffect(() => {\n if (itemsList?.length > 0) {\n itemsList?.forEach((downloadItem) => {\n delay(2000).then(() => {\n handleDownload(downloadItem);\n });\n });\n }\n }, [itemsList?.length]);\n\n return (\n <div\n className=\"download-widgets-container rounded-t-xl border border-[var(--color-gray-400)] w-[300px] overflow-hidden fixed bottom-0 right-5 z-[1100]\"\n style={{ backgroundColor }}\n >\n <div className=\"p-4 text-base font-medium\" style={{ backgroundColor: titleBackgroundColor }}>\n {title}\n </div>\n {itemsList?.map((item) => (\n <div className=\" download-item flex items-center gap-2 px-4 pt-4 last:pb-4\">\n <span className=\"text-base font-normal flex-1\">{item.label}</span>\n <Icon name=\"checked-circle\" stroke=\"var(--color-green-500)\" size={16} />\n </div>\n ))}\n </div>\n );\n};\n"],"names":["React__default","useEffect","delay","Icon","DownloadWidget","props","title","itemsList","handleDownload","backgroundColor","titleBackgroundColor","length","forEach","downloadItem","then","React","createElement","className","style","map","item","label","name","stroke","size"],"mappings":"AAgBO,OAAAA,KAAA,aAAAC,SAAA;AAAA,SAAA,SAAAC,SAAA;AAAA,SAAA,QAAAC,SAAA;AAAA,MAAMC,IAAiBA,CAACC,MAA+B;AAC5D,QAAM;AAAA,IACJC,OAAAA,IAAQ;AAAA,IACRC,WAAAA,IAAY,CAAA;AAAA,IACZC,gBAAAA;AAAAA,IACAC,iBAAAA,IAAkB;AAAA,IAClBC,sBAAAA,IAAuB;AAAA,EAAA,IACrBL;AAEJJ,SAAAA,EAAU,MAAM;AACd,IAAIM,GAAWI,SAAS,KACtBJ,GAAWK,QAASC,CAAAA,MAAiB;AACnCX,MAAAA,EAAM,GAAI,EAAEY,KAAK,MAAM;AACrBN,QAAAA,EAAeK,CAAY;AAAA,MAC7B,CAAC;AAAA,IACH,CAAC;AAAA,EAEL,GAAG,CAACN,GAAWI,MAAM,CAAC,GAGpBI,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEC,WAAU;AAAA,IACVC,OAAO;AAAA,MAAET,iBAAAA;AAAAA,IAAAA;AAAAA,EAAgB,GAEzBM,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,IAA4BC,OAAO;AAAA,MAAET,iBAAiBC;AAAAA,IAAAA;AAAAA,EAAqB,GACvFJ,CACE,GACJC,GAAWY,IAAKC,CAAAA,MACfL,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,EAAA,GACbF,gBAAAA,EAAAC,cAAA,QAAA;AAAA,IAAMC,WAAU;AAAA,EAAA,GAAgCG,EAAKC,KAAY,GACjEN,gBAAAA,EAAAC,cAACb,GAAI;AAAA,IAACmB,MAAK;AAAA,IAAiBC,QAAO;AAAA,IAAyBC,MAAM;AAAA,EAAA,CAAK,CACpE,CACN,CACE;AAET;"}
|
package/dist/index58.js
CHANGED
|
@@ -1,36 +1,41 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
1
|
+
import a from "react";
|
|
2
|
+
const u = ({
|
|
3
|
+
checkedRadioOption: t,
|
|
4
|
+
optionList: r,
|
|
5
|
+
onChange: l,
|
|
6
|
+
switchWidth: c,
|
|
7
|
+
automationId: i = ""
|
|
8
|
+
}) => {
|
|
9
|
+
const s = (e) => {
|
|
10
|
+
l && l(e);
|
|
11
|
+
};
|
|
12
|
+
return /* @__PURE__ */ a.createElement("div", {
|
|
13
|
+
className: "flex rounded-full border border-gray-300 bg-white min-w-[110px] h-[34px]",
|
|
14
|
+
role: "radiogroup",
|
|
15
|
+
"aria-label": "Switch options",
|
|
16
|
+
"data-automation-id": i,
|
|
17
|
+
style: {
|
|
18
|
+
width: c
|
|
19
|
+
// Moved min-w-[100px] and h-[34px] to Tailwind classes below, so these inline styles are no longer needed.
|
|
20
|
+
}
|
|
21
|
+
}, r.map((e) => /* @__PURE__ */ a.createElement("div", {
|
|
22
|
+
key: e.value,
|
|
23
|
+
className: `relative flex-1 flex items-center block py-2 px-4 rounded-[24px] w-full text-center cursor-pointer transition-all duration-200 ${e.value === t ? "bg-[var(--color-blue-100)] text-[var(--color-blue-500)] shadow-sm" : "text-gray-700 hover:text-gray-900"}`,
|
|
24
|
+
onClick: () => s(e.value),
|
|
25
|
+
"data-automation-id": `radio-switch-option-${e.value}`
|
|
26
|
+
}, /* @__PURE__ */ a.createElement("input", {
|
|
27
|
+
type: "radio",
|
|
28
|
+
name: "switch",
|
|
29
|
+
id: `switch-${e.value}`,
|
|
30
|
+
checked: e.value === t,
|
|
31
|
+
className: "sr-only"
|
|
32
|
+
// Hide the input but keep it accessible
|
|
33
|
+
}), /* @__PURE__ */ a.createElement("label", {
|
|
34
|
+
htmlFor: `switch-${e.value}`,
|
|
35
|
+
className: " cursor-pointer "
|
|
36
|
+
}, e.label))));
|
|
37
|
+
};
|
|
33
38
|
export {
|
|
34
|
-
|
|
39
|
+
u as RadioSwitch
|
|
35
40
|
};
|
|
36
41
|
//# sourceMappingURL=index58.js.map
|
package/dist/index58.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index58.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"index58.js","sources":["../src/components/RadioSwitch/index.tsx"],"sourcesContent":["import React from 'react';\n\n/**\n * This is Radio Switch, Only one option can be selected at a time.\n * There can be multiple options, but only one can be selected at a time.\n */\nexport interface RadioSwitchOption {\n label: string;\n value: string;\n}\n\nexport interface RadioSwitchProps {\n checkedRadioOption?: string;\n optionList: RadioSwitchOption[];\n onChange?: (value: string) => void;\n switchWidth?: string;\n automationId?: string;\n}\n\nexport const RadioSwitch: React.FC<RadioSwitchProps> = ({ checkedRadioOption, optionList, onChange, switchWidth, automationId = '' }) => {\n const handleChange = (value: string) => {\n if (onChange) {\n onChange(value);\n }\n };\n\n return (\n <div\n className=\"flex rounded-full border border-gray-300 bg-white min-w-[110px] h-[34px]\"\n role=\"radiogroup\"\n aria-label=\"Switch options\"\n data-automation-id={automationId}\n style={{\n width: switchWidth\n // Moved min-w-[100px] and h-[34px] to Tailwind classes below, so these inline styles are no longer needed.\n }}\n >\n {optionList.map((option) => (\n <div\n key={option.value}\n className={`relative flex-1 flex items-center block py-2 px-4 rounded-[24px] w-full text-center cursor-pointer transition-all duration-200 ${\n option.value === checkedRadioOption\n ? 'bg-[var(--color-blue-100)] text-[var(--color-blue-500)] shadow-sm'\n : 'text-gray-700 hover:text-gray-900'\n }`}\n onClick={() => handleChange(option.value)}\n data-automation-id={`radio-switch-option-${option.value}`}\n >\n <input\n type=\"radio\"\n name=\"switch\"\n id={`switch-${option.value}`}\n checked={option.value === checkedRadioOption}\n className=\"sr-only\" // Hide the input but keep it accessible\n />\n <label htmlFor={`switch-${option.value}`} className={' cursor-pointer '}>\n {option.label}\n </label>\n </div>\n ))}\n </div>\n );\n};\n"],"names":["RadioSwitch","checkedRadioOption","optionList","onChange","switchWidth","automationId","handleChange","value","React","createElement","className","role","style","width","map","option","key","onClick","type","name","id","checked","htmlFor","label"],"mappings":";AAmBO,MAAMA,IAA0CA,CAAC;AAAA,EAAEC,oBAAAA;AAAAA,EAAoBC,YAAAA;AAAAA,EAAYC,UAAAA;AAAAA,EAAUC,aAAAA;AAAAA,EAAaC,cAAAA,IAAe;AAAG,MAAM;AACvI,QAAMC,IAAeA,CAACC,MAAkB;AACtC,IAAIJ,KACFA,EAASI,CAAK;AAAA,EAElB;AAEA,SACEC,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEC,WAAU;AAAA,IACVC,MAAK;AAAA,IACL,cAAW;AAAA,IACX,sBAAoBN;AAAAA,IACpBO,OAAO;AAAA,MACLC,OAAOT;AAAAA;AAAAA,IAAAA;AAAAA,EAET,GAECF,EAAWY,IAAKC,CAAAA,MACfP,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEO,KAAKD,EAAOR;AAAAA,IACZG,WAAW,kIACTK,EAAOR,UAAUN,IACb,sEACA,mCAAmC;AAAA,IAEzCgB,SAASA,MAAMX,EAAaS,EAAOR,KAAK;AAAA,IACxC,sBAAoB,uBAAuBQ,EAAOR,KAAK;AAAA,EAAA,GAEvDC,gBAAAA,EAAAC,cAAA,SAAA;AAAA,IACES,MAAK;AAAA,IACLC,MAAK;AAAA,IACLC,IAAI,UAAUL,EAAOR,KAAK;AAAA,IAC1Bc,SAASN,EAAOR,UAAUN;AAAAA,IAC1BS,WAAU;AAAA;AAAA,EAAA,CACX,GACDF,gBAAAA,EAAAC,cAAA,SAAA;AAAA,IAAOa,SAAS,UAAUP,EAAOR,KAAK;AAAA,IAAIG,WAAW;AAAA,EAAA,GAClDK,EAAOQ,KACH,CACJ,CACN,CACE;AAET;"}
|
package/dist/index59.js
CHANGED
|
@@ -1,89 +1,95 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { CustomModal as T } from "./index13.js";
|
|
3
|
-
import { Icon as v } from "./index6.js";
|
|
1
|
+
import a from "react";
|
|
4
2
|
/* empty css */
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
showCloseIcon: l = !1,
|
|
11
|
-
showBackButton: a = !1,
|
|
12
|
-
onBack: m = () => {
|
|
13
|
-
},
|
|
14
|
-
className: i = "",
|
|
15
|
-
automationId: r = "",
|
|
16
|
-
minHeight: u = "auto"
|
|
3
|
+
const n = ({
|
|
4
|
+
element: e,
|
|
5
|
+
animationDuration: d,
|
|
6
|
+
baseColor: s,
|
|
7
|
+
highlightColor: m
|
|
17
8
|
}) => {
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return /* @__PURE__ */ e.createElement("div", {
|
|
29
|
-
ref: t,
|
|
30
|
-
className: `se-design-bottom-sheet relative h-max max-h-[98vh] rounded-t-2xl flex flex-col pt-5 ${i}`,
|
|
31
|
-
onClick: (o) => o.stopPropagation(),
|
|
32
|
-
onTouchStart: k,
|
|
33
|
-
onTouchMove: N,
|
|
34
|
-
onTouchEnd: y,
|
|
35
|
-
"data-automation-id": r,
|
|
36
|
-
style: {
|
|
37
|
-
minHeight: u
|
|
38
|
-
}
|
|
39
|
-
}, (n || a) && /* @__PURE__ */ e.createElement("div", {
|
|
40
|
-
className: "se-design-bottom-sheet-header flex items-center justify-left gap-3 mr-6 px-4"
|
|
41
|
-
}, a && /* @__PURE__ */ e.createElement(v, {
|
|
42
|
-
name: "back",
|
|
43
|
-
stroke: "var(--color-gray-700)",
|
|
44
|
-
onClick: m,
|
|
45
|
-
className: "se-design-bottom-sheet-back-icon cursor-pointer",
|
|
46
|
-
automationId: `${r}-back-icon`
|
|
47
|
-
}), n && /* @__PURE__ */ e.createElement("div", {
|
|
48
|
-
className: "se-design-bottom-sheet-title text-lg font-semibold"
|
|
49
|
-
}, n)), l && /* @__PURE__ */ e.createElement(v, {
|
|
50
|
-
name: "close",
|
|
51
|
-
onClick: s,
|
|
52
|
-
className: "se-design-bottom-sheet-close-icon absolute top-6 right-4 cursor-pointer z-10",
|
|
53
|
-
automationId: `${r}-close-icon`
|
|
54
|
-
}), /* @__PURE__ */ e.createElement("div", {
|
|
55
|
-
className: "se-design-bottom-sheet-content px-4 pb-5 flex-1 min-h-0 overflow-y-auto"
|
|
56
|
-
}, c));
|
|
57
|
-
}, I = ({
|
|
58
|
-
isOpen: c = !1,
|
|
59
|
-
title: n = "",
|
|
60
|
-
onClose: s = () => {
|
|
61
|
-
},
|
|
62
|
-
children: l = null,
|
|
63
|
-
showCloseIcon: a = !0,
|
|
64
|
-
showBackButton: m = !1,
|
|
65
|
-
onBack: i = () => {
|
|
66
|
-
},
|
|
67
|
-
className: r = "",
|
|
68
|
-
automationId: u = "bottomsheet",
|
|
69
|
-
minHeight: t = ""
|
|
70
|
-
}) => /* @__PURE__ */ e.createElement(T, {
|
|
71
|
-
isOpen: c,
|
|
72
|
-
onClose: s,
|
|
73
|
-
onModalClick: s,
|
|
74
|
-
className: "custom-bottom-sheet",
|
|
75
|
-
renderModalContent: () => /* @__PURE__ */ e.createElement(C, {
|
|
76
|
-
title: n,
|
|
77
|
-
onClose: s,
|
|
78
|
-
showCloseIcon: a,
|
|
79
|
-
showBackButton: m,
|
|
80
|
-
onBack: i,
|
|
9
|
+
const i = {
|
|
10
|
+
width: typeof e.width == "number" ? `${e.width}px` : e.width,
|
|
11
|
+
height: typeof e.height == "number" ? `${e.height}px` : e.height,
|
|
12
|
+
borderRadius: e.borderRadius ? typeof e.borderRadius == "number" ? `${e.borderRadius}px` : e.borderRadius : void 0,
|
|
13
|
+
margin: e.margin,
|
|
14
|
+
"--shimmer-duration": `${d}s`,
|
|
15
|
+
"--shimmer-base-color": s,
|
|
16
|
+
"--shimmer-highlight-color": m
|
|
17
|
+
}, r = `se-design-shimmer-element se-design-shimmer-${e.type}`;
|
|
18
|
+
return /* @__PURE__ */ a.createElement("div", {
|
|
81
19
|
className: r,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
20
|
+
style: i
|
|
21
|
+
}, e.children && e.children.map((t, p) => /* @__PURE__ */ a.createElement(n, {
|
|
22
|
+
key: p,
|
|
23
|
+
element: t,
|
|
24
|
+
animationDuration: d,
|
|
25
|
+
baseColor: s,
|
|
26
|
+
highlightColor: m
|
|
27
|
+
})));
|
|
28
|
+
}, y = ({
|
|
29
|
+
container: e,
|
|
30
|
+
animationDuration: d,
|
|
31
|
+
baseColor: s,
|
|
32
|
+
highlightColor: m
|
|
33
|
+
}) => {
|
|
34
|
+
const i = {
|
|
35
|
+
display: "flex",
|
|
36
|
+
flexDirection: e.direction || "column",
|
|
37
|
+
gap: typeof e.gap == "number" ? `${e.gap}px` : e.gap,
|
|
38
|
+
padding: e.padding,
|
|
39
|
+
margin: e.margin,
|
|
40
|
+
alignItems: e.alignItems,
|
|
41
|
+
flex: e.flex
|
|
42
|
+
};
|
|
43
|
+
return /* @__PURE__ */ a.createElement("div", {
|
|
44
|
+
className: `se-design-shimmer-container ${e.className || ""}`,
|
|
45
|
+
style: i
|
|
46
|
+
}, e.children.map((r, t) => r.type === "container" ? /* @__PURE__ */ a.createElement(y, {
|
|
47
|
+
key: t,
|
|
48
|
+
container: r,
|
|
49
|
+
animationDuration: d,
|
|
50
|
+
baseColor: s,
|
|
51
|
+
highlightColor: m
|
|
52
|
+
}) : /* @__PURE__ */ a.createElement(n, {
|
|
53
|
+
key: t,
|
|
54
|
+
element: r,
|
|
55
|
+
animationDuration: d,
|
|
56
|
+
baseColor: s,
|
|
57
|
+
highlightColor: m
|
|
58
|
+
})));
|
|
59
|
+
}, g = ({
|
|
60
|
+
structure: e,
|
|
61
|
+
className: d = "",
|
|
62
|
+
animationDuration: s = 3,
|
|
63
|
+
baseColor: m = "var(--color-gray-600)",
|
|
64
|
+
highlightColor: i = "var(--color-gray-500)",
|
|
65
|
+
width: r,
|
|
66
|
+
height: t
|
|
67
|
+
}) => {
|
|
68
|
+
const p = {
|
|
69
|
+
width: r ? typeof r == "number" ? `${r}px` : r : "100%",
|
|
70
|
+
height: t ? typeof t == "number" ? `${t}px` : t : "auto",
|
|
71
|
+
"--shimmer-duration": `${s}s`,
|
|
72
|
+
"--shimmer-base-color": m,
|
|
73
|
+
"--shimmer-highlight-color": i
|
|
74
|
+
};
|
|
75
|
+
return /* @__PURE__ */ a.createElement("div", {
|
|
76
|
+
className: `se-design-shimmer-loader ${d}`,
|
|
77
|
+
style: p
|
|
78
|
+
}, e.map((c, o) => c.type === "container" ? /* @__PURE__ */ a.createElement(y, {
|
|
79
|
+
key: o,
|
|
80
|
+
container: c,
|
|
81
|
+
animationDuration: s,
|
|
82
|
+
baseColor: m,
|
|
83
|
+
highlightColor: i
|
|
84
|
+
}) : /* @__PURE__ */ a.createElement(n, {
|
|
85
|
+
key: o,
|
|
86
|
+
element: c,
|
|
87
|
+
animationDuration: s,
|
|
88
|
+
baseColor: m,
|
|
89
|
+
highlightColor: i
|
|
90
|
+
})));
|
|
91
|
+
};
|
|
86
92
|
export {
|
|
87
|
-
|
|
93
|
+
g as ShimmerLoader
|
|
88
94
|
};
|
|
89
95
|
//# sourceMappingURL=index59.js.map
|
package/dist/index59.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index59.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"index59.js","sources":["../src/components/ShimmerLoader/index.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport './style.scss';\n\nexport interface ShimmerElement {\n type: 'text' | 'rect' | 'rect-sm' | 'circle' | 'avatar' | 'image' | 'button';\n width: number | string;\n height: number | string;\n borderRadius?: number | string;\n margin?: string;\n className?: string;\n children?: ShimmerElement[];\n}\n\nexport interface ShimmerContainer {\n type: 'container';\n direction?: 'row' | 'column';\n gap?: number | string;\n padding?: string;\n margin?: string;\n alignItems?: string;\n flex?: number | string;\n className?: string;\n children: (ShimmerElement | ShimmerContainer)[];\n}\n\nexport type ShimmerStructure = (ShimmerElement | ShimmerContainer)[];\n\nexport interface ShimmerLoaderProps {\n structure: ShimmerStructure;\n className?: string;\n animationDuration?: number;\n baseColor?: string;\n highlightColor?: string;\n width?: number | string;\n height?: number | string;\n}\n\nconst ShimmerElementComponent: FC<{\n element: ShimmerElement;\n animationDuration: number;\n baseColor: string;\n highlightColor: string;\n}> = ({ element, animationDuration, baseColor, highlightColor }) => {\n const style: React.CSSProperties = {\n width: typeof element.width === 'number' ? `${element.width}px` : element.width,\n height: typeof element.height === 'number' ? `${element.height}px` : element.height,\n borderRadius: element.borderRadius\n ? typeof element.borderRadius === 'number'\n ? `${element.borderRadius}px`\n : element.borderRadius\n : undefined,\n margin: element.margin,\n '--shimmer-duration': `${animationDuration}s`,\n '--shimmer-base-color': baseColor,\n '--shimmer-highlight-color': highlightColor\n } as React.CSSProperties;\n\n const shimmerClass = `se-design-shimmer-element se-design-shimmer-${element.type}`;\n\n return (\n <div className={shimmerClass} style={style}>\n {element.children &&\n element.children.map((child, index) => (\n <ShimmerElementComponent\n key={index}\n element={child}\n animationDuration={animationDuration}\n baseColor={baseColor}\n highlightColor={highlightColor}\n />\n ))}\n </div>\n );\n};\n\nconst ShimmerContainerComponent: FC<{\n container: ShimmerContainer;\n animationDuration: number;\n baseColor: string;\n highlightColor: string;\n}> = ({ container, animationDuration, baseColor, highlightColor }) => {\n const style: React.CSSProperties = {\n display: 'flex',\n flexDirection: container.direction || 'column',\n gap: typeof container.gap === 'number' ? `${container.gap}px` : container.gap,\n padding: container.padding,\n margin: container.margin,\n alignItems: container.alignItems,\n flex: container.flex\n };\n\n return (\n <div className={`se-design-shimmer-container ${container.className || ''}`} style={style}>\n {container.children.map((element, index) =>\n element.type === 'container' ? (\n <ShimmerContainerComponent\n key={index}\n container={element}\n animationDuration={animationDuration}\n baseColor={baseColor}\n highlightColor={highlightColor}\n />\n ) : (\n <ShimmerElementComponent\n key={index}\n element={element}\n animationDuration={animationDuration}\n baseColor={baseColor}\n highlightColor={highlightColor}\n />\n )\n )}\n </div>\n );\n};\n\nexport const ShimmerLoader: FC<ShimmerLoaderProps> = ({\n structure,\n className = '',\n animationDuration = 3,\n baseColor = 'var(--color-gray-600)',\n highlightColor = 'var(--color-gray-500)',\n width,\n height\n}) => {\n const containerStyle: React.CSSProperties = {\n width: width ? (typeof width === 'number' ? `${width}px` : width) : '100%',\n height: height ? (typeof height === 'number' ? `${height}px` : height) : 'auto',\n '--shimmer-duration': `${animationDuration}s`,\n '--shimmer-base-color': baseColor,\n '--shimmer-highlight-color': highlightColor\n } as React.CSSProperties;\n\n return (\n <div className={`se-design-shimmer-loader ${className}`} style={containerStyle}>\n {structure.map((item, index) => {\n if (item.type === 'container') {\n return (\n <ShimmerContainerComponent\n key={index}\n container={item}\n animationDuration={animationDuration}\n baseColor={baseColor}\n highlightColor={highlightColor}\n />\n );\n } else {\n return (\n <ShimmerElementComponent\n key={index}\n element={item}\n animationDuration={animationDuration}\n baseColor={baseColor}\n highlightColor={highlightColor}\n />\n );\n }\n })}\n </div>\n );\n};\n\nexport default ShimmerLoader;\n"],"names":["ShimmerElementComponent","element","animationDuration","baseColor","highlightColor","style","width","height","borderRadius","undefined","margin","shimmerClass","type","React","createElement","className","children","map","child","index","key","ShimmerContainerComponent","container","display","flexDirection","direction","gap","padding","alignItems","flex","ShimmerLoader","structure","containerStyle","item"],"mappings":"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"}
|