se-design 0.0.106 → 0.0.108

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 (258) hide show
  1. package/dist/assets/icons/checkbox-field.svg +9 -0
  2. package/dist/assets/icons/checkmark.svg +3 -0
  3. package/dist/assets/icons/date-field.svg +9 -0
  4. package/dist/assets/icons/email-field.svg +9 -0
  5. package/dist/assets/icons/home.svg +3 -0
  6. package/dist/assets/icons/initials-field.svg +9 -0
  7. package/dist/assets/icons/name-field.svg +16 -0
  8. package/dist/assets/icons/radio-field.svg +17 -0
  9. package/dist/assets/icons/signature-field.svg +16 -0
  10. package/dist/assets/icons/stamp-field.svg +16 -0
  11. package/dist/assets/icons/text-field.svg +9 -0
  12. package/dist/assets/icons/title-field.svg +8 -0
  13. package/dist/assets/style.css +1 -1
  14. package/dist/components/AutoCompleteInput/index.d.ts +3 -2
  15. package/dist/components/CircularProgressBar/index.d.ts +10 -0
  16. package/dist/components/CustomModal/index.d.ts +9 -0
  17. package/dist/components/Icon/index.d.ts +2 -0
  18. package/dist/components/LoadingModal/index.d.ts +5 -0
  19. package/dist/components/Spinner/index.d.ts +2 -0
  20. package/dist/components/index.d.ts +4 -0
  21. package/dist/index.js +68 -60
  22. package/dist/index.js.map +1 -1
  23. package/dist/index10.js +16 -30
  24. package/dist/index10.js.map +1 -1
  25. package/dist/index100.js +148 -9
  26. package/dist/index100.js.map +1 -1
  27. package/dist/index11.js +14 -29
  28. package/dist/index11.js.map +1 -1
  29. package/dist/index116.js +1233 -5
  30. package/dist/index116.js.map +1 -1
  31. package/dist/index117.js +8 -50
  32. package/dist/index117.js.map +1 -1
  33. package/dist/index118.js +10 -2
  34. package/dist/index118.js.map +1 -1
  35. package/dist/index119.js +5 -2
  36. package/dist/index119.js.map +1 -1
  37. package/dist/index12.js +6 -19
  38. package/dist/index12.js.map +1 -1
  39. package/dist/{index102.js → index120.js} +3 -3
  40. package/dist/{index102.js.map → index120.js.map} +1 -1
  41. package/dist/index121.js +14 -0
  42. package/dist/{index103.js.map → index121.js.map} +1 -1
  43. package/dist/{index104.js → index122.js} +1 -1
  44. package/dist/{index104.js.map → index122.js.map} +1 -1
  45. package/dist/{index105.js → index123.js} +1 -1
  46. package/dist/{index105.js.map → index123.js.map} +1 -1
  47. package/dist/{index106.js → index124.js} +1 -1
  48. package/dist/{index106.js.map → index124.js.map} +1 -1
  49. package/dist/{index107.js → index125.js} +1 -1
  50. package/dist/index125.js.map +1 -0
  51. package/dist/index126.js +11 -0
  52. package/dist/{index108.js.map → index126.js.map} +1 -1
  53. package/dist/{index109.js → index127.js} +6 -6
  54. package/dist/{index109.js.map → index127.js.map} +1 -1
  55. package/dist/{index110.js → index128.js} +2 -2
  56. package/dist/{index110.js.map → index128.js.map} +1 -1
  57. package/dist/{index111.js → index129.js} +1 -1
  58. package/dist/index129.js.map +1 -0
  59. package/dist/index13.js +30 -123
  60. package/dist/index13.js.map +1 -1
  61. package/dist/{index112.js → index130.js} +2 -2
  62. package/dist/{index112.js.map → index130.js.map} +1 -1
  63. package/dist/{index113.js → index131.js} +2 -2
  64. package/dist/{index113.js.map → index131.js.map} +1 -1
  65. package/dist/{index114.js → index132.js} +1 -1
  66. package/dist/{index114.js.map → index132.js.map} +1 -1
  67. package/dist/{index115.js → index133.js} +1 -1
  68. package/dist/{index115.js.map → index133.js.map} +1 -1
  69. package/dist/index134.js +8 -0
  70. package/dist/index134.js.map +1 -0
  71. package/dist/index135.js +55 -0
  72. package/dist/index135.js.map +1 -0
  73. package/dist/index136.js +5 -0
  74. package/dist/index136.js.map +1 -0
  75. package/dist/index137.js +5 -0
  76. package/dist/index137.js.map +1 -0
  77. package/dist/index14.js +30 -28
  78. package/dist/index14.js.map +1 -1
  79. package/dist/index15.js +19 -27
  80. package/dist/index15.js.map +1 -1
  81. package/dist/index16.js +116 -71
  82. package/dist/index16.js.map +1 -1
  83. package/dist/index17.js +28 -38
  84. package/dist/index17.js.map +1 -1
  85. package/dist/index18.js +26 -22
  86. package/dist/index18.js.map +1 -1
  87. package/dist/index19.js +77 -65
  88. package/dist/index19.js.map +1 -1
  89. package/dist/index20.js +36 -132
  90. package/dist/index20.js.map +1 -1
  91. package/dist/index21.js +20 -16
  92. package/dist/index21.js.map +1 -1
  93. package/dist/index22.js +67 -44
  94. package/dist/index22.js.map +1 -1
  95. package/dist/index23.js +133 -28
  96. package/dist/index23.js.map +1 -1
  97. package/dist/index24.js +16 -61
  98. package/dist/index24.js.map +1 -1
  99. package/dist/index25.js +44 -41
  100. package/dist/index25.js.map +1 -1
  101. package/dist/index26.js +28 -97
  102. package/dist/index26.js.map +1 -1
  103. package/dist/index27.js +61 -55
  104. package/dist/index27.js.map +1 -1
  105. package/dist/index28.js +42 -38
  106. package/dist/index28.js.map +1 -1
  107. package/dist/index29.js +95 -31
  108. package/dist/index29.js.map +1 -1
  109. package/dist/index30.js +58 -33
  110. package/dist/index30.js.map +1 -1
  111. package/dist/index31.js +36 -44
  112. package/dist/index31.js.map +1 -1
  113. package/dist/index32.js +35 -38
  114. package/dist/index32.js.map +1 -1
  115. package/dist/index33.js +29 -30
  116. package/dist/index33.js.map +1 -1
  117. package/dist/index34.js +45 -50
  118. package/dist/index34.js.map +1 -1
  119. package/dist/index35.js +37 -70
  120. package/dist/index35.js.map +1 -1
  121. package/dist/index36.js +28 -48
  122. package/dist/index36.js.map +1 -1
  123. package/dist/index37.js +49 -62
  124. package/dist/index37.js.map +1 -1
  125. package/dist/index38.js +68 -84
  126. package/dist/index38.js.map +1 -1
  127. package/dist/index39.js +54 -2
  128. package/dist/index39.js.map +1 -1
  129. package/dist/index4.js +130 -97
  130. package/dist/index4.js.map +1 -1
  131. package/dist/index40.js +74 -2
  132. package/dist/index40.js.map +1 -1
  133. package/dist/index41.js +87 -2
  134. package/dist/index41.js.map +1 -1
  135. package/dist/index42.js +38 -2
  136. package/dist/index42.js.map +1 -1
  137. package/dist/index43.js +1 -1
  138. package/dist/index43.js.map +1 -1
  139. package/dist/index44.js +1 -1
  140. package/dist/index44.js.map +1 -1
  141. package/dist/index45.js +1 -1
  142. package/dist/index45.js.map +1 -1
  143. package/dist/index46.js +1 -1
  144. package/dist/index46.js.map +1 -1
  145. package/dist/index47.js +1 -1
  146. package/dist/index47.js.map +1 -1
  147. package/dist/index48.js +1 -1
  148. package/dist/index48.js.map +1 -1
  149. package/dist/index49.js +1 -1
  150. package/dist/index49.js.map +1 -1
  151. package/dist/index5.js +1 -1
  152. package/dist/index50.js +1 -1
  153. package/dist/index50.js.map +1 -1
  154. package/dist/index51.js +1 -1
  155. package/dist/index51.js.map +1 -1
  156. package/dist/index52.js +1 -1
  157. package/dist/index52.js.map +1 -1
  158. package/dist/index53.js +2 -2
  159. package/dist/index53.js.map +1 -1
  160. package/dist/index54.js +1 -1
  161. package/dist/index54.js.map +1 -1
  162. package/dist/index55.js +1 -1
  163. package/dist/index55.js.map +1 -1
  164. package/dist/index56.js +1 -1
  165. package/dist/index56.js.map +1 -1
  166. package/dist/index57.js +2 -2
  167. package/dist/index57.js.map +1 -1
  168. package/dist/index58.js +2 -2
  169. package/dist/index58.js.map +1 -1
  170. package/dist/index59.js +1 -1
  171. package/dist/index59.js.map +1 -1
  172. package/dist/index60.js +1 -1
  173. package/dist/index60.js.map +1 -1
  174. package/dist/index61.js +1 -1
  175. package/dist/index61.js.map +1 -1
  176. package/dist/index62.js +1 -1
  177. package/dist/index62.js.map +1 -1
  178. package/dist/index63.js +1 -1
  179. package/dist/index63.js.map +1 -1
  180. package/dist/index64.js +2 -2
  181. package/dist/index64.js.map +1 -1
  182. package/dist/index65.js +1 -1
  183. package/dist/index65.js.map +1 -1
  184. package/dist/index66.js +1 -1
  185. package/dist/index66.js.map +1 -1
  186. package/dist/index67.js +1 -1
  187. package/dist/index67.js.map +1 -1
  188. package/dist/index68.js +1 -1
  189. package/dist/index68.js.map +1 -1
  190. package/dist/index69.js +1 -1
  191. package/dist/index69.js.map +1 -1
  192. package/dist/index70.js +2 -2
  193. package/dist/index70.js.map +1 -1
  194. package/dist/index71.js +2 -2
  195. package/dist/index71.js.map +1 -1
  196. package/dist/index72.js +1 -1
  197. package/dist/index72.js.map +1 -1
  198. package/dist/index73.js +1 -1
  199. package/dist/index73.js.map +1 -1
  200. package/dist/index74.js +1 -1
  201. package/dist/index74.js.map +1 -1
  202. package/dist/index75.js +2 -2
  203. package/dist/index75.js.map +1 -1
  204. package/dist/index76.js +1 -1
  205. package/dist/index76.js.map +1 -1
  206. package/dist/index77.js +2 -2
  207. package/dist/index77.js.map +1 -1
  208. package/dist/index78.js +1 -1
  209. package/dist/index78.js.map +1 -1
  210. package/dist/index79.js +2 -2
  211. package/dist/index79.js.map +1 -1
  212. package/dist/index80.js +1 -1
  213. package/dist/index80.js.map +1 -1
  214. package/dist/index81.js +2 -2
  215. package/dist/index81.js.map +1 -1
  216. package/dist/index82.js +2 -2
  217. package/dist/index82.js.map +1 -1
  218. package/dist/index83.js +2 -2
  219. package/dist/index83.js.map +1 -1
  220. package/dist/index84.js +2 -149
  221. package/dist/index84.js.map +1 -1
  222. package/dist/index85.js +5 -0
  223. package/dist/index85.js.map +1 -0
  224. package/dist/index86.js +5 -0
  225. package/dist/index86.js.map +1 -0
  226. package/dist/index87.js +5 -0
  227. package/dist/index87.js.map +1 -0
  228. package/dist/index88.js +5 -0
  229. package/dist/index88.js.map +1 -0
  230. package/dist/index89.js +5 -0
  231. package/dist/index89.js.map +1 -0
  232. package/dist/index90.js +5 -0
  233. package/dist/index90.js.map +1 -0
  234. package/dist/index91.js +5 -0
  235. package/dist/index91.js.map +1 -0
  236. package/dist/index92.js +5 -0
  237. package/dist/index92.js.map +1 -0
  238. package/dist/index93.js +5 -0
  239. package/dist/index93.js.map +1 -0
  240. package/dist/index94.js +5 -0
  241. package/dist/index94.js.map +1 -0
  242. package/dist/index95.js +5 -0
  243. package/dist/index95.js.map +1 -0
  244. package/dist/index96.js +5 -0
  245. package/dist/index96.js.map +1 -0
  246. package/dist/index97.js +5 -0
  247. package/dist/index97.js.map +1 -0
  248. package/dist/index98.js +1 -1232
  249. package/dist/index98.js.map +1 -1
  250. package/dist/index99.js +2 -10
  251. package/dist/index99.js.map +1 -1
  252. package/package.json +1 -1
  253. package/dist/index101.js +0 -8
  254. package/dist/index101.js.map +0 -1
  255. package/dist/index103.js +0 -14
  256. package/dist/index107.js.map +0 -1
  257. package/dist/index108.js +0 -11
  258. package/dist/index111.js.map +0 -1
package/dist/index29.js CHANGED
@@ -1,38 +1,102 @@
1
- import e, { useState as m, useEffect as c } from "react";
1
+ import e from "react";
2
+ import { Button as N } from "./index3.js";
3
+ import { Badge as I } from "./index7.js";
2
4
  import { Icon as d } from "./index4.js";
3
- const E = ({
4
- title: i,
5
- content: r,
6
- defaultOpen: a,
7
- overflow: o,
8
- titleClassName: s = "",
9
- showSeparator: l = !0
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,
26
+ widgetTitle: r,
27
+ widgetDescription: l,
28
+ widgetImage: p,
29
+ hasImage: f = !1,
30
+ hasButtonCta: n = !1,
31
+ hasLinkCta: o = !1,
32
+ ctaText: i = "",
33
+ hasBadge: x = !1,
34
+ badgeText: u = "",
35
+ buttonBgColor: w = "secondary",
36
+ onCtaClick: b,
37
+ onWidgetClick: v,
38
+ webinarDateInfo: s,
39
+ webinarSpeaker: c
10
40
  }) => {
11
- const [t, n] = m(!1);
12
- return c(() => {
13
- n(a || !1);
14
- }, [a]), /* @__PURE__ */ e.createElement("div", null, /* @__PURE__ */ e.createElement("div", {
15
- className: "flex items-center cursor-pointer max-w-[50vw]",
16
- onClick: () => n(!t)
17
- }, /* @__PURE__ */ e.createElement("div", {
18
- className: `transform transition-transform duration-300 ${t ? "rotate-90" : ""}`
19
- }, /* @__PURE__ */ e.createElement(d, {
20
- name: "rightSide"
21
- })), /* @__PURE__ */ e.createElement("h4", {
22
- className: `text-[#1B2636] font-inter text-[18px] font-semibold leading-[24px] ${s}`
23
- }, i)), /* @__PURE__ */ e.createElement("div", {
24
- className: `
25
- overflow-${o || "hidden"}
26
- transition-all
27
- duration-300
28
- ml-1
29
- mt-[1vw]
30
- ${t ? "max-h-[1000vh] opacity-100 visible h-auto" : "max-h-0 opacity-0 invisible h-0"}`
31
- }, r), l && /* @__PURE__ */ e.createElement("div", {
32
- className: `h-[1px] bg-[#E5E7EB] ${t ? "hidden" : "block"}`
41
+ const C = x && /* @__PURE__ */ e.createElement(I, {
42
+ label: u,
43
+ className: t.widgetBadge,
44
+ bgColor: "var(--color-yellow-50)",
45
+ textColor: "var(--color-yellow-400)",
46
+ fontWeight: "normal"
47
+ }), m = (o || n) && /* @__PURE__ */ e.createElement(e.Fragment, null, o && /* @__PURE__ */ e.createElement("span", {
48
+ className: t.widgetLinkCta
49
+ }, i), n && /* @__PURE__ */ e.createElement(N, {
50
+ type: w,
51
+ size: "md",
52
+ label: i,
53
+ customClassName: `${t.widgetButtonCta} mt-[4px]`,
54
+ onClick: b
55
+ })), E = f && /* @__PURE__ */ e.createElement("div", {
56
+ className: `${t.widgetImageCtn} widget-image-ctn`
57
+ }, /* @__PURE__ */ e.createElement("img", {
58
+ src: p,
59
+ alt: "widget-image"
33
60
  }));
61
+ return /* @__PURE__ */ e.createElement("div", {
62
+ className: `${t.widgetCtn} ${g} widget-ctn`,
63
+ onClick: v
64
+ }, a !== "general" && E, /* @__PURE__ */ e.createElement("div", {
65
+ className: t.descriptionCtn
66
+ }, a !== "general" && C, 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
+ }, c && /* @__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
+ }, c)), s && /* @__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
+ }, s))), 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));
34
97
  };
35
98
  export {
36
- E as Accordion
99
+ B as Widget,
100
+ B as default
37
101
  };
38
102
  //# sourceMappingURL=index29.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index29.js","sources":["../src/components/Accordion/index.tsx"],"sourcesContent":["import React, { FC, useEffect, useState } from 'react';\nimport { Icon } from '../Icon';\n\nexport interface AccordionProps {\n title: string;\n titleClassName?: string;\n content: React.ReactNode;\n defaultOpen?: boolean;\n showSeparator?: boolean;\n overflow?: 'hidden' | 'visible' | 'scroll' | 'auto' | undefined | string;\n}\n\nexport const Accordion: FC<AccordionProps> = ({\n title,\n content,\n defaultOpen,\n overflow,\n titleClassName = '',\n showSeparator = true\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n useEffect(() => {\n setIsOpen(defaultOpen || false);\n }, [defaultOpen]);\n return (\n <div>\n <div className=\"flex items-center cursor-pointer max-w-[50vw]\" onClick={() => setIsOpen(!isOpen)}>\n <div className={`transform transition-transform duration-300 ${isOpen ? 'rotate-90' : ''}`}>\n <Icon name=\"rightSide\" />\n </div>\n <h4 className={`text-[#1B2636] font-inter text-[18px] font-semibold leading-[24px] ${titleClassName}`}>\n {title}\n </h4>\n </div>\n <div\n className={`\n overflow-${overflow || 'hidden'}\n transition-all\n duration-300\n ml-1\n mt-[1vw]\n ${isOpen ? 'max-h-[1000vh] opacity-100 visible h-auto' : 'max-h-0 opacity-0 invisible h-0'}`}\n >\n {content}\n </div>\n {showSeparator && <div className={`h-[1px] bg-[#E5E7EB] ${!isOpen ? 'block' : 'hidden'}`}></div>}\n </div>\n );\n};\n"],"names":["Accordion","title","content","defaultOpen","overflow","titleClassName","showSeparator","isOpen","setIsOpen","useState","useEffect","createElement","React","className","onClick","Icon","name"],"mappings":";;AAYO,MAAMA,IAAgCA,CAAC;AAAA,EAC5CC,OAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,aAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,gBAAAA,IAAiB;AAAA,EACjBC,eAAAA,IAAgB;AAClB,MAAM;AACJ,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK;AAC1CC,SAAAA,EAAU,MAAM;AACdF,IAAAA,EAAUL,KAAe,EAAK;AAAA,EAAA,GAC7B,CAACA,CAAW,CAAC,qBAEdQ,cACEC,OAAAA,MAAAA,gBAAAA,EAAAD,cAAA,OAAA;AAAA,IAAKE,WAAU;AAAA,IAAgDC,SAASA,MAAMN,EAAU,CAACD,CAAM;AAAA,EAAA,GAC7FI,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKE,WAAW,+CAA+CN,IAAS,cAAc,EAAE;AAAA,EAAA,GACtFI,gBAAAA,EAAAA,cAACI,GAAI;AAAA,IAACC,MAAK;AAAA,EAAa,CAAA,CACrB,GACLJ,gBAAAA,EAAAD,cAAA,MAAA;AAAA,IAAIE,WAAW,sEAAsER,CAAc;AAAA,KAChGJ,CACC,CACD,GACLW,gBAAAA,EAAAD,cAAA,OAAA;AAAA,IACEE,WAAW;AAAA,mBACAT,KAAY,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,UAK7BG,IAAS,8CAA8C,iCAAiC;AAAA,KAEzFL,CACE,GACJI,KAAiBM,gBAAAA,EAAAD,cAAA,OAAA;AAAA,IAAKE,WAAW,wBAAyBN,IAAmB,WAAV,OAAkB;AAAA,EAAA,CAAS,CAC5F;AAET;"}
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,\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} customClassName={`${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","customClassName","onClick","renderImage","src","alt","includes","name"],"mappings":"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"}
package/dist/index30.js CHANGED
@@ -1,36 +1,61 @@
1
- import e, { useState as o, useEffect as i } from "react";
2
- import { Icon as m } from "./index4.js";
3
- const f = ({
4
- renderAccordionContents: a,
5
- renderAccordionSrcElement: c,
6
- defaultOpen: n,
7
- className: r = ""
8
- }) => {
9
- const [t, s] = o(!1);
10
- return i(() => {
11
- s(n || !1);
12
- }, [n]), /* @__PURE__ */ e.createElement("div", {
13
- className: `se-design-accordion ${r}`
14
- }, /* @__PURE__ */ e.createElement("div", {
15
- className: "flex items-center cursor-pointer",
16
- onClick: () => s(!t)
17
- }, /* @__PURE__ */ e.createElement("div", {
18
- className: `se-design-accordion-icon transform transition-transform duration-300 ${t ? "rotate-90" : ""}`
19
- }, /* @__PURE__ */ e.createElement(m, {
20
- name: "rightSide"
21
- })), /* @__PURE__ */ e.createElement("div", {
22
- className: "se-design-accordion-elements flex-1"
23
- }, /* @__PURE__ */ e.createElement("div", {
24
- className: "se-design-accordion-src-element"
25
- }, c({
26
- isOpen: t
27
- })), t && /* @__PURE__ */ e.createElement("div", {
28
- className: "se-design-accordion-content transition-all duration-300 mt-1"
29
- }, a({
30
- isOpen: t
31
- })))));
32
- };
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
+ }
33
58
  export {
34
- f as CustomAccordion
59
+ p as Radio
35
60
  };
36
61
  //# sourceMappingURL=index30.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index30.js","sources":["../src/components/CustomAccordion/index.tsx"],"sourcesContent":["import React, { FC, useEffect, useState } from 'react';\nimport { Icon } from '../Icon';\n\nexport interface CustomAccordionProps {\n renderAccordionContents: (props: { isOpen: boolean }) => React.ReactNode;\n renderAccordionSrcElement: (props: { isOpen: boolean }) => React.ReactNode;\n defaultOpen?: boolean;\n className?: string;\n}\n\nexport const CustomAccordion: FC<CustomAccordionProps> = ({ renderAccordionContents, renderAccordionSrcElement, defaultOpen, className = '' }) => {\n const [isOpen, setIsOpen] = useState(false);\n useEffect(()=>{\n setIsOpen(defaultOpen || false)\n },[defaultOpen])\n\n return (\n <div className={`se-design-accordion ${className}`}>\n <div className='flex items-center cursor-pointer' onClick={() => setIsOpen(!isOpen)}>\n <div className={`se-design-accordion-icon transform transition-transform duration-300 ${isOpen ? 'rotate-90' : ''}`}>\n <Icon name=\"rightSide\" />\n </div>\n <div className='se-design-accordion-elements flex-1'>\n <div className='se-design-accordion-src-element'>{renderAccordionSrcElement({isOpen})}</div>\n {isOpen &&\n (<div className='se-design-accordion-content transition-all duration-300 mt-1'>\n {renderAccordionContents({isOpen})}\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n"],"names":["CustomAccordion","renderAccordionContents","renderAccordionSrcElement","defaultOpen","className","isOpen","setIsOpen","useState","useEffect","React","createElement","onClick","Icon","name"],"mappings":";;AAUO,MAAMA,IAA4CA,CAAC;AAAA,EAAEC,yBAAAA;AAAAA,EAAyBC,2BAAAA;AAAAA,EAA2BC,aAAAA;AAAAA,EAAaC,WAAAA,IAAY;AAAG,MAAM;AAChJ,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK;AAC1CC,SAAAA,EAAU,MAAI;AACZF,IAAAA,EAAUH,KAAe,EAAK;AAAA,EAAA,GAC9B,CAACA,CAAW,CAAC,GAGbM,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKN,WAAW,uBAAuBA,CAAS;AAAA,EAAA,GAC9CM,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKN,WAAU;AAAA,IAAmCO,SAASA,MAAML,EAAU,CAACD,CAAM;AAAA,EAAA,GAChFK,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKN,WAAW,wEAAwEC,IAAS,cAAc,EAAE;AAAA,EAAA,GAC/GK,gBAAAA,EAAAA,cAACE,GAAI;AAAA,IAACC,MAAK;AAAA,EAAa,CAAA,CACrB,GACLJ,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKN,WAAU;AAAA,EAAA,GACbM,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKN,WAAU;AAAA,KAAmCF,EAA0B;AAAA,IAACG,QAAAA;AAAAA,EAAO,CAAA,CAAO,GAC1FA,KACEI,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKN,WAAU;AAAA,KACbH,EAAwB;AAAA,IAACI,QAAAA;AAAAA,EAAAA,CAAO,CAC9B,CAEJ,CACF,CACF;AAET;"}
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;"}
package/dist/index31.js CHANGED
@@ -1,50 +1,42 @@
1
- import c, { useState as p, useRef as y } from "react";
2
- /* empty css */
3
- import { Icon as E } from "./index4.js";
4
- function I({
5
- value: m,
6
- onChange: e,
7
- placeholder: o
8
- }) {
9
- const [a, l] = p([...m]), [i, r] = p(""), u = y(null), f = (t) => {
10
- if (t.key === "Enter" && i.trim()) {
11
- t.preventDefault();
12
- const s = [...a, i.trim()];
13
- l(s), r(""), e == null || e(s);
14
- } else if (t.key === "Backspace" && i === "" && a.length > 0) {
15
- const s = a.slice(0, -1);
16
- l(s), e == null || e(s);
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]);
17
20
  }
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
+ }));
18
29
  };
19
- return /* @__PURE__ */ c.createElement("div", {
20
- className: "input-with-tags-container",
21
- onClick: () => {
22
- var t;
23
- return (t = u.current) == null ? void 0 : t.focus();
24
- }
25
- }, a.map((t, s) => /* @__PURE__ */ c.createElement("span", {
26
- key: s,
27
- className: "tag-in-inputwithtags"
28
- }, t, /* @__PURE__ */ c.createElement("span", {
29
- className: "close-icon-in-inputwithtags",
30
- onClick: (w) => {
31
- w.stopPropagation();
32
- const n = a.filter((T, k) => k !== s);
33
- l(n), e == null || e(n);
34
- }
35
- }, /* @__PURE__ */ c.createElement(E, {
36
- name: "close"
37
- })))), /* @__PURE__ */ c.createElement("input", {
38
- className: "input-with-tags-input",
39
- ref: u,
40
- type: "text",
41
- value: i,
42
- onChange: (t) => r(t.target.value),
43
- onKeyDown: f,
44
- placeholder: o
45
- }));
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
+ }))));
46
38
  }
47
39
  export {
48
- I as InputWithTags
40
+ b as RadioGroup
49
41
  };
50
42
  //# sourceMappingURL=index31.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index31.js","sources":["../src/components/InputWithTags/index.tsx"],"sourcesContent":["import React, { useState, KeyboardEvent, useRef } from \"react\";\nimport './styles.scss';\nimport { Icon } from '../Icon';\nexport interface InputWithTagsProps {\n value: string[];\n onChange?: (tags: string[]) => void;\n placeholder?: string;\n}\n\nexport function InputWithTags({ value, onChange, placeholder }: InputWithTagsProps) {\n const [tags, setTags] = useState<string[]>([...value]);\n const [inputValue, setInputValue] = useState('');\n const inputRef = useRef<HTMLInputElement>(null);\n\n const handleKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === 'Enter' && inputValue.trim()) {\n e.preventDefault();\n const newTags = [...tags, inputValue.trim()];\n setTags(newTags);\n setInputValue(\"\");\n onChange?.(newTags);\n } else if (e.key === 'Backspace' && inputValue === \"\" && tags.length > 0) {\n // Remove the last tag when backspace is pressed on empty input\n const newTags = tags.slice(0, -1);\n setTags(newTags);\n onChange?.(newTags);\n }\n };\n\n return (\n <div className=\"input-with-tags-container\" onClick={() => inputRef.current?.focus()} >\n {tags.map((tag, index) => (\n <span key={index} className=\"tag-in-inputwithtags\">\n {tag} \n <span\n className=\"close-icon-in-inputwithtags\"\n onClick={(e) => {\n e.stopPropagation();\n const newTags = tags.filter((_, i) => i !== index);\n setTags(newTags);\n onChange?.(newTags);\n }}\n >\n <Icon name=\"close\" />\n </span>\n </span>\n ))}\n <input\n className=\"input-with-tags-input\"\n ref={inputRef}\n type=\"text\"\n value={inputValue}\n onChange={(e) => setInputValue(e.target.value)}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n />\n </div>\n );\n}"],"names":["React__default","useState","useRef","Icon","InputWithTags","value","onChange","placeholder","tags","setTags","inputValue","setInputValue","inputRef","handleKeyDown","e","key","trim","preventDefault","newTags","length","slice","React","createElement","className","onClick","_a","current","focus","map","tag","index","stopPropagation","filter","_","i","name","ref","type","target","onKeyDown"],"mappings":"AASO,OAAAA,KAAA,YAAAC,GAAA,UAAAC,SAAA;AAAA,OAAA;AAAA,SAAA,QAAAC,SAAA;AAAA,SAASC,EAAc;AAAA,EAAEC,OAAAA;AAAAA,EAAOC,UAAAA;AAAAA,EAAUC,aAAAA;AAAgC,GAAG;AAC1E,QAAA,CAACC,GAAMC,CAAO,IAAIR,EAAmB,CAAC,GAAGI,CAAK,CAAC,GAC/C,CAACK,GAAYC,CAAa,IAAIV,EAAS,EAAE,GACzCW,IAAWV,EAAyB,IAAI,GAExCW,IAAgBA,CAACC,MAAuC;AAC1D,QAAIA,EAAEC,QAAQ,WAAWL,EAAWM,QAAQ;AACxCF,MAAAA,EAAEG,eAAe;AACjB,YAAMC,IAAU,CAAC,GAAGV,GAAME,EAAWM,MAAM;AAC3CP,MAAAA,EAAQS,CAAO,GACfP,EAAc,EAAE,GAChBL,KAAAA,QAAAA,EAAWY;AAAAA,IAAO,WACXJ,EAAEC,QAAQ,eAAeL,MAAe,MAAMF,EAAKW,SAAS,GAAG;AAEtE,YAAMD,IAAUV,EAAKY,MAAM,GAAG,EAAE;AAChCX,MAAAA,EAAQS,CAAO,GACfZ,KAAAA,QAAAA,EAAWY;AAAAA,IAAO;AAAA,EAE1B;AAGIG,SAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,IAA4BC,SAASA,MAAAA;AArBrD,UAAAC;AAqB2Db,cAAAA,IAAAA,EAASc,YAATd,gBAAAA,EAAkBe;AAAAA;AAAAA,EAAM,GAC7EnB,EAAKoB,IAAI,CAACC,GAAKC,MACZT,gBAAAA,EAAAC,cAAA,QAAA;AAAA,IAAMP,KAAKe;AAAAA,IAAOP,WAAU;AAAA,EACvBM,GAAAA,GACDP,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IACAC,WAAU;AAAA,IACVC,SAAUV,CAAMA,MAAA;AACZA,MAAAA,EAAEiB,gBAAgB;AAClB,YAAMb,IAAUV,EAAKwB,OAAO,CAACC,GAAGC,MAAMA,MAAMJ,CAAK;AACjDrB,MAAAA,EAAQS,CAAO,GACfZ,KAAAA,QAAAA,EAAWY;AAAAA,IAAO;AAAA,EACtB,GAEII,gBAAAA,EAAAA,cAACnB,GAAI;AAAA,IAACgC,MAAK;AAAA,EAAS,CAAA,CAClB,CACJ,CACT,GACDd,gBAAAA,EAAAC,cAAA,SAAA;AAAA,IACIC,WAAU;AAAA,IACVa,KAAKxB;AAAAA,IACLyB,MAAK;AAAA,IACLhC,OAAOK;AAAAA,IACPJ,UAAWQ,CAAAA,MAAMH,EAAcG,EAAEwB,OAAOjC,KAAK;AAAA,IAC7CkC,WAAW1B;AAAAA,IACXN,aAAAA;AAAAA,EAAAA,CACH,CACA;AAEb;"}
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;"}
package/dist/index32.js CHANGED
@@ -1,41 +1,38 @@
1
- import e from "react";
2
- /* empty css */
3
- function f({
4
- value: n,
5
- onChange: i,
6
- disabled: r,
7
- maxLength: t,
8
- tag: m,
9
- error: a,
10
- errorMessage: o,
11
- label: c,
12
- placeholder: s,
13
- style: l,
14
- inputStyle: d
15
- }) {
16
- const p = m || "input";
17
- return /* @__PURE__ */ e.createElement("div", {
18
- className: "main-container",
19
- style: l
20
- }, c && /* @__PURE__ */ e.createElement("div", {
21
- className: "label-container"
22
- }, c), /* @__PURE__ */ e.createElement(p, {
23
- value: n,
24
- onChange: (E) => i(E.target.value),
25
- disabled: r,
26
- className: `${a ? "input-container-error" : "input-container-default"} ${r ? "input-container-disabled" : ""}`,
27
- maxlength: t || void 0,
28
- placeholder: s,
29
- style: d
30
- }), /* @__PURE__ */ e.createElement("div", {
31
- className: `${a ? "error-and-max-word" : "max-word-container"}`
32
- }, a && /* @__PURE__ */ e.createElement("div", {
33
- className: "error-message"
34
- }, o), t && /* @__PURE__ */ e.createElement("div", {
35
- className: "max-word"
36
- }, t && (n == null ? void 0 : n.length) + "/" + t)));
37
- }
1
+ import e, { useState as m, useEffect as c } from "react";
2
+ import { Icon as d } from "./index4.js";
3
+ const E = ({
4
+ title: i,
5
+ content: r,
6
+ defaultOpen: a,
7
+ overflow: o,
8
+ titleClassName: s = "",
9
+ showSeparator: l = !0
10
+ }) => {
11
+ const [t, n] = m(!1);
12
+ return c(() => {
13
+ n(a || !1);
14
+ }, [a]), /* @__PURE__ */ e.createElement("div", null, /* @__PURE__ */ e.createElement("div", {
15
+ className: "flex items-center cursor-pointer max-w-[50vw]",
16
+ onClick: () => n(!t)
17
+ }, /* @__PURE__ */ e.createElement("div", {
18
+ className: `transform transition-transform duration-300 ${t ? "rotate-90" : ""}`
19
+ }, /* @__PURE__ */ e.createElement(d, {
20
+ name: "rightSide"
21
+ })), /* @__PURE__ */ e.createElement("h4", {
22
+ className: `text-[#1B2636] font-inter text-[18px] font-semibold leading-[24px] ${s}`
23
+ }, i)), /* @__PURE__ */ e.createElement("div", {
24
+ className: `
25
+ overflow-${o || "hidden"}
26
+ transition-all
27
+ duration-300
28
+ ml-1
29
+ mt-[1vw]
30
+ ${t ? "max-h-[1000vh] opacity-100 visible h-auto" : "max-h-0 opacity-0 invisible h-0"}`
31
+ }, r), l && /* @__PURE__ */ e.createElement("div", {
32
+ className: `h-[1px] bg-[#E5E7EB] ${t ? "hidden" : "block"}`
33
+ }));
34
+ };
38
35
  export {
39
- f as Input
36
+ E as Accordion
40
37
  };
41
38
  //# sourceMappingURL=index32.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index32.js","sources":["../src/components/Input/index.tsx"],"sourcesContent":["import React from 'react';\nimport './style.scss';\n\nexport interface InputProps {\n value: string;\n disabled?: boolean;\n maxLength?: number | undefined;\n onChange: (value: string) => void;\n tag?: string;\n error?: boolean;\n errorMessage?: string;\n label?: string;\n placeholder?: string;\n style?: React.CSSProperties;\n inputStyle?: React.CSSProperties;\n}\n\nexport function Input({\n value,\n onChange,\n disabled,\n maxLength,\n tag,\n error,\n errorMessage,\n label,\n placeholder,\n style,\n inputStyle\n}: InputProps) {\n const Element = tag || 'input';\n\n return (\n <div className=\"main-container\" style={style}>\n {label && <div className=\"label-container\">{label}</div>}\n {React.createElement(Element, {\n value,\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => onChange(e.target.value),\n disabled,\n className: `${error ? 'input-container-error' : 'input-container-default'} ${disabled ? 'input-container-disabled' : ''}`,\n maxlength: maxLength ? maxLength : undefined,\n placeholder: placeholder,\n style: inputStyle\n })}\n <div className={`${error ? 'error-and-max-word' : 'max-word-container'}`}>\n {error && <div className=\"error-message\">{errorMessage}</div>}\n {maxLength && <div className=\"max-word\">{maxLength && value?.length + '/' + maxLength}</div>}\n </div>\n </div>\n );\n}\n"],"names":["React__default","Input","value","onChange","disabled","maxLength","tag","error","errorMessage","label","placeholder","style","inputStyle","Element","React","createElement","className","e","target","maxlength","undefined","length"],"mappings":"AAiBO,OAAAA,OAAA;AAAA,OAAA;AAAA,SAASC,EAAM;AAAA,EACpBC,OAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,KAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,aAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,YAAAA;AACU,GAAG;AACb,QAAMC,IAAUP,KAAO;AAGrBQ,SAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,IAAiBL,OAAAA;AAAAA,EAC7BF,GAAAA,KAASM,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,EAAmBP,GAAAA,CAAW,GACtDK,gBAAAA,EAAMC,cAAcF,GAAS;AAAA,IAC5BX,OAAAA;AAAAA,IACAC,UAAUA,CAACc,MAA2Cd,EAASc,EAAEC,OAAOhB,KAAK;AAAA,IAC7EE,UAAAA;AAAAA,IACAY,WAAW,GAAGT,IAAQ,0BAA0B,yBAAyB,IAAIH,IAAW,6BAA6B,EAAE;AAAA,IACvHe,WAAWd,KAAwBe;AAAAA,IACnCV,aAAAA;AAAAA,IACAC,OAAOC;AAAAA,EAAAA,CACR,GACDG,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKC,WAAW,GAAGT,IAAQ,uBAAuB,oBAAoB;AAAA,EACnEA,GAAAA,KAASQ,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,KAAiBR,CAAkB,GAC3DH,KAAaS,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,EAAA,GAAYX,MAAaH,KAAAA,gBAAAA,EAAOmB,UAAS,MAAMhB,CAAe,CACxF,CACF;AAET;"}
1
+ {"version":3,"file":"index32.js","sources":["../src/components/Accordion/index.tsx"],"sourcesContent":["import React, { FC, useEffect, useState } from 'react';\nimport { Icon } from '../Icon';\n\nexport interface AccordionProps {\n title: string;\n titleClassName?: string;\n content: React.ReactNode;\n defaultOpen?: boolean;\n showSeparator?: boolean;\n overflow?: 'hidden' | 'visible' | 'scroll' | 'auto' | undefined | string;\n}\n\nexport const Accordion: FC<AccordionProps> = ({\n title,\n content,\n defaultOpen,\n overflow,\n titleClassName = '',\n showSeparator = true\n}) => {\n const [isOpen, setIsOpen] = useState(false);\n useEffect(() => {\n setIsOpen(defaultOpen || false);\n }, [defaultOpen]);\n return (\n <div>\n <div className=\"flex items-center cursor-pointer max-w-[50vw]\" onClick={() => setIsOpen(!isOpen)}>\n <div className={`transform transition-transform duration-300 ${isOpen ? 'rotate-90' : ''}`}>\n <Icon name=\"rightSide\" />\n </div>\n <h4 className={`text-[#1B2636] font-inter text-[18px] font-semibold leading-[24px] ${titleClassName}`}>\n {title}\n </h4>\n </div>\n <div\n className={`\n overflow-${overflow || 'hidden'}\n transition-all\n duration-300\n ml-1\n mt-[1vw]\n ${isOpen ? 'max-h-[1000vh] opacity-100 visible h-auto' : 'max-h-0 opacity-0 invisible h-0'}`}\n >\n {content}\n </div>\n {showSeparator && <div className={`h-[1px] bg-[#E5E7EB] ${!isOpen ? 'block' : 'hidden'}`}></div>}\n </div>\n );\n};\n"],"names":["Accordion","title","content","defaultOpen","overflow","titleClassName","showSeparator","isOpen","setIsOpen","useState","useEffect","createElement","React","className","onClick","Icon","name"],"mappings":";;AAYO,MAAMA,IAAgCA,CAAC;AAAA,EAC5CC,OAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,aAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,gBAAAA,IAAiB;AAAA,EACjBC,eAAAA,IAAgB;AAClB,MAAM;AACJ,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK;AAC1CC,SAAAA,EAAU,MAAM;AACdF,IAAAA,EAAUL,KAAe,EAAK;AAAA,EAAA,GAC7B,CAACA,CAAW,CAAC,qBAEdQ,cACEC,OAAAA,MAAAA,gBAAAA,EAAAD,cAAA,OAAA;AAAA,IAAKE,WAAU;AAAA,IAAgDC,SAASA,MAAMN,EAAU,CAACD,CAAM;AAAA,EAAA,GAC7FI,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKE,WAAW,+CAA+CN,IAAS,cAAc,EAAE;AAAA,EAAA,GACtFI,gBAAAA,EAAAA,cAACI,GAAI;AAAA,IAACC,MAAK;AAAA,EAAa,CAAA,CACrB,GACLJ,gBAAAA,EAAAD,cAAA,MAAA;AAAA,IAAIE,WAAW,sEAAsER,CAAc;AAAA,KAChGJ,CACC,CACD,GACLW,gBAAAA,EAAAD,cAAA,OAAA;AAAA,IACEE,WAAW;AAAA,mBACAT,KAAY,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,UAK7BG,IAAS,8CAA8C,iCAAiC;AAAA,KAEzFL,CACE,GACJI,KAAiBM,gBAAAA,EAAAD,cAAA,OAAA;AAAA,IAAKE,WAAW,wBAAyBN,IAAmB,WAAV,OAAkB;AAAA,EAAA,CAAS,CAC5F;AAET;"}
package/dist/index33.js CHANGED
@@ -1,37 +1,36 @@
1
- import e from "react";
2
- /* empty css */
3
- const r = {
4
- progressBarCtn: "flex items-center gap-2",
5
- progressBar: "flex-1 w-[70%] bg-[var(--color-gray-200)] h-[6px] rounded-[12px] overflow-hidden",
6
- progressBarProgress: "h-full rounded-[12px]",
7
- stepsCount: "steps-count"
8
- }, d = ({
9
- totalTasks: t = 0,
10
- completedTasks: o = 0,
11
- progressBarCtnClassName: n = "",
12
- needPercentageCompleted: c = !0,
13
- progressBarColor: s
1
+ import e, { useState as o, useEffect as i } from "react";
2
+ import { Icon as m } from "./index4.js";
3
+ const f = ({
4
+ renderAccordionContents: a,
5
+ renderAccordionSrcElement: c,
6
+ defaultOpen: n,
7
+ className: r = ""
14
8
  }) => {
15
- const a = t > 0 ? o / t * 100 : 0;
16
- return /* @__PURE__ */ e.createElement("div", {
17
- className: `${r.progressBarCtn} ${n} progress-bar-ctn`,
18
- style: {
19
- width: "100%"
20
- }
9
+ const [t, s] = o(!1);
10
+ return i(() => {
11
+ s(n || !1);
12
+ }, [n]), /* @__PURE__ */ e.createElement("div", {
13
+ className: `se-design-accordion ${r}`
21
14
  }, /* @__PURE__ */ e.createElement("div", {
22
- className: r.progressBar
15
+ className: "flex items-center cursor-pointer",
16
+ onClick: () => s(!t)
23
17
  }, /* @__PURE__ */ e.createElement("div", {
24
- className: r.progressBarProgress,
25
- style: {
26
- width: `${a}%`,
27
- background: `${s || "linear-gradient(to right, var(--color-green-500), var(--color-green-400))"}`,
28
- transition: "width 0.4s ease-in-out"
29
- }
30
- })), c && /* @__PURE__ */ e.createElement("div", {
31
- className: r.stepsCount
32
- }, `${Math.round(a)}% completed`));
18
+ className: `se-design-accordion-icon transform transition-transform duration-300 ${t ? "rotate-90" : ""}`
19
+ }, /* @__PURE__ */ e.createElement(m, {
20
+ name: "rightSide"
21
+ })), /* @__PURE__ */ e.createElement("div", {
22
+ className: "se-design-accordion-elements flex-1"
23
+ }, /* @__PURE__ */ e.createElement("div", {
24
+ className: "se-design-accordion-src-element"
25
+ }, c({
26
+ isOpen: t
27
+ })), t && /* @__PURE__ */ e.createElement("div", {
28
+ className: "se-design-accordion-content transition-all duration-300 mt-1"
29
+ }, a({
30
+ isOpen: t
31
+ })))));
33
32
  };
34
33
  export {
35
- d as ProgressBar
34
+ f as CustomAccordion
36
35
  };
37
36
  //# sourceMappingURL=index33.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index33.js","sources":["../src/components/ProgressBar/index.tsx"],"sourcesContent":["import React, { FC } from 'react';\nimport { Map } from '../../utils/common.types';\nimport './style.scss';\n\nexport interface ProgressBarProps {\n totalTasks: number;\n completedTasks: number;\n progressBarCtnClassName?: string;\n needPercentageCompleted?: boolean;\n progressBarColor?: string;\n}\n\nconst className: Map = {\n progressBarCtn: 'flex items-center gap-2',\n progressBar: 'flex-1 w-[70%] bg-[var(--color-gray-200)] h-[6px] rounded-[12px] overflow-hidden',\n progressBarProgress: 'h-full rounded-[12px]',\n stepsCount: 'steps-count'\n};\n\nexport const ProgressBar: FC<ProgressBarProps> = ({\n totalTasks = 0,\n completedTasks = 0,\n progressBarCtnClassName = '',\n needPercentageCompleted = true,\n progressBarColor\n}) => {\n const percentageComplete = totalTasks > 0 ? (completedTasks / totalTasks) * 100 : 0;\n return (\n <div\n className={`${className.progressBarCtn} ${progressBarCtnClassName} progress-bar-ctn`}\n style={{ width: '100%' }}\n >\n <div className={className.progressBar}>\n <div\n className={className.progressBarProgress}\n style={{\n width: `${percentageComplete}%`,\n background: `${progressBarColor ? progressBarColor : 'linear-gradient(to right, var(--color-green-500), var(--color-green-400))'}`,\n transition: 'width 0.4s ease-in-out'\n }}\n ></div>\n </div>\n {needPercentageCompleted && (\n <div className={className.stepsCount}>{`${Math.round(percentageComplete)}% completed`}</div>\n )}\n </div>\n );\n};\n"],"names":["React__default","className","progressBarCtn","progressBar","progressBarProgress","stepsCount","ProgressBar","totalTasks","completedTasks","progressBarCtnClassName","needPercentageCompleted","progressBarColor","percentageComplete","React","createElement","style","width","background","transition","Math","round"],"mappings":"AAYA,OAAAA,OAAA;AAAA,OAAA;AAAA,MAAMC,IAAiB;AAAA,EACrBC,gBAAgB;AAAA,EAChBC,aAAa;AAAA,EACbC,qBAAqB;AAAA,EACrBC,YAAY;AACd,GAEaC,IAAoCA,CAAC;AAAA,EAChDC,YAAAA,IAAa;AAAA,EACbC,gBAAAA,IAAiB;AAAA,EACjBC,yBAAAA,IAA0B;AAAA,EAC1BC,yBAAAA,IAA0B;AAAA,EAC1BC,kBAAAA;AACF,MAAM;AACJ,QAAMC,IAAqBL,IAAa,IAAKC,IAAiBD,IAAc,MAAM;AAEhFM,SAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEb,WAAW,GAAGA,EAAUC,cAAc,IAAIO,CAAuB;AAAA,IACjEM,OAAO;AAAA,MAAEC,OAAO;AAAA,IAAA;AAAA,EAAO,GAEvBF,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKb,WAAWA,EAAUE;AAAAA,EAAAA,GACxBW,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IACEb,WAAWA,EAAUG;AAAAA,IACrBW,OAAO;AAAA,MACLC,OAAO,GAAGJ,CAAkB;AAAA,MAC5BK,YAAY,GAAGN,KAAsC,2EAA2E;AAAA,MAChIO,YAAY;AAAA,IAAA;AAAA,EAEV,CAAA,CACH,GACJR,KACCG,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKb,WAAWA,EAAUI;AAAAA,EAAAA,GAAa,GAAGc,KAAKC,MAAMR,CAAkB,CAAC,aAAmB,CAE1F;AAET;"}
1
+ {"version":3,"file":"index33.js","sources":["../src/components/CustomAccordion/index.tsx"],"sourcesContent":["import React, { FC, useEffect, useState } from 'react';\nimport { Icon } from '../Icon';\n\nexport interface CustomAccordionProps {\n renderAccordionContents: (props: { isOpen: boolean }) => React.ReactNode;\n renderAccordionSrcElement: (props: { isOpen: boolean }) => React.ReactNode;\n defaultOpen?: boolean;\n className?: string;\n}\n\nexport const CustomAccordion: FC<CustomAccordionProps> = ({ renderAccordionContents, renderAccordionSrcElement, defaultOpen, className = '' }) => {\n const [isOpen, setIsOpen] = useState(false);\n useEffect(()=>{\n setIsOpen(defaultOpen || false)\n },[defaultOpen])\n\n return (\n <div className={`se-design-accordion ${className}`}>\n <div className='flex items-center cursor-pointer' onClick={() => setIsOpen(!isOpen)}>\n <div className={`se-design-accordion-icon transform transition-transform duration-300 ${isOpen ? 'rotate-90' : ''}`}>\n <Icon name=\"rightSide\" />\n </div>\n <div className='se-design-accordion-elements flex-1'>\n <div className='se-design-accordion-src-element'>{renderAccordionSrcElement({isOpen})}</div>\n {isOpen &&\n (<div className='se-design-accordion-content transition-all duration-300 mt-1'>\n {renderAccordionContents({isOpen})}\n </div>\n )}\n </div>\n </div>\n </div>\n );\n};\n"],"names":["CustomAccordion","renderAccordionContents","renderAccordionSrcElement","defaultOpen","className","isOpen","setIsOpen","useState","useEffect","React","createElement","onClick","Icon","name"],"mappings":";;AAUO,MAAMA,IAA4CA,CAAC;AAAA,EAAEC,yBAAAA;AAAAA,EAAyBC,2BAAAA;AAAAA,EAA2BC,aAAAA;AAAAA,EAAaC,WAAAA,IAAY;AAAG,MAAM;AAChJ,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAS,EAAK;AAC1CC,SAAAA,EAAU,MAAI;AACZF,IAAAA,EAAUH,KAAe,EAAK;AAAA,EAAA,GAC9B,CAACA,CAAW,CAAC,GAGbM,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKN,WAAW,uBAAuBA,CAAS;AAAA,EAAA,GAC9CM,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKN,WAAU;AAAA,IAAmCO,SAASA,MAAML,EAAU,CAACD,CAAM;AAAA,EAAA,GAChFK,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKN,WAAW,wEAAwEC,IAAS,cAAc,EAAE;AAAA,EAAA,GAC/GK,gBAAAA,EAAAA,cAACE,GAAI;AAAA,IAACC,MAAK;AAAA,EAAa,CAAA,CACrB,GACLJ,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKN,WAAU;AAAA,EAAA,GACbM,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKN,WAAU;AAAA,KAAmCF,EAA0B;AAAA,IAACG,QAAAA;AAAAA,EAAO,CAAA,CAAO,GAC1FA,KACEI,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKN,WAAU;AAAA,KACbH,EAAwB;AAAA,IAACI,QAAAA;AAAAA,EAAAA,CAAO,CAC9B,CAEJ,CACF,CACF;AAET;"}