@redocly/theme 0.1.16 → 0.1.21

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 (163) hide show
  1. package/Button/Button.d.ts +4 -3
  2. package/Button/Button.js +28 -1
  3. package/Footer/CustomFooter.d.ts +7 -0
  4. package/Footer/CustomFooter.js +31 -0
  5. package/Footer/CustomFooterNavItem.d.ts +7 -0
  6. package/Footer/CustomFooterNavItem.js +25 -0
  7. package/Footer/Footer.d.ts +6 -2
  8. package/Footer/Footer.js +1 -1
  9. package/Footer/FooterColumn.d.ts +2 -2
  10. package/Footer/FooterColumn.js +3 -2
  11. package/Footer/FooterColumns.d.ts +6 -4
  12. package/Footer/FooterColumns.js +3 -3
  13. package/Footer/FooterCopyright.d.ts +6 -4
  14. package/JsonViewer/JsonViewer.js +1 -2
  15. package/JsonViewer/index.d.ts +0 -1
  16. package/JsonViewer/index.js +0 -1
  17. package/Markdown/Admonition.js +1 -1
  18. package/Markdown/CodeSample/CodeSample.js +15 -5
  19. package/Markdown/CodeSample/index.d.ts +0 -1
  20. package/Markdown/CodeSample/index.js +0 -1
  21. package/Navbar/Navbar.d.ts +2 -1
  22. package/Navbar/Navbar.js +9 -2
  23. package/Navbar/NavbarDropdown.d.ts +8 -0
  24. package/Navbar/NavbarDropdown.js +21 -0
  25. package/Navbar/NavbarItem.d.ts +3 -36
  26. package/Navbar/NavbarItem.js +22 -13
  27. package/Navbar/NavbarMenu.d.ts +2 -1
  28. package/Navbar/NavbarMenu.js +1 -1
  29. package/PageNavigation/NextPageLink.js +8 -5
  30. package/PageNavigation/PreviousPageLink.js +8 -5
  31. package/Search/SidebarSearch.d.ts +2 -0
  32. package/Search/SidebarSearch.js +15 -0
  33. package/Sidebar/MenuGroup.js +2 -2
  34. package/Sidebar/SidebarLayout.js +5 -0
  35. package/TableOfContent/TableOfContent.js +8 -1
  36. package/Typography/CompactTypography.d.ts +11 -0
  37. package/Typography/CompactTypography.js +18 -0
  38. package/Typography/Emphasis.d.ts +3 -0
  39. package/Typography/Emphasis.js +15 -0
  40. package/Typography/H1.d.ts +3 -0
  41. package/Typography/H1.js +16 -0
  42. package/Typography/H2.d.ts +3 -0
  43. package/Typography/H2.js +16 -0
  44. package/Typography/H3.d.ts +3 -0
  45. package/Typography/H3.js +16 -0
  46. package/Typography/SectionHeader.d.ts +1 -0
  47. package/Typography/SectionHeader.js +13 -0
  48. package/Typography/Typography.d.ts +8 -0
  49. package/Typography/Typography.js +22 -0
  50. package/Typography/index.d.ts +7 -0
  51. package/{Headings → Typography}/index.js +7 -1
  52. package/globalStyle.js +1 -1
  53. package/{ui → icons/AlertIcon}/AlertIcon.d.ts +2 -2
  54. package/{ui → icons/AlertIcon}/AlertIcon.js +1 -1
  55. package/icons/AlertIcon/index.d.ts +2 -0
  56. package/icons/AlertIcon/index.js +5 -0
  57. package/icons/ArrowIcon/ArrowIcon.d.ts +7 -0
  58. package/{ui/Arrow.js → icons/ArrowIcon/ArrowIcon.js} +3 -3
  59. package/icons/ArrowIcon/index.d.ts +2 -0
  60. package/icons/ArrowIcon/index.js +5 -0
  61. package/icons/index.d.ts +2 -0
  62. package/icons/index.js +2 -0
  63. package/index.d.ts +1 -1
  64. package/index.js +1 -1
  65. package/mocks/constants/index.d.ts +2 -0
  66. package/mocks/constants/index.js +5 -0
  67. package/mocks/hooks/index.d.ts +6 -0
  68. package/mocks/hooks/index.js +16 -0
  69. package/package.json +1 -1
  70. package/settings.yaml +9 -0
  71. package/src/Button/Button.tsx +19 -1
  72. package/src/Footer/CustomFooter.tsx +45 -0
  73. package/src/Footer/CustomFooterNavItem.tsx +40 -0
  74. package/src/Footer/Footer.tsx +6 -2
  75. package/src/Footer/FooterColumn.tsx +4 -4
  76. package/src/Footer/FooterColumns.tsx +9 -9
  77. package/src/Footer/FooterCopyright.tsx +6 -6
  78. package/src/JsonViewer/JsonViewer.tsx +106 -2
  79. package/src/JsonViewer/index.ts +0 -1
  80. package/src/Markdown/Admonition.tsx +1 -1
  81. package/src/Markdown/CodeSample/CodeSample.tsx +160 -6
  82. package/src/Markdown/CodeSample/index.ts +0 -1
  83. package/src/Navbar/Navbar.tsx +13 -3
  84. package/src/Navbar/NavbarDropdown.tsx +44 -0
  85. package/src/Navbar/NavbarItem.tsx +44 -51
  86. package/src/Navbar/NavbarMenu.tsx +6 -3
  87. package/src/PageNavigation/NextPageLink.tsx +9 -3
  88. package/src/PageNavigation/PreviousPageLink.tsx +9 -3
  89. package/src/Search/SidebarSearch.tsx +13 -0
  90. package/src/Sidebar/MenuGroup.tsx +2 -2
  91. package/src/Sidebar/SidebarLayout.tsx +5 -0
  92. package/src/TableOfContent/TableOfContent.tsx +7 -1
  93. package/src/Typography/CompactTypography.ts +9 -0
  94. package/src/Typography/Emphasis.ts +7 -0
  95. package/src/Typography/H1.ts +12 -0
  96. package/src/Typography/H2.ts +12 -0
  97. package/src/Typography/H3.ts +11 -0
  98. package/src/Typography/SectionHeader.ts +11 -0
  99. package/src/Typography/Typography.ts +21 -0
  100. package/src/Typography/index.ts +7 -0
  101. package/src/globalStyle.ts +1 -0
  102. package/src/{ui → icons/AlertIcon}/AlertIcon.tsx +3 -3
  103. package/src/icons/AlertIcon/index.ts +2 -0
  104. package/src/{ui/Arrow.tsx → icons/ArrowIcon/ArrowIcon.tsx} +5 -5
  105. package/src/icons/ArrowIcon/index.ts +2 -0
  106. package/src/icons/index.ts +2 -0
  107. package/src/index.ts +1 -1
  108. package/src/mocks/constants/index.ts +2 -0
  109. package/src/mocks/hooks/index.ts +17 -0
  110. package/src/types/portal/index.d.ts +0 -1
  111. package/src/types/portal/src/client/app/Sidebar/types.d.ts +1 -1
  112. package/src/types/portal/src/server/{utils → content}/content-provider.d.ts +9 -9
  113. package/src/types/portal/src/server/{version-store.d.ts → content/versions-config.d.ts} +7 -7
  114. package/src/types/portal/src/server/plugins/markdown/types.d.ts +14 -11
  115. package/src/types/portal/src/server/plugins/portal-config/types.d.ts +16 -19
  116. package/src/types/portal/src/server/plugins/types.d.ts +23 -15
  117. package/src/types/portal/src/server/store.d.ts +32 -33
  118. package/src/types/portal/src/server/utils/fs.d.ts +2 -1
  119. package/src/types/portal/src/server/utils/index.d.ts +0 -1
  120. package/src/types/portal/src/server/utils/paths.d.ts +3 -3
  121. package/src/types/portal/src/server/utils/reporter/formatter.d.ts +2 -1
  122. package/src/types/portal/src/server/utils/reporter/reporter.d.ts +2 -1
  123. package/src/types/portal/src/shared/constants.d.ts +2 -0
  124. package/src/types/portal/src/shared/models/active-item.d.ts +3 -0
  125. package/src/types/portal/src/shared/models/config.d.ts +28 -0
  126. package/src/types/portal/src/shared/models/index.d.ts +6 -0
  127. package/src/types/portal/src/shared/models/json-index.d.ts +5 -0
  128. package/src/types/portal/src/shared/models/operation-parameter.d.ts +6 -0
  129. package/src/types/portal/src/shared/models/search-data.d.ts +5 -0
  130. package/src/types/portal/src/shared/models/search-document.d.ts +11 -0
  131. package/src/types/portal/src/shared/types.d.ts +8 -2
  132. package/src/types/portal/src/shared/urls.d.ts +2 -0
  133. package/src/types/portal/src/shared/utils.d.ts +8 -2
  134. package/src/ui/Jumbotron.tsx +1 -1
  135. package/src/ui/index.tsx +0 -4
  136. package/src/utils/ClipboardService.ts +19 -0
  137. package/ui/Jumbotron.js +1 -1
  138. package/ui/index.d.ts +0 -4
  139. package/ui/index.js +0 -4
  140. package/utils/ClipboardService.d.ts +1 -0
  141. package/utils/ClipboardService.js +19 -0
  142. package/Headings/Headings.d.ts +0 -3
  143. package/Headings/Headings.js +0 -16
  144. package/Headings/index.d.ts +0 -1
  145. package/JsonViewer/styled.d.ts +0 -1
  146. package/JsonViewer/styled.js +0 -10
  147. package/Markdown/CodeSample/styled.d.ts +0 -4
  148. package/Markdown/CodeSample/styled.js +0 -85
  149. package/src/Headings/Headings.ts +0 -23
  150. package/src/Headings/index.ts +0 -1
  151. package/src/JsonViewer/styled.ts +0 -103
  152. package/src/Markdown/CodeSample/styled.ts +0 -209
  153. package/src/types/portal/src/client/app/media-css.d.ts +0 -7
  154. package/src/types/portal/src/client/styling/default.d.ts +0 -601
  155. package/src/types/portal/src/client/styling/index.d.ts +0 -10
  156. package/src/types/portal/src/client/styling/resolve.d.ts +0 -1
  157. package/src/ui/Button.tsx +0 -19
  158. package/src/ui/Typography.tsx +0 -90
  159. package/ui/Arrow.d.ts +0 -7
  160. package/ui/Button.d.ts +0 -7
  161. package/ui/Button.js +0 -30
  162. package/ui/Typography.d.ts +0 -41
  163. package/ui/Typography.js +0 -59
@@ -1,9 +1,12 @@
1
- import type { RouteDetails } from './plugins/types.js';
1
+ import { Plugin } from 'esbuild';
2
+ import { JSONIndex, SearchDocument, SearchData } from '../shared/models';
3
+ import type { RouteDetails, Redirect } from './plugins/types.js';
4
+ import type { GlobalData, GlobalConfig, RbacConfig } from './plugins/portal-config/types';
2
5
  export declare class Template {
3
- absolutePath: string;
6
+ pathOrThemePath: string;
4
7
  id: string;
5
8
  hash: string;
6
- constructor(absolutePath: string, id: string);
9
+ constructor(pathOrThemePath: string, id: string);
7
10
  }
8
11
  export declare class Store {
9
12
  contentDir: string;
@@ -12,42 +15,38 @@ export declare class Store {
12
15
  routesBySlug: Map<string, RouteDetails>;
13
16
  routesByFsPath: Map<string, RouteDetails>;
14
17
  routesSharedData: Map<string, Record<string, string>>;
15
- sharedData: Map<string, any>;
18
+ searchDocuments: SearchDocument[];
19
+ searchIndex: JSONIndex;
20
+ sharedData: Map<string, unknown>;
16
21
  templates: Map<string, Template>;
17
- esbuildPlugins: any[];
22
+ esbuildPlugins: Plugin[];
18
23
  listeners: Map<string, Set<Function>>;
19
- globalData: Record<string, unknown>;
20
- cliOptions: Record<string, unknown>;
21
- globalConfig: {
22
- scripts: string;
23
- stylesheets: string;
24
- redirects: Record<string, {
25
- to: string;
26
- type: number;
27
- }>;
28
- [k: string]: unknown;
29
- };
24
+ rbacConfig: RbacConfig;
25
+ globalData: GlobalData;
26
+ cliOptions: Record<string, string>;
27
+ globalConfig: GlobalConfig;
30
28
  constructor(contentDir: string, outdir?: string, renderMode?: 'thread_worker' | 'main');
31
- on(type: 'routes-updated', cb: () => void | any): void;
32
- on(type: 'template-updated', cb: (template: Template) => void | any): void;
33
- on(type: 'shared-data-updated', cb: (id: string, data: any) => void): any;
34
- on(type: 'global-data-updated', cb: (pathname: string, data: Record<string, unknown>) => void | any): void;
35
- runListeners<T extends Array<unknown>>(type: 'template-updated' | 'global-data-updated' | 'shared-data-updated' | 'routes-updated', ...args: T): void;
36
- addEsbuildPlugin(plugin: any): void;
37
- setGlobalData(data: Record<string, unknown>): void;
38
- setCliOptions(data: Record<string, unknown>): void;
39
- setGlobalConfig(data: Record<string, unknown>): void;
40
- addRedirect(from: string, to: {
41
- to: string;
42
- type: number;
43
- }): void;
44
- createSharedData: (id: string, data: any) => string;
29
+ on(type: 'routes-updated', cb: () => void): void;
30
+ on(type: 'template-updated', cb: () => void): void;
31
+ on(type: 'build-updated', cb: () => void): void;
32
+ on(type: 'shared-data-updated', cb: (id: string, data: unknown) => void): void;
33
+ on(type: 'search-data-updated', cb: (data: SearchData) => void): void;
34
+ on(type: 'global-data-updated', cb: (pathname: string, data: Record<string, unknown>) => void): void;
35
+ runListeners<T extends Array<unknown>>(type: 'template-updated' | 'global-data-updated' | 'shared-data-updated' | 'search-data-updated' | 'routes-updated' | 'build-updated', ...args: T): void;
36
+ addEsbuildPlugin(plugin: Plugin): void;
37
+ setGlobalData(data: GlobalData): void;
38
+ setSearchData(data: SearchData): void;
39
+ setCliOptions(data: Record<string, string>): void;
40
+ setGlobalConfig(data: Partial<GlobalConfig>): void;
41
+ setRbacConfig(rbacConfig: RbacConfig): void;
42
+ addRedirect(from: string, to: Redirect): void;
43
+ createSharedData: (id: string, data: unknown) => string;
45
44
  addRouteSharedData: (routeSlug: string, dataKey: string, dataId: string) => void;
46
45
  addRoute: (route: RouteDetails) => void;
47
- getRouteByFsPath: (relativePath: string) => RouteDetails;
48
- getRouteBySlug: (slug: string) => RouteDetails;
46
+ getRouteByFsPath: (relativePath: string) => RouteDetails | undefined;
47
+ getRouteBySlug: (slug: string) => RouteDetails | undefined;
49
48
  getAllRoutes: () => RouteDetails[];
50
- getTemplate: (id: string) => Template;
49
+ getTemplate: (id: string) => Template | undefined;
51
50
  createTemplate: (template: Template) => Template;
52
51
  clear: () => void;
53
52
  }
@@ -1,3 +1,4 @@
1
- export declare function readFileAsStringSync(filePath: string): string;
1
+ export declare function readFileAsStringSync(filePath: string): string | null | undefined;
2
2
  export declare function readFileNames(dir: string): string[];
3
3
  export declare function copyStaticFile(absolutePath: string, outdir: string): string;
4
+ export declare function ensureDir(path: string): string;
@@ -2,5 +2,4 @@ export * from './async.js';
2
2
  export * from './crypto.js';
3
3
  export * from './fs.js';
4
4
  export * from './reporter/reporter.js';
5
- export * from './content-provider.js';
6
5
  export * from './paths.js';
@@ -1,6 +1,6 @@
1
- import { ContentProvider } from './index.js';
1
+ import type { ContentProvider } from '../content/content-provider.js';
2
2
  export declare function getDataFromRelativePath(relativePath: string): {
3
- pathVersion: string;
3
+ pathVersion: string | null;
4
4
  basePath: string;
5
5
  };
6
6
  export declare function generatePagePathname(currentVersion?: string | null, defaultVersion?: string | null, ...combineParts: string[]): string;
@@ -10,4 +10,4 @@ export declare function fromCurrentDir(moduleUrl: string, path: string): string;
10
10
  export declare function excludeVersion<T extends string[] | string>(arg: T): {
11
11
  version?: string;
12
12
  data: T;
13
- } | undefined;
13
+ };
@@ -1,3 +1,4 @@
1
+ import { Reporter } from './reporter';
1
2
  declare const formatter: {
2
3
  success(message: string, ...args: any[]): string;
3
4
  info(message: string, ...args: any[]): string;
@@ -5,7 +6,7 @@ declare const formatter: {
5
6
  error(message: string, ...args: any[]): string;
6
7
  verbose(message: string, ...args: any[]): string;
7
8
  formatMs(ms: number): string;
8
- withTime(message: any, reporter: any): string;
9
+ withTime(message: string, reporter: Reporter): string;
9
10
  format(pattern: string, ...args: any[]): string;
10
11
  };
11
12
  export default formatter;
@@ -1,7 +1,7 @@
1
1
  export declare const reporter: {
2
2
  now(): number;
3
3
  startTiming(): void;
4
- getTimeSpan(): number;
4
+ getTimeSpan(): number | undefined;
5
5
  success(message: string, ...args: any[]): void;
6
6
  successTime(message: string, ...args: any[]): void;
7
7
  info(message: string, ...args: any[]): void;
@@ -15,3 +15,4 @@ export declare const reporter: {
15
15
  panicOnBuild(message: string, ...args: any[]): void;
16
16
  flushErrors(): void;
17
17
  };
18
+ export declare type Reporter = typeof reporter;
@@ -1,6 +1,8 @@
1
1
  export declare const RUNTIME_RESOURCES_DIR = "runtime";
2
2
  export declare const REDOC_OVERVIEW_ITEM_ID = "overview";
3
3
  export declare const PORTAL_CUSTOM_THEMES_FOLDER = "@theme";
4
+ export declare const CUSTOM_MARKDOC_OPTIONS_PATH = "markdoc";
5
+ export declare const CUSTOM_MARKDOC_TAGS_PATH = "tags";
4
6
  export declare const USER_THEME_ALIAS = "@theme";
5
7
  export declare const PUBLIC_STATIC_FOLDER = "/static";
6
8
  export declare enum FsErrors {
@@ -0,0 +1,3 @@
1
+ export declare type ActiveItem<T> = T & {
2
+ active: boolean;
3
+ };
@@ -0,0 +1,28 @@
1
+ import { RawNavItem, LogoConfig, ResolvedNavItem } from '../types';
2
+ export interface PortalConfig extends Record<string, any> {
3
+ nav?: RawNavItem[];
4
+ logo?: LogoConfig;
5
+ themes?: RawTheme[];
6
+ footer?: FooterConfig;
7
+ }
8
+ export interface RawTheme {
9
+ name: string;
10
+ settings?: any;
11
+ }
12
+ export interface ResolvedTheme extends RawTheme {
13
+ stylesFile?: string;
14
+ markdoc: {
15
+ nodesFiles: string[];
16
+ tagsFiles: string[];
17
+ componentsFile?: string;
18
+ };
19
+ }
20
+ export interface FooterConfig {
21
+ copyrightText?: string;
22
+ columns?: FooterColumn[];
23
+ }
24
+ export interface FooterColumn {
25
+ group: string;
26
+ label?: string;
27
+ items: ResolvedNavItem[];
28
+ }
@@ -0,0 +1,6 @@
1
+ export * from './search-document';
2
+ export * from './active-item';
3
+ export * from './search-data';
4
+ export * from './json-index';
5
+ export * from './operation-parameter';
6
+ export * from './config';
@@ -0,0 +1,5 @@
1
+ import Fuse from 'fuse.js';
2
+ export interface JSONIndex {
3
+ keys: ReadonlyArray<string>;
4
+ records: Fuse.FuseIndexRecords;
5
+ }
@@ -0,0 +1,6 @@
1
+ export interface OperationParameter {
2
+ name: string | string[];
3
+ description: string | string[];
4
+ place: string;
5
+ path?: string[];
6
+ }
@@ -0,0 +1,5 @@
1
+ import { JSONIndex, SearchDocument } from './';
2
+ export interface SearchData extends Record<string, unknown> {
3
+ searchIndex: JSONIndex;
4
+ searchDocuments: SearchDocument[];
5
+ }
@@ -0,0 +1,11 @@
1
+ import { OperationParameter } from './operation-parameter';
2
+ export interface SearchDocument {
3
+ id: string;
4
+ url: string;
5
+ title: string | string[];
6
+ text: string | string[];
7
+ path?: string[];
8
+ httpVerb?: string;
9
+ pathName?: string | string[];
10
+ parameters?: OperationParameter[];
11
+ }
@@ -16,8 +16,8 @@ export declare type ResolvedNavLinkItem = {
16
16
  export declare type ResolvedNavGroupItem = {
17
17
  type: 'group';
18
18
  link?: string;
19
- label: string;
20
- items: ResolvedNavItem[];
19
+ label?: string;
20
+ items?: ResolvedNavItem[];
21
21
  version?: string;
22
22
  isDefault?: boolean;
23
23
  versionFolderId?: string;
@@ -53,6 +53,7 @@ export interface PageProps {
53
53
  title: string;
54
54
  };
55
55
  versions?: Version[];
56
+ frontmatter?: Omit<PageProps, 'frontmatter'>;
56
57
  [k: string]: unknown;
57
58
  }
58
59
  export interface PageData {
@@ -67,6 +68,8 @@ export interface CachedPageData extends PageData {
67
68
  }
68
69
  export interface ResolvedPageData extends CachedPageData {
69
70
  sharedData: Record<string, unknown>;
71
+ nextPage?: any;
72
+ prevPage?: any;
70
73
  }
71
74
  export declare enum MenuStyle {
72
75
  Drilldown = "drilldown"
@@ -114,3 +117,6 @@ export declare type VersionedFolderConfig = {
114
117
  versions: VersionConfigItem[];
115
118
  hasVersionsConfig?: boolean;
116
119
  };
120
+ export declare type NavGroup = ResolvedNavItem[] | undefined | string;
121
+ export declare type NavGroupRecord = Record<string, NavGroup>;
122
+ export declare type ResolvedConfigLinks = NavGroup | NavGroupRecord;
@@ -3,6 +3,8 @@ export declare function getClientPageDataUrl(normalizedRoute: string): string;
3
3
  export declare function getSidebarUrl(id: string): string;
4
4
  export declare function getSharedDataUrl(id: string): string;
5
5
  export declare const GLOBAL_DATA_URL = "/app-data.json";
6
+ export declare const SEARCH_DATA_URL = "/search-data.json";
7
+ export declare const SEARCH_INDEX_URL = "/search-index.json";
6
8
  export declare function combineUrls(baseURL: string, ...relativeURLs: string[]): string;
7
9
  export declare function withPathPrefix(url: string): string;
8
10
  export declare function withoutHash(url: string): string;
@@ -1,4 +1,6 @@
1
- export declare const isLocalLink: (path: string) => boolean;
1
+ import picomatch from 'picomatch';
2
+ import type { Tag, Node } from '@markdoc/markdoc';
3
+ export declare const isLocalLink: (path: string | null | undefined) => boolean;
2
4
  /**
3
5
  *
4
6
  * @returns url with leading and without trailing slash or empty string, e.g. '/prefix'
@@ -7,4 +9,8 @@ export declare function getPathPrefix(): string;
7
9
  export declare function normalizePathPrefix(prefix: string): string;
8
10
  export declare function addLeadingSlash(url: string): string;
9
11
  export declare function removeTrailingSlash(url: string): string;
10
- export declare function getGlobMatcher(glob: string, options?: {}): (file: string) => boolean;
12
+ export declare type Glob = picomatch.Glob;
13
+ export declare function getGlobMatcher(glob: Glob, options?: {}): (file: string) => boolean;
14
+ export declare function isTag(value?: any): value is Tag;
15
+ export declare function isNode(value?: any): value is Node;
16
+ export declare const getCssPropertyValue: (name: string) => string;
@@ -1,7 +1,7 @@
1
1
  import { space } from 'styled-system';
2
2
  import styled from 'styled-components';
3
3
 
4
- import { H1, H2 } from '@theme/ui/Typography';
4
+ import { H1, H2 } from '@theme/Typography';
5
5
  import { Background } from '@theme/ui/Background';
6
6
 
7
7
  export const Jumbotron = styled(Background).attrs(() => ({
package/src/ui/index.tsx CHANGED
@@ -1,15 +1,11 @@
1
1
  import React from 'react';
2
2
 
3
3
  export * from '@theme/ui/Tiles';
4
- export * from '@theme/ui/AlertIcon';
5
- export * from '@theme/ui/Arrow';
6
4
  export * from '@theme/ui/Background';
7
5
  export * from '@theme/ui/Box';
8
- export * from '@theme/ui/Button';
9
6
  export * from '@theme/ui/Dropdown';
10
7
  export * from '@theme/ui/Flex';
11
8
  export * from '@theme/ui/Jumbotron';
12
- export * from '@theme/ui/Typography';
13
9
  export * from '@theme/ui/UniversalLink';
14
10
 
15
11
  export const LandingLayout = ({ children }: React.PropsWithChildren<object>): React.ReactNode =>
@@ -6,4 +6,23 @@ export class ClipboardService {
6
6
  static copyCustom(text: string): Promise<void> {
7
7
  return navigator.clipboard.writeText(text);
8
8
  }
9
+
10
+ static selectElement(element: HTMLDivElement | null): void {
11
+ if (!element) {
12
+ return;
13
+ }
14
+ let range;
15
+ let selection;
16
+ if ((document.body as any).createTextRange) {
17
+ range = (document.body as any).createTextRange();
18
+ range.moveToElementText(element);
19
+ range.select();
20
+ } else if (document.createRange && window.getSelection) {
21
+ selection = window.getSelection();
22
+ range = document.createRange();
23
+ range.selectNodeContents(element);
24
+ selection?.removeAllRanges();
25
+ selection?.addRange(range);
26
+ }
27
+ }
9
28
  }
package/ui/Jumbotron.js CHANGED
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
10
10
  exports.Jumbotron = void 0;
11
11
  var styled_system_1 = require("styled-system");
12
12
  var styled_components_1 = __importDefault(require("styled-components"));
13
- var Typography_1 = require("../ui/Typography");
13
+ var Typography_1 = require("../Typography");
14
14
  var Background_1 = require("../ui/Background");
15
15
  exports.Jumbotron = (0, styled_components_1.default)(Background_1.Background).attrs(function () { return ({
16
16
  'data-component-name': 'ui/Jumbotron',
package/ui/index.d.ts CHANGED
@@ -1,14 +1,10 @@
1
1
  import React from 'react';
2
2
  export * from '../ui/Tiles';
3
- export * from '../ui/AlertIcon';
4
- export * from '../ui/Arrow';
5
3
  export * from '../ui/Background';
6
4
  export * from '../ui/Box';
7
- export * from '../ui/Button';
8
5
  export * from '../ui/Dropdown';
9
6
  export * from '../ui/Flex';
10
7
  export * from '../ui/Jumbotron';
11
- export * from '../ui/Typography';
12
8
  export * from '../ui/UniversalLink';
13
9
  export declare const LandingLayout: ({ children }: React.PropsWithChildren<object>) => React.ReactNode;
14
10
  export declare const EmptyLayout: ({ children }: React.PropsWithChildren<object>) => React.ReactNode;
package/ui/index.js CHANGED
@@ -16,15 +16,11 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.EmptyLayout = exports.LandingLayout = void 0;
18
18
  __exportStar(require("../ui/Tiles"), exports);
19
- __exportStar(require("../ui/AlertIcon"), exports);
20
- __exportStar(require("../ui/Arrow"), exports);
21
19
  __exportStar(require("../ui/Background"), exports);
22
20
  __exportStar(require("../ui/Box"), exports);
23
- __exportStar(require("../ui/Button"), exports);
24
21
  __exportStar(require("../ui/Dropdown"), exports);
25
22
  __exportStar(require("../ui/Flex"), exports);
26
23
  __exportStar(require("../ui/Jumbotron"), exports);
27
- __exportStar(require("../ui/Typography"), exports);
28
24
  __exportStar(require("../ui/UniversalLink"), exports);
29
25
  var LandingLayout = function (_a) {
30
26
  var children = _a.children;
@@ -1,4 +1,5 @@
1
1
  export declare class ClipboardService {
2
2
  static isSupported(): boolean;
3
3
  static copyCustom(text: string): Promise<void>;
4
+ static selectElement(element: HTMLDivElement | null): void;
4
5
  }
@@ -10,6 +10,25 @@ var ClipboardService = /** @class */ (function () {
10
10
  ClipboardService.copyCustom = function (text) {
11
11
  return navigator.clipboard.writeText(text);
12
12
  };
13
+ ClipboardService.selectElement = function (element) {
14
+ if (!element) {
15
+ return;
16
+ }
17
+ var range;
18
+ var selection;
19
+ if (document.body.createTextRange) {
20
+ range = document.body.createTextRange();
21
+ range.moveToElementText(element);
22
+ range.select();
23
+ }
24
+ else if (document.createRange && window.getSelection) {
25
+ selection = window.getSelection();
26
+ range = document.createRange();
27
+ range.selectNodeContents(element);
28
+ selection === null || selection === void 0 ? void 0 : selection.removeAllRanges();
29
+ selection === null || selection === void 0 ? void 0 : selection.addRange(range);
30
+ }
31
+ };
13
32
  return ClipboardService;
14
33
  }());
15
34
  exports.ClipboardService = ClipboardService;
@@ -1,3 +0,0 @@
1
- export declare const H1: import("styled-components").StyledComponent<"h1", any, {}, never>;
2
- export declare const H2: import("styled-components").StyledComponent<"h2", any, {}, never>;
3
- export declare const H3: import("styled-components").StyledComponent<"h3", any, {}, never>;
@@ -1,16 +0,0 @@
1
- "use strict";
2
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
- return cooked;
5
- };
6
- var __importDefault = (this && this.__importDefault) || function (mod) {
7
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
- };
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.H3 = exports.H2 = exports.H1 = void 0;
11
- var styled_components_1 = __importDefault(require("styled-components"));
12
- var utils_1 = require("../utils");
13
- exports.H1 = styled_components_1.default.h1(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n color: var(--color-content);\n margin: 0 0 25px;\n\n ", ";\n"], ["\n color: var(--color-content);\n margin: 0 0 25px;\n\n ", ";\n"])), (0, utils_1.typography)('h1', 'h'));
14
- exports.H2 = styled_components_1.default.h2(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n color: var(--color-content);\n margin: 0 0 20px;\n\n ", ";\n"], ["\n color: var(--color-content);\n margin: 0 0 20px;\n\n ", ";\n"])), (0, utils_1.typography)('h2', 'h'));
15
- exports.H3 = styled_components_1.default.h3(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n color: var(--color-content);\n\n ", ";\n"], ["\n color: var(--color-content);\n\n ", ";\n"])), (0, utils_1.typography)('h3', 'h'));
16
- var templateObject_1, templateObject_2, templateObject_3;
@@ -1 +0,0 @@
1
- export * from '../Headings/Headings';
@@ -1 +0,0 @@
1
- export declare const jsonStyles: import("styled-components").FlattenSimpleInterpolation;
@@ -1,10 +0,0 @@
1
- "use strict";
2
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
- return cooked;
5
- };
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.jsonStyles = void 0;
8
- var styled_components_1 = require("styled-components");
9
- exports.jsonStyles = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n .redoc-json code > .collapser {\n display: none;\n pointer-events: none;\n }\n\n contain: content;\n overflow-x: auto;\n padding: 10px;\n border-radius: var(--global-border-radius);\n background-color: var(--samples-panel-controls-background-color);\n color: var(--color-content-inverse);\n font-size: var(--code-font-size);\n font-family: var(--code-font-family);\n white-space: var(--code-wrap, pre);\n\n .callback-function {\n color: gray;\n }\n\n .collapser:after {\n content: '-';\n cursor: pointer;\n }\n\n .collapsed > .collapser:after {\n content: '+';\n cursor: pointer;\n }\n\n .ellipsis:after {\n content: ' \u2026 ';\n }\n\n .collapsible {\n margin-left: 2ch;\n }\n\n .hoverable {\n padding: 1px 2px;\n }\n\n .hovered {\n background-color: rgba(235, 238, 249, 1);\n }\n\n .collapser {\n background-color: transparent;\n border: 0;\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15px;\n height: 15px;\n position: absolute;\n top: 4px;\n left: -1.5em;\n cursor: default;\n user-select: none;\n -webkit-user-select: none;\n padding: 2px;\n font-family: var(--code-font-family);\n font-size: var(--code-font-size);\n &:focus {\n outline: #fff dotted 1px;\n }\n }\n\n ul {\n list-style-type: none;\n padding: 0;\n margin: 0 0 0 26px;\n }\n\n li {\n position: relative;\n display: block;\n }\n\n .hoverable {\n display: inline-block;\n }\n\n .selected {\n outline-width: 1px;\n outline-style: dotted;\n }\n\n .collapsed > .collapsible {\n display: none;\n }\n\n .ellipsis {\n display: none;\n }\n\n .collapsed > .ellipsis {\n display: inherit;\n }\n"], ["\n .redoc-json code > .collapser {\n display: none;\n pointer-events: none;\n }\n\n contain: content;\n overflow-x: auto;\n padding: 10px;\n border-radius: var(--global-border-radius);\n background-color: var(--samples-panel-controls-background-color);\n color: var(--color-content-inverse);\n font-size: var(--code-font-size);\n font-family: var(--code-font-family);\n white-space: var(--code-wrap, pre);\n\n .callback-function {\n color: gray;\n }\n\n .collapser:after {\n content: '-';\n cursor: pointer;\n }\n\n .collapsed > .collapser:after {\n content: '+';\n cursor: pointer;\n }\n\n .ellipsis:after {\n content: ' \u2026 ';\n }\n\n .collapsible {\n margin-left: 2ch;\n }\n\n .hoverable {\n padding: 1px 2px;\n }\n\n .hovered {\n background-color: rgba(235, 238, 249, 1);\n }\n\n .collapser {\n background-color: transparent;\n border: 0;\n color: #fff;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15px;\n height: 15px;\n position: absolute;\n top: 4px;\n left: -1.5em;\n cursor: default;\n user-select: none;\n -webkit-user-select: none;\n padding: 2px;\n font-family: var(--code-font-family);\n font-size: var(--code-font-size);\n &:focus {\n outline: #fff dotted 1px;\n }\n }\n\n ul {\n list-style-type: none;\n padding: 0;\n margin: 0 0 0 26px;\n }\n\n li {\n position: relative;\n display: block;\n }\n\n .hoverable {\n display: inline-block;\n }\n\n .selected {\n outline-width: 1px;\n outline-style: dotted;\n }\n\n .collapsed > .collapsible {\n display: none;\n }\n\n .ellipsis {\n display: none;\n }\n\n .collapsed > .ellipsis {\n display: inherit;\n }\n"])));
10
- var templateObject_1;
@@ -1,4 +0,0 @@
1
- export declare const CodeSampleButtonContainer: import("styled-components").StyledComponent<"div", any, {}, never>;
2
- export declare const CopyCodeButton: import("styled-components").StyledComponent<"div", any, {}, never>;
3
- export declare const DoneIndicator: import("styled-components").StyledComponent<"div", any, {}, never>;
4
- export declare const Wrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
@@ -1,85 +0,0 @@
1
- "use strict";
2
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
- return cooked;
5
- };
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
- Object.defineProperty(o, "default", { enumerable: true, value: v });
19
- }) : function(o, v) {
20
- o["default"] = v;
21
- });
22
- var __importStar = (this && this.__importStar) || function (mod) {
23
- if (mod && mod.__esModule) return mod;
24
- var result = {};
25
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
26
- __setModuleDefault(result, mod);
27
- return result;
28
- };
29
- Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.Wrapper = exports.DoneIndicator = exports.CopyCodeButton = exports.CodeSampleButtonContainer = void 0;
31
- var styled_components_1 = __importStar(require("styled-components"));
32
- exports.CodeSampleButtonContainer = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n position: absolute;\n top: 12px;\n right: 5px;\n"], ["\n position: absolute;\n top: 12px;\n right: 5px;\n"])));
33
- exports.CopyCodeButton = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n padding: 0 5px;\n border-radius: 4px;\n display: none;\n &:hover {\n cursor: pointer;\n }\n"], ["\n padding: 0 5px;\n border-radius: 4px;\n display: none;\n &:hover {\n cursor: pointer;\n }\n"])));
34
- exports.DoneIndicator = styled_components_1.default.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n padding: 0 5px;\n border-radius: 4px;\n cursor: default;\n"], ["\n padding: 0 5px;\n border-radius: 4px;\n cursor: default;\n"])));
35
- // const lightStyleTokens = css`
36
- // .token.comment,
37
- // .token.prolog,
38
- // .token.doctype,
39
- // .token.cdata {
40
- // color: #999988;
41
- // font-style: italic;
42
- // }
43
- // .token.namespace {
44
- // opacity: 0.7;
45
- // }
46
- // .token.string,
47
- // .token.attr-value {
48
- // color: #e3116c;
49
- // }
50
- // .token.punctuation,
51
- // .token.operator {
52
- // color: #393a34; /* no highlight */
53
- // }
54
- // .token.entity,
55
- // .token.url,
56
- // .token.symbol,
57
- // .token.number,
58
- // .token.boolean,
59
- // .token.variable,
60
- // .token.constant,
61
- // .token.property,
62
- // .token.regex,
63
- // .token.inserted {
64
- // color: #36acaa;
65
- // }
66
- // .token.atrule,
67
- // .token.keyword,
68
- // .token.attr-name,
69
- // .language-autohotkey .token.selector {
70
- // color: #00a4db;
71
- // }
72
- // .token.function,
73
- // .token.deleted,
74
- // .language-autohotkey .token.tag {
75
- // color: #9a050f;
76
- // }
77
- // .token.tag,
78
- // .token.selector,
79
- // .language-autohotkey .token.keyword {
80
- // color: #00009f;
81
- // }
82
- // `;
83
- var darkStyleTokens = (0, styled_components_1.css)(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n .token.comment,\n .token.prolog,\n .token.doctype,\n .token.cdata {\n color: hsl(30, 20%, 50%);\n }\n .token.property,\n .token.tag,\n .token.number,\n .token.constant,\n .token.symbol {\n color: #62bff9;\n }\n .token.boolean {\n color: firebrick;\n }\n .token.selector,\n .token.attr-name,\n .token.string,\n .token.char,\n .token.builtin,\n .token.inserted {\n color: #a0fbaa;\n & + a,\n & + a:visited {\n color: #4ed2ba;\n text-decoration: underline;\n }\n }\n .token.operator,\n .token.entity,\n .token.url,\n .token.variable {\n color: hsl(40, 90%, 60%);\n }\n .token.atrule,\n .token.attr-value,\n .token.keyword {\n color: hsl(350, 40%, 70%);\n }\n .token.regex,\n .token.important {\n color: #e90;\n }\n .token.deleted {\n color: red;\n }\n"], ["\n .token.comment,\n .token.prolog,\n .token.doctype,\n .token.cdata {\n color: hsl(30, 20%, 50%);\n }\n .token.property,\n .token.tag,\n .token.number,\n .token.constant,\n .token.symbol {\n color: #62bff9;\n }\n .token.boolean {\n color: firebrick;\n }\n .token.selector,\n .token.attr-name,\n .token.string,\n .token.char,\n .token.builtin,\n .token.inserted {\n color: #a0fbaa;\n & + a,\n & + a:visited {\n color: #4ed2ba;\n text-decoration: underline;\n }\n }\n .token.operator,\n .token.entity,\n .token.url,\n .token.variable {\n color: hsl(40, 90%, 60%);\n }\n .token.atrule,\n .token.attr-value,\n .token.keyword {\n color: hsl(350, 40%, 70%);\n }\n .token.regex,\n .token.important {\n color: #e90;\n }\n .token.deleted {\n color: red;\n }\n"])));
84
- exports.Wrapper = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n overflow: auto;\n border-radius: 4px;\n position: relative;\n\n ", ",\n ", " {\n color: rgba(255, 255, 255, 0.15);\n }\n ", ":hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.15);\n }\n\n &:hover {\n ", " ", " {\n display: block;\n }\n }\n pre {\n white-space: var(--code-wrap);\n color: white;\n padding: 12px 14px 15px 14px;\n overflow-x: auto;\n line-height: normal;\n border-radius: 4px;\n font-family: var(--code-font-family);\n background-color: var(--code-block-preformatted-background-color);\n code {\n background-color: transparent;\n border: 0;\n padding: 0;\n color: white;\n &:before,\n &:after {\n content: none;\n }\n }\n }\n pre[class*='language-'] {\n padding: 1em;\n margin: 0.5em 0;\n overflow: auto;\n border: 0;\n border-radius: var(--global-border-radius);\n }\n code[class='language-text'] {\n line-height: 1.2em;\n display: inline-flex;\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n }\n code[class*='language-'],\n pre[class*='language-'] {\n text-align: left;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n line-height: 1.5;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n -webkit-hyphens: none;\n -moz-hyphens: none;\n -ms-hyphens: none;\n hyphens: none;\n .token.important,\n .token.bold {\n font-weight: bold;\n }\n .token.italic {\n font-style: italic;\n }\n .token.entity {\n cursor: help;\n }\n .token.punctuation {\n opacity: 0.7;\n }\n .namespace {\n opacity: 0.7;\n }\n\n ", ";\n }\n"], ["\n overflow: auto;\n border-radius: 4px;\n position: relative;\n\n ", ",\n ", " {\n color: rgba(255, 255, 255, 0.15);\n }\n ", ":hover {\n color: #fff;\n background-color: rgba(255, 255, 255, 0.15);\n }\n\n &:hover {\n ", " ", " {\n display: block;\n }\n }\n pre {\n white-space: var(--code-wrap);\n color: white;\n padding: 12px 14px 15px 14px;\n overflow-x: auto;\n line-height: normal;\n border-radius: 4px;\n font-family: var(--code-font-family);\n background-color: var(--code-block-preformatted-background-color);\n code {\n background-color: transparent;\n border: 0;\n padding: 0;\n color: white;\n &:before,\n &:after {\n content: none;\n }\n }\n }\n pre[class*='language-'] {\n padding: 1em;\n margin: 0.5em 0;\n overflow: auto;\n border: 0;\n border-radius: var(--global-border-radius);\n }\n code[class='language-text'] {\n line-height: 1.2em;\n display: inline-flex;\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n }\n code[class*='language-'],\n pre[class*='language-'] {\n text-align: left;\n white-space: pre;\n word-spacing: normal;\n word-break: normal;\n word-wrap: normal;\n line-height: 1.5;\n -moz-tab-size: 4;\n -o-tab-size: 4;\n tab-size: 4;\n -webkit-hyphens: none;\n -moz-hyphens: none;\n -ms-hyphens: none;\n hyphens: none;\n .token.important,\n .token.bold {\n font-weight: bold;\n }\n .token.italic {\n font-style: italic;\n }\n .token.entity {\n cursor: help;\n }\n .token.punctuation {\n opacity: 0.7;\n }\n .namespace {\n opacity: 0.7;\n }\n\n ", ";\n }\n"])), exports.CopyCodeButton, exports.DoneIndicator, exports.CopyCodeButton, exports.CodeSampleButtonContainer, exports.CopyCodeButton, darkStyleTokens);
85
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
@@ -1,23 +0,0 @@
1
- import styled from 'styled-components';
2
-
3
- import { typography } from '@theme/utils';
4
-
5
- export const H1 = styled.h1`
6
- color: var(--color-content);
7
- margin: 0 0 25px;
8
-
9
- ${typography('h1', 'h')};
10
- `;
11
-
12
- export const H2 = styled.h2`
13
- color: var(--color-content);
14
- margin: 0 0 20px;
15
-
16
- ${typography('h2', 'h')};
17
- `;
18
-
19
- export const H3 = styled.h3`
20
- color: var(--color-content);
21
-
22
- ${typography('h3', 'h')};
23
- `;
@@ -1 +0,0 @@
1
- export * from '@theme/Headings/Headings';