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/index34.js CHANGED
@@ -1,55 +1,50 @@
1
- import e, { useState as g, useRef as p } from "react";
2
- import { Icon as s } from "./index4.js";
3
- import { ProgressBar as x } from "./index33.js";
4
- /* empty css */
5
- const r = {
6
- gettingStartedWidgetCtn: "border border-[var(--color-gray-200)] rounded-[12px] w-[385px] p-4",
7
- accordionCtn: "flex items-center justify-between",
8
- gettingStartedWidgetContent: "overflow-hidden transition-all duration-300",
9
- icon: "transition-transform duration-300 cursor-pointer",
10
- actionItemCtn: "flex items-center gap-2 mt-[4px] mb-[10px]"
11
- }, v = ({
12
- widgetClassName: l = "",
13
- actionItems: a = []
14
- }) => {
15
- var c;
16
- const [n, i] = g(!1), o = p(null), d = () => {
17
- i(!n);
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);
17
+ }
18
18
  };
19
- return /* @__PURE__ */ e.createElement("div", {
20
- className: `${r.gettingStartedWidgetCtn} ${l} getting-started-widget-ctn`
21
- }, /* @__PURE__ */ e.createElement("div", {
22
- className: r.accordionCtn
23
- }, /* @__PURE__ */ e.createElement("span", {
24
- className: "title text-[var(--color-gray-900)]"
25
- }, "Get Started"), /* @__PURE__ */ e.createElement(s, {
26
- name: "down",
27
- className: `${r.icon} ${n ? "rotate-180" : ""}`,
28
- onClick: d
29
- })), /* @__PURE__ */ e.createElement("div", {
30
- className: "mt-[12px]"
31
- }, /* @__PURE__ */ e.createElement(x, {
32
- totalTasks: a.length,
33
- completedTasks: a.filter((t) => t.isComplete).length,
34
- progressBarCtnClassName: "get-started-progress-bar-ctn"
35
- })), /* @__PURE__ */ e.createElement("div", {
36
- ref: o,
37
- className: r.gettingStartedWidgetContent,
38
- style: {
39
- maxHeight: n ? `${(c = o.current) == null ? void 0 : c.scrollHeight}px` : "0px"
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();
40
24
  }
41
- }, a.map((t, m) => /* @__PURE__ */ e.createElement("div", {
42
- key: m,
43
- className: r.actionItemCtn
44
- }, /* @__PURE__ */ e.createElement(s, {
45
- name: t.isComplete ? "checked-circle-green" : "checked-circle-disabled"
46
- }), /* @__PURE__ */ e.createElement("span", {
47
- className: t.isComplete ? "text-[var(--color-gray-500)]" : "text-[var(--color-gray-900)] cursor-pointer",
48
- onClick: t == null ? void 0 : t.handleActionItemClick
49
- }, t.label)))));
50
- };
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
+ }));
46
+ }
51
47
  export {
52
- v as GetStartedWidget,
53
- v as default
48
+ I as InputWithTags
54
49
  };
55
50
  //# sourceMappingURL=index34.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index34.js","sources":["../src/components/GetStartedWidget/index.tsx"],"sourcesContent":["import React, { FC, useState, useRef } from \"react\";\nimport { Icon } from \"../Icon\";\nimport { Map } from \"../../utils/common.types\";\nimport { ProgressBar } from \"../ProgressBar\";\nimport \"./style.scss\";\n\nexport interface GetStartedWidgetProps {\n widgetClassName?: string;\n actionItems: {\n label: string;\n isComplete?: boolean;\n handleActionItemClick: () => void;\n }[];\n}\n\nconst className: Map = {\n gettingStartedWidgetCtn: \"border border-[var(--color-gray-200)] rounded-[12px] w-[385px] p-4\",\n accordionCtn: \"flex items-center justify-between\",\n gettingStartedWidgetContent: \"overflow-hidden transition-all duration-300\",\n icon: \"transition-transform duration-300 cursor-pointer\",\n actionItemCtn: \"flex items-center gap-2 mt-[4px] mb-[10px]\"\n};\n\nexport const GetStartedWidget: FC<GetStartedWidgetProps> = ({\n widgetClassName = \"\",\n actionItems = []\n}) => {\n const [isExpanded, setIsExpanded] = useState(false);\n const contentRef = useRef<HTMLDivElement>(null);\n\n const toggleAccordion = () => {\n setIsExpanded(!isExpanded);\n };\n\n return (\n <div className={`${className.gettingStartedWidgetCtn} ${widgetClassName} getting-started-widget-ctn`}>\n <div className={className.accordionCtn}>\n <span className=\"title text-[var(--color-gray-900)]\">Get Started</span>\n <Icon name=\"down\" className={`${className.icon} ${isExpanded ? \"rotate-180\" : \"\"}`} onClick={toggleAccordion} />\n </div>\n <div className=\"mt-[12px]\">\n <ProgressBar totalTasks={actionItems.length} \n completedTasks={actionItems.filter(item => item.isComplete).length} \n progressBarCtnClassName=\"get-started-progress-bar-ctn\"/>\n </div>\n <div\n ref={contentRef}\n className={className.gettingStartedWidgetContent}\n style={{\n maxHeight: isExpanded ? `${contentRef.current?.scrollHeight}px` : \"0px\",\n }}\n >\n {actionItems.map((item, index) => (\n <div key={index} className={className.actionItemCtn}>\n <Icon name={item.isComplete ? \"checked-circle-green\" : \"checked-circle-disabled\"} />\n <span className={item.isComplete ? \"text-[var(--color-gray-500)]\" : \"text-[var(--color-gray-900)] cursor-pointer\"} onClick={item?.handleActionItemClick}>\n {item.label}\n </span>\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nexport default GetStartedWidget;"],"names":["React__default","useState","useRef","Icon","ProgressBar","className","gettingStartedWidgetCtn","accordionCtn","gettingStartedWidgetContent","icon","actionItemCtn","GetStartedWidget","widgetClassName","actionItems","_a","isExpanded","setIsExpanded","contentRef","toggleAccordion","React","createElement","name","onClick","totalTasks","length","completedTasks","filter","item","isComplete","progressBarCtnClassName","ref","style","maxHeight","current","scrollHeight","map","index","key","handleActionItemClick","label"],"mappings":"AAeA,OAAAA,KAAA,YAAAC,GAAA,UAAAC,SAAA;AAAA,SAAA,QAAAC,SAAA;AAAA,SAAA,eAAAC,SAAA;AAAA,OAAA;AAAA,MAAMC,IAAiB;AAAA,EACrBC,yBAAyB;AAAA,EACzBC,cAAc;AAAA,EACdC,6BAA6B;AAAA,EAC7BC,MAAM;AAAA,EACNC,eAAe;AACjB,GAEaC,IAA8CA,CAAC;AAAA,EAC1DC,iBAAAA,IAAkB;AAAA,EAClBC,aAAAA,IAAc,CAAA;AAChB,MAAM;AAXN,MAAAC;AAYE,QAAM,CAACC,GAAYC,CAAa,IAAIf,EAAS,EAAK,GAC5CgB,IAAaf,EAAuB,IAAI,GAExCgB,IAAkBA,MAAM;AAC5BF,IAAAA,EAAc,CAACD,CAAU;AAAA,EAC3B;AAGEI,SAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKf,WAAW,GAAGA,EAAUC,uBAAuB,IAAIM,CAAe;AAAA,EAAA,GACrEQ,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKf,WAAWA,EAAUE;AAAAA,EAAAA,GACxBa,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IAAMf,WAAU;AAAA,EAAqC,GAAA,aAAiB,GACtEc,gBAAAA,EAAAC,cAACjB,GAAI;AAAA,IAACkB,MAAK;AAAA,IAAOhB,WAAW,GAAGA,EAAUI,IAAI,IAAIM,IAAa,eAAe,EAAE;AAAA,IAAIO,SAASJ;AAAAA,EAAkB,CAAA,CAC5G,GACLC,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKf,WAAU;AAAA,EAAA,GACbe,gBAAAA,EAAAA,cAAChB,GAAW;AAAA,IAACmB,YAAYV,EAAYW;AAAAA,IACrCC,gBAAgBZ,EAAYa,OAAOC,CAAQA,MAAAA,EAAKC,UAAU,EAAEJ;AAAAA,IAC5DK,yBAAwB;AAAA,EAA+B,CAAA,CACpD,GACLV,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEU,KAAKb;AAAAA,IACLZ,WAAWA,EAAUG;AAAAA,IACrBuB,OAAO;AAAA,MACLC,WAAWjB,IAAa,IAAGE,IAAAA,EAAWgB,YAAXhB,gBAAAA,EAAoBiB,YAAY,OAAO;AAAA,IAAA;AAAA,EACpE,GAECrB,EAAYsB,IAAI,CAACR,GAAMS,MACtBjB,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKiB,KAAKD;AAAAA,IAAO/B,WAAWA,EAAUK;AAAAA,EAAAA,GACpCU,gBAAAA,EAAAA,cAACjB,GAAI;AAAA,IAACkB,MAAMM,EAAKC,aAAa,yBAAyB;AAAA,EAAA,CAA4B,GACnFR,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IAAMf,WAAWsB,EAAKC,aAAa,iCAAiC;AAAA,IAA+CN,SAASK,KAAAA,gBAAAA,EAAMW;AAAAA,KAC/HX,EAAKY,KACF,CACH,CACN,CACE,CACF;AAET;"}
1
+ {"version":3,"file":"index34.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;"}
package/dist/index35.js CHANGED
@@ -1,74 +1,41 @@
1
- import e, { useState as x } from "react";
2
- import { Icon as l } from "./index4.js";
3
- import { Button as p } from "./index3.js";
4
- /* empty css */
5
- const r = {
6
- messageBarCtn: "min-h-[45px] fixed top-0 w-full flex items-center justify-center py-2",
7
- messageCtn: "flex items-center justify-center gap-2 flex-wrap px-4 pr-12",
8
- info: "bg-[var(--color-yellow-50)]",
9
- alert: "bg-[var(--color-red-500)]",
10
- nudge: "bg-[var(--color-blue-500)]",
11
- infoMessage: "text-[var(--color-yellow-700)] text-center",
12
- alertMessage: "text-[var(--color-white)] text-center",
13
- closeIconCtn: "absolute right-[12px] cursor-pointer cursor-pointer hover:bg-[var(--color-gray-500)] rounded-full p-1",
14
- customInfoClassBtn: "bg-[var(--color-yellow-50)] text-[var(--color-yellow-700)] hover:bg-[var(--color-yellow-50)] border border-[var(--color-yellow-700)] hover:border-[var(--color-yellow-900)]",
15
- customAlertClassBtn: "bg-[var(--color-red-500)] text-[var(--color-white)] hover:bg-[var(--color-red-500)] border border-[var(--color-white)] hover:border-[var(--color-white)]",
16
- customNudgeClassBtn: "bg-[var(--color-blue-500)] text-[var(--color-white)] hover:bg-[var(--color-blue-500)] border border-[var(--color-white)] hover:border-[var(--color-white)]"
17
- }, I = ({
18
- messageBarCtnClassName: s = "",
19
- messageBarType: o = "info",
20
- message: a = "",
21
- hasCloseIcon: c = !1,
22
- hasButton: n = !1,
23
- buttonLabel: i = "",
24
- buttonOnClick: m = () => {
25
- },
26
- handleClose: t = () => {
27
- }
28
- }) => {
29
- const [u, v] = x(!0), b = e.useCallback(() => {
30
- v(!1);
31
- const h = setTimeout(() => {
32
- t == null || t();
33
- }, 300);
34
- return () => clearTimeout(h);
35
- }, [t]), f = o === "info" ? r.infoMessage : r.alertMessage, g = e.useMemo(() => {
36
- switch (o) {
37
- case "info":
38
- return r.customInfoClassBtn;
39
- case "alert":
40
- return r.customAlertClassBtn;
41
- case "nudge":
42
- return r.customNudgeClassBtn;
43
- default:
44
- return "";
45
- }
46
- }, [o]), d = o === "info" ? "info-brown" : "info-white", w = o === "info" ? "close" : "white-close";
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";
47
17
  return /* @__PURE__ */ e.createElement("div", {
48
- className: `se-design-message-bar ${s} ${r.messageBarCtn} ${r[o]} ${u ? "show" : "hide"}`
49
- }, /* @__PURE__ */ e.createElement("div", {
50
- className: r.messageCtn
51
- }, /* @__PURE__ */ e.createElement("div", {
52
- className: "inline-flex items-center"
53
- }, /* @__PURE__ */ e.createElement("span", {
54
- className: f
55
- }, /* @__PURE__ */ e.createElement(l, {
56
- name: d,
57
- className: "inline-block h-fit relative top-[3px] mr-1"
58
- }), a, n && /* @__PURE__ */ e.createElement(p, {
59
- label: i,
60
- type: "primary",
61
- size: "sm",
62
- onClick: m,
63
- customClassName: `${g} ml-2 alert-btn`
64
- })))), c && /* @__PURE__ */ e.createElement(l, {
65
- name: w,
66
- className: r.closeIconCtn,
67
- onClick: b
68
- }));
69
- };
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
+ }
70
38
  export {
71
- I as MessageBar,
72
- I as default
39
+ f as Input
73
40
  };
74
41
  //# sourceMappingURL=index35.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index35.js","sources":["../src/components/MessageBar/index.tsx"],"sourcesContent":["import React, { FC, useState } from 'react';\nimport { Map } from 'src/utils/common.types';\nimport { Icon } from '../Icon';\nimport { Button } from '../Button';\nimport './style.scss';\n\nexport interface MessageBarProps {\n messageBarCtnClassName?: string;\n messageBarType: 'info' | 'alert' | 'nudge';\n message: string;\n hasCloseIcon?: boolean;\n hasButton?: boolean,\n buttonLabel: string | '',\n buttonOnClick?: () => void,\n handleClose?: () => void,\n}\n\nconst classNames: Map = {\n messageBarCtn: \"min-h-[45px] fixed top-0 w-full flex items-center justify-center py-2\",\n messageCtn: \"flex items-center justify-center gap-2 flex-wrap px-4 pr-12\",\n info: \"bg-[var(--color-yellow-50)]\",\n alert: \"bg-[var(--color-red-500)]\",\n nudge: \"bg-[var(--color-blue-500)]\",\n infoMessage: \"text-[var(--color-yellow-700)] text-center\", \n alertMessage: \"text-[var(--color-white)] text-center\",\n closeIconCtn: \"absolute right-[12px] cursor-pointer cursor-pointer hover:bg-[var(--color-gray-500)] rounded-full p-1\",\n customInfoClassBtn: \"bg-[var(--color-yellow-50)] text-[var(--color-yellow-700)] hover:bg-[var(--color-yellow-50)] border border-[var(--color-yellow-700)] hover:border-[var(--color-yellow-900)]\",\n customAlertClassBtn: \"bg-[var(--color-red-500)] text-[var(--color-white)] hover:bg-[var(--color-red-500)] border border-[var(--color-white)] hover:border-[var(--color-white)]\",\n customNudgeClassBtn: \"bg-[var(--color-blue-500)] text-[var(--color-white)] hover:bg-[var(--color-blue-500)] border border-[var(--color-white)] hover:border-[var(--color-white)]\",\n};\n\nexport const MessageBar: FC<MessageBarProps> = ({\n messageBarCtnClassName = \"\",\n messageBarType = 'info',\n message = '',\n hasCloseIcon = false,\n hasButton = false,\n buttonLabel = '',\n buttonOnClick = () => {},\n handleClose = () => {},\n}) => {\n const [visible, setVisible] = useState(true);\n\n const handleClickOnCloseIcon = React.useCallback(() => {\n setVisible(false);\n const timer = setTimeout(() => {\n handleClose?.();\n }, 300);\n return () => clearTimeout(timer);\n }, [handleClose]);\n\n const messageClass = messageBarType === 'info' ? classNames.infoMessage : classNames.alertMessage;\n \n const buttonClassName = React.useMemo(() => {\n switch(messageBarType) {\n case 'info': return classNames.customInfoClassBtn;\n case 'alert': return classNames.customAlertClassBtn;\n case 'nudge': return classNames.customNudgeClassBtn;\n default: return '';\n }\n }, [messageBarType]);\n\n const iconName = messageBarType === 'info' ? \"info-brown\" : \"info-white\";\n const closeIconName = messageBarType === 'info' ? \"close\" : \"white-close\";\n\n return (\n <div className={`se-design-message-bar ${messageBarCtnClassName} ${classNames.messageBarCtn} ${classNames[messageBarType]} ${visible ? \"show\" : \"hide\"}`}>\n <div className={classNames.messageCtn}>\n <div className=\"inline-flex items-center\">\n <span className={messageClass}>\n <Icon name={iconName} className=\"inline-block h-fit relative top-[3px] mr-1\"/>\n {message}\n {hasButton && (\n <Button \n label={buttonLabel} \n type='primary' \n size=\"sm\" \n onClick={buttonOnClick}\n customClassName={`${buttonClassName} ml-2 alert-btn`}\n />\n )}\n </span>\n </div>\n </div>\n {hasCloseIcon && (\n <Icon \n name={closeIconName} \n className={classNames.closeIconCtn} \n onClick={handleClickOnCloseIcon} \n />\n )}\n </div>\n );\n};\n\nexport default MessageBar;"],"names":["React__default","useState","Icon","Button","classNames","messageBarCtn","messageCtn","info","alert","nudge","infoMessage","alertMessage","closeIconCtn","customInfoClassBtn","customAlertClassBtn","customNudgeClassBtn","MessageBar","messageBarCtnClassName","messageBarType","message","hasCloseIcon","hasButton","buttonLabel","buttonOnClick","handleClose","visible","setVisible","handleClickOnCloseIcon","React","useCallback","timer","setTimeout","clearTimeout","messageClass","buttonClassName","useMemo","iconName","closeIconName","createElement","className","name","label","type","size","onClick","customClassName"],"mappings":"AAiBA,OAAAA,KAAA,YAAAC,SAAA;AAAA,SAAA,QAAAC,SAAA;AAAA,SAAA,UAAAC,SAAA;AAAA,OAAA;AAAA,MAAMC,IAAkB;AAAA,EACtBC,eAAe;AAAA,EACfC,YAAY;AAAA,EACZC,MAAM;AAAA,EACNC,OAAO;AAAA,EACPC,OAAO;AAAA,EACPC,aAAa;AAAA,EACbC,cAAc;AAAA,EACdC,cAAc;AAAA,EACdC,oBAAoB;AAAA,EACpBC,qBAAqB;AAAA,EACrBC,qBAAqB;AACvB,GAEaC,IAAkCA,CAAC;AAAA,EAC9CC,wBAAAA,IAAyB;AAAA,EACzBC,gBAAAA,IAAiB;AAAA,EACjBC,SAAAA,IAAU;AAAA,EACVC,cAAAA,IAAe;AAAA,EACfC,WAAAA,IAAY;AAAA,EACZC,aAAAA,IAAc;AAAA,EACdC,eAAAA,IAAgBA,MAAM;AAAA,EAAC;AAAA,EACvBC,aAAAA,IAAcA,MAAM;AAAA,EAAA;AACtB,MAAM;AACJ,QAAM,CAACC,GAASC,CAAU,IAAIzB,EAAS,EAAI,GAErC0B,IAAyBC,EAAMC,YAAY,MAAM;AACrDH,IAAAA,EAAW,EAAK;AACVI,UAAAA,IAAQC,WAAW,MAAM;AACf,MAAAP,KAAA,QAAAA;AAAA,OACb,GAAG;AACC,WAAA,MAAMQ,aAAaF,CAAK;AAAA,EAAA,GAC9B,CAACN,CAAW,CAAC,GAEVS,IAAef,MAAmB,SAASd,EAAWM,cAAcN,EAAWO,cAE/EuB,IAAkBN,EAAMO,QAAQ,MAAM;AAC1C,YAAOjB,GAAc;AAAA,MACnB,KAAK;AAAQ,eAAOd,EAAWS;AAAAA,MAC/B,KAAK;AAAS,eAAOT,EAAWU;AAAAA,MAChC,KAAK;AAAS,eAAOV,EAAWW;AAAAA,MAChC;AAAgB,eAAA;AAAA,IAAA;AAAA,EAClB,GACC,CAACG,CAAc,CAAC,GAEbkB,IAAWlB,MAAmB,SAAS,eAAe,cACtDmB,IAAgBnB,MAAmB,SAAS,UAAU;AAG1DU,SAAAA,gBAAAA,EAAAU,cAAA,OAAA;AAAA,IAAKC,WAAW,yBAAyBtB,CAAsB,IAAIb,EAAWC,aAAa,IAAID,EAAWc,CAAc,CAAC,IAAIO,IAAU,SAAS,MAAM;AAAA,EAAA,GACpJa,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKC,WAAWnC,EAAWE;AAAAA,EAAAA,GACzBgC,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,EAAA,GACbD,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IAAMC,WAAWN;AAAAA,EAAAA,GACfK,gBAAAA,EAAAA,cAACpC,GAAI;AAAA,IAACsC,MAAMJ;AAAAA,IAAUG,WAAU;AAAA,EAA6C,CAAA,GAC5EpB,GACAE,KACCO,gBAAAA,EAAAU,cAACnC,GAAM;AAAA,IACLsC,OAAOnB;AAAAA,IACPoB,MAAK;AAAA,IACLC,MAAK;AAAA,IACLC,SAASrB;AAAAA,IACTsB,iBAAiB,GAAGX,CAAe;AAAA,EAAA,CACpC,CAEC,CACH,CACF,GACJd,KACCQ,gBAAAA,EAAAU,cAACpC,GAAI;AAAA,IACHsC,MAAMH;AAAAA,IACNE,WAAWnC,EAAWQ;AAAAA,IACtBgC,SAASjB;AAAAA,EAAAA,CACV,CAEA;AAET;"}
1
+ {"version":3,"file":"index35.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;"}
package/dist/index36.js CHANGED
@@ -1,57 +1,37 @@
1
- import e, { useState as f, useEffect as g } from "react";
2
- import { Icon as o } from "./index4.js";
3
- /* empty css */
4
- const t = {
5
- toastBarCtn: "min-h-[45px] fixed top-0 w-full flex items-center justify-center flex-wrap",
6
- success: "linear-gradient(90deg, var(--color-green-700) 0%, var(--color-green-400) 100%)",
7
- error: "linear-gradient(90deg, var(--color-red-700) 0%, var(--color-red-500) 100%)",
8
- info: "var(--color-gray-700)",
9
- toastMessageCtn: "flex items-center gap-2",
10
- toastMessage: "text-[var(--color-white)] text-center word-break",
11
- closeIconCtn: "absolute right-[12px] cursor-pointer cursor-pointer hover:bg-[var(--color-gray-500)] rounded-full p-1"
12
- }, x = ({
13
- toastBarCtnClassName: c = "",
14
- toastType: a,
15
- toastMessage: n = "",
16
- shouldAutoClose: i = !1,
17
- delay: l = 5e3,
18
- onClose: r = () => {
19
- }
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
20
14
  }) => {
21
- const [m, u] = f(!0);
22
- g(() => {
23
- if (i) {
24
- const d = setTimeout(() => {
25
- s();
26
- }, l);
27
- return () => clearTimeout(d);
28
- }
29
- }, []);
30
- const s = () => {
31
- setTimeout(() => {
32
- u(!1), setTimeout(() => {
33
- r == null || r();
34
- }, 300);
35
- }, 300);
36
- };
15
+ const a = t > 0 ? o / t * 100 : 0;
37
16
  return /* @__PURE__ */ e.createElement("div", {
38
- className: `se-design-toast-bar ${c} ${t.toastBarCtn} ${m ? "show" : "hide"}`,
17
+ className: `${r.progressBarCtn} ${n} progress-bar-ctn`,
39
18
  style: {
40
- background: t[a]
19
+ width: "100%"
41
20
  }
42
21
  }, /* @__PURE__ */ e.createElement("div", {
43
- className: t.toastMessageCtn
44
- }, /* @__PURE__ */ e.createElement(o, {
45
- name: a === "info" ? "info-white" : "checked-circle-white"
46
- }), /* @__PURE__ */ e.createElement("span", {
47
- className: t.toastMessage
48
- }, n)), /* @__PURE__ */ e.createElement(o, {
49
- name: "white-close",
50
- className: t.closeIconCtn,
51
- onClick: s
52
- }));
22
+ className: r.progressBar
23
+ }, /* @__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`));
53
33
  };
54
34
  export {
55
- x as ToastBar
35
+ d as ProgressBar
56
36
  };
57
37
  //# sourceMappingURL=index36.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index36.js","sources":["../src/components/ToastBar/index.tsx"],"sourcesContent":["import React, { FC, useEffect, useState } from \"react\";\nimport { Map } from \"../../utils/common.types\";\nimport { Icon } from \"../Icon\";\nimport \"./style.scss\";\n\nexport interface ToastBarProps {\n toastBarCtnClassName?: string;\n toastType: \"success\" | \"error\" | \"info\";\n toastMessage: string;\n shouldAutoClose?: boolean;\n delay?: number;\n onClose?: () => void;\n}\n\nconst classNames: Map = {\n toastBarCtn: \"min-h-[45px] fixed top-0 w-full flex items-center justify-center flex-wrap\",\n success: \"linear-gradient(90deg, var(--color-green-700) 0%, var(--color-green-400) 100%)\",\n error: \"linear-gradient(90deg, var(--color-red-700) 0%, var(--color-red-500) 100%)\",\n info: \"var(--color-gray-700)\", \n toastMessageCtn: \"flex items-center gap-2\",\n toastMessage: \"text-[var(--color-white)] text-center word-break\",\n closeIconCtn: \"absolute right-[12px] cursor-pointer cursor-pointer hover:bg-[var(--color-gray-500)] rounded-full p-1\",\n};\n\nexport const ToastBar: FC<ToastBarProps> = ({\n toastBarCtnClassName = \"\",\n toastType,\n toastMessage = \"\",\n shouldAutoClose = false,\n delay = 5000,\n onClose = () => {}\n}) => {\n const [visible, setVisible] = useState(true);\n\n useEffect(() => {\n if (shouldAutoClose) {\n const timer = setTimeout(() => {\n handleClose();\n }, delay);\n return () => clearTimeout(timer);\n }\n }, []);\n\n const handleClose = () => {\n setTimeout(() => {\n setVisible(false);\n setTimeout(() => {\n onClose?.();\n }, 300);\n }, 300);\n };\n\n return (\n <div\n className={`se-design-toast-bar ${toastBarCtnClassName} ${classNames.toastBarCtn} ${visible ? \"show\" : \"hide\"}`}\n style={{ background: classNames[toastType] }}\n >\n <div className={classNames.toastMessageCtn} >\n <Icon name={toastType === \"info\" ? \"info-white\" : \"checked-circle-white\"} />\n <span className={classNames.toastMessage}>{toastMessage}</span>\n </div>\n <Icon name=\"white-close\" className={classNames.closeIconCtn} onClick={handleClose} />\n </div>\n );\n};"],"names":["React__default","useState","useEffect","Icon","classNames","toastBarCtn","success","error","info","toastMessageCtn","toastMessage","closeIconCtn","ToastBar","toastBarCtnClassName","toastType","shouldAutoClose","delay","onClose","visible","setVisible","timer","setTimeout","handleClose","clearTimeout","React","createElement","className","style","background","name","onClick"],"mappings":"AAcA,OAAAA,KAAA,YAAAC,GAAA,aAAAC,SAAA;AAAA,SAAA,QAAAC,SAAA;AAAA,OAAA;AAAA,MAAMC,IAAkB;AAAA,EACtBC,aAAa;AAAA,EACbC,SAAS;AAAA,EACTC,OAAO;AAAA,EACPC,MAAM;AAAA,EACNC,iBAAiB;AAAA,EACjBC,cAAc;AAAA,EACdC,cAAc;AAChB,GAEaC,IAA8BA,CAAC;AAAA,EAC1CC,sBAAAA,IAAuB;AAAA,EACvBC,WAAAA;AAAAA,EACAJ,cAAAA,IAAe;AAAA,EACfK,iBAAAA,IAAkB;AAAA,EAClBC,OAAAA,IAAQ;AAAA,EACRC,SAAAA,IAAUA,MAAM;AAAA,EAAA;AAClB,MAAM;AACJ,QAAM,CAACC,GAASC,CAAU,IAAIlB,EAAS,EAAI;AAE3CC,EAAAA,EAAU,MAAM;AACd,QAAIa,GAAiB;AACbK,YAAAA,IAAQC,WAAW,MAAM;AACjB,QAAAC,EAAA;AAAA,SACXN,CAAK;AACD,aAAA,MAAMO,aAAaH,CAAK;AAAA,IAAA;AAAA,EAEnC,GAAG,EAAE;AAEL,QAAME,IAAcA,MAAM;AACxBD,eAAW,MAAM;AACfF,MAAAA,EAAW,EAAK,GAChBE,WAAW,MAAM;AACL,QAAAJ,KAAA,QAAAA;AAAA,SACT,GAAG;AAAA,OACL,GAAG;AAAA,EACR;AAGEO,SAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEC,WAAW,uBAAuBb,CAAoB,IAAIT,EAAWC,WAAW,IAAIa,IAAU,SAAS,MAAM;AAAA,IAC7GS,OAAO;AAAA,MAAEC,YAAYxB,EAAWU,CAAS;AAAA,IAAA;AAAA,EAAE,GAE3CW,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKC,WAAWtB,EAAWK;AAAAA,EAAAA,GACzBgB,gBAAAA,EAAAA,cAACtB,GAAI;AAAA,IAAC0B,MAAMf,MAAc,SAAS,eAAe;AAAA,EAAA,CAAyB,GAC3EW,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IAAMC,WAAWtB,EAAWM;AAAAA,KAAeA,CAAmB,CAC3D,GACLc,gBAAAA,EAAAC,cAACtB,GAAI;AAAA,IAAC0B,MAAK;AAAA,IAAcH,WAAWtB,EAAWO;AAAAA,IAAcmB,SAASR;AAAAA,EAAAA,CAAc,CACjF;AAET;"}
1
+ {"version":3,"file":"index36.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;"}
package/dist/index37.js CHANGED
@@ -1,68 +1,55 @@
1
- import e, { useRef as b, useEffect as h } from "react";
2
- /* empty css */
3
- const R = /* @__PURE__ */ e.memo(({
4
- value: c,
5
- onChange: s,
6
- disabled: m = !1,
7
- maxLength: l,
8
- tag: p = "input",
9
- error: i = !1,
10
- errorMessage: g,
11
- label: u,
12
- placeholder: E,
13
- suggestions: a = []
1
+ import e, { useState as g, useRef as p } from "react";
2
+ import { Icon as s } from "./index4.js";
3
+ import { ProgressBar as x } from "./index36.js";
4
+ /* empty css */
5
+ const r = {
6
+ gettingStartedWidgetCtn: "border border-[var(--color-gray-200)] rounded-[12px] w-[385px] p-4",
7
+ accordionCtn: "flex items-center justify-between",
8
+ gettingStartedWidgetContent: "overflow-hidden transition-all duration-300",
9
+ icon: "transition-transform duration-300 cursor-pointer",
10
+ actionItemCtn: "flex items-center gap-2 mt-[4px] mb-[10px]"
11
+ }, v = ({
12
+ widgetClassName: l = "",
13
+ actionItems: a = []
14
14
  }) => {
15
- const [d, f] = e.useState([...a]), [v, o] = e.useState(!1), r = b(null), C = e.useCallback((t) => {
16
- const n = t.target.value;
17
- if (s(n), n === "")
18
- f([...a]);
19
- else if (n) {
20
- const w = a.filter((S) => S.toLowerCase().includes(n.toLowerCase()));
21
- f(w);
22
- }
23
- }, [s, a]);
24
- h(() => {
25
- const t = (n) => {
26
- r.current && !r.current.contains(n.target) && o(!1);
27
- };
28
- return document.addEventListener("mousedown", t), () => {
29
- document.removeEventListener("mousedown", t);
30
- };
31
- }, []);
32
- const N = () => {
33
- o(!0);
34
- }, k = (t) => {
35
- s(t), o(!1);
15
+ var c;
16
+ const [n, i] = g(!1), o = p(null), d = () => {
17
+ i(!n);
36
18
  };
37
19
  return /* @__PURE__ */ e.createElement("div", {
38
- className: "main-container-autocomplete-se-design",
39
- ref: r
40
- }, u && /* @__PURE__ */ e.createElement("label", {
41
- className: "label-container"
42
- }, u), /* @__PURE__ */ e.createElement(p, {
43
- value: c,
44
- onChange: C,
45
- onClick: N,
46
- disabled: m,
47
- className: `${i ? "input-container-error" : "input-container-default"} ${m ? "input-container-disabled" : ""}`,
48
- maxLength: l,
49
- placeholder: E
50
- }), /* @__PURE__ */ e.createElement("div", {
51
- className: `${i ? "error-and-max-word" : "max-word-container"}`
52
- }, i && /* @__PURE__ */ e.createElement("div", {
53
- id: "error-message",
54
- className: "error-message"
55
- }, g), l && /* @__PURE__ */ e.createElement("div", {
56
- className: "max-word"
57
- }, c.length, "/", l)), v && d.length > 0 && /* @__PURE__ */ e.createElement("div", {
58
- className: "suggestions-list"
59
- }, d.map((t, n) => /* @__PURE__ */ e.createElement("div", {
60
- key: n,
61
- className: "suggestion-item",
62
- onClick: () => k(t)
63
- }, t))));
64
- });
20
+ className: `${r.gettingStartedWidgetCtn} ${l} getting-started-widget-ctn`
21
+ }, /* @__PURE__ */ e.createElement("div", {
22
+ className: r.accordionCtn
23
+ }, /* @__PURE__ */ e.createElement("span", {
24
+ className: "title text-[var(--color-gray-900)]"
25
+ }, "Get Started"), /* @__PURE__ */ e.createElement(s, {
26
+ name: "down",
27
+ className: `${r.icon} ${n ? "rotate-180" : ""}`,
28
+ onClick: d
29
+ })), /* @__PURE__ */ e.createElement("div", {
30
+ className: "mt-[12px]"
31
+ }, /* @__PURE__ */ e.createElement(x, {
32
+ totalTasks: a.length,
33
+ completedTasks: a.filter((t) => t.isComplete).length,
34
+ progressBarCtnClassName: "get-started-progress-bar-ctn"
35
+ })), /* @__PURE__ */ e.createElement("div", {
36
+ ref: o,
37
+ className: r.gettingStartedWidgetContent,
38
+ style: {
39
+ maxHeight: n ? `${(c = o.current) == null ? void 0 : c.scrollHeight}px` : "0px"
40
+ }
41
+ }, a.map((t, m) => /* @__PURE__ */ e.createElement("div", {
42
+ key: m,
43
+ className: r.actionItemCtn
44
+ }, /* @__PURE__ */ e.createElement(s, {
45
+ name: t.isComplete ? "checked-circle-green" : "checked-circle-disabled"
46
+ }), /* @__PURE__ */ e.createElement("span", {
47
+ className: t.isComplete ? "text-[var(--color-gray-500)]" : "text-[var(--color-gray-900)] cursor-pointer",
48
+ onClick: t == null ? void 0 : t.handleActionItemClick
49
+ }, t.label)))));
50
+ };
65
51
  export {
66
- R as AutoCompleteInput
52
+ v as GetStartedWidget,
53
+ v as default
67
54
  };
68
55
  //# sourceMappingURL=index37.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index37.js","sources":["../src/components/AutoCompleteInput/index.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport './style.scss';\n\nexport interface AutoCompleteInputProps {\n value: string;\n disabled?: boolean;\n maxLength?: number;\n onChange: (value: string) => void;\n tag?: string;\n error?: boolean;\n errorMessage?: string;\n label?: string;\n placeholder?: string;\n suggestions?: string[];\n onButtonClick?: () => void;\n}\n\nexport const AutoCompleteInput: React.FC<AutoCompleteInputProps> = React.memo(\n ({\n value,\n onChange,\n disabled = false,\n maxLength,\n tag = 'input',\n error = false,\n errorMessage,\n label,\n placeholder,\n suggestions = []\n }) => {\n const [filteredSuggestions, setFilteredSuggestions] = React.useState<string[]>([...suggestions]);\n const [isSuggestionBoxVisible, setSuggestionBoxVisible] = React.useState<boolean>(false);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const handleInputChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n onChange(inputValue);\n\n if (inputValue === '') {\n setFilteredSuggestions([...suggestions]);\n } else if (inputValue) {\n const filtered = suggestions.filter((suggestion) =>\n suggestion.toLowerCase().includes(inputValue.toLowerCase())\n );\n setFilteredSuggestions(filtered);\n }\n },\n [onChange, suggestions]\n );\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(event.target as Node)) {\n setSuggestionBoxVisible(false);\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, []);\n\n const handleInputClick = () => {\n setSuggestionBoxVisible(true);\n };\n\n const handleSuggestionClick = (suggestion: string) => {\n onChange(suggestion);\n setSuggestionBoxVisible(false);\n };\n\n return (\n <div className=\"main-container-autocomplete-se-design\" ref={containerRef}>\n {label && <label className=\"label-container\">{label}</label>}\n {React.createElement(tag, {\n value: value,\n onChange: handleInputChange,\n onClick: handleInputClick,\n disabled,\n className: `${error ? 'input-container-error' : 'input-container-default'} ${disabled ? 'input-container-disabled' : ''}`,\n maxLength,\n placeholder\n })}\n <div className={`${error ? 'error-and-max-word' : 'max-word-container'}`}>\n {error && (\n <div id=\"error-message\" className=\"error-message\">\n {errorMessage}\n </div>\n )}\n {maxLength && (\n <div className=\"max-word\">\n {value.length}/{maxLength}\n </div>\n )}\n </div>\n {isSuggestionBoxVisible && filteredSuggestions.length > 0 && (\n <div className=\"suggestions-list\">\n {filteredSuggestions.map((suggestion, index) => (\n <div key={index} className=\"suggestion-item\" onClick={() => handleSuggestionClick(suggestion)}>\n {suggestion}\n </div>\n ))}\n </div>\n )}\n </div>\n );\n }\n);\n"],"names":["AutoCompleteInput","memo","value","onChange","disabled","maxLength","tag","error","errorMessage","label","placeholder","suggestions","filteredSuggestions","setFilteredSuggestions","React","useState","isSuggestionBoxVisible","setSuggestionBoxVisible","containerRef","useRef","handleInputChange","useCallback","e","inputValue","target","filtered","filter","suggestion","toLowerCase","includes","useEffect","handleClickOutside","event","current","contains","addEventListener","removeEventListener","handleInputClick","handleSuggestionClick","createElement","className","ref","onClick","id","length","map","index","key"],"mappings":"AAiBaA,OAAAA,KAAAA,UAAAA,GAAAA,aAAAA,SAAAA;AAAAA,OAAAA;AAAAA,MAAAA,IAA4DC,gBAAAA,EAAAA,KACvE,CAAC;AAAA,EACCC,OAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,UAAAA,IAAW;AAAA,EACXC,WAAAA;AAAAA,EACAC,KAAAA,IAAM;AAAA,EACNC,OAAAA,IAAQ;AAAA,EACRC,cAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,aAAAA;AAAAA,EACAC,aAAAA,IAAc,CAAA;AAChB,MAAM;AACE,QAAA,CAACC,GAAqBC,CAAsB,IAAIC,EAAMC,SAAmB,CAAC,GAAGJ,CAAW,CAAC,GACzF,CAACK,GAAwBC,CAAuB,IAAIH,EAAMC,SAAkB,EAAK,GACjFG,IAAeC,EAAuB,IAAI,GAE1CC,IAAoBN,EAAMO,YAC9B,CAACC,MAA2C;AACpCC,UAAAA,IAAaD,EAAEE,OAAOtB;AAG5B,QAFAC,EAASoB,CAAU,GAEfA,MAAe;AACM,MAAAV,EAAA,CAAC,GAAGF,CAAW,CAAC;AAAA,aAC9BY,GAAY;AACfE,YAAAA,IAAWd,EAAYe,OAAQC,CACnCA,MAAAA,EAAWC,YAAY,EAAEC,SAASN,EAAWK,YAAa,CAAA,CAC5D;AACAf,MAAAA,EAAuBY,CAAQ;AAAA,IAAA;AAAA,EACjC,GAEF,CAACtB,GAAUQ,CAAW,CACxB;AAEAmB,EAAAA,EAAU,MAAM;AACRC,UAAAA,IAAqBA,CAACC,MAAsB;AAC5Cd,MAAAA,EAAae,WAAW,CAACf,EAAae,QAAQC,SAASF,EAAMR,MAAc,KAC7EP,EAAwB,EAAK;AAAA,IAEjC;AAESkB,oBAAAA,iBAAiB,aAAaJ,CAAkB,GAClD,MAAM;AACFK,eAAAA,oBAAoB,aAAaL,CAAkB;AAAA,IAC9D;AAAA,EACF,GAAG,EAAE;AAEL,QAAMM,IAAmBA,MAAM;AAC7BpB,IAAAA,EAAwB,EAAI;AAAA,EAC9B,GAEMqB,IAAwBA,CAACX,MAAuB;AACpDxB,IAAAA,EAASwB,CAAU,GACnBV,EAAwB,EAAK;AAAA,EAC/B;AAGEH,SAAAA,gBAAAA,EAAAyB,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,IAAwCC,KAAKvB;AAAAA,EACzDT,GAAAA,KAAS8B,gBAAAA,EAAAA,cAAA,SAAA;AAAA,IAAOC,WAAU;AAAA,EAAmB/B,GAAAA,CAAa,GAC1DK,gBAAAA,EAAMyB,cAAcjC,GAAK;AAAA,IACxBJ,OAAAA;AAAAA,IACAC,UAAUiB;AAAAA,IACVsB,SAASL;AAAAA,IACTjC,UAAAA;AAAAA,IACAoC,WAAW,GAAGjC,IAAQ,0BAA0B,yBAAyB,IAAIH,IAAW,6BAA6B,EAAE;AAAA,IACvHC,WAAAA;AAAAA,IACAK,aAAAA;AAAAA,EAAAA,CACD,GACD6B,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKC,WAAW,GAAGjC,IAAQ,uBAAuB,oBAAoB;AAAA,EACnEA,GAAAA,KACCgC,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKI,IAAG;AAAA,IAAgBH,WAAU;AAAA,KAC/BhC,CACE,GAENH,KACCS,gBAAAA,EAAAyB,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,EACZtC,GAAAA,EAAM0C,QAAO,KAAEvC,CACb,CAEJ,GACJW,KAA0BJ,EAAoBgC,SAAS,KACtD9B,gBAAAA,EAAAyB,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,EAAA,GACZ5B,EAAoBiC,IAAI,CAAClB,GAAYmB,MACpChC,gBAAAA,EAAAyB,cAAA,OAAA;AAAA,IAAKQ,KAAKD;AAAAA,IAAON,WAAU;AAAA,IAAkBE,SAASA,MAAMJ,EAAsBX,CAAU;AAAA,EAAA,GACzFA,CACE,CACN,CACE,CAEJ;AAET,CACF;"}
1
+ {"version":3,"file":"index37.js","sources":["../src/components/GetStartedWidget/index.tsx"],"sourcesContent":["import React, { FC, useState, useRef } from \"react\";\nimport { Icon } from \"../Icon\";\nimport { Map } from \"../../utils/common.types\";\nimport { ProgressBar } from \"../ProgressBar\";\nimport \"./style.scss\";\n\nexport interface GetStartedWidgetProps {\n widgetClassName?: string;\n actionItems: {\n label: string;\n isComplete?: boolean;\n handleActionItemClick: () => void;\n }[];\n}\n\nconst className: Map = {\n gettingStartedWidgetCtn: \"border border-[var(--color-gray-200)] rounded-[12px] w-[385px] p-4\",\n accordionCtn: \"flex items-center justify-between\",\n gettingStartedWidgetContent: \"overflow-hidden transition-all duration-300\",\n icon: \"transition-transform duration-300 cursor-pointer\",\n actionItemCtn: \"flex items-center gap-2 mt-[4px] mb-[10px]\"\n};\n\nexport const GetStartedWidget: FC<GetStartedWidgetProps> = ({\n widgetClassName = \"\",\n actionItems = []\n}) => {\n const [isExpanded, setIsExpanded] = useState(false);\n const contentRef = useRef<HTMLDivElement>(null);\n\n const toggleAccordion = () => {\n setIsExpanded(!isExpanded);\n };\n\n return (\n <div className={`${className.gettingStartedWidgetCtn} ${widgetClassName} getting-started-widget-ctn`}>\n <div className={className.accordionCtn}>\n <span className=\"title text-[var(--color-gray-900)]\">Get Started</span>\n <Icon name=\"down\" className={`${className.icon} ${isExpanded ? \"rotate-180\" : \"\"}`} onClick={toggleAccordion} />\n </div>\n <div className=\"mt-[12px]\">\n <ProgressBar totalTasks={actionItems.length} \n completedTasks={actionItems.filter(item => item.isComplete).length} \n progressBarCtnClassName=\"get-started-progress-bar-ctn\"/>\n </div>\n <div\n ref={contentRef}\n className={className.gettingStartedWidgetContent}\n style={{\n maxHeight: isExpanded ? `${contentRef.current?.scrollHeight}px` : \"0px\",\n }}\n >\n {actionItems.map((item, index) => (\n <div key={index} className={className.actionItemCtn}>\n <Icon name={item.isComplete ? \"checked-circle-green\" : \"checked-circle-disabled\"} />\n <span className={item.isComplete ? \"text-[var(--color-gray-500)]\" : \"text-[var(--color-gray-900)] cursor-pointer\"} onClick={item?.handleActionItemClick}>\n {item.label}\n </span>\n </div>\n ))}\n </div>\n </div>\n );\n};\n\nexport default GetStartedWidget;"],"names":["React__default","useState","useRef","Icon","ProgressBar","className","gettingStartedWidgetCtn","accordionCtn","gettingStartedWidgetContent","icon","actionItemCtn","GetStartedWidget","widgetClassName","actionItems","_a","isExpanded","setIsExpanded","contentRef","toggleAccordion","React","createElement","name","onClick","totalTasks","length","completedTasks","filter","item","isComplete","progressBarCtnClassName","ref","style","maxHeight","current","scrollHeight","map","index","key","handleActionItemClick","label"],"mappings":"AAeA,OAAAA,KAAA,YAAAC,GAAA,UAAAC,SAAA;AAAA,SAAA,QAAAC,SAAA;AAAA,SAAA,eAAAC,SAAA;AAAA,OAAA;AAAA,MAAMC,IAAiB;AAAA,EACrBC,yBAAyB;AAAA,EACzBC,cAAc;AAAA,EACdC,6BAA6B;AAAA,EAC7BC,MAAM;AAAA,EACNC,eAAe;AACjB,GAEaC,IAA8CA,CAAC;AAAA,EAC1DC,iBAAAA,IAAkB;AAAA,EAClBC,aAAAA,IAAc,CAAA;AAChB,MAAM;AAXN,MAAAC;AAYE,QAAM,CAACC,GAAYC,CAAa,IAAIf,EAAS,EAAK,GAC5CgB,IAAaf,EAAuB,IAAI,GAExCgB,IAAkBA,MAAM;AAC5BF,IAAAA,EAAc,CAACD,CAAU;AAAA,EAC3B;AAGEI,SAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKf,WAAW,GAAGA,EAAUC,uBAAuB,IAAIM,CAAe;AAAA,EAAA,GACrEQ,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKf,WAAWA,EAAUE;AAAAA,EAAAA,GACxBa,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IAAMf,WAAU;AAAA,EAAqC,GAAA,aAAiB,GACtEc,gBAAAA,EAAAC,cAACjB,GAAI;AAAA,IAACkB,MAAK;AAAA,IAAOhB,WAAW,GAAGA,EAAUI,IAAI,IAAIM,IAAa,eAAe,EAAE;AAAA,IAAIO,SAASJ;AAAAA,EAAkB,CAAA,CAC5G,GACLC,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKf,WAAU;AAAA,EAAA,GACbe,gBAAAA,EAAAA,cAAChB,GAAW;AAAA,IAACmB,YAAYV,EAAYW;AAAAA,IACrCC,gBAAgBZ,EAAYa,OAAOC,CAAQA,MAAAA,EAAKC,UAAU,EAAEJ;AAAAA,IAC5DK,yBAAwB;AAAA,EAA+B,CAAA,CACpD,GACLV,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEU,KAAKb;AAAAA,IACLZ,WAAWA,EAAUG;AAAAA,IACrBuB,OAAO;AAAA,MACLC,WAAWjB,IAAa,IAAGE,IAAAA,EAAWgB,YAAXhB,gBAAAA,EAAoBiB,YAAY,OAAO;AAAA,IAAA;AAAA,EACpE,GAECrB,EAAYsB,IAAI,CAACR,GAAMS,MACtBjB,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKiB,KAAKD;AAAAA,IAAO/B,WAAWA,EAAUK;AAAAA,EAAAA,GACpCU,gBAAAA,EAAAA,cAACjB,GAAI;AAAA,IAACkB,MAAMM,EAAKC,aAAa,yBAAyB;AAAA,EAAA,CAA4B,GACnFR,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IAAMf,WAAWsB,EAAKC,aAAa,iCAAiC;AAAA,IAA+CN,SAASK,KAAAA,gBAAAA,EAAMW;AAAAA,KAC/HX,EAAKY,KACF,CACH,CACN,CACE,CACF;AAET;"}