@penn-libraries/web 0.3.0 → 1.0.0-dev.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/cjs/pennlibs-banner.cjs.entry.js +1 -1
  2. package/dist/cjs/pennlibs-banner.cjs.entry.js.map +1 -1
  3. package/dist/cjs/pennlibs-banner.entry.cjs.js.map +1 -1
  4. package/dist/cjs/pennlibs-chat.pennlibs-fallback-img.pennlibs-feedback.pennlibs-footer.pennlibs-header.pennlibs-hero.entry.cjs.js.map +1 -1
  5. package/dist/cjs/pennlibs-chat_6.cjs.entry.js +12 -12
  6. package/dist/cjs/pennlibs-chat_6.cjs.entry.js.map +1 -1
  7. package/dist/collection/components/pennlibs-banner/pennlibs-banner.css +8 -8
  8. package/dist/collection/components/pennlibs-chat/pennlibs-chat.css +12 -6
  9. package/dist/collection/components/pennlibs-fallback-img/pennlibs-fallback-img.css +3 -3
  10. package/dist/collection/components/pennlibs-feedback/pennlibs-feedback.css +21 -16
  11. package/dist/collection/components/pennlibs-footer/pennlibs-footer.css +15 -10
  12. package/dist/collection/components/pennlibs-footer/pennlibs-footer.js +29 -4
  13. package/dist/collection/components/pennlibs-footer/pennlibs-footer.js.map +1 -1
  14. package/dist/collection/components/pennlibs-header/pennlibs-header.css +20 -15
  15. package/dist/collection/components/pennlibs-header/pennlibs-header.js +3 -2
  16. package/dist/collection/components/pennlibs-header/pennlibs-header.js.map +1 -1
  17. package/dist/collection/components/pennlibs-hero/pennlibs-hero.css +15 -16
  18. package/dist/collection/components/pennlibs-hero/pennlibs-hero.js +3 -2
  19. package/dist/collection/components/pennlibs-hero/pennlibs-hero.js.map +1 -1
  20. package/dist/components/pennlibs-banner.js +1 -1
  21. package/dist/components/pennlibs-banner.js.map +1 -1
  22. package/dist/components/pennlibs-chat.js +1 -1
  23. package/dist/components/pennlibs-chat.js.map +1 -1
  24. package/dist/components/pennlibs-fallback-img.js +1 -1
  25. package/dist/components/pennlibs-fallback-img.js.map +1 -1
  26. package/dist/components/pennlibs-feedback.js +1 -1
  27. package/dist/components/pennlibs-feedback.js.map +1 -1
  28. package/dist/components/pennlibs-footer.js +5 -5
  29. package/dist/components/pennlibs-footer.js.map +1 -1
  30. package/dist/components/pennlibs-header.js +2 -2
  31. package/dist/components/pennlibs-header.js.map +1 -1
  32. package/dist/components/pennlibs-hero.js +2 -2
  33. package/dist/components/pennlibs-hero.js.map +1 -1
  34. package/dist/docs.json +39 -6
  35. package/dist/esm/pennlibs-banner.entry.js +1 -1
  36. package/dist/esm/pennlibs-banner.entry.js.map +1 -1
  37. package/dist/esm/pennlibs-chat.pennlibs-fallback-img.pennlibs-feedback.pennlibs-footer.pennlibs-header.pennlibs-hero.entry.js.map +1 -1
  38. package/dist/esm/pennlibs-chat_6.entry.js +12 -12
  39. package/dist/esm/pennlibs-chat_6.entry.js.map +1 -1
  40. package/dist/types/components/pennlibs-footer/pennlibs-footer.d.ts +25 -0
  41. package/dist/types/components/pennlibs-header/pennlibs-header.d.ts +2 -1
  42. package/dist/types/components/pennlibs-hero/pennlibs-hero.d.ts +2 -1
  43. package/dist/types/components.d.ts +96 -8
  44. package/dist/web/{p-b9fe301b.entry.js → p-1f149b52.entry.js} +13 -13
  45. package/dist/web/p-1f149b52.entry.js.map +1 -0
  46. package/dist/web/{p-bb31e5e2.entry.js → p-e331a309.entry.js} +2 -2
  47. package/dist/web/p-e331a309.entry.js.map +1 -0
  48. package/dist/web/pennlibs-banner.entry.esm.js.map +1 -1
  49. package/dist/web/pennlibs-chat.pennlibs-fallback-img.pennlibs-feedback.pennlibs-footer.pennlibs-header.pennlibs-hero.entry.esm.js.map +1 -1
  50. package/dist/web/web.css +501 -60
  51. package/dist/web/web.esm.js +1 -1
  52. package/hydrate/index.js +42 -15
  53. package/hydrate/index.mjs +42 -15
  54. package/package.json +1 -1
  55. package/dist/web/p-b9fe301b.entry.js.map +0 -1
  56. package/dist/web/p-bb31e5e2.entry.js.map +0 -1
package/dist/web/web.css CHANGED
@@ -1,91 +1,532 @@
1
1
  @import url("https://use.typekit.net/gbh8cmg.css");
2
2
 
3
3
  :root {
4
- --color-penn-red: #990000;
5
- --color-penn-blue: #011F5B;
4
+ --pl-color-penn-red: #990000;
5
+ --pl-color-penn-blue: #011F5B;
6
+ --pl-color-gray-dark: #2D3545;
7
+ --pl-color-gray: #595F6A;
8
+ --pl-color-gray-light: #F5F5F6;
9
+ --pl-color-gray-blue-light: #EEEEF4;
10
+ --pl-color-white: #FFFFFF;
11
+ --pl-color-blue: #0E5696;
12
+ --pl-color-blue-light: #D4E4F2;
13
+ --pl-color-green: #267434;
14
+ --pl-color-green-light: #F1F7E1;
15
+ --pl-color-orange: #BD4718;
16
+ --pl-color-orange-light: #FEEDDD;
17
+ --pl-color-purple: #80317F;
18
+ --pl-color-purple-light: #F2DFED;
19
+ --pl-color-bg-gradient-1: linear-gradient(45deg, rgba(200, 219, 232, 0.8), rgba(239, 210, 215, 0.8));
20
+ --pl-color-bg-gradient-2: linear-gradient(45deg, #dbe9f5, #feefdf);
21
+ --pl-font-size: 16px;
22
+ --pl-font-sans-serif: proxima-nova, system-ui, sans-serif;
23
+ --pl-font-serif: cormorant-garamond, serif;
24
+ --pl-link-text-underline-offset: 0.2em;
25
+ --pl-link-text-decoration-thickness: 1px;
26
+ --pl-link-hover-text-decoration-thickness: 2px;
27
+ --pl-viewport-max-width: 1440px;
28
+ --pl-viewport-margins-gutter: 1em;
29
+ --pl-color-fg-default: var(--pl-color-gray-dark);
30
+ --pl-color-fg-subtle: var(--pl-color-gray);
31
+ --pl-color-fg-subtle-on-emphasis: var(--pl-color-gray-light);
32
+ --pl-color-fg-on-emphasis: var(--pl-color-white);
33
+ --pl-color-fg-accent: var(--pl-color-blue);
34
+ --pl-color-fg-success: var(--pl-color-green);
35
+ --pl-color-fg-attention: var(--pl-color-orange);
36
+ --pl-color-fg-info: var(--pl-color-purple);
37
+ --pl-color-bg-default: var(--pl-color-white);
38
+ --pl-color-bg-subtle: var(--pl-color-gray-light);
39
+ --pl-color-bg-subtle-brand: var(--pl-color-gray-blue-light);
40
+ --pl-color-bg-emphasis: var(--pl-color-gray-dark);
41
+ --pl-color-bg-accent: var(--pl-color-blue-light);
42
+ --pl-color-bg-success: var(--pl-color-green-light);
43
+ --pl-color-bg-attention: var(--pl-color-orange-light);
44
+ --pl-color-bg-info: var(--pl-color-purple-light);
45
+ --pl-color-bg-accent-emphasis: var(--pl-color-blue);
46
+ --pl-color-bg-success-emphasis: var(--pl-color-green);
47
+ --pl-color-bg-attention-emphasis: var(--pl-color-orange);
48
+ --pl-color-bg-info-emphasis: var(--pl-color-purple);
49
+ --pl-font-family: var(--pl-font-sans-serif);
50
+ --pl-link-text-underline-offset: 0.2em;
51
+ --pl-link-text-decoration-thickness: 1px;
52
+ --pl-link-hover-text-decoration-thickness: 2px;
6
53
 
7
- --color-gray-dark: #2D3545;
8
- --color-gray: #595F6A;
9
- --color-gray-light: #F5F5F6;
54
+ /* Font size tokens */
55
+ --pl-font-size-5xl: 2.75rem;
56
+ --pl-font-size-4xl: 2.25rem;
57
+ --pl-font-size-3xl: 2rem;
58
+ --pl-font-size-2xl: 1.5rem;
59
+ --pl-font-size-xl: 1.25rem;
60
+ --pl-font-size-lg: 1.125rem;
61
+ --pl-font-size-base: 1rem;
62
+ --pl-font-size-sm: 0.875rem;
63
+ --pl-font-size-xs: 0.75rem;
64
+
65
+ /* Spacing tokens */
66
+ --pl-space-2xs: 0.125rem;
67
+ --pl-space-xs: 0.25rem;
68
+ --pl-space-sm: 0.5rem;
69
+ --pl-space-md: 0.75rem;
70
+ --pl-space-base: 1rem;
71
+ --pl-space-lg: 1.5rem;
72
+ --pl-space-xl: 2rem;
73
+ --pl-space-2xl: 3rem;
74
+ --pl-space-3xl: 4rem;
75
+
76
+ /* Border radius tokens */
77
+ --pl-border-radius-subtle: 0.125rem;
78
+ --pl-border-radius-base: 1rem;
79
+
80
+ /* Focus box shadow tokens */
81
+ --pl-focus-box-shadow: 0 0 0 2px var(--pl-color-bg-accent), 0 0 0 4px var(--pl-color-fg-default);
82
+ }
83
+
84
+ @media (min-width: 768px) {
85
+ :root {
86
+ --pl-viewport-margins-gutter: 3em;
87
+ }
88
+ }
89
+
90
+ .pl-viewport-margins {
91
+ max-width: var(--pl-viewport-max-width);
92
+ margin: 0 auto;
93
+ padding: 0 var(--pl-viewport-margins-gutter, 1rem);
94
+ width: 100%;
95
+ }
96
+
97
+ /*
98
+ Prevents a flash of unstyled content (FOUC) while custom elements are loading.
99
+ Ensures that elements are only visible once they're fully defined and ready to be displayed.
100
+ */
101
+ :not(:defined) {
102
+ visibility: hidden;
103
+ }
104
+
105
+ /*
106
+ Reset
107
+ */
108
+
109
+ :where(.pl-reset) {
110
+ font-weight: 400;
111
+ line-height: 1.4;
112
+ color: var(--pl-color-fg-default);
113
+ accent-color: var(--pl-color-fg-accent);
114
+
115
+ /* Use a more-intuitive box-sizing model */
116
+ & :is(*, *::before, *::after) {
117
+ box-sizing: border-box;
118
+ margin: 0;
119
+ }
120
+
121
+ /* Improve media defaults */
122
+ & :is(img, picture, video, canvas, svg) {
123
+ display: block;
124
+ max-width: 100%;
125
+ }
126
+
127
+ /* Inherit fonts for form controls */
128
+ & :is(input, button, textarea, select) {
129
+ font: var(--pl-font-family);
130
+ }
131
+
132
+ /* Avoid text overflows */
133
+ & :is(p, h1, h2, h3, h4, h5, h6) {
134
+ overflow-wrap: break-word;
135
+ }
136
+
137
+ /* Improve line wrapping */
138
+ & p {
139
+ text-wrap: pretty;
140
+ }
141
+ & :is(h1, h2, h3, h4, h5, h6) {
142
+ text-wrap: balance;
143
+ }
144
+
145
+ /* Link styles */
146
+ & a {
147
+ color: var(--pl-color-fg-accent);
148
+ text-decoration: underline;
149
+ text-underline-offset: var(--pl-link-text-underline-offset);
150
+ text-decoration-thickness: var(--pl-link-text-decoration-thickness);
151
+ font-weight: 500;
152
+
153
+ &:hover {
154
+ text-decoration-thickness: 3px;
155
+ }
156
+ }
157
+ }
10
158
 
11
- --color-gray-blue-light: #EEEEF4;
159
+ /*
160
+ Typeset
161
+ */
162
+
163
+ :where(.pl-typeset) {
164
+ font-family: var(--pl-font-family);
12
165
 
13
- --color-white: #FFFFFF;
166
+ & :is(p, .pl-p) {
167
+ font-family: var(--pl-font-family);
168
+ }
169
+
170
+ & :is(h1, .pl-h1, h2, .pl-h2) {
171
+ font-family: var(--pl-font-serif);
172
+ }
173
+
174
+ & :is(h1, .pl-h1, h2, .pl-h2, h3, .pl-h3, h4, .pl-h4, h5, .pl-h5, h6, .pl-h6) {
175
+ font-weight: 600;
176
+ }
14
177
 
15
- --color-blue: #0E5696;
16
- --color-blue-light: #D4E4F2;
178
+ & *+:is(h2,h3,h4,h5,h6) {
179
+ margin-block-start: var(--pl-space-xl);
180
+ }
17
181
 
18
- --color-green: #267434;
19
- --color-green-light: #F1F7E1;
182
+ & :is(h1, .pl-h1, h2, .pl-h2) {
183
+ font-weight: 600;
184
+ line-height: 1.125;
185
+ font-family: var(--pl-font-serif);
186
+ color: var(--pl-color-penn-blue);
187
+ position: relative;
20
188
 
21
- --color-orange: #BD4718;
22
- --color-orange-light: #FEEDDD;
189
+ &::after {
190
+ bottom: -0.25rem;
191
+ content: "";
192
+ display: block;
193
+ height: 4px;
194
+ opacity: 1;
195
+ position: absolute;
196
+ }
197
+ }
23
198
 
24
- --color-purple: #80317F;
25
- --color-purple-light: #F2DFED;
199
+ & :is(h1, .pl-h1) {
200
+ font-size: var(--pl-font-size-5xl);
201
+ margin-bottom: 0.5em;
202
+ margin-top: 0;
26
203
 
27
- --color-bg-gradient-1: linear-gradient(45deg, rgba(200, 219, 232, 0.8), rgba(239, 210, 215, 0.8));
28
- --color-bg-gradient-2: linear-gradient(45deg, #dbe9f5, #feefdf);
204
+ &::after {
205
+ background: var(--pl-color-penn-red);
206
+ width: 2.25rem;
207
+ }
208
+ }
29
209
 
30
- --font-size: 16px;
31
- --font-sans-serif: proxima-nova, system-ui, sans-serif;
32
- --font-serif: cormorant-garamond, serif;
210
+ & :is(h2, .pl-h2) {
211
+ font-size: var(--pl-font-size-3xl);
212
+ margin-bottom: 0.75em;
33
213
 
34
- --link-text-underline-offset: 0.2em;
35
- --link-text-decoration-thickness: 1px;
36
- --link-hover-text-decoration-thickness: 2px;
214
+ &::after {
215
+ background: #d6d6dc;
216
+ width: 2.25rem;
217
+ }
218
+ }
37
219
 
38
- --max-width: 1280px;
39
- --viewport-margins-gutter: 1em;
220
+ & :is(h3, .pl-h3) {
221
+ font-size: var(--pl-font-size-xl);
222
+ font-family: var(--pl-font-sans-serif);
223
+ color: var(--pl-color-fg-default);
224
+ margin-bottom: var(--pl-space-base);
40
225
 
41
- @media (min-width: 1000px) {
42
- --viewport-margins-gutter: 3em;
226
+ &:after {
227
+ content: none;
228
+ }
43
229
  }
44
230
  }
45
231
 
46
- html {
47
- --color-fg-default: var(--color-gray-dark);
48
- --color-fg-subtle: var(--color-gray);
232
+ /*
233
+ Spacing
234
+ */
235
+
236
+ /* Margin utilities */
237
+ .pl-margin-0 { margin: 0; }
238
+ .pl-margin-2xs { margin: var(--pl-space-2xs); }
239
+ .pl-margin-xs { margin: var(--pl-space-xs); }
240
+ .pl-margin-sm { margin: var(--pl-space-sm); }
241
+ .pl-margin-base { margin: var(--pl-space-base); }
242
+ .pl-margin-lg { margin: var(--pl-space-lg); }
243
+ .pl-margin-xl { margin: var(--pl-space-xl); }
244
+ .pl-margin-2xl { margin: var(--pl-space-2xl); }
245
+ .pl-margin-3xl { margin: var(--pl-space-3xl); }
246
+
247
+ /* Margin top */
248
+ .pl-margin-t-0 { margin-top: 0; }
249
+ .pl-margin-t-2xs { margin-top: var(--pl-space-2xs); }
250
+ .pl-margin-t-xs { margin-top: var(--pl-space-xs); }
251
+ .pl-margin-t-sm { margin-top: var(--pl-space-sm); }
252
+ .pl-margin-t-base { margin-top: var(--pl-space-base); }
253
+ .pl-margin-t-lg { margin-top: var(--pl-space-lg); }
254
+ .pl-margin-t-xl { margin-top: var(--pl-space-xl); }
255
+ .pl-margin-t-2xl { margin-top: var(--pl-space-2xl); }
256
+ .pl-margin-t-3xl { margin-top: var(--pl-space-3xl); }
257
+
258
+ /* Margin bottom */
259
+ .pl-margin-b-0 { margin-bottom: 0; }
260
+ .pl-margin-b-2xs { margin-bottom: var(--pl-space-2xs); }
261
+ .pl-margin-b-xs { margin-bottom: var(--pl-space-xs); }
262
+ .pl-margin-b-sm { margin-bottom: var(--pl-space-sm); }
263
+ .pl-margin-b-base { margin-bottom: var(--pl-space-base); }
264
+ .pl-margin-b-lg { margin-bottom: var(--pl-space-lg); }
265
+ .pl-margin-b-xl { margin-bottom: var(--pl-space-xl); }
266
+ .pl-margin-b-2xl { margin-bottom: var(--pl-space-2xl); }
267
+ .pl-margin-b-3xl { margin-bottom: var(--pl-space-3xl); }
268
+
269
+ /* Margin left */
270
+ .pl-margin-l-0 { margin-left: 0; }
271
+ .pl-margin-l-2xs { margin-left: var(--pl-space-2xs); }
272
+ .pl-margin-l-xs { margin-left: var(--pl-space-xs); }
273
+ .pl-margin-l-sm { margin-left: var(--pl-space-sm); }
274
+ .pl-margin-l-base { margin-left: var(--pl-space-base); }
275
+ .pl-margin-l-lg { margin-left: var(--pl-space-lg); }
276
+ .pl-margin-l-xl { margin-left: var(--pl-space-xl); }
277
+ .pl-margin-l-2xl { margin-left: var(--pl-space-2xl); }
278
+ .pl-margin-l-3xl { margin-left: var(--pl-space-3xl); }
279
+
280
+ /* Margin right */
281
+ .pl-margin-r-0 { margin-right: 0; }
282
+ .pl-margin-r-2xs { margin-right: var(--pl-space-2xs); }
283
+ .pl-margin-r-xs { margin-right: var(--pl-space-xs); }
284
+ .pl-margin-r-sm { margin-right: var(--pl-space-sm); }
285
+ .pl-margin-r-base { margin-right: var(--pl-space-base); }
286
+ .pl-margin-r-lg { margin-right: var(--pl-space-lg); }
287
+ .pl-margin-r-xl { margin-right: var(--pl-space-xl); }
288
+ .pl-margin-r-2xl { margin-right: var(--pl-space-2xl); }
289
+ .pl-margin-r-3xl { margin-right: var(--pl-space-3xl); }
290
+
291
+ /* Margin x (left and right) */
292
+ .pl-margin-x-0 { margin-left: 0; margin-right: 0; }
293
+ .pl-margin-x-2xs { margin-left: var(--pl-space-2xs); margin-right: var(--pl-space-2xs); }
294
+ .pl-margin-x-xs { margin-left: var(--pl-space-xs); margin-right: var(--pl-space-xs); }
295
+ .pl-margin-x-sm { margin-left: var(--pl-space-sm); margin-right: var(--pl-space-sm); }
296
+ .pl-margin-x-base { margin-left: var(--pl-space-base); margin-right: var(--pl-space-base); }
297
+ .pl-margin-x-lg { margin-left: var(--pl-space-lg); margin-right: var(--pl-space-lg); }
298
+ .pl-margin-x-xl { margin-left: var(--pl-space-xl); margin-right: var(--pl-space-xl); }
299
+ .pl-margin-x-2xl { margin-left: var(--pl-space-2xl); margin-right: var(--pl-space-2xl); }
300
+ .pl-margin-x-3xl { margin-left: var(--pl-space-3xl); margin-right: var(--pl-space-3xl); }
301
+
302
+ /* Margin y (top and bottom) */
303
+ .pl-margin-y-0 { margin-top: 0; margin-bottom: 0; }
304
+ .pl-margin-y-2xs { margin-top: var(--pl-space-2xs); margin-bottom: var(--pl-space-2xs); }
305
+ .pl-margin-y-xs { margin-top: var(--pl-space-xs); margin-bottom: var(--pl-space-xs); }
306
+ .pl-margin-y-sm { margin-top: var(--pl-space-sm); margin-bottom: var(--pl-space-sm); }
307
+ .pl-margin-y-base { margin-top: var(--pl-space-base); margin-bottom: var(--pl-space-base); }
308
+ .pl-margin-y-lg { margin-top: var(--pl-space-lg); margin-bottom: var(--pl-space-lg); }
309
+ .pl-margin-y-xl { margin-top: var(--pl-space-xl); margin-bottom: var(--pl-space-xl); }
310
+ .pl-margin-y-2xl { margin-top: var(--pl-space-2xl); margin-bottom: var(--pl-space-2xl); }
311
+ .pl-margin-y-3xl { margin-top: var(--pl-space-3xl); margin-bottom: var(--pl-space-3xl); }
312
+
313
+ /* Padding utilities */
314
+ .pl-padding-0 { padding: 0; }
315
+ .pl-padding-2xs { padding: var(--pl-space-2xs); }
316
+ .pl-padding-xs { padding: var(--pl-space-xs); }
317
+ .pl-padding-sm { padding: var(--pl-space-sm); }
318
+ .pl-padding-base { padding: var(--pl-space-base); }
319
+ .pl-padding-lg { padding: var(--pl-space-lg); }
320
+ .pl-padding-xl { padding: var(--pl-space-xl); }
321
+ .pl-padding-2xl { padding: var(--pl-space-2xl); }
322
+ .pl-padding-3xl { padding: var(--pl-space-3xl); }
323
+
324
+ /* Padding top */
325
+ .pl-padding-t-0 { padding-top: 0; }
326
+ .pl-padding-t-2xs { padding-top: var(--pl-space-2xs); }
327
+ .pl-padding-t-xs { padding-top: var(--pl-space-xs); }
328
+ .pl-padding-t-sm { padding-top: var(--pl-space-sm); }
329
+ .pl-padding-t-base { padding-top: var(--pl-space-base); }
330
+ .pl-padding-t-lg { padding-top: var(--pl-space-lg); }
331
+ .pl-padding-t-xl { padding-top: var(--pl-space-xl); }
332
+ .pl-padding-t-2xl { padding-top: var(--pl-space-2xl); }
333
+ .pl-padding-t-3xl { padding-top: var(--pl-space-3xl); }
49
334
 
50
- --color-fg-subtle-on-emphasis: var(--color-gray-light);
51
- --color-fg-on-emphasis: var(--color-white);
335
+ /* Padding bottom */
336
+ .pl-padding-b-0 { padding-bottom: 0; }
337
+ .pl-padding-b-2xs { padding-bottom: var(--pl-space-2xs); }
338
+ .pl-padding-b-xs { padding-bottom: var(--pl-space-xs); }
339
+ .pl-padding-b-sm { padding-bottom: var(--pl-space-sm); }
340
+ .pl-padding-b-base { padding-bottom: var(--pl-space-base); }
341
+ .pl-padding-b-lg { padding-bottom: var(--pl-space-lg); }
342
+ .pl-padding-b-xl { padding-bottom: var(--pl-space-xl); }
343
+ .pl-padding-b-2xl { padding-bottom: var(--pl-space-2xl); }
344
+ .pl-padding-b-3xl { padding-bottom: var(--pl-space-3xl); }
52
345
 
53
- --color-fg-accent: var(--color-blue);
54
- --color-fg-success: var(--color-green);
55
- --color-fg-attention: var(--color-orange);
56
- --color-fg-info: var(--color-purple);
346
+ /* Padding left */
347
+ .pl-padding-l-0 { padding-left: 0; }
348
+ .pl-padding-l-2xs { padding-left: var(--pl-space-2xs); }
349
+ .pl-padding-l-xs { padding-left: var(--pl-space-xs); }
350
+ .pl-padding-l-sm { padding-left: var(--pl-space-sm); }
351
+ .pl-padding-l-base { padding-left: var(--pl-space-base); }
352
+ .pl-padding-l-lg { padding-left: var(--pl-space-lg); }
353
+ .pl-padding-l-xl { padding-left: var(--pl-space-xl); }
354
+ .pl-padding-l-2xl { padding-left: var(--pl-space-2xl); }
355
+ .pl-padding-l-3xl { padding-left: var(--pl-space-3xl); }
57
356
 
58
- --color-bg-default: var(--color-white);
59
- --color-bg-subtle: var(--color-gray-light);
60
- --color-bg-subtle-brand: var(--color-gray-blue-light);
61
- --color-bg-emphasis: var(--color-gray-dark);
357
+ /* Padding right */
358
+ .pl-padding-r-0 { padding-right: 0; }
359
+ .pl-padding-r-2xs { padding-right: var(--pl-space-2xs); }
360
+ .pl-padding-r-xs { padding-right: var(--pl-space-xs); }
361
+ .pl-padding-r-sm { padding-right: var(--pl-space-sm); }
362
+ .pl-padding-r-base { padding-right: var(--pl-space-base); }
363
+ .pl-padding-r-lg { padding-right: var(--pl-space-lg); }
364
+ .pl-padding-r-xl { padding-right: var(--pl-space-xl); }
365
+ .pl-padding-r-2xl { padding-right: var(--pl-space-2xl); }
366
+ .pl-padding-r-3xl { padding-right: var(--pl-space-3xl); }
62
367
 
63
- --color-bg-accent: var(--color-blue-light);
64
- --color-bg-success: var(--color-green-light);
65
- --color-bg-attention: var(--color-orange-light);
66
- --color-bg-info: var(--color-purple-light);
368
+ /* Padding x (left and right) */
369
+ .pl-padding-x-0 { padding-left: 0; padding-right: 0; }
370
+ .pl-padding-x-2xs { padding-left: var(--pl-space-2xs); padding-right: var(--pl-space-2xs); }
371
+ .pl-padding-x-xs { padding-left: var(--pl-space-xs); padding-right: var(--pl-space-xs); }
372
+ .pl-padding-x-sm { padding-left: var(--pl-space-sm); padding-right: var(--pl-space-sm); }
373
+ .pl-padding-x-base { padding-left: var(--pl-space-base); padding-right: var(--pl-space-base); }
374
+ .pl-padding-x-lg { padding-left: var(--pl-space-lg); padding-right: var(--pl-space-lg); }
375
+ .pl-padding-x-xl { padding-left: var(--pl-space-xl); padding-right: var(--pl-space-xl); }
376
+ .pl-padding-x-2xl { padding-left: var(--pl-space-2xl); padding-right: var(--pl-space-2xl); }
377
+ .pl-padding-x-3xl { padding-left: var(--pl-space-3xl); padding-right: var(--pl-space-3xl); }
67
378
 
68
- --color-bg-accent-emphasis: var(--color-blue);
69
- --color-bg-success-emphasis: var(--color-green);
70
- --color-bg-attention-emphasis: var(--color-orange);
71
- --color-bg-info-emphasis: var(--color-purple);
379
+ /* Padding y (top and bottom) */
380
+ .pl-padding-y-0 { padding-top: 0; padding-bottom: 0; }
381
+ .pl-padding-y-2xs { padding-top: var(--pl-space-2xs); padding-bottom: var(--pl-space-2xs); }
382
+ .pl-padding-y-xs { padding-top: var(--pl-space-xs); padding-bottom: var(--pl-space-xs); }
383
+ .pl-padding-y-sm { padding-top: var(--pl-space-sm); padding-bottom: var(--pl-space-sm); }
384
+ .pl-padding-y-base { padding-top: var(--pl-space-base); padding-bottom: var(--pl-space-base); }
385
+ .pl-padding-y-lg { padding-top: var(--pl-space-lg); padding-bottom: var(--pl-space-lg); }
386
+ .pl-padding-y-xl { padding-top: var(--pl-space-xl); padding-bottom: var(--pl-space-xl); }
387
+ .pl-padding-y-2xl { padding-top: var(--pl-space-2xl); padding-bottom: var(--pl-space-2xl); }
388
+ .pl-padding-y-3xl { padding-top: var(--pl-space-3xl); padding-bottom: var(--pl-space-3xl); }
72
389
 
73
- --link-visited-color: var(--color-purple);
390
+ /* Gap utilities for flexbox and grid */
391
+ .pl-gap-0 { gap: 0; }
392
+ .pl-gap-2xs { gap: var(--pl-space-2xs); }
393
+ .pl-gap-xs { gap: var(--pl-space-xs); }
394
+ .pl-gap-sm { gap: var(--pl-space-sm); }
395
+ .pl-gap-base { gap: var(--pl-space-base); }
396
+ .pl-gap-lg { gap: var(--pl-space-lg); }
397
+ .pl-gap-xl { gap: var(--pl-space-xl); }
398
+ .pl-gap-2xl { gap: var(--pl-space-2xl); }
399
+ .pl-gap-3xl { gap: var(--pl-space-3xl); }
74
400
 
75
- --font-family: var(--font-sans-serif);
401
+ /*
402
+ Font size
403
+ */
404
+
405
+ .pl-font-size-xs {
406
+ font-size: var(--pl-font-size-xs);
76
407
  }
77
408
 
78
- .viewport-margins {
79
- max-width: var(--max-width);
80
- margin: 0 auto;
81
- padding: 0 var(--viewport-margins-gutter, 1rem);
82
- width: 100%;
409
+ .pl-font-size-sm {
410
+ font-size: var(--pl-font-size-sm);
411
+ }
412
+
413
+ .pl-font-size-base {
414
+ font-size: var(--pl-font-size-base);
415
+ }
416
+
417
+ .pl-font-size-lg {
418
+ font-size: var(--pl-font-size-lg);
419
+ }
420
+
421
+ .pl-font-size-xl {
422
+ font-size: var(--pl-font-size-xl);
423
+ }
424
+
425
+ .pl-font-size-2xl {
426
+ font-size: var(--pl-font-size-2xl);
427
+ }
428
+
429
+ .pl-font-size-3xl {
430
+ font-size: var(--pl-font-size-3xl);
431
+ }
432
+
433
+ .pl-font-size-4xl {
434
+ font-size: var(--pl-font-size-4xl);
435
+ }
436
+
437
+ .pl-font-size-5xl {
438
+ font-size: var(--pl-font-size-5xl);
83
439
  }
84
440
 
85
441
  /*
86
- Prevents a flash of unstyled content (FOUC) while custom elements are loading.
87
- Ensures that elements are only visible once they're fully defined and ready to be displayed.
442
+ Line length
88
443
  */
89
- :not(:defined) {
90
- visibility: hidden;
91
- }
444
+
445
+ .pl-line-length {
446
+ max-width: 60ch;
447
+ }
448
+
449
+ /*
450
+ Border radius
451
+ */
452
+
453
+ .pl-border-radius-subtle {
454
+ border-radius: var(--pl-border-radius-subtle);
455
+ }
456
+
457
+ .pl-border-radius {
458
+ border-radius: var(--pl-border-radius-base);
459
+ }
460
+
461
+ /*
462
+ Definition list
463
+ */
464
+
465
+ .pl-dl:not(.pl-dl--inline) {
466
+ display: grid;
467
+ grid-row-gap: 0.25rem;
468
+
469
+ & dt {
470
+ font-weight: 600;
471
+ margin-top: 0.5rem;
472
+ }
473
+ }
474
+
475
+ @media (min-width: 720px) {
476
+ .pl-dl:not(.pl-dl--inline) {
477
+ grid-template-columns: 12rem 1fr;
478
+
479
+ & dt {
480
+ grid-column: 1 / 2;
481
+ margin-top: 0;
482
+ padding-right: 1rem;
483
+ }
484
+
485
+ & dd {
486
+ grid-column: 2 / 3;
487
+ margin-bottom: 0;
488
+ }
489
+ }
490
+ }
491
+
492
+ @media (min-width: 720px) {
493
+ .pl-dl:not(.pl-dl--inline) dt:not(:first-of-type),
494
+ .pl-dl:not(.pl-dl--inline) dt:not(:first-of-type) + dd {
495
+ padding-top: 0.75rem;
496
+ margin-top: 0.5rem;
497
+ border-top: solid 1px var(--pl-color-bg-subtle-brand);
498
+ }
499
+ }
500
+
501
+ .pl-dl--inline {
502
+ display: block;
503
+
504
+ & dt,
505
+ & dd {
506
+ display: inline;
507
+ padding-right: 0.5rem;
508
+ margin-bottom: 0;
509
+ }
510
+
511
+ & dt {
512
+ font-weight: 600;
513
+ }
514
+
515
+ & dt:not(:first-of-type)::before {
516
+ content: "";
517
+ display: block;
518
+ margin-bottom: 0.5rem;
519
+ }
520
+
521
+ & a {
522
+ color: var(--pl-color-fg-default);
523
+ text-decoration-style: dotted;
524
+ font-weight: 400;
525
+
526
+ &:hover {
527
+ text-decoration-style: solid;
528
+ text-decoration-thickness: 2px;
529
+ }
530
+ }
531
+ }
532
+
@@ -17,7 +17,7 @@ var patchBrowser = () => {
17
17
 
18
18
  patchBrowser().then(async (options) => {
19
19
  await globalScripts();
20
- return bootstrapLazy([["p-b9fe301b",[[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]}]]],["p-bb31e5e2",[[1,"pennlibs-banner"]]]], options);
20
+ return bootstrapLazy([["p-1f149b52",[[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]}]]],["p-e331a309",[[1,"pennlibs-banner"]]]], options);
21
21
  });
22
22
  //# sourceMappingURL=web.esm.js.map
23
23