@internetarchive/elements 0.4.2-webdev-9107.0 → 1.0.0
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/dist/src/elements/index.d.ts +0 -3
- package/dist/src/elements/index.d.ts.map +1 -1
- package/dist/src/elements/index.js +0 -3
- package/dist/src/elements/index.js.map +1 -1
- package/package.json +1 -7
- package/dist/src/elements/ia-reviews/assets/delete-icon.svg +0 -8
- package/dist/src/elements/ia-reviews/assets/star-basic.svg +0 -6
- package/dist/src/elements/ia-reviews/assets/star-selected.svg +0 -8
- package/dist/src/elements/ia-reviews/assets/star-unselected.svg +0 -8
- package/dist/src/elements/ia-reviews/ia-review-form.d.ts +0 -104
- package/dist/src/elements/ia-reviews/ia-review-form.d.ts.map +0 -1
- package/dist/src/elements/ia-reviews/ia-review-form.js +0 -678
- package/dist/src/elements/ia-reviews/ia-review-form.js.map +0 -1
- package/dist/src/elements/ia-reviews/ia-review.d.ts +0 -49
- package/dist/src/elements/ia-reviews/ia-review.d.ts.map +0 -1
- package/dist/src/elements/ia-reviews/ia-review.js +0 -349
- package/dist/src/elements/ia-reviews/ia-review.js.map +0 -1
- package/dist/src/elements/ia-reviews/ia-reviews.d.ts +0 -63
- package/dist/src/elements/ia-reviews/ia-reviews.d.ts.map +0 -1
- package/dist/src/elements/ia-reviews/ia-reviews.js +0 -357
- package/dist/src/elements/ia-reviews/ia-reviews.js.map +0 -1
- package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.d.ts +0 -8
- package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.d.ts.map +0 -1
- package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.js +0 -15
- package/dist/src/elements/ia-reviews/mocks/mock-fetch-handler.js.map +0 -1
- package/dist/src/elements/ia-reviews/utils/collapse-space.d.ts +0 -13
- package/dist/src/elements/ia-reviews/utils/collapse-space.d.ts.map +0 -1
- package/dist/src/elements/ia-reviews/utils/collapse-space.js +0 -19
- package/dist/src/elements/ia-reviews/utils/collapse-space.js.map +0 -1
- package/dist/src/elements/ia-reviews/utils/friendly-truncate.d.ts +0 -14
- package/dist/src/elements/ia-reviews/utils/friendly-truncate.d.ts.map +0 -1
- package/dist/src/elements/ia-reviews/utils/friendly-truncate.js +0 -65
- package/dist/src/elements/ia-reviews/utils/friendly-truncate.js.map +0 -1
- package/dist/src/elements/ia-reviews/utils/link-urls-in-text.d.ts +0 -9
- package/dist/src/elements/ia-reviews/utils/link-urls-in-text.d.ts.map +0 -1
- package/dist/src/elements/ia-reviews/utils/link-urls-in-text.js +0 -40
- package/dist/src/elements/ia-reviews/utils/link-urls-in-text.js.map +0 -1
- package/dist/src/elements/ia-reviews/utils/sanitize-review-body.d.ts +0 -9
- package/dist/src/elements/ia-reviews/utils/sanitize-review-body.d.ts.map +0 -1
- package/dist/src/elements/ia-reviews/utils/sanitize-review-body.js +0 -29
- package/dist/src/elements/ia-reviews/utils/sanitize-review-body.js.map +0 -1
- package/dist/src/elements/ia-reviews/utils/truncate-screenname.d.ts +0 -13
- package/dist/src/elements/ia-reviews/utils/truncate-screenname.d.ts.map +0 -1
- package/dist/src/elements/ia-reviews/utils/truncate-screenname.js +0 -19
- package/dist/src/elements/ia-reviews/utils/truncate-screenname.js.map +0 -1
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import DOMPurify from 'dompurify';
|
|
2
|
-
const ALLOWED_TAGS = ['a'];
|
|
3
|
-
/**
|
|
4
|
-
* Uses DOMpurify to sanitize a given review body.
|
|
5
|
-
* Currently only allows a tags.
|
|
6
|
-
*
|
|
7
|
-
* @param {string} reviewBody The review to be sanitized
|
|
8
|
-
* @returns {string} The sanitized review
|
|
9
|
-
*/
|
|
10
|
-
export default function sanitizeReviewBody(reviewBody) {
|
|
11
|
-
// DOMPurify is a shared singleton, so the hook is added around this one call
|
|
12
|
-
// and taken off again. Leaving it registered would stack up another copy per
|
|
13
|
-
// review and force these attributes onto every other caller's anchors too.
|
|
14
|
-
DOMPurify.addHook('afterSanitizeAttributes', forceExternalLinkAttributes);
|
|
15
|
-
try {
|
|
16
|
-
return DOMPurify.sanitize(reviewBody, { ALLOWED_TAGS: ALLOWED_TAGS });
|
|
17
|
-
}
|
|
18
|
-
finally {
|
|
19
|
-
DOMPurify.removeHook('afterSanitizeAttributes');
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
/** Marks links as untrusted user content and opens them away from the page. */
|
|
23
|
-
function forceExternalLinkAttributes(node) {
|
|
24
|
-
if (node.nodeName.toLowerCase() !== 'a')
|
|
25
|
-
return;
|
|
26
|
-
node.setAttribute('rel', 'ugc nofollow');
|
|
27
|
-
node.setAttribute('target', '_blank');
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=sanitize-review-body.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sanitize-review-body.js","sourceRoot":"","sources":["../../../../../src/elements/ia-reviews/utils/sanitize-review-body.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,WAAW,CAAC;AAElC,MAAM,YAAY,GAAG,CAAC,GAAG,CAAC,CAAC;AAE3B;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,UAAkB;IAC3D,6EAA6E;IAC7E,6EAA6E;IAC7E,2EAA2E;IAC3E,SAAS,CAAC,OAAO,CAAC,yBAAyB,EAAE,2BAA2B,CAAC,CAAC;IAC1E,IAAI,CAAC;QACH,OAAO,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC,CAAC;IACxE,CAAC;YAAS,CAAC;QACT,SAAS,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,SAAS,2BAA2B,CAAC,IAAU;IAC7C,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG;QAAE,OAAO;IAC/C,IAAgB,CAAC,YAAY,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACrD,IAAgB,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AACrD,CAAC","sourcesContent":["import DOMPurify from 'dompurify';\n\nconst ALLOWED_TAGS = ['a'];\n\n/**\n * Uses DOMpurify to sanitize a given review body.\n * Currently only allows a tags.\n *\n * @param {string} reviewBody The review to be sanitized\n * @returns {string} The sanitized review\n */\nexport default function sanitizeReviewBody(reviewBody: string): string {\n // DOMPurify is a shared singleton, so the hook is added around this one call\n // and taken off again. Leaving it registered would stack up another copy per\n // review and force these attributes onto every other caller's anchors too.\n DOMPurify.addHook('afterSanitizeAttributes', forceExternalLinkAttributes);\n try {\n return DOMPurify.sanitize(reviewBody, { ALLOWED_TAGS: ALLOWED_TAGS });\n } finally {\n DOMPurify.removeHook('afterSanitizeAttributes');\n }\n}\n\n/** Marks links as untrusted user content and opens them away from the page. */\nfunction forceExternalLinkAttributes(node: Node): void {\n if (node.nodeName.toLowerCase() !== 'a') return;\n (node as Element).setAttribute('rel', 'ugc nofollow');\n (node as Element).setAttribute('target', '_blank');\n}\n"]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { HTMLTemplateResult } from 'lit';
|
|
2
|
-
/**
|
|
3
|
-
* Truncates screenname as needed to ensure we only display the correct
|
|
4
|
-
* number of chars throughout site. Must be kept in sync with screenname
|
|
5
|
-
* limit in Account.inc.
|
|
6
|
-
*
|
|
7
|
-
* Adds a title tooltip with full screenname if truncated.
|
|
8
|
-
*
|
|
9
|
-
* @param {string} screenname Screenname to be truncated
|
|
10
|
-
* @returns {HTMLTemplateResult} String or HTML to be displayed
|
|
11
|
-
*/
|
|
12
|
-
export declare function truncateScreenname(screenname?: string): HTMLTemplateResult | string;
|
|
13
|
-
//# sourceMappingURL=truncate-screenname.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"truncate-screenname.d.ts","sourceRoot":"","sources":["../../../../../src/elements/ia-reviews/utils/truncate-screenname.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAE/C;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,UAAU,GAAE,MAAW,GACtB,kBAAkB,GAAG,MAAM,CAQ7B"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { html } from 'lit';
|
|
2
|
-
/**
|
|
3
|
-
* Truncates screenname as needed to ensure we only display the correct
|
|
4
|
-
* number of chars throughout site. Must be kept in sync with screenname
|
|
5
|
-
* limit in Account.inc.
|
|
6
|
-
*
|
|
7
|
-
* Adds a title tooltip with full screenname if truncated.
|
|
8
|
-
*
|
|
9
|
-
* @param {string} screenname Screenname to be truncated
|
|
10
|
-
* @returns {HTMLTemplateResult} String or HTML to be displayed
|
|
11
|
-
*/
|
|
12
|
-
export function truncateScreenname(screenname = '') {
|
|
13
|
-
const SCREENNAME_MAX_LENGTH = 40;
|
|
14
|
-
if (screenname.length <= SCREENNAME_MAX_LENGTH)
|
|
15
|
-
return screenname;
|
|
16
|
-
const truncatedScreenname = screenname.substring(0, SCREENNAME_MAX_LENGTH) + '...';
|
|
17
|
-
return html `<span title="${screenname}">${truncatedScreenname}</span>`;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=truncate-screenname.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"truncate-screenname.js","sourceRoot":"","sources":["../../../../../src/elements/ia-reviews/utils/truncate-screenname.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAsB,MAAM,KAAK,CAAC;AAE/C;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAChC,aAAqB,EAAE;IAEvB,MAAM,qBAAqB,GAAG,EAAE,CAAC;IAEjC,IAAI,UAAU,CAAC,MAAM,IAAI,qBAAqB;QAAE,OAAO,UAAU,CAAC;IAElE,MAAM,mBAAmB,GACvB,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,qBAAqB,CAAC,GAAG,KAAK,CAAC;IACzD,OAAO,IAAI,CAAA,gBAAgB,UAAU,KAAK,mBAAmB,SAAS,CAAC;AACzE,CAAC","sourcesContent":["import { html, HTMLTemplateResult } from 'lit';\n\n/**\n * Truncates screenname as needed to ensure we only display the correct\n * number of chars throughout site. Must be kept in sync with screenname\n * limit in Account.inc.\n *\n * Adds a title tooltip with full screenname if truncated.\n *\n * @param {string} screenname Screenname to be truncated\n * @returns {HTMLTemplateResult} String or HTML to be displayed\n */\nexport function truncateScreenname(\n screenname: string = '',\n): HTMLTemplateResult | string {\n const SCREENNAME_MAX_LENGTH = 40;\n\n if (screenname.length <= SCREENNAME_MAX_LENGTH) return screenname;\n\n const truncatedScreenname =\n screenname.substring(0, SCREENNAME_MAX_LENGTH) + '...';\n return html`<span title=\"${screenname}\">${truncatedScreenname}</span>`;\n}\n"]}
|