se-design 0.0.107 → 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 (246) hide show
  1. package/dist/assets/style.css +1 -1
  2. package/dist/components/CustomModal/index.d.ts +9 -0
  3. package/dist/components/LoadingModal/index.d.ts +5 -0
  4. package/dist/components/Spinner/index.d.ts +2 -0
  5. package/dist/components/index.d.ts +3 -0
  6. package/dist/index.js +68 -62
  7. package/dist/index.js.map +1 -1
  8. package/dist/index10.js +16 -30
  9. package/dist/index10.js.map +1 -1
  10. package/dist/index100.js +152 -0
  11. package/dist/index100.js.map +1 -0
  12. package/dist/index11.js +14 -29
  13. package/dist/index11.js.map +1 -1
  14. package/dist/index116.js +1233 -11
  15. package/dist/index116.js.map +1 -1
  16. package/dist/index117.js +9 -5
  17. package/dist/index117.js.map +1 -1
  18. package/dist/index118.js +9 -5
  19. package/dist/index118.js.map +1 -1
  20. package/dist/index119.js +4 -37
  21. package/dist/index119.js.map +1 -1
  22. package/dist/index12.js +6 -19
  23. package/dist/index12.js.map +1 -1
  24. package/dist/index120.js +170 -2
  25. package/dist/index120.js.map +1 -1
  26. package/dist/index121.js +11 -8
  27. package/dist/index121.js.map +1 -1
  28. package/dist/index122.js +5 -326
  29. package/dist/index122.js.map +1 -1
  30. package/dist/index123.js +5 -49
  31. package/dist/index123.js.map +1 -1
  32. package/dist/index124.js +38 -2
  33. package/dist/index124.js.map +1 -1
  34. package/dist/index125.js +2 -76
  35. package/dist/index125.js.map +1 -1
  36. package/dist/index126.js +7 -92
  37. package/dist/index126.js.map +1 -1
  38. package/dist/index127.js +323 -48
  39. package/dist/index127.js.map +1 -1
  40. package/dist/index128.js +49 -7
  41. package/dist/index128.js.map +1 -1
  42. package/dist/index129.js +2 -5
  43. package/dist/index129.js.map +1 -1
  44. package/dist/index13.js +30 -123
  45. package/dist/index13.js.map +1 -1
  46. package/dist/index130.js +72 -48
  47. package/dist/index130.js.map +1 -1
  48. package/dist/index131.js +93 -2
  49. package/dist/index131.js.map +1 -1
  50. package/dist/index132.js +52 -2
  51. package/dist/index132.js.map +1 -1
  52. package/dist/index133.js +11 -0
  53. package/dist/index133.js.map +1 -0
  54. package/dist/index134.js +8 -0
  55. package/dist/index134.js.map +1 -0
  56. package/dist/index135.js +55 -0
  57. package/dist/index135.js.map +1 -0
  58. package/dist/index136.js +5 -0
  59. package/dist/index136.js.map +1 -0
  60. package/dist/index137.js +5 -0
  61. package/dist/index137.js.map +1 -0
  62. package/dist/index14.js +30 -28
  63. package/dist/index14.js.map +1 -1
  64. package/dist/index15.js +19 -27
  65. package/dist/index15.js.map +1 -1
  66. package/dist/index16.js +116 -71
  67. package/dist/index16.js.map +1 -1
  68. package/dist/index17.js +28 -38
  69. package/dist/index17.js.map +1 -1
  70. package/dist/index18.js +26 -22
  71. package/dist/index18.js.map +1 -1
  72. package/dist/index19.js +77 -67
  73. package/dist/index19.js.map +1 -1
  74. package/dist/index20.js +36 -132
  75. package/dist/index20.js.map +1 -1
  76. package/dist/index21.js +20 -16
  77. package/dist/index21.js.map +1 -1
  78. package/dist/index22.js +67 -44
  79. package/dist/index22.js.map +1 -1
  80. package/dist/index23.js +133 -28
  81. package/dist/index23.js.map +1 -1
  82. package/dist/index24.js +15 -60
  83. package/dist/index24.js.map +1 -1
  84. package/dist/index25.js +44 -41
  85. package/dist/index25.js.map +1 -1
  86. package/dist/index26.js +28 -97
  87. package/dist/index26.js.map +1 -1
  88. package/dist/index27.js +61 -55
  89. package/dist/index27.js.map +1 -1
  90. package/dist/index28.js +42 -38
  91. package/dist/index28.js.map +1 -1
  92. package/dist/index29.js +95 -31
  93. package/dist/index29.js.map +1 -1
  94. package/dist/index30.js +58 -33
  95. package/dist/index30.js.map +1 -1
  96. package/dist/index31.js +36 -44
  97. package/dist/index31.js.map +1 -1
  98. package/dist/index32.js +35 -38
  99. package/dist/index32.js.map +1 -1
  100. package/dist/index33.js +29 -30
  101. package/dist/index33.js.map +1 -1
  102. package/dist/index34.js +44 -49
  103. package/dist/index34.js.map +1 -1
  104. package/dist/index35.js +36 -69
  105. package/dist/index35.js.map +1 -1
  106. package/dist/index36.js +27 -47
  107. package/dist/index36.js.map +1 -1
  108. package/dist/index37.js +48 -68
  109. package/dist/index37.js.map +1 -1
  110. package/dist/index38.js +67 -83
  111. package/dist/index38.js.map +1 -1
  112. package/dist/index39.js +48 -32
  113. package/dist/index39.js.map +1 -1
  114. package/dist/index4.js +58 -58
  115. package/dist/index40.js +74 -2
  116. package/dist/index40.js.map +1 -1
  117. package/dist/index41.js +87 -2
  118. package/dist/index41.js.map +1 -1
  119. package/dist/index42.js +38 -2
  120. package/dist/index42.js.map +1 -1
  121. package/dist/index43.js +1 -1
  122. package/dist/index43.js.map +1 -1
  123. package/dist/index44.js +1 -1
  124. package/dist/index44.js.map +1 -1
  125. package/dist/index45.js +1 -1
  126. package/dist/index45.js.map +1 -1
  127. package/dist/index46.js +1 -1
  128. package/dist/index46.js.map +1 -1
  129. package/dist/index47.js +1 -1
  130. package/dist/index47.js.map +1 -1
  131. package/dist/index48.js +1 -1
  132. package/dist/index48.js.map +1 -1
  133. package/dist/index49.js +1 -1
  134. package/dist/index49.js.map +1 -1
  135. package/dist/index5.js +1 -1
  136. package/dist/index50.js +1 -1
  137. package/dist/index50.js.map +1 -1
  138. package/dist/index51.js +1 -1
  139. package/dist/index51.js.map +1 -1
  140. package/dist/index52.js +1 -1
  141. package/dist/index52.js.map +1 -1
  142. package/dist/index53.js +1 -1
  143. package/dist/index53.js.map +1 -1
  144. package/dist/index54.js +1 -1
  145. package/dist/index54.js.map +1 -1
  146. package/dist/index55.js +2 -2
  147. package/dist/index55.js.map +1 -1
  148. package/dist/index56.js +1 -1
  149. package/dist/index56.js.map +1 -1
  150. package/dist/index57.js +1 -1
  151. package/dist/index57.js.map +1 -1
  152. package/dist/index58.js +2 -2
  153. package/dist/index58.js.map +1 -1
  154. package/dist/index59.js +1 -1
  155. package/dist/index59.js.map +1 -1
  156. package/dist/index60.js +1 -1
  157. package/dist/index60.js.map +1 -1
  158. package/dist/index61.js +2 -2
  159. package/dist/index61.js.map +1 -1
  160. package/dist/index62.js +1 -1
  161. package/dist/index62.js.map +1 -1
  162. package/dist/index63.js +1 -1
  163. package/dist/index63.js.map +1 -1
  164. package/dist/index64.js +2 -2
  165. package/dist/index64.js.map +1 -1
  166. package/dist/index65.js +1 -1
  167. package/dist/index65.js.map +1 -1
  168. package/dist/index66.js +1 -1
  169. package/dist/index66.js.map +1 -1
  170. package/dist/index67.js +1 -1
  171. package/dist/index67.js.map +1 -1
  172. package/dist/index68.js +1 -1
  173. package/dist/index68.js.map +1 -1
  174. package/dist/index69.js +1 -1
  175. package/dist/index69.js.map +1 -1
  176. package/dist/index70.js +1 -1
  177. package/dist/index70.js.map +1 -1
  178. package/dist/index71.js +1 -1
  179. package/dist/index71.js.map +1 -1
  180. package/dist/index72.js +1 -1
  181. package/dist/index72.js.map +1 -1
  182. package/dist/index73.js +1 -1
  183. package/dist/index73.js.map +1 -1
  184. package/dist/index74.js +1 -1
  185. package/dist/index74.js.map +1 -1
  186. package/dist/index75.js +1 -1
  187. package/dist/index75.js.map +1 -1
  188. package/dist/index76.js +1 -1
  189. package/dist/index76.js.map +1 -1
  190. package/dist/index77.js +1 -1
  191. package/dist/index77.js.map +1 -1
  192. package/dist/index78.js +2 -2
  193. package/dist/index78.js.map +1 -1
  194. package/dist/index79.js +2 -2
  195. package/dist/index79.js.map +1 -1
  196. package/dist/index80.js +1 -1
  197. package/dist/index80.js.map +1 -1
  198. package/dist/index81.js +2 -2
  199. package/dist/index81.js.map +1 -1
  200. package/dist/index82.js +2 -2
  201. package/dist/index82.js.map +1 -1
  202. package/dist/index83.js +1 -1
  203. package/dist/index83.js.map +1 -1
  204. package/dist/index84.js +2 -2
  205. package/dist/index84.js.map +1 -1
  206. package/dist/index85.js +1 -1
  207. package/dist/index85.js.map +1 -1
  208. package/dist/index86.js +1 -1
  209. package/dist/index86.js.map +1 -1
  210. package/dist/index87.js +2 -2
  211. package/dist/index87.js.map +1 -1
  212. package/dist/index88.js +1 -1
  213. package/dist/index88.js.map +1 -1
  214. package/dist/index89.js +2 -2
  215. package/dist/index89.js.map +1 -1
  216. package/dist/index90.js +2 -2
  217. package/dist/index90.js.map +1 -1
  218. package/dist/index91.js +1 -1
  219. package/dist/index91.js.map +1 -1
  220. package/dist/index92.js +2 -2
  221. package/dist/index92.js.map +1 -1
  222. package/dist/index93.js +1 -1
  223. package/dist/index93.js.map +1 -1
  224. package/dist/index94.js +2 -2
  225. package/dist/index94.js.map +1 -1
  226. package/dist/index95.js +1 -1
  227. package/dist/index95.js.map +1 -1
  228. package/dist/index96.js +2 -2
  229. package/dist/index96.js.map +1 -1
  230. package/dist/index97.js +2 -149
  231. package/dist/index97.js.map +1 -1
  232. package/dist/index98.js +5 -0
  233. package/dist/index98.js.map +1 -0
  234. package/dist/index99.js +5 -0
  235. package/dist/index99.js.map +1 -0
  236. package/package.json +1 -1
  237. package/dist/index111.js +0 -1236
  238. package/dist/index111.js.map +0 -1
  239. package/dist/index112.js +0 -13
  240. package/dist/index112.js.map +0 -1
  241. package/dist/index113.js +0 -13
  242. package/dist/index113.js.map +0 -1
  243. package/dist/index114.js +0 -8
  244. package/dist/index114.js.map +0 -1
  245. package/dist/index115.js +0 -173
  246. package/dist/index115.js.map +0 -1
@@ -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";
1
+ import e from "react";
3
2
  /* 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
- }
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,75 +1,55 @@
1
- import e, { useRef as $, useEffect as y } from "react";
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";
2
4
  /* empty css */
3
- const _ = /* @__PURE__ */ e.memo(({
4
- value: f,
5
- onChange: n,
6
- disabled: u = !1,
7
- maxLength: c,
8
- tag: C = "input",
9
- error: i = !1,
10
- errorMessage: k,
11
- label: p,
12
- placeholder: b,
13
- suggestions: l = [],
14
- customRenderSuggestions: r,
15
- onSuggestionClick: E
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 = []
16
14
  }) => {
17
- const [o, s] = e.useState([...l]), [x, m] = e.useState(!1), d = $(null), h = e.useCallback((a) => {
18
- const t = a.target.value;
19
- if (r)
20
- s([...l]), n(t, !1);
21
- else if (n(t), t === "")
22
- s([...l]);
23
- else if (t) {
24
- const S = l == null ? void 0 : l.filter((N) => {
25
- var w;
26
- return typeof N == "string" && N.toLowerCase().includes((w = t == null ? void 0 : t.toLowerCase()) != null ? w : "");
27
- });
28
- s(S);
29
- }
30
- }, [n, l, r]);
31
- y(() => {
32
- const a = (t) => {
33
- d.current && !d.current.contains(t.target) && m(!1);
34
- };
35
- return document.addEventListener("mousedown", a), () => {
36
- document.removeEventListener("mousedown", a);
37
- };
38
- }, []);
39
- const I = () => {
40
- m(!0);
41
- }, v = (a) => {
42
- n(a, !0), m(!1), E && E(a);
15
+ var c;
16
+ const [n, i] = g(!1), o = p(null), d = () => {
17
+ i(!n);
43
18
  };
44
19
  return /* @__PURE__ */ e.createElement("div", {
45
- className: "main-container-autocomplete-se-design",
46
- ref: d
47
- }, p && /* @__PURE__ */ e.createElement("label", {
48
- className: "label-container"
49
- }, p), /* @__PURE__ */ e.createElement(C, {
50
- value: f,
51
- onChange: h,
52
- onClick: I,
53
- disabled: u,
54
- className: `${i ? "input-container-error" : "input-container-default"} ${u ? "input-container-disabled" : ""}`,
55
- maxLength: c,
56
- placeholder: b
57
- }), /* @__PURE__ */ e.createElement("div", {
58
- className: `${i ? "error-and-max-word" : "max-word-container"}`
59
- }, i && /* @__PURE__ */ e.createElement("div", {
60
- id: "error-message",
61
- className: "error-message"
62
- }, k), c && /* @__PURE__ */ e.createElement("div", {
63
- className: "max-word"
64
- }, f.length, "/", c)), x && /* @__PURE__ */ e.createElement("div", {
65
- className: "suggestions-list"
66
- }, r ? r(o, v) : o.length > 0 && o.map((a, t) => /* @__PURE__ */ e.createElement("div", {
67
- key: t,
68
- className: "suggestion-item",
69
- onClick: () => v(a)
70
- }, a))));
71
- });
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
+ };
72
51
  export {
73
- _ as AutoCompleteInput
52
+ v as GetStartedWidget,
53
+ v as default
74
54
  };
75
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, fromSuggestion?: boolean) => void;\n tag?: string;\n error?: boolean;\n errorMessage?: string;\n label?: string;\n placeholder?: string;\n suggestions?: string[];\n customRenderSuggestions?: (suggestions: any, handleSuggestionClick: (suggestion: string) => void) => any;\n onSuggestionClick?: (suggestion: string) => 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 customRenderSuggestions,\n onSuggestionClick\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\n if (customRenderSuggestions) {\n setFilteredSuggestions([...suggestions]);\n onChange(inputValue, false);\n } else {\n onChange(inputValue);\n if (inputValue === '') {\n setFilteredSuggestions([...suggestions]);\n } else if (inputValue) {\n const filtered = suggestions?.filter((suggestion) =>\n typeof suggestion === 'string' &&\n suggestion.toLowerCase().includes(inputValue?.toLowerCase() ?? '')\n );\n setFilteredSuggestions(filtered);\n }\n }\n },\n [onChange, suggestions, customRenderSuggestions]\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, true);\n setSuggestionBoxVisible(false);\n onSuggestionClick && onSuggestionClick(suggestion);\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 && (\n <div className=\"suggestions-list\">\n {customRenderSuggestions\n ? customRenderSuggestions(filteredSuggestions, handleSuggestionClick)\n : filteredSuggestions.length > 0 &&\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","customRenderSuggestions","onSuggestionClick","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":"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"}
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;"}
package/dist/index38.js CHANGED
@@ -1,90 +1,74 @@
1
- import t, { useState as o, useRef as R, useEffect as C } from "react";
1
+ import e, { useState as x } from "react";
2
+ import { Icon as l } from "./index4.js";
3
+ import { Button as p } from "./index3.js";
2
4
  /* empty css */
3
- import c from "./index111.js";
4
- import { Icon as g } from "./index4.js";
5
- const O = ({
6
- onCountrycodeChange: E,
7
- onNumberChange: f,
8
- error: m,
9
- errorMessage: N,
10
- value: s
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
+ }
11
28
  }) => {
12
- const [w, u] = o((s == null ? void 0 : s.countryCode) || c[0].dial_code), [r, i] = o(!1), [p, v] = o(c), [L, _] = o(""), [S, h] = o(""), l = R(null), a = c.find((e) => e.dial_code === w), b = (e) => {
13
- e && (u(e), E(e)), i(!1);
14
- }, V = (e) => {
15
- const n = e.target.value;
16
- _(n);
17
- const y = c.filter((d) => d.name.toLowerCase().includes(n.toLowerCase()) || d.dial_code.toLowerCase().includes(n.toLowerCase()) || d.code.toLowerCase().includes(n.toLowerCase()));
18
- v(y);
19
- };
20
- C(() => {
21
- const e = (n) => {
22
- l.current && !l.current.contains(n.target) && i(!1);
23
- };
24
- return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
25
- }, []), C(() => {
26
- s && (u(s.countryCode), h(s.number));
27
- }, [s]);
28
- const k = (e) => {
29
- const n = e.replace(/\D/g, "");
30
- console.log("numericValue", n), h(n), f(n);
31
- };
32
- return /* @__PURE__ */ t.createElement("div", {
33
- className: "phone-input-container-se-design-main-container"
34
- }, /* @__PURE__ */ t.createElement("div", {
35
- className: `phone-input-container-se-design-main ${m ? "error" : ""}`,
36
- ref: l
37
- }, /* @__PURE__ */ t.createElement("div", {
38
- className: "phone-input-container-se-design"
39
- }, /* @__PURE__ */ t.createElement("div", {
40
- className: "phone-input-container-se-design-country-code",
41
- onClick: () => {
42
- i(!r);
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 "";
43
45
  }
44
- }, /* @__PURE__ */ t.createElement("img", {
45
- src: `https://flagcdn.com/${a == null ? void 0 : a.code.toLowerCase()}.svg`,
46
- alt: a == null ? void 0 : a.name,
47
- width: "16"
48
- }), a == null ? void 0 : a.dial_code, /* @__PURE__ */ t.createElement(g, {
49
- name: "down",
50
- className: r ? "rotate-180" : ""
51
- })), /* @__PURE__ */ t.createElement("span", {
52
- className: "divider"
53
- }), /* @__PURE__ */ t.createElement("input", {
54
- type: "tel",
55
- placeholder: "Enter phone number",
56
- className: "phone-input-container-se-design-phone-number-input",
57
- onChange: (e) => k(e.target.value),
58
- value: S,
59
- pattern: "[0-9]*"
60
- })), r && /* @__PURE__ */ t.createElement("div", {
61
- className: "phone-input-container-se-design-country-code-list"
62
- }, /* @__PURE__ */ t.createElement("div", {
63
- className: "search-input-wrapper"
64
- }, /* @__PURE__ */ t.createElement(g, {
65
- name: "search",
66
- className: "search-icon"
67
- }), /* @__PURE__ */ t.createElement("input", {
68
- type: "text",
69
- placeholder: "Search",
70
- className: "phone-input-container-se-design-country-code-list-item-input",
71
- onChange: V,
72
- value: L
73
- })), p.length > 0 ? p.map((e) => /* @__PURE__ */ t.createElement("div", {
74
- key: e.code,
75
- className: "phone-input-container-se-design-country-code-list-item",
76
- onClick: () => b(e.dial_code)
77
- }, /* @__PURE__ */ t.createElement("img", {
78
- src: `https://flagcdn.com/${e.code.toLowerCase()}.svg`,
79
- alt: e.name,
80
- width: "16"
81
- }), /* @__PURE__ */ t.createElement("span", null, e.name), /* @__PURE__ */ t.createElement("span", null, "(", e.dial_code, ")"))) : /* @__PURE__ */ t.createElement("div", {
82
- className: "phone-input-container-se-design-country-code-list-item-no-resuts"
83
- }, "No results found"))), m && /* @__PURE__ */ t.createElement("div", {
84
- className: "error-message"
85
- }, N));
46
+ }, [o]), d = o === "info" ? "info-brown" : "info-white", w = o === "info" ? "close" : "white-close";
47
+ 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
+ }));
86
69
  };
87
70
  export {
88
- O as PhoneInput
71
+ I as MessageBar,
72
+ I as default
89
73
  };
90
74
  //# sourceMappingURL=index38.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index38.js","sources":["../src/components/PhoneInput/index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport './style.scss';\nimport countriesInfoJson from './countriesInfo.json';\nimport { Icon } from '../Icon';\n\nexport interface PhoneInputProps {\n onCountrycodeChange: (countryCode: string) => void;\n onNumberChange: (number: string) => void;\n error?: boolean;\n errorMessage?: string;\n value?: {\n countryCode: string;\n number: string;\n };\n}\n\nexport const PhoneInput: React.FC<PhoneInputProps> = ({\n onCountrycodeChange,\n onNumberChange,\n error,\n errorMessage,\n value\n}) => {\n const [countryCode, setCountryCode] = useState(value?.countryCode || countriesInfoJson[0].dial_code);\n const [displaySelectCountryCode, setDisplaySelectCountryCode] = useState(false);\n const [countriesInfo, setCountriesInfo] = useState(countriesInfoJson);\n const [searchValue, setSearchValue] = useState('');\n const [enteredNumber, setEnteredNumber] = useState('');\n const containerRef = useRef<HTMLDivElement>(null);\n\n const countryInfo = countriesInfoJson.find((country) => country.dial_code === countryCode);\n\n const handleCountryCodeSelect = (country: string) => {\n if (country) {\n setCountryCode(country);\n onCountrycodeChange(country);\n }\n setDisplaySelectCountryCode(false);\n };\n\n const handleCountryCodeSearch = (event: React.ChangeEvent<HTMLInputElement>) => {\n const searchValue = event.target.value;\n setSearchValue(searchValue);\n const filteredCountries = countriesInfoJson.filter(\n (country) =>\n country.name.toLowerCase().includes(searchValue.toLowerCase()) ||\n country.dial_code.toLowerCase().includes(searchValue.toLowerCase()) ||\n country.code.toLowerCase().includes(searchValue.toLowerCase())\n );\n setCountriesInfo(filteredCountries);\n };\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(event.target as Node)) {\n setDisplaySelectCountryCode(false);\n }\n };\n document.addEventListener('mousedown', handleClickOutside);\n return () => document.removeEventListener('mousedown', handleClickOutside);\n }, []);\n\n useEffect(() => {\n if (value) {\n setCountryCode(value.countryCode);\n setEnteredNumber(value.number);\n }\n }, [value]);\n\n const handleEnteredNumberChange = (value: string) => {\n const numericValue = value.replace(/\\D/g, ''); // Remove non-numeric characters\n console.log('numericValue', numericValue);\n setEnteredNumber(numericValue);\n onNumberChange(numericValue);\n };\n\n return (\n <div className=\"phone-input-container-se-design-main-container\">\n <div className={`phone-input-container-se-design-main ${error ? 'error' : ''}`} ref={containerRef}>\n <div className=\"phone-input-container-se-design\">\n <div\n className=\"phone-input-container-se-design-country-code\"\n onClick={() => {\n setDisplaySelectCountryCode(!displaySelectCountryCode);\n }}\n >\n <img\n src={`https://flagcdn.com/${countryInfo?.code.toLowerCase()}.svg`}\n alt={countryInfo?.name}\n width=\"16\"\n />\n {countryInfo?.dial_code}\n <Icon name=\"down\" className={!displaySelectCountryCode ? '' : 'rotate-180'} />\n </div>\n <span className=\"divider\" />\n <input\n type=\"tel\"\n placeholder=\"Enter phone number\"\n className=\"phone-input-container-se-design-phone-number-input\"\n onChange={(event) => handleEnteredNumberChange(event.target.value)}\n value={enteredNumber}\n pattern=\"[0-9]*\"\n />\n </div>\n\n {displaySelectCountryCode && (\n <div className=\"phone-input-container-se-design-country-code-list\">\n <div className=\"search-input-wrapper\">\n <Icon name=\"search\" className=\"search-icon\" />\n <input\n type=\"text\"\n placeholder=\"Search\"\n className=\"phone-input-container-se-design-country-code-list-item-input\"\n onChange={handleCountryCodeSearch}\n value={searchValue}\n />\n </div>\n {countriesInfo.length > 0 ? (\n countriesInfo.map((country) => (\n <div\n key={country.code}\n className=\"phone-input-container-se-design-country-code-list-item\"\n onClick={() => handleCountryCodeSelect(country.dial_code)}\n >\n <img src={`https://flagcdn.com/${country.code.toLowerCase()}.svg`} alt={country.name} width=\"16\" />\n <span>{country.name}</span>\n <span>({country.dial_code})</span>\n </div>\n ))\n ) : (\n <div className=\"phone-input-container-se-design-country-code-list-item-no-resuts\">No results found</div>\n )}\n </div>\n )}\n </div>\n {error && <div className=\"error-message\">{errorMessage}</div>}\n </div>\n );\n};\n"],"names":["PhoneInput","onCountrycodeChange","onNumberChange","error","errorMessage","value","countryCode","setCountryCode","useState","countriesInfoJson","dial_code","displaySelectCountryCode","setDisplaySelectCountryCode","countriesInfo","setCountriesInfo","searchValue","setSearchValue","enteredNumber","setEnteredNumber","containerRef","useRef","countryInfo","find","country","handleCountryCodeSelect","handleCountryCodeSearch","event","target","filteredCountries","filter","name","toLowerCase","includes","code","useEffect","handleClickOutside","current","contains","addEventListener","document","removeEventListener","number","handleEnteredNumberChange","numericValue","replace","log","React","createElement","className","ref","onClick","src","alt","width","Icon","type","placeholder","onChange","pattern","length","map","key"],"mappings":"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"}
1
+ {"version":3,"file":"index38.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;"}