@salesforcedevs/docs-components 1.3.2 → 1.3.4-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.
Files changed (74) hide show
  1. package/lwc.config.json +8 -1
  2. package/package.json +13 -13
  3. package/src/modules/doc/{amfReference/utils.ts → amfModelParser/amfModelParser.ts} +10 -5
  4. package/src/modules/doc/amfReference/amfReference.css +23 -3
  5. package/src/modules/doc/amfReference/amfReference.html +34 -21
  6. package/src/modules/doc/amfReference/amfReference.ts +225 -92
  7. package/src/modules/doc/amfReference/types.ts +3 -11
  8. package/src/modules/doc/amfTopic/amfTopic.css +20 -0
  9. package/src/modules/doc/amfTopic/amfTopic.ts +35 -18
  10. package/src/modules/doc/amfTopic/types.ts +15 -13
  11. package/src/modules/doc/amfTopic/utils.ts +12 -6
  12. package/src/modules/doc/breadcrumbItem/breadcrumbItem.ts +17 -10
  13. package/src/modules/doc/breadcrumbs/breadcrumbs.html +7 -9
  14. package/src/modules/doc/breadcrumbs/breadcrumbs.ts +30 -34
  15. package/src/modules/doc/componentPlayground/componentPlayground.css +22 -0
  16. package/src/modules/doc/componentPlayground/componentPlayground.html +15 -0
  17. package/src/modules/doc/componentPlayground/componentPlayground.ts +20 -0
  18. package/src/modules/doc/content/content.css +70 -76
  19. package/src/modules/doc/content/content.ts +18 -14
  20. package/src/modules/doc/contentCallout/contentCallout.css +12 -1
  21. package/src/modules/doc/contentCallout/contentCallout.html +11 -4
  22. package/src/modules/doc/contentCallout/contentCallout.ts +8 -1
  23. package/src/modules/doc/contentLayout/contentLayout.css +1 -98
  24. package/src/modules/doc/contentLayout/contentLayout.html +25 -11
  25. package/src/modules/doc/contentLayout/contentLayout.ts +296 -89
  26. package/src/modules/doc/doDont/doDont.css +47 -0
  27. package/src/modules/doc/doDont/doDont.html +27 -0
  28. package/src/modules/doc/doDont/doDont.ts +17 -0
  29. package/src/modules/doc/header/header.css +65 -36
  30. package/src/modules/doc/header/header.html +40 -146
  31. package/src/modules/doc/header/header.ts +32 -81
  32. package/src/modules/doc/heading/heading.css +16 -37
  33. package/src/modules/doc/heading/heading.html +4 -4
  34. package/src/modules/doc/heading/heading.ts +12 -10
  35. package/src/modules/doc/headingAnchor/headingAnchor.css +2 -2
  36. package/src/modules/doc/headingAnchor/headingAnchor.ts +2 -2
  37. package/src/modules/doc/headingContent/headingContent.css +1 -1
  38. package/src/modules/doc/headingContent/headingContent.html +2 -2
  39. package/src/modules/doc/headingContent/headingContent.ts +2 -2
  40. package/src/modules/doc/lwcContentLayout/lwcContentLayout.css +1 -0
  41. package/src/modules/doc/lwcContentLayout/lwcContentLayout.html +64 -0
  42. package/src/modules/doc/lwcContentLayout/lwcContentLayout.ts +168 -0
  43. package/src/modules/doc/overview/overview.css +40 -0
  44. package/src/modules/doc/overview/overview.html +34 -0
  45. package/src/modules/doc/overview/overview.ts +12 -0
  46. package/src/modules/doc/phase/phase.css +18 -3
  47. package/src/modules/doc/phase/phase.html +12 -2
  48. package/src/modules/doc/phase/phase.ts +44 -8
  49. package/src/modules/doc/specificationContent/specificationContent.css +31 -0
  50. package/src/modules/doc/specificationContent/specificationContent.html +164 -0
  51. package/src/modules/doc/specificationContent/specificationContent.ts +114 -0
  52. package/src/modules/doc/sprigSurvey/sprigSurvey.html +20 -0
  53. package/src/modules/doc/sprigSurvey/sprigSurvey.scoped.css +16 -0
  54. package/src/modules/doc/sprigSurvey/sprigSurvey.ts +16 -0
  55. package/src/modules/doc/toc/toc.html +1 -3
  56. package/src/modules/doc/toc/toc.ts +1 -1
  57. package/src/modules/doc/toolbar/toolbar.ts +6 -6
  58. package/src/modules/doc/versionPicker/versionPicker.css +64 -0
  59. package/src/modules/doc/versionPicker/versionPicker.html +38 -0
  60. package/src/modules/doc/versionPicker/versionPicker.ts +65 -0
  61. package/src/modules/doc/xmlContent/types.ts +9 -3
  62. package/src/modules/doc/xmlContent/utils.ts +3 -1
  63. package/src/modules/doc/xmlContent/xmlContent.css +25 -3
  64. package/src/modules/doc/xmlContent/xmlContent.html +29 -17
  65. package/src/modules/doc/xmlContent/xmlContent.ts +197 -75
  66. package/src/modules/docHelpers/amfStyle/amfStyle.css +6 -6
  67. package/src/modules/docHelpers/contentLayoutStyle/contentLayoutStyle.css +131 -0
  68. package/src/modules/docHelpers/imgStyle/imgStyle.css +59 -0
  69. package/src/modules/docHelpers/status/status.css +1 -1
  70. package/src/modules/docUtils/{SearchSyncer/SearchSyncer.ts → searchSyncer/searchSyncer.ts} +1 -0
  71. package/src/modules/docUtils/utils/utils.ts +32 -0
  72. package/LICENSE +0 -12
  73. package/src/modules/docBaseElements/lightningElementWithState/lightningElementWithState.ts +0 -93
  74. package/src/modules/docHelpers/phaseContentLayout/phaseContentLayout.css +0 -39
@@ -6,8 +6,8 @@
6
6
 
7
7
  @import "dxHelpers/text";
8
8
  @import "dxHelpers/reset";
9
- @import "dxHelpers/card";
10
9
  @import "dxHelpers/table";
10
+ @import "docHelpers/imgStyle";
11
11
 
12
12
  .doc-content {
13
13
  width: 100%;
@@ -31,11 +31,6 @@
31
31
  margin-bottom: var(--dx-g-spacing-md);
32
32
  }
33
33
 
34
- .helpHead2 {
35
- margin-top: 36px;
36
- margin-bottom: var(--dx-g-spacing-md);
37
- }
38
-
39
34
  .relinfo {
40
35
  padding-top: var(--dx-g-spacing-sm);
41
36
  padding-bottom: var(--dx-g-spacing-sm);
@@ -46,17 +41,10 @@
46
41
  padding-bottom: var(--dx-g-spacing-sm);
47
42
  }
48
43
 
49
- img.content-image {
50
- height: auto;
51
- display: unset;
52
- }
53
-
54
44
  .image-block .content-image {
55
45
  margin-top: var(--dx-g-spacing-lg);
56
46
  margin-bottom: var(--dx-g-spacing-sm);
57
47
  display: block;
58
- margin-left: auto;
59
- margin-right: auto;
60
48
  }
61
49
 
62
50
  td > img.content-image:first-child:last-child[alt="Yes"],
@@ -64,61 +52,61 @@ td > img.content-image:first-child:last-child[alt="No"] {
64
52
  width: var(--dx-g-spacing-md);
65
53
  }
66
54
 
67
- h1 {
68
- font-family: var(--dx-g-font-display);
69
- font-size: var(--dx-g-text-4xl);
70
-
71
- /* not registered */
55
+ h1,
56
+ h2,
57
+ h3,
58
+ h4,
59
+ h5,
60
+ h6 {
72
61
  color: var(--dx-g-blue-vibrant-20);
73
- letter-spacing: -0.4px;
74
- line-height: 56px;
62
+ font-family: var(--dx-g-font-display);
63
+ font-weight: var(--dx-g-font-demi);
75
64
  }
76
65
 
77
- h2 {
78
- font-family: var(--dx-g-font-display);
66
+ h1 {
79
67
  font-size: var(--dx-g-text-3xl);
80
- color: var(--dx-g-blue-vibrant-20);
81
- letter-spacing: -0.1px;
68
+ letter-spacing: -0.8px;
82
69
  line-height: var(--dx-g-spacing-3xl);
70
+ margin: var(--dx-g-spacing-2xl) 0 var(--dx-g-spacing-md) 0;
83
71
  }
84
72
 
85
- h3 {
86
- font-family: var(--dx-g-font-display);
87
- font-size: 32px;
88
- color: var(--dx-g-blue-vibrant-20);
89
- letter-spacing: -0.1px;
73
+ h2 {
74
+ font-size: var(--dx-g-text-2xl);
75
+ letter-spacing: -0.4px;
90
76
  line-height: var(--dx-g-spacing-2xl);
77
+ margin: var(--dx-g-spacing-2xl) 0 var(--dx-g-spacing-md) 0;
91
78
  }
92
79
 
93
- h4 {
94
- font-family: var(--dx-g-font-display);
80
+ h3 {
95
81
  font-size: var(--dx-g-text-xl);
96
- color: var(--dx-g-blue-vibrant-20);
97
- letter-spacing: 0;
82
+ letter-spacing: -0.4px;
98
83
  line-height: var(--dx-g-spacing-xl);
84
+ margin: var(--dx-g-spacing-xl) 0 var(--dx-g-spacing-md) 0;
85
+ }
86
+
87
+ h4 {
88
+ font-size: var(--dx-g-text-base);
89
+ letter-spacing: -0.5px;
90
+ line-height: var(--dx-g-spacing-lg);
91
+ margin: var(--dx-g-spacing-lg) 0 var(--dx-g-spacing-sm) 0;
99
92
  }
100
93
 
101
94
  h5 {
102
- font-family: var(--dx-g-font-display);
103
- font-size: var(--dx-g-text-lg);
104
- color: var(--dx-g-blue-vibrant-20);
105
- letter-spacing: 0;
106
- line-height: 28px;
95
+ font-size: var(--dx-g-text-sm);
96
+ letter-spacing: -0.3px;
97
+ line-height: var(--dx-g-spacing-mlg);
98
+ margin: var(--dx-g-spacing-md) 0 var(--dx-g-spacing-sm) 0;
107
99
  }
108
100
 
109
101
  h6 {
110
- font-family: var(--dx-g-font-display);
111
- font-size: var(--dx-g-text-base);
112
- color: var(--dx-g-blue-vibrant-20);
113
- letter-spacing: 0;
114
- line-height: var(--dx-g-spacing-mlg);
102
+ font-size: var(--dx-g-text-xs);
103
+ letter-spacing: -0.3px;
104
+ line-height: var(--dx-g-spacing-md);
105
+ margin: var(--dx-g-spacing-sm) 0 var(--dx-g-spacing-sm) 0;
115
106
  }
116
107
 
117
- .dx-text-heading-alt-1 {
118
- color: var(--dx-g-gray-30);
119
- font-family: var(--dx-g-font-sans);
120
- font-size: var(--slds-text-lg);
121
- line-height: 25px;
108
+ img {
109
+ image-rendering: optimize-contrast;
122
110
  }
123
111
 
124
112
  p,
@@ -165,10 +153,6 @@ a,
165
153
  color: var(--dx-g-blue-vibrant-50);
166
154
  }
167
155
 
168
- .helpHead1 {
169
- margin-bottom: var(--dx-g-spacing-lg);
170
- }
171
-
172
156
  .shortdesc {
173
157
  font-family: var(--dx-g-font-sans);
174
158
  font-size: var(--dx-g-text-base);
@@ -270,6 +254,10 @@ li {
270
254
  var(--dx-g-spacing-lg);
271
255
  }
272
256
 
257
+ li table {
258
+ margin-bottom: var(--dx-g-spacing-lg);
259
+ }
260
+
273
261
  li > li {
274
262
  margin-left: var(--dx-g-spacing-2xl);
275
263
  }
@@ -283,27 +271,6 @@ a:hover,
283
271
  text-decoration: underline;
284
272
  }
285
273
 
286
- @media (max-width: 640px) {
287
- /* Mobile */
288
- img.content-image {
289
- max-width: 95vw;
290
- }
291
- }
292
-
293
- @media (min-width: 641px) {
294
- /* Tablet (medium) */
295
- img.content-image {
296
- max-width: 80vw;
297
- }
298
- }
299
-
300
- @media (min-width: 769px) {
301
- /* Desktop */
302
- img.content-image {
303
- max-width: min(60vw, 650px);
304
- }
305
- }
306
-
307
274
  ul,
308
275
  ol {
309
276
  margin-left: var(--dx-g-spacing-lg);
@@ -376,13 +343,30 @@ ul ul ul ul ul ul {
376
343
  margin: var(--dx-g-spacing-lg) 0;
377
344
  }
378
345
 
379
- figure {
346
+ figure,
347
+ .fig {
380
348
  margin: var(--dx-g-spacing-lg) 0;
349
+ text-align: left;
350
+ display: flex;
351
+ flex-direction: column;
352
+ align-items: left;
353
+ justify-content: left;
381
354
  }
382
355
 
383
- figcaption {
356
+ figcaption,
357
+ .figcap {
358
+ display: block;
384
359
  font-size: var(--dx-g-text-xs);
385
- margin-top: var(--dx-g-spacing-sm);
360
+ margin: var(--dx-g-spacing-sm) 0;
361
+ order: 2;
362
+ }
363
+
364
+ .figcap .image {
365
+ order: 1;
366
+ }
367
+
368
+ .fig.fig-centered {
369
+ text-align: center;
386
370
  }
387
371
 
388
372
  code,
@@ -397,3 +381,13 @@ samp,
397
381
  mark {
398
382
  background-color: var(--dx-g-yellow-vibrant-90);
399
383
  }
384
+
385
+ /* offset page jump link due to fixed header */
386
+ [id] {
387
+ --dx-c-content-scroll-margin-top: calc(
388
+ var(--dx-g-global-header-height) + var(--dx-g-doc-header-height) +
389
+ var(--dx-g-spacing-2xl)
390
+ );
391
+
392
+ scroll-margin-top: var(--dx-c-content-scroll-margin-top);
393
+ }
@@ -1,11 +1,11 @@
1
1
  /* eslint-disable @lwc/lwc/no-inner-html */
2
2
  import { createElement, LightningElement, api, track } from "lwc";
3
3
  import { DocContent, PageReference } from "typings/custom";
4
- import ContentCallout from "doc/contentCallout";
5
4
  import CodeBlock from "dx/codeBlock";
6
- import ContentMedia from "doc/contentMedia";
7
5
  import Button from "dx/button";
8
6
  import { highlightTerms } from "dxUtils/highlight";
7
+ import ContentCallout from "doc/contentCallout";
8
+ import ContentMedia from "doc/contentMedia";
9
9
 
10
10
  const HIGHLIGHTABLE_SELECTOR = [
11
11
  "p",
@@ -86,7 +86,7 @@ export default class Content extends LightningElement {
86
86
  }
87
87
 
88
88
  renderPaginationButton(anchorEl: HTMLElement) {
89
- const isNext = anchorEl.textContent.includes("Next →");
89
+ const isNext = anchorEl.textContent!.includes("Next →");
90
90
  anchorEl.innerHTML = "";
91
91
  const buttonEl = createElement("dx-button", { is: Button });
92
92
  const params = isNext
@@ -116,7 +116,7 @@ export default class Content extends LightningElement {
116
116
  const codeBlockEls = divEl.querySelectorAll(".codeSection");
117
117
  codeBlockEls.forEach((codeBlockEl) => {
118
118
  codeBlockEl.setAttribute("lwc:dom", "manual");
119
- const classList = codeBlockEl.firstChild.classList;
119
+ const classList = (codeBlockEl.firstChild as any).classList;
120
120
  let language = "";
121
121
  for (const key in classList) {
122
122
  if (typeof classList[key] === "string") {
@@ -134,7 +134,7 @@ export default class Content extends LightningElement {
134
134
  // ! Hot fix for incoming html tags from couchdb for xml blocks, fix me soon please
135
135
  language: LANGUAGE_MAP[language] || language,
136
136
  theme: this.codeBlockTheme,
137
- title: "", // Default no title.
137
+ header: "", // Default no title.
138
138
  variant: this.codeBlockType,
139
139
  isEncoded: true
140
140
  });
@@ -160,7 +160,7 @@ export default class Content extends LightningElement {
160
160
 
161
161
  let flag = 1;
162
162
  for (let i: number = 0; i < detailEls.length; i++) {
163
- flag &= detailEls[i].innerHTML.trim() === "";
163
+ flag &= (detailEls[i].innerHTML.trim() === "") as any; // Dark Magic TM
164
164
  }
165
165
 
166
166
  if (flag) {
@@ -170,10 +170,10 @@ export default class Content extends LightningElement {
170
170
  });
171
171
  }
172
172
 
173
- const type = calloutEl.querySelector("h4").textContent;
173
+ const type = calloutEl.querySelector("h4")!.textContent!;
174
174
  const typeLower = type.toLowerCase();
175
175
  Object.assign(calloutCompEl, {
176
- title: type,
176
+ header: type,
177
177
  variant: typeLower
178
178
  });
179
179
  // eslint-disable-next-line no-use-before-define
@@ -184,10 +184,10 @@ export default class Content extends LightningElement {
184
184
  // Modify links to work with any domain, links that start with "#" are excluded
185
185
  const anchorEls = divEl.querySelectorAll("a:not([href^='#'])");
186
186
 
187
- anchorEls.forEach((anchorEl) => {
187
+ anchorEls.forEach((anchorEl: any) => {
188
188
  if (
189
- anchorEl.textContent.includes("Next →") ||
190
- anchorEl.textContent.includes("← Previous")
189
+ anchorEl.textContent!.includes("Next →") ||
190
+ anchorEl.textContent!.includes("← Previous")
191
191
  ) {
192
192
  if (this.showPaginationButtons) {
193
193
  this.renderPaginationButton(anchorEl);
@@ -253,6 +253,7 @@ export default class Content extends LightningElement {
253
253
  const label = mediaEl.getAttribute("label");
254
254
  const width = mediaEl.getAttribute("width");
255
255
  const height = mediaEl.getAttribute("height");
256
+ const className = mediaEl.getAttribute("class");
256
257
 
257
258
  if (isImage) {
258
259
  src = src.startsWith("/")
@@ -264,6 +265,7 @@ export default class Content extends LightningElement {
264
265
 
265
266
  const img: HTMLImageElement = document.createElement("img");
266
267
  img.src = src;
268
+ img.alt = "";
267
269
  if (alt) {
268
270
  img.alt = alt;
269
271
  }
@@ -276,8 +278,11 @@ export default class Content extends LightningElement {
276
278
  if (width) {
277
279
  img.width = parseFloat(width);
278
280
  }
281
+ if (className) {
282
+ img.className = className;
283
+ }
279
284
 
280
- img.className = "content-image";
285
+ img.className = `content-image ${img.className}`;
281
286
  mediaEl.parentNode!.insertBefore(img, mediaEl);
282
287
  } else {
283
288
  const contentMediaEl = createElement("doc-content-media", {
@@ -321,8 +326,7 @@ export default class Content extends LightningElement {
321
326
 
322
327
  handleNavClick(event: InputEvent) {
323
328
  event.preventDefault();
324
- // eslint-disable-next-line no-use-before-define
325
- const target = event.currentTarget.dataset.id;
329
+ const target = (event.currentTarget! as any).dataset.id;
326
330
  const [page, docId, deliverable, tempContentDocumentId] =
327
331
  target.split("/");
328
332
  const [contentDocumentId, hash] = tempContentDocumentId.split("#");
@@ -6,11 +6,17 @@
6
6
  border-radius: 4px;
7
7
  }
8
8
 
9
- .dx-callout-base {
9
+ .dx-callout-base,
10
+ .dx-callout-plain {
10
11
  background-color: var(--dx-g-gray-95);
11
12
  border-color: var(--dx-g-gray-50);
12
13
  }
13
14
 
15
+ .dx-callout-plain {
16
+ border: none;
17
+ margin-bottom: var(--dx-g-text-2xl);
18
+ }
19
+
14
20
  .dx-callout-note {
15
21
  background-color: var(--dx-g-blue-vibrant-95);
16
22
  border-color: var(--dx-g-blue-vibrant-50);
@@ -46,3 +52,8 @@
46
52
  display: flex;
47
53
  flex-direction: row;
48
54
  }
55
+
56
+ .dx-callout-content {
57
+ flex: 1;
58
+ overflow: auto;
59
+ }
@@ -1,11 +1,18 @@
1
1
  <template>
2
2
  <div class={className}>
3
- <div class="doc-status-icon dx-callout-icon">
4
- <dx-icon symbol={iconName} size="large" color={iconColor}></dx-icon>
5
- </div>
3
+ <template if:false={hideIcon}>
4
+ <div class="doc-status-icon dx-callout-icon">
5
+ <dx-icon
6
+ symbol={iconName}
7
+ size="large"
8
+ color={iconColor}
9
+ ></dx-icon>
10
+ </div>
11
+ </template>
12
+
6
13
  <div class="dx-callout-content">
7
14
  <p class="doc-status-title dx-callout-title dx-text-body-3">
8
- {title}
15
+ {header}
9
16
  </p>
10
17
  <span class="dx-callout-body dx-text-body-3">
11
18
  <slot onslotchange={onSlotChange}></slot>
@@ -3,7 +3,7 @@ import cx from "classnames";
3
3
  import { CalloutVariant, LightningSlotElement } from "typings/custom";
4
4
 
5
5
  export default class ContentCallout extends LightningElement {
6
- @api title!: string;
6
+ @api header!: string;
7
7
  @api variant!: CalloutVariant;
8
8
  cardVariant?: string;
9
9
  iconName?: string;
@@ -11,6 +11,9 @@ export default class ContentCallout extends LightningElement {
11
11
 
12
12
  connectedCallback() {
13
13
  switch (this.variant) {
14
+ case "plain":
15
+ this.cardVariant = "dx-callout-plain";
16
+ break;
14
17
  case "tip":
15
18
  this.cardVariant = "dx-callout-tip";
16
19
  this.iconColor = "green-vibrant-60";
@@ -49,6 +52,10 @@ export default class ContentCallout extends LightningElement {
49
52
  );
50
53
  }
51
54
 
55
+ get hideIcon() {
56
+ return this.variant === "plain";
57
+ }
58
+
52
59
  private isSlotEmpty: boolean = true;
53
60
  private onSlotChange(e: LightningSlotElement) {
54
61
  // @ts-ignore
@@ -1,98 +1 @@
1
- :host {
2
- --dx-c-content-vertical-spacing: var(--dx-g-spacing-lg);
3
-
4
- display: block;
5
- }
6
-
7
- doc-breadcrumbs {
8
- --dx-c-popover-z-index: 5;
9
-
10
- display: block;
11
- margin-bottom: var(--dx-g-spacing-2xl);
12
- }
13
-
14
- dx-sidebar,
15
- dx-sidebar-old {
16
- --dx-c-sidebar-height: 100%;
17
- --dx-c-sidebar-vertical-padding: var(--dx-c-content-vertical-spacing);
18
-
19
- z-index: 6;
20
- }
21
-
22
- dx-toc {
23
- --dx-c-toc-width: unset;
24
-
25
- height: calc(100% - var(--dx-c-content-vertical-spacing) * 2);
26
- margin: var(--dx-c-content-vertical-spacing) 0;
27
- overflow-y: auto;
28
- }
29
-
30
- dx-sidebar,
31
- dx-toc {
32
- display: block;
33
- }
34
-
35
- .content {
36
- display: flex;
37
- }
38
-
39
- .content-body-doc-phase-container {
40
- flex: 1;
41
- }
42
-
43
- .content-body-container {
44
- display: flex;
45
- flex-direction: row;
46
- padding-right: var(--dx-g-page-padding-horizontal);
47
- }
48
-
49
- .content-body {
50
- margin: var(--dx-g-spacing-sm) var(--dx-c-content-vertical-spacing)
51
- var(--dx-g-spacing-xl);
52
- flex: 1;
53
- width: 0;
54
- }
55
-
56
- .is-sticky {
57
- height: 100vh;
58
- position: sticky;
59
- top: 0;
60
- }
61
-
62
- .right-nav-bar {
63
- max-width: 275px;
64
- }
65
-
66
- @media screen and (max-width: 1024px) {
67
- .right-nav-bar {
68
- display: none;
69
- }
70
- }
71
-
72
- @media screen and (max-width: 800px) {
73
- .content-body {
74
- margin-top: var(--dx-c-content-vertical-spacing);
75
- }
76
- }
77
-
78
- @media screen and (max-width: 768px) {
79
- .content {
80
- flex-direction: column;
81
- }
82
-
83
- .content-body-container {
84
- padding-right: 0;
85
- }
86
-
87
- .left-nav-bar {
88
- --dx-c-sidebar-height: 80vh;
89
-
90
- height: unset;
91
- z-index: 10;
92
- }
93
-
94
- .content-body {
95
- margin-left: var(--dx-g-spacing-mlg, 20px);
96
- margin-right: var(--dx-g-spacing-mlg, 20px);
97
- }
98
- }
1
+ @import "docHelpers/contentLayoutStyle";
@@ -1,16 +1,21 @@
1
1
  <template>
2
2
  <div class="content">
3
- <template if:true={useOldSidebar}>
3
+ <template lwc:if={useOldSidebar}>
4
4
  <dx-sidebar-old
5
5
  class="is-sticky left-nav-bar"
6
6
  trees={sidebarContent}
7
7
  value={sidebarValue}
8
8
  header={sidebarHeader}
9
+ ontogglesidebar={onToggleSidebar}
10
+ languages={languages}
11
+ language={language}
12
+ bail-href={bailHref}
13
+ bail-label={bailLabel}
9
14
  >
10
- <slot name="sidebar-header" slot="header"></slot>
15
+ <slot name="sidebar-header" slot="version-picker"></slot>
11
16
  </dx-sidebar-old>
12
17
  </template>
13
- <template if:false={useOldSidebar}>
18
+ <template lwc:else>
14
19
  <dx-sidebar
15
20
  class="is-sticky left-nav-bar"
16
21
  trees={sidebarContent}
@@ -20,31 +25,40 @@
20
25
  coveo-public-access-token={coveoPublicAccessToken}
21
26
  coveo-search-hub={coveoSearchHub}
22
27
  coveo-advanced-query-config={coveoAdvancedQueryConfig}
28
+ ontogglesidebar={onToggleSidebar}
29
+ languages={languages}
30
+ language={language}
31
+ bail-href={bailHref}
32
+ bail-label={bailLabel}
23
33
  >
24
- <slot name="sidebar-header" slot="header"></slot>
34
+ <slot name="sidebar-header" slot="version-picker"></slot>
25
35
  </dx-sidebar>
26
36
  </template>
27
37
  <div class="content-body-doc-phase-container">
28
38
  <slot name="doc-phase"></slot>
39
+ <slot name="version-banner"></slot>
29
40
  <div class="content-body-container">
30
41
  <div class="content-body">
31
42
  <doc-breadcrumbs
32
- if:true={showBreadcrumbs}
43
+ lwc:if={showBreadcrumbs}
33
44
  breadcrumbs={breadcrumbs}
34
45
  ></doc-breadcrumbs>
35
- <div style={docContentStyle}>
36
- <slot onslotchange={onSlotChange}></slot>
37
- </div>
46
+ <slot onslotchange={onSlotChange}></slot>
47
+ <doc-sprig-survey
48
+ lwc:if={shouldDisplayFeedback}
49
+ ></doc-sprig-survey>
38
50
  </div>
39
- <div class="right-nav-bar is-sticky">
51
+ <div lwc:if={showToc} class="right-nav-bar is-sticky">
40
52
  <dx-toc
41
- if:true={showToc}
42
- title={tocTitle}
53
+ header={tocTitle}
43
54
  options={tocOptions}
44
55
  value={tocValue}
45
56
  ></dx-toc>
46
57
  </div>
47
58
  </div>
59
+ <div lwc:if={showFooter} class="footer-container">
60
+ <dx-footer variant="no-signup"></dx-footer>
61
+ </div>
48
62
  </div>
49
63
  </div>
50
64
  </template>