@penn-libraries/web 1.1.0 → 1.1.1-dev.2

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 (64) hide show
  1. package/dist/cjs/{index-4ixBJUwu.js → index-DVr0pLZy.js} +62 -3
  2. package/dist/cjs/index-DVr0pLZy.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.pennlibs-fallback-img.pennlibs-footer.pennlibs-header.pennlibs-iiif-img.entry.cjs.js.map +1 -0
  6. package/dist/cjs/{pennlibs-autocomplete_3.cjs.entry.js → pennlibs-autocomplete_5.cjs.entry.js} +261 -2
  7. package/dist/cjs/pennlibs-banner.cjs.entry.js +1 -1
  8. package/dist/cjs/pennlibs-chat.cjs.entry.js +1 -1
  9. package/dist/cjs/pennlibs-feedback.cjs.entry.js +1 -1
  10. package/dist/cjs/pennlibs-hero.cjs.entry.js +1 -1
  11. package/dist/cjs/web.cjs.js +2 -2
  12. package/dist/collection/collection-manifest.json +2 -1
  13. package/dist/collection/components/pennlibs-iiif-img/pennlibs-iiif-img.css +44 -0
  14. package/dist/collection/components/pennlibs-iiif-img/pennlibs-iiif-img.js +432 -0
  15. package/dist/collection/components/pennlibs-iiif-img/pennlibs-iiif-img.js.map +1 -0
  16. package/dist/components/index.d.ts +2 -0
  17. package/dist/components/index.js +1 -0
  18. package/dist/components/index.js.map +1 -1
  19. package/dist/components/pennlibs-fallback-img.js +1 -32
  20. package/dist/components/pennlibs-fallback-img.js.map +1 -1
  21. package/dist/components/pennlibs-fallback-img2.js +37 -0
  22. package/dist/components/pennlibs-fallback-img2.js.map +1 -0
  23. package/dist/components/pennlibs-iiif-img.d.ts +11 -0
  24. package/dist/components/pennlibs-iiif-img.js +289 -0
  25. package/dist/components/pennlibs-iiif-img.js.map +1 -0
  26. package/dist/docs.json +239 -3
  27. package/dist/{web/p-Di48-Vtw.js → esm/index-Cst_89-s.js} +62 -3
  28. package/dist/esm/index-Cst_89-s.js.map +1 -0
  29. package/dist/esm/index.js +1 -1
  30. package/dist/esm/loader.js +3 -3
  31. package/dist/esm/pennlibs-autocomplete.pennlibs-fallback-img.pennlibs-footer.pennlibs-header.pennlibs-iiif-img.entry.js.map +1 -0
  32. package/dist/esm/{pennlibs-autocomplete_3.entry.js → pennlibs-autocomplete_5.entry.js} +260 -3
  33. package/dist/esm/pennlibs-banner.entry.js +1 -1
  34. package/dist/esm/pennlibs-chat.entry.js +1 -1
  35. package/dist/esm/pennlibs-feedback.entry.js +1 -1
  36. package/dist/esm/pennlibs-hero.entry.js +1 -1
  37. package/dist/esm/web.js +3 -3
  38. package/dist/types/components/pennlibs-iiif-img/pennlibs-iiif-img.d.ts +130 -0
  39. package/dist/types/components.d.ts +119 -0
  40. package/dist/web/index.esm.js +1 -1
  41. package/dist/web/{p-6503bb09.entry.js → p-4ffdbc93.entry.js} +1 -1
  42. package/dist/web/{p-56b9f10c.entry.js → p-621f166e.entry.js} +1 -1
  43. package/dist/web/{p-269363bf.entry.js → p-6e0c2de9.entry.js} +260 -3
  44. package/dist/web/{p-783e2a87.entry.js → p-848d9acc.entry.js} +1 -1
  45. package/dist/{esm/index-Di48-Vtw.js → web/p-Cst_89-s.js} +62 -3
  46. package/dist/web/p-Cst_89-s.js.map +1 -0
  47. package/dist/web/{p-7cbd16c0.entry.js → p-a9c79310.entry.js} +1 -1
  48. package/dist/web/pennlibs-autocomplete.pennlibs-fallback-img.pennlibs-footer.pennlibs-header.pennlibs-iiif-img.entry.esm.js.map +1 -0
  49. package/dist/web/web.esm.js +3 -3
  50. package/hydrate/index.js +323 -2
  51. package/hydrate/index.mjs +323 -2
  52. package/package.json +1 -1
  53. package/dist/cjs/index-4ixBJUwu.js.map +0 -1
  54. package/dist/cjs/pennlibs-autocomplete.pennlibs-footer.pennlibs-header.entry.cjs.js.map +0 -1
  55. package/dist/cjs/pennlibs-fallback-img.cjs.entry.js +0 -20
  56. package/dist/cjs/pennlibs-fallback-img.entry.cjs.js.map +0 -1
  57. package/dist/esm/index-Di48-Vtw.js.map +0 -1
  58. package/dist/esm/pennlibs-autocomplete.pennlibs-footer.pennlibs-header.entry.js.map +0 -1
  59. package/dist/esm/pennlibs-fallback-img.entry.js +0 -18
  60. package/dist/esm/pennlibs-fallback-img.entry.js.map +0 -1
  61. package/dist/web/p-09e4a02c.entry.js +0 -18
  62. package/dist/web/p-Di48-Vtw.js.map +0 -1
  63. package/dist/web/pennlibs-autocomplete.pennlibs-footer.pennlibs-header.entry.esm.js.map +0 -1
  64. package/dist/web/pennlibs-fallback-img.entry.esm.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const NAMESPACE = 'web';
4
- const BUILD = /* web */ { hydratedSelectorName: "hydrated", lazyLoad: true, propChangeCallback: false, updatable: true};
4
+ const BUILD = /* web */ { hydratedSelectorName: "hydrated", lazyLoad: true, propChangeCallback: true, updatable: true};
5
5
 
6
6
  const globalScripts = () => {};
7
7
  const globalStyles = "@import url(\"https://use.typekit.net/gbh8cmg.css\");\n\n:root {\n --pl-color-penn-red: #990000;\n --pl-color-penn-blue: #011F5B;\n --pl-color-gray-dark: #2D3545;\n --pl-color-gray: #595F6A;\n --pl-color-gray-light: #F5F5F6;\n --pl-color-gray-blue-light: #EEEEF4;\n --pl-color-white: #FFFFFF;\n --pl-color-blue: #0E5696;\n --pl-color-blue-light: #D4E4F2;\n --pl-color-green: #267434;\n --pl-color-green-light: #F1F7E1;\n --pl-color-orange: #BD4718;\n --pl-color-orange-light: #FEEDDD;\n --pl-color-purple: #80317F;\n --pl-color-purple-light: #F2DFED;\n --pl-color-bg-gradient-1: linear-gradient(45deg, rgba(200, 219, 232, 0.8), rgba(239, 210, 215, 0.8));\n --pl-color-bg-gradient-2: linear-gradient(45deg, #dbe9f5, #feefdf);\n --pl-font-size: 16px;\n --pl-font-sans-serif: proxima-nova, system-ui, sans-serif;\n --pl-font-serif: cormorant-garamond, serif;\n --pl-link-text-underline-offset: 0.2em;\n --pl-link-text-decoration-thickness: 1px;\n --pl-link-hover-text-decoration-thickness: 2px;\n --pl-viewport-margins-max-width: 1440px;\n --pl-viewport-margins-gutter: 1em;\n --pl-color-fg-default: var(--pl-color-gray-dark);\n --pl-color-fg-subtle: var(--pl-color-gray);\n --pl-color-fg-subtle-on-emphasis: var(--pl-color-gray-light);\n --pl-color-fg-on-emphasis: var(--pl-color-white);\n --pl-color-fg-accent: var(--pl-color-blue);\n --pl-color-fg-success: var(--pl-color-green);\n --pl-color-fg-attention: var(--pl-color-orange);\n --pl-color-fg-info: var(--pl-color-purple);\n --pl-color-bg-default: var(--pl-color-white);\n --pl-color-bg-subtle: var(--pl-color-gray-light);\n --pl-color-bg-subtle-brand: var(--pl-color-gray-blue-light);\n --pl-color-bg-emphasis: var(--pl-color-gray-dark);\n --pl-color-bg-accent: var(--pl-color-blue-light);\n --pl-color-bg-success: var(--pl-color-green-light);\n --pl-color-bg-attention: var(--pl-color-orange-light);\n --pl-color-bg-info: var(--pl-color-purple-light);\n --pl-color-bg-accent-emphasis: var(--pl-color-blue);\n --pl-color-bg-success-emphasis: var(--pl-color-green);\n --pl-color-bg-attention-emphasis: var(--pl-color-orange);\n --pl-color-bg-info-emphasis: var(--pl-color-purple);\n --pl-font-family: var(--pl-font-sans-serif);\n --pl-link-text-underline-offset: 0.2em;\n --pl-link-text-decoration-thickness: 1px;\n --pl-link-hover-text-decoration-thickness: 2px;\n\n /* Font size tokens */\n --pl-font-size-5xl: 3rem;\n --pl-font-size-4xl: 2.75rem;\n --pl-font-size-3xl: 2.25rem;\n --pl-font-size-2xl: 1.5rem;\n --pl-font-size-xl: 1.25rem;\n --pl-font-size-l: 1.125rem;\n --pl-font-size-m: 1rem;\n --pl-font-size-s: 0.875rem;\n --pl-font-size-xs: 0.75rem;\n \n /* Spacing tokens */\n --pl-space-3xs: 0.125rem;\n --pl-space-2xs: 0.25rem;\n --pl-space-xs: 0.5rem;\n --pl-space-s: 0.75rem;\n --pl-space-m: 1rem;\n --pl-space-l: 1.5rem;\n --pl-space-xl: 2rem;\n --pl-space-2xl: 3rem;\n --pl-space-3xl: 4rem;\n\n /* Border radius tokens */\n --pl-border-radius-subtle: 0.25rem;\n --pl-border-radius: 1rem;\n\n /* Focus box shadow tokens */\n --pl-focus-box-shadow: 0 0 0 2px var(--pl-color-bg-accent), 0 0 0 4px var(--pl-color-fg-default);\n}\n\n@media (min-width: 768px) {\n :root {\n --pl-viewport-margins-gutter: 3em;\n }\n}\n\n@media print {\n body {\n zoom: 80%;\n }\n}\n\n.pl-viewport-margins {\n max-width: var(--pl-viewport-margins-max-width);\n margin: 0 auto;\n padding: 0 var(--pl-viewport-margins-gutter, 1rem);\n width: 100%;\n}\n\n/*\n Prevents a flash of unstyled content (FOUC) while custom elements are loading.\n Ensures that elements are only visible once they're fully defined and ready to be displayed.\n*/\n:not(:defined) {\n visibility: hidden;\n}\n\n/*\n Reset\n*/\n\n:where(.pl-reset) {\n font-weight: 400;\n line-height: 1.4;\n color: var(--pl-color-fg-default);\n accent-color: var(--pl-color-fg-accent);\n\n /* Use a more-intuitive box-sizing model */\n & :is(*, *::before, *::after) {\n box-sizing: border-box;\n margin: 0;\n }\n\n /* Improve media defaults */\n & :is(img, picture, video, canvas, svg) {\n display: block;\n max-width: 100%;\n }\n\n /* Inherit fonts for form controls */\n & :is(input, button, textarea, select) {\n font: var(--pl-font-family);\n }\n\n /* Avoid text overflows */\n & :is(p, h1, h2, h3, h4, h5, h6) {\n overflow-wrap: break-word;\n }\n\n /* Improve line wrapping */\n & p {\n text-wrap: pretty;\n }\n & :is(h1, h2, h3, h4, h5, h6) {\n text-wrap: balance;\n }\n\n /* Link styles */\n & a {\n color: var(--pl-color-fg-accent);\n text-decoration: underline;\n text-underline-offset: var(--pl-link-text-underline-offset);\n text-decoration-thickness: var(--pl-link-text-decoration-thickness);\n font-weight: 500;\n\n &:hover {\n text-decoration-thickness: 3px;\n }\n }\n}\n\n/*\n Typeset\n*/\n\n:where(.pl-typeset) {\n font-family: var(--pl-font-family);\n \n & :is(p, .pl-p) {\n font-family: var(--pl-font-family);\n }\n\n & :is(h1, .pl-h1, h2, .pl-h2) {\n font-family: var(--pl-font-serif);\n }\n\n & :is(h1, .pl-h1, h2, .pl-h2, h3, .pl-h3, h4, .pl-h4, h5, .pl-h5, h6, .pl-h6) {\n font-weight: 600;\n }\n\n & *+:is(h2,h3,h4,h5,h6) {\n margin-block-start: var(--pl-space-xl);\n }\n\n & :is(h1, .pl-h1, h2, .pl-h2) {\n font-weight: 600;\n line-height: 1.125;\n font-family: var(--pl-font-serif);\n color: var(--pl-color-penn-blue);\n position: relative;\n\n &::after {\n bottom: -0.25rem;\n content: \"\";\n display: block;\n height: 4px;\n opacity: 1;\n position: absolute;\n }\n }\n\n & :is(h1, .pl-h1) {\n font-size: var(--pl-font-size-5xl);\n margin-bottom: 0.5em;\n margin-top: 0;\n\n &::after {\n background: var(--pl-color-penn-red);\n width: 2.25rem;\n }\n }\n\n & :is(h2, .pl-h2) {\n font-size: var(--pl-font-size-3xl);\n margin-bottom: 0.5em;\n\n &::after {\n background: #d6d6dc;\n width: 2.25rem;\n }\n }\n\n & :is(h3, .pl-h3) {\n font-size: var(--pl-font-size-xl);\n font-family: var(--pl-font-sans-serif);\n color: var(--pl-color-fg-default);\n margin-bottom: var(--pl-space-m);\n\n &:after {\n content: none;\n }\n }\n\n & :is(h4, .pl-h4) {\n font-size: var(--pl-font-size-m);\n margin-bottom: var(--pl-space-s);\n\n &:after {\n content: none;\n }\n }\n}\n\n/* \n Display\n*/\n.pl-block { display: block; }\n.pl-inline { display: inline; }\n.pl-inline-block { display: inline-block; }\n.pl-flex { display: flex; }\n.pl-inline-flex { display: inline-flex; }\n.pl-grid { display: grid; }\n.pl-inline-grid { display: inline-grid; }\n.pl-none { display: none; }\n\n/* \n Flex direction utilities\n*/\n.pl-flex-row { flex-direction: row; }\n.pl-flex-col { flex-direction: column; }\n\n/* \n Spacing\n*/\n\n/* Margin utilities */\n.pl-margin-0 { margin: 0; }\n.pl-margin-2xs { margin: var(--pl-space-2xs); }\n.pl-margin-xs { margin: var(--pl-space-xs); }\n.pl-margin-s { margin: var(--pl-space-s); }\n.pl-margin-m { margin: var(--pl-space-m); }\n.pl-margin-l { margin: var(--pl-space-l); }\n.pl-margin-xl { margin: var(--pl-space-xl); }\n.pl-margin-2xl { margin: var(--pl-space-2xl); }\n.pl-margin-3xl { margin: var(--pl-space-3xl); }\n\n/* Margin top */\n.pl-margin-t-0 { margin-top: 0; }\n.pl-margin-t-2xs { margin-top: var(--pl-space-2xs); }\n.pl-margin-t-xs { margin-top: var(--pl-space-xs); }\n.pl-margin-t-s { margin-top: var(--pl-space-s); }\n.pl-margin-t-m { margin-top: var(--pl-space-m); }\n.pl-margin-t-l { margin-top: var(--pl-space-l); }\n.pl-margin-t-xl { margin-top: var(--pl-space-xl); }\n.pl-margin-t-2xl { margin-top: var(--pl-space-2xl); }\n.pl-margin-t-3xl { margin-top: var(--pl-space-3xl); }\n\n/* Margin bottom */\n.pl-margin-b-0 { margin-bottom: 0; }\n.pl-margin-b-2xs { margin-bottom: var(--pl-space-2xs); }\n.pl-margin-b-xs { margin-bottom: var(--pl-space-xs); }\n.pl-margin-b-s { margin-bottom: var(--pl-space-s); }\n.pl-margin-b-m { margin-bottom: var(--pl-space-m); }\n.pl-margin-b-l { margin-bottom: var(--pl-space-l); }\n.pl-margin-b-xl { margin-bottom: var(--pl-space-xl); }\n.pl-margin-b-2xl { margin-bottom: var(--pl-space-2xl); }\n.pl-margin-b-3xl { margin-bottom: var(--pl-space-3xl); }\n\n/* Margin left */\n.pl-margin-l-0 { margin-left: 0; }\n.pl-margin-l-2xs { margin-left: var(--pl-space-2xs); }\n.pl-margin-l-xs { margin-left: var(--pl-space-xs); }\n.pl-margin-l-s { margin-left: var(--pl-space-s); }\n.pl-margin-l-m { margin-left: var(--pl-space-m); }\n.pl-margin-l-l { margin-left: var(--pl-space-l); }\n.pl-margin-l-xl { margin-left: var(--pl-space-xl); }\n.pl-margin-l-2xl { margin-left: var(--pl-space-2xl); }\n.pl-margin-l-3xl { margin-left: var(--pl-space-3xl); }\n\n/* Margin right */\n.pl-margin-r-0 { margin-right: 0; }\n.pl-margin-r-2xs { margin-right: var(--pl-space-2xs); }\n.pl-margin-r-xs { margin-right: var(--pl-space-xs); }\n.pl-margin-r-s { margin-right: var(--pl-space-s); }\n.pl-margin-r-m { margin-right: var(--pl-space-m); }\n.pl-margin-r-l { margin-right: var(--pl-space-l); }\n.pl-margin-r-xl { margin-right: var(--pl-space-xl); }\n.pl-margin-r-2xl { margin-right: var(--pl-space-2xl); }\n.pl-margin-r-3xl { margin-right: var(--pl-space-3xl); }\n\n/* Margin x (left and right) */\n.pl-margin-x-0 { margin-left: 0; margin-right: 0; }\n.pl-margin-x-2xs { margin-left: var(--pl-space-2xs); margin-right: var(--pl-space-2xs); }\n.pl-margin-x-xs { margin-left: var(--pl-space-xs); margin-right: var(--pl-space-xs); }\n.pl-margin-x-s { margin-left: var(--pl-space-s); margin-right: var(--pl-space-s); }\n.pl-margin-x-m { margin-left: var(--pl-space-m); margin-right: var(--pl-space-m); }\n.pl-margin-x-l { margin-left: var(--pl-space-l); margin-right: var(--pl-space-l); }\n.pl-margin-x-xl { margin-left: var(--pl-space-xl); margin-right: var(--pl-space-xl); }\n.pl-margin-x-2xl { margin-left: var(--pl-space-2xl); margin-right: var(--pl-space-2xl); }\n.pl-margin-x-3xl { margin-left: var(--pl-space-3xl); margin-right: var(--pl-space-3xl); }\n\n/* Margin y (top and bottom) */\n.pl-margin-y-0 { margin-top: 0; margin-bottom: 0; }\n.pl-margin-y-2xs { margin-top: var(--pl-space-2xs); margin-bottom: var(--pl-space-2xs); }\n.pl-margin-y-xs { margin-top: var(--pl-space-xs); margin-bottom: var(--pl-space-xs); }\n.pl-margin-y-s { margin-top: var(--pl-space-s); margin-bottom: var(--pl-space-s); }\n.pl-margin-y-m { margin-top: var(--pl-space-m); margin-bottom: var(--pl-space-m); }\n.pl-margin-y-l { margin-top: var(--pl-space-l); margin-bottom: var(--pl-space-l); }\n.pl-margin-y-xl { margin-top: var(--pl-space-xl); margin-bottom: var(--pl-space-xl); }\n.pl-margin-y-2xl { margin-top: var(--pl-space-2xl); margin-bottom: var(--pl-space-2xl); }\n.pl-margin-y-3xl { margin-top: var(--pl-space-3xl); margin-bottom: var(--pl-space-3xl); }\n\n/* Padding utilities */\n.pl-padding-0 { padding: 0; }\n.pl-padding-2xs { padding: var(--pl-space-2xs); }\n.pl-padding-xs { padding: var(--pl-space-xs); }\n.pl-padding-s { padding: var(--pl-space-s); }\n.pl-padding-m { padding: var(--pl-space-m); }\n.pl-padding-l { padding: var(--pl-space-l); }\n.pl-padding-xl { padding: var(--pl-space-xl); }\n.pl-padding-2xl { padding: var(--pl-space-2xl); }\n.pl-padding-3xl { padding: var(--pl-space-3xl); }\n\n/* Padding top */\n.pl-padding-t-0 { padding-top: 0; }\n.pl-padding-t-2xs { padding-top: var(--pl-space-2xs); }\n.pl-padding-t-xs { padding-top: var(--pl-space-xs); }\n.pl-padding-t-s { padding-top: var(--pl-space-s); }\n.pl-padding-t-m { padding-top: var(--pl-space-m); }\n.pl-padding-t-l { padding-top: var(--pl-space-l); }\n.pl-padding-t-xl { padding-top: var(--pl-space-xl); }\n.pl-padding-t-2xl { padding-top: var(--pl-space-2xl); }\n.pl-padding-t-3xl { padding-top: var(--pl-space-3xl); }\n\n/* Padding bottom */\n.pl-padding-b-0 { padding-bottom: 0; }\n.pl-padding-b-2xs { padding-bottom: var(--pl-space-2xs); }\n.pl-padding-b-xs { padding-bottom: var(--pl-space-xs); }\n.pl-padding-b-s { padding-bottom: var(--pl-space-s); }\n.pl-padding-b-m { padding-bottom: var(--pl-space-m); }\n.pl-padding-b-l { padding-bottom: var(--pl-space-l); }\n.pl-padding-b-xl { padding-bottom: var(--pl-space-xl); }\n.pl-padding-b-2xl { padding-bottom: var(--pl-space-2xl); }\n.pl-padding-b-3xl { padding-bottom: var(--pl-space-3xl); }\n\n/* Padding left */\n.pl-padding-l-0 { padding-left: 0; }\n.pl-padding-l-2xs { padding-left: var(--pl-space-2xs); }\n.pl-padding-l-xs { padding-left: var(--pl-space-xs); }\n.pl-padding-l-s { padding-left: var(--pl-space-s); }\n.pl-padding-l-m { padding-left: var(--pl-space-m); }\n.pl-padding-l-l { padding-left: var(--pl-space-l); }\n.pl-padding-l-xl { padding-left: var(--pl-space-xl); }\n.pl-padding-l-2xl { padding-left: var(--pl-space-2xl); }\n.pl-padding-l-3xl { padding-left: var(--pl-space-3xl); }\n\n/* Padding right */\n.pl-padding-r-0 { padding-right: 0; }\n.pl-padding-r-2xs { padding-right: var(--pl-space-2xs); }\n.pl-padding-r-xs { padding-right: var(--pl-space-xs); }\n.pl-padding-r-s { padding-right: var(--pl-space-s); }\n.pl-padding-r-m { padding-right: var(--pl-space-m); }\n.pl-padding-r-l { padding-right: var(--pl-space-l); }\n.pl-padding-r-xl { padding-right: var(--pl-space-xl); }\n.pl-padding-r-2xl { padding-right: var(--pl-space-2xl); }\n.pl-padding-r-3xl { padding-right: var(--pl-space-3xl); }\n\n/* Padding x (left and right) */\n.pl-padding-x-0 { padding-left: 0; padding-right: 0; }\n.pl-padding-x-2xs { padding-left: var(--pl-space-2xs); padding-right: var(--pl-space-2xs); }\n.pl-padding-x-xs { padding-left: var(--pl-space-xs); padding-right: var(--pl-space-xs); }\n.pl-padding-x-s { padding-left: var(--pl-space-s); padding-right: var(--pl-space-s); }\n.pl-padding-x-m { padding-left: var(--pl-space-m); padding-right: var(--pl-space-m); }\n.pl-padding-x-l { padding-left: var(--pl-space-l); padding-right: var(--pl-space-l); }\n.pl-padding-x-xl { padding-left: var(--pl-space-xl); padding-right: var(--pl-space-xl); }\n.pl-padding-x-2xl { padding-left: var(--pl-space-2xl); padding-right: var(--pl-space-2xl); }\n.pl-padding-x-3xl { padding-left: var(--pl-space-3xl); padding-right: var(--pl-space-3xl); }\n\n/* Padding y (top and bottom) */\n.pl-padding-y-0 { padding-top: 0; padding-bottom: 0; }\n.pl-padding-y-2xs { padding-top: var(--pl-space-2xs); padding-bottom: var(--pl-space-2xs); }\n.pl-padding-y-xs { padding-top: var(--pl-space-xs); padding-bottom: var(--pl-space-xs); }\n.pl-padding-y-s { padding-top: var(--pl-space-s); padding-bottom: var(--pl-space-s); }\n.pl-padding-y-m { padding-top: var(--pl-space-m); padding-bottom: var(--pl-space-m); }\n.pl-padding-y-l { padding-top: var(--pl-space-l); padding-bottom: var(--pl-space-l); }\n.pl-padding-y-xl { padding-top: var(--pl-space-xl); padding-bottom: var(--pl-space-xl); }\n.pl-padding-y-2xl { padding-top: var(--pl-space-2xl); padding-bottom: var(--pl-space-2xl); }\n.pl-padding-y-3xl { padding-top: var(--pl-space-3xl); padding-bottom: var(--pl-space-3xl); }\n\n/* Gap utilities for flexbox and grid */\n.pl-gap-0 { gap: 0; }\n.pl-gap-2xs { gap: var(--pl-space-2xs); }\n.pl-gap-xs { gap: var(--pl-space-xs); }\n.pl-gap-s { gap: var(--pl-space-s); }\n.pl-gap-m { gap: var(--pl-space-m); }\n.pl-gap-l { gap: var(--pl-space-l); }\n.pl-gap-xl { gap: var(--pl-space-xl); }\n.pl-gap-2xl { gap: var(--pl-space-2xl); }\n.pl-gap-3xl { gap: var(--pl-space-3xl); } \n\n/*\n Font size\n*/\n\n.pl-font-size-xs {\n font-size: var(--pl-font-size-xs);\n}\n\n.pl-font-size-s {\n font-size: var(--pl-font-size-s);\n}\n\n.pl-font-size-m {\n font-size: var(--pl-font-size-m);\n}\n\n.pl-font-size-l {\n font-size: var(--pl-font-size-l);\n}\n\n.pl-font-size-xl {\n font-size: var(--pl-font-size-xl);\n}\n\n.pl-font-size-2xl {\n font-size: var(--pl-font-size-2xl);\n}\n\n.pl-font-size-3xl {\n font-size: var(--pl-font-size-3xl);\n}\n\n.pl-font-size-4xl {\n font-size: var(--pl-font-size-4xl);\n}\n\n.pl-font-size-5xl {\n font-size: var(--pl-font-size-5xl);\n}\n\n/*\n Line length\n*/\n\n.pl-line-length {\n max-width: 60ch;\n}\n\n/*\n Border radius\n*/\n\n.pl-border-radius-subtle {\n border-radius: var(--pl-border-radius-subtle);\n}\n\n.pl-border-radius {\n border-radius: var(--pl-border-radius);\n}\n\n/*\n Definition list\n*/\n\n.pl-dl:not(.pl-dl--inline) {\n display: grid;\n grid-row-gap: 0.25rem;\n \n & dt {\n font-weight: 600;\n margin-top: 0.5rem;\n }\n}\n\n@media (min-width: 720px) {\n .pl-dl:not(.pl-dl--inline) {\n grid-template-columns: 12rem 1fr;\n\n & dt {\n grid-column: 1 / 2;\n margin-top: 0;\n padding-right: 1rem;\n }\n\n & dd {\n grid-column: 2 / 3;\n margin-bottom: 0;\n }\n }\n}\n\n@media (min-width: 720px) {\n .pl-dl:not(.pl-dl--inline) dt:not(:first-of-type),\n .pl-dl:not(.pl-dl--inline) dt:not(:first-of-type) + dd {\n padding-top: 0.75rem;\n margin-top: 0.5rem;\n border-top: solid 1px var(--pl-color-bg-subtle-brand);\n }\n}\n\n.pl-dl--inline {\n display: block;\n \n & dt,\n & dd {\n display: inline;\n padding-right: 0.5rem;\n margin-bottom: 0;\n }\n \n & dt {\n font-weight: 600;\n }\n \n & dt:not(:first-of-type)::before {\n content: \"\";\n display: block;\n margin-bottom: 0.5rem;\n }\n \n & a {\n color: var(--pl-color-fg-default);\n text-decoration-style: dotted;\n font-weight: 400;\n\n &:hover {\n text-decoration-style: solid;\n text-decoration-thickness: 2px;\n }\n }\n}\n\n";
@@ -1109,6 +1109,11 @@ var parsePropertyValue = (propValue, propType, isFormAssociated) => {
1109
1109
  return propValue;
1110
1110
  }
1111
1111
  if (propValue != null && !isComplexType(propValue)) {
1112
+ if (propType & 4 /* Boolean */) {
1113
+ {
1114
+ return propValue === "false" ? false : propValue === "" || !!propValue;
1115
+ }
1116
+ }
1112
1117
  if (propType & 1 /* String */) {
1113
1118
  return String(propValue);
1114
1119
  }
@@ -1513,10 +1518,19 @@ var insertBefore = (parent, newNode, reference) => {
1513
1518
  };
1514
1519
  var renderVdom = (hostRef, renderFnResults, isInitialLoad = false) => {
1515
1520
  const hostElm = hostRef.$hostElement$;
1521
+ const cmpMeta = hostRef.$cmpMeta$;
1516
1522
  const oldVNode = hostRef.$vnode$ || newVNode(null, null);
1517
1523
  const isHostElement = isHost(renderFnResults);
1518
1524
  const rootVnode = isHostElement ? renderFnResults : h(null, null, renderFnResults);
1519
1525
  hostTagName = hostElm.tagName;
1526
+ if (cmpMeta.$attrsToReflect$) {
1527
+ rootVnode.$attrs$ = rootVnode.$attrs$ || {};
1528
+ cmpMeta.$attrsToReflect$.forEach(([propName, attribute]) => {
1529
+ {
1530
+ rootVnode.$attrs$[attribute] = hostElm[propName];
1531
+ }
1532
+ });
1533
+ }
1520
1534
  if (isInitialLoad && rootVnode.$attrs$) {
1521
1535
  for (const key of Object.keys(rootVnode.$attrs$)) {
1522
1536
  if (hostElm.hasAttribute(key) && !["key", "ref", "style", "class"].includes(key)) {
@@ -1720,6 +1734,7 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
1720
1734
  `Couldn't find host element for "${cmpMeta.$tagName$}" as it is unknown to this Stencil runtime. This usually happens when integrating a 3rd party Stencil component with another Stencil component or application. Please reach out to the maintainers of the 3rd party Stencil component or report this on the Stencil Discord server (https://chat.stenciljs.com) or comment on this similar [GitHub issue](https://github.com/stenciljs/core/issues/5457).`
1721
1735
  );
1722
1736
  }
1737
+ const elm = hostRef.$hostElement$ ;
1723
1738
  const oldVal = hostRef.$instanceValues$.get(propName);
1724
1739
  const flags = hostRef.$flags$;
1725
1740
  const instance = hostRef.$lazyInstance$ ;
@@ -1731,6 +1746,18 @@ var setValue = (ref, propName, newVal, cmpMeta) => {
1731
1746
  if ((!(flags & 8 /* isConstructingInstance */) || oldVal === void 0) && didValueChange) {
1732
1747
  hostRef.$instanceValues$.set(propName, newVal);
1733
1748
  if (instance) {
1749
+ if (cmpMeta.$watchers$ && flags & 128 /* isWatchReady */) {
1750
+ const watchMethods = cmpMeta.$watchers$[propName];
1751
+ if (watchMethods) {
1752
+ watchMethods.map((watchMethodName) => {
1753
+ try {
1754
+ instance[watchMethodName](newVal, oldVal, propName);
1755
+ } catch (e) {
1756
+ consoleError(e, elm);
1757
+ }
1758
+ });
1759
+ }
1760
+ }
1734
1761
  if ((flags & (2 /* hasRendered */ | 16 /* isQueuedForUpdate */)) === 2 /* hasRendered */) {
1735
1762
  if (instance.componentShouldUpdate) {
1736
1763
  if (instance.componentShouldUpdate(newVal, oldVal, propName) === false) {
@@ -1748,6 +1775,17 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1748
1775
  var _a, _b;
1749
1776
  const prototype = Cstr.prototype;
1750
1777
  if (cmpMeta.$members$ || BUILD.propChangeCallback) {
1778
+ {
1779
+ if (Cstr.watchers && !cmpMeta.$watchers$) {
1780
+ cmpMeta.$watchers$ = Cstr.watchers;
1781
+ }
1782
+ if (Cstr.deserializers && !cmpMeta.$deserializers$) {
1783
+ cmpMeta.$deserializers$ = Cstr.deserializers;
1784
+ }
1785
+ if (Cstr.serializers && !cmpMeta.$serializers$) {
1786
+ cmpMeta.$serializers$ = Cstr.serializers;
1787
+ }
1788
+ }
1751
1789
  const members = Object.entries((_a = cmpMeta.$members$) != null ? _a : {});
1752
1790
  members.map(([memberName, [memberFlags]]) => {
1753
1791
  if ((memberFlags & 31 /* Prop */ || (flags & 2 /* proxyState */) && memberFlags & 32 /* State */)) {
@@ -1866,8 +1904,12 @@ var proxyComponent = (Cstr, cmpMeta, flags) => {
1866
1904
  /* @__PURE__ */ new Set([
1867
1905
  ...Object.keys((_b = cmpMeta.$watchers$) != null ? _b : {}),
1868
1906
  ...members.filter(([_, m]) => m[0] & 31 /* HasAttribute */).map(([propName, m]) => {
1907
+ var _a2;
1869
1908
  const attrName = m[1] || propName;
1870
1909
  attrNameToPropName.set(attrName, propName);
1910
+ if (m[0] & 512 /* ReflectAttr */) {
1911
+ (_a2 = cmpMeta.$attrsToReflect$) == null ? void 0 : _a2.push([propName, attrName]);
1912
+ }
1871
1913
  return attrName;
1872
1914
  })
1873
1915
  ])
@@ -1896,6 +1938,11 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1896
1938
  throw new Error(`Constructor for "${cmpMeta.$tagName$}#${hostRef.$modeName$}" was not found`);
1897
1939
  }
1898
1940
  if (!Cstr.isProxied) {
1941
+ {
1942
+ cmpMeta.$watchers$ = Cstr.watchers;
1943
+ cmpMeta.$serializers$ = Cstr.serializers;
1944
+ cmpMeta.$deserializers$ = Cstr.deserializers;
1945
+ }
1899
1946
  proxyComponent(Cstr, cmpMeta, 2 /* proxyState */);
1900
1947
  Cstr.isProxied = true;
1901
1948
  }
@@ -1911,6 +1958,9 @@ var initializeComponent = async (elm, hostRef, cmpMeta, hmrVersionId) => {
1911
1958
  {
1912
1959
  hostRef.$flags$ &= -9 /* isConstructingInstance */;
1913
1960
  }
1961
+ {
1962
+ hostRef.$flags$ |= 128 /* isWatchReady */;
1963
+ }
1914
1964
  endNewInstance();
1915
1965
  fireConnectedCallback(hostRef.$lazyInstance$, elm);
1916
1966
  } else {
@@ -2055,6 +2105,7 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
2055
2105
  let hasSlotRelocation = false;
2056
2106
  lazyBundles.map((lazyBundle) => {
2057
2107
  lazyBundle[1].map((compactMeta) => {
2108
+ var _a2, _b, _c;
2058
2109
  const cmpMeta = {
2059
2110
  $flags$: compactMeta[0],
2060
2111
  $tagName$: compactMeta[1],
@@ -2070,6 +2121,14 @@ var bootstrapLazy = (lazyBundles, options = {}) => {
2070
2121
  {
2071
2122
  cmpMeta.$listeners$ = compactMeta[3];
2072
2123
  }
2124
+ {
2125
+ cmpMeta.$attrsToReflect$ = [];
2126
+ }
2127
+ {
2128
+ cmpMeta.$watchers$ = (_a2 = compactMeta[4]) != null ? _a2 : {};
2129
+ cmpMeta.$serializers$ = (_b = compactMeta[5]) != null ? _b : {};
2130
+ cmpMeta.$deserializers$ = (_c = compactMeta[6]) != null ? _c : {};
2131
+ }
2073
2132
  const tagName = cmpMeta.$tagName$;
2074
2133
  const HostElement = class extends HTMLElement {
2075
2134
  // StencilLazyHost
@@ -2221,6 +2280,6 @@ exports.promiseResolve = promiseResolve;
2221
2280
  exports.registerInstance = registerInstance;
2222
2281
  exports.setAssetPath = setAssetPath;
2223
2282
  exports.setNonce = setNonce;
2224
- //# sourceMappingURL=index-4ixBJUwu.js.map
2283
+ //# sourceMappingURL=index-DVr0pLZy.js.map
2225
2284
 
2226
- //# sourceMappingURL=index-4ixBJUwu.js.map
2285
+ //# sourceMappingURL=index-DVr0pLZy.js.map