@salesforcedevs/docs-components 0.54.5 → 0.54.7-docs-locales2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@salesforcedevs/docs-components",
3
- "version": "0.54.5",
3
+ "version": "0.54.7-docs-locales2",
4
4
  "description": "Docs Lightning web components for DSC",
5
5
  "license": "MIT",
6
6
  "main": "index.js",
@@ -1,5 +1,5 @@
1
1
  import { LightningElement, api } from "lwc";
2
- import { Breadcrumb, Option } from "typings/custom";
2
+ import { Breadcrumb, OptionWithLink } from "typings/custom";
3
3
  import { toJson } from "dxUtils/normalizers";
4
4
 
5
5
  type BreadcrumbConfig = {
@@ -62,7 +62,7 @@ export default class Breadcrumbs extends LightningElement {
62
62
  private get renderDropdown(): boolean {
63
63
  return this.hasInternalBreadcrumbs && !!this.dropdownOptionAmount;
64
64
  }
65
- private get dropdownOptions(): Option[] {
65
+ private get dropdownOptions(): OptionWithLink[] {
66
66
  return this.breadcrumbs!.slice(1, this.dropdownOptionAmount! + 1).map(
67
67
  (link) => ({
68
68
  id: link.href!,
@@ -66,31 +66,47 @@ td > img.content-image:first-child:last-child[alt="No"] {
66
66
 
67
67
  h1 {
68
68
  font-family: var(--dx-g-font-display);
69
- font-size: 40px;
69
+ font-size: var(--dx-g-text-4xl);
70
70
 
71
71
  /* not registered */
72
72
  color: var(--dx-g-blue-vibrant-20);
73
73
  letter-spacing: -0.4px;
74
- line-height: 40px;
74
+ line-height: 56px;
75
75
  }
76
76
 
77
77
  h2 {
78
78
  font-family: var(--dx-g-font-display);
79
- font-size: var(--dx-g-text-xl);
79
+ font-size: var(--dx-g-text-3xl);
80
80
  color: var(--dx-g-blue-vibrant-20);
81
81
  letter-spacing: -0.1px;
82
- line-height: var(--dx-g-spacing-lg);
82
+ line-height: var(--dx-g-spacing-3xl);
83
83
  }
84
84
 
85
85
  h3 {
86
86
  font-family: var(--dx-g-font-display);
87
- font-size: var(--dx-g-text-lg);
87
+ font-size: 32px;
88
88
  color: var(--dx-g-blue-vibrant-20);
89
89
  letter-spacing: -0.1px;
90
- line-height: var(--dx-g-spacing-lg);
90
+ line-height: var(--dx-g-spacing-2xl);
91
91
  }
92
92
 
93
93
  h4 {
94
+ font-family: var(--dx-g-font-display);
95
+ font-size: var(--dx-g-text-xl);
96
+ color: var(--dx-g-blue-vibrant-20);
97
+ letter-spacing: 0;
98
+ line-height: var(--dx-g-spacing-xl);
99
+ }
100
+
101
+ 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;
107
+ }
108
+
109
+ h6 {
94
110
  font-family: var(--dx-g-font-display);
95
111
  font-size: var(--dx-g-text-base);
96
112
  color: var(--dx-g-blue-vibrant-20);
@@ -116,6 +132,12 @@ p,
116
132
  margin-bottom: var(--dx-g-spacing-md);
117
133
  }
118
134
 
135
+ dd > p,
136
+ dd > .p {
137
+ margin-top: 0;
138
+ margin-bottom: 0;
139
+ }
140
+
119
141
  .li {
120
142
  font-family: var(--dx-g-font-sans);
121
143
  font-size: var(--dx-g-text-base);
@@ -175,7 +197,8 @@ a,
175
197
  margin-right: var(--dx-g-spacing-lg);
176
198
  }
177
199
 
178
- .codeph {
200
+ .codeph,
201
+ .filepath {
179
202
  font-family: var(--dx-g-font-mono);
180
203
  font-size: var(--dx-g-text-sm);
181
204
  line-height: var(--dx-g-text-lg);
@@ -239,6 +262,7 @@ dd {
239
262
  letter-spacing: 0;
240
263
  line-height: var(--dx-g-spacing-lg);
241
264
  margin-left: var(--dx-g-spacing-smd);
265
+ margin-bottom: var(--dx-g-spacing-md);
242
266
  }
243
267
 
244
268
  li {
@@ -1,6 +1,6 @@
1
1
  import { api } from "lwc";
2
2
  import cx from "classnames";
3
- import type { Option } from "typings/custom";
3
+ import type { OptionWithNested, OptionWithLink } from "typings/custom";
4
4
  import { HeaderBase } from "dxBaseElements/headerBase";
5
5
  import { toJson } from "dxUtils/normalizers";
6
6
  import get from "lodash.get";
@@ -43,8 +43,8 @@ export default class Header extends HeaderBase {
43
43
  }
44
44
 
45
45
  private _language: string | null = null;
46
- private _languages!: Option[];
47
- private _scopedNavItems!: Option[];
46
+ private _languages!: OptionWithLink[];
47
+ private _scopedNavItems!: OptionWithNested[];
48
48
  private smallMobile = false;
49
49
  private smallMobileMatchMedia!: MediaQueryList;
50
50
  private tablet = false;
@@ -21,12 +21,6 @@ export enum HistoryState {
21
21
  REPLACE_STATE = "replaceState"
22
22
  }
23
23
 
24
- export type Labels = {
25
- language_english: string;
26
- language_japanese: string;
27
- toc_title: string;
28
- };
29
-
30
24
  export type TreeNode = {
31
25
  label: string;
32
26
  name: string;
@@ -8,22 +8,18 @@ import {
8
8
  DocumentData,
9
9
  DocLanguage,
10
10
  DocVersion,
11
- Labels,
12
11
  TreeNode
13
12
  } from "./types";
14
-
15
- const LOCALE_TO_LABEL = {
16
- "en-us": "language_english",
17
- "ja-jp": "language_japanese"
18
- };
13
+ import { Language } from "typings/custom";
14
+ import { getLanguageDisplayTextById } from "dxUtils/language";
19
15
 
20
16
  export class FetchContent {
21
17
  private apiDomain: string;
22
- private labels: Labels;
18
+ private languages: Array<Language> = [];
23
19
 
24
- constructor(apiDomain: string, labels: Labels) {
20
+ constructor(apiDomain: string, languages: Array<Language>) {
25
21
  this.apiDomain = apiDomain;
26
- this.labels = labels;
22
+ this.languages = languages;
27
23
  }
28
24
 
29
25
  async fetchDocumentData(docId: string): Promise<DocumentData | null> {
@@ -148,11 +144,10 @@ export class FetchContent {
148
144
  }
149
145
 
150
146
  private normalizeLanguage(language: ApiDocLanguage): DocLanguage {
151
- const labelKey = language.locale && LOCALE_TO_LABEL[language.locale];
147
+
152
148
  return (
153
149
  language && {
154
- label:
155
- (labelKey && this.labels && this.labels[labelKey]) ||
150
+ label: getLanguageDisplayTextById(this.languages, language.locale) ||
156
151
  language.label,
157
152
  id: language.locale,
158
153
  code: language.code,
@@ -1,11 +1,9 @@
1
1
  import { api, track } from "lwc";
2
- import { toJson } from "dxUtils/normalizers";
3
2
  import { FetchContent } from "./utils";
4
3
  import {
5
4
  CoveoAdvancedQueryXMLConfig,
6
5
  DocLanguage,
7
6
  DocVersion,
8
- Labels,
9
7
  TreeNode,
10
8
  Header,
11
9
  HistoryState,
@@ -13,6 +11,8 @@ import {
13
11
  } from "./types";
14
12
  import { SearchSyncer } from "docUtils/SearchSyncer";
15
13
  import { LightningElementWithState } from "docBaseElements/lightningElementWithState";
14
+ import { Language } from "typings/custom";
15
+ import { DEFAULT_LANGUAGES } from "dxUtils/constants";
16
16
 
17
17
  // TODO: Imitating from actual implementation as doc-content use it like this. We should refactor it later.
18
18
  const handleContentError = (error): void => console.log(error);
@@ -27,15 +27,16 @@ export default class DocXmlContent extends LightningElementWithState<{
27
27
  @api coveoPublicAccessToken!: string;
28
28
 
29
29
  @api
30
- get labels() {
31
- return this._labels;
30
+ get allLanguages(): Array<Language> {
31
+ return this._allLanguages;
32
32
  }
33
33
 
34
- set labels(value) {
35
- this._labels = toJson(value);
34
+ set allLanguages(value: string) {
35
+ if (value) {
36
+ this._allLanguages = JSON.parse(value);
37
+ }
36
38
  }
37
39
 
38
- private _labels: Labels = null;
39
40
  private availableLanguages: Array<DocLanguage> = [];
40
41
  private availableVersions: Array<DocVersion> = [];
41
42
  private contentProvider: FetchContent;
@@ -87,6 +88,7 @@ export default class DocXmlContent extends LightningElementWithState<{
87
88
  shouldStopPropagation: true,
88
89
  target: window
89
90
  });
91
+ private _allLanguages: Array<Language> = DEFAULT_LANGUAGES;
90
92
 
91
93
  @track private pageReference: PageReference = {};
92
94
 
@@ -109,8 +111,10 @@ export default class DocXmlContent extends LightningElementWithState<{
109
111
  window.location.href = "/docs";
110
112
  return;
111
113
  }
112
-
113
- this.contentProvider = new FetchContent(this.apiDomain, this._labels);
114
+ this.contentProvider = new FetchContent(
115
+ this.apiDomain,
116
+ this.allLanguages
117
+ );
114
118
  this.fetchDocument().then(() => (this.loaded = true));
115
119
  window.addEventListener("popstate", this.handlePopState);
116
120
 
@@ -404,7 +408,11 @@ export default class DocXmlContent extends LightningElementWithState<{
404
408
  this.addMetatags();
405
409
 
406
410
  if (!this.pageReference.hash) {
407
- window.scrollTo(0, 0);
411
+ document.querySelector("main")?.scrollIntoView({
412
+ behavior: "smooth",
413
+ block: "start",
414
+ inline: "nearest"
415
+ });
408
416
  }
409
417
  }
410
418
  this.setState({