@hhgtech/hhg-components 1.19.0-beta-5 → 1.19.0-beta-7

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 (767) hide show
  1. package/.eslintrc.json +53 -0
  2. package/package.json +5 -2
  3. package/src/assets/svg/Spotlight.svg +12 -0
  4. package/src/assets/svg/StarEmptyIcon.tsx +19 -0
  5. package/src/assets/svg/StarFullIcon.tsx +21 -0
  6. package/src/assets/svg/StarHalfIcon.tsx +35 -0
  7. package/src/assets/svg/arrowDoor.svg +9 -0
  8. package/src/assets/svg/calendar.svg +3 -0
  9. package/src/assets/svg/calendarArrowLeft.svg +3 -0
  10. package/src/assets/svg/calendarArrowRight.svg +3 -0
  11. package/src/assets/svg/check.svg +3 -0
  12. package/src/assets/svg/chevronDown.svg +3 -0
  13. package/src/assets/svg/chevronRight.svg +3 -0
  14. package/src/assets/svg/chevronRightActive.svg +3 -0
  15. package/src/assets/svg/chevronRightWhite.svg +3 -0
  16. package/src/assets/svg/chevronUpBlue.svg +3 -0
  17. package/src/assets/svg/closeLight.svg +4 -0
  18. package/src/assets/svg/closeWhite.svg +4 -0
  19. package/src/assets/svg/community.svg +1 -0
  20. package/src/assets/svg/discover.png +0 -0
  21. package/src/assets/svg/facebook.svg +4 -0
  22. package/src/assets/svg/hamburgerMenu.svg +5 -0
  23. package/src/assets/svg/hamburgerMenuNew.svg +1 -0
  24. package/src/assets/svg/hamburgerMenuNewWithSearch.svg +1 -0
  25. package/src/assets/svg/healthTools.png +0 -0
  26. package/src/assets/svg/helloCare-thumbnail.png +0 -0
  27. package/src/assets/svg/index.ts +63 -0
  28. package/src/assets/svg/info-light.svg +5 -0
  29. package/src/assets/svg/instagram.svg +1 -0
  30. package/src/assets/svg/linkedin.svg +1 -0
  31. package/src/assets/svg/lock.png +0 -0
  32. package/src/assets/svg/login.svg +1 -0
  33. package/src/assets/svg/sehat-badge.png +0 -0
  34. package/src/assets/svg/together.png +0 -0
  35. package/src/assets/svg/youtube.svg +4 -0
  36. package/src/assets/svg/zalo.png +0 -0
  37. package/src/cache/core.ts +52 -0
  38. package/src/cache/index.ts +1 -0
  39. package/src/care/api/paths.ts +11 -0
  40. package/src/care/api/utils.ts +32 -0
  41. package/src/care/components/atoms/icons/index.tsx +170 -0
  42. package/src/care/components/organisms/bookingSearchBar/constants.ts +9 -0
  43. package/src/care/components/organisms/bookingSearchBar/index.stories.tsx +127 -0
  44. package/src/care/components/organisms/bookingSearchBar/index.styled.ts +51 -0
  45. package/src/care/components/organisms/bookingSearchBar/index.test.tsx +556 -0
  46. package/src/care/components/organisms/bookingSearchBar/index.tsx +448 -0
  47. package/src/care/components/organisms/bookingSearchBar/locationResults/index.styled.ts +94 -0
  48. package/src/care/components/organisms/bookingSearchBar/locationResults/index.tsx +132 -0
  49. package/src/care/components/organisms/bookingSearchBar/locationResults/liSkeleton.tsx +52 -0
  50. package/src/care/components/organisms/bookingSearchBar/mobileFakeInput/index.tsx +68 -0
  51. package/src/care/components/organisms/bookingSearchBar/mobileTopbar/index.stories.tsx +22 -0
  52. package/src/care/components/organisms/bookingSearchBar/mobileTopbar/index.styled.ts +41 -0
  53. package/src/care/components/organisms/bookingSearchBar/mobileTopbar/index.tsx +48 -0
  54. package/src/care/components/organisms/bookingSearchBar/reducer.ts +293 -0
  55. package/src/care/components/organisms/bookingSearchBar/resultSection/icons.tsx +37 -0
  56. package/src/care/components/organisms/bookingSearchBar/resultSection/index.stories.tsx +155 -0
  57. package/src/care/components/organisms/bookingSearchBar/resultSection/index.styled.ts +89 -0
  58. package/src/care/components/organisms/bookingSearchBar/resultSection/index.tsx +234 -0
  59. package/src/care/components/organisms/bookingSearchBar/resultSectionItem/index.stories.tsx +55 -0
  60. package/src/care/components/organisms/bookingSearchBar/resultSectionItem/index.styled.ts +75 -0
  61. package/src/care/components/organisms/bookingSearchBar/resultSectionItem/index.tsx +86 -0
  62. package/src/care/components/organisms/bookingSearchBar/searchInputs/index.styled.ts +42 -0
  63. package/src/care/components/organisms/bookingSearchBar/searchInputs/index.tsx +219 -0
  64. package/src/care/components/organisms/bookingSearchBar/searchResults/index.stories.tsx +55 -0
  65. package/src/care/components/organisms/bookingSearchBar/searchResults/index.tsx +62 -0
  66. package/src/care/components/organisms/bookingSearchBar/searchResults/mockData.ts +169 -0
  67. package/src/care/components/organisms/bookingSearchBar/searchSubmitIcon/index.tsx +73 -0
  68. package/src/care/components/organisms/bookingSearchBar/types.ts +12 -0
  69. package/src/care/components/organisms/bookingSearchBar/useAnimatedPlaceholder.ts +86 -0
  70. package/src/care/components/organisms/bookingSearchBar/useSearchBarApi.ts +150 -0
  71. package/src/care/components/organisms/bookingSearchBar/utils/Typewriter.ts +437 -0
  72. package/src/care/index.ts +6 -0
  73. package/src/care/interfaces/constants.ts +75 -0
  74. package/src/care/interfaces/types.ts +258 -0
  75. package/src/components/atoms/alert/__snapshots__/index.test.tsx.snap +130 -0
  76. package/src/components/atoms/alert/index.stories.tsx +21 -0
  77. package/src/components/atoms/alert/index.styled.tsx +44 -0
  78. package/src/components/atoms/alert/index.test.tsx +28 -0
  79. package/src/components/atoms/alert/index.tsx +47 -0
  80. package/src/components/atoms/avatar/index.stories.tsx +49 -0
  81. package/src/components/atoms/avatar/index.styled.tsx +96 -0
  82. package/src/components/atoms/avatar/index.tsx +91 -0
  83. package/src/components/atoms/badge/__snapshots__/index.test.tsx.snap +61 -0
  84. package/src/components/atoms/badge/index.stories.tsx +71 -0
  85. package/src/components/atoms/badge/index.styled.tsx +138 -0
  86. package/src/components/atoms/badge/index.test.tsx +27 -0
  87. package/src/components/atoms/badge/index.tsx +45 -0
  88. package/src/components/atoms/borderHeading/index.stories.tsx +38 -0
  89. package/src/components/atoms/borderHeading/index.styled.tsx +50 -0
  90. package/src/components/atoms/borderHeading/index.tsx +39 -0
  91. package/src/components/atoms/button/__snapshots__/index.test.tsx.snap +57 -0
  92. package/src/components/atoms/button/index.stories.tsx +107 -0
  93. package/src/components/atoms/button/index.styled.tsx +335 -0
  94. package/src/components/atoms/button/index.test.tsx +25 -0
  95. package/src/components/atoms/button/index.tsx +207 -0
  96. package/src/components/atoms/checkbox/__snapshots__/index.test.tsx.snap +120 -0
  97. package/src/components/atoms/checkbox/index.stories.tsx +30 -0
  98. package/src/components/atoms/checkbox/index.styled.tsx +90 -0
  99. package/src/components/atoms/checkbox/index.test.tsx +31 -0
  100. package/src/components/atoms/checkbox/index.tsx +48 -0
  101. package/src/components/atoms/container/index.styled.tsx +16 -0
  102. package/src/components/atoms/container/index.tsx +21 -0
  103. package/src/components/atoms/displayWrapper/index.styled.tsx +19 -0
  104. package/src/components/atoms/displayWrapper/index.tsx +66 -0
  105. package/src/components/atoms/divider/__snapshots__/index.test.tsx.snap +14 -0
  106. package/src/components/atoms/divider/index.stories.tsx +19 -0
  107. package/src/components/atoms/divider/index.styled.tsx +10 -0
  108. package/src/components/atoms/divider/index.test.tsx +22 -0
  109. package/src/components/atoms/divider/index.tsx +34 -0
  110. package/src/components/atoms/fileDropdown/__snapshots__/index.test.tsx.snap +143 -0
  111. package/src/components/atoms/fileDropdown/index.stories.tsx +41 -0
  112. package/src/components/atoms/fileDropdown/index.styled.tsx +112 -0
  113. package/src/components/atoms/fileDropdown/index.test.tsx +46 -0
  114. package/src/components/atoms/fileDropdown/index.tsx +200 -0
  115. package/src/components/atoms/flag/__snapshots__/index.test.tsx.snap +59 -0
  116. package/src/components/atoms/flag/icons/cambodia.tsx +24 -0
  117. package/src/components/atoms/flag/icons/english.tsx +195 -0
  118. package/src/components/atoms/flag/icons/india.tsx +24 -0
  119. package/src/components/atoms/flag/icons/indonesia.tsx +55 -0
  120. package/src/components/atoms/flag/icons/malaysia.tsx +89 -0
  121. package/src/components/atoms/flag/icons/myanmar.tsx +105 -0
  122. package/src/components/atoms/flag/icons/philippines.tsx +24 -0
  123. package/src/components/atoms/flag/icons/taiwan.tsx +154 -0
  124. package/src/components/atoms/flag/icons/thailand.tsx +55 -0
  125. package/src/components/atoms/flag/icons/vietnam.tsx +57 -0
  126. package/src/components/atoms/flag/index.stories.tsx +30 -0
  127. package/src/components/atoms/flag/index.styled.tsx +18 -0
  128. package/src/components/atoms/flag/index.test.tsx +21 -0
  129. package/src/components/atoms/flag/index.tsx +150 -0
  130. package/src/components/atoms/grid/__snapshots__/index.test.tsx.snap +38 -0
  131. package/src/components/atoms/grid/index.stories.tsx +50 -0
  132. package/src/components/atoms/grid/index.styled.tsx +34 -0
  133. package/src/components/atoms/grid/index.test.tsx +26 -0
  134. package/src/components/atoms/grid/index.tsx +61 -0
  135. package/src/components/atoms/heading/__snapshots__/index.test.tsx.snap +38 -0
  136. package/src/components/atoms/heading/index.stories.tsx +27 -0
  137. package/src/components/atoms/heading/index.styled.tsx +108 -0
  138. package/src/components/atoms/heading/index.test.tsx +23 -0
  139. package/src/components/atoms/heading/index.tsx +59 -0
  140. package/src/components/atoms/icons/Ask.tsx +54 -0
  141. package/src/components/atoms/icons/BarChart.tsx +39 -0
  142. package/src/components/atoms/icons/Booking.tsx +37 -0
  143. package/src/components/atoms/icons/Bookmark.tsx +44 -0
  144. package/src/components/atoms/icons/Community.tsx +46 -0
  145. package/src/components/atoms/icons/EditSpecial.tsx +30 -0
  146. package/src/components/atoms/icons/Family.tsx +37 -0
  147. package/src/components/atoms/icons/Font.tsx +37 -0
  148. package/src/components/atoms/icons/Heart.tsx +37 -0
  149. package/src/components/atoms/icons/Home.tsx +54 -0
  150. package/src/components/atoms/icons/Like.tsx +49 -0
  151. package/src/components/atoms/icons/MyCommunity.tsx +37 -0
  152. package/src/components/atoms/icons/PlusSpecial.tsx +30 -0
  153. package/src/components/atoms/icons/Recalculate.tsx +37 -0
  154. package/src/components/atoms/icons/Scale.tsx +44 -0
  155. package/src/components/atoms/icons/Share.tsx +37 -0
  156. package/src/components/atoms/icons/Stethoscope.tsx +37 -0
  157. package/src/components/atoms/icons/index.stories.tsx +50 -0
  158. package/src/components/atoms/icons/index.ts +46 -0
  159. package/src/components/atoms/index.ts +33 -0
  160. package/src/components/atoms/input/__snapshots__/index.test.tsx.snap +137 -0
  161. package/src/components/atoms/input/delete.svg +3 -0
  162. package/src/components/atoms/input/index.stories.tsx +50 -0
  163. package/src/components/atoms/input/index.styled.tsx +124 -0
  164. package/src/components/atoms/input/index.test.tsx +23 -0
  165. package/src/components/atoms/input/index.tsx +140 -0
  166. package/src/components/atoms/label/__snapshots__/index.test.tsx.snap +21 -0
  167. package/src/components/atoms/label/index.stories.tsx +16 -0
  168. package/src/components/atoms/label/index.test.tsx +25 -0
  169. package/src/components/atoms/label/index.tsx +37 -0
  170. package/src/components/atoms/logo/__snapshots__/index.test.tsx.snap +99 -0
  171. package/src/components/atoms/logo/index.stories.tsx +84 -0
  172. package/src/components/atoms/logo/index.test.tsx +18 -0
  173. package/src/components/atoms/logo/index.tsx +1915 -0
  174. package/src/components/atoms/marryBabyText/index.styled.tsx +86 -0
  175. package/src/components/atoms/marryBabyText/index.tsx +57 -0
  176. package/src/components/atoms/pagination/__snapshots__/index.test.tsx.snap +185 -0
  177. package/src/components/atoms/pagination/index.stories.tsx +92 -0
  178. package/src/components/atoms/pagination/index.styled.tsx +73 -0
  179. package/src/components/atoms/pagination/index.test.tsx +26 -0
  180. package/src/components/atoms/pagination/index.tsx +286 -0
  181. package/src/components/atoms/progress/index.stories.tsx +55 -0
  182. package/src/components/atoms/progress/index.styled.tsx +30 -0
  183. package/src/components/atoms/progress/index.tsx +29 -0
  184. package/src/components/atoms/pureInput/__snapshots__/index.test.tsx.snap +135 -0
  185. package/src/components/atoms/pureInput/delete.svg +3 -0
  186. package/src/components/atoms/pureInput/index.stories.tsx +54 -0
  187. package/src/components/atoms/pureInput/index.styled.tsx +123 -0
  188. package/src/components/atoms/pureInput/index.test.tsx +29 -0
  189. package/src/components/atoms/pureInput/index.tsx +162 -0
  190. package/src/components/atoms/radio/__snapshots__/index.test.tsx.snap +163 -0
  191. package/src/components/atoms/radio/index.stories.tsx +48 -0
  192. package/src/components/atoms/radio/index.styled.tsx +133 -0
  193. package/src/components/atoms/radio/index.test.tsx +31 -0
  194. package/src/components/atoms/radio/index.tsx +66 -0
  195. package/src/components/atoms/rateStars/index.stories.tsx +71 -0
  196. package/src/components/atoms/rateStars/index.styled.tsx +17 -0
  197. package/src/components/atoms/rateStars/index.tsx +101 -0
  198. package/src/components/atoms/shadow/__snapshots__/index.test.tsx.snap +37 -0
  199. package/src/components/atoms/shadow/index.stories.tsx +55 -0
  200. package/src/components/atoms/shadow/index.styled.tsx +31 -0
  201. package/src/components/atoms/shadow/index.test.tsx +25 -0
  202. package/src/components/atoms/shadow/index.tsx +20 -0
  203. package/src/components/atoms/slider/__snapshots__/index.test.tsx.snap +172 -0
  204. package/src/components/atoms/slider/index.stories.tsx +22 -0
  205. package/src/components/atoms/slider/index.styled.tsx +68 -0
  206. package/src/components/atoms/slider/index.test.tsx +27 -0
  207. package/src/components/atoms/slider/index.tsx +140 -0
  208. package/src/components/atoms/tag/__snapshots__/index.test.tsx.snap +72 -0
  209. package/src/components/atoms/tag/index.stories.tsx +54 -0
  210. package/src/components/atoms/tag/index.styled.tsx +184 -0
  211. package/src/components/atoms/tag/index.test.tsx +23 -0
  212. package/src/components/atoms/tag/index.tsx +72 -0
  213. package/src/components/atoms/text/index.stories.tsx +24 -0
  214. package/src/components/atoms/text/index.styled.tsx +231 -0
  215. package/src/components/atoms/text/index.tsx +99 -0
  216. package/src/components/atoms/textArea/index.stories.tsx +30 -0
  217. package/src/components/atoms/textArea/index.tsx +86 -0
  218. package/src/components/atoms/textDivider/index.tsx +48 -0
  219. package/src/components/atoms/toggle/__snapshots__/index.test.tsx.snap +73 -0
  220. package/src/components/atoms/toggle/index.stories.tsx +38 -0
  221. package/src/components/atoms/toggle/index.styled.tsx +55 -0
  222. package/src/components/atoms/toggle/index.test.tsx +27 -0
  223. package/src/components/atoms/toggle/index.tsx +28 -0
  224. package/src/components/atoms/underlinedLink/index.stories.tsx +35 -0
  225. package/src/components/atoms/underlinedLink/index.styled.tsx +66 -0
  226. package/src/components/atoms/underlinedLink/index.text.tsx +23 -0
  227. package/src/components/atoms/underlinedLink/index.tsx +30 -0
  228. package/src/components/atoms/uploader/__snapshots__/index.test.tsx.snap +170 -0
  229. package/src/components/atoms/uploader/index.stories.tsx +128 -0
  230. package/src/components/atoms/uploader/index.styled.tsx +53 -0
  231. package/src/components/atoms/uploader/index.test.tsx +96 -0
  232. package/src/components/atoms/uploader/index.tsx +107 -0
  233. package/src/components/index.ts +3 -0
  234. package/src/components/molecules/ampNextPage/index.tsx +48 -0
  235. package/src/components/molecules/articleCard/bookmark.png +0 -0
  236. package/src/components/molecules/articleCard/bookmarked.png +0 -0
  237. package/src/components/molecules/articleCard/index.stories.tsx +222 -0
  238. package/src/components/molecules/articleCard/index.styled.tsx +391 -0
  239. package/src/components/molecules/articleCard/index.tsx +430 -0
  240. package/src/components/molecules/breadcrumbs/__snapshots__/index.test.tsx.snap +173 -0
  241. package/src/components/molecules/breadcrumbs/index.stories.tsx +79 -0
  242. package/src/components/molecules/breadcrumbs/index.styled.tsx +99 -0
  243. package/src/components/molecules/breadcrumbs/index.test.tsx +45 -0
  244. package/src/components/molecules/breadcrumbs/index.tsx +141 -0
  245. package/src/components/molecules/carousel/index.stories.tsx +40 -0
  246. package/src/components/molecules/carousel/index.styled.tsx +115 -0
  247. package/src/components/molecules/carousel/index.tsx +178 -0
  248. package/src/components/molecules/categoryCard/index.stories.tsx +19 -0
  249. package/src/components/molecules/categoryCard/index.styled.tsx +38 -0
  250. package/src/components/molecules/categoryCard/index.tsx +51 -0
  251. package/src/components/molecules/checkboxGroup/__snapshots__/index.test.tsx.snap +214 -0
  252. package/src/components/molecules/checkboxGroup/index.stories.tsx +118 -0
  253. package/src/components/molecules/checkboxGroup/index.styled.tsx +27 -0
  254. package/src/components/molecules/checkboxGroup/index.test.tsx +36 -0
  255. package/src/components/molecules/checkboxGroup/index.tsx +66 -0
  256. package/src/components/molecules/cookieAcceptConfirm/__snapshots__/index.test.tsx.snap +152 -0
  257. package/src/components/molecules/cookieAcceptConfirm/index.stories.tsx +23 -0
  258. package/src/components/molecules/cookieAcceptConfirm/index.styled.tsx +101 -0
  259. package/src/components/molecules/cookieAcceptConfirm/index.test.tsx +23 -0
  260. package/src/components/molecules/cookieAcceptConfirm/index.tsx +78 -0
  261. package/src/components/molecules/cookieAcceptConfirm/info.svg +3 -0
  262. package/src/components/molecules/datePicker/__snapshots__/index.test.tsx.snap +377 -0
  263. package/src/components/molecules/datePicker/index.stories.tsx +55 -0
  264. package/src/components/molecules/datePicker/index.styled.tsx +374 -0
  265. package/src/components/molecules/datePicker/index.test.tsx +46 -0
  266. package/src/components/molecules/datePicker/index.tsx +361 -0
  267. package/src/components/molecules/dateRangePicker/calendar/index.styled.ts +122 -0
  268. package/src/components/molecules/dateRangePicker/calendar/index.tsx +247 -0
  269. package/src/components/molecules/dateRangePicker/index.stories.tsx +45 -0
  270. package/src/components/molecules/dateRangePicker/index.styled.ts +36 -0
  271. package/src/components/molecules/dateRangePicker/index.tsx +103 -0
  272. package/src/components/molecules/dateRangePicker/types.ts +4 -0
  273. package/src/components/molecules/dateRangePicker/utils.ts +26 -0
  274. package/src/components/molecules/doctorInfo/index.stories.tsx +20 -0
  275. package/src/components/molecules/doctorInfo/index.tsx +54 -0
  276. package/src/components/molecules/dropdown/__snapshots__/index.test.tsx.snap +133 -0
  277. package/src/components/molecules/dropdown/index.stories.tsx +158 -0
  278. package/src/components/molecules/dropdown/index.styled.tsx +149 -0
  279. package/src/components/molecules/dropdown/index.test.tsx +45 -0
  280. package/src/components/molecules/dropdown/index.tsx +143 -0
  281. package/src/components/molecules/dropdownSearch/index.stories.tsx +66 -0
  282. package/src/components/molecules/dropdownSearch/index.styled.tsx +157 -0
  283. package/src/components/molecules/dropdownSearch/index.tsx +169 -0
  284. package/src/components/molecules/dropdownSearch/search.svg +4 -0
  285. package/src/components/molecules/floatButtonGroup/add-period.svg +9 -0
  286. package/src/components/molecules/floatButtonGroup/index.stories.tsx +72 -0
  287. package/src/components/molecules/floatButtonGroup/index.styled.tsx +310 -0
  288. package/src/components/molecules/floatButtonGroup/index.tsx +155 -0
  289. package/src/components/molecules/iconText/__snapshots__/index.test.tsx.snap +64 -0
  290. package/src/components/molecules/iconText/index.stories.tsx +22 -0
  291. package/src/components/molecules/iconText/index.styled.tsx +47 -0
  292. package/src/components/molecules/iconText/index.test.tsx +31 -0
  293. package/src/components/molecules/iconText/index.tsx +33 -0
  294. package/src/components/molecules/index.ts +39 -0
  295. package/src/components/molecules/languageSwitcher/index.stories.tsx +32 -0
  296. package/src/components/molecules/languageSwitcher/index.styled.tsx +23 -0
  297. package/src/components/molecules/languageSwitcher/index.tsx +68 -0
  298. package/src/components/molecules/languageSwitcher/tooltipSelection/index.styled.tsx +69 -0
  299. package/src/components/molecules/languageSwitcher/tooltipSelection/index.tsx +84 -0
  300. package/src/components/molecules/mobileBottomNavigation/MobileBottomNavigationIcon.tsx +51 -0
  301. package/src/components/molecules/mobileBottomNavigation/index.stories.tsx +173 -0
  302. package/src/components/molecules/mobileBottomNavigation/index.styled.tsx +150 -0
  303. package/src/components/molecules/mobileBottomNavigation/index.tsx +41 -0
  304. package/src/components/molecules/modal/__snapshots__/index.test.tsx.snap +3 -0
  305. package/src/components/molecules/modal/index.stories.tsx +139 -0
  306. package/src/components/molecules/modal/index.styled.tsx +146 -0
  307. package/src/components/molecules/modal/index.test.tsx +26 -0
  308. package/src/components/molecules/modal/index.tsx +147 -0
  309. package/src/components/molecules/popup/__snapshots__/index.test.tsx.snap +102 -0
  310. package/src/components/molecules/popup/index.stories.tsx +21 -0
  311. package/src/components/molecules/popup/index.styled.tsx +90 -0
  312. package/src/components/molecules/popup/index.test.tsx +26 -0
  313. package/src/components/molecules/popup/index.tsx +45 -0
  314. package/src/components/molecules/progressBar/__snapshots__/index.test.tsx.snap +167 -0
  315. package/src/components/molecules/progressBar/index.stories.tsx +72 -0
  316. package/src/components/molecules/progressBar/index.styled.tsx +182 -0
  317. package/src/components/molecules/progressBar/index.test.tsx +75 -0
  318. package/src/components/molecules/progressBar/index.tsx +245 -0
  319. package/src/components/molecules/radioGroup/__snapshots__/index.test.tsx.snap +290 -0
  320. package/src/components/molecules/radioGroup/index.stories.tsx +131 -0
  321. package/src/components/molecules/radioGroup/index.styled.tsx +75 -0
  322. package/src/components/molecules/radioGroup/index.test.tsx +33 -0
  323. package/src/components/molecules/radioGroup/index.tsx +80 -0
  324. package/src/components/molecules/scrollList/index.stories.tsx +113 -0
  325. package/src/components/molecules/scrollList/index.styled.tsx +140 -0
  326. package/src/components/molecules/scrollList/index.tsx +786 -0
  327. package/src/components/molecules/seoHead/index.tsx +382 -0
  328. package/src/components/molecules/sidemenu/__snapshots__/index.test.tsx.snap +273 -0
  329. package/src/components/molecules/sidemenu/index.stories.tsx +156 -0
  330. package/src/components/molecules/sidemenu/index.test.tsx +56 -0
  331. package/src/components/molecules/sidemenu/index.tsx +4 -0
  332. package/src/components/molecules/sidemenu/menuLink.tsx +78 -0
  333. package/src/components/molecules/sidemenu/sideHeader.tsx +85 -0
  334. package/src/components/molecules/sidemenu/sideMenu.tsx +39 -0
  335. package/src/components/molecules/sidemenu/test.tsx +94 -0
  336. package/src/components/molecules/sidemenu/userInfo.tsx +44 -0
  337. package/src/components/molecules/starsRatingBox/index.stories.tsx +121 -0
  338. package/src/components/molecules/starsRatingBox/index.styled.tsx +23 -0
  339. package/src/components/molecules/starsRatingBox/index.tsx +83 -0
  340. package/src/components/molecules/statisticCard/__snapshots__/index.test.tsx.snap +86 -0
  341. package/src/components/molecules/statisticCard/index.stories.tsx +40 -0
  342. package/src/components/molecules/statisticCard/index.styled.tsx +47 -0
  343. package/src/components/molecules/statisticCard/index.test.tsx +44 -0
  344. package/src/components/molecules/statisticCard/index.tsx +48 -0
  345. package/src/components/molecules/surveyQuestionCard/__snapshots__/index.test.tsx.snap +743 -0
  346. package/src/components/molecules/surveyQuestionCard/index.stories.tsx +115 -0
  347. package/src/components/molecules/surveyQuestionCard/index.styled.tsx +220 -0
  348. package/src/components/molecules/surveyQuestionCard/index.test.tsx +53 -0
  349. package/src/components/molecules/surveyQuestionCard/index.tsx +2 -0
  350. package/src/components/molecules/surveyQuestionCard/surveyQuestionCard.tsx +213 -0
  351. package/src/components/molecules/surveyQuestionCard/surveyQuestionContent.tsx +200 -0
  352. package/src/components/molecules/surveyQuestionCard/surveyRadio.tsx +69 -0
  353. package/src/components/molecules/surveyQuestionCard/surveyThankyouCard.tsx +129 -0
  354. package/src/components/molecules/table/__snapshots__/index.test.tsx.snap +56 -0
  355. package/src/components/molecules/table/index.stories.tsx +264 -0
  356. package/src/components/molecules/table/index.test.tsx +29 -0
  357. package/src/components/molecules/table/index.tsx +5 -0
  358. package/src/components/molecules/table/table.tsx +38 -0
  359. package/src/components/molecules/table/tableBody.tsx +46 -0
  360. package/src/components/molecules/table/tableCell.tsx +47 -0
  361. package/src/components/molecules/table/tableHead.tsx +46 -0
  362. package/src/components/molecules/table/tableRow.tsx +45 -0
  363. package/src/components/molecules/tabs/__snapshots__/index.test.tsx.snap +104 -0
  364. package/src/components/molecules/tabs/index.stories.tsx +45 -0
  365. package/src/components/molecules/tabs/index.styled.tsx +58 -0
  366. package/src/components/molecules/tabs/index.test.tsx +49 -0
  367. package/src/components/molecules/tabs/index.tsx +89 -0
  368. package/src/components/organisms/footer/discoverFooter/index.styled.tsx +286 -0
  369. package/src/components/organisms/footer/discoverFooter/index.tsx +448 -0
  370. package/src/components/organisms/footer/index.stories.tsx +207 -0
  371. package/src/components/organisms/footer/index.tsx +70 -0
  372. package/src/components/organisms/footer/maryBabyFooter/index.styled.tsx +502 -0
  373. package/src/components/organisms/footer/maryBabyFooter/index.tsx +393 -0
  374. package/src/components/organisms/index.ts +31 -0
  375. package/src/components/organisms/navigationBookingButton/index.styled.tsx +11 -0
  376. package/src/components/organisms/navigationBookingButton/index.tsx +53 -0
  377. package/src/components/organisms/navigationLayout/CustomFooter.tsx +154 -0
  378. package/src/components/organisms/navigationLayout/ampSideBar/index.styled.tsx +151 -0
  379. package/src/components/organisms/navigationLayout/ampSideBar/index.tsx +276 -0
  380. package/src/components/organisms/navigationLayout/assets/check.svg +3 -0
  381. package/src/components/organisms/navigationLayout/assets/chevronDown.svg +3 -0
  382. package/src/components/organisms/navigationLayout/assets/chevronRightWhite.svg +3 -0
  383. package/src/components/organisms/navigationLayout/assets/chevronUpBlue.svg +3 -0
  384. package/src/components/organisms/navigationLayout/assets/closeLight.svg +4 -0
  385. package/src/components/organisms/navigationLayout/assets/closeWhite.svg +4 -0
  386. package/src/components/organisms/navigationLayout/assets/hamburgerMenu.svg +5 -0
  387. package/src/components/organisms/navigationLayout/assets/index.js +19 -0
  388. package/src/components/organisms/navigationLayout/assets/info-light.svg +5 -0
  389. package/src/components/organisms/navigationLayout/constants.ts +958 -0
  390. package/src/components/organisms/navigationLayout/footer/index.styled.tsx +286 -0
  391. package/src/components/organisms/navigationLayout/footer/index.tsx +449 -0
  392. package/src/components/organisms/navigationLayout/index.stories.tsx +273 -0
  393. package/src/components/organisms/navigationLayout/index.styled.tsx +153 -0
  394. package/src/components/organisms/navigationLayout/index.tsx +1272 -0
  395. package/src/components/organisms/navigationLayout/languageWrapper.tsx +19 -0
  396. package/src/components/organisms/navigationLayout/languages/default.ts +63 -0
  397. package/src/components/organisms/navigationLayout/layout.tsx +406 -0
  398. package/src/components/organisms/navigationLayout/marryBabyText/index.styled.tsx +86 -0
  399. package/src/components/organisms/navigationLayout/marryBabyText/index.tsx +57 -0
  400. package/src/components/organisms/navigationLayout/maryBabyFooter/index.styled.tsx +502 -0
  401. package/src/components/organisms/navigationLayout/maryBabyFooter/index.tsx +383 -0
  402. package/src/components/organisms/navigationLayout/menuCareList/categorySkeleton.tsx +25 -0
  403. package/src/components/organisms/navigationLayout/menuCareList/index.styled.tsx +156 -0
  404. package/src/components/organisms/navigationLayout/menuCareList/index.tsx +266 -0
  405. package/src/components/organisms/navigationLayout/menuCategoriesList/categorySkeleton.tsx +25 -0
  406. package/src/components/organisms/navigationLayout/menuCategoriesList/helloSites.tsx +419 -0
  407. package/src/components/organisms/navigationLayout/menuCategoriesList/index.styled.tsx +196 -0
  408. package/src/components/organisms/navigationLayout/menuCategoriesList/index.tsx +92 -0
  409. package/src/components/organisms/navigationLayout/menuCategoriesList/marryBaby.styled.tsx +151 -0
  410. package/src/components/organisms/navigationLayout/menuCategoriesList/marryBaby.tsx +409 -0
  411. package/src/components/organisms/navigationLayout/menuCategoriesList/spotlightsList/index.styled.tsx +147 -0
  412. package/src/components/organisms/navigationLayout/menuCategoriesList/spotlightsList/index.tsx +141 -0
  413. package/src/components/organisms/navigationLayout/menuCategoriesList/spotlightsList/spotlightSkeleton.tsx +25 -0
  414. package/src/components/organisms/navigationLayout/menuCommunitiesList/categorySkeleton.tsx +25 -0
  415. package/src/components/organisms/navigationLayout/menuCommunitiesList/helloSites.tsx +309 -0
  416. package/src/components/organisms/navigationLayout/menuCommunitiesList/index.styled.tsx +162 -0
  417. package/src/components/organisms/navigationLayout/menuCommunitiesList/index.tsx +80 -0
  418. package/src/components/organisms/navigationLayout/menuCommunitiesList/marryBaby.styled.tsx +119 -0
  419. package/src/components/organisms/navigationLayout/menuCommunitiesList/marryBaby.tsx +181 -0
  420. package/src/components/organisms/navigationLayout/menuHealthToolsList/categorySkeleton.tsx +25 -0
  421. package/src/components/organisms/navigationLayout/menuHealthToolsList/helloSites.tsx +364 -0
  422. package/src/components/organisms/navigationLayout/menuHealthToolsList/index.styled.tsx +176 -0
  423. package/src/components/organisms/navigationLayout/menuHealthToolsList/index.tsx +83 -0
  424. package/src/components/organisms/navigationLayout/menuHealthToolsList/marryBaby.tsx +166 -0
  425. package/src/components/organisms/navigationLayout/menuHealthToolsList/marrybaby.styled.tsx +118 -0
  426. package/src/components/organisms/navigationLayout/menuSectionCard/cardSkeleton.tsx +32 -0
  427. package/src/components/organisms/navigationLayout/menuSectionCard/index.styled.tsx +46 -0
  428. package/src/components/organisms/navigationLayout/menuSectionCard/index.tsx +52 -0
  429. package/src/components/organisms/navigationLayout/menuServiceList/categoriesSubList.tsx +121 -0
  430. package/src/components/organisms/navigationLayout/menuServiceList/communitySubList.tsx +143 -0
  431. package/src/components/organisms/navigationLayout/menuServiceList/index.styled.tsx +460 -0
  432. package/src/components/organisms/navigationLayout/menuServiceList/index.tsx +746 -0
  433. package/src/components/organisms/navigationLayout/menuServiceList/marryBabyMobileMenuSection.tsx +239 -0
  434. package/src/components/organisms/navigationLayout/navigationBar/ArrowLeftPopupIcon.tsx +21 -0
  435. package/src/components/organisms/navigationLayout/navigationBar/ClosePopupIcon.tsx +20 -0
  436. package/src/components/organisms/navigationLayout/navigationBar/HamburgerIcon.tsx +43 -0
  437. package/src/components/organisms/navigationLayout/navigationBar/NavigationBar.types.ts +99 -0
  438. package/src/components/organisms/navigationLayout/navigationBar/NavigationBarMobile.tsx +503 -0
  439. package/src/components/organisms/navigationLayout/navigationBar/SearchIcon.tsx +22 -0
  440. package/src/components/organisms/navigationLayout/navigationBar/index.styled.tsx +540 -0
  441. package/src/components/organisms/navigationLayout/navigationBar/index.tsx +798 -0
  442. package/src/components/organisms/navigationLayout/navigationLogoutPopup/index.styled.tsx +87 -0
  443. package/src/components/organisms/navigationLayout/navigationLogoutPopup/index.tsx +95 -0
  444. package/src/components/organisms/navigationLayout/profilePopup/index.tsx +102 -0
  445. package/src/components/organisms/navigationLayout/profilePopupWrapper/index.styled.tsx +164 -0
  446. package/src/components/organisms/navigationLayout/profilePopupWrapper/index.tsx +58 -0
  447. package/src/components/organisms/navigationLayout/siteWide/index.styled.tsx +116 -0
  448. package/src/components/organisms/navigationLayout/siteWide/index.tsx +162 -0
  449. package/src/components/organisms/navigationLayout/sponsoredBy/index.styled.tsx +119 -0
  450. package/src/components/organisms/navigationLayout/sponsoredBy/index.tsx +254 -0
  451. package/src/components/organisms/navigationLayout/tooltipSelection/index.styled.tsx +66 -0
  452. package/src/components/organisms/navigationLayout/tooltipSelection/index.tsx +81 -0
  453. package/src/components/organisms/navigationLayout/types.ts +322 -0
  454. package/src/components/organisms/navigationLayout/utils.tsx +424 -0
  455. package/src/components/organisms/navigationLogoutPopup/index.stories.tsx +34 -0
  456. package/src/components/organisms/navigationLogoutPopup/index.styled.tsx +87 -0
  457. package/src/components/organisms/navigationLogoutPopup/index.tsx +78 -0
  458. package/src/components/organisms/navigationProfileButton/index.stories.tsx +51 -0
  459. package/src/components/organisms/navigationProfileButton/index.styled.tsx +254 -0
  460. package/src/components/organisms/navigationProfileButton/index.tsx +217 -0
  461. package/src/components/organisms/navigationProfileButton/popupWrapper.tsx +58 -0
  462. package/src/components/organisms/navigationProfileButton/profilePopup.tsx +97 -0
  463. package/src/components/organisms/navigationV2/components/atoms/ArrowLeftPopupIcon.tsx +21 -0
  464. package/src/components/organisms/navigationV2/components/atoms/ClosePopupIcon.tsx +21 -0
  465. package/src/components/organisms/navigationV2/components/atoms/HamburgerIcon.tsx +58 -0
  466. package/src/components/organisms/navigationV2/components/atoms/ItemNav/index.styled.tsx +63 -0
  467. package/src/components/organisms/navigationV2/components/atoms/ItemNav/index.tsx +71 -0
  468. package/src/components/organisms/navigationV2/components/atoms/PopupWrapper/btnClosePopup.tsx +30 -0
  469. package/src/components/organisms/navigationV2/components/atoms/PopupWrapper/index.styled.tsx +62 -0
  470. package/src/components/organisms/navigationV2/components/atoms/PopupWrapper/index.tsx +45 -0
  471. package/src/components/organisms/navigationV2/components/atoms/SearchIcon.tsx +22 -0
  472. package/src/components/organisms/navigationV2/components/atoms/searchInput/index.tsx +45 -0
  473. package/src/components/organisms/navigationV2/components/molecules/Categories/index.styled.tsx +74 -0
  474. package/src/components/organisms/navigationV2/components/molecules/Categories/index.tsx +115 -0
  475. package/src/components/organisms/navigationV2/components/molecules/Spotlights/index.styled.tsx +40 -0
  476. package/src/components/organisms/navigationV2/components/molecules/Spotlights/index.tsx +60 -0
  477. package/src/components/organisms/navigationV2/components/molecules/menuCareList/Item/index.styled.tsx +155 -0
  478. package/src/components/organisms/navigationV2/components/molecules/menuCareList/Item/index.tsx +103 -0
  479. package/src/components/organisms/navigationV2/components/molecules/menuCareList/careSpotlights.tsx +40 -0
  480. package/src/components/organisms/navigationV2/components/molecules/menuCareList/index.styled.tsx +29 -0
  481. package/src/components/organisms/navigationV2/components/molecules/menuCareList/index.tsx +65 -0
  482. package/src/components/organisms/navigationV2/components/molecules/menuCategoriesList/Item/index.styled.tsx +46 -0
  483. package/src/components/organisms/navigationV2/components/molecules/menuCategoriesList/Item/index.tsx +50 -0
  484. package/src/components/organisms/navigationV2/components/molecules/menuCategoriesList/categorySpotlights.tsx +59 -0
  485. package/src/components/organisms/navigationV2/components/molecules/menuCategoriesList/index.styled.tsx +30 -0
  486. package/src/components/organisms/navigationV2/components/molecules/menuCategoriesList/index.tsx +64 -0
  487. package/src/components/organisms/navigationV2/components/molecules/menuCommunitiesList/Item/index.styled.tsx +89 -0
  488. package/src/components/organisms/navigationV2/components/molecules/menuCommunitiesList/Item/index.tsx +91 -0
  489. package/src/components/organisms/navigationV2/components/molecules/menuCommunitiesList/communitySpotlights.tsx +49 -0
  490. package/src/components/organisms/navigationV2/components/molecules/menuCommunitiesList/index.styled.tsx +42 -0
  491. package/src/components/organisms/navigationV2/components/molecules/menuCommunitiesList/index.tsx +56 -0
  492. package/src/components/organisms/navigationV2/components/molecules/menuHealthToolsList/Item/index.styled.tsx +104 -0
  493. package/src/components/organisms/navigationV2/components/molecules/menuHealthToolsList/Item/index.tsx +99 -0
  494. package/src/components/organisms/navigationV2/components/molecules/menuHealthToolsList/index.styled.tsx +18 -0
  495. package/src/components/organisms/navigationV2/components/molecules/menuHealthToolsList/index.tsx +65 -0
  496. package/src/components/organisms/navigationV2/components/molecules/menuHealthToolsList/toolSpotlights.tsx +41 -0
  497. package/src/components/organisms/navigationV2/components/molecules/menuServiceList/index.styled.tsx +358 -0
  498. package/src/components/organisms/navigationV2/components/molecules/menuServiceList/index.tsx +88 -0
  499. package/src/components/organisms/navigationV2/components/molecules/navigationBar/hamburgerMenu.tsx +74 -0
  500. package/src/components/organisms/navigationV2/components/molecules/navigationBar/index.styled.tsx +214 -0
  501. package/src/components/organisms/navigationV2/components/molecules/navigationBar/index.tsx +283 -0
  502. package/src/components/organisms/navigationV2/components/molecules/navigationBar/navigationProfileButtonWithContext.tsx +50 -0
  503. package/src/components/organisms/navigationV2/components/molecules/spotlightNoData/index.styled.tsx +70 -0
  504. package/src/components/organisms/navigationV2/components/molecules/spotlightNoData/index.tsx +74 -0
  505. package/src/components/organisms/navigationV2/constants.ts +277 -0
  506. package/src/components/organisms/navigationV2/hooks/useHeaderHeight.tsx +84 -0
  507. package/src/components/organisms/navigationV2/hooks/useInsider.tsx +67 -0
  508. package/src/components/organisms/navigationV2/hooks/useNavConfig.tsx +99 -0
  509. package/src/components/organisms/navigationV2/hooks/useNavServices.tsx +73 -0
  510. package/src/components/organisms/navigationV2/index.stories.tsx +287 -0
  511. package/src/components/organisms/navigationV2/index.styled.tsx +30 -0
  512. package/src/components/organisms/navigationV2/index.tsx +320 -0
  513. package/src/components/organisms/navigationV2/navigationContext.tsx +38 -0
  514. package/src/components/organisms/navigationV2/types.ts +307 -0
  515. package/src/components/organisms/navigationV2/utils.tsx +400 -0
  516. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-chevronDown.svg +3 -0
  517. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-chevronRight.svg +3 -0
  518. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-eCom.svg +22 -0
  519. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-helpCircle.svg +3 -0
  520. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-logOut.svg +3 -0
  521. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-myBooking.svg +36 -0
  522. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-myCommunity.svg +19 -0
  523. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-myFamily.svg +15 -0
  524. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-myHealth.svg +13 -0
  525. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-mySaved.svg +3 -0
  526. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-ambassador.svg +4 -0
  527. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-doctor.svg +4 -0
  528. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-expert.svg +4 -0
  529. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-influencer.svg +4 -0
  530. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-member.svg +8 -0
  531. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-settingsWheel.svg +3 -0
  532. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-arrowRight.svg +3 -0
  533. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-lock.svg +4 -0
  534. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-logOut.svg +4 -0
  535. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-myCommunity.svg +4 -0
  536. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-myHealth.svg +6 -0
  537. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-mySaved.svg +3 -0
  538. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-ambassador.svg +40 -0
  539. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-doctor.svg +40 -0
  540. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-expert.svg +27 -0
  541. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-influencer.svg +33 -0
  542. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-member.svg +33 -0
  543. package/src/components/organisms/userProfileNavigation/constants.ts +23 -0
  544. package/src/components/organisms/userProfileNavigation/index.stories.tsx +79 -0
  545. package/src/components/organisms/userProfileNavigation/index.styled.ts +60 -0
  546. package/src/components/organisms/userProfileNavigation/index.tsx +219 -0
  547. package/src/components/organisms/userProfileNavigation/navHeader/index.styled.ts +76 -0
  548. package/src/components/organisms/userProfileNavigation/navHeader/index.tsx +68 -0
  549. package/src/components/organisms/userProfileNavigation/navMenu/index.styled.ts +115 -0
  550. package/src/components/organisms/userProfileNavigation/navMenu/index.tsx +79 -0
  551. package/src/components/organisms/userProfileNavigation/navMenu/items.ts +38 -0
  552. package/src/components/organisms/userProfileNavigation/navigationCard/index.styled.ts +51 -0
  553. package/src/components/organisms/userProfileNavigation/navigationCard/index.tsx +96 -0
  554. package/src/components/organisms/userProfileNavigation/types.ts +35 -0
  555. package/src/components/organisms/userProfileNavigation/userStats/index.styled.ts +110 -0
  556. package/src/components/organisms/userProfileNavigation/userStats/index.tsx +78 -0
  557. package/src/core.ts +7 -0
  558. package/src/docs/releases/getReleases.js +56 -0
  559. package/src/docs/releases/index.stories.mdx +9 -0
  560. package/src/ecom/dataFormatter/index.ts +933 -0
  561. package/src/ecom/dataFormatter/lib/apiTypes.ts +623 -0
  562. package/src/ecom/dataFormatter/lib/dataTypes.ts +571 -0
  563. package/src/ecom/dataFormatter/lib/utils.ts +40 -0
  564. package/src/ecom/index.tsx +5 -0
  565. package/src/ecom/interfaces/constants.ts +1000 -0
  566. package/src/ecom/interfaces/types.ts +194 -0
  567. package/src/hooks/useCSSFocusPopupHelper.ts +32 -0
  568. package/src/hooks/useDragScroll.ts +55 -0
  569. package/src/hooks/useDropdownSearch.tsx +52 -0
  570. package/src/hooks/useFbDataLayer.tsx +49 -0
  571. package/src/hooks/useGeolocation.ts +86 -0
  572. package/src/hooks/useGetIsMobile.ts +20 -0
  573. package/src/hooks/useImagesPicker.ts +56 -0
  574. package/src/hooks/useIsInit.ts +9 -0
  575. package/src/hooks/useOutsideClick.ts +20 -0
  576. package/src/hooks/useScreenSize.ts +35 -0
  577. package/src/hooks/useScrollbarSize.ts +74 -0
  578. package/src/hooks/useTranslations.tsx +41 -0
  579. package/src/i18n/en-PH.json +235 -0
  580. package/src/i18n/hi-IN.json +235 -0
  581. package/src/i18n/id-ID.json +235 -0
  582. package/src/i18n/index.ts +3 -0
  583. package/src/i18n/km-KH.json +235 -0
  584. package/src/i18n/ms-MY.json +235 -0
  585. package/src/i18n/my-MM.json +235 -0
  586. package/src/i18n/th-TH.json +235 -0
  587. package/src/i18n/tl-PH.json +235 -0
  588. package/src/i18n/translations.ts +47 -0
  589. package/src/i18n/translationsContext.ts +12 -0
  590. package/src/i18n/translationsProvider.tsx +66 -0
  591. package/src/i18n/vi-VN.json +242 -0
  592. package/src/i18n/zh-TW.json +235 -0
  593. package/src/index.ts +12 -0
  594. package/src/interfaces/constants.ts +402 -0
  595. package/src/interfaces/types.ts +85 -0
  596. package/src/misc/cookieHelper.tsx +31 -0
  597. package/src/misc/lazyLoad.ts +7 -0
  598. package/src/misc/mockTheme.tsx +11 -0
  599. package/src/misc/number.ts +24 -0
  600. package/src/misc/routing.tsx +45 -0
  601. package/src/misc/theme.ts +186 -0
  602. package/src/misc/utils.ts +214 -0
  603. package/src/test/testTranslationProvider.tsx +14 -0
  604. package/src/together/api/dataTransform.ts +650 -0
  605. package/src/together/api/paths.ts +163 -0
  606. package/src/together/api/utils.ts +399 -0
  607. package/src/together/assets/images/avatar-default.png +0 -0
  608. package/src/together/assets/images/icon-whatsapp.png +0 -0
  609. package/src/together/assets/images/icon-zalo.png +0 -0
  610. package/src/together/assets/marrybaby/svg/comment.svg +4 -0
  611. package/src/together/assets/marrybaby/svg/commentSolid.svg +5 -0
  612. package/src/together/assets/marrybaby/svg/commentWhite.svg +4 -0
  613. package/src/together/assets/marrybaby/svg/copy.svg +1 -0
  614. package/src/together/assets/marrybaby/svg/facebook.svg +9 -0
  615. package/src/together/assets/marrybaby/svg/heart.svg +4 -0
  616. package/src/together/assets/marrybaby/svg/heartSolid.svg +4 -0
  617. package/src/together/assets/marrybaby/svg/linkedin.svg +6 -0
  618. package/src/together/assets/marrybaby/svg/loading.svg +15 -0
  619. package/src/together/assets/marrybaby/svg/messenger.svg +17 -0
  620. package/src/together/assets/marrybaby/svg/more.svg +6 -0
  621. package/src/together/assets/marrybaby/svg/moreSolid.svg +6 -0
  622. package/src/together/assets/marrybaby/svg/pin.svg +6 -0
  623. package/src/together/assets/marrybaby/svg/pinOrange.svg +6 -0
  624. package/src/together/assets/marrybaby/svg/share.svg +5 -0
  625. package/src/together/assets/marrybaby/svg/share2.svg +5 -0
  626. package/src/together/assets/marrybaby/svg/sortBy.svg +5 -0
  627. package/src/together/assets/marrybaby/svg/twitter.svg +4 -0
  628. package/src/together/assets/marrybaby/svg/zalo.png +0 -0
  629. package/src/together/assets/svg/bullet-point.svg +3 -0
  630. package/src/together/assets/svg/chevronRightActive.svg +3 -0
  631. package/src/together/assets/svg/close-circle-line.svg +5 -0
  632. package/src/together/assets/svg/closeLight copy.svg +4 -0
  633. package/src/together/assets/svg/closeLight.svg +4 -0
  634. package/src/together/assets/svg/delete.svg +13 -0
  635. package/src/together/assets/svg/icon-alert-circle-primary.svg +5 -0
  636. package/src/together/assets/svg/icon-alert-circle-warning.svg +5 -0
  637. package/src/together/assets/svg/icon-alert-circle.svg +5 -0
  638. package/src/together/assets/svg/icon-arrow-circle-upgrade.svg +3 -0
  639. package/src/together/assets/svg/icon-arrow-left.svg +4 -0
  640. package/src/together/assets/svg/icon-arrow-right-circle.svg +5 -0
  641. package/src/together/assets/svg/icon-bell-off.svg +7 -0
  642. package/src/together/assets/svg/icon-bell-on.svg +4 -0
  643. package/src/together/assets/svg/icon-bookmark-fill.svg +3 -0
  644. package/src/together/assets/svg/icon-bookmark.svg +3 -0
  645. package/src/together/assets/svg/icon-cancel.svg +13 -0
  646. package/src/together/assets/svg/icon-check-gray.svg +3 -0
  647. package/src/together/assets/svg/icon-check-pink.svg +3 -0
  648. package/src/together/assets/svg/icon-check-success.svg +4 -0
  649. package/src/together/assets/svg/icon-check.svg +4 -0
  650. package/src/together/assets/svg/icon-chevron-left-dark.svg +3 -0
  651. package/src/together/assets/svg/icon-chevron-right-dark.svg +3 -0
  652. package/src/together/assets/svg/icon-chevron-right-white.svg +3 -0
  653. package/src/together/assets/svg/icon-chevron-right.svg +3 -0
  654. package/src/together/assets/svg/icon-close-circle-line.svg +5 -0
  655. package/src/together/assets/svg/icon-close-circle.svg +5 -0
  656. package/src/together/assets/svg/icon-close.svg +4 -0
  657. package/src/together/assets/svg/icon-edit.svg +3 -0
  658. package/src/together/assets/svg/icon-enter.svg +4 -0
  659. package/src/together/assets/svg/icon-facebook.svg +3 -0
  660. package/src/together/assets/svg/icon-heart-empty.svg +3 -0
  661. package/src/together/assets/svg/icon-heart-fill-red.svg +3 -0
  662. package/src/together/assets/svg/icon-heart-fill.svg +3 -0
  663. package/src/together/assets/svg/icon-kebab.svg +5 -0
  664. package/src/together/assets/svg/icon-link.svg +4 -0
  665. package/src/together/assets/svg/icon-linkedin.svg +4 -0
  666. package/src/together/assets/svg/icon-pin-gray.svg +4 -0
  667. package/src/together/assets/svg/icon-pin-yellow.svg +4 -0
  668. package/src/together/assets/svg/icon-pin.svg +4 -0
  669. package/src/together/assets/svg/icon-reply-arrow.svg +3 -0
  670. package/src/together/assets/svg/icon-reply-circle-empty.svg +3 -0
  671. package/src/together/assets/svg/icon-reply-circle-fill.svg +3 -0
  672. package/src/together/assets/svg/icon-share-on-media.svg +7 -0
  673. package/src/together/assets/svg/icon-sort-arrow.svg +4 -0
  674. package/src/together/assets/svg/icon-tab-edit-2.svg +4 -0
  675. package/src/together/assets/svg/icon-tab-edit-primary.svg +4 -0
  676. package/src/together/assets/svg/icon-trash-bin.svg +6 -0
  677. package/src/together/assets/svg/icon-twitter.svg +4 -0
  678. package/src/together/assets/svg/loading.svg +7 -0
  679. package/src/together/assets/svg/reviewer-author.svg +12 -0
  680. package/src/together/assets/svg/reviewer-editor.svg +12 -0
  681. package/src/together/assets/svg/reviewer-expert.svg +5 -0
  682. package/src/together/assets/svg/reviewer-fact-check.svg +4 -0
  683. package/src/together/assets/svg/reviewer-medical.svg +4 -0
  684. package/src/together/components/atoms/cardLink/index.styled.tsx +64 -0
  685. package/src/together/components/atoms/cardLink/index.tsx +149 -0
  686. package/src/together/components/atoms/cardReactions/index.styled.tsx +96 -0
  687. package/src/together/components/atoms/cardReactions/index.tsx +221 -0
  688. package/src/together/components/atoms/index.tsx +8 -0
  689. package/src/together/components/atoms/labelSortPin/index.styled.tsx +78 -0
  690. package/src/together/components/atoms/labelSortPin/index.tsx +50 -0
  691. package/src/together/components/atoms/labelSortPin/labelPin.tsx +47 -0
  692. package/src/together/components/atoms/labelSortPin/labelSorting.tsx +127 -0
  693. package/src/together/components/atoms/loading/index.styled.tsx +42 -0
  694. package/src/together/components/atoms/loading/index.tsx +25 -0
  695. package/src/together/components/atoms/loading/loadingCard.tsx +38 -0
  696. package/src/together/components/atoms/tagTopic/index.styled.tsx +33 -0
  697. package/src/together/components/atoms/tagTopic/index.tsx +57 -0
  698. package/src/together/components/atoms/userAvatar/index.styled.tsx +39 -0
  699. package/src/together/components/atoms/userAvatar/index.tsx +62 -0
  700. package/src/together/components/molecules/cardAuthor/customMMLocale/formatDistance.ts +112 -0
  701. package/src/together/components/molecules/cardAuthor/customMMLocale/index.ts +16 -0
  702. package/src/together/components/molecules/cardAuthor/customMMLocale/types.ts +37 -0
  703. package/src/together/components/molecules/cardAuthor/index.styled.tsx +164 -0
  704. package/src/together/components/molecules/cardAuthor/index.tsx +314 -0
  705. package/src/together/components/molecules/createNewPostContent/index.stories.tsx +114 -0
  706. package/src/together/components/molecules/createNewPostContent/index.styled.tsx +73 -0
  707. package/src/together/components/molecules/createNewPostContent/index.tsx +351 -0
  708. package/src/together/components/molecules/createPostDescription/editor.tsx +915 -0
  709. package/src/together/components/molecules/createPostDescription/index.styled.tsx +328 -0
  710. package/src/together/components/molecules/createPostDescription/index.tsx +163 -0
  711. package/src/together/components/molecules/createPostTitle/index.styled.tsx +62 -0
  712. package/src/together/components/molecules/createPostTitle/index.tsx +133 -0
  713. package/src/together/components/molecules/index.tsx +18 -0
  714. package/src/together/components/molecules/inputCommentBar/index.styled.tsx +227 -0
  715. package/src/together/components/molecules/inputCommentBar/index.tsx +341 -0
  716. package/src/together/components/molecules/inputCommentBar/mainInputTriggerContext.tsx +26 -0
  717. package/src/together/components/molecules/popupDanger/index.styled.tsx +174 -0
  718. package/src/together/components/molecules/popupDanger/index.tsx +113 -0
  719. package/src/together/components/molecules/popupDoctor/index.styled.tsx +185 -0
  720. package/src/together/components/molecules/popupDoctor/index.tsx +271 -0
  721. package/src/together/components/molecules/popupExpert/index.styled.tsx +175 -0
  722. package/src/together/components/molecules/popupExpert/index.tsx +216 -0
  723. package/src/together/components/molecules/popupFrame/index.styled.tsx +76 -0
  724. package/src/together/components/molecules/popupFrame/index.tsx +43 -0
  725. package/src/together/components/molecules/popupFrame/popupShare.tsx +178 -0
  726. package/src/together/components/molecules/popupHospital/index.styled.tsx +173 -0
  727. package/src/together/components/molecules/popupHospital/index.tsx +249 -0
  728. package/src/together/components/molecules/postContent/index.styled.tsx +66 -0
  729. package/src/together/components/molecules/postContent/index.tsx +125 -0
  730. package/src/together/components/molecules/postImagePreview/imagePreviewPopup.tsx +73 -0
  731. package/src/together/components/molecules/postImagePreview/index.styled.tsx +154 -0
  732. package/src/together/components/molecules/postImagePreview/index.tsx +115 -0
  733. package/src/together/components/molecules/postImagePreview/postSingleImageViewPopup/index.styled.tsx +84 -0
  734. package/src/together/components/molecules/postImagePreview/postSingleImageViewPopup/index.tsx +83 -0
  735. package/src/together/components/molecules/shareBox/index.stories.tsx +36 -0
  736. package/src/together/components/molecules/shareBox/index.styled.tsx +141 -0
  737. package/src/together/components/molecules/shareBox/index.tsx +188 -0
  738. package/src/together/components/molecules/socialLinkPreview/index.styled.tsx +39 -0
  739. package/src/together/components/molecules/socialLinkPreview/index.tsx +206 -0
  740. package/src/together/components/molecules/submitReportForm/index.styled.tsx +34 -0
  741. package/src/together/components/molecules/submitReportForm/index.tsx +84 -0
  742. package/src/together/components/molecules/topicSelectList/index.stories.tsx +93 -0
  743. package/src/together/components/molecules/topicSelectList/index.styled.tsx +53 -0
  744. package/src/together/components/molecules/topicSelectList/index.tsx +186 -0
  745. package/src/together/components/organisms/cardPost/cardPostPopover.tsx +293 -0
  746. package/src/together/components/organisms/cardPost/index.stories.tsx +212 -0
  747. package/src/together/components/organisms/cardPost/index.styled.tsx +181 -0
  748. package/src/together/components/organisms/cardPost/index.tsx +458 -0
  749. package/src/together/components/organisms/cardReply/cardReplyPopover.tsx +122 -0
  750. package/src/together/components/organisms/cardReply/index.styled.tsx +199 -0
  751. package/src/together/components/organisms/cardReply/index.tsx +362 -0
  752. package/src/together/components/organisms/index.tsx +5 -0
  753. package/src/together/components/organisms/popoverMenu/index.styled.tsx +313 -0
  754. package/src/together/components/organisms/popoverMenu/index.tsx +102 -0
  755. package/src/together/components/organisms/popoverMenu/treePopoverMenu.tsx +156 -0
  756. package/src/together/hooks/useTogetherAuthRequiredAction.tsx +124 -0
  757. package/src/together/index.ts +12 -0
  758. package/src/together/interfaces/constants.ts +306 -0
  759. package/src/together/interfaces/types.ts +1418 -0
  760. package/src/together/togetherComponentGlobalContext.tsx +150 -0
  761. package/src/together/utils/apiActions/comment.tsx +168 -0
  762. package/src/together/utils/apiActions/community.ts +59 -0
  763. package/src/together/utils/apiActions/post.ts +234 -0
  764. package/src/together/utils/apiActions/topic.ts +40 -0
  765. package/src/together/utils/notification.ts +20 -0
  766. package/src/together/utils/post.ts +351 -0
  767. package/tsconfig.json +28 -0
@@ -0,0 +1,6 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M17.7908 3.6501C17.1569 3.6501 16.6812 4.2268 16.6818 4.79735L16.6818 4.7981C16.6818 5.41984 17.105 6.05564 17.7246 6.58461C18.0219 6.83841 18.3347 7.04093 18.5986 7.17705C18.7306 7.2451 18.8426 7.29258 18.9278 7.32157C18.9718 7.33656 19.0005 7.34382 19.0158 7.34729C19.0312 7.34382 19.0599 7.33656 19.1039 7.32157C19.1891 7.29258 19.3011 7.2451 19.433 7.17705C19.697 7.04093 20.0098 6.83841 20.3071 6.58461C20.9267 6.05564 21.3498 5.41984 21.3498 4.7981C21.3498 4.22629 20.8742 3.6501 20.2408 3.6501C19.8672 3.6501 19.6361 3.81834 19.4978 3.97119C19.3748 4.10721 19.2 4.1849 19.0165 4.1851C18.8331 4.1853 18.6581 4.10799 18.5348 3.97224C18.3946 3.81799 18.1631 3.6501 17.7908 3.6501ZM15.3818 4.79848C15.3807 3.63513 16.3189 2.3501 17.7908 2.3501C18.2981 2.3501 18.704 2.4989 19.0155 2.69448C19.3271 2.49872 19.7333 2.3501 20.2408 2.3501C21.7135 2.3501 22.6498 3.63591 22.6498 4.7981C22.6498 5.98936 21.876 6.95455 21.1511 7.57334C20.7762 7.89341 20.3798 8.15146 20.0289 8.33243C19.8535 8.42292 19.6817 8.49812 19.523 8.55217C19.3764 8.60208 19.1952 8.6501 19.0158 8.6501C18.8365 8.6501 18.6552 8.60208 18.5087 8.55217C18.35 8.49812 18.1782 8.42292 18.0027 8.33243C17.6518 8.15146 17.2555 7.89341 16.8806 7.57334C16.1558 6.95462 15.382 5.98956 15.3818 4.79848ZM15.3818 4.79848C15.3818 4.79835 15.3818 4.79823 15.3818 4.7981H16.0318L15.3818 4.79885C15.3818 4.79873 15.3818 4.7986 15.3818 4.79848Z" fill="#3E3F58"/>
3
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M2.90953 8.78311C4.23509 5.04005 7.79699 2.3501 11.9992 2.3501C12.3652 2.3501 12.7238 2.37277 13.076 2.41464C13.4325 2.45703 13.6871 2.78037 13.6447 3.13684C13.6023 3.49332 13.279 3.74794 12.9225 3.70555C12.6186 3.66942 12.3113 3.6501 11.9992 3.6501C8.36751 3.6501 5.28341 5.97414 4.13496 9.21708C4.01512 9.55547 3.64366 9.73265 3.30526 9.61281C2.96687 9.49297 2.7897 9.12151 2.90953 8.78311Z" fill="#3E3F58"/>
4
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M9.07473 7.35114C9.33041 7.35473 9.56024 7.50789 9.66196 7.74249L12.5334 14.3648L13.6702 11.7416C13.7732 11.5039 14.0075 11.3501 14.2666 11.3501H15.9996C16.3586 11.3501 16.6496 11.6411 16.6496 12.0001C16.6496 12.3591 16.3586 12.6501 15.9996 12.6501H14.6933L13.13 16.2575C13.027 16.4952 12.7927 16.649 12.5337 16.6491C12.2746 16.6491 12.0403 16.4953 11.9373 16.2577L9.0434 9.58376L7.78547 12.2753C7.6786 12.504 7.44902 12.6501 7.19661 12.6501H2.99961C2.64062 12.6501 2.34961 12.3591 2.34961 12.0001C2.34961 11.6411 2.64062 11.3501 2.99961 11.3501H6.78291L8.47675 7.72586C8.58502 7.49421 8.81905 7.34755 9.07473 7.35114Z" fill="#3E3F58"/>
5
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M20.8644 10.3545C21.221 10.3132 21.5436 10.5688 21.5849 10.9254C21.6254 11.2748 21.6492 11.633 21.6492 12.0002C21.6492 17.3301 17.3292 21.6502 11.9992 21.6502C7.79699 21.6502 4.23509 18.9602 2.90953 15.2171C2.7897 14.8788 2.96687 14.5073 3.30526 14.3874C3.64366 14.2676 4.01512 14.4448 4.13496 14.7832C5.28341 18.0261 8.36751 20.3502 11.9992 20.3502C16.6113 20.3502 20.3492 16.6122 20.3492 12.0002C20.3492 11.6893 20.3291 11.3815 20.2936 11.075C20.2523 10.7184 20.5078 10.3958 20.8644 10.3545Z" fill="#3E3F58"/>
6
+ </svg>
@@ -0,0 +1,3 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M19 18.2674V8.84496C19 6.64147 17.4253 4.74489 15.2391 4.31522C13.1006 3.89493 10.8994 3.89493 8.76089 4.31522C6.57467 4.74489 5 6.64147 5 8.84496V18.2674C5 19.6038 6.46752 20.4355 7.63416 19.7604L10.8211 17.9159C11.5492 17.4945 12.4508 17.4945 13.1789 17.9159L16.3658 19.7604C17.5325 20.4355 19 19.6038 19 18.2674Z" stroke="#3E3F58" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/>
3
+ </svg>
@@ -0,0 +1,40 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0)">
3
+ <circle cx="12" cy="12" r="12" fill="url(#paint0_linear)"/>
4
+ <g filter="url(#filter0_bd)">
5
+ <mask id="path-2-inside-1" fill="white">
6
+ <path d="M10.1273 17C9.77373 17 9.42018 16.8692 9.15028 16.6059L5.40485 12.9532C4.86505 12.4268 4.86505 11.574 5.40485 11.0491C5.94464 10.5227 6.81747 10.5211 7.35727 11.0476L10.1273 13.749L16.6427 7.39483C17.1825 6.86839 18.0554 6.86839 18.5952 7.39483C19.1349 7.92127 19.1349 8.77403 18.5952 9.30047L11.1043 16.6059C10.8344 16.8692 10.4808 17 10.1273 17Z"/>
7
+ </mask>
8
+ <path d="M10.1273 17C9.77373 17 9.42018 16.8692 9.15028 16.6059L5.40485 12.9532C4.86505 12.4268 4.86505 11.574 5.40485 11.0491C5.94464 10.5227 6.81747 10.5211 7.35727 11.0476L10.1273 13.749L16.6427 7.39483C17.1825 6.86839 18.0554 6.86839 18.5952 7.39483C19.1349 7.92127 19.1349 8.77403 18.5952 9.30047L11.1043 16.6059C10.8344 16.8692 10.4808 17 10.1273 17Z" fill="url(#paint1_linear)"/>
9
+ <path d="M5.40485 11.0491L5.46615 11.1122L5.46625 11.1121L5.40485 11.0491ZM10.1273 13.749L10.0659 13.812L10.1273 13.8719L10.1887 13.812L10.1273 13.749ZM18.5952 9.30047L18.5338 9.23751L18.5952 9.30047ZM11.1043 16.6059L11.1657 16.6689L11.1043 16.6059ZM10.1273 16.9121C9.7953 16.9121 9.4642 16.7893 9.21168 16.543L9.08888 16.6689C9.37616 16.9491 9.75216 17.0879 10.1273 17.0879V16.9121ZM9.21168 16.543L5.46625 12.8902L5.34345 13.0162L9.08888 16.6689L9.21168 16.543ZM5.46625 12.8902C4.96179 12.3983 4.96192 11.6025 5.46615 11.1122L5.34354 10.9861C4.76818 11.5455 4.76832 12.4553 5.34345 13.0162L5.46625 12.8902ZM5.46625 11.1121C5.97202 10.6188 6.79036 10.6175 7.29587 11.1105L7.41867 10.9846C6.84459 10.4247 5.91727 10.4265 5.34345 10.9861L5.46625 11.1121ZM7.29587 11.1105L10.0659 13.812L10.1887 13.6861L7.41867 10.9846L7.29587 11.1105ZM10.1887 13.812L16.7041 7.45779L16.5813 7.33187L10.0659 13.6861L10.1887 13.812ZM16.7041 7.45779C17.2098 6.96466 18.0281 6.96466 18.5338 7.45779L18.6566 7.33187C18.0826 6.77212 17.1553 6.77212 16.5813 7.33187L16.7041 7.45779ZM18.5338 7.45779C19.0382 7.94971 19.0382 8.74559 18.5338 9.23751L18.6566 9.36343C19.2317 8.80248 19.2317 7.89282 18.6566 7.33187L18.5338 7.45779ZM18.5338 9.23751L11.0429 16.543L11.1657 16.6689L18.6566 9.36343L18.5338 9.23751ZM11.0429 16.543C10.7904 16.7893 10.4593 16.9121 10.1273 16.9121V17.0879C10.5024 17.0879 10.8784 16.9491 11.1657 16.6689L11.0429 16.543Z" fill="url(#paint2_linear)" fill-opacity="0.5" mask="url(#path-2-inside-1)"/>
10
+ </g>
11
+ </g>
12
+ <defs>
13
+ <filter id="filter0_bd" x="-1.59551" y="0.404495" width="27.191" height="23.191" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
14
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
15
+ <feGaussianBlur in="BackgroundImage" stdDeviation="3.29775"/>
16
+ <feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur"/>
17
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
18
+ <feOffset dx="2.1985" dy="2.1985"/>
19
+ <feGaussianBlur stdDeviation="2.1985"/>
20
+ <feColorMatrix type="matrix" values="0 0 0 0 0.454902 0 0 0 0 0.870588 0 0 0 0 0.376471 0 0 0 0.5 0"/>
21
+ <feBlend mode="normal" in2="effect1_backgroundBlur" result="effect2_dropShadow"/>
22
+ <feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow" result="shape"/>
23
+ </filter>
24
+ <linearGradient id="paint0_linear" x1="24" y1="0" x2="7.07779" y2="19.7914" gradientUnits="userSpaceOnUse">
25
+ <stop stop-color="#7EF256"/>
26
+ <stop offset="1" stop-color="#1FB059"/>
27
+ </linearGradient>
28
+ <linearGradient id="paint1_linear" x1="18.0074" y1="8.8058" x2="2.42862" y2="9.51691" gradientUnits="userSpaceOnUse">
29
+ <stop stop-color="white"/>
30
+ <stop offset="1" stop-color="white" stop-opacity="0.2"/>
31
+ </linearGradient>
32
+ <linearGradient id="paint2_linear" x1="6.50811" y1="10.3545" x2="18.3957" y2="10.4464" gradientUnits="userSpaceOnUse">
33
+ <stop stop-color="white"/>
34
+ <stop offset="1" stop-color="white" stop-opacity="0"/>
35
+ </linearGradient>
36
+ <clipPath id="clip0">
37
+ <rect width="24" height="24" fill="white"/>
38
+ </clipPath>
39
+ </defs>
40
+ </svg>
@@ -0,0 +1,40 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g filter="url(#filter0_b)">
3
+ <circle cx="12" cy="12" r="12" fill="url(#paint0_linear)"/>
4
+ </g>
5
+ <g filter="url(#filter1_bd)">
6
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M16.3696 13.6948H13.6087V16.4933C13.6087 17.3935 12.8913 18.118 12 18.118C11.1087 18.118 10.3696 17.3935 10.3696 16.4933V13.6948H7.63043C6.73913 13.6948 6 12.9702 6 12.07C6 11.1478 6.73913 10.4233 7.63043 10.4233H10.3696V7.62478C10.3696 6.72457 11.1087 6 12 6C12.8913 6 13.6087 6.72457 13.6087 7.62478V10.4233H16.3696C17.2609 10.4233 18 11.1478 18 12.07C18 12.9702 17.2609 13.6948 16.3696 13.6948Z" fill="url(#paint1_linear)"/>
7
+ <path d="M13.6087 13.4948H13.4087V13.6948V16.4933C13.4087 17.2849 12.779 17.918 12 17.918C11.2175 17.918 10.5696 17.2814 10.5696 16.4933V13.6948V13.4948H10.3696H7.63043C6.84797 13.4948 6.2 12.8581 6.2 12.07C6.2 11.2581 6.84973 10.6233 7.63043 10.6233H10.3696H10.5696V10.4233V7.62478C10.5696 6.83663 11.2175 6.2 12 6.2C12.779 6.2 13.4087 6.83314 13.4087 7.62478V10.4233V10.6233H13.6087H16.3696C17.1503 10.6233 17.8 11.2581 17.8 12.07C17.8 12.8581 17.152 13.4948 16.3696 13.4948H13.6087Z" stroke="url(#paint2_linear)" stroke-width="0.4"/>
8
+ </g>
9
+ <defs>
10
+ <filter id="filter0_b" x="-13" y="-13" width="50" height="50" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
11
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
12
+ <feGaussianBlur in="BackgroundImage" stdDeviation="6.5"/>
13
+ <feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur"/>
14
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_backgroundBlur" result="shape"/>
15
+ </filter>
16
+ <filter id="filter1_bd" x="-9" y="-9" width="42" height="42.1182" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
17
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
18
+ <feGaussianBlur in="BackgroundImage" stdDeviation="7.5"/>
19
+ <feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur"/>
20
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
21
+ <feOffset dx="5" dy="5"/>
22
+ <feGaussianBlur stdDeviation="5"/>
23
+ <feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 0.321569 0 0 0 0 0.54902 0 0 0 0.5 0"/>
24
+ <feBlend mode="normal" in2="effect1_backgroundBlur" result="effect2_dropShadow"/>
25
+ <feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow" result="shape"/>
26
+ </filter>
27
+ <linearGradient id="paint0_linear" x1="13.7669" y1="13.6071" x2="-7.32168" y2="23.8609" gradientUnits="userSpaceOnUse">
28
+ <stop stop-color="#FF759F"/>
29
+ <stop offset="1" stop-color="#FF196E"/>
30
+ </linearGradient>
31
+ <linearGradient id="paint1_linear" x1="17.1492" y1="8.18827" x2="3.78207" y2="8.61986" gradientUnits="userSpaceOnUse">
32
+ <stop stop-color="white"/>
33
+ <stop offset="1" stop-color="white" stop-opacity="0.2"/>
34
+ </linearGradient>
35
+ <linearGradient id="paint2_linear" x1="7.9102" y1="7.41177" x2="15.6558" y2="16.9115" gradientUnits="userSpaceOnUse">
36
+ <stop stop-color="white" stop-opacity="0.25"/>
37
+ <stop offset="1" stop-color="white" stop-opacity="0"/>
38
+ </linearGradient>
39
+ </defs>
40
+ </svg>
@@ -0,0 +1,27 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <circle cx="12" cy="12" r="12" fill="url(#paint0_linear)"/>
3
+ <g filter="url(#filter0_b)">
4
+ <path d="M17.0985 11.839C16.9722 12.0994 16.9822 12.4057 17.1245 12.6579L19.1466 16.1227C19.3177 16.4165 19.301 16.783 19.1041 17.0606C18.915 17.343 18.5802 17.4907 18.2441 17.4424L14.2704 16.9179C14.1318 16.8984 13.9908 16.9122 13.8574 16.9565L13.6531 17.031C13.5861 17.0674 13.525 17.1153 13.4743 17.173L10.7724 20.1401C10.6375 20.2832 10.4613 20.3807 10.2674 20.4181C9.79028 20.4963 9.33752 20.1797 9.24716 19.7045L8.5662 15.7508C8.51204 15.4639 8.32203 15.2215 8.05671 15.1004L4.37271 13.454C4.06453 13.3161 3.86447 13.0133 3.85941 12.6761C3.85162 12.3407 4.03004 12.0289 4.32353 11.8664L7.87222 9.95717C8.14647 9.8239 8.33356 9.55928 8.36829 9.25625L8.78554 5.26955C8.79727 5.17987 8.8225 5.09211 8.86213 5.01105L8.91074 4.93354C8.93189 4.88143 8.96078 4.83417 8.9964 4.7913L9.06758 4.73119L9.17651 4.63171L9.49389 4.51603C9.78807 4.44211 10.0994 4.52078 10.3222 4.72655L13.2233 7.48668C13.4338 7.68923 13.7306 7.77491 14.0164 7.71773L17.9613 6.89563C18.2944 6.82545 18.6387 6.94763 18.8534 7.21099C19.0623 7.4773 19.0981 7.84006 18.9453 8.14256L17.0985 11.839Z" fill="url(#paint1_linear)"/>
5
+ <path d="M16.9195 11.7496L16.9195 11.7496L18.7664 8.05318L18.7667 8.0524C18.8843 7.81958 18.8571 7.54089 18.6972 7.33592C18.5296 7.13144 18.2616 7.03675 18.0025 7.09133L18.0021 7.09142L14.0572 7.91352L14.0556 7.91384C13.7062 7.98375 13.343 7.87919 13.085 7.63112C13.0848 7.63101 13.0847 7.6309 13.0846 7.63078L10.1855 4.87253C10.015 4.71572 9.77788 4.65425 9.55205 4.7077L9.28217 4.80607L9.20246 4.87887L9.19671 4.88412L9.19661 4.884L9.14038 4.93148C9.12185 4.95581 9.10715 4.98143 9.09607 5.00873L9.08948 5.02497L9.08017 5.03982L9.03759 5.1077C9.0109 5.16474 8.99298 5.22745 8.98417 5.29309L8.56721 9.27707L8.567 9.27903L8.56699 9.27903C8.52465 9.64842 8.29731 9.97132 7.96352 10.1352L4.41942 12.0419C4.1918 12.1684 4.0533 12.4106 4.05936 12.6714L4.0594 12.6731C4.06327 12.9322 4.21695 13.1652 4.4544 13.2715L8.13831 14.9178L8.13974 14.9184C8.4642 15.0665 8.69651 15.363 8.76273 15.7137L8.76332 15.7168L8.7633 15.7168L9.44394 19.6687C9.51459 20.0356 9.86385 20.2801 10.2323 20.2212C10.383 20.1915 10.5202 20.1155 10.6258 20.004L13.3253 17.0396C13.3921 16.9639 13.4716 16.902 13.5577 16.8552L13.5707 16.8482L13.5847 16.8431L13.789 16.7686L13.7943 16.7667L13.7944 16.7667C13.9556 16.7131 14.1274 16.696 14.2973 16.7197C14.2976 16.7198 14.2979 16.7198 14.2982 16.7198L18.2702 17.2441L18.2725 17.2444C18.5331 17.2818 18.792 17.1673 18.938 16.9493L18.9409 16.9448L18.941 16.9449C19.0926 16.7311 19.1053 16.4493 18.9739 16.2235L16.9195 11.7496ZM16.9195 11.7496L16.9185 11.7517C16.7635 12.0714 16.7759 12.4471 16.9503 12.7562L16.9503 12.7562L16.9518 12.7587L18.9738 16.2234L16.9195 11.7496Z" stroke="url(#paint2_linear)" stroke-width="0.4"/>
6
+ </g>
7
+ <defs>
8
+ <filter id="filter0_b" x="-13.1504" y="-13.1938" width="50.3008" height="49.8208" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
9
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
10
+ <feGaussianBlur in="BackgroundImage" stdDeviation="7.5"/>
11
+ <feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur"/>
12
+ <feBlend mode="normal" in="SourceGraphic" in2="effect1_backgroundBlur" result="shape"/>
13
+ </filter>
14
+ <linearGradient id="paint0_linear" x1="12" y1="0" x2="12" y2="24" gradientUnits="userSpaceOnUse">
15
+ <stop stop-color="#FFB37F"/>
16
+ <stop offset="1" stop-color="#FF7B0D"/>
17
+ </linearGradient>
18
+ <linearGradient id="paint1_linear" x1="16.8029" y1="4.7824" x2="0.2177" y2="11.4805" gradientUnits="userSpaceOnUse">
19
+ <stop stop-color="white"/>
20
+ <stop offset="1" stop-color="white" stop-opacity="0.2"/>
21
+ </linearGradient>
22
+ <linearGradient id="paint2_linear" x1="4.85831" y1="8.09618" x2="18.1765" y2="16.5763" gradientUnits="userSpaceOnUse">
23
+ <stop stop-color="white" stop-opacity="0.25"/>
24
+ <stop offset="1" stop-color="white" stop-opacity="0"/>
25
+ </linearGradient>
26
+ </defs>
27
+ </svg>
@@ -0,0 +1,33 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0)">
3
+ <circle cx="12" cy="12" r="12" fill="#9E4CD1"/>
4
+ <g filter="url(#filter0_bd)">
5
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M13.2523 5.84091C13.8813 5.30022 14.6854 5 15.5205 5C17.4422 5 19 6.55782 19 8.47948C19 9.31461 18.6998 10.1188 18.1591 10.7477C18.1023 10.8137 18.0429 10.8778 17.9809 10.9398L13.9598 14.9609C12.1041 16.8167 9.77885 18.1332 7.23277 18.7697L6.45558 18.964C5.59826 19.1783 4.82168 18.4018 5.03602 17.5444L5.23031 16.7673C5.86683 14.2212 7.18336 11.8959 9.03912 10.0402L13.0602 6.01912C13.1222 5.95712 13.1863 5.89769 13.2523 5.84091ZM15.6671 10.8779C15.0847 10.6429 14.5581 10.2694 14.1443 9.85567C13.7306 9.4419 13.3571 8.91532 13.1222 8.33289L10.227 11.2281C8.59782 12.8572 7.43878 14.8957 6.87177 17.1283C9.1043 16.5612 11.1428 15.4022 12.772 13.773L15.6671 10.8779Z" fill="url(#paint0_linear)"/>
6
+ <path d="M15.7378 10.9486L15.8447 10.8417L15.7045 10.7851C15.1362 10.5559 14.6207 10.1906 14.2151 9.78496C13.8095 9.37936 13.4441 8.8638 13.2149 8.29548L13.1584 8.15528L13.0515 8.26218L10.1563 11.1573C8.51438 12.7993 7.34629 14.8537 6.77485 17.1036L6.73347 17.2666L6.89638 17.2252C9.14636 16.6537 11.2008 15.4856 12.8427 13.8437L15.7378 10.9486ZM18.0833 10.6825L18.1591 10.7477L18.0833 10.6825C18.0281 10.7467 17.9704 10.8089 17.9102 10.8691L13.8891 14.8902C12.0462 16.7331 9.73702 18.0406 7.20851 18.6727L6.43133 18.867C5.64724 19.063 4.93701 18.3528 5.13303 17.5687L5.32733 16.7915C5.95945 14.263 7.26688 11.9538 9.10983 10.1109L13.1309 6.08983C13.1911 6.02961 13.2534 5.97189 13.3175 5.91674C13.9284 5.39159 14.7094 5.1 15.5205 5.1C17.387 5.1 18.9 6.61304 18.9 8.47948C18.9 9.29061 18.6084 10.0716 18.0833 10.6825Z" stroke="url(#paint1_linear)" stroke-opacity="0.5" stroke-width="0.2"/>
7
+ </g>
8
+ </g>
9
+ <defs>
10
+ <filter id="filter0_bd" x="-10" y="-10" width="44" height="44" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
11
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
12
+ <feGaussianBlur in="BackgroundImage" stdDeviation="7.5"/>
13
+ <feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur"/>
14
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
15
+ <feOffset dx="5" dy="5"/>
16
+ <feGaussianBlur stdDeviation="5"/>
17
+ <feColorMatrix type="matrix" values="0 0 0 0 0.15375 0 0 0 0 0.522433 0 0 0 0 0.9 0 0 0 0.5 0"/>
18
+ <feBlend mode="normal" in2="effect1_backgroundBlur" result="effect2_dropShadow"/>
19
+ <feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow" result="shape"/>
20
+ </filter>
21
+ <linearGradient id="paint0_linear" x1="18.0074" y1="7.52812" x2="2.41273" y2="8.03658" gradientUnits="userSpaceOnUse">
22
+ <stop stop-color="white"/>
23
+ <stop offset="1" stop-color="white" stop-opacity="0.2"/>
24
+ </linearGradient>
25
+ <linearGradient id="paint1_linear" x1="6.50811" y1="9.69633" x2="18.3961" y2="9.76196" gradientUnits="userSpaceOnUse">
26
+ <stop stop-color="white"/>
27
+ <stop offset="1" stop-color="white" stop-opacity="0"/>
28
+ </linearGradient>
29
+ <clipPath id="clip0">
30
+ <rect width="24" height="24" fill="white"/>
31
+ </clipPath>
32
+ </defs>
33
+ </svg>
@@ -0,0 +1,33 @@
1
+ <svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0)">
3
+ <circle cx="12" cy="12" r="12" fill="#4096FE"/>
4
+ <g filter="url(#filter0_bd)">
5
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M13.2523 5.84091C13.8813 5.30022 14.6854 5 15.5205 5C17.4422 5 19 6.55782 19 8.47948C19 9.31461 18.6998 10.1188 18.1591 10.7477C18.1023 10.8137 18.0429 10.8778 17.9809 10.9398L13.9598 14.9609C12.1041 16.8167 9.77885 18.1332 7.23277 18.7697L6.45558 18.964C5.59826 19.1783 4.82168 18.4018 5.03602 17.5444L5.23031 16.7673C5.86683 14.2212 7.18336 11.8959 9.03912 10.0402L13.0602 6.01912C13.1222 5.95712 13.1863 5.89769 13.2523 5.84091ZM15.6671 10.8779C15.0847 10.6429 14.5581 10.2694 14.1443 9.85567C13.7306 9.4419 13.3571 8.91532 13.1222 8.33289L10.227 11.2281C8.59782 12.8572 7.43878 14.8957 6.87177 17.1283C9.1043 16.5612 11.1428 15.4022 12.772 13.773L15.6671 10.8779Z" fill="url(#paint0_linear)"/>
6
+ <path d="M15.7378 10.9486L15.8447 10.8417L15.7045 10.7851C15.1362 10.5559 14.6207 10.1906 14.2151 9.78496C13.8095 9.37936 13.4441 8.8638 13.2149 8.29548L13.1584 8.15528L13.0515 8.26218L10.1563 11.1573C8.51438 12.7993 7.34629 14.8537 6.77485 17.1036L6.73347 17.2666L6.89638 17.2252C9.14636 16.6537 11.2008 15.4856 12.8427 13.8437L15.7378 10.9486ZM18.0833 10.6825L18.1591 10.7477L18.0833 10.6825C18.0281 10.7467 17.9704 10.8089 17.9102 10.8691L13.8891 14.8902C12.0462 16.7331 9.73702 18.0406 7.20851 18.6727L6.43133 18.867C5.64724 19.063 4.93701 18.3528 5.13303 17.5687L5.32733 16.7915C5.95945 14.263 7.26688 11.9538 9.10983 10.1109L13.1309 6.08983C13.1911 6.02961 13.2534 5.97189 13.3175 5.91674C13.9284 5.39159 14.7094 5.1 15.5205 5.1C17.387 5.1 18.9 6.61304 18.9 8.47948C18.9 9.29061 18.6084 10.0716 18.0833 10.6825Z" stroke="url(#paint1_linear)" stroke-opacity="0.5" stroke-width="0.2"/>
7
+ </g>
8
+ </g>
9
+ <defs>
10
+ <filter id="filter0_bd" x="-10" y="-10" width="44" height="44" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
11
+ <feFlood flood-opacity="0" result="BackgroundImageFix"/>
12
+ <feGaussianBlur in="BackgroundImage" stdDeviation="7.5"/>
13
+ <feComposite in2="SourceAlpha" operator="in" result="effect1_backgroundBlur"/>
14
+ <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
15
+ <feOffset dx="5" dy="5"/>
16
+ <feGaussianBlur stdDeviation="5"/>
17
+ <feColorMatrix type="matrix" values="0 0 0 0 0.15375 0 0 0 0 0.522433 0 0 0 0 0.9 0 0 0 0.5 0"/>
18
+ <feBlend mode="normal" in2="effect1_backgroundBlur" result="effect2_dropShadow"/>
19
+ <feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow" result="shape"/>
20
+ </filter>
21
+ <linearGradient id="paint0_linear" x1="18.0074" y1="7.52812" x2="2.41273" y2="8.03658" gradientUnits="userSpaceOnUse">
22
+ <stop stop-color="white"/>
23
+ <stop offset="1" stop-color="white" stop-opacity="0.2"/>
24
+ </linearGradient>
25
+ <linearGradient id="paint1_linear" x1="6.50811" y1="9.69633" x2="18.3961" y2="9.76196" gradientUnits="userSpaceOnUse">
26
+ <stop stop-color="white"/>
27
+ <stop offset="1" stop-color="white" stop-opacity="0"/>
28
+ </linearGradient>
29
+ <clipPath id="clip0">
30
+ <rect width="24" height="24" fill="white"/>
31
+ </clipPath>
32
+ </defs>
33
+ </svg>
@@ -0,0 +1,23 @@
1
+ import { LocaleType } from 'interfaces/types'
2
+
3
+ import { UserProfileMenuCard } from './types'
4
+
5
+ export const DEFAULT_ENABLE_CARE_PROFILE_MENU_LOCALES: LocaleType[] = []
6
+
7
+ export const DEFAULT_ENABLE_COMMUNITY_PROFILE_MENU_LOCALES: LocaleType[] = [
8
+ 'vi-VN',
9
+ 'id-ID',
10
+ ]
11
+
12
+ export const DEFAULT_ENABLE_ECOM_PROFILE_MENU_LOCALES: LocaleType[] = []
13
+
14
+ export const INTERNAL_CARD_URLS: {
15
+ [key in UserProfileMenuCard]?: string
16
+ } = {
17
+ myBooking: 'booking',
18
+ mySaved: 'saved',
19
+ myHealth: 'health',
20
+ myFamily: 'family',
21
+ myCommunity: 'my-communities',
22
+ eCom: 'shop',
23
+ }
@@ -0,0 +1,79 @@
1
+ import React from 'react'
2
+
3
+ import { Story } from '@storybook/react/types-6-0'
4
+ import styled from 'styled-components'
5
+
6
+ import { TranslationsProvider } from '../../../i18n/translationsProvider'
7
+ import { UserProfileNavigation, UserProfileNavigationProps } from './index'
8
+
9
+ export default {
10
+ component: UserProfileNavigation,
11
+ title: 'Organisms/UserProfileNavigation',
12
+ }
13
+
14
+ const StoryWrapper = styled.div`
15
+ width: 368px;
16
+ padding: 16px;
17
+ `
18
+
19
+ const Template: Story<UserProfileNavigationProps> = (args) => (
20
+ // @ts-ignore
21
+ <TranslationsProvider locale={args.locale}>
22
+ <StoryWrapper>
23
+ <UserProfileNavigation {...args} />
24
+ </StoryWrapper>
25
+ </TranslationsProvider>
26
+ )
27
+
28
+ const baseProps = {
29
+ userInfo: {
30
+ name: 'Petr Statham',
31
+ username: 'petr.statham',
32
+ avatar: '',
33
+ email: 'petr@gmail.com',
34
+ role: 'User',
35
+ id: 1,
36
+ bookmarks: [],
37
+ total_bookmark: 0,
38
+ },
39
+ SSO_URL: '/',
40
+ locale: 'vi-VN',
41
+ ENABLE_CARE_PROFILE_MENU_LOCALES: ['vi-VN'],
42
+ // onClickNavigationCard: (item) => console.log('onClickNavigationCard', item),
43
+ onClickMenuItem: (item) => console.log('onClickMenuItem', item),
44
+ onClickMyProfileButton: () => console.log('onClickMyProfileButton'),
45
+ onClickLogout: () => console.log('onClickLogout'),
46
+ isMyHealthEnabled: true,
47
+ }
48
+
49
+ export const HelloSites = Template.bind({})
50
+
51
+ HelloSites.args = {
52
+ ...baseProps,
53
+ themeName: 'helloSites',
54
+ }
55
+
56
+ export const HelloSitesMenuHidden = Template.bind({})
57
+
58
+ HelloSitesMenuHidden.args = {
59
+ ...baseProps,
60
+ themeName: 'helloSites',
61
+ isUserProfileNavigatorMenuHidden: true,
62
+ }
63
+
64
+ export const MarryBaby = Template.bind({})
65
+
66
+ MarryBaby.args = {
67
+ ...baseProps,
68
+ themeName: 'marryBaby',
69
+ locale: 'vi-VN',
70
+ }
71
+
72
+ export const MarryBabyMenuHidden = Template.bind({})
73
+
74
+ MarryBabyMenuHidden.args = {
75
+ ...baseProps,
76
+ themeName: 'marryBaby',
77
+ isUserProfileNavigatorMenuHidden: true,
78
+ locale: 'vi-VN',
79
+ }
@@ -0,0 +1,60 @@
1
+ import { Button } from 'components/atoms/button'
2
+ import styled from 'styled-components'
3
+
4
+ import { NavigationCard } from './navigationCard'
5
+
6
+ export const StyledUserNavScreen = styled.div`
7
+ display: flex;
8
+ flex-direction: column;
9
+ padding: 18px 16px;
10
+ &[data-theme='helloSites'] {
11
+ gap: 16px;
12
+ }
13
+ &[data-theme='marryBaby'] {
14
+ font-family: Inter, 'Open Sans', sans-serif;
15
+ gap: 24px;
16
+ }
17
+
18
+ // reset inherited values
19
+ font-size: initial;
20
+ font-weight: initial;
21
+ line-height: initial;
22
+ `
23
+
24
+ export const StyledNavigationCardsWrapper = styled.div`
25
+ flex: 1;
26
+ display: inline-flex;
27
+ flex-wrap: wrap;
28
+ [data-theme='helloSites'] & {
29
+ gap: 8px;
30
+ margin-right: -8px;
31
+ }
32
+ [data-theme='marryBaby'] & {
33
+ gap: 16px;
34
+ }
35
+ `
36
+
37
+ export const StyledNavigationCard = styled(NavigationCard)`
38
+ [data-theme='helloSites'] & {
39
+ width: calc(50% - 8px);
40
+ }
41
+ [data-theme='marryBaby'] & {
42
+ flex: 1;
43
+ width: 33.33%;
44
+ }
45
+ `
46
+
47
+ export const StyledLogoutButton = styled(Button)`
48
+ span {
49
+ justify-content: center;
50
+ font-weight: normal;
51
+ img {
52
+ margin-right: 8px;
53
+ }
54
+ }
55
+
56
+ & .button-icon {
57
+ width: 15px;
58
+ height: 15px;
59
+ }
60
+ `
@@ -0,0 +1,219 @@
1
+ import React, { useEffect, useMemo, useState } from 'react'
2
+
3
+ import { useTranslations } from 'hooks/useTranslations'
4
+ import { LocaleType } from 'interfaces/types'
5
+ import { getCookie } from 'misc/cookieHelper'
6
+
7
+ import { UserInfo } from '../navigationLayout/types'
8
+ import { getTogetherUserPostsApiPath } from '../navigationLayout/utils'
9
+ import logoutIconUrl from './assets/helloSites/icon-logOut.svg'
10
+ import { INTERNAL_CARD_URLS } from './constants'
11
+ import {
12
+ StyledUserNavScreen,
13
+ StyledNavigationCard,
14
+ StyledNavigationCardsWrapper,
15
+ StyledLogoutButton,
16
+ } from './index.styled'
17
+ import { NavHeader } from './navHeader'
18
+ import { NavMenu } from './navMenu'
19
+ import {
20
+ UserProfileMenuCard,
21
+ UserProfileNavMenuItem,
22
+ UserProfileTheme,
23
+ } from './types'
24
+ import { UserStats } from './userStats'
25
+
26
+ export type UserProfileNavigationProps = {
27
+ SSO_URL?: string
28
+ UP_BASEPATH?: string
29
+ themeName?: UserProfileTheme
30
+ userInfo: UserInfo | null
31
+ userPostsNumber?: number
32
+ /** example: { mySaved: 'saved' } will be combined with SSO_URL to be redirected to SSO_URL/saved */
33
+ cardUrls?: {
34
+ [key in UserProfileMenuCard]?: string
35
+ }
36
+ togetherApiDomain?: string
37
+ enableCare?: boolean
38
+ enableTogether?: boolean
39
+ enableEcom?: boolean
40
+ onClickNavigationCard?: (cardType: string) => void
41
+ onClickMyProfileButton?: () => void
42
+ onClickMenuItem?: (key: string) => void
43
+ onClickLogout?: () => void
44
+ isUserProfileNavigatorMenuHidden?: boolean
45
+ isMyHealthEnabled?: boolean
46
+
47
+ // NOTE: THESE props are not used anymore, keep for backwards compatibility
48
+ ENABLE_CARE_PROFILE_MENU_LOCALES?: LocaleType[]
49
+ ENABLE_COMMUNITY_PROFILE_MENU_LOCALES?: LocaleType[]
50
+ ENABLE_ECOM_PROFILE_MENU_LOCALES?: LocaleType[]
51
+ userProfileRouterPush?: (s: string) => void
52
+ }
53
+
54
+ const UserProfileNavigation = ({
55
+ SSO_URL,
56
+ UP_BASEPATH = 'user',
57
+ themeName = 'helloSites',
58
+ cardUrls = INTERNAL_CARD_URLS,
59
+ enableCare,
60
+ enableTogether,
61
+ enableEcom,
62
+ userInfo,
63
+ togetherApiDomain,
64
+ userPostsNumber,
65
+ onClickNavigationCard,
66
+ onClickMyProfileButton,
67
+ onClickMenuItem,
68
+ onClickLogout,
69
+ isUserProfileNavigatorMenuHidden = false,
70
+ isMyHealthEnabled = false,
71
+ }: UserProfileNavigationProps) => {
72
+ const { t, locale } = useTranslations()
73
+ const [numberOfPosts, setNumberOfPosts] = useState(userPostsNumber || 0)
74
+ const isMarryBaby = themeName === 'marryBaby'
75
+
76
+ useEffect(() => {
77
+ if (userInfo && typeof userPostsNumber === 'undefined') {
78
+ const token = getCookie('hhg_user_token')
79
+ if (!!token) {
80
+ fetch(
81
+ getTogetherUserPostsApiPath(locale, isMarryBaby, togetherApiDomain),
82
+ {
83
+ headers: {
84
+ Authorization: `Bearer ${token}`,
85
+ },
86
+ },
87
+ )
88
+ .then((r) => r.json())
89
+ .then((r) => {
90
+ if (r?.status === 1 && r?.data?.pagination) {
91
+ setNumberOfPosts(r?.data?.pagination?.total_items || 0)
92
+ }
93
+ })
94
+ .catch((err) => console.error('Error fetching post number', err))
95
+ }
96
+ }
97
+ }, [
98
+ locale,
99
+ userInfo !== null,
100
+ userPostsNumber,
101
+ togetherApiDomain,
102
+ isMarryBaby,
103
+ ])
104
+
105
+ const cards = useMemo<UserProfileMenuCard[]>(() => {
106
+ let allCards: UserProfileMenuCard[]
107
+ if (isMarryBaby) {
108
+ allCards = ['myHealth', 'myCommunity', 'mySaved']
109
+ } else {
110
+ allCards = ['myHealth', 'mySaved', 'myBooking', 'myCommunity', 'eCom']
111
+ }
112
+ return allCards.filter((cardType) => {
113
+ if (cardType === 'myBooking') {
114
+ return enableCare
115
+ } else if (cardType === 'myCommunity') {
116
+ return enableTogether
117
+ } else if (cardType === 'myHealth') {
118
+ return isMyHealthEnabled
119
+ } else if (cardType === 'eCom') {
120
+ return enableEcom
121
+ }
122
+ return true
123
+ })
124
+ }, [isMarryBaby, isMyHealthEnabled])
125
+
126
+ const logoutButton = useMemo(() => {
127
+ if (themeName === 'marryBaby') {
128
+ return null
129
+ }
130
+ return (
131
+ <StyledLogoutButton
132
+ color="tertiary"
133
+ icon={<img src={logoutIconUrl} width={15} height={15} />}
134
+ size="md"
135
+ onClick={onClickLogout}
136
+ >
137
+ {t('userProfile.nav.menu.logout')}
138
+ </StyledLogoutButton>
139
+ )
140
+ }, [themeName])
141
+
142
+ const push = (link: string) => {
143
+ window.location.href = `${SSO_URL}${UP_BASEPATH}/${link}`
144
+ }
145
+
146
+ const handleClickMenuItem = (item: UserProfileNavMenuItem) => {
147
+ if (item.link === 'logout' && onClickLogout) {
148
+ onClickLogout()
149
+ } else if (item.link && !item.subMenu) {
150
+ if (onClickMenuItem) {
151
+ onClickMenuItem(item.link)
152
+ } else {
153
+ push(item.link)
154
+ }
155
+ }
156
+ }
157
+
158
+ const handleClickCardItem = (item: UserProfileMenuCard) => {
159
+ const url = cardUrls[item]
160
+ if (onClickNavigationCard) {
161
+ onClickNavigationCard(url)
162
+ } else {
163
+ push(url)
164
+ }
165
+ }
166
+
167
+ const handleClickViewProfile = () => {
168
+ if (onClickMyProfileButton) {
169
+ onClickMyProfileButton()
170
+ } else {
171
+ push('profile')
172
+ }
173
+ }
174
+
175
+ if (!userInfo) {
176
+ return null
177
+ }
178
+
179
+ return (
180
+ <StyledUserNavScreen data-theme={themeName}>
181
+ <NavHeader
182
+ userInfo={userInfo}
183
+ themeName={themeName}
184
+ onClickMyProfileButton={handleClickViewProfile}
185
+ />
186
+ <UserStats
187
+ themeName={themeName}
188
+ rank="member"
189
+ numberOfPosts={numberOfPosts}
190
+ />
191
+ <StyledNavigationCardsWrapper>
192
+ {cards.map((cardType) => (
193
+ <StyledNavigationCard
194
+ key={cardType}
195
+ themeName={themeName}
196
+ type={cardType}
197
+ onClick={handleClickCardItem}
198
+ />
199
+ ))}
200
+ </StyledNavigationCardsWrapper>
201
+ {!isUserProfileNavigatorMenuHidden && (
202
+ <>
203
+ <NavMenu
204
+ themeName={themeName}
205
+ locale={locale}
206
+ onClickItem={handleClickMenuItem}
207
+ />
208
+ {logoutButton}
209
+ </>
210
+ )}
211
+ </StyledUserNavScreen>
212
+ )
213
+ }
214
+
215
+ export {
216
+ UserProfileNavigation,
217
+ NavHeader as UserProfileNavigationHeader,
218
+ UserStats as UserProfileNavigationStats,
219
+ }