@diplodoc/components 4.23.1 → 4.24.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 (215) hide show
  1. package/build/cjs/components/BookmarkButton/BookmarkButton.css.map +1 -1
  2. package/build/cjs/components/Breadcrumbs/Breadcrumbs.css.map +1 -1
  3. package/build/cjs/components/ContributorAvatars/ContributorAvatars.css.map +1 -1
  4. package/build/cjs/components/Contributors/Contributors.css.map +1 -1
  5. package/build/cjs/components/Control/Control.css.map +1 -1
  6. package/build/cjs/components/Controls/Controls.css.map +1 -1
  7. package/build/cjs/components/Controls/single-controls/DividerControl/DividerControl.css.map +1 -1
  8. package/build/cjs/components/Controls/single-controls/LangControl/LangControl.css.map +1 -1
  9. package/build/cjs/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +1 -1
  10. package/build/cjs/components/DocContentPage/DocContentPage.d.ts +1 -0
  11. package/build/cjs/components/DocContentPage/DocContentPage.js +3 -2
  12. package/build/cjs/components/DocContentPage/DocContentPage.js.map +2 -2
  13. package/build/cjs/components/DocLayout/DocLayout.css +0 -4
  14. package/build/cjs/components/DocLayout/DocLayout.css.map +3 -3
  15. package/build/cjs/components/DocLeadingPage/DocLeadingPage.css.map +1 -1
  16. package/build/cjs/components/DocLeadingPage/DocLeadingPage.d.ts +2 -0
  17. package/build/cjs/components/DocLeadingPage/DocLeadingPage.js +7 -3
  18. package/build/cjs/components/DocLeadingPage/DocLeadingPage.js.map +2 -2
  19. package/build/cjs/components/DocPage/DocPage.css +3 -5
  20. package/build/cjs/components/DocPage/DocPage.css.map +3 -3
  21. package/build/cjs/components/DocPage/DocPage.d.ts +1 -0
  22. package/build/cjs/components/DocPage/DocPage.js +2 -2
  23. package/build/cjs/components/DocPage/DocPage.js.map +2 -2
  24. package/build/cjs/components/DocPageTitle/DocPageTitle.css.map +1 -1
  25. package/build/cjs/components/ErrorPage/ErrorPage.css.map +1 -1
  26. package/build/cjs/components/Feedback/Feedback.css.map +1 -1
  27. package/build/cjs/components/Mark/Mark.css.map +1 -1
  28. package/build/cjs/components/Meta/Meta.d.ts +4 -2
  29. package/build/cjs/components/Meta/Meta.js +138 -0
  30. package/build/cjs/components/Meta/Meta.js.map +7 -0
  31. package/build/cjs/components/Meta/index.js +39 -0
  32. package/build/cjs/components/Meta/index.js.map +7 -0
  33. package/build/cjs/components/MiniToc/MiniToc.css.map +1 -1
  34. package/build/cjs/components/MobileControls/MobileControl/MobileControl.css.map +1 -1
  35. package/build/cjs/components/MobileControls/MobileControlSheet/MobileControlSheet.css.map +1 -1
  36. package/build/cjs/components/MobileControls/MobileControls.css.map +1 -1
  37. package/build/cjs/components/Notification/Notification.css.map +1 -1
  38. package/build/cjs/components/Paginator/Paginator.css.map +1 -1
  39. package/build/cjs/components/SearchBar/SearchBar.css.map +1 -1
  40. package/build/cjs/components/SearchItem/SearchItem.css.map +1 -1
  41. package/build/cjs/components/SearchPage/SearchPage.css.map +1 -1
  42. package/build/cjs/components/SearchSuggest/index.css.map +1 -1
  43. package/build/cjs/components/SocialSharingMeta/SocialSharingMeta.js +103 -0
  44. package/build/cjs/components/SocialSharingMeta/SocialSharingMeta.js.map +7 -0
  45. package/build/cjs/components/SocialSharingMeta/index.js +21 -0
  46. package/build/cjs/components/SocialSharingMeta/index.js.map +7 -0
  47. package/build/cjs/components/SubNavigation/SubNavigation.css +3 -0
  48. package/build/cjs/components/SubNavigation/SubNavigation.css.map +3 -3
  49. package/build/cjs/components/SubNavigation/SubNavigation.js +4 -13
  50. package/build/cjs/components/SubNavigation/SubNavigation.js.map +2 -2
  51. package/build/cjs/components/Subscribe/Subscribe.css.map +1 -1
  52. package/build/cjs/components/Toc/Toc.css.map +1 -1
  53. package/build/cjs/components/TocItem/TocItem.css.map +1 -1
  54. package/build/cjs/components/TocLable/TocLabel.css.map +1 -1
  55. package/build/cjs/components/TocNavPanel/TocNavPanel.css.map +1 -1
  56. package/build/cjs/components/ToggleArrow/ToggleArrow.css.map +1 -1
  57. package/build/cjs/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
  58. package/build/cjs/components/VersionsSelect/VersionsSelect.d.ts +8 -0
  59. package/build/cjs/components/VersionsSelect/VersionsSelect.js +61 -0
  60. package/build/cjs/components/VersionsSelect/VersionsSelect.js.map +7 -0
  61. package/build/cjs/components/VersionsSelect/index.d.ts +1 -0
  62. package/build/cjs/components/VersionsSelect/index.js +21 -0
  63. package/build/cjs/components/VersionsSelect/index.js.map +7 -0
  64. package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.css +5 -0
  65. package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.css.map +3 -3
  66. package/build/cjs/components/navigation/MobileDropdown/MobileDropdown.css.map +1 -1
  67. package/build/cjs/components/navigation/Sidebar/Sidebar.css.map +1 -1
  68. package/build/cjs/components/navigation/SidebarContent/SidebarContent.css.map +1 -1
  69. package/build/cjs/components/navigation/SidebarNavigation/SidebarNavigation.css.map +1 -1
  70. package/build/cjs/components/navigation/ToMainMenu/ToMainMenu.css.map +1 -1
  71. package/build/cjs/constants.d.ts +1 -0
  72. package/build/cjs/constants.js +14 -1
  73. package/build/cjs/constants.js.map +3 -3
  74. package/build/cjs/contexts/LangContext.js +44 -0
  75. package/build/cjs/contexts/LangContext.js.map +7 -0
  76. package/build/cjs/contexts/RouterContext.js +38 -0
  77. package/build/cjs/contexts/RouterContext.js.map +7 -0
  78. package/build/cjs/contexts/_namedContext.js +42 -0
  79. package/build/cjs/contexts/_namedContext.js.map +7 -0
  80. package/build/cjs/hoc/_withContext.js +68 -0
  81. package/build/cjs/hoc/_withContext.js.map +7 -0
  82. package/build/cjs/hoc/withLang.js +39 -0
  83. package/build/cjs/hoc/withLang.js.map +7 -0
  84. package/build/cjs/hoc/withRouter.js +39 -0
  85. package/build/cjs/hoc/withRouter.js.map +7 -0
  86. package/build/cjs/i18n/index.d.ts +48 -0
  87. package/build/cjs/i18n/index.js +24 -12
  88. package/build/cjs/i18n/index.js.map +2 -2
  89. package/build/cjs/index.d.ts +3 -0
  90. package/build/cjs/index.js +3 -0
  91. package/build/cjs/index.js.map +2 -2
  92. package/build/cjs/utils/index.d.ts +1 -1
  93. package/build/cjs/utils/index.js +6 -6
  94. package/build/cjs/utils/index.js.map +2 -2
  95. package/build/cjs/utils/sanitize.js +34 -0
  96. package/build/cjs/utils/sanitize.js.map +7 -0
  97. package/build/esm/components/BookmarkButton/BookmarkButton.css.map +1 -1
  98. package/build/esm/components/Breadcrumbs/Breadcrumbs.css.map +1 -1
  99. package/build/esm/components/ContributorAvatars/ContributorAvatars.css.map +1 -1
  100. package/build/esm/components/Contributors/Contributors.css.map +1 -1
  101. package/build/esm/components/Control/Control.css.map +1 -1
  102. package/build/esm/components/Controls/Controls.css.map +1 -1
  103. package/build/esm/components/Controls/single-controls/DividerControl/DividerControl.css.map +1 -1
  104. package/build/esm/components/Controls/single-controls/LangControl/LangControl.css.map +1 -1
  105. package/build/esm/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +1 -1
  106. package/build/esm/components/DocContentPage/DocContentPage.d.ts +1 -0
  107. package/build/esm/components/DocContentPage/DocContentPage.js +3 -2
  108. package/build/esm/components/DocContentPage/DocContentPage.js.map +2 -2
  109. package/build/esm/components/DocLayout/DocLayout.css +0 -4
  110. package/build/esm/components/DocLayout/DocLayout.css.map +3 -3
  111. package/build/esm/components/DocLeadingPage/DocLeadingPage.css.map +1 -1
  112. package/build/esm/components/DocLeadingPage/DocLeadingPage.d.ts +2 -0
  113. package/build/esm/components/DocLeadingPage/DocLeadingPage.js +7 -3
  114. package/build/esm/components/DocLeadingPage/DocLeadingPage.js.map +2 -2
  115. package/build/esm/components/DocPage/DocPage.css +3 -5
  116. package/build/esm/components/DocPage/DocPage.css.map +3 -3
  117. package/build/esm/components/DocPage/DocPage.d.ts +1 -0
  118. package/build/esm/components/DocPage/DocPage.js +2 -2
  119. package/build/esm/components/DocPage/DocPage.js.map +2 -2
  120. package/build/esm/components/DocPageTitle/DocPageTitle.css.map +1 -1
  121. package/build/esm/components/ErrorPage/ErrorPage.css.map +1 -1
  122. package/build/esm/components/Feedback/Feedback.css.map +1 -1
  123. package/build/esm/components/Mark/Mark.css.map +1 -1
  124. package/build/esm/components/Meta/Meta.d.ts +4 -2
  125. package/build/esm/components/Meta/Meta.js +110 -0
  126. package/build/esm/components/Meta/Meta.js.map +7 -0
  127. package/build/esm/components/Meta/index.js +7 -0
  128. package/build/esm/components/Meta/index.js.map +7 -0
  129. package/build/esm/components/MiniToc/MiniToc.css.map +1 -1
  130. package/build/esm/components/MobileControls/MobileControl/MobileControl.css.map +1 -1
  131. package/build/esm/components/MobileControls/MobileControlSheet/MobileControlSheet.css.map +1 -1
  132. package/build/esm/components/MobileControls/MobileControls.css.map +1 -1
  133. package/build/esm/components/Notification/Notification.css.map +1 -1
  134. package/build/esm/components/Paginator/Paginator.css.map +1 -1
  135. package/build/esm/components/SearchBar/SearchBar.css.map +1 -1
  136. package/build/esm/components/SearchItem/SearchItem.css.map +1 -1
  137. package/build/esm/components/SearchPage/SearchPage.css.map +1 -1
  138. package/build/esm/components/SearchSuggest/index.css.map +1 -1
  139. package/build/esm/components/SocialSharingMeta/SocialSharingMeta.js +75 -0
  140. package/build/esm/components/SocialSharingMeta/SocialSharingMeta.js.map +7 -0
  141. package/build/esm/components/SocialSharingMeta/index.js +3 -0
  142. package/build/esm/components/SocialSharingMeta/index.js.map +7 -0
  143. package/build/esm/components/SubNavigation/SubNavigation.css +3 -0
  144. package/build/esm/components/SubNavigation/SubNavigation.css.map +3 -3
  145. package/build/esm/components/SubNavigation/SubNavigation.js +4 -13
  146. package/build/esm/components/SubNavigation/SubNavigation.js.map +2 -2
  147. package/build/esm/components/Subscribe/Subscribe.css.map +1 -1
  148. package/build/esm/components/Toc/Toc.css.map +1 -1
  149. package/build/esm/components/TocItem/TocItem.css.map +1 -1
  150. package/build/esm/components/TocLable/TocLabel.css.map +1 -1
  151. package/build/esm/components/TocNavPanel/TocNavPanel.css.map +1 -1
  152. package/build/esm/components/ToggleArrow/ToggleArrow.css.map +1 -1
  153. package/build/esm/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
  154. package/build/esm/components/VersionsSelect/VersionsSelect.d.ts +8 -0
  155. package/build/esm/components/VersionsSelect/VersionsSelect.js +30 -0
  156. package/build/esm/components/VersionsSelect/VersionsSelect.js.map +7 -0
  157. package/build/esm/components/VersionsSelect/index.d.ts +1 -0
  158. package/build/esm/components/VersionsSelect/index.js +3 -0
  159. package/build/esm/components/VersionsSelect/index.js.map +7 -0
  160. package/build/esm/components/navigation/CustomNavigation/CustomNavigation.css +5 -0
  161. package/build/esm/components/navigation/CustomNavigation/CustomNavigation.css.map +3 -3
  162. package/build/esm/components/navigation/MobileDropdown/MobileDropdown.css.map +1 -1
  163. package/build/esm/components/navigation/Sidebar/Sidebar.css.map +1 -1
  164. package/build/esm/components/navigation/SidebarContent/SidebarContent.css.map +1 -1
  165. package/build/esm/components/navigation/SidebarNavigation/SidebarNavigation.css.map +1 -1
  166. package/build/esm/components/navigation/ToMainMenu/ToMainMenu.css.map +1 -1
  167. package/build/esm/constants.d.ts +1 -0
  168. package/build/esm/constants.js +4 -1
  169. package/build/esm/constants.js.map +2 -2
  170. package/build/esm/contexts/LangContext.js +13 -0
  171. package/build/esm/contexts/LangContext.js.map +7 -0
  172. package/build/esm/contexts/RouterContext.js +7 -0
  173. package/build/esm/contexts/RouterContext.js.map +7 -0
  174. package/build/esm/contexts/_namedContext.js +11 -0
  175. package/build/esm/contexts/_namedContext.js.map +7 -0
  176. package/build/esm/hoc/_withContext.js +40 -0
  177. package/build/esm/hoc/_withContext.js.map +7 -0
  178. package/build/esm/hoc/withLang.js +8 -0
  179. package/build/esm/hoc/withLang.js.map +7 -0
  180. package/build/esm/hoc/withRouter.js +8 -0
  181. package/build/esm/hoc/withRouter.js.map +7 -0
  182. package/build/esm/i18n/index.d.ts +48 -0
  183. package/build/esm/i18n/index.js +24 -12
  184. package/build/esm/i18n/index.js.map +2 -2
  185. package/build/esm/index.d.ts +3 -0
  186. package/build/esm/index.js +3 -0
  187. package/build/esm/index.js.map +2 -2
  188. package/build/esm/utils/index.d.ts +1 -1
  189. package/build/esm/utils/index.js +6 -6
  190. package/build/esm/utils/index.js.map +2 -2
  191. package/build/esm/utils/sanitize.js +13 -0
  192. package/build/esm/utils/sanitize.js.map +7 -0
  193. package/build/index.css.map +1 -1
  194. package/build/themes/common/index.css.map +1 -1
  195. package/package.json +1 -1
  196. package/src/i18n/ar.json +3 -0
  197. package/src/i18n/bg.json +3 -0
  198. package/src/i18n/cs.json +3 -0
  199. package/src/i18n/el.json +3 -0
  200. package/src/i18n/en.json +3 -0
  201. package/src/i18n/es.json +3 -0
  202. package/src/i18n/et.json +3 -0
  203. package/src/i18n/fr.json +3 -0
  204. package/src/i18n/he.json +3 -0
  205. package/src/i18n/kk.json +3 -0
  206. package/src/i18n/pt.json +3 -0
  207. package/src/i18n/ru.json +3 -0
  208. package/src/i18n/tr.json +3 -0
  209. package/src/i18n/uz.json +3 -0
  210. package/src/i18n/zh-tw.json +3 -0
  211. package/src/i18n/zh.json +3 -0
  212. package/build/cjs/components/DocMeta/DocMeta.d.ts +0 -9
  213. package/build/cjs/components/DocMeta/index.d.ts +0 -2
  214. package/build/esm/components/DocMeta/DocMeta.d.ts +0 -9
  215. package/build/esm/components/DocMeta/index.d.ts +0 -2
@@ -6,9 +6,11 @@ export * from './components/DocPage';
6
6
  export * from './components/DocPageTitle';
7
7
  export * from './components/HTML';
8
8
  export * from './components/Mark';
9
+ export * from './components/Meta';
9
10
  export * from './components/MiniToc';
10
11
  export * from './components/SubNavigation';
11
12
  export * from './components/ShareButton';
13
+ export * from './components/SocialSharingMeta';
12
14
  export * from './components/Scrollspy';
13
15
  export * from './components/StageLabel';
14
16
  export * from './components/Text';
@@ -30,6 +32,7 @@ export * from './components/SearchPage';
30
32
  export * from './components/SearchSuggest';
31
33
  export * from './components/DocContentPage';
32
34
  export * from './components/Notification';
35
+ export * from './components/VersionsSelect';
33
36
  export * from './components/navigation';
34
37
  export * from './config';
35
38
  export * from './models';
@@ -7,9 +7,11 @@ export * from "./components/DocPage";
7
7
  export * from "./components/DocPageTitle";
8
8
  export * from "./components/HTML";
9
9
  export * from "./components/Mark";
10
+ export * from "./components/Meta";
10
11
  export * from "./components/MiniToc";
11
12
  export * from "./components/SubNavigation";
12
13
  export * from "./components/ShareButton";
14
+ export * from "./components/SocialSharingMeta";
13
15
  export * from "./components/Scrollspy";
14
16
  export * from "./components/StageLabel";
15
17
  export * from "./components/Text";
@@ -31,6 +33,7 @@ export * from "./components/SearchPage";
31
33
  export * from "./components/SearchSuggest";
32
34
  export * from "./components/DocContentPage";
33
35
  export * from "./components/Notification";
36
+ export * from "./components/VersionsSelect";
34
37
  export * from "./components/navigation";
35
38
  export * from "./config";
36
39
  export * from "./models";
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/index.ts"],
4
- "sourcesContent": ["export * from './components/Breadcrumbs';\nexport * from './components/ConsentPopup';\nexport * from './components/DocLayout';\nexport * from './components/DocLeadingPage';\nexport * from './components/DocPage';\nexport * from './components/DocPageTitle';\nexport * from './components/HTML';\nexport * from './components/Mark';\nexport * from './components/MiniToc';\nexport * from './components/SubNavigation';\nexport * from './components/ShareButton';\nexport * from './components/Scrollspy';\nexport * from './components/StageLabel';\nexport * from './components/Text';\nexport * from './components/Toc';\nexport * from './components/ToggleArrow';\nexport * from './components/OutsideClick';\nexport * from './components/TocNavPanel';\nexport * from './components/Feedback';\nexport * from './components/Control';\nexport * from './components/Controls';\nexport * from './components/MobileControls';\nexport * from './components/BookmarkButton';\nexport * from './components/ErrorPage';\nexport * from './components/ErrorBoundary';\nexport * from './components/Paginator';\nexport * from './components/SearchBar';\nexport * from './components/SearchItem';\nexport * from './components/SearchPage';\nexport * from './components/SearchSuggest';\nexport * from './components/DocContentPage';\nexport * from './components/Notification';\n\nexport * from './components/navigation';\n\nexport * from './config';\nexport * from './models';\nexport * from './constants';\nexport * from './utils';\n"],
5
- "mappings": ";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
4
+ "sourcesContent": ["export * from './components/Breadcrumbs';\nexport * from './components/ConsentPopup';\nexport * from './components/DocLayout';\nexport * from './components/DocLeadingPage';\nexport * from './components/DocPage';\nexport * from './components/DocPageTitle';\nexport * from './components/HTML';\nexport * from './components/Mark';\nexport * from './components/Meta';\nexport * from './components/MiniToc';\nexport * from './components/SubNavigation';\nexport * from './components/ShareButton';\nexport * from './components/SocialSharingMeta';\nexport * from './components/Scrollspy';\nexport * from './components/StageLabel';\nexport * from './components/Text';\nexport * from './components/Toc';\nexport * from './components/ToggleArrow';\nexport * from './components/OutsideClick';\nexport * from './components/TocNavPanel';\nexport * from './components/Feedback';\nexport * from './components/Control';\nexport * from './components/Controls';\nexport * from './components/MobileControls';\nexport * from './components/BookmarkButton';\nexport * from './components/ErrorPage';\nexport * from './components/ErrorBoundary';\nexport * from './components/Paginator';\nexport * from './components/SearchBar';\nexport * from './components/SearchItem';\nexport * from './components/SearchPage';\nexport * from './components/SearchSuggest';\nexport * from './components/DocContentPage';\nexport * from './components/Notification';\nexport * from './components/VersionsSelect';\n\nexport * from './components/navigation';\n\nexport * from './config';\nexport * from './models';\nexport * from './constants';\nexport * from './utils';\n"],
5
+ "mappings": ";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AAEd,cAAc;AAEd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
6
6
  "names": []
7
7
  }
@@ -6,7 +6,7 @@ export type ChangeHandler<S> = <K extends keyof S, V extends S[K]>(field: K, val
6
6
  export declare function normalizePath(path?: string | null): string | undefined;
7
7
  export declare function normalizeHash(hash?: string | null): string | null | undefined;
8
8
  export declare function isActiveItem(router: Router, href: string, singlePage?: boolean): boolean;
9
- export declare function getLangPath(router: Router, lang: string): string;
9
+ export declare function getLangPath(router: Router, lang: string, href?: string): string;
10
10
  export declare function isExternalHref(href: string): boolean;
11
11
  export declare function getStateKey(showMiniToc: boolean | unknown, wideFormat: boolean | unknown, singlePage: boolean | unknown): string;
12
12
  export declare function callSafe(func: ((path: string) => string) | undefined, path: string): string;
@@ -23,12 +23,12 @@ function isActiveItem(router, href, singlePage) {
23
23
  }
24
24
  return normalizePath(router.pathname) === normalizePath(parse(href).pathname);
25
25
  }
26
- function getLangPath(router, lang) {
27
- const path = router.hash ? normalizeHash(router.hash) : normalizePath(router.pathname);
28
- const route = (path == null ? void 0 : path.split("../")) || [];
29
- const routeLast = route[route.length - 1];
30
- const routeHtml = routeLast ? routeLast + ".html" : routeLast;
31
- return `../${lang}/${routeHtml || ""}`;
26
+ function getLangPath(router, lang, href) {
27
+ const { pathname, hash } = router;
28
+ const pathParts = pathname.split("/").filter(Boolean);
29
+ const newPath = pathParts.slice(1).join("/");
30
+ const hrefWithoutHash = href == null ? void 0 : href.split("#")[0];
31
+ return [`${lang}/`, newPath, (hrefWithoutHash == null ? void 0 : hrefWithoutHash.endsWith(".html")) && ".html", hash].filter(Boolean).join("");
32
32
  }
33
33
  function isExternalHref(href) {
34
34
  return href.startsWith("http") || href.startsWith("//");
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/utils/index.ts"],
4
- "sourcesContent": ["import {parse} from 'url';\nimport {ThemeContextProps} from '@gravity-ui/uikit';\n\nimport {DocContentPage} from '../components/DocContentPage';\nimport {DocLeadingPage} from '../components/DocLeadingPage';\nimport {DocPage} from '../components/DocPage';\nimport {PopperPosition} from '../hooks';\nimport {\n Contributor,\n DocContentPageData,\n DocLeadingPageData,\n DocPageData,\n DocumentType,\n Router,\n} from '../models';\n\nexport type InnerProps<TProps extends Partial<TDefaultProps>, TDefaultProps> = Omit<\n TProps,\n keyof TDefaultProps\n> &\n Required<Pick<TProps, keyof TDefaultProps>>;\n\nexport type ChangeHandler<S> = <K extends keyof S, V extends S[K]>(\n field: K,\n value?: V,\n) => () => void;\n\nexport function normalizePath(path?: string | null) {\n return path?.replace(/\\.html$/, '')?.replace(/\\/index$/, '/');\n}\n\nexport function normalizeHash(hash?: string | null) {\n if (hash && hash.startsWith('#')) {\n return hash.substring(1);\n }\n return hash;\n}\n\nexport function isActiveItem(router: Router, href: string, singlePage?: boolean) {\n if (singlePage) {\n return normalizeHash(router.hash) === normalizeHash(parse(href).hash);\n }\n\n return normalizePath(router.pathname) === normalizePath(parse(href).pathname);\n}\n\nexport function getLangPath(router: Router, lang: string) {\n const path = router.hash ? normalizeHash(router.hash) : normalizePath(router.pathname);\n const route = path?.split('../') || [];\n const routeLast = route[route.length - 1];\n const routeHtml = routeLast ? routeLast + '.html' : routeLast;\n return `../${lang}/${routeHtml || ''}`;\n}\n\nexport function isExternalHref(href: string) {\n return href.startsWith('http') || href.startsWith('//');\n}\n\nexport function getStateKey(\n showMiniToc: boolean | unknown,\n wideFormat: boolean | unknown,\n singlePage: boolean | unknown,\n) {\n return [\n showMiniToc ? 'showMiniToc' : '',\n wideFormat ? 'wideFormat' : '',\n singlePage ? 'singlePage' : '',\n ].join('|');\n}\n\nexport function callSafe(func: ((path: string) => string) | undefined, path: string) {\n if (typeof func === 'function') {\n return func(path);\n }\n\n if (typeof func === 'undefined') {\n return path;\n }\n\n throw new Error('Path converter should be a function');\n}\n\nexport const getRandomKey = () => Math.random();\n\nexport function isInvalidEmail(email: string) {\n const EMAIL_RE = /\\S+@\\S+/;\n\n return !EMAIL_RE.test(email);\n}\n\nexport function isContributor(contributor: unknown): contributor is Contributor {\n if (!contributor || typeof contributor !== 'object') {\n return false;\n }\n\n const fields = ['avatar', 'login', 'url', 'name', 'email'];\n\n for (const field of fields) {\n if (field in contributor) {\n return true;\n }\n }\n\n return false;\n}\n\nexport const getPopupPosition = (\n isVerticalView: boolean | undefined,\n direction?: ThemeContextProps['direction'],\n) => {\n if (isVerticalView && direction === 'rtl') {\n return PopperPosition.RIGHT_START;\n }\n\n return isVerticalView ? PopperPosition.LEFT_START : PopperPosition.BOTTOM_END;\n};\n\nexport function getPageByType(type: DocumentType) {\n const PageTypes = {\n [DocumentType.Base]: DocPage,\n [DocumentType.Leading]: DocLeadingPage,\n [DocumentType.PageConstructor]: DocContentPage,\n };\n\n return PageTypes[type] || null;\n}\n\nexport function getPageType({\n data,\n leading,\n}: DocLeadingPageData | (DocPageData & {data?: undefined}) | DocContentPageData): DocumentType {\n if (leading && data) {\n return Object.prototype.hasOwnProperty.call(data, 'blocks')\n ? DocumentType.PageConstructor\n : DocumentType.Leading;\n }\n\n return DocumentType.Base;\n}\n"],
5
- "mappings": ";AAAA,SAAQ,aAAY;AAGpB,SAAQ,sBAAqB;AAC7B,SAAQ,sBAAqB;AAC7B,SAAQ,eAAc;AACtB,SAAQ,sBAAqB;AAC7B;AAAA,EAKI;AAAA,OAEG;AAaA,SAAS,cAAc,MAAsB;AA3BpD;AA4BI,UAAO,kCAAM,QAAQ,WAAW,QAAzB,mBAA8B,QAAQ,YAAY;AAC7D;AAEO,SAAS,cAAc,MAAsB;AAChD,MAAI,QAAQ,KAAK,WAAW,GAAG,GAAG;AAC9B,WAAO,KAAK,UAAU,CAAC;AAAA,EAC3B;AACA,SAAO;AACX;AAEO,SAAS,aAAa,QAAgB,MAAc,YAAsB;AAC7E,MAAI,YAAY;AACZ,WAAO,cAAc,OAAO,IAAI,MAAM,cAAc,MAAM,IAAI,EAAE,IAAI;AAAA,EACxE;AAEA,SAAO,cAAc,OAAO,QAAQ,MAAM,cAAc,MAAM,IAAI,EAAE,QAAQ;AAChF;AAEO,SAAS,YAAY,QAAgB,MAAc;AACtD,QAAM,OAAO,OAAO,OAAO,cAAc,OAAO,IAAI,IAAI,cAAc,OAAO,QAAQ;AACrF,QAAM,SAAQ,6BAAM,MAAM,WAAU,CAAC;AACrC,QAAM,YAAY,MAAM,MAAM,SAAS,CAAC;AACxC,QAAM,YAAY,YAAY,YAAY,UAAU;AACpD,SAAO,MAAM,IAAI,IAAI,aAAa,EAAE;AACxC;AAEO,SAAS,eAAe,MAAc;AACzC,SAAO,KAAK,WAAW,MAAM,KAAK,KAAK,WAAW,IAAI;AAC1D;AAEO,SAAS,YACZ,aACA,YACA,YACF;AACE,SAAO;AAAA,IACH,cAAc,gBAAgB;AAAA,IAC9B,aAAa,eAAe;AAAA,IAC5B,aAAa,eAAe;AAAA,EAChC,EAAE,KAAK,GAAG;AACd;AAEO,SAAS,SAAS,MAA8C,MAAc;AACjF,MAAI,OAAO,SAAS,YAAY;AAC5B,WAAO,KAAK,IAAI;AAAA,EACpB;AAEA,MAAI,OAAO,SAAS,aAAa;AAC7B,WAAO;AAAA,EACX;AAEA,QAAM,IAAI,MAAM,qCAAqC;AACzD;AAEO,IAAM,eAAe,MAAM,KAAK,OAAO;AAEvC,SAAS,eAAe,OAAe;AAC1C,QAAM,WAAW;AAEjB,SAAO,CAAC,SAAS,KAAK,KAAK;AAC/B;AAEO,SAAS,cAAc,aAAkD;AAC5E,MAAI,CAAC,eAAe,OAAO,gBAAgB,UAAU;AACjD,WAAO;AAAA,EACX;AAEA,QAAM,SAAS,CAAC,UAAU,SAAS,OAAO,QAAQ,OAAO;AAEzD,aAAW,SAAS,QAAQ;AACxB,QAAI,SAAS,aAAa;AACtB,aAAO;AAAA,IACX;AAAA,EACJ;AAEA,SAAO;AACX;AAEO,IAAM,mBAAmB,CAC5B,gBACA,cACC;AACD,MAAI,kBAAkB,cAAc,OAAO;AACvC,WAAO,eAAe;AAAA,EAC1B;AAEA,SAAO,iBAAiB,eAAe,aAAa,eAAe;AACvE;AAEO,SAAS,cAAc,MAAoB;AAC9C,QAAM,YAAY;AAAA,IACd,CAAC,aAAa,IAAI,GAAG;AAAA,IACrB,CAAC,aAAa,OAAO,GAAG;AAAA,IACxB,CAAC,aAAa,eAAe,GAAG;AAAA,EACpC;AAEA,SAAO,UAAU,IAAI,KAAK;AAC9B;AAEO,SAAS,YAAY;AAAA,EACxB;AAAA,EACA;AACJ,GAA+F;AAC3F,MAAI,WAAW,MAAM;AACjB,WAAO,OAAO,UAAU,eAAe,KAAK,MAAM,QAAQ,IACpD,aAAa,kBACb,aAAa;AAAA,EACvB;AAEA,SAAO,aAAa;AACxB;",
4
+ "sourcesContent": ["import {parse} from 'url';\nimport {ThemeContextProps} from '@gravity-ui/uikit';\n\nimport {DocContentPage} from '../components/DocContentPage';\nimport {DocLeadingPage} from '../components/DocLeadingPage';\nimport {DocPage} from '../components/DocPage';\nimport {PopperPosition} from '../hooks';\nimport {\n Contributor,\n DocContentPageData,\n DocLeadingPageData,\n DocPageData,\n DocumentType,\n Router,\n} from '../models';\n\nexport type InnerProps<TProps extends Partial<TDefaultProps>, TDefaultProps> = Omit<\n TProps,\n keyof TDefaultProps\n> &\n Required<Pick<TProps, keyof TDefaultProps>>;\n\nexport type ChangeHandler<S> = <K extends keyof S, V extends S[K]>(\n field: K,\n value?: V,\n) => () => void;\n\nexport function normalizePath(path?: string | null) {\n return path?.replace(/\\.html$/, '')?.replace(/\\/index$/, '/');\n}\n\nexport function normalizeHash(hash?: string | null) {\n if (hash && hash.startsWith('#')) {\n return hash.substring(1);\n }\n return hash;\n}\n\nexport function isActiveItem(router: Router, href: string, singlePage?: boolean) {\n if (singlePage) {\n return normalizeHash(router.hash) === normalizeHash(parse(href).hash);\n }\n\n return normalizePath(router.pathname) === normalizePath(parse(href).pathname);\n}\n\nexport function getLangPath(router: Router, lang: string, href?: string) {\n const {pathname, hash} = router;\n const pathParts = pathname.split('/').filter(Boolean);\n const newPath = pathParts.slice(1).join('/');\n const hrefWithoutHash = href?.split('#')[0];\n\n return [`${lang}/`, newPath, hrefWithoutHash?.endsWith('.html') && '.html', hash]\n .filter(Boolean)\n .join('');\n}\n\nexport function isExternalHref(href: string) {\n return href.startsWith('http') || href.startsWith('//');\n}\n\nexport function getStateKey(\n showMiniToc: boolean | unknown,\n wideFormat: boolean | unknown,\n singlePage: boolean | unknown,\n) {\n return [\n showMiniToc ? 'showMiniToc' : '',\n wideFormat ? 'wideFormat' : '',\n singlePage ? 'singlePage' : '',\n ].join('|');\n}\n\nexport function callSafe(func: ((path: string) => string) | undefined, path: string) {\n if (typeof func === 'function') {\n return func(path);\n }\n\n if (typeof func === 'undefined') {\n return path;\n }\n\n throw new Error('Path converter should be a function');\n}\n\nexport const getRandomKey = () => Math.random();\n\nexport function isInvalidEmail(email: string) {\n const EMAIL_RE = /\\S+@\\S+/;\n\n return !EMAIL_RE.test(email);\n}\n\nexport function isContributor(contributor: unknown): contributor is Contributor {\n if (!contributor || typeof contributor !== 'object') {\n return false;\n }\n\n const fields = ['avatar', 'login', 'url', 'name', 'email'];\n\n for (const field of fields) {\n if (field in contributor) {\n return true;\n }\n }\n\n return false;\n}\n\nexport const getPopupPosition = (\n isVerticalView: boolean | undefined,\n direction?: ThemeContextProps['direction'],\n) => {\n if (isVerticalView && direction === 'rtl') {\n return PopperPosition.RIGHT_START;\n }\n\n return isVerticalView ? PopperPosition.LEFT_START : PopperPosition.BOTTOM_END;\n};\n\nexport function getPageByType(type: DocumentType) {\n const PageTypes = {\n [DocumentType.Base]: DocPage,\n [DocumentType.Leading]: DocLeadingPage,\n [DocumentType.PageConstructor]: DocContentPage,\n };\n\n return PageTypes[type] || null;\n}\n\nexport function getPageType({\n data,\n leading,\n}: DocLeadingPageData | (DocPageData & {data?: undefined}) | DocContentPageData): DocumentType {\n if (leading && data) {\n return Object.prototype.hasOwnProperty.call(data, 'blocks')\n ? DocumentType.PageConstructor\n : DocumentType.Leading;\n }\n\n return DocumentType.Base;\n}\n"],
5
+ "mappings": ";AAAA,SAAQ,aAAY;AAGpB,SAAQ,sBAAqB;AAC7B,SAAQ,sBAAqB;AAC7B,SAAQ,eAAc;AACtB,SAAQ,sBAAqB;AAC7B;AAAA,EAKI;AAAA,OAEG;AAaA,SAAS,cAAc,MAAsB;AA3BpD;AA4BI,UAAO,kCAAM,QAAQ,WAAW,QAAzB,mBAA8B,QAAQ,YAAY;AAC7D;AAEO,SAAS,cAAc,MAAsB;AAChD,MAAI,QAAQ,KAAK,WAAW,GAAG,GAAG;AAC9B,WAAO,KAAK,UAAU,CAAC;AAAA,EAC3B;AACA,SAAO;AACX;AAEO,SAAS,aAAa,QAAgB,MAAc,YAAsB;AAC7E,MAAI,YAAY;AACZ,WAAO,cAAc,OAAO,IAAI,MAAM,cAAc,MAAM,IAAI,EAAE,IAAI;AAAA,EACxE;AAEA,SAAO,cAAc,OAAO,QAAQ,MAAM,cAAc,MAAM,IAAI,EAAE,QAAQ;AAChF;AAEO,SAAS,YAAY,QAAgB,MAAc,MAAe;AACrE,QAAM,EAAC,UAAU,KAAI,IAAI;AACzB,QAAM,YAAY,SAAS,MAAM,GAAG,EAAE,OAAO,OAAO;AACpD,QAAM,UAAU,UAAU,MAAM,CAAC,EAAE,KAAK,GAAG;AAC3C,QAAM,kBAAkB,6BAAM,MAAM,KAAK;AAEzC,SAAO,CAAC,GAAG,IAAI,KAAK,UAAS,mDAAiB,SAAS,aAAY,SAAS,IAAI,EAC3E,OAAO,OAAO,EACd,KAAK,EAAE;AAChB;AAEO,SAAS,eAAe,MAAc;AACzC,SAAO,KAAK,WAAW,MAAM,KAAK,KAAK,WAAW,IAAI;AAC1D;AAEO,SAAS,YACZ,aACA,YACA,YACF;AACE,SAAO;AAAA,IACH,cAAc,gBAAgB;AAAA,IAC9B,aAAa,eAAe;AAAA,IAC5B,aAAa,eAAe;AAAA,EAChC,EAAE,KAAK,GAAG;AACd;AAEO,SAAS,SAAS,MAA8C,MAAc;AACjF,MAAI,OAAO,SAAS,YAAY;AAC5B,WAAO,KAAK,IAAI;AAAA,EACpB;AAEA,MAAI,OAAO,SAAS,aAAa;AAC7B,WAAO;AAAA,EACX;AAEA,QAAM,IAAI,MAAM,qCAAqC;AACzD;AAEO,IAAM,eAAe,MAAM,KAAK,OAAO;AAEvC,SAAS,eAAe,OAAe;AAC1C,QAAM,WAAW;AAEjB,SAAO,CAAC,SAAS,KAAK,KAAK;AAC/B;AAEO,SAAS,cAAc,aAAkD;AAC5E,MAAI,CAAC,eAAe,OAAO,gBAAgB,UAAU;AACjD,WAAO;AAAA,EACX;AAEA,QAAM,SAAS,CAAC,UAAU,SAAS,OAAO,QAAQ,OAAO;AAEzD,aAAW,SAAS,QAAQ;AACxB,QAAI,SAAS,aAAa;AACtB,aAAO;AAAA,IACX;AAAA,EACJ;AAEA,SAAO;AACX;AAEO,IAAM,mBAAmB,CAC5B,gBACA,cACC;AACD,MAAI,kBAAkB,cAAc,OAAO;AACvC,WAAO,eAAe;AAAA,EAC1B;AAEA,SAAO,iBAAiB,eAAe,aAAa,eAAe;AACvE;AAEO,SAAS,cAAc,MAAoB;AAC9C,QAAM,YAAY;AAAA,IACd,CAAC,aAAa,IAAI,GAAG;AAAA,IACrB,CAAC,aAAa,OAAO,GAAG;AAAA,IACxB,CAAC,aAAa,eAAe,GAAG;AAAA,EACpC;AAEA,SAAO,UAAU,IAAI,KAAK;AAC9B;AAEO,SAAS,YAAY;AAAA,EACxB;AAAA,EACA;AACJ,GAA+F;AAC3F,MAAI,WAAW,MAAM;AACjB,WAAO,OAAO,UAAU,eAAe,KAAK,MAAM,QAAQ,IACpD,aAAa,kBACb,aAAa;AAAA,EACvB;AAEA,SAAO,aAAa;AACxB;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,13 @@
1
+ // src/utils/sanitize.ts
2
+ import { sanitize } from "isomorphic-dompurify";
3
+ var sanitizeStripOptions = {
4
+ ALLOWED_TAGS: [],
5
+ ALLOWED_ATTR: []
6
+ };
7
+ function sanitizeHtml(html) {
8
+ return html && sanitize(html, sanitizeStripOptions);
9
+ }
10
+ export {
11
+ sanitizeHtml
12
+ };
13
+ //# sourceMappingURL=sanitize.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/utils/sanitize.ts"],
4
+ "sourcesContent": ["import {sanitize} from 'isomorphic-dompurify';\n\nconst sanitizeStripOptions = {\n ALLOWED_TAGS: [],\n ALLOWED_ATTR: [],\n};\n\nexport function sanitizeHtml(html?: string) {\n return html && sanitize(html, sanitizeStripOptions);\n}\n"],
5
+ "mappings": ";AAAA,SAAQ,gBAAe;AAEvB,IAAM,uBAAuB;AAAA,EACzB,cAAc,CAAC;AAAA,EACf,cAAc,CAAC;AACnB;AAEO,SAAS,aAAa,MAAe;AACxC,SAAO,QAAQ,SAAS,MAAM,oBAAoB;AACtD;",
6
+ "names": []
7
+ }