@diplodoc/components 4.28.4 → 4.29.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 (127) 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/DocLayout/DocLayout.css.map +1 -1
  11. package/build/cjs/components/DocLeadingPage/DocLeadingPage.css.map +1 -1
  12. package/build/cjs/components/DocPage/DocPage.css.map +1 -1
  13. package/build/cjs/components/DocPage/DocPage.js +6 -4
  14. package/build/cjs/components/DocPage/DocPage.js.map +3 -3
  15. package/build/cjs/components/DocPage/components/RenderBody/RenderBody.d.ts +10 -0
  16. package/build/cjs/components/DocPage/components/RenderBody/RenderBody.js +42 -0
  17. package/build/cjs/components/DocPage/components/RenderBody/RenderBody.js.map +7 -0
  18. package/build/cjs/components/DocPage/components/RenderBodyWithHooks/RenderBodyWithHooks.d.ts +4 -0
  19. package/build/cjs/components/DocPage/components/RenderBodyWithHooks/RenderBodyWithHooks.js +45 -0
  20. package/build/cjs/components/DocPage/components/RenderBodyWithHooks/RenderBodyWithHooks.js.map +7 -0
  21. package/build/cjs/components/DocPage/index.d.ts +1 -0
  22. package/build/cjs/components/DocPage/index.js.map +1 -1
  23. package/build/cjs/components/DocPageTitle/DocPageTitle.css.map +1 -1
  24. package/build/cjs/components/ErrorPage/ErrorPage.css.map +1 -1
  25. package/build/cjs/components/Feedback/Feedback.css.map +1 -1
  26. package/build/cjs/components/Mark/Mark.css.map +1 -1
  27. package/build/cjs/components/MiniToc/MiniToc.css.map +1 -1
  28. package/build/cjs/components/MobileControls/MobileControl/MobileControl.css.map +1 -1
  29. package/build/cjs/components/MobileControls/MobileControlSheet/MobileControlSheet.css.map +1 -1
  30. package/build/cjs/components/MobileControls/MobileControls.css.map +1 -1
  31. package/build/cjs/components/Notification/Notification.css.map +1 -1
  32. package/build/cjs/components/Paginator/Paginator.css.map +1 -1
  33. package/build/cjs/components/SearchBar/SearchBar.css.map +1 -1
  34. package/build/cjs/components/SearchItem/SearchItem.css.map +1 -1
  35. package/build/cjs/components/SearchPage/SearchPage.css.map +1 -1
  36. package/build/cjs/components/SearchSuggest/index.css.map +1 -1
  37. package/build/cjs/components/ShareButton/ShareButton.css.map +1 -1
  38. package/build/cjs/components/SubNavigation/SubNavigation.css.map +1 -1
  39. package/build/cjs/components/Subscribe/Subscribe.css.map +1 -1
  40. package/build/cjs/components/Toc/Toc.css.map +1 -1
  41. package/build/cjs/components/TocItem/TocItem.css.map +1 -1
  42. package/build/cjs/components/TocLable/TocLabel.css.map +1 -1
  43. package/build/cjs/components/TocNavPanel/TocNavPanel.css.map +1 -1
  44. package/build/cjs/components/ToggleArrow/ToggleArrow.css.map +1 -1
  45. package/build/cjs/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
  46. package/build/cjs/components/navigation/CustomNavigation/CustomNavigation.css.map +1 -1
  47. package/build/cjs/components/navigation/MobileDropdown/MobileDropdown.css.map +1 -1
  48. package/build/cjs/components/navigation/Sidebar/Sidebar.css.map +1 -1
  49. package/build/cjs/components/navigation/SidebarContent/SidebarContent.css.map +1 -1
  50. package/build/cjs/components/navigation/SidebarNavigation/SidebarNavigation.css.map +1 -1
  51. package/build/cjs/components/navigation/ToMainMenu/ToMainMenu.css.map +1 -1
  52. package/build/cjs/contexts/RenderBodyHooksContext.d.ts +5 -0
  53. package/build/cjs/contexts/RenderBodyHooksContext.js +38 -0
  54. package/build/cjs/contexts/RenderBodyHooksContext.js.map +7 -0
  55. package/build/cjs/index.d.ts +1 -0
  56. package/build/cjs/index.js +1 -0
  57. package/build/cjs/index.js.map +2 -2
  58. package/build/cjs/models/index.d.ts +1 -0
  59. package/build/cjs/models/index.js.map +2 -2
  60. package/build/cjs/utils/index.d.ts +1 -1
  61. package/build/cjs/utils/index.js +2 -2
  62. package/build/cjs/utils/index.js.map +2 -2
  63. package/build/esm/components/BookmarkButton/BookmarkButton.css.map +1 -1
  64. package/build/esm/components/Breadcrumbs/Breadcrumbs.css.map +1 -1
  65. package/build/esm/components/ContributorAvatars/ContributorAvatars.css.map +1 -1
  66. package/build/esm/components/Contributors/Contributors.css.map +1 -1
  67. package/build/esm/components/Control/Control.css.map +1 -1
  68. package/build/esm/components/Controls/Controls.css.map +1 -1
  69. package/build/esm/components/Controls/single-controls/DividerControl/DividerControl.css.map +1 -1
  70. package/build/esm/components/Controls/single-controls/LangControl/LangControl.css.map +1 -1
  71. package/build/esm/components/Controls/single-controls/SettingsControl/SettingsControl.css.map +1 -1
  72. package/build/esm/components/DocLayout/DocLayout.css.map +1 -1
  73. package/build/esm/components/DocLeadingPage/DocLeadingPage.css.map +1 -1
  74. package/build/esm/components/DocPage/DocPage.css.map +1 -1
  75. package/build/esm/components/DocPage/DocPage.js +6 -4
  76. package/build/esm/components/DocPage/DocPage.js.map +2 -2
  77. package/build/esm/components/DocPage/components/RenderBody/RenderBody.d.ts +10 -0
  78. package/build/esm/components/DocPage/components/RenderBody/RenderBody.js +11 -0
  79. package/build/esm/components/DocPage/components/RenderBody/RenderBody.js.map +7 -0
  80. package/build/esm/components/DocPage/components/RenderBodyWithHooks/RenderBodyWithHooks.d.ts +4 -0
  81. package/build/esm/components/DocPage/components/RenderBodyWithHooks/RenderBodyWithHooks.js +14 -0
  82. package/build/esm/components/DocPage/components/RenderBodyWithHooks/RenderBodyWithHooks.js.map +7 -0
  83. package/build/esm/components/DocPage/index.d.ts +1 -0
  84. package/build/esm/components/DocPage/index.js.map +1 -1
  85. package/build/esm/components/DocPageTitle/DocPageTitle.css.map +1 -1
  86. package/build/esm/components/ErrorPage/ErrorPage.css.map +1 -1
  87. package/build/esm/components/Feedback/Feedback.css.map +1 -1
  88. package/build/esm/components/Mark/Mark.css.map +1 -1
  89. package/build/esm/components/MiniToc/MiniToc.css.map +1 -1
  90. package/build/esm/components/MobileControls/MobileControl/MobileControl.css.map +1 -1
  91. package/build/esm/components/MobileControls/MobileControlSheet/MobileControlSheet.css.map +1 -1
  92. package/build/esm/components/MobileControls/MobileControls.css.map +1 -1
  93. package/build/esm/components/Notification/Notification.css.map +1 -1
  94. package/build/esm/components/Paginator/Paginator.css.map +1 -1
  95. package/build/esm/components/SearchBar/SearchBar.css.map +1 -1
  96. package/build/esm/components/SearchItem/SearchItem.css.map +1 -1
  97. package/build/esm/components/SearchPage/SearchPage.css.map +1 -1
  98. package/build/esm/components/SearchSuggest/index.css.map +1 -1
  99. package/build/esm/components/ShareButton/ShareButton.css.map +1 -1
  100. package/build/esm/components/SubNavigation/SubNavigation.css.map +1 -1
  101. package/build/esm/components/Subscribe/Subscribe.css.map +1 -1
  102. package/build/esm/components/Toc/Toc.css.map +1 -1
  103. package/build/esm/components/TocItem/TocItem.css.map +1 -1
  104. package/build/esm/components/TocLable/TocLabel.css.map +1 -1
  105. package/build/esm/components/TocNavPanel/TocNavPanel.css.map +1 -1
  106. package/build/esm/components/ToggleArrow/ToggleArrow.css.map +1 -1
  107. package/build/esm/components/UpdatedAtDate/UpdatedAtDate.css.map +1 -1
  108. package/build/esm/components/navigation/CustomNavigation/CustomNavigation.css.map +1 -1
  109. package/build/esm/components/navigation/MobileDropdown/MobileDropdown.css.map +1 -1
  110. package/build/esm/components/navigation/Sidebar/Sidebar.css.map +1 -1
  111. package/build/esm/components/navigation/SidebarContent/SidebarContent.css.map +1 -1
  112. package/build/esm/components/navigation/SidebarNavigation/SidebarNavigation.css.map +1 -1
  113. package/build/esm/components/navigation/ToMainMenu/ToMainMenu.css.map +1 -1
  114. package/build/esm/contexts/RenderBodyHooksContext.d.ts +5 -0
  115. package/build/esm/contexts/RenderBodyHooksContext.js +7 -0
  116. package/build/esm/contexts/RenderBodyHooksContext.js.map +7 -0
  117. package/build/esm/index.d.ts +1 -0
  118. package/build/esm/index.js +1 -0
  119. package/build/esm/index.js.map +2 -2
  120. package/build/esm/models/index.d.ts +1 -0
  121. package/build/esm/models/index.js.map +2 -2
  122. package/build/esm/utils/index.d.ts +1 -1
  123. package/build/esm/utils/index.js +2 -2
  124. package/build/esm/utils/index.js.map +2 -2
  125. package/build/index.css.map +1 -1
  126. package/build/themes/common/index.css.map +1 -1
  127. package/package.json +1 -1
@@ -79,6 +79,7 @@ export interface DocPageData extends DocBasePageData {
79
79
  meta: DocMeta;
80
80
  vcsUrl?: string;
81
81
  vcsType?: VcsType;
82
+ mdxArtifacts?: Record<string, unknown>;
82
83
  }
83
84
  export interface DocHeadingItem {
84
85
  title: string;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/models/index.ts"],
4
- "sourcesContent": ["import type {UseTranslationResponse} from 'react-i18next';\nimport type {Loc} from '../config/i18n';\nimport type {SuggestItemType} from '../components/SearchSuggest/types';\n\nimport {LabelProps} from '@gravity-ui/uikit';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type TFunction = UseTranslationResponse<any, undefined>['t'];\n\nexport type OnChangeValue = (value: ControlTypes) => void;\nexport type ControlTypes =\n | string\n | boolean\n | Theme\n | Lang\n | TextSizes\n | FeedbackSendData\n | SubscribeData;\n\nexport enum Theme {\n Light = 'light',\n Dark = 'dark',\n}\n\nexport enum TextSizes {\n S = 's', // 13px\n M = 'm', // 15px\n L = 'l', // 17px\n}\n\nexport enum ControlSizes {\n M = 'm',\n L = 'l',\n XL = 'xl',\n}\n\nexport interface Config {\n lang?: string;\n loc?: Loc;\n localeCode?: string;\n}\n\nexport interface DocSettings {\n fullScreen?: boolean;\n singlePage?: boolean;\n wideFormat?: boolean;\n showMiniToc?: boolean;\n bookmarkedPage?: boolean;\n theme?: Theme;\n textSize?: TextSizes;\n isLiked?: boolean;\n isDisliked?: boolean;\n dislikeVariants?: string[];\n}\n\nexport interface DocBasePageData<T extends {} = {}> {\n toc: T & TocData;\n leading?: boolean;\n footer?: React.ReactNode;\n}\n\nexport interface DocLeadingPageData extends DocBasePageData {\n leading: true;\n data: DocLeadingData;\n}\n\nexport interface DocContentPageData<T extends {} = {}> extends DocBasePageData {\n leading: true;\n data: T & {\n fullScreen?: boolean;\n };\n children?: React.ReactNode;\n}\n\nexport interface DocLeadingData {\n title: string;\n description: string | string[];\n links: DocLeadingLinks[];\n meta: DocMeta;\n}\n\nexport interface DocLeadingLinks {\n title: string;\n description?: string;\n href?: string;\n imgSrc?: string;\n links?: DocLeadingLinks[];\n}\n\nexport enum VcsType {\n Github = 'github',\n Arcanum = 'arcanum',\n}\n\nexport interface DocPageData extends DocBasePageData {\n leading?: false;\n breadcrumbs?: BreadcrumbItem[];\n viewerInterface?: Record<string, boolean>;\n html: string;\n title?: string;\n headings: DocHeadingItem[];\n meta: DocMeta;\n vcsUrl?: string;\n vcsType?: VcsType;\n}\n\nexport interface DocHeadingItem {\n title: string;\n href: string;\n level: number;\n items?: DocHeadingItem[];\n}\n\nexport interface DocMeta {\n title?: string;\n description?: string;\n keywords?: string[];\n stage?: string;\n editable?: boolean;\n contributors?: Contributor[];\n author?: unknown | Contributor;\n __system?: Record<string, unknown>;\n updatedAt?: string;\n}\n\nexport interface TocLabel {\n title: string;\n description?: string;\n theme?: LabelProps['theme'];\n}\n\nexport interface TocData {\n title?: string;\n href?: string;\n items?: TocItem[];\n stage?: string;\n editable?: boolean;\n singlePage?: boolean;\n label?: TocLabel;\n}\n\nexport interface TocItem {\n id: string;\n name: string;\n href?: string;\n items?: TocItem[];\n expanded?: boolean;\n labeled?: boolean;\n}\n\nexport interface BreadcrumbItem {\n name: string;\n url?: string;\n}\n\nexport interface Router {\n hostname?: string;\n pathname: string;\n hash?: string;\n}\n\nexport enum Lang {\n Ru = 'ru',\n En = 'en',\n He = 'he',\n Es = 'es',\n Fr = 'fr',\n Cs = 'cs',\n Ar = 'ar',\n}\n\nexport interface Contributor {\n avatar: string;\n login: string;\n url: string;\n name: string | null;\n email: string | null;\n}\n\nexport interface DislikeData {\n answers: string[];\n comment: string;\n}\n\nexport enum FeedbackType {\n like = 'like',\n dislike = 'dislike',\n indeterminate = 'indeterminate',\n}\n\nexport interface FeedbackSendData {\n type: FeedbackType;\n answers?: string[];\n comment?: string;\n}\n\nexport enum SubscribeType {\n documentation = 'documentation',\n page = 'page',\n}\n\nexport interface SubscribeData {\n email: string;\n type: SubscribeType;\n}\n\nexport enum DocumentType {\n Base = 'BASE',\n Leading = 'LEADING',\n PageConstructor = 'PAGE_CONSTRUCTOR',\n}\n\nexport interface ListItem {\n value: string;\n text: string;\n}\n\nexport interface ClassNameProps {\n className?: string;\n}\n\nexport interface ISearchProvider {\n init(): void | (() => void);\n suggest(query: string): Promise<ISearchResult[]>;\n search(\n query: string,\n ): Promise<ISearchResult[]> | Promise<{items: ISearchResult[]; total: number}>;\n link(query: string): string | null;\n}\n\nexport interface ISearchResult {\n type: SuggestItemType;\n title: string;\n link: string;\n description?: string;\n breadcrumbs?: BreadcrumbItem[];\n}\n\nexport type Query = Record<string, number | string | null>;\n"],
5
- "mappings": ";AAmBO,IAAK,QAAL,kBAAKA,WAAL;AACH,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,UAAO;AAFC,SAAAA;AAAA,GAAA;AAKL,IAAK,YAAL,kBAAKC,eAAL;AACH,EAAAA,WAAA,OAAI;AACJ,EAAAA,WAAA,OAAI;AACJ,EAAAA,WAAA,OAAI;AAHI,SAAAA;AAAA,GAAA;AAML,IAAK,eAAL,kBAAKC,kBAAL;AACH,EAAAA,cAAA,OAAI;AACJ,EAAAA,cAAA,OAAI;AACJ,EAAAA,cAAA,QAAK;AAHG,SAAAA;AAAA,GAAA;AA2DL,IAAK,UAAL,kBAAKC,aAAL;AACH,EAAAA,SAAA,YAAS;AACT,EAAAA,SAAA,aAAU;AAFF,SAAAA;AAAA,GAAA;AAwEL,IAAK,OAAL,kBAAKC,UAAL;AACH,EAAAA,MAAA,QAAK;AACL,EAAAA,MAAA,QAAK;AACL,EAAAA,MAAA,QAAK;AACL,EAAAA,MAAA,QAAK;AACL,EAAAA,MAAA,QAAK;AACL,EAAAA,MAAA,QAAK;AACL,EAAAA,MAAA,QAAK;AAPG,SAAAA;AAAA,GAAA;AAuBL,IAAK,eAAL,kBAAKC,kBAAL;AACH,EAAAA,cAAA,UAAO;AACP,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,mBAAgB;AAHR,SAAAA;AAAA,GAAA;AAYL,IAAK,gBAAL,kBAAKC,mBAAL;AACH,EAAAA,eAAA,mBAAgB;AAChB,EAAAA,eAAA,UAAO;AAFC,SAAAA;AAAA,GAAA;AAUL,IAAK,eAAL,kBAAKC,kBAAL;AACH,EAAAA,cAAA,UAAO;AACP,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,qBAAkB;AAHV,SAAAA;AAAA,GAAA;",
4
+ "sourcesContent": ["import type {UseTranslationResponse} from 'react-i18next';\nimport type {Loc} from '../config/i18n';\nimport type {SuggestItemType} from '../components/SearchSuggest/types';\n\nimport {LabelProps} from '@gravity-ui/uikit';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type TFunction = UseTranslationResponse<any, undefined>['t'];\n\nexport type OnChangeValue = (value: ControlTypes) => void;\nexport type ControlTypes =\n | string\n | boolean\n | Theme\n | Lang\n | TextSizes\n | FeedbackSendData\n | SubscribeData;\n\nexport enum Theme {\n Light = 'light',\n Dark = 'dark',\n}\n\nexport enum TextSizes {\n S = 's', // 13px\n M = 'm', // 15px\n L = 'l', // 17px\n}\n\nexport enum ControlSizes {\n M = 'm',\n L = 'l',\n XL = 'xl',\n}\n\nexport interface Config {\n lang?: string;\n loc?: Loc;\n localeCode?: string;\n}\n\nexport interface DocSettings {\n fullScreen?: boolean;\n singlePage?: boolean;\n wideFormat?: boolean;\n showMiniToc?: boolean;\n bookmarkedPage?: boolean;\n theme?: Theme;\n textSize?: TextSizes;\n isLiked?: boolean;\n isDisliked?: boolean;\n dislikeVariants?: string[];\n}\n\nexport interface DocBasePageData<T extends {} = {}> {\n toc: T & TocData;\n leading?: boolean;\n footer?: React.ReactNode;\n}\n\nexport interface DocLeadingPageData extends DocBasePageData {\n leading: true;\n data: DocLeadingData;\n}\n\nexport interface DocContentPageData<T extends {} = {}> extends DocBasePageData {\n leading: true;\n data: T & {\n fullScreen?: boolean;\n };\n children?: React.ReactNode;\n}\n\nexport interface DocLeadingData {\n title: string;\n description: string | string[];\n links: DocLeadingLinks[];\n meta: DocMeta;\n}\n\nexport interface DocLeadingLinks {\n title: string;\n description?: string;\n href?: string;\n imgSrc?: string;\n links?: DocLeadingLinks[];\n}\n\nexport enum VcsType {\n Github = 'github',\n Arcanum = 'arcanum',\n}\n\nexport interface DocPageData extends DocBasePageData {\n leading?: false;\n breadcrumbs?: BreadcrumbItem[];\n viewerInterface?: Record<string, boolean>;\n html: string;\n title?: string;\n headings: DocHeadingItem[];\n meta: DocMeta;\n vcsUrl?: string;\n vcsType?: VcsType;\n mdxArtifacts?: Record<string, unknown>;\n}\n\nexport interface DocHeadingItem {\n title: string;\n href: string;\n level: number;\n items?: DocHeadingItem[];\n}\n\nexport interface DocMeta {\n title?: string;\n description?: string;\n keywords?: string[];\n stage?: string;\n editable?: boolean;\n contributors?: Contributor[];\n author?: unknown | Contributor;\n __system?: Record<string, unknown>;\n updatedAt?: string;\n}\n\nexport interface TocLabel {\n title: string;\n description?: string;\n theme?: LabelProps['theme'];\n}\n\nexport interface TocData {\n title?: string;\n href?: string;\n items?: TocItem[];\n stage?: string;\n editable?: boolean;\n singlePage?: boolean;\n label?: TocLabel;\n}\n\nexport interface TocItem {\n id: string;\n name: string;\n href?: string;\n items?: TocItem[];\n expanded?: boolean;\n labeled?: boolean;\n}\n\nexport interface BreadcrumbItem {\n name: string;\n url?: string;\n}\n\nexport interface Router {\n hostname?: string;\n pathname: string;\n hash?: string;\n}\n\nexport enum Lang {\n Ru = 'ru',\n En = 'en',\n He = 'he',\n Es = 'es',\n Fr = 'fr',\n Cs = 'cs',\n Ar = 'ar',\n}\n\nexport interface Contributor {\n avatar: string;\n login: string;\n url: string;\n name: string | null;\n email: string | null;\n}\n\nexport interface DislikeData {\n answers: string[];\n comment: string;\n}\n\nexport enum FeedbackType {\n like = 'like',\n dislike = 'dislike',\n indeterminate = 'indeterminate',\n}\n\nexport interface FeedbackSendData {\n type: FeedbackType;\n answers?: string[];\n comment?: string;\n}\n\nexport enum SubscribeType {\n documentation = 'documentation',\n page = 'page',\n}\n\nexport interface SubscribeData {\n email: string;\n type: SubscribeType;\n}\n\nexport enum DocumentType {\n Base = 'BASE',\n Leading = 'LEADING',\n PageConstructor = 'PAGE_CONSTRUCTOR',\n}\n\nexport interface ListItem {\n value: string;\n text: string;\n}\n\nexport interface ClassNameProps {\n className?: string;\n}\n\nexport interface ISearchProvider {\n init(): void | (() => void);\n suggest(query: string): Promise<ISearchResult[]>;\n search(\n query: string,\n ): Promise<ISearchResult[]> | Promise<{items: ISearchResult[]; total: number}>;\n link(query: string): string | null;\n}\n\nexport interface ISearchResult {\n type: SuggestItemType;\n title: string;\n link: string;\n description?: string;\n breadcrumbs?: BreadcrumbItem[];\n}\n\nexport type Query = Record<string, number | string | null>;\n"],
5
+ "mappings": ";AAmBO,IAAK,QAAL,kBAAKA,WAAL;AACH,EAAAA,OAAA,WAAQ;AACR,EAAAA,OAAA,UAAO;AAFC,SAAAA;AAAA,GAAA;AAKL,IAAK,YAAL,kBAAKC,eAAL;AACH,EAAAA,WAAA,OAAI;AACJ,EAAAA,WAAA,OAAI;AACJ,EAAAA,WAAA,OAAI;AAHI,SAAAA;AAAA,GAAA;AAML,IAAK,eAAL,kBAAKC,kBAAL;AACH,EAAAA,cAAA,OAAI;AACJ,EAAAA,cAAA,OAAI;AACJ,EAAAA,cAAA,QAAK;AAHG,SAAAA;AAAA,GAAA;AA2DL,IAAK,UAAL,kBAAKC,aAAL;AACH,EAAAA,SAAA,YAAS;AACT,EAAAA,SAAA,aAAU;AAFF,SAAAA;AAAA,GAAA;AAyEL,IAAK,OAAL,kBAAKC,UAAL;AACH,EAAAA,MAAA,QAAK;AACL,EAAAA,MAAA,QAAK;AACL,EAAAA,MAAA,QAAK;AACL,EAAAA,MAAA,QAAK;AACL,EAAAA,MAAA,QAAK;AACL,EAAAA,MAAA,QAAK;AACL,EAAAA,MAAA,QAAK;AAPG,SAAAA;AAAA,GAAA;AAuBL,IAAK,eAAL,kBAAKC,kBAAL;AACH,EAAAA,cAAA,UAAO;AACP,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,mBAAgB;AAHR,SAAAA;AAAA,GAAA;AAYL,IAAK,gBAAL,kBAAKC,mBAAL;AACH,EAAAA,eAAA,mBAAgB;AAChB,EAAAA,eAAA,UAAO;AAFC,SAAAA;AAAA,GAAA;AAUL,IAAK,eAAL,kBAAKC,kBAAL;AACH,EAAAA,cAAA,UAAO;AACP,EAAAA,cAAA,aAAU;AACV,EAAAA,cAAA,qBAAkB;AAHV,SAAAA;AAAA,GAAA;",
6
6
  "names": ["Theme", "TextSizes", "ControlSizes", "VcsType", "Lang", "FeedbackType", "SubscribeType", "DocumentType"]
7
7
  }
@@ -3,7 +3,7 @@ import { PopperPosition } from '../hooks';
3
3
  import { Contributor, DocContentPageData, DocLeadingPageData, DocPageData, DocumentType, Router } from '../models';
4
4
  export type InnerProps<TProps extends Partial<TDefaultProps>, TDefaultProps> = Omit<TProps, keyof TDefaultProps> & Required<Pick<TProps, keyof TDefaultProps>>;
5
5
  export type ChangeHandler<S> = <K extends keyof S, V extends S[K]>(field: K, value?: V) => () => void;
6
- export declare function normalizePath(path?: string | null): string | undefined;
6
+ export declare function normalizePath(path?: string | null): string | null | 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
9
  export declare function getLangPath(router: Router, lang: string, href?: string): string;
@@ -8,8 +8,8 @@ import {
8
8
  DocumentType
9
9
  } from "../models";
10
10
  function normalizePath(path) {
11
- var _a;
12
- return (_a = path == null ? void 0 : path.replace(/\.html$/, "")) == null ? void 0 : _a.replace(/\/index$/, "/");
11
+ if (!path) return path;
12
+ return path.replace(/^\//, "").replace(/\.html$/, "").replace(/\/index$/, "/");
13
13
  }
14
14
  function normalizeHash(hash) {
15
15
  if (hash && hash.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, 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;",
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 if (!path) return path;\n\n return path\n .replace(/^\\//, '')\n .replace(/\\.html$/, '')\n .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;AAChD,MAAI,CAAC,KAAM,QAAO;AAElB,SAAO,KACF,QAAQ,OAAO,EAAE,EACjB,QAAQ,WAAW,EAAE,EACrB,QAAQ,YAAY,GAAG;AAChC;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
  }