se-design 0.0.112 → 0.0.114

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.
Files changed (307) hide show
  1. package/dist/assets/icons/csv-file.svg +6 -0
  2. package/dist/assets/icons/observer.svg +4 -0
  3. package/dist/assets/icons/select-files.svg +25 -0
  4. package/dist/assets/icons/signer.svg +5 -0
  5. package/dist/assets/style.css +1 -1
  6. package/dist/components/Banner/index.d.ts +4 -0
  7. package/dist/components/CustomModal/index.d.ts +1 -0
  8. package/dist/components/FilePicker/index.d.ts +41 -0
  9. package/dist/components/KebabMenu/index.d.ts +0 -2
  10. package/dist/components/LabelChip/index.d.ts +1 -0
  11. package/dist/components/SearchBox/index.d.ts +13 -0
  12. package/dist/components/index.d.ts +2 -0
  13. package/dist/index.js +86 -82
  14. package/dist/index.js.map +1 -1
  15. package/dist/index10.js +31 -9
  16. package/dist/index10.js.map +1 -1
  17. package/dist/index100.js +1 -1
  18. package/dist/index100.js.map +1 -1
  19. package/dist/index101.js +2 -2
  20. package/dist/index101.js.map +1 -1
  21. package/dist/index102.js +2 -2
  22. package/dist/index102.js.map +1 -1
  23. package/dist/index103.js +2 -2
  24. package/dist/index103.js.map +1 -1
  25. package/dist/index104.js +1 -1
  26. package/dist/index104.js.map +1 -1
  27. package/dist/index105.js +1 -1
  28. package/dist/index105.js.map +1 -1
  29. package/dist/index106.js +1 -1
  30. package/dist/index106.js.map +1 -1
  31. package/dist/index107.js +2 -2
  32. package/dist/index107.js.map +1 -1
  33. package/dist/index108.js +1 -1
  34. package/dist/index108.js.map +1 -1
  35. package/dist/index109.js +2 -2
  36. package/dist/index109.js.map +1 -1
  37. package/dist/index11.js +13 -11
  38. package/dist/index11.js.map +1 -1
  39. package/dist/index110.js +1 -1
  40. package/dist/index110.js.map +1 -1
  41. package/dist/index111.js +2 -2
  42. package/dist/index111.js.map +1 -1
  43. package/dist/index112.js +2 -149
  44. package/dist/index112.js.map +1 -1
  45. package/dist/index113.js +5 -0
  46. package/dist/index113.js.map +1 -0
  47. package/dist/index114.js +5 -0
  48. package/dist/index114.js.map +1 -0
  49. package/dist/index115.js +5 -0
  50. package/dist/index115.js.map +1 -0
  51. package/dist/index116.js +5 -0
  52. package/dist/index116.js.map +1 -0
  53. package/dist/index117.js +5 -0
  54. package/dist/index117.js.map +1 -0
  55. package/dist/index118.js +152 -0
  56. package/dist/index118.js.map +1 -0
  57. package/dist/index12.js +14 -4
  58. package/dist/index12.js.map +1 -1
  59. package/dist/index129.js +12 -1233
  60. package/dist/index129.js.map +1 -1
  61. package/dist/index13.js +6 -31
  62. package/dist/index13.js.map +1 -1
  63. package/dist/index137.js +1232 -37
  64. package/dist/index137.js.map +1 -1
  65. package/dist/index138.js +10 -2
  66. package/dist/index138.js.map +1 -1
  67. package/dist/index139.js +9 -7
  68. package/dist/index139.js.map +1 -1
  69. package/dist/index14.js +30 -30
  70. package/dist/index14.js.map +1 -1
  71. package/dist/index140.js +4 -326
  72. package/dist/index140.js.map +1 -1
  73. package/dist/index141.js +166 -46
  74. package/dist/index141.js.map +1 -1
  75. package/dist/index142.js +11 -2
  76. package/dist/index142.js.map +1 -1
  77. package/dist/index143.js +5 -75
  78. package/dist/index143.js.map +1 -1
  79. package/dist/index144.js +5 -92
  80. package/dist/index144.js.map +1 -1
  81. package/dist/index145.js +35 -49
  82. package/dist/index145.js.map +1 -1
  83. package/dist/index146.js +2 -8
  84. package/dist/index146.js.map +1 -1
  85. package/dist/index147.js +7 -4
  86. package/dist/index147.js.map +1 -1
  87. package/dist/index148.js +320 -45
  88. package/dist/index148.js.map +1 -1
  89. package/dist/index149.js +50 -2
  90. package/dist/index149.js.map +1 -1
  91. package/dist/index15.js +31 -19
  92. package/dist/index15.js.map +1 -1
  93. package/dist/index150.js +2 -2
  94. package/dist/index151.js +79 -0
  95. package/dist/index151.js.map +1 -0
  96. package/dist/index152.js +96 -0
  97. package/dist/index152.js.map +1 -0
  98. package/dist/index153.js +55 -0
  99. package/dist/index153.js.map +1 -0
  100. package/dist/index154.js +11 -0
  101. package/dist/index154.js.map +1 -0
  102. package/dist/index155.js +8 -0
  103. package/dist/index155.js.map +1 -0
  104. package/dist/index156.js +55 -0
  105. package/dist/index156.js.map +1 -0
  106. package/dist/index157.js +5 -0
  107. package/dist/index157.js.map +1 -0
  108. package/dist/index158.js +5 -0
  109. package/dist/index158.js.map +1 -0
  110. package/dist/index16.js +17 -124
  111. package/dist/index16.js.map +1 -1
  112. package/dist/index17.js +124 -27
  113. package/dist/index17.js.map +1 -1
  114. package/dist/index18.js +29 -31
  115. package/dist/index18.js.map +1 -1
  116. package/dist/index19.js +31 -79
  117. package/dist/index19.js.map +1 -1
  118. package/dist/index20.js +78 -38
  119. package/dist/index20.js.map +1 -1
  120. package/dist/index21.js +38 -22
  121. package/dist/index21.js.map +1 -1
  122. package/dist/index22.js +22 -74
  123. package/dist/index22.js.map +1 -1
  124. package/dist/index23.js +73 -133
  125. package/dist/index23.js.map +1 -1
  126. package/dist/index24.js +140 -17
  127. package/dist/index24.js.map +1 -1
  128. package/dist/index25.js +16 -43
  129. package/dist/index25.js.map +1 -1
  130. package/dist/index26.js +44 -60
  131. package/dist/index26.js.map +1 -1
  132. package/dist/index27.js +60 -62
  133. package/dist/index27.js.map +1 -1
  134. package/dist/index28.js +74 -41
  135. package/dist/index28.js.map +1 -1
  136. package/dist/index29.js +41 -97
  137. package/dist/index29.js.map +1 -1
  138. package/dist/index3.js +1 -1
  139. package/dist/index30.js +99 -58
  140. package/dist/index30.js.map +1 -1
  141. package/dist/index31.js +56 -37
  142. package/dist/index31.js.map +1 -1
  143. package/dist/index32.js +39 -35
  144. package/dist/index32.js.map +1 -1
  145. package/dist/index33.js +30 -38
  146. package/dist/index33.js.map +1 -1
  147. package/dist/index34.js +43 -47
  148. package/dist/index34.js.map +1 -1
  149. package/dist/index35.js +44 -35
  150. package/dist/index35.js.map +1 -1
  151. package/dist/index36.js +35 -31
  152. package/dist/index36.js.map +1 -1
  153. package/dist/index37.js +75 -49
  154. package/dist/index37.js.map +1 -1
  155. package/dist/index38.js +27 -64
  156. package/dist/index38.js.map +1 -1
  157. package/dist/index39.js +48 -62
  158. package/dist/index39.js.map +1 -1
  159. package/dist/index4.js +40 -165
  160. package/dist/index4.js.map +1 -1
  161. package/dist/index40.js +67 -70
  162. package/dist/index40.js.map +1 -1
  163. package/dist/index41.js +62 -83
  164. package/dist/index41.js.map +1 -1
  165. package/dist/index42.js +107 -37
  166. package/dist/index42.js.map +1 -1
  167. package/dist/index43.js +84 -27
  168. package/dist/index43.js.map +1 -1
  169. package/dist/index44.js +36 -28
  170. package/dist/index44.js.map +1 -1
  171. package/dist/index45.js +30 -2
  172. package/dist/index45.js.map +1 -1
  173. package/dist/index46.js +30 -2
  174. package/dist/index46.js.map +1 -1
  175. package/dist/index47.js +1 -1
  176. package/dist/index47.js.map +1 -1
  177. package/dist/index48.js +1 -1
  178. package/dist/index48.js.map +1 -1
  179. package/dist/index49.js +1 -1
  180. package/dist/index49.js.map +1 -1
  181. package/dist/index5.js +173 -62
  182. package/dist/index5.js.map +1 -1
  183. package/dist/index50.js +1 -1
  184. package/dist/index50.js.map +1 -1
  185. package/dist/index51.js +1 -1
  186. package/dist/index51.js.map +1 -1
  187. package/dist/index52.js +1 -1
  188. package/dist/index52.js.map +1 -1
  189. package/dist/index53.js +1 -1
  190. package/dist/index53.js.map +1 -1
  191. package/dist/index54.js +1 -1
  192. package/dist/index54.js.map +1 -1
  193. package/dist/index55.js +1 -1
  194. package/dist/index55.js.map +1 -1
  195. package/dist/index56.js +1 -1
  196. package/dist/index56.js.map +1 -1
  197. package/dist/index57.js +1 -1
  198. package/dist/index57.js.map +1 -1
  199. package/dist/index58.js +1 -1
  200. package/dist/index58.js.map +1 -1
  201. package/dist/index59.js +1 -1
  202. package/dist/index59.js.map +1 -1
  203. package/dist/index6.js +62 -36
  204. package/dist/index6.js.map +1 -1
  205. package/dist/index60.js +2 -2
  206. package/dist/index60.js.map +1 -1
  207. package/dist/index61.js +1 -1
  208. package/dist/index61.js.map +1 -1
  209. package/dist/index62.js +2 -2
  210. package/dist/index62.js.map +1 -1
  211. package/dist/index63.js +1 -1
  212. package/dist/index63.js.map +1 -1
  213. package/dist/index64.js +1 -1
  214. package/dist/index64.js.map +1 -1
  215. package/dist/index65.js +1 -1
  216. package/dist/index65.js.map +1 -1
  217. package/dist/index66.js +1 -1
  218. package/dist/index66.js.map +1 -1
  219. package/dist/index67.js +1 -1
  220. package/dist/index67.js.map +1 -1
  221. package/dist/index68.js +1 -1
  222. package/dist/index68.js.map +1 -1
  223. package/dist/index69.js +1 -1
  224. package/dist/index69.js.map +1 -1
  225. package/dist/index7.js +37 -20
  226. package/dist/index7.js.map +1 -1
  227. package/dist/index70.js +2 -2
  228. package/dist/index70.js.map +1 -1
  229. package/dist/index71.js +1 -1
  230. package/dist/index71.js.map +1 -1
  231. package/dist/index72.js +2 -2
  232. package/dist/index72.js.map +1 -1
  233. package/dist/index73.js +2 -2
  234. package/dist/index73.js.map +1 -1
  235. package/dist/index74.js +1 -1
  236. package/dist/index74.js.map +1 -1
  237. package/dist/index75.js +2 -2
  238. package/dist/index75.js.map +1 -1
  239. package/dist/index76.js +2 -2
  240. package/dist/index76.js.map +1 -1
  241. package/dist/index77.js +1 -1
  242. package/dist/index77.js.map +1 -1
  243. package/dist/index78.js +1 -1
  244. package/dist/index78.js.map +1 -1
  245. package/dist/index79.js +1 -1
  246. package/dist/index79.js.map +1 -1
  247. package/dist/index8.js +18 -39
  248. package/dist/index8.js.map +1 -1
  249. package/dist/index80.js +1 -1
  250. package/dist/index80.js.map +1 -1
  251. package/dist/index81.js +1 -1
  252. package/dist/index81.js.map +1 -1
  253. package/dist/index82.js +1 -1
  254. package/dist/index82.js.map +1 -1
  255. package/dist/index83.js +1 -1
  256. package/dist/index83.js.map +1 -1
  257. package/dist/index84.js +1 -1
  258. package/dist/index84.js.map +1 -1
  259. package/dist/index85.js +1 -1
  260. package/dist/index85.js.map +1 -1
  261. package/dist/index86.js +1 -1
  262. package/dist/index86.js.map +1 -1
  263. package/dist/index87.js +1 -1
  264. package/dist/index87.js.map +1 -1
  265. package/dist/index88.js +2 -2
  266. package/dist/index88.js.map +1 -1
  267. package/dist/index89.js +2 -2
  268. package/dist/index89.js.map +1 -1
  269. package/dist/index9.js +42 -36
  270. package/dist/index9.js.map +1 -1
  271. package/dist/index90.js +1 -1
  272. package/dist/index90.js.map +1 -1
  273. package/dist/index91.js +1 -1
  274. package/dist/index91.js.map +1 -1
  275. package/dist/index92.js +2 -2
  276. package/dist/index92.js.map +1 -1
  277. package/dist/index93.js +2 -2
  278. package/dist/index93.js.map +1 -1
  279. package/dist/index94.js +1 -1
  280. package/dist/index94.js.map +1 -1
  281. package/dist/index95.js +1 -1
  282. package/dist/index95.js.map +1 -1
  283. package/dist/index96.js +1 -1
  284. package/dist/index96.js.map +1 -1
  285. package/dist/index97.js +1 -1
  286. package/dist/index97.js.map +1 -1
  287. package/dist/index98.js +2 -2
  288. package/dist/index98.js.map +1 -1
  289. package/dist/index99.js +1 -1
  290. package/dist/index99.js.map +1 -1
  291. package/dist/typographyMixin.scss +60 -21
  292. package/package.json +1 -1
  293. package/dist/index130.js +0 -13
  294. package/dist/index130.js.map +0 -1
  295. package/dist/index131.js +0 -13
  296. package/dist/index131.js.map +0 -1
  297. package/dist/index132.js +0 -8
  298. package/dist/index132.js.map +0 -1
  299. package/dist/index133.js +0 -173
  300. package/dist/index133.js.map +0 -1
  301. package/dist/index134.js +0 -14
  302. package/dist/index134.js.map +0 -1
  303. package/dist/index135.js +0 -9
  304. package/dist/index135.js.map +0 -1
  305. package/dist/index136.js +0 -9
  306. package/dist/index136.js.map +0 -1
  307. /package/dist/assets/icons/{pdfFile.svg → pdf-file.svg} +0 -0
package/dist/index29.js CHANGED
@@ -1,102 +1,46 @@
1
- import e from "react";
2
- import { Button as N } from "./index3.js";
3
- import { Badge as I } from "./index7.js";
4
- import { Icon as d } from "./index4.js";
5
- /* empty css */
6
- const t = {
7
- widgetCtn: "flex flex-col gap-[2px] align-center border border-[var(--color-gray-200)] rounded-[12px] w-[385px]",
8
- widgetImageCtn: "cursor-pointer",
9
- descriptionCtn: "p-4 flex flex-col",
10
- widgetTitle: "text-[var(--color-gray-900)] mt-[4px] mb-[8px]",
11
- widgetDescription: "text-[var(--color-gray-700)] mb-[4px]",
12
- widgetLinkCta: "text-[var(--color-blue-500)] cursor-pointer hover:text-[var(--color-blue-600)]",
13
- widgetButtonCta: "self-start",
14
- widgetBadge: "w-fit",
15
- webinarInfoCtn: "flex flex-col gap-2",
16
- webinarSpeaker: "text-[var(--color-gray-700)]",
17
- webinarDate: "text-[var(--color-gray-700)]",
18
- webinarDescriptionInfo: "flex gap-2",
19
- webinarTimeInfo: "flex gap-2",
20
- requestFeatureCtn: "flex gap-[12px]",
21
- requestFeatureImageCtn: "w-[48px] h-[48px] border border-[var(--color-gray-200)] rounded-[50%] flex items-center flex-shrink-0 bg-[var(--color-red-50)]",
22
- requestFeatureDescriptionCtn: "flex flex-col"
23
- }, B = ({
24
- widgetClassName: g = "",
25
- widgetType: a = "general",
26
- widgetTitle: r = "",
27
- widgetDescription: l = "",
28
- widgetImage: p,
29
- hasImage: f = !1,
30
- hasButtonCta: n = !1,
31
- hasLinkCta: i = !1,
32
- ctaText: o = "",
33
- hasBadge: x = !1,
34
- badgeText: w = "",
35
- buttonBgColor: u = "secondary",
36
- onCtaClick: b,
37
- onWidgetClick: v,
38
- webinarDateInfo: c,
39
- webinarSpeaker: s
1
+ import r from "react";
2
+ import { Icon as h } from "./index5.js";
3
+ const E = ({
4
+ currentPage: s,
5
+ itemsPerPage: l,
6
+ totalItems: n,
7
+ onPageChange: i
40
8
  }) => {
41
- const E = x && /* @__PURE__ */ e.createElement(I, {
42
- label: w,
43
- className: t.widgetBadge,
44
- bgColor: "var(--color-yellow-50)",
45
- textColor: "var(--color-yellow-400)",
46
- fontWeight: "normal"
47
- }), m = (i || n) && /* @__PURE__ */ e.createElement(e.Fragment, null, i && /* @__PURE__ */ e.createElement("span", {
48
- className: t.widgetLinkCta
49
- }, o), n && /* @__PURE__ */ e.createElement(N, {
50
- type: u,
51
- size: "md",
52
- label: o,
53
- className: `${t.widgetButtonCta} mt-[4px]`,
54
- onClick: b
55
- })), C = f && /* @__PURE__ */ e.createElement("div", {
56
- className: `${t.widgetImageCtn} widget-image-ctn`
57
- }, /* @__PURE__ */ e.createElement("img", {
58
- src: p,
59
- alt: "widget-image"
60
- }));
61
- return /* @__PURE__ */ e.createElement("div", {
62
- className: `${t.widgetCtn} ${g} widget-ctn`,
63
- onClick: v
64
- }, a !== "general" && C, /* @__PURE__ */ e.createElement("div", {
65
- className: t.descriptionCtn
66
- }, a !== "general" && E, a !== "request-feature" && /* @__PURE__ */ e.createElement("span", {
67
- className: `${t.widgetTitle} widget-title`
68
- }, r), ["promotion", "general"].includes(a) && /* @__PURE__ */ e.createElement("span", {
69
- className: `${t.widgetDescription} widget-description`
70
- }, l), a === "webinar" && /* @__PURE__ */ e.createElement("div", {
71
- className: t.webinarInfoCtn
72
- }, s && /* @__PURE__ */ e.createElement("div", {
73
- className: `${t.webinarDescriptionInfo} align-baseline`
74
- }, /* @__PURE__ */ e.createElement(d, {
75
- name: "people",
76
- className: "relative top-[2px]"
77
- }), /* @__PURE__ */ e.createElement("span", {
78
- className: t.webinarSpeaker
79
- }, s)), c && /* @__PURE__ */ e.createElement("div", {
80
- className: `${t.webinarTimeInfo} align-baseline mb-[4px]`
81
- }, /* @__PURE__ */ e.createElement(d, {
82
- name: "clock",
83
- className: "relative top-[2px]"
84
- }), /* @__PURE__ */ e.createElement("span", {
85
- className: t.webinarDate
86
- }, c))), a === "request-feature" ? /* @__PURE__ */ e.createElement("div", {
87
- className: t.requestFeatureCtn
88
- }, /* @__PURE__ */ e.createElement("div", {
89
- className: t.requestFeatureImageCtn
90
- }), /* @__PURE__ */ e.createElement("div", {
91
- className: t.requestFeatureDescriptionCtn
92
- }, /* @__PURE__ */ e.createElement("span", {
93
- className: `${t.widgetTitle} widget-title`
94
- }, r), /* @__PURE__ */ e.createElement("span", {
95
- className: `${t.widgetDescription} widget-description`
96
- }, l), m)) : m));
9
+ const o = Math.ceil(n / l), m = 1, d = o, f = (s - 1) * l + 1, p = Math.min(s * l, n), u = p < n, x = s > 1, y = () => {
10
+ const e = [], t = (a) => /* @__PURE__ */ r.createElement("span", {
11
+ key: a,
12
+ onClick: () => i(a),
13
+ className: `w-5 h-5 text-sm flex items-center justify-center rounded border ${s === a ? "bg-[var(--color-gray-100)] border-[var(--color-gray-300)]" : "border-[var(--color-gray-200)] hover:bg-[var(--color-gray-50)]"}`
14
+ }, a), c = () => /* @__PURE__ */ r.createElement("span", {
15
+ className: "w-5 h-5 text-sm rounded border border-[var(--color-gray-200)] flex items-end justify-center"
16
+ }, "...");
17
+ if (s <= 3) {
18
+ for (let a = 1; a <= Math.min(3, o); a++)
19
+ e.push(t(a));
20
+ o > 3 && (e.push(c()), e.push(t(o)));
21
+ } else s >= o - 2 ? (e.push(t(m)), e.push(c()), e.push(t(o - 2)), e.push(t(o - 1)), e.push(t(o))) : (e.push(t(m)), e.push(c()), e.push(t(s - 1)), e.push(t(s)), e.push(t(s + 1)), e.push(c()), e.push(t(d)));
22
+ return e;
23
+ };
24
+ return /* @__PURE__ */ r.createElement("div", {
25
+ className: "flex items-center gap-1 font-normal"
26
+ }, /* @__PURE__ */ r.createElement("span", {
27
+ className: "text-sm text-[var(--color-gray-700)] mr-1"
28
+ }, "Showing ", f, "-", p, " of ", n), /* @__PURE__ */ r.createElement("span", {
29
+ onClick: () => x && i(s - 1),
30
+ className: "w-5 h-5 flex items-center justify-center disabled:opacity-50 hover:cursor-pointer"
31
+ }, /* @__PURE__ */ r.createElement(h, {
32
+ name: "next",
33
+ className: "rotate-180 transition-transform stroke-[var(--color-gray-600)]"
34
+ })), /* @__PURE__ */ r.createElement("div", {
35
+ className: "flex items-center gap-1"
36
+ }, y()), /* @__PURE__ */ r.createElement("span", {
37
+ onClick: () => u && i(s + 1),
38
+ className: "w-5 h-5 flex items-center justify-center disabled:opacity-50 hover:cursor-pointer"
39
+ }, /* @__PURE__ */ r.createElement(h, {
40
+ name: "next"
41
+ })));
97
42
  };
98
43
  export {
99
- B as Widget,
100
- B as default
44
+ E as Pagination
101
45
  };
102
46
  //# sourceMappingURL=index29.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index29.js","sources":["../src/components/Widget/index.tsx"],"sourcesContent":["import React, { FC } from \"react\";\nimport { Map } from \"../../utils/common.types\";\nimport { Button } from \"../Button\";\nimport { Badge } from \"../Badge\";\nimport { Icon } from \"../Icon\";\nimport \"./style.scss\";\n\nexport interface WidgetProps {\n widgetClassName?: string;\n widgetType?: \"promotion\" | \"webinar\" | \"request-feature\" | \"general\";\n widgetTitle?: string;\n hasBadge?: boolean;\n webinarSpeaker?: string;\n badgeText?: string;\n widgetDescription?: string;\n webinarDateInfo?: string;\n hasImage?: boolean;\n widgetImage?: string;\n hasButtonCta?: boolean;\n buttonBgColor?: 'primary' | 'secondary';\n hasLinkCta?: boolean;\n ctaText?: string;\n onCtaClick?: () => void;\n onWidgetClick?: () => void;\n}\n\nconst className: Map = {\n widgetCtn: 'flex flex-col gap-[2px] align-center border border-[var(--color-gray-200)] rounded-[12px] w-[385px]',\n widgetImageCtn: 'cursor-pointer',\n descriptionCtn: 'p-4 flex flex-col',\n widgetTitle: 'text-[var(--color-gray-900)] mt-[4px] mb-[8px]',\n widgetDescription: 'text-[var(--color-gray-700)] mb-[4px]',\n widgetLinkCta: 'text-[var(--color-blue-500)] cursor-pointer hover:text-[var(--color-blue-600)]',\n widgetButtonCta: 'self-start',\n widgetBadge: 'w-fit',\n webinarInfoCtn: 'flex flex-col gap-2',\n webinarSpeaker: 'text-[var(--color-gray-700)]',\n webinarDate: 'text-[var(--color-gray-700)]',\n webinarDescriptionInfo: 'flex gap-2',\n webinarTimeInfo: 'flex gap-2',\n requestFeatureCtn: 'flex gap-[12px]',\n requestFeatureImageCtn: 'w-[48px] h-[48px] border border-[var(--color-gray-200)] rounded-[50%] flex items-center flex-shrink-0 bg-[var(--color-red-50)]',\n requestFeatureDescriptionCtn: 'flex flex-col',\n};\n\nexport const Widget: FC<WidgetProps> = ({\n widgetClassName = \"\",\n widgetType = 'general',\n widgetTitle = \"\",\n widgetDescription = \"\",\n widgetImage,\n hasImage = false,\n hasButtonCta = false,\n hasLinkCta = false,\n ctaText = \"\",\n hasBadge = false,\n badgeText = \"\",\n buttonBgColor = 'secondary',\n onCtaClick,\n onWidgetClick,\n webinarDateInfo,\n webinarSpeaker,\n}) => {\n\n const renderBadge = hasBadge && (\n <Badge\n label={badgeText}\n className={className.widgetBadge}\n bgColor=\"var(--color-yellow-50)\"\n textColor=\"var(--color-yellow-400)\"\n fontWeight=\"normal\"\n />\n );\n\n const renderCTA = (hasLinkCta || hasButtonCta) && (\n <React.Fragment>\n {hasLinkCta && <span className={className.widgetLinkCta}>{ctaText}</span>}\n {hasButtonCta && <Button type={buttonBgColor} size=\"md\" label={ctaText} className={`${className.widgetButtonCta} mt-[4px]`} onClick={onCtaClick} />}\n </React.Fragment>\n );\n\n const renderImage = hasImage && (\n <div className={`${className.widgetImageCtn} widget-image-ctn`}>\n <img src={widgetImage} alt=\"widget-image\"/>\n </div>\n );\n\n return (\n <div className={`${className.widgetCtn} ${widgetClassName} widget-ctn`} onClick={onWidgetClick}>\n {widgetType !== \"general\" && renderImage}\n <div className={className.descriptionCtn}>\n {widgetType !== \"general\" && renderBadge}\n {widgetType !== \"request-feature\" && <span className={`${className.widgetTitle} widget-title`}>{widgetTitle}</span>}\n\n {([\"promotion\", \"general\"].includes(widgetType)) && (\n <span className={`${className.widgetDescription} widget-description`}>{widgetDescription}</span>\n )}\n\n {widgetType === \"webinar\" && (\n <div className={className.webinarInfoCtn}>\n {webinarSpeaker && (\n <div className={`${className.webinarDescriptionInfo} align-baseline`}>\n <Icon name=\"people\" className=\"relative top-[2px]\" />\n <span className={className.webinarSpeaker}>{webinarSpeaker}</span>\n </div>\n )}\n {webinarDateInfo && (\n <div className={`${className.webinarTimeInfo} align-baseline mb-[4px]`}>\n <Icon name=\"clock\" className=\"relative top-[2px]\" />\n <span className={className.webinarDate}>{webinarDateInfo}</span>\n </div>\n )}\n </div>\n )}\n\n {widgetType === \"request-feature\" ? (\n <div className={className.requestFeatureCtn}>\n <div className={className.requestFeatureImageCtn} />\n <div className={className.requestFeatureDescriptionCtn}>\n <span className={`${className.widgetTitle} widget-title`}>{widgetTitle}</span>\n <span className={`${className.widgetDescription} widget-description`}>{widgetDescription}</span>\n {renderCTA}\n </div>\n </div>\n ) : (\n renderCTA\n )}\n </div>\n </div>\n );\n};\n\nexport default Widget;"],"names":["React__default","Button","Badge","Icon","className","widgetCtn","widgetImageCtn","descriptionCtn","widgetTitle","widgetDescription","widgetLinkCta","widgetButtonCta","widgetBadge","webinarInfoCtn","webinarSpeaker","webinarDate","webinarDescriptionInfo","webinarTimeInfo","requestFeatureCtn","requestFeatureImageCtn","requestFeatureDescriptionCtn","Widget","widgetClassName","widgetType","widgetImage","hasImage","hasButtonCta","hasLinkCta","ctaText","hasBadge","badgeText","buttonBgColor","onCtaClick","onWidgetClick","webinarDateInfo","renderBadge","createElement","label","bgColor","textColor","fontWeight","renderCTA","React","Fragment","type","size","onClick","renderImage","src","alt","includes","name"],"mappings":"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"}
1
+ {"version":3,"file":"index29.js","sources":["../src/components/Pagination/index.tsx"],"sourcesContent":["import React from 'react';\n\nimport { Icon } from 'components/Icon';\n\ninterface PaginationProps {\n currentPage: number;\n itemsPerPage: number;\n totalItems: number;\n onPageChange: (page: number) => void;\n}\n\nexport const Pagination: React.FC<PaginationProps> = ({ currentPage, itemsPerPage, totalItems, onPageChange }) => {\n const totalPages = Math.ceil(totalItems / itemsPerPage);\n const firstPage = 1;\n const lastPage = totalPages;\n const startItem = (currentPage - 1) * itemsPerPage + 1;\n const endItem = Math.min(currentPage * itemsPerPage, totalItems);\n const hasNextPage = endItem < totalItems;\n const hasPrevPage = currentPage > 1;\n\n const renderPageNumbers = () => {\n const pages = [];\n\n const renderPageNumber = (pageNum: number) => {\n return (\n <span\n key={pageNum}\n onClick={() => onPageChange(pageNum)}\n className={`w-5 h-5 text-sm flex items-center justify-center rounded border ${currentPage === pageNum ? 'bg-[var(--color-gray-100)] border-[var(--color-gray-300)]' : 'border-[var(--color-gray-200)] hover:bg-[var(--color-gray-50)]'}`}\n >\n {pageNum}\n </span>\n );\n };\n\n const renderEllipsis = () => {\n return (\n <span className=\"w-5 h-5 text-sm rounded border border-[var(--color-gray-200)] flex items-end justify-center\">\n ...\n </span>\n );\n };\n\n if (currentPage <= 3) {\n for (let i = 1; i <= Math.min(3, totalPages); i++) {\n pages.push(renderPageNumber(i));\n }\n\n if (totalPages > 3) {\n pages.push(renderEllipsis());\n pages.push(renderPageNumber(totalPages));\n }\n } else if (currentPage >= totalPages - 2) {\n pages.push(renderPageNumber(firstPage));\n pages.push(renderEllipsis());\n pages.push(renderPageNumber(totalPages - 2));\n pages.push(renderPageNumber(totalPages - 1));\n pages.push(renderPageNumber(totalPages));\n } else {\n pages.push(renderPageNumber(firstPage));\n pages.push(renderEllipsis());\n pages.push(renderPageNumber(currentPage - 1));\n pages.push(renderPageNumber(currentPage));\n pages.push(renderPageNumber(currentPage + 1));\n pages.push(renderEllipsis());\n pages.push(renderPageNumber(lastPage));\n }\n\n return pages;\n };\n\n return (\n <div className=\"flex items-center gap-1 font-normal\">\n <span className=\"text-sm text-[var(--color-gray-700)] mr-1\">\n Showing {startItem}-{endItem} of {totalItems}\n </span>\n <span\n onClick={() => hasPrevPage && onPageChange(currentPage - 1)}\n className=\"w-5 h-5 flex items-center justify-center disabled:opacity-50 hover:cursor-pointer\"\n >\n <Icon name=\"next\" className=\"rotate-180 transition-transform stroke-[var(--color-gray-600)]\" />\n </span>\n {/* Render page numbers */}\n <div className=\"flex items-center gap-1\">{renderPageNumbers()}</div>\n <span\n onClick={() => hasNextPage && onPageChange(currentPage + 1)}\n className=\"w-5 h-5 flex items-center justify-center disabled:opacity-50 hover:cursor-pointer\"\n >\n <Icon name=\"next\" />\n </span>\n </div>\n );\n};\n"],"names":["Pagination","currentPage","itemsPerPage","totalItems","onPageChange","totalPages","Math","ceil","firstPage","lastPage","startItem","endItem","min","hasNextPage","hasPrevPage","renderPageNumbers","pages","renderPageNumber","pageNum","React","createElement","key","onClick","className","renderEllipsis","i","push","Icon","name"],"mappings":";;AAWO,MAAMA,IAAwCA,CAAC;AAAA,EAAEC,aAAAA;AAAAA,EAAaC,cAAAA;AAAAA,EAAcC,YAAAA;AAAAA,EAAYC,cAAAA;AAAa,MAAM;AAChH,QAAMC,IAAaC,KAAKC,KAAKJ,IAAaD,CAAY,GAChDM,IAAY,GACZC,IAAWJ,GACXK,KAAaT,IAAc,KAAKC,IAAe,GAC/CS,IAAUL,KAAKM,IAAIX,IAAcC,GAAcC,CAAU,GACzDU,IAAcF,IAAUR,GACxBW,IAAcb,IAAc,GAE5Bc,IAAoBA,MAAM;AAC9B,UAAMC,IAAQ,CAAE,GAEVC,IAAmBA,CAACC,MAEtBC,gBAAAA,EAAAC,cAAA,QAAA;AAAA,MACEC,KAAKH;AAAAA,MACLI,SAASA,MAAMlB,EAAac,CAAO;AAAA,MACnCK,WAAW,mEAAmEtB,MAAgBiB,IAAU,8DAA8D,gEAAgE;AAAA,OAErOA,CACG,GAIJM,IAAiBA,MAEnBL,gBAAAA,EAAAC,cAAA,QAAA;AAAA,MAAMG,WAAU;AAAA,OAA8F,KAExG;AAIV,QAAItB,KAAe,GAAG;AACXwB,eAAAA,IAAI,GAAGA,KAAKnB,KAAKM,IAAI,GAAGP,CAAU,GAAGoB;AACtCC,QAAAA,EAAAA,KAAKT,EAAiBQ,CAAC,CAAC;AAGhC,MAAIpB,IAAa,MACTqB,EAAAA,KAAKF,GAAgB,GACrBE,EAAAA,KAAKT,EAAiBZ,CAAU,CAAC;AAAA,IACzC,MACF,CAAWJ,KAAeI,IAAa,KAC/BqB,EAAAA,KAAKT,EAAiBT,CAAS,CAAC,GAChCkB,EAAAA,KAAKF,GAAgB,GAC3BR,EAAMU,KAAKT,EAAiBZ,IAAa,CAAC,CAAC,GAC3CW,EAAMU,KAAKT,EAAiBZ,IAAa,CAAC,CAAC,GACrCqB,EAAAA,KAAKT,EAAiBZ,CAAU,CAAC,MAEjCqB,EAAAA,KAAKT,EAAiBT,CAAS,CAAC,GAChCkB,EAAAA,KAAKF,GAAgB,GAC3BR,EAAMU,KAAKT,EAAiBhB,IAAc,CAAC,CAAC,GACtCyB,EAAAA,KAAKT,EAAiBhB,CAAW,CAAC,GACxCe,EAAMU,KAAKT,EAAiBhB,IAAc,CAAC,CAAC,GACtCyB,EAAAA,KAAKF,GAAgB,GACrBE,EAAAA,KAAKT,EAAiBR,CAAQ,CAAC;AAGhCO,WAAAA;AAAAA,EACT;AAGEG,SAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKG,WAAU;AAAA,EAAA,GACbH,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IAAMG,WAAU;AAAA,EAAA,GAA4C,YACjDb,GAAU,KAAEC,GAAQ,QAAKR,CAC9B,GACNiB,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IACEE,SAASA,MAAMR,KAAeV,EAAaH,IAAc,CAAC;AAAA,IAC1DsB,WAAU;AAAA,EAAA,GAEVH,gBAAAA,EAAAA,cAACO,GAAI;AAAA,IAACC,MAAK;AAAA,IAAOL,WAAU;AAAA,EAAkE,CAAA,CAC1F,GAENJ,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKG,WAAU;AAAA,KAA2BR,EAAkB,CAAO,GACnEI,gBAAAA,EAAAC,cAAA,QAAA;AAAA,IACEE,SAASA,MAAMT,KAAeT,EAAaH,IAAc,CAAC;AAAA,IAC1DsB,WAAU;AAAA,EAAA,GAEVH,gBAAAA,EAAAA,cAACO,GAAI;AAAA,IAACC,MAAK;AAAA,EAAQ,CAAA,CACf,CACH;AAET;"}
package/dist/index3.js CHANGED
@@ -10,7 +10,7 @@ var b = (e, a) => {
10
10
  return o;
11
11
  };
12
12
  import t from "react";
13
- import { Icon as d } from "./index4.js";
13
+ import { Icon as d } from "./index5.js";
14
14
  function n() {
15
15
  return n = Object.assign ? Object.assign.bind() : function(e) {
16
16
  for (var a = 1; a < arguments.length; a++) {
package/dist/index30.js CHANGED
@@ -1,61 +1,102 @@
1
- var f = Object.defineProperty, E = Object.defineProperties;
2
- var v = Object.getOwnPropertyDescriptors;
3
- var i = Object.getOwnPropertySymbols;
4
- var C = Object.prototype.hasOwnProperty, N = Object.prototype.propertyIsEnumerable;
5
- var s = (e, a, t) => a in e ? f(e, a, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[a] = t, d = (e, a) => {
6
- for (var t in a || (a = {}))
7
- C.call(a, t) && s(e, t, a[t]);
8
- if (i)
9
- for (var t of i(a))
10
- N.call(a, t) && s(e, t, a[t]);
11
- return e;
12
- }, m = (e, a) => E(e, v(a));
13
- import r, { useRef as g } from "react";
14
- function p(e) {
15
- const {
16
- label: a,
17
- value: t,
18
- checked: l,
19
- disabled: h,
20
- name: u,
21
- onChange: o,
22
- width: b,
23
- radioLabelClassName: x = "",
24
- radioContainerClassName: w = ""
25
- } = e, c = g(null);
26
- return /* @__PURE__ */ r.createElement("div", {
27
- className: `flex items-start gap-2 cursor-pointer bg-[var(--color-white)] border ${l ? "border-[#1088E7]" : "border-[#C9D4E3]"} rounded-[6px] p-2 transition-colors duration-300 ${w}`,
28
- onClick: () => {
29
- var n;
30
- return (n = c.current) == null ? void 0 : n.click();
31
- },
32
- style: {
33
- width: b || "20vw"
34
- }
35
- }, /* @__PURE__ */ r.createElement("input", {
36
- ref: c,
37
- type: "radio",
38
- id: t,
39
- name: u,
40
- value: t,
41
- checked: l,
42
- disabled: h,
43
- className: "mt-1 h-4 w-4 cursor-pointer accent-[#1088E7] disabled:cursor-not-allowed disabled:opacity-50",
44
- onChange: () => {
45
- o && o(m(d({}, e), {
46
- checked: !0
47
- }));
48
- }
49
- }), /* @__PURE__ */ r.createElement("label", {
50
- htmlFor: t,
51
- className: `${e.helperLabel && "flex flex-col"} cursor-pointer`
52
- }, /* @__PURE__ */ r.createElement("span", {
53
- className: `text-sm text-[var(--color-gray-800)] ${x}`
54
- }, a), e.helperLabel && /* @__PURE__ */ r.createElement("span", {
55
- className: `text-xs text-[var(--color-gray-600)] ${e.maxWidth ? `max-w-[${e.maxWidth}]` : "max-w-[20vw]"} break-words whitespace-normal`
56
- }, e.helperLabel)));
57
- }
1
+ import e from "react";
2
+ import { Button as N } from "./index3.js";
3
+ import { Badge as I } from "./index8.js";
4
+ import { Icon as d } from "./index5.js";
5
+ /* empty css */
6
+ const t = {
7
+ widgetCtn: "flex flex-col gap-[2px] align-center border border-[var(--color-gray-200)] rounded-[12px] w-[385px]",
8
+ widgetImageCtn: "cursor-pointer",
9
+ descriptionCtn: "p-4 flex flex-col",
10
+ widgetTitle: "text-[var(--color-gray-900)] mt-[4px] mb-[8px]",
11
+ widgetDescription: "text-[var(--color-gray-700)] mb-[4px]",
12
+ widgetLinkCta: "text-[var(--color-blue-500)] cursor-pointer hover:text-[var(--color-blue-600)]",
13
+ widgetButtonCta: "self-start",
14
+ widgetBadge: "w-fit",
15
+ webinarInfoCtn: "flex flex-col gap-2",
16
+ webinarSpeaker: "text-[var(--color-gray-700)]",
17
+ webinarDate: "text-[var(--color-gray-700)]",
18
+ webinarDescriptionInfo: "flex gap-2",
19
+ webinarTimeInfo: "flex gap-2",
20
+ requestFeatureCtn: "flex gap-[12px]",
21
+ requestFeatureImageCtn: "w-[48px] h-[48px] border border-[var(--color-gray-200)] rounded-[50%] flex items-center flex-shrink-0 bg-[var(--color-red-50)]",
22
+ requestFeatureDescriptionCtn: "flex flex-col"
23
+ }, B = ({
24
+ widgetClassName: g = "",
25
+ widgetType: a = "general",
26
+ widgetTitle: r = "",
27
+ widgetDescription: l = "",
28
+ widgetImage: p,
29
+ hasImage: f = !1,
30
+ hasButtonCta: n = !1,
31
+ hasLinkCta: i = !1,
32
+ ctaText: o = "",
33
+ hasBadge: x = !1,
34
+ badgeText: w = "",
35
+ buttonBgColor: u = "secondary",
36
+ onCtaClick: b,
37
+ onWidgetClick: v,
38
+ webinarDateInfo: c,
39
+ webinarSpeaker: s
40
+ }) => {
41
+ const E = x && /* @__PURE__ */ e.createElement(I, {
42
+ label: w,
43
+ className: t.widgetBadge,
44
+ bgColor: "var(--color-yellow-50)",
45
+ textColor: "var(--color-yellow-400)",
46
+ fontWeight: "normal"
47
+ }), m = (i || n) && /* @__PURE__ */ e.createElement(e.Fragment, null, i && /* @__PURE__ */ e.createElement("span", {
48
+ className: t.widgetLinkCta
49
+ }, o), n && /* @__PURE__ */ e.createElement(N, {
50
+ type: u,
51
+ size: "md",
52
+ label: o,
53
+ className: `${t.widgetButtonCta} mt-[4px]`,
54
+ onClick: b
55
+ })), C = f && /* @__PURE__ */ e.createElement("div", {
56
+ className: `${t.widgetImageCtn} widget-image-ctn`
57
+ }, /* @__PURE__ */ e.createElement("img", {
58
+ src: p,
59
+ alt: "widget-image"
60
+ }));
61
+ return /* @__PURE__ */ e.createElement("div", {
62
+ className: `${t.widgetCtn} ${g} widget-ctn`,
63
+ onClick: v
64
+ }, a !== "general" && C, /* @__PURE__ */ e.createElement("div", {
65
+ className: t.descriptionCtn
66
+ }, a !== "general" && E, a !== "request-feature" && /* @__PURE__ */ e.createElement("span", {
67
+ className: `${t.widgetTitle} widget-title`
68
+ }, r), ["promotion", "general"].includes(a) && /* @__PURE__ */ e.createElement("span", {
69
+ className: `${t.widgetDescription} widget-description`
70
+ }, l), a === "webinar" && /* @__PURE__ */ e.createElement("div", {
71
+ className: t.webinarInfoCtn
72
+ }, s && /* @__PURE__ */ e.createElement("div", {
73
+ className: `${t.webinarDescriptionInfo} align-baseline`
74
+ }, /* @__PURE__ */ e.createElement(d, {
75
+ name: "people",
76
+ className: "relative top-[2px]"
77
+ }), /* @__PURE__ */ e.createElement("span", {
78
+ className: t.webinarSpeaker
79
+ }, s)), c && /* @__PURE__ */ e.createElement("div", {
80
+ className: `${t.webinarTimeInfo} align-baseline mb-[4px]`
81
+ }, /* @__PURE__ */ e.createElement(d, {
82
+ name: "clock",
83
+ className: "relative top-[2px]"
84
+ }), /* @__PURE__ */ e.createElement("span", {
85
+ className: t.webinarDate
86
+ }, c))), a === "request-feature" ? /* @__PURE__ */ e.createElement("div", {
87
+ className: t.requestFeatureCtn
88
+ }, /* @__PURE__ */ e.createElement("div", {
89
+ className: t.requestFeatureImageCtn
90
+ }), /* @__PURE__ */ e.createElement("div", {
91
+ className: t.requestFeatureDescriptionCtn
92
+ }, /* @__PURE__ */ e.createElement("span", {
93
+ className: `${t.widgetTitle} widget-title`
94
+ }, r), /* @__PURE__ */ e.createElement("span", {
95
+ className: `${t.widgetDescription} widget-description`
96
+ }, l), m)) : m));
97
+ };
58
98
  export {
59
- p as Radio
99
+ B as Widget,
100
+ B as default
60
101
  };
61
102
  //# sourceMappingURL=index30.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index30.js","sources":["../src/components/Radio/index.tsx"],"sourcesContent":["import React, { useRef } from 'react';\n\nexport interface RadioProps {\n label: string;\n value: string;\n checked: boolean;\n disabled: boolean;\n name: string;\n onChange?: (props: RadioProps) => void;\n helperLabel?: string;\n maxWidth?: string;\n width?: string;\n radioLabelClassName?: string;\n radioContainerClassName?: string;\n}\n\nexport function Radio(props: RadioProps) {\n const {\n label,\n value,\n checked,\n disabled,\n name,\n onChange,\n width,\n radioLabelClassName = '',\n radioContainerClassName = ''\n } = props;\n const radioRef = useRef<HTMLInputElement>(null);\n\n return (\n <div\n className={`flex items-start gap-2 cursor-pointer bg-[var(--color-white)] border ${checked ? 'border-[#1088E7]' : 'border-[#C9D4E3]'} rounded-[6px] p-2 transition-colors duration-300 ${radioContainerClassName}`}\n onClick={() => radioRef.current?.click()}\n style={{ width: width || '20vw' }}\n >\n <input\n ref={radioRef}\n type=\"radio\"\n id={value}\n name={name}\n value={value}\n checked={checked}\n disabled={disabled}\n className=\"mt-1 h-4 w-4 cursor-pointer accent-[#1088E7] disabled:cursor-not-allowed disabled:opacity-50\"\n onChange={() => {\n onChange && onChange({ ...props, checked: true });\n }}\n />\n <label htmlFor={value} className={`${props.helperLabel && 'flex flex-col'} cursor-pointer`}>\n <span className={`text-sm text-[var(--color-gray-800)] ${radioLabelClassName}`}>{label}</span>\n {props.helperLabel && (\n <span\n className={`text-xs text-[var(--color-gray-600)] ${props.maxWidth ? `max-w-[${props.maxWidth}]` : 'max-w-[20vw]'} break-words whitespace-normal`}\n >\n {props.helperLabel}\n </span>\n )}\n </label>\n </div>\n );\n}\n"],"names":["Radio","props","label","value","checked","disabled","name","onChange","width","radioLabelClassName","radioContainerClassName","radioRef","useRef","React","createElement","className","onClick","current","click","style","ref","type","id","__spreadProps","__spreadValues","htmlFor","helperLabel","maxWidth"],"mappings":";;;;;;;;;;;;;AAgBO,SAASA,EAAMC,GAAmB;AACjC,QAAA;AAAA,IACJC,OAAAA;AAAAA,IACAC,OAAAA;AAAAA,IACAC,SAAAA;AAAAA,IACAC,UAAAA;AAAAA,IACAC,MAAAA;AAAAA,IACAC,UAAAA;AAAAA,IACAC,OAAAA;AAAAA,IACAC,qBAAAA,IAAsB;AAAA,IACtBC,yBAAAA,IAA0B;AAAA,EAAA,IACxBT,GACEU,IAAWC,EAAyB,IAAI;AAG5CC,SAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEC,WAAW,wEAAwEX,IAAU,qBAAqB,kBAAkB,qDAAqDM,CAAuB;AAAA,IAChNM,SAASA,MAAML;;AAAAA,cAAAA,IAAAA,EAASM,YAATN,gBAAAA,EAAkBO;AAAAA;AAAAA,IACjCC,OAAO;AAAA,MAAEX,OAAOA,KAAS;AAAA,IAAA;AAAA,EAAO,GAEhCM,gBAAAA,EAAAA,cAAA,SAAA;AAAA,IACEM,KAAKT;AAAAA,IACLU,MAAK;AAAA,IACLC,IAAInB;AAAAA,IACJG,MAAAA;AAAAA,IACAH,OAAAA;AAAAA,IACAC,SAAAA;AAAAA,IACAC,UAAAA;AAAAA,IACAU,WAAU;AAAA,IACVR,UAAUA,MAAM;AACdA,MAAAA,KAAYA,EAASgB,EAAAC,EAAA,IAAKvB,IAAL;AAAA,QAAYG,SAAS;AAAA,MAAA,EAAM;AAAA,IAAA;AAAA,EAClD,CACD,GACDU,gBAAAA,EAAAA,cAAA,SAAA;AAAA,IAAOW,SAAStB;AAAAA,IAAOY,WAAW,GAAGd,EAAMyB,eAAe,eAAe;AAAA,EAAA,GACvEZ,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IAAMC,WAAW,wCAAwCN,CAAmB;AAAA,EAAA,GAAKP,CAAY,GAC5FD,EAAMyB,eACLb,gBAAAA,EAAAC,cAAA,QAAA;AAAA,IACEC,WAAW,wCAAwCd,EAAM0B,WAAW,UAAU1B,EAAM0B,QAAQ,MAAM,cAAc;AAAA,EAAA,GAE/G1B,EAAMyB,WACH,CAEH,CACJ;AAET;"}
1
+ {"version":3,"file":"index30.js","sources":["../src/components/Widget/index.tsx"],"sourcesContent":["import React, { FC } from \"react\";\nimport { Map } from \"../../utils/common.types\";\nimport { Button } from \"../Button\";\nimport { Badge } from \"../Badge\";\nimport { Icon } from \"../Icon\";\nimport \"./style.scss\";\n\nexport interface WidgetProps {\n widgetClassName?: string;\n widgetType?: \"promotion\" | \"webinar\" | \"request-feature\" | \"general\";\n widgetTitle?: string;\n hasBadge?: boolean;\n webinarSpeaker?: string;\n badgeText?: string;\n widgetDescription?: string;\n webinarDateInfo?: string;\n hasImage?: boolean;\n widgetImage?: string;\n hasButtonCta?: boolean;\n buttonBgColor?: 'primary' | 'secondary';\n hasLinkCta?: boolean;\n ctaText?: string;\n onCtaClick?: () => void;\n onWidgetClick?: () => void;\n}\n\nconst className: Map = {\n widgetCtn: 'flex flex-col gap-[2px] align-center border border-[var(--color-gray-200)] rounded-[12px] w-[385px]',\n widgetImageCtn: 'cursor-pointer',\n descriptionCtn: 'p-4 flex flex-col',\n widgetTitle: 'text-[var(--color-gray-900)] mt-[4px] mb-[8px]',\n widgetDescription: 'text-[var(--color-gray-700)] mb-[4px]',\n widgetLinkCta: 'text-[var(--color-blue-500)] cursor-pointer hover:text-[var(--color-blue-600)]',\n widgetButtonCta: 'self-start',\n widgetBadge: 'w-fit',\n webinarInfoCtn: 'flex flex-col gap-2',\n webinarSpeaker: 'text-[var(--color-gray-700)]',\n webinarDate: 'text-[var(--color-gray-700)]',\n webinarDescriptionInfo: 'flex gap-2',\n webinarTimeInfo: 'flex gap-2',\n requestFeatureCtn: 'flex gap-[12px]',\n requestFeatureImageCtn: 'w-[48px] h-[48px] border border-[var(--color-gray-200)] rounded-[50%] flex items-center flex-shrink-0 bg-[var(--color-red-50)]',\n requestFeatureDescriptionCtn: 'flex flex-col',\n};\n\nexport const Widget: FC<WidgetProps> = ({\n widgetClassName = \"\",\n widgetType = 'general',\n widgetTitle = \"\",\n widgetDescription = \"\",\n widgetImage,\n hasImage = false,\n hasButtonCta = false,\n hasLinkCta = false,\n ctaText = \"\",\n hasBadge = false,\n badgeText = \"\",\n buttonBgColor = 'secondary',\n onCtaClick,\n onWidgetClick,\n webinarDateInfo,\n webinarSpeaker,\n}) => {\n\n const renderBadge = hasBadge && (\n <Badge\n label={badgeText}\n className={className.widgetBadge}\n bgColor=\"var(--color-yellow-50)\"\n textColor=\"var(--color-yellow-400)\"\n fontWeight=\"normal\"\n />\n );\n\n const renderCTA = (hasLinkCta || hasButtonCta) && (\n <React.Fragment>\n {hasLinkCta && <span className={className.widgetLinkCta}>{ctaText}</span>}\n {hasButtonCta && <Button type={buttonBgColor} size=\"md\" label={ctaText} className={`${className.widgetButtonCta} mt-[4px]`} onClick={onCtaClick} />}\n </React.Fragment>\n );\n\n const renderImage = hasImage && (\n <div className={`${className.widgetImageCtn} widget-image-ctn`}>\n <img src={widgetImage} alt=\"widget-image\"/>\n </div>\n );\n\n return (\n <div className={`${className.widgetCtn} ${widgetClassName} widget-ctn`} onClick={onWidgetClick}>\n {widgetType !== \"general\" && renderImage}\n <div className={className.descriptionCtn}>\n {widgetType !== \"general\" && renderBadge}\n {widgetType !== \"request-feature\" && <span className={`${className.widgetTitle} widget-title`}>{widgetTitle}</span>}\n\n {([\"promotion\", \"general\"].includes(widgetType)) && (\n <span className={`${className.widgetDescription} widget-description`}>{widgetDescription}</span>\n )}\n\n {widgetType === \"webinar\" && (\n <div className={className.webinarInfoCtn}>\n {webinarSpeaker && (\n <div className={`${className.webinarDescriptionInfo} align-baseline`}>\n <Icon name=\"people\" className=\"relative top-[2px]\" />\n <span className={className.webinarSpeaker}>{webinarSpeaker}</span>\n </div>\n )}\n {webinarDateInfo && (\n <div className={`${className.webinarTimeInfo} align-baseline mb-[4px]`}>\n <Icon name=\"clock\" className=\"relative top-[2px]\" />\n <span className={className.webinarDate}>{webinarDateInfo}</span>\n </div>\n )}\n </div>\n )}\n\n {widgetType === \"request-feature\" ? (\n <div className={className.requestFeatureCtn}>\n <div className={className.requestFeatureImageCtn} />\n <div className={className.requestFeatureDescriptionCtn}>\n <span className={`${className.widgetTitle} widget-title`}>{widgetTitle}</span>\n <span className={`${className.widgetDescription} widget-description`}>{widgetDescription}</span>\n {renderCTA}\n </div>\n </div>\n ) : (\n renderCTA\n )}\n </div>\n </div>\n );\n};\n\nexport default Widget;"],"names":["React__default","Button","Badge","Icon","className","widgetCtn","widgetImageCtn","descriptionCtn","widgetTitle","widgetDescription","widgetLinkCta","widgetButtonCta","widgetBadge","webinarInfoCtn","webinarSpeaker","webinarDate","webinarDescriptionInfo","webinarTimeInfo","requestFeatureCtn","requestFeatureImageCtn","requestFeatureDescriptionCtn","Widget","widgetClassName","widgetType","widgetImage","hasImage","hasButtonCta","hasLinkCta","ctaText","hasBadge","badgeText","buttonBgColor","onCtaClick","onWidgetClick","webinarDateInfo","renderBadge","createElement","label","bgColor","textColor","fontWeight","renderCTA","React","Fragment","type","size","onClick","renderImage","src","alt","includes","name"],"mappings":"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"}
package/dist/index31.js CHANGED
@@ -1,42 +1,61 @@
1
- var d = Object.defineProperty, m = Object.defineProperties;
2
- var s = Object.getOwnPropertyDescriptors;
3
- var u = Object.getOwnPropertySymbols;
4
- var g = Object.prototype.hasOwnProperty, f = Object.prototype.propertyIsEnumerable;
5
- var o = (n, a, e) => a in n ? d(n, a, { enumerable: !0, configurable: !0, writable: !0, value: e }) : n[a] = e, c = (n, a) => {
6
- for (var e in a || (a = {}))
7
- g.call(a, e) && o(n, e, a[e]);
8
- if (u)
9
- for (var e of u(a))
10
- f.call(a, e) && o(n, e, a[e]);
11
- return n;
12
- }, l = (n, a) => m(n, s(a));
13
- import i from "react";
14
- import { Radio as h } from "./index30.js";
15
- function t() {
16
- return t = Object.assign ? Object.assign.bind() : function(n) {
17
- for (var a = 1; a < arguments.length; a++) {
18
- var e = arguments[a];
19
- for (var r in e) ({}).hasOwnProperty.call(e, r) && (n[r] = e[r]);
1
+ var f = Object.defineProperty, E = Object.defineProperties;
2
+ var v = Object.getOwnPropertyDescriptors;
3
+ var i = Object.getOwnPropertySymbols;
4
+ var C = Object.prototype.hasOwnProperty, N = Object.prototype.propertyIsEnumerable;
5
+ var s = (e, a, t) => a in e ? f(e, a, { enumerable: !0, configurable: !0, writable: !0, value: t }) : e[a] = t, d = (e, a) => {
6
+ for (var t in a || (a = {}))
7
+ C.call(a, t) && s(e, t, a[t]);
8
+ if (i)
9
+ for (var t of i(a))
10
+ N.call(a, t) && s(e, t, a[t]);
11
+ return e;
12
+ }, m = (e, a) => E(e, v(a));
13
+ import r, { useRef as g } from "react";
14
+ function p(e) {
15
+ const {
16
+ label: a,
17
+ value: t,
18
+ checked: l,
19
+ disabled: h,
20
+ name: u,
21
+ onChange: o,
22
+ width: b,
23
+ radioLabelClassName: x = "",
24
+ radioContainerClassName: w = ""
25
+ } = e, c = g(null);
26
+ return /* @__PURE__ */ r.createElement("div", {
27
+ className: `flex items-start gap-2 cursor-pointer bg-[var(--color-white)] border ${l ? "border-[#1088E7]" : "border-[#C9D4E3]"} rounded-[6px] p-2 transition-colors duration-300 ${w}`,
28
+ onClick: () => {
29
+ var n;
30
+ return (n = c.current) == null ? void 0 : n.click();
31
+ },
32
+ style: {
33
+ width: b || "20vw"
20
34
  }
21
- return n;
22
- }, t.apply(null, arguments);
23
- }
24
- function b(n) {
25
- const a = (e) => {
26
- n.onRadioGroupChange(l(c({}, e), {
27
- checked: !0
28
- }));
29
- };
30
- return /* @__PURE__ */ i.createElement("div", {
31
- className: "flex gap-2"
32
- }, n.options.map((e) => /* @__PURE__ */ i.createElement(h, t({
33
- key: e.value
34
- }, e, {
35
- onChange: a,
36
- checked: e.value === n.value
37
- }))));
35
+ }, /* @__PURE__ */ r.createElement("input", {
36
+ ref: c,
37
+ type: "radio",
38
+ id: t,
39
+ name: u,
40
+ value: t,
41
+ checked: l,
42
+ disabled: h,
43
+ className: "mt-1 h-4 w-4 cursor-pointer accent-[#1088E7] disabled:cursor-not-allowed disabled:opacity-50",
44
+ onChange: () => {
45
+ o && o(m(d({}, e), {
46
+ checked: !0
47
+ }));
48
+ }
49
+ }), /* @__PURE__ */ r.createElement("label", {
50
+ htmlFor: t,
51
+ className: `${e.helperLabel && "flex flex-col"} cursor-pointer`
52
+ }, /* @__PURE__ */ r.createElement("span", {
53
+ className: `text-sm text-[var(--color-gray-800)] ${x}`
54
+ }, a), e.helperLabel && /* @__PURE__ */ r.createElement("span", {
55
+ className: `text-xs text-[var(--color-gray-600)] ${e.maxWidth ? `max-w-[${e.maxWidth}]` : "max-w-[20vw]"} break-words whitespace-normal`
56
+ }, e.helperLabel)));
38
57
  }
39
58
  export {
40
- b as RadioGroup
59
+ p as Radio
41
60
  };
42
61
  //# sourceMappingURL=index31.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index31.js","sources":["../src/components/RadioGroup/index.tsx"],"sourcesContent":["import React from 'react';\nimport { Radio, RadioProps } from '../Radio';\n\nexport interface RadioGroupProps {\n options: RadioProps[];\n onRadioGroupChange: (obj: RadioProps) => void;\n value?: string;\n}\n\nexport function RadioGroup(props: RadioGroupProps) {\n const handleRadioChange = (obj: RadioProps) => {\n props.onRadioGroupChange({ ...obj, checked: true });\n };\n return (\n <div className=\"flex gap-2\">\n {props.options.map((option) => (\n <Radio key={option.value} {...option} onChange={handleRadioChange} checked={option.value === props.value} />\n ))}\n </div>\n );\n}\n"],"names":["RadioGroup","props","handleRadioChange","obj","onRadioGroupChange","__spreadProps","__spreadValues","checked","React","createElement","className","options","map","option","Radio","_extends","key","value","onChange"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AASO,SAASA,EAAWC,GAAwB;AAC3CC,QAAAA,IAAoBA,CAACC,MAAoB;AAC7CF,IAAAA,EAAMG,mBAAmBC,EAAAC,EAAA,IAAKH,IAAL;AAAA,MAAUI,SAAS;AAAA,IAAA,EAAM;AAAA,EACpD;AAEEC,SAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,EAAA,GACZT,EAAMU,QAAQC,IAAKC,OAClBJ,gBAAAA,EAAAA,cAACK,GAAKC,EAAA;AAAA,IAACC,KAAKH,EAAOI;AAAAA,KAAWJ,GAAM;AAAA,IAAEK,UAAUhB;AAAAA,IAAmBK,SAASM,EAAOI,UAAUhB,EAAMgB;AAAAA,EAAQ,CAAA,CAAA,CAC5G,CACE;AAET;"}
1
+ {"version":3,"file":"index31.js","sources":["../src/components/Radio/index.tsx"],"sourcesContent":["import React, { useRef } from 'react';\n\nexport interface RadioProps {\n label: string;\n value: string;\n checked: boolean;\n disabled: boolean;\n name: string;\n onChange?: (props: RadioProps) => void;\n helperLabel?: string;\n maxWidth?: string;\n width?: string;\n radioLabelClassName?: string;\n radioContainerClassName?: string;\n}\n\nexport function Radio(props: RadioProps) {\n const {\n label,\n value,\n checked,\n disabled,\n name,\n onChange,\n width,\n radioLabelClassName = '',\n radioContainerClassName = ''\n } = props;\n const radioRef = useRef<HTMLInputElement>(null);\n\n return (\n <div\n className={`flex items-start gap-2 cursor-pointer bg-[var(--color-white)] border ${checked ? 'border-[#1088E7]' : 'border-[#C9D4E3]'} rounded-[6px] p-2 transition-colors duration-300 ${radioContainerClassName}`}\n onClick={() => radioRef.current?.click()}\n style={{ width: width || '20vw' }}\n >\n <input\n ref={radioRef}\n type=\"radio\"\n id={value}\n name={name}\n value={value}\n checked={checked}\n disabled={disabled}\n className=\"mt-1 h-4 w-4 cursor-pointer accent-[#1088E7] disabled:cursor-not-allowed disabled:opacity-50\"\n onChange={() => {\n onChange && onChange({ ...props, checked: true });\n }}\n />\n <label htmlFor={value} className={`${props.helperLabel && 'flex flex-col'} cursor-pointer`}>\n <span className={`text-sm text-[var(--color-gray-800)] ${radioLabelClassName}`}>{label}</span>\n {props.helperLabel && (\n <span\n className={`text-xs text-[var(--color-gray-600)] ${props.maxWidth ? `max-w-[${props.maxWidth}]` : 'max-w-[20vw]'} break-words whitespace-normal`}\n >\n {props.helperLabel}\n </span>\n )}\n </label>\n </div>\n );\n}\n"],"names":["Radio","props","label","value","checked","disabled","name","onChange","width","radioLabelClassName","radioContainerClassName","radioRef","useRef","React","createElement","className","onClick","current","click","style","ref","type","id","__spreadProps","__spreadValues","htmlFor","helperLabel","maxWidth"],"mappings":";;;;;;;;;;;;;AAgBO,SAASA,EAAMC,GAAmB;AACjC,QAAA;AAAA,IACJC,OAAAA;AAAAA,IACAC,OAAAA;AAAAA,IACAC,SAAAA;AAAAA,IACAC,UAAAA;AAAAA,IACAC,MAAAA;AAAAA,IACAC,UAAAA;AAAAA,IACAC,OAAAA;AAAAA,IACAC,qBAAAA,IAAsB;AAAA,IACtBC,yBAAAA,IAA0B;AAAA,EAAA,IACxBT,GACEU,IAAWC,EAAyB,IAAI;AAG5CC,SAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEC,WAAW,wEAAwEX,IAAU,qBAAqB,kBAAkB,qDAAqDM,CAAuB;AAAA,IAChNM,SAASA,MAAML;;AAAAA,cAAAA,IAAAA,EAASM,YAATN,gBAAAA,EAAkBO;AAAAA;AAAAA,IACjCC,OAAO;AAAA,MAAEX,OAAOA,KAAS;AAAA,IAAA;AAAA,EAAO,GAEhCM,gBAAAA,EAAAA,cAAA,SAAA;AAAA,IACEM,KAAKT;AAAAA,IACLU,MAAK;AAAA,IACLC,IAAInB;AAAAA,IACJG,MAAAA;AAAAA,IACAH,OAAAA;AAAAA,IACAC,SAAAA;AAAAA,IACAC,UAAAA;AAAAA,IACAU,WAAU;AAAA,IACVR,UAAUA,MAAM;AACdA,MAAAA,KAAYA,EAASgB,EAAAC,EAAA,IAAKvB,IAAL;AAAA,QAAYG,SAAS;AAAA,MAAA,EAAM;AAAA,IAAA;AAAA,EAClD,CACD,GACDU,gBAAAA,EAAAA,cAAA,SAAA;AAAA,IAAOW,SAAStB;AAAAA,IAAOY,WAAW,GAAGd,EAAMyB,eAAe,eAAe;AAAA,EAAA,GACvEZ,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IAAMC,WAAW,wCAAwCN,CAAmB;AAAA,EAAA,GAAKP,CAAY,GAC5FD,EAAMyB,eACLb,gBAAAA,EAAAC,cAAA,QAAA;AAAA,IACEC,WAAW,wCAAwCd,EAAM0B,WAAW,UAAU1B,EAAM0B,QAAQ,MAAM,cAAc;AAAA,EAAA,GAE/G1B,EAAMyB,WACH,CAEH,CACJ;AAET;"}