@penn-libraries/web 0.3.1 → 1.0.0-dev.1

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