@penn-libraries/web 1.2.0 → 1.2.1-dev.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.
Files changed (51) hide show
  1. package/dist/cjs/{index-Ag6DtE87.js → index-C2lJ0X_b.js} +64 -2
  2. package/dist/cjs/index-C2lJ0X_b.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +1 -1
  4. package/dist/cjs/loader.cjs.js +2 -2
  5. package/dist/cjs/pennlibs-autocomplete.cjs.entry.js +1 -1
  6. package/dist/cjs/pennlibs-banner.cjs.entry.js +1 -1
  7. package/dist/cjs/pennlibs-chat.cjs.entry.js +1 -1
  8. package/dist/cjs/pennlibs-fallback-img.cjs.entry.js +1 -1
  9. package/dist/cjs/pennlibs-feedback.pennlibs-footer.pennlibs-header.entry.cjs.js.map +1 -1
  10. package/dist/cjs/pennlibs-feedback_3.cjs.entry.js +6 -4
  11. package/dist/cjs/pennlibs-hero.cjs.entry.js +1 -1
  12. package/dist/cjs/pennlibs-iiif-img.cjs.entry.js +1 -1
  13. package/dist/cjs/web.cjs.js +2 -2
  14. package/dist/collection/components/pennlibs-feedback/pennlibs-feedback.css +1 -1
  15. package/dist/collection/components/pennlibs-feedback/pennlibs-feedback.js +5 -3
  16. package/dist/collection/components/pennlibs-feedback/pennlibs-feedback.js.map +1 -1
  17. package/dist/components/pennlibs-feedback.js +6 -5
  18. package/dist/components/pennlibs-feedback.js.map +1 -1
  19. package/dist/docs.json +2 -2
  20. package/dist/{web/p-mkVX9lU0.js → esm/index-kmszRyIe.js} +64 -2
  21. package/dist/esm/index-kmszRyIe.js.map +1 -0
  22. package/dist/esm/index.js +1 -1
  23. package/dist/esm/loader.js +3 -3
  24. package/dist/esm/pennlibs-autocomplete.entry.js +1 -1
  25. package/dist/esm/pennlibs-banner.entry.js +1 -1
  26. package/dist/esm/pennlibs-chat.entry.js +1 -1
  27. package/dist/esm/pennlibs-fallback-img.entry.js +1 -1
  28. package/dist/esm/pennlibs-feedback.pennlibs-footer.pennlibs-header.entry.js.map +1 -1
  29. package/dist/esm/pennlibs-feedback_3.entry.js +6 -4
  30. package/dist/esm/pennlibs-hero.entry.js +1 -1
  31. package/dist/esm/pennlibs-iiif-img.entry.js +1 -1
  32. package/dist/esm/web.js +3 -3
  33. package/dist/types/components/pennlibs-feedback/pennlibs-feedback.d.ts +1 -1
  34. package/dist/web/index.esm.js +1 -1
  35. package/dist/web/{p-7c6382d0.entry.js → p-1c0dd1ec.entry.js} +1 -1
  36. package/dist/web/{p-10931f0a.entry.js → p-37644cf5.entry.js} +6 -4
  37. package/dist/web/{p-e426fb61.entry.js → p-51bc70b8.entry.js} +1 -1
  38. package/dist/web/{p-4fb3e5a4.entry.js → p-906263a3.entry.js} +1 -1
  39. package/dist/web/{p-190f0293.entry.js → p-badb334a.entry.js} +1 -1
  40. package/dist/web/{p-154851d1.entry.js → p-d392e98a.entry.js} +1 -1
  41. package/dist/web/{p-0c1113f4.entry.js → p-e1947e84.entry.js} +1 -1
  42. package/dist/{esm/index-mkVX9lU0.js → web/p-kmszRyIe.js} +64 -2
  43. package/dist/web/p-kmszRyIe.js.map +1 -0
  44. package/dist/web/pennlibs-feedback.pennlibs-footer.pennlibs-header.entry.esm.js.map +1 -1
  45. package/dist/web/web.esm.js +3 -3
  46. package/hydrate/index.js +35 -4
  47. package/hydrate/index.mjs +35 -4
  48. package/package.json +1 -1
  49. package/dist/cjs/index-Ag6DtE87.js.map +0 -1
  50. package/dist/esm/index-mkVX9lU0.js.map +0 -1
  51. package/dist/web/p-mkVX9lU0.js.map +0 -1
@@ -1,5 +1,5 @@
1
- import { p as promiseResolve, g as globalScripts, b as bootstrapLazy } from './p-mkVX9lU0.js';
2
- export { s as setNonce } from './p-mkVX9lU0.js';
1
+ import { p as promiseResolve, g as globalScripts, b as bootstrapLazy } from './p-kmszRyIe.js';
2
+ export { s as setNonce } from './p-kmszRyIe.js';
3
3
 
4
4
  /*
5
5
  Stencil Client Patch Browser v4.38.1 | MIT Licensed | https://stenciljs.com
@@ -16,6 +16,6 @@ var patchBrowser = () => {
16
16
 
17
17
  patchBrowser().then(async (options) => {
18
18
  await globalScripts();
19
- return bootstrapLazy([["p-4fb3e5a4",[[257,"pennlibs-iiif-img",{"uuid":[1],"alt":[1],"region":[513],"rotation":[1],"quality":[1],"loading":[1],"showFallback":[4,"show-fallback"],"isLoaded":[32],"hasError":[32],"imageDimensions":[32],"observedWidth":[32]},null,{"region":["handleRegionChange"]}]]],["p-10931f0a",[[257,"pennlibs-feedback",{"hideQuestion":[4,"hide-question"],"answer":[32],"selected":[32]}],[257,"pennlibs-footer",{"showBuiltWith":[4,"show-built-with"],"navigationByChildren":[32]}],[257,"pennlibs-header",{"serviceName":[1,"service-name"],"serviceLede":[1,"service-lede"],"serviceHref":[1,"service-href"],"theme":[1],"isMenuOpen":[32],"navigation":[32]}]]],["p-7c6382d0",[[257,"pennlibs-autocomplete",{"for":[1],"showSuggestions":[32],"currentIndex":[32],"originalValue":[32],"options":[32]},[[0,"slotchange","handleSlotChange"],[16,"input","handleInputEvent"],[16,"focus","handleFocusEvent"],[16,"blur","handleBlurEvent"],[0,"focusout","handleFocusOut"],[4,"keydown","handleKeyDown"]]]]],["p-0c1113f4",[[257,"pennlibs-banner"]]],["p-190f0293",[[257,"pennlibs-chat",{"href":[32]}]]],["p-154851d1",[[257,"pennlibs-hero",{"heroPictureElement":[32],"heroHeadingElement":[32],"heroParagraphElement":[32],"heroSrc":[32]}]]],["p-e426fb61",[[257,"pennlibs-fallback-img"]]]], options);
19
+ return bootstrapLazy([["p-906263a3",[[257,"pennlibs-iiif-img",{"uuid":[1],"alt":[1],"region":[513],"rotation":[1],"quality":[1],"loading":[1],"showFallback":[4,"show-fallback"],"isLoaded":[32],"hasError":[32],"imageDimensions":[32],"observedWidth":[32]},null,{"region":["handleRegionChange"]}]]],["p-37644cf5",[[258,"pennlibs-feedback",{"hideQuestion":[4,"hide-question"],"answer":[32],"selected":[32]}],[257,"pennlibs-footer",{"showBuiltWith":[4,"show-built-with"],"navigationByChildren":[32]}],[257,"pennlibs-header",{"serviceName":[1,"service-name"],"serviceLede":[1,"service-lede"],"serviceHref":[1,"service-href"],"theme":[1],"isMenuOpen":[32],"navigation":[32]}]]],["p-1c0dd1ec",[[257,"pennlibs-autocomplete",{"for":[1],"showSuggestions":[32],"currentIndex":[32],"originalValue":[32],"options":[32]},[[0,"slotchange","handleSlotChange"],[16,"input","handleInputEvent"],[16,"focus","handleFocusEvent"],[16,"blur","handleBlurEvent"],[0,"focusout","handleFocusOut"],[4,"keydown","handleKeyDown"]]]]],["p-e1947e84",[[257,"pennlibs-banner"]]],["p-badb334a",[[257,"pennlibs-chat",{"href":[32]}]]],["p-d392e98a",[[257,"pennlibs-hero",{"heroPictureElement":[32],"heroHeadingElement":[32],"heroParagraphElement":[32],"heroSrc":[32]}]]],["p-51bc70b8",[[257,"pennlibs-fallback-img"]]]], options);
20
20
  });
21
21
  //# sourceMappingURL=web.esm.js.map
package/hydrate/index.js CHANGED
@@ -737,6 +737,16 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
737
737
  const shadowRootNodes = shadowRoot ? [] : null;
738
738
  const vnode = newVNode(tagName, null);
739
739
  vnode.$elm$ = hostElm;
740
+ let scopeId2;
741
+ {
742
+ const cmpMeta = hostRef.$cmpMeta$;
743
+ if (cmpMeta && cmpMeta.$flags$ & 10 /* needsScopedEncapsulation */ && hostElm["s-sc"]) {
744
+ scopeId2 = hostElm["s-sc"];
745
+ hostElm.classList.add(scopeId2 + "-h");
746
+ } else if (hostElm["s-sc"]) {
747
+ delete hostElm["s-sc"];
748
+ }
749
+ }
740
750
  if (win.document && (!plt.$orgLocNodes$ || !plt.$orgLocNodes$.size)) {
741
751
  initializeDocumentHydrate(win.document.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());
742
752
  }
@@ -840,6 +850,11 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
840
850
  }
841
851
  }
842
852
  }
853
+ if (scopeId2 && slotNodes.length) {
854
+ slotNodes.forEach((slot) => {
855
+ slot.$elm$.parentElement.classList.add(scopeId2 + "-s");
856
+ });
857
+ }
843
858
  if (shadowRoot) {
844
859
  let rnIdex = 0;
845
860
  const rnLen = shadowRootNodes.length;
@@ -869,6 +884,7 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
869
884
  let childIdSplt;
870
885
  let childVNode;
871
886
  let i2;
887
+ const scopeId2 = hostElm["s-sc"];
872
888
  if (node.nodeType === 1 /* ElementNode */) {
873
889
  childNodeType = node.getAttribute(HYDRATE_CHILD_ID);
874
890
  if (childNodeType) {
@@ -891,6 +907,10 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
891
907
  if (!parentVNode.$children$) {
892
908
  parentVNode.$children$ = [];
893
909
  }
910
+ if (scopeId2 && childIdSplt[0] === hostId) {
911
+ node["s-si"] = scopeId2;
912
+ childVNode.$attrs$.class += " " + scopeId2;
913
+ }
894
914
  const slotName = childVNode.$elm$.getAttribute("s-sn");
895
915
  if (typeof slotName === "string") {
896
916
  if (childVNode.$tag$ === "slot-fb") {
@@ -905,6 +925,9 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
905
925
  shadowRootNodes,
906
926
  slottedNodes
907
927
  );
928
+ if (scopeId2) {
929
+ node.classList.add(scopeId2);
930
+ }
908
931
  }
909
932
  childVNode.$elm$["s-sn"] = slotName;
910
933
  childVNode.$elm$.removeAttribute("s-sn");
@@ -2061,6 +2084,9 @@ var markSlotContentForRelocation = (elm) => {
2061
2084
  }
2062
2085
  };
2063
2086
  var insertBefore = (parent, newNode, reference) => {
2087
+ if (typeof newNode["s-sn"] === "string" && !!newNode["s-sr"] && !!newNode["s-cr"]) {
2088
+ addRemoveSlotScopedClass(newNode["s-cr"], newNode, parent, newNode.parentElement);
2089
+ }
2064
2090
  {
2065
2091
  return parent == null ? void 0 : parent.insertBefore(newNode, reference);
2066
2092
  }
@@ -2613,6 +2639,9 @@ var connectedCallback = (elm) => {
2613
2639
  if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
2614
2640
  const scopeId2 = addStyle(elm.shadowRoot, cmpMeta);
2615
2641
  elm.classList.remove(scopeId2 + "-h", scopeId2 + "-s");
2642
+ } else if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
2643
+ const scopeId2 = getScopeId(cmpMeta);
2644
+ elm["s-sc"] = scopeId2;
2616
2645
  }
2617
2646
  initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef);
2618
2647
  }
@@ -4206,7 +4235,7 @@ class NoImage {
4206
4235
  }; }
4207
4236
  }
4208
4237
 
4209
- const pennlibsFeedbackCss = ":host{display:block;background:#eeeff4;font-family:var(--pl-font-family);font-size:var(--pl-font-size);color:var(--pl-color-fg-default);line-height:1.4;box-sizing:border-box;padding:0.75em 0}@media print{:host{display:none}}*,*::before,*::after{box-sizing:border-box}.viewport-margins{max-width:var(--pl-viewport-margins-max-width);margin:0 auto;padding:0 var(--pl-viewport-margins-gutter, 1em)}.feedback__content{display:flex;justify-content:space-between;gap:var(--pl-space-s);flex-wrap:wrap}.feedback__inline-question{display:flex;flex-wrap:wrap;gap:0.5em;align-items:center}h2{display:inline-block;margin:0;font-family:var(--pl-font-sans-serif);font-size:1em;font-weight:400}p{margin:0;padding:calc(0.5em + 1px) 0}strong{font-weight:600}a{color:var(--pl-color-fg-accent);text-decoration:underline;text-underline-offset:var(--pl-link-text-underline-offset);text-decoration-thickness:var(--pl-link-hover-text-decoration-thickness)}button{all:unset;display:flex;align-items:center;gap:0.5em;padding:0.25em 1.25em;font-family:var(--pl-font-family);font-weight:500;line-height:1.4;color:var(--pl-color-fg-default);background:var(--pl-color-bg-default);border:solid 1px var(--pl-color-fg-subtle);border-radius:1em;box-sizing:border-box}button:hover{cursor:pointer}button:hover span{text-decoration:underline}button.selected{background:var(--pl-color-bg-accent-emphasis);color:var(--pl-color-fg-on-emphasis);border-color:var(--pl-color-bg-accent-emphasis)}.feedback__inline-question+.feedback__share-feedback,p{animation:none}.feedback__content>p{animation:fadeIn 300ms ease-in}@keyframes fadeIn{from{opacity:0}to{opacity:1}}*:focus{outline:0;box-shadow:0 0 0 2px var(--pl-color-bg-attention),\n 0 0 0 3px var(--pl-color-bg-emphasis)}p:focus{outline:none;box-shadow:0 0 0 2px var(--pl-color-bg-attention), 0 0 0 3px var(--pl-color-bg-emphasis)}@media (max-width: 26em){h2{display:block;width:100%;text-align:center}}.help-us{display:flex;flex-direction:column;gap:0.5em}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.visually-hidden:focus,.visually-hidden:active{clip:auto;clip-path:none;height:auto;overflow:visible;position:static;white-space:normal;width:auto}";
4238
+ const pennlibsFeedbackCss = ".feedback__container.sc-pennlibs-feedback{display:block;background:#eeeff4;font-family:var(--pl-font-family);font-size:var(--pl-font-size);color:var(--pl-color-fg-default);line-height:1.4;box-sizing:border-box;padding:0.75em 0}@media print{.sc-pennlibs-feedback-h{display:none}}*.sc-pennlibs-feedback,*.sc-pennlibs-feedback::before,*.sc-pennlibs-feedback::after{box-sizing:border-box}.viewport-margins.sc-pennlibs-feedback{max-width:var(--pl-viewport-margins-max-width);margin:0 auto;padding:0 var(--pl-viewport-margins-gutter, 1em)}.feedback__content.sc-pennlibs-feedback{display:flex;justify-content:space-between;gap:var(--pl-space-s);flex-wrap:wrap}.feedback__inline-question.sc-pennlibs-feedback{display:flex;flex-wrap:wrap;gap:0.5em;align-items:center}h2.sc-pennlibs-feedback{display:inline-block;margin:0;font-family:var(--pl-font-sans-serif);font-size:1em;font-weight:400}p.sc-pennlibs-feedback{margin:0;padding:calc(0.5em + 1px) 0}strong.sc-pennlibs-feedback{font-weight:600}a.sc-pennlibs-feedback{color:var(--pl-color-fg-accent);text-decoration:underline;text-underline-offset:var(--pl-link-text-underline-offset);text-decoration-thickness:var(--pl-link-hover-text-decoration-thickness)}button.sc-pennlibs-feedback{all:unset;display:flex;align-items:center;gap:0.5em;padding:0.25em 1.25em;font-family:var(--pl-font-family);font-weight:500;line-height:1.4;color:var(--pl-color-fg-default);background:var(--pl-color-bg-default);border:solid 1px var(--pl-color-fg-subtle);border-radius:1em;box-sizing:border-box}button.sc-pennlibs-feedback:hover{cursor:pointer}button.sc-pennlibs-feedback:hover span.sc-pennlibs-feedback{text-decoration:underline}button.selected.sc-pennlibs-feedback{background:var(--pl-color-bg-accent-emphasis);color:var(--pl-color-fg-on-emphasis);border-color:var(--pl-color-bg-accent-emphasis)}.feedback__inline-question.sc-pennlibs-feedback+.feedback__share-feedback.sc-pennlibs-feedback,p.sc-pennlibs-feedback{animation:none}.feedback__content.sc-pennlibs-feedback>p.sc-pennlibs-feedback{animation:fadeIn 300ms ease-in}@keyframes fadeIn{from{opacity:0}to{opacity:1}}*.sc-pennlibs-feedback:focus{outline:0;box-shadow:0 0 0 2px var(--pl-color-bg-attention),\n 0 0 0 3px var(--pl-color-bg-emphasis)}p.sc-pennlibs-feedback:focus{outline:none;box-shadow:0 0 0 2px var(--pl-color-bg-attention), 0 0 0 3px var(--pl-color-bg-emphasis)}@media (max-width: 26em){h2.sc-pennlibs-feedback{display:block;width:100%;text-align:center}}.help-us.sc-pennlibs-feedback{display:flex;flex-direction:column;gap:0.5em}.visually-hidden.sc-pennlibs-feedback{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.visually-hidden.sc-pennlibs-feedback:focus,.visually-hidden.sc-pennlibs-feedback:active{clip:auto;clip-path:none;height:auto;overflow:visible;position:static;white-space:normal;width:auto}";
4210
4239
 
4211
4240
  const FEEDBACK_STORAGE_KEY = `pennlibs-feedback-${window.location.pathname}`;
4212
4241
  const FEEDBACK_TTL = 5 * 60 * 1000; // 5 minutes
@@ -4250,8 +4279,10 @@ class PennlibsFeedback {
4250
4279
  }
4251
4280
  }
4252
4281
  }
4253
- handleFeedback(answer) {
4282
+ handleSubmit(event) {
4254
4283
  var _a;
4284
+ event.preventDefault();
4285
+ const answer = event.submitter.value;
4255
4286
  this.selected = answer;
4256
4287
  sessionStorage.setItem(FEEDBACK_STORAGE_KEY, JSON.stringify({ answer, timestamp: Date.now() }));
4257
4288
  this.feedbackEvent.emit({
@@ -4266,11 +4297,11 @@ class PennlibsFeedback {
4266
4297
  }, 600);
4267
4298
  }
4268
4299
  render() {
4269
- return (hAsync("div", { key: 'e470cb9ce96fecddda37c8a557c6670b581d8414', class: "feedback__container" }, hAsync("div", { key: '0f3729d63102379f7219fd9a65c370f05c3f271c', class: "viewport-margins" }, hAsync("div", { key: '3eaa8419d9b5fed5d7cf33de60ab93dd911afa34', class: "feedback__content" }, !this.hideQuestion && (this.answer === 'yes' ? (hAsync("p", null, "Thank you for letting us know.")) : this.answer === 'no' ? (hAsync("p", null, "We'd like to help. ", hAsync("a", { href: "https://www.library.upenn.edu/contact-us" }, "Contact us"), " and let us know what you're looking for.")) : (hAsync("div", { class: "feedback__inline-question" }, hAsync("h2", null, "Did you find what you need?"), hAsync("button", { class: { 'selected': this.selected === 'yes' }, disabled: !!this.selected, onClick: () => this.handleFeedback('yes') }, hAsync("span", null, "Yes"), hAsync("span", { class: "visually-hidden" }, ", I found what I needed.")), hAsync("button", { class: { 'selected': this.selected === 'no' }, disabled: !!this.selected, onClick: () => this.handleFeedback('no') }, hAsync("span", null, "No"), hAsync("span", { class: "visually-hidden" }, ", I did not find what I needed."))))), hAsync("div", { key: '50da9c1f23d14feeb6a2c408b0461a439331fcd9', class: "feedback__share-feedback" }, hAsync("p", { key: '3580e25ecd7b463bb46103a6aee54a710e88c0ff' }, "To help us improve, ", hAsync("a", { key: '276e226f4487ce94b9de30ae40f964e63f0d045b', href: `https://upenn.co1.qualtrics.com/jfe/form/SV_3xVrP7EKWS92zfE?reporting_from_url=${encodeURIComponent(window.location.href)}` }, "share your feedback"), "."))))));
4300
+ return (hAsync("div", { key: '013c3b140f249641d412bd0c19108a6c51d2f12e', class: "feedback__container" }, hAsync("div", { key: 'ef51ab5c419dfdd8679b027882a59171480ea039', class: "viewport-margins" }, hAsync("div", { key: '2c61b86b1e69037d7d63ecde5288bfcc0e1dad75', class: "feedback__content" }, !this.hideQuestion && (this.answer === 'yes' ? (hAsync("p", null, "Thank you for letting us know.")) : this.answer === 'no' ? (hAsync("p", null, "We'd like to help. ", hAsync("a", { href: "https://www.library.upenn.edu/contact-us" }, "Contact us"), " and let us know what you're looking for.")) : (hAsync("form", { class: "feedback__inline-question", onSubmit: (e) => this.handleSubmit(e) }, hAsync("h2", null, "Did you find what you need?"), hAsync("button", { type: "submit", name: "answer", value: "yes", class: { 'selected': this.selected === 'yes' }, disabled: !!this.selected }, hAsync("span", null, "Yes"), hAsync("span", { class: "visually-hidden" }, ", I found what I needed.")), hAsync("button", { type: "submit", name: "answer", value: "no", class: { 'selected': this.selected === 'no' }, disabled: !!this.selected }, hAsync("span", null, "No"), hAsync("span", { class: "visually-hidden" }, ", I did not find what I needed."))))), hAsync("div", { key: '90ccdacc682229570f83867f8d8f587a3e0c16aa', class: "feedback__share-feedback" }, hAsync("p", { key: 'edd15c793ac6af5d31bd98863cd76fce27aed69a' }, "To help us improve, ", hAsync("a", { key: '25f5c322d0fb717b8618b40625af978d57f805bd', href: `https://upenn.co1.qualtrics.com/jfe/form/SV_3xVrP7EKWS92zfE?reporting_from_url=${encodeURIComponent(window.location.href)}` }, "share your feedback"), "."))))));
4270
4301
  }
4271
4302
  static get style() { return pennlibsFeedbackCss; }
4272
4303
  static get cmpMeta() { return {
4273
- "$flags$": 265,
4304
+ "$flags$": 258,
4274
4305
  "$tagName$": "pennlibs-feedback",
4275
4306
  "$members$": {
4276
4307
  "hideQuestion": [4, "hide-question"],
package/hydrate/index.mjs CHANGED
@@ -735,6 +735,16 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
735
735
  const shadowRootNodes = shadowRoot ? [] : null;
736
736
  const vnode = newVNode(tagName, null);
737
737
  vnode.$elm$ = hostElm;
738
+ let scopeId2;
739
+ {
740
+ const cmpMeta = hostRef.$cmpMeta$;
741
+ if (cmpMeta && cmpMeta.$flags$ & 10 /* needsScopedEncapsulation */ && hostElm["s-sc"]) {
742
+ scopeId2 = hostElm["s-sc"];
743
+ hostElm.classList.add(scopeId2 + "-h");
744
+ } else if (hostElm["s-sc"]) {
745
+ delete hostElm["s-sc"];
746
+ }
747
+ }
738
748
  if (win.document && (!plt.$orgLocNodes$ || !plt.$orgLocNodes$.size)) {
739
749
  initializeDocumentHydrate(win.document.body, plt.$orgLocNodes$ = /* @__PURE__ */ new Map());
740
750
  }
@@ -838,6 +848,11 @@ var initializeClientHydrate = (hostElm, tagName, hostId, hostRef) => {
838
848
  }
839
849
  }
840
850
  }
851
+ if (scopeId2 && slotNodes.length) {
852
+ slotNodes.forEach((slot) => {
853
+ slot.$elm$.parentElement.classList.add(scopeId2 + "-s");
854
+ });
855
+ }
841
856
  if (shadowRoot) {
842
857
  let rnIdex = 0;
843
858
  const rnLen = shadowRootNodes.length;
@@ -867,6 +882,7 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
867
882
  let childIdSplt;
868
883
  let childVNode;
869
884
  let i2;
885
+ const scopeId2 = hostElm["s-sc"];
870
886
  if (node.nodeType === 1 /* ElementNode */) {
871
887
  childNodeType = node.getAttribute(HYDRATE_CHILD_ID);
872
888
  if (childNodeType) {
@@ -889,6 +905,10 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
889
905
  if (!parentVNode.$children$) {
890
906
  parentVNode.$children$ = [];
891
907
  }
908
+ if (scopeId2 && childIdSplt[0] === hostId) {
909
+ node["s-si"] = scopeId2;
910
+ childVNode.$attrs$.class += " " + scopeId2;
911
+ }
892
912
  const slotName = childVNode.$elm$.getAttribute("s-sn");
893
913
  if (typeof slotName === "string") {
894
914
  if (childVNode.$tag$ === "slot-fb") {
@@ -903,6 +923,9 @@ var clientHydrate = (parentVNode, childRenderNodes, slotNodes, shadowRootNodes,
903
923
  shadowRootNodes,
904
924
  slottedNodes
905
925
  );
926
+ if (scopeId2) {
927
+ node.classList.add(scopeId2);
928
+ }
906
929
  }
907
930
  childVNode.$elm$["s-sn"] = slotName;
908
931
  childVNode.$elm$.removeAttribute("s-sn");
@@ -2059,6 +2082,9 @@ var markSlotContentForRelocation = (elm) => {
2059
2082
  }
2060
2083
  };
2061
2084
  var insertBefore = (parent, newNode, reference) => {
2085
+ if (typeof newNode["s-sn"] === "string" && !!newNode["s-sr"] && !!newNode["s-cr"]) {
2086
+ addRemoveSlotScopedClass(newNode["s-cr"], newNode, parent, newNode.parentElement);
2087
+ }
2062
2088
  {
2063
2089
  return parent == null ? void 0 : parent.insertBefore(newNode, reference);
2064
2090
  }
@@ -2611,6 +2637,9 @@ var connectedCallback = (elm) => {
2611
2637
  if (cmpMeta.$flags$ & 1 /* shadowDomEncapsulation */) {
2612
2638
  const scopeId2 = addStyle(elm.shadowRoot, cmpMeta);
2613
2639
  elm.classList.remove(scopeId2 + "-h", scopeId2 + "-s");
2640
+ } else if (cmpMeta.$flags$ & 2 /* scopedCssEncapsulation */) {
2641
+ const scopeId2 = getScopeId(cmpMeta);
2642
+ elm["s-sc"] = scopeId2;
2614
2643
  }
2615
2644
  initializeClientHydrate(elm, cmpMeta.$tagName$, hostId, hostRef);
2616
2645
  }
@@ -4204,7 +4233,7 @@ class NoImage {
4204
4233
  }; }
4205
4234
  }
4206
4235
 
4207
- const pennlibsFeedbackCss = ":host{display:block;background:#eeeff4;font-family:var(--pl-font-family);font-size:var(--pl-font-size);color:var(--pl-color-fg-default);line-height:1.4;box-sizing:border-box;padding:0.75em 0}@media print{:host{display:none}}*,*::before,*::after{box-sizing:border-box}.viewport-margins{max-width:var(--pl-viewport-margins-max-width);margin:0 auto;padding:0 var(--pl-viewport-margins-gutter, 1em)}.feedback__content{display:flex;justify-content:space-between;gap:var(--pl-space-s);flex-wrap:wrap}.feedback__inline-question{display:flex;flex-wrap:wrap;gap:0.5em;align-items:center}h2{display:inline-block;margin:0;font-family:var(--pl-font-sans-serif);font-size:1em;font-weight:400}p{margin:0;padding:calc(0.5em + 1px) 0}strong{font-weight:600}a{color:var(--pl-color-fg-accent);text-decoration:underline;text-underline-offset:var(--pl-link-text-underline-offset);text-decoration-thickness:var(--pl-link-hover-text-decoration-thickness)}button{all:unset;display:flex;align-items:center;gap:0.5em;padding:0.25em 1.25em;font-family:var(--pl-font-family);font-weight:500;line-height:1.4;color:var(--pl-color-fg-default);background:var(--pl-color-bg-default);border:solid 1px var(--pl-color-fg-subtle);border-radius:1em;box-sizing:border-box}button:hover{cursor:pointer}button:hover span{text-decoration:underline}button.selected{background:var(--pl-color-bg-accent-emphasis);color:var(--pl-color-fg-on-emphasis);border-color:var(--pl-color-bg-accent-emphasis)}.feedback__inline-question+.feedback__share-feedback,p{animation:none}.feedback__content>p{animation:fadeIn 300ms ease-in}@keyframes fadeIn{from{opacity:0}to{opacity:1}}*:focus{outline:0;box-shadow:0 0 0 2px var(--pl-color-bg-attention),\n 0 0 0 3px var(--pl-color-bg-emphasis)}p:focus{outline:none;box-shadow:0 0 0 2px var(--pl-color-bg-attention), 0 0 0 3px var(--pl-color-bg-emphasis)}@media (max-width: 26em){h2{display:block;width:100%;text-align:center}}.help-us{display:flex;flex-direction:column;gap:0.5em}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.visually-hidden:focus,.visually-hidden:active{clip:auto;clip-path:none;height:auto;overflow:visible;position:static;white-space:normal;width:auto}";
4236
+ const pennlibsFeedbackCss = ".feedback__container.sc-pennlibs-feedback{display:block;background:#eeeff4;font-family:var(--pl-font-family);font-size:var(--pl-font-size);color:var(--pl-color-fg-default);line-height:1.4;box-sizing:border-box;padding:0.75em 0}@media print{.sc-pennlibs-feedback-h{display:none}}*.sc-pennlibs-feedback,*.sc-pennlibs-feedback::before,*.sc-pennlibs-feedback::after{box-sizing:border-box}.viewport-margins.sc-pennlibs-feedback{max-width:var(--pl-viewport-margins-max-width);margin:0 auto;padding:0 var(--pl-viewport-margins-gutter, 1em)}.feedback__content.sc-pennlibs-feedback{display:flex;justify-content:space-between;gap:var(--pl-space-s);flex-wrap:wrap}.feedback__inline-question.sc-pennlibs-feedback{display:flex;flex-wrap:wrap;gap:0.5em;align-items:center}h2.sc-pennlibs-feedback{display:inline-block;margin:0;font-family:var(--pl-font-sans-serif);font-size:1em;font-weight:400}p.sc-pennlibs-feedback{margin:0;padding:calc(0.5em + 1px) 0}strong.sc-pennlibs-feedback{font-weight:600}a.sc-pennlibs-feedback{color:var(--pl-color-fg-accent);text-decoration:underline;text-underline-offset:var(--pl-link-text-underline-offset);text-decoration-thickness:var(--pl-link-hover-text-decoration-thickness)}button.sc-pennlibs-feedback{all:unset;display:flex;align-items:center;gap:0.5em;padding:0.25em 1.25em;font-family:var(--pl-font-family);font-weight:500;line-height:1.4;color:var(--pl-color-fg-default);background:var(--pl-color-bg-default);border:solid 1px var(--pl-color-fg-subtle);border-radius:1em;box-sizing:border-box}button.sc-pennlibs-feedback:hover{cursor:pointer}button.sc-pennlibs-feedback:hover span.sc-pennlibs-feedback{text-decoration:underline}button.selected.sc-pennlibs-feedback{background:var(--pl-color-bg-accent-emphasis);color:var(--pl-color-fg-on-emphasis);border-color:var(--pl-color-bg-accent-emphasis)}.feedback__inline-question.sc-pennlibs-feedback+.feedback__share-feedback.sc-pennlibs-feedback,p.sc-pennlibs-feedback{animation:none}.feedback__content.sc-pennlibs-feedback>p.sc-pennlibs-feedback{animation:fadeIn 300ms ease-in}@keyframes fadeIn{from{opacity:0}to{opacity:1}}*.sc-pennlibs-feedback:focus{outline:0;box-shadow:0 0 0 2px var(--pl-color-bg-attention),\n 0 0 0 3px var(--pl-color-bg-emphasis)}p.sc-pennlibs-feedback:focus{outline:none;box-shadow:0 0 0 2px var(--pl-color-bg-attention), 0 0 0 3px var(--pl-color-bg-emphasis)}@media (max-width: 26em){h2.sc-pennlibs-feedback{display:block;width:100%;text-align:center}}.help-us.sc-pennlibs-feedback{display:flex;flex-direction:column;gap:0.5em}.visually-hidden.sc-pennlibs-feedback{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.visually-hidden.sc-pennlibs-feedback:focus,.visually-hidden.sc-pennlibs-feedback:active{clip:auto;clip-path:none;height:auto;overflow:visible;position:static;white-space:normal;width:auto}";
4208
4237
 
4209
4238
  const FEEDBACK_STORAGE_KEY = `pennlibs-feedback-${window.location.pathname}`;
4210
4239
  const FEEDBACK_TTL = 5 * 60 * 1000; // 5 minutes
@@ -4248,8 +4277,10 @@ class PennlibsFeedback {
4248
4277
  }
4249
4278
  }
4250
4279
  }
4251
- handleFeedback(answer) {
4280
+ handleSubmit(event) {
4252
4281
  var _a;
4282
+ event.preventDefault();
4283
+ const answer = event.submitter.value;
4253
4284
  this.selected = answer;
4254
4285
  sessionStorage.setItem(FEEDBACK_STORAGE_KEY, JSON.stringify({ answer, timestamp: Date.now() }));
4255
4286
  this.feedbackEvent.emit({
@@ -4264,11 +4295,11 @@ class PennlibsFeedback {
4264
4295
  }, 600);
4265
4296
  }
4266
4297
  render() {
4267
- return (hAsync("div", { key: 'e470cb9ce96fecddda37c8a557c6670b581d8414', class: "feedback__container" }, hAsync("div", { key: '0f3729d63102379f7219fd9a65c370f05c3f271c', class: "viewport-margins" }, hAsync("div", { key: '3eaa8419d9b5fed5d7cf33de60ab93dd911afa34', class: "feedback__content" }, !this.hideQuestion && (this.answer === 'yes' ? (hAsync("p", null, "Thank you for letting us know.")) : this.answer === 'no' ? (hAsync("p", null, "We'd like to help. ", hAsync("a", { href: "https://www.library.upenn.edu/contact-us" }, "Contact us"), " and let us know what you're looking for.")) : (hAsync("div", { class: "feedback__inline-question" }, hAsync("h2", null, "Did you find what you need?"), hAsync("button", { class: { 'selected': this.selected === 'yes' }, disabled: !!this.selected, onClick: () => this.handleFeedback('yes') }, hAsync("span", null, "Yes"), hAsync("span", { class: "visually-hidden" }, ", I found what I needed.")), hAsync("button", { class: { 'selected': this.selected === 'no' }, disabled: !!this.selected, onClick: () => this.handleFeedback('no') }, hAsync("span", null, "No"), hAsync("span", { class: "visually-hidden" }, ", I did not find what I needed."))))), hAsync("div", { key: '50da9c1f23d14feeb6a2c408b0461a439331fcd9', class: "feedback__share-feedback" }, hAsync("p", { key: '3580e25ecd7b463bb46103a6aee54a710e88c0ff' }, "To help us improve, ", hAsync("a", { key: '276e226f4487ce94b9de30ae40f964e63f0d045b', href: `https://upenn.co1.qualtrics.com/jfe/form/SV_3xVrP7EKWS92zfE?reporting_from_url=${encodeURIComponent(window.location.href)}` }, "share your feedback"), "."))))));
4298
+ return (hAsync("div", { key: '013c3b140f249641d412bd0c19108a6c51d2f12e', class: "feedback__container" }, hAsync("div", { key: 'ef51ab5c419dfdd8679b027882a59171480ea039', class: "viewport-margins" }, hAsync("div", { key: '2c61b86b1e69037d7d63ecde5288bfcc0e1dad75', class: "feedback__content" }, !this.hideQuestion && (this.answer === 'yes' ? (hAsync("p", null, "Thank you for letting us know.")) : this.answer === 'no' ? (hAsync("p", null, "We'd like to help. ", hAsync("a", { href: "https://www.library.upenn.edu/contact-us" }, "Contact us"), " and let us know what you're looking for.")) : (hAsync("form", { class: "feedback__inline-question", onSubmit: (e) => this.handleSubmit(e) }, hAsync("h2", null, "Did you find what you need?"), hAsync("button", { type: "submit", name: "answer", value: "yes", class: { 'selected': this.selected === 'yes' }, disabled: !!this.selected }, hAsync("span", null, "Yes"), hAsync("span", { class: "visually-hidden" }, ", I found what I needed.")), hAsync("button", { type: "submit", name: "answer", value: "no", class: { 'selected': this.selected === 'no' }, disabled: !!this.selected }, hAsync("span", null, "No"), hAsync("span", { class: "visually-hidden" }, ", I did not find what I needed."))))), hAsync("div", { key: '90ccdacc682229570f83867f8d8f587a3e0c16aa', class: "feedback__share-feedback" }, hAsync("p", { key: 'edd15c793ac6af5d31bd98863cd76fce27aed69a' }, "To help us improve, ", hAsync("a", { key: '25f5c322d0fb717b8618b40625af978d57f805bd', href: `https://upenn.co1.qualtrics.com/jfe/form/SV_3xVrP7EKWS92zfE?reporting_from_url=${encodeURIComponent(window.location.href)}` }, "share your feedback"), "."))))));
4268
4299
  }
4269
4300
  static get style() { return pennlibsFeedbackCss; }
4270
4301
  static get cmpMeta() { return {
4271
- "$flags$": 265,
4302
+ "$flags$": 258,
4272
4303
  "$tagName$": "pennlibs-feedback",
4273
4304
  "$members$": {
4274
4305
  "hideQuestion": [4, "hide-question"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@penn-libraries/web",
3
- "version": "1.2.0",
3
+ "version": "1.2.1-dev.0",
4
4
  "description": "Reusable web designs for University of Pennsylvania Libraries websites. This package contains our code for shared Web Components and Cascading Style Sheets (CSS).",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",