@penn-libraries/web 1.4.0-dev.0 → 1.4.0-dev.1
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/cjs/{index-DBhvAaKX.js → index-DATEsMXP.js} +18 -3
- package/dist/cjs/index-DATEsMXP.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/cjs/pennlibs-autocomplete.cjs.entry.js +1 -1
- package/dist/cjs/pennlibs-banner.cjs.entry.js +1 -1
- package/dist/cjs/pennlibs-chat.cjs.entry.js +1 -1
- package/dist/cjs/pennlibs-expand-text.pennlibs-feedback.pennlibs-footer.pennlibs-header.entry.cjs.js.map +1 -0
- package/dist/cjs/{pennlibs-feedback_3.cjs.entry.js → pennlibs-expand-text_4.cjs.entry.js} +80 -7
- package/dist/cjs/pennlibs-fallback-img.cjs.entry.js +2 -2
- package/dist/cjs/pennlibs-hero.cjs.entry.js +2 -2
- package/dist/cjs/pennlibs-iiif-img.cjs.entry.js +1 -1
- package/dist/cjs/web.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/pennlibs-expand-text/pennlibs-expand-text.css +88 -0
- package/dist/collection/components/pennlibs-expand-text/pennlibs-expand-text.js +168 -0
- package/dist/collection/components/pennlibs-expand-text/pennlibs-expand-text.js.map +1 -0
- package/dist/collection/components/pennlibs-fallback-img/pennlibs-fallback-img.js +1 -1
- package/dist/collection/components/pennlibs-feedback/pennlibs-feedback.js +1 -1
- package/dist/collection/components/pennlibs-footer/pennlibs-footer.js +3 -3
- package/dist/collection/components/pennlibs-header/pennlibs-header.js +1 -1
- package/dist/collection/components/pennlibs-hero/pennlibs-hero.js +1 -1
- package/dist/components/index.d.ts +2 -0
- package/dist/components/index.js +1 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/pennlibs-expand-text.d.ts +11 -0
- package/dist/components/pennlibs-expand-text.js +105 -0
- package/dist/components/pennlibs-expand-text.js.map +1 -0
- package/dist/components/pennlibs-fallback-img2.js +1 -1
- package/dist/components/pennlibs-feedback.js +1 -1
- package/dist/components/pennlibs-footer.js +3 -3
- package/dist/components/pennlibs-header.js +1 -1
- package/dist/components/pennlibs-hero.js +1 -1
- package/dist/docs.json +130 -1
- package/dist/{web/p-B2uNboIg.js → esm/index-CgmxDHmi.js} +18 -4
- package/dist/esm/index-CgmxDHmi.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/loader.js +3 -3
- package/dist/esm/pennlibs-autocomplete.entry.js +1 -1
- package/dist/esm/pennlibs-banner.entry.js +1 -1
- package/dist/esm/pennlibs-chat.entry.js +1 -1
- package/dist/esm/pennlibs-expand-text.pennlibs-feedback.pennlibs-footer.pennlibs-header.entry.js.map +1 -0
- package/dist/esm/{pennlibs-feedback_3.entry.js → pennlibs-expand-text_4.entry.js} +80 -8
- package/dist/esm/pennlibs-fallback-img.entry.js +2 -2
- package/dist/esm/pennlibs-hero.entry.js +2 -2
- package/dist/esm/pennlibs-iiif-img.entry.js +1 -1
- package/dist/esm/web.js +3 -3
- package/dist/types/components/pennlibs-expand-text/pennlibs-expand-text.d.ts +35 -0
- package/dist/types/components.d.ts +69 -0
- package/dist/web/index.esm.js +1 -1
- package/dist/web/{p-45f82cb0.entry.js → p-2d7c03b3.entry.js} +2 -2
- package/dist/web/{p-5ff9bc88.entry.js → p-6eef97ad.entry.js} +1 -1
- package/dist/web/{p-6a15d2f0.entry.js → p-6ff0271c.entry.js} +1 -1
- package/dist/web/{p-3a18e805.entry.js → p-7c1febd2.entry.js} +1 -1
- package/dist/{esm/index-B2uNboIg.js → web/p-CgmxDHmi.js} +18 -4
- package/dist/web/p-CgmxDHmi.js.map +1 -0
- package/dist/web/{p-2466b63f.entry.js → p-b674bdca.entry.js} +2 -2
- package/dist/web/{p-aab8ed2e.entry.js → p-eda436e7.entry.js} +1 -1
- package/dist/web/{p-743f4899.entry.js → p-ee89e08f.entry.js} +80 -8
- package/dist/web/pennlibs-expand-text.pennlibs-feedback.pennlibs-footer.pennlibs-header.entry.esm.js.map +1 -0
- package/dist/web/web.esm.js +3 -3
- package/hydrate/index.js +117 -8
- package/hydrate/index.mjs +117 -8
- package/package.json +1 -1
- package/dist/cjs/index-DBhvAaKX.js.map +0 -1
- package/dist/cjs/pennlibs-feedback.pennlibs-footer.pennlibs-header.entry.cjs.js.map +0 -1
- package/dist/esm/index-B2uNboIg.js.map +0 -1
- package/dist/esm/pennlibs-feedback.pennlibs-footer.pennlibs-header.entry.js.map +0 -1
- package/dist/web/p-B2uNboIg.js.map +0 -1
- package/dist/web/pennlibs-feedback.pennlibs-footer.pennlibs-header.entry.esm.js.map +0 -1
|
@@ -51,7 +51,7 @@ export class Hero {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
render() {
|
|
54
|
-
return (h("div", { key: '
|
|
54
|
+
return (h("div", { key: '4234b8c7129b9ad562e979a62124bb8b059f4906', class: "hero", style: { backgroundImage: `url(${this.heroSrc})` } }, h("div", { key: '48e60ea4da5432ca67ad355d79043fdefc9f916f', class: "hero__content" }, h("slot", { key: 'f08f58488b758cb0a5fe88d8c05b37fda2332ca4', name: "start" }), h("div", { key: '17a6b7a12512779048dcfa5ef68f58be34743541', class: "hero__heading-container" }, this.heroHeadingElement && (h("div", { key: 'e059b09f3797425587c268e714e605f8abdd20d7', class: "viewport-margins" }, h("h1", { key: '152d036ee2d7838c6faa072c0ea795c31ea7b120', class: "hero__heading", innerHTML: this.heroHeadingElement.innerText }), this.heroParagraphElement && h("p", { key: 'e942105a04ab4e75a502dbd19d5f465efb2acb18', class: "hero__sub-heading", innerHTML: this.heroParagraphElement.innerHTML })))))));
|
|
55
55
|
}
|
|
56
56
|
static get is() { return "pennlibs-hero"; }
|
|
57
57
|
static get encapsulation() { return "shadow"; }
|
|
@@ -5,6 +5,8 @@ export { Banner as PennlibsBanner } from '../types/components/pennlibs-banner/pe
|
|
|
5
5
|
export { defineCustomElement as defineCustomElementPennlibsBanner } from './pennlibs-banner';
|
|
6
6
|
export { Chat as PennlibsChat } from '../types/components/pennlibs-chat/pennlibs-chat';
|
|
7
7
|
export { defineCustomElement as defineCustomElementPennlibsChat } from './pennlibs-chat';
|
|
8
|
+
export { ExpandText as PennlibsExpandText } from '../types/components/pennlibs-expand-text/pennlibs-expand-text';
|
|
9
|
+
export { defineCustomElement as defineCustomElementPennlibsExpandText } from './pennlibs-expand-text';
|
|
8
10
|
export { NoImage as PennlibsFallbackImg } from '../types/components/pennlibs-fallback-img/pennlibs-fallback-img';
|
|
9
11
|
export { defineCustomElement as defineCustomElementPennlibsFallbackImg } from './pennlibs-fallback-img';
|
|
10
12
|
export { PennlibsFeedback as PennlibsFeedback } from '../types/components/pennlibs-feedback/pennlibs-feedback';
|
package/dist/components/index.js
CHANGED
|
@@ -2,6 +2,7 @@ export { getAssetPath, render, setAssetPath, setNonce, setPlatformOptions } from
|
|
|
2
2
|
export { PennlibsAutocomplete, defineCustomElement as defineCustomElementPennlibsAutocomplete } from './pennlibs-autocomplete.js';
|
|
3
3
|
export { PennlibsBanner, defineCustomElement as defineCustomElementPennlibsBanner } from './pennlibs-banner.js';
|
|
4
4
|
export { PennlibsChat, defineCustomElement as defineCustomElementPennlibsChat } from './pennlibs-chat.js';
|
|
5
|
+
export { PennlibsExpandText, defineCustomElement as defineCustomElementPennlibsExpandText } from './pennlibs-expand-text.js';
|
|
5
6
|
export { PennlibsFallbackImg, defineCustomElement as defineCustomElementPennlibsFallbackImg } from './pennlibs-fallback-img.js';
|
|
6
7
|
export { PennlibsFeedback, defineCustomElement as defineCustomElementPennlibsFeedback } from './pennlibs-feedback.js';
|
|
7
8
|
export { PennlibsFooter, defineCustomElement as defineCustomElementPennlibsFooter } from './pennlibs-footer.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"index.js","mappings":"
|
|
1
|
+
{"file":"index.js","mappings":";;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface PennlibsExpandText extends Components.PennlibsExpandText, HTMLElement {}
|
|
4
|
+
export const PennlibsExpandText: {
|
|
5
|
+
prototype: PennlibsExpandText;
|
|
6
|
+
new (): PennlibsExpandText;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
|
|
3
|
+
const pennlibsExpandTextCss = ":host{display:inline-block;position:relative;max-width:100%;vertical-align:bottom}.expand-text{display:block}.expand-text--clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--pl-expand-text-lines, 3);line-clamp:var(--pl-expand-text-lines, 3);overflow:hidden}.expand-text--expanded{display:inline}.expand-text__fade{position:absolute;right:0;bottom:0;padding-left:2em;background:linear-gradient(\n to right,\n transparent,\n var(--pl-expand-text-bg, var(--pl-color-bg-default)) 1.5em\n );pointer-events:none}.expand-text__toggle{display:inline-block;vertical-align:baseline;pointer-events:auto;padding:var(--pl-space-3xs) var(--pl-space-s);border:none;background:var(--pl-color-bg-subtle);color:var(--pl-color-fg-default);font-family:var(--pl-font-family);border-radius:var(--pl-border-radius-subtle);font-size:var(--pl-font-size-xs);font-weight:500;line-height:1.5;letter-spacing:0.075rem;text-transform:uppercase;cursor:pointer}.expand-text__toggle:hover{text-decoration:underline;text-decoration-thickness:var(--pl-link-text-decoration-thickness);text-underline-offset:var(--pl-link-text-underline-offset)}.expand-text__toggle:focus-visible{outline:none;box-shadow:var(--pl-focus-box-shadow)}.expand-text__fade--inline{position:static;padding-left:0;background:none;margin-inline-start:var(--pl-space-2xs, 0.25rem)}";
|
|
4
|
+
|
|
5
|
+
const ExpandText = /*@__PURE__*/ proxyCustomElement(class ExpandText extends HTMLElement {
|
|
6
|
+
constructor(registerHost) {
|
|
7
|
+
super();
|
|
8
|
+
if (registerHost !== false) {
|
|
9
|
+
this.__registerHost();
|
|
10
|
+
}
|
|
11
|
+
this.__attachShadow();
|
|
12
|
+
/**
|
|
13
|
+
* Maximum number of lines to show before truncating.
|
|
14
|
+
* @prop lines
|
|
15
|
+
*/
|
|
16
|
+
this.lines = 3;
|
|
17
|
+
/**
|
|
18
|
+
* Label for the toggle when content is collapsed.
|
|
19
|
+
* @prop expand-label
|
|
20
|
+
*/
|
|
21
|
+
this.expandLabel = 'More';
|
|
22
|
+
/**
|
|
23
|
+
* Label for the toggle when content is expanded.
|
|
24
|
+
* @prop collapse-label
|
|
25
|
+
*/
|
|
26
|
+
this.collapseLabel = 'Less';
|
|
27
|
+
this.expanded = false;
|
|
28
|
+
this.hasOverflow = false;
|
|
29
|
+
this.measured = false;
|
|
30
|
+
this.checkOverflow = () => {
|
|
31
|
+
if (!this.contentEl || this.expanded)
|
|
32
|
+
return;
|
|
33
|
+
const lineHeight = parseFloat(getComputedStyle(this.contentEl).lineHeight);
|
|
34
|
+
if (Number.isFinite(lineHeight) && this.lines > 0) {
|
|
35
|
+
// Require at least two full extra lines of hidden content before the
|
|
36
|
+
// toggle is worth showing. A near-flush overflow (a few extra words)
|
|
37
|
+
// makes the toggle look like it reveals nothing meaningful.
|
|
38
|
+
this.hasOverflow = this.contentEl.scrollHeight > lineHeight * (this.lines + 2);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this.hasOverflow = this.contentEl.scrollHeight > this.contentEl.clientHeight + 1;
|
|
42
|
+
}
|
|
43
|
+
this.measured = true;
|
|
44
|
+
};
|
|
45
|
+
this.toggle = () => {
|
|
46
|
+
this.expanded = !this.expanded;
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
componentDidLoad() {
|
|
50
|
+
var _a;
|
|
51
|
+
if (!this.contentEl)
|
|
52
|
+
return;
|
|
53
|
+
// Observe the host (always inline-block) rather than the content span,
|
|
54
|
+
// which becomes inline when unclamped and stops firing resize events.
|
|
55
|
+
this.resizeObserver = new ResizeObserver(() => this.checkOverflow());
|
|
56
|
+
this.resizeObserver.observe(this.el);
|
|
57
|
+
this.checkOverflow();
|
|
58
|
+
(_a = document.fonts) === null || _a === void 0 ? void 0 : _a.ready.then(() => this.checkOverflow());
|
|
59
|
+
}
|
|
60
|
+
disconnectedCallback() {
|
|
61
|
+
var _a;
|
|
62
|
+
(_a = this.resizeObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
63
|
+
}
|
|
64
|
+
render() {
|
|
65
|
+
const isClamped = !this.expanded && (!this.measured || this.hasOverflow);
|
|
66
|
+
return (h(Host, { key: '9c1a5be21f67022923982179319c9b0920a3ee00', style: { '--pl-expand-text-lines': String(this.lines) } }, h("span", { key: '54b5721c9df1a81b08e3823b93029f72a8e66852', class: {
|
|
67
|
+
'expand-text': true,
|
|
68
|
+
'expand-text--clamped': isClamped,
|
|
69
|
+
'expand-text--expanded': this.expanded,
|
|
70
|
+
}, ref: (el) => (this.contentEl = el) }, h("slot", { key: 'f4df852b0d1513741e07825551428807f8cb27c3' })), this.hasOverflow && (h("span", { key: '79104493f870c13070468612a7269072c9607779', class: {
|
|
71
|
+
'expand-text__fade': true,
|
|
72
|
+
'expand-text__fade--inline': this.expanded,
|
|
73
|
+
} }, h("button", { key: 'f723f0265093c78b45b4f3cb6d2fce2549361cdd', type: "button", class: "expand-text__toggle", "aria-expanded": String(this.expanded), onClick: this.toggle }, this.expanded ? this.collapseLabel : this.expandLabel)))));
|
|
74
|
+
}
|
|
75
|
+
get el() { return this; }
|
|
76
|
+
static get style() { return pennlibsExpandTextCss; }
|
|
77
|
+
}, [257, "pennlibs-expand-text", {
|
|
78
|
+
"lines": [2],
|
|
79
|
+
"expandLabel": [1, "expand-label"],
|
|
80
|
+
"collapseLabel": [1, "collapse-label"],
|
|
81
|
+
"expanded": [32],
|
|
82
|
+
"hasOverflow": [32],
|
|
83
|
+
"measured": [32]
|
|
84
|
+
}]);
|
|
85
|
+
function defineCustomElement$1() {
|
|
86
|
+
if (typeof customElements === "undefined") {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
const components = ["pennlibs-expand-text"];
|
|
90
|
+
components.forEach(tagName => { switch (tagName) {
|
|
91
|
+
case "pennlibs-expand-text":
|
|
92
|
+
if (!customElements.get(tagName)) {
|
|
93
|
+
customElements.define(tagName, ExpandText);
|
|
94
|
+
}
|
|
95
|
+
break;
|
|
96
|
+
} });
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
const PennlibsExpandText = ExpandText;
|
|
100
|
+
const defineCustomElement = defineCustomElement$1;
|
|
101
|
+
|
|
102
|
+
export { PennlibsExpandText, defineCustomElement };
|
|
103
|
+
//# sourceMappingURL=pennlibs-expand-text.js.map
|
|
104
|
+
|
|
105
|
+
//# sourceMappingURL=pennlibs-expand-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"pennlibs-expand-text.js","mappings":"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","names":["__stencil_proxyCustomElement"],"sources":["src/components/pennlibs-expand-text/pennlibs-expand-text.css?tag=pennlibs-expand-text&encapsulation=shadow","src/components/pennlibs-expand-text/pennlibs-expand-text.tsx"],"sourcesContent":[":host {\n display: inline-block;\n position: relative;\n max-width: 100%;\n vertical-align: bottom;\n}\n\n/* `block` so scrollHeight reports the full wrapped content height (inline\n spans don't, which breaks resize-based overflow detection). */\n.expand-text {\n display: block;\n}\n\n/* Clamping only applies when the JS measurement says the content meaningfully\n overflows. Pre-measurement, .expand-text--clamped is on by default so we\n don't flash the full text before clamping. Post-measurement, it stays on\n only if the threshold was hit; otherwise the content flows freely. */\n.expand-text--clamped {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n -webkit-line-clamp: var(--pl-expand-text-lines, 3);\n line-clamp: var(--pl-expand-text-lines, 3);\n overflow: hidden;\n}\n\n/* When expanded, switch back to inline so the inline-flow fade button\n appears at the end of the text on the same line. */\n.expand-text--expanded {\n display: inline;\n}\n\n/* The fade wrapper inherits the parent's font-size and line-height (via\n the host), so its `1em` and `1lh` resolve against the parent. That gives\n us a line-box the height of one parent line, with a baseline at the\n right place for the inline-block toggle. */\n.expand-text__fade {\n position: absolute;\n right: 0;\n bottom: 0;\n padding-left: 2em;\n background:\n linear-gradient(\n to right,\n transparent,\n var(--pl-expand-text-bg, var(--pl-color-bg-default)) 1.5em\n );\n pointer-events: none;\n}\n\n.expand-text__toggle {\n /* Pill chip. inline-block + vertical-align: baseline aligns the toggle's\n text baseline to the parent's last-line baseline (via the fade's line-box). */\n display: inline-block;\n vertical-align: baseline;\n pointer-events: auto;\n padding: var(--pl-space-3xs) var(--pl-space-s);\n border: none;\n background: var(--pl-color-bg-subtle);\n color: var(--pl-color-fg-default);\n font-family: var(--pl-font-family);\n border-radius: var(--pl-border-radius-subtle);\n font-size: var(--pl-font-size-xs);\n font-weight: 500;\n line-height: 1.5;\n letter-spacing: 0.075rem;\n text-transform: uppercase;\n cursor: pointer;\n}\n\n.expand-text__toggle:hover {\n text-decoration: underline;\n text-decoration-thickness: var(--pl-link-text-decoration-thickness);\n text-underline-offset: var(--pl-link-text-underline-offset);\n}\n\n.expand-text__toggle:focus-visible {\n outline: none;\n box-shadow: var(--pl-focus-box-shadow);\n}\n\n/* When expanded, drop the fade out of absolute flow so the toggle appears\n inline at the end of the now-full text. */\n.expand-text__fade--inline {\n position: static;\n padding-left: 0;\n background: none;\n margin-inline-start: var(--pl-space-2xs, 0.25rem);\n}\n","import { Component, Prop, State, Element, Host, h } from '@stencil/core';\n\n/**\n * Clamp long text to a set number of lines with an inline \"More\" / \"Less\"\n * toggle. Useful for headings, descriptions, or any prose block that can\n * run long in narrow containers.\n *\n * @slot - The content to truncate. Accepts any flow content.\n */\n@Component({\n tag: 'pennlibs-expand-text',\n styleUrl: 'pennlibs-expand-text.css',\n shadow: true,\n})\nexport class ExpandText {\n @Element() el!: HTMLElement;\n\n /**\n * Maximum number of lines to show before truncating.\n * @prop lines\n */\n @Prop() lines: number = 3;\n\n /**\n * Label for the toggle when content is collapsed.\n * @prop expand-label\n */\n @Prop() expandLabel: string = 'More';\n\n /**\n * Label for the toggle when content is expanded.\n * @prop collapse-label\n */\n @Prop() collapseLabel: string = 'Less';\n\n @State() expanded: boolean = false;\n @State() hasOverflow: boolean = false;\n @State() measured: boolean = false;\n\n private contentEl?: HTMLElement;\n private resizeObserver?: ResizeObserver;\n\n componentDidLoad() {\n if (!this.contentEl) return;\n // Observe the host (always inline-block) rather than the content span,\n // which becomes inline when unclamped and stops firing resize events.\n this.resizeObserver = new ResizeObserver(() => this.checkOverflow());\n this.resizeObserver.observe(this.el);\n this.checkOverflow();\n document.fonts?.ready.then(() => this.checkOverflow());\n }\n\n disconnectedCallback() {\n this.resizeObserver?.disconnect();\n }\n\n private checkOverflow = () => {\n if (!this.contentEl || this.expanded) return;\n const lineHeight = parseFloat(getComputedStyle(this.contentEl).lineHeight);\n if (Number.isFinite(lineHeight) && this.lines > 0) {\n // Require at least two full extra lines of hidden content before the\n // toggle is worth showing. A near-flush overflow (a few extra words)\n // makes the toggle look like it reveals nothing meaningful.\n this.hasOverflow = this.contentEl.scrollHeight > lineHeight * (this.lines + 2);\n } else {\n this.hasOverflow = this.contentEl.scrollHeight > this.contentEl.clientHeight + 1;\n }\n this.measured = true;\n };\n\n private toggle = () => {\n this.expanded = !this.expanded;\n };\n\n render() {\n const isClamped = !this.expanded && (!this.measured || this.hasOverflow);\n return (\n <Host style={{ '--pl-expand-text-lines': String(this.lines) }}>\n <span\n class={{\n 'expand-text': true,\n 'expand-text--clamped': isClamped,\n 'expand-text--expanded': this.expanded,\n }}\n ref={(el) => (this.contentEl = el)}\n >\n <slot />\n </span>\n {this.hasOverflow && (\n <span\n class={{\n 'expand-text__fade': true,\n 'expand-text__fade--inline': this.expanded,\n }}\n >\n <button\n type=\"button\"\n class=\"expand-text__toggle\"\n aria-expanded={String(this.expanded)}\n onClick={this.toggle}\n >\n {this.expanded ? this.collapseLabel : this.expandLabel}\n </button>\n </span>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -12,7 +12,7 @@ const NoImage = /*@__PURE__*/ proxyCustomElement(class NoImage extends HTMLEleme
|
|
|
12
12
|
}
|
|
13
13
|
render() {
|
|
14
14
|
const shieldImg = getAssetPath('./assets/simplified-shield.webp');
|
|
15
|
-
return (h("img", { key: '
|
|
15
|
+
return (h("img", { key: 'fcb8177bb7decae1ffc943b5bc6ddeeabc148cd2', src: shieldImg, alt: "", class: "no-image__img" }));
|
|
16
16
|
}
|
|
17
17
|
static get assetsDirs() { return ["assets"]; }
|
|
18
18
|
static get style() { return pennlibsFallbackImgCss; }
|
|
@@ -83,7 +83,7 @@ const PennlibsFeedback$1 = /*@__PURE__*/ proxyCustomElement(class PennlibsFeedba
|
|
|
83
83
|
}, 600);
|
|
84
84
|
}
|
|
85
85
|
render() {
|
|
86
|
-
return (h("div", { key: '
|
|
86
|
+
return (h("div", { key: '718c9b67ab9bfec7c946489ca3fa3e607a143889', class: "feedback__container" }, h("div", { key: 'f1d7fb08215224e80ec85ab381a20d017480bc4c', class: "viewport-margins" }, h("div", { key: 'a80b211eb18b1144704eb9dcb7e605328acde70c', class: "feedback__content" }, !this.hideQuestion && (this.answer === 'yes' ? (h("p", null, "Thank you for letting us know.")) : this.answer === 'no' ? (h("p", null, "We'd like to help. ", h("a", { href: "https://www.library.upenn.edu/contact-us" }, "Contact us"), " and let us know what you're looking for.")) : (h("form", { class: "feedback__inline-question", onSubmit: (e) => this.handleSubmit(e) }, h("h2", null, "Did you find what you need?"), h("button", { type: "submit", name: "answer", value: "yes", class: { 'selected': this.selected === 'yes' }, disabled: !!this.selected }, h("span", null, "Yes"), h("span", { class: "visually-hidden" }, ", I found what I needed.")), h("button", { type: "submit", name: "answer", value: "no", class: { 'selected': this.selected === 'no' }, disabled: !!this.selected }, h("span", null, "No"), h("span", { class: "visually-hidden" }, ", I did not find what I needed."))))), h("div", { key: 'e441824f32084a83a0e22c0f282ca73f8295464e', class: "feedback__share-feedback" }, h("p", { key: '7df4f4d3b6f6a2b893be59fbe7517aa8f63eb690' }, "To help us improve, ", h("a", { key: '6defbfffc7839fb2038716844998eeb897ed71b0', href: `https://upenn.co1.qualtrics.com/jfe/form/SV_3xVrP7EKWS92zfE?reporting_from_url=${encodeURIComponent(window.location.href)}` }, "share your feedback"), "."))))));
|
|
87
87
|
}
|
|
88
88
|
static get style() { return pennlibsFeedbackCss; }
|
|
89
89
|
}, [257, "pennlibs-feedback", {
|
|
@@ -37,12 +37,12 @@ const Footer = /*@__PURE__*/ proxyCustomElement(class Footer extends HTMLElement
|
|
|
37
37
|
}
|
|
38
38
|
render() {
|
|
39
39
|
const footerBackgroundSrc = getAssetPath('./assets/footer-bg.webp');
|
|
40
|
-
return (h("footer", { key: '
|
|
40
|
+
return (h("footer", { key: '15d1f4477bd137e281fcbf6c1e3b70bf55a8a2e0', class: "website-footer-wrapper" }, h("div", { key: '04954e3b1095b6d510e1bae4e5a453f6ff5cb0ce', class: "website-footer", style: {
|
|
41
41
|
background: `var(--pl-color-penn-blue) url(${footerBackgroundSrc}) no-repeat 50% 50%`,
|
|
42
42
|
backgroundSize: 'cover',
|
|
43
|
-
} }, h("div", { key: '
|
|
43
|
+
} }, h("div", { key: 'ba8ce4e14e0e9364863fac7a2839397e2e0b941a', class: "viewport-margins" }, h("div", { key: '63f34d4f96b284e724135ed8987cc2d3d2e3fbd1', class: "website-footer__content" }, h("div", { key: 'a1edf943618100610c6624d35193fc9f0f5968b3', class: "website-footer__links-container" }, h("section", { key: 'c7f7f781d1c6b239d520a8dc725381aec6281b8a' }, h("h2", { key: 'dc87452564eb1c1c1e75105ec8195917f7eb97a2', class: "website-footer__heading" }, "Penn Libraries"), h("ul", { key: '8510d8d758daee5d1c08bdbebf2fd741f6bc3b29', class: "website-footer__links" }, h("li", { key: '5975b1488a02111e692fd80e86db0f72baa4d9d3' }, h("a", { key: '2715c1c9c7a0f2ad1d677906eb5a34ab4c04007c', href: "https://maps.google.com/?q=Van Pelt Library 3420 Walnut Street, Philadelphia, PA 19104-6206" }, "3420 Walnut Street", h("br", { key: '4d380fd2e056d972944a3866ebc52e25689cd44c' }), "Philadelphia, PA 19104-6206")), h("li", { key: '3d52db897689c923b85c67159f8c53ca346e98c2' }, h("a", { key: '1010c1d279e1cb11c7a853f0997b5d8aabd33bdc', href: "tel:(215) 898-7566" }, "(215) 898-7566")), h("li", { key: 'f1d61d6e01c5e2a1fced55e145f101ccc37fdf29' }, h("a", { key: 'f1dc654a1af81a5847aef7c9fc21e025eb8dfced', href: "https://www.library.upenn.edu/contact-us" }, "Contact us")), h("li", { key: '1c96e99267b30a59b65f4e3d726ef948be202d2d' }, h("a", { key: '02c308d0c96d6148ca093e5e0882d5d22aa9c1db', href: "https://www.library.upenn.edu/about/hours", target: "_blank" }, "Locations and hours")))), h("section", { key: '639a1f5a03b1f646b8a519fa4749980512524f33' }, h("h2", { key: 'e8047c4763458e63d20c4dddd6a35dd6f144c016', class: "website-footer__heading" }, "Stay in touch"), h("ul", { key: 'd496f8fbea5a6c8a9d705c90588b6f750f4a8609', class: "website-footer__links" }, h("li", { key: '57d3280c71d8dcf57db397641c9418910cd4cb84' }, h("a", { key: 'c3203a8e36919031b5a14958765ad05c5e590e50', href: "https://www.alumni.upenn.edu/libsignup" }, "Newsletter")), h("li", { key: '0025893e79dc5fde2a86c8305ff57bd7a4bd5962' }, h("a", { key: '4f20f07275a082c43e3dfdbf23b42487d0cc94da', href: "https://www.instagram.com/upennlib/" }, "Instagram")), h("li", { key: '7d6e64d3f6d921e7967b9eea4f307cba5a3c326d' }, h("a", { key: 'b145fc5809b8f2a8225351bd69296da5f803756d', href: "https://www.facebook.com/PennLibraries/" }, "Facebook")), h("li", { key: '471174a0eede78d94704c00d28284cfafc0553e9' }, h("a", { key: '031b7d1aad9f6c27a2898c57cab0b2909d5acc78', href: "https://www.linkedin.com/company/penn-libraries" }, "LinkedIn")))), this.navigationByChildren && [
|
|
44
44
|
this.navigationByChildren.map(section => (h("section", null, h("h2", { class: "website-footer__heading" }, section.heading), h("ul", { class: "website-footer__links" }, section.links.map(link => (h("li", null, h("a", { href: link.href }, link.label))))))))
|
|
45
|
-
]))), h("div", { key: '
|
|
45
|
+
]))), h("div", { key: '5ac97b0c44a303ceeb84c88a5da2c7a5417afa55', class: "website-footer__footer" }, h("div", { key: '281481bf6d25945607e1431f634a9f6649b72300', class: "viewport-margins" }, h("ul", { key: '8e4626896cd9dd360eebe55df9f8eb98d485045e', class: "website-footer__links website-footer__links--footer" }, h("li", { key: '021025b20149e8f53e17cf4df1f76a2d9045a52c' }, h("a", { key: '95bd80578f001c06f273800ee9b26c2069c8822c', href: "https://www.upenn.edu/" }, "UPenn")), h("li", { key: 'be940d241e15c85f07ec8f229e4683ccbaf077e4' }, h("a", { key: '1e8db44efbe98e135495240a42e6e74a3829c665', href: "https://www.upenn.edu/about/privacy-policy" }, "Privacy Policy")), h("li", { key: '14a7fb2dfdc4fe417fc66ae05b0e30db13739913' }, h("a", { key: '1e572fd1b6c7c48225a65ef58c1f4cdb2f67afd6', href: "https://accessibility.web-resources.upenn.edu/get-help" }, "Report Accessibility Issues and Get Help")), h("li", { key: '1aeecdc1384586c45ea1500e2a908a0bde97668e' }, h("a", { key: '9e94479dd864300421900e0e9fe4fbb3251d7524', href: "https://www.upenn.edu/about/disclaimer" }, "Disclaimer")), h("li", { key: 'a9d5ce618f8ed4ff4e8360dc11568b067f66101c' }, h("a", { key: '384f77c47f7d28b99fe9fbbf707948a180d973f1', href: "https://www.publicsafety.upenn.edu/contact/" }, "Emergency Services")), h("li", { key: 'a203f0efeea4cfd5275cdee380c12bb9d7e04a38' }, h("a", { key: 'a51d4b482d562aca31ff9b97703950562604ad48', href: "https://www.upenn.edu/about/report-copyright-infringement" }, "Report Copyright Infringement")))))), this.showBuiltWith && (h("div", { key: '43f89da940afef08331d12e2991fa24220afce99', class: "viewport-margins" }, h("p", { key: '25863d379ecb9e7f46186858974a71e150188015', class: "built-with" }, "Built with the ", h("a", { key: '427150399d8b81e090315c01446452f2142bab63', href: "https://designsystem.library.upenn.edu/" }, "Penn Libraries Design System"), ".")))));
|
|
46
46
|
}
|
|
47
47
|
static get assetsDirs() { return ["assets"]; }
|
|
48
48
|
get hostElement() { return this; }
|
|
@@ -55,7 +55,7 @@ const Header = /*@__PURE__*/ proxyCustomElement(class Header extends HTMLElement
|
|
|
55
55
|
return (h("svg", { xmlns: "http://www.w3.org/2000/svg", height: "24", viewBox: "0 -960 960 960", width: "24" }, h("path", { fill: "currentColor", d: "M480-345 240-585l56-56 184 184 184-184 56 56-240 240Z" })));
|
|
56
56
|
}
|
|
57
57
|
render() {
|
|
58
|
-
return (h("header", { key: '
|
|
58
|
+
return (h("header", { key: '5b9d608f76d32ea50d377d251c2c2153a53b1875', class: `viewport-margins website-header ${this.theme === 'dark' && 'website-header--dark'}` }, h("div", { key: 'b15e4a006b6a29f671df20e8bb65d2e9e71c25f3', class: "website-header__inner-container" }, h("div", { key: '5c3e13c63b317a44dee3b07c2dbcbdc4e33fb40a', class: "website-header__logo-name-container" }, h("a", { key: 'aa2d4a9b55fe73eac1b433da51db7e70c2a9100d', href: "https://www.library.upenn.edu/", class: "website-header_logo-link", "aria-label": "Penn Libraries" }, this.theme === 'dark' ? h(LogoWhite, null) : h(LogoBlue, null)), this.serviceName && (h("a", { key: 'bff559907d2e26bb2e9f055645a68d7b35558ef5', href: "/", class: "website-header__service-link" }, h("span", { key: '30376d9a13d24c78dd10f11c74acc017bb7ef9ee', class: "website-header__service-name" }, this.serviceName), this.serviceLede && h("span", { key: '6bb01b158d0205a4d534b186379c0e00cb1cb076', class: "website-header__service-lede" }, this.serviceLede))), h("slot", { key: 'bff814b020b3a7c4eee900c19a871e47bebbfac7', name: "name-end" })), this.navigation.length > 0 && (h("nav", { key: 'f1949adb87868902885d65a65504f4ee4eb9c799', class: "website-header__navigation" }, h("button", { key: '7cd866c7dfb52caa705a74c8af5bba443c55257e', class: "website-header__navigation-button", "aria-expanded": `${this.isMenuOpen}`, onClick: () => this.handleToggleMenu() }, this.renderMenuIcon(), " Menu"), this.navigation && (h("ol", { key: '84270b993db01e2c46ce8a94be6c61a95c59f40a', class: `website-header__navigation-list ${this.isMenuOpen && 'website-header__navigation-list--visible'}` }, this.navigation.map(element => h("li", { innerHTML: element.outerHTML })))))), h("slot", { key: 'ff3234593474b8f5a63836a6f519d85a5fe73ba2', name: "end" }))));
|
|
59
59
|
}
|
|
60
60
|
static get assetsDirs() { return ["assets"]; }
|
|
61
61
|
get hostElement() { return this; }
|
|
@@ -51,7 +51,7 @@ const Hero = /*@__PURE__*/ proxyCustomElement(class Hero extends HTMLElement {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
render() {
|
|
54
|
-
return (h("div", { key: '
|
|
54
|
+
return (h("div", { key: '4234b8c7129b9ad562e979a62124bb8b059f4906', class: "hero", style: { backgroundImage: `url(${this.heroSrc})` } }, h("div", { key: '48e60ea4da5432ca67ad355d79043fdefc9f916f', class: "hero__content" }, h("slot", { key: 'f08f58488b758cb0a5fe88d8c05b37fda2332ca4', name: "start" }), h("div", { key: '17a6b7a12512779048dcfa5ef68f58be34743541', class: "hero__heading-container" }, this.heroHeadingElement && (h("div", { key: 'e059b09f3797425587c268e714e605f8abdd20d7', class: "viewport-margins" }, h("h1", { key: '152d036ee2d7838c6faa072c0ea795c31ea7b120', class: "hero__heading", innerHTML: this.heroHeadingElement.innerText }), this.heroParagraphElement && h("p", { key: 'e942105a04ab4e75a502dbd19d5f465efb2acb18', class: "hero__sub-heading", innerHTML: this.heroParagraphElement.innerHTML })))))));
|
|
55
55
|
}
|
|
56
56
|
static get assetsDirs() { return ["assets"]; }
|
|
57
57
|
get hostElement() { return this; }
|
package/dist/docs.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"timestamp": "2026-06-
|
|
2
|
+
"timestamp": "2026-06-02T18:55:53",
|
|
3
3
|
"compiler": {
|
|
4
4
|
"name": "@stencil/core",
|
|
5
5
|
"version": "4.38.1",
|
|
@@ -162,6 +162,135 @@
|
|
|
162
162
|
"dependencies": [],
|
|
163
163
|
"dependencyGraph": {}
|
|
164
164
|
},
|
|
165
|
+
{
|
|
166
|
+
"filePath": "src/components/pennlibs-expand-text/pennlibs-expand-text.tsx",
|
|
167
|
+
"encapsulation": "shadow",
|
|
168
|
+
"tag": "pennlibs-expand-text",
|
|
169
|
+
"readme": "# pennlibs-expand-text\n\n\n",
|
|
170
|
+
"docs": "Clamp long text to a set number of lines with an inline \"More\" / \"Less\"\ntoggle. Useful for headings, descriptions, or any prose block that can\nrun long in narrow containers.",
|
|
171
|
+
"docsTags": [
|
|
172
|
+
{
|
|
173
|
+
"name": "slot",
|
|
174
|
+
"text": "- The content to truncate. Accepts any flow content."
|
|
175
|
+
}
|
|
176
|
+
],
|
|
177
|
+
"usage": {},
|
|
178
|
+
"props": [
|
|
179
|
+
{
|
|
180
|
+
"name": "collapseLabel",
|
|
181
|
+
"type": "string",
|
|
182
|
+
"complexType": {
|
|
183
|
+
"original": "string",
|
|
184
|
+
"resolved": "string",
|
|
185
|
+
"references": {}
|
|
186
|
+
},
|
|
187
|
+
"mutable": false,
|
|
188
|
+
"attr": "collapse-label",
|
|
189
|
+
"reflectToAttr": false,
|
|
190
|
+
"docs": "Label for the toggle when content is expanded.",
|
|
191
|
+
"docsTags": [
|
|
192
|
+
{
|
|
193
|
+
"name": "prop",
|
|
194
|
+
"text": "collapse-label"
|
|
195
|
+
},
|
|
196
|
+
{
|
|
197
|
+
"name": "default",
|
|
198
|
+
"text": "'Less'"
|
|
199
|
+
}
|
|
200
|
+
],
|
|
201
|
+
"default": "'Less'",
|
|
202
|
+
"values": [
|
|
203
|
+
{
|
|
204
|
+
"type": "string"
|
|
205
|
+
}
|
|
206
|
+
],
|
|
207
|
+
"optional": false,
|
|
208
|
+
"required": false,
|
|
209
|
+
"getter": false,
|
|
210
|
+
"setter": false
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"name": "expandLabel",
|
|
214
|
+
"type": "string",
|
|
215
|
+
"complexType": {
|
|
216
|
+
"original": "string",
|
|
217
|
+
"resolved": "string",
|
|
218
|
+
"references": {}
|
|
219
|
+
},
|
|
220
|
+
"mutable": false,
|
|
221
|
+
"attr": "expand-label",
|
|
222
|
+
"reflectToAttr": false,
|
|
223
|
+
"docs": "Label for the toggle when content is collapsed.",
|
|
224
|
+
"docsTags": [
|
|
225
|
+
{
|
|
226
|
+
"name": "prop",
|
|
227
|
+
"text": "expand-label"
|
|
228
|
+
},
|
|
229
|
+
{
|
|
230
|
+
"name": "default",
|
|
231
|
+
"text": "'More'"
|
|
232
|
+
}
|
|
233
|
+
],
|
|
234
|
+
"default": "'More'",
|
|
235
|
+
"values": [
|
|
236
|
+
{
|
|
237
|
+
"type": "string"
|
|
238
|
+
}
|
|
239
|
+
],
|
|
240
|
+
"optional": false,
|
|
241
|
+
"required": false,
|
|
242
|
+
"getter": false,
|
|
243
|
+
"setter": false
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
"name": "lines",
|
|
247
|
+
"type": "number",
|
|
248
|
+
"complexType": {
|
|
249
|
+
"original": "number",
|
|
250
|
+
"resolved": "number",
|
|
251
|
+
"references": {}
|
|
252
|
+
},
|
|
253
|
+
"mutable": false,
|
|
254
|
+
"attr": "lines",
|
|
255
|
+
"reflectToAttr": false,
|
|
256
|
+
"docs": "Maximum number of lines to show before truncating.",
|
|
257
|
+
"docsTags": [
|
|
258
|
+
{
|
|
259
|
+
"name": "prop",
|
|
260
|
+
"text": "lines"
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
"name": "default",
|
|
264
|
+
"text": "3"
|
|
265
|
+
}
|
|
266
|
+
],
|
|
267
|
+
"default": "3",
|
|
268
|
+
"values": [
|
|
269
|
+
{
|
|
270
|
+
"type": "number"
|
|
271
|
+
}
|
|
272
|
+
],
|
|
273
|
+
"optional": false,
|
|
274
|
+
"required": false,
|
|
275
|
+
"getter": false,
|
|
276
|
+
"setter": false
|
|
277
|
+
}
|
|
278
|
+
],
|
|
279
|
+
"methods": [],
|
|
280
|
+
"events": [],
|
|
281
|
+
"listeners": [],
|
|
282
|
+
"styles": [],
|
|
283
|
+
"slots": [
|
|
284
|
+
{
|
|
285
|
+
"name": "",
|
|
286
|
+
"docs": "The content to truncate. Accepts any flow content."
|
|
287
|
+
}
|
|
288
|
+
],
|
|
289
|
+
"parts": [],
|
|
290
|
+
"dependents": [],
|
|
291
|
+
"dependencies": [],
|
|
292
|
+
"dependencyGraph": {}
|
|
293
|
+
},
|
|
165
294
|
{
|
|
166
295
|
"filePath": "src/components/pennlibs-fallback-img/pennlibs-fallback-img.tsx",
|
|
167
296
|
"encapsulation": "shadow",
|
|
@@ -1112,6 +1112,9 @@ var parsePropertyValue = (propValue, propType, isFormAssociated) => {
|
|
|
1112
1112
|
return propValue === "false" ? false : propValue === "" || !!propValue;
|
|
1113
1113
|
}
|
|
1114
1114
|
}
|
|
1115
|
+
if (propType & 2 /* Number */) {
|
|
1116
|
+
return typeof propValue === "string" ? parseFloat(propValue) : typeof propValue === "number" ? propValue : NaN;
|
|
1117
|
+
}
|
|
1115
1118
|
if (propType & 1 /* String */) {
|
|
1116
1119
|
return String(propValue);
|
|
1117
1120
|
}
|
|
@@ -1186,7 +1189,11 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags, initialRen
|
|
|
1186
1189
|
}
|
|
1187
1190
|
}
|
|
1188
1191
|
}
|
|
1189
|
-
} else if (memberName === "key") ; else if (
|
|
1192
|
+
} else if (memberName === "key") ; else if (memberName === "ref") {
|
|
1193
|
+
if (newValue) {
|
|
1194
|
+
newValue(elm);
|
|
1195
|
+
}
|
|
1196
|
+
} else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") {
|
|
1190
1197
|
if (memberName[2] === "-") {
|
|
1191
1198
|
memberName = memberName.slice(3);
|
|
1192
1199
|
} else if (isMemberInElement(win, ln)) {
|
|
@@ -1361,6 +1368,7 @@ var removeVnodes = (vnodes, startIdx, endIdx) => {
|
|
|
1361
1368
|
const vnode = vnodes[index];
|
|
1362
1369
|
if (vnode) {
|
|
1363
1370
|
const elm = vnode.$elm$;
|
|
1371
|
+
nullifyVNodeRefs(vnode);
|
|
1364
1372
|
if (elm) {
|
|
1365
1373
|
elm.remove();
|
|
1366
1374
|
}
|
|
@@ -1498,6 +1506,12 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
|
|
|
1498
1506
|
elm.data = text;
|
|
1499
1507
|
}
|
|
1500
1508
|
};
|
|
1509
|
+
var nullifyVNodeRefs = (vNode) => {
|
|
1510
|
+
{
|
|
1511
|
+
vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
|
|
1512
|
+
vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
|
|
1513
|
+
}
|
|
1514
|
+
};
|
|
1501
1515
|
var insertBefore = (parent, newNode, reference) => {
|
|
1502
1516
|
{
|
|
1503
1517
|
return parent == null ? void 0 : parent.insertBefore(newNode, reference);
|
|
@@ -2257,7 +2271,7 @@ var hostListenerOpts = (flags) => supportsListenerOptions ? {
|
|
|
2257
2271
|
// src/runtime/nonce.ts
|
|
2258
2272
|
var setNonce = (nonce) => plt.$nonce$ = nonce;
|
|
2259
2273
|
|
|
2260
|
-
export { getElement as a, bootstrapLazy as b, createEvent as c, getAssetPath as d, setAssetPath as e, globalScripts as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
|
|
2261
|
-
//# sourceMappingURL=
|
|
2274
|
+
export { Host as H, getElement as a, bootstrapLazy as b, createEvent as c, getAssetPath as d, setAssetPath as e, globalScripts as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
|
|
2275
|
+
//# sourceMappingURL=index-CgmxDHmi.js.map
|
|
2262
2276
|
|
|
2263
|
-
//# sourceMappingURL=
|
|
2277
|
+
//# sourceMappingURL=index-CgmxDHmi.js.map
|