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

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 (1529) hide show
  1. package/package.json +4 -3
  2. package/raw/assets/svg/Spotlight.svg +12 -0
  3. package/raw/assets/svg/StarEmptyIcon.tsx +19 -0
  4. package/raw/assets/svg/StarFullIcon.tsx +21 -0
  5. package/raw/assets/svg/StarHalfIcon.tsx +35 -0
  6. package/raw/assets/svg/arrowDoor.svg +9 -0
  7. package/raw/assets/svg/calendar.svg +3 -0
  8. package/raw/assets/svg/calendarArrowLeft.svg +3 -0
  9. package/raw/assets/svg/calendarArrowRight.svg +3 -0
  10. package/raw/assets/svg/check.svg +3 -0
  11. package/raw/assets/svg/chevronDown.svg +3 -0
  12. package/raw/assets/svg/chevronRight.svg +3 -0
  13. package/raw/assets/svg/chevronRightActive.svg +3 -0
  14. package/raw/assets/svg/chevronRightWhite.svg +3 -0
  15. package/raw/assets/svg/chevronUpBlue.svg +3 -0
  16. package/raw/assets/svg/closeLight.svg +4 -0
  17. package/raw/assets/svg/closeWhite.svg +4 -0
  18. package/raw/assets/svg/community.svg +1 -0
  19. package/raw/assets/svg/discover.png +0 -0
  20. package/raw/assets/svg/facebook.svg +4 -0
  21. package/raw/assets/svg/hamburgerMenu.svg +5 -0
  22. package/raw/assets/svg/hamburgerMenuNew.svg +1 -0
  23. package/raw/assets/svg/hamburgerMenuNewWithSearch.svg +1 -0
  24. package/raw/assets/svg/healthTools.png +0 -0
  25. package/raw/assets/svg/helloCare-thumbnail.png +0 -0
  26. package/raw/assets/svg/index.ts +63 -0
  27. package/raw/assets/svg/info-light.svg +5 -0
  28. package/raw/assets/svg/instagram.svg +1 -0
  29. package/raw/assets/svg/linkedin.svg +1 -0
  30. package/raw/assets/svg/lock.png +0 -0
  31. package/raw/assets/svg/login.svg +1 -0
  32. package/raw/assets/svg/sehat-badge.png +0 -0
  33. package/raw/assets/svg/together.png +0 -0
  34. package/raw/assets/svg/youtube.svg +4 -0
  35. package/raw/assets/svg/zalo.png +0 -0
  36. package/raw/cache/core.ts +52 -0
  37. package/raw/cache/index.ts +1 -0
  38. package/raw/care/api/paths.ts +11 -0
  39. package/raw/care/api/utils.ts +32 -0
  40. package/raw/care/components/atoms/icons/index.tsx +170 -0
  41. package/raw/care/components/organisms/bookingSearchBar/constants.ts +9 -0
  42. package/raw/care/components/organisms/bookingSearchBar/index.stories.tsx +127 -0
  43. package/raw/care/components/organisms/bookingSearchBar/index.styled.ts +51 -0
  44. package/raw/care/components/organisms/bookingSearchBar/index.test.tsx +556 -0
  45. package/raw/care/components/organisms/bookingSearchBar/index.tsx +448 -0
  46. package/raw/care/components/organisms/bookingSearchBar/locationResults/index.styled.ts +94 -0
  47. package/raw/care/components/organisms/bookingSearchBar/locationResults/index.tsx +132 -0
  48. package/raw/care/components/organisms/bookingSearchBar/locationResults/liSkeleton.tsx +52 -0
  49. package/raw/care/components/organisms/bookingSearchBar/mobileFakeInput/index.tsx +68 -0
  50. package/raw/care/components/organisms/bookingSearchBar/mobileTopbar/index.stories.tsx +22 -0
  51. package/raw/care/components/organisms/bookingSearchBar/mobileTopbar/index.styled.ts +41 -0
  52. package/raw/care/components/organisms/bookingSearchBar/mobileTopbar/index.tsx +48 -0
  53. package/raw/care/components/organisms/bookingSearchBar/reducer.ts +293 -0
  54. package/raw/care/components/organisms/bookingSearchBar/resultSection/icons.tsx +37 -0
  55. package/raw/care/components/organisms/bookingSearchBar/resultSection/index.stories.tsx +155 -0
  56. package/raw/care/components/organisms/bookingSearchBar/resultSection/index.styled.ts +89 -0
  57. package/raw/care/components/organisms/bookingSearchBar/resultSection/index.tsx +234 -0
  58. package/raw/care/components/organisms/bookingSearchBar/resultSectionItem/index.stories.tsx +55 -0
  59. package/raw/care/components/organisms/bookingSearchBar/resultSectionItem/index.styled.ts +75 -0
  60. package/raw/care/components/organisms/bookingSearchBar/resultSectionItem/index.tsx +86 -0
  61. package/raw/care/components/organisms/bookingSearchBar/searchInputs/index.styled.ts +42 -0
  62. package/raw/care/components/organisms/bookingSearchBar/searchInputs/index.tsx +219 -0
  63. package/raw/care/components/organisms/bookingSearchBar/searchResults/index.stories.tsx +55 -0
  64. package/raw/care/components/organisms/bookingSearchBar/searchResults/index.tsx +62 -0
  65. package/raw/care/components/organisms/bookingSearchBar/searchResults/mockData.ts +169 -0
  66. package/raw/care/components/organisms/bookingSearchBar/searchSubmitIcon/index.tsx +73 -0
  67. package/raw/care/components/organisms/bookingSearchBar/types.ts +12 -0
  68. package/raw/care/components/organisms/bookingSearchBar/useAnimatedPlaceholder.ts +86 -0
  69. package/raw/care/components/organisms/bookingSearchBar/useSearchBarApi.ts +150 -0
  70. package/raw/care/components/organisms/bookingSearchBar/utils/Typewriter.ts +437 -0
  71. package/raw/care/index.ts +6 -0
  72. package/raw/care/interfaces/constants.ts +75 -0
  73. package/raw/care/interfaces/types.ts +258 -0
  74. package/raw/components/atoms/alert/__snapshots__/index.test.tsx.snap +130 -0
  75. package/raw/components/atoms/alert/index.stories.tsx +21 -0
  76. package/raw/components/atoms/alert/index.styled.tsx +44 -0
  77. package/raw/components/atoms/alert/index.test.tsx +28 -0
  78. package/raw/components/atoms/alert/index.tsx +47 -0
  79. package/raw/components/atoms/avatar/index.stories.tsx +49 -0
  80. package/raw/components/atoms/avatar/index.styled.tsx +96 -0
  81. package/raw/components/atoms/avatar/index.tsx +91 -0
  82. package/raw/components/atoms/badge/__snapshots__/index.test.tsx.snap +61 -0
  83. package/raw/components/atoms/badge/index.stories.tsx +71 -0
  84. package/raw/components/atoms/badge/index.styled.tsx +138 -0
  85. package/raw/components/atoms/badge/index.test.tsx +27 -0
  86. package/raw/components/atoms/badge/index.tsx +45 -0
  87. package/raw/components/atoms/borderHeading/index.stories.tsx +38 -0
  88. package/raw/components/atoms/borderHeading/index.styled.tsx +50 -0
  89. package/raw/components/atoms/borderHeading/index.tsx +39 -0
  90. package/raw/components/atoms/button/__snapshots__/index.test.tsx.snap +57 -0
  91. package/raw/components/atoms/button/index.stories.tsx +107 -0
  92. package/raw/components/atoms/button/index.styled.tsx +335 -0
  93. package/raw/components/atoms/button/index.test.tsx +25 -0
  94. package/raw/components/atoms/button/index.tsx +207 -0
  95. package/raw/components/atoms/checkbox/__snapshots__/index.test.tsx.snap +120 -0
  96. package/raw/components/atoms/checkbox/index.stories.tsx +30 -0
  97. package/raw/components/atoms/checkbox/index.styled.tsx +90 -0
  98. package/raw/components/atoms/checkbox/index.test.tsx +31 -0
  99. package/raw/components/atoms/checkbox/index.tsx +48 -0
  100. package/raw/components/atoms/container/index.styled.tsx +16 -0
  101. package/raw/components/atoms/container/index.tsx +21 -0
  102. package/raw/components/atoms/displayWrapper/index.styled.tsx +19 -0
  103. package/raw/components/atoms/displayWrapper/index.tsx +66 -0
  104. package/raw/components/atoms/divider/__snapshots__/index.test.tsx.snap +14 -0
  105. package/raw/components/atoms/divider/index.stories.tsx +19 -0
  106. package/raw/components/atoms/divider/index.styled.tsx +10 -0
  107. package/raw/components/atoms/divider/index.test.tsx +22 -0
  108. package/raw/components/atoms/divider/index.tsx +34 -0
  109. package/raw/components/atoms/fileDropdown/__snapshots__/index.test.tsx.snap +143 -0
  110. package/raw/components/atoms/fileDropdown/index.stories.tsx +41 -0
  111. package/raw/components/atoms/fileDropdown/index.styled.tsx +112 -0
  112. package/raw/components/atoms/fileDropdown/index.test.tsx +46 -0
  113. package/raw/components/atoms/fileDropdown/index.tsx +200 -0
  114. package/raw/components/atoms/flag/__snapshots__/index.test.tsx.snap +59 -0
  115. package/raw/components/atoms/flag/icons/cambodia.tsx +24 -0
  116. package/raw/components/atoms/flag/icons/english.tsx +195 -0
  117. package/raw/components/atoms/flag/icons/india.tsx +24 -0
  118. package/raw/components/atoms/flag/icons/indonesia.tsx +55 -0
  119. package/raw/components/atoms/flag/icons/malaysia.tsx +89 -0
  120. package/raw/components/atoms/flag/icons/myanmar.tsx +105 -0
  121. package/raw/components/atoms/flag/icons/philippines.tsx +24 -0
  122. package/raw/components/atoms/flag/icons/taiwan.tsx +154 -0
  123. package/raw/components/atoms/flag/icons/thailand.tsx +55 -0
  124. package/raw/components/atoms/flag/icons/vietnam.tsx +57 -0
  125. package/raw/components/atoms/flag/index.stories.tsx +30 -0
  126. package/raw/components/atoms/flag/index.styled.tsx +18 -0
  127. package/raw/components/atoms/flag/index.test.tsx +21 -0
  128. package/raw/components/atoms/flag/index.tsx +150 -0
  129. package/raw/components/atoms/grid/__snapshots__/index.test.tsx.snap +38 -0
  130. package/raw/components/atoms/grid/index.stories.tsx +50 -0
  131. package/raw/components/atoms/grid/index.styled.tsx +34 -0
  132. package/raw/components/atoms/grid/index.test.tsx +26 -0
  133. package/raw/components/atoms/grid/index.tsx +61 -0
  134. package/raw/components/atoms/heading/__snapshots__/index.test.tsx.snap +38 -0
  135. package/raw/components/atoms/heading/index.stories.tsx +27 -0
  136. package/raw/components/atoms/heading/index.styled.tsx +108 -0
  137. package/raw/components/atoms/heading/index.test.tsx +23 -0
  138. package/raw/components/atoms/heading/index.tsx +59 -0
  139. package/raw/components/atoms/icons/Ask.tsx +54 -0
  140. package/raw/components/atoms/icons/BarChart.tsx +39 -0
  141. package/raw/components/atoms/icons/Booking.tsx +37 -0
  142. package/raw/components/atoms/icons/Bookmark.tsx +44 -0
  143. package/raw/components/atoms/icons/Community.tsx +46 -0
  144. package/raw/components/atoms/icons/EditSpecial.tsx +30 -0
  145. package/raw/components/atoms/icons/Family.tsx +37 -0
  146. package/raw/components/atoms/icons/Font.tsx +37 -0
  147. package/raw/components/atoms/icons/Heart.tsx +37 -0
  148. package/raw/components/atoms/icons/Home.tsx +54 -0
  149. package/raw/components/atoms/icons/Like.tsx +49 -0
  150. package/raw/components/atoms/icons/MyCommunity.tsx +37 -0
  151. package/raw/components/atoms/icons/PlusSpecial.tsx +30 -0
  152. package/raw/components/atoms/icons/Recalculate.tsx +37 -0
  153. package/raw/components/atoms/icons/Scale.tsx +44 -0
  154. package/raw/components/atoms/icons/Share.tsx +37 -0
  155. package/raw/components/atoms/icons/Stethoscope.tsx +37 -0
  156. package/raw/components/atoms/icons/index.stories.tsx +50 -0
  157. package/raw/components/atoms/icons/index.ts +46 -0
  158. package/raw/components/atoms/index.ts +33 -0
  159. package/raw/components/atoms/input/__snapshots__/index.test.tsx.snap +137 -0
  160. package/raw/components/atoms/input/delete.svg +3 -0
  161. package/raw/components/atoms/input/index.stories.tsx +50 -0
  162. package/raw/components/atoms/input/index.styled.tsx +124 -0
  163. package/raw/components/atoms/input/index.test.tsx +23 -0
  164. package/raw/components/atoms/input/index.tsx +140 -0
  165. package/raw/components/atoms/label/__snapshots__/index.test.tsx.snap +21 -0
  166. package/raw/components/atoms/label/index.stories.tsx +16 -0
  167. package/raw/components/atoms/label/index.test.tsx +25 -0
  168. package/raw/components/atoms/label/index.tsx +37 -0
  169. package/raw/components/atoms/logo/__snapshots__/index.test.tsx.snap +99 -0
  170. package/raw/components/atoms/logo/index.stories.tsx +84 -0
  171. package/raw/components/atoms/logo/index.test.tsx +18 -0
  172. package/raw/components/atoms/logo/index.tsx +1915 -0
  173. package/raw/components/atoms/marryBabyText/index.styled.tsx +86 -0
  174. package/raw/components/atoms/marryBabyText/index.tsx +57 -0
  175. package/raw/components/atoms/pagination/__snapshots__/index.test.tsx.snap +185 -0
  176. package/raw/components/atoms/pagination/index.stories.tsx +92 -0
  177. package/raw/components/atoms/pagination/index.styled.tsx +73 -0
  178. package/raw/components/atoms/pagination/index.test.tsx +26 -0
  179. package/raw/components/atoms/pagination/index.tsx +286 -0
  180. package/raw/components/atoms/progress/index.stories.tsx +55 -0
  181. package/raw/components/atoms/progress/index.styled.tsx +30 -0
  182. package/raw/components/atoms/progress/index.tsx +29 -0
  183. package/raw/components/atoms/pureInput/__snapshots__/index.test.tsx.snap +135 -0
  184. package/raw/components/atoms/pureInput/delete.svg +3 -0
  185. package/raw/components/atoms/pureInput/index.stories.tsx +54 -0
  186. package/raw/components/atoms/pureInput/index.styled.tsx +123 -0
  187. package/raw/components/atoms/pureInput/index.test.tsx +29 -0
  188. package/raw/components/atoms/pureInput/index.tsx +162 -0
  189. package/raw/components/atoms/radio/__snapshots__/index.test.tsx.snap +163 -0
  190. package/raw/components/atoms/radio/index.stories.tsx +48 -0
  191. package/raw/components/atoms/radio/index.styled.tsx +133 -0
  192. package/raw/components/atoms/radio/index.test.tsx +31 -0
  193. package/raw/components/atoms/radio/index.tsx +66 -0
  194. package/raw/components/atoms/rateStars/index.stories.tsx +71 -0
  195. package/raw/components/atoms/rateStars/index.styled.tsx +17 -0
  196. package/raw/components/atoms/rateStars/index.tsx +101 -0
  197. package/raw/components/atoms/shadow/__snapshots__/index.test.tsx.snap +37 -0
  198. package/raw/components/atoms/shadow/index.stories.tsx +55 -0
  199. package/raw/components/atoms/shadow/index.styled.tsx +31 -0
  200. package/raw/components/atoms/shadow/index.test.tsx +25 -0
  201. package/raw/components/atoms/shadow/index.tsx +20 -0
  202. package/raw/components/atoms/slider/__snapshots__/index.test.tsx.snap +172 -0
  203. package/raw/components/atoms/slider/index.stories.tsx +22 -0
  204. package/raw/components/atoms/slider/index.styled.tsx +68 -0
  205. package/raw/components/atoms/slider/index.test.tsx +27 -0
  206. package/raw/components/atoms/slider/index.tsx +140 -0
  207. package/raw/components/atoms/tag/__snapshots__/index.test.tsx.snap +72 -0
  208. package/raw/components/atoms/tag/index.stories.tsx +54 -0
  209. package/raw/components/atoms/tag/index.styled.tsx +184 -0
  210. package/raw/components/atoms/tag/index.test.tsx +23 -0
  211. package/raw/components/atoms/tag/index.tsx +72 -0
  212. package/raw/components/atoms/text/index.stories.tsx +24 -0
  213. package/raw/components/atoms/text/index.styled.tsx +231 -0
  214. package/raw/components/atoms/text/index.tsx +99 -0
  215. package/raw/components/atoms/textArea/index.stories.tsx +30 -0
  216. package/raw/components/atoms/textArea/index.tsx +86 -0
  217. package/raw/components/atoms/textDivider/index.tsx +48 -0
  218. package/raw/components/atoms/toggle/__snapshots__/index.test.tsx.snap +73 -0
  219. package/raw/components/atoms/toggle/index.stories.tsx +38 -0
  220. package/raw/components/atoms/toggle/index.styled.tsx +55 -0
  221. package/raw/components/atoms/toggle/index.test.tsx +27 -0
  222. package/raw/components/atoms/toggle/index.tsx +28 -0
  223. package/raw/components/atoms/underlinedLink/index.stories.tsx +35 -0
  224. package/raw/components/atoms/underlinedLink/index.styled.tsx +66 -0
  225. package/raw/components/atoms/underlinedLink/index.text.tsx +23 -0
  226. package/raw/components/atoms/underlinedLink/index.tsx +30 -0
  227. package/raw/components/atoms/uploader/__snapshots__/index.test.tsx.snap +170 -0
  228. package/raw/components/atoms/uploader/index.stories.tsx +128 -0
  229. package/raw/components/atoms/uploader/index.styled.tsx +53 -0
  230. package/raw/components/atoms/uploader/index.test.tsx +96 -0
  231. package/raw/components/atoms/uploader/index.tsx +107 -0
  232. package/raw/components/index.ts +3 -0
  233. package/raw/components/molecules/ampNextPage/index.tsx +48 -0
  234. package/raw/components/molecules/articleCard/bookmark.png +0 -0
  235. package/raw/components/molecules/articleCard/bookmarked.png +0 -0
  236. package/raw/components/molecules/articleCard/index.stories.tsx +222 -0
  237. package/raw/components/molecules/articleCard/index.styled.tsx +391 -0
  238. package/raw/components/molecules/articleCard/index.tsx +430 -0
  239. package/raw/components/molecules/breadcrumbs/__snapshots__/index.test.tsx.snap +173 -0
  240. package/raw/components/molecules/breadcrumbs/index.stories.tsx +79 -0
  241. package/raw/components/molecules/breadcrumbs/index.styled.tsx +99 -0
  242. package/raw/components/molecules/breadcrumbs/index.test.tsx +45 -0
  243. package/raw/components/molecules/breadcrumbs/index.tsx +141 -0
  244. package/raw/components/molecules/carousel/index.stories.tsx +40 -0
  245. package/raw/components/molecules/carousel/index.styled.tsx +115 -0
  246. package/raw/components/molecules/carousel/index.tsx +178 -0
  247. package/raw/components/molecules/categoryCard/index.stories.tsx +19 -0
  248. package/raw/components/molecules/categoryCard/index.styled.tsx +38 -0
  249. package/raw/components/molecules/categoryCard/index.tsx +51 -0
  250. package/raw/components/molecules/checkboxGroup/__snapshots__/index.test.tsx.snap +214 -0
  251. package/raw/components/molecules/checkboxGroup/index.stories.tsx +118 -0
  252. package/raw/components/molecules/checkboxGroup/index.styled.tsx +27 -0
  253. package/raw/components/molecules/checkboxGroup/index.test.tsx +36 -0
  254. package/raw/components/molecules/checkboxGroup/index.tsx +66 -0
  255. package/raw/components/molecules/cookieAcceptConfirm/__snapshots__/index.test.tsx.snap +152 -0
  256. package/raw/components/molecules/cookieAcceptConfirm/index.stories.tsx +23 -0
  257. package/raw/components/molecules/cookieAcceptConfirm/index.styled.tsx +101 -0
  258. package/raw/components/molecules/cookieAcceptConfirm/index.test.tsx +23 -0
  259. package/raw/components/molecules/cookieAcceptConfirm/index.tsx +78 -0
  260. package/raw/components/molecules/cookieAcceptConfirm/info.svg +3 -0
  261. package/raw/components/molecules/datePicker/__snapshots__/index.test.tsx.snap +377 -0
  262. package/raw/components/molecules/datePicker/index.stories.tsx +55 -0
  263. package/raw/components/molecules/datePicker/index.styled.tsx +374 -0
  264. package/raw/components/molecules/datePicker/index.test.tsx +46 -0
  265. package/raw/components/molecules/datePicker/index.tsx +361 -0
  266. package/raw/components/molecules/dateRangePicker/calendar/index.styled.ts +122 -0
  267. package/raw/components/molecules/dateRangePicker/calendar/index.tsx +247 -0
  268. package/raw/components/molecules/dateRangePicker/index.stories.tsx +45 -0
  269. package/raw/components/molecules/dateRangePicker/index.styled.ts +36 -0
  270. package/raw/components/molecules/dateRangePicker/index.tsx +103 -0
  271. package/raw/components/molecules/dateRangePicker/types.ts +4 -0
  272. package/raw/components/molecules/dateRangePicker/utils.ts +26 -0
  273. package/raw/components/molecules/doctorInfo/index.stories.tsx +20 -0
  274. package/raw/components/molecules/doctorInfo/index.tsx +54 -0
  275. package/raw/components/molecules/dropdown/__snapshots__/index.test.tsx.snap +133 -0
  276. package/raw/components/molecules/dropdown/index.stories.tsx +158 -0
  277. package/raw/components/molecules/dropdown/index.styled.tsx +149 -0
  278. package/raw/components/molecules/dropdown/index.test.tsx +45 -0
  279. package/raw/components/molecules/dropdown/index.tsx +143 -0
  280. package/raw/components/molecules/dropdownSearch/index.stories.tsx +66 -0
  281. package/raw/components/molecules/dropdownSearch/index.styled.tsx +157 -0
  282. package/raw/components/molecules/dropdownSearch/index.tsx +169 -0
  283. package/raw/components/molecules/dropdownSearch/search.svg +4 -0
  284. package/raw/components/molecules/floatButtonGroup/add-period.svg +9 -0
  285. package/raw/components/molecules/floatButtonGroup/index.stories.tsx +72 -0
  286. package/raw/components/molecules/floatButtonGroup/index.styled.tsx +310 -0
  287. package/raw/components/molecules/floatButtonGroup/index.tsx +155 -0
  288. package/raw/components/molecules/iconText/__snapshots__/index.test.tsx.snap +64 -0
  289. package/raw/components/molecules/iconText/index.stories.tsx +22 -0
  290. package/raw/components/molecules/iconText/index.styled.tsx +47 -0
  291. package/raw/components/molecules/iconText/index.test.tsx +31 -0
  292. package/raw/components/molecules/iconText/index.tsx +33 -0
  293. package/raw/components/molecules/index.ts +39 -0
  294. package/raw/components/molecules/languageSwitcher/index.stories.tsx +32 -0
  295. package/raw/components/molecules/languageSwitcher/index.styled.tsx +23 -0
  296. package/raw/components/molecules/languageSwitcher/index.tsx +68 -0
  297. package/raw/components/molecules/languageSwitcher/tooltipSelection/index.styled.tsx +69 -0
  298. package/raw/components/molecules/languageSwitcher/tooltipSelection/index.tsx +84 -0
  299. package/raw/components/molecules/mobileBottomNavigation/MobileBottomNavigationIcon.tsx +51 -0
  300. package/raw/components/molecules/mobileBottomNavigation/index.stories.tsx +173 -0
  301. package/raw/components/molecules/mobileBottomNavigation/index.styled.tsx +150 -0
  302. package/raw/components/molecules/mobileBottomNavigation/index.tsx +41 -0
  303. package/raw/components/molecules/modal/__snapshots__/index.test.tsx.snap +3 -0
  304. package/raw/components/molecules/modal/index.stories.tsx +139 -0
  305. package/raw/components/molecules/modal/index.styled.tsx +146 -0
  306. package/raw/components/molecules/modal/index.test.tsx +26 -0
  307. package/raw/components/molecules/modal/index.tsx +147 -0
  308. package/raw/components/molecules/popup/__snapshots__/index.test.tsx.snap +102 -0
  309. package/raw/components/molecules/popup/index.stories.tsx +21 -0
  310. package/raw/components/molecules/popup/index.styled.tsx +90 -0
  311. package/raw/components/molecules/popup/index.test.tsx +26 -0
  312. package/raw/components/molecules/popup/index.tsx +45 -0
  313. package/raw/components/molecules/progressBar/__snapshots__/index.test.tsx.snap +167 -0
  314. package/raw/components/molecules/progressBar/index.stories.tsx +72 -0
  315. package/raw/components/molecules/progressBar/index.styled.tsx +182 -0
  316. package/raw/components/molecules/progressBar/index.test.tsx +75 -0
  317. package/raw/components/molecules/progressBar/index.tsx +245 -0
  318. package/raw/components/molecules/radioGroup/__snapshots__/index.test.tsx.snap +290 -0
  319. package/raw/components/molecules/radioGroup/index.stories.tsx +131 -0
  320. package/raw/components/molecules/radioGroup/index.styled.tsx +75 -0
  321. package/raw/components/molecules/radioGroup/index.test.tsx +33 -0
  322. package/raw/components/molecules/radioGroup/index.tsx +80 -0
  323. package/raw/components/molecules/scrollList/index.stories.tsx +113 -0
  324. package/raw/components/molecules/scrollList/index.styled.tsx +140 -0
  325. package/raw/components/molecules/scrollList/index.tsx +786 -0
  326. package/raw/components/molecules/seoHead/index.tsx +382 -0
  327. package/raw/components/molecules/sidemenu/__snapshots__/index.test.tsx.snap +273 -0
  328. package/raw/components/molecules/sidemenu/index.stories.tsx +156 -0
  329. package/raw/components/molecules/sidemenu/index.test.tsx +56 -0
  330. package/raw/components/molecules/sidemenu/index.tsx +4 -0
  331. package/raw/components/molecules/sidemenu/menuLink.tsx +78 -0
  332. package/raw/components/molecules/sidemenu/sideHeader.tsx +85 -0
  333. package/raw/components/molecules/sidemenu/sideMenu.tsx +39 -0
  334. package/raw/components/molecules/sidemenu/test.tsx +94 -0
  335. package/raw/components/molecules/sidemenu/userInfo.tsx +44 -0
  336. package/raw/components/molecules/starsRatingBox/index.stories.tsx +121 -0
  337. package/raw/components/molecules/starsRatingBox/index.styled.tsx +23 -0
  338. package/raw/components/molecules/starsRatingBox/index.tsx +83 -0
  339. package/raw/components/molecules/statisticCard/__snapshots__/index.test.tsx.snap +86 -0
  340. package/raw/components/molecules/statisticCard/index.stories.tsx +40 -0
  341. package/raw/components/molecules/statisticCard/index.styled.tsx +47 -0
  342. package/raw/components/molecules/statisticCard/index.test.tsx +44 -0
  343. package/raw/components/molecules/statisticCard/index.tsx +48 -0
  344. package/raw/components/molecules/surveyQuestionCard/__snapshots__/index.test.tsx.snap +743 -0
  345. package/raw/components/molecules/surveyQuestionCard/index.stories.tsx +115 -0
  346. package/raw/components/molecules/surveyQuestionCard/index.styled.tsx +220 -0
  347. package/raw/components/molecules/surveyQuestionCard/index.test.tsx +53 -0
  348. package/raw/components/molecules/surveyQuestionCard/index.tsx +2 -0
  349. package/raw/components/molecules/surveyQuestionCard/surveyQuestionCard.tsx +213 -0
  350. package/raw/components/molecules/surveyQuestionCard/surveyQuestionContent.tsx +200 -0
  351. package/raw/components/molecules/surveyQuestionCard/surveyRadio.tsx +69 -0
  352. package/raw/components/molecules/surveyQuestionCard/surveyThankyouCard.tsx +129 -0
  353. package/raw/components/molecules/table/__snapshots__/index.test.tsx.snap +56 -0
  354. package/raw/components/molecules/table/index.stories.tsx +264 -0
  355. package/raw/components/molecules/table/index.test.tsx +29 -0
  356. package/raw/components/molecules/table/index.tsx +5 -0
  357. package/raw/components/molecules/table/table.tsx +38 -0
  358. package/raw/components/molecules/table/tableBody.tsx +46 -0
  359. package/raw/components/molecules/table/tableCell.tsx +47 -0
  360. package/raw/components/molecules/table/tableHead.tsx +46 -0
  361. package/raw/components/molecules/table/tableRow.tsx +45 -0
  362. package/raw/components/molecules/tabs/__snapshots__/index.test.tsx.snap +104 -0
  363. package/raw/components/molecules/tabs/index.stories.tsx +45 -0
  364. package/raw/components/molecules/tabs/index.styled.tsx +58 -0
  365. package/raw/components/molecules/tabs/index.test.tsx +49 -0
  366. package/raw/components/molecules/tabs/index.tsx +89 -0
  367. package/raw/components/organisms/footer/discoverFooter/index.styled.tsx +286 -0
  368. package/raw/components/organisms/footer/discoverFooter/index.tsx +448 -0
  369. package/raw/components/organisms/footer/index.stories.tsx +207 -0
  370. package/raw/components/organisms/footer/index.tsx +70 -0
  371. package/raw/components/organisms/footer/maryBabyFooter/index.styled.tsx +502 -0
  372. package/raw/components/organisms/footer/maryBabyFooter/index.tsx +393 -0
  373. package/raw/components/organisms/index.ts +31 -0
  374. package/raw/components/organisms/navigationBookingButton/index.styled.tsx +11 -0
  375. package/raw/components/organisms/navigationBookingButton/index.tsx +53 -0
  376. package/raw/components/organisms/navigationLayout/CustomFooter.tsx +154 -0
  377. package/raw/components/organisms/navigationLayout/ampSideBar/index.styled.tsx +151 -0
  378. package/raw/components/organisms/navigationLayout/ampSideBar/index.tsx +276 -0
  379. package/raw/components/organisms/navigationLayout/assets/check.svg +3 -0
  380. package/raw/components/organisms/navigationLayout/assets/chevronDown.svg +3 -0
  381. package/raw/components/organisms/navigationLayout/assets/chevronRightWhite.svg +3 -0
  382. package/raw/components/organisms/navigationLayout/assets/chevronUpBlue.svg +3 -0
  383. package/raw/components/organisms/navigationLayout/assets/closeLight.svg +4 -0
  384. package/raw/components/organisms/navigationLayout/assets/closeWhite.svg +4 -0
  385. package/raw/components/organisms/navigationLayout/assets/hamburgerMenu.svg +5 -0
  386. package/raw/components/organisms/navigationLayout/assets/index.js +19 -0
  387. package/raw/components/organisms/navigationLayout/assets/info-light.svg +5 -0
  388. package/raw/components/organisms/navigationLayout/constants.ts +958 -0
  389. package/raw/components/organisms/navigationLayout/footer/index.styled.tsx +286 -0
  390. package/raw/components/organisms/navigationLayout/footer/index.tsx +449 -0
  391. package/raw/components/organisms/navigationLayout/index.stories.tsx +273 -0
  392. package/raw/components/organisms/navigationLayout/index.styled.tsx +153 -0
  393. package/raw/components/organisms/navigationLayout/index.tsx +1272 -0
  394. package/raw/components/organisms/navigationLayout/languageWrapper.tsx +19 -0
  395. package/raw/components/organisms/navigationLayout/languages/default.ts +63 -0
  396. package/raw/components/organisms/navigationLayout/layout.tsx +406 -0
  397. package/raw/components/organisms/navigationLayout/marryBabyText/index.styled.tsx +86 -0
  398. package/raw/components/organisms/navigationLayout/marryBabyText/index.tsx +57 -0
  399. package/raw/components/organisms/navigationLayout/maryBabyFooter/index.styled.tsx +502 -0
  400. package/raw/components/organisms/navigationLayout/maryBabyFooter/index.tsx +383 -0
  401. package/raw/components/organisms/navigationLayout/menuCareList/categorySkeleton.tsx +25 -0
  402. package/raw/components/organisms/navigationLayout/menuCareList/index.styled.tsx +156 -0
  403. package/raw/components/organisms/navigationLayout/menuCareList/index.tsx +266 -0
  404. package/raw/components/organisms/navigationLayout/menuCategoriesList/categorySkeleton.tsx +25 -0
  405. package/raw/components/organisms/navigationLayout/menuCategoriesList/helloSites.tsx +419 -0
  406. package/raw/components/organisms/navigationLayout/menuCategoriesList/index.styled.tsx +196 -0
  407. package/raw/components/organisms/navigationLayout/menuCategoriesList/index.tsx +92 -0
  408. package/raw/components/organisms/navigationLayout/menuCategoriesList/marryBaby.styled.tsx +151 -0
  409. package/raw/components/organisms/navigationLayout/menuCategoriesList/marryBaby.tsx +409 -0
  410. package/raw/components/organisms/navigationLayout/menuCategoriesList/spotlightsList/index.styled.tsx +147 -0
  411. package/raw/components/organisms/navigationLayout/menuCategoriesList/spotlightsList/index.tsx +141 -0
  412. package/raw/components/organisms/navigationLayout/menuCategoriesList/spotlightsList/spotlightSkeleton.tsx +25 -0
  413. package/raw/components/organisms/navigationLayout/menuCommunitiesList/categorySkeleton.tsx +25 -0
  414. package/raw/components/organisms/navigationLayout/menuCommunitiesList/helloSites.tsx +309 -0
  415. package/raw/components/organisms/navigationLayout/menuCommunitiesList/index.styled.tsx +162 -0
  416. package/raw/components/organisms/navigationLayout/menuCommunitiesList/index.tsx +80 -0
  417. package/raw/components/organisms/navigationLayout/menuCommunitiesList/marryBaby.styled.tsx +119 -0
  418. package/raw/components/organisms/navigationLayout/menuCommunitiesList/marryBaby.tsx +181 -0
  419. package/raw/components/organisms/navigationLayout/menuHealthToolsList/categorySkeleton.tsx +25 -0
  420. package/raw/components/organisms/navigationLayout/menuHealthToolsList/helloSites.tsx +364 -0
  421. package/raw/components/organisms/navigationLayout/menuHealthToolsList/index.styled.tsx +176 -0
  422. package/raw/components/organisms/navigationLayout/menuHealthToolsList/index.tsx +83 -0
  423. package/raw/components/organisms/navigationLayout/menuHealthToolsList/marryBaby.tsx +166 -0
  424. package/raw/components/organisms/navigationLayout/menuHealthToolsList/marrybaby.styled.tsx +118 -0
  425. package/raw/components/organisms/navigationLayout/menuSectionCard/cardSkeleton.tsx +32 -0
  426. package/raw/components/organisms/navigationLayout/menuSectionCard/index.styled.tsx +46 -0
  427. package/raw/components/organisms/navigationLayout/menuSectionCard/index.tsx +52 -0
  428. package/raw/components/organisms/navigationLayout/menuServiceList/categoriesSubList.tsx +121 -0
  429. package/raw/components/organisms/navigationLayout/menuServiceList/communitySubList.tsx +143 -0
  430. package/raw/components/organisms/navigationLayout/menuServiceList/index.styled.tsx +460 -0
  431. package/raw/components/organisms/navigationLayout/menuServiceList/index.tsx +746 -0
  432. package/raw/components/organisms/navigationLayout/menuServiceList/marryBabyMobileMenuSection.tsx +239 -0
  433. package/raw/components/organisms/navigationLayout/navigationBar/ArrowLeftPopupIcon.tsx +21 -0
  434. package/raw/components/organisms/navigationLayout/navigationBar/ClosePopupIcon.tsx +20 -0
  435. package/raw/components/organisms/navigationLayout/navigationBar/HamburgerIcon.tsx +43 -0
  436. package/raw/components/organisms/navigationLayout/navigationBar/NavigationBar.types.ts +99 -0
  437. package/raw/components/organisms/navigationLayout/navigationBar/NavigationBarMobile.tsx +503 -0
  438. package/raw/components/organisms/navigationLayout/navigationBar/SearchIcon.tsx +22 -0
  439. package/raw/components/organisms/navigationLayout/navigationBar/index.styled.tsx +540 -0
  440. package/raw/components/organisms/navigationLayout/navigationBar/index.tsx +798 -0
  441. package/raw/components/organisms/navigationLayout/navigationLogoutPopup/index.styled.tsx +87 -0
  442. package/raw/components/organisms/navigationLayout/navigationLogoutPopup/index.tsx +95 -0
  443. package/raw/components/organisms/navigationLayout/profilePopup/index.tsx +102 -0
  444. package/raw/components/organisms/navigationLayout/profilePopupWrapper/index.styled.tsx +164 -0
  445. package/raw/components/organisms/navigationLayout/profilePopupWrapper/index.tsx +58 -0
  446. package/raw/components/organisms/navigationLayout/siteWide/index.styled.tsx +116 -0
  447. package/raw/components/organisms/navigationLayout/siteWide/index.tsx +162 -0
  448. package/raw/components/organisms/navigationLayout/sponsoredBy/index.styled.tsx +119 -0
  449. package/raw/components/organisms/navigationLayout/sponsoredBy/index.tsx +254 -0
  450. package/raw/components/organisms/navigationLayout/tooltipSelection/index.styled.tsx +66 -0
  451. package/raw/components/organisms/navigationLayout/tooltipSelection/index.tsx +81 -0
  452. package/raw/components/organisms/navigationLayout/types.ts +322 -0
  453. package/raw/components/organisms/navigationLayout/utils.tsx +424 -0
  454. package/raw/components/organisms/navigationLogoutPopup/index.stories.tsx +34 -0
  455. package/raw/components/organisms/navigationLogoutPopup/index.styled.tsx +87 -0
  456. package/raw/components/organisms/navigationLogoutPopup/index.tsx +78 -0
  457. package/raw/components/organisms/navigationProfileButton/index.stories.tsx +51 -0
  458. package/raw/components/organisms/navigationProfileButton/index.styled.tsx +254 -0
  459. package/raw/components/organisms/navigationProfileButton/index.tsx +217 -0
  460. package/raw/components/organisms/navigationProfileButton/popupWrapper.tsx +58 -0
  461. package/raw/components/organisms/navigationProfileButton/profilePopup.tsx +97 -0
  462. package/raw/components/organisms/navigationV2/components/atoms/ArrowLeftPopupIcon.tsx +21 -0
  463. package/raw/components/organisms/navigationV2/components/atoms/ClosePopupIcon.tsx +21 -0
  464. package/raw/components/organisms/navigationV2/components/atoms/HamburgerIcon.tsx +58 -0
  465. package/raw/components/organisms/navigationV2/components/atoms/ItemNav/index.styled.tsx +63 -0
  466. package/raw/components/organisms/navigationV2/components/atoms/ItemNav/index.tsx +71 -0
  467. package/raw/components/organisms/navigationV2/components/atoms/PopupWrapper/btnClosePopup.tsx +30 -0
  468. package/raw/components/organisms/navigationV2/components/atoms/PopupWrapper/index.styled.tsx +62 -0
  469. package/raw/components/organisms/navigationV2/components/atoms/PopupWrapper/index.tsx +45 -0
  470. package/raw/components/organisms/navigationV2/components/atoms/SearchIcon.tsx +22 -0
  471. package/raw/components/organisms/navigationV2/components/atoms/searchInput/index.tsx +45 -0
  472. package/raw/components/organisms/navigationV2/components/molecules/Categories/index.styled.tsx +74 -0
  473. package/raw/components/organisms/navigationV2/components/molecules/Categories/index.tsx +115 -0
  474. package/raw/components/organisms/navigationV2/components/molecules/Spotlights/index.styled.tsx +40 -0
  475. package/raw/components/organisms/navigationV2/components/molecules/Spotlights/index.tsx +60 -0
  476. package/raw/components/organisms/navigationV2/components/molecules/menuCareList/Item/index.styled.tsx +155 -0
  477. package/raw/components/organisms/navigationV2/components/molecules/menuCareList/Item/index.tsx +103 -0
  478. package/raw/components/organisms/navigationV2/components/molecules/menuCareList/careSpotlights.tsx +40 -0
  479. package/raw/components/organisms/navigationV2/components/molecules/menuCareList/index.styled.tsx +29 -0
  480. package/raw/components/organisms/navigationV2/components/molecules/menuCareList/index.tsx +65 -0
  481. package/raw/components/organisms/navigationV2/components/molecules/menuCategoriesList/Item/index.styled.tsx +46 -0
  482. package/raw/components/organisms/navigationV2/components/molecules/menuCategoriesList/Item/index.tsx +50 -0
  483. package/raw/components/organisms/navigationV2/components/molecules/menuCategoriesList/categorySpotlights.tsx +59 -0
  484. package/raw/components/organisms/navigationV2/components/molecules/menuCategoriesList/index.styled.tsx +30 -0
  485. package/raw/components/organisms/navigationV2/components/molecules/menuCategoriesList/index.tsx +64 -0
  486. package/raw/components/organisms/navigationV2/components/molecules/menuCommunitiesList/Item/index.styled.tsx +89 -0
  487. package/raw/components/organisms/navigationV2/components/molecules/menuCommunitiesList/Item/index.tsx +91 -0
  488. package/raw/components/organisms/navigationV2/components/molecules/menuCommunitiesList/communitySpotlights.tsx +49 -0
  489. package/raw/components/organisms/navigationV2/components/molecules/menuCommunitiesList/index.styled.tsx +42 -0
  490. package/raw/components/organisms/navigationV2/components/molecules/menuCommunitiesList/index.tsx +56 -0
  491. package/raw/components/organisms/navigationV2/components/molecules/menuHealthToolsList/Item/index.styled.tsx +104 -0
  492. package/raw/components/organisms/navigationV2/components/molecules/menuHealthToolsList/Item/index.tsx +99 -0
  493. package/raw/components/organisms/navigationV2/components/molecules/menuHealthToolsList/index.styled.tsx +18 -0
  494. package/raw/components/organisms/navigationV2/components/molecules/menuHealthToolsList/index.tsx +65 -0
  495. package/raw/components/organisms/navigationV2/components/molecules/menuHealthToolsList/toolSpotlights.tsx +41 -0
  496. package/raw/components/organisms/navigationV2/components/molecules/menuServiceList/index.styled.tsx +358 -0
  497. package/raw/components/organisms/navigationV2/components/molecules/menuServiceList/index.tsx +88 -0
  498. package/raw/components/organisms/navigationV2/components/molecules/navigationBar/hamburgerMenu.tsx +74 -0
  499. package/raw/components/organisms/navigationV2/components/molecules/navigationBar/index.styled.tsx +214 -0
  500. package/raw/components/organisms/navigationV2/components/molecules/navigationBar/index.tsx +283 -0
  501. package/raw/components/organisms/navigationV2/components/molecules/navigationBar/navigationProfileButtonWithContext.tsx +50 -0
  502. package/raw/components/organisms/navigationV2/components/molecules/spotlightNoData/index.styled.tsx +70 -0
  503. package/raw/components/organisms/navigationV2/components/molecules/spotlightNoData/index.tsx +74 -0
  504. package/raw/components/organisms/navigationV2/constants.ts +277 -0
  505. package/raw/components/organisms/navigationV2/hooks/useHeaderHeight.tsx +84 -0
  506. package/raw/components/organisms/navigationV2/hooks/useInsider.tsx +67 -0
  507. package/raw/components/organisms/navigationV2/hooks/useNavConfig.tsx +99 -0
  508. package/raw/components/organisms/navigationV2/hooks/useNavServices.tsx +73 -0
  509. package/raw/components/organisms/navigationV2/index.stories.tsx +287 -0
  510. package/raw/components/organisms/navigationV2/index.styled.tsx +30 -0
  511. package/raw/components/organisms/navigationV2/index.tsx +320 -0
  512. package/raw/components/organisms/navigationV2/navigationContext.tsx +38 -0
  513. package/raw/components/organisms/navigationV2/types.ts +307 -0
  514. package/raw/components/organisms/navigationV2/utils.tsx +400 -0
  515. package/raw/components/organisms/userProfileNavigation/assets/helloSites/icon-chevronDown.svg +3 -0
  516. package/raw/components/organisms/userProfileNavigation/assets/helloSites/icon-chevronRight.svg +3 -0
  517. package/raw/components/organisms/userProfileNavigation/assets/helloSites/icon-eCom.svg +22 -0
  518. package/raw/components/organisms/userProfileNavigation/assets/helloSites/icon-helpCircle.svg +3 -0
  519. package/raw/components/organisms/userProfileNavigation/assets/helloSites/icon-logOut.svg +3 -0
  520. package/raw/components/organisms/userProfileNavigation/assets/helloSites/icon-myBooking.svg +36 -0
  521. package/raw/components/organisms/userProfileNavigation/assets/helloSites/icon-myCommunity.svg +19 -0
  522. package/raw/components/organisms/userProfileNavigation/assets/helloSites/icon-myFamily.svg +15 -0
  523. package/raw/components/organisms/userProfileNavigation/assets/helloSites/icon-myHealth.svg +13 -0
  524. package/raw/components/organisms/userProfileNavigation/assets/helloSites/icon-mySaved.svg +3 -0
  525. package/raw/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-ambassador.svg +4 -0
  526. package/raw/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-doctor.svg +4 -0
  527. package/raw/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-expert.svg +4 -0
  528. package/raw/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-influencer.svg +4 -0
  529. package/raw/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-member.svg +8 -0
  530. package/raw/components/organisms/userProfileNavigation/assets/helloSites/icon-settingsWheel.svg +3 -0
  531. package/raw/components/organisms/userProfileNavigation/assets/marryBaby/icon-arrowRight.svg +3 -0
  532. package/raw/components/organisms/userProfileNavigation/assets/marryBaby/icon-lock.svg +4 -0
  533. package/raw/components/organisms/userProfileNavigation/assets/marryBaby/icon-logOut.svg +4 -0
  534. package/raw/components/organisms/userProfileNavigation/assets/marryBaby/icon-myCommunity.svg +4 -0
  535. package/raw/components/organisms/userProfileNavigation/assets/marryBaby/icon-myHealth.svg +6 -0
  536. package/raw/components/organisms/userProfileNavigation/assets/marryBaby/icon-mySaved.svg +3 -0
  537. package/raw/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-ambassador.svg +40 -0
  538. package/raw/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-doctor.svg +40 -0
  539. package/raw/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-expert.svg +27 -0
  540. package/raw/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-influencer.svg +33 -0
  541. package/raw/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-member.svg +33 -0
  542. package/raw/components/organisms/userProfileNavigation/constants.ts +23 -0
  543. package/raw/components/organisms/userProfileNavigation/index.stories.tsx +79 -0
  544. package/raw/components/organisms/userProfileNavigation/index.styled.ts +60 -0
  545. package/raw/components/organisms/userProfileNavigation/index.tsx +219 -0
  546. package/raw/components/organisms/userProfileNavigation/navHeader/index.styled.ts +76 -0
  547. package/raw/components/organisms/userProfileNavigation/navHeader/index.tsx +68 -0
  548. package/raw/components/organisms/userProfileNavigation/navMenu/index.styled.ts +115 -0
  549. package/raw/components/organisms/userProfileNavigation/navMenu/index.tsx +79 -0
  550. package/raw/components/organisms/userProfileNavigation/navMenu/items.ts +38 -0
  551. package/raw/components/organisms/userProfileNavigation/navigationCard/index.styled.ts +51 -0
  552. package/raw/components/organisms/userProfileNavigation/navigationCard/index.tsx +96 -0
  553. package/raw/components/organisms/userProfileNavigation/types.ts +35 -0
  554. package/raw/components/organisms/userProfileNavigation/userStats/index.styled.ts +110 -0
  555. package/raw/components/organisms/userProfileNavigation/userStats/index.tsx +78 -0
  556. package/raw/core.ts +7 -0
  557. package/raw/docs/releases/getReleases.js +56 -0
  558. package/raw/docs/releases/index.stories.mdx +9 -0
  559. package/raw/ecom/dataFormatter/index.ts +933 -0
  560. package/raw/ecom/dataFormatter/lib/apiTypes.ts +623 -0
  561. package/raw/ecom/dataFormatter/lib/dataTypes.ts +571 -0
  562. package/raw/ecom/dataFormatter/lib/utils.ts +40 -0
  563. package/raw/ecom/index.tsx +5 -0
  564. package/raw/ecom/interfaces/constants.ts +1000 -0
  565. package/raw/ecom/interfaces/types.ts +194 -0
  566. package/raw/hooks/useCSSFocusPopupHelper.ts +32 -0
  567. package/raw/hooks/useDragScroll.ts +55 -0
  568. package/raw/hooks/useDropdownSearch.tsx +52 -0
  569. package/raw/hooks/useFbDataLayer.tsx +49 -0
  570. package/raw/hooks/useGeolocation.ts +86 -0
  571. package/raw/hooks/useGetIsMobile.ts +20 -0
  572. package/raw/hooks/useImagesPicker.ts +56 -0
  573. package/raw/hooks/useIsInit.ts +9 -0
  574. package/raw/hooks/useOutsideClick.ts +20 -0
  575. package/raw/hooks/useScreenSize.ts +35 -0
  576. package/raw/hooks/useScrollbarSize.ts +74 -0
  577. package/raw/hooks/useTranslations.tsx +41 -0
  578. package/raw/i18n/en-PH.json +235 -0
  579. package/raw/i18n/hi-IN.json +235 -0
  580. package/raw/i18n/id-ID.json +235 -0
  581. package/raw/i18n/index.ts +3 -0
  582. package/raw/i18n/km-KH.json +235 -0
  583. package/raw/i18n/ms-MY.json +235 -0
  584. package/raw/i18n/my-MM.json +235 -0
  585. package/raw/i18n/th-TH.json +235 -0
  586. package/raw/i18n/tl-PH.json +235 -0
  587. package/raw/i18n/translations.ts +47 -0
  588. package/raw/i18n/translationsContext.ts +12 -0
  589. package/raw/i18n/translationsProvider.tsx +66 -0
  590. package/raw/i18n/vi-VN.json +242 -0
  591. package/raw/i18n/zh-TW.json +235 -0
  592. package/raw/index.ts +12 -0
  593. package/raw/interfaces/constants.ts +402 -0
  594. package/raw/interfaces/types.ts +85 -0
  595. package/raw/misc/cookieHelper.tsx +31 -0
  596. package/raw/misc/lazyLoad.ts +7 -0
  597. package/raw/misc/mockTheme.tsx +11 -0
  598. package/raw/misc/number.ts +24 -0
  599. package/raw/misc/routing.tsx +45 -0
  600. package/raw/misc/theme.ts +186 -0
  601. package/raw/misc/utils.ts +214 -0
  602. package/raw/src/assets/svg/Spotlight.svg +12 -0
  603. package/raw/src/assets/svg/StarEmptyIcon.tsx +19 -0
  604. package/raw/src/assets/svg/StarFullIcon.tsx +21 -0
  605. package/raw/src/assets/svg/StarHalfIcon.tsx +35 -0
  606. package/raw/src/assets/svg/arrowDoor.svg +9 -0
  607. package/raw/src/assets/svg/calendar.svg +3 -0
  608. package/raw/src/assets/svg/calendarArrowLeft.svg +3 -0
  609. package/raw/src/assets/svg/calendarArrowRight.svg +3 -0
  610. package/raw/src/assets/svg/check.svg +3 -0
  611. package/raw/src/assets/svg/chevronDown.svg +3 -0
  612. package/raw/src/assets/svg/chevronRight.svg +3 -0
  613. package/raw/src/assets/svg/chevronRightActive.svg +3 -0
  614. package/raw/src/assets/svg/chevronRightWhite.svg +3 -0
  615. package/raw/src/assets/svg/chevronUpBlue.svg +3 -0
  616. package/raw/src/assets/svg/closeLight.svg +4 -0
  617. package/raw/src/assets/svg/closeWhite.svg +4 -0
  618. package/raw/src/assets/svg/community.svg +1 -0
  619. package/raw/src/assets/svg/discover.png +0 -0
  620. package/raw/src/assets/svg/facebook.svg +4 -0
  621. package/raw/src/assets/svg/hamburgerMenu.svg +5 -0
  622. package/raw/src/assets/svg/hamburgerMenuNew.svg +1 -0
  623. package/raw/src/assets/svg/hamburgerMenuNewWithSearch.svg +1 -0
  624. package/raw/src/assets/svg/healthTools.png +0 -0
  625. package/raw/src/assets/svg/helloCare-thumbnail.png +0 -0
  626. package/raw/src/assets/svg/index.ts +63 -0
  627. package/raw/src/assets/svg/info-light.svg +5 -0
  628. package/raw/src/assets/svg/instagram.svg +1 -0
  629. package/raw/src/assets/svg/linkedin.svg +1 -0
  630. package/raw/src/assets/svg/lock.png +0 -0
  631. package/raw/src/assets/svg/login.svg +1 -0
  632. package/raw/src/assets/svg/sehat-badge.png +0 -0
  633. package/raw/src/assets/svg/together.png +0 -0
  634. package/raw/src/assets/svg/youtube.svg +4 -0
  635. package/raw/src/assets/svg/zalo.png +0 -0
  636. package/raw/src/cache/core.ts +52 -0
  637. package/raw/src/cache/index.ts +1 -0
  638. package/raw/src/care/api/paths.ts +11 -0
  639. package/raw/src/care/api/utils.ts +32 -0
  640. package/raw/src/care/components/atoms/icons/index.tsx +170 -0
  641. package/raw/src/care/components/organisms/bookingSearchBar/constants.ts +9 -0
  642. package/raw/src/care/components/organisms/bookingSearchBar/index.stories.tsx +127 -0
  643. package/raw/src/care/components/organisms/bookingSearchBar/index.styled.ts +51 -0
  644. package/raw/src/care/components/organisms/bookingSearchBar/index.test.tsx +556 -0
  645. package/raw/src/care/components/organisms/bookingSearchBar/index.tsx +448 -0
  646. package/raw/src/care/components/organisms/bookingSearchBar/locationResults/index.styled.ts +94 -0
  647. package/raw/src/care/components/organisms/bookingSearchBar/locationResults/index.tsx +132 -0
  648. package/raw/src/care/components/organisms/bookingSearchBar/locationResults/liSkeleton.tsx +52 -0
  649. package/raw/src/care/components/organisms/bookingSearchBar/mobileFakeInput/index.tsx +68 -0
  650. package/raw/src/care/components/organisms/bookingSearchBar/mobileTopbar/index.stories.tsx +22 -0
  651. package/raw/src/care/components/organisms/bookingSearchBar/mobileTopbar/index.styled.ts +41 -0
  652. package/raw/src/care/components/organisms/bookingSearchBar/mobileTopbar/index.tsx +48 -0
  653. package/raw/src/care/components/organisms/bookingSearchBar/reducer.ts +293 -0
  654. package/raw/src/care/components/organisms/bookingSearchBar/resultSection/icons.tsx +37 -0
  655. package/raw/src/care/components/organisms/bookingSearchBar/resultSection/index.stories.tsx +155 -0
  656. package/raw/src/care/components/organisms/bookingSearchBar/resultSection/index.styled.ts +89 -0
  657. package/raw/src/care/components/organisms/bookingSearchBar/resultSection/index.tsx +234 -0
  658. package/raw/src/care/components/organisms/bookingSearchBar/resultSectionItem/index.stories.tsx +55 -0
  659. package/raw/src/care/components/organisms/bookingSearchBar/resultSectionItem/index.styled.ts +75 -0
  660. package/raw/src/care/components/organisms/bookingSearchBar/resultSectionItem/index.tsx +86 -0
  661. package/raw/src/care/components/organisms/bookingSearchBar/searchInputs/index.styled.ts +42 -0
  662. package/raw/src/care/components/organisms/bookingSearchBar/searchInputs/index.tsx +219 -0
  663. package/raw/src/care/components/organisms/bookingSearchBar/searchResults/index.stories.tsx +55 -0
  664. package/raw/src/care/components/organisms/bookingSearchBar/searchResults/index.tsx +62 -0
  665. package/raw/src/care/components/organisms/bookingSearchBar/searchResults/mockData.ts +169 -0
  666. package/raw/src/care/components/organisms/bookingSearchBar/searchSubmitIcon/index.tsx +73 -0
  667. package/raw/src/care/components/organisms/bookingSearchBar/types.ts +12 -0
  668. package/raw/src/care/components/organisms/bookingSearchBar/useAnimatedPlaceholder.ts +86 -0
  669. package/raw/src/care/components/organisms/bookingSearchBar/useSearchBarApi.ts +150 -0
  670. package/raw/src/care/components/organisms/bookingSearchBar/utils/Typewriter.ts +437 -0
  671. package/raw/src/care/index.ts +6 -0
  672. package/raw/src/care/interfaces/constants.ts +75 -0
  673. package/raw/src/care/interfaces/types.ts +258 -0
  674. package/raw/src/components/atoms/alert/__snapshots__/index.test.tsx.snap +130 -0
  675. package/raw/src/components/atoms/alert/index.stories.tsx +21 -0
  676. package/raw/src/components/atoms/alert/index.styled.tsx +44 -0
  677. package/raw/src/components/atoms/alert/index.test.tsx +28 -0
  678. package/raw/src/components/atoms/alert/index.tsx +47 -0
  679. package/raw/src/components/atoms/avatar/index.stories.tsx +49 -0
  680. package/raw/src/components/atoms/avatar/index.styled.tsx +96 -0
  681. package/raw/src/components/atoms/avatar/index.tsx +91 -0
  682. package/raw/src/components/atoms/badge/__snapshots__/index.test.tsx.snap +61 -0
  683. package/raw/src/components/atoms/badge/index.stories.tsx +71 -0
  684. package/raw/src/components/atoms/badge/index.styled.tsx +138 -0
  685. package/raw/src/components/atoms/badge/index.test.tsx +27 -0
  686. package/raw/src/components/atoms/badge/index.tsx +45 -0
  687. package/raw/src/components/atoms/borderHeading/index.stories.tsx +38 -0
  688. package/raw/src/components/atoms/borderHeading/index.styled.tsx +50 -0
  689. package/raw/src/components/atoms/borderHeading/index.tsx +39 -0
  690. package/raw/src/components/atoms/button/__snapshots__/index.test.tsx.snap +57 -0
  691. package/raw/src/components/atoms/button/index.stories.tsx +107 -0
  692. package/raw/src/components/atoms/button/index.styled.tsx +335 -0
  693. package/raw/src/components/atoms/button/index.test.tsx +25 -0
  694. package/raw/src/components/atoms/button/index.tsx +207 -0
  695. package/raw/src/components/atoms/checkbox/__snapshots__/index.test.tsx.snap +120 -0
  696. package/raw/src/components/atoms/checkbox/index.stories.tsx +30 -0
  697. package/raw/src/components/atoms/checkbox/index.styled.tsx +90 -0
  698. package/raw/src/components/atoms/checkbox/index.test.tsx +31 -0
  699. package/raw/src/components/atoms/checkbox/index.tsx +48 -0
  700. package/raw/src/components/atoms/container/index.styled.tsx +16 -0
  701. package/raw/src/components/atoms/container/index.tsx +21 -0
  702. package/raw/src/components/atoms/displayWrapper/index.styled.tsx +19 -0
  703. package/raw/src/components/atoms/displayWrapper/index.tsx +66 -0
  704. package/raw/src/components/atoms/divider/__snapshots__/index.test.tsx.snap +14 -0
  705. package/raw/src/components/atoms/divider/index.stories.tsx +19 -0
  706. package/raw/src/components/atoms/divider/index.styled.tsx +10 -0
  707. package/raw/src/components/atoms/divider/index.test.tsx +22 -0
  708. package/raw/src/components/atoms/divider/index.tsx +34 -0
  709. package/raw/src/components/atoms/fileDropdown/__snapshots__/index.test.tsx.snap +143 -0
  710. package/raw/src/components/atoms/fileDropdown/index.stories.tsx +41 -0
  711. package/raw/src/components/atoms/fileDropdown/index.styled.tsx +112 -0
  712. package/raw/src/components/atoms/fileDropdown/index.test.tsx +46 -0
  713. package/raw/src/components/atoms/fileDropdown/index.tsx +200 -0
  714. package/raw/src/components/atoms/flag/__snapshots__/index.test.tsx.snap +59 -0
  715. package/raw/src/components/atoms/flag/icons/cambodia.tsx +24 -0
  716. package/raw/src/components/atoms/flag/icons/english.tsx +195 -0
  717. package/raw/src/components/atoms/flag/icons/india.tsx +24 -0
  718. package/raw/src/components/atoms/flag/icons/indonesia.tsx +55 -0
  719. package/raw/src/components/atoms/flag/icons/malaysia.tsx +89 -0
  720. package/raw/src/components/atoms/flag/icons/myanmar.tsx +105 -0
  721. package/raw/src/components/atoms/flag/icons/philippines.tsx +24 -0
  722. package/raw/src/components/atoms/flag/icons/taiwan.tsx +154 -0
  723. package/raw/src/components/atoms/flag/icons/thailand.tsx +55 -0
  724. package/raw/src/components/atoms/flag/icons/vietnam.tsx +57 -0
  725. package/raw/src/components/atoms/flag/index.stories.tsx +30 -0
  726. package/raw/src/components/atoms/flag/index.styled.tsx +18 -0
  727. package/raw/src/components/atoms/flag/index.test.tsx +21 -0
  728. package/raw/src/components/atoms/flag/index.tsx +150 -0
  729. package/raw/src/components/atoms/grid/__snapshots__/index.test.tsx.snap +38 -0
  730. package/raw/src/components/atoms/grid/index.stories.tsx +50 -0
  731. package/raw/src/components/atoms/grid/index.styled.tsx +34 -0
  732. package/raw/src/components/atoms/grid/index.test.tsx +26 -0
  733. package/raw/src/components/atoms/grid/index.tsx +61 -0
  734. package/raw/src/components/atoms/heading/__snapshots__/index.test.tsx.snap +38 -0
  735. package/raw/src/components/atoms/heading/index.stories.tsx +27 -0
  736. package/raw/src/components/atoms/heading/index.styled.tsx +108 -0
  737. package/raw/src/components/atoms/heading/index.test.tsx +23 -0
  738. package/raw/src/components/atoms/heading/index.tsx +59 -0
  739. package/raw/src/components/atoms/icons/Ask.tsx +54 -0
  740. package/raw/src/components/atoms/icons/BarChart.tsx +39 -0
  741. package/raw/src/components/atoms/icons/Booking.tsx +37 -0
  742. package/raw/src/components/atoms/icons/Bookmark.tsx +44 -0
  743. package/raw/src/components/atoms/icons/Community.tsx +46 -0
  744. package/raw/src/components/atoms/icons/EditSpecial.tsx +30 -0
  745. package/raw/src/components/atoms/icons/Family.tsx +37 -0
  746. package/raw/src/components/atoms/icons/Font.tsx +37 -0
  747. package/raw/src/components/atoms/icons/Heart.tsx +37 -0
  748. package/raw/src/components/atoms/icons/Home.tsx +54 -0
  749. package/raw/src/components/atoms/icons/Like.tsx +49 -0
  750. package/raw/src/components/atoms/icons/MyCommunity.tsx +37 -0
  751. package/raw/src/components/atoms/icons/PlusSpecial.tsx +30 -0
  752. package/raw/src/components/atoms/icons/Recalculate.tsx +37 -0
  753. package/raw/src/components/atoms/icons/Scale.tsx +44 -0
  754. package/raw/src/components/atoms/icons/Share.tsx +37 -0
  755. package/raw/src/components/atoms/icons/Stethoscope.tsx +37 -0
  756. package/raw/src/components/atoms/icons/index.stories.tsx +50 -0
  757. package/raw/src/components/atoms/icons/index.ts +46 -0
  758. package/raw/src/components/atoms/index.ts +33 -0
  759. package/raw/src/components/atoms/input/__snapshots__/index.test.tsx.snap +137 -0
  760. package/raw/src/components/atoms/input/delete.svg +3 -0
  761. package/raw/src/components/atoms/input/index.stories.tsx +50 -0
  762. package/raw/src/components/atoms/input/index.styled.tsx +124 -0
  763. package/raw/src/components/atoms/input/index.test.tsx +23 -0
  764. package/raw/src/components/atoms/input/index.tsx +140 -0
  765. package/raw/src/components/atoms/label/__snapshots__/index.test.tsx.snap +21 -0
  766. package/raw/src/components/atoms/label/index.stories.tsx +16 -0
  767. package/raw/src/components/atoms/label/index.test.tsx +25 -0
  768. package/raw/src/components/atoms/label/index.tsx +37 -0
  769. package/raw/src/components/atoms/logo/__snapshots__/index.test.tsx.snap +99 -0
  770. package/raw/src/components/atoms/logo/index.stories.tsx +84 -0
  771. package/raw/src/components/atoms/logo/index.test.tsx +18 -0
  772. package/raw/src/components/atoms/logo/index.tsx +1915 -0
  773. package/raw/src/components/atoms/marryBabyText/index.styled.tsx +86 -0
  774. package/raw/src/components/atoms/marryBabyText/index.tsx +57 -0
  775. package/raw/src/components/atoms/pagination/__snapshots__/index.test.tsx.snap +185 -0
  776. package/raw/src/components/atoms/pagination/index.stories.tsx +92 -0
  777. package/raw/src/components/atoms/pagination/index.styled.tsx +73 -0
  778. package/raw/src/components/atoms/pagination/index.test.tsx +26 -0
  779. package/raw/src/components/atoms/pagination/index.tsx +286 -0
  780. package/raw/src/components/atoms/progress/index.stories.tsx +55 -0
  781. package/raw/src/components/atoms/progress/index.styled.tsx +30 -0
  782. package/raw/src/components/atoms/progress/index.tsx +29 -0
  783. package/raw/src/components/atoms/pureInput/__snapshots__/index.test.tsx.snap +135 -0
  784. package/raw/src/components/atoms/pureInput/delete.svg +3 -0
  785. package/raw/src/components/atoms/pureInput/index.stories.tsx +54 -0
  786. package/raw/src/components/atoms/pureInput/index.styled.tsx +123 -0
  787. package/raw/src/components/atoms/pureInput/index.test.tsx +29 -0
  788. package/raw/src/components/atoms/pureInput/index.tsx +162 -0
  789. package/raw/src/components/atoms/radio/__snapshots__/index.test.tsx.snap +163 -0
  790. package/raw/src/components/atoms/radio/index.stories.tsx +48 -0
  791. package/raw/src/components/atoms/radio/index.styled.tsx +133 -0
  792. package/raw/src/components/atoms/radio/index.test.tsx +31 -0
  793. package/raw/src/components/atoms/radio/index.tsx +66 -0
  794. package/raw/src/components/atoms/rateStars/index.stories.tsx +71 -0
  795. package/raw/src/components/atoms/rateStars/index.styled.tsx +17 -0
  796. package/raw/src/components/atoms/rateStars/index.tsx +101 -0
  797. package/raw/src/components/atoms/shadow/__snapshots__/index.test.tsx.snap +37 -0
  798. package/raw/src/components/atoms/shadow/index.stories.tsx +55 -0
  799. package/raw/src/components/atoms/shadow/index.styled.tsx +31 -0
  800. package/raw/src/components/atoms/shadow/index.test.tsx +25 -0
  801. package/raw/src/components/atoms/shadow/index.tsx +20 -0
  802. package/raw/src/components/atoms/slider/__snapshots__/index.test.tsx.snap +172 -0
  803. package/raw/src/components/atoms/slider/index.stories.tsx +22 -0
  804. package/raw/src/components/atoms/slider/index.styled.tsx +68 -0
  805. package/raw/src/components/atoms/slider/index.test.tsx +27 -0
  806. package/raw/src/components/atoms/slider/index.tsx +140 -0
  807. package/raw/src/components/atoms/tag/__snapshots__/index.test.tsx.snap +72 -0
  808. package/raw/src/components/atoms/tag/index.stories.tsx +54 -0
  809. package/raw/src/components/atoms/tag/index.styled.tsx +184 -0
  810. package/raw/src/components/atoms/tag/index.test.tsx +23 -0
  811. package/raw/src/components/atoms/tag/index.tsx +72 -0
  812. package/raw/src/components/atoms/text/index.stories.tsx +24 -0
  813. package/raw/src/components/atoms/text/index.styled.tsx +231 -0
  814. package/raw/src/components/atoms/text/index.tsx +99 -0
  815. package/raw/src/components/atoms/textArea/index.stories.tsx +30 -0
  816. package/raw/src/components/atoms/textArea/index.tsx +86 -0
  817. package/raw/src/components/atoms/textDivider/index.tsx +48 -0
  818. package/raw/src/components/atoms/toggle/__snapshots__/index.test.tsx.snap +73 -0
  819. package/raw/src/components/atoms/toggle/index.stories.tsx +38 -0
  820. package/raw/src/components/atoms/toggle/index.styled.tsx +55 -0
  821. package/raw/src/components/atoms/toggle/index.test.tsx +27 -0
  822. package/raw/src/components/atoms/toggle/index.tsx +28 -0
  823. package/raw/src/components/atoms/underlinedLink/index.stories.tsx +35 -0
  824. package/raw/src/components/atoms/underlinedLink/index.styled.tsx +66 -0
  825. package/raw/src/components/atoms/underlinedLink/index.text.tsx +23 -0
  826. package/raw/src/components/atoms/underlinedLink/index.tsx +30 -0
  827. package/raw/src/components/atoms/uploader/__snapshots__/index.test.tsx.snap +170 -0
  828. package/raw/src/components/atoms/uploader/index.stories.tsx +128 -0
  829. package/raw/src/components/atoms/uploader/index.styled.tsx +53 -0
  830. package/raw/src/components/atoms/uploader/index.test.tsx +96 -0
  831. package/raw/src/components/atoms/uploader/index.tsx +107 -0
  832. package/raw/src/components/index.ts +3 -0
  833. package/raw/src/components/molecules/ampNextPage/index.tsx +48 -0
  834. package/raw/src/components/molecules/articleCard/bookmark.png +0 -0
  835. package/raw/src/components/molecules/articleCard/bookmarked.png +0 -0
  836. package/raw/src/components/molecules/articleCard/index.stories.tsx +222 -0
  837. package/raw/src/components/molecules/articleCard/index.styled.tsx +391 -0
  838. package/raw/src/components/molecules/articleCard/index.tsx +430 -0
  839. package/raw/src/components/molecules/breadcrumbs/__snapshots__/index.test.tsx.snap +173 -0
  840. package/raw/src/components/molecules/breadcrumbs/index.stories.tsx +79 -0
  841. package/raw/src/components/molecules/breadcrumbs/index.styled.tsx +99 -0
  842. package/raw/src/components/molecules/breadcrumbs/index.test.tsx +45 -0
  843. package/raw/src/components/molecules/breadcrumbs/index.tsx +141 -0
  844. package/raw/src/components/molecules/carousel/index.stories.tsx +40 -0
  845. package/raw/src/components/molecules/carousel/index.styled.tsx +115 -0
  846. package/raw/src/components/molecules/carousel/index.tsx +178 -0
  847. package/raw/src/components/molecules/categoryCard/index.stories.tsx +19 -0
  848. package/raw/src/components/molecules/categoryCard/index.styled.tsx +38 -0
  849. package/raw/src/components/molecules/categoryCard/index.tsx +51 -0
  850. package/raw/src/components/molecules/checkboxGroup/__snapshots__/index.test.tsx.snap +214 -0
  851. package/raw/src/components/molecules/checkboxGroup/index.stories.tsx +118 -0
  852. package/raw/src/components/molecules/checkboxGroup/index.styled.tsx +27 -0
  853. package/raw/src/components/molecules/checkboxGroup/index.test.tsx +36 -0
  854. package/raw/src/components/molecules/checkboxGroup/index.tsx +66 -0
  855. package/raw/src/components/molecules/cookieAcceptConfirm/__snapshots__/index.test.tsx.snap +152 -0
  856. package/raw/src/components/molecules/cookieAcceptConfirm/index.stories.tsx +23 -0
  857. package/raw/src/components/molecules/cookieAcceptConfirm/index.styled.tsx +101 -0
  858. package/raw/src/components/molecules/cookieAcceptConfirm/index.test.tsx +23 -0
  859. package/raw/src/components/molecules/cookieAcceptConfirm/index.tsx +78 -0
  860. package/raw/src/components/molecules/cookieAcceptConfirm/info.svg +3 -0
  861. package/raw/src/components/molecules/datePicker/__snapshots__/index.test.tsx.snap +377 -0
  862. package/raw/src/components/molecules/datePicker/index.stories.tsx +55 -0
  863. package/raw/src/components/molecules/datePicker/index.styled.tsx +374 -0
  864. package/raw/src/components/molecules/datePicker/index.test.tsx +46 -0
  865. package/raw/src/components/molecules/datePicker/index.tsx +361 -0
  866. package/raw/src/components/molecules/dateRangePicker/calendar/index.styled.ts +122 -0
  867. package/raw/src/components/molecules/dateRangePicker/calendar/index.tsx +247 -0
  868. package/raw/src/components/molecules/dateRangePicker/index.stories.tsx +45 -0
  869. package/raw/src/components/molecules/dateRangePicker/index.styled.ts +36 -0
  870. package/raw/src/components/molecules/dateRangePicker/index.tsx +103 -0
  871. package/raw/src/components/molecules/dateRangePicker/types.ts +4 -0
  872. package/raw/src/components/molecules/dateRangePicker/utils.ts +26 -0
  873. package/raw/src/components/molecules/doctorInfo/index.stories.tsx +20 -0
  874. package/raw/src/components/molecules/doctorInfo/index.tsx +54 -0
  875. package/raw/src/components/molecules/dropdown/__snapshots__/index.test.tsx.snap +133 -0
  876. package/raw/src/components/molecules/dropdown/index.stories.tsx +158 -0
  877. package/raw/src/components/molecules/dropdown/index.styled.tsx +149 -0
  878. package/raw/src/components/molecules/dropdown/index.test.tsx +45 -0
  879. package/raw/src/components/molecules/dropdown/index.tsx +143 -0
  880. package/raw/src/components/molecules/dropdownSearch/index.stories.tsx +66 -0
  881. package/raw/src/components/molecules/dropdownSearch/index.styled.tsx +157 -0
  882. package/raw/src/components/molecules/dropdownSearch/index.tsx +169 -0
  883. package/raw/src/components/molecules/dropdownSearch/search.svg +4 -0
  884. package/raw/src/components/molecules/floatButtonGroup/add-period.svg +9 -0
  885. package/raw/src/components/molecules/floatButtonGroup/index.stories.tsx +72 -0
  886. package/raw/src/components/molecules/floatButtonGroup/index.styled.tsx +310 -0
  887. package/raw/src/components/molecules/floatButtonGroup/index.tsx +155 -0
  888. package/raw/src/components/molecules/iconText/__snapshots__/index.test.tsx.snap +64 -0
  889. package/raw/src/components/molecules/iconText/index.stories.tsx +22 -0
  890. package/raw/src/components/molecules/iconText/index.styled.tsx +47 -0
  891. package/raw/src/components/molecules/iconText/index.test.tsx +31 -0
  892. package/raw/src/components/molecules/iconText/index.tsx +33 -0
  893. package/raw/src/components/molecules/index.ts +39 -0
  894. package/raw/src/components/molecules/languageSwitcher/index.stories.tsx +32 -0
  895. package/raw/src/components/molecules/languageSwitcher/index.styled.tsx +23 -0
  896. package/raw/src/components/molecules/languageSwitcher/index.tsx +68 -0
  897. package/raw/src/components/molecules/languageSwitcher/tooltipSelection/index.styled.tsx +69 -0
  898. package/raw/src/components/molecules/languageSwitcher/tooltipSelection/index.tsx +84 -0
  899. package/raw/src/components/molecules/mobileBottomNavigation/MobileBottomNavigationIcon.tsx +51 -0
  900. package/raw/src/components/molecules/mobileBottomNavigation/index.stories.tsx +173 -0
  901. package/raw/src/components/molecules/mobileBottomNavigation/index.styled.tsx +150 -0
  902. package/raw/src/components/molecules/mobileBottomNavigation/index.tsx +41 -0
  903. package/raw/src/components/molecules/modal/__snapshots__/index.test.tsx.snap +3 -0
  904. package/raw/src/components/molecules/modal/index.stories.tsx +139 -0
  905. package/raw/src/components/molecules/modal/index.styled.tsx +146 -0
  906. package/raw/src/components/molecules/modal/index.test.tsx +26 -0
  907. package/raw/src/components/molecules/modal/index.tsx +147 -0
  908. package/raw/src/components/molecules/popup/__snapshots__/index.test.tsx.snap +102 -0
  909. package/raw/src/components/molecules/popup/index.stories.tsx +21 -0
  910. package/raw/src/components/molecules/popup/index.styled.tsx +90 -0
  911. package/raw/src/components/molecules/popup/index.test.tsx +26 -0
  912. package/raw/src/components/molecules/popup/index.tsx +45 -0
  913. package/raw/src/components/molecules/progressBar/__snapshots__/index.test.tsx.snap +167 -0
  914. package/raw/src/components/molecules/progressBar/index.stories.tsx +72 -0
  915. package/raw/src/components/molecules/progressBar/index.styled.tsx +182 -0
  916. package/raw/src/components/molecules/progressBar/index.test.tsx +75 -0
  917. package/raw/src/components/molecules/progressBar/index.tsx +245 -0
  918. package/raw/src/components/molecules/radioGroup/__snapshots__/index.test.tsx.snap +290 -0
  919. package/raw/src/components/molecules/radioGroup/index.stories.tsx +131 -0
  920. package/raw/src/components/molecules/radioGroup/index.styled.tsx +75 -0
  921. package/raw/src/components/molecules/radioGroup/index.test.tsx +33 -0
  922. package/raw/src/components/molecules/radioGroup/index.tsx +80 -0
  923. package/raw/src/components/molecules/scrollList/index.stories.tsx +113 -0
  924. package/raw/src/components/molecules/scrollList/index.styled.tsx +140 -0
  925. package/raw/src/components/molecules/scrollList/index.tsx +786 -0
  926. package/raw/src/components/molecules/seoHead/index.tsx +382 -0
  927. package/raw/src/components/molecules/sidemenu/__snapshots__/index.test.tsx.snap +273 -0
  928. package/raw/src/components/molecules/sidemenu/index.stories.tsx +156 -0
  929. package/raw/src/components/molecules/sidemenu/index.test.tsx +56 -0
  930. package/raw/src/components/molecules/sidemenu/index.tsx +4 -0
  931. package/raw/src/components/molecules/sidemenu/menuLink.tsx +78 -0
  932. package/raw/src/components/molecules/sidemenu/sideHeader.tsx +85 -0
  933. package/raw/src/components/molecules/sidemenu/sideMenu.tsx +39 -0
  934. package/raw/src/components/molecules/sidemenu/test.tsx +94 -0
  935. package/raw/src/components/molecules/sidemenu/userInfo.tsx +44 -0
  936. package/raw/src/components/molecules/starsRatingBox/index.stories.tsx +121 -0
  937. package/raw/src/components/molecules/starsRatingBox/index.styled.tsx +23 -0
  938. package/raw/src/components/molecules/starsRatingBox/index.tsx +83 -0
  939. package/raw/src/components/molecules/statisticCard/__snapshots__/index.test.tsx.snap +86 -0
  940. package/raw/src/components/molecules/statisticCard/index.stories.tsx +40 -0
  941. package/raw/src/components/molecules/statisticCard/index.styled.tsx +47 -0
  942. package/raw/src/components/molecules/statisticCard/index.test.tsx +44 -0
  943. package/raw/src/components/molecules/statisticCard/index.tsx +48 -0
  944. package/raw/src/components/molecules/surveyQuestionCard/__snapshots__/index.test.tsx.snap +743 -0
  945. package/raw/src/components/molecules/surveyQuestionCard/index.stories.tsx +115 -0
  946. package/raw/src/components/molecules/surveyQuestionCard/index.styled.tsx +220 -0
  947. package/raw/src/components/molecules/surveyQuestionCard/index.test.tsx +53 -0
  948. package/raw/src/components/molecules/surveyQuestionCard/index.tsx +2 -0
  949. package/raw/src/components/molecules/surveyQuestionCard/surveyQuestionCard.tsx +213 -0
  950. package/raw/src/components/molecules/surveyQuestionCard/surveyQuestionContent.tsx +200 -0
  951. package/raw/src/components/molecules/surveyQuestionCard/surveyRadio.tsx +69 -0
  952. package/raw/src/components/molecules/surveyQuestionCard/surveyThankyouCard.tsx +129 -0
  953. package/raw/src/components/molecules/table/__snapshots__/index.test.tsx.snap +56 -0
  954. package/raw/src/components/molecules/table/index.stories.tsx +264 -0
  955. package/raw/src/components/molecules/table/index.test.tsx +29 -0
  956. package/raw/src/components/molecules/table/index.tsx +5 -0
  957. package/raw/src/components/molecules/table/table.tsx +38 -0
  958. package/raw/src/components/molecules/table/tableBody.tsx +46 -0
  959. package/raw/src/components/molecules/table/tableCell.tsx +47 -0
  960. package/raw/src/components/molecules/table/tableHead.tsx +46 -0
  961. package/raw/src/components/molecules/table/tableRow.tsx +45 -0
  962. package/raw/src/components/molecules/tabs/__snapshots__/index.test.tsx.snap +104 -0
  963. package/raw/src/components/molecules/tabs/index.stories.tsx +45 -0
  964. package/raw/src/components/molecules/tabs/index.styled.tsx +58 -0
  965. package/raw/src/components/molecules/tabs/index.test.tsx +49 -0
  966. package/raw/src/components/molecules/tabs/index.tsx +89 -0
  967. package/raw/src/components/organisms/footer/discoverFooter/index.styled.tsx +286 -0
  968. package/raw/src/components/organisms/footer/discoverFooter/index.tsx +448 -0
  969. package/raw/src/components/organisms/footer/index.stories.tsx +207 -0
  970. package/raw/src/components/organisms/footer/index.tsx +70 -0
  971. package/raw/src/components/organisms/footer/maryBabyFooter/index.styled.tsx +502 -0
  972. package/raw/src/components/organisms/footer/maryBabyFooter/index.tsx +393 -0
  973. package/raw/src/components/organisms/index.ts +31 -0
  974. package/raw/src/components/organisms/navigationBookingButton/index.styled.tsx +11 -0
  975. package/raw/src/components/organisms/navigationBookingButton/index.tsx +53 -0
  976. package/raw/src/components/organisms/navigationLayout/CustomFooter.tsx +154 -0
  977. package/raw/src/components/organisms/navigationLayout/ampSideBar/index.styled.tsx +151 -0
  978. package/raw/src/components/organisms/navigationLayout/ampSideBar/index.tsx +276 -0
  979. package/raw/src/components/organisms/navigationLayout/assets/check.svg +3 -0
  980. package/raw/src/components/organisms/navigationLayout/assets/chevronDown.svg +3 -0
  981. package/raw/src/components/organisms/navigationLayout/assets/chevronRightWhite.svg +3 -0
  982. package/raw/src/components/organisms/navigationLayout/assets/chevronUpBlue.svg +3 -0
  983. package/raw/src/components/organisms/navigationLayout/assets/closeLight.svg +4 -0
  984. package/raw/src/components/organisms/navigationLayout/assets/closeWhite.svg +4 -0
  985. package/raw/src/components/organisms/navigationLayout/assets/hamburgerMenu.svg +5 -0
  986. package/raw/src/components/organisms/navigationLayout/assets/index.js +19 -0
  987. package/raw/src/components/organisms/navigationLayout/assets/info-light.svg +5 -0
  988. package/raw/src/components/organisms/navigationLayout/constants.ts +958 -0
  989. package/raw/src/components/organisms/navigationLayout/footer/index.styled.tsx +286 -0
  990. package/raw/src/components/organisms/navigationLayout/footer/index.tsx +449 -0
  991. package/raw/src/components/organisms/navigationLayout/index.stories.tsx +273 -0
  992. package/raw/src/components/organisms/navigationLayout/index.styled.tsx +153 -0
  993. package/raw/src/components/organisms/navigationLayout/index.tsx +1272 -0
  994. package/raw/src/components/organisms/navigationLayout/languageWrapper.tsx +19 -0
  995. package/raw/src/components/organisms/navigationLayout/languages/default.ts +63 -0
  996. package/raw/src/components/organisms/navigationLayout/layout.tsx +406 -0
  997. package/raw/src/components/organisms/navigationLayout/marryBabyText/index.styled.tsx +86 -0
  998. package/raw/src/components/organisms/navigationLayout/marryBabyText/index.tsx +57 -0
  999. package/raw/src/components/organisms/navigationLayout/maryBabyFooter/index.styled.tsx +502 -0
  1000. package/raw/src/components/organisms/navigationLayout/maryBabyFooter/index.tsx +383 -0
  1001. package/raw/src/components/organisms/navigationLayout/menuCareList/categorySkeleton.tsx +25 -0
  1002. package/raw/src/components/organisms/navigationLayout/menuCareList/index.styled.tsx +156 -0
  1003. package/raw/src/components/organisms/navigationLayout/menuCareList/index.tsx +266 -0
  1004. package/raw/src/components/organisms/navigationLayout/menuCategoriesList/categorySkeleton.tsx +25 -0
  1005. package/raw/src/components/organisms/navigationLayout/menuCategoriesList/helloSites.tsx +419 -0
  1006. package/raw/src/components/organisms/navigationLayout/menuCategoriesList/index.styled.tsx +196 -0
  1007. package/raw/src/components/organisms/navigationLayout/menuCategoriesList/index.tsx +92 -0
  1008. package/raw/src/components/organisms/navigationLayout/menuCategoriesList/marryBaby.styled.tsx +151 -0
  1009. package/raw/src/components/organisms/navigationLayout/menuCategoriesList/marryBaby.tsx +409 -0
  1010. package/raw/src/components/organisms/navigationLayout/menuCategoriesList/spotlightsList/index.styled.tsx +147 -0
  1011. package/raw/src/components/organisms/navigationLayout/menuCategoriesList/spotlightsList/index.tsx +141 -0
  1012. package/raw/src/components/organisms/navigationLayout/menuCategoriesList/spotlightsList/spotlightSkeleton.tsx +25 -0
  1013. package/raw/src/components/organisms/navigationLayout/menuCommunitiesList/categorySkeleton.tsx +25 -0
  1014. package/raw/src/components/organisms/navigationLayout/menuCommunitiesList/helloSites.tsx +309 -0
  1015. package/raw/src/components/organisms/navigationLayout/menuCommunitiesList/index.styled.tsx +162 -0
  1016. package/raw/src/components/organisms/navigationLayout/menuCommunitiesList/index.tsx +80 -0
  1017. package/raw/src/components/organisms/navigationLayout/menuCommunitiesList/marryBaby.styled.tsx +119 -0
  1018. package/raw/src/components/organisms/navigationLayout/menuCommunitiesList/marryBaby.tsx +181 -0
  1019. package/raw/src/components/organisms/navigationLayout/menuHealthToolsList/categorySkeleton.tsx +25 -0
  1020. package/raw/src/components/organisms/navigationLayout/menuHealthToolsList/helloSites.tsx +364 -0
  1021. package/raw/src/components/organisms/navigationLayout/menuHealthToolsList/index.styled.tsx +176 -0
  1022. package/raw/src/components/organisms/navigationLayout/menuHealthToolsList/index.tsx +83 -0
  1023. package/raw/src/components/organisms/navigationLayout/menuHealthToolsList/marryBaby.tsx +166 -0
  1024. package/raw/src/components/organisms/navigationLayout/menuHealthToolsList/marrybaby.styled.tsx +118 -0
  1025. package/raw/src/components/organisms/navigationLayout/menuSectionCard/cardSkeleton.tsx +32 -0
  1026. package/raw/src/components/organisms/navigationLayout/menuSectionCard/index.styled.tsx +46 -0
  1027. package/raw/src/components/organisms/navigationLayout/menuSectionCard/index.tsx +52 -0
  1028. package/raw/src/components/organisms/navigationLayout/menuServiceList/categoriesSubList.tsx +121 -0
  1029. package/raw/src/components/organisms/navigationLayout/menuServiceList/communitySubList.tsx +143 -0
  1030. package/raw/src/components/organisms/navigationLayout/menuServiceList/index.styled.tsx +460 -0
  1031. package/raw/src/components/organisms/navigationLayout/menuServiceList/index.tsx +746 -0
  1032. package/raw/src/components/organisms/navigationLayout/menuServiceList/marryBabyMobileMenuSection.tsx +239 -0
  1033. package/raw/src/components/organisms/navigationLayout/navigationBar/ArrowLeftPopupIcon.tsx +21 -0
  1034. package/raw/src/components/organisms/navigationLayout/navigationBar/ClosePopupIcon.tsx +20 -0
  1035. package/raw/src/components/organisms/navigationLayout/navigationBar/HamburgerIcon.tsx +43 -0
  1036. package/raw/src/components/organisms/navigationLayout/navigationBar/NavigationBar.types.ts +99 -0
  1037. package/raw/src/components/organisms/navigationLayout/navigationBar/NavigationBarMobile.tsx +503 -0
  1038. package/raw/src/components/organisms/navigationLayout/navigationBar/SearchIcon.tsx +22 -0
  1039. package/raw/src/components/organisms/navigationLayout/navigationBar/index.styled.tsx +540 -0
  1040. package/raw/src/components/organisms/navigationLayout/navigationBar/index.tsx +798 -0
  1041. package/raw/src/components/organisms/navigationLayout/navigationLogoutPopup/index.styled.tsx +87 -0
  1042. package/raw/src/components/organisms/navigationLayout/navigationLogoutPopup/index.tsx +95 -0
  1043. package/raw/src/components/organisms/navigationLayout/profilePopup/index.tsx +102 -0
  1044. package/raw/src/components/organisms/navigationLayout/profilePopupWrapper/index.styled.tsx +164 -0
  1045. package/raw/src/components/organisms/navigationLayout/profilePopupWrapper/index.tsx +58 -0
  1046. package/raw/src/components/organisms/navigationLayout/siteWide/index.styled.tsx +116 -0
  1047. package/raw/src/components/organisms/navigationLayout/siteWide/index.tsx +162 -0
  1048. package/raw/src/components/organisms/navigationLayout/sponsoredBy/index.styled.tsx +119 -0
  1049. package/raw/src/components/organisms/navigationLayout/sponsoredBy/index.tsx +254 -0
  1050. package/raw/src/components/organisms/navigationLayout/tooltipSelection/index.styled.tsx +66 -0
  1051. package/raw/src/components/organisms/navigationLayout/tooltipSelection/index.tsx +81 -0
  1052. package/raw/src/components/organisms/navigationLayout/types.ts +322 -0
  1053. package/raw/src/components/organisms/navigationLayout/utils.tsx +424 -0
  1054. package/raw/src/components/organisms/navigationLogoutPopup/index.stories.tsx +34 -0
  1055. package/raw/src/components/organisms/navigationLogoutPopup/index.styled.tsx +87 -0
  1056. package/raw/src/components/organisms/navigationLogoutPopup/index.tsx +78 -0
  1057. package/raw/src/components/organisms/navigationProfileButton/index.stories.tsx +51 -0
  1058. package/raw/src/components/organisms/navigationProfileButton/index.styled.tsx +254 -0
  1059. package/raw/src/components/organisms/navigationProfileButton/index.tsx +217 -0
  1060. package/raw/src/components/organisms/navigationProfileButton/popupWrapper.tsx +58 -0
  1061. package/raw/src/components/organisms/navigationProfileButton/profilePopup.tsx +97 -0
  1062. package/raw/src/components/organisms/navigationV2/components/atoms/ArrowLeftPopupIcon.tsx +21 -0
  1063. package/raw/src/components/organisms/navigationV2/components/atoms/ClosePopupIcon.tsx +21 -0
  1064. package/raw/src/components/organisms/navigationV2/components/atoms/HamburgerIcon.tsx +58 -0
  1065. package/raw/src/components/organisms/navigationV2/components/atoms/ItemNav/index.styled.tsx +63 -0
  1066. package/raw/src/components/organisms/navigationV2/components/atoms/ItemNav/index.tsx +71 -0
  1067. package/raw/src/components/organisms/navigationV2/components/atoms/PopupWrapper/btnClosePopup.tsx +30 -0
  1068. package/raw/src/components/organisms/navigationV2/components/atoms/PopupWrapper/index.styled.tsx +62 -0
  1069. package/raw/src/components/organisms/navigationV2/components/atoms/PopupWrapper/index.tsx +45 -0
  1070. package/raw/src/components/organisms/navigationV2/components/atoms/SearchIcon.tsx +22 -0
  1071. package/raw/src/components/organisms/navigationV2/components/atoms/searchInput/index.tsx +45 -0
  1072. package/raw/src/components/organisms/navigationV2/components/molecules/Categories/index.styled.tsx +74 -0
  1073. package/raw/src/components/organisms/navigationV2/components/molecules/Categories/index.tsx +115 -0
  1074. package/raw/src/components/organisms/navigationV2/components/molecules/Spotlights/index.styled.tsx +40 -0
  1075. package/raw/src/components/organisms/navigationV2/components/molecules/Spotlights/index.tsx +60 -0
  1076. package/raw/src/components/organisms/navigationV2/components/molecules/menuCareList/Item/index.styled.tsx +155 -0
  1077. package/raw/src/components/organisms/navigationV2/components/molecules/menuCareList/Item/index.tsx +103 -0
  1078. package/raw/src/components/organisms/navigationV2/components/molecules/menuCareList/careSpotlights.tsx +40 -0
  1079. package/raw/src/components/organisms/navigationV2/components/molecules/menuCareList/index.styled.tsx +29 -0
  1080. package/raw/src/components/organisms/navigationV2/components/molecules/menuCareList/index.tsx +65 -0
  1081. package/raw/src/components/organisms/navigationV2/components/molecules/menuCategoriesList/Item/index.styled.tsx +46 -0
  1082. package/raw/src/components/organisms/navigationV2/components/molecules/menuCategoriesList/Item/index.tsx +50 -0
  1083. package/raw/src/components/organisms/navigationV2/components/molecules/menuCategoriesList/categorySpotlights.tsx +59 -0
  1084. package/raw/src/components/organisms/navigationV2/components/molecules/menuCategoriesList/index.styled.tsx +30 -0
  1085. package/raw/src/components/organisms/navigationV2/components/molecules/menuCategoriesList/index.tsx +64 -0
  1086. package/raw/src/components/organisms/navigationV2/components/molecules/menuCommunitiesList/Item/index.styled.tsx +89 -0
  1087. package/raw/src/components/organisms/navigationV2/components/molecules/menuCommunitiesList/Item/index.tsx +91 -0
  1088. package/raw/src/components/organisms/navigationV2/components/molecules/menuCommunitiesList/communitySpotlights.tsx +49 -0
  1089. package/raw/src/components/organisms/navigationV2/components/molecules/menuCommunitiesList/index.styled.tsx +42 -0
  1090. package/raw/src/components/organisms/navigationV2/components/molecules/menuCommunitiesList/index.tsx +56 -0
  1091. package/raw/src/components/organisms/navigationV2/components/molecules/menuHealthToolsList/Item/index.styled.tsx +104 -0
  1092. package/raw/src/components/organisms/navigationV2/components/molecules/menuHealthToolsList/Item/index.tsx +99 -0
  1093. package/raw/src/components/organisms/navigationV2/components/molecules/menuHealthToolsList/index.styled.tsx +18 -0
  1094. package/raw/src/components/organisms/navigationV2/components/molecules/menuHealthToolsList/index.tsx +65 -0
  1095. package/raw/src/components/organisms/navigationV2/components/molecules/menuHealthToolsList/toolSpotlights.tsx +41 -0
  1096. package/raw/src/components/organisms/navigationV2/components/molecules/menuServiceList/index.styled.tsx +358 -0
  1097. package/raw/src/components/organisms/navigationV2/components/molecules/menuServiceList/index.tsx +88 -0
  1098. package/raw/src/components/organisms/navigationV2/components/molecules/navigationBar/hamburgerMenu.tsx +74 -0
  1099. package/raw/src/components/organisms/navigationV2/components/molecules/navigationBar/index.styled.tsx +214 -0
  1100. package/raw/src/components/organisms/navigationV2/components/molecules/navigationBar/index.tsx +283 -0
  1101. package/raw/src/components/organisms/navigationV2/components/molecules/navigationBar/navigationProfileButtonWithContext.tsx +50 -0
  1102. package/raw/src/components/organisms/navigationV2/components/molecules/spotlightNoData/index.styled.tsx +70 -0
  1103. package/raw/src/components/organisms/navigationV2/components/molecules/spotlightNoData/index.tsx +74 -0
  1104. package/raw/src/components/organisms/navigationV2/constants.ts +277 -0
  1105. package/raw/src/components/organisms/navigationV2/hooks/useHeaderHeight.tsx +84 -0
  1106. package/raw/src/components/organisms/navigationV2/hooks/useInsider.tsx +67 -0
  1107. package/raw/src/components/organisms/navigationV2/hooks/useNavConfig.tsx +99 -0
  1108. package/raw/src/components/organisms/navigationV2/hooks/useNavServices.tsx +73 -0
  1109. package/raw/src/components/organisms/navigationV2/index.stories.tsx +287 -0
  1110. package/raw/src/components/organisms/navigationV2/index.styled.tsx +30 -0
  1111. package/raw/src/components/organisms/navigationV2/index.tsx +320 -0
  1112. package/raw/src/components/organisms/navigationV2/navigationContext.tsx +38 -0
  1113. package/raw/src/components/organisms/navigationV2/types.ts +307 -0
  1114. package/raw/src/components/organisms/navigationV2/utils.tsx +400 -0
  1115. package/raw/src/components/organisms/userProfileNavigation/assets/helloSites/icon-chevronDown.svg +3 -0
  1116. package/raw/src/components/organisms/userProfileNavigation/assets/helloSites/icon-chevronRight.svg +3 -0
  1117. package/raw/src/components/organisms/userProfileNavigation/assets/helloSites/icon-eCom.svg +22 -0
  1118. package/raw/src/components/organisms/userProfileNavigation/assets/helloSites/icon-helpCircle.svg +3 -0
  1119. package/raw/src/components/organisms/userProfileNavigation/assets/helloSites/icon-logOut.svg +3 -0
  1120. package/raw/src/components/organisms/userProfileNavigation/assets/helloSites/icon-myBooking.svg +36 -0
  1121. package/raw/src/components/organisms/userProfileNavigation/assets/helloSites/icon-myCommunity.svg +19 -0
  1122. package/raw/src/components/organisms/userProfileNavigation/assets/helloSites/icon-myFamily.svg +15 -0
  1123. package/raw/src/components/organisms/userProfileNavigation/assets/helloSites/icon-myHealth.svg +13 -0
  1124. package/raw/src/components/organisms/userProfileNavigation/assets/helloSites/icon-mySaved.svg +3 -0
  1125. package/raw/src/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-ambassador.svg +4 -0
  1126. package/raw/src/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-doctor.svg +4 -0
  1127. package/raw/src/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-expert.svg +4 -0
  1128. package/raw/src/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-influencer.svg +4 -0
  1129. package/raw/src/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-member.svg +8 -0
  1130. package/raw/src/components/organisms/userProfileNavigation/assets/helloSites/icon-settingsWheel.svg +3 -0
  1131. package/raw/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-arrowRight.svg +3 -0
  1132. package/raw/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-lock.svg +4 -0
  1133. package/raw/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-logOut.svg +4 -0
  1134. package/raw/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-myCommunity.svg +4 -0
  1135. package/raw/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-myHealth.svg +6 -0
  1136. package/raw/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-mySaved.svg +3 -0
  1137. package/raw/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-ambassador.svg +40 -0
  1138. package/raw/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-doctor.svg +40 -0
  1139. package/raw/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-expert.svg +27 -0
  1140. package/raw/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-influencer.svg +33 -0
  1141. package/raw/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-member.svg +33 -0
  1142. package/raw/src/components/organisms/userProfileNavigation/constants.ts +23 -0
  1143. package/raw/src/components/organisms/userProfileNavigation/index.stories.tsx +79 -0
  1144. package/raw/src/components/organisms/userProfileNavigation/index.styled.ts +60 -0
  1145. package/raw/src/components/organisms/userProfileNavigation/index.tsx +219 -0
  1146. package/raw/src/components/organisms/userProfileNavigation/navHeader/index.styled.ts +76 -0
  1147. package/raw/src/components/organisms/userProfileNavigation/navHeader/index.tsx +68 -0
  1148. package/raw/src/components/organisms/userProfileNavigation/navMenu/index.styled.ts +115 -0
  1149. package/raw/src/components/organisms/userProfileNavigation/navMenu/index.tsx +79 -0
  1150. package/raw/src/components/organisms/userProfileNavigation/navMenu/items.ts +38 -0
  1151. package/raw/src/components/organisms/userProfileNavigation/navigationCard/index.styled.ts +51 -0
  1152. package/raw/src/components/organisms/userProfileNavigation/navigationCard/index.tsx +96 -0
  1153. package/raw/src/components/organisms/userProfileNavigation/types.ts +35 -0
  1154. package/raw/src/components/organisms/userProfileNavigation/userStats/index.styled.ts +110 -0
  1155. package/raw/src/components/organisms/userProfileNavigation/userStats/index.tsx +78 -0
  1156. package/raw/src/core.ts +7 -0
  1157. package/raw/src/docs/releases/getReleases.js +56 -0
  1158. package/raw/src/docs/releases/index.stories.mdx +9 -0
  1159. package/raw/src/ecom/dataFormatter/index.ts +933 -0
  1160. package/raw/src/ecom/dataFormatter/lib/apiTypes.ts +623 -0
  1161. package/raw/src/ecom/dataFormatter/lib/dataTypes.ts +571 -0
  1162. package/raw/src/ecom/dataFormatter/lib/utils.ts +40 -0
  1163. package/raw/src/ecom/index.tsx +5 -0
  1164. package/raw/src/ecom/interfaces/constants.ts +1000 -0
  1165. package/raw/src/ecom/interfaces/types.ts +194 -0
  1166. package/raw/src/hooks/useCSSFocusPopupHelper.ts +32 -0
  1167. package/raw/src/hooks/useDragScroll.ts +55 -0
  1168. package/raw/src/hooks/useDropdownSearch.tsx +52 -0
  1169. package/raw/src/hooks/useFbDataLayer.tsx +49 -0
  1170. package/raw/src/hooks/useGeolocation.ts +86 -0
  1171. package/raw/src/hooks/useGetIsMobile.ts +20 -0
  1172. package/raw/src/hooks/useImagesPicker.ts +56 -0
  1173. package/raw/src/hooks/useIsInit.ts +9 -0
  1174. package/raw/src/hooks/useOutsideClick.ts +20 -0
  1175. package/raw/src/hooks/useScreenSize.ts +35 -0
  1176. package/raw/src/hooks/useScrollbarSize.ts +74 -0
  1177. package/raw/src/hooks/useTranslations.tsx +41 -0
  1178. package/raw/src/i18n/en-PH.json +235 -0
  1179. package/raw/src/i18n/hi-IN.json +235 -0
  1180. package/raw/src/i18n/id-ID.json +235 -0
  1181. package/raw/src/i18n/index.ts +3 -0
  1182. package/raw/src/i18n/km-KH.json +235 -0
  1183. package/raw/src/i18n/ms-MY.json +235 -0
  1184. package/raw/src/i18n/my-MM.json +235 -0
  1185. package/raw/src/i18n/th-TH.json +235 -0
  1186. package/raw/src/i18n/tl-PH.json +235 -0
  1187. package/raw/src/i18n/translations.ts +47 -0
  1188. package/raw/src/i18n/translationsContext.ts +12 -0
  1189. package/raw/src/i18n/translationsProvider.tsx +66 -0
  1190. package/raw/src/i18n/vi-VN.json +242 -0
  1191. package/raw/src/i18n/zh-TW.json +235 -0
  1192. package/raw/src/index.ts +12 -0
  1193. package/raw/src/interfaces/constants.ts +402 -0
  1194. package/raw/src/interfaces/types.ts +85 -0
  1195. package/raw/src/misc/cookieHelper.tsx +31 -0
  1196. package/raw/src/misc/lazyLoad.ts +7 -0
  1197. package/raw/src/misc/mockTheme.tsx +11 -0
  1198. package/raw/src/misc/number.ts +24 -0
  1199. package/raw/src/misc/routing.tsx +45 -0
  1200. package/raw/src/misc/theme.ts +186 -0
  1201. package/raw/src/misc/utils.ts +214 -0
  1202. package/raw/src/test/testTranslationProvider.tsx +14 -0
  1203. package/raw/src/together/api/dataTransform.ts +650 -0
  1204. package/raw/src/together/api/paths.ts +163 -0
  1205. package/raw/src/together/api/utils.ts +399 -0
  1206. package/raw/src/together/assets/images/avatar-default.png +0 -0
  1207. package/raw/src/together/assets/images/icon-whatsapp.png +0 -0
  1208. package/raw/src/together/assets/images/icon-zalo.png +0 -0
  1209. package/raw/src/together/assets/marrybaby/svg/comment.svg +4 -0
  1210. package/raw/src/together/assets/marrybaby/svg/commentSolid.svg +5 -0
  1211. package/raw/src/together/assets/marrybaby/svg/commentWhite.svg +4 -0
  1212. package/raw/src/together/assets/marrybaby/svg/copy.svg +1 -0
  1213. package/raw/src/together/assets/marrybaby/svg/facebook.svg +9 -0
  1214. package/raw/src/together/assets/marrybaby/svg/heart.svg +4 -0
  1215. package/raw/src/together/assets/marrybaby/svg/heartSolid.svg +4 -0
  1216. package/raw/src/together/assets/marrybaby/svg/linkedin.svg +6 -0
  1217. package/raw/src/together/assets/marrybaby/svg/loading.svg +15 -0
  1218. package/raw/src/together/assets/marrybaby/svg/messenger.svg +17 -0
  1219. package/raw/src/together/assets/marrybaby/svg/more.svg +6 -0
  1220. package/raw/src/together/assets/marrybaby/svg/moreSolid.svg +6 -0
  1221. package/raw/src/together/assets/marrybaby/svg/pin.svg +6 -0
  1222. package/raw/src/together/assets/marrybaby/svg/pinOrange.svg +6 -0
  1223. package/raw/src/together/assets/marrybaby/svg/share.svg +5 -0
  1224. package/raw/src/together/assets/marrybaby/svg/share2.svg +5 -0
  1225. package/raw/src/together/assets/marrybaby/svg/sortBy.svg +5 -0
  1226. package/raw/src/together/assets/marrybaby/svg/twitter.svg +4 -0
  1227. package/raw/src/together/assets/marrybaby/svg/zalo.png +0 -0
  1228. package/raw/src/together/assets/svg/bullet-point.svg +3 -0
  1229. package/raw/src/together/assets/svg/chevronRightActive.svg +3 -0
  1230. package/raw/src/together/assets/svg/close-circle-line.svg +5 -0
  1231. package/raw/src/together/assets/svg/closeLight copy.svg +4 -0
  1232. package/raw/src/together/assets/svg/closeLight.svg +4 -0
  1233. package/raw/src/together/assets/svg/delete.svg +13 -0
  1234. package/raw/src/together/assets/svg/icon-alert-circle-primary.svg +5 -0
  1235. package/raw/src/together/assets/svg/icon-alert-circle-warning.svg +5 -0
  1236. package/raw/src/together/assets/svg/icon-alert-circle.svg +5 -0
  1237. package/raw/src/together/assets/svg/icon-arrow-circle-upgrade.svg +3 -0
  1238. package/raw/src/together/assets/svg/icon-arrow-left.svg +4 -0
  1239. package/raw/src/together/assets/svg/icon-arrow-right-circle.svg +5 -0
  1240. package/raw/src/together/assets/svg/icon-bell-off.svg +7 -0
  1241. package/raw/src/together/assets/svg/icon-bell-on.svg +4 -0
  1242. package/raw/src/together/assets/svg/icon-bookmark-fill.svg +3 -0
  1243. package/raw/src/together/assets/svg/icon-bookmark.svg +3 -0
  1244. package/raw/src/together/assets/svg/icon-cancel.svg +13 -0
  1245. package/raw/src/together/assets/svg/icon-check-gray.svg +3 -0
  1246. package/raw/src/together/assets/svg/icon-check-pink.svg +3 -0
  1247. package/raw/src/together/assets/svg/icon-check-success.svg +4 -0
  1248. package/raw/src/together/assets/svg/icon-check.svg +4 -0
  1249. package/raw/src/together/assets/svg/icon-chevron-left-dark.svg +3 -0
  1250. package/raw/src/together/assets/svg/icon-chevron-right-dark.svg +3 -0
  1251. package/raw/src/together/assets/svg/icon-chevron-right-white.svg +3 -0
  1252. package/raw/src/together/assets/svg/icon-chevron-right.svg +3 -0
  1253. package/raw/src/together/assets/svg/icon-close-circle-line.svg +5 -0
  1254. package/raw/src/together/assets/svg/icon-close-circle.svg +5 -0
  1255. package/raw/src/together/assets/svg/icon-close.svg +4 -0
  1256. package/raw/src/together/assets/svg/icon-edit.svg +3 -0
  1257. package/raw/src/together/assets/svg/icon-enter.svg +4 -0
  1258. package/raw/src/together/assets/svg/icon-facebook.svg +3 -0
  1259. package/raw/src/together/assets/svg/icon-heart-empty.svg +3 -0
  1260. package/raw/src/together/assets/svg/icon-heart-fill-red.svg +3 -0
  1261. package/raw/src/together/assets/svg/icon-heart-fill.svg +3 -0
  1262. package/raw/src/together/assets/svg/icon-kebab.svg +5 -0
  1263. package/raw/src/together/assets/svg/icon-link.svg +4 -0
  1264. package/raw/src/together/assets/svg/icon-linkedin.svg +4 -0
  1265. package/raw/src/together/assets/svg/icon-pin-gray.svg +4 -0
  1266. package/raw/src/together/assets/svg/icon-pin-yellow.svg +4 -0
  1267. package/raw/src/together/assets/svg/icon-pin.svg +4 -0
  1268. package/raw/src/together/assets/svg/icon-reply-arrow.svg +3 -0
  1269. package/raw/src/together/assets/svg/icon-reply-circle-empty.svg +3 -0
  1270. package/raw/src/together/assets/svg/icon-reply-circle-fill.svg +3 -0
  1271. package/raw/src/together/assets/svg/icon-share-on-media.svg +7 -0
  1272. package/raw/src/together/assets/svg/icon-sort-arrow.svg +4 -0
  1273. package/raw/src/together/assets/svg/icon-tab-edit-2.svg +4 -0
  1274. package/raw/src/together/assets/svg/icon-tab-edit-primary.svg +4 -0
  1275. package/raw/src/together/assets/svg/icon-trash-bin.svg +6 -0
  1276. package/raw/src/together/assets/svg/icon-twitter.svg +4 -0
  1277. package/raw/src/together/assets/svg/loading.svg +7 -0
  1278. package/raw/src/together/assets/svg/reviewer-author.svg +12 -0
  1279. package/raw/src/together/assets/svg/reviewer-editor.svg +12 -0
  1280. package/raw/src/together/assets/svg/reviewer-expert.svg +5 -0
  1281. package/raw/src/together/assets/svg/reviewer-fact-check.svg +4 -0
  1282. package/raw/src/together/assets/svg/reviewer-medical.svg +4 -0
  1283. package/raw/src/together/components/atoms/cardLink/index.styled.tsx +64 -0
  1284. package/raw/src/together/components/atoms/cardLink/index.tsx +149 -0
  1285. package/raw/src/together/components/atoms/cardReactions/index.styled.tsx +96 -0
  1286. package/raw/src/together/components/atoms/cardReactions/index.tsx +221 -0
  1287. package/raw/src/together/components/atoms/index.tsx +8 -0
  1288. package/raw/src/together/components/atoms/labelSortPin/index.styled.tsx +78 -0
  1289. package/raw/src/together/components/atoms/labelSortPin/index.tsx +50 -0
  1290. package/raw/src/together/components/atoms/labelSortPin/labelPin.tsx +47 -0
  1291. package/raw/src/together/components/atoms/labelSortPin/labelSorting.tsx +127 -0
  1292. package/raw/src/together/components/atoms/loading/index.styled.tsx +42 -0
  1293. package/raw/src/together/components/atoms/loading/index.tsx +25 -0
  1294. package/raw/src/together/components/atoms/loading/loadingCard.tsx +38 -0
  1295. package/raw/src/together/components/atoms/tagTopic/index.styled.tsx +33 -0
  1296. package/raw/src/together/components/atoms/tagTopic/index.tsx +57 -0
  1297. package/raw/src/together/components/atoms/userAvatar/index.styled.tsx +39 -0
  1298. package/raw/src/together/components/atoms/userAvatar/index.tsx +62 -0
  1299. package/raw/src/together/components/molecules/cardAuthor/customMMLocale/formatDistance.ts +112 -0
  1300. package/raw/src/together/components/molecules/cardAuthor/customMMLocale/index.ts +16 -0
  1301. package/raw/src/together/components/molecules/cardAuthor/customMMLocale/types.ts +37 -0
  1302. package/raw/src/together/components/molecules/cardAuthor/index.styled.tsx +164 -0
  1303. package/raw/src/together/components/molecules/cardAuthor/index.tsx +314 -0
  1304. package/raw/src/together/components/molecules/createNewPostContent/index.stories.tsx +114 -0
  1305. package/raw/src/together/components/molecules/createNewPostContent/index.styled.tsx +73 -0
  1306. package/raw/src/together/components/molecules/createNewPostContent/index.tsx +351 -0
  1307. package/raw/src/together/components/molecules/createPostDescription/editor.tsx +915 -0
  1308. package/raw/src/together/components/molecules/createPostDescription/index.styled.tsx +328 -0
  1309. package/raw/src/together/components/molecules/createPostDescription/index.tsx +163 -0
  1310. package/raw/src/together/components/molecules/createPostTitle/index.styled.tsx +62 -0
  1311. package/raw/src/together/components/molecules/createPostTitle/index.tsx +133 -0
  1312. package/raw/src/together/components/molecules/index.tsx +18 -0
  1313. package/raw/src/together/components/molecules/inputCommentBar/index.styled.tsx +227 -0
  1314. package/raw/src/together/components/molecules/inputCommentBar/index.tsx +341 -0
  1315. package/raw/src/together/components/molecules/inputCommentBar/mainInputTriggerContext.tsx +26 -0
  1316. package/raw/src/together/components/molecules/popupDanger/index.styled.tsx +174 -0
  1317. package/raw/src/together/components/molecules/popupDanger/index.tsx +113 -0
  1318. package/raw/src/together/components/molecules/popupDoctor/index.styled.tsx +185 -0
  1319. package/raw/src/together/components/molecules/popupDoctor/index.tsx +271 -0
  1320. package/raw/src/together/components/molecules/popupExpert/index.styled.tsx +175 -0
  1321. package/raw/src/together/components/molecules/popupExpert/index.tsx +216 -0
  1322. package/raw/src/together/components/molecules/popupFrame/index.styled.tsx +76 -0
  1323. package/raw/src/together/components/molecules/popupFrame/index.tsx +43 -0
  1324. package/raw/src/together/components/molecules/popupFrame/popupShare.tsx +178 -0
  1325. package/raw/src/together/components/molecules/popupHospital/index.styled.tsx +173 -0
  1326. package/raw/src/together/components/molecules/popupHospital/index.tsx +249 -0
  1327. package/raw/src/together/components/molecules/postContent/index.styled.tsx +66 -0
  1328. package/raw/src/together/components/molecules/postContent/index.tsx +125 -0
  1329. package/raw/src/together/components/molecules/postImagePreview/imagePreviewPopup.tsx +73 -0
  1330. package/raw/src/together/components/molecules/postImagePreview/index.styled.tsx +154 -0
  1331. package/raw/src/together/components/molecules/postImagePreview/index.tsx +115 -0
  1332. package/raw/src/together/components/molecules/postImagePreview/postSingleImageViewPopup/index.styled.tsx +84 -0
  1333. package/raw/src/together/components/molecules/postImagePreview/postSingleImageViewPopup/index.tsx +83 -0
  1334. package/raw/src/together/components/molecules/shareBox/index.stories.tsx +36 -0
  1335. package/raw/src/together/components/molecules/shareBox/index.styled.tsx +141 -0
  1336. package/raw/src/together/components/molecules/shareBox/index.tsx +188 -0
  1337. package/raw/src/together/components/molecules/socialLinkPreview/index.styled.tsx +39 -0
  1338. package/raw/src/together/components/molecules/socialLinkPreview/index.tsx +206 -0
  1339. package/raw/src/together/components/molecules/submitReportForm/index.styled.tsx +34 -0
  1340. package/raw/src/together/components/molecules/submitReportForm/index.tsx +84 -0
  1341. package/raw/src/together/components/molecules/topicSelectList/index.stories.tsx +93 -0
  1342. package/raw/src/together/components/molecules/topicSelectList/index.styled.tsx +53 -0
  1343. package/raw/src/together/components/molecules/topicSelectList/index.tsx +186 -0
  1344. package/raw/src/together/components/organisms/cardPost/cardPostPopover.tsx +293 -0
  1345. package/raw/src/together/components/organisms/cardPost/index.stories.tsx +212 -0
  1346. package/raw/src/together/components/organisms/cardPost/index.styled.tsx +181 -0
  1347. package/raw/src/together/components/organisms/cardPost/index.tsx +458 -0
  1348. package/raw/src/together/components/organisms/cardReply/cardReplyPopover.tsx +122 -0
  1349. package/raw/src/together/components/organisms/cardReply/index.styled.tsx +199 -0
  1350. package/raw/src/together/components/organisms/cardReply/index.tsx +362 -0
  1351. package/raw/src/together/components/organisms/index.tsx +5 -0
  1352. package/raw/src/together/components/organisms/popoverMenu/index.styled.tsx +313 -0
  1353. package/raw/src/together/components/organisms/popoverMenu/index.tsx +102 -0
  1354. package/raw/src/together/components/organisms/popoverMenu/treePopoverMenu.tsx +156 -0
  1355. package/raw/src/together/hooks/useTogetherAuthRequiredAction.tsx +124 -0
  1356. package/raw/src/together/index.ts +12 -0
  1357. package/raw/src/together/interfaces/constants.ts +306 -0
  1358. package/raw/src/together/interfaces/types.ts +1418 -0
  1359. package/raw/src/together/togetherComponentGlobalContext.tsx +150 -0
  1360. package/raw/src/together/utils/apiActions/comment.tsx +168 -0
  1361. package/raw/src/together/utils/apiActions/community.ts +59 -0
  1362. package/raw/src/together/utils/apiActions/post.ts +234 -0
  1363. package/raw/src/together/utils/apiActions/topic.ts +40 -0
  1364. package/raw/src/together/utils/notification.ts +20 -0
  1365. package/raw/src/together/utils/post.ts +351 -0
  1366. package/raw/test/testTranslationProvider.tsx +14 -0
  1367. package/raw/together/api/dataTransform.ts +650 -0
  1368. package/raw/together/api/paths.ts +163 -0
  1369. package/raw/together/api/utils.ts +399 -0
  1370. package/raw/together/assets/images/avatar-default.png +0 -0
  1371. package/raw/together/assets/images/icon-whatsapp.png +0 -0
  1372. package/raw/together/assets/images/icon-zalo.png +0 -0
  1373. package/raw/together/assets/marrybaby/svg/comment.svg +4 -0
  1374. package/raw/together/assets/marrybaby/svg/commentSolid.svg +5 -0
  1375. package/raw/together/assets/marrybaby/svg/commentWhite.svg +4 -0
  1376. package/raw/together/assets/marrybaby/svg/copy.svg +1 -0
  1377. package/raw/together/assets/marrybaby/svg/facebook.svg +9 -0
  1378. package/raw/together/assets/marrybaby/svg/heart.svg +4 -0
  1379. package/raw/together/assets/marrybaby/svg/heartSolid.svg +4 -0
  1380. package/raw/together/assets/marrybaby/svg/linkedin.svg +6 -0
  1381. package/raw/together/assets/marrybaby/svg/loading.svg +15 -0
  1382. package/raw/together/assets/marrybaby/svg/messenger.svg +17 -0
  1383. package/raw/together/assets/marrybaby/svg/more.svg +6 -0
  1384. package/raw/together/assets/marrybaby/svg/moreSolid.svg +6 -0
  1385. package/raw/together/assets/marrybaby/svg/pin.svg +6 -0
  1386. package/raw/together/assets/marrybaby/svg/pinOrange.svg +6 -0
  1387. package/raw/together/assets/marrybaby/svg/share.svg +5 -0
  1388. package/raw/together/assets/marrybaby/svg/share2.svg +5 -0
  1389. package/raw/together/assets/marrybaby/svg/sortBy.svg +5 -0
  1390. package/raw/together/assets/marrybaby/svg/twitter.svg +4 -0
  1391. package/raw/together/assets/marrybaby/svg/zalo.png +0 -0
  1392. package/raw/together/assets/svg/bullet-point.svg +3 -0
  1393. package/raw/together/assets/svg/chevronRightActive.svg +3 -0
  1394. package/raw/together/assets/svg/close-circle-line.svg +5 -0
  1395. package/raw/together/assets/svg/closeLight copy.svg +4 -0
  1396. package/raw/together/assets/svg/closeLight.svg +4 -0
  1397. package/raw/together/assets/svg/delete.svg +13 -0
  1398. package/raw/together/assets/svg/icon-alert-circle-primary.svg +5 -0
  1399. package/raw/together/assets/svg/icon-alert-circle-warning.svg +5 -0
  1400. package/raw/together/assets/svg/icon-alert-circle.svg +5 -0
  1401. package/raw/together/assets/svg/icon-arrow-circle-upgrade.svg +3 -0
  1402. package/raw/together/assets/svg/icon-arrow-left.svg +4 -0
  1403. package/raw/together/assets/svg/icon-arrow-right-circle.svg +5 -0
  1404. package/raw/together/assets/svg/icon-bell-off.svg +7 -0
  1405. package/raw/together/assets/svg/icon-bell-on.svg +4 -0
  1406. package/raw/together/assets/svg/icon-bookmark-fill.svg +3 -0
  1407. package/raw/together/assets/svg/icon-bookmark.svg +3 -0
  1408. package/raw/together/assets/svg/icon-cancel.svg +13 -0
  1409. package/raw/together/assets/svg/icon-check-gray.svg +3 -0
  1410. package/raw/together/assets/svg/icon-check-pink.svg +3 -0
  1411. package/raw/together/assets/svg/icon-check-success.svg +4 -0
  1412. package/raw/together/assets/svg/icon-check.svg +4 -0
  1413. package/raw/together/assets/svg/icon-chevron-left-dark.svg +3 -0
  1414. package/raw/together/assets/svg/icon-chevron-right-dark.svg +3 -0
  1415. package/raw/together/assets/svg/icon-chevron-right-white.svg +3 -0
  1416. package/raw/together/assets/svg/icon-chevron-right.svg +3 -0
  1417. package/raw/together/assets/svg/icon-close-circle-line.svg +5 -0
  1418. package/raw/together/assets/svg/icon-close-circle.svg +5 -0
  1419. package/raw/together/assets/svg/icon-close.svg +4 -0
  1420. package/raw/together/assets/svg/icon-edit.svg +3 -0
  1421. package/raw/together/assets/svg/icon-enter.svg +4 -0
  1422. package/raw/together/assets/svg/icon-facebook.svg +3 -0
  1423. package/raw/together/assets/svg/icon-heart-empty.svg +3 -0
  1424. package/raw/together/assets/svg/icon-heart-fill-red.svg +3 -0
  1425. package/raw/together/assets/svg/icon-heart-fill.svg +3 -0
  1426. package/raw/together/assets/svg/icon-kebab.svg +5 -0
  1427. package/raw/together/assets/svg/icon-link.svg +4 -0
  1428. package/raw/together/assets/svg/icon-linkedin.svg +4 -0
  1429. package/raw/together/assets/svg/icon-pin-gray.svg +4 -0
  1430. package/raw/together/assets/svg/icon-pin-yellow.svg +4 -0
  1431. package/raw/together/assets/svg/icon-pin.svg +4 -0
  1432. package/raw/together/assets/svg/icon-reply-arrow.svg +3 -0
  1433. package/raw/together/assets/svg/icon-reply-circle-empty.svg +3 -0
  1434. package/raw/together/assets/svg/icon-reply-circle-fill.svg +3 -0
  1435. package/raw/together/assets/svg/icon-share-on-media.svg +7 -0
  1436. package/raw/together/assets/svg/icon-sort-arrow.svg +4 -0
  1437. package/raw/together/assets/svg/icon-tab-edit-2.svg +4 -0
  1438. package/raw/together/assets/svg/icon-tab-edit-primary.svg +4 -0
  1439. package/raw/together/assets/svg/icon-trash-bin.svg +6 -0
  1440. package/raw/together/assets/svg/icon-twitter.svg +4 -0
  1441. package/raw/together/assets/svg/loading.svg +7 -0
  1442. package/raw/together/assets/svg/reviewer-author.svg +12 -0
  1443. package/raw/together/assets/svg/reviewer-editor.svg +12 -0
  1444. package/raw/together/assets/svg/reviewer-expert.svg +5 -0
  1445. package/raw/together/assets/svg/reviewer-fact-check.svg +4 -0
  1446. package/raw/together/assets/svg/reviewer-medical.svg +4 -0
  1447. package/raw/together/components/atoms/cardLink/index.styled.tsx +64 -0
  1448. package/raw/together/components/atoms/cardLink/index.tsx +149 -0
  1449. package/raw/together/components/atoms/cardReactions/index.styled.tsx +96 -0
  1450. package/raw/together/components/atoms/cardReactions/index.tsx +221 -0
  1451. package/raw/together/components/atoms/index.tsx +8 -0
  1452. package/raw/together/components/atoms/labelSortPin/index.styled.tsx +78 -0
  1453. package/raw/together/components/atoms/labelSortPin/index.tsx +50 -0
  1454. package/raw/together/components/atoms/labelSortPin/labelPin.tsx +47 -0
  1455. package/raw/together/components/atoms/labelSortPin/labelSorting.tsx +127 -0
  1456. package/raw/together/components/atoms/loading/index.styled.tsx +42 -0
  1457. package/raw/together/components/atoms/loading/index.tsx +25 -0
  1458. package/raw/together/components/atoms/loading/loadingCard.tsx +38 -0
  1459. package/raw/together/components/atoms/tagTopic/index.styled.tsx +33 -0
  1460. package/raw/together/components/atoms/tagTopic/index.tsx +57 -0
  1461. package/raw/together/components/atoms/userAvatar/index.styled.tsx +39 -0
  1462. package/raw/together/components/atoms/userAvatar/index.tsx +62 -0
  1463. package/raw/together/components/molecules/cardAuthor/customMMLocale/formatDistance.ts +112 -0
  1464. package/raw/together/components/molecules/cardAuthor/customMMLocale/index.ts +16 -0
  1465. package/raw/together/components/molecules/cardAuthor/customMMLocale/types.ts +37 -0
  1466. package/raw/together/components/molecules/cardAuthor/index.styled.tsx +164 -0
  1467. package/raw/together/components/molecules/cardAuthor/index.tsx +314 -0
  1468. package/raw/together/components/molecules/createNewPostContent/index.stories.tsx +114 -0
  1469. package/raw/together/components/molecules/createNewPostContent/index.styled.tsx +73 -0
  1470. package/raw/together/components/molecules/createNewPostContent/index.tsx +351 -0
  1471. package/raw/together/components/molecules/createPostDescription/editor.tsx +915 -0
  1472. package/raw/together/components/molecules/createPostDescription/index.styled.tsx +328 -0
  1473. package/raw/together/components/molecules/createPostDescription/index.tsx +163 -0
  1474. package/raw/together/components/molecules/createPostTitle/index.styled.tsx +62 -0
  1475. package/raw/together/components/molecules/createPostTitle/index.tsx +133 -0
  1476. package/raw/together/components/molecules/index.tsx +18 -0
  1477. package/raw/together/components/molecules/inputCommentBar/index.styled.tsx +227 -0
  1478. package/raw/together/components/molecules/inputCommentBar/index.tsx +341 -0
  1479. package/raw/together/components/molecules/inputCommentBar/mainInputTriggerContext.tsx +26 -0
  1480. package/raw/together/components/molecules/popupDanger/index.styled.tsx +174 -0
  1481. package/raw/together/components/molecules/popupDanger/index.tsx +113 -0
  1482. package/raw/together/components/molecules/popupDoctor/index.styled.tsx +185 -0
  1483. package/raw/together/components/molecules/popupDoctor/index.tsx +271 -0
  1484. package/raw/together/components/molecules/popupExpert/index.styled.tsx +175 -0
  1485. package/raw/together/components/molecules/popupExpert/index.tsx +216 -0
  1486. package/raw/together/components/molecules/popupFrame/index.styled.tsx +76 -0
  1487. package/raw/together/components/molecules/popupFrame/index.tsx +43 -0
  1488. package/raw/together/components/molecules/popupFrame/popupShare.tsx +178 -0
  1489. package/raw/together/components/molecules/popupHospital/index.styled.tsx +173 -0
  1490. package/raw/together/components/molecules/popupHospital/index.tsx +249 -0
  1491. package/raw/together/components/molecules/postContent/index.styled.tsx +66 -0
  1492. package/raw/together/components/molecules/postContent/index.tsx +125 -0
  1493. package/raw/together/components/molecules/postImagePreview/imagePreviewPopup.tsx +73 -0
  1494. package/raw/together/components/molecules/postImagePreview/index.styled.tsx +154 -0
  1495. package/raw/together/components/molecules/postImagePreview/index.tsx +115 -0
  1496. package/raw/together/components/molecules/postImagePreview/postSingleImageViewPopup/index.styled.tsx +84 -0
  1497. package/raw/together/components/molecules/postImagePreview/postSingleImageViewPopup/index.tsx +83 -0
  1498. package/raw/together/components/molecules/shareBox/index.stories.tsx +36 -0
  1499. package/raw/together/components/molecules/shareBox/index.styled.tsx +141 -0
  1500. package/raw/together/components/molecules/shareBox/index.tsx +188 -0
  1501. package/raw/together/components/molecules/socialLinkPreview/index.styled.tsx +39 -0
  1502. package/raw/together/components/molecules/socialLinkPreview/index.tsx +206 -0
  1503. package/raw/together/components/molecules/submitReportForm/index.styled.tsx +34 -0
  1504. package/raw/together/components/molecules/submitReportForm/index.tsx +84 -0
  1505. package/raw/together/components/molecules/topicSelectList/index.stories.tsx +93 -0
  1506. package/raw/together/components/molecules/topicSelectList/index.styled.tsx +53 -0
  1507. package/raw/together/components/molecules/topicSelectList/index.tsx +186 -0
  1508. package/raw/together/components/organisms/cardPost/cardPostPopover.tsx +293 -0
  1509. package/raw/together/components/organisms/cardPost/index.stories.tsx +212 -0
  1510. package/raw/together/components/organisms/cardPost/index.styled.tsx +181 -0
  1511. package/raw/together/components/organisms/cardPost/index.tsx +458 -0
  1512. package/raw/together/components/organisms/cardReply/cardReplyPopover.tsx +122 -0
  1513. package/raw/together/components/organisms/cardReply/index.styled.tsx +199 -0
  1514. package/raw/together/components/organisms/cardReply/index.tsx +362 -0
  1515. package/raw/together/components/organisms/index.tsx +5 -0
  1516. package/raw/together/components/organisms/popoverMenu/index.styled.tsx +313 -0
  1517. package/raw/together/components/organisms/popoverMenu/index.tsx +102 -0
  1518. package/raw/together/components/organisms/popoverMenu/treePopoverMenu.tsx +156 -0
  1519. package/raw/together/hooks/useTogetherAuthRequiredAction.tsx +124 -0
  1520. package/raw/together/index.ts +12 -0
  1521. package/raw/together/interfaces/constants.ts +306 -0
  1522. package/raw/together/interfaces/types.ts +1418 -0
  1523. package/raw/together/togetherComponentGlobalContext.tsx +150 -0
  1524. package/raw/together/utils/apiActions/comment.tsx +168 -0
  1525. package/raw/together/utils/apiActions/community.ts +59 -0
  1526. package/raw/together/utils/apiActions/post.ts +234 -0
  1527. package/raw/together/utils/apiActions/topic.ts +40 -0
  1528. package/raw/together/utils/notification.ts +20 -0
  1529. package/raw/together/utils/post.ts +351 -0
@@ -0,0 +1,915 @@
1
+ /* eslint-disable @typescript-eslint/no-var-requires */
2
+ import React, {
3
+ CSSProperties,
4
+ useCallback,
5
+ useContext,
6
+ useEffect,
7
+ useRef,
8
+ useState,
9
+ } from 'react'
10
+
11
+ // import ReactQuill, { Quill } from 'react-quill'
12
+ import { Button } from 'components/atoms/button'
13
+ import { Input } from 'components/atoms/input'
14
+ import { Text } from 'components/atoms/text'
15
+ import { useTranslations } from 'hooks/useTranslations'
16
+ import { TranslationsKey } from 'i18n/translations'
17
+ import { debounce } from 'lodash'
18
+ import { getCookie } from 'misc/cookieHelper'
19
+ import { TogetherComponentGlobalContext } from 'together/togetherComponentGlobalContext'
20
+
21
+ import { ADMIN_PATHS, PATHS } from '../../../api/paths'
22
+ import {
23
+ callApi,
24
+ callApiWithAdminAuth,
25
+ callApiWithAuth,
26
+ getApiPath,
27
+ } from '../../../api/utils'
28
+ import IconLink from '../../../assets/svg/icon-link.svg'
29
+ import { BEARER_TOKEN_COOKIE } from '../../../interfaces/constants'
30
+ import {
31
+ ALLOW_DOMAIN_URL,
32
+ escapeRegExp,
33
+ getMentionIdsFromString,
34
+ getUrlsFromEditorString,
35
+ highlightBadWords,
36
+ LIMIT_MENTION,
37
+ reformatUrl,
38
+ removeEdittedBannedWord,
39
+ removeFontFormat,
40
+ wrapAnchorAroundUrls,
41
+ fixMalformedMention,
42
+ } from '../../../utils/post'
43
+ import { UserAvatar } from '../../atoms/userAvatar'
44
+ import { PopoverMenu } from '../../organisms/popoverMenu'
45
+ import { StyledEditorContainer } from './index.styled'
46
+
47
+ // import 'react-quill/dist/quill.snow.css'
48
+ let ReactQuill = null
49
+
50
+ ;(async () => {
51
+ if (typeof window === 'undefined') return
52
+ const QuillRes = await import('react-quill')
53
+ ReactQuill = QuillRes.default
54
+ const Quill = QuillRes.Quill
55
+ class PreserveWhiteSpace {
56
+ constructor(private quill: any, private options: any) {
57
+ quill.container.style.whiteSpace = 'pre-line'
58
+ }
59
+ }
60
+ Quill.register('modules/preserveWhiteSpace', PreserveWhiteSpace)
61
+
62
+ const Inline = Quill.import('blots/inline')
63
+
64
+ class MockABlot extends Inline {
65
+ static blotName = 'mocka1'
66
+ static tagName = 'mocka'
67
+ static create(options: any) {
68
+ if (!options) return super.create(false)
69
+ const node: any = super.create(options)
70
+ MockABlot.setNodeConfigurations(node, options)
71
+ return node
72
+ }
73
+
74
+ static formats(node: any) {
75
+ if (
76
+ node.innerText &&
77
+ (node.getAttribute('data-href') ||
78
+ node.getAttribute('data-url') ||
79
+ node.getAttribute('data-error') ||
80
+ node.getAttribute('data-bad-word'))
81
+ ) {
82
+ return {
83
+ 'data-bad-word': node.getAttribute('data-bad-word'),
84
+ 'data-error': node.getAttribute('data-error'),
85
+ 'data-href': node.getAttribute('data-href'),
86
+ 'data-url': node.getAttribute('data-url'),
87
+ 'data-text': node.innerText || node.getAttribute('data-href'),
88
+ }
89
+ } else {
90
+ return false
91
+ }
92
+ }
93
+
94
+ /* To prevent the node from accidentally being built in different ways. */
95
+ static setNodeConfigurations(node: any, value: any) {
96
+ if (!value) return
97
+ if (
98
+ !value?.['data-text']
99
+ ?.replace(/(\ )+/g, ' ')
100
+ ?.replace(/(\u200c|‌)+/g, '')
101
+ )
102
+ return
103
+ if (value['data-bad-word'])
104
+ node.setAttribute('data-bad-word', value['data-bad-word'])
105
+ if (value['data-href']) node.setAttribute('data-href', value['data-href'])
106
+ if (value['data-error'])
107
+ node.setAttribute('data-error', value['data-error'])
108
+ // setTimeout(() => {
109
+ // if (value['data-text'] !== node.innerText && !node.innerText)
110
+ // node.innerHTML = value['data-text']
111
+ // }, 200)
112
+ if (value['data-url']) node.setAttribute('data-url', value['data-url'])
113
+ // if (value['data-text']) node.innerText = value['data-text']
114
+ // console.log(value, node.outerHTML, node)
115
+ }
116
+ }
117
+ Quill.register(MockABlot)
118
+ class MentionBlot extends Inline {
119
+ static blotName = 'mention'
120
+ static tagName = 'mention'
121
+ static create(options: any) {
122
+ if (!options) return super.create(false)
123
+ const node: any = super.create(options)
124
+ MentionBlot.setNodeConfigurations(node, options)
125
+ return node
126
+ }
127
+
128
+ static formats(node: any) {
129
+ if (node.getAttribute('data-name') && node.getAttribute('data-id')) {
130
+ return {
131
+ 'data-name': node.getAttribute('data-name'),
132
+ 'data-id': node.getAttribute('data-id'),
133
+ }
134
+ } else {
135
+ return false
136
+ }
137
+ }
138
+
139
+ /* To prevent the node from accidentally being built in different ways. */
140
+ static setNodeConfigurations(node: any, value: any) {
141
+ if (!value) return
142
+ if (
143
+ !value['data-id'] ||
144
+ !value?.['data-name']
145
+ ?.replace(/(\ )+/g, ' ')
146
+ ?.replace(/(\u200c|‌)+/g, '')
147
+ )
148
+ return
149
+ if (value['data-id']) node.setAttribute('data-id', value['data-id'])
150
+ if (value['data-name']) {
151
+ // node.setAttribute('contenteditable', false)
152
+ node.setAttribute('data-name', value['data-name'])
153
+ }
154
+ }
155
+ }
156
+ Quill.register(MentionBlot)
157
+ })()
158
+
159
+ function getCaretCharacterOffsetWithin(element: HTMLElement) {
160
+ let caretOffset = -1
161
+ if (typeof window.getSelection != 'undefined') {
162
+ const sel = window.getSelection()
163
+ if (sel?.rangeCount && sel?.rangeCount > 0) {
164
+ const range = window.getSelection()?.getRangeAt(0)
165
+ if (range) {
166
+ const preCaretRange = range.cloneRange()
167
+ // preCaretRange.setStart(element, 0)
168
+ preCaretRange.selectNodeContents(element)
169
+ preCaretRange.setEnd(range.endContainer, range.endOffset)
170
+
171
+ caretOffset = calculateChildNodeOffset(
172
+ preCaretRange.cloneContents().childNodes,
173
+ caretOffset,
174
+ )
175
+ const parentMockAElement =
176
+ range.endContainer.parentElement?.closest('mocka')
177
+ const lastNodeValue =
178
+ range.endContainer.nodeValue ||
179
+ (range.endContainer as HTMLElement).outerHTML
180
+ if (parentMockAElement && lastNodeValue?.length) {
181
+ /// set selector to end of <mocka elemt, prevent select in the middle
182
+ caretOffset =
183
+ caretOffset -
184
+ range.endOffset +
185
+ (parentMockAElement.outerHTML.length -
186
+ parentMockAElement?.outerHTML.lastIndexOf(lastNodeValue))
187
+ }
188
+ }
189
+ }
190
+ }
191
+ return caretOffset
192
+ }
193
+
194
+ function calculateChildNodeOffset(
195
+ childNodes: NodeListOf<ChildNode>,
196
+ caretOffset: number,
197
+ ) {
198
+ childNodes.forEach((node, index) => {
199
+ const isLast = index + 1 === childNodes.length
200
+ if (node.nodeType === Node.ELEMENT_NODE) {
201
+ const outerHTML = (node as HTMLElement).outerHTML
202
+ if (!isLast) {
203
+ caretOffset += outerHTML.length
204
+ return
205
+ } else {
206
+ caretOffset += outerHTML.indexOf('>') + 1
207
+ caretOffset = calculateChildNodeOffset(node.childNodes, caretOffset)
208
+ }
209
+ } else if (node.nodeType === Node.TEXT_NODE) {
210
+ caretOffset += (node.nodeValue || '')
211
+ .replace(/&/g, '&amp;')
212
+ .replace(/</g, '&lt;')
213
+ .replace(/>/g, '&gt;')
214
+ .replace(/"/g, '&quot;')
215
+ .replace(/'/g, '&#039;').length
216
+ }
217
+ })
218
+ return caretOffset
219
+ }
220
+ function getSearchName(root: HTMLElement) {
221
+ let res: {
222
+ name: string
223
+ rect: DOMRect
224
+ replaceRange: Range
225
+ } | null = null
226
+ if (typeof window.getSelection != 'undefined') {
227
+ const sel = window.getSelection()
228
+ if (sel?.rangeCount && sel?.rangeCount > 0) {
229
+ const range = window.getSelection()?.getRangeAt(0)
230
+ if (range) {
231
+ const preCaretRange = range.cloneRange()
232
+ // preCaretRange.setStart(element, 0)
233
+ preCaretRange.selectNodeContents(root)
234
+ preCaretRange.setEnd(range.endContainer, range.endOffset)
235
+ const endText = (preCaretRange.endContainer.nodeValue || '').substring(
236
+ 0,
237
+ range.endOffset,
238
+ )
239
+
240
+ // only allow @ at start of text or has space before it
241
+ const lastAnchorSymbolIndex = endText.lastIndexOf('@')
242
+ if (
243
+ lastAnchorSymbolIndex + 1 < endText.length &&
244
+ (lastAnchorSymbolIndex === 0 ||
245
+ endText.slice(
246
+ lastAnchorSymbolIndex - 1,
247
+ lastAnchorSymbolIndex + 1,
248
+ ) === ' @')
249
+ ) {
250
+ const name = endText.slice(lastAnchorSymbolIndex + 1)?.trim()
251
+ if (name) {
252
+ preCaretRange.setStart(range.endContainer, lastAnchorSymbolIndex)
253
+ const replaceRange = preCaretRange.cloneRange()
254
+ replaceRange.setStart(
255
+ replaceRange.endContainer,
256
+ lastAnchorSymbolIndex,
257
+ )
258
+ res = {
259
+ name,
260
+ rect: preCaretRange.getBoundingClientRect(),
261
+ replaceRange,
262
+ }
263
+ }
264
+ }
265
+ }
266
+ }
267
+ }
268
+ return res
269
+ }
270
+
271
+ const inputModify = (
272
+ value: string,
273
+ opts?: {
274
+ formatUrl?: boolean
275
+ bannedWords?: string[]
276
+ },
277
+ ) => {
278
+ const { formatUrl, bannedWords = [] } = opts || {}
279
+ const removedFormat = fixMalformedMention(removeFontFormat(value))
280
+ if (!formatUrl)
281
+ return {
282
+ value: highlightBadWords(removedFormat, bannedWords),
283
+ }
284
+ let descriptionWithWrappedAnchor = removeEdittedBannedWord(
285
+ wrapAnchorAroundUrls(removedFormat),
286
+ )
287
+
288
+ const urls = getUrlsFromEditorString(removedFormat)
289
+ if (urls) {
290
+ const invalidUrls: string[] = []
291
+ let previewUrl = ''
292
+ urls.forEach((url) => {
293
+ if (!url) return
294
+ try {
295
+ const jsUrl = new URL(url)
296
+ if (ALLOW_DOMAIN_URL.some((o) => jsUrl.origin.endsWith(o))) {
297
+ // is valid
298
+ } else {
299
+ invalidUrls.push(url)
300
+ // is not valid
301
+ }
302
+ } catch {
303
+ invalidUrls.push(url)
304
+ }
305
+ })
306
+ if (invalidUrls.length > 0) {
307
+ descriptionWithWrappedAnchor = descriptionWithWrappedAnchor
308
+ .replace(
309
+ new RegExp(
310
+ `data-url="true">(${invalidUrls.map(escapeRegExp).join('|')})<`,
311
+ 'gi',
312
+ ),
313
+ 'data-error="true" data-url="true">$1<',
314
+ )
315
+ .replace(
316
+ new RegExp(
317
+ `data-href="(${invalidUrls
318
+ .map(escapeRegExp)
319
+ .join('|')})" data-url="true">`,
320
+ 'gi',
321
+ ),
322
+ 'data-href="$1" data-error="true" data-url="true">',
323
+ )
324
+ }
325
+ previewUrl = urls.filter((u) => invalidUrls.indexOf(u) === -1)?.[0]
326
+ return {
327
+ invalidUrls,
328
+ previewUrl,
329
+ value: highlightBadWords(descriptionWithWrappedAnchor, bannedWords),
330
+ }
331
+ }
332
+ return {
333
+ value: highlightBadWords(descriptionWithWrappedAnchor, bannedWords),
334
+ }
335
+ }
336
+
337
+ export type Props = {
338
+ html?: string
339
+ onChange?: (s: string) => void
340
+ className?: string
341
+ style?: CSSProperties
342
+ onImagePickerClick?: () => void
343
+ bannedWords?: string[]
344
+ onInvalidUrlsChange?: (v: string[]) => void
345
+ onPreviewUrlChange?: (
346
+ v: {
347
+ title: string
348
+ url: string
349
+ image: string
350
+ description: string
351
+ } | null,
352
+ ) => void
353
+ setEditorRef?: (editor: HTMLElement) => void
354
+ isReplying?: boolean
355
+ }
356
+
357
+ export const RichTextEditor = ({
358
+ html,
359
+ onChange,
360
+ className,
361
+ style,
362
+ onImagePickerClick,
363
+ bannedWords = [],
364
+ onInvalidUrlsChange,
365
+ onPreviewUrlChange,
366
+ setEditorRef,
367
+ isReplying,
368
+ }: // onAddLink,
369
+ Props) => {
370
+ const bannedWordsRef = useRef<string[]>([])
371
+ bannedWordsRef.current = bannedWords
372
+ const [invalidUrls, setInvalidUrls] = useState<string[]>([])
373
+ const [previewUrl, setPreviewUrl] = useState<{
374
+ title?: string
375
+ url?: string
376
+ image?: string
377
+ description?: string
378
+ isFetching?: boolean
379
+ } | null>(null)
380
+
381
+ const {
382
+ data: { locale },
383
+ } = useContext(TogetherComponentGlobalContext)
384
+
385
+ const bannedString = bannedWords?.join(',') || ''
386
+ useEffect(() => {
387
+ const currHTML = reactQuillRef.current?.getEditor()?.root.innerHTML
388
+ debounceInputModify(currHTML)
389
+ }, [bannedString])
390
+
391
+ const fetchPreviewData = (url: string) => {
392
+ if (!previewUrl || previewUrl.url !== url) {
393
+ setPreviewUrl({
394
+ url,
395
+ isFetching: true,
396
+ })
397
+ callApi(
398
+ getApiPath(PATHS.FETCH_PREVIEW, {
399
+ _locale: locale,
400
+ }),
401
+ 'POST',
402
+ {
403
+ data: {
404
+ link: url,
405
+ },
406
+ },
407
+ )
408
+ .then((res) => {
409
+ setPreviewUrl({
410
+ title: res?.data?.title,
411
+ description: res?.data?.description,
412
+ image: res?.data?.image || res?.data?.logo,
413
+ url,
414
+ })
415
+ })
416
+ .catch(() => {
417
+ setPreviewUrl(null)
418
+ })
419
+ }
420
+ }
421
+
422
+ const fetchPreviewDataRef = useRef(fetchPreviewData)
423
+ fetchPreviewDataRef.current = fetchPreviewData
424
+
425
+ const debounceInputModify = useCallback(
426
+ debounce((v: string) => {
427
+ if (v) {
428
+ const processedInput = inputModify(v, {
429
+ bannedWords: bannedWordsRef.current,
430
+ formatUrl: true,
431
+ })
432
+ const {
433
+ invalidUrls: _invalidUrls,
434
+ previewUrl: _previewUrl,
435
+ value,
436
+ } = processedInput
437
+ if (_invalidUrls) {
438
+ setInvalidUrls(_invalidUrls)
439
+ }
440
+ if (_previewUrl) {
441
+ fetchPreviewDataRef.current(_previewUrl)
442
+ } else setPreviewUrl(null)
443
+ if (value !== v) {
444
+ onChange?.(value)
445
+ }
446
+ }
447
+ }, 500),
448
+ [],
449
+ )
450
+
451
+ useEffect(() => {
452
+ onInvalidUrlsChange && onInvalidUrlsChange(invalidUrls)
453
+ }, [invalidUrls])
454
+ useEffect(() => {
455
+ if (onPreviewUrlChange) {
456
+ if (previewUrl?.url)
457
+ onPreviewUrlChange({
458
+ title: previewUrl.title || '',
459
+ url: previewUrl.url || '',
460
+ image: previewUrl.image || '',
461
+ description: previewUrl.description || '',
462
+ })
463
+ else onPreviewUrlChange(null)
464
+ }
465
+ }, [previewUrl])
466
+
467
+ const imageHandlerRef = useRef(onImagePickerClick)
468
+ imageHandlerRef.current = onImagePickerClick
469
+ const toolbarIdRef = useRef(String(Math.floor(Math.random() * 100000000)))
470
+ const cachedModules = useRef({
471
+ toolbar: {
472
+ handlers: {
473
+ image: () => imageHandlerRef.current?.(),
474
+ link: () => false,
475
+ },
476
+ container: '#toolbar-' + toolbarIdRef.current,
477
+ },
478
+ // toolbar: [
479
+ // ['bold', 'italic', 'underline'],
480
+ // [{ list: 'ordered' }, { list: 'bullet' }],
481
+ // ],
482
+ preserveWhiteSpace: true,
483
+ })
484
+ const contentEditableCaretPos = useRef<number>(-1)
485
+
486
+ const reactQuillRef = useRef<any>(null)
487
+ setEditorRef &&
488
+ reactQuillRef.current?.getEditor()?.root &&
489
+ setEditorRef(reactQuillRef.current?.getEditor()?.root)
490
+
491
+ const handleSelectionChange = () => {
492
+ if (reactQuillRef.current?.getEditor()?.root) {
493
+ const newCaretPos = getCaretCharacterOffsetWithin(
494
+ reactQuillRef.current?.getEditor()?.root,
495
+ )
496
+ const currHTML = reactQuillRef.current?.getEditor()?.root.innerHTML
497
+ // in case of clicking on a div outside editor while focus, we get caret position too large
498
+ if (newCaretPos >= 0 && newCaretPos < currHTML.length) {
499
+ const mentionIds = getMentionIdsFromString(currHTML, true)
500
+ if (mentionIds.length < LIMIT_MENTION - (isReplying ? 1 : 0)) {
501
+ const searchData = getSearchName(
502
+ reactQuillRef.current?.getEditor()?.root,
503
+ )
504
+ if (searchData) {
505
+ searchUser(searchData.name, searchData.rect)
506
+ replaceRangeRef.current = searchData.replaceRange
507
+ } else {
508
+ replaceRangeRef.current = null
509
+ // to avoid race condition, we reuse this function to clear foundUsers
510
+ searchUser('', null as any)
511
+ }
512
+ } else {
513
+ replaceRangeRef.current = null
514
+ // to avoid race condition, we reuse this function to clear foundUsers
515
+ searchUser('', null as any)
516
+ }
517
+ // const insertIndex = newCaretPos + 1
518
+ // const currHTML = reactQuillRef.current?.getEditor()?.root.innerHTML
519
+ // console.log(
520
+ // currHTML?.substring(0, insertIndex) || '',
521
+ // '========',
522
+ // currHTML?.substring(insertIndex) || '',
523
+ // )
524
+ contentEditableCaretPos.current = newCaretPos
525
+ }
526
+ } else {
527
+ setFoundUsers([])
528
+ }
529
+ }
530
+ const [foundUsers, setFoundUsers] = useState<Array<any>>([])
531
+ const [searchUserPosition, setSearchUserPosition] = useState<CSSProperties>({
532
+ top: 0,
533
+ left: 0,
534
+ })
535
+ const searchUser = useCallback(
536
+ debounce(
537
+ async (name: string, rect: DOMRect | null, excludeIds?: string[]) => {
538
+ if (!name || !DOMRect) {
539
+ return setFoundUsers([])
540
+ }
541
+ const res = await ((getCookie(BEARER_TOKEN_COOKIE)?.length || 0) > 0
542
+ ? callApiWithAuth(
543
+ getApiPath(PATHS.SEARCH_USER, {
544
+ _locale: locale,
545
+ name: name,
546
+ }),
547
+ 'get',
548
+ )
549
+ : callApiWithAdminAuth(
550
+ getApiPath(ADMIN_PATHS.SEARCH_USER, {
551
+ _locale: locale,
552
+ name: name,
553
+ }),
554
+ 'get',
555
+ ))
556
+ setSelectTagUserIndex(0)
557
+ setFoundUsers(
558
+ res?.data?.users?.filter(
559
+ (u: any) => !excludeIds?.includes(String(u.id)),
560
+ ),
561
+ )
562
+ const textNodeRect = rect
563
+ const containerRect = containerRef.current?.getBoundingClientRect()
564
+ if (textNodeRect && containerRect) {
565
+ const idealWidth = 343
566
+ const idealHeight = 256
567
+ const styleConfig: CSSProperties = {
568
+ top: textNodeRect.bottom - containerRect.top,
569
+ width: `min(343px, 100%)`,
570
+ maxHeight: idealHeight,
571
+ }
572
+ const tempRightWidth =
573
+ containerRect.width - (textNodeRect.left - containerRect.left)
574
+ if (tempRightWidth < idealWidth) {
575
+ styleConfig.right = 0
576
+ } else {
577
+ styleConfig.left = textNodeRect.left - containerRect.left
578
+ }
579
+ setSearchUserPosition(styleConfig)
580
+ }
581
+ },
582
+ 500,
583
+ ),
584
+ [],
585
+ )
586
+ const setSelectUser = (id: string, name: string) => {
587
+ if (replaceRangeRef.current) {
588
+ replaceRangeRef.current.deleteContents()
589
+ const newMention = document.createElement('mention')
590
+ newMention.setAttribute('data-id', id)
591
+ newMention.setAttribute('data-name', name)
592
+ // newMention.setAttribute('contenteditable', 'false')
593
+ newMention.innerText = name
594
+
595
+ const newPostText = document.createTextNode(' ')
596
+ replaceRangeRef.current.insertNode(newPostText)
597
+ replaceRangeRef.current.insertNode(newMention)
598
+ const editorRoot = reactQuillRef.current?.getEditor()?.root
599
+ editorRoot.focus()
600
+ const range = window.getSelection()?.getRangeAt(0)
601
+ range?.setStart(
602
+ replaceRangeRef.current.endContainer,
603
+ replaceRangeRef.current.endOffset,
604
+ )
605
+ range?.setEnd(
606
+ replaceRangeRef.current.endContainer,
607
+ replaceRangeRef.current.endOffset,
608
+ )
609
+ }
610
+ setFoundUsers([])
611
+ }
612
+ const containerRef = useRef<HTMLDivElement>(null)
613
+ const replaceRangeRef = useRef<Range | null>(null)
614
+ const foundUsersListRef = useRef<HTMLDivElement>(null)
615
+ const [selectTagUserIndex, setSelectTagUserIndex] = useState(0)
616
+ useEffect(() => {
617
+ // convenient behavior, scroll item into view when select using keyboard
618
+ if (foundUsersListRef.current) {
619
+ const parentElement = foundUsersListRef.current
620
+ const childElement = parentElement.children.item(
621
+ selectTagUserIndex,
622
+ ) as HTMLElement
623
+ if (childElement) {
624
+ const containerRect = parentElement.getBoundingClientRect()
625
+ const childRect = childElement.getBoundingClientRect()
626
+ if (childElement.offsetTop < parentElement.scrollTop)
627
+ parentElement.scrollTop = childElement.offsetTop
628
+ else if (
629
+ childElement.offsetTop + childRect.height >
630
+ parentElement.scrollTop + containerRect.height
631
+ ) {
632
+ parentElement.scrollTop =
633
+ childElement.offsetTop - containerRect.height + childRect.height
634
+ }
635
+ }
636
+ }
637
+ }, [selectTagUserIndex])
638
+
639
+ useEffect(() => {
640
+ const clickHandler = function (e: MouseEvent) {
641
+ if (!containerRef.current?.contains(e.target as Node)) {
642
+ // Clicked outside the box
643
+ setFoundUsers([])
644
+ }
645
+ }
646
+ window.addEventListener('click', clickHandler)
647
+ return () => {
648
+ window.removeEventListener('click', clickHandler)
649
+ }
650
+ }, [])
651
+ return (
652
+ <StyledEditorContainer
653
+ ref={containerRef}
654
+ className={className}
655
+ style={style}
656
+ onKeyDownCapture={(e) => {
657
+ // convenient behavior, use arrow to select tag user and enter to choose
658
+ if (foundUsers?.length) {
659
+ let preventKey = false
660
+ if (e.key === 'ArrowDown') {
661
+ preventKey = true
662
+ setSelectTagUserIndex((s) =>
663
+ s + 1 >= foundUsers.length ? 0 : s + 1,
664
+ )
665
+ } else if (e.key === 'Escape') {
666
+ preventKey = true
667
+ setSelectTagUserIndex(0)
668
+ setFoundUsers([])
669
+ } else if (e.key === 'ArrowUp') {
670
+ preventKey = true
671
+ setSelectTagUserIndex((s) =>
672
+ s - 1 < 0 ? foundUsers.length - 1 : s - 1,
673
+ )
674
+ } else if (e.key === 'Enter' || e.key === 'Tab') {
675
+ const user = foundUsers[selectTagUserIndex]
676
+ if (user) {
677
+ preventKey = true
678
+ setSelectUser(user.id, user.name)
679
+ }
680
+ }
681
+ if (preventKey) {
682
+ e.preventDefault()
683
+ return false
684
+ }
685
+ }
686
+ }}
687
+ >
688
+ <CustomToolbar
689
+ id={toolbarIdRef.current}
690
+ onAddLink={(text, href) => {
691
+ const insertIndex = contentEditableCaretPos.current + 1
692
+ const currHTML = reactQuillRef.current?.getEditor()?.root.innerHTML
693
+ const newHTML =
694
+ (currHTML?.substring(0, insertIndex) || '') +
695
+ `<mocka data-href="${href}" data-url="true">${text}</mocka> ` +
696
+ (currHTML?.substring(insertIndex) || '')
697
+
698
+ onChange?.(newHTML)
699
+ debounceInputModify(newHTML)
700
+ }}
701
+ />
702
+ {ReactQuill && (
703
+ <ReactQuill
704
+ ref={reactQuillRef}
705
+ theme="snow"
706
+ value={html}
707
+ onChange={(t: string) => {
708
+ onChange?.(t)
709
+ debounceInputModify(t)
710
+ handleSelectionChange()
711
+ }}
712
+ onChangeSelection={() => {
713
+ handleSelectionChange()
714
+ }}
715
+ modules={cachedModules.current}
716
+ formats={[
717
+ 'mocka1',
718
+ 'mention',
719
+ 'id',
720
+ 'key',
721
+ 'bold',
722
+ 'italic',
723
+ 'underline',
724
+ 'list',
725
+ 'bullet',
726
+ ]}
727
+ />
728
+ )}
729
+ {!!foundUsers?.length && (
730
+ <div
731
+ ref={foundUsersListRef}
732
+ className="mention-search-container"
733
+ style={searchUserPosition}
734
+ >
735
+ {foundUsers.map((foundUser, index) => (
736
+ <div
737
+ className={`mention-search-item ${
738
+ selectTagUserIndex === index ? 'item-selected' : ''
739
+ }`}
740
+ key={foundUser.id}
741
+ onClick={(e) => {
742
+ e.preventDefault()
743
+ e.stopPropagation()
744
+ setSelectUser(foundUser.id, foundUser.name)
745
+ }}
746
+ onMouseEnter={() => {
747
+ setSelectTagUserIndex(index)
748
+ }}
749
+ >
750
+ <UserAvatar
751
+ className="search-avatar"
752
+ username={foundUser.name}
753
+ avatar={foundUser.avatar}
754
+ />
755
+ <div>
756
+ <Text size="p2">{foundUser.name}</Text>
757
+ <Text size="p4" color="#595959">
758
+ @{foundUser.username}
759
+ </Text>
760
+ </div>
761
+ </div>
762
+ ))}
763
+ </div>
764
+ )}
765
+ </StyledEditorContainer>
766
+ )
767
+ }
768
+
769
+ const CustomToolbar = ({
770
+ onAddLink,
771
+ id,
772
+ }: {
773
+ id?: string
774
+ onAddLink?: (text: string, href: string) => void
775
+ }) => {
776
+ return (
777
+ <div
778
+ id={'toolbar-' + id}
779
+ onClick={(e) => {
780
+ e.preventDefault()
781
+ e.stopPropagation()
782
+ }}
783
+ >
784
+ <span className="ql-formats">
785
+ <button className="ql-bold" type="button" />
786
+ <button className="ql-italic" type="button" />
787
+ <button className="ql-underline" type="button" />
788
+ </span>
789
+ <span className="ql-formats">
790
+ <button className="ql-list" value="ordered" type="button" />
791
+ <button className="ql-list" value="bullet" type="button" />
792
+ </span>
793
+ <span className="ql-formats">
794
+ <button className="ql-image" type="button"></button>
795
+ {onAddLink && (
796
+ <PopoverMenu
797
+ className="link-tool-wrapper"
798
+ toggleButtonContent={<img className="link-icon" src={IconLink} />}
799
+ buttonProps={{
800
+ size: 'md',
801
+ color: 'transparent',
802
+ }}
803
+ align="end"
804
+ >
805
+ {({ setShow }) => (
806
+ <LinkToolInputPopover onAddUrl={onAddLink} setShow={setShow} />
807
+ )}
808
+ </PopoverMenu>
809
+ )}
810
+ </span>
811
+ </div>
812
+ )
813
+ }
814
+
815
+ // export const RichTextEditor = memo(Editor, (prev, next) => {
816
+ // return prev.html === next.html
817
+ // })
818
+
819
+ type LinkToolProps = {
820
+ onAddUrl: (text: string, url: string) => void
821
+ setShow?: (b: boolean) => void
822
+ }
823
+ const URL_WARN_MAP = [
824
+ 'notification.limitUrlDomain',
825
+ 'notification.urlWrongFormat',
826
+ ]
827
+ const LinkToolInputPopover = ({ onAddUrl, setShow }: LinkToolProps) => {
828
+ const {
829
+ data: {
830
+ env: { isMarryBaby },
831
+ },
832
+ } = useContext(TogetherComponentGlobalContext)
833
+ const { t } = useTranslations()
834
+ const [urlValue, setUrlValue] = useState('')
835
+ const [textValue, setTextValue] = useState('')
836
+ const [urlWarnType, setUrlWarnType] = useState(-1)
837
+ const checkUrlValid = (v: string) => {
838
+ const trimmedUrl = reformatUrl(v.trim())
839
+ try {
840
+ const jsUrl = new URL(trimmedUrl)
841
+ if (!jsUrl.protocol.startsWith('http')) {
842
+ setUrlWarnType(1)
843
+ return false
844
+ }
845
+ if (
846
+ !ALLOW_DOMAIN_URL.some(
847
+ (o) =>
848
+ jsUrl.origin.endsWith('/' + o) || jsUrl.origin.endsWith('.' + o),
849
+ )
850
+ ) {
851
+ setUrlWarnType(0)
852
+ return false
853
+ }
854
+ setUrlWarnType(-1)
855
+ return true
856
+ } catch {
857
+ setUrlWarnType(1)
858
+ return false
859
+ }
860
+ }
861
+ const isValid = urlValue.trim() && textValue.trim() && urlWarnType < 0
862
+ return (
863
+ <div className="link-tool-popover">
864
+ <Input
865
+ name="url"
866
+ value={urlValue}
867
+ size="md"
868
+ label="URL"
869
+ placeholder={t('placeholder.enterUrlHere')}
870
+ type="text"
871
+ className="link-input-url"
872
+ onChange={(v) => {
873
+ setUrlValue(v)
874
+ checkUrlValid(v)
875
+ }}
876
+ />
877
+ {urlWarnType >= 0 && (
878
+ <Text size="c2" className="error-text">
879
+ {t(URL_WARN_MAP[urlWarnType] as TranslationsKey)}
880
+ </Text>
881
+ )}
882
+ <Input
883
+ name="text"
884
+ value={textValue}
885
+ size="md"
886
+ label={t('createPost.urlText')}
887
+ placeholder={t('placeholder.enterUrlTextHere')}
888
+ type="text"
889
+ className="link-input-text"
890
+ onChange={(v) => setTextValue(v)}
891
+ />
892
+ <div
893
+ data-is-marrybaby={isMarryBaby}
894
+ className="link-input-button-wrapper"
895
+ >
896
+ <Button
897
+ theme={isMarryBaby ? 'marryBaby' : 'helloSites'}
898
+ size="sm"
899
+ color="primary"
900
+ className="link-input-button"
901
+ onClick={() => {
902
+ if (!isValid) return
903
+ onAddUrl(textValue.trim(), reformatUrl(urlValue.trim()))
904
+ setShow && setShow(false)
905
+ }}
906
+ isDisabled={!isValid}
907
+ >
908
+ {t('insert')}
909
+ </Button>
910
+ </div>
911
+ </div>
912
+ )
913
+ }
914
+
915
+ export default RichTextEditor