@salesforcedevs/docs-components 0.17.1 → 0.17.12-search-alpha
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.
- package/lwc.config.json +17 -3
- package/package.json +18 -7
- package/src/modules/README.md +41 -0
- package/src/modules/doc/amfModelParser/amfModelParser.ts +674 -0
- package/src/modules/doc/amfReference/amfReference.css +25 -0
- package/src/modules/doc/amfReference/amfReference.html +55 -0
- package/src/modules/doc/amfReference/amfReference.ts +1467 -0
- package/src/modules/doc/amfReference/constants.ts +76 -0
- package/src/modules/doc/amfReference/types.ts +125 -0
- package/src/modules/doc/amfTopic/amfTopic.css +21 -0
- package/src/modules/doc/amfTopic/amfTopic.html +3 -0
- package/src/modules/doc/amfTopic/amfTopic.ts +111 -0
- package/src/modules/doc/amfTopic/types.ts +56 -0
- package/src/modules/doc/amfTopic/utils.ts +136 -0
- package/src/modules/doc/breadcrumbItem/breadcrumbItem.css +51 -0
- package/src/modules/doc/breadcrumbItem/breadcrumbItem.html +5 -0
- package/src/modules/doc/breadcrumbItem/breadcrumbItem.ts +71 -0
- package/src/modules/doc/breadcrumbs/breadcrumbs.css +27 -0
- package/src/modules/doc/breadcrumbs/breadcrumbs.html +58 -0
- package/src/modules/doc/breadcrumbs/breadcrumbs.ts +183 -0
- package/src/modules/doc/componentPlayground/componentPlayground.css +22 -0
- package/src/modules/doc/componentPlayground/componentPlayground.html +20 -0
- package/src/modules/doc/componentPlayground/componentPlayground.ts +42 -0
- package/src/modules/doc/content/content.css +89 -70
- package/src/modules/doc/content/content.html +1 -0
- package/src/modules/doc/content/content.ts +188 -195
- package/src/modules/doc/contentCallout/contentCallout.css +18 -10
- package/src/modules/doc/contentCallout/contentCallout.html +13 -4
- package/src/modules/doc/contentCallout/contentCallout.ts +14 -2
- package/src/modules/doc/contentLayout/contentLayout.css +1 -0
- package/src/modules/doc/contentLayout/contentLayout.html +46 -0
- package/src/modules/doc/contentLayout/contentLayout.ts +524 -0
- package/src/modules/doc/doDont/doDont.css +47 -0
- package/src/modules/doc/doDont/doDont.html +27 -0
- package/src/modules/doc/doDont/doDont.ts +17 -0
- package/src/modules/doc/header/header.css +70 -37
- package/src/modules/doc/header/header.html +41 -138
- package/src/modules/doc/header/header.ts +56 -78
- package/src/modules/doc/heading/heading.css +33 -0
- package/src/modules/doc/heading/heading.html +14 -0
- package/src/modules/doc/heading/heading.ts +67 -0
- package/src/modules/doc/headingAnchor/headingAnchor.css +3 -3
- package/src/modules/doc/headingAnchor/headingAnchor.ts +2 -2
- package/src/modules/doc/headingContent/headingContent.css +53 -0
- package/src/modules/doc/headingContent/headingContent.html +13 -0
- package/src/modules/doc/headingContent/headingContent.ts +30 -0
- package/src/modules/doc/lwcContentLayout/lwcContentLayout.css +1 -0
- package/src/modules/doc/lwcContentLayout/lwcContentLayout.html +45 -0
- package/src/modules/doc/lwcContentLayout/lwcContentLayout.ts +256 -0
- package/src/modules/doc/overview/overview.css +40 -0
- package/src/modules/doc/overview/overview.html +34 -0
- package/src/modules/doc/overview/overview.ts +12 -0
- package/src/modules/doc/phase/phase.css +21 -6
- package/src/modules/doc/phase/phase.html +15 -3
- package/src/modules/doc/phase/phase.ts +48 -12
- package/src/modules/doc/specificationContent/specificationContent.css +36 -0
- package/src/modules/doc/specificationContent/specificationContent.html +167 -0
- package/src/modules/doc/specificationContent/specificationContent.ts +127 -0
- package/src/modules/doc/sprigSurvey/sprigSurvey.html +20 -0
- package/src/modules/doc/sprigSurvey/sprigSurvey.scoped.css +16 -0
- package/src/modules/doc/sprigSurvey/sprigSurvey.ts +16 -0
- package/src/modules/doc/toc/toc.ts +1 -1
- package/src/modules/doc/versionPicker/versionPicker.css +64 -0
- package/src/modules/doc/versionPicker/versionPicker.html +38 -0
- package/src/modules/doc/versionPicker/versionPicker.ts +65 -0
- package/src/modules/doc/xmlContent/types.ts +120 -0
- package/src/modules/doc/xmlContent/utils.ts +163 -0
- package/src/modules/doc/xmlContent/xmlContent.css +54 -0
- package/src/modules/doc/xmlContent/xmlContent.html +54 -0
- package/src/modules/doc/xmlContent/xmlContent.ts +763 -0
- package/src/modules/docHelpers/amfStyle/amfStyle.css +355 -0
- package/src/modules/docHelpers/contentLayoutStyle/contentLayoutStyle.css +131 -0
- package/src/modules/docHelpers/imgStyle/imgStyle.css +59 -0
- package/src/modules/{helpers → docHelpers}/status/status.css +1 -1
- package/src/modules/docUtils/searchSyncer/searchSyncer.ts +86 -0
- package/src/modules/docUtils/utils/__mocks__/coveo.analytics.ts +16 -0
- package/src/modules/docUtils/utils/coveo.analytics.d.ts +10 -0
- package/src/modules/docUtils/utils/utils.ts +32 -0
- package/LICENSE +0 -12
- package/src/modules/doc/content/__tests__/content.test.ts +0 -312
- package/src/modules/doc/content/__tests__/mockDocContent.ts +0 -348
- package/src/modules/doc/content/__tests__/mockPageReference.ts +0 -8
- package/src/modules/doc/content/__tests__/mockSidebar.ts +0 -81
- package/src/modules/doc/content/content.stories.ts +0 -148
- package/src/modules/doc/contentCallout/__tests__/contentCallout.test.ts +0 -80
- package/src/modules/doc/contentCallout/__tests__/mockProps.ts +0 -14
- package/src/modules/doc/contentCallout/contentCallout.stories.ts +0 -29
- package/src/modules/doc/contentMedia/__tests__/contentMedia.test.ts +0 -97
- package/src/modules/doc/contentMedia/contentMedia.stories.ts +0 -113
- package/src/modules/doc/header/__tests__/coveoConfig.ts +0 -12
- package/src/modules/doc/header/__tests__/header.test.ts +0 -445
- package/src/modules/doc/header/__tests__/mockNavDevelopers.ts +0 -427
- package/src/modules/doc/header/__tests__/mockNavs.ts +0 -115
- package/src/modules/doc/header/__tests__/mockProps.ts +0 -152
- package/src/modules/doc/header/header.stories.ts +0 -190
- package/src/modules/doc/headingAnchor/__tests__/headingAnchor.test.ts +0 -111
- package/src/modules/doc/headingAnchor/headingAnchor.stories.ts +0 -33
- package/src/modules/doc/nav/__tests__/mockAvailableLanguages.ts +0 -8
- package/src/modules/doc/nav/__tests__/mockAvailableVersions.ts +0 -122
- package/src/modules/doc/nav/__tests__/mockPageReference.ts +0 -8
- package/src/modules/doc/nav/__tests__/mockPdfUrl.ts +0 -1
- package/src/modules/doc/nav/__tests__/mockSelectedLanguage.ts +0 -8
- package/src/modules/doc/nav/__tests__/mockSelectedVersion.ts +0 -8
- package/src/modules/doc/nav/__tests__/mockToc.ts +0 -146
- package/src/modules/doc/nav/__tests__/nav.test.ts +0 -58
- package/src/modules/doc/phase/__tests__/mockProps.ts +0 -13
- package/src/modules/doc/phase/__tests__/phase.test.ts +0 -60
- package/src/modules/doc/phase/phase.stories.ts +0 -12
- package/src/modules/doc/toc/__tests__/mockPageReference.ts +0 -8
- package/src/modules/doc/toc/__tests__/mockToc.ts +0 -146
- package/src/modules/doc/toc/__tests__/toc.test.ts +0 -29
- package/src/modules/doc/toolbar/__tests__/mockAvailableLanguages.ts +0 -8
- package/src/modules/doc/toolbar/__tests__/mockAvailableVersions.ts +0 -122
- package/src/modules/doc/toolbar/__tests__/mockPdfUrl.ts +0 -1
- package/src/modules/doc/toolbar/__tests__/mockSelectedLanguage.ts +0 -8
- package/src/modules/doc/toolbar/__tests__/mockSelectedVersion.ts +0 -8
- package/src/modules/doc/toolbar/__tests__/toolbar.test.ts +0 -44
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
export type CoveoAdvancedQueryXMLConfig = {
|
|
2
|
+
locale?: string;
|
|
3
|
+
version?: string;
|
|
4
|
+
topicid?: string;
|
|
5
|
+
};
|
|
6
|
+
|
|
7
|
+
export type PageReference = {
|
|
8
|
+
domain?: string;
|
|
9
|
+
page?: string;
|
|
10
|
+
docId?: string;
|
|
11
|
+
deliverable?: string;
|
|
12
|
+
contentDocumentId?: string;
|
|
13
|
+
hash?: string;
|
|
14
|
+
search?: string;
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export enum HistoryState {
|
|
18
|
+
PUSH_STATE = "pushState",
|
|
19
|
+
REPLACE_STATE = "replaceState"
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export type TreeNode = {
|
|
23
|
+
label: string;
|
|
24
|
+
name: string;
|
|
25
|
+
children?: Array<TreeNode>;
|
|
26
|
+
isExpanded?: boolean;
|
|
27
|
+
parent?: TreeNode;
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
type DropdownOption = {
|
|
31
|
+
id: string;
|
|
32
|
+
label: string;
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export type DocVersion = DropdownOption & {
|
|
36
|
+
releaseVersion: string;
|
|
37
|
+
url: string;
|
|
38
|
+
link?: {
|
|
39
|
+
href: string;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export type DocLanguage = DropdownOption & {
|
|
44
|
+
code: string;
|
|
45
|
+
url: string;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export type ApiDocVersion = {
|
|
49
|
+
version_text: string;
|
|
50
|
+
release_version: string;
|
|
51
|
+
doc_version: string;
|
|
52
|
+
version_url: string;
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export type ApiDocLanguage = {
|
|
56
|
+
code: string;
|
|
57
|
+
label: string;
|
|
58
|
+
locale: string;
|
|
59
|
+
url: string;
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export interface Header extends Element {
|
|
63
|
+
subtitle: string;
|
|
64
|
+
headerHref: string;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export type SiderbarFooter = {
|
|
68
|
+
bailHref: string;
|
|
69
|
+
bailLabel: string;
|
|
70
|
+
languages: Array<DocLanguage>;
|
|
71
|
+
language?: string;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
export type ApiNavItem = {
|
|
75
|
+
children: Array<ApiNavItem>;
|
|
76
|
+
text: string;
|
|
77
|
+
a_attr: {
|
|
78
|
+
href: string;
|
|
79
|
+
};
|
|
80
|
+
id: string;
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
export type ApiDocData = {
|
|
84
|
+
available_languages: Array<ApiDocLanguage>;
|
|
85
|
+
available_versions: Array<ApiDocVersion>;
|
|
86
|
+
content: string;
|
|
87
|
+
content_document_id: string;
|
|
88
|
+
deliverable: string;
|
|
89
|
+
doc_title: string;
|
|
90
|
+
language: ApiDocLanguage;
|
|
91
|
+
title: string;
|
|
92
|
+
toc: Array<ApiNavItem>;
|
|
93
|
+
version: ApiDocVersion;
|
|
94
|
+
pdf_url: string;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export type ContentData = {
|
|
98
|
+
content: string;
|
|
99
|
+
id: string;
|
|
100
|
+
title: string;
|
|
101
|
+
};
|
|
102
|
+
|
|
103
|
+
export type DocumentData = ContentData & {
|
|
104
|
+
availableLanguages: Array<DocLanguage>;
|
|
105
|
+
availableVersions: Array<DocVersion>;
|
|
106
|
+
deliverable: string;
|
|
107
|
+
docTitle: string;
|
|
108
|
+
language: DocLanguage;
|
|
109
|
+
toc: Array<TreeNode>;
|
|
110
|
+
tocMap: { [key: string]: TreeNode };
|
|
111
|
+
version: DocVersion;
|
|
112
|
+
pdfUrl: string;
|
|
113
|
+
};
|
|
114
|
+
|
|
115
|
+
export type ContentApiOptions = {
|
|
116
|
+
version: string;
|
|
117
|
+
language: string;
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
export type TocMap = { [key: string]: TreeNode };
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ApiDocData,
|
|
3
|
+
ApiDocLanguage,
|
|
4
|
+
ApiDocVersion,
|
|
5
|
+
ApiNavItem,
|
|
6
|
+
ContentApiOptions,
|
|
7
|
+
ContentData,
|
|
8
|
+
DocumentData,
|
|
9
|
+
DocLanguage,
|
|
10
|
+
DocVersion,
|
|
11
|
+
TreeNode,
|
|
12
|
+
TocMap
|
|
13
|
+
} from "./types";
|
|
14
|
+
import { Language } from "typings/custom";
|
|
15
|
+
import { getLanguageDisplayTextById } from "dxUtils/language";
|
|
16
|
+
|
|
17
|
+
export class FetchContent {
|
|
18
|
+
private apiDomain: string;
|
|
19
|
+
private languages: Array<Language> = [];
|
|
20
|
+
|
|
21
|
+
constructor(apiDomain: string, languages: Array<Language>) {
|
|
22
|
+
this.apiDomain = apiDomain;
|
|
23
|
+
this.languages = languages;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
async fetchDocumentData(docId: string): Promise<DocumentData | null> {
|
|
27
|
+
try {
|
|
28
|
+
const {
|
|
29
|
+
available_languages,
|
|
30
|
+
available_versions,
|
|
31
|
+
toc,
|
|
32
|
+
content,
|
|
33
|
+
version,
|
|
34
|
+
language,
|
|
35
|
+
content_document_id,
|
|
36
|
+
title,
|
|
37
|
+
doc_title,
|
|
38
|
+
pdf_url,
|
|
39
|
+
deliverable
|
|
40
|
+
} = await this.fetchResource<ApiDocData>(
|
|
41
|
+
`${this.apiDomain}/docs/get_document/${docId}`
|
|
42
|
+
);
|
|
43
|
+
|
|
44
|
+
const { normalizedToc, tocMap } = this.normalizeToc(toc);
|
|
45
|
+
return {
|
|
46
|
+
availableLanguages:
|
|
47
|
+
available_languages &&
|
|
48
|
+
available_languages.map(this.normalizeLanguage.bind(this)),
|
|
49
|
+
availableVersions:
|
|
50
|
+
available_versions &&
|
|
51
|
+
available_versions.map(this.normalizeVersion.bind(this)),
|
|
52
|
+
content,
|
|
53
|
+
version: this.normalizeVersion(version),
|
|
54
|
+
id: content_document_id,
|
|
55
|
+
language: this.normalizeLanguage(language),
|
|
56
|
+
title,
|
|
57
|
+
toc: normalizedToc,
|
|
58
|
+
tocMap,
|
|
59
|
+
docTitle: doc_title,
|
|
60
|
+
pdfUrl: pdf_url,
|
|
61
|
+
deliverable
|
|
62
|
+
};
|
|
63
|
+
} catch (error) {
|
|
64
|
+
console.log(error);
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
fetchContent(
|
|
70
|
+
deliverable: string,
|
|
71
|
+
contentId: string,
|
|
72
|
+
options: ContentApiOptions
|
|
73
|
+
): Promise<ContentData> {
|
|
74
|
+
return this.fetchResource<ContentData>(
|
|
75
|
+
`${this.apiDomain}/docs/get_document_content/${deliverable}/${contentId}/${options.language}/${options.version}`
|
|
76
|
+
);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
private async fetchResource<T>(url: string): Promise<T> {
|
|
80
|
+
const response = await fetch(url);
|
|
81
|
+
if (!response.ok) {
|
|
82
|
+
throw new Error(response.statusText);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
const json = await response.json();
|
|
86
|
+
|
|
87
|
+
return json;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
private normalizeToc(
|
|
91
|
+
apiToc: Array<ApiNavItem>
|
|
92
|
+
): {
|
|
93
|
+
tocMap: { [key: string]: TreeNode };
|
|
94
|
+
normalizedToc: Array<TreeNode>;
|
|
95
|
+
} {
|
|
96
|
+
const tocMap = {};
|
|
97
|
+
const normalizedToc =
|
|
98
|
+
apiToc &&
|
|
99
|
+
apiToc.map((navItem) => this.normalizeNavItem(navItem, tocMap));
|
|
100
|
+
|
|
101
|
+
return { normalizedToc, tocMap };
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
private normalizeNavItem(
|
|
105
|
+
navItem: ApiNavItem,
|
|
106
|
+
tocMap: TocMap,
|
|
107
|
+
parentNavItem?: TreeNode
|
|
108
|
+
): TreeNode {
|
|
109
|
+
const name = this.calculateNavItemName(navItem, tocMap);
|
|
110
|
+
const node: TreeNode = {
|
|
111
|
+
label: navItem.text,
|
|
112
|
+
name,
|
|
113
|
+
parent: parentNavItem
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
if (name) {
|
|
117
|
+
tocMap[name] = node;
|
|
118
|
+
}
|
|
119
|
+
node.children = navItem.children?.map((child) =>
|
|
120
|
+
this.normalizeNavItem(child, tocMap, node)
|
|
121
|
+
);
|
|
122
|
+
return node;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
private calculateNavItemName(navItem: ApiNavItem, tocMap: TocMap): string {
|
|
126
|
+
let href = navItem.a_attr?.href || "";
|
|
127
|
+
if (href.includes("#")) {
|
|
128
|
+
const [pathUrl] = href.split("#");
|
|
129
|
+
href = pathUrl in tocMap ? href : pathUrl;
|
|
130
|
+
}
|
|
131
|
+
return href || navItem.id;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
private normalizeVersion(version: ApiDocVersion): DocVersion {
|
|
135
|
+
return (
|
|
136
|
+
version && {
|
|
137
|
+
label: version.version_text,
|
|
138
|
+
releaseVersion:
|
|
139
|
+
version.release_version &&
|
|
140
|
+
!version.release_version.startsWith("v")
|
|
141
|
+
? `v${version.release_version}`
|
|
142
|
+
: version.release_version,
|
|
143
|
+
id: version.doc_version,
|
|
144
|
+
url: version.version_url
|
|
145
|
+
}
|
|
146
|
+
);
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
private normalizeLanguage(language: ApiDocLanguage): DocLanguage {
|
|
150
|
+
return (
|
|
151
|
+
language && {
|
|
152
|
+
label:
|
|
153
|
+
getLanguageDisplayTextById(
|
|
154
|
+
this.languages,
|
|
155
|
+
language.locale
|
|
156
|
+
) || language.label,
|
|
157
|
+
id: language.locale,
|
|
158
|
+
code: language.code,
|
|
159
|
+
url: language.url
|
|
160
|
+
}
|
|
161
|
+
);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
--button-primary-color: var(--dx-g-blue-vibrant-50);
|
|
3
|
+
--button-primary-color-hover: var(--dx-g-blue-vibrant-40);
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
doc-content-layout {
|
|
7
|
+
--dx-c-content-sidebar-sticky-top: var(--dx-g-global-header-height);
|
|
8
|
+
--dx-c-sidebar-height: calc(100vh - var(--dx-g-global-header-height));
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
doc-breadcrumbs {
|
|
12
|
+
--dx-c-popover-z-index: 5;
|
|
13
|
+
|
|
14
|
+
display: block;
|
|
15
|
+
margin-bottom: var(--dx-g-spacing-md);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
dx-dropdown {
|
|
19
|
+
--dx-c-dropdown-option-font-size: var(--dx-g-text-sm);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
dx-dropdown > dx-button {
|
|
23
|
+
--dx-c-button-primary-color: var(--button-primary-color);
|
|
24
|
+
--dx-c-button-primary-color-hover: var(--button-primary-color-hover);
|
|
25
|
+
--border-color: var(--button-primary-color);
|
|
26
|
+
|
|
27
|
+
border-bottom: 1px dashed var(--border-color);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
dx-dropdown > dx-button:hover {
|
|
31
|
+
--border-color: var(--button-primary-color-hover);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
doc-phase {
|
|
35
|
+
--doc-c-phase-top: var(--dx-g-global-header-height);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
@media screen and (max-width: 768px) {
|
|
39
|
+
doc-content-layout {
|
|
40
|
+
--dx-g-doc-header-main-nav-height: 41px;
|
|
41
|
+
--dx-g-doc-header-height: calc(
|
|
42
|
+
var(--dx-g-doc-header-main-nav-height) + 40px
|
|
43
|
+
);
|
|
44
|
+
--dx-c-content-sidebar-sticky-top: calc(
|
|
45
|
+
var(--dx-g-global-header-height) + var(--dx-g-doc-header-height)
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
doc-phase {
|
|
50
|
+
--doc-c-phase-top: calc(
|
|
51
|
+
var(--dx-g-global-header-height) + var(--dx-g-doc-header-height)
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<doc-content-layout
|
|
3
|
+
lwc:if={displayContent}
|
|
4
|
+
lwc:ref="docContentLayout"
|
|
5
|
+
sidebar-header={docTitle}
|
|
6
|
+
sidebar-content={sidebarContent}
|
|
7
|
+
sidebar-value={sidebarValue}
|
|
8
|
+
onselect={handleSelect}
|
|
9
|
+
onlangchange={handleLanguageChange}
|
|
10
|
+
languages={sidebarFooterContent.languages}
|
|
11
|
+
language={sidebarFooterContent.language}
|
|
12
|
+
bail-href={sidebarFooterContent.bailHref}
|
|
13
|
+
bail-label={sidebarFooterContent.bailLabel}
|
|
14
|
+
show-footer={enableFooter}
|
|
15
|
+
>
|
|
16
|
+
<doc-phase
|
|
17
|
+
slot="version-banner"
|
|
18
|
+
lwc:if={showVersionBanner}
|
|
19
|
+
doc-phase-info={oldVersionInfo}
|
|
20
|
+
icon-name="warning"
|
|
21
|
+
dismissible="true"
|
|
22
|
+
ondismissphase={handleDismissVersionBanner}
|
|
23
|
+
></doc-phase>
|
|
24
|
+
<div lwc:if={showVersionPicker} slot="sidebar-header">
|
|
25
|
+
<doc-version-picker
|
|
26
|
+
data-type="version"
|
|
27
|
+
analytics-event="custEv_ctaLinkClick"
|
|
28
|
+
analytics-payload={ANALYTICS_PAYLOAD}
|
|
29
|
+
versions={versionOptions}
|
|
30
|
+
selected-version={version}
|
|
31
|
+
latest-version={latestVersion}
|
|
32
|
+
hide-badge={previewVersion}
|
|
33
|
+
></doc-version-picker>
|
|
34
|
+
</div>
|
|
35
|
+
<doc-breadcrumbs
|
|
36
|
+
lwc:if={showBreadcrumbs}
|
|
37
|
+
breadcrumbs={breadcrumbs}
|
|
38
|
+
pixel-per-character={breadcrumbPixelPerCharacter}
|
|
39
|
+
></doc-breadcrumbs>
|
|
40
|
+
<doc-content
|
|
41
|
+
docs-data={docContent}
|
|
42
|
+
page-reference={pageReference}
|
|
43
|
+
onnavclick={handleNavClick}
|
|
44
|
+
></doc-content>
|
|
45
|
+
</doc-content-layout>
|
|
46
|
+
<div lwc:if={display404}>
|
|
47
|
+
<dx-error
|
|
48
|
+
image="https://a.sfdcstatic.com/developer-website/images/404.svg"
|
|
49
|
+
code="404"
|
|
50
|
+
header="Beep boop. That did not compute."
|
|
51
|
+
subtitle="The document you're looking for doesn't seem to exist."
|
|
52
|
+
></dx-error>
|
|
53
|
+
</div>
|
|
54
|
+
</template>
|