@hhgtech/hhg-components 1.29.87 → 1.29.89

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 (459) hide show
  1. package/build/{LastPeriod-671d5143.js → LastPeriod-c8c46da3.js} +1 -1
  2. package/build/MobileBottomNavigationIcon-efacfc0c.js +193 -0
  3. package/build/{WhatsApp-07eb4e4a.js → WhatsApp-8a1d6d0c.js} +1 -1
  4. package/build/adapters.js +18 -16
  5. package/build/atoms.js +47 -45
  6. package/build/babyGrowth.js +82 -80
  7. package/build/cache.js +2 -2
  8. package/build/care.js +28 -25
  9. package/build/careBookingSearchBar.js +1594 -0
  10. package/build/careBookingSearchBarV2.js +1665 -0
  11. package/build/components.js +125 -115
  12. package/build/{constants-970e6cf6.js → constants-f5c5e2ae.js} +1 -1
  13. package/build/constants.js +3 -3
  14. package/build/constantsDomainLocales.js +1 -1
  15. package/build/constantsRiskScreener.js +2 -2
  16. package/build/constantsSite.js +2 -2
  17. package/build/{core-bcde5ba8.js → core-58a245c5.js} +1 -1
  18. package/build/{dataTransform-567bc0c2.js → dataTransform-9ec385e3.js} +1 -1
  19. package/build/ecom.js +4 -4
  20. package/build/editor-40386fe7.js +986 -0
  21. package/build/embeddedHeathToolCards_babyGrowth.js +22 -20
  22. package/build/embeddedHeathToolCards_babyPoop.js +18 -16
  23. package/build/embeddedHeathToolCards_babyVaccine.js +21 -19
  24. package/build/embeddedHeathToolCards_bmi_bmi.js +25 -23
  25. package/build/embeddedHeathToolCards_bmrBmr.js +25 -23
  26. package/build/embeddedHeathToolCards_dueDate_dueDate.js +21 -19
  27. package/build/embeddedHeathToolCards_ovulation_ovulation.js +21 -19
  28. package/build/embeddedHeathToolCards_pwg_pwg.js +26 -24
  29. package/build/embeddedHeathToolCards_targetHeartRate.js +27 -25
  30. package/build/esm/{LastPeriod-ebfcf053.js → LastPeriod-46d6c03f.js} +1 -1
  31. package/build/esm/MobileBottomNavigationIcon-ae6490d7.js +185 -0
  32. package/build/esm/{WhatsApp-c6c8eded.js → WhatsApp-ed8ce0f2.js} +1 -1
  33. package/build/esm/adapters.js +18 -16
  34. package/build/esm/atoms.js +44 -42
  35. package/build/esm/babyGrowth.js +82 -80
  36. package/build/esm/cache.js +2 -2
  37. package/build/esm/care.js +26 -23
  38. package/build/esm/careBookingSearchBar.js +1582 -0
  39. package/build/esm/careBookingSearchBarV2.js +1655 -0
  40. package/build/esm/components.js +93 -83
  41. package/build/esm/{constants-bdf5e358.js → constants-e9ebe043.js} +1 -1
  42. package/build/esm/constants.js +3 -3
  43. package/build/esm/constantsDomainLocales.js +1 -1
  44. package/build/esm/constantsRiskScreener.js +2 -2
  45. package/build/esm/constantsSite.js +2 -2
  46. package/build/esm/{core-b4f1131e.js → core-6d8629c2.js} +1 -1
  47. package/build/esm/{dataTransform-ad9d785b.js → dataTransform-2023858d.js} +2 -2
  48. package/build/esm/ecom.js +4 -4
  49. package/build/esm/editor-82c3d476.js +959 -0
  50. package/build/esm/embeddedHeathToolCards_babyGrowth.js +22 -20
  51. package/build/esm/embeddedHeathToolCards_babyPoop.js +18 -16
  52. package/build/esm/embeddedHeathToolCards_babyVaccine.js +21 -19
  53. package/build/esm/embeddedHeathToolCards_bmi_bmi.js +25 -23
  54. package/build/esm/embeddedHeathToolCards_bmrBmr.js +25 -23
  55. package/build/esm/embeddedHeathToolCards_dueDate_dueDate.js +21 -19
  56. package/build/esm/embeddedHeathToolCards_ovulation_ovulation.js +21 -19
  57. package/build/esm/embeddedHeathToolCards_pwg_pwg.js +26 -24
  58. package/build/esm/embeddedHeathToolCards_targetHeartRate.js +27 -25
  59. package/build/esm/{fixedBottomAdBlock-e5747eb3.js → fixedBottomAdBlock-2af1606f.js} +26 -662
  60. package/build/esm/footer.js +20 -18
  61. package/build/esm/gAssets.js +2 -2
  62. package/build/esm/healthToolsCardWrapper.js +17 -15
  63. package/build/esm/healthToolsForm.js +33 -31
  64. package/build/esm/hooks.js +15 -15
  65. package/build/esm/i18n.js +2 -2
  66. package/build/esm/i18nV2.js +2 -2
  67. package/build/esm/{index-9d2cc0b2.js → index-04ba5caa.js} +1 -1
  68. package/build/esm/{index-8f953b02.js → index-082a24ae.js} +12 -11
  69. package/build/esm/{index-46a2a5d7.js → index-1313a7ac.js} +12 -11
  70. package/build/esm/{index-1322446c.js → index-13783871.js} +2 -2
  71. package/build/esm/{index-3685677f.js → index-16a4f1c7.js} +16 -15
  72. package/build/esm/{index-cc650c45.js → index-19f27bd3.js} +2 -2
  73. package/build/esm/{index-7c6e33e0.js → index-1a2bc551.js} +2 -2
  74. package/build/esm/{index-029c478e.js → index-275c8526.js} +14 -13
  75. package/build/esm/{index-e7c62f10.js → index-277566f7.js} +1 -1
  76. package/build/esm/{index-240e2930.js → index-2ac50d8f.js} +15 -14
  77. package/build/esm/{index-0f6906bb.js → index-2c4a2d31.js} +1 -1
  78. package/build/esm/{index-69dd7596.js → index-32a968a1.js} +6 -6
  79. package/build/esm/{index-0025652b.js → index-346fd194.js} +21 -19
  80. package/build/esm/{index-d4941998.js → index-38b87b21.js} +12 -11
  81. package/build/esm/{index-27a9a555.js → index-46c22744.js} +6 -6
  82. package/build/esm/index-4cf37916.js +22 -0
  83. package/build/esm/{index-5407e81e.js → index-4d27d02e.js} +15 -14
  84. package/build/esm/{index-dbb0b265.js → index-52d04cc5.js} +7 -7
  85. package/build/esm/index-538ca8aa.js +860 -0
  86. package/build/esm/{index-691f32bb.js → index-57da0f13.js} +16 -88
  87. package/build/esm/{index-2449d246.js → index-5e17f985.js} +16 -15
  88. package/build/esm/{index-ffd3c918.js → index-605eed95.js} +35 -800
  89. package/build/esm/{index-b1022535.js → index-628c5e84.js} +2 -2
  90. package/build/esm/{index-0cc19c33.js → index-64b1cd5c.js} +1 -1
  91. package/build/esm/index-673fd5bd.js +1264 -0
  92. package/build/esm/{index-804dcc5a.js → index-70883b48.js} +17 -16
  93. package/build/esm/{index-32114d1a.js → index-71c8b83f.js} +3 -142
  94. package/build/esm/{index-1f077f71.js → index-72c269cf.js} +3 -3
  95. package/build/esm/index-7ad9db02.js +1030 -0
  96. package/build/esm/{index-394c352b.js → index-7ca4ec53.js} +15 -14
  97. package/build/esm/{index-f56ad865.js → index-7decdf27.js} +1 -1
  98. package/build/esm/index-7e95ba03.js +144 -0
  99. package/build/esm/{index-0dd98ba5.js → index-84b3ef3d.js} +3 -3
  100. package/build/esm/{index-4e0ef954.js → index-8b9c7b45.js} +3 -3
  101. package/build/esm/{index-b97f14ca.js → index-930b0a77.js} +16 -15
  102. package/build/esm/{index-79b8f3a0.js → index-93c8863d.js} +2 -2
  103. package/build/esm/{index-16ed17c9.js → index-949f771c.js} +6 -6
  104. package/build/esm/{index-22dbd9d2.js → index-99551970.js} +2 -2
  105. package/build/esm/{index-bf7b2785.js → index-9c268a93.js} +2 -2
  106. package/build/esm/{index-8801ddf9.js → index-9d7d3a53.js} +4 -4
  107. package/build/esm/{index-02019218.js → index-9e220aaa.js} +2 -2
  108. package/build/esm/{index-f4468b77.js → index-a424a33d.js} +3 -3
  109. package/build/esm/{index-b4866578.js → index-a54b6536.js} +14 -13
  110. package/build/esm/{index-53ca94ab.js → index-b09ced58.js} +1 -1
  111. package/build/esm/{index-b13c7add.js → index-b5ed732f.js} +5 -5
  112. package/build/esm/{index-68f3752c.js → index-b867d267.js} +1 -1
  113. package/build/esm/{index-d72f98d1.js → index-c4b04b5f.js} +1 -1
  114. package/build/esm/{index-7aa8728c.js → index-c5286b89.js} +12 -11
  115. package/build/esm/{index-151b9162.js → index-cbb45a5d.js} +2 -2
  116. package/build/esm/{index-2e4a2f44.js → index-d4dcfb68.js} +2 -2
  117. package/build/esm/{index-d7019532.js → index-dec46974.js} +20 -17
  118. package/build/esm/index-e19da15e.js +468 -0
  119. package/build/esm/{index-63825539.js → index-e1d35fec.js} +7 -6
  120. package/build/esm/{index-5eda6b48.js → index-e477c2a3.js} +23 -19
  121. package/build/esm/{index-d0d73bc9.js → index-ed292946.js} +2 -2
  122. package/build/esm/index-f3f06437.js +281 -0
  123. package/build/esm/index.js +118 -98
  124. package/build/esm/index.styles-25454e9c.js +62 -0
  125. package/build/esm/interfaces/types/Subot.d.ts +3 -3
  126. package/build/esm/{labelSorting-eaf1959d.js → labelSorting-27ecf45e.js} +4 -4
  127. package/build/esm/lead.js +22 -20
  128. package/build/esm/{logoIcon-cb9c1f10.js → logoIcon-ef6d9e4c.js} +2 -2
  129. package/build/esm/mantine.js +24 -22
  130. package/build/esm/misc.js +18 -18
  131. package/build/esm/miscGetDynamicHealthTool.js +7 -7
  132. package/build/esm/miscGetSocialList.js +12 -12
  133. package/build/esm/miscScreenSizeContext.js +1 -1
  134. package/build/esm/mobileBottomNavigation.js +19 -0
  135. package/build/esm/mobileBottomNavigationIcon.js +10 -0
  136. package/build/esm/molecules.js +71 -64
  137. package/build/esm/moleculesArticleCard.js +85 -0
  138. package/build/esm/moleculesArticleCardV2.js +171 -0
  139. package/build/esm/navigation.js +40 -35
  140. package/build/esm/navigationLogoutPopup.js +116 -0
  141. package/build/esm/navigationProfileButton.js +43 -0
  142. package/build/esm/{normalizeLink-c66d19ce.js → normalizeLink-d756e5e6.js} +1 -1
  143. package/build/esm/onboardingV2.js +27 -25
  144. package/build/esm/organisms.js +46 -41
  145. package/build/esm/post-86117110.js +267 -0
  146. package/build/esm/profileNavigation.js +441 -0
  147. package/build/esm/progressBar.js +250 -0
  148. package/build/esm/pwg.js +21 -19
  149. package/build/esm/{routing-f3629b7f.js → routing-b81b8f17.js} +1 -1
  150. package/build/esm/subot.js +29 -27
  151. package/build/esm/surveyOrPremiumBanner.js +30 -28
  152. package/build/esm/surveyQuestionCard.js +10 -10
  153. package/build/esm/{surveyThankyouCard-169d4956.js → surveyThankyouCard-1b30aa0b.js} +5 -5
  154. package/build/esm/together.js +53 -44
  155. package/build/esm/togetherApiUtils.js +4 -4
  156. package/build/esm/togetherAtoms.js +29 -26
  157. package/build/esm/togetherComponentGlobalContext.js +4 -4
  158. package/build/esm/togetherMolecules.js +56 -47
  159. package/build/esm/togetherMoleculesCardAuthor.js +41 -0
  160. package/build/esm/togetherMoleculesPostImagePreview.js +21 -0
  161. package/build/esm/togetherMoleculesProfileDetail.js +53 -0
  162. package/build/esm/togetherOrganisms.js +53 -44
  163. package/build/esm/togetherRichTextEditor.js +27 -0
  164. package/build/esm/togetherShareBox.js +305 -0
  165. package/build/esm/{treePopoverMenu-32a26245.js → treePopoverMenu-04ded0ef.js} +18 -17
  166. package/build/esm/types-3eb97d85.js +44 -0
  167. package/build/esm/types.js +2 -2
  168. package/build/esm/{useCategory-0995f0b4.js → useCategory-391ffab0.js} +5 -5
  169. package/build/esm/{useHealthToolCache-7387a56d.js → useHealthToolCache-931ab3ca.js} +1 -1
  170. package/build/esm/{useMantineLocale-7d4ef853.js → useMantineLocale-b29ca68b.js} +5 -5
  171. package/build/esm/{usePlacesAutocomplete-7f23b876.js → usePlacesAutocomplete-91226a4d.js} +1 -1
  172. package/build/esm/useTogetherAuthRequiredAction.js +4 -4
  173. package/build/esm/{useTranslations-12762455.js → useTranslations-b66d9f2b.js} +1 -1
  174. package/build/esm/utils-92e2bc22.js +206 -0
  175. package/build/esm/{utils-24afe0f1.js → utils-f4b925d7.js} +2 -2
  176. package/build/esm/{utils-aa5734af.js → utils-f873578b.js} +4 -4
  177. package/build/esm/vaccination.js +20 -18
  178. package/build/{fixedBottomAdBlock-4db856c1.js → fixedBottomAdBlock-605a8692.js} +49 -691
  179. package/build/footer.js +20 -18
  180. package/build/gAssets.js +2 -2
  181. package/build/healthToolsCardWrapper.js +17 -15
  182. package/build/healthToolsForm.js +33 -31
  183. package/build/hooks.js +15 -15
  184. package/build/i18n.js +1 -1
  185. package/build/i18nV2.js +1 -1
  186. package/build/{index-a91bff81.js → index-0afde39e.js} +2 -2
  187. package/build/{index-5d3563a4.js → index-0cb2de9d.js} +3 -3
  188. package/build/{index-922333dc.js → index-188e2316.js} +15 -14
  189. package/build/index-1b06e81f.js +151 -0
  190. package/build/{index-46a71da2.js → index-1cdccd4e.js} +2 -2
  191. package/build/index-27e50de1.js +478 -0
  192. package/build/{index-ad9d0b0a.js → index-32abfb15.js} +12 -11
  193. package/build/{index-82a0b931.js → index-36723718.js} +6 -6
  194. package/build/{index-ce1b7f76.js → index-36ba9947.js} +2 -2
  195. package/build/{index-c09c64b7.js → index-3c593ede.js} +6 -6
  196. package/build/{index-0450bf33.js → index-4bf6b5da.js} +24 -99
  197. package/build/{index-281daa83.js → index-4fd69136.js} +16 -15
  198. package/build/{index-4c15723a.js → index-526cee72.js} +6 -6
  199. package/build/{index-b64c981f.js → index-549b9e8c.js} +1 -1
  200. package/build/{index-5e984f33.js → index-5b52b076.js} +38 -34
  201. package/build/{index-776f2478.js → index-5dbd317c.js} +34 -33
  202. package/build/index-5dcd87b7.js +289 -0
  203. package/build/{index-169bae02.js → index-648aac83.js} +2 -2
  204. package/build/{index-34ca22f2.js → index-6b7b4292.js} +3 -3
  205. package/build/{index-743255db.js → index-6b95442c.js} +2 -2
  206. package/build/{index-a5526d77.js → index-6b9e8dda.js} +3 -3
  207. package/build/{index-e256aef8.js → index-767f9ac6.js} +2 -2
  208. package/build/{index-deec7e58.js → index-7ce45455.js} +16 -15
  209. package/build/{index-6223ea5f.js → index-81ff6094.js} +7 -7
  210. package/build/{index-0236dd90.js → index-86ecfc48.js} +3 -3
  211. package/build/{index-ddc36398.js → index-8a19ce1b.js} +96 -864
  212. package/build/{index-e3bbbf6e.js → index-8d9663db.js} +9 -8
  213. package/build/{index-ffc38f11.js → index-9151d357.js} +2 -2
  214. package/build/index-922020ed.js +1045 -0
  215. package/build/{index-ac40492f.js → index-a76596ef.js} +1 -1
  216. package/build/{index-0485f54b.js → index-a839c6ca.js} +3 -3
  217. package/build/{index-477ad803.js → index-a8705384.js} +1 -1
  218. package/build/{index-418220e9.js → index-aad249ab.js} +2 -2
  219. package/build/{index-d4801d2c.js → index-af48fea3.js} +5 -5
  220. package/build/{index-41b74c44.js → index-b04c5212.js} +16 -15
  221. package/build/{index-7072811b.js → index-b4fd3100.js} +1 -1
  222. package/build/{index-d903234f.js → index-be0a9d63.js} +17 -16
  223. package/build/{index-b502b7a7.js → index-be262a50.js} +2 -2
  224. package/build/index-becfec7a.js +1307 -0
  225. package/build/index-bf3796aa.js +870 -0
  226. package/build/{index-8a509409.js → index-cc4ce0c4.js} +1 -1
  227. package/build/{index-e6f93e28.js → index-cd0db938.js} +34 -31
  228. package/build/{index-e2ca51d6.js → index-d0610b0f.js} +14 -13
  229. package/build/{index-28f47f15.js → index-d393d57e.js} +1 -1
  230. package/build/{index-538200cd.js → index-d471ff2d.js} +1 -1
  231. package/build/{index-4e5179a2.js → index-d5d9ceb9.js} +15 -14
  232. package/build/{index-cd94cd77.js → index-de26b5d1.js} +12 -11
  233. package/build/{index-3efdbdaf.js → index-dec3abcf.js} +15 -14
  234. package/build/{index-b2757afe.js → index-e018af91.js} +31 -29
  235. package/build/index-e8dc7fdb.js +29 -0
  236. package/build/{index-a0ee5e9f.js → index-f30e56f1.js} +12 -11
  237. package/build/{index-b7e7f5d7.js → index-f6b32484.js} +12 -11
  238. package/build/{index-8e183dab.js → index-f91ed3be.js} +4 -4
  239. package/build/{index-38d090ba.js → index-faa2908c.js} +3 -143
  240. package/build/{index-212720b1.js → index-fbb369ff.js} +1 -1
  241. package/build/{index-3c06bcfd.js → index-fde11604.js} +2 -2
  242. package/build/index.js +182 -162
  243. package/build/index.styles-9031f6d6.js +65 -0
  244. package/build/interfaces/types/Subot.d.ts +3 -3
  245. package/build/{labelSorting-8542da52.js → labelSorting-11165c8e.js} +4 -4
  246. package/build/lead.js +22 -20
  247. package/build/{logoIcon-bd143b65.js → logoIcon-f3283bfd.js} +2 -2
  248. package/build/mantine.js +20 -18
  249. package/build/misc.js +18 -18
  250. package/build/miscGetDynamicHealthTool.js +7 -7
  251. package/build/miscGetSocialList.js +12 -12
  252. package/build/miscScreenSizeContext.js +1 -1
  253. package/build/mobileBottomNavigation.js +27 -0
  254. package/build/mobileBottomNavigationIcon.js +18 -0
  255. package/build/molecules.js +76 -69
  256. package/build/moleculesArticleCard.js +93 -0
  257. package/build/moleculesArticleCardV2.js +180 -0
  258. package/build/navigation.js +40 -35
  259. package/build/navigationLogoutPopup.js +125 -0
  260. package/build/navigationProfileButton.js +51 -0
  261. package/build/onboardingV2.js +29 -27
  262. package/build/organisms.js +49 -44
  263. package/build/post-0fec66f4.js +303 -0
  264. package/build/profileNavigation.js +450 -0
  265. package/build/progressBar.js +260 -0
  266. package/build/pwg.js +21 -19
  267. package/build/{routing-90dba95d.js → routing-7a9c8608.js} +1 -1
  268. package/build/subot.js +28 -26
  269. package/build/surveyOrPremiumBanner.js +30 -28
  270. package/build/surveyQuestionCard.js +10 -10
  271. package/build/{surveyThankyouCard-9aad36f8.js → surveyThankyouCard-db73c893.js} +5 -5
  272. package/build/together.js +77 -68
  273. package/build/togetherApiUtils.js +4 -4
  274. package/build/togetherAtoms.js +29 -26
  275. package/build/togetherComponentGlobalContext.js +4 -4
  276. package/build/togetherMolecules.js +79 -70
  277. package/build/togetherMoleculesCardAuthor.js +49 -0
  278. package/build/togetherMoleculesPostImagePreview.js +29 -0
  279. package/build/togetherMoleculesProfileDetail.js +70 -0
  280. package/build/togetherOrganisms.js +53 -44
  281. package/build/togetherRichTextEditor.js +36 -0
  282. package/build/togetherShareBox.js +314 -0
  283. package/build/{treePopoverMenu-3f7e6767.js → treePopoverMenu-61ebd05c.js} +18 -17
  284. package/build/types-57052089.js +52 -0
  285. package/build/types.js +2 -2
  286. package/build/{useCategory-a808e6a6.js → useCategory-d9f73b82.js} +5 -5
  287. package/build/{useHealthToolCache-42222cc2.js → useHealthToolCache-4b5bfb11.js} +1 -1
  288. package/build/{useMantineLocale-8df90961.js → useMantineLocale-cc272195.js} +5 -5
  289. package/build/{usePlacesAutocomplete-4e21e680.js → usePlacesAutocomplete-a0156f14.js} +1 -1
  290. package/build/useTogetherAuthRequiredAction.js +4 -4
  291. package/build/{useTranslations-6363932f.js → useTranslations-8a9fa84d.js} +1 -1
  292. package/build/{utils-87deb74b.js → utils-251b2841.js} +3 -3
  293. package/build/{utils-4058dee5.js → utils-c29214c6.js} +2 -2
  294. package/build/utils-f47b2d2d.js +229 -0
  295. package/build/vaccination.js +24 -22
  296. package/package.json +1 -1
  297. package/build/esm/index-43aaedbb.js +0 -5060
  298. package/build/esm/types-996bf08e.js +0 -3433
  299. package/build/index-05199dd8.js +0 -5123
  300. package/build/types-89c90eb3.js +0 -3447
  301. /package/build/{BMI_BOYS.percentile.monthly-00dc2939.js → BMI_BOYS.percentile.monthly-5f29289b.js} +0 -0
  302. /package/build/{BMI_BOYS.percentile.weekly-eebf395b.js → BMI_BOYS.percentile.weekly-53584232.js} +0 -0
  303. /package/build/{BMI_BOYS.percentile.yearly-fa98b4c9.js → BMI_BOYS.percentile.yearly-84aaf8fb.js} +0 -0
  304. /package/build/{BMI_BOYS.zscore.monthly-cc66463f.js → BMI_BOYS.zscore.monthly-76d7fd0e.js} +0 -0
  305. /package/build/{BMI_BOYS.zscore.weekly-e1c85879.js → BMI_BOYS.zscore.weekly-ed3d66f2.js} +0 -0
  306. /package/build/{BMI_BOYS.zscore.yearly-88d58724.js → BMI_BOYS.zscore.yearly-7e74f0e8.js} +0 -0
  307. /package/build/{BMI_GIRLS.percentile.monthly-82aff448.js → BMI_GIRLS.percentile.monthly-6973d8b0.js} +0 -0
  308. /package/build/{BMI_GIRLS.percentile.weekly-c5767e28.js → BMI_GIRLS.percentile.weekly-a873a4e6.js} +0 -0
  309. /package/build/{BMI_GIRLS.percentile.yearly-e45d9106.js → BMI_GIRLS.percentile.yearly-e86761bb.js} +0 -0
  310. /package/build/{BMI_GIRLS.zscore.monthly-120aa581.js → BMI_GIRLS.zscore.monthly-9a12fa84.js} +0 -0
  311. /package/build/{BMI_GIRLS.zscore.weekly-2f64347e.js → BMI_GIRLS.zscore.weekly-5936ed5b.js} +0 -0
  312. /package/build/{BMI_GIRLS.zscore.yearly-ed842624.js → BMI_GIRLS.zscore.yearly-d40d8356.js} +0 -0
  313. /package/build/{ChevronDown-89002c32.js → ChevronDown-a6775d48.js} +0 -0
  314. /package/build/{Close-5e8e15ce.js → Close-9fa735bc.js} +0 -0
  315. /package/build/{HEAD CIRCUM_BOYS.percentile.monthly-b1965149.js → HEAD CIRCUM_BOYS.percentile.monthly-873a839f.js} +0 -0
  316. /package/build/{HEAD CIRCUM_BOYS.percentile.weekly-7c8df376.js → HEAD CIRCUM_BOYS.percentile.weekly-bbe3965d.js} +0 -0
  317. /package/build/{HEAD CIRCUM_BOYS.percentile.yearly-ebafd6df.js → HEAD CIRCUM_BOYS.percentile.yearly-645dfc78.js} +0 -0
  318. /package/build/{HEAD CIRCUM_BOYS.zscore.monthly-b5a0cdd1.js → HEAD CIRCUM_BOYS.zscore.monthly-9fe137bf.js} +0 -0
  319. /package/build/{HEAD CIRCUM_BOYS.zscore.weekly-4c32261f.js → HEAD CIRCUM_BOYS.zscore.weekly-2ccb15fb.js} +0 -0
  320. /package/build/{HEAD CIRCUM_BOYS.zscore.yearly-7642a6b6.js → HEAD CIRCUM_BOYS.zscore.yearly-48aed724.js} +0 -0
  321. /package/build/{HEAD CIRCUM_GIRLS.percentile.monthly-37a5b7b2.js → HEAD CIRCUM_GIRLS.percentile.monthly-d99d6d30.js} +0 -0
  322. /package/build/{HEAD CIRCUM_GIRLS.percentile.weekly-909278a6.js → HEAD CIRCUM_GIRLS.percentile.weekly-8a49b504.js} +0 -0
  323. /package/build/{HEAD CIRCUM_GIRLS.percentile.yearly-bd7732f5.js → HEAD CIRCUM_GIRLS.percentile.yearly-d747b0cd.js} +0 -0
  324. /package/build/{HEAD CIRCUM_GIRLS.zscore.monthly-5a1dc106.js → HEAD CIRCUM_GIRLS.zscore.monthly-8ef18721.js} +0 -0
  325. /package/build/{HEAD CIRCUM_GIRLS.zscore.weekly-19531ac2.js → HEAD CIRCUM_GIRLS.zscore.weekly-853cca20.js} +0 -0
  326. /package/build/{HEAD CIRCUM_GIRLS.zscore.yearly-3e9b57e2.js → HEAD CIRCUM_GIRLS.zscore.yearly-4d5b2175.js} +0 -0
  327. /package/build/{HEIGHT_BOYS.percentile.monthly-75d3928f.js → HEIGHT_BOYS.percentile.monthly-070590b8.js} +0 -0
  328. /package/build/{HEIGHT_BOYS.percentile.weekly-49d0eac1.js → HEIGHT_BOYS.percentile.weekly-56741428.js} +0 -0
  329. /package/build/{HEIGHT_BOYS.percentile.yearly-ca043db8.js → HEIGHT_BOYS.percentile.yearly-9c81f767.js} +0 -0
  330. /package/build/{HEIGHT_BOYS.zscore.monthly-0ef5a0b0.js → HEIGHT_BOYS.zscore.monthly-729982c3.js} +0 -0
  331. /package/build/{HEIGHT_BOYS.zscore.weekly-897641f9.js → HEIGHT_BOYS.zscore.weekly-ddb206fb.js} +0 -0
  332. /package/build/{HEIGHT_BOYS.zscore.yearly-2f57ee05.js → HEIGHT_BOYS.zscore.yearly-5fc7ea6a.js} +0 -0
  333. /package/build/{HEIGHT_GIRLS.percentile.monthly-35a2bd2b.js → HEIGHT_GIRLS.percentile.monthly-8cbc8d18.js} +0 -0
  334. /package/build/{HEIGHT_GIRLS.percentile.weekly-6682008a.js → HEIGHT_GIRLS.percentile.weekly-7145e94f.js} +0 -0
  335. /package/build/{HEIGHT_GIRLS.percentile.yearly-1490cd28.js → HEIGHT_GIRLS.percentile.yearly-ab0e4f4e.js} +0 -0
  336. /package/build/{HEIGHT_GIRLS.zscore.monthly-ab0ba051.js → HEIGHT_GIRLS.zscore.monthly-b851b1d7.js} +0 -0
  337. /package/build/{HEIGHT_GIRLS.zscore.weekly-8cd489df.js → HEIGHT_GIRLS.zscore.weekly-98aef3cf.js} +0 -0
  338. /package/build/{HEIGHT_GIRLS.zscore.yearly-547aa680.js → HEIGHT_GIRLS.zscore.yearly-65d990f7.js} +0 -0
  339. /package/build/{Locale-126bf6bd.js → Locale-07aceee9.js} +0 -0
  340. /package/build/{Visible-7090d851.js → Visible-ddeaf4cc.js} +0 -0
  341. /package/build/{WEIGHT_BOYS.percentile.monthly-2c6444a6.js → WEIGHT_BOYS.percentile.monthly-0ce96694.js} +0 -0
  342. /package/build/{WEIGHT_BOYS.percentile.weekly-d43234b7.js → WEIGHT_BOYS.percentile.weekly-b5397f20.js} +0 -0
  343. /package/build/{WEIGHT_BOYS.percentile.yearly-361c6438.js → WEIGHT_BOYS.percentile.yearly-80cccd42.js} +0 -0
  344. /package/build/{WEIGHT_BOYS.zscore.monthly-1a56d8b2.js → WEIGHT_BOYS.zscore.monthly-12907f1f.js} +0 -0
  345. /package/build/{WEIGHT_BOYS.zscore.weekly-b1548cdf.js → WEIGHT_BOYS.zscore.weekly-a1af17eb.js} +0 -0
  346. /package/build/{WEIGHT_BOYS.zscore.yearly-17b0334c.js → WEIGHT_BOYS.zscore.yearly-2649ff58.js} +0 -0
  347. /package/build/{WEIGHT_GIRLS.percentile.monthly-64e137c6.js → WEIGHT_GIRLS.percentile.monthly-222d7201.js} +0 -0
  348. /package/build/{WEIGHT_GIRLS.percentile.weekly-98c2fb5d.js → WEIGHT_GIRLS.percentile.weekly-2997b740.js} +0 -0
  349. /package/build/{WEIGHT_GIRLS.percentile.yearly-533341f7.js → WEIGHT_GIRLS.percentile.yearly-3dc5928a.js} +0 -0
  350. /package/build/{WEIGHT_GIRLS.zscore.monthly-d17a0d64.js → WEIGHT_GIRLS.zscore.monthly-742b7617.js} +0 -0
  351. /package/build/{WEIGHT_GIRLS.zscore.weekly-36a412aa.js → WEIGHT_GIRLS.zscore.weekly-5ee1ca40.js} +0 -0
  352. /package/build/{WEIGHT_GIRLS.zscore.yearly-68f9f66b.js → WEIGHT_GIRLS.zscore.yearly-d6ca7d60.js} +0 -0
  353. /package/build/{animation-fce92928.js → animation-a1ed71d8.js} +0 -0
  354. /package/build/{cart-d32faa71.js → cart-7bc1b943.js} +0 -0
  355. /package/build/{constants-83e17a08.js → constants-4cad9f4d.js} +0 -0
  356. /package/build/{constants-ef1d9e50.js → constants-81b95117.js} +0 -0
  357. /package/build/{constants-6b5e2780.js → constants-c3b9c9a9.js} +0 -0
  358. /package/build/{dataTransform-64f3ba4c.js → dataTransform-867c472c.js} +0 -0
  359. /package/build/{doctor-2a2b78b0.js → doctor-dca6d1b2.js} +0 -0
  360. /package/build/esm/{BMI_BOYS.percentile.monthly-71f6615e.js → BMI_BOYS.percentile.monthly-2388d98f.js} +0 -0
  361. /package/build/esm/{BMI_BOYS.percentile.weekly-8729108b.js → BMI_BOYS.percentile.weekly-8ebe6955.js} +0 -0
  362. /package/build/esm/{BMI_BOYS.percentile.yearly-fe8dc27c.js → BMI_BOYS.percentile.yearly-3a97e95b.js} +0 -0
  363. /package/build/esm/{BMI_BOYS.zscore.monthly-aa14f52a.js → BMI_BOYS.zscore.monthly-f7572dcd.js} +0 -0
  364. /package/build/esm/{BMI_BOYS.zscore.weekly-6857bca0.js → BMI_BOYS.zscore.weekly-d6281906.js} +0 -0
  365. /package/build/esm/{BMI_BOYS.zscore.yearly-05894e8d.js → BMI_BOYS.zscore.yearly-fbebaaca.js} +0 -0
  366. /package/build/esm/{BMI_GIRLS.percentile.monthly-99639eee.js → BMI_GIRLS.percentile.monthly-a75c8880.js} +0 -0
  367. /package/build/esm/{BMI_GIRLS.percentile.weekly-241a8c86.js → BMI_GIRLS.percentile.weekly-652bc9af.js} +0 -0
  368. /package/build/esm/{BMI_GIRLS.percentile.yearly-a7d673ad.js → BMI_GIRLS.percentile.yearly-8bcb5a6e.js} +0 -0
  369. /package/build/esm/{BMI_GIRLS.zscore.monthly-ac552c64.js → BMI_GIRLS.zscore.monthly-ecbe2982.js} +0 -0
  370. /package/build/esm/{BMI_GIRLS.zscore.weekly-d3bd5cf8.js → BMI_GIRLS.zscore.weekly-3abed735.js} +0 -0
  371. /package/build/esm/{BMI_GIRLS.zscore.yearly-68c40e02.js → BMI_GIRLS.zscore.yearly-d88a34a0.js} +0 -0
  372. /package/build/esm/{ChevronDown-1c6ac70a.js → ChevronDown-dfd91883.js} +0 -0
  373. /package/build/esm/{Close-9dbbc4f5.js → Close-b8fc27b1.js} +0 -0
  374. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.monthly-e844f279.js → HEAD CIRCUM_BOYS.percentile.monthly-ff980a90.js} +0 -0
  375. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.weekly-c0ea6fc4.js → HEAD CIRCUM_BOYS.percentile.weekly-eb86eac9.js} +0 -0
  376. /package/build/esm/{HEAD CIRCUM_BOYS.percentile.yearly-58273474.js → HEAD CIRCUM_BOYS.percentile.yearly-27ed6504.js} +0 -0
  377. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.monthly-867569e0.js → HEAD CIRCUM_BOYS.zscore.monthly-0d345597.js} +0 -0
  378. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.weekly-1c2e6c46.js → HEAD CIRCUM_BOYS.zscore.weekly-c182ab46.js} +0 -0
  379. /package/build/esm/{HEAD CIRCUM_BOYS.zscore.yearly-4d2f300f.js → HEAD CIRCUM_BOYS.zscore.yearly-d45dbce1.js} +0 -0
  380. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.monthly-5d75244f.js → HEAD CIRCUM_GIRLS.percentile.monthly-61919e45.js} +0 -0
  381. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.weekly-73bd9176.js → HEAD CIRCUM_GIRLS.percentile.weekly-51fa8f98.js} +0 -0
  382. /package/build/esm/{HEAD CIRCUM_GIRLS.percentile.yearly-d1a55615.js → HEAD CIRCUM_GIRLS.percentile.yearly-c1fa6006.js} +0 -0
  383. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.monthly-4d365a9f.js → HEAD CIRCUM_GIRLS.zscore.monthly-4dfc55d8.js} +0 -0
  384. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.weekly-41370dfb.js → HEAD CIRCUM_GIRLS.zscore.weekly-b21b5bf1.js} +0 -0
  385. /package/build/esm/{HEAD CIRCUM_GIRLS.zscore.yearly-06ac6807.js → HEAD CIRCUM_GIRLS.zscore.yearly-c42836fa.js} +0 -0
  386. /package/build/esm/{HEIGHT_BOYS.percentile.monthly-3b18440a.js → HEIGHT_BOYS.percentile.monthly-24ff8afa.js} +0 -0
  387. /package/build/esm/{HEIGHT_BOYS.percentile.weekly-01a65af3.js → HEIGHT_BOYS.percentile.weekly-2be7b66e.js} +0 -0
  388. /package/build/esm/{HEIGHT_BOYS.percentile.yearly-c8203619.js → HEIGHT_BOYS.percentile.yearly-ac02aa2d.js} +0 -0
  389. /package/build/esm/{HEIGHT_BOYS.zscore.monthly-a3319613.js → HEIGHT_BOYS.zscore.monthly-b43667dc.js} +0 -0
  390. /package/build/esm/{HEIGHT_BOYS.zscore.weekly-981efa8b.js → HEIGHT_BOYS.zscore.weekly-abcfcf3a.js} +0 -0
  391. /package/build/esm/{HEIGHT_BOYS.zscore.yearly-a98e3bc6.js → HEIGHT_BOYS.zscore.yearly-71598c16.js} +0 -0
  392. /package/build/esm/{HEIGHT_GIRLS.percentile.monthly-6959773b.js → HEIGHT_GIRLS.percentile.monthly-7f9d679c.js} +0 -0
  393. /package/build/esm/{HEIGHT_GIRLS.percentile.weekly-128bb11e.js → HEIGHT_GIRLS.percentile.weekly-6ce1d4e7.js} +0 -0
  394. /package/build/esm/{HEIGHT_GIRLS.percentile.yearly-29a94e1c.js → HEIGHT_GIRLS.percentile.yearly-c398fd6b.js} +0 -0
  395. /package/build/esm/{HEIGHT_GIRLS.zscore.monthly-dd466c09.js → HEIGHT_GIRLS.zscore.monthly-8d33bc28.js} +0 -0
  396. /package/build/esm/{HEIGHT_GIRLS.zscore.weekly-b602fae7.js → HEIGHT_GIRLS.zscore.weekly-eb44c302.js} +0 -0
  397. /package/build/esm/{HEIGHT_GIRLS.zscore.yearly-358063df.js → HEIGHT_GIRLS.zscore.yearly-10b4d1fe.js} +0 -0
  398. /package/build/esm/{Locale-f781df87.js → Locale-b86a7a92.js} +0 -0
  399. /package/build/esm/{Visible-46717d08.js → Visible-69da852f.js} +0 -0
  400. /package/build/esm/{WEIGHT_BOYS.percentile.monthly-00996ab0.js → WEIGHT_BOYS.percentile.monthly-fd349fe7.js} +0 -0
  401. /package/build/esm/{WEIGHT_BOYS.percentile.weekly-c3c6f755.js → WEIGHT_BOYS.percentile.weekly-d5e52d60.js} +0 -0
  402. /package/build/esm/{WEIGHT_BOYS.percentile.yearly-c4571ef6.js → WEIGHT_BOYS.percentile.yearly-929119b3.js} +0 -0
  403. /package/build/esm/{WEIGHT_BOYS.zscore.monthly-b5eaafd1.js → WEIGHT_BOYS.zscore.monthly-3f0f08cd.js} +0 -0
  404. /package/build/esm/{WEIGHT_BOYS.zscore.weekly-b058aef3.js → WEIGHT_BOYS.zscore.weekly-b9fd3298.js} +0 -0
  405. /package/build/esm/{WEIGHT_BOYS.zscore.yearly-4557bb07.js → WEIGHT_BOYS.zscore.yearly-9945948d.js} +0 -0
  406. /package/build/esm/{WEIGHT_GIRLS.percentile.monthly-094c8315.js → WEIGHT_GIRLS.percentile.monthly-1e83ae51.js} +0 -0
  407. /package/build/esm/{WEIGHT_GIRLS.percentile.weekly-59bd62f7.js → WEIGHT_GIRLS.percentile.weekly-c3531852.js} +0 -0
  408. /package/build/esm/{WEIGHT_GIRLS.percentile.yearly-7064def2.js → WEIGHT_GIRLS.percentile.yearly-3c0040b0.js} +0 -0
  409. /package/build/esm/{WEIGHT_GIRLS.zscore.monthly-3e264c0b.js → WEIGHT_GIRLS.zscore.monthly-3baeda15.js} +0 -0
  410. /package/build/esm/{WEIGHT_GIRLS.zscore.weekly-8402d0e1.js → WEIGHT_GIRLS.zscore.weekly-2d8e6618.js} +0 -0
  411. /package/build/esm/{WEIGHT_GIRLS.zscore.yearly-58908f5c.js → WEIGHT_GIRLS.zscore.yearly-826f5bdd.js} +0 -0
  412. /package/build/esm/{animation-12f6a99a.js → animation-7207941a.js} +0 -0
  413. /package/build/esm/{cart-5cbf8fde.js → cart-4f482601.js} +0 -0
  414. /package/build/esm/{constants-c65d5e73.js → constants-0497b893.js} +0 -0
  415. /package/build/esm/{constants-7447b364.js → constants-af02be2a.js} +0 -0
  416. /package/build/esm/{constants-28f21bf7.js → constants-f7943ab2.js} +0 -0
  417. /package/build/esm/{dataTransform-4564c01a.js → dataTransform-610e61bf.js} +0 -0
  418. /package/build/esm/{doctor-a6dcb5b0.js → doctor-63e09ada.js} +0 -0
  419. /package/build/esm/{index-d1c6a5eb.js → index-20192854.js} +0 -0
  420. /package/build/esm/{index-3dfef0e2.js → index-20199246.js} +0 -0
  421. /package/build/esm/{index-7149c324.js → index-5364f2db.js} +0 -0
  422. /package/build/esm/{index-9d1a8bc8.js → index-56d0ac47.js} +0 -0
  423. /package/build/esm/{index-e2a19de9.js → index-9f076f64.js} +0 -0
  424. /package/build/esm/{index-31ca33d1.js → index-a2506e52.js} +0 -0
  425. /package/build/esm/{index-b503d8ca.js → index-c130afdc.js} +0 -0
  426. /package/build/esm/{index-5bd25778.js → index-c9467e39.js} +0 -0
  427. /package/build/esm/{localizeNumberFormat-fe248dc9.js → localizeNumberFormat-3bf28240.js} +0 -0
  428. /package/build/esm/{number-59fe2c76.js → number-d26abebe.js} +0 -0
  429. /package/build/esm/{other-8082eeb8.js → other-08d0b30e.js} +0 -0
  430. /package/build/esm/{paths-a31c249e.js → paths-ce59b252.js} +0 -0
  431. /package/build/esm/{translationsContext-f05845a3.js → translationsContext-8afb0ce3.js} +0 -0
  432. /package/build/esm/{tslib.es6-2813a841.js → tslib.es6-e0840efa.js} +0 -0
  433. /package/build/esm/{types-e1b0b130.js → types-41242882.js} +0 -0
  434. /package/build/esm/{useIsInit-6417c32d.js → useIsInit-f59c6bd2.js} +0 -0
  435. /package/build/esm/{useOutsideClick-cabe5b52.js → useOutsideClick-12815e56.js} +0 -0
  436. /package/build/esm/{useScrollbarSize-93f9665c.js → useScrollbarSize-431cf33c.js} +0 -0
  437. /package/build/esm/{useUniqueId-0c237f04.js → useUniqueId-8f710187.js} +0 -0
  438. /package/build/esm/{utils-5ac430a2.js → utils-8a1f05c9.js} +0 -0
  439. /package/build/{index-9a3d05f1.js → index-017f99b2.js} +0 -0
  440. /package/build/{index-ddd1ae54.js → index-1a6a94cd.js} +0 -0
  441. /package/build/{index-126368b4.js → index-668f591b.js} +0 -0
  442. /package/build/{index-eae45243.js → index-70abc2ac.js} +0 -0
  443. /package/build/{index-1fab78b5.js → index-c6b0831a.js} +0 -0
  444. /package/build/{index-d0ba8956.js → index-ce2d2850.js} +0 -0
  445. /package/build/{index-31ba7c80.js → index-e3e72aed.js} +0 -0
  446. /package/build/{index-b895e598.js → index-f70c0edf.js} +0 -0
  447. /package/build/{localizeNumberFormat-52a8a959.js → localizeNumberFormat-30e7f015.js} +0 -0
  448. /package/build/{normalizeLink-8a458cb4.js → normalizeLink-c1b2b407.js} +0 -0
  449. /package/build/{number-8f639a87.js → number-20d56f69.js} +0 -0
  450. /package/build/{other-fcf0cbba.js → other-eedaf6ca.js} +0 -0
  451. /package/build/{paths-822d5ab1.js → paths-4c182009.js} +0 -0
  452. /package/build/{translationsContext-1fe0412c.js → translationsContext-cd046df4.js} +0 -0
  453. /package/build/{tslib.es6-d6f7eba3.js → tslib.es6-f3c387c0.js} +0 -0
  454. /package/build/{types-7b239cb4.js → types-2614ec58.js} +0 -0
  455. /package/build/{useIsInit-3c23a980.js → useIsInit-e56642e4.js} +0 -0
  456. /package/build/{useOutsideClick-dcf05d21.js → useOutsideClick-f18dfe3f.js} +0 -0
  457. /package/build/{useScrollbarSize-e144fad0.js → useScrollbarSize-4aaa4dd1.js} +0 -0
  458. /package/build/{useUniqueId-47d33d64.js → useUniqueId-621ec272.js} +0 -0
  459. /package/build/{utils-03c7b063.js → utils-ae9740c0.js} +0 -0
@@ -0,0 +1,986 @@
1
+ 'use strict';
2
+
3
+ var tslib_es6 = require('./tslib.es6-f3c387c0.js');
4
+ var React = require('react');
5
+ var index$4 = require('./index-aad249ab.js');
6
+ var index$3 = require('./index-0afde39e.js');
7
+ var index$1 = require('./index-6b95442c.js');
8
+ var useTranslations = require('./useTranslations-8a9fa84d.js');
9
+ var debounce = require('lodash/debounce');
10
+ var miscCookieHelper = require('./miscCookieHelper.js');
11
+ var useUniqueId = require('./useUniqueId-621ec272.js');
12
+ var togetherComponentGlobalContext = require('./utils-251b2841.js');
13
+ var styled = require('@emotion/styled');
14
+ var miscTheme = require('./miscTheme.js');
15
+ var togetherApiPaths = require('./togetherApiPaths.js');
16
+ var constants = require('./constants-81b95117.js');
17
+ var post = require('./post-0fec66f4.js');
18
+ var index = require('./index-be262a50.js');
19
+ var index$2 = require('./index-faa2908c.js');
20
+
21
+ function _interopDefault (e) { return e && e.__esModule ? e : { 'default': e }; }
22
+
23
+ function _interopNamespace(e) {
24
+ if (e && e.__esModule) return e;
25
+ var n = Object.create(null);
26
+ if (e) {
27
+ Object.keys(e).forEach(function (k) {
28
+ if (k !== 'default') {
29
+ var d = Object.getOwnPropertyDescriptor(e, k);
30
+ Object.defineProperty(n, k, d.get ? d : {
31
+ enumerable: true,
32
+ get: function () { return e[k]; }
33
+ });
34
+ }
35
+ });
36
+ }
37
+ n["default"] = e;
38
+ return Object.freeze(n);
39
+ }
40
+
41
+ var React__default = /*#__PURE__*/_interopDefault(React);
42
+ var debounce__default = /*#__PURE__*/_interopDefault(debounce);
43
+ var styled__default = /*#__PURE__*/_interopDefault(styled);
44
+
45
+ const StyledCreatePostDescription = styled__default["default"].div `
46
+ input:focus,
47
+ textarea:focus,
48
+ [contenteditable='true'] {
49
+ outline: none;
50
+ }
51
+
52
+ .textarea-control {
53
+ position: relative;
54
+ border: 1px solid ${miscTheme.theme.colors.gray200};
55
+ border-radius: ${miscTheme.theme.borderRadius};
56
+ &.--focus {
57
+ border-color: ${miscTheme.theme.colors.primaryBase};
58
+ box-shadow: 0px 0px 2px 2px ${miscTheme.theme.colors.primary200};
59
+ }
60
+
61
+ .textarea-wrapper {
62
+ width: 100%;
63
+ height: 200px;
64
+ }
65
+
66
+ .control-tool {
67
+ position: absolute;
68
+ bottom: 0;
69
+ left: 0;
70
+ display: flex;
71
+ width: calc(100% - 2rem);
72
+ height: 40px;
73
+ align-items: center;
74
+ justify-content: flex-end;
75
+ border-top: 1px solid ${miscTheme.theme.colors.gray200};
76
+ margin: 0 1rem;
77
+
78
+ .tool-button {
79
+ display: flex;
80
+ width: 2rem;
81
+ height: 2rem;
82
+ align-items: center;
83
+ justify-content: center;
84
+ background: transparent;
85
+ cursor: pointer;
86
+ }
87
+ .image-icon {
88
+ vertical-align: middle;
89
+ }
90
+ }
91
+ }
92
+
93
+ .link-preview-wrapper {
94
+ position: relative;
95
+ .icon-close {
96
+ position: absolute;
97
+ top: 5px;
98
+ right: 5px;
99
+ width: 24px;
100
+ height: 24px;
101
+ cursor: pointer;
102
+ }
103
+ }
104
+
105
+ .image-gallery {
106
+ margin-bottom: 1rem;
107
+
108
+ .image-item {
109
+ position: relative;
110
+ overflow: hidden;
111
+ width: 100%;
112
+ height: 0;
113
+ padding-top: 67%;
114
+ margin-top: 1rem;
115
+ border-radius: ${miscTheme.theme.borderRadius};
116
+
117
+ & > img {
118
+ position: absolute;
119
+ top: 0;
120
+ left: 0;
121
+ width: 100%;
122
+ height: 100%;
123
+ object-fit: cover;
124
+ }
125
+
126
+ .close-btn {
127
+ position: absolute;
128
+ top: 8px;
129
+ right: 8px;
130
+ left: unset;
131
+ width: 24px;
132
+ height: 24px;
133
+ cursor: pointer;
134
+ }
135
+ }
136
+ }
137
+
138
+ .description-label {
139
+ margin-bottom: 5px;
140
+ color: ${miscTheme.theme.colors.gray600};
141
+ /* font-family: 'Open Sans', sans-serif; */
142
+ font-size: 13px;
143
+ font-weight: bold;
144
+ }
145
+
146
+ .count-string {
147
+ margin-top: 5px;
148
+ color: ${miscTheme.theme.colors.gray500};
149
+ font-size: 11px;
150
+ text-align: right;
151
+ }
152
+
153
+ .input-notification {
154
+ display: flex;
155
+
156
+ & > img {
157
+ width: 16px;
158
+ height: 16px;
159
+ margin-top: 1.5px;
160
+ margin-right: 8px;
161
+ }
162
+ }
163
+ `;
164
+ const StyledEditorContainer = styled__default["default"].div `
165
+ height: 100%;
166
+ position: relative;
167
+ width: 100%;
168
+ display: flex;
169
+ flex-direction: column;
170
+ .ql-toolbar.ql-snow {
171
+ top: 0;
172
+ width: 100%;
173
+ position: sticky;
174
+ z-index: 3;
175
+ border: none;
176
+ border-bottom: 1px solid #ccc;
177
+ background: white;
178
+ .ql-formats {
179
+ display: inline-flex;
180
+ align-items: center;
181
+ margin-right: 0.5rem;
182
+ .link-tool-wrapper {
183
+ .popover-menu__content {
184
+ padding: 0.5rem;
185
+ transform: translateX(calc(-50% - 1rem));
186
+ max-width: calc(100vw - 4rem);
187
+ ::before {
188
+ right: calc(50% - 8px);
189
+ }
190
+ .link-tool-popover {
191
+ input {
192
+ padding-left: 1rem;
193
+ }
194
+ .link-input-url {
195
+ margin-bottom: 0.5rem;
196
+ }
197
+ .link-input-text {
198
+ margin-bottom: 0.5rem;
199
+ }
200
+ label {
201
+ display: inline-block;
202
+ margin-bottom: 0.2rem;
203
+ }
204
+ .link-input-button-wrapper {
205
+ &[data-is-marrybaby='true'] {
206
+ .link-input-button {
207
+ border: solid 2px ${miscTheme.theme.mbColors.pink};
208
+ background-color: ${miscTheme.theme.mbColors.pink};
209
+ &:hover:not(:disabled) {
210
+ border: solid 2px ${miscTheme.theme.mbColors.pink};
211
+ background-color: ${miscTheme.theme.colors.white};
212
+ color: ${miscTheme.theme.mbColors.pink};
213
+ }
214
+ }
215
+ }
216
+ }
217
+ .link-input-button {
218
+ width: auto;
219
+ height: auto;
220
+ padding: 0.4rem 1rem;
221
+ background-color: ${miscTheme.theme.colors.primaryBase};
222
+
223
+ &:disabled {
224
+ border-color: #bfbfbf;
225
+ background-color: #bfbfbf;
226
+ color: #fff;
227
+ cursor: not-allowed;
228
+ }
229
+ &:hover:not(:disabled) {
230
+ background-color: ${miscTheme.theme.colors.primaryHover};
231
+ }
232
+ }
233
+ .error-text {
234
+ padding: 0;
235
+ margin-bottom: 0.5rem;
236
+ font-weight: 600;
237
+ color: ${miscTheme.theme.colors.red700};
238
+ }
239
+ }
240
+ }
241
+ }
242
+ }
243
+ @media (max-width: 450px) {
244
+ position: relative;
245
+ .ql-formats {
246
+ .link-tool-wrapper {
247
+ position: unset;
248
+ .popover-menu__content {
249
+ left: 0;
250
+ transform: unset;
251
+ max-width: 100%;
252
+ }
253
+ }
254
+ }
255
+ }
256
+ }
257
+ .quill {
258
+ flex: 1;
259
+ overflow-y: hidden;
260
+ .ql-container {
261
+ display: inline-block;
262
+ width: 100%;
263
+ min-height: 100%;
264
+ /* padding: 14px 16px; */
265
+ border: none;
266
+ border-radius: ${miscTheme.theme.borderRadius};
267
+ color: ${miscTheme.theme.colors.gray800};
268
+ font-size: 1rem;
269
+ line-height: 1.5;
270
+ resize: none;
271
+ white-space: break-spaces;
272
+ .ql-editor {
273
+ word-break: break-word;
274
+ overflow-wrap: break-word;
275
+ /* -ms-overflow-style: none;
276
+ scrollbar-width: none;
277
+ &::-webkit-scrollbar {
278
+ display: none;
279
+ } */
280
+ }
281
+ mocka {
282
+ padding: 2px 6px;
283
+ border-radius: 1rem;
284
+ &[data-url='true'] {
285
+ /* background-color: #eeeeff; */
286
+ font-style: italic;
287
+ color: #1890ff;
288
+ cursor: pointer;
289
+ outline: none;
290
+ text-decoration: underline;
291
+ }
292
+ &[data-error='true'] {
293
+ background-color: #ffeeee;
294
+ color: red;
295
+ text-decoration: underline;
296
+ font-style: bold;
297
+ }
298
+ }
299
+ mention {
300
+ padding: 2px 6px;
301
+ border-radius: 1rem;
302
+ background-color: #eeeeff;
303
+ color: #1890ff;
304
+ cursor: pointer;
305
+ outline: none;
306
+ text-decoration: none;
307
+ }
308
+ ol,
309
+ ul {
310
+ padding-left: 1rem;
311
+ }
312
+ }
313
+ }
314
+ .mention-search-container {
315
+ position: absolute;
316
+ background: white;
317
+ border-radius: ${miscTheme.theme.borderRadius};
318
+ filter: drop-shadow(0px 10px 16px rgba(0, 0, 0, 0.04))
319
+ drop-shadow(0px 2px 8px rgba(0, 0, 0, 0.04))
320
+ drop-shadow(0px 0px 1px rgba(0, 0, 0, 0.04));
321
+ overflow-y: scroll;
322
+ z-index: 99;
323
+ ::-webkit-scrollbar {
324
+ -webkit-appearance: none;
325
+ }
326
+ ::-webkit-scrollbar:vertical {
327
+ width: 14px;
328
+ }
329
+ ::-webkit-scrollbar-thumb {
330
+ border-radius: ${miscTheme.theme.borderRadius};
331
+ background-color: #d9d9d9;
332
+ @supports (background-clip: padding-box) {
333
+ border: 3px solid rgba(0, 0, 0, 0);
334
+ background-clip: padding-box;
335
+ }
336
+ @supports not (background-clip: padding-box) {
337
+ border: 3px solid white;
338
+ }
339
+ }
340
+ ::-webkit-scrollbar-track {
341
+ background-color: #fff;
342
+ border-radius: 0 6px 6px 0;
343
+ border-left: 1px solid #f2f2f2;
344
+ }
345
+ .mention-search-item {
346
+ cursor: pointer;
347
+ padding: 12px 1rem;
348
+ display: flex;
349
+ align-items: center;
350
+ &.item-selected {
351
+ background-color: ${miscTheme.theme.colors.gray100};
352
+ }
353
+ .search-avatar {
354
+ width: 40px;
355
+ height: 40px;
356
+ font-size: 20px;
357
+ margin-right: 20px;
358
+ }
359
+ }
360
+ }
361
+ `;
362
+
363
+ var img = "data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none'%3e%3cpath stroke='%23737373' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.75' d='M9.545 16H7.091c-.537 0-1.07-.104-1.566-.305a4.1 4.1 0 0 1-1.327-.867A3.96 3.96 0 0 1 3 12c0-1.06.431-2.078 1.198-2.828A4.14 4.14 0 0 1 7.091 8h2.454m4.38 0h2.984c.537 0 1.07.103 1.566.304a4.1 4.1 0 0 1 1.327.868c.38.371.681.812.887 1.297a3.92 3.92 0 0 1 0 3.062 4 4 0 0 1-.887 1.297c-.38.372-.831.667-1.327.867a4.2 4.2 0 0 1-1.566.305h-2.983M9 12h6'/%3e%3c/svg%3e";
364
+ var IconLink = img;
365
+
366
+ // import 'react-quill/dist/quill.snow.css'
367
+ let ReactQuill = null;
368
+ (() => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
369
+ if (typeof window === 'undefined')
370
+ return;
371
+ const QuillRes = yield Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('react-quill')); });
372
+ ReactQuill = QuillRes.default;
373
+ const Quill = QuillRes.Quill || ReactQuill.Quill;
374
+ class PreserveWhiteSpace {
375
+ constructor(quill, options) {
376
+ this.quill = quill;
377
+ this.options = options;
378
+ quill.container.style.whiteSpace = 'pre-line';
379
+ }
380
+ }
381
+ Quill.register('modules/preserveWhiteSpace', PreserveWhiteSpace);
382
+ const Inline = Quill.import('blots/inline');
383
+ class MockABlot extends Inline {
384
+ static create(options) {
385
+ if (!options)
386
+ return super.create(false);
387
+ const node = super.create(options);
388
+ MockABlot.setNodeConfigurations(node, options);
389
+ return node;
390
+ }
391
+ static formats(node) {
392
+ if (node.innerText &&
393
+ (node.getAttribute('data-href') ||
394
+ node.getAttribute('data-url') ||
395
+ node.getAttribute('data-error') ||
396
+ node.getAttribute('data-bad-word'))) {
397
+ return {
398
+ 'data-bad-word': node.getAttribute('data-bad-word'),
399
+ 'data-error': node.getAttribute('data-error'),
400
+ 'data-href': node.getAttribute('data-href'),
401
+ 'data-url': node.getAttribute('data-url'),
402
+ 'data-text': node.innerText || node.getAttribute('data-href'),
403
+ };
404
+ }
405
+ else {
406
+ return false;
407
+ }
408
+ }
409
+ /* To prevent the node from accidentally being built in different ways. */
410
+ static setNodeConfigurations(node, value) {
411
+ var _a, _b;
412
+ if (!value)
413
+ return;
414
+ if (!((_b = (_a = value === null || value === void 0 ? void 0 : value['data-text']) === null || _a === void 0 ? void 0 : _a.replace(/(\ )+/g, ' ')) === null || _b === void 0 ? void 0 : _b.replace(/(\u200c|‌)+/g, '')))
415
+ return;
416
+ if (value['data-bad-word'])
417
+ node.setAttribute('data-bad-word', value['data-bad-word']);
418
+ if (value['data-href'])
419
+ node.setAttribute('data-href', value['data-href']);
420
+ if (value['data-error'])
421
+ node.setAttribute('data-error', value['data-error']);
422
+ // setTimeout(() => {
423
+ // if (value['data-text'] !== node.innerText && !node.innerText)
424
+ // node.innerHTML = value['data-text']
425
+ // }, 200)
426
+ if (value['data-url'])
427
+ node.setAttribute('data-url', value['data-url']);
428
+ // if (value['data-text']) node.innerText = value['data-text']
429
+ // console.log(value, node.outerHTML, node)
430
+ }
431
+ }
432
+ MockABlot.blotName = 'mocka1';
433
+ MockABlot.tagName = 'mocka';
434
+ Quill.register(MockABlot);
435
+ class MentionBlot extends Inline {
436
+ static create(options) {
437
+ if (!options)
438
+ return super.create(false);
439
+ const node = super.create(options);
440
+ MentionBlot.setNodeConfigurations(node, options);
441
+ return node;
442
+ }
443
+ static formats(node) {
444
+ if (node.getAttribute('data-name') && node.getAttribute('data-id')) {
445
+ return {
446
+ 'data-name': node.getAttribute('data-name'),
447
+ 'data-id': node.getAttribute('data-id'),
448
+ };
449
+ }
450
+ else {
451
+ return false;
452
+ }
453
+ }
454
+ /* To prevent the node from accidentally being built in different ways. */
455
+ static setNodeConfigurations(node, value) {
456
+ var _a, _b;
457
+ if (!value)
458
+ return;
459
+ if (!value['data-id'] ||
460
+ !((_b = (_a = value === null || value === void 0 ? void 0 : value['data-name']) === null || _a === void 0 ? void 0 : _a.replace(/(\ )+/g, ' ')) === null || _b === void 0 ? void 0 : _b.replace(/(\u200c|‌)+/g, '')))
461
+ return;
462
+ if (value['data-id'])
463
+ node.setAttribute('data-id', value['data-id']);
464
+ if (value['data-name']) {
465
+ // node.setAttribute('contenteditable', false)
466
+ node.setAttribute('data-name', value['data-name']);
467
+ }
468
+ }
469
+ }
470
+ MentionBlot.blotName = 'mention';
471
+ MentionBlot.tagName = 'mention';
472
+ Quill.register(MentionBlot);
473
+ }))();
474
+ function getCaretCharacterOffsetWithin(element) {
475
+ var _a, _b;
476
+ let caretOffset = -1;
477
+ if (typeof window.getSelection != 'undefined') {
478
+ const sel = window.getSelection();
479
+ if ((sel === null || sel === void 0 ? void 0 : sel.rangeCount) && (sel === null || sel === void 0 ? void 0 : sel.rangeCount) > 0) {
480
+ const range = (_a = window.getSelection()) === null || _a === void 0 ? void 0 : _a.getRangeAt(0);
481
+ if (range) {
482
+ const preCaretRange = range.cloneRange();
483
+ // preCaretRange.setStart(element, 0)
484
+ preCaretRange.selectNodeContents(element);
485
+ preCaretRange.setEnd(range.endContainer, range.endOffset);
486
+ caretOffset = calculateChildNodeOffset(preCaretRange.cloneContents().childNodes, caretOffset);
487
+ const parentMockAElement = (_b = range.endContainer.parentElement) === null || _b === void 0 ? void 0 : _b.closest('mocka');
488
+ const lastNodeValue = range.endContainer.nodeValue ||
489
+ range.endContainer.outerHTML;
490
+ if (parentMockAElement && (lastNodeValue === null || lastNodeValue === void 0 ? void 0 : lastNodeValue.length)) {
491
+ /// set selector to end of <mocka elemt, prevent select in the middle
492
+ caretOffset =
493
+ caretOffset -
494
+ range.endOffset +
495
+ (parentMockAElement.outerHTML.length -
496
+ (parentMockAElement === null || parentMockAElement === void 0 ? void 0 : parentMockAElement.outerHTML.lastIndexOf(lastNodeValue)));
497
+ }
498
+ }
499
+ }
500
+ }
501
+ return caretOffset;
502
+ }
503
+ function calculateChildNodeOffset(childNodes, caretOffset) {
504
+ childNodes.forEach((node, index) => {
505
+ const isLast = index + 1 === childNodes.length;
506
+ if (node.nodeType === Node.ELEMENT_NODE) {
507
+ const outerHTML = node.outerHTML;
508
+ if (!isLast) {
509
+ caretOffset += outerHTML.length;
510
+ return;
511
+ }
512
+ else {
513
+ caretOffset += outerHTML.indexOf('>') + 1;
514
+ caretOffset = calculateChildNodeOffset(node.childNodes, caretOffset);
515
+ }
516
+ }
517
+ else if (node.nodeType === Node.TEXT_NODE) {
518
+ caretOffset += (node.nodeValue || '')
519
+ .replace(/&/g, '&amp;')
520
+ .replace(/</g, '&lt;')
521
+ .replace(/>/g, '&gt;')
522
+ .replace(/"/g, '&quot;')
523
+ .replace(/'/g, '&#039;').length;
524
+ }
525
+ });
526
+ return caretOffset;
527
+ }
528
+ function getSearchName(root) {
529
+ var _a, _b;
530
+ let res = null;
531
+ if (typeof window.getSelection != 'undefined') {
532
+ const sel = window.getSelection();
533
+ if ((sel === null || sel === void 0 ? void 0 : sel.rangeCount) && (sel === null || sel === void 0 ? void 0 : sel.rangeCount) > 0) {
534
+ const range = (_a = window.getSelection()) === null || _a === void 0 ? void 0 : _a.getRangeAt(0);
535
+ if (range) {
536
+ const preCaretRange = range.cloneRange();
537
+ // preCaretRange.setStart(element, 0)
538
+ preCaretRange.selectNodeContents(root);
539
+ preCaretRange.setEnd(range.endContainer, range.endOffset);
540
+ const endText = (preCaretRange.endContainer.nodeValue || '').substring(0, range.endOffset);
541
+ // only allow @ at start of text or has space before it
542
+ const lastAnchorSymbolIndex = endText.lastIndexOf('@');
543
+ if (lastAnchorSymbolIndex + 1 < endText.length &&
544
+ (lastAnchorSymbolIndex === 0 ||
545
+ endText.slice(lastAnchorSymbolIndex - 1, lastAnchorSymbolIndex + 1) === ' @')) {
546
+ const name = (_b = endText.slice(lastAnchorSymbolIndex + 1)) === null || _b === void 0 ? void 0 : _b.trim();
547
+ if (name) {
548
+ preCaretRange.setStart(range.endContainer, lastAnchorSymbolIndex);
549
+ const replaceRange = preCaretRange.cloneRange();
550
+ replaceRange.setStart(replaceRange.endContainer, lastAnchorSymbolIndex);
551
+ res = {
552
+ name,
553
+ rect: preCaretRange.getBoundingClientRect(),
554
+ replaceRange,
555
+ };
556
+ }
557
+ }
558
+ }
559
+ }
560
+ }
561
+ return res;
562
+ }
563
+ const inputModify = (value, opts) => {
564
+ var _a;
565
+ const { formatUrl, bannedWords = [] } = opts || {};
566
+ const removedFormat = post.fixMalformedMention(post.removeFontFormat(value));
567
+ if (!formatUrl)
568
+ return {
569
+ value: post.highlightBadWords(removedFormat, bannedWords),
570
+ };
571
+ let descriptionWithWrappedAnchor = post.removeEdittedBannedWord(post.wrapAnchorAroundUrls(removedFormat));
572
+ const urls = post.getUrlsFromEditorString(removedFormat);
573
+ if (urls) {
574
+ const invalidUrls = [];
575
+ let previewUrl = '';
576
+ urls.forEach((url) => {
577
+ if (!url)
578
+ return;
579
+ try {
580
+ const jsUrl = new URL(url);
581
+ if (post.ALLOW_DOMAIN_URL.some((o) => jsUrl.origin.endsWith(o))) {
582
+ // is valid
583
+ }
584
+ else {
585
+ invalidUrls.push(url);
586
+ // is not valid
587
+ }
588
+ }
589
+ catch (_a) {
590
+ invalidUrls.push(url);
591
+ }
592
+ });
593
+ if (invalidUrls.length > 0) {
594
+ descriptionWithWrappedAnchor = descriptionWithWrappedAnchor
595
+ .replace(new RegExp(`data-url="true">(${invalidUrls.map(post.escapeRegExp).join('|')})<`, 'gi'), 'data-error="true" data-url="true">$1<')
596
+ .replace(new RegExp(`data-href="(${invalidUrls
597
+ .map(post.escapeRegExp)
598
+ .join('|')})" data-url="true">`, 'gi'), 'data-href="$1" data-error="true" data-url="true">');
599
+ }
600
+ previewUrl = (_a = urls.filter((u) => invalidUrls.indexOf(u) === -1)) === null || _a === void 0 ? void 0 : _a[0];
601
+ return {
602
+ invalidUrls,
603
+ previewUrl,
604
+ value: post.highlightBadWords(descriptionWithWrappedAnchor, bannedWords),
605
+ };
606
+ }
607
+ return {
608
+ value: post.highlightBadWords(descriptionWithWrappedAnchor, bannedWords),
609
+ };
610
+ };
611
+ const RichTextEditor = ({ html, onChange, className, style, onImagePickerClick, bannedWords = [], onInvalidUrlsChange, onPreviewUrlChange, setEditorRef, isReplying, }) => {
612
+ var _a, _b, _c, _d;
613
+ const bannedWordsRef = React.useRef([]);
614
+ bannedWordsRef.current = bannedWords;
615
+ const [invalidUrls, setInvalidUrls] = React.useState([]);
616
+ const [previewUrl, setPreviewUrl] = React.useState(null);
617
+ const { data: { locale }, } = React.useContext(togetherComponentGlobalContext.TogetherComponentGlobalContext);
618
+ const bannedString = (bannedWords === null || bannedWords === void 0 ? void 0 : bannedWords.join(',')) || '';
619
+ React.useEffect(() => {
620
+ var _a, _b;
621
+ const currHTML = (_b = (_a = reactQuillRef.current) === null || _a === void 0 ? void 0 : _a.getEditor()) === null || _b === void 0 ? void 0 : _b.root.innerHTML;
622
+ debounceInputModify(currHTML);
623
+ }, [bannedString]);
624
+ const fetchPreviewData = (url) => {
625
+ if (!previewUrl || previewUrl.url !== url) {
626
+ setPreviewUrl({
627
+ url,
628
+ isFetching: true,
629
+ });
630
+ togetherComponentGlobalContext.callApi(togetherComponentGlobalContext.getApiPath(togetherApiPaths.PATHS.FETCH_PREVIEW, {
631
+ _locale: locale,
632
+ }), 'POST', {
633
+ data: {
634
+ link: url,
635
+ },
636
+ })
637
+ .then((res) => {
638
+ var _a, _b, _c, _d;
639
+ setPreviewUrl({
640
+ title: (_a = res === null || res === void 0 ? void 0 : res.data) === null || _a === void 0 ? void 0 : _a.title,
641
+ description: (_b = res === null || res === void 0 ? void 0 : res.data) === null || _b === void 0 ? void 0 : _b.description,
642
+ image: ((_c = res === null || res === void 0 ? void 0 : res.data) === null || _c === void 0 ? void 0 : _c.image) || ((_d = res === null || res === void 0 ? void 0 : res.data) === null || _d === void 0 ? void 0 : _d.logo),
643
+ url,
644
+ });
645
+ })
646
+ .catch(() => {
647
+ setPreviewUrl(null);
648
+ });
649
+ }
650
+ };
651
+ const fetchPreviewDataRef = React.useRef(fetchPreviewData);
652
+ fetchPreviewDataRef.current = fetchPreviewData;
653
+ const debounceInputModify = React.useCallback(debounce__default["default"]((v) => {
654
+ if (v) {
655
+ const processedInput = inputModify(v, {
656
+ bannedWords: bannedWordsRef.current,
657
+ formatUrl: true,
658
+ });
659
+ const { invalidUrls: _invalidUrls, previewUrl: _previewUrl, value, } = processedInput;
660
+ if (_invalidUrls) {
661
+ setInvalidUrls(_invalidUrls);
662
+ }
663
+ if (_previewUrl) {
664
+ fetchPreviewDataRef.current(_previewUrl);
665
+ }
666
+ else
667
+ setPreviewUrl(null);
668
+ if (value !== v) {
669
+ onChange === null || onChange === void 0 ? void 0 : onChange(value);
670
+ }
671
+ }
672
+ }, 500), []);
673
+ React.useEffect(() => {
674
+ onInvalidUrlsChange && onInvalidUrlsChange(invalidUrls);
675
+ }, [invalidUrls]);
676
+ React.useEffect(() => {
677
+ if (onPreviewUrlChange) {
678
+ if (previewUrl === null || previewUrl === void 0 ? void 0 : previewUrl.url)
679
+ onPreviewUrlChange({
680
+ title: previewUrl.title || '',
681
+ url: previewUrl.url || '',
682
+ image: previewUrl.image || '',
683
+ description: previewUrl.description || '',
684
+ });
685
+ else
686
+ onPreviewUrlChange(null);
687
+ }
688
+ }, [previewUrl]);
689
+ const imageHandlerRef = React.useRef(onImagePickerClick);
690
+ imageHandlerRef.current = onImagePickerClick;
691
+ const toolbarId = useUniqueId.useUniqueId();
692
+ const cachedModules = React.useRef({
693
+ toolbar: {
694
+ handlers: {
695
+ image: () => { var _a; return (_a = imageHandlerRef.current) === null || _a === void 0 ? void 0 : _a.call(imageHandlerRef); },
696
+ link: () => false,
697
+ },
698
+ container: '#toolbar-' + toolbarId,
699
+ },
700
+ // toolbar: [
701
+ // ['bold', 'italic', 'underline'],
702
+ // [{ list: 'ordered' }, { list: 'bullet' }],
703
+ // ],
704
+ preserveWhiteSpace: true,
705
+ });
706
+ const contentEditableCaretPos = React.useRef(-1);
707
+ const reactQuillRef = React.useRef(null);
708
+ setEditorRef &&
709
+ ((_b = (_a = reactQuillRef.current) === null || _a === void 0 ? void 0 : _a.getEditor()) === null || _b === void 0 ? void 0 : _b.root) &&
710
+ setEditorRef((_d = (_c = reactQuillRef.current) === null || _c === void 0 ? void 0 : _c.getEditor()) === null || _d === void 0 ? void 0 : _d.root);
711
+ const handleSelectionChange = () => {
712
+ var _a, _b, _c, _d, _e, _f, _g, _h;
713
+ if ((_b = (_a = reactQuillRef.current) === null || _a === void 0 ? void 0 : _a.getEditor()) === null || _b === void 0 ? void 0 : _b.root) {
714
+ const newCaretPos = getCaretCharacterOffsetWithin((_d = (_c = reactQuillRef.current) === null || _c === void 0 ? void 0 : _c.getEditor()) === null || _d === void 0 ? void 0 : _d.root);
715
+ const currHTML = (_f = (_e = reactQuillRef.current) === null || _e === void 0 ? void 0 : _e.getEditor()) === null || _f === void 0 ? void 0 : _f.root.innerHTML;
716
+ // in case of clicking on a div outside editor while focus, we get caret position too large
717
+ if (newCaretPos >= 0 && newCaretPos < currHTML.length) {
718
+ const mentionIds = post.getMentionIdsFromString(currHTML, true);
719
+ if (mentionIds.length < post.LIMIT_MENTION - (isReplying ? 1 : 0)) {
720
+ const searchData = getSearchName((_h = (_g = reactQuillRef.current) === null || _g === void 0 ? void 0 : _g.getEditor()) === null || _h === void 0 ? void 0 : _h.root);
721
+ if (searchData) {
722
+ searchUser(searchData.name, searchData.rect);
723
+ replaceRangeRef.current = searchData.replaceRange;
724
+ }
725
+ else {
726
+ replaceRangeRef.current = null;
727
+ // to avoid race condition, we reuse this function to clear foundUsers
728
+ searchUser('', null);
729
+ }
730
+ }
731
+ else {
732
+ replaceRangeRef.current = null;
733
+ // to avoid race condition, we reuse this function to clear foundUsers
734
+ searchUser('', null);
735
+ }
736
+ // const insertIndex = newCaretPos + 1
737
+ // const currHTML = reactQuillRef.current?.getEditor()?.root.innerHTML
738
+ // console.log(
739
+ // currHTML?.substring(0, insertIndex) || '',
740
+ // '========',
741
+ // currHTML?.substring(insertIndex) || '',
742
+ // )
743
+ contentEditableCaretPos.current = newCaretPos;
744
+ }
745
+ }
746
+ else {
747
+ setFoundUsers([]);
748
+ }
749
+ };
750
+ const [foundUsers, setFoundUsers] = React.useState([]);
751
+ const [searchUserPosition, setSearchUserPosition] = React.useState({
752
+ top: 0,
753
+ left: 0,
754
+ });
755
+ const searchUser = React.useCallback(debounce__default["default"]((name, rect, excludeIds) => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
756
+ var _e, _f, _g, _h;
757
+ if (!name || !DOMRect) {
758
+ return setFoundUsers([]);
759
+ }
760
+ const res = yield ((((_e = miscCookieHelper.getCookie(constants.BEARER_TOKEN_COOKIE)) === null || _e === void 0 ? void 0 : _e.length) || 0) > 0
761
+ ? togetherComponentGlobalContext.callApiWithAuth(togetherComponentGlobalContext.getApiPath(togetherApiPaths.PATHS.SEARCH_USER, {
762
+ _locale: locale,
763
+ name: name,
764
+ }), 'get')
765
+ : togetherComponentGlobalContext.callApiWithAdminAuth(togetherComponentGlobalContext.getApiPath(togetherApiPaths.ADMIN_PATHS.SEARCH_USER, {
766
+ _locale: locale,
767
+ name: name,
768
+ }), 'get'));
769
+ setSelectTagUserIndex(0);
770
+ setFoundUsers((_g = (_f = res === null || res === void 0 ? void 0 : res.data) === null || _f === void 0 ? void 0 : _f.users) === null || _g === void 0 ? void 0 : _g.filter((u) => !(excludeIds === null || excludeIds === void 0 ? void 0 : excludeIds.includes(String(u.id)))));
771
+ const textNodeRect = rect;
772
+ const containerRect = (_h = containerRef.current) === null || _h === void 0 ? void 0 : _h.getBoundingClientRect();
773
+ if (textNodeRect && containerRect) {
774
+ const idealWidth = 343;
775
+ const idealHeight = 256;
776
+ const styleConfig = {
777
+ top: textNodeRect.bottom - containerRect.top,
778
+ width: `min(343px, 100%)`,
779
+ maxHeight: idealHeight,
780
+ };
781
+ const tempRightWidth = containerRect.width - (textNodeRect.left - containerRect.left);
782
+ if (tempRightWidth < idealWidth) {
783
+ styleConfig.right = 0;
784
+ }
785
+ else {
786
+ styleConfig.left = textNodeRect.left - containerRect.left;
787
+ }
788
+ setSearchUserPosition(styleConfig);
789
+ }
790
+ }), 500), []);
791
+ const setSelectUser = (id, name) => {
792
+ var _a, _b, _c;
793
+ if (replaceRangeRef.current) {
794
+ replaceRangeRef.current.deleteContents();
795
+ const newMention = document.createElement('mention');
796
+ newMention.setAttribute('data-id', id);
797
+ newMention.setAttribute('data-name', name);
798
+ // newMention.setAttribute('contenteditable', 'false')
799
+ newMention.innerText = name;
800
+ const newPostText = document.createTextNode(' ');
801
+ replaceRangeRef.current.insertNode(newPostText);
802
+ replaceRangeRef.current.insertNode(newMention);
803
+ const editorRoot = (_b = (_a = reactQuillRef.current) === null || _a === void 0 ? void 0 : _a.getEditor()) === null || _b === void 0 ? void 0 : _b.root;
804
+ editorRoot.focus();
805
+ const range = (_c = window.getSelection()) === null || _c === void 0 ? void 0 : _c.getRangeAt(0);
806
+ range === null || range === void 0 ? void 0 : range.setStart(replaceRangeRef.current.endContainer, replaceRangeRef.current.endOffset);
807
+ range === null || range === void 0 ? void 0 : range.setEnd(replaceRangeRef.current.endContainer, replaceRangeRef.current.endOffset);
808
+ }
809
+ setFoundUsers([]);
810
+ };
811
+ const containerRef = React.useRef(null);
812
+ const replaceRangeRef = React.useRef(null);
813
+ const foundUsersListRef = React.useRef(null);
814
+ const [selectTagUserIndex, setSelectTagUserIndex] = React.useState(0);
815
+ React.useEffect(() => {
816
+ // convenient behavior, scroll item into view when select using keyboard
817
+ if (foundUsersListRef.current) {
818
+ const parentElement = foundUsersListRef.current;
819
+ const childElement = parentElement.children.item(selectTagUserIndex);
820
+ if (childElement) {
821
+ const containerRect = parentElement.getBoundingClientRect();
822
+ const childRect = childElement.getBoundingClientRect();
823
+ if (childElement.offsetTop < parentElement.scrollTop)
824
+ parentElement.scrollTop = childElement.offsetTop;
825
+ else if (childElement.offsetTop + childRect.height >
826
+ parentElement.scrollTop + containerRect.height) {
827
+ parentElement.scrollTop =
828
+ childElement.offsetTop - containerRect.height + childRect.height;
829
+ }
830
+ }
831
+ }
832
+ }, [selectTagUserIndex]);
833
+ React.useEffect(() => {
834
+ const clickHandler = function (e) {
835
+ var _a;
836
+ if (!((_a = containerRef.current) === null || _a === void 0 ? void 0 : _a.contains(e.target))) {
837
+ // Clicked outside the box
838
+ setFoundUsers([]);
839
+ }
840
+ };
841
+ window.addEventListener('click', clickHandler, {
842
+ passive: true,
843
+ });
844
+ return () => {
845
+ window.removeEventListener('click', clickHandler);
846
+ };
847
+ }, []);
848
+ return (React__default["default"].createElement(StyledEditorContainer, { ref: containerRef, className: className, style: style, onKeyDownCapture: (e) => {
849
+ // convenient behavior, use arrow to select tag user and enter to choose
850
+ if (foundUsers === null || foundUsers === void 0 ? void 0 : foundUsers.length) {
851
+ let preventKey = false;
852
+ if (e.key === 'ArrowDown') {
853
+ preventKey = true;
854
+ setSelectTagUserIndex((s) => s + 1 >= foundUsers.length ? 0 : s + 1);
855
+ }
856
+ else if (e.key === 'Escape') {
857
+ preventKey = true;
858
+ setSelectTagUserIndex(0);
859
+ setFoundUsers([]);
860
+ }
861
+ else if (e.key === 'ArrowUp') {
862
+ preventKey = true;
863
+ setSelectTagUserIndex((s) => s - 1 < 0 ? foundUsers.length - 1 : s - 1);
864
+ }
865
+ else if (e.key === 'Enter' || e.key === 'Tab') {
866
+ const user = foundUsers[selectTagUserIndex];
867
+ if (user) {
868
+ preventKey = true;
869
+ setSelectUser(user.id, user.name);
870
+ }
871
+ }
872
+ if (preventKey) {
873
+ e.preventDefault();
874
+ return false;
875
+ }
876
+ }
877
+ } },
878
+ React__default["default"].createElement(CustomToolbar, { id: toolbarId, onAddLink: (text, href) => {
879
+ var _a, _b;
880
+ const insertIndex = contentEditableCaretPos.current + 1;
881
+ const currHTML = (_b = (_a = reactQuillRef.current) === null || _a === void 0 ? void 0 : _a.getEditor()) === null || _b === void 0 ? void 0 : _b.root.innerHTML;
882
+ const newHTML = ((currHTML === null || currHTML === void 0 ? void 0 : currHTML.substring(0, insertIndex)) || '') +
883
+ `<mocka data-href="${href}" data-url="true">${text}</mocka> ` +
884
+ ((currHTML === null || currHTML === void 0 ? void 0 : currHTML.substring(insertIndex)) || '');
885
+ onChange === null || onChange === void 0 ? void 0 : onChange(newHTML);
886
+ debounceInputModify(newHTML);
887
+ } }),
888
+ ReactQuill && (React__default["default"].createElement(ReactQuill, { ref: reactQuillRef, theme: "snow", value: html, onChange: (t) => {
889
+ onChange === null || onChange === void 0 ? void 0 : onChange(t);
890
+ debounceInputModify(t);
891
+ handleSelectionChange();
892
+ }, onChangeSelection: () => {
893
+ handleSelectionChange();
894
+ }, modules: cachedModules.current, formats: [
895
+ 'mocka1',
896
+ 'mention',
897
+ 'id',
898
+ 'key',
899
+ 'bold',
900
+ 'italic',
901
+ 'underline',
902
+ 'list',
903
+ 'bullet',
904
+ ] })),
905
+ !!(foundUsers === null || foundUsers === void 0 ? void 0 : foundUsers.length) && (React__default["default"].createElement("div", { ref: foundUsersListRef, className: "mention-search-container", style: searchUserPosition }, foundUsers.map((foundUser, index$2) => (React__default["default"].createElement("div", { className: `mention-search-item ${selectTagUserIndex === index$2 ? 'item-selected' : ''}`, key: foundUser.id, onClick: (e) => {
906
+ e.preventDefault();
907
+ e.stopPropagation();
908
+ setSelectUser(foundUser.id, foundUser.name);
909
+ }, onMouseEnter: () => {
910
+ setSelectTagUserIndex(index$2);
911
+ } },
912
+ React__default["default"].createElement(index.UserAvatar, { className: "search-avatar", username: foundUser.name, avatar: foundUser.avatar }),
913
+ React__default["default"].createElement("div", null,
914
+ React__default["default"].createElement(index$1.Text, { size: "p2" }, foundUser.name),
915
+ React__default["default"].createElement(index$1.Text, { size: "p4", color: "#595959" },
916
+ "@",
917
+ foundUser.username)))))))));
918
+ };
919
+ const CustomToolbar = ({ onAddLink, id, }) => {
920
+ return (React__default["default"].createElement("div", { id: 'toolbar-' + id, onClick: (e) => {
921
+ e.preventDefault();
922
+ e.stopPropagation();
923
+ } },
924
+ React__default["default"].createElement("span", { className: "ql-formats" },
925
+ React__default["default"].createElement("button", { className: "ql-bold", type: "button" }),
926
+ React__default["default"].createElement("button", { className: "ql-italic", type: "button" }),
927
+ React__default["default"].createElement("button", { className: "ql-underline", type: "button" })),
928
+ React__default["default"].createElement("span", { className: "ql-formats" },
929
+ React__default["default"].createElement("button", { className: "ql-list", value: "ordered", type: "button" }),
930
+ React__default["default"].createElement("button", { className: "ql-list", value: "bullet", type: "button" })),
931
+ React__default["default"].createElement("span", { className: "ql-formats" },
932
+ React__default["default"].createElement("button", { className: "ql-image", type: "button" }),
933
+ onAddLink && (React__default["default"].createElement(index$2.PopoverMenu, { className: "link-tool-wrapper", toggleButtonContent: React__default["default"].createElement("img", { className: "link-icon", src: IconLink, loading: "lazy" }), buttonProps: {
934
+ size: 'md',
935
+ color: 'transparent',
936
+ }, align: "end" }, ({ setShow }) => (React__default["default"].createElement(LinkToolInputPopover, { onAddUrl: onAddLink, setShow: setShow })))))));
937
+ };
938
+ const URL_WARN_MAP = [
939
+ 'notification.limitUrlDomain',
940
+ 'notification.urlWrongFormat',
941
+ ];
942
+ const LinkToolInputPopover = ({ onAddUrl, setShow }) => {
943
+ const { data: { env: { isMarryBaby }, }, } = React.useContext(togetherComponentGlobalContext.TogetherComponentGlobalContext);
944
+ const { t } = useTranslations.useTranslations();
945
+ const [urlValue, setUrlValue] = React.useState('');
946
+ const [textValue, setTextValue] = React.useState('');
947
+ const [urlWarnType, setUrlWarnType] = React.useState(-1);
948
+ const checkUrlValid = (v) => {
949
+ const trimmedUrl = post.reformatUrl(v.trim());
950
+ try {
951
+ const jsUrl = new URL(trimmedUrl);
952
+ if (!jsUrl.protocol.startsWith('http')) {
953
+ setUrlWarnType(1);
954
+ return false;
955
+ }
956
+ if (!post.ALLOW_DOMAIN_URL.some((o) => jsUrl.origin.endsWith('/' + o) || jsUrl.origin.endsWith('.' + o))) {
957
+ setUrlWarnType(0);
958
+ return false;
959
+ }
960
+ setUrlWarnType(-1);
961
+ return true;
962
+ }
963
+ catch (_a) {
964
+ setUrlWarnType(1);
965
+ return false;
966
+ }
967
+ };
968
+ const isValid = urlValue.trim() && textValue.trim() && urlWarnType < 0;
969
+ return (React__default["default"].createElement("div", { className: "link-tool-popover" },
970
+ React__default["default"].createElement(index$3.Input, { name: "url", value: urlValue, size: "md", label: "URL", placeholder: t('placeholder.enterUrlHere'), type: "text", className: "link-input-url", onChange: (v) => {
971
+ setUrlValue(v);
972
+ checkUrlValid(v);
973
+ } }),
974
+ urlWarnType >= 0 && (React__default["default"].createElement(index$1.Text, { size: "c2", className: "error-text" }, t(URL_WARN_MAP[urlWarnType]))),
975
+ React__default["default"].createElement(index$3.Input, { name: "text", value: textValue, size: "md", label: t('createPost.urlText'), placeholder: t('placeholder.enterUrlTextHere'), type: "text", className: "link-input-text", onChange: (v) => setTextValue(v) }),
976
+ React__default["default"].createElement("div", { "data-is-marrybaby": isMarryBaby, className: "link-input-button-wrapper" },
977
+ React__default["default"].createElement(index$4.Button, { theme: isMarryBaby ? 'marryBaby' : 'helloSites', size: "sm", color: "primary", className: "link-input-button", onClick: () => {
978
+ if (!isValid)
979
+ return;
980
+ onAddUrl(textValue.trim(), post.reformatUrl(urlValue.trim()));
981
+ setShow && setShow(false);
982
+ }, isDisabled: !isValid }, t('insert')))));
983
+ };
984
+
985
+ exports.RichTextEditor = RichTextEditor;
986
+ exports.StyledCreatePostDescription = StyledCreatePostDescription;