@diplodoc/components 3.0.0-alpha-1

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 (614) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +67 -0
  3. package/assets/icons/link.svg +3 -0
  4. package/assets/icons/pdf.svg +6 -0
  5. package/build/cjs/components/BookmarkButton/BookmarkButton.css +12 -0
  6. package/build/cjs/components/BookmarkButton/BookmarkButton.css.map +7 -0
  7. package/build/cjs/components/BookmarkButton/BookmarkButton.d.ts +8 -0
  8. package/build/cjs/components/BookmarkButton/BookmarkButton.js +56 -0
  9. package/build/cjs/components/BookmarkButton/BookmarkButton.js.map +7 -0
  10. package/build/cjs/components/BookmarkButton/index.d.ts +1 -0
  11. package/build/cjs/components/BookmarkButton/index.js +21 -0
  12. package/build/cjs/components/BookmarkButton/index.js.map +7 -0
  13. package/build/cjs/components/Breadcrumbs/Breadcrumbs.css +35 -0
  14. package/build/cjs/components/Breadcrumbs/Breadcrumbs.css.map +7 -0
  15. package/build/cjs/components/Breadcrumbs/Breadcrumbs.d.ts +8 -0
  16. package/build/cjs/components/Breadcrumbs/Breadcrumbs.js +58 -0
  17. package/build/cjs/components/Breadcrumbs/Breadcrumbs.js.map +7 -0
  18. package/build/cjs/components/Breadcrumbs/index.d.ts +1 -0
  19. package/build/cjs/components/Breadcrumbs/index.js +21 -0
  20. package/build/cjs/components/Breadcrumbs/index.js.map +7 -0
  21. package/build/cjs/components/ContributorAvatars/Avatars/Avatar.d.ts +10 -0
  22. package/build/cjs/components/ContributorAvatars/Avatars/Avatar.js +89 -0
  23. package/build/cjs/components/ContributorAvatars/Avatars/Avatar.js.map +7 -0
  24. package/build/cjs/components/ContributorAvatars/Avatars/AvatarWithDescription.d.ts +9 -0
  25. package/build/cjs/components/ContributorAvatars/Avatars/AvatarWithDescription.js +63 -0
  26. package/build/cjs/components/ContributorAvatars/Avatars/AvatarWithDescription.js.map +7 -0
  27. package/build/cjs/components/ContributorAvatars/Avatars/Details.d.ts +10 -0
  28. package/build/cjs/components/ContributorAvatars/Avatars/Details.js +77 -0
  29. package/build/cjs/components/ContributorAvatars/Avatars/Details.js.map +7 -0
  30. package/build/cjs/components/ContributorAvatars/Avatars/HiddenAvatars.d.ts +10 -0
  31. package/build/cjs/components/ContributorAvatars/Avatars/HiddenAvatars.js +70 -0
  32. package/build/cjs/components/ContributorAvatars/Avatars/HiddenAvatars.js.map +7 -0
  33. package/build/cjs/components/ContributorAvatars/ContributorAvatars.css +135 -0
  34. package/build/cjs/components/ContributorAvatars/ContributorAvatars.css.map +7 -0
  35. package/build/cjs/components/ContributorAvatars/ContributorAvatars.d.ts +10 -0
  36. package/build/cjs/components/ContributorAvatars/ContributorAvatars.js +84 -0
  37. package/build/cjs/components/ContributorAvatars/ContributorAvatars.js.map +7 -0
  38. package/build/cjs/components/ContributorAvatars/index.d.ts +2 -0
  39. package/build/cjs/components/ContributorAvatars/index.js +39 -0
  40. package/build/cjs/components/ContributorAvatars/index.js.map +7 -0
  41. package/build/cjs/components/ContributorAvatars/models.d.ts +16 -0
  42. package/build/cjs/components/ContributorAvatars/models.js +31 -0
  43. package/build/cjs/components/ContributorAvatars/models.js.map +7 -0
  44. package/build/cjs/components/ContributorAvatars/utils.d.ts +3 -0
  45. package/build/cjs/components/ContributorAvatars/utils.js +39 -0
  46. package/build/cjs/components/ContributorAvatars/utils.js.map +7 -0
  47. package/build/cjs/components/Contributors/Contributors.css +12 -0
  48. package/build/cjs/components/Contributors/Contributors.css.map +7 -0
  49. package/build/cjs/components/Contributors/Contributors.d.ts +11 -0
  50. package/build/cjs/components/Contributors/Contributors.js +48 -0
  51. package/build/cjs/components/Contributors/Contributors.js.map +7 -0
  52. package/build/cjs/components/Contributors/index.d.ts +2 -0
  53. package/build/cjs/components/Control/Control.css +15 -0
  54. package/build/cjs/components/Control/Control.css.map +7 -0
  55. package/build/cjs/components/Control/Control.d.ts +20 -0
  56. package/build/cjs/components/Control/Control.js +95 -0
  57. package/build/cjs/components/Control/Control.js.map +7 -0
  58. package/build/cjs/components/Control/index.d.ts +2 -0
  59. package/build/cjs/components/Control/index.js +39 -0
  60. package/build/cjs/components/Control/index.js.map +7 -0
  61. package/build/cjs/components/Controls/Controls.css +50 -0
  62. package/build/cjs/components/Controls/Controls.css.map +7 -0
  63. package/build/cjs/components/Controls/Controls.d.ts +32 -0
  64. package/build/cjs/components/Controls/Controls.js +169 -0
  65. package/build/cjs/components/Controls/Controls.js.map +7 -0
  66. package/build/cjs/components/Controls/ControlsLayout.d.ts +12 -0
  67. package/build/cjs/components/Controls/ControlsLayout.js +68 -0
  68. package/build/cjs/components/Controls/ControlsLayout.js.map +7 -0
  69. package/build/cjs/components/Controls/index.d.ts +4 -0
  70. package/build/cjs/components/Controls/index.js +42 -0
  71. package/build/cjs/components/Controls/index.js.map +7 -0
  72. package/build/cjs/components/Controls/single-controls/DividerControl/DividerControl.css +21 -0
  73. package/build/cjs/components/Controls/single-controls/DividerControl/DividerControl.css.map +7 -0
  74. package/build/cjs/components/Controls/single-controls/DividerControl/DividerControl.d.ts +7 -0
  75. package/build/cjs/components/Controls/single-controls/DividerControl/DividerControl.js +46 -0
  76. package/build/cjs/components/Controls/single-controls/DividerControl/DividerControl.js.map +7 -0
  77. package/build/cjs/components/Controls/single-controls/EditControl.d.ts +9 -0
  78. package/build/cjs/components/Controls/single-controls/EditControl.js +73 -0
  79. package/build/cjs/components/Controls/single-controls/EditControl.js.map +7 -0
  80. package/build/cjs/components/Controls/single-controls/FullScreenControl.d.ts +7 -0
  81. package/build/cjs/components/Controls/single-controls/FullScreenControl.js +82 -0
  82. package/build/cjs/components/Controls/single-controls/FullScreenControl.js.map +7 -0
  83. package/build/cjs/components/Controls/single-controls/LangControl.d.ts +10 -0
  84. package/build/cjs/components/Controls/single-controls/LangControl.js +122 -0
  85. package/build/cjs/components/Controls/single-controls/LangControl.js.map +7 -0
  86. package/build/cjs/components/Controls/single-controls/PdfControl.d.ts +6 -0
  87. package/build/cjs/components/Controls/single-controls/PdfControl.js +60 -0
  88. package/build/cjs/components/Controls/single-controls/PdfControl.js.map +7 -0
  89. package/build/cjs/components/Controls/single-controls/SettingsControl/SettingsControl.css +49 -0
  90. package/build/cjs/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +7 -0
  91. package/build/cjs/components/Controls/single-controls/SettingsControl/SettingsControl.d.ts +17 -0
  92. package/build/cjs/components/Controls/single-controls/SettingsControl/SettingsControl.js +198 -0
  93. package/build/cjs/components/Controls/single-controls/SettingsControl/SettingsControl.js.map +7 -0
  94. package/build/cjs/components/Controls/single-controls/SinglePageControl.d.ts +7 -0
  95. package/build/cjs/components/Controls/single-controls/SinglePageControl.js +67 -0
  96. package/build/cjs/components/Controls/single-controls/SinglePageControl.js.map +7 -0
  97. package/build/cjs/components/Controls/single-controls/index.d.ts +7 -0
  98. package/build/cjs/components/Controls/single-controls/index.js +49 -0
  99. package/build/cjs/components/Controls/single-controls/index.js.map +7 -0
  100. package/build/cjs/components/Controls/single-controls/utils.d.ts +2 -0
  101. package/build/cjs/components/Controls/single-controls/utils.js +30 -0
  102. package/build/cjs/components/Controls/single-controls/utils.js.map +7 -0
  103. package/build/cjs/components/DocLayout/DocLayout.css +102 -0
  104. package/build/cjs/components/DocLayout/DocLayout.css.map +7 -0
  105. package/build/cjs/components/DocLayout/DocLayout.d.ts +34 -0
  106. package/build/cjs/components/DocLayout/DocLayout.js +117 -0
  107. package/build/cjs/components/DocLayout/DocLayout.js.map +7 -0
  108. package/build/cjs/components/DocLayout/index.d.ts +1 -0
  109. package/build/cjs/components/DocLayout/index.js +21 -0
  110. package/build/cjs/components/DocLayout/index.js.map +7 -0
  111. package/build/cjs/components/DocLeadingPage/DocLeadingPage.css +93 -0
  112. package/build/cjs/components/DocLeadingPage/DocLeadingPage.css.map +7 -0
  113. package/build/cjs/components/DocLeadingPage/DocLeadingPage.d.ts +22 -0
  114. package/build/cjs/components/DocLeadingPage/DocLeadingPage.js +109 -0
  115. package/build/cjs/components/DocLeadingPage/DocLeadingPage.js.map +7 -0
  116. package/build/cjs/components/DocLeadingPage/index.d.ts +1 -0
  117. package/build/cjs/components/DocLeadingPage/index.js +21 -0
  118. package/build/cjs/components/DocLeadingPage/index.js.map +7 -0
  119. package/build/cjs/components/DocPage/DocPage.css +231 -0
  120. package/build/cjs/components/DocPage/DocPage.css.map +7 -0
  121. package/build/cjs/components/DocPage/DocPage.d.ts +41 -0
  122. package/build/cjs/components/DocPage/DocPage.js +460 -0
  123. package/build/cjs/components/DocPage/DocPage.js.map +7 -0
  124. package/build/cjs/components/DocPage/index.d.ts +2 -0
  125. package/build/cjs/components/DocPage/index.js +39 -0
  126. package/build/cjs/components/DocPage/index.js.map +7 -0
  127. package/build/cjs/components/DocPageTitle/DocPageTitle.css +10 -0
  128. package/build/cjs/components/DocPageTitle/DocPageTitle.css.map +7 -0
  129. package/build/cjs/components/DocPageTitle/DocPageTitle.d.ts +7 -0
  130. package/build/cjs/components/DocPageTitle/DocPageTitle.js +50 -0
  131. package/build/cjs/components/DocPageTitle/DocPageTitle.js.map +7 -0
  132. package/build/cjs/components/DocPageTitle/index.d.ts +1 -0
  133. package/build/cjs/components/DocPageTitle/index.js +21 -0
  134. package/build/cjs/components/DocPageTitle/index.js.map +7 -0
  135. package/build/cjs/components/ErrorBoundary/ErrorBoundary.d.ts +12 -0
  136. package/build/cjs/components/ErrorBoundary/ErrorBoundary.js +56 -0
  137. package/build/cjs/components/ErrorBoundary/ErrorBoundary.js.map +7 -0
  138. package/build/cjs/components/ErrorBoundary/index.d.ts +2 -0
  139. package/build/cjs/components/ErrorBoundary/index.js +39 -0
  140. package/build/cjs/components/ErrorBoundary/index.js.map +7 -0
  141. package/build/cjs/components/ErrorPage/ErrorPage.css +65 -0
  142. package/build/cjs/components/ErrorPage/ErrorPage.css.map +7 -0
  143. package/build/cjs/components/ErrorPage/ErrorPage.d.ts +10 -0
  144. package/build/cjs/components/ErrorPage/ErrorPage.js +83 -0
  145. package/build/cjs/components/ErrorPage/ErrorPage.js.map +7 -0
  146. package/build/cjs/components/ErrorPage/index.d.ts +2 -0
  147. package/build/cjs/components/ErrorPage/index.js +39 -0
  148. package/build/cjs/components/ErrorPage/index.js.map +7 -0
  149. package/build/cjs/components/Feedback/Feedback.css +109 -0
  150. package/build/cjs/components/Feedback/Feedback.css.map +7 -0
  151. package/build/cjs/components/Feedback/Feedback.d.ts +15 -0
  152. package/build/cjs/components/Feedback/Feedback.js +163 -0
  153. package/build/cjs/components/Feedback/Feedback.js.map +7 -0
  154. package/build/cjs/components/Feedback/controls/DislikeControl.d.ts +11 -0
  155. package/build/cjs/components/Feedback/controls/DislikeControl.js +69 -0
  156. package/build/cjs/components/Feedback/controls/DislikeControl.js.map +7 -0
  157. package/build/cjs/components/Feedback/controls/DislikeVariantsPopup.d.ts +18 -0
  158. package/build/cjs/components/Feedback/controls/DislikeVariantsPopup.js +150 -0
  159. package/build/cjs/components/Feedback/controls/DislikeVariantsPopup.js.map +7 -0
  160. package/build/cjs/components/Feedback/controls/LikeControl.d.ts +13 -0
  161. package/build/cjs/components/Feedback/controls/LikeControl.js +81 -0
  162. package/build/cjs/components/Feedback/controls/LikeControl.js.map +7 -0
  163. package/build/cjs/components/Feedback/controls/SuccessPopup.d.ts +10 -0
  164. package/build/cjs/components/Feedback/controls/SuccessPopup.js +67 -0
  165. package/build/cjs/components/Feedback/controls/SuccessPopup.js.map +7 -0
  166. package/build/cjs/components/Feedback/index.d.ts +2 -0
  167. package/build/cjs/components/Feedback/index.js +39 -0
  168. package/build/cjs/components/Feedback/index.js.map +7 -0
  169. package/build/cjs/components/HTML/HTML.d.ts +7 -0
  170. package/build/cjs/components/HTML/HTML.js +46 -0
  171. package/build/cjs/components/HTML/HTML.js.map +7 -0
  172. package/build/cjs/components/HTML/index.d.ts +1 -0
  173. package/build/cjs/components/HTML/index.js +21 -0
  174. package/build/cjs/components/HTML/index.js.map +7 -0
  175. package/build/cjs/components/Link.d.ts +6 -0
  176. package/build/cjs/components/Link.js +41 -0
  177. package/build/cjs/components/Link.js.map +7 -0
  178. package/build/cjs/components/Mark/Mark.css +22 -0
  179. package/build/cjs/components/Mark/Mark.css.map +7 -0
  180. package/build/cjs/components/Mark/Mark.d.ts +10 -0
  181. package/build/cjs/components/Mark/Mark.js +43 -0
  182. package/build/cjs/components/Mark/Mark.js.map +7 -0
  183. package/build/cjs/components/Mark/index.d.ts +1 -0
  184. package/build/cjs/components/Mark/index.js +21 -0
  185. package/build/cjs/components/Mark/index.js.map +7 -0
  186. package/build/cjs/components/MiniToc/MiniToc.css +44 -0
  187. package/build/cjs/components/MiniToc/MiniToc.css.map +7 -0
  188. package/build/cjs/components/MiniToc/MiniToc.d.ts +15 -0
  189. package/build/cjs/components/MiniToc/MiniToc.js +71 -0
  190. package/build/cjs/components/MiniToc/MiniToc.js.map +7 -0
  191. package/build/cjs/components/MiniToc/index.d.ts +2 -0
  192. package/build/cjs/components/MiniToc/index.js +39 -0
  193. package/build/cjs/components/MiniToc/index.js.map +7 -0
  194. package/build/cjs/components/OutsideClick/OutsideClick.d.ts +12 -0
  195. package/build/cjs/components/OutsideClick/OutsideClick.js +56 -0
  196. package/build/cjs/components/OutsideClick/OutsideClick.js.map +7 -0
  197. package/build/cjs/components/OutsideClick/index.d.ts +2 -0
  198. package/build/cjs/components/OutsideClick/index.js +39 -0
  199. package/build/cjs/components/OutsideClick/index.js.map +7 -0
  200. package/build/cjs/components/Paginator/Paginator.css +45 -0
  201. package/build/cjs/components/Paginator/Paginator.css.map +7 -0
  202. package/build/cjs/components/Paginator/Paginator.d.ts +22 -0
  203. package/build/cjs/components/Paginator/Paginator.js +132 -0
  204. package/build/cjs/components/Paginator/Paginator.js.map +7 -0
  205. package/build/cjs/components/Paginator/index.d.ts +2 -0
  206. package/build/cjs/components/Paginator/index.js +39 -0
  207. package/build/cjs/components/Paginator/index.js.map +7 -0
  208. package/build/cjs/components/Scrollspy/Scrollspy.d.ts +48 -0
  209. package/build/cjs/components/Scrollspy/Scrollspy.js +259 -0
  210. package/build/cjs/components/Scrollspy/Scrollspy.js.map +7 -0
  211. package/build/cjs/components/Scrollspy/index.d.ts +1 -0
  212. package/build/cjs/components/Scrollspy/index.js +21 -0
  213. package/build/cjs/components/Scrollspy/index.js.map +7 -0
  214. package/build/cjs/components/SearchBar/SearchBar.css +59 -0
  215. package/build/cjs/components/SearchBar/SearchBar.css.map +7 -0
  216. package/build/cjs/components/SearchBar/SearchBar.d.ts +12 -0
  217. package/build/cjs/components/SearchBar/SearchBar.js +88 -0
  218. package/build/cjs/components/SearchBar/SearchBar.js.map +7 -0
  219. package/build/cjs/components/SearchBar/constants.d.ts +7 -0
  220. package/build/cjs/components/SearchBar/constants.js +39 -0
  221. package/build/cjs/components/SearchBar/constants.js.map +7 -0
  222. package/build/cjs/components/SearchBar/hooks.d.ts +55 -0
  223. package/build/cjs/components/SearchBar/hooks.js +292 -0
  224. package/build/cjs/components/SearchBar/hooks.js.map +7 -0
  225. package/build/cjs/components/SearchBar/index.d.ts +4 -0
  226. package/build/cjs/components/SearchBar/index.js +42 -0
  227. package/build/cjs/components/SearchBar/index.js.map +7 -0
  228. package/build/cjs/components/SearchBar/utils.d.ts +26 -0
  229. package/build/cjs/components/SearchBar/utils.js +108 -0
  230. package/build/cjs/components/SearchBar/utils.js.map +7 -0
  231. package/build/cjs/components/SearchBar/withHighlightedSearchWords.d.ts +16 -0
  232. package/build/cjs/components/SearchBar/withHighlightedSearchWords.js +123 -0
  233. package/build/cjs/components/SearchBar/withHighlightedSearchWords.js.map +7 -0
  234. package/build/cjs/components/SearchItem/SearchItem.css +88 -0
  235. package/build/cjs/components/SearchItem/SearchItem.css.map +7 -0
  236. package/build/cjs/components/SearchItem/SearchItem.d.ts +19 -0
  237. package/build/cjs/components/SearchItem/SearchItem.js +91 -0
  238. package/build/cjs/components/SearchItem/SearchItem.js.map +7 -0
  239. package/build/cjs/components/SearchItem/index.d.ts +2 -0
  240. package/build/cjs/components/SearchItem/index.js +39 -0
  241. package/build/cjs/components/SearchItem/index.js.map +7 -0
  242. package/build/cjs/components/SearchPage/SearchPage.css +43 -0
  243. package/build/cjs/components/SearchPage/SearchPage.css.map +7 -0
  244. package/build/cjs/components/SearchPage/SearchPage.d.ts +20 -0
  245. package/build/cjs/components/SearchPage/SearchPage.js +165 -0
  246. package/build/cjs/components/SearchPage/SearchPage.js.map +7 -0
  247. package/build/cjs/components/SearchPage/index.d.ts +2 -0
  248. package/build/cjs/components/SearchPage/index.js +39 -0
  249. package/build/cjs/components/SearchPage/index.js.map +7 -0
  250. package/build/cjs/components/StageLabel/StageLabel.d.ts +8 -0
  251. package/build/cjs/components/StageLabel/StageLabel.js +50 -0
  252. package/build/cjs/components/StageLabel/StageLabel.js.map +7 -0
  253. package/build/cjs/components/StageLabel/index.d.ts +1 -0
  254. package/build/cjs/components/StageLabel/index.js +21 -0
  255. package/build/cjs/components/StageLabel/index.js.map +7 -0
  256. package/build/cjs/components/Subscribe/Subscribe.css +98 -0
  257. package/build/cjs/components/Subscribe/Subscribe.css.map +7 -0
  258. package/build/cjs/components/Subscribe/Subscribe.d.ts +13 -0
  259. package/build/cjs/components/Subscribe/Subscribe.js +136 -0
  260. package/build/cjs/components/Subscribe/Subscribe.js.map +7 -0
  261. package/build/cjs/components/Subscribe/SubscribeSuccessPopup/SubscribeSuccessPopup.d.ts +8 -0
  262. package/build/cjs/components/Subscribe/SubscribeSuccessPopup/SubscribeSuccessPopup.js +61 -0
  263. package/build/cjs/components/Subscribe/SubscribeSuccessPopup/SubscribeSuccessPopup.js.map +7 -0
  264. package/build/cjs/components/Subscribe/SubscribeSuccessPopup/index.d.ts +1 -0
  265. package/build/cjs/components/Subscribe/SubscribeSuccessPopup/index.js +37 -0
  266. package/build/cjs/components/Subscribe/SubscribeSuccessPopup/index.js.map +7 -0
  267. package/build/cjs/components/Subscribe/SubscribeVariantsPopup/SubscribeVariantsPopup.d.ts +11 -0
  268. package/build/cjs/components/Subscribe/SubscribeVariantsPopup/SubscribeVariantsPopup.js +126 -0
  269. package/build/cjs/components/Subscribe/SubscribeVariantsPopup/SubscribeVariantsPopup.js.map +7 -0
  270. package/build/cjs/components/Subscribe/SubscribeVariantsPopup/index.d.ts +1 -0
  271. package/build/cjs/components/Subscribe/SubscribeVariantsPopup/index.js +37 -0
  272. package/build/cjs/components/Subscribe/SubscribeVariantsPopup/index.js.map +7 -0
  273. package/build/cjs/components/Subscribe/index.d.ts +2 -0
  274. package/build/cjs/components/Subscribe/index.js +39 -0
  275. package/build/cjs/components/Subscribe/index.js.map +7 -0
  276. package/build/cjs/components/Subscribe/utils.d.ts +3 -0
  277. package/build/cjs/components/Subscribe/utils.js +34 -0
  278. package/build/cjs/components/Subscribe/utils.js.map +7 -0
  279. package/build/cjs/components/Text/Text.d.ts +7 -0
  280. package/build/cjs/components/Text/Text.js +54 -0
  281. package/build/cjs/components/Text/Text.js.map +7 -0
  282. package/build/cjs/components/Text/index.d.ts +1 -0
  283. package/build/cjs/components/Text/index.js +21 -0
  284. package/build/cjs/components/Text/index.js.map +7 -0
  285. package/build/cjs/components/TextInput/TextInput.d.ts +0 -0
  286. package/build/cjs/components/Toc/Toc.css +102 -0
  287. package/build/cjs/components/Toc/Toc.css.map +7 -0
  288. package/build/cjs/components/Toc/Toc.d.ts +58 -0
  289. package/build/cjs/components/Toc/Toc.js +275 -0
  290. package/build/cjs/components/Toc/Toc.js.map +7 -0
  291. package/build/cjs/components/Toc/TocItemRegistry.d.ts +16 -0
  292. package/build/cjs/components/Toc/TocItemRegistry.js +81 -0
  293. package/build/cjs/components/Toc/TocItemRegistry.js.map +7 -0
  294. package/build/cjs/components/Toc/index.d.ts +2 -0
  295. package/build/cjs/components/Toc/index.js +39 -0
  296. package/build/cjs/components/Toc/index.js.map +7 -0
  297. package/build/cjs/components/TocItem/TocItem.css +39 -0
  298. package/build/cjs/components/TocItem/TocItem.css.map +7 -0
  299. package/build/cjs/components/TocItem/TocItem.d.ts +20 -0
  300. package/build/cjs/components/TocItem/TocItem.js +105 -0
  301. package/build/cjs/components/TocItem/TocItem.js.map +7 -0
  302. package/build/cjs/components/TocItem/index.d.ts +2 -0
  303. package/build/cjs/components/TocItem/index.js +39 -0
  304. package/build/cjs/components/TocItem/index.js.map +7 -0
  305. package/build/cjs/components/TocNavPanel/TocNavPanel.css +64 -0
  306. package/build/cjs/components/TocNavPanel/TocNavPanel.css.map +7 -0
  307. package/build/cjs/components/TocNavPanel/TocNavPanel.d.ts +10 -0
  308. package/build/cjs/components/TocNavPanel/TocNavPanel.js +94 -0
  309. package/build/cjs/components/TocNavPanel/TocNavPanel.js.map +7 -0
  310. package/build/cjs/components/TocNavPanel/index.d.ts +2 -0
  311. package/build/cjs/components/TocNavPanel/index.js +39 -0
  312. package/build/cjs/components/TocNavPanel/index.js.map +7 -0
  313. package/build/cjs/components/ToggleArrow/ToggleArrow.css +24 -0
  314. package/build/cjs/components/ToggleArrow/ToggleArrow.css.map +7 -0
  315. package/build/cjs/components/ToggleArrow/ToggleArrow.d.ts +11 -0
  316. package/build/cjs/components/ToggleArrow/ToggleArrow.js +49 -0
  317. package/build/cjs/components/ToggleArrow/ToggleArrow.js.map +7 -0
  318. package/build/cjs/components/ToggleArrow/index.d.ts +1 -0
  319. package/build/cjs/components/ToggleArrow/index.js +21 -0
  320. package/build/cjs/components/ToggleArrow/index.js.map +7 -0
  321. package/build/cjs/config/i18n.d.ts +7 -0
  322. package/build/cjs/config/i18n.js +68 -0
  323. package/build/cjs/config/i18n.js.map +7 -0
  324. package/build/cjs/config/index.d.ts +6 -0
  325. package/build/cjs/config/index.js +51 -0
  326. package/build/cjs/config/index.js.map +7 -0
  327. package/build/cjs/constants.d.ts +19 -0
  328. package/build/cjs/constants.js +46 -0
  329. package/build/cjs/constants.js.map +7 -0
  330. package/build/cjs/hooks/index.d.ts +4 -0
  331. package/build/cjs/hooks/index.js +24 -0
  332. package/build/cjs/hooks/index.js.map +7 -0
  333. package/build/cjs/hooks/usePopper.d.ts +33 -0
  334. package/build/cjs/hooks/usePopper.js +93 -0
  335. package/build/cjs/hooks/usePopper.js.map +7 -0
  336. package/build/cjs/hooks/usePopupState.d.ts +8 -0
  337. package/build/cjs/hooks/usePopupState.js +62 -0
  338. package/build/cjs/hooks/usePopupState.js.map +7 -0
  339. package/build/cjs/hooks/useTimer.d.ts +1 -0
  340. package/build/cjs/hooks/useTimer.js +44 -0
  341. package/build/cjs/hooks/useTimer.js.map +7 -0
  342. package/build/cjs/hooks/useTranslation.d.ts +2 -0
  343. package/build/cjs/hooks/useTranslation.js +32 -0
  344. package/build/cjs/hooks/useTranslation.js.map +7 -0
  345. package/build/cjs/i18n/en.js +124 -0
  346. package/build/cjs/i18n/en.js.map +7 -0
  347. package/build/cjs/i18n/ru.js +124 -0
  348. package/build/cjs/i18n/ru.js.map +7 -0
  349. package/build/cjs/index.d.ts +28 -0
  350. package/build/cjs/index.js +48 -0
  351. package/build/cjs/index.js.map +7 -0
  352. package/build/cjs/models/index.d.ts +139 -0
  353. package/build/cjs/models/index.js +69 -0
  354. package/build/cjs/models/index.js.map +7 -0
  355. package/build/cjs/utils/index.d.ts +14 -0
  356. package/build/cjs/utils/index.js +109 -0
  357. package/build/cjs/utils/index.js.map +7 -0
  358. package/build/esm/components/BookmarkButton/BookmarkButton.css +12 -0
  359. package/build/esm/components/BookmarkButton/BookmarkButton.css.map +7 -0
  360. package/build/esm/components/BookmarkButton/BookmarkButton.js +25 -0
  361. package/build/esm/components/BookmarkButton/BookmarkButton.js.map +7 -0
  362. package/build/esm/components/BookmarkButton/index.js +3 -0
  363. package/build/esm/components/BookmarkButton/index.js.map +7 -0
  364. package/build/esm/components/Breadcrumbs/Breadcrumbs.css +35 -0
  365. package/build/esm/components/Breadcrumbs/Breadcrumbs.css.map +7 -0
  366. package/build/esm/components/Breadcrumbs/Breadcrumbs.js +27 -0
  367. package/build/esm/components/Breadcrumbs/Breadcrumbs.js.map +7 -0
  368. package/build/esm/components/Breadcrumbs/index.js +3 -0
  369. package/build/esm/components/Breadcrumbs/index.js.map +7 -0
  370. package/build/esm/components/ContributorAvatars/Avatars/Avatar.js +58 -0
  371. package/build/esm/components/ContributorAvatars/Avatars/Avatar.js.map +7 -0
  372. package/build/esm/components/ContributorAvatars/Avatars/AvatarWithDescription.js +32 -0
  373. package/build/esm/components/ContributorAvatars/Avatars/AvatarWithDescription.js.map +7 -0
  374. package/build/esm/components/ContributorAvatars/Avatars/Details.js +46 -0
  375. package/build/esm/components/ContributorAvatars/Avatars/Details.js.map +7 -0
  376. package/build/esm/components/ContributorAvatars/Avatars/HiddenAvatars.js +39 -0
  377. package/build/esm/components/ContributorAvatars/Avatars/HiddenAvatars.js.map +7 -0
  378. package/build/esm/components/ContributorAvatars/ContributorAvatars.css +135 -0
  379. package/build/esm/components/ContributorAvatars/ContributorAvatars.css.map +7 -0
  380. package/build/esm/components/ContributorAvatars/ContributorAvatars.js +53 -0
  381. package/build/esm/components/ContributorAvatars/ContributorAvatars.js.map +7 -0
  382. package/build/esm/components/ContributorAvatars/index.js +7 -0
  383. package/build/esm/components/ContributorAvatars/index.js.map +7 -0
  384. package/build/esm/components/ContributorAvatars/models.js +10 -0
  385. package/build/esm/components/ContributorAvatars/models.js.map +7 -0
  386. package/build/esm/components/ContributorAvatars/utils.js +18 -0
  387. package/build/esm/components/ContributorAvatars/utils.js.map +7 -0
  388. package/build/esm/components/Contributors/Contributors.css +12 -0
  389. package/build/esm/components/Contributors/Contributors.css.map +7 -0
  390. package/build/esm/components/Contributors/Contributors.js +17 -0
  391. package/build/esm/components/Contributors/Contributors.js.map +7 -0
  392. package/build/esm/components/Control/Control.css +15 -0
  393. package/build/esm/components/Control/Control.css.map +7 -0
  394. package/build/esm/components/Control/Control.js +64 -0
  395. package/build/esm/components/Control/Control.js.map +7 -0
  396. package/build/esm/components/Control/index.js +7 -0
  397. package/build/esm/components/Control/index.js.map +7 -0
  398. package/build/esm/components/Controls/Controls.css +50 -0
  399. package/build/esm/components/Controls/Controls.css.map +7 -0
  400. package/build/esm/components/Controls/Controls.js +146 -0
  401. package/build/esm/components/Controls/Controls.js.map +7 -0
  402. package/build/esm/components/Controls/ControlsLayout.js +37 -0
  403. package/build/esm/components/Controls/ControlsLayout.js.map +7 -0
  404. package/build/esm/components/Controls/index.js +10 -0
  405. package/build/esm/components/Controls/index.js.map +7 -0
  406. package/build/esm/components/Controls/single-controls/DividerControl/DividerControl.css +21 -0
  407. package/build/esm/components/Controls/single-controls/DividerControl/DividerControl.css.map +7 -0
  408. package/build/esm/components/Controls/single-controls/DividerControl/DividerControl.js +15 -0
  409. package/build/esm/components/Controls/single-controls/DividerControl/DividerControl.js.map +7 -0
  410. package/build/esm/components/Controls/single-controls/EditControl.js +42 -0
  411. package/build/esm/components/Controls/single-controls/EditControl.js.map +7 -0
  412. package/build/esm/components/Controls/single-controls/FullScreenControl.js +51 -0
  413. package/build/esm/components/Controls/single-controls/FullScreenControl.js.map +7 -0
  414. package/build/esm/components/Controls/single-controls/LangControl.js +91 -0
  415. package/build/esm/components/Controls/single-controls/LangControl.js.map +7 -0
  416. package/build/esm/components/Controls/single-controls/PdfControl.js +29 -0
  417. package/build/esm/components/Controls/single-controls/PdfControl.js.map +7 -0
  418. package/build/esm/components/Controls/single-controls/SettingsControl/SettingsControl.css +49 -0
  419. package/build/esm/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +7 -0
  420. package/build/esm/components/Controls/single-controls/SettingsControl/SettingsControl.js +167 -0
  421. package/build/esm/components/Controls/single-controls/SettingsControl/SettingsControl.js.map +7 -0
  422. package/build/esm/components/Controls/single-controls/SinglePageControl.js +36 -0
  423. package/build/esm/components/Controls/single-controls/SinglePageControl.js.map +7 -0
  424. package/build/esm/components/Controls/single-controls/index.js +18 -0
  425. package/build/esm/components/Controls/single-controls/index.js.map +7 -0
  426. package/build/esm/components/Controls/single-controls/utils.js +9 -0
  427. package/build/esm/components/Controls/single-controls/utils.js.map +7 -0
  428. package/build/esm/components/DocLayout/DocLayout.css +102 -0
  429. package/build/esm/components/DocLayout/DocLayout.css.map +7 -0
  430. package/build/esm/components/DocLayout/DocLayout.js +86 -0
  431. package/build/esm/components/DocLayout/DocLayout.js.map +7 -0
  432. package/build/esm/components/DocLayout/index.js +3 -0
  433. package/build/esm/components/DocLayout/index.js.map +7 -0
  434. package/build/esm/components/DocLeadingPage/DocLeadingPage.css +93 -0
  435. package/build/esm/components/DocLeadingPage/DocLeadingPage.css.map +7 -0
  436. package/build/esm/components/DocLeadingPage/DocLeadingPage.js +78 -0
  437. package/build/esm/components/DocLeadingPage/DocLeadingPage.js.map +7 -0
  438. package/build/esm/components/DocLeadingPage/index.js +3 -0
  439. package/build/esm/components/DocLeadingPage/index.js.map +7 -0
  440. package/build/esm/components/DocPage/DocPage.css +231 -0
  441. package/build/esm/components/DocPage/DocPage.css.map +7 -0
  442. package/build/esm/components/DocPage/DocPage.js +436 -0
  443. package/build/esm/components/DocPage/DocPage.js.map +7 -0
  444. package/build/esm/components/DocPage/index.js +7 -0
  445. package/build/esm/components/DocPage/index.js.map +7 -0
  446. package/build/esm/components/DocPageTitle/DocPageTitle.css +10 -0
  447. package/build/esm/components/DocPageTitle/DocPageTitle.css.map +7 -0
  448. package/build/esm/components/DocPageTitle/DocPageTitle.js +19 -0
  449. package/build/esm/components/DocPageTitle/DocPageTitle.js.map +7 -0
  450. package/build/esm/components/DocPageTitle/index.js +3 -0
  451. package/build/esm/components/DocPageTitle/index.js.map +7 -0
  452. package/build/esm/components/ErrorBoundary/ErrorBoundary.js +25 -0
  453. package/build/esm/components/ErrorBoundary/ErrorBoundary.js.map +7 -0
  454. package/build/esm/components/ErrorBoundary/index.js +7 -0
  455. package/build/esm/components/ErrorBoundary/index.js.map +7 -0
  456. package/build/esm/components/ErrorPage/ErrorPage.css +65 -0
  457. package/build/esm/components/ErrorPage/ErrorPage.css.map +7 -0
  458. package/build/esm/components/ErrorPage/ErrorPage.js +52 -0
  459. package/build/esm/components/ErrorPage/ErrorPage.js.map +7 -0
  460. package/build/esm/components/ErrorPage/index.js +7 -0
  461. package/build/esm/components/ErrorPage/index.js.map +7 -0
  462. package/build/esm/components/Feedback/Feedback.css +109 -0
  463. package/build/esm/components/Feedback/Feedback.css.map +7 -0
  464. package/build/esm/components/Feedback/Feedback.js +132 -0
  465. package/build/esm/components/Feedback/Feedback.js.map +7 -0
  466. package/build/esm/components/Feedback/controls/DislikeControl.js +38 -0
  467. package/build/esm/components/Feedback/controls/DislikeControl.js.map +7 -0
  468. package/build/esm/components/Feedback/controls/DislikeVariantsPopup.js +128 -0
  469. package/build/esm/components/Feedback/controls/DislikeVariantsPopup.js.map +7 -0
  470. package/build/esm/components/Feedback/controls/LikeControl.js +50 -0
  471. package/build/esm/components/Feedback/controls/LikeControl.js.map +7 -0
  472. package/build/esm/components/Feedback/controls/SuccessPopup.js +36 -0
  473. package/build/esm/components/Feedback/controls/SuccessPopup.js.map +7 -0
  474. package/build/esm/components/Feedback/index.js +7 -0
  475. package/build/esm/components/Feedback/index.js.map +7 -0
  476. package/build/esm/components/HTML/HTML.js +15 -0
  477. package/build/esm/components/HTML/HTML.js.map +7 -0
  478. package/build/esm/components/HTML/index.js +3 -0
  479. package/build/esm/components/HTML/index.js.map +7 -0
  480. package/build/esm/components/Link.js +10 -0
  481. package/build/esm/components/Link.js.map +7 -0
  482. package/build/esm/components/Mark/Mark.css +22 -0
  483. package/build/esm/components/Mark/Mark.css.map +7 -0
  484. package/build/esm/components/Mark/Mark.js +12 -0
  485. package/build/esm/components/Mark/Mark.js.map +7 -0
  486. package/build/esm/components/Mark/index.js +3 -0
  487. package/build/esm/components/Mark/index.js.map +7 -0
  488. package/build/esm/components/MiniToc/MiniToc.css +44 -0
  489. package/build/esm/components/MiniToc/MiniToc.css.map +7 -0
  490. package/build/esm/components/MiniToc/MiniToc.js +40 -0
  491. package/build/esm/components/MiniToc/MiniToc.js.map +7 -0
  492. package/build/esm/components/MiniToc/index.js +7 -0
  493. package/build/esm/components/MiniToc/index.js.map +7 -0
  494. package/build/esm/components/OutsideClick/OutsideClick.js +25 -0
  495. package/build/esm/components/OutsideClick/OutsideClick.js.map +7 -0
  496. package/build/esm/components/OutsideClick/index.js +7 -0
  497. package/build/esm/components/OutsideClick/index.js.map +7 -0
  498. package/build/esm/components/Paginator/Paginator.css +45 -0
  499. package/build/esm/components/Paginator/Paginator.css.map +7 -0
  500. package/build/esm/components/Paginator/Paginator.js +101 -0
  501. package/build/esm/components/Paginator/Paginator.js.map +7 -0
  502. package/build/esm/components/Paginator/index.js +7 -0
  503. package/build/esm/components/Paginator/index.js.map +7 -0
  504. package/build/esm/components/Scrollspy/Scrollspy.js +228 -0
  505. package/build/esm/components/Scrollspy/Scrollspy.js.map +7 -0
  506. package/build/esm/components/Scrollspy/index.js +3 -0
  507. package/build/esm/components/Scrollspy/index.js.map +7 -0
  508. package/build/esm/components/SearchBar/SearchBar.css +59 -0
  509. package/build/esm/components/SearchBar/SearchBar.css.map +7 -0
  510. package/build/esm/components/SearchBar/SearchBar.js +57 -0
  511. package/build/esm/components/SearchBar/SearchBar.js.map +7 -0
  512. package/build/esm/components/SearchBar/constants.js +18 -0
  513. package/build/esm/components/SearchBar/constants.js.map +7 -0
  514. package/build/esm/components/SearchBar/hooks.js +271 -0
  515. package/build/esm/components/SearchBar/hooks.js.map +7 -0
  516. package/build/esm/components/SearchBar/index.js +10 -0
  517. package/build/esm/components/SearchBar/index.js.map +7 -0
  518. package/build/esm/components/SearchBar/utils.js +77 -0
  519. package/build/esm/components/SearchBar/utils.js.map +7 -0
  520. package/build/esm/components/SearchBar/withHighlightedSearchWords.js +97 -0
  521. package/build/esm/components/SearchBar/withHighlightedSearchWords.js.map +7 -0
  522. package/build/esm/components/SearchItem/SearchItem.css +88 -0
  523. package/build/esm/components/SearchItem/SearchItem.css.map +7 -0
  524. package/build/esm/components/SearchItem/SearchItem.js +60 -0
  525. package/build/esm/components/SearchItem/SearchItem.js.map +7 -0
  526. package/build/esm/components/SearchItem/index.js +7 -0
  527. package/build/esm/components/SearchItem/index.js.map +7 -0
  528. package/build/esm/components/SearchPage/SearchPage.css +43 -0
  529. package/build/esm/components/SearchPage/SearchPage.css.map +7 -0
  530. package/build/esm/components/SearchPage/SearchPage.js +134 -0
  531. package/build/esm/components/SearchPage/SearchPage.js.map +7 -0
  532. package/build/esm/components/SearchPage/index.js +7 -0
  533. package/build/esm/components/SearchPage/index.js.map +7 -0
  534. package/build/esm/components/StageLabel/StageLabel.js +19 -0
  535. package/build/esm/components/StageLabel/StageLabel.js.map +7 -0
  536. package/build/esm/components/StageLabel/index.js +3 -0
  537. package/build/esm/components/StageLabel/index.js.map +7 -0
  538. package/build/esm/components/Subscribe/Subscribe.css +98 -0
  539. package/build/esm/components/Subscribe/Subscribe.css.map +7 -0
  540. package/build/esm/components/Subscribe/Subscribe.js +105 -0
  541. package/build/esm/components/Subscribe/Subscribe.js.map +7 -0
  542. package/build/esm/components/Subscribe/SubscribeSuccessPopup/SubscribeSuccessPopup.js +30 -0
  543. package/build/esm/components/Subscribe/SubscribeSuccessPopup/SubscribeSuccessPopup.js.map +7 -0
  544. package/build/esm/components/Subscribe/SubscribeSuccessPopup/index.js +6 -0
  545. package/build/esm/components/Subscribe/SubscribeSuccessPopup/index.js.map +7 -0
  546. package/build/esm/components/Subscribe/SubscribeVariantsPopup/SubscribeVariantsPopup.js +95 -0
  547. package/build/esm/components/Subscribe/SubscribeVariantsPopup/SubscribeVariantsPopup.js.map +7 -0
  548. package/build/esm/components/Subscribe/SubscribeVariantsPopup/index.js +6 -0
  549. package/build/esm/components/Subscribe/SubscribeVariantsPopup/index.js.map +7 -0
  550. package/build/esm/components/Subscribe/index.js +7 -0
  551. package/build/esm/components/Subscribe/index.js.map +7 -0
  552. package/build/esm/components/Subscribe/utils.js +13 -0
  553. package/build/esm/components/Subscribe/utils.js.map +7 -0
  554. package/build/esm/components/Text/Text.js +23 -0
  555. package/build/esm/components/Text/Text.js.map +7 -0
  556. package/build/esm/components/Text/index.js +3 -0
  557. package/build/esm/components/Text/index.js.map +7 -0
  558. package/build/esm/components/Toc/Toc.css +102 -0
  559. package/build/esm/components/Toc/Toc.css.map +7 -0
  560. package/build/esm/components/Toc/Toc.js +244 -0
  561. package/build/esm/components/Toc/Toc.js.map +7 -0
  562. package/build/esm/components/Toc/TocItemRegistry.js +60 -0
  563. package/build/esm/components/Toc/TocItemRegistry.js.map +7 -0
  564. package/build/esm/components/Toc/index.js +7 -0
  565. package/build/esm/components/Toc/index.js.map +7 -0
  566. package/build/esm/components/TocItem/TocItem.css +39 -0
  567. package/build/esm/components/TocItem/TocItem.css.map +7 -0
  568. package/build/esm/components/TocItem/TocItem.js +74 -0
  569. package/build/esm/components/TocItem/TocItem.js.map +7 -0
  570. package/build/esm/components/TocItem/index.js +7 -0
  571. package/build/esm/components/TocItem/index.js.map +7 -0
  572. package/build/esm/components/TocNavPanel/TocNavPanel.css +64 -0
  573. package/build/esm/components/TocNavPanel/TocNavPanel.css.map +7 -0
  574. package/build/esm/components/TocNavPanel/TocNavPanel.js +63 -0
  575. package/build/esm/components/TocNavPanel/TocNavPanel.js.map +7 -0
  576. package/build/esm/components/TocNavPanel/index.js +7 -0
  577. package/build/esm/components/TocNavPanel/index.js.map +7 -0
  578. package/build/esm/components/ToggleArrow/ToggleArrow.css +24 -0
  579. package/build/esm/components/ToggleArrow/ToggleArrow.css.map +7 -0
  580. package/build/esm/components/ToggleArrow/ToggleArrow.js +18 -0
  581. package/build/esm/components/ToggleArrow/ToggleArrow.js.map +7 -0
  582. package/build/esm/components/ToggleArrow/index.js +3 -0
  583. package/build/esm/components/ToggleArrow/index.js.map +7 -0
  584. package/build/esm/config/i18n.js +37 -0
  585. package/build/esm/config/i18n.js.map +7 -0
  586. package/build/esm/config/index.js +30 -0
  587. package/build/esm/config/index.js.map +7 -0
  588. package/build/esm/constants.js +25 -0
  589. package/build/esm/constants.js.map +7 -0
  590. package/build/esm/hooks/index.js +6 -0
  591. package/build/esm/hooks/index.js.map +7 -0
  592. package/build/esm/hooks/usePopper.js +62 -0
  593. package/build/esm/hooks/usePopper.js.map +7 -0
  594. package/build/esm/hooks/usePopupState.js +41 -0
  595. package/build/esm/hooks/usePopupState.js.map +7 -0
  596. package/build/esm/hooks/useTimer.js +23 -0
  597. package/build/esm/hooks/useTimer.js.map +7 -0
  598. package/build/esm/hooks/useTranslation.js +11 -0
  599. package/build/esm/hooks/useTranslation.js.map +7 -0
  600. package/build/esm/i18n/en.js +137 -0
  601. package/build/esm/i18n/en.js.map +7 -0
  602. package/build/esm/i18n/ru.js +137 -0
  603. package/build/esm/i18n/ru.js.map +7 -0
  604. package/build/esm/index.js +30 -0
  605. package/build/esm/index.js.map +7 -0
  606. package/build/esm/models/index.js +48 -0
  607. package/build/esm/models/index.js.map +7 -0
  608. package/build/esm/utils/index.js +88 -0
  609. package/build/esm/utils/index.js.map +7 -0
  610. package/build/index.css +197 -0
  611. package/build/index.css.map +7 -0
  612. package/build/themes/common/index.css +1170 -0
  613. package/build/themes/common/index.css.map +7 -0
  614. package/package.json +145 -0
@@ -0,0 +1,18 @@
1
+ // src/components/SearchBar/constants.ts
2
+ var CLASSNAME = "dc-search-highlighted";
3
+ var CLASSNAME_SELECTED = "dc-search-highlighted_selected";
4
+ var HIGHLIGHT_OPTIONS = {
5
+ element: "span",
6
+ className: CLASSNAME,
7
+ exclude: [
8
+ `.${CLASSNAME}`,
9
+ // Exclude the elements to highlight to avoid duplicating the highlight
10
+ "svg *"
11
+ ]
12
+ };
13
+ export {
14
+ CLASSNAME,
15
+ CLASSNAME_SELECTED,
16
+ HIGHLIGHT_OPTIONS
17
+ };
18
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/SearchBar/constants.ts"],
4
+ "sourcesContent": ["export const CLASSNAME = 'dc-search-highlighted';\n\nexport const CLASSNAME_SELECTED = 'dc-search-highlighted_selected';\n\nexport const HIGHLIGHT_OPTIONS = {\n element: 'span',\n className: CLASSNAME,\n exclude: [\n `.${CLASSNAME}`, // Exclude the elements to highlight to avoid duplicating the highlight\n 'svg *',\n ],\n};\n"],
5
+ "mappings": ";AAAO,IAAM,YAAY;AAElB,IAAM,qBAAqB;AAE3B,IAAM,oBAAoB;AAAA,EAC7B,SAAS;AAAA,EACT,WAAW;AAAA,EACX,SAAS;AAAA,IACL,IAAI,SAAS;AAAA;AAAA,IACb;AAAA,EACJ;AACJ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,271 @@
1
+ // src/components/SearchBar/hooks.ts
2
+ import { useCallback, useEffect, useRef, useState } from "react";
3
+ import { throttle } from "lodash";
4
+ import { CLASSNAME, CLASSNAME_SELECTED, HIGHLIGHT_OPTIONS } from "./constants";
5
+ import { getHighlightedItemIndexInView, highlight, scrollToItem } from "./utils";
6
+ function useHighlightedSearchWords({
7
+ html,
8
+ searchWords,
9
+ showSearchBar,
10
+ onContentMutation: _onContentMutation,
11
+ onContentLoaded: _onContentLoaded,
12
+ onNotFoundWords
13
+ }) {
14
+ const highlightedHtml = useHighlightedHTMLString(html, searchWords, showSearchBar);
15
+ const { wasChangedDOM, onContentMutation, onContentLoaded } = useCallbackDOMChange({
16
+ onContentMutation: _onContentMutation,
17
+ onContentLoaded: _onContentLoaded
18
+ });
19
+ const highlightedDOMElements = useHighlightedDOMElements(
20
+ highlightedHtml,
21
+ wasChangedDOM,
22
+ showSearchBar
23
+ );
24
+ const searchBarIsVisible = useSearchBarIsVisible({
25
+ showSearchBar,
26
+ searchWords,
27
+ highlightedHtml,
28
+ html
29
+ });
30
+ useNoSearchWordsFoundEffect({ highlightedDOMElements, showSearchBar, onNotFoundWords });
31
+ return {
32
+ highlightedHtml,
33
+ highlightedDOMElements,
34
+ searchBarIsVisible,
35
+ wasChangedDOM,
36
+ onContentMutation,
37
+ onContentLoaded
38
+ };
39
+ }
40
+ function useHighlightedDOMElements(highlightedHtml, wasChangedDOM, showSearchBar) {
41
+ const cachedHighlightedDOMElements = useRef([]);
42
+ useEffect(() => {
43
+ cachedHighlightedDOMElements.current = [];
44
+ }, [highlightedHtml]);
45
+ useEffect(() => {
46
+ if (wasChangedDOM) {
47
+ cachedHighlightedDOMElements.current = [];
48
+ }
49
+ }, [wasChangedDOM]);
50
+ if (cachedHighlightedDOMElements.current.length) {
51
+ return cachedHighlightedDOMElements.current;
52
+ }
53
+ if (!showSearchBar || typeof document === "undefined") {
54
+ return [];
55
+ }
56
+ const elements = document.querySelectorAll(`.${CLASSNAME}`);
57
+ cachedHighlightedDOMElements.current = [...elements];
58
+ return cachedHighlightedDOMElements.current;
59
+ }
60
+ function useHighlightedHTMLString(html, searchWords, showSearchBar) {
61
+ const [highlightedHtml, setHighlightedHtml] = useState(html);
62
+ useEffect(() => {
63
+ if (!searchWords.length || !showSearchBar) {
64
+ setHighlightedHtml(html);
65
+ return;
66
+ }
67
+ const highlightedResult = highlight({
68
+ html,
69
+ keywords: searchWords,
70
+ options: HIGHLIGHT_OPTIONS
71
+ });
72
+ if (highlightedResult.includes(CLASSNAME)) {
73
+ setHighlightedHtml(highlightedResult);
74
+ } else {
75
+ setHighlightedHtml(html);
76
+ }
77
+ }, [html, searchWords, showSearchBar]);
78
+ return highlightedHtml;
79
+ }
80
+ function useSearchBarIsVisible({
81
+ showSearchBar,
82
+ searchWords,
83
+ highlightedHtml,
84
+ html
85
+ }) {
86
+ const [searchBarIsVisible, setSearchBarIsVisible] = useState(showSearchBar);
87
+ useEffect(() => {
88
+ setSearchBarIsVisible(
89
+ showSearchBar && Boolean(searchWords && searchWords.length) && highlightedHtml !== html
90
+ );
91
+ }, [showSearchBar, searchWords, highlightedHtml, html]);
92
+ return searchBarIsVisible;
93
+ }
94
+ function useCallbackDOMChange({
95
+ onContentMutation: _onContentMutation,
96
+ onContentLoaded: _onContentLoaded
97
+ }) {
98
+ const [wasChangedDOM, setWasChangedDOM] = useState(false);
99
+ useEffect(() => {
100
+ if (wasChangedDOM) {
101
+ setWasChangedDOM(false);
102
+ }
103
+ }, [wasChangedDOM]);
104
+ const onContentMutation = useCallback(() => {
105
+ if (_onContentMutation) {
106
+ _onContentMutation();
107
+ }
108
+ setWasChangedDOM(true);
109
+ }, [_onContentMutation]);
110
+ const onContentLoaded = useCallback(() => {
111
+ if (_onContentLoaded) {
112
+ _onContentLoaded();
113
+ }
114
+ setWasChangedDOM(true);
115
+ }, [_onContentLoaded]);
116
+ return {
117
+ wasChangedDOM,
118
+ onContentMutation,
119
+ onContentLoaded
120
+ };
121
+ }
122
+ function useNoSearchWordsFoundEffect({
123
+ showSearchBar,
124
+ highlightedDOMElements,
125
+ onNotFoundWords
126
+ }) {
127
+ useEffect(() => {
128
+ if (!onNotFoundWords) {
129
+ return;
130
+ }
131
+ if (showSearchBar && !highlightedDOMElements.length) {
132
+ onNotFoundWords();
133
+ }
134
+ }, [highlightedDOMElements, showSearchBar, onNotFoundWords]);
135
+ }
136
+ function useSearchBarNavigation({
137
+ highlightedDOMElements,
138
+ stopSyncOnScroll,
139
+ headerHeight,
140
+ hash
141
+ }) {
142
+ const [searchCurrentIndex, setSearchCurrentIndex] = useState(1);
143
+ const [searchCountResults, setSearchCountResults] = useState(1);
144
+ useEffect(() => {
145
+ const startIndex = getHighlightedItemIndexInView({ highlightedDOMElements, headerHeight, hash }) || 1;
146
+ setSearchCurrentIndex(startIndex);
147
+ setSearchCountResults(highlightedDOMElements.length || 1);
148
+ }, [highlightedDOMElements, headerHeight, hash]);
149
+ const onClickNextSearch = useCallback(
150
+ (e) => {
151
+ e.stopPropagation();
152
+ e.preventDefault();
153
+ stopSyncOnScroll();
154
+ if (!highlightedDOMElements.length) {
155
+ return;
156
+ }
157
+ let newIndex = searchCurrentIndex + 1;
158
+ if (newIndex > highlightedDOMElements.length) {
159
+ newIndex = 1;
160
+ }
161
+ setSearchCurrentIndex(newIndex);
162
+ },
163
+ [highlightedDOMElements, searchCurrentIndex, setSearchCurrentIndex, stopSyncOnScroll]
164
+ );
165
+ const onClickPrevSearch = useCallback(
166
+ (e) => {
167
+ e.stopPropagation();
168
+ e.preventDefault();
169
+ stopSyncOnScroll();
170
+ if (!highlightedDOMElements.length) {
171
+ return;
172
+ }
173
+ let newIndex = searchCurrentIndex - 1;
174
+ if (newIndex < 1) {
175
+ newIndex = highlightedDOMElements.length;
176
+ }
177
+ setSearchCurrentIndex(newIndex);
178
+ },
179
+ [highlightedDOMElements, searchCurrentIndex, setSearchCurrentIndex, stopSyncOnScroll]
180
+ );
181
+ return {
182
+ searchCurrentIndex,
183
+ setSearchCurrentIndex,
184
+ searchCountResults,
185
+ onClickPrevSearch,
186
+ onClickNextSearch
187
+ };
188
+ }
189
+ function useCurrentWordSelectionEffect({
190
+ searchCurrentIndex,
191
+ highlightedDOMElements,
192
+ wasChangedDOM,
193
+ syncOnScroll,
194
+ hash
195
+ }) {
196
+ useEffect(() => {
197
+ try {
198
+ if (!highlightedDOMElements || !highlightedDOMElements.length) {
199
+ return;
200
+ }
201
+ for (let index = 0; index < highlightedDOMElements.length; index++) {
202
+ const item2 = highlightedDOMElements[index];
203
+ item2.classList.remove(CLASSNAME_SELECTED);
204
+ }
205
+ const item = highlightedDOMElements[searchCurrentIndex - 1];
206
+ item.classList.add(CLASSNAME_SELECTED);
207
+ } catch (e) {
208
+ console.error(e);
209
+ }
210
+ }, [highlightedDOMElements, searchCurrentIndex, wasChangedDOM]);
211
+ useEffect(() => {
212
+ if (syncOnScroll) {
213
+ return;
214
+ }
215
+ scrollToItem(highlightedDOMElements[searchCurrentIndex - 1]);
216
+ }, [wasChangedDOM, searchCurrentIndex, highlightedDOMElements, syncOnScroll, hash]);
217
+ }
218
+ function useCurrentWordSelectionSyncScrollEffect({
219
+ highlightedDOMElements,
220
+ searchWords,
221
+ syncOnScroll,
222
+ searchBarIsVisible,
223
+ setSearchCurrentIndex,
224
+ headerHeight,
225
+ setSyncOnScroll
226
+ }) {
227
+ const scrollEndTimer = useRef();
228
+ const handleScroll = useCallback(() => {
229
+ if (scrollEndTimer.current) {
230
+ clearTimeout(scrollEndTimer.current);
231
+ }
232
+ scrollEndTimer.current = setTimeout(() => {
233
+ setSyncOnScroll(true);
234
+ }, 50);
235
+ if (!syncOnScroll || !searchBarIsVisible) {
236
+ return;
237
+ }
238
+ const highlightedItemIndexInView = getHighlightedItemIndexInView({
239
+ highlightedDOMElements,
240
+ headerHeight
241
+ });
242
+ if (isNaN(highlightedItemIndexInView)) {
243
+ return;
244
+ }
245
+ setSearchCurrentIndex(highlightedItemIndexInView);
246
+ }, [
247
+ setSyncOnScroll,
248
+ searchBarIsVisible,
249
+ syncOnScroll,
250
+ setSearchCurrentIndex,
251
+ highlightedDOMElements,
252
+ headerHeight
253
+ ]);
254
+ const handleScrollThrottled = throttle(handleScroll, 50);
255
+ useEffect(() => {
256
+ if (searchBarIsVisible) {
257
+ window.addEventListener("scroll", handleScrollThrottled);
258
+ }
259
+ return () => {
260
+ window.removeEventListener("scroll", handleScrollThrottled);
261
+ };
262
+ }, [searchBarIsVisible, searchWords, handleScrollThrottled]);
263
+ }
264
+ export {
265
+ useCurrentWordSelectionEffect,
266
+ useCurrentWordSelectionSyncScrollEffect,
267
+ useHighlightedSearchWords,
268
+ useNoSearchWordsFoundEffect,
269
+ useSearchBarNavigation
270
+ };
271
+ //# sourceMappingURL=hooks.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/SearchBar/hooks.ts"],
4
+ "sourcesContent": ["import {SyntheticEvent, useCallback, useEffect, useRef, useState} from 'react';\n\nimport {throttle} from 'lodash';\n\nimport {CLASSNAME, CLASSNAME_SELECTED, HIGHLIGHT_OPTIONS} from './constants';\nimport {getHighlightedItemIndexInView, highlight, scrollToItem} from './utils';\n\ntype UseHighlightedSearchWords = {\n html: string;\n searchWords: string[];\n showSearchBar: boolean;\n onNotFoundWords?: () => void;\n onContentMutation?: () => void;\n onContentLoaded?: () => void;\n};\n\nexport function useHighlightedSearchWords({\n html,\n searchWords,\n showSearchBar,\n onContentMutation: _onContentMutation,\n onContentLoaded: _onContentLoaded,\n onNotFoundWords,\n}: UseHighlightedSearchWords) {\n const highlightedHtml = useHighlightedHTMLString(html, searchWords, showSearchBar);\n\n const {wasChangedDOM, onContentMutation, onContentLoaded} = useCallbackDOMChange({\n onContentMutation: _onContentMutation,\n onContentLoaded: _onContentLoaded,\n });\n\n const highlightedDOMElements = useHighlightedDOMElements(\n highlightedHtml,\n wasChangedDOM,\n showSearchBar,\n );\n\n const searchBarIsVisible = useSearchBarIsVisible({\n showSearchBar,\n searchWords,\n highlightedHtml,\n html,\n });\n\n useNoSearchWordsFoundEffect({highlightedDOMElements, showSearchBar, onNotFoundWords});\n\n return {\n highlightedHtml,\n highlightedDOMElements,\n searchBarIsVisible,\n wasChangedDOM,\n onContentMutation,\n onContentLoaded,\n };\n}\n\nfunction useHighlightedDOMElements(\n highlightedHtml: string,\n wasChangedDOM: boolean,\n showSearchBar: boolean,\n) {\n const cachedHighlightedDOMElements = useRef<Element[]>([] as Element[]);\n\n useEffect(() => {\n cachedHighlightedDOMElements.current = [];\n }, [highlightedHtml]);\n\n useEffect(() => {\n if (wasChangedDOM) {\n cachedHighlightedDOMElements.current = [];\n }\n }, [wasChangedDOM]);\n\n if (cachedHighlightedDOMElements.current.length) {\n return cachedHighlightedDOMElements.current;\n }\n\n if (!showSearchBar || typeof document === 'undefined') {\n return [];\n }\n\n const elements = document.querySelectorAll(`.${CLASSNAME}`);\n cachedHighlightedDOMElements.current = [...elements];\n\n return cachedHighlightedDOMElements.current;\n}\n\n/* Try wrapping the search words in an html string by span elements with a highlight class */\nfunction useHighlightedHTMLString(html: string, searchWords: string[], showSearchBar: boolean) {\n const [highlightedHtml, setHighlightedHtml] = useState(html);\n\n useEffect(() => {\n if (!searchWords.length || !showSearchBar) {\n setHighlightedHtml(html);\n return;\n }\n\n const highlightedResult = highlight({\n html,\n keywords: searchWords,\n options: HIGHLIGHT_OPTIONS,\n });\n\n if (highlightedResult.includes(CLASSNAME)) {\n setHighlightedHtml(highlightedResult);\n } else {\n setHighlightedHtml(html);\n }\n }, [html, searchWords, showSearchBar]);\n\n return highlightedHtml;\n}\n\ntype UseSearchBarIsVisible = {\n showSearchBar: boolean;\n searchWords: string[];\n html: string;\n highlightedHtml: string;\n};\n\nfunction useSearchBarIsVisible({\n showSearchBar,\n searchWords,\n highlightedHtml,\n html,\n}: UseSearchBarIsVisible) {\n const [searchBarIsVisible, setSearchBarIsVisible] = useState(showSearchBar);\n\n useEffect(() => {\n setSearchBarIsVisible(\n showSearchBar && Boolean(searchWords && searchWords.length) && highlightedHtml !== html,\n );\n }, [showSearchBar, searchWords, highlightedHtml, html]);\n\n return searchBarIsVisible;\n}\n\ntype UseCallbackDOMChange = {\n onContentMutation?: () => void;\n onContentLoaded?: () => void;\n};\n\nfunction useCallbackDOMChange({\n onContentMutation: _onContentMutation,\n onContentLoaded: _onContentLoaded,\n}: UseCallbackDOMChange) {\n const [wasChangedDOM, setWasChangedDOM] = useState(false);\n\n useEffect(() => {\n if (wasChangedDOM) {\n setWasChangedDOM(false);\n }\n }, [wasChangedDOM]);\n\n /* Callback for dangerouslySetInnerHTML when inserting content */\n const onContentMutation = useCallback(() => {\n if (_onContentMutation) {\n _onContentMutation();\n }\n\n setWasChangedDOM(true);\n }, [_onContentMutation]);\n\n /* Callback for loading resources after inserting content */\n const onContentLoaded = useCallback(() => {\n if (_onContentLoaded) {\n _onContentLoaded();\n }\n\n setWasChangedDOM(true);\n }, [_onContentLoaded]);\n\n return {\n wasChangedDOM,\n onContentMutation,\n onContentLoaded,\n };\n}\n\ntype UseNoSearchWordsFoundEffect = {\n showSearchBar: boolean;\n highlightedDOMElements: Element[];\n onNotFoundWords?: () => void;\n};\n\nexport function useNoSearchWordsFoundEffect({\n showSearchBar,\n highlightedDOMElements,\n onNotFoundWords,\n}: UseNoSearchWordsFoundEffect) {\n useEffect(() => {\n if (!onNotFoundWords) {\n return;\n }\n\n if (showSearchBar && !highlightedDOMElements.length) {\n onNotFoundWords();\n }\n }, [highlightedDOMElements, showSearchBar, onNotFoundWords]);\n}\n\ntype UseSearchBarNavigation = {\n highlightedDOMElements: Element[];\n stopSyncOnScroll: () => void;\n headerHeight: number;\n hash?: string;\n};\n\nexport function useSearchBarNavigation({\n highlightedDOMElements,\n stopSyncOnScroll,\n headerHeight,\n hash,\n}: UseSearchBarNavigation) {\n const [searchCurrentIndex, setSearchCurrentIndex] = useState(1);\n const [searchCountResults, setSearchCountResults] = useState(1);\n\n useEffect(() => {\n const startIndex =\n getHighlightedItemIndexInView({highlightedDOMElements, headerHeight, hash}) || 1;\n\n setSearchCurrentIndex(startIndex);\n setSearchCountResults(highlightedDOMElements.length || 1);\n }, [highlightedDOMElements, headerHeight, hash]);\n\n const onClickNextSearch = useCallback(\n (e: SyntheticEvent) => {\n e.stopPropagation();\n e.preventDefault();\n\n stopSyncOnScroll();\n\n if (!highlightedDOMElements.length) {\n return;\n }\n\n let newIndex = searchCurrentIndex + 1;\n if (newIndex > highlightedDOMElements.length) {\n newIndex = 1;\n }\n\n setSearchCurrentIndex(newIndex);\n },\n [highlightedDOMElements, searchCurrentIndex, setSearchCurrentIndex, stopSyncOnScroll],\n );\n\n const onClickPrevSearch = useCallback(\n (e: SyntheticEvent) => {\n e.stopPropagation();\n e.preventDefault();\n\n stopSyncOnScroll();\n\n if (!highlightedDOMElements.length) {\n return;\n }\n\n let newIndex = searchCurrentIndex - 1;\n if (newIndex < 1) {\n newIndex = highlightedDOMElements.length;\n }\n\n setSearchCurrentIndex(newIndex);\n },\n [highlightedDOMElements, searchCurrentIndex, setSearchCurrentIndex, stopSyncOnScroll],\n );\n\n return {\n searchCurrentIndex,\n setSearchCurrentIndex,\n searchCountResults,\n onClickPrevSearch,\n onClickNextSearch,\n };\n}\n\ntype UseHighlightCurrentWordEffect = {\n highlightedDOMElements: Element[];\n searchCurrentIndex: number;\n wasChangedDOM: boolean;\n syncOnScroll: boolean;\n hash?: string;\n};\n\nexport function useCurrentWordSelectionEffect({\n searchCurrentIndex,\n highlightedDOMElements,\n wasChangedDOM,\n syncOnScroll,\n hash,\n}: UseHighlightCurrentWordEffect) {\n useEffect(() => {\n try {\n if (!highlightedDOMElements || !highlightedDOMElements.length) {\n return;\n }\n\n for (let index = 0; index < highlightedDOMElements.length; index++) {\n const item = highlightedDOMElements[index];\n\n item.classList.remove(CLASSNAME_SELECTED);\n }\n\n const item = highlightedDOMElements[searchCurrentIndex - 1];\n item.classList.add(CLASSNAME_SELECTED);\n } catch (e) {\n console.error(e);\n }\n }, [highlightedDOMElements, searchCurrentIndex, wasChangedDOM]);\n\n useEffect(() => {\n if (syncOnScroll) {\n return;\n }\n\n scrollToItem(highlightedDOMElements[searchCurrentIndex - 1]);\n }, [wasChangedDOM, searchCurrentIndex, highlightedDOMElements, syncOnScroll, hash]);\n}\n\ntype UseCurrentWordSelectionSyncScrollEffect = {\n highlightedDOMElements: Element[];\n searchWords: string[];\n syncOnScroll: boolean;\n searchBarIsVisible: boolean;\n setSearchCurrentIndex: (index: number) => void;\n headerHeight: number;\n setSyncOnScroll: (flag: boolean) => void;\n};\n\nexport function useCurrentWordSelectionSyncScrollEffect({\n highlightedDOMElements,\n searchWords,\n syncOnScroll,\n searchBarIsVisible,\n setSearchCurrentIndex,\n headerHeight,\n setSyncOnScroll,\n}: UseCurrentWordSelectionSyncScrollEffect) {\n const scrollEndTimer = useRef<ReturnType<typeof setTimeout>>();\n\n const handleScroll = useCallback(() => {\n if (scrollEndTimer.current) {\n clearTimeout(scrollEndTimer.current);\n }\n\n scrollEndTimer.current = setTimeout(() => {\n setSyncOnScroll(true);\n }, 50);\n\n if (!syncOnScroll || !searchBarIsVisible) {\n return;\n }\n\n const highlightedItemIndexInView = getHighlightedItemIndexInView({\n highlightedDOMElements,\n headerHeight,\n });\n\n if (isNaN(highlightedItemIndexInView as number)) {\n return;\n }\n\n setSearchCurrentIndex(highlightedItemIndexInView as number);\n }, [\n setSyncOnScroll,\n searchBarIsVisible,\n syncOnScroll,\n setSearchCurrentIndex,\n highlightedDOMElements,\n headerHeight,\n ]);\n\n const handleScrollThrottled = throttle(handleScroll, 50);\n\n useEffect(() => {\n if (searchBarIsVisible) {\n window.addEventListener('scroll', handleScrollThrottled);\n }\n return () => {\n window.removeEventListener('scroll', handleScrollThrottled);\n };\n }, [searchBarIsVisible, searchWords, handleScrollThrottled]);\n}\n"],
5
+ "mappings": ";AAAA,SAAwB,aAAa,WAAW,QAAQ,gBAAe;AAEvE,SAAQ,gBAAe;AAEvB,SAAQ,WAAW,oBAAoB,yBAAwB;AAC/D,SAAQ,+BAA+B,WAAW,oBAAmB;AAW9D,SAAS,0BAA0B;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB,iBAAiB;AAAA,EACjB;AACJ,GAA8B;AAC1B,QAAM,kBAAkB,yBAAyB,MAAM,aAAa,aAAa;AAEjF,QAAM,EAAC,eAAe,mBAAmB,gBAAe,IAAI,qBAAqB;AAAA,IAC7E,mBAAmB;AAAA,IACnB,iBAAiB;AAAA,EACrB,CAAC;AAED,QAAM,yBAAyB;AAAA,IAC3B;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AAEA,QAAM,qBAAqB,sBAAsB;AAAA,IAC7C;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAC;AAED,8BAA4B,EAAC,wBAAwB,eAAe,gBAAe,CAAC;AAEpF,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;AAEA,SAAS,0BACL,iBACA,eACA,eACF;AACE,QAAM,+BAA+B,OAAkB,CAAC,CAAc;AAEtE,YAAU,MAAM;AACZ,iCAA6B,UAAU,CAAC;AAAA,EAC5C,GAAG,CAAC,eAAe,CAAC;AAEpB,YAAU,MAAM;AACZ,QAAI,eAAe;AACf,mCAA6B,UAAU,CAAC;AAAA,IAC5C;AAAA,EACJ,GAAG,CAAC,aAAa,CAAC;AAElB,MAAI,6BAA6B,QAAQ,QAAQ;AAC7C,WAAO,6BAA6B;AAAA,EACxC;AAEA,MAAI,CAAC,iBAAiB,OAAO,aAAa,aAAa;AACnD,WAAO,CAAC;AAAA,EACZ;AAEA,QAAM,WAAW,SAAS,iBAAiB,IAAI,SAAS,EAAE;AAC1D,+BAA6B,UAAU,CAAC,GAAG,QAAQ;AAEnD,SAAO,6BAA6B;AACxC;AAGA,SAAS,yBAAyB,MAAc,aAAuB,eAAwB;AAC3F,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,SAAS,IAAI;AAE3D,YAAU,MAAM;AACZ,QAAI,CAAC,YAAY,UAAU,CAAC,eAAe;AACvC,yBAAmB,IAAI;AACvB;AAAA,IACJ;AAEA,UAAM,oBAAoB,UAAU;AAAA,MAChC;AAAA,MACA,UAAU;AAAA,MACV,SAAS;AAAA,IACb,CAAC;AAED,QAAI,kBAAkB,SAAS,SAAS,GAAG;AACvC,yBAAmB,iBAAiB;AAAA,IACxC,OAAO;AACH,yBAAmB,IAAI;AAAA,IAC3B;AAAA,EACJ,GAAG,CAAC,MAAM,aAAa,aAAa,CAAC;AAErC,SAAO;AACX;AASA,SAAS,sBAAsB;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAA0B;AACtB,QAAM,CAAC,oBAAoB,qBAAqB,IAAI,SAAS,aAAa;AAE1E,YAAU,MAAM;AACZ;AAAA,MACI,iBAAiB,QAAQ,eAAe,YAAY,MAAM,KAAK,oBAAoB;AAAA,IACvF;AAAA,EACJ,GAAG,CAAC,eAAe,aAAa,iBAAiB,IAAI,CAAC;AAEtD,SAAO;AACX;AAOA,SAAS,qBAAqB;AAAA,EAC1B,mBAAmB;AAAA,EACnB,iBAAiB;AACrB,GAAyB;AACrB,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAS,KAAK;AAExD,YAAU,MAAM;AACZ,QAAI,eAAe;AACf,uBAAiB,KAAK;AAAA,IAC1B;AAAA,EACJ,GAAG,CAAC,aAAa,CAAC;AAGlB,QAAM,oBAAoB,YAAY,MAAM;AACxC,QAAI,oBAAoB;AACpB,yBAAmB;AAAA,IACvB;AAEA,qBAAiB,IAAI;AAAA,EACzB,GAAG,CAAC,kBAAkB,CAAC;AAGvB,QAAM,kBAAkB,YAAY,MAAM;AACtC,QAAI,kBAAkB;AAClB,uBAAiB;AAAA,IACrB;AAEA,qBAAiB,IAAI;AAAA,EACzB,GAAG,CAAC,gBAAgB,CAAC;AAErB,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;AAQO,SAAS,4BAA4B;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AACJ,GAAgC;AAC5B,YAAU,MAAM;AACZ,QAAI,CAAC,iBAAiB;AAClB;AAAA,IACJ;AAEA,QAAI,iBAAiB,CAAC,uBAAuB,QAAQ;AACjD,sBAAgB;AAAA,IACpB;AAAA,EACJ,GAAG,CAAC,wBAAwB,eAAe,eAAe,CAAC;AAC/D;AASO,SAAS,uBAAuB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAA2B;AACvB,QAAM,CAAC,oBAAoB,qBAAqB,IAAI,SAAS,CAAC;AAC9D,QAAM,CAAC,oBAAoB,qBAAqB,IAAI,SAAS,CAAC;AAE9D,YAAU,MAAM;AACZ,UAAM,aACF,8BAA8B,EAAC,wBAAwB,cAAc,KAAI,CAAC,KAAK;AAEnF,0BAAsB,UAAU;AAChC,0BAAsB,uBAAuB,UAAU,CAAC;AAAA,EAC5D,GAAG,CAAC,wBAAwB,cAAc,IAAI,CAAC;AAE/C,QAAM,oBAAoB;AAAA,IACtB,CAAC,MAAsB;AACnB,QAAE,gBAAgB;AAClB,QAAE,eAAe;AAEjB,uBAAiB;AAEjB,UAAI,CAAC,uBAAuB,QAAQ;AAChC;AAAA,MACJ;AAEA,UAAI,WAAW,qBAAqB;AACpC,UAAI,WAAW,uBAAuB,QAAQ;AAC1C,mBAAW;AAAA,MACf;AAEA,4BAAsB,QAAQ;AAAA,IAClC;AAAA,IACA,CAAC,wBAAwB,oBAAoB,uBAAuB,gBAAgB;AAAA,EACxF;AAEA,QAAM,oBAAoB;AAAA,IACtB,CAAC,MAAsB;AACnB,QAAE,gBAAgB;AAClB,QAAE,eAAe;AAEjB,uBAAiB;AAEjB,UAAI,CAAC,uBAAuB,QAAQ;AAChC;AAAA,MACJ;AAEA,UAAI,WAAW,qBAAqB;AACpC,UAAI,WAAW,GAAG;AACd,mBAAW,uBAAuB;AAAA,MACtC;AAEA,4BAAsB,QAAQ;AAAA,IAClC;AAAA,IACA,CAAC,wBAAwB,oBAAoB,uBAAuB,gBAAgB;AAAA,EACxF;AAEA,SAAO;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ;AACJ;AAUO,SAAS,8BAA8B;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAAkC;AAC9B,YAAU,MAAM;AACZ,QAAI;AACA,UAAI,CAAC,0BAA0B,CAAC,uBAAuB,QAAQ;AAC3D;AAAA,MACJ;AAEA,eAAS,QAAQ,GAAG,QAAQ,uBAAuB,QAAQ,SAAS;AAChE,cAAMA,QAAO,uBAAuB,KAAK;AAEzC,QAAAA,MAAK,UAAU,OAAO,kBAAkB;AAAA,MAC5C;AAEA,YAAM,OAAO,uBAAuB,qBAAqB,CAAC;AAC1D,WAAK,UAAU,IAAI,kBAAkB;AAAA,IACzC,SAAS,GAAG;AACR,cAAQ,MAAM,CAAC;AAAA,IACnB;AAAA,EACJ,GAAG,CAAC,wBAAwB,oBAAoB,aAAa,CAAC;AAE9D,YAAU,MAAM;AACZ,QAAI,cAAc;AACd;AAAA,IACJ;AAEA,iBAAa,uBAAuB,qBAAqB,CAAC,CAAC;AAAA,EAC/D,GAAG,CAAC,eAAe,oBAAoB,wBAAwB,cAAc,IAAI,CAAC;AACtF;AAYO,SAAS,wCAAwC;AAAA,EACpD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAA4C;AACxC,QAAM,iBAAiB,OAAsC;AAE7D,QAAM,eAAe,YAAY,MAAM;AACnC,QAAI,eAAe,SAAS;AACxB,mBAAa,eAAe,OAAO;AAAA,IACvC;AAEA,mBAAe,UAAU,WAAW,MAAM;AACtC,sBAAgB,IAAI;AAAA,IACxB,GAAG,EAAE;AAEL,QAAI,CAAC,gBAAgB,CAAC,oBAAoB;AACtC;AAAA,IACJ;AAEA,UAAM,6BAA6B,8BAA8B;AAAA,MAC7D;AAAA,MACA;AAAA,IACJ,CAAC;AAED,QAAI,MAAM,0BAAoC,GAAG;AAC7C;AAAA,IACJ;AAEA,0BAAsB,0BAAoC;AAAA,EAC9D,GAAG;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,CAAC;AAED,QAAM,wBAAwB,SAAS,cAAc,EAAE;AAEvD,YAAU,MAAM;AACZ,QAAI,oBAAoB;AACpB,aAAO,iBAAiB,UAAU,qBAAqB;AAAA,IAC3D;AACA,WAAO,MAAM;AACT,aAAO,oBAAoB,UAAU,qBAAqB;AAAA,IAC9D;AAAA,EACJ,GAAG,CAAC,oBAAoB,aAAa,qBAAqB,CAAC;AAC/D;",
6
+ "names": ["item"]
7
+ }
@@ -0,0 +1,10 @@
1
+ // src/components/SearchBar/index.ts
2
+ export * from "./SearchBar";
3
+ import { default as default2 } from "./SearchBar";
4
+ export * from "./withHighlightedSearchWords";
5
+ import { default as default3 } from "./withHighlightedSearchWords";
6
+ export {
7
+ default2 as SearchBar,
8
+ default3 as withHighlightedSearchWords
9
+ };
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/SearchBar/index.ts"],
4
+ "sourcesContent": ["export * from './SearchBar';\nexport {default as SearchBar} from './SearchBar';\nexport * from './withHighlightedSearchWords';\nexport {default as withHighlightedSearchWords} from './withHighlightedSearchWords';\n"],
5
+ "mappings": ";AAAA,cAAc;AACd,SAAmB,WAAXA,gBAA2B;AACnC,cAAc;AACd,SAAmB,WAAXA,gBAA4C;",
6
+ "names": ["default"]
7
+ }
@@ -0,0 +1,77 @@
1
+ // src/components/SearchBar/utils.ts
2
+ import Mark from "mark.ts";
3
+ function highlight({ html, keywords, options }) {
4
+ const tmpDiv = document.createElement("div");
5
+ tmpDiv.innerHTML = html;
6
+ const markInstance = new Mark(tmpDiv);
7
+ markInstance.mark(keywords, options);
8
+ return tmpDiv.innerHTML;
9
+ }
10
+ function scrollToItem(item) {
11
+ if (!item) {
12
+ return;
13
+ }
14
+ item.scrollIntoView({
15
+ block: "center",
16
+ inline: "center"
17
+ });
18
+ }
19
+ function getElementOffset(item, offset = 0) {
20
+ return Math.floor(Number(item.getBoundingClientRect().top)) - offset;
21
+ }
22
+ function getItemIndexInView({
23
+ elements,
24
+ offset = 0,
25
+ top = 0,
26
+ bottom = Infinity,
27
+ reverse = false
28
+ }) {
29
+ let itemIndex;
30
+ for (let index = 0; index < elements.length; index++) {
31
+ const item = elements[index];
32
+ const itemOffset = getElementOffset(item, offset);
33
+ if (itemOffset >= top && itemOffset <= bottom) {
34
+ itemIndex = index + 1;
35
+ if (!reverse) {
36
+ break;
37
+ }
38
+ }
39
+ }
40
+ return itemIndex;
41
+ }
42
+ function getHighlightedItemIndexInView({
43
+ highlightedDOMElements,
44
+ headerHeight,
45
+ hash
46
+ }) {
47
+ const elements = highlightedDOMElements;
48
+ const offset = headerHeight;
49
+ let top = 0;
50
+ if (hash && typeof document !== "undefined") {
51
+ const anchorEl = document.getElementById(hash);
52
+ if (anchorEl) {
53
+ top = getElementOffset(anchorEl, offset);
54
+ }
55
+ }
56
+ const firstIndexInView = getItemIndexInView({ top, elements, offset });
57
+ const firstIndexOutViewBottom = getItemIndexInView({
58
+ top: top + window.innerHeight,
59
+ elements,
60
+ offset
61
+ });
62
+ const lastIndexOutViewTop = getItemIndexInView({
63
+ top: -Infinity,
64
+ bottom: top,
65
+ reverse: true,
66
+ elements,
67
+ offset
68
+ });
69
+ return firstIndexInView || firstIndexOutViewBottom || lastIndexOutViewTop;
70
+ }
71
+ export {
72
+ getHighlightedItemIndexInView,
73
+ getItemIndexInView,
74
+ highlight,
75
+ scrollToItem
76
+ };
77
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/SearchBar/utils.ts"],
4
+ "sourcesContent": ["import Mark from 'mark.ts';\n\nexport interface HighlightOptions {\n html: string;\n keywords: string[];\n options: {\n className: string;\n element: string;\n exclude: string[];\n };\n}\n\nexport function highlight({html, keywords, options}: HighlightOptions) {\n const tmpDiv = document.createElement('div');\n tmpDiv.innerHTML = html;\n\n const markInstance = new Mark(tmpDiv);\n markInstance.mark(keywords, options);\n\n return tmpDiv.innerHTML;\n}\n\nexport function scrollToItem(item: Element) {\n if (!item) {\n return;\n }\n\n item.scrollIntoView({\n block: 'center',\n inline: 'center',\n });\n}\n\ntype GetItemIndexInView = {\n elements: Element[];\n offset?: number;\n top?: number;\n bottom?: number;\n reverse?: boolean;\n};\n\nfunction getElementOffset(item: HTMLElement, offset = 0) {\n return Math.floor(Number((item as HTMLElement).getBoundingClientRect().top)) - offset;\n}\n\nexport function getItemIndexInView({\n elements,\n offset = 0,\n top = 0,\n bottom = Infinity,\n reverse = false,\n}: GetItemIndexInView) {\n let itemIndex;\n for (let index = 0; index < elements.length; index++) {\n const item = elements[index];\n const itemOffset = getElementOffset(item as HTMLElement, offset);\n\n if (itemOffset >= top && itemOffset <= bottom) {\n itemIndex = index + 1;\n\n if (!reverse) {\n break;\n }\n }\n }\n\n return itemIndex;\n}\n\ntype UseHighlightedItemInView = {\n highlightedDOMElements: Element[];\n headerHeight: number;\n hash?: string;\n};\n\nexport function getHighlightedItemIndexInView({\n highlightedDOMElements,\n headerHeight,\n hash,\n}: UseHighlightedItemInView) {\n const elements = highlightedDOMElements;\n const offset = headerHeight;\n let top = 0;\n\n if (hash && typeof document !== 'undefined') {\n const anchorEl = document.getElementById(hash) as HTMLElement;\n if (anchorEl) {\n top = getElementOffset(anchorEl, offset);\n }\n }\n\n const firstIndexInView = getItemIndexInView({top, elements, offset});\n const firstIndexOutViewBottom = getItemIndexInView({\n top: top + window.innerHeight,\n elements,\n offset,\n });\n const lastIndexOutViewTop = getItemIndexInView({\n top: -Infinity,\n bottom: top,\n reverse: true,\n elements,\n offset,\n });\n\n return firstIndexInView || firstIndexOutViewBottom || lastIndexOutViewTop;\n}\n"],
5
+ "mappings": ";AAAA,OAAO,UAAU;AAYV,SAAS,UAAU,EAAC,MAAM,UAAU,QAAO,GAAqB;AACnE,QAAM,SAAS,SAAS,cAAc,KAAK;AAC3C,SAAO,YAAY;AAEnB,QAAM,eAAe,IAAI,KAAK,MAAM;AACpC,eAAa,KAAK,UAAU,OAAO;AAEnC,SAAO,OAAO;AAClB;AAEO,SAAS,aAAa,MAAe;AACxC,MAAI,CAAC,MAAM;AACP;AAAA,EACJ;AAEA,OAAK,eAAe;AAAA,IAChB,OAAO;AAAA,IACP,QAAQ;AAAA,EACZ,CAAC;AACL;AAUA,SAAS,iBAAiB,MAAmB,SAAS,GAAG;AACrD,SAAO,KAAK,MAAM,OAAQ,KAAqB,sBAAsB,EAAE,GAAG,CAAC,IAAI;AACnF;AAEO,SAAS,mBAAmB;AAAA,EAC/B;AAAA,EACA,SAAS;AAAA,EACT,MAAM;AAAA,EACN,SAAS;AAAA,EACT,UAAU;AACd,GAAuB;AACnB,MAAI;AACJ,WAAS,QAAQ,GAAG,QAAQ,SAAS,QAAQ,SAAS;AAClD,UAAM,OAAO,SAAS,KAAK;AAC3B,UAAM,aAAa,iBAAiB,MAAqB,MAAM;AAE/D,QAAI,cAAc,OAAO,cAAc,QAAQ;AAC3C,kBAAY,QAAQ;AAEpB,UAAI,CAAC,SAAS;AACV;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AAEA,SAAO;AACX;AAQO,SAAS,8BAA8B;AAAA,EAC1C;AAAA,EACA;AAAA,EACA;AACJ,GAA6B;AACzB,QAAM,WAAW;AACjB,QAAM,SAAS;AACf,MAAI,MAAM;AAEV,MAAI,QAAQ,OAAO,aAAa,aAAa;AACzC,UAAM,WAAW,SAAS,eAAe,IAAI;AAC7C,QAAI,UAAU;AACV,YAAM,iBAAiB,UAAU,MAAM;AAAA,IAC3C;AAAA,EACJ;AAEA,QAAM,mBAAmB,mBAAmB,EAAC,KAAK,UAAU,OAAM,CAAC;AACnE,QAAM,0BAA0B,mBAAmB;AAAA,IAC/C,KAAK,MAAM,OAAO;AAAA,IAClB;AAAA,IACA;AAAA,EACJ,CAAC;AACD,QAAM,sBAAsB,mBAAmB;AAAA,IAC3C,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,SAAS;AAAA,IACT;AAAA,IACA;AAAA,EACJ,CAAC;AAED,SAAO,oBAAoB,2BAA2B;AAC1D;",
6
+ "names": []
7
+ }
@@ -0,0 +1,97 @@
1
+ // src/components/SearchBar/withHighlightedSearchWords.tsx
2
+ import React, { useCallback, useEffect, useState } from "react";
3
+ import {
4
+ useCurrentWordSelectionEffect,
5
+ useCurrentWordSelectionSyncScrollEffect,
6
+ useHighlightedSearchWords,
7
+ useSearchBarNavigation
8
+ } from "./hooks";
9
+ function withHighlightedSearchWords(Component) {
10
+ const SearchWordsHighlighter = (props) => {
11
+ const {
12
+ html,
13
+ searchWords = [],
14
+ showSearchBar = false,
15
+ onCloseSearchBar,
16
+ onNotFoundWords = () => {
17
+ },
18
+ onContentMutation: _onContentMutation,
19
+ onContentLoaded: _onContentLoaded,
20
+ headerHeight = 0,
21
+ router: { hash }
22
+ } = props;
23
+ const [syncOnScroll, setSyncOnScroll] = useState(true);
24
+ const stopSyncOnScroll = useCallback(() => setSyncOnScroll(false), []);
25
+ useEffect(() => {
26
+ setSyncOnScroll(false);
27
+ }, [html, searchWords]);
28
+ const {
29
+ highlightedHtml,
30
+ highlightedDOMElements,
31
+ searchBarIsVisible,
32
+ wasChangedDOM,
33
+ onContentMutation,
34
+ onContentLoaded
35
+ } = useHighlightedSearchWords({
36
+ html,
37
+ searchWords,
38
+ showSearchBar,
39
+ onContentMutation: _onContentMutation,
40
+ onContentLoaded: _onContentLoaded,
41
+ onNotFoundWords
42
+ });
43
+ const {
44
+ searchCurrentIndex,
45
+ setSearchCurrentIndex,
46
+ searchCountResults,
47
+ onClickPrevSearch,
48
+ onClickNextSearch
49
+ } = useSearchBarNavigation({ highlightedDOMElements, stopSyncOnScroll, headerHeight, hash });
50
+ useCurrentWordSelectionEffect({
51
+ searchCurrentIndex,
52
+ highlightedDOMElements,
53
+ wasChangedDOM,
54
+ syncOnScroll,
55
+ hash
56
+ });
57
+ useCurrentWordSelectionSyncScrollEffect({
58
+ highlightedDOMElements,
59
+ searchWords,
60
+ syncOnScroll,
61
+ searchBarIsVisible,
62
+ setSearchCurrentIndex,
63
+ headerHeight,
64
+ setSyncOnScroll
65
+ });
66
+ if (searchBarIsVisible) {
67
+ return /* @__PURE__ */ React.createElement(
68
+ Component,
69
+ {
70
+ ...props,
71
+ html: highlightedHtml,
72
+ onContentMutation,
73
+ onContentLoaded,
74
+ searchCurrentIndex,
75
+ searchCountResults,
76
+ onCloseSearchBar,
77
+ onClickPrevSearch,
78
+ onClickNextSearch
79
+ }
80
+ );
81
+ }
82
+ return /* @__PURE__ */ React.createElement(Component, { ...props, showSearchBar: false });
83
+ };
84
+ const SearchWordsHighlighterWrapper = (props) => {
85
+ const { useSearchBar = false } = props;
86
+ if (useSearchBar) {
87
+ return /* @__PURE__ */ React.createElement(SearchWordsHighlighter, { ...props });
88
+ }
89
+ return /* @__PURE__ */ React.createElement(Component, { ...props });
90
+ };
91
+ return SearchWordsHighlighterWrapper;
92
+ }
93
+ var withHighlightedSearchWords_default = withHighlightedSearchWords;
94
+ export {
95
+ withHighlightedSearchWords_default as default
96
+ };
97
+ //# sourceMappingURL=withHighlightedSearchWords.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/SearchBar/withHighlightedSearchWords.tsx"],
4
+ "sourcesContent": ["import React, {useCallback, useEffect, useState} from 'react';\n\nimport {DocPageData, Router} from '../../models';\n\nimport {\n useCurrentWordSelectionEffect,\n useCurrentWordSelectionSyncScrollEffect,\n useHighlightedSearchWords,\n useSearchBarNavigation,\n} from './hooks';\n\nexport interface SearchWordsHighlighterProps extends DocPageData {\n useSearchBar?: boolean;\n searchWords?: string[];\n showSearchBar?: boolean;\n onCloseSearchBar?: () => void;\n onNotFoundWords?: () => void;\n searchQuery?: string;\n onContentMutation?: () => void;\n onContentLoaded?: () => void;\n headerHeight?: number;\n router: Router;\n}\n\nfunction withHighlightedSearchWords<T extends SearchWordsHighlighterProps>(\n Component: React.ComponentType<T>,\n) {\n const SearchWordsHighlighter: React.FC<SearchWordsHighlighterProps & T> = (\n props,\n ): JSX.Element | null => {\n const {\n html,\n searchWords = [],\n showSearchBar = false,\n onCloseSearchBar,\n onNotFoundWords = () => {},\n onContentMutation: _onContentMutation,\n onContentLoaded: _onContentLoaded,\n headerHeight = 0,\n router: {hash},\n } = props;\n\n const [syncOnScroll, setSyncOnScroll] = useState<boolean>(true);\n const stopSyncOnScroll = useCallback(() => setSyncOnScroll(false), []);\n\n useEffect(() => {\n setSyncOnScroll(false);\n }, [html, searchWords]);\n\n const {\n highlightedHtml,\n highlightedDOMElements,\n searchBarIsVisible,\n wasChangedDOM,\n onContentMutation,\n onContentLoaded,\n } = useHighlightedSearchWords({\n html,\n searchWords,\n showSearchBar,\n onContentMutation: _onContentMutation,\n onContentLoaded: _onContentLoaded,\n onNotFoundWords,\n });\n\n const {\n searchCurrentIndex,\n setSearchCurrentIndex,\n searchCountResults,\n onClickPrevSearch,\n onClickNextSearch,\n } = useSearchBarNavigation({highlightedDOMElements, stopSyncOnScroll, headerHeight, hash});\n\n useCurrentWordSelectionEffect({\n searchCurrentIndex,\n highlightedDOMElements,\n wasChangedDOM,\n syncOnScroll,\n hash,\n });\n\n /* Sync scroll with a current item in viewport */\n useCurrentWordSelectionSyncScrollEffect({\n highlightedDOMElements,\n searchWords,\n syncOnScroll,\n searchBarIsVisible,\n setSearchCurrentIndex,\n headerHeight,\n setSyncOnScroll,\n });\n\n if (searchBarIsVisible) {\n return (\n <Component\n {...props}\n html={highlightedHtml}\n onContentMutation={onContentMutation}\n onContentLoaded={onContentLoaded}\n searchCurrentIndex={searchCurrentIndex}\n searchCountResults={searchCountResults}\n onCloseSearchBar={onCloseSearchBar}\n onClickPrevSearch={onClickPrevSearch}\n onClickNextSearch={onClickNextSearch}\n />\n );\n }\n\n return <Component {...props} showSearchBar={false} />;\n };\n\n const SearchWordsHighlighterWrapper: React.FC<SearchWordsHighlighterProps & T> = (\n props,\n ): JSX.Element | null => {\n const {useSearchBar = false} = props;\n\n if (useSearchBar) {\n return <SearchWordsHighlighter {...props} />;\n }\n\n return <Component {...props} />;\n };\n\n return SearchWordsHighlighterWrapper;\n}\n\nexport default withHighlightedSearchWords;\n"],
5
+ "mappings": ";AAAA,OAAO,SAAQ,aAAa,WAAW,gBAAe;AAItD;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AAeP,SAAS,2BACL,WACF;AACE,QAAM,yBAAoE,CACtE,UACqB;AACrB,UAAM;AAAA,MACF;AAAA,MACA,cAAc,CAAC;AAAA,MACf,gBAAgB;AAAA,MAChB;AAAA,MACA,kBAAkB,MAAM;AAAA,MAAC;AAAA,MACzB,mBAAmB;AAAA,MACnB,iBAAiB;AAAA,MACjB,eAAe;AAAA,MACf,QAAQ,EAAC,KAAI;AAAA,IACjB,IAAI;AAEJ,UAAM,CAAC,cAAc,eAAe,IAAI,SAAkB,IAAI;AAC9D,UAAM,mBAAmB,YAAY,MAAM,gBAAgB,KAAK,GAAG,CAAC,CAAC;AAErE,cAAU,MAAM;AACZ,sBAAgB,KAAK;AAAA,IACzB,GAAG,CAAC,MAAM,WAAW,CAAC;AAEtB,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,IAAI,0BAA0B;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA,mBAAmB;AAAA,MACnB,iBAAiB;AAAA,MACjB;AAAA,IACJ,CAAC;AAED,UAAM;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,IAAI,uBAAuB,EAAC,wBAAwB,kBAAkB,cAAc,KAAI,CAAC;AAEzF,kCAA8B;AAAA,MAC1B;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,CAAC;AAGD,4CAAwC;AAAA,MACpC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACJ,CAAC;AAED,QAAI,oBAAoB;AACpB,aACI;AAAA,QAAC;AAAA;AAAA,UACI,GAAG;AAAA,UACJ,MAAM;AAAA,UACN;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA;AAAA,MACJ;AAAA,IAER;AAEA,WAAO,oCAAC,aAAW,GAAG,OAAO,eAAe,OAAO;AAAA,EACvD;AAEA,QAAM,gCAA2E,CAC7E,UACqB;AACrB,UAAM,EAAC,eAAe,MAAK,IAAI;AAE/B,QAAI,cAAc;AACd,aAAO,oCAAC,0BAAwB,GAAG,OAAO;AAAA,IAC9C;AAEA,WAAO,oCAAC,aAAW,GAAG,OAAO;AAAA,EACjC;AAEA,SAAO;AACX;AAEA,IAAO,qCAAQ;",
6
+ "names": []
7
+ }
@@ -0,0 +1,88 @@
1
+ /* src/components/SearchItem/SearchItem.scss */
2
+ .SearchItem__link {
3
+ cursor: pointer;
4
+ -webkit-text-decoration: none;
5
+ text-decoration: none;
6
+ color: inherit;
7
+ }
8
+ .SearchItem__link:hover,
9
+ .SearchItem__link:active {
10
+ color: var(--g-color-text-link-hover);
11
+ }
12
+ .SearchItem__marks-wrapper {
13
+ display: none;
14
+ justify-content: flex-end;
15
+ align-items: center;
16
+ }
17
+ .SearchItem__marks {
18
+ height: 16px;
19
+ margin-top: 10px;
20
+ }
21
+ .SearchItem__mark {
22
+ margin-right: 20px;
23
+ }
24
+ .SearchItem__mark:last-child {
25
+ margin-right: 0;
26
+ }
27
+ .SearchItem__item-wrapper:hover .SearchItem__marks-wrapper {
28
+ display: flex;
29
+ }
30
+ .SearchItem__item-wrapper {
31
+ margin-bottom: 20px;
32
+ font-size: var(--g-text-body-1-font-size);
33
+ line-height: var(--g-text-body-1-line-height);
34
+ }
35
+ .SearchItem__item {
36
+ display: block;
37
+ overflow: hidden;
38
+ cursor: pointer;
39
+ text-overflow: ellipsis;
40
+ }
41
+ .SearchItem__item-title,
42
+ .SearchItem__item-description {
43
+ display: block;
44
+ overflow: hidden;
45
+ text-overflow: ellipsis;
46
+ }
47
+ .SearchItem__item-title {
48
+ margin-bottom: 4px;
49
+ }
50
+ .SearchItem__item-title,
51
+ .SearchItem__item-title .SearchItem__item-search-token {
52
+ outline: none;
53
+ color: var(--g-color-text-link);
54
+ -webkit-text-decoration: none;
55
+ text-decoration: none;
56
+ cursor: pointer;
57
+ color: var(--g-color-text-primary);
58
+ font-size: var(--g-text-subheader-3-font-size);
59
+ line-height: var(--g-text-subheader-3-line-height);
60
+ }
61
+ .utilityfocus .SearchItem__item-title:focus,
62
+ .utilityfocus .SearchItem__item-title .SearchItem__item-search-token:focus {
63
+ outline: 2px solid #ffdb4d;
64
+ }
65
+ .SearchItem__item-title:hover,
66
+ .SearchItem__item-title:active,
67
+ .SearchItem__item-title .SearchItem__item-search-token:hover,
68
+ .SearchItem__item-title .SearchItem__item-search-token:active {
69
+ color: var(--g-color-text-link-hover);
70
+ }
71
+ .SearchItem__item-title:hover .SearchItem__item-search-token {
72
+ color: var(--g-color-text-link-hover);
73
+ }
74
+ .SearchItem__item-description {
75
+ display: inline-block;
76
+ color: var(--g-color-text-secondary);
77
+ }
78
+ .SearchItem__item-description em {
79
+ font-weight: bolder;
80
+ }
81
+ .SearchItem__item-description::after {
82
+ content: "...";
83
+ display: inline;
84
+ }
85
+ .SearchItem__item-description .SearchItem__item-search-token {
86
+ color: var(--g-color-text-primary);
87
+ }
88
+ /*# sourceMappingURL=SearchItem.css.map */