@salesforcedevs/docs-components 1.3.194-search-alpha → 1.3.196
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/LICENSE +12 -0
- package/package.json +2 -2
- package/src/modules/doc/amfReference/amfReference.ts +32 -43
- package/src/modules/doc/content/content.css +1 -1
- package/src/modules/doc/contentLayout/contentLayout.ts +13 -15
- package/src/modules/doc/header/header.css +0 -1
- package/src/modules/doc/headingAnchor/headingAnchor.css +2 -2
- package/src/modules/doc/headingContent/headingContent.css +1 -1
- package/src/modules/doc/sprigSurvey/sprigSurvey.scoped.css +1 -1
- package/src/modules/doc/xmlContent/xmlContent.ts +25 -12
- package/src/modules/docHelpers/amfStyle/amfStyle.css +6 -6
- package/src/modules/docHelpers/status/status.css +1 -1
package/LICENSE
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
Copyright (c) 2020, Salesforce.com, Inc.
|
|
2
|
+
All rights reserved.
|
|
3
|
+
|
|
4
|
+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
|
5
|
+
|
|
6
|
+
* Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
|
7
|
+
|
|
8
|
+
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
|
9
|
+
|
|
10
|
+
* Neither the name of Salesforce.com nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
|
11
|
+
|
|
12
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@salesforcedevs/docs-components",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.196",
|
|
4
4
|
"description": "Docs Lightning web components for DSC",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "index.js",
|
|
@@ -24,5 +24,5 @@
|
|
|
24
24
|
"@types/lodash.orderby": "^4.6.7",
|
|
25
25
|
"@types/lodash.uniqby": "^4.7.7"
|
|
26
26
|
},
|
|
27
|
-
"gitHead": "
|
|
27
|
+
"gitHead": "3ca1796a050dd87c8083f73e41d8cb0cfb15328d"
|
|
28
28
|
}
|
|
@@ -185,10 +185,12 @@ export default class AmfReference extends LightningElement {
|
|
|
185
185
|
constructor() {
|
|
186
186
|
super();
|
|
187
187
|
|
|
188
|
-
this._boundOnApiNavigationChanged =
|
|
189
|
-
this
|
|
190
|
-
|
|
191
|
-
|
|
188
|
+
this._boundOnApiNavigationChanged = this.onApiNavigationChanged.bind(
|
|
189
|
+
this
|
|
190
|
+
);
|
|
191
|
+
this._boundUpdateSelectedItemFromUrlQuery = this.updateSelectedItemFromUrlQuery.bind(
|
|
192
|
+
this
|
|
193
|
+
);
|
|
192
194
|
}
|
|
193
195
|
|
|
194
196
|
connectedCallback(): void {
|
|
@@ -244,8 +246,9 @@ export default class AmfReference extends LightningElement {
|
|
|
244
246
|
const updatedReferenceId =
|
|
245
247
|
oldReferenceIdNewReferenceIdMap[referenceId];
|
|
246
248
|
const newReferenceId = updatedReferenceId || referenceId;
|
|
247
|
-
const referenceItemConfig =
|
|
248
|
-
|
|
249
|
+
const referenceItemConfig = this.getAmfConfigWithId(
|
|
250
|
+
newReferenceId
|
|
251
|
+
);
|
|
249
252
|
if (referenceItemConfig) {
|
|
250
253
|
hashBasedRedirectUrl = `${referenceItemConfig.href}?meta=${encodedMeta}`;
|
|
251
254
|
}
|
|
@@ -325,8 +328,9 @@ export default class AmfReference extends LightningElement {
|
|
|
325
328
|
for (let i = 0; i < allVersions.length; i++) {
|
|
326
329
|
const versionItem = allVersions[i];
|
|
327
330
|
const referenceLink = versionItem.link.href;
|
|
328
|
-
const referenceId =
|
|
329
|
-
|
|
331
|
+
const referenceId = this.getReferenceIdFromUrl(
|
|
332
|
+
referenceLink
|
|
333
|
+
);
|
|
330
334
|
if (this._currentReferenceId === referenceId) {
|
|
331
335
|
// This is to navigate to respective topic in the changed version
|
|
332
336
|
versionItem.link.href = `${referenceLink}/${currentRefMeta}`;
|
|
@@ -840,8 +844,9 @@ export default class AmfReference extends LightningElement {
|
|
|
840
844
|
this._currentReferenceId
|
|
841
845
|
);
|
|
842
846
|
if (specBasedReference) {
|
|
843
|
-
const currentMeta:
|
|
844
|
-
|
|
847
|
+
const currentMeta:
|
|
848
|
+
| RouteMeta
|
|
849
|
+
| undefined = this.getReferenceMetaInfo(window.location.href);
|
|
845
850
|
const metadata =
|
|
846
851
|
currentMeta && this.getMetadataByUrlQuery(currentMeta);
|
|
847
852
|
if (metadata) {
|
|
@@ -1161,7 +1166,7 @@ export default class AmfReference extends LightningElement {
|
|
|
1161
1166
|
selectedItemMetaData.parentReferencePath,
|
|
1162
1167
|
selectedItemMetaData.meta
|
|
1163
1168
|
);
|
|
1164
|
-
this.
|
|
1169
|
+
this.updateNavTitleMetaTag(selectedItemMetaData.navTitle);
|
|
1165
1170
|
}
|
|
1166
1171
|
});
|
|
1167
1172
|
} else {
|
|
@@ -1267,16 +1272,18 @@ export default class AmfReference extends LightningElement {
|
|
|
1267
1272
|
}
|
|
1268
1273
|
if (!isRedirecting) {
|
|
1269
1274
|
const currentReferenceUrl = window.location.href;
|
|
1270
|
-
const referenceMeta =
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1275
|
+
const referenceMeta = this.getMarkdownReferenceMeta(
|
|
1276
|
+
currentReferenceUrl
|
|
1277
|
+
);
|
|
1278
|
+
const selectedItemRefId = this.getReferenceIdFromUrl(
|
|
1279
|
+
currentReferenceUrl
|
|
1280
|
+
);
|
|
1274
1281
|
const referenceDetails = this.getRefDetailsForGivenTopicMeta(
|
|
1275
1282
|
selectedItemRefId,
|
|
1276
1283
|
referenceMeta
|
|
1277
1284
|
);
|
|
1278
1285
|
if (referenceDetails) {
|
|
1279
|
-
this.
|
|
1286
|
+
this.updateNavTitleMetaTag(referenceDetails.topicTitle);
|
|
1280
1287
|
}
|
|
1281
1288
|
|
|
1282
1289
|
this.versions = this.getVersions();
|
|
@@ -1304,41 +1311,22 @@ export default class AmfReference extends LightningElement {
|
|
|
1304
1311
|
this.showVersionBanner = false;
|
|
1305
1312
|
}
|
|
1306
1313
|
|
|
1307
|
-
private
|
|
1308
|
-
if (!navTitle) {
|
|
1309
|
-
return;
|
|
1310
|
-
}
|
|
1311
|
-
|
|
1314
|
+
private updateNavTitleMetaTag(navTitle = ""): void {
|
|
1312
1315
|
// this is required to update the nav title meta tag.
|
|
1313
1316
|
// eslint-disable-next-line @lwc/lwc/no-document-query
|
|
1314
1317
|
const metaNavTitle = document.querySelector('meta[name="nav-title"]');
|
|
1315
|
-
|
|
1316
|
-
const titleTag = document.querySelector("title");
|
|
1317
|
-
if (metaNavTitle) {
|
|
1318
|
+
if (metaNavTitle && navTitle) {
|
|
1318
1319
|
metaNavTitle.setAttribute("content", navTitle);
|
|
1319
1320
|
}
|
|
1320
|
-
|
|
1321
|
-
if (titleTag) {
|
|
1322
|
-
let titleTagValue = titleTag.textContent;
|
|
1323
|
-
const tagValues: string[] = titleTagValue?.split(" | ");
|
|
1324
|
-
if (tagValues) {
|
|
1325
|
-
if (tagValues.length <= 3) {
|
|
1326
|
-
titleTagValue = navTitle + " | " + titleTagValue;
|
|
1327
|
-
} else {
|
|
1328
|
-
tagValues[0] = navTitle;
|
|
1329
|
-
titleTagValue = tagValues.join(" | ");
|
|
1330
|
-
}
|
|
1331
|
-
}
|
|
1332
|
-
titleTag.textContent = titleTagValue;
|
|
1333
|
-
}
|
|
1334
1321
|
}
|
|
1335
1322
|
|
|
1336
1323
|
onNavSelect(event: CustomEvent): void {
|
|
1337
1324
|
const name = event.detail.name;
|
|
1338
1325
|
if (name) {
|
|
1339
1326
|
const urlReferenceId = this.getReferenceIdFromUrl(name);
|
|
1340
|
-
const specBasedReference =
|
|
1341
|
-
|
|
1327
|
+
const specBasedReference = this.isSpecBasedReference(
|
|
1328
|
+
urlReferenceId
|
|
1329
|
+
);
|
|
1342
1330
|
if (specBasedReference) {
|
|
1343
1331
|
const metaVal = this.getMetaFromUrl(name);
|
|
1344
1332
|
const currentSelectedMeta = this.selectedTopic
|
|
@@ -1373,7 +1361,7 @@ export default class AmfReference extends LightningElement {
|
|
|
1373
1361
|
this.coveoAnalyticsToken
|
|
1374
1362
|
);
|
|
1375
1363
|
this.updateUrlWithSelected(parentReferencePath, metaVal);
|
|
1376
|
-
this.
|
|
1364
|
+
this.updateNavTitleMetaTag(metadata.navTitle);
|
|
1377
1365
|
} else {
|
|
1378
1366
|
if (this.isParentReferencePath(name)) {
|
|
1379
1367
|
this.loadNewReferenceItem(name);
|
|
@@ -1393,8 +1381,9 @@ export default class AmfReference extends LightningElement {
|
|
|
1393
1381
|
const currentReferenceId = this.getReferenceIdFromUrl(currentUrl);
|
|
1394
1382
|
//No need to do anything if user is expanding currently selected reference
|
|
1395
1383
|
if (referenceId !== currentReferenceId) {
|
|
1396
|
-
const isSpecBasedReference =
|
|
1397
|
-
|
|
1384
|
+
const isSpecBasedReference = this.isSpecBasedReference(
|
|
1385
|
+
referenceId
|
|
1386
|
+
);
|
|
1398
1387
|
if (isSpecBasedReference) {
|
|
1399
1388
|
// Perform functionality same as item selection
|
|
1400
1389
|
this.onNavSelect(event);
|
|
@@ -207,9 +207,9 @@ export default class ContentLayout extends LightningElement {
|
|
|
207
207
|
".sticky-doc-header"
|
|
208
208
|
) as HTMLElement;
|
|
209
209
|
|
|
210
|
-
const docPhaseEl = (
|
|
211
|
-
|
|
212
|
-
).assignedElements()[0] as HTMLSlotElement;
|
|
210
|
+
const docPhaseEl = (this.template.querySelector(
|
|
211
|
+
"[name=doc-phase]"
|
|
212
|
+
)! as any).assignedElements()[0] as HTMLSlotElement;
|
|
213
213
|
|
|
214
214
|
if (!sidebarEl || !globalNavEl || !contextNavEl || !docHeaderEl) {
|
|
215
215
|
console.warn("One or more required elements are missing.");
|
|
@@ -259,8 +259,9 @@ export default class ContentLayout extends LightningElement {
|
|
|
259
259
|
});
|
|
260
260
|
|
|
261
261
|
// Adjust right nav bar position when doc phase is present
|
|
262
|
-
const rightNavBarEl =
|
|
263
|
-
|
|
262
|
+
const rightNavBarEl = this.template.querySelector(
|
|
263
|
+
".right-nav-bar"
|
|
264
|
+
);
|
|
264
265
|
|
|
265
266
|
if (rightNavBarEl) {
|
|
266
267
|
rightNavBarEl.style.top = `${
|
|
@@ -322,17 +323,14 @@ export default class ContentLayout extends LightningElement {
|
|
|
322
323
|
};
|
|
323
324
|
|
|
324
325
|
onSlotChange(event: Event): void {
|
|
325
|
-
const slotElements = (
|
|
326
|
-
event.target as HTMLSlotElement
|
|
327
|
-
).assignedElements();
|
|
326
|
+
const slotElements = (event.target as HTMLSlotElement).assignedElements();
|
|
328
327
|
|
|
329
328
|
if (slotElements.length) {
|
|
330
329
|
this.contentLoaded = true;
|
|
331
330
|
const slotContentElement = slotElements[0];
|
|
332
|
-
const headingElements =
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
);
|
|
331
|
+
const headingElements = slotContentElement.ownerDocument?.getElementsByTagName(
|
|
332
|
+
TOC_HEADER_TAG
|
|
333
|
+
);
|
|
336
334
|
|
|
337
335
|
for (const headingElement of headingElements as any) {
|
|
338
336
|
// Sometimes elements hash is not being set when slot content is wrapped with div
|
|
@@ -392,9 +390,9 @@ export default class ContentLayout extends LightningElement {
|
|
|
392
390
|
globalNavEl?.offsetHeight +
|
|
393
391
|
contextNavEl?.offsetHeight;
|
|
394
392
|
|
|
395
|
-
const docPhaseEl = (
|
|
396
|
-
|
|
397
|
-
).assignedElements()[0] as HTMLSlotElement;
|
|
393
|
+
const docPhaseEl = (this.template.querySelector(
|
|
394
|
+
"[name=doc-phase]"
|
|
395
|
+
)! as any).assignedElements()[0] as HTMLSlotElement;
|
|
398
396
|
|
|
399
397
|
const offset = docPhaseEl
|
|
400
398
|
? headerHeight + docPhaseEl.offsetHeight
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
button {
|
|
4
4
|
opacity: 0;
|
|
5
|
-
color: rgb(11
|
|
5
|
+
color: rgb(11 92 171);
|
|
6
6
|
}
|
|
7
7
|
|
|
8
8
|
button:hover {
|
|
@@ -17,7 +17,7 @@ button:focus {
|
|
|
17
17
|
|
|
18
18
|
button:focus-visible {
|
|
19
19
|
border-radius: 4px;
|
|
20
|
-
border: 2px solid rgb(11
|
|
20
|
+
border: 2px solid rgb(11 92 171);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
.icon-wrapper {
|
|
@@ -252,11 +252,14 @@ export default class DocXmlContent extends LightningElementWithState<{
|
|
|
252
252
|
}
|
|
253
253
|
|
|
254
254
|
private get coveoAdvancedQueryConfig(): CoveoAdvancedQueryXMLConfig {
|
|
255
|
-
const config: {
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
255
|
+
const config: {
|
|
256
|
+
locale?: string;
|
|
257
|
+
topicid?: string;
|
|
258
|
+
version?: string;
|
|
259
|
+
} = {
|
|
260
|
+
locale: this.languageId,
|
|
261
|
+
topicid: this.deliverable
|
|
262
|
+
};
|
|
260
263
|
|
|
261
264
|
if (this.releaseVersionId && this.releaseVersionId !== "noversion") {
|
|
262
265
|
config.version = this.releaseVersionId;
|
|
@@ -411,8 +414,12 @@ export default class DocXmlContent extends LightningElementWithState<{
|
|
|
411
414
|
}
|
|
412
415
|
|
|
413
416
|
getReferenceFromUrl(): PageReference {
|
|
414
|
-
const [
|
|
415
|
-
|
|
417
|
+
const [
|
|
418
|
+
page,
|
|
419
|
+
docId,
|
|
420
|
+
deliverable,
|
|
421
|
+
contentDocumentId
|
|
422
|
+
] = window.location.pathname.substr(1).split("/");
|
|
416
423
|
|
|
417
424
|
const { origin: domain, hash, search } = window.location;
|
|
418
425
|
|
|
@@ -574,14 +581,20 @@ export default class DocXmlContent extends LightningElementWithState<{
|
|
|
574
581
|
}
|
|
575
582
|
|
|
576
583
|
private updateSearchInput(searchParam: string): void {
|
|
577
|
-
(
|
|
578
|
-
|
|
579
|
-
)?.setSidebarInputValue(searchParam);
|
|
584
|
+
(this.template.querySelector(
|
|
585
|
+
"doc-content-layout"
|
|
586
|
+
) as any)?.setSidebarInputValue(searchParam);
|
|
580
587
|
}
|
|
581
588
|
|
|
582
589
|
private pageReferenceToString(reference: PageReference): string {
|
|
583
|
-
const {
|
|
584
|
-
|
|
590
|
+
const {
|
|
591
|
+
page,
|
|
592
|
+
docId,
|
|
593
|
+
deliverable,
|
|
594
|
+
contentDocumentId,
|
|
595
|
+
hash,
|
|
596
|
+
search
|
|
597
|
+
} = reference;
|
|
585
598
|
return `/${page}/${docId}/${deliverable}/${contentDocumentId}${this.normalizeSearch(
|
|
586
599
|
search!
|
|
587
600
|
)}${this.normalizeHash(hash)}`;
|
|
@@ -166,12 +166,12 @@ api-security-documentation {
|
|
|
166
166
|
--anypoint-button-emphasis-high-active-background-color: transparent;
|
|
167
167
|
|
|
168
168
|
/* api example */
|
|
169
|
-
--api-example-accent-color: rgb(250
|
|
170
|
-
--api-example-background-color: rgb(250
|
|
169
|
+
--api-example-accent-color: rgb(250 250 250);
|
|
170
|
+
--api-example-background-color: rgb(250 250 250);
|
|
171
171
|
--api-example-title-background-color: transparent;
|
|
172
172
|
|
|
173
173
|
/* code snippets */
|
|
174
|
-
--http-code-snippet-container-background-color: rgb(250
|
|
174
|
+
--http-code-snippet-container-background-color: rgb(250 250 250);
|
|
175
175
|
--http-code-snippet-container-padding: var(--dx-g-spacing-md);
|
|
176
176
|
|
|
177
177
|
/* prism */
|
|
@@ -208,7 +208,7 @@ api-endpoint-documentation {
|
|
|
208
208
|
);
|
|
209
209
|
|
|
210
210
|
/* description */
|
|
211
|
-
--api-endpoint-documentation-description-color: rgb(24
|
|
211
|
+
--api-endpoint-documentation-description-color: rgb(24 24 24);
|
|
212
212
|
}
|
|
213
213
|
|
|
214
214
|
api-endpoint-documentation,
|
|
@@ -271,11 +271,11 @@ api-method-documentation {
|
|
|
271
271
|
--api-method-documentation-http-method-label-font-weight: var(
|
|
272
272
|
--dx-g-font-bold
|
|
273
273
|
);
|
|
274
|
-
--api-method-documentation-description-color: rgb(24
|
|
274
|
+
--api-method-documentation-description-color: rgb(24 24 24);
|
|
275
275
|
--api-method-documentation-operation-id-color: var(--dx-g-gray-50);
|
|
276
276
|
|
|
277
277
|
/* body */
|
|
278
|
-
--api-body-document-description-color: rgb(24
|
|
278
|
+
--api-body-document-description-color: rgb(24 24 24);
|
|
279
279
|
--api-body-document-media-type-selector-color: var(--dx-g-blue-vibrant-20);
|
|
280
280
|
--api-body-document-media-type-selector-font-size: var(
|
|
281
281
|
--amf-h8-mod-font-size
|