@newskit-render/standalone-components 0.0.0-006778a6b

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 (500) hide show
  1. package/README.md +798 -0
  2. package/dist/cjs/article-recommendations/components/AdPlaceholder.d.ts +9 -0
  3. package/dist/cjs/article-recommendations/components/AdPlaceholder.js +23 -0
  4. package/dist/cjs/article-recommendations/components/AdPlaceholder.js.map +1 -0
  5. package/dist/cjs/article-recommendations/components/ArticleGrid.d.ts +4 -0
  6. package/dist/cjs/article-recommendations/components/ArticleGrid.js +36 -0
  7. package/dist/cjs/article-recommendations/components/ArticleGrid.js.map +1 -0
  8. package/dist/cjs/article-recommendations/components/ArticleRecommendation.d.ts +4 -0
  9. package/dist/cjs/article-recommendations/components/ArticleRecommendation.js +19 -0
  10. package/dist/cjs/article-recommendations/components/ArticleRecommendation.js.map +1 -0
  11. package/dist/cjs/article-recommendations/components/ArticleRecommendationLarge.d.ts +7 -0
  12. package/dist/cjs/article-recommendations/components/ArticleRecommendationLarge.js +59 -0
  13. package/dist/cjs/article-recommendations/components/ArticleRecommendationLarge.js.map +1 -0
  14. package/dist/cjs/article-recommendations/components/ArticleRecommendationSmall.d.ts +7 -0
  15. package/dist/cjs/article-recommendations/components/ArticleRecommendationSmall.js +43 -0
  16. package/dist/cjs/article-recommendations/components/ArticleRecommendationSmall.js.map +1 -0
  17. package/dist/cjs/article-recommendations/components/ArticleRecommendationsProvider.d.ts +4 -0
  18. package/dist/cjs/article-recommendations/components/ArticleRecommendationsProvider.js +83 -0
  19. package/dist/cjs/article-recommendations/components/ArticleRecommendationsProvider.js.map +1 -0
  20. package/dist/cjs/article-recommendations/components/RecommendedArticleList.d.ts +5 -0
  21. package/dist/cjs/article-recommendations/components/RecommendedArticleList.js +43 -0
  22. package/dist/cjs/article-recommendations/components/RecommendedArticleList.js.map +1 -0
  23. package/dist/cjs/article-recommendations/components/baseProps.d.ts +63 -0
  24. package/dist/cjs/article-recommendations/components/baseProps.js +67 -0
  25. package/dist/cjs/article-recommendations/components/baseProps.js.map +1 -0
  26. package/dist/cjs/article-recommendations/components/index.d.ts +7 -0
  27. package/dist/cjs/article-recommendations/components/index.js +32 -0
  28. package/dist/cjs/article-recommendations/components/index.js.map +1 -0
  29. package/dist/cjs/article-recommendations/context/index.d.ts +3 -0
  30. package/dist/cjs/article-recommendations/context/index.js +9 -0
  31. package/dist/cjs/article-recommendations/context/index.js.map +1 -0
  32. package/dist/cjs/article-recommendations/helpers/index.d.ts +2 -0
  33. package/dist/cjs/article-recommendations/helpers/index.js +24 -0
  34. package/dist/cjs/article-recommendations/helpers/index.js.map +1 -0
  35. package/dist/cjs/article-recommendations/index.d.ts +4 -0
  36. package/dist/cjs/article-recommendations/index.js +25 -0
  37. package/dist/cjs/article-recommendations/index.js.map +1 -0
  38. package/dist/cjs/article-recommendations/provider/index.d.ts +1 -0
  39. package/dist/cjs/article-recommendations/provider/index.js +18 -0
  40. package/dist/cjs/article-recommendations/provider/index.js.map +1 -0
  41. package/dist/cjs/article-recommendations/provider/queries/getRecommendationsQuery.d.ts +1 -0
  42. package/dist/cjs/article-recommendations/provider/queries/getRecommendationsQuery.js +11 -0
  43. package/dist/cjs/article-recommendations/provider/queries/getRecommendationsQuery.js.map +1 -0
  44. package/dist/cjs/article-recommendations/provider/queries/index.d.ts +1 -0
  45. package/dist/cjs/article-recommendations/provider/queries/index.js +18 -0
  46. package/dist/cjs/article-recommendations/provider/queries/index.js.map +1 -0
  47. package/dist/cjs/article-recommendations/provider/recommendationsProvider.d.ts +4 -0
  48. package/dist/cjs/article-recommendations/provider/recommendationsProvider.js +89 -0
  49. package/dist/cjs/article-recommendations/provider/recommendationsProvider.js.map +1 -0
  50. package/dist/cjs/article-recommendations/types/index.d.ts +108 -0
  51. package/dist/cjs/article-recommendations/types/index.js +8 -0
  52. package/dist/cjs/article-recommendations/types/index.js.map +1 -0
  53. package/dist/cjs/config/index.d.ts +2 -0
  54. package/dist/cjs/config/index.js +23 -0
  55. package/dist/cjs/config/index.js.map +1 -0
  56. package/dist/cjs/help-chat/Help.d.ts +5 -0
  57. package/dist/cjs/help-chat/Help.js +40 -0
  58. package/dist/cjs/help-chat/Help.js.map +1 -0
  59. package/dist/cjs/help-chat/chatHelpDefaultOverrides.d.ts +37 -0
  60. package/dist/cjs/help-chat/chatHelpDefaultOverrides.js +48 -0
  61. package/dist/cjs/help-chat/chatHelpDefaultOverrides.js.map +1 -0
  62. package/dist/cjs/help-chat/index.d.ts +2 -0
  63. package/dist/cjs/help-chat/index.js +19 -0
  64. package/dist/cjs/help-chat/index.js.map +1 -0
  65. package/dist/cjs/help-chat/tests/Chat.stories.d.ts +5 -0
  66. package/dist/cjs/help-chat/tests/Chat.stories.js +55 -0
  67. package/dist/cjs/help-chat/tests/Chat.stories.js.map +1 -0
  68. package/dist/cjs/help-chat/tests/mocks.d.ts +2 -0
  69. package/dist/cjs/help-chat/tests/mocks.js +47 -0
  70. package/dist/cjs/help-chat/tests/mocks.js.map +1 -0
  71. package/dist/cjs/help-chat/types.d.ts +31 -0
  72. package/dist/cjs/help-chat/types.js +3 -0
  73. package/dist/cjs/help-chat/types.js.map +1 -0
  74. package/dist/cjs/help-hub/components/SearchBar/SearchBar.d.ts +4 -0
  75. package/dist/cjs/help-hub/components/SearchBar/SearchBar.js +26 -0
  76. package/dist/cjs/help-hub/components/SearchBar/SearchBar.js.map +1 -0
  77. package/dist/cjs/help-hub/components/SearchBar/components/AlgoliaTheme.d.ts +3 -0
  78. package/dist/cjs/help-hub/components/SearchBar/components/AlgoliaTheme.js +16 -0
  79. package/dist/cjs/help-hub/components/SearchBar/components/AlgoliaTheme.js.map +1 -0
  80. package/dist/cjs/help-hub/components/SearchBar/components/Autocomplete.d.ts +6 -0
  81. package/dist/cjs/help-hub/components/SearchBar/components/Autocomplete.js +209 -0
  82. package/dist/cjs/help-hub/components/SearchBar/components/Autocomplete.js.map +1 -0
  83. package/dist/cjs/help-hub/components/SearchBar/components/Highlight.d.ts +22 -0
  84. package/dist/cjs/help-hub/components/SearchBar/components/Highlight.js +18 -0
  85. package/dist/cjs/help-hub/components/SearchBar/components/Highlight.js.map +1 -0
  86. package/dist/cjs/help-hub/components/SearchBar/defaults.d.ts +17 -0
  87. package/dist/cjs/help-hub/components/SearchBar/defaults.js +21 -0
  88. package/dist/cjs/help-hub/components/SearchBar/defaults.js.map +1 -0
  89. package/dist/cjs/help-hub/components/SearchBar/index.d.ts +1 -0
  90. package/dist/cjs/help-hub/components/SearchBar/index.js +18 -0
  91. package/dist/cjs/help-hub/components/SearchBar/index.js.map +1 -0
  92. package/dist/cjs/help-hub/components/SearchBar/types.d.ts +30 -0
  93. package/dist/cjs/help-hub/components/SearchBar/types.js +3 -0
  94. package/dist/cjs/help-hub/components/SearchBar/types.js.map +1 -0
  95. package/dist/cjs/help-hub/components/SearchBreadcrumb/SearchBreadcrumb.d.ts +4 -0
  96. package/dist/cjs/help-hub/components/SearchBreadcrumb/SearchBreadcrumb.js +36 -0
  97. package/dist/cjs/help-hub/components/SearchBreadcrumb/SearchBreadcrumb.js.map +1 -0
  98. package/dist/cjs/help-hub/components/SearchBreadcrumb/index.d.ts +2 -0
  99. package/dist/cjs/help-hub/components/SearchBreadcrumb/index.js +8 -0
  100. package/dist/cjs/help-hub/components/SearchBreadcrumb/index.js.map +1 -0
  101. package/dist/cjs/help-hub/components/Templates/LayoutTemplate.d.ts +12 -0
  102. package/dist/cjs/help-hub/components/Templates/LayoutTemplate.js +67 -0
  103. package/dist/cjs/help-hub/components/Templates/LayoutTemplate.js.map +1 -0
  104. package/dist/cjs/help-hub/components/Templates/index.d.ts +3 -0
  105. package/dist/cjs/help-hub/components/Templates/index.js +20 -0
  106. package/dist/cjs/help-hub/components/Templates/index.js.map +1 -0
  107. package/dist/cjs/help-hub/components/Templates/types.d.ts +12 -0
  108. package/dist/cjs/help-hub/components/Templates/types.js +3 -0
  109. package/dist/cjs/help-hub/components/Templates/types.js.map +1 -0
  110. package/dist/cjs/help-hub/context/CredentialsContextProvider.d.ts +7 -0
  111. package/dist/cjs/help-hub/context/CredentialsContextProvider.js +42 -0
  112. package/dist/cjs/help-hub/context/CredentialsContextProvider.js.map +1 -0
  113. package/dist/cjs/help-hub/context/HelpHubContextProvider.d.ts +7 -0
  114. package/dist/cjs/help-hub/context/HelpHubContextProvider.js +54 -0
  115. package/dist/cjs/help-hub/context/HelpHubContextProvider.js.map +1 -0
  116. package/dist/cjs/help-hub/context/baseContext.d.ts +3 -0
  117. package/dist/cjs/help-hub/context/baseContext.js +139 -0
  118. package/dist/cjs/help-hub/context/baseContext.js.map +1 -0
  119. package/dist/cjs/help-hub/context/index.d.ts +2 -0
  120. package/dist/cjs/help-hub/context/index.js +19 -0
  121. package/dist/cjs/help-hub/context/index.js.map +1 -0
  122. package/dist/cjs/help-hub/context/types.d.ts +74 -0
  123. package/dist/cjs/help-hub/context/types.js +11 -0
  124. package/dist/cjs/help-hub/context/types.js.map +1 -0
  125. package/dist/cjs/help-hub/helpers/cache-referers.d.ts +2 -0
  126. package/dist/cjs/help-hub/helpers/cache-referers.js +20 -0
  127. package/dist/cjs/help-hub/helpers/cache-referers.js.map +1 -0
  128. package/dist/cjs/help-hub/helpers/index.d.ts +2 -0
  129. package/dist/cjs/help-hub/helpers/index.js +19 -0
  130. package/dist/cjs/help-hub/helpers/index.js.map +1 -0
  131. package/dist/cjs/help-hub/helpers/transform-hits.d.ts +4 -0
  132. package/dist/cjs/help-hub/helpers/transform-hits.js +15 -0
  133. package/dist/cjs/help-hub/helpers/transform-hits.js.map +1 -0
  134. package/dist/cjs/help-hub/index.d.ts +6 -0
  135. package/dist/cjs/help-hub/index.js +23 -0
  136. package/dist/cjs/help-hub/index.js.map +1 -0
  137. package/dist/cjs/help-hub/mocks/articlePageContextOptionsMock.d.ts +2 -0
  138. package/dist/cjs/help-hub/mocks/articlePageContextOptionsMock.js +27 -0
  139. package/dist/cjs/help-hub/mocks/articlePageContextOptionsMock.js.map +1 -0
  140. package/dist/cjs/help-hub/mocks/index.d.ts +1 -0
  141. package/dist/cjs/help-hub/mocks/index.js +18 -0
  142. package/dist/cjs/help-hub/mocks/index.js.map +1 -0
  143. package/dist/cjs/help-hub/mocks/landingPageContextOptionsMock.d.ts +2 -0
  144. package/dist/cjs/help-hub/mocks/landingPageContextOptionsMock.js +20 -0
  145. package/dist/cjs/help-hub/mocks/landingPageContextOptionsMock.js.map +1 -0
  146. package/dist/cjs/help-hub/mocks/mocks.d.ts +5 -0
  147. package/dist/cjs/help-hub/mocks/mocks.js +14 -0
  148. package/dist/cjs/help-hub/mocks/mocks.js.map +1 -0
  149. package/dist/cjs/help-hub/mocks/resultsPageContextOptionsMock.d.ts +2 -0
  150. package/dist/cjs/help-hub/mocks/resultsPageContextOptionsMock.js +20 -0
  151. package/dist/cjs/help-hub/mocks/resultsPageContextOptionsMock.js.map +1 -0
  152. package/dist/cjs/help-hub/mocks/sharedMocks.d.ts +17 -0
  153. package/dist/cjs/help-hub/mocks/sharedMocks.js +154 -0
  154. package/dist/cjs/help-hub/mocks/sharedMocks.js.map +1 -0
  155. package/dist/cjs/help-hub/pages/ArticlePage.d.ts +7 -0
  156. package/dist/cjs/help-hub/pages/ArticlePage.js +149 -0
  157. package/dist/cjs/help-hub/pages/ArticlePage.js.map +1 -0
  158. package/dist/cjs/help-hub/pages/ErrorPage.d.ts +7 -0
  159. package/dist/cjs/help-hub/pages/ErrorPage.js +91 -0
  160. package/dist/cjs/help-hub/pages/ErrorPage.js.map +1 -0
  161. package/dist/cjs/help-hub/pages/LandingPage.d.ts +6 -0
  162. package/dist/cjs/help-hub/pages/LandingPage.js +94 -0
  163. package/dist/cjs/help-hub/pages/LandingPage.js.map +1 -0
  164. package/dist/cjs/help-hub/pages/ResultsPage.d.ts +6 -0
  165. package/dist/cjs/help-hub/pages/ResultsPage.js +205 -0
  166. package/dist/cjs/help-hub/pages/ResultsPage.js.map +1 -0
  167. package/dist/cjs/help-hub/pages/index.d.ts +5 -0
  168. package/dist/cjs/help-hub/pages/index.js +39 -0
  169. package/dist/cjs/help-hub/pages/index.js.map +1 -0
  170. package/dist/cjs/help-hub/pages/types.d.ts +19 -0
  171. package/dist/cjs/help-hub/pages/types.js +3 -0
  172. package/dist/cjs/help-hub/pages/types.js.map +1 -0
  173. package/dist/cjs/help-hub/provider/articleProvider.d.ts +22 -0
  174. package/dist/cjs/help-hub/provider/articleProvider.js +90 -0
  175. package/dist/cjs/help-hub/provider/articleProvider.js.map +1 -0
  176. package/dist/cjs/help-hub/provider/errorPageProvider.d.ts +10 -0
  177. package/dist/cjs/help-hub/provider/errorPageProvider.js +56 -0
  178. package/dist/cjs/help-hub/provider/errorPageProvider.js.map +1 -0
  179. package/dist/cjs/help-hub/provider/getHelpHubConfig.d.ts +2 -0
  180. package/dist/cjs/help-hub/provider/getHelpHubConfig.js +17 -0
  181. package/dist/cjs/help-hub/provider/getHelpHubConfig.js.map +1 -0
  182. package/dist/cjs/help-hub/provider/index.d.ts +7 -0
  183. package/dist/cjs/help-hub/provider/index.js +31 -0
  184. package/dist/cjs/help-hub/provider/index.js.map +1 -0
  185. package/dist/cjs/help-hub/provider/landingPageProvider.d.ts +10 -0
  186. package/dist/cjs/help-hub/provider/landingPageProvider.js +56 -0
  187. package/dist/cjs/help-hub/provider/landingPageProvider.js.map +1 -0
  188. package/dist/cjs/help-hub/provider/resultsProvider.d.ts +27 -0
  189. package/dist/cjs/help-hub/provider/resultsProvider.js +118 -0
  190. package/dist/cjs/help-hub/provider/resultsProvider.js.map +1 -0
  191. package/dist/cjs/help-hub/provider/types.d.ts +43 -0
  192. package/dist/cjs/help-hub/provider/types.js +13 -0
  193. package/dist/cjs/help-hub/provider/types.js.map +1 -0
  194. package/dist/cjs/help-hub/types/index.d.ts +11 -0
  195. package/dist/cjs/help-hub/types/index.js +3 -0
  196. package/dist/cjs/help-hub/types/index.js.map +1 -0
  197. package/dist/cjs/index.d.ts +4 -0
  198. package/dist/cjs/index.js +21 -0
  199. package/dist/cjs/index.js.map +1 -0
  200. package/dist/cjs/rss-console/client/index.d.ts +13 -0
  201. package/dist/cjs/rss-console/client/index.js +88 -0
  202. package/dist/cjs/rss-console/client/index.js.map +1 -0
  203. package/dist/cjs/rss-console/components/Templates/LayoutTemplate.d.ts +12 -0
  204. package/dist/cjs/rss-console/components/Templates/LayoutTemplate.js +81 -0
  205. package/dist/cjs/rss-console/components/Templates/LayoutTemplate.js.map +1 -0
  206. package/dist/cjs/rss-console/components/Templates/index.d.ts +3 -0
  207. package/dist/cjs/rss-console/components/Templates/index.js +20 -0
  208. package/dist/cjs/rss-console/components/Templates/index.js.map +1 -0
  209. package/dist/cjs/rss-console/components/Templates/types.d.ts +12 -0
  210. package/dist/cjs/rss-console/components/Templates/types.js +3 -0
  211. package/dist/cjs/rss-console/components/Templates/types.js.map +1 -0
  212. package/dist/cjs/rss-console/context/RSSConsoleContextProvider.d.ts +7 -0
  213. package/dist/cjs/rss-console/context/RSSConsoleContextProvider.js +53 -0
  214. package/dist/cjs/rss-console/context/RSSConsoleContextProvider.js.map +1 -0
  215. package/dist/cjs/rss-console/context/baseContext.d.ts +2 -0
  216. package/dist/cjs/rss-console/context/baseContext.js +85 -0
  217. package/dist/cjs/rss-console/context/baseContext.js.map +1 -0
  218. package/dist/cjs/rss-console/context/index.d.ts +1 -0
  219. package/dist/cjs/rss-console/context/index.js +18 -0
  220. package/dist/cjs/rss-console/context/index.js.map +1 -0
  221. package/dist/cjs/rss-console/context/types.d.ts +27 -0
  222. package/dist/cjs/rss-console/context/types.js +10 -0
  223. package/dist/cjs/rss-console/context/types.js.map +1 -0
  224. package/dist/cjs/rss-console/hooks/useFeed.d.ts +4 -0
  225. package/dist/cjs/rss-console/hooks/useFeed.js +53 -0
  226. package/dist/cjs/rss-console/hooks/useFeed.js.map +1 -0
  227. package/dist/cjs/rss-console/hooks/useFeedCreation.d.ts +4 -0
  228. package/dist/cjs/rss-console/hooks/useFeedCreation.js +61 -0
  229. package/dist/cjs/rss-console/hooks/useFeedCreation.js.map +1 -0
  230. package/dist/cjs/rss-console/hooks/useFeedList.d.ts +4 -0
  231. package/dist/cjs/rss-console/hooks/useFeedList.js +55 -0
  232. package/dist/cjs/rss-console/hooks/useFeedList.js.map +1 -0
  233. package/dist/cjs/rss-console/index.d.ts +1 -0
  234. package/dist/cjs/rss-console/index.js +18 -0
  235. package/dist/cjs/rss-console/index.js.map +1 -0
  236. package/dist/cjs/rss-console/pages/CreateFeedPage.d.ts +4 -0
  237. package/dist/cjs/rss-console/pages/CreateFeedPage.js +127 -0
  238. package/dist/cjs/rss-console/pages/CreateFeedPage.js.map +1 -0
  239. package/dist/cjs/rss-console/pages/FeedDetailsPage.d.ts +4 -0
  240. package/dist/cjs/rss-console/pages/FeedDetailsPage.js +84 -0
  241. package/dist/cjs/rss-console/pages/FeedDetailsPage.js.map +1 -0
  242. package/dist/cjs/rss-console/pages/FeedsListPage.d.ts +4 -0
  243. package/dist/cjs/rss-console/pages/FeedsListPage.js +72 -0
  244. package/dist/cjs/rss-console/pages/FeedsListPage.js.map +1 -0
  245. package/dist/cjs/rss-console/pages/index.d.ts +6 -0
  246. package/dist/cjs/rss-console/pages/index.js +13 -0
  247. package/dist/cjs/rss-console/pages/index.js.map +1 -0
  248. package/dist/cjs/rss-console/pages/types.d.ts +11 -0
  249. package/dist/cjs/rss-console/pages/types.js +3 -0
  250. package/dist/cjs/rss-console/pages/types.js.map +1 -0
  251. package/dist/esm/article-recommendations/components/AdPlaceholder.d.ts +9 -0
  252. package/dist/esm/article-recommendations/components/AdPlaceholder.js +18 -0
  253. package/dist/esm/article-recommendations/components/AdPlaceholder.js.map +1 -0
  254. package/dist/esm/article-recommendations/components/ArticleGrid.d.ts +4 -0
  255. package/dist/esm/article-recommendations/components/ArticleGrid.js +31 -0
  256. package/dist/esm/article-recommendations/components/ArticleGrid.js.map +1 -0
  257. package/dist/esm/article-recommendations/components/ArticleRecommendation.d.ts +4 -0
  258. package/dist/esm/article-recommendations/components/ArticleRecommendation.js +14 -0
  259. package/dist/esm/article-recommendations/components/ArticleRecommendation.js.map +1 -0
  260. package/dist/esm/article-recommendations/components/ArticleRecommendationLarge.d.ts +7 -0
  261. package/dist/esm/article-recommendations/components/ArticleRecommendationLarge.js +31 -0
  262. package/dist/esm/article-recommendations/components/ArticleRecommendationLarge.js.map +1 -0
  263. package/dist/esm/article-recommendations/components/ArticleRecommendationSmall.d.ts +7 -0
  264. package/dist/esm/article-recommendations/components/ArticleRecommendationSmall.js +15 -0
  265. package/dist/esm/article-recommendations/components/ArticleRecommendationSmall.js.map +1 -0
  266. package/dist/esm/article-recommendations/components/ArticleRecommendationsProvider.d.ts +4 -0
  267. package/dist/esm/article-recommendations/components/ArticleRecommendationsProvider.js +78 -0
  268. package/dist/esm/article-recommendations/components/ArticleRecommendationsProvider.js.map +1 -0
  269. package/dist/esm/article-recommendations/components/RecommendedArticleList.d.ts +5 -0
  270. package/dist/esm/article-recommendations/components/RecommendedArticleList.js +15 -0
  271. package/dist/esm/article-recommendations/components/RecommendedArticleList.js.map +1 -0
  272. package/dist/esm/article-recommendations/components/baseProps.d.ts +63 -0
  273. package/dist/esm/article-recommendations/components/baseProps.js +64 -0
  274. package/dist/esm/article-recommendations/components/baseProps.js.map +1 -0
  275. package/dist/esm/article-recommendations/components/index.d.ts +7 -0
  276. package/dist/esm/article-recommendations/components/index.js +8 -0
  277. package/dist/esm/article-recommendations/components/index.js.map +1 -0
  278. package/dist/esm/article-recommendations/context/index.d.ts +3 -0
  279. package/dist/esm/article-recommendations/context/index.js +3 -0
  280. package/dist/esm/article-recommendations/context/index.js.map +1 -0
  281. package/dist/esm/article-recommendations/helpers/index.d.ts +2 -0
  282. package/dist/esm/article-recommendations/helpers/index.js +20 -0
  283. package/dist/esm/article-recommendations/helpers/index.js.map +1 -0
  284. package/dist/esm/article-recommendations/index.d.ts +4 -0
  285. package/dist/esm/article-recommendations/index.js +5 -0
  286. package/dist/esm/article-recommendations/index.js.map +1 -0
  287. package/dist/esm/article-recommendations/provider/index.d.ts +1 -0
  288. package/dist/esm/article-recommendations/provider/index.js +2 -0
  289. package/dist/esm/article-recommendations/provider/index.js.map +1 -0
  290. package/dist/esm/article-recommendations/provider/queries/getRecommendationsQuery.d.ts +1 -0
  291. package/dist/esm/article-recommendations/provider/queries/getRecommendationsQuery.js +8 -0
  292. package/dist/esm/article-recommendations/provider/queries/getRecommendationsQuery.js.map +1 -0
  293. package/dist/esm/article-recommendations/provider/queries/index.d.ts +1 -0
  294. package/dist/esm/article-recommendations/provider/queries/index.js +2 -0
  295. package/dist/esm/article-recommendations/provider/queries/index.js.map +1 -0
  296. package/dist/esm/article-recommendations/provider/recommendationsProvider.d.ts +4 -0
  297. package/dist/esm/article-recommendations/provider/recommendationsProvider.js +84 -0
  298. package/dist/esm/article-recommendations/provider/recommendationsProvider.js.map +1 -0
  299. package/dist/esm/article-recommendations/types/index.d.ts +108 -0
  300. package/dist/esm/article-recommendations/types/index.js +5 -0
  301. package/dist/esm/article-recommendations/types/index.js.map +1 -0
  302. package/dist/esm/config/index.d.ts +2 -0
  303. package/dist/esm/config/index.js +20 -0
  304. package/dist/esm/config/index.js.map +1 -0
  305. package/dist/esm/help-chat/Help.d.ts +5 -0
  306. package/dist/esm/help-chat/Help.js +33 -0
  307. package/dist/esm/help-chat/Help.js.map +1 -0
  308. package/dist/esm/help-chat/chatHelpDefaultOverrides.d.ts +37 -0
  309. package/dist/esm/help-chat/chatHelpDefaultOverrides.js +42 -0
  310. package/dist/esm/help-chat/chatHelpDefaultOverrides.js.map +1 -0
  311. package/dist/esm/help-chat/index.d.ts +2 -0
  312. package/dist/esm/help-chat/index.js +3 -0
  313. package/dist/esm/help-chat/index.js.map +1 -0
  314. package/dist/esm/help-chat/tests/Chat.stories.d.ts +5 -0
  315. package/dist/esm/help-chat/tests/Chat.stories.js +47 -0
  316. package/dist/esm/help-chat/tests/Chat.stories.js.map +1 -0
  317. package/dist/esm/help-chat/tests/mocks.d.ts +2 -0
  318. package/dist/esm/help-chat/tests/mocks.js +41 -0
  319. package/dist/esm/help-chat/tests/mocks.js.map +1 -0
  320. package/dist/esm/help-chat/types.d.ts +31 -0
  321. package/dist/esm/help-chat/types.js +2 -0
  322. package/dist/esm/help-chat/types.js.map +1 -0
  323. package/dist/esm/help-hub/components/SearchBar/SearchBar.d.ts +4 -0
  324. package/dist/esm/help-hub/components/SearchBar/SearchBar.js +19 -0
  325. package/dist/esm/help-hub/components/SearchBar/SearchBar.js.map +1 -0
  326. package/dist/esm/help-hub/components/SearchBar/components/AlgoliaTheme.d.ts +3 -0
  327. package/dist/esm/help-hub/components/SearchBar/components/AlgoliaTheme.js +12 -0
  328. package/dist/esm/help-hub/components/SearchBar/components/AlgoliaTheme.js.map +1 -0
  329. package/dist/esm/help-hub/components/SearchBar/components/Autocomplete.d.ts +6 -0
  330. package/dist/esm/help-hub/components/SearchBar/components/Autocomplete.js +179 -0
  331. package/dist/esm/help-hub/components/SearchBar/components/Autocomplete.js.map +1 -0
  332. package/dist/esm/help-hub/components/SearchBar/components/Highlight.d.ts +22 -0
  333. package/dist/esm/help-hub/components/SearchBar/components/Highlight.js +15 -0
  334. package/dist/esm/help-hub/components/SearchBar/components/Highlight.js.map +1 -0
  335. package/dist/esm/help-hub/components/SearchBar/defaults.d.ts +17 -0
  336. package/dist/esm/help-hub/components/SearchBar/defaults.js +18 -0
  337. package/dist/esm/help-hub/components/SearchBar/defaults.js.map +1 -0
  338. package/dist/esm/help-hub/components/SearchBar/index.d.ts +1 -0
  339. package/dist/esm/help-hub/components/SearchBar/index.js +2 -0
  340. package/dist/esm/help-hub/components/SearchBar/index.js.map +1 -0
  341. package/dist/esm/help-hub/components/SearchBar/types.d.ts +30 -0
  342. package/dist/esm/help-hub/components/SearchBar/types.js +2 -0
  343. package/dist/esm/help-hub/components/SearchBar/types.js.map +1 -0
  344. package/dist/esm/help-hub/components/SearchBreadcrumb/SearchBreadcrumb.d.ts +4 -0
  345. package/dist/esm/help-hub/components/SearchBreadcrumb/SearchBreadcrumb.js +31 -0
  346. package/dist/esm/help-hub/components/SearchBreadcrumb/SearchBreadcrumb.js.map +1 -0
  347. package/dist/esm/help-hub/components/SearchBreadcrumb/index.d.ts +2 -0
  348. package/dist/esm/help-hub/components/SearchBreadcrumb/index.js +3 -0
  349. package/dist/esm/help-hub/components/SearchBreadcrumb/index.js.map +1 -0
  350. package/dist/esm/help-hub/components/Templates/LayoutTemplate.d.ts +12 -0
  351. package/dist/esm/help-hub/components/Templates/LayoutTemplate.js +59 -0
  352. package/dist/esm/help-hub/components/Templates/LayoutTemplate.js.map +1 -0
  353. package/dist/esm/help-hub/components/Templates/index.d.ts +3 -0
  354. package/dist/esm/help-hub/components/Templates/index.js +4 -0
  355. package/dist/esm/help-hub/components/Templates/index.js.map +1 -0
  356. package/dist/esm/help-hub/components/Templates/types.d.ts +12 -0
  357. package/dist/esm/help-hub/components/Templates/types.js +2 -0
  358. package/dist/esm/help-hub/components/Templates/types.js.map +1 -0
  359. package/dist/esm/help-hub/context/CredentialsContextProvider.d.ts +7 -0
  360. package/dist/esm/help-hub/context/CredentialsContextProvider.js +14 -0
  361. package/dist/esm/help-hub/context/CredentialsContextProvider.js.map +1 -0
  362. package/dist/esm/help-hub/context/HelpHubContextProvider.d.ts +7 -0
  363. package/dist/esm/help-hub/context/HelpHubContextProvider.js +22 -0
  364. package/dist/esm/help-hub/context/HelpHubContextProvider.js.map +1 -0
  365. package/dist/esm/help-hub/context/baseContext.d.ts +3 -0
  366. package/dist/esm/help-hub/context/baseContext.js +136 -0
  367. package/dist/esm/help-hub/context/baseContext.js.map +1 -0
  368. package/dist/esm/help-hub/context/index.d.ts +2 -0
  369. package/dist/esm/help-hub/context/index.js +3 -0
  370. package/dist/esm/help-hub/context/index.js.map +1 -0
  371. package/dist/esm/help-hub/context/types.d.ts +74 -0
  372. package/dist/esm/help-hub/context/types.js +8 -0
  373. package/dist/esm/help-hub/context/types.js.map +1 -0
  374. package/dist/esm/help-hub/helpers/cache-referers.d.ts +2 -0
  375. package/dist/esm/help-hub/helpers/cache-referers.js +15 -0
  376. package/dist/esm/help-hub/helpers/cache-referers.js.map +1 -0
  377. package/dist/esm/help-hub/helpers/index.d.ts +2 -0
  378. package/dist/esm/help-hub/helpers/index.js +3 -0
  379. package/dist/esm/help-hub/helpers/index.js.map +1 -0
  380. package/dist/esm/help-hub/helpers/transform-hits.d.ts +4 -0
  381. package/dist/esm/help-hub/helpers/transform-hits.js +11 -0
  382. package/dist/esm/help-hub/helpers/transform-hits.js.map +1 -0
  383. package/dist/esm/help-hub/index.d.ts +6 -0
  384. package/dist/esm/help-hub/index.js +5 -0
  385. package/dist/esm/help-hub/index.js.map +1 -0
  386. package/dist/esm/help-hub/mocks/articlePageContextOptionsMock.d.ts +2 -0
  387. package/dist/esm/help-hub/mocks/articlePageContextOptionsMock.js +24 -0
  388. package/dist/esm/help-hub/mocks/articlePageContextOptionsMock.js.map +1 -0
  389. package/dist/esm/help-hub/mocks/index.d.ts +1 -0
  390. package/dist/esm/help-hub/mocks/index.js +2 -0
  391. package/dist/esm/help-hub/mocks/index.js.map +1 -0
  392. package/dist/esm/help-hub/mocks/landingPageContextOptionsMock.d.ts +2 -0
  393. package/dist/esm/help-hub/mocks/landingPageContextOptionsMock.js +17 -0
  394. package/dist/esm/help-hub/mocks/landingPageContextOptionsMock.js.map +1 -0
  395. package/dist/esm/help-hub/mocks/mocks.d.ts +5 -0
  396. package/dist/esm/help-hub/mocks/mocks.js +11 -0
  397. package/dist/esm/help-hub/mocks/mocks.js.map +1 -0
  398. package/dist/esm/help-hub/mocks/resultsPageContextOptionsMock.d.ts +2 -0
  399. package/dist/esm/help-hub/mocks/resultsPageContextOptionsMock.js +17 -0
  400. package/dist/esm/help-hub/mocks/resultsPageContextOptionsMock.js.map +1 -0
  401. package/dist/esm/help-hub/mocks/sharedMocks.d.ts +17 -0
  402. package/dist/esm/help-hub/mocks/sharedMocks.js +151 -0
  403. package/dist/esm/help-hub/mocks/sharedMocks.js.map +1 -0
  404. package/dist/esm/help-hub/pages/ArticlePage.d.ts +7 -0
  405. package/dist/esm/help-hub/pages/ArticlePage.js +118 -0
  406. package/dist/esm/help-hub/pages/ArticlePage.js.map +1 -0
  407. package/dist/esm/help-hub/pages/ErrorPage.d.ts +7 -0
  408. package/dist/esm/help-hub/pages/ErrorPage.js +83 -0
  409. package/dist/esm/help-hub/pages/ErrorPage.js.map +1 -0
  410. package/dist/esm/help-hub/pages/LandingPage.d.ts +6 -0
  411. package/dist/esm/help-hub/pages/LandingPage.js +87 -0
  412. package/dist/esm/help-hub/pages/LandingPage.js.map +1 -0
  413. package/dist/esm/help-hub/pages/ResultsPage.d.ts +6 -0
  414. package/dist/esm/help-hub/pages/ResultsPage.js +175 -0
  415. package/dist/esm/help-hub/pages/ResultsPage.js.map +1 -0
  416. package/dist/esm/help-hub/pages/index.d.ts +5 -0
  417. package/dist/esm/help-hub/pages/index.js +6 -0
  418. package/dist/esm/help-hub/pages/index.js.map +1 -0
  419. package/dist/esm/help-hub/pages/types.d.ts +19 -0
  420. package/dist/esm/help-hub/pages/types.js +2 -0
  421. package/dist/esm/help-hub/pages/types.js.map +1 -0
  422. package/dist/esm/help-hub/provider/articleProvider.d.ts +22 -0
  423. package/dist/esm/help-hub/provider/articleProvider.js +85 -0
  424. package/dist/esm/help-hub/provider/articleProvider.js.map +1 -0
  425. package/dist/esm/help-hub/provider/errorPageProvider.d.ts +10 -0
  426. package/dist/esm/help-hub/provider/errorPageProvider.js +54 -0
  427. package/dist/esm/help-hub/provider/errorPageProvider.js.map +1 -0
  428. package/dist/esm/help-hub/provider/getHelpHubConfig.d.ts +2 -0
  429. package/dist/esm/help-hub/provider/getHelpHubConfig.js +13 -0
  430. package/dist/esm/help-hub/provider/getHelpHubConfig.js.map +1 -0
  431. package/dist/esm/help-hub/provider/index.d.ts +7 -0
  432. package/dist/esm/help-hub/provider/index.js +8 -0
  433. package/dist/esm/help-hub/provider/index.js.map +1 -0
  434. package/dist/esm/help-hub/provider/landingPageProvider.d.ts +10 -0
  435. package/dist/esm/help-hub/provider/landingPageProvider.js +54 -0
  436. package/dist/esm/help-hub/provider/landingPageProvider.js.map +1 -0
  437. package/dist/esm/help-hub/provider/resultsProvider.d.ts +27 -0
  438. package/dist/esm/help-hub/provider/resultsProvider.js +111 -0
  439. package/dist/esm/help-hub/provider/resultsProvider.js.map +1 -0
  440. package/dist/esm/help-hub/provider/types.d.ts +43 -0
  441. package/dist/esm/help-hub/provider/types.js +10 -0
  442. package/dist/esm/help-hub/provider/types.js.map +1 -0
  443. package/dist/esm/help-hub/types/index.d.ts +11 -0
  444. package/dist/esm/help-hub/types/index.js +2 -0
  445. package/dist/esm/help-hub/types/index.js.map +1 -0
  446. package/dist/esm/index.d.ts +4 -0
  447. package/dist/esm/index.js +5 -0
  448. package/dist/esm/index.js.map +1 -0
  449. package/dist/esm/rss-console/client/index.d.ts +13 -0
  450. package/dist/esm/rss-console/client/index.js +85 -0
  451. package/dist/esm/rss-console/client/index.js.map +1 -0
  452. package/dist/esm/rss-console/components/Templates/LayoutTemplate.d.ts +12 -0
  453. package/dist/esm/rss-console/components/Templates/LayoutTemplate.js +73 -0
  454. package/dist/esm/rss-console/components/Templates/LayoutTemplate.js.map +1 -0
  455. package/dist/esm/rss-console/components/Templates/index.d.ts +3 -0
  456. package/dist/esm/rss-console/components/Templates/index.js +4 -0
  457. package/dist/esm/rss-console/components/Templates/index.js.map +1 -0
  458. package/dist/esm/rss-console/components/Templates/types.d.ts +12 -0
  459. package/dist/esm/rss-console/components/Templates/types.js +2 -0
  460. package/dist/esm/rss-console/components/Templates/types.js.map +1 -0
  461. package/dist/esm/rss-console/context/RSSConsoleContextProvider.d.ts +7 -0
  462. package/dist/esm/rss-console/context/RSSConsoleContextProvider.js +21 -0
  463. package/dist/esm/rss-console/context/RSSConsoleContextProvider.js.map +1 -0
  464. package/dist/esm/rss-console/context/baseContext.d.ts +2 -0
  465. package/dist/esm/rss-console/context/baseContext.js +82 -0
  466. package/dist/esm/rss-console/context/baseContext.js.map +1 -0
  467. package/dist/esm/rss-console/context/index.d.ts +1 -0
  468. package/dist/esm/rss-console/context/index.js +2 -0
  469. package/dist/esm/rss-console/context/index.js.map +1 -0
  470. package/dist/esm/rss-console/context/types.d.ts +27 -0
  471. package/dist/esm/rss-console/context/types.js +7 -0
  472. package/dist/esm/rss-console/context/types.js.map +1 -0
  473. package/dist/esm/rss-console/hooks/useFeed.d.ts +4 -0
  474. package/dist/esm/rss-console/hooks/useFeed.js +47 -0
  475. package/dist/esm/rss-console/hooks/useFeed.js.map +1 -0
  476. package/dist/esm/rss-console/hooks/useFeedCreation.d.ts +4 -0
  477. package/dist/esm/rss-console/hooks/useFeedCreation.js +55 -0
  478. package/dist/esm/rss-console/hooks/useFeedCreation.js.map +1 -0
  479. package/dist/esm/rss-console/hooks/useFeedList.d.ts +4 -0
  480. package/dist/esm/rss-console/hooks/useFeedList.js +49 -0
  481. package/dist/esm/rss-console/hooks/useFeedList.js.map +1 -0
  482. package/dist/esm/rss-console/index.d.ts +1 -0
  483. package/dist/esm/rss-console/index.js +2 -0
  484. package/dist/esm/rss-console/index.js.map +1 -0
  485. package/dist/esm/rss-console/pages/CreateFeedPage.d.ts +4 -0
  486. package/dist/esm/rss-console/pages/CreateFeedPage.js +120 -0
  487. package/dist/esm/rss-console/pages/CreateFeedPage.js.map +1 -0
  488. package/dist/esm/rss-console/pages/FeedDetailsPage.d.ts +4 -0
  489. package/dist/esm/rss-console/pages/FeedDetailsPage.js +77 -0
  490. package/dist/esm/rss-console/pages/FeedDetailsPage.js.map +1 -0
  491. package/dist/esm/rss-console/pages/FeedsListPage.d.ts +4 -0
  492. package/dist/esm/rss-console/pages/FeedsListPage.js +65 -0
  493. package/dist/esm/rss-console/pages/FeedsListPage.js.map +1 -0
  494. package/dist/esm/rss-console/pages/index.d.ts +6 -0
  495. package/dist/esm/rss-console/pages/index.js +7 -0
  496. package/dist/esm/rss-console/pages/index.js.map +1 -0
  497. package/dist/esm/rss-console/pages/types.d.ts +11 -0
  498. package/dist/esm/rss-console/pages/types.js +2 -0
  499. package/dist/esm/rss-console/pages/types.js.map +1 -0
  500. package/package.json +106 -0
package/README.md ADDED
@@ -0,0 +1,798 @@
1
+ # @newskit-render/standalone-components
2
+
3
+ ## Overview
4
+
5
+ The Standalone-components package contains components, that can live within or outside the Render application.
6
+
7
+ ## Getting started
8
+
9
+ Install the package to start using it. Depending on your package manager, run:
10
+
11
+ For yarn:
12
+ `yarn add @newskit-render/standalone-components`
13
+
14
+ For npm:
15
+ `npm install @newskit-render/standalone-components`.
16
+
17
+ ## Components
18
+
19
+ ## 1. Article recommendations
20
+
21
+ Article recommendations implementation is split into two main components:
22
+
23
+ - ArticleRecommendationsProvider
24
+ - RecommendedArticleList
25
+
26
+ ### Article Recommendations Provider
27
+
28
+ This component as the name suggests is a React context provider. It will hold the digital personalisation templates (DPATemplates), fetch the recommended articles and map them to the appropriate template.
29
+
30
+ The component takes the following props.
31
+
32
+ ```typescript
33
+ export type ArticleRecommendationsProviderProps = {
34
+ articleId?: string
35
+ context: ArticleRecommendationsProviderBaseContextType
36
+ children: ReactNode
37
+ config: Config
38
+ }
39
+ ```
40
+
41
+ `articleId` is required to get the recommended articles for the given article
42
+
43
+ `config` is required to access NewsKit API to be able to fetch the recommended articles
44
+
45
+ ```typescript
46
+ export type Config = {
47
+ newskitApiEnvUrl: string
48
+ newskitApiXApiKey: string
49
+ }
50
+ ```
51
+
52
+ The context holds the dpaTemplates dpaTemplate is a template, that holds information about the articles, ads and how they should be rendered on the screen.
53
+
54
+ ```typescript
55
+ const context: ArticleRecommendationsProviderContextType = {
56
+ dpaTemplates: [
57
+ {
58
+ templateId: 'list-1',
59
+ columnCount: '1',
60
+ size: 'small',
61
+ {
62
+ templateId: 'list-1',
63
+ columnCount: '1',
64
+ size: 'small',
65
+ recommendedArticlesCount: 4,
66
+ ads: {
67
+ count: 3,
68
+ articlesMargin: 2,
69
+ options: {
70
+ id: 'dynamic-mpu',
71
+ className: 'nuk-ad-placeholder',
72
+ dataAdLabel: 'dynamicMpus',
73
+ },
74
+ },
75
+ },
76
+ {
77
+ templateId: 'list-2',
78
+ columnCount: { xs: '1', sm: '2', lg: '4' },
79
+ size: 'large',
80
+ recommendedArticlesCount: 8,
81
+ },
82
+ ],
83
+ }
84
+ ```
85
+
86
+ dpa template props:
87
+
88
+ `templateId` template identifier used to uniquely identify the template
89
+
90
+ `columnCount` together with the `totalArticlesCount` will determine the layout. Example: `list-1` will result in a 1x4 article grid, while `list-2` will result in a 4x2 grid on a large screen.
91
+
92
+ `size` the size of the articles
93
+
94
+ `recommendedArticlesCount` is the number of the recommended articles
95
+ `ads` is an optional object containing data for ads
96
+ Ads props:
97
+ `count` the number of ads that we want to have in the current template
98
+ `articlesMargin` is the number of articles that you want to have in between the ads
99
+ `options.id` will contain the prefix of the ad id(E.G dynamic-mpu-1, dynamic-mpu-2 etc.)
100
+ `options.className` is the class name used for all ads
101
+ `options.dataAdLabel` is the data attribute used for all ad
102
+
103
+ ### RecommendedArticleList
104
+
105
+ This component should be a children of Article Recommendations provider. It's purpose is to render all articles and ads from a specific dpa template based on a template id
106
+
107
+ ### Usage
108
+
109
+ In order to use Article recommendations provider and recommended articles list you must wrap your page or the section where you want to display recommendations.
110
+
111
+ You need to pass to Article recommendations provider the context object, that holds dpa templates and the config for Newskit API.
112
+
113
+ Then you can use RecommenedArticleList as a children of ArticleRecommendationsProvider and pass it a template id, that is used as an id in one of the dpa templates.
114
+
115
+ See example below:
116
+
117
+ ```typescript
118
+
119
+ const context: ArticleRecommendationsProviderContextType = {
120
+ dpaTemplates: [
121
+ {
122
+ templateId: 'list-1',
123
+ columnCount: '1',
124
+ size: 'small',
125
+ {
126
+ templateId: 'list-1',
127
+ columnCount: '1',
128
+ size: 'small',
129
+ recommendedArticlesCount: 4,
130
+ ads: {
131
+ count: 3,
132
+ articlesMargin: 2,
133
+ options: {
134
+ id: 'dynamic-mpu',
135
+ className: 'nuk-ad-placeholder',
136
+ dataAdLabel: 'dynamicMpus',
137
+ },
138
+ },
139
+ },
140
+ {
141
+ templateId: 'list-2',
142
+ columnCount: { xs: '1', sm: '2', lg: '4' },
143
+ size: 'large',
144
+ recommendedArticlesCount: 8,
145
+ },
146
+ ],
147
+ }
148
+ const Article: React.FC<ArticleSlug> = ({
149
+ universalArticle,
150
+ articleURL,
151
+ twitterUsername,
152
+ siteHost,
153
+ gscId,
154
+ user,
155
+ articleId,
156
+ config,
157
+ }) => (
158
+ <ArticleRecommendationsProvider articleId={articleId} config={config} context={context}>
159
+ <RecommendedArticleList templateId="list-1" />
160
+ ...
161
+ <RecommendedArticleList templateId="list-2" />
162
+ </ArticleRecommendationsProvider>
163
+ )
164
+
165
+ export async function getServerSideProps(context) {
166
+ return {
167
+ props: {
168
+ config: {
169
+ newskitApiEnvUrl,
170
+ newskitApiXApiKey,
171
+ },
172
+ articleId,
173
+ },
174
+ }
175
+ }
176
+ ```
177
+
178
+ <!--
179
+ ## 2. Article Grid
180
+
181
+ Article Grid - this is a grid element to display a list of articles with a customizable layout.
182
+
183
+ The component takes the following props:
184
+
185
+ ```typescript
186
+ export type ArticleGridProps = {
187
+ overrides?: {
188
+ rowGap?: MQ<string>
189
+ columnGap?: MQ<string>
190
+ }
191
+ columnCount?: MQ<string>
192
+ size: 'large' | 'small'
193
+ articles: Article[]
194
+ }
195
+ ```
196
+
197
+ ### How to use
198
+
199
+ The `columnCount` prop will determine the number of columns in the grid, it supports media query as well.
200
+
201
+ ```typescript
202
+ const ArticleList: React.FC<{
203
+ articles: Article[]
204
+ }> = ({ articles }) => (
205
+ <AricleGrid
206
+ columnCount={{ md: '1', lg: '2' }}
207
+ articles={articles}
208
+ size="large"
209
+ />
210
+ )
211
+ ``` -->
212
+
213
+ ## 4. Help-hub:
214
+
215
+ Help-Hub is a section of a website on which your customers can search for a specific problem and find some help to resolve it. It consists of three parts:
216
+
217
+ 1. Landing page: Where the user is able to search their queries and see the most common questions.
218
+ 2. Search results page: Displaying the relevant results based on the user query. To facilitate the search we are using Algolia.
219
+ 3. Help article page: Page displaying a specific search result.
220
+
221
+ The Help-hub pages will work independent of other components and are customized using the context.
222
+
223
+ ### Prerequisite
224
+
225
+ Help-hub is designed to work only with Next.js, so make sure that your app is running with Next.js
226
+ Before integrating Help-hub, you must ensure that you have an Algolia (Search API) account. If you don't have an account, please create one. After you have obtained an Algolia account, you need to insert the data in it (see docs: https://www.algolia.com/doc/guides/sending-and-managing-data/send-and-update-your-data/#pushing-your-data-to-an-algolia-index). The data must follow the following format:
227
+
228
+ ```typescript
229
+ {
230
+ title: string
231
+ objectID: string
232
+ content: string
233
+ }
234
+ ```
235
+
236
+ For obtaining the Algolia credentials, ask your manager
237
+ If your team does not have account, you will have to request or create such
238
+
239
+ Ask CSP for futher information about populating the data in Algolia. They can assist for getting the data from Salesforce.
240
+ Slack channel: [#cps-support](https://newsuktechnology.slack.com/archives/CM0M0NFEE)
241
+
242
+ ### How to use
243
+
244
+ #### 1. Credentials
245
+
246
+ You need to have Algolia credentials as enviromnent variables:
247
+
248
+ - ALGOLIA_API_KEY
249
+ - ALGOLIA_APP_ID
250
+ - ALGOLIA_INDEX
251
+
252
+ #### 2. Implementation
253
+
254
+ 2.1. Context
255
+
256
+ This is the default context for all the pages use out of the box
257
+
258
+ ```
259
+ export const baseContext: BaseContextOptions = {
260
+ baseUrl: '/help-hub',
261
+ seo: {
262
+ title: 'Help Hub',
263
+ description: '',
264
+ url: '',
265
+ siteHost: '',
266
+ hrefLang: '',
267
+ },
268
+ navigationPrimary: {
269
+ nav: [
270
+ {
271
+ text: 'Section One',
272
+ link: '/section-one',
273
+ icon: null,
274
+ ariaLabel: 'Section One Link',
275
+ },
276
+ {
277
+ text: 'Section Two',
278
+ link: '/section-two',
279
+ icon: null,
280
+ ariaLabel: 'Section Two Link',
281
+ },
282
+ {
283
+ text: 'Section Three',
284
+ link: '/section-three',
285
+ icon: null,
286
+ ariaLabel: 'Section Three Link',
287
+ },
288
+ ],
289
+ },
290
+ header: {
291
+ overlineOverrides: {
292
+ typographyPreset: {
293
+ xs: 'utitityLabel020',
294
+ sm: 'utitityLabel030',
295
+ },
296
+ stylePreset: 'inkBrand010',
297
+ marginBlockEnd: 'space040',
298
+ },
299
+ title: '',
300
+ titleOverrides: {
301
+ typographyPreset: { xs: 'utilityHeading040', sm: 'utilityHeading050' },
302
+ stylePreset: 'inkContrast',
303
+ marginBlockEnd: 'space000',
304
+ as: 'h1',
305
+ },
306
+ description: '',
307
+ descriptionOverrides: {
308
+ typographyPreset: { xs: 'utilityBody020', sm: 'utilityBody030' },
309
+ stylePreset: 'inkBase',
310
+ marginBlockEnd: 'space000',
311
+ },
312
+ backButtonOverrides: {
313
+ marginBlockEnd: { xs: 'space050', sm: 'space060', md: 'space070' },
314
+ stylePreset: 'buttonOutlinedSecondary',
315
+ typographyPreset: 'utilityButton010',
316
+ iconSize: 'iconSize010',
317
+ },
318
+ marginBlockEnd: { xs: 'space050', sm: 'space060', md: 'space040' },
319
+ showDivider: false,
320
+ },
321
+ searchBar: {
322
+ marginBlockEnd: { xs: 'space060', sm: 'space080' },
323
+ color: 'inkBase',
324
+ placeholder: {
325
+ color: 'inkSubtle',
326
+ typographyPreset: 'utilityBody030',
327
+ },
328
+ icon: {
329
+ color: 'inkBrand010',
330
+ position: 'right' as const,
331
+ },
332
+ autocomplete: {
333
+ color: 'interactivePrimary030',
334
+ },
335
+ border: {
336
+ style: '1px solid',
337
+ color: 'interactiveInput020',
338
+ },
339
+ outline: {
340
+ style: 'outlineStyleDefault',
341
+ color: 'outlineColorDefault',
342
+ width: 'outlineWidthDefault',
343
+ },
344
+ },
345
+ contentListView: {
346
+ introduction: {
347
+ marginBlockEnd: 'space060',
348
+ },
349
+ },
350
+ articleNotFound: "Sorry, we can't find the article you are looking for",
351
+ searchResultEmpty: "Sorry, we can't find the result you are looking for",
352
+ marginBlockEnd: { xs: 'space070', md: 'space090' },
353
+ inputPlaceholder: 'Describe your issue',
354
+ footer: {
355
+ menuItemArray: [
356
+ { text: 'About us', href: '/about-us', id: 1 },
357
+ {
358
+ text: 'Privacy & cookie policy',
359
+ href: 'http://www.newsprivacy.co.uk/',
360
+ id: 3,
361
+ },
362
+ { text: 'Terms & conditions', href: '/terms-and-conditions', id: 4 },
363
+ ],
364
+ legalText: `© NewsKit Limited ${new Date().getFullYear()}.
365
+ Registered in England No. 000000. Registered office: 1 London Bridge Street, SE1 9GF.`,
366
+ },
367
+ footerOverrides: {
368
+ ariaLabel: 'Footer Menu',
369
+ menuItemOverrides: {
370
+ stylePreset: 'baseInteractivePrimary030',
371
+ typographyPreset: 'utilityButton020',
372
+ },
373
+ menuOverrides: {
374
+ marginBlockEnd: 'space050',
375
+ backgroundColor: 'interface010',
376
+ borderColor: 'interface050',
377
+ padding: {
378
+ md: 'sizing090',
379
+ xs: 'sizing040',
380
+ },
381
+ },
382
+ legalTextOverrides: {
383
+ marginBlockEnd: 'space050',
384
+ stylePreset: 'legalText',
385
+ typographyPreset: 'utilityMeta010',
386
+ padding: {
387
+ md: 'sizing100',
388
+ xs: 'sizing060',
389
+ },
390
+ },
391
+ },
392
+ }
393
+ ```
394
+
395
+ 2.2 Properties of BaseContextOptions
396
+
397
+ 1. baseUrl - relative url when the help hub landing page lives
398
+
399
+ 2. seo: - Used in the Header component
400
+
401
+ - title: string
402
+ - description: string
403
+ - url: string
404
+ - siteHost: string
405
+ - hrefLang: string
406
+
407
+ 3. navigationPrimary - Global property changes nav links in top banner area - Array of nav objects or false to have no nav
408
+
409
+ - nav?:
410
+ - text: string
411
+ - link: string
412
+ - icon: React.ReactElement<NewsKitIconProps>
413
+ - ariaLabel?: string
414
+ - title?: string
415
+ - logoSrc?: string (path to logo.svg)
416
+ - logoWidth?: string (width of logo)
417
+ - titlePosition?: string (uses css top property to ajust title position)
418
+
419
+ 4. header - Property used to change the title value and styles of each page
420
+
421
+ - overlineOverrides
422
+ - typographyPreset: MQ
423
+ - stylePreset: MQ
424
+ - marginBlockEnd: MQ
425
+ - title: string
426
+ - titleOverrides
427
+
428
+ - typographyPreset: MQ
429
+ - stylePreset: MQ
430
+ - marginBlockEnd: string
431
+ - as: h1 | h2 | h3 | h4 | h5 | h6
432
+
433
+ - description: string
434
+ - descriptionOverrides
435
+
436
+ - typographyPreset: MQ
437
+ - stylePreset: MQ
438
+ - marginBlockEnd: string
439
+
440
+ - backButtonOverrides
441
+
442
+ - marginBlockEnd: MQ
443
+ - stylePreset: MQ
444
+ - typographyPreset: MQ
445
+ - iconSize: MQ
446
+
447
+ - marginBlockEnd: MQ
448
+ - showDivider: boolean
449
+
450
+ 5. searchBar: Property used to style the search bar container
451
+
452
+ - marginBlockEnd: MQ
453
+ - color: string - Search bar input text color
454
+ - placeholder
455
+ - color: string - Placeholder text color
456
+ - typographyPreset: string
457
+ - icon
458
+ - color: string - Search icon color
459
+ - position: string - Position of the icon relative to the search input text.
460
+ - autocomplete
461
+ - color: string - Autocomplete results text color
462
+ - border
463
+ - style: string - Style of the search bar border.
464
+ - color: string - Border color.
465
+ - outline
466
+ - style: string - Style of the search bar outline
467
+ - color: string - outline color
468
+ - width: string - outline width
469
+
470
+ 6. contentListView: Property used to style the results table
471
+
472
+ - introduction: - Used to style the table title
473
+ - marginBlockEnd: MQ
474
+
475
+ 7. articleNotFound: string - Warning message for when the article is not found
476
+
477
+ 8. searchResultEmpty: string - Warning message for when there is not search string
478
+
479
+ 9. marginBlockEnd: MQ
480
+
481
+ 10. inputPlaceholder: string - Search bar placeholder
482
+
483
+ 11. footer: Global property
484
+
485
+ - menuItemArray: [
486
+ {
487
+ text: string
488
+ href: string
489
+ id: integer,
490
+ }
491
+ ]
492
+ - legalText: string
493
+
494
+ 12. footerOverrides: Global property
495
+
496
+ - ariaLabel: string
497
+ - menuItemOverrides:
498
+
499
+ - stylePreset: MQ
500
+ - typographyPreset: MQ
501
+
502
+ - menuOverrides:
503
+
504
+ - marginBlockEnd: MQ
505
+ - backgroundColor: MQ
506
+ - borderColor: MQ
507
+ - padding: MQ
508
+
509
+ - legalTextOverrides:
510
+ - marginBlockEnd: MQ
511
+ - stylePreset: MQ
512
+ - typographyPreset: MQ
513
+ - padding: MQ
514
+
515
+ As said above, help hub consists of three pages and we will take a look on how to add each one of them individually.
516
+
517
+ Each page extend the above BaseContextOptions with their own properties:
518
+
519
+ 2.3 HelpHubLandingPageContextOptions
520
+
521
+ 1. articlesTabelInfo
522
+ - title: string
523
+ - titleOverrides
524
+ - typographyPreset: MQ
525
+ - stylePreset: MQ
526
+ - marginBlockEnd: string
527
+ - as: h1 | h2 | h3 | h4 | h5 | h6
528
+ 2. mostReadArticles: [
529
+ {
530
+ - title: string
531
+ - objectID: string
532
+ }
533
+ ]
534
+
535
+ 2.4 ResultsPageContextOptions
536
+
537
+ 1. hits: [
538
+ {
539
+ - title: string
540
+ - objectID: string
541
+ - content: string
542
+ }
543
+ ]
544
+ 2. introductionProps:
545
+
546
+ - title: string
547
+ - titleOverrides
548
+ - typographyPreset: MQ
549
+ - stylePreset: MQ
550
+ - marginBlockEnd: string
551
+ - as: h1 | h2 | h3 | h4 | h5 | h6
552
+ - description: string
553
+ - showDivider: boolean
554
+
555
+ 3. stylePreset: MQ<string>
556
+ 4. showDividerByBreakpoint: boolean
557
+
558
+ 2.5 ArticlePageContextOptions
559
+
560
+ 1. introductionProps:
561
+
562
+ - titleOverrides
563
+ - typographyPreset: MQ
564
+ - stylePreset: MQ
565
+ - marginBlockEnd: string
566
+ - as: h1 | h2 | h3 | h4 | h5 | h6
567
+
568
+ 2. title: string
569
+ 3. content: string
570
+ 4. searchBreadcrumbContext?:
571
+ - searchBreadcrumbProps?: Omit<BreadcrumbsProps, 'children'> see Newskit
572
+ - notFoundBreadcrumbProps?: Omit<BreadcrumbsProps, 'children'>
573
+ - searchBreadcrumbItemOne?: string
574
+ - searchBreadcrumbItemTwo?: string
575
+
576
+ Standalone-components package exports page components, page context, page context types (PageContextOptions) and a provider function for each page.
577
+
578
+ 2.6 Help-Hub Landing page.
579
+
580
+ As stated above, landing page will display the most read articles. For now these articles are hardcoded and need to be passed to the Landing page (see example below). These articles must be already imported in Algolia in order for them to work.
581
+
582
+ This example shows how to set up the page and override the page context with your own values:
583
+
584
+ ```typescript
585
+ import React, { useContext } from 'react'
586
+ import newrelic from 'newrelic'
587
+ import {
588
+ AlgoliaCredentials,
589
+ HelpHubLandingPage,
590
+ helpHubLandingPageContext,
591
+ HelpHubLandingPageContextOptions,
592
+ helpHubLandingPageProvider,
593
+ } from '@newskit-render/standalone-components'
594
+ import { createThemeDropdownObject } from '../../helpers/createThemeDropdownObject'
595
+ import { AppContext } from '../../context'
596
+ import { addCacheHeaders } from '../../helpers/addCacheHeaders'
597
+
598
+ const landingPageContext: Partial<HelpHubLandingPageContextOptions> = {
599
+ ...helpHubLandingPageContext,
600
+ header: {
601
+ title: 'Your custom title',
602
+ },
603
+ mostReadArticles: [
604
+ {
605
+ title: 'Sign-in with Google',
606
+ objectID: 'sign-with-google',
607
+ },
608
+ {
609
+ title:
610
+ 'I am trying to share an article via Google+ but an error message keeps appearing',
611
+ objectID:
612
+ 'i-am-trying-to-share-an-article-via-google-but-an-error-message-keeps-appearing',
613
+ },
614
+ {
615
+ title: 'How will I find out if I have won a competition?',
616
+ objectID: 'how-will-i-find-out-if-i-have-won-a-competition',
617
+ },
618
+ {
619
+ title: 'How do I login/reset my password?',
620
+ objectID: 'how-do-i-login-reset-my-password',
621
+ },
622
+ {
623
+ title: 'How do I cancel or change my pack?',
624
+ objectID: 'how-do-i-cancel-or-change-my-pack',
625
+ },
626
+ {
627
+ title: 'Can I share my Times & Sunday Times iPad subscription access?',
628
+ objectID: 'can-i-share-my-times-sunday-times-ipad-subscription-access',
629
+ },
630
+ ],
631
+ }
632
+
633
+ const LandingPage: React.FC<{
634
+ credentials: AlgoliaCredentials
635
+ }> = (props) => {
636
+ const { theme, setTheme } = useContext(AppContext)
637
+ const themeDropdownObject = createThemeDropdownObject(setTheme)
638
+
639
+ return (
640
+ <HelpHubLandingPage
641
+ {...props}
642
+ context={landingPageContext}
643
+ customTheme={theme}
644
+ themeDropdownObject={themeDropdownObject}
645
+ />
646
+ )
647
+ }
648
+
649
+ export default LandingPage
650
+
651
+ export const getServerSideProps = async (context) => {
652
+ newrelic.setTransactionName('HelpHubLandingPage')
653
+ console.warn('context:')
654
+ console.warn(context.req && context.req.headers)
655
+ addCacheHeaders(context.res)
656
+
657
+ return helpHubLandingPageProvider()
658
+ }
659
+ ```
660
+
661
+ 2.7 Help-hub Search Results page.
662
+
663
+ example usage:
664
+
665
+ ```typescript
666
+ import React, { useContext } from 'react'
667
+ import newrelic from 'newrelic'
668
+ import {
669
+ HelpHubResultsPage,
670
+ AlgoliaCredentials,
671
+ Hit,
672
+ helpHubResultsProvider,
673
+ helpHubResultsPageContext,
674
+ HelpHubResultsPageContextOptions,
675
+ } from '@newskit-render/standalone-components'
676
+ import { createThemeDropdownObject } from '../../helpers/createThemeDropdownObject'
677
+ import { AppContext } from '../../context'
678
+ import { addCacheHeaders } from '../../helpers/addCacheHeaders'
679
+
680
+ const resultsPageContext: Partial<HelpHubResultsPageContextOptions> = {
681
+ ...helpHubResultsPageContext,
682
+ header: {
683
+ title: 'Search results custom title',
684
+ description: 'Your search for "##QUERY##" returned ##COUNT## results',
685
+ titleOverrides: {
686
+ marginBlockEnd: 'space050',
687
+ },
688
+ marginBlockEnd: 'space060',
689
+ },
690
+ searchBar: {
691
+ marginBlockEnd: { xs: 'space060', md: 'space070' },
692
+ },
693
+ marginBlockEnd: { xs: 'space060', sm: 'space070', md: 'space090' },
694
+ }
695
+
696
+ const ResultsPage: React.FC<{
697
+ credentials: AlgoliaCredentials
698
+ hits: Hit[]
699
+ }> = (props) => {
700
+ const { theme, setTheme } = useContext(AppContext)
701
+ const themeDropdownObject = createThemeDropdownObject(setTheme)
702
+
703
+ return (
704
+ <HelpHubResultsPage
705
+ {...props}
706
+ customTheme={theme}
707
+ context={resultsPageContext}
708
+ themeDropdownObject={themeDropdownObject}
709
+ />
710
+ )
711
+ }
712
+
713
+ export default ResultsPage
714
+
715
+ export const getServerSideProps = async (context) => {
716
+ newrelic.setTransactionName('HelpHubResultsPage')
717
+ console.warn('context:')
718
+ console.warn(context.req && context.req.headers)
719
+ addCacheHeaders(context.res)
720
+
721
+ return helpHubResultsProvider(context)
722
+ }
723
+ ```
724
+
725
+ By default ResultsPage will return up to 20 results. This can be changed by adding a second parameter to `helpHubResultsProvider`
726
+
727
+ ```typescript
728
+ export const getServerSideProps = async (context) => {
729
+ newrelic.setTransactionName('HelpHubResultsPage')
730
+ console.warn('context:')
731
+ console.warn(context.req && context.req.headers)
732
+ addCacheHeaders(context.res)
733
+
734
+ return helpHubResultsProvider(context, 10)
735
+ }
736
+ ```
737
+
738
+ 2.8 Help-hub Help Article page. Article page uses Next.js router to get the article parameter in order to fetch the article. The parameter is called title. That means that your path in Next routing system should look like this:
739
+
740
+ `help-hub/article/[title]/index.tsx`
741
+
742
+ Example use:
743
+
744
+ ```typescript
745
+ import React, { useContext } from 'react'
746
+ import newrelic from 'newrelic'
747
+ import {
748
+ AlgoliaCredentials,
749
+ HelpHubArticlePage,
750
+ helpHubArticleProvider,
751
+ helpHubArticlePageContext,
752
+ HelpHubArticlePageContextOptions,
753
+ } from '@newskit-render/standalone-components'
754
+ import { createThemeDropdownObject } from '../../../../helpers/createThemeDropdownObject'
755
+ import { AppContext } from '../../../../context'
756
+ import { addCacheHeaders } from '../../../../helpers/addCacheHeaders'
757
+
758
+ const articlePageContext: Partial<HelpHubArticlePageContextOptions> = {
759
+ ...helpHubArticlePageContext,
760
+ introductionProps: {
761
+ titleOverrides: {
762
+ typographyPreset: { xs: 'utilityHeading040', sm: 'utilityHeading050' },
763
+ stylePreset: 'inkContrast',
764
+ marginBlockEnd: 'space040',
765
+ as: 'h1',
766
+ },
767
+ },
768
+ }
769
+
770
+ const ArticlePage: React.FC<{
771
+ credentials: AlgoliaCredentials
772
+ title: string
773
+ content: string
774
+ }> = (props) => {
775
+ const { theme, setTheme } = useContext(AppContext)
776
+ const themeDropdownObject = createThemeDropdownObject(setTheme)
777
+
778
+ return (
779
+ <HelpHubArticlePage
780
+ {...props}
781
+ customTheme={theme}
782
+ context={articlePageContext}
783
+ themeDropdownObject={themeDropdownObject}
784
+ />
785
+ )
786
+ }
787
+
788
+ export default ArticlePage
789
+
790
+ export const getServerSideProps = async (context) => {
791
+ newrelic.setTransactionName('HelpHubArticlePage')
792
+ console.warn('context:')
793
+ console.warn(context.req && context.req.headers)
794
+ addCacheHeaders(context.res)
795
+
796
+ return helpHubArticleProvider(context)
797
+ }
798
+ ```