@penn-libraries/web 0.3.0-dev.4 → 0.3.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 (95) hide show
  1. package/dist/cjs/{index-B6Rjt_WH.js → index-B6HF5D3u.js} +652 -8
  2. package/dist/cjs/index-B6HF5D3u.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-banner.cjs.entry.js +2 -2
  6. package/dist/cjs/pennlibs-banner.cjs.entry.js.map +1 -1
  7. package/dist/cjs/pennlibs-banner.entry.cjs.js.map +1 -1
  8. package/dist/cjs/pennlibs-chat.pennlibs-fallback-img.pennlibs-feedback.pennlibs-footer.pennlibs-header.pennlibs-hero.entry.cjs.js.map +1 -0
  9. package/dist/cjs/{pennlibs-chat_5.cjs.entry.js → pennlibs-chat_6.cjs.entry.js} +33 -14
  10. package/dist/cjs/pennlibs-chat_6.cjs.entry.js.map +1 -0
  11. package/dist/cjs/web.cjs.js +2 -2
  12. package/dist/collection/collection-manifest.json +1 -1
  13. package/dist/collection/components/pennlibs-banner/pennlibs-banner.css +1 -1
  14. package/dist/collection/components/pennlibs-fallback-img/assets/simplified-shield.webp +0 -0
  15. package/dist/collection/components/pennlibs-fallback-img/pennlibs-fallback-img.css +16 -0
  16. package/dist/collection/components/pennlibs-fallback-img/pennlibs-fallback-img.js +21 -0
  17. package/dist/collection/components/pennlibs-fallback-img/pennlibs-fallback-img.js.map +1 -0
  18. package/dist/collection/components/pennlibs-footer/pennlibs-footer.css +6 -2
  19. package/dist/collection/components/pennlibs-footer/pennlibs-footer.js +3 -32
  20. package/dist/collection/components/pennlibs-footer/pennlibs-footer.js.map +1 -1
  21. package/dist/collection/components/pennlibs-header/pennlibs-header.css +10 -10
  22. package/dist/collection/components/pennlibs-header/pennlibs-header.js +46 -14
  23. package/dist/collection/components/pennlibs-header/pennlibs-header.js.map +1 -1
  24. package/dist/collection/components/pennlibs-hero/pennlibs-hero.css +1 -1
  25. package/dist/collection/components/pennlibs-hero/pennlibs-hero.js +8 -1
  26. package/dist/collection/components/pennlibs-hero/pennlibs-hero.js.map +1 -1
  27. package/dist/components/index.d.ts +2 -2
  28. package/dist/components/index.js +1 -1
  29. package/dist/components/pennlibs-banner.js +1 -1
  30. package/dist/components/pennlibs-banner.js.map +1 -1
  31. package/dist/components/{pennlibs-colors.d.ts → pennlibs-fallback-img.d.ts} +4 -4
  32. package/dist/components/pennlibs-fallback-img.js +38 -0
  33. package/dist/components/pennlibs-fallback-img.js.map +1 -0
  34. package/dist/components/pennlibs-footer.js +4 -7
  35. package/dist/components/pennlibs-footer.js.map +1 -1
  36. package/dist/components/pennlibs-header.js +9 -3
  37. package/dist/components/pennlibs-header.js.map +1 -1
  38. package/dist/components/pennlibs-hero.js +2 -2
  39. package/dist/components/pennlibs-hero.js.map +1 -1
  40. package/dist/docs.d.ts +443 -0
  41. package/dist/docs.json +311 -0
  42. package/dist/esm/{index-BQRdy1TQ.js → index-BAQIT3Vo.js} +652 -8
  43. package/dist/esm/index-BAQIT3Vo.js.map +1 -0
  44. package/dist/esm/index.js +1 -1
  45. package/dist/esm/loader.js +3 -3
  46. package/dist/esm/pennlibs-banner.entry.js +2 -2
  47. package/dist/esm/pennlibs-banner.entry.js.map +1 -1
  48. package/dist/esm/pennlibs-chat.pennlibs-fallback-img.pennlibs-feedback.pennlibs-footer.pennlibs-header.pennlibs-hero.entry.js.map +1 -0
  49. package/dist/esm/{pennlibs-chat_5.entry.js → pennlibs-chat_6.entry.js} +33 -15
  50. package/dist/esm/{pennlibs-chat.pennlibs-feedback.pennlibs-footer.pennlibs-header.pennlibs-hero.entry.js.map → pennlibs-chat_6.entry.js.map} +1 -1
  51. package/dist/esm/web.js +3 -3
  52. package/dist/types/components/pennlibs-fallback-img/pennlibs-fallback-img.d.ts +3 -0
  53. package/dist/types/components/pennlibs-footer/pennlibs-footer.d.ts +0 -10
  54. package/dist/types/components/pennlibs-header/pennlibs-header.d.ts +29 -8
  55. package/dist/types/components/pennlibs-hero/pennlibs-hero.d.ts +7 -0
  56. package/dist/types/components.d.ts +94 -62
  57. package/dist/web/assets/simplified-shield.webp +0 -0
  58. package/dist/web/index.esm.js +1 -1
  59. package/dist/web/{p-BQRdy1TQ.js → p-BAQIT3Vo.js} +652 -8
  60. package/dist/web/p-BAQIT3Vo.js.map +1 -0
  61. package/dist/web/{p-a24d914e.entry.js → p-b9fe301b.entry.js} +33 -15
  62. package/dist/web/{pennlibs-chat.pennlibs-feedback.pennlibs-footer.pennlibs-header.pennlibs-hero.entry.esm.js.map → p-b9fe301b.entry.js.map} +1 -1
  63. package/dist/web/{p-dac033ee.entry.js → p-bb31e5e2.entry.js} +3 -3
  64. package/dist/web/p-bb31e5e2.entry.js.map +1 -0
  65. package/dist/web/pennlibs-banner.entry.esm.js.map +1 -1
  66. package/dist/web/pennlibs-chat.pennlibs-fallback-img.pennlibs-feedback.pennlibs-footer.pennlibs-header.pennlibs-hero.entry.esm.js.map +1 -0
  67. package/dist/web/web.css +18 -11
  68. package/dist/web/web.esm.js +3 -3
  69. package/hydrate/index.d.ts +271 -0
  70. package/hydrate/index.js +19573 -0
  71. package/hydrate/index.mjs +19565 -0
  72. package/hydrate/package.json +12 -0
  73. package/package.json +12 -8
  74. package/dist/cjs/index-B6Rjt_WH.js.map +0 -1
  75. package/dist/cjs/pennlibs-chat.pennlibs-feedback.pennlibs-footer.pennlibs-header.pennlibs-hero.entry.cjs.js.map +0 -1
  76. package/dist/cjs/pennlibs-chat_5.cjs.entry.js.map +0 -1
  77. package/dist/cjs/pennlibs-colors.cjs.entry.js +0 -20
  78. package/dist/cjs/pennlibs-colors.cjs.entry.js.map +0 -1
  79. package/dist/cjs/pennlibs-colors.entry.cjs.js.map +0 -1
  80. package/dist/collection/components/pennlibs-colors/pennlibs-colors.css +0 -51
  81. package/dist/collection/components/pennlibs-colors/pennlibs-colors.js +0 -46
  82. package/dist/collection/components/pennlibs-colors/pennlibs-colors.js.map +0 -1
  83. package/dist/components/pennlibs-colors.js +0 -38
  84. package/dist/components/pennlibs-colors.js.map +0 -1
  85. package/dist/esm/index-BQRdy1TQ.js.map +0 -1
  86. package/dist/esm/pennlibs-chat_5.entry.js.map +0 -1
  87. package/dist/esm/pennlibs-colors.entry.js +0 -18
  88. package/dist/esm/pennlibs-colors.entry.js.map +0 -1
  89. package/dist/types/components/pennlibs-colors/pennlibs-colors.d.ts +0 -13
  90. package/dist/web/p-2edaa432.entry.js +0 -18
  91. package/dist/web/p-2edaa432.entry.js.map +0 -1
  92. package/dist/web/p-BQRdy1TQ.js.map +0 -1
  93. package/dist/web/p-a24d914e.entry.js.map +0 -1
  94. package/dist/web/p-dac033ee.entry.js.map +0 -1
  95. package/dist/web/pennlibs-colors.entry.esm.js.map +0 -1
package/dist/esm/web.js CHANGED
@@ -1,5 +1,5 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-BQRdy1TQ.js';
2
- export { s as setNonce } from './index-BQRdy1TQ.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-BAQIT3Vo.js';
2
+ export { s as setNonce } from './index-BAQIT3Vo.js';
3
3
  import { g as globalScripts } from './app-globals-DQuL1Twl.js';
4
4
 
5
5
  /*
@@ -17,7 +17,7 @@ var patchBrowser = () => {
17
17
 
18
18
  patchBrowser().then(async (options) => {
19
19
  await globalScripts();
20
- return bootstrapLazy([["pennlibs-chat_5",[[1,"pennlibs-chat",{"href":[32]}],[1,"pennlibs-feedback",{"error":[32],"answer":[32]}],[1,"pennlibs-footer",{"navigation":[16],"navigationByChildren":[32]}],[1,"pennlibs-header",{"serviceName":[1,"service-name"],"serviceLede":[1,"service-lede"],"serviceHref":[1,"service-href"],"theme":[1],"isMenuOpen":[32],"navigation":[32]}],[1,"pennlibs-hero",{"heroPictureElement":[32],"heroHeadingElement":[32],"heroParagraphElement":[32],"heroSrc":[32]}]]],["pennlibs-banner",[[1,"pennlibs-banner"]]],["pennlibs-colors",[[1,"pennlibs-colors",{"navigation":[16]}]]]], options);
20
+ return bootstrapLazy([["pennlibs-chat_6",[[1,"pennlibs-chat",{"href":[32]}],[1,"pennlibs-fallback-img"],[1,"pennlibs-feedback",{"error":[32],"answer":[32]}],[1,"pennlibs-footer",{"navigationByChildren":[32]}],[1,"pennlibs-header",{"serviceName":[1,"service-name"],"serviceLede":[1,"service-lede"],"serviceHref":[1,"service-href"],"theme":[1],"isMenuOpen":[32],"navigation":[32]}],[1,"pennlibs-hero",{"heroPictureElement":[32],"heroHeadingElement":[32],"heroParagraphElement":[32],"heroSrc":[32]}]]],["pennlibs-banner",[[1,"pennlibs-banner"]]]], options);
21
21
  });
22
22
  //# sourceMappingURL=web.js.map
23
23
 
@@ -0,0 +1,3 @@
1
+ export declare class NoImage {
2
+ render(): any;
3
+ }
@@ -1,14 +1,4 @@
1
1
  export declare class Footer {
2
- /**
3
- * The navigation sections.
4
- */
5
- navigation: Array<{
6
- heading: string;
7
- links: Array<{
8
- label: string;
9
- href: string;
10
- }>;
11
- }>;
12
2
  navigationByChildren: any;
13
3
  hostElement: HTMLElement;
14
4
  componentWillLoad(): void;
@@ -1,20 +1,41 @@
1
+ /**
2
+ * A header component for Penn Libraries websites that displays the Penn Libraries logo,
3
+ * service branding, and navigation. Supports both light and dark themes.
4
+ *
5
+ * @component
6
+ * @example
7
+ * <pennlibs-header
8
+ * service-name="Find Books"
9
+ * service-lede="Search our catalog and collections"
10
+ * theme="light">
11
+ * <a href="/search">Search</a>
12
+ * <a href="/help">Help</a>
13
+ * </pennlibs-header>
14
+ *
15
+ * @slot end - Content to display at the end of the header (right side)
16
+ * @slot name-end - Content to display at the end of the service name (right side)
17
+ *
18
+ * @prop --max-width: The maximum width of the header.
19
+ */
1
20
  export declare class Header {
2
21
  /**
3
- * The name of the service.
22
+ * The service name should clearly describe what users want to accomplish. Avoid technical jargon, technology names, and acronyms.
4
23
  */
5
- serviceName: string;
24
+ serviceName?: string;
6
25
  /**
7
- * The opening brief sentence introducting the most important aspects of the service.
26
+ * A brief, compelling description that helps users understand what they can do here. Keep it short and focused on user benefits.
8
27
  */
9
- serviceLede: string;
28
+ serviceLede?: string;
10
29
  /**
11
- * The service href that turns the service name into a link.
30
+ * The URL where the service name links to, typically the service homepage or main landing page.
31
+ * @default "/"
12
32
  */
13
- serviceHref: string;
33
+ serviceHref?: string;
14
34
  /**
15
- * The service href that turns the service name into a link.
35
+ * The visual theme of the header. Light theme uses blue logo, dark theme uses white logo.
36
+ * @default 'light'
16
37
  */
17
- theme: string;
38
+ theme: 'light' | 'dark';
18
39
  isMenuOpen: boolean;
19
40
  navigation: any[];
20
41
  hostElement: HTMLElement;
@@ -1,3 +1,10 @@
1
+ /**
2
+ * Place your most important content in a prominent space, often at the top of your website.
3
+ *
4
+ * @slot start - Content to display at the start (top) of the hero.
5
+ *
6
+ * @prop --max-width: The maximum width of the hero inner content.
7
+ */
1
8
  export declare class Hero {
2
9
  hostElement: HTMLElement;
3
10
  heroPictureElement: null | HTMLPictureElement;
@@ -10,50 +10,49 @@ export namespace Components {
10
10
  }
11
11
  interface PennlibsChat {
12
12
  }
13
- interface PennlibsColors {
14
- /**
15
- * The navigation sections.
16
- */
17
- "navigation": Array<{
18
- heading: string;
19
- links: Array<{
20
- label: string;
21
- href: string;
22
- }>;
23
- }>;
13
+ interface PennlibsFallbackImg {
24
14
  }
25
15
  interface PennlibsFeedback {
26
16
  }
27
17
  interface PennlibsFooter {
28
- /**
29
- * The navigation sections.
30
- */
31
- "navigation": Array<{
32
- heading: string;
33
- links: Array<{
34
- label: string;
35
- href: string;
36
- }>;
37
- }>;
38
18
  }
19
+ /**
20
+ * A header component for Penn Libraries websites that displays the Penn Libraries logo,
21
+ * service branding, and navigation. Supports both light and dark themes.
22
+ * @component
23
+ * @example <pennlibs-header
24
+ * service-name="Find Books"
25
+ * service-lede="Search our catalog and collections"
26
+ * theme="light">
27
+ * <a href="/search">Search</a>
28
+ * <a href="/help">Help</a>
29
+ * </pennlibs-header>
30
+ * @prop --max-width: The maximum width of the header.
31
+ */
39
32
  interface PennlibsHeader {
40
33
  /**
41
- * The service href that turns the service name into a link.
34
+ * The URL where the service name links to, typically the service homepage or main landing page.
35
+ * @default "/"
42
36
  */
43
- "serviceHref": string;
37
+ "serviceHref"?: string;
44
38
  /**
45
- * The opening brief sentence introducting the most important aspects of the service.
39
+ * A brief, compelling description that helps users understand what they can do here. Keep it short and focused on user benefits.
46
40
  */
47
- "serviceLede": string;
41
+ "serviceLede"?: string;
48
42
  /**
49
- * The name of the service.
43
+ * The service name should clearly describe what users want to accomplish. Avoid technical jargon, technology names, and acronyms.
50
44
  */
51
- "serviceName": string;
45
+ "serviceName"?: string;
52
46
  /**
53
- * The service href that turns the service name into a link.
47
+ * The visual theme of the header. Light theme uses blue logo, dark theme uses white logo.
48
+ * @default 'light'
54
49
  */
55
- "theme": string;
50
+ "theme": 'light' | 'dark';
56
51
  }
52
+ /**
53
+ * Place your most important content in a prominent space, often at the top of your website.
54
+ * @prop --max-width: The maximum width of the hero inner content.
55
+ */
57
56
  interface PennlibsHero {
58
57
  }
59
58
  }
@@ -74,11 +73,11 @@ declare global {
74
73
  prototype: HTMLPennlibsChatElement;
75
74
  new (): HTMLPennlibsChatElement;
76
75
  };
77
- interface HTMLPennlibsColorsElement extends Components.PennlibsColors, HTMLStencilElement {
76
+ interface HTMLPennlibsFallbackImgElement extends Components.PennlibsFallbackImg, HTMLStencilElement {
78
77
  }
79
- var HTMLPennlibsColorsElement: {
80
- prototype: HTMLPennlibsColorsElement;
81
- new (): HTMLPennlibsColorsElement;
78
+ var HTMLPennlibsFallbackImgElement: {
79
+ prototype: HTMLPennlibsFallbackImgElement;
80
+ new (): HTMLPennlibsFallbackImgElement;
82
81
  };
83
82
  interface HTMLPennlibsFeedbackElementEventMap {
84
83
  "pennlibs-feedback": {
@@ -109,12 +108,29 @@ declare global {
109
108
  prototype: HTMLPennlibsFooterElement;
110
109
  new (): HTMLPennlibsFooterElement;
111
110
  };
111
+ /**
112
+ * A header component for Penn Libraries websites that displays the Penn Libraries logo,
113
+ * service branding, and navigation. Supports both light and dark themes.
114
+ * @component
115
+ * @example <pennlibs-header
116
+ * service-name="Find Books"
117
+ * service-lede="Search our catalog and collections"
118
+ * theme="light">
119
+ * <a href="/search">Search</a>
120
+ * <a href="/help">Help</a>
121
+ * </pennlibs-header>
122
+ * @prop --max-width: The maximum width of the header.
123
+ */
112
124
  interface HTMLPennlibsHeaderElement extends Components.PennlibsHeader, HTMLStencilElement {
113
125
  }
114
126
  var HTMLPennlibsHeaderElement: {
115
127
  prototype: HTMLPennlibsHeaderElement;
116
128
  new (): HTMLPennlibsHeaderElement;
117
129
  };
130
+ /**
131
+ * Place your most important content in a prominent space, often at the top of your website.
132
+ * @prop --max-width: The maximum width of the hero inner content.
133
+ */
118
134
  interface HTMLPennlibsHeroElement extends Components.PennlibsHero, HTMLStencilElement {
119
135
  }
120
136
  var HTMLPennlibsHeroElement: {
@@ -124,7 +140,7 @@ declare global {
124
140
  interface HTMLElementTagNameMap {
125
141
  "pennlibs-banner": HTMLPennlibsBannerElement;
126
142
  "pennlibs-chat": HTMLPennlibsChatElement;
127
- "pennlibs-colors": HTMLPennlibsColorsElement;
143
+ "pennlibs-fallback-img": HTMLPennlibsFallbackImgElement;
128
144
  "pennlibs-feedback": HTMLPennlibsFeedbackElement;
129
145
  "pennlibs-footer": HTMLPennlibsFooterElement;
130
146
  "pennlibs-header": HTMLPennlibsHeaderElement;
@@ -136,17 +152,7 @@ declare namespace LocalJSX {
136
152
  }
137
153
  interface PennlibsChat {
138
154
  }
139
- interface PennlibsColors {
140
- /**
141
- * The navigation sections.
142
- */
143
- "navigation"?: Array<{
144
- heading: string;
145
- links: Array<{
146
- label: string;
147
- href: string;
148
- }>;
149
- }>;
155
+ interface PennlibsFallbackImg {
150
156
  }
151
157
  interface PennlibsFeedback {
152
158
  "onPennlibs-feedback"?: (event: PennlibsFeedbackCustomEvent<{
@@ -158,41 +164,50 @@ declare namespace LocalJSX {
158
164
  }>) => void;
159
165
  }
160
166
  interface PennlibsFooter {
161
- /**
162
- * The navigation sections.
163
- */
164
- "navigation"?: Array<{
165
- heading: string;
166
- links: Array<{
167
- label: string;
168
- href: string;
169
- }>;
170
- }>;
171
167
  }
168
+ /**
169
+ * A header component for Penn Libraries websites that displays the Penn Libraries logo,
170
+ * service branding, and navigation. Supports both light and dark themes.
171
+ * @component
172
+ * @example <pennlibs-header
173
+ * service-name="Find Books"
174
+ * service-lede="Search our catalog and collections"
175
+ * theme="light">
176
+ * <a href="/search">Search</a>
177
+ * <a href="/help">Help</a>
178
+ * </pennlibs-header>
179
+ * @prop --max-width: The maximum width of the header.
180
+ */
172
181
  interface PennlibsHeader {
173
182
  /**
174
- * The service href that turns the service name into a link.
183
+ * The URL where the service name links to, typically the service homepage or main landing page.
184
+ * @default "/"
175
185
  */
176
186
  "serviceHref"?: string;
177
187
  /**
178
- * The opening brief sentence introducting the most important aspects of the service.
188
+ * A brief, compelling description that helps users understand what they can do here. Keep it short and focused on user benefits.
179
189
  */
180
190
  "serviceLede"?: string;
181
191
  /**
182
- * The name of the service.
192
+ * The service name should clearly describe what users want to accomplish. Avoid technical jargon, technology names, and acronyms.
183
193
  */
184
194
  "serviceName"?: string;
185
195
  /**
186
- * The service href that turns the service name into a link.
196
+ * The visual theme of the header. Light theme uses blue logo, dark theme uses white logo.
197
+ * @default 'light'
187
198
  */
188
- "theme"?: string;
199
+ "theme"?: 'light' | 'dark';
189
200
  }
201
+ /**
202
+ * Place your most important content in a prominent space, often at the top of your website.
203
+ * @prop --max-width: The maximum width of the hero inner content.
204
+ */
190
205
  interface PennlibsHero {
191
206
  }
192
207
  interface IntrinsicElements {
193
208
  "pennlibs-banner": PennlibsBanner;
194
209
  "pennlibs-chat": PennlibsChat;
195
- "pennlibs-colors": PennlibsColors;
210
+ "pennlibs-fallback-img": PennlibsFallbackImg;
196
211
  "pennlibs-feedback": PennlibsFeedback;
197
212
  "pennlibs-footer": PennlibsFooter;
198
213
  "pennlibs-header": PennlibsHeader;
@@ -205,10 +220,27 @@ declare module "@stencil/core" {
205
220
  interface IntrinsicElements {
206
221
  "pennlibs-banner": LocalJSX.PennlibsBanner & JSXBase.HTMLAttributes<HTMLPennlibsBannerElement>;
207
222
  "pennlibs-chat": LocalJSX.PennlibsChat & JSXBase.HTMLAttributes<HTMLPennlibsChatElement>;
208
- "pennlibs-colors": LocalJSX.PennlibsColors & JSXBase.HTMLAttributes<HTMLPennlibsColorsElement>;
223
+ "pennlibs-fallback-img": LocalJSX.PennlibsFallbackImg & JSXBase.HTMLAttributes<HTMLPennlibsFallbackImgElement>;
209
224
  "pennlibs-feedback": LocalJSX.PennlibsFeedback & JSXBase.HTMLAttributes<HTMLPennlibsFeedbackElement>;
210
225
  "pennlibs-footer": LocalJSX.PennlibsFooter & JSXBase.HTMLAttributes<HTMLPennlibsFooterElement>;
226
+ /**
227
+ * A header component for Penn Libraries websites that displays the Penn Libraries logo,
228
+ * service branding, and navigation. Supports both light and dark themes.
229
+ * @component
230
+ * @example <pennlibs-header
231
+ * service-name="Find Books"
232
+ * service-lede="Search our catalog and collections"
233
+ * theme="light">
234
+ * <a href="/search">Search</a>
235
+ * <a href="/help">Help</a>
236
+ * </pennlibs-header>
237
+ * @prop --max-width: The maximum width of the header.
238
+ */
211
239
  "pennlibs-header": LocalJSX.PennlibsHeader & JSXBase.HTMLAttributes<HTMLPennlibsHeaderElement>;
240
+ /**
241
+ * Place your most important content in a prominent space, often at the top of your website.
242
+ * @prop --max-width: The maximum width of the hero inner content.
243
+ */
212
244
  "pennlibs-hero": LocalJSX.PennlibsHero & JSXBase.HTMLAttributes<HTMLPennlibsHeroElement>;
213
245
  }
214
246
  }
@@ -1,4 +1,4 @@
1
- export { d as setAssetPath } from './p-BQRdy1TQ.js';
1
+ export { d as setAssetPath } from './p-BAQIT3Vo.js';
2
2
  //# sourceMappingURL=index.esm.js.map
3
3
 
4
4
  //# sourceMappingURL=index.esm.js.map