@penn-libraries/web 0.3.0-dev.0 → 0.3.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.
Files changed (42) hide show
  1. package/dist/cjs/{index-4c8a910a.js → index-c5f988a8.js} +36 -3
  2. package/dist/cjs/index-c5f988a8.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +7 -0
  4. package/dist/cjs/index.cjs.js.map +1 -1
  5. package/dist/cjs/loader.cjs.js +1 -1
  6. package/dist/cjs/pennlibs-banner.cjs.entry.js +1 -1
  7. package/dist/cjs/pennlibs-chat_4.cjs.entry.js +21 -24
  8. package/dist/cjs/pennlibs-chat_4.cjs.entry.js.map +1 -1
  9. package/dist/cjs/pennlibs-colors.cjs.entry.js +1 -1
  10. package/dist/cjs/web.cjs.js +1 -1
  11. package/dist/collection/components/pennlibs-feedback/pennlibs-feedback.css +86 -38
  12. package/dist/collection/components/pennlibs-feedback/pennlibs-feedback.js +36 -22
  13. package/dist/collection/components/pennlibs-feedback/pennlibs-feedback.js.map +1 -1
  14. package/dist/collection/index.js +2 -0
  15. package/dist/collection/index.js.map +1 -1
  16. package/dist/{web/p-b4bf0e55.js → esm/index-453c2e4e.js} +35 -4
  17. package/dist/esm/index-453c2e4e.js.map +1 -0
  18. package/dist/esm/index.js +1 -1
  19. package/dist/esm/loader.js +2 -2
  20. package/dist/esm/pennlibs-banner.entry.js +1 -1
  21. package/dist/esm/pennlibs-chat_4.entry.js +21 -24
  22. package/dist/esm/pennlibs-chat_4.entry.js.map +1 -1
  23. package/dist/esm/pennlibs-colors.entry.js +1 -1
  24. package/dist/esm/web.js +2 -2
  25. package/dist/types/components/pennlibs-feedback/pennlibs-feedback.d.ts +11 -0
  26. package/dist/types/components.d.ts +28 -0
  27. package/dist/types/index.d.ts +2 -0
  28. package/dist/web/index.esm.js +1 -1
  29. package/dist/{esm/index-7e87647c.js → web/p-17fe1bcb.js} +35 -4
  30. package/dist/web/p-17fe1bcb.js.map +1 -0
  31. package/dist/web/{p-57040b1b.entry.js → p-83eaa414.entry.js} +2 -2
  32. package/dist/web/{p-6d8b0ef2.entry.js → p-88a9b822.entry.js} +22 -25
  33. package/dist/web/p-88a9b822.entry.js.map +1 -0
  34. package/dist/web/{p-7a1b4eae.entry.js → p-9cf30789.entry.js} +2 -2
  35. package/dist/web/web.esm.js +3 -3
  36. package/package.json +1 -1
  37. package/dist/cjs/index-4c8a910a.js.map +0 -1
  38. package/dist/esm/index-7e87647c.js.map +0 -1
  39. package/dist/web/p-6d8b0ef2.entry.js.map +0 -1
  40. package/dist/web/p-b4bf0e55.js.map +0 -1
  41. /package/dist/web/{p-57040b1b.entry.js.map → p-83eaa414.entry.js.map} +0 -0
  42. /package/dist/web/{p-7a1b4eae.entry.js.map → p-9cf30789.entry.js.map} +0 -0
@@ -15,38 +15,34 @@ export class PennlibsFeedback {
15
15
  this.error = sessionStorage.getItem(FEEDBACK_ERROR_STORAGE_KEY) === 'true';
16
16
  }
17
17
  }
18
+ componentDidRender() {
19
+ if (this.answer === 'yes' && this.yesMessageRef) {
20
+ this.yesMessageRef.focus();
21
+ }
22
+ else if (this.answer === 'no' && this.noMessageRef) {
23
+ this.noMessageRef.focus();
24
+ }
25
+ }
18
26
  handleFeedback(answer) {
19
27
  var _a;
20
28
  this.answer = answer;
21
29
  sessionStorage.setItem(FEEDBACK_STORAGE_KEY, answer);
22
- try {
23
- // @ts-ignore
24
- gtag('event', 'pennlibs_feedback_component_response', {
25
- 'question': FEEDBACK_QUESTION,
26
- 'answer': answer,
27
- 'url': document.location.href,
28
- 'title': document.title,
29
- 'h1': (_a = document.querySelector('h1')) === null || _a === void 0 ? void 0 : _a.textContent,
30
- 'design_system_component': 'pennlibs-feedback',
31
- });
32
- }
33
- catch (error) {
34
- this.error = true;
35
- console.error('Google Analytics is needed for the pennlibs-feedback component to track feedback.', error);
36
- sessionStorage.setItem(FEEDBACK_ERROR_STORAGE_KEY, 'true');
37
- }
30
+ this.feedbackEvent.emit({
31
+ question: FEEDBACK_QUESTION,
32
+ answer: answer,
33
+ url: window.location.href,
34
+ pageHeading: ((_a = document.querySelector('h1')) === null || _a === void 0 ? void 0 : _a.textContent) || undefined,
35
+ pageTitle: document.title || undefined
36
+ });
38
37
  }
39
38
  render() {
40
- if (this.error) {
41
- return (h("div", { class: "feedback-container" }, h("p", null, "We couldn't capture your response. Please ", h("a", { href: "https://www.library.upenn.edu/contact-us" }, "contact us with your feedback"), " so that we can know more about your visit.")));
42
- }
43
39
  if (this.answer === 'yes') {
44
- return (h("div", { class: "feedback-container" }, h("p", null, h("strong", null, "Thank you"), " for your feedback! \uD83D\uDC4D")));
40
+ return (h("div", { class: "feedback-container" }, h("p", { ref: (el) => this.yesMessageRef = el, tabindex: "-1" }, h("strong", null, "Thank you"), " for your feedback! \uD83D\uDC4D")));
45
41
  }
46
42
  if (this.answer === 'no') {
47
- return (h("div", { class: "feedback-container" }, h("p", null, "To ", h("strong", null, "help us improve"), ", we'd like to know more about your visit. Please ", h("a", { href: "https://www.library.upenn.edu/contact-us" }, "contact us with your feedback"), ".")));
43
+ return (h("div", { class: "feedback-container" }, h("p", { ref: (el) => this.noMessageRef = el, tabindex: "-1" }, "To ", h("strong", null, "help us improve"), ", we'd like to know more about your visit. Please ", h("a", { href: "https://www.library.upenn.edu/contact-us" }, "contact us with your feedback"), ".")));
48
44
  }
49
- return (h("div", { class: "feedback-container" }, h("h2", null, FEEDBACK_QUESTION), h("button", { onClick: () => this.handleFeedback('yes') }, "\uD83D\uDC4D", h("span", null, "Yes")), h("button", { onClick: () => this.handleFeedback('no') }, "\uD83D\uDC4E", h("span", null, "No"))));
45
+ return (h("div", { class: "feedback-container" }, h("h2", null, FEEDBACK_QUESTION), h("button", { onClick: () => this.handleFeedback('yes') }, "\uD83D\uDC4D", h("span", null, "Yes", h("span", { class: "visually-hidden" }, ", I found what I need."))), h("button", { onClick: () => this.handleFeedback('no') }, "\uD83D\uDC4E", h("span", null, "No", h("span", { class: "visually-hidden" }, ", I didn't find what I need.")))));
50
46
  }
51
47
  static get is() { return "pennlibs-feedback"; }
52
48
  static get encapsulation() { return "shadow"; }
@@ -66,5 +62,23 @@ export class PennlibsFeedback {
66
62
  "answer": {}
67
63
  };
68
64
  }
65
+ static get events() {
66
+ return [{
67
+ "method": "feedbackEvent",
68
+ "name": "pennlibs-feedback",
69
+ "bubbles": true,
70
+ "cancelable": true,
71
+ "composed": true,
72
+ "docs": {
73
+ "tags": [],
74
+ "text": ""
75
+ },
76
+ "complexType": {
77
+ "original": "{\n question: string;\n answer: string;\n url: string;\n pageHeading?: string;\n pageTitle?: string;\n }",
78
+ "resolved": "{ question: string; answer: string; url: string; pageHeading?: string; pageTitle?: string; }",
79
+ "references": {}
80
+ }
81
+ }];
82
+ }
69
83
  }
70
84
  //# sourceMappingURL=pennlibs-feedback.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pennlibs-feedback.js","sourceRoot":"","sources":["../../../src/components/pennlibs-feedback/pennlibs-feedback.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEpD,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AACxD,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;AACxD,MAAM,0BAA0B,GAAG,yBAAyB,CAAC;AAO7D,MAAM,OAAO,gBAAgB;;qBACD,KAAK;sBACO,SAAS;;IAE/C,iBAAiB;QACf,IAAI,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAW,CAAC;QACvE,CAAC;QAED,IAAI,cAAc,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,0BAA0B,CAAC,KAAK,MAAM,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,cAAc,CAAC,MAAc;;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,cAAc,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;QAErD,IAAI,CAAC;YACH,aAAa;YACb,IAAI,CAAC,OAAO,EAAE,sCAAsC,EAAE;gBACpD,UAAU,EAAE,iBAAiB;gBAC7B,QAAQ,EAAE,MAAM;gBAChB,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;gBAC7B,OAAO,EAAE,QAAQ,CAAC,KAAK;gBACvB,IAAI,EAAE,MAAA,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,0CAAE,WAAW;gBAC/C,yBAAyB,EAAE,mBAAmB;aAC/C,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,mFAAmF,EAAE,KAAK,CAAC,CAAC;YAC1G,cAAc,CAAC,OAAO,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,CACL,WAAK,KAAK,EAAC,oBAAoB;gBAC7B;;oBAA6C,SAAG,IAAI,EAAC,0CAA0C,oCAAkC;kEAA+C,CAC5K,CACP,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC1B,OAAO,CACL,WAAK,KAAK,EAAC,oBAAoB;gBAC7B;oBAAG,8BAA0B;uDAA0B,CACnD,CACP,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,CACL,WAAK,KAAK,EAAC,oBAAoB;gBAC7B;;oBAAM,oCAAgC;;oBAAkD,SAAG,IAAI,EAAC,0CAA0C,oCAAkC;wBAAK,CAC7K,CACP,CAAC;QACJ,CAAC;QAED,OAAO,CACL,WAAK,KAAK,EAAC,oBAAoB;YAC7B,cAAK,iBAAiB,CAAM;YAC5B,cAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;;gBAE/C,sBAAgB,CACT;YACT,cAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;;gBAE9C,qBAAe,CACR,CACL,CACP,CAAA;IACH,CAAC;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, State } from '@stencil/core';\n\nconst FEEDBACK_STORAGE_KEY = 'pennlibs-feedback-answer';\nconst FEEDBACK_QUESTION = 'Did you find what you need?';\nconst FEEDBACK_ERROR_STORAGE_KEY = 'pennlibs-feedback-error';\n\n@Component({\n tag: 'pennlibs-feedback',\n styleUrl: 'pennlibs-feedback.css',\n shadow: true,\n})\nexport class PennlibsFeedback { \n @State() error: boolean = false;\n @State() answer: string | undefined = undefined;\n\n componentWillLoad() {\n if (sessionStorage.getItem(FEEDBACK_STORAGE_KEY)) {\n this.answer = sessionStorage.getItem(FEEDBACK_STORAGE_KEY) as string;\n }\n\n if (sessionStorage.getItem(FEEDBACK_ERROR_STORAGE_KEY)) {\n this.error = sessionStorage.getItem(FEEDBACK_ERROR_STORAGE_KEY) === 'true';\n }\n }\n\n handleFeedback(answer: string) {\n this.answer = answer;\n sessionStorage.setItem(FEEDBACK_STORAGE_KEY, answer);\n\n try {\n // @ts-ignore\n gtag('event', 'pennlibs_feedback_component_response', {\n 'question': FEEDBACK_QUESTION,\n 'answer': answer,\n 'url': document.location.href,\n 'title': document.title,\n 'h1': document.querySelector('h1')?.textContent,\n 'design_system_component': 'pennlibs-feedback',\n });\n } catch (error) {\n this.error = true;\n console.error('Google Analytics is needed for the pennlibs-feedback component to track feedback.', error);\n sessionStorage.setItem(FEEDBACK_ERROR_STORAGE_KEY, 'true');\n }\n }\n \n render() {\n if (this.error) {\n return (\n <div class=\"feedback-container\">\n <p>We couldn't capture your response. Please <a href=\"https://www.library.upenn.edu/contact-us\">contact us with your feedback</a> so that we can know more about your visit.</p>\n </div>\n );\n }\n\n if (this.answer === 'yes') {\n return (\n <div class=\"feedback-container\">\n <p><strong>Thank you</strong> for your feedback! 👍</p>\n </div>\n );\n }\n\n if (this.answer === 'no') {\n return (\n <div class=\"feedback-container\">\n <p>To <strong>help us improve</strong>, we'd like to know more about your visit. Please <a href=\"https://www.library.upenn.edu/contact-us\">contact us with your feedback</a>.</p>\n </div>\n );\n }\n\n return (\n <div class=\"feedback-container\">\n <h2>{FEEDBACK_QUESTION}</h2>\n <button onClick={() => this.handleFeedback('yes')}>\n 👍\n <span>Yes</span>\n </button>\n <button onClick={() => this.handleFeedback('no')}>\n 👎\n <span>No</span>\n </button>\n </div>\n )\n }\n}\n\n"]}
1
+ {"version":3,"file":"pennlibs-feedback.js","sourceRoot":"","sources":["../../../src/components/pennlibs-feedback/pennlibs-feedback.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAgB,MAAM,eAAe,CAAC;AAEzE,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AACxD,MAAM,iBAAiB,GAAG,6BAA6B,CAAC;AACxD,MAAM,0BAA0B,GAAG,yBAAyB,CAAC;AAO7D,MAAM,OAAO,gBAAgB;;qBACD,KAAK;sBACO,SAAS;;IAkB/C,iBAAiB;QACf,IAAI,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,oBAAoB,CAAW,CAAC;QACvE,CAAC;QAED,IAAI,cAAc,CAAC,OAAO,CAAC,0BAA0B,CAAC,EAAE,CAAC;YACvD,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,0BAA0B,CAAC,KAAK,MAAM,CAAC;QAC7E,CAAC;IACH,CAAC;IAED,kBAAkB;QAChB,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAChD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACrD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,cAAc,CAAC,MAAc;;QAC3B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,cAAc,CAAC,OAAO,CAAC,oBAAoB,EAAE,MAAM,CAAC,CAAC;QAErD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YACtB,QAAQ,EAAE,iBAAiB;YAC3B,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,MAAM,CAAC,QAAQ,CAAC,IAAI;YACzB,WAAW,EAAE,CAAA,MAAA,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,0CAAE,WAAW,KAAI,SAAS;YACnE,SAAS,EAAE,QAAQ,CAAC,KAAK,IAAI,SAAS;SACvC,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YAC1B,OAAO,CACL,WAAK,KAAK,EAAC,oBAAoB;gBAC7B,SACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,GAAG,EAA0B,EAC5D,QAAQ,EAAC,IAAI;oBAEb,8BAA0B;uDACxB,CACA,CACP,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,CACL,WAAK,KAAK,EAAC,oBAAoB;gBAC7B,SACE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,EAA0B,EAC3D,QAAQ,EAAC,IAAI;;oBAEV,oCAAgC;;oBAAkD,SAAG,IAAI,EAAC,0CAA0C,oCAAkC;wBACvK,CACA,CACP,CAAC;QACJ,CAAC;QAED,OAAO,CACL,WAAK,KAAK,EAAC,oBAAoB;YAC7B,cAAK,iBAAiB,CAAM;YAC5B,cAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;;gBAE/C;;oBAAS,YAAM,KAAK,EAAC,iBAAiB,6BAA8B,CAAO,CACpE;YACT,cAAQ,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;;gBAE9C;;oBAAQ,YAAM,KAAK,EAAC,iBAAiB,mCAAoC,CAAO,CACzE,CACL,CACP,CAAA;IACH,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, State, Event, EventEmitter } from '@stencil/core';\n\nconst FEEDBACK_STORAGE_KEY = 'pennlibs-feedback-answer';\nconst FEEDBACK_QUESTION = 'Did you find what you need?';\nconst FEEDBACK_ERROR_STORAGE_KEY = 'pennlibs-feedback-error';\n\n@Component({\n tag: 'pennlibs-feedback',\n styleUrl: 'pennlibs-feedback.css',\n shadow: true,\n})\nexport class PennlibsFeedback { \n @State() error: boolean = false;\n @State() answer: string | undefined = undefined;\n\n @Event({\n eventName: 'pennlibs-feedback',\n composed: true,\n cancelable: true,\n bubbles: true,\n }) feedbackEvent!: EventEmitter<{\n question: string;\n answer: string;\n url: string;\n pageHeading?: string;\n pageTitle?: string;\n }>;\n\n private yesMessageRef?: HTMLParagraphElement;\n private noMessageRef?: HTMLParagraphElement;\n\n componentWillLoad() {\n if (sessionStorage.getItem(FEEDBACK_STORAGE_KEY)) {\n this.answer = sessionStorage.getItem(FEEDBACK_STORAGE_KEY) as string;\n }\n\n if (sessionStorage.getItem(FEEDBACK_ERROR_STORAGE_KEY)) {\n this.error = sessionStorage.getItem(FEEDBACK_ERROR_STORAGE_KEY) === 'true';\n }\n }\n\n componentDidRender() {\n if (this.answer === 'yes' && this.yesMessageRef) {\n this.yesMessageRef.focus();\n } else if (this.answer === 'no' && this.noMessageRef) {\n this.noMessageRef.focus();\n }\n }\n\n handleFeedback(answer: string) {\n this.answer = answer;\n sessionStorage.setItem(FEEDBACK_STORAGE_KEY, answer);\n \n this.feedbackEvent.emit({\n question: FEEDBACK_QUESTION,\n answer: answer,\n url: window.location.href,\n pageHeading: document.querySelector('h1')?.textContent || undefined,\n pageTitle: document.title || undefined\n });\n }\n \n render() {\n if (this.answer === 'yes') {\n return (\n <div class=\"feedback-container\">\n <p \n ref={(el) => this.yesMessageRef = el as HTMLParagraphElement}\n tabindex=\"-1\"\n >\n <strong>Thank you</strong> for your feedback! 👍\n </p>\n </div>\n );\n }\n\n if (this.answer === 'no') {\n return (\n <div class=\"feedback-container\">\n <p \n ref={(el) => this.noMessageRef = el as HTMLParagraphElement}\n tabindex=\"-1\"\n >\n To <strong>help us improve</strong>, we'd like to know more about your visit. Please <a href=\"https://www.library.upenn.edu/contact-us\">contact us with your feedback</a>.\n </p>\n </div>\n );\n }\n\n return (\n <div class=\"feedback-container\">\n <h2>{FEEDBACK_QUESTION}</h2>\n <button onClick={() => this.handleFeedback('yes')}>\n 👍\n <span>Yes<span class=\"visually-hidden\">, I found what I need.</span></span>\n </button>\n <button onClick={() => this.handleFeedback('no')}>\n 👎\n <span>No<span class=\"visually-hidden\">, I didn't find what I need.</span></span>\n </button>\n </div>\n )\n }\n}\n\n"]}
@@ -1,2 +1,4 @@
1
+ import { setAssetPath } from "@stencil/core";
1
2
  export * from './components';
3
+ export { setAssetPath };
2
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC","sourcesContent":["export * from './components';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,CAAC","sourcesContent":["import { setAssetPath } from '@stencil/core';\n\nexport * from './components';\nexport { setAssetPath };\n"]}
@@ -1,5 +1,5 @@
1
1
  const NAMESPACE = 'web';
2
- const BUILD = /* web */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: false, cmpDidRender: false, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: false, element: false, event: false, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: false, propMutable: false, propNumber: false, propString: true, reflect: false, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: false, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: false, watchCallback: false };
2
+ const BUILD = /* web */ { allRenderFn: true, appendChildSlotFix: false, asyncLoading: true, asyncQueue: false, attachStyles: true, cloneNodeFix: false, cmpDidLoad: false, cmpDidRender: true, cmpDidUnload: false, cmpDidUpdate: false, cmpShouldUpdate: false, cmpWillLoad: true, cmpWillRender: false, cmpWillUpdate: false, connectedCallback: true, constructableCSS: true, cssAnnotations: true, devTools: false, disconnectedCallback: false, element: false, event: true, experimentalScopedSlotChanges: false, experimentalSlotFixes: false, formAssociated: false, hasRenderFn: true, hostListener: true, hostListenerTarget: false, hostListenerTargetBody: false, hostListenerTargetDocument: false, hostListenerTargetParent: false, hostListenerTargetWindow: false, hotModuleReplacement: false, hydrateClientSide: false, hydrateServerSide: false, hydratedAttribute: false, hydratedClass: true, hydratedSelectorName: "hydrated", initializeNextTick: false, invisiblePrehydration: true, isDebug: false, isDev: false, isTesting: false, lazyLoad: true, lifecycle: true, lifecycleDOMEvents: false, member: true, method: false, mode: false, observeAttribute: true, profile: false, prop: true, propBoolean: false, propMutable: false, propNumber: false, propString: true, reflect: false, scoped: false, scopedSlotTextContentFix: false, scriptDataOpts: false, shadowDelegatesFocus: false, shadowDom: true, slot: true, slotChildNodesFix: false, slotRelocation: false, state: true, style: true, svg: true, taskQueue: true, transformTagName: false, updatable: true, vdomAttribute: true, vdomClass: true, vdomFunctional: false, vdomKey: true, vdomListener: true, vdomPropOrAttr: true, vdomRef: true, vdomRender: true, vdomStyle: true, vdomText: true, vdomXlink: false, watchCallback: false };
3
3
 
4
4
  /*
5
5
  Stencil Client Platform v4.20.0 | MIT Licensed | https://stenciljs.com
@@ -137,6 +137,7 @@ var getAssetPath = (path) => {
137
137
  const assetUrl = new URL(path, plt.$resourcesUrl$);
138
138
  return assetUrl.origin !== win.location.origin ? assetUrl.href : assetUrl.pathname;
139
139
  };
140
+ var setAssetPath = (path) => plt.$resourcesUrl$ = path;
140
141
 
141
142
  // src/utils/constants.ts
142
143
  var EMPTY_OBJ = {};
@@ -292,6 +293,21 @@ var parsePropertyValue = (propValue, propType) => {
292
293
  return propValue;
293
294
  };
294
295
  var getElement = (ref) => getHostRef(ref).$hostElement$ ;
296
+
297
+ // src/runtime/event-emitter.ts
298
+ var createEvent = (ref, name, flags) => {
299
+ const elm = getElement(ref);
300
+ return {
301
+ emit: (detail) => {
302
+ return emitEvent(elm, name, {
303
+ bubbles: !!(flags & 4 /* Bubbles */),
304
+ composed: !!(flags & 2 /* Composed */),
305
+ cancelable: !!(flags & 1 /* Cancellable */),
306
+ detail
307
+ });
308
+ }
309
+ };
310
+ };
295
311
  var emitEvent = (elm, name, opts) => {
296
312
  const ev = plt.ce(name, opts);
297
313
  elm.dispatchEvent(ev);
@@ -405,7 +421,11 @@ var setAccessor = (elm, memberName, oldValue, newValue, isSvg, flags) => {
405
421
  }
406
422
  }
407
423
  }
408
- } else if (memberName === "key") ; else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") {
424
+ } else if (memberName === "key") ; else if (memberName === "ref") {
425
+ if (newValue) {
426
+ newValue(elm);
427
+ }
428
+ } else if ((!isProp ) && memberName[0] === "o" && memberName[1] === "n") {
409
429
  if (memberName[2] === "-") {
410
430
  memberName = memberName.slice(3);
411
431
  } else if (isMemberInElement(win, ln)) {
@@ -557,6 +577,7 @@ var removeVnodes = (vnodes, startIdx, endIdx) => {
557
577
  const vnode = vnodes[index];
558
578
  if (vnode) {
559
579
  const elm = vnode.$elm$;
580
+ nullifyVNodeRefs(vnode);
560
581
  if (elm) {
561
582
  elm.remove();
562
583
  }
@@ -691,6 +712,12 @@ var patch = (oldVNode, newVNode2, isInitialRender = false) => {
691
712
  elm.data = text;
692
713
  }
693
714
  };
715
+ var nullifyVNodeRefs = (vNode) => {
716
+ {
717
+ vNode.$attrs$ && vNode.$attrs$.ref && vNode.$attrs$.ref(null);
718
+ vNode.$children$ && vNode.$children$.map(nullifyVNodeRefs);
719
+ }
720
+ };
694
721
  var insertBefore = (parent, newNode, reference) => {
695
722
  const inserted = parent == null ? void 0 : parent.insertBefore(newNode, reference);
696
723
  return inserted;
@@ -822,7 +849,11 @@ var postUpdateComponent = (hostRef) => {
822
849
  const tagName = hostRef.$cmpMeta$.$tagName$;
823
850
  const elm = hostRef.$hostElement$;
824
851
  const endPostUpdate = createTime("postUpdate", tagName);
852
+ const instance = hostRef.$lazyInstance$ ;
825
853
  const ancestorComponent = hostRef.$ancestorComponent$;
854
+ {
855
+ safeCall(instance, "componentDidRender");
856
+ }
826
857
  if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {
827
858
  hostRef.$flags$ |= 64 /* hasLoadedComponent */;
828
859
  {
@@ -1233,6 +1264,6 @@ var hostListenerOpts = (flags) => supportsListenerOptions ? {
1233
1264
  // src/runtime/nonce.ts
1234
1265
  var setNonce = (nonce) => plt.$nonce$ = nonce;
1235
1266
 
1236
- export { getElement as a, bootstrapLazy as b, getAssetPath as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
1267
+ export { setAssetPath as a, bootstrapLazy as b, createEvent as c, getElement as d, getAssetPath as g, h, promiseResolve as p, registerInstance as r, setNonce as s };
1237
1268
 
1238
- //# sourceMappingURL=p-b4bf0e55.js.map
1269
+ //# sourceMappingURL=index-453c2e4e.js.map