@diplodoc/components 4.9.3 → 4.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (291) hide show
  1. package/build/cjs/components/BookmarkButton/BookmarkButton.css.map +1 -1
  2. package/build/cjs/components/BookmarkButton/BookmarkButton.js.map +2 -2
  3. package/build/cjs/components/Breadcrumbs/Breadcrumbs.css.map +1 -1
  4. package/build/cjs/components/Breadcrumbs/Breadcrumbs.js.map +2 -2
  5. package/build/cjs/components/ConsentPopup/ConsentPopup.js +6 -1
  6. package/build/cjs/components/ConsentPopup/ConsentPopup.js.map +2 -2
  7. package/build/cjs/components/ContributorAvatars/Avatars/Avatar.js.map +2 -2
  8. package/build/cjs/components/ContributorAvatars/Avatars/Details.js.map +2 -2
  9. package/build/cjs/components/ContributorAvatars/Avatars/HiddenAvatars.js.map +2 -2
  10. package/build/cjs/components/ContributorAvatars/ContributorAvatars.css.map +1 -1
  11. package/build/cjs/components/ContributorAvatars/ContributorAvatars.js.map +2 -2
  12. package/build/cjs/components/ContributorAvatars/models.d.ts +0 -1
  13. package/build/cjs/components/Contributors/Contributors.css.map +1 -1
  14. package/build/cjs/components/Contributors/Contributors.js.map +2 -2
  15. package/build/cjs/components/Control/Control.css.map +1 -1
  16. package/build/cjs/components/Control/Control.js.map +2 -2
  17. package/build/cjs/components/Controls/Controls.css.map +1 -1
  18. package/build/cjs/components/Controls/Controls.js.map +2 -2
  19. package/build/cjs/components/Controls/ControlsLayout.js.map +2 -2
  20. package/build/cjs/components/Controls/single-controls/DividerControl/DividerControl.css.map +1 -1
  21. package/build/cjs/components/Controls/single-controls/DividerControl/DividerControl.js.map +2 -2
  22. package/build/cjs/components/Controls/single-controls/EditControl.js.map +2 -2
  23. package/build/cjs/components/Controls/single-controls/FullScreenControl.js.map +2 -2
  24. package/build/cjs/components/Controls/single-controls/LangControl/LangControl.css.map +1 -1
  25. package/build/cjs/components/Controls/single-controls/LangControl/LangControl.js +3 -0
  26. package/build/cjs/components/Controls/single-controls/LangControl/LangControl.js.map +2 -2
  27. package/build/cjs/components/Controls/single-controls/PdfControl.js.map +2 -2
  28. package/build/cjs/components/Controls/single-controls/SettingsControl/SettingsControl.css +1 -3
  29. package/build/cjs/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +2 -2
  30. package/build/cjs/components/Controls/single-controls/SettingsControl/SettingsControl.js.map +2 -2
  31. package/build/cjs/components/Controls/single-controls/SinglePageControl.js.map +2 -2
  32. package/build/cjs/components/DocContentPage/DocContentPage.js.map +2 -2
  33. package/build/cjs/components/DocLayout/DocLayout.css +3 -2
  34. package/build/cjs/components/DocLayout/DocLayout.css.map +3 -3
  35. package/build/cjs/components/DocLayout/DocLayout.d.ts +3 -3
  36. package/build/cjs/components/DocLayout/DocLayout.js +1 -1
  37. package/build/cjs/components/DocLayout/DocLayout.js.map +2 -2
  38. package/build/cjs/components/DocLeadingPage/DocLeadingPage.css.map +1 -1
  39. package/build/cjs/components/DocLeadingPage/DocLeadingPage.js.map +2 -2
  40. package/build/cjs/components/DocPage/DocPage.css.map +1 -1
  41. package/build/cjs/components/DocPage/DocPage.js +2 -2
  42. package/build/cjs/components/DocPage/DocPage.js.map +2 -2
  43. package/build/cjs/components/DocPageTitle/DocPageTitle.css.map +1 -1
  44. package/build/cjs/components/DocPageTitle/DocPageTitle.js.map +2 -2
  45. package/build/cjs/components/ErrorBoundary/ErrorBoundary.js.map +2 -2
  46. package/build/cjs/components/ErrorPage/ErrorPage.css.map +1 -1
  47. package/build/cjs/components/ErrorPage/ErrorPage.js.map +2 -2
  48. package/build/cjs/components/Feedback/Feedback.css +0 -4
  49. package/build/cjs/components/Feedback/Feedback.css.map +2 -2
  50. package/build/cjs/components/Feedback/Feedback.js +5 -2
  51. package/build/cjs/components/Feedback/Feedback.js.map +2 -2
  52. package/build/cjs/components/Feedback/controls/DislikeControl.d.ts +1 -0
  53. package/build/cjs/components/Feedback/controls/DislikeControl.js +34 -19
  54. package/build/cjs/components/Feedback/controls/DislikeControl.js.map +2 -2
  55. package/build/cjs/components/Feedback/controls/DislikeVariantsPopup.js.map +2 -2
  56. package/build/cjs/components/Feedback/controls/LikeControl.d.ts +2 -1
  57. package/build/cjs/components/Feedback/controls/LikeControl.js +32 -27
  58. package/build/cjs/components/Feedback/controls/LikeControl.js.map +2 -2
  59. package/build/cjs/components/Feedback/controls/SuccessPopup.js.map +2 -2
  60. package/build/cjs/components/Mark/Mark.css.map +1 -1
  61. package/build/cjs/components/Mark/Mark.js.map +2 -2
  62. package/build/cjs/components/MiniToc/MiniToc.css.map +3 -3
  63. package/build/cjs/components/MiniToc/MiniToc.js.map +2 -2
  64. package/build/cjs/components/Paginator/Paginator.css.map +1 -1
  65. package/build/cjs/components/Paginator/Paginator.js.map +2 -2
  66. package/build/cjs/components/Scrollspy/Scrollspy.js.map +2 -2
  67. package/build/cjs/components/SearchBar/SearchBar.css.map +1 -1
  68. package/build/cjs/components/SearchBar/SearchBar.js.map +2 -2
  69. package/build/cjs/components/SearchBar/hooks.js +2 -2
  70. package/build/cjs/components/SearchBar/hooks.js.map +2 -2
  71. package/build/cjs/components/SearchItem/SearchItem.css.map +1 -1
  72. package/build/cjs/components/SearchItem/SearchItem.js.map +2 -2
  73. package/build/cjs/components/SearchPage/SearchPage.css.map +1 -1
  74. package/build/cjs/components/SearchPage/SearchPage.js.map +2 -2
  75. package/build/cjs/components/SearchSuggest/SearchInput.d.ts +19 -0
  76. package/build/cjs/components/SearchSuggest/SearchInput.js +96 -0
  77. package/build/cjs/components/SearchSuggest/SearchInput.js.map +7 -0
  78. package/build/cjs/components/SearchSuggest/Suggest.d.ts +18 -0
  79. package/build/cjs/components/SearchSuggest/Suggest.js +112 -0
  80. package/build/cjs/components/SearchSuggest/Suggest.js.map +7 -0
  81. package/build/cjs/components/SearchSuggest/SuggestItem.d.ts +3 -0
  82. package/build/cjs/components/SearchSuggest/SuggestItem.js +60 -0
  83. package/build/cjs/components/SearchSuggest/SuggestItem.js.map +7 -0
  84. package/build/cjs/components/SearchSuggest/index.css +132 -0
  85. package/build/cjs/components/SearchSuggest/index.css.map +7 -0
  86. package/build/cjs/components/SearchSuggest/index.d.ts +18 -0
  87. package/build/cjs/components/SearchSuggest/index.js +150 -0
  88. package/build/cjs/components/SearchSuggest/index.js.map +7 -0
  89. package/build/cjs/components/SearchSuggest/types.d.ts +53 -0
  90. package/build/cjs/components/SearchSuggest/types.js +34 -0
  91. package/build/cjs/components/SearchSuggest/types.js.map +7 -0
  92. package/build/cjs/components/SearchSuggest/useFocus.d.ts +14 -0
  93. package/build/cjs/components/SearchSuggest/useFocus.js +48 -0
  94. package/build/cjs/components/SearchSuggest/useFocus.js.map +7 -0
  95. package/build/cjs/components/SearchSuggest/useProvider.d.ts +6 -0
  96. package/build/cjs/components/SearchSuggest/useProvider.js +133 -0
  97. package/build/cjs/components/SearchSuggest/useProvider.js.map +7 -0
  98. package/build/cjs/components/Subscribe/Subscribe.css +0 -4
  99. package/build/cjs/components/Subscribe/Subscribe.css.map +2 -2
  100. package/build/cjs/components/Subscribe/Subscribe.js +32 -25
  101. package/build/cjs/components/Subscribe/Subscribe.js.map +2 -2
  102. package/build/cjs/components/Subscribe/SubscribeSuccessPopup/SubscribeSuccessPopup.d.ts +1 -1
  103. package/build/cjs/components/Subscribe/SubscribeSuccessPopup/SubscribeSuccessPopup.js.map +2 -2
  104. package/build/cjs/components/Subscribe/SubscribeVariantsPopup/SubscribeVariantsPopup.d.ts +2 -2
  105. package/build/cjs/components/Subscribe/SubscribeVariantsPopup/SubscribeVariantsPopup.js.map +2 -2
  106. package/build/cjs/components/Subscribe/utils.d.ts +1 -1
  107. package/build/cjs/components/Toc/Toc.css.map +1 -1
  108. package/build/cjs/components/Toc/Toc.d.ts +2 -2
  109. package/build/cjs/components/Toc/Toc.js +21 -2
  110. package/build/cjs/components/Toc/Toc.js.map +2 -2
  111. package/build/cjs/components/TocItem/TocItem.css.map +1 -1
  112. package/build/cjs/components/TocItem/TocItem.d.ts +1 -6
  113. package/build/cjs/components/TocItem/TocItem.js +20 -39
  114. package/build/cjs/components/TocItem/TocItem.js.map +2 -2
  115. package/build/cjs/components/TocLable/TocLabel.css.map +1 -1
  116. package/build/cjs/components/TocLable/TocLabel.js.map +2 -2
  117. package/build/cjs/components/TocNavPanel/TocNavPanel.css.map +1 -1
  118. package/build/cjs/components/TocNavPanel/TocNavPanel.js.map +2 -2
  119. package/build/cjs/components/ToggleArrow/ToggleArrow.css.map +1 -1
  120. package/build/cjs/components/ToggleArrow/ToggleArrow.js.map +2 -2
  121. package/build/cjs/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
  122. package/build/cjs/components/UpdatedAtDate/UpdatedAtDate.js.map +2 -2
  123. package/build/cjs/hooks/index.d.ts +1 -0
  124. package/build/cjs/hooks/index.js +1 -0
  125. package/build/cjs/hooks/index.js.map +2 -2
  126. package/build/cjs/hooks/useAnalytics.d.ts +1 -0
  127. package/build/cjs/hooks/useAnalytics.js +0 -1
  128. package/build/cjs/hooks/useAnalytics.js.map +2 -2
  129. package/build/cjs/hooks/usePopper.js.map +2 -2
  130. package/build/cjs/hooks/usePopupState.d.ts +1 -1
  131. package/build/cjs/hooks/useVirtualElementRef.d.ts +32 -0
  132. package/build/cjs/hooks/useVirtualElementRef.js +107 -0
  133. package/build/cjs/hooks/useVirtualElementRef.js.map +7 -0
  134. package/build/cjs/i18n/index.d.ts +18 -0
  135. package/build/cjs/i18n/index.js +11 -2
  136. package/build/cjs/i18n/index.js.map +2 -2
  137. package/build/cjs/index.d.ts +1 -0
  138. package/build/cjs/index.js +1 -0
  139. package/build/cjs/index.js.map +2 -2
  140. package/build/cjs/models/index.d.ts +3 -4
  141. package/build/cjs/models/index.js.map +1 -1
  142. package/build/cjs/utils/index.d.ts +1 -2
  143. package/build/cjs/utils/index.js.map +2 -2
  144. package/build/esm/components/BookmarkButton/BookmarkButton.css.map +1 -1
  145. package/build/esm/components/BookmarkButton/BookmarkButton.js.map +2 -2
  146. package/build/esm/components/Breadcrumbs/Breadcrumbs.css.map +1 -1
  147. package/build/esm/components/Breadcrumbs/Breadcrumbs.js.map +2 -2
  148. package/build/esm/components/ConsentPopup/ConsentPopup.js +6 -1
  149. package/build/esm/components/ConsentPopup/ConsentPopup.js.map +2 -2
  150. package/build/esm/components/ContributorAvatars/Avatars/Avatar.js.map +2 -2
  151. package/build/esm/components/ContributorAvatars/Avatars/Details.js.map +2 -2
  152. package/build/esm/components/ContributorAvatars/Avatars/HiddenAvatars.js.map +2 -2
  153. package/build/esm/components/ContributorAvatars/ContributorAvatars.css.map +1 -1
  154. package/build/esm/components/ContributorAvatars/ContributorAvatars.js.map +2 -2
  155. package/build/esm/components/ContributorAvatars/models.d.ts +0 -1
  156. package/build/esm/components/Contributors/Contributors.css.map +1 -1
  157. package/build/esm/components/Contributors/Contributors.js.map +2 -2
  158. package/build/esm/components/Control/Control.css.map +1 -1
  159. package/build/esm/components/Control/Control.js.map +2 -2
  160. package/build/esm/components/Controls/Controls.css.map +1 -1
  161. package/build/esm/components/Controls/Controls.js.map +2 -2
  162. package/build/esm/components/Controls/ControlsLayout.js.map +2 -2
  163. package/build/esm/components/Controls/single-controls/DividerControl/DividerControl.css.map +1 -1
  164. package/build/esm/components/Controls/single-controls/DividerControl/DividerControl.js.map +2 -2
  165. package/build/esm/components/Controls/single-controls/EditControl.js.map +2 -2
  166. package/build/esm/components/Controls/single-controls/FullScreenControl.js.map +2 -2
  167. package/build/esm/components/Controls/single-controls/LangControl/LangControl.css.map +1 -1
  168. package/build/esm/components/Controls/single-controls/LangControl/LangControl.js +3 -0
  169. package/build/esm/components/Controls/single-controls/LangControl/LangControl.js.map +2 -2
  170. package/build/esm/components/Controls/single-controls/PdfControl.js.map +2 -2
  171. package/build/esm/components/Controls/single-controls/SettingsControl/SettingsControl.css +1 -3
  172. package/build/esm/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +2 -2
  173. package/build/esm/components/Controls/single-controls/SettingsControl/SettingsControl.js.map +2 -2
  174. package/build/esm/components/Controls/single-controls/SinglePageControl.js.map +2 -2
  175. package/build/esm/components/DocContentPage/DocContentPage.js.map +2 -2
  176. package/build/esm/components/DocLayout/DocLayout.css +3 -2
  177. package/build/esm/components/DocLayout/DocLayout.css.map +3 -3
  178. package/build/esm/components/DocLayout/DocLayout.d.ts +3 -3
  179. package/build/esm/components/DocLayout/DocLayout.js +1 -1
  180. package/build/esm/components/DocLayout/DocLayout.js.map +2 -2
  181. package/build/esm/components/DocLeadingPage/DocLeadingPage.css.map +1 -1
  182. package/build/esm/components/DocLeadingPage/DocLeadingPage.js.map +2 -2
  183. package/build/esm/components/DocPage/DocPage.css.map +1 -1
  184. package/build/esm/components/DocPage/DocPage.js +2 -2
  185. package/build/esm/components/DocPage/DocPage.js.map +2 -2
  186. package/build/esm/components/DocPageTitle/DocPageTitle.css.map +1 -1
  187. package/build/esm/components/DocPageTitle/DocPageTitle.js.map +2 -2
  188. package/build/esm/components/ErrorBoundary/ErrorBoundary.js.map +2 -2
  189. package/build/esm/components/ErrorPage/ErrorPage.css.map +1 -1
  190. package/build/esm/components/ErrorPage/ErrorPage.js.map +2 -2
  191. package/build/esm/components/Feedback/Feedback.css +0 -4
  192. package/build/esm/components/Feedback/Feedback.css.map +2 -2
  193. package/build/esm/components/Feedback/Feedback.js +5 -2
  194. package/build/esm/components/Feedback/Feedback.js.map +2 -2
  195. package/build/esm/components/Feedback/controls/DislikeControl.d.ts +1 -0
  196. package/build/esm/components/Feedback/controls/DislikeControl.js +34 -19
  197. package/build/esm/components/Feedback/controls/DislikeControl.js.map +2 -2
  198. package/build/esm/components/Feedback/controls/DislikeVariantsPopup.js.map +2 -2
  199. package/build/esm/components/Feedback/controls/LikeControl.d.ts +2 -1
  200. package/build/esm/components/Feedback/controls/LikeControl.js +32 -27
  201. package/build/esm/components/Feedback/controls/LikeControl.js.map +2 -2
  202. package/build/esm/components/Feedback/controls/SuccessPopup.js.map +2 -2
  203. package/build/esm/components/Mark/Mark.css.map +1 -1
  204. package/build/esm/components/Mark/Mark.js.map +2 -2
  205. package/build/esm/components/MiniToc/MiniToc.css.map +3 -3
  206. package/build/esm/components/MiniToc/MiniToc.js.map +2 -2
  207. package/build/esm/components/Paginator/Paginator.css.map +1 -1
  208. package/build/esm/components/Paginator/Paginator.js.map +2 -2
  209. package/build/esm/components/Scrollspy/Scrollspy.js.map +2 -2
  210. package/build/esm/components/SearchBar/SearchBar.css.map +1 -1
  211. package/build/esm/components/SearchBar/SearchBar.js.map +2 -2
  212. package/build/esm/components/SearchBar/hooks.js +2 -2
  213. package/build/esm/components/SearchBar/hooks.js.map +2 -2
  214. package/build/esm/components/SearchItem/SearchItem.css.map +1 -1
  215. package/build/esm/components/SearchItem/SearchItem.js.map +2 -2
  216. package/build/esm/components/SearchPage/SearchPage.css.map +1 -1
  217. package/build/esm/components/SearchPage/SearchPage.js.map +2 -2
  218. package/build/esm/components/SearchSuggest/SearchInput.d.ts +19 -0
  219. package/build/esm/components/SearchSuggest/SearchInput.js +68 -0
  220. package/build/esm/components/SearchSuggest/SearchInput.js.map +7 -0
  221. package/build/esm/components/SearchSuggest/Suggest.d.ts +18 -0
  222. package/build/esm/components/SearchSuggest/Suggest.js +84 -0
  223. package/build/esm/components/SearchSuggest/Suggest.js.map +7 -0
  224. package/build/esm/components/SearchSuggest/SuggestItem.d.ts +3 -0
  225. package/build/esm/components/SearchSuggest/SuggestItem.js +29 -0
  226. package/build/esm/components/SearchSuggest/SuggestItem.js.map +7 -0
  227. package/build/esm/components/SearchSuggest/index.css +132 -0
  228. package/build/esm/components/SearchSuggest/index.css.map +7 -0
  229. package/build/esm/components/SearchSuggest/index.d.ts +18 -0
  230. package/build/esm/components/SearchSuggest/index.js +129 -0
  231. package/build/esm/components/SearchSuggest/index.js.map +7 -0
  232. package/build/esm/components/SearchSuggest/types.d.ts +53 -0
  233. package/build/esm/components/SearchSuggest/types.js +13 -0
  234. package/build/esm/components/SearchSuggest/types.js.map +7 -0
  235. package/build/esm/components/SearchSuggest/useFocus.d.ts +14 -0
  236. package/build/esm/components/SearchSuggest/useFocus.js +27 -0
  237. package/build/esm/components/SearchSuggest/useFocus.js.map +7 -0
  238. package/build/esm/components/SearchSuggest/useProvider.d.ts +6 -0
  239. package/build/esm/components/SearchSuggest/useProvider.js +102 -0
  240. package/build/esm/components/SearchSuggest/useProvider.js.map +7 -0
  241. package/build/esm/components/Subscribe/Subscribe.css +0 -4
  242. package/build/esm/components/Subscribe/Subscribe.css.map +2 -2
  243. package/build/esm/components/Subscribe/Subscribe.js +32 -25
  244. package/build/esm/components/Subscribe/Subscribe.js.map +2 -2
  245. package/build/esm/components/Subscribe/SubscribeSuccessPopup/SubscribeSuccessPopup.d.ts +1 -1
  246. package/build/esm/components/Subscribe/SubscribeSuccessPopup/SubscribeSuccessPopup.js.map +2 -2
  247. package/build/esm/components/Subscribe/SubscribeVariantsPopup/SubscribeVariantsPopup.d.ts +2 -2
  248. package/build/esm/components/Subscribe/SubscribeVariantsPopup/SubscribeVariantsPopup.js.map +2 -2
  249. package/build/esm/components/Subscribe/utils.d.ts +1 -1
  250. package/build/esm/components/Toc/Toc.css.map +1 -1
  251. package/build/esm/components/Toc/Toc.d.ts +2 -2
  252. package/build/esm/components/Toc/Toc.js +21 -2
  253. package/build/esm/components/Toc/Toc.js.map +2 -2
  254. package/build/esm/components/TocItem/TocItem.css.map +1 -1
  255. package/build/esm/components/TocItem/TocItem.d.ts +1 -6
  256. package/build/esm/components/TocItem/TocItem.js +20 -39
  257. package/build/esm/components/TocItem/TocItem.js.map +2 -2
  258. package/build/esm/components/TocLable/TocLabel.css.map +1 -1
  259. package/build/esm/components/TocLable/TocLabel.js.map +2 -2
  260. package/build/esm/components/TocNavPanel/TocNavPanel.css.map +1 -1
  261. package/build/esm/components/TocNavPanel/TocNavPanel.js.map +2 -2
  262. package/build/esm/components/ToggleArrow/ToggleArrow.css.map +1 -1
  263. package/build/esm/components/ToggleArrow/ToggleArrow.js.map +2 -2
  264. package/build/esm/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
  265. package/build/esm/components/UpdatedAtDate/UpdatedAtDate.js.map +2 -2
  266. package/build/esm/hooks/index.d.ts +1 -0
  267. package/build/esm/hooks/index.js +1 -0
  268. package/build/esm/hooks/index.js.map +2 -2
  269. package/build/esm/hooks/useAnalytics.d.ts +1 -0
  270. package/build/esm/hooks/useAnalytics.js +0 -2
  271. package/build/esm/hooks/useAnalytics.js.map +2 -2
  272. package/build/esm/hooks/usePopper.js.map +2 -2
  273. package/build/esm/hooks/usePopupState.d.ts +1 -1
  274. package/build/esm/hooks/useVirtualElementRef.d.ts +32 -0
  275. package/build/esm/hooks/useVirtualElementRef.js +89 -0
  276. package/build/esm/hooks/useVirtualElementRef.js.map +7 -0
  277. package/build/esm/i18n/index.d.ts +18 -0
  278. package/build/esm/i18n/index.js +11 -2
  279. package/build/esm/i18n/index.js.map +2 -2
  280. package/build/esm/index.d.ts +1 -0
  281. package/build/esm/index.js +1 -0
  282. package/build/esm/index.js.map +2 -2
  283. package/build/esm/models/index.d.ts +3 -4
  284. package/build/esm/models/index.js.map +1 -1
  285. package/build/esm/utils/index.d.ts +1 -2
  286. package/build/esm/utils/index.js.map +2 -2
  287. package/build/index.css.map +1 -1
  288. package/build/themes/common/index.css.map +1 -1
  289. package/package.json +10 -45
  290. package/src/i18n/en.json +10 -1
  291. package/src/i18n/ru.json +10 -1
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/components/SearchSuggest/SuggestItem.tsx
31
+ var SuggestItem_exports = {};
32
+ __export(SuggestItem_exports, {
33
+ SuggestItem: () => SuggestItem
34
+ });
35
+ module.exports = __toCommonJS(SuggestItem_exports);
36
+ var import_react = __toESM(require("react"));
37
+ var import_icons = require("@gravity-ui/icons");
38
+ var import_uikit = require("@gravity-ui/uikit");
39
+ var import_bem_cn_lite = __toESM(require("bem-cn-lite"));
40
+ var import_HTML = require("../HTML");
41
+ var import_types = require("./types");
42
+ var b = (0, import_bem_cn_lite.default)("dc-search-suggest");
43
+ var BasicSuggestItem = ({ item, children }) => {
44
+ return /* @__PURE__ */ import_react.default.createElement("div", { className: b("item", { type: item.type }) }, children);
45
+ };
46
+ var SuggestItem = (item) => {
47
+ switch (item.type) {
48
+ case import_types.SuggestItemType.Delimiter:
49
+ return /* @__PURE__ */ import_react.default.createElement(BasicSuggestItem, { item }, null);
50
+ case import_types.SuggestItemType.Link:
51
+ return /* @__PURE__ */ import_react.default.createElement(import_uikit.Link, { className: b("item", { type: item.type }), view: "primary", href: item.link }, /* @__PURE__ */ import_react.default.createElement("span", null, item.title), /* @__PURE__ */ import_react.default.createElement(import_icons.ChevronRight, { width: 13, height: 13, viewBox: "0 0 13 13" }));
52
+ case import_types.SuggestItemType.Page:
53
+ return /* @__PURE__ */ import_react.default.createElement(import_uikit.Link, { className: b("item", { type: item.type }), view: "primary", href: item.link }, /* @__PURE__ */ import_react.default.createElement("span", { className: b("item-title") }, /* @__PURE__ */ import_react.default.createElement(import_HTML.HTML, null, item.title)), /* @__PURE__ */ import_react.default.createElement("span", { className: b("item-description") }, /* @__PURE__ */ import_react.default.createElement(import_HTML.HTML, null, item.description)));
54
+ case import_types.SuggestItemType.Group:
55
+ return /* @__PURE__ */ import_react.default.createElement(BasicSuggestItem, { item }, /* @__PURE__ */ import_react.default.createElement("h5", null, /* @__PURE__ */ import_react.default.createElement(import_HTML.HTML, null, item.title)));
56
+ default:
57
+ return /* @__PURE__ */ import_react.default.createElement(BasicSuggestItem, { item }, /* @__PURE__ */ import_react.default.createElement(import_HTML.HTML, null, item.title));
58
+ }
59
+ };
60
+ //# sourceMappingURL=SuggestItem.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/SearchSuggest/SuggestItem.tsx"],
4
+ "sourcesContent": ["import type {SearchSuggestItem} from './types';\n\nimport React, {FC, PropsWithChildren} from 'react';\nimport {ChevronRight} from '@gravity-ui/icons';\nimport {Link} from '@gravity-ui/uikit';\nimport block from 'bem-cn-lite';\n\nimport {HTML} from '../HTML';\n\nimport {SuggestItemType} from './types';\n\nconst b = block('dc-search-suggest');\n\nconst BasicSuggestItem: FC<PropsWithChildren<{item: SearchSuggestItem}>> = ({item, children}) => {\n return <div className={b('item', {type: item.type})}>{children}</div>;\n};\n\nexport const SuggestItem: React.FC<SearchSuggestItem> = (item) => {\n switch (item.type) {\n case SuggestItemType.Delimiter:\n return <BasicSuggestItem item={item}>{null}</BasicSuggestItem>;\n case SuggestItemType.Link:\n return (\n <Link className={b('item', {type: item.type})} view={'primary'} href={item.link}>\n <span>{item.title}</span>\n <ChevronRight width={13} height={13} viewBox={'0 0 13 13'} />\n </Link>\n );\n case SuggestItemType.Page:\n return (\n <Link className={b('item', {type: item.type})} view={'primary'} href={item.link}>\n <span className={b('item-title')}>\n <HTML>{item.title}</HTML>\n </span>\n <span className={b('item-description')}>\n <HTML>{item.description}</HTML>\n </span>\n </Link>\n );\n case SuggestItemType.Group:\n return (\n <BasicSuggestItem item={item}>\n <h5>\n <HTML>{item.title}</HTML>\n </h5>\n </BasicSuggestItem>\n );\n default:\n return (\n <BasicSuggestItem item={item}>\n <HTML>{item.title}</HTML>\n </BasicSuggestItem>\n );\n }\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA2C;AAC3C,mBAA2B;AAC3B,mBAAmB;AACnB,yBAAkB;AAElB,kBAAmB;AAEnB,mBAA8B;AAE9B,IAAM,QAAI,mBAAAA,SAAM,mBAAmB;AAEnC,IAAM,mBAAqE,CAAC,EAAC,MAAM,SAAQ,MAAM;AAC7F,SAAO,6BAAAC,QAAA,cAAC,SAAI,WAAW,EAAE,QAAQ,EAAC,MAAM,KAAK,KAAI,CAAC,KAAI,QAAS;AACnE;AAEO,IAAM,cAA2C,CAAC,SAAS;AAC9D,UAAQ,KAAK,MAAM;AAAA,IACf,KAAK,6BAAgB;AACjB,aAAO,6BAAAA,QAAA,cAAC,oBAAiB,QAAa,IAAK;AAAA,IAC/C,KAAK,6BAAgB;AACjB,aACI,6BAAAA,QAAA,cAAC,qBAAK,WAAW,EAAE,QAAQ,EAAC,MAAM,KAAK,KAAI,CAAC,GAAG,MAAM,WAAW,MAAM,KAAK,QACvE,6BAAAA,QAAA,cAAC,cAAM,KAAK,KAAM,GAClB,6BAAAA,QAAA,cAAC,6BAAa,OAAO,IAAI,QAAQ,IAAI,SAAS,aAAa,CAC/D;AAAA,IAER,KAAK,6BAAgB;AACjB,aACI,6BAAAA,QAAA,cAAC,qBAAK,WAAW,EAAE,QAAQ,EAAC,MAAM,KAAK,KAAI,CAAC,GAAG,MAAM,WAAW,MAAM,KAAK,QACvE,6BAAAA,QAAA,cAAC,UAAK,WAAW,EAAE,YAAY,KAC3B,6BAAAA,QAAA,cAAC,wBAAM,KAAK,KAAM,CACtB,GACA,6BAAAA,QAAA,cAAC,UAAK,WAAW,EAAE,kBAAkB,KACjC,6BAAAA,QAAA,cAAC,wBAAM,KAAK,WAAY,CAC5B,CACJ;AAAA,IAER,KAAK,6BAAgB;AACjB,aACI,6BAAAA,QAAA,cAAC,oBAAiB,QACd,6BAAAA,QAAA,cAAC,YACG,6BAAAA,QAAA,cAAC,wBAAM,KAAK,KAAM,CACtB,CACJ;AAAA,IAER;AACI,aACI,6BAAAA,QAAA,cAAC,oBAAiB,QACd,6BAAAA,QAAA,cAAC,wBAAM,KAAK,KAAM,CACtB;AAAA,EAEZ;AACJ;",
6
+ "names": ["block", "React"]
7
+ }
@@ -0,0 +1,132 @@
1
+ /* src/components/SearchSuggest/index.scss */
2
+ .dc-search-suggest__wrapper {
3
+ position: relative;
4
+ }
5
+ .dc-search-suggest__loader {
6
+ display: flex;
7
+ justify-content: center;
8
+ padding: 10px;
9
+ }
10
+ .dc-search-suggest__list {
11
+ box-sizing: border-box;
12
+ display: flex;
13
+ max-height: 60vh;
14
+ overflow-x: hidden;
15
+ overflow-y: auto;
16
+ overflow: hidden auto;
17
+ }
18
+ .dc-search-suggest__list_empty {
19
+ text-align: center;
20
+ padding: 12px;
21
+ word-break: break-word;
22
+ }
23
+ .dc-search-suggest__item {
24
+ font-size: var(--g-text-body-1-font-size);
25
+ line-height: var(--g-text-body-1-line-height);
26
+ width: 100%;
27
+ display: block;
28
+ overflow: hidden;
29
+ padding: 12px 20px;
30
+ box-sizing: border-box;
31
+ cursor: pointer;
32
+ white-space: nowrap;
33
+ text-overflow: ellipsis;
34
+ }
35
+ .dc-search-suggest__item-title,
36
+ .dc-search-suggest__item-description,
37
+ .dc-search-suggest__item-breadcrumbs > * {
38
+ display: block;
39
+ overflow: hidden;
40
+ text-overflow: ellipsis;
41
+ }
42
+ .dc-search-suggest__item-description {
43
+ margin-top: 4px;
44
+ color: var(--g-color-text-secondary);
45
+ }
46
+ .dc-search-suggest__item_type_page {
47
+ outline: none;
48
+ color: var(--g-color-text-link);
49
+ -webkit-text-decoration: none;
50
+ text-decoration: none;
51
+ cursor: pointer;
52
+ border-radius: var(--g-focus-border-radius);
53
+ padding-bottom: 9px;
54
+ }
55
+ .utilityfocus .dc-search-suggest__item_type_page:focus {
56
+ outline: 2px solid #ffdb4d;
57
+ }
58
+ .dc-search-suggest__item_type_page:focus {
59
+ box-shadow: 0 0 0 2px var(--g-color-line-focus);
60
+ outline: 0;
61
+ }
62
+ .dc-search-suggest__item_type_page:focus:not(:focus-visible) {
63
+ box-shadow: none;
64
+ }
65
+ .dc-search-suggest__item_type_page:hover,
66
+ .dc-search-suggest__item_type_page:active {
67
+ color: var(--g-color-text-link-hover);
68
+ }
69
+ .dc-search-suggest__item_type_page .dc-search-suggest__item-breadcrumbs {
70
+ padding-top: 2px;
71
+ color: var(--g-color-text-secondary);
72
+ }
73
+ .dc-search-suggest__item_type_service,
74
+ .dc-search-suggest__item_type_marketplace {
75
+ display: flex;
76
+ padding-top: 9px;
77
+ padding-bottom: 11px;
78
+ }
79
+ .dc-search-suggest__item_type_service .dc-search-suggest__item-logo,
80
+ .dc-search-suggest__item_type_marketplace .dc-search-suggest__item-logo {
81
+ margin-right: 16px;
82
+ padding: 3px 0 1px;
83
+ text-align: center;
84
+ }
85
+ .dc-search-suggest__item_type_service .dc-search-suggest__item-icon,
86
+ .dc-search-suggest__item_type_marketplace .dc-search-suggest__item-icon {
87
+ width: 16px;
88
+ height: var(--g-text-body-3-line-height);
89
+ }
90
+ .dc-search-suggest__item_type_service .dc-search-suggest__item-text,
91
+ .dc-search-suggest__item_type_marketplace .dc-search-suggest__item-text {
92
+ min-width: 0;
93
+ }
94
+ .dc-search-suggest__item_type_service .dc-search-suggest__item-title,
95
+ .dc-search-suggest__item_type_marketplace .dc-search-suggest__item-title {
96
+ padding: 3px 0 1px;
97
+ }
98
+ .dc-search-suggest__item_type_group {
99
+ padding: 16px 20px 4px;
100
+ color: var(--www-text-content-color);
101
+ }
102
+ .dc-search-suggest__item_type_link {
103
+ display: flex;
104
+ padding: 22px 20px;
105
+ color: var(--g-color-text-link);
106
+ border-top: 1px solid var(--g-color-line-generic);
107
+ }
108
+ .dc-search-suggest__item_type_delimiter {
109
+ height: 1px;
110
+ padding: 0;
111
+ background-color: var(--g-color-line-generic);
112
+ }
113
+ .dc-search-suggest__item h5 {
114
+ margin: 0;
115
+ font-weight: 700;
116
+ font-size: 16px;
117
+ line-height: 25px;
118
+ }
119
+ .dc-search-suggest__item em {
120
+ position: relative;
121
+ font-style: inherit;
122
+ }
123
+ .dc-search-suggest__item em::before {
124
+ position: absolute;
125
+ z-index: -1;
126
+ top: -3px;
127
+ bottom: -1px;
128
+ width: 100%;
129
+ content: "";
130
+ background-color: var(--g-color-base-selection);
131
+ }
132
+ /*# sourceMappingURL=index.css.map */
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/SearchSuggest/home/runner/work/components/components/src/components/SearchSuggest/index.scss", "../../../../src/components/SearchSuggest/%3Cinput%20css%20VHRUsX%3E", "../../../../src/components/SearchSuggest/home/runner/work/components/components/src/styles/mixins.scss"],
4
+ "sourcesContent": ["@import '../../styles/variables';\n@import '../../styles/mixins';\n\n.dc-search-suggest {\n $block: &;\n\n &__wrapper {\n position: relative;\n }\n\n &__loader {\n display: flex;\n justify-content: center;\n padding: 10px;\n }\n\n &__list {\n box-sizing: border-box;\n display: flex;\n max-height: 60vh;\n overflow: hidden auto;\n\n &_empty {\n text-align: center;\n padding: 12px;\n word-break: break-word;\n }\n }\n\n &__item {\n @include text-size(body-1);\n\n width: 100%;\n display: block;\n overflow: hidden;\n padding: 12px 20px;\n box-sizing: border-box;\n\n cursor: pointer;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n &-title,\n &-description,\n &-breadcrumbs > * {\n display: block;\n overflow: hidden;\n\n text-overflow: ellipsis;\n }\n\n &-description {\n margin-top: 4px;\n\n color: var(--g-color-text-secondary);\n }\n\n &_type {\n &_page {\n @include link();\n\n padding-bottom: 9px;\n\n #{$block}__item {\n &-breadcrumbs {\n padding-top: 2px;\n\n color: var(--g-color-text-secondary);\n }\n }\n }\n\n &_service,\n &_marketplace {\n display: flex;\n\n padding-top: 9px;\n padding-bottom: 11px;\n\n #{$block}__item {\n &-logo {\n margin-right: 16px;\n padding: 3px 0 1px;\n\n text-align: center;\n }\n\n &-icon {\n width: 16px;\n height: var(--g-text-body-3-line-height);\n }\n\n &-text {\n min-width: 0;\n }\n\n &-title {\n padding: 3px 0 1px;\n }\n }\n }\n\n &_group {\n padding: 16px 20px 4px;\n\n color: var(--www-text-content-color);\n }\n\n &_link {\n display: flex;\n\n padding: 22px 20px;\n\n color: var(--g-color-text-link);\n border-top: 1px solid var(--g-color-line-generic);\n }\n\n &_delimiter {\n height: 1px;\n padding: 0;\n\n background-color: var(--g-color-line-generic);\n }\n }\n\n h5 {\n margin: 0;\n font-weight: 700;\n font-size: 16px;\n line-height: 25px;\n }\n\n em {\n position: relative;\n\n font-style: inherit;\n\n &::before {\n position: absolute;\n z-index: -1;\n top: -3px;\n bottom: -1px;\n\n width: 100%;\n\n content: '';\n\n background-color: var(--g-color-base-selection);\n }\n }\n }\n}\n", ".dc-search-suggest__wrapper {\n position: relative;\n}\n.dc-search-suggest__loader {\n display: flex;\n justify-content: center;\n padding: 10px;\n}\n.dc-search-suggest__list {\n box-sizing: border-box;\n display: flex;\n max-height: 60vh;\n overflow: hidden auto;\n}\n.dc-search-suggest__list_empty {\n text-align: center;\n padding: 12px;\n word-break: break-word;\n}\n.dc-search-suggest__item {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n width: 100%;\n display: block;\n overflow: hidden;\n padding: 12px 20px;\n box-sizing: border-box;\n cursor: pointer;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.dc-search-suggest__item-title, .dc-search-suggest__item-description, .dc-search-suggest__item-breadcrumbs > * {\n display: block;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n.dc-search-suggest__item-description {\n margin-top: 4px;\n color: var(--g-color-text-secondary);\n}\n.dc-search-suggest__item_type_page {\n outline: none;\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n padding-bottom: 9px;\n}\n.utilityfocus .dc-search-suggest__item_type_page:focus {\n outline: 2px solid #ffdb4d;\n}\n.dc-search-suggest__item_type_page:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n}\n.dc-search-suggest__item_type_page:focus:not(:focus-visible) {\n box-shadow: none;\n}\n.dc-search-suggest__item_type_page:hover, .dc-search-suggest__item_type_page:active {\n color: var(--g-color-text-link-hover);\n}\n.dc-search-suggest__item_type_page .dc-search-suggest__item-breadcrumbs {\n padding-top: 2px;\n color: var(--g-color-text-secondary);\n}\n.dc-search-suggest__item_type_service, .dc-search-suggest__item_type_marketplace {\n display: flex;\n padding-top: 9px;\n padding-bottom: 11px;\n}\n.dc-search-suggest__item_type_service .dc-search-suggest__item-logo, .dc-search-suggest__item_type_marketplace .dc-search-suggest__item-logo {\n margin-right: 16px;\n padding: 3px 0 1px;\n text-align: center;\n}\n.dc-search-suggest__item_type_service .dc-search-suggest__item-icon, .dc-search-suggest__item_type_marketplace .dc-search-suggest__item-icon {\n width: 16px;\n height: var(--g-text-body-3-line-height);\n}\n.dc-search-suggest__item_type_service .dc-search-suggest__item-text, .dc-search-suggest__item_type_marketplace .dc-search-suggest__item-text {\n min-width: 0;\n}\n.dc-search-suggest__item_type_service .dc-search-suggest__item-title, .dc-search-suggest__item_type_marketplace .dc-search-suggest__item-title {\n padding: 3px 0 1px;\n}\n.dc-search-suggest__item_type_group {\n padding: 16px 20px 4px;\n color: var(--www-text-content-color);\n}\n.dc-search-suggest__item_type_link {\n display: flex;\n padding: 22px 20px;\n color: var(--g-color-text-link);\n border-top: 1px solid var(--g-color-line-generic);\n}\n.dc-search-suggest__item_type_delimiter {\n height: 1px;\n padding: 0;\n background-color: var(--g-color-line-generic);\n}\n.dc-search-suggest__item h5 {\n margin: 0;\n font-weight: 700;\n font-size: 16px;\n line-height: 25px;\n}\n.dc-search-suggest__item em {\n position: relative;\n font-style: inherit;\n}\n.dc-search-suggest__item em::before {\n position: absolute;\n z-index: -1;\n top: -3px;\n bottom: -1px;\n width: 100%;\n content: \"\";\n background-color: var(--g-color-base-selection);\n}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VSb290IjoiL2hvbWUvcnVubmVyL3dvcmsvY29tcG9uZW50cy9jb21wb25lbnRzL3NyYy9jb21wb25lbnRzL1NlYXJjaFN1Z2dlc3QiLCJzb3VyY2VzIjpbImluZGV4LnNjc3MiLCIuLi8uLi9zdHlsZXMvbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUk7RUFDSTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUVBO0VBQ0k7RUFDQTtFQUNBOztBQUlSO0VDMUJBO0VBQ0E7RUQ0Qkk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTs7QUFFQTtFQUdJO0VBQ0E7RUFFQTs7QUFHSjtFQUNJO0VBRUE7O0FBSUE7RUNsQ1I7RUFpQ0E7RUFDQTtFQUNBO0VBQ0E7RURDWTs7QUNuQ1o7RUFDSTs7QUFnQkE7RUFDSTtFQUNBOztBQUVKO0VBQ0k7O0FBY1I7RUFFSTs7QURBWTtFQUNJO0VBRUE7O0FBS1o7RUFFSTtFQUVBO0VBQ0E7O0FBR0k7RUFDSTtFQUNBO0VBRUE7O0FBR0o7RUFDSTtFQUNBOztBQUdKO0VBQ0k7O0FBR0o7RUFDSTs7QUFLWjtFQUNJO0VBRUE7O0FBR0o7RUFDSTtFQUVBO0VBRUE7RUFDQTs7QUFHSjtFQUNJO0VBQ0E7RUFFQTs7QUFJUjtFQUNJO0VBQ0E7RUFDQTtFQUNBOztBQUdKO0VBQ0k7RUFFQTs7QUFFQTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFFQTtFQUVBIiwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCAnLi4vLi4vc3R5bGVzL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi8uLi9zdHlsZXMvbWl4aW5zJztcblxuLmRjLXNlYXJjaC1zdWdnZXN0IHtcbiAgICAkYmxvY2s6ICY7XG5cbiAgICAmX193cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICZfX2xvYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgIH1cblxuICAgICZfX2xpc3Qge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXgtaGVpZ2h0OiA2MHZoO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuIGF1dG87XG5cbiAgICAgICAgJl9lbXB0eSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoYm9keS0xKTtcblxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDEycHggMjBweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgICAgICYtdGl0bGUsXG4gICAgICAgICYtZGVzY3JpcHRpb24sXG4gICAgICAgICYtYnJlYWRjcnVtYnMgPiAqIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIH1cblxuICAgICAgICAmLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcblxuICAgICAgICAgICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJl90eXBlIHtcbiAgICAgICAgICAgICZfcGFnZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbGluaygpO1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDlweDtcblxuICAgICAgICAgICAgICAgICN7JGJsb2NrfV9faXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICYtYnJlYWRjcnVtYnMge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDJweDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWctY29sb3ItdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX3NlcnZpY2UsXG4gICAgICAgICAgICAmX21hcmtldHBsYWNlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDlweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTFweDtcblxuICAgICAgICAgICAgICAgICN7JGJsb2NrfV9faXRlbSB7XG4gICAgICAgICAgICAgICAgICAgICYtbG9nbyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHggMCAxcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICYtaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktMy1saW5lLWhlaWdodCk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJi10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAzcHggMCAxcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfZ3JvdXAge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMjBweCA0cHg7XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0td3d3LXRleHQtY29udGVudC1jb2xvcik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfbGluayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIycHggMjBweDtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1nLWNvbG9yLXRleHQtbGluayk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWctY29sb3ItbGluZS1nZW5lcmljKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJl9kZWxpbWl0ZXIge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1nLWNvbG9yLWxpbmUtZ2VuZXJpYyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoNSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBlbSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGluaGVyaXQ7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgICAgIHRvcDogLTNweDtcbiAgICAgICAgICAgICAgICBib3R0b206IC0xcHg7XG5cbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tZy1jb2xvci1iYXNlLXNlbGVjdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuL3ZhcmlhYmxlcyc7XG5cbkBtaXhpbiB0ZXh0LXNpemUoJG5hbWUpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC0jeyRuYW1lfS1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1nLXRleHQtI3skbmFtZX0tbGluZS1oZWlnaHQpO1xufVxuXG5AbWl4aW4gcmVzZXQtbGlzdC1zdHlsZSgpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG5AbWl4aW4gZml4QW5jaG9yUG9zaXRpb24oJG9mZnNldDogMHB4KSB7XG4gICAgcGFkZGluZy10b3A6IGNhbGModmFyKC0tZGMtaGVhZGVyLWhlaWdodCwgI3skaGVhZGVySGVpZ2h0fSkpO1xuICAgIG1hcmdpbi10b3A6IGNhbGMoI3skb2Zmc2V0fSAtIHZhcigtLWRjLWhlYWRlci1oZWlnaHQsICN7JGhlYWRlckhlaWdodH0pKTtcbn1cblxuQG1peGluIHJlc2V0LWxpbmstc3R5bGUoKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWl4aW4gaXNsYW5kcy1mb2N1cygpIHtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgLnV0aWxpdHlmb2N1cyAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogMnB4IHNvbGlkICNmZmRiNGQ7XG4gICAgfVxufVxuXG5AbWl4aW4gZm9jdXNhYmxlKCRvZmZzZXQ6IDAsICRtb2RlOiAnb3V0bGluZScpIHtcbiAgICBAaWYgJG1vZGUgPT0gJ291dGxpbmUnIHtcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiAycHggc29saWQgdmFyKC0tZy1jb2xvci1saW5lLWZvY3VzKTtcbiAgICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAkb2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRtb2RlID09ICdib3gtc2hhZG93JyB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHZhcigtLWctY29sb3ItbGluZS1mb2N1cyk7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXM6bm90KDpmb2N1cy12aXNpYmxlKSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbGluaygpIHtcbiAgICBAaW5jbHVkZSBpc2xhbmRzLWZvY3VzKCk7XG4gICAgQGluY2x1ZGUgZm9jdXNhYmxlKDAsICdib3gtc2hhZG93Jyk7XG5cbiAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LWxpbmspO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tZy1mb2N1cy1ib3JkZXItcmFkaXVzKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBjb2xvcjogdmFyKC0tZy1jb2xvci10ZXh0LWxpbmstaG92ZXIpO1xuICAgIH1cbn1cblxuQG1peGluIGhlYWRpbmcxKCkge1xuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShkaXNwbGF5LTMpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0yKTtcbiAgICB9XG59XG5cbkBtaXhpbiBoZWFkaW5nMigpIHtcbiAgICBAaW5jbHVkZSB0ZXh0LXNpemUoZGlzcGxheS0xKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gaGVhZGluZzMoKSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0yKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gaGVhZGluZzQoKSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGhlYWRlci0xKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG5AbWl4aW4gaGVhZGluZzUoKSB7XG4gICAgQGluY2x1ZGUgdGV4dC1zaXplKGJvZHktMyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuQG1peGluIGhlYWRpbmc2KCkge1xuICAgIEBpbmNsdWRlIHRleHQtc2l6ZShib2R5LTMpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbkBtaXhpbiBjb250cmlidXRvcnMtdGV4dCgpIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG5cbkBtaXhpbiB0ZXh0LWJvZHktMSgpIHtcbiAgICBmb250LXNpemU6IHZhcigtLWctdGV4dC1ib2R5LTEtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tZy10ZXh0LWJvZHktMS1saW5lLWhlaWdodCk7XG4gICAgZm9udC13ZWlnaHQ6IHZhcigtLWctdGV4dC1ib2R5LWZvbnQtd2VpZ2h0KTtcbn1cblxuQG1peGluIGRlc2t0b3Atb25seSgpIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogbWFwLWdldCgkc2NyZWVuQnJlYWtwb2ludHMsICdtZCcpIC0gMSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIGRlc2t0b3AtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IG1hcC1nZXQoJHNjcmVlbkJyZWFrcG9pbnRzLCAnc20nKSAtIDEpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbkBtaXhpbiBtb2JpbGUtdGFibGV0LW9ubHkoKSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IG1hcC1nZXQoJHNjcmVlbkJyZWFrcG9pbnRzLCAnbWQnKSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuQG1peGluIG1vYmlsZS1vbmx5KCkge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiBtYXAtZ2V0KCRzY3JlZW5CcmVha3BvaW50cywgJ3NtJykpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iXX0= */", "@import './variables';\n\n@mixin text-size($name) {\n font-size: var(--g-text-#{$name}-font-size);\n line-height: var(--g-text-#{$name}-line-height);\n}\n\n@mixin reset-list-style() {\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n@mixin fixAnchorPosition($offset: 0px) {\n padding-top: calc(var(--dc-header-height, #{$headerHeight}));\n margin-top: calc(#{$offset} - var(--dc-header-height, #{$headerHeight}));\n}\n\n@mixin reset-link-style() {\n color: inherit;\n text-decoration: none;\n}\n\n@mixin islands-focus() {\n outline: none;\n\n .utilityfocus &:focus {\n outline: 2px solid #ffdb4d;\n }\n}\n\n@mixin focusable($offset: 0, $mode: 'outline') {\n @if $mode == 'outline' {\n &:focus {\n outline: 2px solid var(--g-color-line-focus);\n outline-offset: $offset;\n }\n &:focus:not(:focus-visible) {\n outline: 0;\n }\n }\n\n @if $mode == 'box-shadow' {\n &:focus {\n box-shadow: 0 0 0 2px var(--g-color-line-focus);\n outline: 0;\n }\n &:focus:not(:focus-visible) {\n box-shadow: none;\n }\n }\n}\n\n@mixin link() {\n @include islands-focus();\n @include focusable(0, 'box-shadow');\n\n color: var(--g-color-text-link);\n text-decoration: none;\n cursor: pointer;\n border-radius: var(--g-focus-border-radius);\n\n &:hover,\n &:active {\n color: var(--g-color-text-link-hover);\n }\n}\n\n@mixin heading1() {\n @include text-size(display-3);\n font-weight: 500;\n\n @media (max-width: map-get($screenBreakpoints, 'md') - 1) {\n @include text-size(display-2);\n }\n}\n\n@mixin heading2() {\n @include text-size(display-1);\n font-weight: 500;\n}\n\n@mixin heading3() {\n @include text-size(header-2);\n font-weight: 500;\n}\n\n@mixin heading4() {\n @include text-size(header-1);\n font-weight: 500;\n}\n\n@mixin heading5() {\n @include text-size(body-3);\n font-weight: 500;\n}\n\n@mixin heading6() {\n @include text-size(body-3);\n font-weight: 400;\n}\n\n@mixin contributors-text() {\n font-size: 13px;\n font-weight: 400;\n margin-right: 5px;\n align-self: center;\n}\n\n@mixin text-body-1() {\n font-size: var(--g-text-body-1-font-size);\n line-height: var(--g-text-body-1-line-height);\n font-weight: var(--g-text-body-font-weight);\n}\n\n@mixin desktop-only() {\n @media (max-width: map-get($screenBreakpoints, 'md') - 1) {\n display: none;\n }\n}\n\n@mixin desktop-tablet-only() {\n @media (max-width: map-get($screenBreakpoints, 'sm') - 1) {\n display: none;\n }\n}\n\n@mixin mobile-tablet-only() {\n @media (min-width: map-get($screenBreakpoints, 'md')) {\n display: none;\n }\n}\n\n@mixin mobile-only() {\n @media (min-width: map-get($screenBreakpoints, 'sm')) {\n display: none;\n }\n}\n"],
5
+ "mappings": ";AAMI,CAAA;AACI,YAAA;ACLR;ADQI,CAAA;AACI,WAAA;AACA,mBAAA;AACA,WAAA;ACNR;ADSI,CAAA;AACI,cAAA;AACA,WAAA;AACA,cAAA;AACA,cAAA;AAAA,cAAA;AAAA,YAAA,OAAA;ACPR;ADSQ,CAAA;AACI,cAAA;AACA,WAAA;AACA,cAAA;ACPZ;ADWI,CAAA;AE1BA,aAAA,IAAA;AACA,eAAA,IAAA;AF4BI,SAAA;AACA,WAAA;AACA,YAAA;AACA,WAAA,KAAA;AACA,cAAA;AAEA,UAAA;AACA,eAAA;AACA,iBAAA;ACVR;ADYQ,CAAA;AAAA,CAAA;AAAA,CAAA,oCAAA,EAAA;AAGI,WAAA;AACA,YAAA;AAEA,iBAAA;ACbZ;ADgBQ,CATA;AAUI,cAAA;AAEA,SAAA,IAAA;ACfZ;ADmBY,CAAA;AElCR,WAAA;AAiCA,SAAA,IAAA;AACA,2BAAA;AAAA,mBAAA;AACA,UAAA;AACA,iBAAA,IAAA;AFCY,kBAAA;ACdhB;ACrBI,CAAA,aAAA,CFgCQ,iCEhCR;AACI,WAAA,IAAA,MAAA;ADuBR;ACPQ,CFeI,iCEfJ;AACI,cAAA,EAAA,EAAA,EAAA,IAAA,IAAA;AACA,WAAA;ADSZ;ACPQ,CFWI,iCEXJ,MAAA,KAAA;AACI,cAAA;ADSZ;ACKI,CFJQ,iCEIR;AAAA,CFJQ,iCEIR;AAEI,SAAA,IAAA;ADJR;ADIoB,CANR,kCAMQ,CAtBZ;AAuBgB,eAAA;AAEA,SAAA,IAAA;ACHxB;ADQY,CAAA;AAAA,CAAA;AAEI,WAAA;AAEA,eAAA;AACA,kBAAA;ACRhB;ADWoB,CARR,qCAQQ,CAAA;AAAA,CARR,yCAQQ,CAAA;AACI,gBAAA;AACA,WAAA,IAAA,EAAA;AAEA,cAAA;ACVxB;ADaoB,CAfR,qCAeQ,CAAA;AAAA,CAfR,yCAeQ,CAAA;AACI,SAAA;AACA,UAAA,IAAA;ACXxB;ADcoB,CApBR,qCAoBQ,CAAA;AAAA,CApBR,yCAoBQ,CAAA;AACI,aAAA;ACZxB;ADeoB,CAxBR,qCAwBQ,CAtDZ;AAsDY,CAxBR,yCAwBQ,CAtDZ;AAuDgB,WAAA,IAAA,EAAA;ACbxB;ADkBY,CAAA;AACI,WAAA,KAAA,KAAA;AAEA,SAAA,IAAA;ACjBhB;ADoBY,CAAA;AACI,WAAA;AAEA,WAAA,KAAA;AAEA,SAAA,IAAA;AACA,cAAA,IAAA,MAAA,IAAA;ACpBhB;ADuBY,CAAA;AACI,UAAA;AACA,WAAA;AAEA,oBAAA,IAAA;ACtBhB;AD0BQ,CAhGJ,wBAgGI;AACI,UAAA;AACA,eAAA;AACA,aAAA;AACA,eAAA;ACxBZ;AD2BQ,CAvGJ,wBAuGI;AACI,YAAA;AAEA,cAAA;AC1BZ;AD4BY,CA5GR,wBA4GQ,EAAA;AACI,YAAA;AACA,WAAA;AACA,OAAA;AACA,UAAA;AAEA,SAAA;AAEA,WAAA;AAEA,oBAAA,IAAA;AC7BhB;",
6
+ "names": []
7
+ }
@@ -0,0 +1,18 @@
1
+ import type { SearchProvider, SearchResult } from './types';
2
+ import React from 'react';
3
+ import './index.scss';
4
+ export type { SearchProvider, SearchResult };
5
+ export interface SearchSuggestProps {
6
+ provider: SearchProvider;
7
+ placeholder?: string;
8
+ containerClass?: string;
9
+ className?: string;
10
+ onFocus?: () => void;
11
+ onBlur?: () => void;
12
+ endContent?: React.ReactNode;
13
+ }
14
+ export interface SearchSuggestApi {
15
+ open(): void;
16
+ close(): void;
17
+ }
18
+ export declare const SearchSuggest: React.ForwardRefExoticComponent<SearchSuggestProps & React.RefAttributes<SearchSuggestApi>>;
@@ -0,0 +1,150 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
10
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
11
+ var __spreadValues = (a, b2) => {
12
+ for (var prop in b2 || (b2 = {}))
13
+ if (__hasOwnProp.call(b2, prop))
14
+ __defNormalProp(a, prop, b2[prop]);
15
+ if (__getOwnPropSymbols)
16
+ for (var prop of __getOwnPropSymbols(b2)) {
17
+ if (__propIsEnum.call(b2, prop))
18
+ __defNormalProp(a, prop, b2[prop]);
19
+ }
20
+ return a;
21
+ };
22
+ var __export = (target, all) => {
23
+ for (var name in all)
24
+ __defProp(target, name, { get: all[name], enumerable: true });
25
+ };
26
+ var __copyProps = (to, from, except, desc) => {
27
+ if (from && typeof from === "object" || typeof from === "function") {
28
+ for (let key of __getOwnPropNames(from))
29
+ if (!__hasOwnProp.call(to, key) && key !== except)
30
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
31
+ }
32
+ return to;
33
+ };
34
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
35
+ // If the importer is in node compatibility mode or this is not an ESM
36
+ // file that has been converted to a CommonJS file using a Babel-
37
+ // compatible transform (i.e. "__esModule" has not been set), then set
38
+ // "default" to the CommonJS "module.exports" for node compatibility.
39
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
40
+ mod
41
+ ));
42
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
43
+
44
+ // src/components/SearchSuggest/index.tsx
45
+ var SearchSuggest_exports = {};
46
+ __export(SearchSuggest_exports, {
47
+ SearchSuggest: () => SearchSuggest
48
+ });
49
+ module.exports = __toCommonJS(SearchSuggest_exports);
50
+ var import_react = __toESM(require("react"));
51
+ var import_uikit = require("@gravity-ui/uikit");
52
+ var import_bem_cn_lite = __toESM(require("bem-cn-lite"));
53
+ var import_uniqueId = __toESM(require("lodash/uniqueId"));
54
+ var import_hooks = require("../../hooks");
55
+ var import_SearchInput = require("./SearchInput");
56
+ var import_Suggest = require("./Suggest");
57
+ var import_SuggestItem = require("./SuggestItem");
58
+ var import_useFocus = require("./useFocus");
59
+ var import_index = require("./index.css");
60
+ var b = (0, import_bem_cn_lite.default)("dc-search-suggest");
61
+ var SearchSuggest = (0, import_react.forwardRef)((props, api) => {
62
+ const { provider, className, placeholder, endContent, containerClass } = props;
63
+ const href = (0, import_react.useRef)(null);
64
+ const input = (0, import_react.useRef)(null);
65
+ const suggest = (0, import_react.useRef)(null);
66
+ const id = (0, import_react.useMemo)(import_uniqueId.default, []);
67
+ const [query, setQuery] = (0, import_react.useState)("");
68
+ const [active, setActive] = (0, import_react.useState)(void 0);
69
+ const [focused, setFocused, handlers] = (0, import_useFocus.useFocus)(props);
70
+ const box = (0, import_hooks.useVirtualElementRef)(input.current);
71
+ const submitItem = (0, import_react.useCallback)(
72
+ (link) => {
73
+ if (href.current) {
74
+ href.current.href = link;
75
+ href.current.click();
76
+ }
77
+ },
78
+ [href]
79
+ );
80
+ const onKeyDown = (0, import_react.useCallback)(
81
+ (event) => {
82
+ if (event.key === "Enter" && active === void 0) {
83
+ submitItem(`/search?query=${query}`);
84
+ } else if (suggest.current) {
85
+ suggest.current.onKeyDown(event);
86
+ }
87
+ },
88
+ [suggest, query, active, submitItem]
89
+ );
90
+ const open = (0, import_react.useCallback)(() => {
91
+ setFocused(true);
92
+ }, [setFocused]);
93
+ const close = (0, import_react.useCallback)(() => {
94
+ setFocused(false);
95
+ setQuery("");
96
+ }, [setFocused, setQuery]);
97
+ const onSubmit = (0, import_react.useCallback)(
98
+ (item, _index, fromKeyboard) => {
99
+ if (!fromKeyboard) {
100
+ return;
101
+ }
102
+ submitItem(item.link);
103
+ },
104
+ [submitItem]
105
+ );
106
+ (0, import_react.useImperativeHandle)(api, () => ({ open, close }), [open, close]);
107
+ return /* @__PURE__ */ import_react.default.createElement("div", __spreadValues({ className: b("wrapper", containerClass) }, handlers), /* @__PURE__ */ import_react.default.createElement("a", { ref: href, href: "#", hidden: true, "aria-hidden": true }), /* @__PURE__ */ import_react.default.createElement(
108
+ import_SearchInput.SearchInput,
109
+ {
110
+ ref: input,
111
+ id: `dc-${id}-input`,
112
+ size: "l",
113
+ className: b(null, className),
114
+ text: query,
115
+ onUpdate: setQuery,
116
+ onKeyDown,
117
+ autoFocus: focused,
118
+ placeholder,
119
+ endContent,
120
+ controlProps: {
121
+ "aria-controls": `dc-popup-${id}`,
122
+ "aria-expanded": Boolean(input.current && focused),
123
+ "aria-activedescendant": active === void 0 ? void 0 : `dc-${id}-list-item-${active}`
124
+ }
125
+ }
126
+ ), input.current && /* @__PURE__ */ import_react.default.createElement(
127
+ import_uikit.Popup,
128
+ {
129
+ open: Boolean(query && focused),
130
+ id: `dc-popup-${id}`,
131
+ contentClassName: b("popup"),
132
+ style: { width: box.width },
133
+ anchorRef: box
134
+ },
135
+ /* @__PURE__ */ import_react.default.createElement(
136
+ import_Suggest.Suggest,
137
+ {
138
+ ref: suggest,
139
+ id: `dc-${id}-list`,
140
+ query,
141
+ provider,
142
+ renderItem: import_SuggestItem.SuggestItem,
143
+ onItemClick: onSubmit,
144
+ onChangeActive: setActive
145
+ }
146
+ )
147
+ ));
148
+ });
149
+ SearchSuggest.displayName = "SearchSuggest";
150
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/SearchSuggest/index.tsx"],
4
+ "sourcesContent": ["import type {KeyboardEvent} from 'react';\nimport type {\n SearchProvider,\n SearchResult,\n SearchSuggestItem,\n SearchSuggestLinkableItem,\n} from './types';\n\nimport React, {\n forwardRef,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport {List, Popup} from '@gravity-ui/uikit';\nimport block from 'bem-cn-lite';\nimport uniqueId from 'lodash/uniqueId';\n\nimport {useVirtualElementRef} from '../../hooks';\n\nimport {SearchInput} from './SearchInput';\nimport {Suggest} from './Suggest';\nimport {SuggestItem} from './SuggestItem';\nimport {useFocus} from './useFocus';\nimport './index.scss';\n\nconst b = block('dc-search-suggest');\n\nexport type {SearchProvider, SearchResult};\n\nexport interface SearchSuggestProps {\n provider: SearchProvider;\n placeholder?: string;\n containerClass?: string;\n className?: string;\n onFocus?: () => void;\n onBlur?: () => void;\n endContent?: React.ReactNode;\n}\n\nexport interface SearchSuggestApi {\n open(): void;\n\n close(): void;\n}\n\nexport const SearchSuggest = forwardRef<SearchSuggestApi, SearchSuggestProps>((props, api) => {\n const {provider, className, placeholder, endContent, containerClass} = props;\n const href = useRef<HTMLAnchorElement>(null);\n const input = useRef<HTMLElement>(null);\n const suggest = useRef<List<SearchSuggestItem>>(null);\n const id = useMemo(uniqueId, []);\n const [query, setQuery] = useState('');\n const [active, setActive] = useState<undefined | number>(undefined);\n const [focused, setFocused, handlers] = useFocus(props);\n const box = useVirtualElementRef(input.current);\n\n const submitItem = useCallback(\n (link: string) => {\n if (href.current) {\n href.current.href = link;\n href.current.click();\n }\n },\n [href],\n );\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n if (event.key === 'Enter' && active === undefined) {\n submitItem(`/search?query=${query}`);\n } else if (suggest.current) {\n suggest.current.onKeyDown(event);\n }\n },\n [suggest, query, active, submitItem],\n );\n\n const open = useCallback(() => {\n setFocused(true);\n }, [setFocused]);\n\n const close = useCallback(() => {\n setFocused(false);\n setQuery('');\n }, [setFocused, setQuery]);\n\n const onSubmit = useCallback(\n (item: SearchSuggestItem, _index?: number, fromKeyboard?: boolean) => {\n if (!fromKeyboard) {\n return;\n }\n\n submitItem((item as SearchSuggestLinkableItem).link);\n },\n [submitItem],\n );\n\n useImperativeHandle(api, () => ({open, close}), [open, close]);\n\n return (\n <div className={b('wrapper', containerClass)} {...handlers}>\n <a ref={href} href=\"#\" hidden aria-hidden />\n <SearchInput\n ref={input}\n id={`dc-${id}-input`}\n size=\"l\"\n className={b(null, className)}\n text={query}\n onUpdate={setQuery}\n onKeyDown={onKeyDown}\n autoFocus={focused}\n placeholder={placeholder}\n endContent={endContent}\n controlProps={{\n 'aria-controls': `dc-popup-${id}`,\n 'aria-expanded': Boolean(input.current && focused),\n 'aria-activedescendant':\n active === undefined ? undefined : `dc-${id}-list-item-${active}`,\n }}\n />\n {input.current && (\n <Popup\n open={Boolean(query && focused)}\n id={`dc-popup-${id}`}\n contentClassName={b('popup')}\n style={{width: box.width}}\n anchorRef={box}\n >\n <Suggest\n ref={suggest}\n id={`dc-${id}-list`}\n query={query}\n provider={provider}\n renderItem={SuggestItem}\n onItemClick={onSubmit}\n onChangeActive={setActive}\n />\n </Popup>\n )}\n </div>\n );\n});\n\nSearchSuggest.displayName = 'SearchSuggest';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAQA,mBAOO;AACP,mBAA0B;AAC1B,yBAAkB;AAClB,sBAAqB;AAErB,mBAAmC;AAEnC,yBAA0B;AAC1B,qBAAsB;AACtB,yBAA0B;AAC1B,sBAAuB;AACvB,mBAAO;AAEP,IAAM,QAAI,mBAAAA,SAAM,mBAAmB;AAoB5B,IAAM,oBAAgB,yBAAiD,CAAC,OAAO,QAAQ;AAC1F,QAAM,EAAC,UAAU,WAAW,aAAa,YAAY,eAAc,IAAI;AACvE,QAAM,WAAO,qBAA0B,IAAI;AAC3C,QAAM,YAAQ,qBAAoB,IAAI;AACtC,QAAM,cAAU,qBAAgC,IAAI;AACpD,QAAM,SAAK,sBAAQ,gBAAAC,SAAU,CAAC,CAAC;AAC/B,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAAS,EAAE;AACrC,QAAM,CAAC,QAAQ,SAAS,QAAI,uBAA6B,MAAS;AAClE,QAAM,CAAC,SAAS,YAAY,QAAQ,QAAI,0BAAS,KAAK;AACtD,QAAM,UAAM,mCAAqB,MAAM,OAAO;AAE9C,QAAM,iBAAa;AAAA,IACf,CAAC,SAAiB;AACd,UAAI,KAAK,SAAS;AACd,aAAK,QAAQ,OAAO;AACpB,aAAK,QAAQ,MAAM;AAAA,MACvB;AAAA,IACJ;AAAA,IACA,CAAC,IAAI;AAAA,EACT;AAEA,QAAM,gBAAY;AAAA,IACd,CAAC,UAAsC;AACnC,UAAI,MAAM,QAAQ,WAAW,WAAW,QAAW;AAC/C,mBAAW,iBAAiB,KAAK,EAAE;AAAA,MACvC,WAAW,QAAQ,SAAS;AACxB,gBAAQ,QAAQ,UAAU,KAAK;AAAA,MACnC;AAAA,IACJ;AAAA,IACA,CAAC,SAAS,OAAO,QAAQ,UAAU;AAAA,EACvC;AAEA,QAAM,WAAO,0BAAY,MAAM;AAC3B,eAAW,IAAI;AAAA,EACnB,GAAG,CAAC,UAAU,CAAC;AAEf,QAAM,YAAQ,0BAAY,MAAM;AAC5B,eAAW,KAAK;AAChB,aAAS,EAAE;AAAA,EACf,GAAG,CAAC,YAAY,QAAQ,CAAC;AAEzB,QAAM,eAAW;AAAA,IACb,CAAC,MAAyB,QAAiB,iBAA2B;AAClE,UAAI,CAAC,cAAc;AACf;AAAA,MACJ;AAEA,iBAAY,KAAmC,IAAI;AAAA,IACvD;AAAA,IACA,CAAC,UAAU;AAAA,EACf;AAEA,wCAAoB,KAAK,OAAO,EAAC,MAAM,MAAK,IAAI,CAAC,MAAM,KAAK,CAAC;AAE7D,SACI,6BAAAC,QAAA,cAAC,wBAAI,WAAW,EAAE,WAAW,cAAc,KAAO,WAC9C,6BAAAA,QAAA,cAAC,OAAE,KAAK,MAAM,MAAK,KAAI,QAAM,MAAC,eAAW,MAAC,GAC1C,6BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACG,KAAK;AAAA,MACL,IAAI,MAAM,EAAE;AAAA,MACZ,MAAK;AAAA,MACL,WAAW,EAAE,MAAM,SAAS;AAAA,MAC5B,MAAM;AAAA,MACN,UAAU;AAAA,MACV;AAAA,MACA,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA,cAAc;AAAA,QACV,iBAAiB,YAAY,EAAE;AAAA,QAC/B,iBAAiB,QAAQ,MAAM,WAAW,OAAO;AAAA,QACjD,yBACI,WAAW,SAAY,SAAY,MAAM,EAAE,cAAc,MAAM;AAAA,MACvE;AAAA;AAAA,EACJ,GACC,MAAM,WACH,6BAAAA,QAAA;AAAA,IAAC;AAAA;AAAA,MACG,MAAM,QAAQ,SAAS,OAAO;AAAA,MAC9B,IAAI,YAAY,EAAE;AAAA,MAClB,kBAAkB,EAAE,OAAO;AAAA,MAC3B,OAAO,EAAC,OAAO,IAAI,MAAK;AAAA,MACxB,WAAW;AAAA;AAAA,IAEX,6BAAAA,QAAA;AAAA,MAAC;AAAA;AAAA,QACG,KAAK;AAAA,QACL,IAAI,MAAM,EAAE;AAAA,QACZ;AAAA,QACA;AAAA,QACA,YAAY;AAAA,QACZ,aAAa;AAAA,QACb,gBAAgB;AAAA;AAAA,IACpB;AAAA,EACJ,CAER;AAER,CAAC;AAED,cAAc,cAAc;",
6
+ "names": ["block", "uniqueId", "React"]
7
+ }
@@ -0,0 +1,53 @@
1
+ import type { BreadcrumbItem } from '../../models';
2
+ export declare enum SuggestItemType {
3
+ Text = "text",
4
+ Page = "page",
5
+ Group = "group",
6
+ Delimiter = "delimiter",
7
+ Link = "link"
8
+ }
9
+ interface SearchSuggestBaseItem {
10
+ type: SuggestItemType;
11
+ disabled?: boolean;
12
+ }
13
+ interface SearchSuggestTextItem extends SearchSuggestBaseItem {
14
+ type: SuggestItemType.Text;
15
+ title: string;
16
+ }
17
+ interface SearchSuggestPageItem extends SearchSuggestBaseItem {
18
+ type: SuggestItemType.Page;
19
+ title: string;
20
+ link: string;
21
+ description?: string;
22
+ breadcrumbs?: BreadcrumbItem[];
23
+ }
24
+ interface SearchSuggestGroupItem extends SearchSuggestBaseItem {
25
+ type: SuggestItemType.Group;
26
+ title: string;
27
+ }
28
+ interface SearchSuggestDelimiterItem extends SearchSuggestBaseItem {
29
+ type: SuggestItemType.Delimiter;
30
+ }
31
+ interface SearchSuggestLinkItem extends SearchSuggestBaseItem {
32
+ type: SuggestItemType.Link;
33
+ title: string;
34
+ link: string;
35
+ }
36
+ export type SearchSuggestLinkableItem = SearchSuggestPageItem | SearchSuggestLinkItem;
37
+ export type SearchSuggestItem = SearchSuggestLinkableItem | SearchSuggestTextItem | SearchSuggestGroupItem | SearchSuggestDelimiterItem;
38
+ export type SearchResult = {
39
+ type: SuggestItemType;
40
+ title: string;
41
+ link: string;
42
+ description?: string;
43
+ breadcrumbs?: BreadcrumbItem[];
44
+ };
45
+ export type SearchGroup = {
46
+ type: SuggestItemType;
47
+ items: SearchSuggestItem[];
48
+ };
49
+ export type SearchProvider = {
50
+ suggest(query: string): Promise<SearchResult[]>;
51
+ link(query: string): string;
52
+ };
53
+ export {};
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/components/SearchSuggest/types.ts
21
+ var types_exports = {};
22
+ __export(types_exports, {
23
+ SuggestItemType: () => SuggestItemType
24
+ });
25
+ module.exports = __toCommonJS(types_exports);
26
+ var SuggestItemType = /* @__PURE__ */ ((SuggestItemType2) => {
27
+ SuggestItemType2["Text"] = "text";
28
+ SuggestItemType2["Page"] = "page";
29
+ SuggestItemType2["Group"] = "group";
30
+ SuggestItemType2["Delimiter"] = "delimiter";
31
+ SuggestItemType2["Link"] = "link";
32
+ return SuggestItemType2;
33
+ })(SuggestItemType || {});
34
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/SearchSuggest/types.ts"],
4
+ "sourcesContent": ["import type {BreadcrumbItem} from '../../models';\n\nexport enum SuggestItemType {\n Text = 'text',\n Page = 'page',\n Group = 'group',\n Delimiter = 'delimiter',\n Link = 'link',\n}\n\ninterface SearchSuggestBaseItem {\n type: SuggestItemType;\n disabled?: boolean;\n}\n\ninterface SearchSuggestTextItem extends SearchSuggestBaseItem {\n type: SuggestItemType.Text;\n title: string;\n}\n\ninterface SearchSuggestPageItem extends SearchSuggestBaseItem {\n type: SuggestItemType.Page;\n title: string;\n link: string;\n description?: string;\n breadcrumbs?: BreadcrumbItem[];\n}\n\ninterface SearchSuggestGroupItem extends SearchSuggestBaseItem {\n type: SuggestItemType.Group;\n title: string;\n}\n\ninterface SearchSuggestDelimiterItem extends SearchSuggestBaseItem {\n type: SuggestItemType.Delimiter;\n}\n\ninterface SearchSuggestLinkItem extends SearchSuggestBaseItem {\n type: SuggestItemType.Link;\n title: string;\n link: string;\n}\n\nexport type SearchSuggestLinkableItem = SearchSuggestPageItem | SearchSuggestLinkItem;\n\nexport type SearchSuggestItem =\n | SearchSuggestLinkableItem\n | SearchSuggestTextItem\n | SearchSuggestGroupItem\n | SearchSuggestDelimiterItem;\n\nexport type SearchResult = {\n type: SuggestItemType;\n title: string;\n link: string;\n description?: string;\n breadcrumbs?: BreadcrumbItem[];\n};\n\nexport type SearchGroup = {\n type: SuggestItemType;\n items: SearchSuggestItem[];\n};\n\nexport type SearchProvider = {\n suggest(query: string): Promise<SearchResult[]>;\n link(query: string): string;\n};\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,IAAK,kBAAL,kBAAKA,qBAAL;AACH,EAAAA,iBAAA,UAAO;AACP,EAAAA,iBAAA,UAAO;AACP,EAAAA,iBAAA,WAAQ;AACR,EAAAA,iBAAA,eAAY;AACZ,EAAAA,iBAAA,UAAO;AALC,SAAAA;AAAA,GAAA;",
6
+ "names": ["SuggestItemType"]
7
+ }
@@ -0,0 +1,14 @@
1
+ type Props = {
2
+ onFocus?: () => void;
3
+ onBlur?: () => void;
4
+ };
5
+ type Result = [
6
+ boolean,
7
+ (value: boolean) => void,
8
+ {
9
+ onFocus?: () => void;
10
+ onBlur?: () => void;
11
+ }
12
+ ];
13
+ export declare function useFocus({ onFocus, onBlur }: Props): Result;
14
+ export {};
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/components/SearchSuggest/useFocus.ts
21
+ var useFocus_exports = {};
22
+ __export(useFocus_exports, {
23
+ useFocus: () => useFocus
24
+ });
25
+ module.exports = __toCommonJS(useFocus_exports);
26
+ var import_react = require("react");
27
+ function useFocus({ onFocus, onBlur }) {
28
+ const [focused, setFocused] = (0, import_react.useState)(false);
29
+ const _onFocus = (0, import_react.useCallback)(() => {
30
+ setTimeout(() => {
31
+ setFocused(true);
32
+ if (onFocus) {
33
+ onFocus();
34
+ }
35
+ }, 100);
36
+ }, [onFocus, setFocused]);
37
+ const _onBlur = (0, import_react.useCallback)(() => {
38
+ setTimeout(() => {
39
+ setFocused(false);
40
+ if (onBlur) {
41
+ onBlur();
42
+ }
43
+ }, 100);
44
+ }, [onBlur, setFocused]);
45
+ const handlers = (0, import_react.useMemo)(() => ({ onFocus: _onFocus, onBlur: _onBlur }), [_onFocus, _onBlur]);
46
+ return [focused, setFocused, handlers];
47
+ }
48
+ //# sourceMappingURL=useFocus.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/components/SearchSuggest/useFocus.ts"],
4
+ "sourcesContent": ["import {useCallback, useMemo, useState} from 'react';\n\ntype Props = {\n onFocus?: () => void;\n onBlur?: () => void;\n};\n\ntype Result = [\n boolean,\n (value: boolean) => void,\n {\n onFocus?: () => void;\n onBlur?: () => void;\n },\n];\n\nexport function useFocus({onFocus, onBlur}: Props): Result {\n const [focused, setFocused] = useState(false);\n const _onFocus = useCallback(() => {\n setTimeout(() => {\n setFocused(true);\n if (onFocus) {\n onFocus();\n }\n }, 100);\n }, [onFocus, setFocused]);\n\n const _onBlur = useCallback(() => {\n setTimeout(() => {\n setFocused(false);\n if (onBlur) {\n onBlur();\n }\n }, 100);\n }, [onBlur, setFocused]);\n\n const handlers = useMemo(() => ({onFocus: _onFocus, onBlur: _onBlur}), [_onFocus, _onBlur]);\n\n return [focused, setFocused, handlers];\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA6C;AAgBtC,SAAS,SAAS,EAAC,SAAS,OAAM,GAAkB;AACvD,QAAM,CAAC,SAAS,UAAU,QAAI,uBAAS,KAAK;AAC5C,QAAM,eAAW,0BAAY,MAAM;AAC/B,eAAW,MAAM;AACb,iBAAW,IAAI;AACf,UAAI,SAAS;AACT,gBAAQ;AAAA,MACZ;AAAA,IACJ,GAAG,GAAG;AAAA,EACV,GAAG,CAAC,SAAS,UAAU,CAAC;AAExB,QAAM,cAAU,0BAAY,MAAM;AAC9B,eAAW,MAAM;AACb,iBAAW,KAAK;AAChB,UAAI,QAAQ;AACR,eAAO;AAAA,MACX;AAAA,IACJ,GAAG,GAAG;AAAA,EACV,GAAG,CAAC,QAAQ,UAAU,CAAC;AAEvB,QAAM,eAAW,sBAAQ,OAAO,EAAC,SAAS,UAAU,QAAQ,QAAO,IAAI,CAAC,UAAU,OAAO,CAAC;AAE1F,SAAO,CAAC,SAAS,YAAY,QAAQ;AACzC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,6 @@
1
+ import type { SearchProvider, SearchSuggestItem } from './types';
2
+ type Zalgo<T> = Promise<T> | T;
3
+ type Items = Zalgo<SearchSuggestItem[] | null>;
4
+ type Request = (query: string) => () => void;
5
+ export declare function useProvider(provider: SearchProvider): [Items, Request];
6
+ export {};