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

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 (855) hide show
  1. package/README.md +8 -0
  2. package/build/care.js +1 -1
  3. package/build/components/molecules/index.d.ts +0 -2
  4. package/build/components/organisms/navigationLayout/utils.d.ts +0 -2
  5. package/build/components.js +1 -1
  6. package/build/cookieHelper-fc4e507c.js +2 -0
  7. package/build/{cookieHelper-40ab50eb.js.map → cookieHelper-fc4e507c.js.map} +1 -1
  8. package/build/core.js +1 -1
  9. package/build/esm/care.js +1 -1
  10. package/build/esm/components/molecules/index.d.ts +0 -2
  11. package/build/esm/components/organisms/navigationLayout/utils.d.ts +0 -2
  12. package/build/esm/components.js +1 -1
  13. package/build/esm/{cookieHelper-caf76f93.js → cookieHelper-42a68fdf.js} +2 -2
  14. package/build/esm/{cookieHelper-caf76f93.js.map → cookieHelper-42a68fdf.js.map} +1 -1
  15. package/build/esm/core.js +1 -1
  16. package/build/esm/{index-0348b56b.js → index-7084e1a2.js} +2 -2
  17. package/build/esm/{index-0348b56b.js.map → index-7084e1a2.js.map} +1 -1
  18. package/build/esm/index-7c43a515.js +2 -0
  19. package/build/esm/index-7c43a515.js.map +1 -0
  20. package/build/esm/index-f6c281af.js +2 -0
  21. package/build/esm/index-f6c281af.js.map +1 -0
  22. package/build/esm/{index-f799fba8.js → index-fb3aea4c.js} +2 -2
  23. package/build/esm/{index-f799fba8.js.map → index-fb3aea4c.js.map} +1 -1
  24. package/build/esm/index.js +1 -1
  25. package/build/esm/{index.styled-64f8f6e8.js → index.styled-4d602105.js} +2 -2
  26. package/build/esm/{index.styled-64f8f6e8.js.map → index.styled-4d602105.js.map} +1 -1
  27. package/build/esm/misc/utils.d.ts +5 -53
  28. package/build/esm/navigation.js +1 -1
  29. package/build/esm/together.js +1 -1
  30. package/build/esm/{types-5c8ce743.js → types-2d902fee.js} +2 -2
  31. package/build/esm/{types-5c8ce743.js.map → types-2d902fee.js.map} +1 -1
  32. package/build/esm/types-91439763.js +2 -0
  33. package/build/esm/types-91439763.js.map +1 -0
  34. package/build/esm/useTranslations-f3eec98c.js +2 -0
  35. package/build/esm/useTranslations-f3eec98c.js.map +1 -0
  36. package/build/index-205e279e.js +2 -0
  37. package/build/index-205e279e.js.map +1 -0
  38. package/build/index-21ad911e.js +2 -0
  39. package/build/index-21ad911e.js.map +1 -0
  40. package/build/{index-8b1e9d3e.js → index-b3a14f60.js} +2 -2
  41. package/build/{index-8b1e9d3e.js.map → index-b3a14f60.js.map} +1 -1
  42. package/build/{index-eed59e93.js → index-f951cab2.js} +2 -2
  43. package/build/{index-eed59e93.js.map → index-f951cab2.js.map} +1 -1
  44. package/build/index.js +1 -1
  45. package/build/{index.styled-89837cca.js → index.styled-e5088bb1.js} +2 -2
  46. package/build/{index.styled-89837cca.js.map → index.styled-e5088bb1.js.map} +1 -1
  47. package/build/misc/utils.d.ts +5 -53
  48. package/build/navigation.js +1 -1
  49. package/build/together.js +1 -1
  50. package/build/{types-5985800a.js → types-06d1c33e.js} +2 -2
  51. package/build/{types-5985800a.js.map → types-06d1c33e.js.map} +1 -1
  52. package/build/types-9b704e38.js +2 -0
  53. package/build/types-9b704e38.js.map +1 -0
  54. package/build/useTranslations-41d2f908.js +2 -0
  55. package/build/useTranslations-41d2f908.js.map +1 -0
  56. package/package.json +9 -9
  57. package/.eslintrc.json +0 -53
  58. package/build/components/molecules/dateRangePicker/calendar/index.d.ts +0 -9
  59. package/build/components/molecules/dateRangePicker/calendar/index.styled.d.ts +0 -13
  60. package/build/components/molecules/dateRangePicker/index.d.ts +0 -13
  61. package/build/components/molecules/dateRangePicker/index.styled.d.ts +0 -2
  62. package/build/components/molecules/dateRangePicker/types.d.ts +0 -4
  63. package/build/components/molecules/dateRangePicker/utils.d.ts +0 -2
  64. package/build/cookieHelper-40ab50eb.js +0 -2
  65. package/build/esm/components/molecules/dateRangePicker/calendar/index.d.ts +0 -9
  66. package/build/esm/components/molecules/dateRangePicker/calendar/index.styled.d.ts +0 -13
  67. package/build/esm/components/molecules/dateRangePicker/index.d.ts +0 -13
  68. package/build/esm/components/molecules/dateRangePicker/index.styled.d.ts +0 -2
  69. package/build/esm/components/molecules/dateRangePicker/types.d.ts +0 -4
  70. package/build/esm/components/molecules/dateRangePicker/utils.d.ts +0 -2
  71. package/build/esm/index-680f53de.js +0 -2
  72. package/build/esm/index-680f53de.js.map +0 -1
  73. package/build/esm/index-dda5ff2a.js +0 -2
  74. package/build/esm/index-dda5ff2a.js.map +0 -1
  75. package/build/esm/types-26f12b26.js +0 -2
  76. package/build/esm/types-26f12b26.js.map +0 -1
  77. package/build/esm/useOutsideClick-6004483a.js +0 -2
  78. package/build/esm/useOutsideClick-6004483a.js.map +0 -1
  79. package/build/esm/useTranslations-0c13f2cb.js +0 -2
  80. package/build/esm/useTranslations-0c13f2cb.js.map +0 -1
  81. package/build/index-4fa610b1.js +0 -2
  82. package/build/index-4fa610b1.js.map +0 -1
  83. package/build/index-5b032a36.js +0 -2
  84. package/build/index-5b032a36.js.map +0 -1
  85. package/build/types-df74aec0.js +0 -2
  86. package/build/types-df74aec0.js.map +0 -1
  87. package/build/useOutsideClick-528bfd6c.js +0 -2
  88. package/build/useOutsideClick-528bfd6c.js.map +0 -1
  89. package/build/useTranslations-29326df5.js +0 -2
  90. package/build/useTranslations-29326df5.js.map +0 -1
  91. package/src/assets/svg/Spotlight.svg +0 -12
  92. package/src/assets/svg/StarEmptyIcon.tsx +0 -19
  93. package/src/assets/svg/StarFullIcon.tsx +0 -21
  94. package/src/assets/svg/StarHalfIcon.tsx +0 -35
  95. package/src/assets/svg/arrowDoor.svg +0 -9
  96. package/src/assets/svg/calendar.svg +0 -3
  97. package/src/assets/svg/calendarArrowLeft.svg +0 -3
  98. package/src/assets/svg/calendarArrowRight.svg +0 -3
  99. package/src/assets/svg/check.svg +0 -3
  100. package/src/assets/svg/chevronDown.svg +0 -3
  101. package/src/assets/svg/chevronRight.svg +0 -3
  102. package/src/assets/svg/chevronRightActive.svg +0 -3
  103. package/src/assets/svg/chevronRightWhite.svg +0 -3
  104. package/src/assets/svg/chevronUpBlue.svg +0 -3
  105. package/src/assets/svg/closeLight.svg +0 -4
  106. package/src/assets/svg/closeWhite.svg +0 -4
  107. package/src/assets/svg/community.svg +0 -1
  108. package/src/assets/svg/discover.png +0 -0
  109. package/src/assets/svg/facebook.svg +0 -4
  110. package/src/assets/svg/hamburgerMenu.svg +0 -5
  111. package/src/assets/svg/hamburgerMenuNew.svg +0 -1
  112. package/src/assets/svg/hamburgerMenuNewWithSearch.svg +0 -1
  113. package/src/assets/svg/healthTools.png +0 -0
  114. package/src/assets/svg/helloCare-thumbnail.png +0 -0
  115. package/src/assets/svg/index.ts +0 -63
  116. package/src/assets/svg/info-light.svg +0 -5
  117. package/src/assets/svg/instagram.svg +0 -1
  118. package/src/assets/svg/linkedin.svg +0 -1
  119. package/src/assets/svg/lock.png +0 -0
  120. package/src/assets/svg/login.svg +0 -1
  121. package/src/assets/svg/sehat-badge.png +0 -0
  122. package/src/assets/svg/together.png +0 -0
  123. package/src/assets/svg/youtube.svg +0 -4
  124. package/src/assets/svg/zalo.png +0 -0
  125. package/src/cache/core.ts +0 -52
  126. package/src/cache/index.ts +0 -1
  127. package/src/care/api/paths.ts +0 -11
  128. package/src/care/api/utils.ts +0 -32
  129. package/src/care/components/atoms/icons/index.tsx +0 -170
  130. package/src/care/components/organisms/bookingSearchBar/constants.ts +0 -9
  131. package/src/care/components/organisms/bookingSearchBar/index.stories.tsx +0 -127
  132. package/src/care/components/organisms/bookingSearchBar/index.styled.ts +0 -51
  133. package/src/care/components/organisms/bookingSearchBar/index.test.tsx +0 -556
  134. package/src/care/components/organisms/bookingSearchBar/index.tsx +0 -448
  135. package/src/care/components/organisms/bookingSearchBar/locationResults/index.styled.ts +0 -94
  136. package/src/care/components/organisms/bookingSearchBar/locationResults/index.tsx +0 -132
  137. package/src/care/components/organisms/bookingSearchBar/locationResults/liSkeleton.tsx +0 -52
  138. package/src/care/components/organisms/bookingSearchBar/mobileFakeInput/index.tsx +0 -68
  139. package/src/care/components/organisms/bookingSearchBar/mobileTopbar/index.stories.tsx +0 -22
  140. package/src/care/components/organisms/bookingSearchBar/mobileTopbar/index.styled.ts +0 -41
  141. package/src/care/components/organisms/bookingSearchBar/mobileTopbar/index.tsx +0 -48
  142. package/src/care/components/organisms/bookingSearchBar/reducer.ts +0 -293
  143. package/src/care/components/organisms/bookingSearchBar/resultSection/icons.tsx +0 -37
  144. package/src/care/components/organisms/bookingSearchBar/resultSection/index.stories.tsx +0 -155
  145. package/src/care/components/organisms/bookingSearchBar/resultSection/index.styled.ts +0 -89
  146. package/src/care/components/organisms/bookingSearchBar/resultSection/index.tsx +0 -234
  147. package/src/care/components/organisms/bookingSearchBar/resultSectionItem/index.stories.tsx +0 -55
  148. package/src/care/components/organisms/bookingSearchBar/resultSectionItem/index.styled.ts +0 -75
  149. package/src/care/components/organisms/bookingSearchBar/resultSectionItem/index.tsx +0 -86
  150. package/src/care/components/organisms/bookingSearchBar/searchInputs/index.styled.ts +0 -42
  151. package/src/care/components/organisms/bookingSearchBar/searchInputs/index.tsx +0 -219
  152. package/src/care/components/organisms/bookingSearchBar/searchResults/index.stories.tsx +0 -55
  153. package/src/care/components/organisms/bookingSearchBar/searchResults/index.tsx +0 -62
  154. package/src/care/components/organisms/bookingSearchBar/searchResults/mockData.ts +0 -169
  155. package/src/care/components/organisms/bookingSearchBar/searchSubmitIcon/index.tsx +0 -73
  156. package/src/care/components/organisms/bookingSearchBar/types.ts +0 -12
  157. package/src/care/components/organisms/bookingSearchBar/useAnimatedPlaceholder.ts +0 -86
  158. package/src/care/components/organisms/bookingSearchBar/useSearchBarApi.ts +0 -150
  159. package/src/care/components/organisms/bookingSearchBar/utils/Typewriter.ts +0 -437
  160. package/src/care/index.ts +0 -6
  161. package/src/care/interfaces/constants.ts +0 -75
  162. package/src/care/interfaces/types.ts +0 -258
  163. package/src/components/atoms/alert/__snapshots__/index.test.tsx.snap +0 -130
  164. package/src/components/atoms/alert/index.stories.tsx +0 -21
  165. package/src/components/atoms/alert/index.styled.tsx +0 -44
  166. package/src/components/atoms/alert/index.test.tsx +0 -28
  167. package/src/components/atoms/alert/index.tsx +0 -47
  168. package/src/components/atoms/avatar/index.stories.tsx +0 -49
  169. package/src/components/atoms/avatar/index.styled.tsx +0 -96
  170. package/src/components/atoms/avatar/index.tsx +0 -91
  171. package/src/components/atoms/badge/__snapshots__/index.test.tsx.snap +0 -61
  172. package/src/components/atoms/badge/index.stories.tsx +0 -71
  173. package/src/components/atoms/badge/index.styled.tsx +0 -138
  174. package/src/components/atoms/badge/index.test.tsx +0 -27
  175. package/src/components/atoms/badge/index.tsx +0 -45
  176. package/src/components/atoms/borderHeading/index.stories.tsx +0 -38
  177. package/src/components/atoms/borderHeading/index.styled.tsx +0 -50
  178. package/src/components/atoms/borderHeading/index.tsx +0 -39
  179. package/src/components/atoms/button/__snapshots__/index.test.tsx.snap +0 -57
  180. package/src/components/atoms/button/index.stories.tsx +0 -107
  181. package/src/components/atoms/button/index.styled.tsx +0 -335
  182. package/src/components/atoms/button/index.test.tsx +0 -25
  183. package/src/components/atoms/button/index.tsx +0 -207
  184. package/src/components/atoms/checkbox/__snapshots__/index.test.tsx.snap +0 -120
  185. package/src/components/atoms/checkbox/index.stories.tsx +0 -30
  186. package/src/components/atoms/checkbox/index.styled.tsx +0 -90
  187. package/src/components/atoms/checkbox/index.test.tsx +0 -31
  188. package/src/components/atoms/checkbox/index.tsx +0 -48
  189. package/src/components/atoms/container/index.styled.tsx +0 -16
  190. package/src/components/atoms/container/index.tsx +0 -21
  191. package/src/components/atoms/displayWrapper/index.styled.tsx +0 -19
  192. package/src/components/atoms/displayWrapper/index.tsx +0 -66
  193. package/src/components/atoms/divider/__snapshots__/index.test.tsx.snap +0 -14
  194. package/src/components/atoms/divider/index.stories.tsx +0 -19
  195. package/src/components/atoms/divider/index.styled.tsx +0 -10
  196. package/src/components/atoms/divider/index.test.tsx +0 -22
  197. package/src/components/atoms/divider/index.tsx +0 -34
  198. package/src/components/atoms/fileDropdown/__snapshots__/index.test.tsx.snap +0 -143
  199. package/src/components/atoms/fileDropdown/index.stories.tsx +0 -41
  200. package/src/components/atoms/fileDropdown/index.styled.tsx +0 -112
  201. package/src/components/atoms/fileDropdown/index.test.tsx +0 -46
  202. package/src/components/atoms/fileDropdown/index.tsx +0 -200
  203. package/src/components/atoms/flag/__snapshots__/index.test.tsx.snap +0 -59
  204. package/src/components/atoms/flag/icons/cambodia.tsx +0 -24
  205. package/src/components/atoms/flag/icons/english.tsx +0 -195
  206. package/src/components/atoms/flag/icons/india.tsx +0 -24
  207. package/src/components/atoms/flag/icons/indonesia.tsx +0 -55
  208. package/src/components/atoms/flag/icons/malaysia.tsx +0 -89
  209. package/src/components/atoms/flag/icons/myanmar.tsx +0 -105
  210. package/src/components/atoms/flag/icons/philippines.tsx +0 -24
  211. package/src/components/atoms/flag/icons/taiwan.tsx +0 -154
  212. package/src/components/atoms/flag/icons/thailand.tsx +0 -55
  213. package/src/components/atoms/flag/icons/vietnam.tsx +0 -57
  214. package/src/components/atoms/flag/index.stories.tsx +0 -30
  215. package/src/components/atoms/flag/index.styled.tsx +0 -18
  216. package/src/components/atoms/flag/index.test.tsx +0 -21
  217. package/src/components/atoms/flag/index.tsx +0 -150
  218. package/src/components/atoms/grid/__snapshots__/index.test.tsx.snap +0 -38
  219. package/src/components/atoms/grid/index.stories.tsx +0 -50
  220. package/src/components/atoms/grid/index.styled.tsx +0 -34
  221. package/src/components/atoms/grid/index.test.tsx +0 -26
  222. package/src/components/atoms/grid/index.tsx +0 -61
  223. package/src/components/atoms/heading/__snapshots__/index.test.tsx.snap +0 -38
  224. package/src/components/atoms/heading/index.stories.tsx +0 -27
  225. package/src/components/atoms/heading/index.styled.tsx +0 -108
  226. package/src/components/atoms/heading/index.test.tsx +0 -23
  227. package/src/components/atoms/heading/index.tsx +0 -59
  228. package/src/components/atoms/icons/Ask.tsx +0 -54
  229. package/src/components/atoms/icons/BarChart.tsx +0 -39
  230. package/src/components/atoms/icons/Booking.tsx +0 -37
  231. package/src/components/atoms/icons/Bookmark.tsx +0 -44
  232. package/src/components/atoms/icons/Community.tsx +0 -46
  233. package/src/components/atoms/icons/EditSpecial.tsx +0 -30
  234. package/src/components/atoms/icons/Family.tsx +0 -37
  235. package/src/components/atoms/icons/Font.tsx +0 -37
  236. package/src/components/atoms/icons/Heart.tsx +0 -37
  237. package/src/components/atoms/icons/Home.tsx +0 -54
  238. package/src/components/atoms/icons/Like.tsx +0 -49
  239. package/src/components/atoms/icons/MyCommunity.tsx +0 -37
  240. package/src/components/atoms/icons/PlusSpecial.tsx +0 -30
  241. package/src/components/atoms/icons/Recalculate.tsx +0 -37
  242. package/src/components/atoms/icons/Scale.tsx +0 -44
  243. package/src/components/atoms/icons/Share.tsx +0 -37
  244. package/src/components/atoms/icons/Stethoscope.tsx +0 -37
  245. package/src/components/atoms/icons/index.stories.tsx +0 -50
  246. package/src/components/atoms/icons/index.ts +0 -46
  247. package/src/components/atoms/index.ts +0 -33
  248. package/src/components/atoms/input/__snapshots__/index.test.tsx.snap +0 -137
  249. package/src/components/atoms/input/delete.svg +0 -3
  250. package/src/components/atoms/input/index.stories.tsx +0 -50
  251. package/src/components/atoms/input/index.styled.tsx +0 -124
  252. package/src/components/atoms/input/index.test.tsx +0 -23
  253. package/src/components/atoms/input/index.tsx +0 -140
  254. package/src/components/atoms/label/__snapshots__/index.test.tsx.snap +0 -21
  255. package/src/components/atoms/label/index.stories.tsx +0 -16
  256. package/src/components/atoms/label/index.test.tsx +0 -25
  257. package/src/components/atoms/label/index.tsx +0 -37
  258. package/src/components/atoms/logo/__snapshots__/index.test.tsx.snap +0 -99
  259. package/src/components/atoms/logo/index.stories.tsx +0 -84
  260. package/src/components/atoms/logo/index.test.tsx +0 -18
  261. package/src/components/atoms/logo/index.tsx +0 -1915
  262. package/src/components/atoms/marryBabyText/index.styled.tsx +0 -86
  263. package/src/components/atoms/marryBabyText/index.tsx +0 -57
  264. package/src/components/atoms/pagination/__snapshots__/index.test.tsx.snap +0 -185
  265. package/src/components/atoms/pagination/index.stories.tsx +0 -92
  266. package/src/components/atoms/pagination/index.styled.tsx +0 -73
  267. package/src/components/atoms/pagination/index.test.tsx +0 -26
  268. package/src/components/atoms/pagination/index.tsx +0 -286
  269. package/src/components/atoms/progress/index.stories.tsx +0 -55
  270. package/src/components/atoms/progress/index.styled.tsx +0 -30
  271. package/src/components/atoms/progress/index.tsx +0 -29
  272. package/src/components/atoms/pureInput/__snapshots__/index.test.tsx.snap +0 -135
  273. package/src/components/atoms/pureInput/delete.svg +0 -3
  274. package/src/components/atoms/pureInput/index.stories.tsx +0 -54
  275. package/src/components/atoms/pureInput/index.styled.tsx +0 -123
  276. package/src/components/atoms/pureInput/index.test.tsx +0 -29
  277. package/src/components/atoms/pureInput/index.tsx +0 -162
  278. package/src/components/atoms/radio/__snapshots__/index.test.tsx.snap +0 -163
  279. package/src/components/atoms/radio/index.stories.tsx +0 -48
  280. package/src/components/atoms/radio/index.styled.tsx +0 -133
  281. package/src/components/atoms/radio/index.test.tsx +0 -31
  282. package/src/components/atoms/radio/index.tsx +0 -66
  283. package/src/components/atoms/rateStars/index.stories.tsx +0 -71
  284. package/src/components/atoms/rateStars/index.styled.tsx +0 -17
  285. package/src/components/atoms/rateStars/index.tsx +0 -101
  286. package/src/components/atoms/shadow/__snapshots__/index.test.tsx.snap +0 -37
  287. package/src/components/atoms/shadow/index.stories.tsx +0 -55
  288. package/src/components/atoms/shadow/index.styled.tsx +0 -31
  289. package/src/components/atoms/shadow/index.test.tsx +0 -25
  290. package/src/components/atoms/shadow/index.tsx +0 -20
  291. package/src/components/atoms/slider/__snapshots__/index.test.tsx.snap +0 -172
  292. package/src/components/atoms/slider/index.stories.tsx +0 -22
  293. package/src/components/atoms/slider/index.styled.tsx +0 -68
  294. package/src/components/atoms/slider/index.test.tsx +0 -27
  295. package/src/components/atoms/slider/index.tsx +0 -140
  296. package/src/components/atoms/tag/__snapshots__/index.test.tsx.snap +0 -72
  297. package/src/components/atoms/tag/index.stories.tsx +0 -54
  298. package/src/components/atoms/tag/index.styled.tsx +0 -184
  299. package/src/components/atoms/tag/index.test.tsx +0 -23
  300. package/src/components/atoms/tag/index.tsx +0 -72
  301. package/src/components/atoms/text/index.stories.tsx +0 -24
  302. package/src/components/atoms/text/index.styled.tsx +0 -231
  303. package/src/components/atoms/text/index.tsx +0 -99
  304. package/src/components/atoms/textArea/index.stories.tsx +0 -30
  305. package/src/components/atoms/textArea/index.tsx +0 -86
  306. package/src/components/atoms/textDivider/index.tsx +0 -48
  307. package/src/components/atoms/toggle/__snapshots__/index.test.tsx.snap +0 -73
  308. package/src/components/atoms/toggle/index.stories.tsx +0 -38
  309. package/src/components/atoms/toggle/index.styled.tsx +0 -55
  310. package/src/components/atoms/toggle/index.test.tsx +0 -27
  311. package/src/components/atoms/toggle/index.tsx +0 -28
  312. package/src/components/atoms/underlinedLink/index.stories.tsx +0 -35
  313. package/src/components/atoms/underlinedLink/index.styled.tsx +0 -66
  314. package/src/components/atoms/underlinedLink/index.text.tsx +0 -23
  315. package/src/components/atoms/underlinedLink/index.tsx +0 -30
  316. package/src/components/atoms/uploader/__snapshots__/index.test.tsx.snap +0 -170
  317. package/src/components/atoms/uploader/index.stories.tsx +0 -128
  318. package/src/components/atoms/uploader/index.styled.tsx +0 -53
  319. package/src/components/atoms/uploader/index.test.tsx +0 -96
  320. package/src/components/atoms/uploader/index.tsx +0 -107
  321. package/src/components/index.ts +0 -3
  322. package/src/components/molecules/ampNextPage/index.tsx +0 -48
  323. package/src/components/molecules/articleCard/bookmark.png +0 -0
  324. package/src/components/molecules/articleCard/bookmarked.png +0 -0
  325. package/src/components/molecules/articleCard/index.stories.tsx +0 -222
  326. package/src/components/molecules/articleCard/index.styled.tsx +0 -391
  327. package/src/components/molecules/articleCard/index.tsx +0 -430
  328. package/src/components/molecules/breadcrumbs/__snapshots__/index.test.tsx.snap +0 -173
  329. package/src/components/molecules/breadcrumbs/index.stories.tsx +0 -79
  330. package/src/components/molecules/breadcrumbs/index.styled.tsx +0 -99
  331. package/src/components/molecules/breadcrumbs/index.test.tsx +0 -45
  332. package/src/components/molecules/breadcrumbs/index.tsx +0 -141
  333. package/src/components/molecules/carousel/index.stories.tsx +0 -40
  334. package/src/components/molecules/carousel/index.styled.tsx +0 -115
  335. package/src/components/molecules/carousel/index.tsx +0 -178
  336. package/src/components/molecules/categoryCard/index.stories.tsx +0 -19
  337. package/src/components/molecules/categoryCard/index.styled.tsx +0 -38
  338. package/src/components/molecules/categoryCard/index.tsx +0 -51
  339. package/src/components/molecules/checkboxGroup/__snapshots__/index.test.tsx.snap +0 -214
  340. package/src/components/molecules/checkboxGroup/index.stories.tsx +0 -118
  341. package/src/components/molecules/checkboxGroup/index.styled.tsx +0 -27
  342. package/src/components/molecules/checkboxGroup/index.test.tsx +0 -36
  343. package/src/components/molecules/checkboxGroup/index.tsx +0 -66
  344. package/src/components/molecules/cookieAcceptConfirm/__snapshots__/index.test.tsx.snap +0 -152
  345. package/src/components/molecules/cookieAcceptConfirm/index.stories.tsx +0 -23
  346. package/src/components/molecules/cookieAcceptConfirm/index.styled.tsx +0 -101
  347. package/src/components/molecules/cookieAcceptConfirm/index.test.tsx +0 -23
  348. package/src/components/molecules/cookieAcceptConfirm/index.tsx +0 -78
  349. package/src/components/molecules/cookieAcceptConfirm/info.svg +0 -3
  350. package/src/components/molecules/datePicker/__snapshots__/index.test.tsx.snap +0 -377
  351. package/src/components/molecules/datePicker/index.stories.tsx +0 -55
  352. package/src/components/molecules/datePicker/index.styled.tsx +0 -374
  353. package/src/components/molecules/datePicker/index.test.tsx +0 -46
  354. package/src/components/molecules/datePicker/index.tsx +0 -361
  355. package/src/components/molecules/dateRangePicker/calendar/index.styled.ts +0 -122
  356. package/src/components/molecules/dateRangePicker/calendar/index.tsx +0 -247
  357. package/src/components/molecules/dateRangePicker/index.stories.tsx +0 -45
  358. package/src/components/molecules/dateRangePicker/index.styled.ts +0 -36
  359. package/src/components/molecules/dateRangePicker/index.tsx +0 -103
  360. package/src/components/molecules/dateRangePicker/types.ts +0 -4
  361. package/src/components/molecules/dateRangePicker/utils.ts +0 -26
  362. package/src/components/molecules/doctorInfo/index.stories.tsx +0 -20
  363. package/src/components/molecules/doctorInfo/index.tsx +0 -54
  364. package/src/components/molecules/dropdown/__snapshots__/index.test.tsx.snap +0 -133
  365. package/src/components/molecules/dropdown/index.stories.tsx +0 -158
  366. package/src/components/molecules/dropdown/index.styled.tsx +0 -149
  367. package/src/components/molecules/dropdown/index.test.tsx +0 -45
  368. package/src/components/molecules/dropdown/index.tsx +0 -143
  369. package/src/components/molecules/dropdownSearch/index.stories.tsx +0 -66
  370. package/src/components/molecules/dropdownSearch/index.styled.tsx +0 -157
  371. package/src/components/molecules/dropdownSearch/index.tsx +0 -169
  372. package/src/components/molecules/dropdownSearch/search.svg +0 -4
  373. package/src/components/molecules/floatButtonGroup/add-period.svg +0 -9
  374. package/src/components/molecules/floatButtonGroup/index.stories.tsx +0 -72
  375. package/src/components/molecules/floatButtonGroup/index.styled.tsx +0 -310
  376. package/src/components/molecules/floatButtonGroup/index.tsx +0 -155
  377. package/src/components/molecules/iconText/__snapshots__/index.test.tsx.snap +0 -64
  378. package/src/components/molecules/iconText/index.stories.tsx +0 -22
  379. package/src/components/molecules/iconText/index.styled.tsx +0 -47
  380. package/src/components/molecules/iconText/index.test.tsx +0 -31
  381. package/src/components/molecules/iconText/index.tsx +0 -33
  382. package/src/components/molecules/index.ts +0 -39
  383. package/src/components/molecules/languageSwitcher/index.stories.tsx +0 -32
  384. package/src/components/molecules/languageSwitcher/index.styled.tsx +0 -23
  385. package/src/components/molecules/languageSwitcher/index.tsx +0 -68
  386. package/src/components/molecules/languageSwitcher/tooltipSelection/index.styled.tsx +0 -69
  387. package/src/components/molecules/languageSwitcher/tooltipSelection/index.tsx +0 -84
  388. package/src/components/molecules/mobileBottomNavigation/MobileBottomNavigationIcon.tsx +0 -51
  389. package/src/components/molecules/mobileBottomNavigation/index.stories.tsx +0 -173
  390. package/src/components/molecules/mobileBottomNavigation/index.styled.tsx +0 -150
  391. package/src/components/molecules/mobileBottomNavigation/index.tsx +0 -41
  392. package/src/components/molecules/modal/__snapshots__/index.test.tsx.snap +0 -3
  393. package/src/components/molecules/modal/index.stories.tsx +0 -139
  394. package/src/components/molecules/modal/index.styled.tsx +0 -146
  395. package/src/components/molecules/modal/index.test.tsx +0 -26
  396. package/src/components/molecules/modal/index.tsx +0 -147
  397. package/src/components/molecules/popup/__snapshots__/index.test.tsx.snap +0 -102
  398. package/src/components/molecules/popup/index.stories.tsx +0 -21
  399. package/src/components/molecules/popup/index.styled.tsx +0 -90
  400. package/src/components/molecules/popup/index.test.tsx +0 -26
  401. package/src/components/molecules/popup/index.tsx +0 -45
  402. package/src/components/molecules/progressBar/__snapshots__/index.test.tsx.snap +0 -167
  403. package/src/components/molecules/progressBar/index.stories.tsx +0 -72
  404. package/src/components/molecules/progressBar/index.styled.tsx +0 -182
  405. package/src/components/molecules/progressBar/index.test.tsx +0 -75
  406. package/src/components/molecules/progressBar/index.tsx +0 -245
  407. package/src/components/molecules/radioGroup/__snapshots__/index.test.tsx.snap +0 -290
  408. package/src/components/molecules/radioGroup/index.stories.tsx +0 -131
  409. package/src/components/molecules/radioGroup/index.styled.tsx +0 -75
  410. package/src/components/molecules/radioGroup/index.test.tsx +0 -33
  411. package/src/components/molecules/radioGroup/index.tsx +0 -80
  412. package/src/components/molecules/scrollList/index.stories.tsx +0 -113
  413. package/src/components/molecules/scrollList/index.styled.tsx +0 -140
  414. package/src/components/molecules/scrollList/index.tsx +0 -786
  415. package/src/components/molecules/seoHead/index.tsx +0 -382
  416. package/src/components/molecules/sidemenu/__snapshots__/index.test.tsx.snap +0 -273
  417. package/src/components/molecules/sidemenu/index.stories.tsx +0 -156
  418. package/src/components/molecules/sidemenu/index.test.tsx +0 -56
  419. package/src/components/molecules/sidemenu/index.tsx +0 -4
  420. package/src/components/molecules/sidemenu/menuLink.tsx +0 -78
  421. package/src/components/molecules/sidemenu/sideHeader.tsx +0 -85
  422. package/src/components/molecules/sidemenu/sideMenu.tsx +0 -39
  423. package/src/components/molecules/sidemenu/test.tsx +0 -94
  424. package/src/components/molecules/sidemenu/userInfo.tsx +0 -44
  425. package/src/components/molecules/starsRatingBox/index.stories.tsx +0 -121
  426. package/src/components/molecules/starsRatingBox/index.styled.tsx +0 -23
  427. package/src/components/molecules/starsRatingBox/index.tsx +0 -83
  428. package/src/components/molecules/statisticCard/__snapshots__/index.test.tsx.snap +0 -86
  429. package/src/components/molecules/statisticCard/index.stories.tsx +0 -40
  430. package/src/components/molecules/statisticCard/index.styled.tsx +0 -47
  431. package/src/components/molecules/statisticCard/index.test.tsx +0 -44
  432. package/src/components/molecules/statisticCard/index.tsx +0 -48
  433. package/src/components/molecules/surveyQuestionCard/__snapshots__/index.test.tsx.snap +0 -743
  434. package/src/components/molecules/surveyQuestionCard/index.stories.tsx +0 -115
  435. package/src/components/molecules/surveyQuestionCard/index.styled.tsx +0 -220
  436. package/src/components/molecules/surveyQuestionCard/index.test.tsx +0 -53
  437. package/src/components/molecules/surveyQuestionCard/index.tsx +0 -2
  438. package/src/components/molecules/surveyQuestionCard/surveyQuestionCard.tsx +0 -213
  439. package/src/components/molecules/surveyQuestionCard/surveyQuestionContent.tsx +0 -200
  440. package/src/components/molecules/surveyQuestionCard/surveyRadio.tsx +0 -69
  441. package/src/components/molecules/surveyQuestionCard/surveyThankyouCard.tsx +0 -129
  442. package/src/components/molecules/table/__snapshots__/index.test.tsx.snap +0 -56
  443. package/src/components/molecules/table/index.stories.tsx +0 -264
  444. package/src/components/molecules/table/index.test.tsx +0 -29
  445. package/src/components/molecules/table/index.tsx +0 -5
  446. package/src/components/molecules/table/table.tsx +0 -38
  447. package/src/components/molecules/table/tableBody.tsx +0 -46
  448. package/src/components/molecules/table/tableCell.tsx +0 -47
  449. package/src/components/molecules/table/tableHead.tsx +0 -46
  450. package/src/components/molecules/table/tableRow.tsx +0 -45
  451. package/src/components/molecules/tabs/__snapshots__/index.test.tsx.snap +0 -104
  452. package/src/components/molecules/tabs/index.stories.tsx +0 -45
  453. package/src/components/molecules/tabs/index.styled.tsx +0 -58
  454. package/src/components/molecules/tabs/index.test.tsx +0 -49
  455. package/src/components/molecules/tabs/index.tsx +0 -89
  456. package/src/components/organisms/footer/discoverFooter/index.styled.tsx +0 -286
  457. package/src/components/organisms/footer/discoverFooter/index.tsx +0 -448
  458. package/src/components/organisms/footer/index.stories.tsx +0 -207
  459. package/src/components/organisms/footer/index.tsx +0 -70
  460. package/src/components/organisms/footer/maryBabyFooter/index.styled.tsx +0 -502
  461. package/src/components/organisms/footer/maryBabyFooter/index.tsx +0 -393
  462. package/src/components/organisms/index.ts +0 -31
  463. package/src/components/organisms/navigationBookingButton/index.styled.tsx +0 -11
  464. package/src/components/organisms/navigationBookingButton/index.tsx +0 -53
  465. package/src/components/organisms/navigationLayout/CustomFooter.tsx +0 -154
  466. package/src/components/organisms/navigationLayout/ampSideBar/index.styled.tsx +0 -151
  467. package/src/components/organisms/navigationLayout/ampSideBar/index.tsx +0 -276
  468. package/src/components/organisms/navigationLayout/assets/check.svg +0 -3
  469. package/src/components/organisms/navigationLayout/assets/chevronDown.svg +0 -3
  470. package/src/components/organisms/navigationLayout/assets/chevronRightWhite.svg +0 -3
  471. package/src/components/organisms/navigationLayout/assets/chevronUpBlue.svg +0 -3
  472. package/src/components/organisms/navigationLayout/assets/closeLight.svg +0 -4
  473. package/src/components/organisms/navigationLayout/assets/closeWhite.svg +0 -4
  474. package/src/components/organisms/navigationLayout/assets/hamburgerMenu.svg +0 -5
  475. package/src/components/organisms/navigationLayout/assets/index.js +0 -19
  476. package/src/components/organisms/navigationLayout/assets/info-light.svg +0 -5
  477. package/src/components/organisms/navigationLayout/constants.ts +0 -958
  478. package/src/components/organisms/navigationLayout/footer/index.styled.tsx +0 -286
  479. package/src/components/organisms/navigationLayout/footer/index.tsx +0 -449
  480. package/src/components/organisms/navigationLayout/index.stories.tsx +0 -273
  481. package/src/components/organisms/navigationLayout/index.styled.tsx +0 -153
  482. package/src/components/organisms/navigationLayout/index.tsx +0 -1272
  483. package/src/components/organisms/navigationLayout/languageWrapper.tsx +0 -19
  484. package/src/components/organisms/navigationLayout/languages/default.ts +0 -63
  485. package/src/components/organisms/navigationLayout/layout.tsx +0 -406
  486. package/src/components/organisms/navigationLayout/marryBabyText/index.styled.tsx +0 -86
  487. package/src/components/organisms/navigationLayout/marryBabyText/index.tsx +0 -57
  488. package/src/components/organisms/navigationLayout/maryBabyFooter/index.styled.tsx +0 -502
  489. package/src/components/organisms/navigationLayout/maryBabyFooter/index.tsx +0 -383
  490. package/src/components/organisms/navigationLayout/menuCareList/categorySkeleton.tsx +0 -25
  491. package/src/components/organisms/navigationLayout/menuCareList/index.styled.tsx +0 -156
  492. package/src/components/organisms/navigationLayout/menuCareList/index.tsx +0 -266
  493. package/src/components/organisms/navigationLayout/menuCategoriesList/categorySkeleton.tsx +0 -25
  494. package/src/components/organisms/navigationLayout/menuCategoriesList/helloSites.tsx +0 -419
  495. package/src/components/organisms/navigationLayout/menuCategoriesList/index.styled.tsx +0 -196
  496. package/src/components/organisms/navigationLayout/menuCategoriesList/index.tsx +0 -92
  497. package/src/components/organisms/navigationLayout/menuCategoriesList/marryBaby.styled.tsx +0 -151
  498. package/src/components/organisms/navigationLayout/menuCategoriesList/marryBaby.tsx +0 -409
  499. package/src/components/organisms/navigationLayout/menuCategoriesList/spotlightsList/index.styled.tsx +0 -147
  500. package/src/components/organisms/navigationLayout/menuCategoriesList/spotlightsList/index.tsx +0 -141
  501. package/src/components/organisms/navigationLayout/menuCategoriesList/spotlightsList/spotlightSkeleton.tsx +0 -25
  502. package/src/components/organisms/navigationLayout/menuCommunitiesList/categorySkeleton.tsx +0 -25
  503. package/src/components/organisms/navigationLayout/menuCommunitiesList/helloSites.tsx +0 -309
  504. package/src/components/organisms/navigationLayout/menuCommunitiesList/index.styled.tsx +0 -162
  505. package/src/components/organisms/navigationLayout/menuCommunitiesList/index.tsx +0 -80
  506. package/src/components/organisms/navigationLayout/menuCommunitiesList/marryBaby.styled.tsx +0 -119
  507. package/src/components/organisms/navigationLayout/menuCommunitiesList/marryBaby.tsx +0 -181
  508. package/src/components/organisms/navigationLayout/menuHealthToolsList/categorySkeleton.tsx +0 -25
  509. package/src/components/organisms/navigationLayout/menuHealthToolsList/helloSites.tsx +0 -364
  510. package/src/components/organisms/navigationLayout/menuHealthToolsList/index.styled.tsx +0 -176
  511. package/src/components/organisms/navigationLayout/menuHealthToolsList/index.tsx +0 -83
  512. package/src/components/organisms/navigationLayout/menuHealthToolsList/marryBaby.tsx +0 -166
  513. package/src/components/organisms/navigationLayout/menuHealthToolsList/marrybaby.styled.tsx +0 -118
  514. package/src/components/organisms/navigationLayout/menuSectionCard/cardSkeleton.tsx +0 -32
  515. package/src/components/organisms/navigationLayout/menuSectionCard/index.styled.tsx +0 -46
  516. package/src/components/organisms/navigationLayout/menuSectionCard/index.tsx +0 -52
  517. package/src/components/organisms/navigationLayout/menuServiceList/categoriesSubList.tsx +0 -121
  518. package/src/components/organisms/navigationLayout/menuServiceList/communitySubList.tsx +0 -143
  519. package/src/components/organisms/navigationLayout/menuServiceList/index.styled.tsx +0 -460
  520. package/src/components/organisms/navigationLayout/menuServiceList/index.tsx +0 -746
  521. package/src/components/organisms/navigationLayout/menuServiceList/marryBabyMobileMenuSection.tsx +0 -239
  522. package/src/components/organisms/navigationLayout/navigationBar/ArrowLeftPopupIcon.tsx +0 -21
  523. package/src/components/organisms/navigationLayout/navigationBar/ClosePopupIcon.tsx +0 -20
  524. package/src/components/organisms/navigationLayout/navigationBar/HamburgerIcon.tsx +0 -43
  525. package/src/components/organisms/navigationLayout/navigationBar/NavigationBar.types.ts +0 -99
  526. package/src/components/organisms/navigationLayout/navigationBar/NavigationBarMobile.tsx +0 -503
  527. package/src/components/organisms/navigationLayout/navigationBar/SearchIcon.tsx +0 -22
  528. package/src/components/organisms/navigationLayout/navigationBar/index.styled.tsx +0 -540
  529. package/src/components/organisms/navigationLayout/navigationBar/index.tsx +0 -798
  530. package/src/components/organisms/navigationLayout/navigationLogoutPopup/index.styled.tsx +0 -87
  531. package/src/components/organisms/navigationLayout/navigationLogoutPopup/index.tsx +0 -95
  532. package/src/components/organisms/navigationLayout/profilePopup/index.tsx +0 -102
  533. package/src/components/organisms/navigationLayout/profilePopupWrapper/index.styled.tsx +0 -164
  534. package/src/components/organisms/navigationLayout/profilePopupWrapper/index.tsx +0 -58
  535. package/src/components/organisms/navigationLayout/siteWide/index.styled.tsx +0 -116
  536. package/src/components/organisms/navigationLayout/siteWide/index.tsx +0 -162
  537. package/src/components/organisms/navigationLayout/sponsoredBy/index.styled.tsx +0 -119
  538. package/src/components/organisms/navigationLayout/sponsoredBy/index.tsx +0 -254
  539. package/src/components/organisms/navigationLayout/tooltipSelection/index.styled.tsx +0 -66
  540. package/src/components/organisms/navigationLayout/tooltipSelection/index.tsx +0 -81
  541. package/src/components/organisms/navigationLayout/types.ts +0 -322
  542. package/src/components/organisms/navigationLayout/utils.tsx +0 -424
  543. package/src/components/organisms/navigationLogoutPopup/index.stories.tsx +0 -34
  544. package/src/components/organisms/navigationLogoutPopup/index.styled.tsx +0 -87
  545. package/src/components/organisms/navigationLogoutPopup/index.tsx +0 -78
  546. package/src/components/organisms/navigationProfileButton/index.stories.tsx +0 -51
  547. package/src/components/organisms/navigationProfileButton/index.styled.tsx +0 -254
  548. package/src/components/organisms/navigationProfileButton/index.tsx +0 -217
  549. package/src/components/organisms/navigationProfileButton/popupWrapper.tsx +0 -58
  550. package/src/components/organisms/navigationProfileButton/profilePopup.tsx +0 -97
  551. package/src/components/organisms/navigationV2/components/atoms/ArrowLeftPopupIcon.tsx +0 -21
  552. package/src/components/organisms/navigationV2/components/atoms/ClosePopupIcon.tsx +0 -21
  553. package/src/components/organisms/navigationV2/components/atoms/HamburgerIcon.tsx +0 -58
  554. package/src/components/organisms/navigationV2/components/atoms/ItemNav/index.styled.tsx +0 -63
  555. package/src/components/organisms/navigationV2/components/atoms/ItemNav/index.tsx +0 -71
  556. package/src/components/organisms/navigationV2/components/atoms/PopupWrapper/btnClosePopup.tsx +0 -30
  557. package/src/components/organisms/navigationV2/components/atoms/PopupWrapper/index.styled.tsx +0 -62
  558. package/src/components/organisms/navigationV2/components/atoms/PopupWrapper/index.tsx +0 -45
  559. package/src/components/organisms/navigationV2/components/atoms/SearchIcon.tsx +0 -22
  560. package/src/components/organisms/navigationV2/components/atoms/searchInput/index.tsx +0 -45
  561. package/src/components/organisms/navigationV2/components/molecules/Categories/index.styled.tsx +0 -74
  562. package/src/components/organisms/navigationV2/components/molecules/Categories/index.tsx +0 -115
  563. package/src/components/organisms/navigationV2/components/molecules/Spotlights/index.styled.tsx +0 -40
  564. package/src/components/organisms/navigationV2/components/molecules/Spotlights/index.tsx +0 -60
  565. package/src/components/organisms/navigationV2/components/molecules/menuCareList/Item/index.styled.tsx +0 -155
  566. package/src/components/organisms/navigationV2/components/molecules/menuCareList/Item/index.tsx +0 -103
  567. package/src/components/organisms/navigationV2/components/molecules/menuCareList/careSpotlights.tsx +0 -40
  568. package/src/components/organisms/navigationV2/components/molecules/menuCareList/index.styled.tsx +0 -29
  569. package/src/components/organisms/navigationV2/components/molecules/menuCareList/index.tsx +0 -65
  570. package/src/components/organisms/navigationV2/components/molecules/menuCategoriesList/Item/index.styled.tsx +0 -46
  571. package/src/components/organisms/navigationV2/components/molecules/menuCategoriesList/Item/index.tsx +0 -50
  572. package/src/components/organisms/navigationV2/components/molecules/menuCategoriesList/categorySpotlights.tsx +0 -59
  573. package/src/components/organisms/navigationV2/components/molecules/menuCategoriesList/index.styled.tsx +0 -30
  574. package/src/components/organisms/navigationV2/components/molecules/menuCategoriesList/index.tsx +0 -64
  575. package/src/components/organisms/navigationV2/components/molecules/menuCommunitiesList/Item/index.styled.tsx +0 -89
  576. package/src/components/organisms/navigationV2/components/molecules/menuCommunitiesList/Item/index.tsx +0 -91
  577. package/src/components/organisms/navigationV2/components/molecules/menuCommunitiesList/communitySpotlights.tsx +0 -49
  578. package/src/components/organisms/navigationV2/components/molecules/menuCommunitiesList/index.styled.tsx +0 -42
  579. package/src/components/organisms/navigationV2/components/molecules/menuCommunitiesList/index.tsx +0 -56
  580. package/src/components/organisms/navigationV2/components/molecules/menuHealthToolsList/Item/index.styled.tsx +0 -104
  581. package/src/components/organisms/navigationV2/components/molecules/menuHealthToolsList/Item/index.tsx +0 -99
  582. package/src/components/organisms/navigationV2/components/molecules/menuHealthToolsList/index.styled.tsx +0 -18
  583. package/src/components/organisms/navigationV2/components/molecules/menuHealthToolsList/index.tsx +0 -65
  584. package/src/components/organisms/navigationV2/components/molecules/menuHealthToolsList/toolSpotlights.tsx +0 -41
  585. package/src/components/organisms/navigationV2/components/molecules/menuServiceList/index.styled.tsx +0 -358
  586. package/src/components/organisms/navigationV2/components/molecules/menuServiceList/index.tsx +0 -88
  587. package/src/components/organisms/navigationV2/components/molecules/navigationBar/hamburgerMenu.tsx +0 -74
  588. package/src/components/organisms/navigationV2/components/molecules/navigationBar/index.styled.tsx +0 -214
  589. package/src/components/organisms/navigationV2/components/molecules/navigationBar/index.tsx +0 -283
  590. package/src/components/organisms/navigationV2/components/molecules/navigationBar/navigationProfileButtonWithContext.tsx +0 -50
  591. package/src/components/organisms/navigationV2/components/molecules/spotlightNoData/index.styled.tsx +0 -70
  592. package/src/components/organisms/navigationV2/components/molecules/spotlightNoData/index.tsx +0 -74
  593. package/src/components/organisms/navigationV2/constants.ts +0 -277
  594. package/src/components/organisms/navigationV2/hooks/useHeaderHeight.tsx +0 -84
  595. package/src/components/organisms/navigationV2/hooks/useInsider.tsx +0 -67
  596. package/src/components/organisms/navigationV2/hooks/useNavConfig.tsx +0 -99
  597. package/src/components/organisms/navigationV2/hooks/useNavServices.tsx +0 -73
  598. package/src/components/organisms/navigationV2/index.stories.tsx +0 -287
  599. package/src/components/organisms/navigationV2/index.styled.tsx +0 -30
  600. package/src/components/organisms/navigationV2/index.tsx +0 -320
  601. package/src/components/organisms/navigationV2/navigationContext.tsx +0 -38
  602. package/src/components/organisms/navigationV2/types.ts +0 -307
  603. package/src/components/organisms/navigationV2/utils.tsx +0 -400
  604. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-chevronDown.svg +0 -3
  605. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-chevronRight.svg +0 -3
  606. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-eCom.svg +0 -22
  607. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-helpCircle.svg +0 -3
  608. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-logOut.svg +0 -3
  609. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-myBooking.svg +0 -36
  610. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-myCommunity.svg +0 -19
  611. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-myFamily.svg +0 -15
  612. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-myHealth.svg +0 -13
  613. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-mySaved.svg +0 -3
  614. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-ambassador.svg +0 -4
  615. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-doctor.svg +0 -4
  616. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-expert.svg +0 -4
  617. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-influencer.svg +0 -4
  618. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-rank-member.svg +0 -8
  619. package/src/components/organisms/userProfileNavigation/assets/helloSites/icon-settingsWheel.svg +0 -3
  620. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-arrowRight.svg +0 -3
  621. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-lock.svg +0 -4
  622. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-logOut.svg +0 -4
  623. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-myCommunity.svg +0 -4
  624. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-myHealth.svg +0 -6
  625. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-mySaved.svg +0 -3
  626. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-ambassador.svg +0 -40
  627. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-doctor.svg +0 -40
  628. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-expert.svg +0 -27
  629. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-influencer.svg +0 -33
  630. package/src/components/organisms/userProfileNavigation/assets/marryBaby/icon-rank-member.svg +0 -33
  631. package/src/components/organisms/userProfileNavigation/constants.ts +0 -23
  632. package/src/components/organisms/userProfileNavigation/index.stories.tsx +0 -79
  633. package/src/components/organisms/userProfileNavigation/index.styled.ts +0 -60
  634. package/src/components/organisms/userProfileNavigation/index.tsx +0 -219
  635. package/src/components/organisms/userProfileNavigation/navHeader/index.styled.ts +0 -76
  636. package/src/components/organisms/userProfileNavigation/navHeader/index.tsx +0 -68
  637. package/src/components/organisms/userProfileNavigation/navMenu/index.styled.ts +0 -115
  638. package/src/components/organisms/userProfileNavigation/navMenu/index.tsx +0 -79
  639. package/src/components/organisms/userProfileNavigation/navMenu/items.ts +0 -38
  640. package/src/components/organisms/userProfileNavigation/navigationCard/index.styled.ts +0 -51
  641. package/src/components/organisms/userProfileNavigation/navigationCard/index.tsx +0 -96
  642. package/src/components/organisms/userProfileNavigation/types.ts +0 -35
  643. package/src/components/organisms/userProfileNavigation/userStats/index.styled.ts +0 -110
  644. package/src/components/organisms/userProfileNavigation/userStats/index.tsx +0 -78
  645. package/src/core.ts +0 -7
  646. package/src/docs/releases/getReleases.js +0 -56
  647. package/src/docs/releases/index.stories.mdx +0 -9
  648. package/src/ecom/dataFormatter/index.ts +0 -933
  649. package/src/ecom/dataFormatter/lib/apiTypes.ts +0 -623
  650. package/src/ecom/dataFormatter/lib/dataTypes.ts +0 -571
  651. package/src/ecom/dataFormatter/lib/utils.ts +0 -40
  652. package/src/ecom/index.tsx +0 -5
  653. package/src/ecom/interfaces/constants.ts +0 -1000
  654. package/src/ecom/interfaces/types.ts +0 -194
  655. package/src/hooks/useCSSFocusPopupHelper.ts +0 -32
  656. package/src/hooks/useDragScroll.ts +0 -55
  657. package/src/hooks/useDropdownSearch.tsx +0 -52
  658. package/src/hooks/useFbDataLayer.tsx +0 -49
  659. package/src/hooks/useGeolocation.ts +0 -86
  660. package/src/hooks/useGetIsMobile.ts +0 -20
  661. package/src/hooks/useImagesPicker.ts +0 -56
  662. package/src/hooks/useIsInit.ts +0 -9
  663. package/src/hooks/useOutsideClick.ts +0 -20
  664. package/src/hooks/useScreenSize.ts +0 -35
  665. package/src/hooks/useScrollbarSize.ts +0 -74
  666. package/src/hooks/useTranslations.tsx +0 -41
  667. package/src/i18n/en-PH.json +0 -235
  668. package/src/i18n/hi-IN.json +0 -235
  669. package/src/i18n/id-ID.json +0 -235
  670. package/src/i18n/index.ts +0 -3
  671. package/src/i18n/km-KH.json +0 -235
  672. package/src/i18n/ms-MY.json +0 -235
  673. package/src/i18n/my-MM.json +0 -235
  674. package/src/i18n/th-TH.json +0 -235
  675. package/src/i18n/tl-PH.json +0 -235
  676. package/src/i18n/translations.ts +0 -47
  677. package/src/i18n/translationsContext.ts +0 -12
  678. package/src/i18n/translationsProvider.tsx +0 -66
  679. package/src/i18n/vi-VN.json +0 -242
  680. package/src/i18n/zh-TW.json +0 -235
  681. package/src/index.ts +0 -12
  682. package/src/interfaces/constants.ts +0 -402
  683. package/src/interfaces/types.ts +0 -85
  684. package/src/misc/cookieHelper.tsx +0 -31
  685. package/src/misc/lazyLoad.ts +0 -7
  686. package/src/misc/mockTheme.tsx +0 -11
  687. package/src/misc/number.ts +0 -24
  688. package/src/misc/routing.tsx +0 -45
  689. package/src/misc/theme.ts +0 -186
  690. package/src/misc/utils.ts +0 -214
  691. package/src/test/testTranslationProvider.tsx +0 -14
  692. package/src/together/api/dataTransform.ts +0 -650
  693. package/src/together/api/paths.ts +0 -163
  694. package/src/together/api/utils.ts +0 -399
  695. package/src/together/assets/images/avatar-default.png +0 -0
  696. package/src/together/assets/images/icon-whatsapp.png +0 -0
  697. package/src/together/assets/images/icon-zalo.png +0 -0
  698. package/src/together/assets/marrybaby/svg/comment.svg +0 -4
  699. package/src/together/assets/marrybaby/svg/commentSolid.svg +0 -5
  700. package/src/together/assets/marrybaby/svg/commentWhite.svg +0 -4
  701. package/src/together/assets/marrybaby/svg/copy.svg +0 -1
  702. package/src/together/assets/marrybaby/svg/facebook.svg +0 -9
  703. package/src/together/assets/marrybaby/svg/heart.svg +0 -4
  704. package/src/together/assets/marrybaby/svg/heartSolid.svg +0 -4
  705. package/src/together/assets/marrybaby/svg/linkedin.svg +0 -6
  706. package/src/together/assets/marrybaby/svg/loading.svg +0 -15
  707. package/src/together/assets/marrybaby/svg/messenger.svg +0 -17
  708. package/src/together/assets/marrybaby/svg/more.svg +0 -6
  709. package/src/together/assets/marrybaby/svg/moreSolid.svg +0 -6
  710. package/src/together/assets/marrybaby/svg/pin.svg +0 -6
  711. package/src/together/assets/marrybaby/svg/pinOrange.svg +0 -6
  712. package/src/together/assets/marrybaby/svg/share.svg +0 -5
  713. package/src/together/assets/marrybaby/svg/share2.svg +0 -5
  714. package/src/together/assets/marrybaby/svg/sortBy.svg +0 -5
  715. package/src/together/assets/marrybaby/svg/twitter.svg +0 -4
  716. package/src/together/assets/marrybaby/svg/zalo.png +0 -0
  717. package/src/together/assets/svg/bullet-point.svg +0 -3
  718. package/src/together/assets/svg/chevronRightActive.svg +0 -3
  719. package/src/together/assets/svg/close-circle-line.svg +0 -5
  720. package/src/together/assets/svg/closeLight copy.svg +0 -4
  721. package/src/together/assets/svg/closeLight.svg +0 -4
  722. package/src/together/assets/svg/delete.svg +0 -13
  723. package/src/together/assets/svg/icon-alert-circle-primary.svg +0 -5
  724. package/src/together/assets/svg/icon-alert-circle-warning.svg +0 -5
  725. package/src/together/assets/svg/icon-alert-circle.svg +0 -5
  726. package/src/together/assets/svg/icon-arrow-circle-upgrade.svg +0 -3
  727. package/src/together/assets/svg/icon-arrow-left.svg +0 -4
  728. package/src/together/assets/svg/icon-arrow-right-circle.svg +0 -5
  729. package/src/together/assets/svg/icon-bell-off.svg +0 -7
  730. package/src/together/assets/svg/icon-bell-on.svg +0 -4
  731. package/src/together/assets/svg/icon-bookmark-fill.svg +0 -3
  732. package/src/together/assets/svg/icon-bookmark.svg +0 -3
  733. package/src/together/assets/svg/icon-cancel.svg +0 -13
  734. package/src/together/assets/svg/icon-check-gray.svg +0 -3
  735. package/src/together/assets/svg/icon-check-pink.svg +0 -3
  736. package/src/together/assets/svg/icon-check-success.svg +0 -4
  737. package/src/together/assets/svg/icon-check.svg +0 -4
  738. package/src/together/assets/svg/icon-chevron-left-dark.svg +0 -3
  739. package/src/together/assets/svg/icon-chevron-right-dark.svg +0 -3
  740. package/src/together/assets/svg/icon-chevron-right-white.svg +0 -3
  741. package/src/together/assets/svg/icon-chevron-right.svg +0 -3
  742. package/src/together/assets/svg/icon-close-circle-line.svg +0 -5
  743. package/src/together/assets/svg/icon-close-circle.svg +0 -5
  744. package/src/together/assets/svg/icon-close.svg +0 -4
  745. package/src/together/assets/svg/icon-edit.svg +0 -3
  746. package/src/together/assets/svg/icon-enter.svg +0 -4
  747. package/src/together/assets/svg/icon-facebook.svg +0 -3
  748. package/src/together/assets/svg/icon-heart-empty.svg +0 -3
  749. package/src/together/assets/svg/icon-heart-fill-red.svg +0 -3
  750. package/src/together/assets/svg/icon-heart-fill.svg +0 -3
  751. package/src/together/assets/svg/icon-kebab.svg +0 -5
  752. package/src/together/assets/svg/icon-link.svg +0 -4
  753. package/src/together/assets/svg/icon-linkedin.svg +0 -4
  754. package/src/together/assets/svg/icon-pin-gray.svg +0 -4
  755. package/src/together/assets/svg/icon-pin-yellow.svg +0 -4
  756. package/src/together/assets/svg/icon-pin.svg +0 -4
  757. package/src/together/assets/svg/icon-reply-arrow.svg +0 -3
  758. package/src/together/assets/svg/icon-reply-circle-empty.svg +0 -3
  759. package/src/together/assets/svg/icon-reply-circle-fill.svg +0 -3
  760. package/src/together/assets/svg/icon-share-on-media.svg +0 -7
  761. package/src/together/assets/svg/icon-sort-arrow.svg +0 -4
  762. package/src/together/assets/svg/icon-tab-edit-2.svg +0 -4
  763. package/src/together/assets/svg/icon-tab-edit-primary.svg +0 -4
  764. package/src/together/assets/svg/icon-trash-bin.svg +0 -6
  765. package/src/together/assets/svg/icon-twitter.svg +0 -4
  766. package/src/together/assets/svg/loading.svg +0 -7
  767. package/src/together/assets/svg/reviewer-author.svg +0 -12
  768. package/src/together/assets/svg/reviewer-editor.svg +0 -12
  769. package/src/together/assets/svg/reviewer-expert.svg +0 -5
  770. package/src/together/assets/svg/reviewer-fact-check.svg +0 -4
  771. package/src/together/assets/svg/reviewer-medical.svg +0 -4
  772. package/src/together/components/atoms/cardLink/index.styled.tsx +0 -64
  773. package/src/together/components/atoms/cardLink/index.tsx +0 -149
  774. package/src/together/components/atoms/cardReactions/index.styled.tsx +0 -96
  775. package/src/together/components/atoms/cardReactions/index.tsx +0 -221
  776. package/src/together/components/atoms/index.tsx +0 -8
  777. package/src/together/components/atoms/labelSortPin/index.styled.tsx +0 -78
  778. package/src/together/components/atoms/labelSortPin/index.tsx +0 -50
  779. package/src/together/components/atoms/labelSortPin/labelPin.tsx +0 -47
  780. package/src/together/components/atoms/labelSortPin/labelSorting.tsx +0 -127
  781. package/src/together/components/atoms/loading/index.styled.tsx +0 -42
  782. package/src/together/components/atoms/loading/index.tsx +0 -25
  783. package/src/together/components/atoms/loading/loadingCard.tsx +0 -38
  784. package/src/together/components/atoms/tagTopic/index.styled.tsx +0 -33
  785. package/src/together/components/atoms/tagTopic/index.tsx +0 -57
  786. package/src/together/components/atoms/userAvatar/index.styled.tsx +0 -39
  787. package/src/together/components/atoms/userAvatar/index.tsx +0 -62
  788. package/src/together/components/molecules/cardAuthor/customMMLocale/formatDistance.ts +0 -112
  789. package/src/together/components/molecules/cardAuthor/customMMLocale/index.ts +0 -16
  790. package/src/together/components/molecules/cardAuthor/customMMLocale/types.ts +0 -37
  791. package/src/together/components/molecules/cardAuthor/index.styled.tsx +0 -164
  792. package/src/together/components/molecules/cardAuthor/index.tsx +0 -314
  793. package/src/together/components/molecules/createNewPostContent/index.stories.tsx +0 -114
  794. package/src/together/components/molecules/createNewPostContent/index.styled.tsx +0 -73
  795. package/src/together/components/molecules/createNewPostContent/index.tsx +0 -351
  796. package/src/together/components/molecules/createPostDescription/editor.tsx +0 -915
  797. package/src/together/components/molecules/createPostDescription/index.styled.tsx +0 -328
  798. package/src/together/components/molecules/createPostDescription/index.tsx +0 -163
  799. package/src/together/components/molecules/createPostTitle/index.styled.tsx +0 -62
  800. package/src/together/components/molecules/createPostTitle/index.tsx +0 -133
  801. package/src/together/components/molecules/index.tsx +0 -18
  802. package/src/together/components/molecules/inputCommentBar/index.styled.tsx +0 -227
  803. package/src/together/components/molecules/inputCommentBar/index.tsx +0 -341
  804. package/src/together/components/molecules/inputCommentBar/mainInputTriggerContext.tsx +0 -26
  805. package/src/together/components/molecules/popupDanger/index.styled.tsx +0 -174
  806. package/src/together/components/molecules/popupDanger/index.tsx +0 -113
  807. package/src/together/components/molecules/popupDoctor/index.styled.tsx +0 -185
  808. package/src/together/components/molecules/popupDoctor/index.tsx +0 -271
  809. package/src/together/components/molecules/popupExpert/index.styled.tsx +0 -175
  810. package/src/together/components/molecules/popupExpert/index.tsx +0 -216
  811. package/src/together/components/molecules/popupFrame/index.styled.tsx +0 -76
  812. package/src/together/components/molecules/popupFrame/index.tsx +0 -43
  813. package/src/together/components/molecules/popupFrame/popupShare.tsx +0 -178
  814. package/src/together/components/molecules/popupHospital/index.styled.tsx +0 -173
  815. package/src/together/components/molecules/popupHospital/index.tsx +0 -249
  816. package/src/together/components/molecules/postContent/index.styled.tsx +0 -66
  817. package/src/together/components/molecules/postContent/index.tsx +0 -125
  818. package/src/together/components/molecules/postImagePreview/imagePreviewPopup.tsx +0 -73
  819. package/src/together/components/molecules/postImagePreview/index.styled.tsx +0 -154
  820. package/src/together/components/molecules/postImagePreview/index.tsx +0 -115
  821. package/src/together/components/molecules/postImagePreview/postSingleImageViewPopup/index.styled.tsx +0 -84
  822. package/src/together/components/molecules/postImagePreview/postSingleImageViewPopup/index.tsx +0 -83
  823. package/src/together/components/molecules/shareBox/index.stories.tsx +0 -36
  824. package/src/together/components/molecules/shareBox/index.styled.tsx +0 -141
  825. package/src/together/components/molecules/shareBox/index.tsx +0 -188
  826. package/src/together/components/molecules/socialLinkPreview/index.styled.tsx +0 -39
  827. package/src/together/components/molecules/socialLinkPreview/index.tsx +0 -206
  828. package/src/together/components/molecules/submitReportForm/index.styled.tsx +0 -34
  829. package/src/together/components/molecules/submitReportForm/index.tsx +0 -84
  830. package/src/together/components/molecules/topicSelectList/index.stories.tsx +0 -93
  831. package/src/together/components/molecules/topicSelectList/index.styled.tsx +0 -53
  832. package/src/together/components/molecules/topicSelectList/index.tsx +0 -186
  833. package/src/together/components/organisms/cardPost/cardPostPopover.tsx +0 -293
  834. package/src/together/components/organisms/cardPost/index.stories.tsx +0 -212
  835. package/src/together/components/organisms/cardPost/index.styled.tsx +0 -181
  836. package/src/together/components/organisms/cardPost/index.tsx +0 -458
  837. package/src/together/components/organisms/cardReply/cardReplyPopover.tsx +0 -122
  838. package/src/together/components/organisms/cardReply/index.styled.tsx +0 -199
  839. package/src/together/components/organisms/cardReply/index.tsx +0 -362
  840. package/src/together/components/organisms/index.tsx +0 -5
  841. package/src/together/components/organisms/popoverMenu/index.styled.tsx +0 -313
  842. package/src/together/components/organisms/popoverMenu/index.tsx +0 -102
  843. package/src/together/components/organisms/popoverMenu/treePopoverMenu.tsx +0 -156
  844. package/src/together/hooks/useTogetherAuthRequiredAction.tsx +0 -124
  845. package/src/together/index.ts +0 -12
  846. package/src/together/interfaces/constants.ts +0 -306
  847. package/src/together/interfaces/types.ts +0 -1418
  848. package/src/together/togetherComponentGlobalContext.tsx +0 -150
  849. package/src/together/utils/apiActions/comment.tsx +0 -168
  850. package/src/together/utils/apiActions/community.ts +0 -59
  851. package/src/together/utils/apiActions/post.ts +0 -234
  852. package/src/together/utils/apiActions/topic.ts +0 -40
  853. package/src/together/utils/notification.ts +0 -20
  854. package/src/together/utils/post.ts +0 -351
  855. package/tsconfig.json +0 -28
@@ -1,915 +0,0 @@
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