@penn-libraries/web 1.1.0-dev.7 → 1.1.1-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 (112) hide show
  1. package/dist/cjs/{index-C0A2bnrZ.js → index-C0qvW4Ra.js} +289 -191
  2. package/dist/cjs/index-C0qvW4Ra.js.map +1 -0
  3. package/dist/cjs/index.cjs.js +1 -3
  4. package/dist/cjs/loader.cjs.js +3 -6
  5. package/dist/cjs/loader.cjs.js.map +1 -1
  6. package/dist/cjs/pennlibs-autocomplete.pennlibs-footer.pennlibs-header.entry.cjs.js.map +1 -1
  7. package/dist/cjs/pennlibs-autocomplete_3.cjs.entry.js +25 -36
  8. package/dist/cjs/pennlibs-banner.cjs.entry.js +1 -3
  9. package/dist/cjs/pennlibs-chat.cjs.entry.js +1 -3
  10. package/dist/cjs/pennlibs-fallback-img.cjs.entry.js +1 -3
  11. package/dist/cjs/pennlibs-feedback.cjs.entry.js +1 -3
  12. package/dist/cjs/pennlibs-hero.cjs.entry.js +1 -3
  13. package/dist/cjs/pennlibs-iiif-img.cjs.entry.js +132 -0
  14. package/dist/cjs/pennlibs-iiif-img.entry.cjs.js.map +1 -0
  15. package/dist/cjs/web.cjs.js +4 -7
  16. package/dist/cjs/web.cjs.js.map +1 -1
  17. package/dist/collection/collection-manifest.json +4 -3
  18. package/dist/collection/components/pennlibs-autocomplete/pennlibs-autocomplete.js +40 -23
  19. package/dist/collection/components/pennlibs-autocomplete/pennlibs-autocomplete.js.map +1 -1
  20. package/dist/collection/components/pennlibs-header/pennlibs-header.js +6 -6
  21. package/dist/collection/components/pennlibs-iiif-img/pennlibs-iiif-img.css +37 -0
  22. package/dist/collection/components/pennlibs-iiif-img/pennlibs-iiif-img.js +310 -0
  23. package/dist/collection/components/pennlibs-iiif-img/pennlibs-iiif-img.js.map +1 -0
  24. package/dist/components/index.d.ts +2 -0
  25. package/dist/components/index.js +2 -1
  26. package/dist/components/index.js.map +1 -1
  27. package/dist/components/pennlibs-autocomplete.js +28 -20
  28. package/dist/components/pennlibs-autocomplete.js.map +1 -1
  29. package/dist/components/pennlibs-banner.js +5 -3
  30. package/dist/components/pennlibs-banner.js.map +1 -1
  31. package/dist/components/pennlibs-chat.js +5 -3
  32. package/dist/components/pennlibs-chat.js.map +1 -1
  33. package/dist/components/pennlibs-fallback-img.js +1 -30
  34. package/dist/components/pennlibs-fallback-img.js.map +1 -1
  35. package/dist/components/pennlibs-fallback-img2.js +37 -0
  36. package/dist/components/pennlibs-fallback-img2.js.map +1 -0
  37. package/dist/components/pennlibs-feedback.js +5 -3
  38. package/dist/components/pennlibs-feedback.js.map +1 -1
  39. package/dist/components/pennlibs-footer.js +5 -3
  40. package/dist/components/pennlibs-footer.js.map +1 -1
  41. package/dist/components/pennlibs-header.js +6 -19
  42. package/dist/components/pennlibs-header.js.map +1 -1
  43. package/dist/components/pennlibs-hero.js +5 -3
  44. package/dist/components/pennlibs-hero.js.map +1 -1
  45. package/dist/components/pennlibs-iiif-img.d.ts +11 -0
  46. package/dist/components/pennlibs-iiif-img.js +168 -0
  47. package/dist/components/pennlibs-iiif-img.js.map +1 -0
  48. package/dist/docs.json +268 -12
  49. package/dist/esm/{index-CE_ILdTo.js → index-D9dYrmUF.js} +289 -192
  50. package/dist/esm/index-D9dYrmUF.js.map +1 -0
  51. package/dist/esm/index.js +1 -3
  52. package/dist/esm/loader.js +3 -6
  53. package/dist/esm/loader.js.map +1 -1
  54. package/dist/esm/pennlibs-autocomplete.pennlibs-footer.pennlibs-header.entry.js.map +1 -1
  55. package/dist/esm/pennlibs-autocomplete_3.entry.js +25 -36
  56. package/dist/esm/pennlibs-banner.entry.js +1 -3
  57. package/dist/esm/pennlibs-chat.entry.js +1 -3
  58. package/dist/esm/pennlibs-fallback-img.entry.js +1 -3
  59. package/dist/esm/pennlibs-feedback.entry.js +1 -3
  60. package/dist/esm/pennlibs-hero.entry.js +1 -3
  61. package/dist/esm/pennlibs-iiif-img.entry.js +130 -0
  62. package/dist/esm/pennlibs-iiif-img.entry.js.map +1 -0
  63. package/dist/esm/web.js +4 -7
  64. package/dist/esm/web.js.map +1 -1
  65. package/dist/types/components/pennlibs-autocomplete/pennlibs-autocomplete.d.ts +17 -1
  66. package/dist/types/components/pennlibs-iiif-img/pennlibs-iiif-img.d.ts +89 -0
  67. package/dist/types/components.d.ts +143 -0
  68. package/dist/types/stencil-public-runtime.d.ts +73 -9
  69. package/dist/web/index.esm.js +1 -3
  70. package/dist/web/loader.esm.js.map +1 -1
  71. package/dist/web/{p-20c0bd7a.entry.js → p-43d9c2d4.entry.js} +1 -3
  72. package/dist/web/{p-CE_ILdTo.js → p-D9dYrmUF.js} +289 -192
  73. package/dist/web/p-D9dYrmUF.js.map +1 -0
  74. package/dist/web/{p-cbae5952.entry.js → p-ad92090a.entry.js} +1 -3
  75. package/dist/web/{p-370e32b1.entry.js → p-b4b58af0.entry.js} +1 -3
  76. package/dist/web/p-c4074cf1.entry.js +130 -0
  77. package/dist/web/{p-07ad051f.entry.js → p-cb2584da.entry.js} +1 -3
  78. package/dist/web/{p-5e385536.entry.js → p-ce97059c.entry.js} +1 -3
  79. package/dist/web/{p-e1215158.entry.js → p-e6188c30.entry.js} +25 -36
  80. package/dist/web/pennlibs-autocomplete.pennlibs-footer.pennlibs-header.entry.esm.js.map +1 -1
  81. package/dist/web/pennlibs-iiif-img.entry.esm.js.map +1 -0
  82. package/dist/web/web.esm.js +4 -7
  83. package/dist/web/web.esm.js.map +1 -1
  84. package/hydrate/index.d.ts +28 -24
  85. package/hydrate/index.js +609 -241
  86. package/hydrate/index.mjs +609 -241
  87. package/package.json +3 -9
  88. package/dist/cjs/app-globals-V2Kpy_OQ.js +0 -8
  89. package/dist/cjs/app-globals-V2Kpy_OQ.js.map +0 -1
  90. package/dist/cjs/index-C0A2bnrZ.js.map +0 -1
  91. package/dist/cjs/pennlibs-autocomplete_3.cjs.entry.js.map +0 -1
  92. package/dist/cjs/pennlibs-banner.cjs.entry.js.map +0 -1
  93. package/dist/cjs/pennlibs-chat.cjs.entry.js.map +0 -1
  94. package/dist/cjs/pennlibs-fallback-img.cjs.entry.js.map +0 -1
  95. package/dist/cjs/pennlibs-feedback.cjs.entry.js.map +0 -1
  96. package/dist/cjs/pennlibs-hero.cjs.entry.js.map +0 -1
  97. package/dist/collection/utils/utils.js +0 -4
  98. package/dist/collection/utils/utils.js.map +0 -1
  99. package/dist/esm/app-globals-DQuL1Twl.js +0 -6
  100. package/dist/esm/app-globals-DQuL1Twl.js.map +0 -1
  101. package/dist/esm/index-CE_ILdTo.js.map +0 -1
  102. package/dist/esm/pennlibs-autocomplete_3.entry.js.map +0 -1
  103. package/dist/types/utils/utils.d.ts +0 -1
  104. package/dist/web/p-07ad051f.entry.js.map +0 -1
  105. package/dist/web/p-20c0bd7a.entry.js.map +0 -1
  106. package/dist/web/p-370e32b1.entry.js.map +0 -1
  107. package/dist/web/p-5e385536.entry.js.map +0 -1
  108. package/dist/web/p-CE_ILdTo.js.map +0 -1
  109. package/dist/web/p-DQuL1Twl.js +0 -6
  110. package/dist/web/p-DQuL1Twl.js.map +0 -1
  111. package/dist/web/p-cbae5952.entry.js.map +0 -1
  112. package/dist/web/p-e1215158.entry.js.map +0 -1
@@ -0,0 +1,89 @@
1
+ /**
2
+ * Display responsive, high-quality images from Penn Libraries' IIIF Image API 3.0 server.
3
+ * Automatically generates optimal image sources for different viewport sizes and pixel densities,
4
+ * with modern WebP format and JPG fallback support.
5
+ *
6
+ * @component
7
+ * @example
8
+ * <pennlibs-iiif-img
9
+ * uuid="063ff35c-bbdd-4b63-bbdd-6206590e20d5"
10
+ * alt="">
11
+ * </pennlibs-iiif-img>
12
+ */
13
+ export declare class IIIFImg {
14
+ private resizeObserver?;
15
+ hostElement: HTMLElement;
16
+ /**
17
+ * The IIIF [UUID identifier](https://iiif.io/api/image/3.0/#3-identifier) of the image resource on the Penn Libraries IIIF server.
18
+ */
19
+ uuid: string;
20
+ /**
21
+ * Alternative text that describes the image content for screen readers and when images fail to load.
22
+ * Use an empty string for purely decorative images.
23
+ */
24
+ alt: string;
25
+ /**
26
+ * The IIIF [region](https://iiif.io/api/image/3.0/#41-region) of the image to display.
27
+ * Defines the rectangular portion of the underlying image to return.
28
+ *
29
+ * `full`: The full image is returned, without any cropping.
30
+ *
31
+ * `square`: A square area where width and height equal the shorter dimension.
32
+ *
33
+ * `x,y,w,h`: Absolute pixel coordinates (x, y position; w, h dimensions).
34
+ *
35
+ * `pct:x,y,w,h`: Percentage-based coordinates of full image dimensions.
36
+ *
37
+ * @default 'full'
38
+ */
39
+ region?: string;
40
+ /**
41
+ * The IIIF [rotation](https://iiif.io/api/image/3.0/#44-rotation) to apply to the image.
42
+ * Specifies mirroring and clockwise rotation in degrees (0-360).
43
+ *
44
+ * `n`: Rotation in degrees only.
45
+ *
46
+ * `!n`: Mirror the image vertically, then rotate by n degrees.
47
+ *
48
+ * @default '0'
49
+ */
50
+ rotation?: string;
51
+ /**
52
+ * The IIIF [quality](https://iiif.io/api/image/3.0/#quality) of the image.
53
+ * Controls the color delivery mode.
54
+ *
55
+ * `default`: The server's default quality.
56
+ *
57
+ * `color`: Full color information.
58
+ *
59
+ * `gray`: Grayscale rendering.
60
+ *
61
+ * `bitonal`: Black and white only.
62
+ *
63
+ * @default 'default'
64
+ */
65
+ quality?: string;
66
+ /**
67
+ * Native browser lazy loading behavior. Use "lazy" to defer loading until the image is near the viewport,
68
+ * or "eager" to load immediately.
69
+ * @default 'lazy'
70
+ */
71
+ loading?: 'lazy' | 'eager';
72
+ /**
73
+ * Whether to display a fallback placeholder image when the IIIF image fails to load.
74
+ * @default true
75
+ */
76
+ showFallback?: boolean;
77
+ isLoaded: boolean;
78
+ hasError: boolean;
79
+ private observedWidth?;
80
+ private readonly baseUrl;
81
+ private buildIIIFUrl;
82
+ private generateSrcset;
83
+ private getOptimalSizes;
84
+ private handleLoad;
85
+ private handleError;
86
+ componentDidLoad(): void;
87
+ disconnectedCallback(): void;
88
+ render(): any;
89
+ }
@@ -8,7 +8,14 @@ import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
8
  import { ActivatedEvent } from "./components/pennlibs-autocomplete/pennlibs-autocomplete";
9
9
  export { ActivatedEvent } from "./components/pennlibs-autocomplete/pennlibs-autocomplete";
10
10
  export namespace Components {
11
+ /**
12
+ * Offer predictive suggestions while typing your search query.
13
+ */
11
14
  interface PennlibsAutocomplete {
15
+ /**
16
+ * The `id` of the input that this autocomplete is attached to.
17
+ * @prop for
18
+ */
12
19
  "for"?: string;
13
20
  }
14
21
  interface PennlibsBanner {
@@ -82,6 +89,51 @@ export namespace Components {
82
89
  */
83
90
  interface PennlibsHero {
84
91
  }
92
+ /**
93
+ * Display responsive, high-quality images from Penn Libraries' IIIF Image API 3.0 server.
94
+ * Automatically generates optimal image sources for different viewport sizes and pixel densities,
95
+ * with modern WebP format and JPG fallback support.
96
+ * @component
97
+ * @example <pennlibs-iiif-img
98
+ * uuid="063ff35c-bbdd-4b63-bbdd-6206590e20d5"
99
+ * alt="">
100
+ * </pennlibs-iiif-img>
101
+ */
102
+ interface PennlibsIiifImg {
103
+ /**
104
+ * Alternative text that describes the image content for screen readers and when images fail to load. Use an empty string for purely decorative images.
105
+ */
106
+ "alt": string;
107
+ /**
108
+ * Native browser lazy loading behavior. Use "lazy" to defer loading until the image is near the viewport, or "eager" to load immediately.
109
+ * @default 'lazy'
110
+ */
111
+ "loading"?: 'lazy' | 'eager';
112
+ /**
113
+ * The IIIF [quality](https://iiif.io/api/image/3.0/#quality) of the image. Controls the color delivery mode. `default`: The server's default quality. `color`: Full color information. `gray`: Grayscale rendering. `bitonal`: Black and white only.
114
+ * @default 'default'
115
+ */
116
+ "quality"?: string;
117
+ /**
118
+ * The IIIF [region](https://iiif.io/api/image/3.0/#41-region) of the image to display. Defines the rectangular portion of the underlying image to return. `full`: The full image is returned, without any cropping. `square`: A square area where width and height equal the shorter dimension. `x,y,w,h`: Absolute pixel coordinates (x, y position; w, h dimensions). `pct:x,y,w,h`: Percentage-based coordinates of full image dimensions.
119
+ * @default 'full'
120
+ */
121
+ "region"?: string;
122
+ /**
123
+ * The IIIF [rotation](https://iiif.io/api/image/3.0/#44-rotation) to apply to the image. Specifies mirroring and clockwise rotation in degrees (0-360). `n`: Rotation in degrees only. `!n`: Mirror the image vertically, then rotate by n degrees.
124
+ * @default '0'
125
+ */
126
+ "rotation"?: string;
127
+ /**
128
+ * Whether to display a fallback placeholder image when the IIIF image fails to load.
129
+ * @default true
130
+ */
131
+ "showFallback"?: boolean;
132
+ /**
133
+ * The IIIF [UUID identifier](https://iiif.io/api/image/3.0/#3-identifier) of the image resource on the Penn Libraries IIIF server.
134
+ */
135
+ "uuid": string;
136
+ }
85
137
  }
86
138
  export interface PennlibsAutocompleteCustomEvent<T> extends CustomEvent<T> {
87
139
  detail: T;
@@ -95,6 +147,9 @@ declare global {
95
147
  interface HTMLPennlibsAutocompleteElementEventMap {
96
148
  "pl:activated": ActivatedEvent;
97
149
  }
150
+ /**
151
+ * Offer predictive suggestions while typing your search query.
152
+ */
98
153
  interface HTMLPennlibsAutocompleteElement extends Components.PennlibsAutocomplete, HTMLStencilElement {
99
154
  addEventListener<K extends keyof HTMLPennlibsAutocompleteElementEventMap>(type: K, listener: (this: HTMLPennlibsAutocompleteElement, ev: PennlibsAutocompleteCustomEvent<HTMLPennlibsAutocompleteElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
100
155
  addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
@@ -207,6 +262,22 @@ declare global {
207
262
  prototype: HTMLPennlibsHeroElement;
208
263
  new (): HTMLPennlibsHeroElement;
209
264
  };
265
+ /**
266
+ * Display responsive, high-quality images from Penn Libraries' IIIF Image API 3.0 server.
267
+ * Automatically generates optimal image sources for different viewport sizes and pixel densities,
268
+ * with modern WebP format and JPG fallback support.
269
+ * @component
270
+ * @example <pennlibs-iiif-img
271
+ * uuid="063ff35c-bbdd-4b63-bbdd-6206590e20d5"
272
+ * alt="">
273
+ * </pennlibs-iiif-img>
274
+ */
275
+ interface HTMLPennlibsIiifImgElement extends Components.PennlibsIiifImg, HTMLStencilElement {
276
+ }
277
+ var HTMLPennlibsIiifImgElement: {
278
+ prototype: HTMLPennlibsIiifImgElement;
279
+ new (): HTMLPennlibsIiifImgElement;
280
+ };
210
281
  interface HTMLElementTagNameMap {
211
282
  "pennlibs-autocomplete": HTMLPennlibsAutocompleteElement;
212
283
  "pennlibs-banner": HTMLPennlibsBannerElement;
@@ -216,11 +287,23 @@ declare global {
216
287
  "pennlibs-footer": HTMLPennlibsFooterElement;
217
288
  "pennlibs-header": HTMLPennlibsHeaderElement;
218
289
  "pennlibs-hero": HTMLPennlibsHeroElement;
290
+ "pennlibs-iiif-img": HTMLPennlibsIiifImgElement;
219
291
  }
220
292
  }
221
293
  declare namespace LocalJSX {
294
+ /**
295
+ * Offer predictive suggestions while typing your search query.
296
+ */
222
297
  interface PennlibsAutocomplete {
298
+ /**
299
+ * The `id` of the input that this autocomplete is attached to.
300
+ * @prop for
301
+ */
223
302
  "for"?: string;
303
+ /**
304
+ * Emitted when a user activates (selects) an autocomplete suggestion.
305
+ * @event pl:activated
306
+ */
224
307
  "onPl:activated"?: (event: PennlibsAutocompleteCustomEvent<ActivatedEvent>) => void;
225
308
  }
226
309
  interface PennlibsBanner {
@@ -301,6 +384,51 @@ declare namespace LocalJSX {
301
384
  */
302
385
  interface PennlibsHero {
303
386
  }
387
+ /**
388
+ * Display responsive, high-quality images from Penn Libraries' IIIF Image API 3.0 server.
389
+ * Automatically generates optimal image sources for different viewport sizes and pixel densities,
390
+ * with modern WebP format and JPG fallback support.
391
+ * @component
392
+ * @example <pennlibs-iiif-img
393
+ * uuid="063ff35c-bbdd-4b63-bbdd-6206590e20d5"
394
+ * alt="">
395
+ * </pennlibs-iiif-img>
396
+ */
397
+ interface PennlibsIiifImg {
398
+ /**
399
+ * Alternative text that describes the image content for screen readers and when images fail to load. Use an empty string for purely decorative images.
400
+ */
401
+ "alt": string;
402
+ /**
403
+ * Native browser lazy loading behavior. Use "lazy" to defer loading until the image is near the viewport, or "eager" to load immediately.
404
+ * @default 'lazy'
405
+ */
406
+ "loading"?: 'lazy' | 'eager';
407
+ /**
408
+ * The IIIF [quality](https://iiif.io/api/image/3.0/#quality) of the image. Controls the color delivery mode. `default`: The server's default quality. `color`: Full color information. `gray`: Grayscale rendering. `bitonal`: Black and white only.
409
+ * @default 'default'
410
+ */
411
+ "quality"?: string;
412
+ /**
413
+ * The IIIF [region](https://iiif.io/api/image/3.0/#41-region) of the image to display. Defines the rectangular portion of the underlying image to return. `full`: The full image is returned, without any cropping. `square`: A square area where width and height equal the shorter dimension. `x,y,w,h`: Absolute pixel coordinates (x, y position; w, h dimensions). `pct:x,y,w,h`: Percentage-based coordinates of full image dimensions.
414
+ * @default 'full'
415
+ */
416
+ "region"?: string;
417
+ /**
418
+ * The IIIF [rotation](https://iiif.io/api/image/3.0/#44-rotation) to apply to the image. Specifies mirroring and clockwise rotation in degrees (0-360). `n`: Rotation in degrees only. `!n`: Mirror the image vertically, then rotate by n degrees.
419
+ * @default '0'
420
+ */
421
+ "rotation"?: string;
422
+ /**
423
+ * Whether to display a fallback placeholder image when the IIIF image fails to load.
424
+ * @default true
425
+ */
426
+ "showFallback"?: boolean;
427
+ /**
428
+ * The IIIF [UUID identifier](https://iiif.io/api/image/3.0/#3-identifier) of the image resource on the Penn Libraries IIIF server.
429
+ */
430
+ "uuid": string;
431
+ }
304
432
  interface IntrinsicElements {
305
433
  "pennlibs-autocomplete": PennlibsAutocomplete;
306
434
  "pennlibs-banner": PennlibsBanner;
@@ -310,12 +438,16 @@ declare namespace LocalJSX {
310
438
  "pennlibs-footer": PennlibsFooter;
311
439
  "pennlibs-header": PennlibsHeader;
312
440
  "pennlibs-hero": PennlibsHero;
441
+ "pennlibs-iiif-img": PennlibsIiifImg;
313
442
  }
314
443
  }
315
444
  export { LocalJSX as JSX };
316
445
  declare module "@stencil/core" {
317
446
  export namespace JSX {
318
447
  interface IntrinsicElements {
448
+ /**
449
+ * Offer predictive suggestions while typing your search query.
450
+ */
319
451
  "pennlibs-autocomplete": LocalJSX.PennlibsAutocomplete & JSXBase.HTMLAttributes<HTMLPennlibsAutocompleteElement>;
320
452
  "pennlibs-banner": LocalJSX.PennlibsBanner & JSXBase.HTMLAttributes<HTMLPennlibsBannerElement>;
321
453
  "pennlibs-chat": LocalJSX.PennlibsChat & JSXBase.HTMLAttributes<HTMLPennlibsChatElement>;
@@ -363,6 +495,17 @@ declare module "@stencil/core" {
363
495
  * @prop --pl-viewport-margins-gutter: The gutter width of the hero inner content.
364
496
  */
365
497
  "pennlibs-hero": LocalJSX.PennlibsHero & JSXBase.HTMLAttributes<HTMLPennlibsHeroElement>;
498
+ /**
499
+ * Display responsive, high-quality images from Penn Libraries' IIIF Image API 3.0 server.
500
+ * Automatically generates optimal image sources for different viewport sizes and pixel densities,
501
+ * with modern WebP format and JPG fallback support.
502
+ * @component
503
+ * @example <pennlibs-iiif-img
504
+ * uuid="063ff35c-bbdd-4b63-bbdd-6206590e20d5"
505
+ * alt="">
506
+ * </pennlibs-iiif-img>
507
+ */
508
+ "pennlibs-iiif-img": LocalJSX.PennlibsIiifImg & JSXBase.HTMLAttributes<HTMLPennlibsIiifImgElement>;
366
509
  }
367
510
  }
368
511
  }
@@ -1,4 +1,5 @@
1
- declare type CustomMethodDecorator<T> = (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void;
1
+ type CustomMethodDecorator<T> = (target: object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor<T>) => TypedPropertyDescriptor<T> | void;
2
+ type UnionToIntersection<U> = (U extends any ? (x: U) => void : never) extends (x: infer I) => void ? I : never;
2
3
  export interface ComponentDecorator {
3
4
  (opts?: ComponentOptions): ClassDecorator;
4
5
  }
@@ -151,7 +152,13 @@ export interface StateDecorator {
151
152
  (): PropertyDecorator;
152
153
  }
153
154
  export interface WatchDecorator {
154
- (propName: string): CustomMethodDecorator<any>;
155
+ (propName: any): CustomMethodDecorator<(newValue?: any, oldValue?: any, propName?: any, ...args: any[]) => any | void>;
156
+ }
157
+ export interface PropSerializeDecorator {
158
+ (propName: any): CustomMethodDecorator<(newValue?: any, propName?: string, ...args: any[]) => string | null>;
159
+ }
160
+ export interface AttrDeserializeDecorator {
161
+ (propName: any): CustomMethodDecorator<(newValue?: any, propName?: string, ...args: any[]) => any>;
155
162
  }
156
163
  export interface UserBuildConditionals {
157
164
  isDev: boolean;
@@ -233,6 +240,14 @@ export declare const State: StateDecorator;
233
240
  * https://stenciljs.com/docs/reactive-data#watch-decorator
234
241
  */
235
242
  export declare const Watch: WatchDecorator;
243
+ /**
244
+ * Decorator to serialize a property to an attribute string.
245
+ */
246
+ export declare const PropSerialize: PropSerializeDecorator;
247
+ /**
248
+ * Decorator to deserialize an attribute string to a property.
249
+ */
250
+ export declare const AttrDeserialize: AttrDeserializeDecorator;
236
251
  export type ResolutionHandler = (elm: HTMLElement) => string | undefined | null;
237
252
  export type ErrorHandler = (err: any, element?: HTMLElement) => void;
238
253
  /**
@@ -260,6 +275,25 @@ export declare function setPlatformHelpers(helpers: {
260
275
  * @returns the base path
261
276
  */
262
277
  export declare function getAssetPath(path: string): string;
278
+ /**
279
+ * Method to render a virtual DOM tree to a container element.
280
+ *
281
+ * @example
282
+ * ```tsx
283
+ * import { render } from '@stencil/core';
284
+ *
285
+ * const vnode = (
286
+ * <div>
287
+ * <h1>Hello, world!</h1>
288
+ * </div>
289
+ * );
290
+ * render(vnode, document.body);
291
+ * ```
292
+ *
293
+ * @param vnode - The virtual DOM tree to render
294
+ * @param container - The container element to render the virtual DOM tree to
295
+ */
296
+ export declare function render(vnode: VNode, container: Element): void;
263
297
  /**
264
298
  * Used to manually set the base path where assets can be found. For lazy-loaded
265
299
  * builds the asset path is automatically set and assets copied to the correct
@@ -304,8 +338,9 @@ export declare function forceUpdate(ref: any): void;
304
338
  * @returns the rendering ref
305
339
  */
306
340
  export declare function getRenderingRef(): any;
307
- export interface HTMLStencilElement extends HTMLElement {
341
+ export interface HTMLStencilElement extends Omit<HTMLElement, 'autocorrect'> {
308
342
  componentOnReady(): Promise<this>;
343
+ autocorrect: 'on' | 'off';
309
344
  }
310
345
  /**
311
346
  * Schedules a DOM-write task. The provided callback will be executed
@@ -330,6 +365,28 @@ export declare function readTask(task: RafCallback): void;
330
365
  * Unhandled exception raised while rendering, during event handling, or lifecycles will trigger the custom event handler.
331
366
  */
332
367
  export declare const setErrorHandler: (handler: ErrorHandler) => void;
368
+ export type MixinFactory = <TBase extends new (...args: any[]) => any>(base: TBase) => abstract new (...args: ConstructorParameters<TBase>) => any;
369
+ /**
370
+ * Compose multiple mixin classes into a single constructor.
371
+ * The resulting class has the combined instance types of all mixed-in classes.
372
+ *
373
+ * Example:
374
+ * ```
375
+ * import { Mixin, MixinFactory } from '@stencil/core';
376
+ *
377
+ * const AWrap: MixinFactory = (Base) => {class A extends Base { propA = A }; return A;}
378
+ * const BWrap: MixinFactory = (Base) => {class B extends Base { propB = B }; return B;}
379
+ * const CWrap: MixinFactory = (Base) => {class C extends Base { propC = C }; return C;}
380
+ *
381
+ * class X extends Mixin(AWrap, BWrap, CWrap) {
382
+ * render() { return <div>{this.propA} {this.propB} {this.propC}</div>; }
383
+ * }
384
+ * ```
385
+ *
386
+ * @param mixinFactories mixin factory functions that return a class which extends from the provided class.
387
+ * @returns a class that that is composed from extending each of the provided classes in the order they were provided.
388
+ */
389
+ export declare function Mixin<TMixins extends readonly MixinFactory[]>(...mixinFactories: TMixins): abstract new (...args: any[]) => UnionToIntersection<InstanceType<ReturnType<TMixins[number]>>>;
333
390
  /**
334
391
  * This file gets copied to all distributions of stencil component collections.
335
392
  * - no imports
@@ -827,7 +884,7 @@ export declare namespace JSXBase {
827
884
  interface DetailsHTMLAttributes<T> extends HTMLAttributes<T> {
828
885
  open?: boolean;
829
886
  name?: string;
830
- onToggle?: (event: Event) => void;
887
+ onToggle?: (event: ToggleEvent) => void;
831
888
  }
832
889
  interface DelHTMLAttributes<T> extends HTMLAttributes<T> {
833
890
  cite?: string;
@@ -1533,6 +1590,13 @@ export declare namespace JSXBase {
1533
1590
  z?: number | string;
1534
1591
  zoomAndPan?: string;
1535
1592
  }
1593
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent) */
1594
+ interface ToggleEvent extends Event {
1595
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent/newState) */
1596
+ readonly newState: string;
1597
+ /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ToggleEvent/oldState) */
1598
+ readonly oldState: string;
1599
+ }
1536
1600
  interface DOMAttributes<T> extends JSXAttributes<T> {
1537
1601
  slot?: string;
1538
1602
  part?: string;
@@ -1549,6 +1613,10 @@ export declare namespace JSXBase {
1549
1613
  onCompositionstartCapture?: (event: CompositionEvent) => void;
1550
1614
  onCompositionupdate?: (event: CompositionEvent) => void;
1551
1615
  onCompositionupdateCapture?: (event: CompositionEvent) => void;
1616
+ onBeforeToggle?: (event: ToggleEvent) => void;
1617
+ onBeforeToggleCapture?: (event: ToggleEvent) => void;
1618
+ onToggle?: (event: ToggleEvent) => void;
1619
+ onToggleCapture?: (event: ToggleEvent) => void;
1552
1620
  onFocus?: (event: FocusEvent) => void;
1553
1621
  onFocusCapture?: (event: FocusEvent) => void;
1554
1622
  onFocusin?: (event: FocusEvent) => void;
@@ -1567,10 +1635,6 @@ export declare namespace JSXBase {
1567
1635
  onSubmitCapture?: (event: Event) => void;
1568
1636
  onInvalid?: (event: Event) => void;
1569
1637
  onInvalidCapture?: (event: Event) => void;
1570
- onBeforeToggle?: (event: Event) => void;
1571
- onBeforeToggleCapture?: (event: Event) => void;
1572
- onToggle?: (event: Event) => void;
1573
- onToggleCapture?: (event: Event) => void;
1574
1638
  onLoad?: (event: Event) => void;
1575
1639
  onLoadCapture?: (event: Event) => void;
1576
1640
  onError?: (event: Event) => void;
@@ -1582,7 +1646,7 @@ export declare namespace JSXBase {
1582
1646
  onKeyUp?: (event: KeyboardEvent) => void;
1583
1647
  onKeyUpCapture?: (event: KeyboardEvent) => void;
1584
1648
  onAuxClick?: (event: MouseEvent) => void;
1585
- onClick?: (event: MouseEvent) => void;
1649
+ onClick?: (event: PointerEvent) => void;
1586
1650
  onClickCapture?: (event: MouseEvent) => void;
1587
1651
  onContextMenu?: (event: MouseEvent) => void;
1588
1652
  onContextMenuCapture?: (event: MouseEvent) => void;
@@ -1,4 +1,2 @@
1
- export { d as setAssetPath } from './p-CE_ILdTo.js';
1
+ export { e as setAssetPath } from './p-D9dYrmUF.js';
2
2
  //# sourceMappingURL=index.esm.js.map
3
-
4
- //# sourceMappingURL=index.esm.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader.esm.js","sources":["@lazy-external-entrypoint?app-data=conditional"],"sourcesContent":["export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\nexport const defineCustomElements = async (win, options) => {\n if (typeof window === 'undefined') return undefined;\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n};\n"],"names":[],"mappings":";;;;AAGY,MAAC,oBAAoB,GAAG,OAAO,GAAG,EAAE,OAAO,KAAK;AAC5D,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,OAAO,SAAS;AACrD,EAAE,MAAM,aAAa,EAAE;AACvB,EAAE,OAAO,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC7D;;;;"}
1
+ {"version":3,"file":"loader.esm.js","sources":["@lazy-external-entrypoint?app-data=conditional"],"sourcesContent":["export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\nexport const defineCustomElements = async (win, options) => {\n if (typeof window === 'undefined') return undefined;\n await globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n};\n"],"names":[],"mappings":";;;AAGY,MAAC,oBAAoB,GAAG,OAAO,GAAG,EAAE,OAAO,KAAK;AAC5D,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,OAAO,SAAS;AACrD,EAAE,MAAM,aAAa,EAAE;AACvB,EAAE,OAAO,aAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC;AAC7D;;;;"}
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, g as getAssetPath, h } from './p-CE_ILdTo.js';
1
+ import { r as registerInstance, a as getAssetPath, h } from './p-D9dYrmUF.js';
2
2
 
3
3
  const pennlibsBannerCss = ":host{font-family:var(--pl-font-family);font-size:var(--pl-font-size);--max-width:1080px}.viewport-margins{max-width:calc(var(--max-width) + 0.5em);margin:0 auto;padding:0 var(--pl-viewport-margins-gutter, 1em)}.skip-to-content-link{position:absolute;transform:translateY(-300%);background:var(--pl-color-bg-default);left:0.5em;padding:0.5em 1em;margin-top:0.5em;position:absolute}.skip-to-content-link:focus{transform:translateY(0%);color:var(--pl-color-fg-default)}.universal-nav{background:var(--pl-color-penn-blue)}.universal-nav ul{display:flex;align-items:baseline;flex-wrap:wrap;scrollbar-color:var(--pl-color-penn-red);list-style:none;padding:0;margin:0}.universal-nav li{display:inline-block}.universal-nav a{display:inline-block;text-transform:uppercase;font-size:0.75em;letter-spacing:0.075em;font-weight:600;color:var(--pl-color-fg-subtle-on-emphasis);padding:0.5em;text-decoration:none}.universal-nav a:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.15em}.universal-nav__shield-image{vertical-align:sub;height:1em;padding-right:0.5em;height:auto}";
4
4
 
@@ -16,5 +16,3 @@ Banner.style = pennlibsBannerCss;
16
16
 
17
17
  export { Banner as pennlibs_banner };
18
18
  //# sourceMappingURL=pennlibs-banner.entry.esm.js.map
19
-
20
- //# sourceMappingURL=p-20c0bd7a.entry.js.map