@penn-libraries/web 1.4.0-dev.4 → 1.4.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 (72) hide show
  1. package/dist/cjs/{index-BKWYkqL-.js → index-BEV8Fxnb.js} +65 -3
  2. package/dist/cjs/index-BEV8Fxnb.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-accordion.pennlibs-chat.pennlibs-expand-text.pennlibs-feedback.pennlibs-footer.pennlibs-header.pennlibs-service-switcher.entry.cjs.js.map +1 -0
  6. package/dist/cjs/{pennlibs-accordion_5.cjs.entry.js → pennlibs-accordion_7.cjs.entry.js} +95 -4
  7. package/dist/cjs/pennlibs-autocomplete.cjs.entry.js +1 -1
  8. package/dist/cjs/pennlibs-banner.cjs.entry.js +1 -1
  9. package/dist/cjs/pennlibs-fallback-img.cjs.entry.js +1 -1
  10. package/dist/cjs/pennlibs-hero.cjs.entry.js +2 -2
  11. package/dist/cjs/pennlibs-iiif-img.cjs.entry.js +1 -1
  12. package/dist/cjs/web.cjs.js +2 -2
  13. package/dist/collection/collection-manifest.json +2 -1
  14. package/dist/collection/components/pennlibs-autocomplete/pennlibs-autocomplete.js +1 -1
  15. package/dist/collection/components/pennlibs-header/pennlibs-header.css +47 -20
  16. package/dist/collection/components/pennlibs-header/pennlibs-header.js +6 -2
  17. package/dist/collection/components/pennlibs-header/pennlibs-header.js.map +1 -1
  18. package/dist/collection/components/pennlibs-hero/pennlibs-hero.js +1 -1
  19. package/dist/collection/components/pennlibs-service-switcher/pennlibs-service-switcher.css +222 -0
  20. package/dist/collection/components/pennlibs-service-switcher/pennlibs-service-switcher.js +123 -0
  21. package/dist/collection/components/pennlibs-service-switcher/pennlibs-service-switcher.js.map +1 -0
  22. package/dist/components/index.d.ts +2 -0
  23. package/dist/components/index.js +1 -0
  24. package/dist/components/index.js.map +1 -1
  25. package/dist/components/pennlibs-header.js +6 -3
  26. package/dist/components/pennlibs-header.js.map +1 -1
  27. package/dist/components/pennlibs-hero.js +1 -1
  28. package/dist/components/pennlibs-service-switcher.d.ts +11 -0
  29. package/dist/components/pennlibs-service-switcher.js +99 -0
  30. package/dist/components/pennlibs-service-switcher.js.map +1 -0
  31. package/dist/docs.json +72 -2
  32. package/dist/{web/p-Cw9fYoti.js → esm/index-bRVVFGb9.js} +65 -3
  33. package/dist/esm/index-bRVVFGb9.js.map +1 -0
  34. package/dist/esm/index.js +1 -1
  35. package/dist/esm/loader.js +3 -3
  36. package/dist/esm/pennlibs-accordion.pennlibs-chat.pennlibs-expand-text.pennlibs-feedback.pennlibs-footer.pennlibs-header.pennlibs-service-switcher.entry.js.map +1 -0
  37. package/dist/{web/p-ca1412b5.entry.js → esm/pennlibs-accordion_7.entry.js} +94 -5
  38. package/dist/esm/pennlibs-autocomplete.entry.js +1 -1
  39. package/dist/esm/pennlibs-banner.entry.js +1 -1
  40. package/dist/esm/pennlibs-fallback-img.entry.js +1 -1
  41. package/dist/esm/pennlibs-hero.entry.js +2 -2
  42. package/dist/esm/pennlibs-iiif-img.entry.js +1 -1
  43. package/dist/esm/web.js +3 -3
  44. package/dist/types/components/pennlibs-header/pennlibs-header.d.ts +2 -0
  45. package/dist/types/components/pennlibs-service-switcher/pennlibs-service-switcher.d.ts +30 -0
  46. package/dist/types/components.d.ts +59 -0
  47. package/dist/web/index.esm.js +1 -1
  48. package/dist/{esm/pennlibs-accordion_5.entry.js → web/p-471b1429.entry.js} +94 -5
  49. package/dist/web/{p-85b7d695.entry.js → p-4c381ac3.entry.js} +1 -1
  50. package/dist/web/{p-0eb9e4fa.entry.js → p-5598f2cc.entry.js} +1 -1
  51. package/dist/web/{p-4f2ff6ec.entry.js → p-6b5a4ada.entry.js} +1 -1
  52. package/dist/web/{p-af10bd16.entry.js → p-b3a586ba.entry.js} +2 -2
  53. package/dist/{esm/index-Cw9fYoti.js → web/p-bRVVFGb9.js} +65 -3
  54. package/dist/{esm/index-Cw9fYoti.js.map → web/p-bRVVFGb9.js.map} +1 -1
  55. package/dist/web/{p-1c284e42.entry.js → p-d6de8bc6.entry.js} +1 -1
  56. package/dist/web/pennlibs-accordion.pennlibs-chat.pennlibs-expand-text.pennlibs-feedback.pennlibs-footer.pennlibs-header.pennlibs-service-switcher.entry.esm.js.map +1 -0
  57. package/dist/web/web.css +289 -262
  58. package/dist/web/web.esm.js +3 -3
  59. package/hydrate/index.js +131 -4
  60. package/hydrate/index.mjs +131 -4
  61. package/package.json +1 -1
  62. package/dist/cjs/index-BKWYkqL-.js.map +0 -1
  63. package/dist/cjs/pennlibs-accordion.pennlibs-expand-text.pennlibs-feedback.pennlibs-footer.pennlibs-header.entry.cjs.js.map +0 -1
  64. package/dist/cjs/pennlibs-chat.cjs.entry.js +0 -23
  65. package/dist/cjs/pennlibs-chat.entry.cjs.js.map +0 -1
  66. package/dist/esm/pennlibs-accordion.pennlibs-expand-text.pennlibs-feedback.pennlibs-footer.pennlibs-header.entry.js.map +0 -1
  67. package/dist/esm/pennlibs-chat.entry.js +0 -21
  68. package/dist/esm/pennlibs-chat.entry.js.map +0 -1
  69. package/dist/web/p-8d7c5424.entry.js +0 -21
  70. package/dist/web/p-Cw9fYoti.js.map +0 -1
  71. package/dist/web/pennlibs-accordion.pennlibs-expand-text.pennlibs-feedback.pennlibs-footer.pennlibs-header.entry.esm.js.map +0 -1
  72. package/dist/web/pennlibs-chat.entry.esm.js.map +0 -1
package/dist/web/web.css CHANGED
@@ -125,7 +125,12 @@
125
125
  line-height: 1.4;
126
126
  color: var(--pl-color-fg-default);
127
127
  accent-color: var(--pl-color-fg-accent);
128
- overflow-wrap: anywhere;
128
+ /* break-word, not anywhere: both break a genuinely-too-long token (URL, long
129
+ id) to stop it blowing out the layout, but `anywhere` also folds those break
130
+ points into min-content sizing, which collapses table/flex/grid items and
131
+ breaks ordinary words (e.g. a "Select" column header). break-word leaves
132
+ normal words intact. */
133
+ overflow-wrap: break-word;
129
134
 
130
135
  /* Use a more-intuitive box-sizing model */
131
136
  & :is(*, *::before, *::after) {
@@ -144,6 +149,12 @@
144
149
  font: var(--pl-font-family);
145
150
  }
146
151
 
152
+ /* Default checkbox size */
153
+ & input[type="checkbox"] {
154
+ width: var(--pl-space-m);
155
+ height: var(--pl-space-m);
156
+ }
157
+
147
158
  /* Improve line wrapping */
148
159
  & p {
149
160
  text-wrap: pretty;
@@ -193,20 +204,28 @@
193
204
  margin-block-start: var(--pl-space-xl);
194
205
  }
195
206
 
207
+ /* A .pl-caps eyebrow sits tight above its heading; the separating space goes
208
+ above the eyebrow, not between it and the heading. */
209
+ & .pl-caps:has(+ :is(h1, h2, h3, h4, h5, h6)) {
210
+ margin-block-start: var(--pl-space-xl);
211
+ }
212
+
213
+ & .pl-caps + :is(h1, h2, h3, h4, h5, h6) {
214
+ margin-block-start: 0;
215
+ }
216
+
196
217
  & :is(h1, .pl-h1, h2, .pl-h2) {
197
218
  line-height: 1;
198
219
  font-family: var(--pl-font-serif);
199
220
  color: var(--pl-color-penn-blue);
200
- position: relative;
201
-
202
- &::after {
203
- bottom: -0.25rem;
204
- content: "";
205
- display: block;
206
- height: 4px;
207
- opacity: 1;
208
- position: absolute;
209
- }
221
+ /* The accent bar is a background gradient, so it always paints behind the
222
+ heading text without a positioned pseudo-element or any z-index work. Its
223
+ color is set per level below; size and placement are shared here. The
224
+ padding-bottom reserves room for the bar beneath the text. */
225
+ background-repeat: no-repeat;
226
+ background-size: 2.25rem 4px;
227
+ background-position: left bottom;
228
+ padding-bottom: var(--pl-space-3xs);
210
229
  }
211
230
 
212
231
  & :is(h1, .pl-h1) {
@@ -214,24 +233,17 @@
214
233
  fluid clamp below. */
215
234
  font-size: var(--pl-font-size-5xl);
216
235
  font-size: clamp(var(--pl-font-size-4xl), 3cqi + 1rem, var(--pl-font-size-5xl));
217
- margin-bottom: var(--pl-space-l);
236
+ /* margin reduced by the bar's padding-bottom (xs) to keep the prior rhythm */
237
+ margin-bottom: calc(var(--pl-space-l) - var(--pl-space-xs));
218
238
  margin-top: 0;
219
-
220
- &::after {
221
- background: var(--pl-color-penn-red);
222
- width: 2.25rem;
223
- }
239
+ background-image: linear-gradient(var(--pl-color-penn-red), var(--pl-color-penn-red));
224
240
  }
225
241
 
226
242
  & :is(h2, .pl-h2) {
227
243
  font-size: var(--pl-font-size-4xl);
228
244
  font-size: clamp(var(--pl-font-size-3xl), 1.5cqi + 1.25rem, var(--pl-font-size-4xl));
229
- margin-bottom: var(--pl-space-m);
230
-
231
- &::after {
232
- background: #d6d6dc;
233
- width: 2.25rem;
234
- }
245
+ margin-bottom: calc(var(--pl-space-m) - var(--pl-space-xs));
246
+ background-image: linear-gradient(#d6d6dc, #d6d6dc);
235
247
  }
236
248
 
237
249
  & :is(h3, .pl-h3) {
@@ -240,249 +252,20 @@
240
252
  font-family: var(--pl-font-sans-serif);
241
253
  color: var(--pl-color-fg-default);
242
254
  margin-bottom: var(--pl-space-m);
243
-
244
- &:after {
245
- content: none;
246
- }
255
+ /* No accent bar at h3 level. This also strips the bar from an h2 demoted
256
+ with .pl-h3 (the bar selector matches the h2 tag). */
257
+ background-image: none;
258
+ padding-bottom: 0;
247
259
  }
248
260
 
249
261
  & :is(h4, .pl-h4) {
250
262
  font-size: var(--pl-font-size-m);
251
263
  margin-bottom: var(--pl-space-s);
252
-
253
- &:after {
254
- content: none;
255
- }
264
+ background-image: none;
265
+ padding-bottom: 0;
256
266
  }
257
267
  }
258
268
 
259
- /*
260
- Display
261
- */
262
- .pl-block { display: block; }
263
- .pl-inline { display: inline; }
264
- .pl-inline-block { display: inline-block; }
265
- .pl-flex { display: flex; }
266
- .pl-inline-flex { display: inline-flex; }
267
- .pl-grid { display: grid; }
268
- .pl-inline-grid { display: inline-grid; }
269
- .pl-none { display: none; }
270
-
271
- /*
272
- Flex direction utilities
273
- */
274
- .pl-flex-row { flex-direction: row; }
275
- .pl-flex-col { flex-direction: column; }
276
-
277
- /*
278
- Spacing
279
- */
280
-
281
- /* Margin utilities */
282
- .pl-margin-0 { margin: 0; }
283
- .pl-margin-2xs { margin: var(--pl-space-2xs); }
284
- .pl-margin-xs { margin: var(--pl-space-xs); }
285
- .pl-margin-s { margin: var(--pl-space-s); }
286
- .pl-margin-m { margin: var(--pl-space-m); }
287
- .pl-margin-l { margin: var(--pl-space-l); }
288
- .pl-margin-xl { margin: var(--pl-space-xl); }
289
- .pl-margin-2xl { margin: var(--pl-space-2xl); }
290
- .pl-margin-3xl { margin: var(--pl-space-3xl); }
291
-
292
- /* Margin top */
293
- .pl-margin-t-0 { margin-top: 0; }
294
- .pl-margin-t-2xs { margin-top: var(--pl-space-2xs); }
295
- .pl-margin-t-xs { margin-top: var(--pl-space-xs); }
296
- .pl-margin-t-s { margin-top: var(--pl-space-s); }
297
- .pl-margin-t-m { margin-top: var(--pl-space-m); }
298
- .pl-margin-t-l { margin-top: var(--pl-space-l); }
299
- .pl-margin-t-xl { margin-top: var(--pl-space-xl); }
300
- .pl-margin-t-2xl { margin-top: var(--pl-space-2xl); }
301
- .pl-margin-t-3xl { margin-top: var(--pl-space-3xl); }
302
-
303
- /* Margin bottom */
304
- .pl-margin-b-0 { margin-bottom: 0; }
305
- .pl-margin-b-2xs { margin-bottom: var(--pl-space-2xs); }
306
- .pl-margin-b-xs { margin-bottom: var(--pl-space-xs); }
307
- .pl-margin-b-s { margin-bottom: var(--pl-space-s); }
308
- .pl-margin-b-m { margin-bottom: var(--pl-space-m); }
309
- .pl-margin-b-l { margin-bottom: var(--pl-space-l); }
310
- .pl-margin-b-xl { margin-bottom: var(--pl-space-xl); }
311
- .pl-margin-b-2xl { margin-bottom: var(--pl-space-2xl); }
312
- .pl-margin-b-3xl { margin-bottom: var(--pl-space-3xl); }
313
-
314
- /* Margin left */
315
- .pl-margin-l-0 { margin-left: 0; }
316
- .pl-margin-l-2xs { margin-left: var(--pl-space-2xs); }
317
- .pl-margin-l-xs { margin-left: var(--pl-space-xs); }
318
- .pl-margin-l-s { margin-left: var(--pl-space-s); }
319
- .pl-margin-l-m { margin-left: var(--pl-space-m); }
320
- .pl-margin-l-l { margin-left: var(--pl-space-l); }
321
- .pl-margin-l-xl { margin-left: var(--pl-space-xl); }
322
- .pl-margin-l-2xl { margin-left: var(--pl-space-2xl); }
323
- .pl-margin-l-3xl { margin-left: var(--pl-space-3xl); }
324
-
325
- /* Margin right */
326
- .pl-margin-r-0 { margin-right: 0; }
327
- .pl-margin-r-2xs { margin-right: var(--pl-space-2xs); }
328
- .pl-margin-r-xs { margin-right: var(--pl-space-xs); }
329
- .pl-margin-r-s { margin-right: var(--pl-space-s); }
330
- .pl-margin-r-m { margin-right: var(--pl-space-m); }
331
- .pl-margin-r-l { margin-right: var(--pl-space-l); }
332
- .pl-margin-r-xl { margin-right: var(--pl-space-xl); }
333
- .pl-margin-r-2xl { margin-right: var(--pl-space-2xl); }
334
- .pl-margin-r-3xl { margin-right: var(--pl-space-3xl); }
335
-
336
- /* Margin x (left and right) */
337
- .pl-margin-x-0 { margin-left: 0; margin-right: 0; }
338
- .pl-margin-x-2xs { margin-left: var(--pl-space-2xs); margin-right: var(--pl-space-2xs); }
339
- .pl-margin-x-xs { margin-left: var(--pl-space-xs); margin-right: var(--pl-space-xs); }
340
- .pl-margin-x-s { margin-left: var(--pl-space-s); margin-right: var(--pl-space-s); }
341
- .pl-margin-x-m { margin-left: var(--pl-space-m); margin-right: var(--pl-space-m); }
342
- .pl-margin-x-l { margin-left: var(--pl-space-l); margin-right: var(--pl-space-l); }
343
- .pl-margin-x-xl { margin-left: var(--pl-space-xl); margin-right: var(--pl-space-xl); }
344
- .pl-margin-x-2xl { margin-left: var(--pl-space-2xl); margin-right: var(--pl-space-2xl); }
345
- .pl-margin-x-3xl { margin-left: var(--pl-space-3xl); margin-right: var(--pl-space-3xl); }
346
-
347
- /* Margin y (top and bottom) */
348
- .pl-margin-y-0 { margin-top: 0; margin-bottom: 0; }
349
- .pl-margin-y-2xs { margin-top: var(--pl-space-2xs); margin-bottom: var(--pl-space-2xs); }
350
- .pl-margin-y-xs { margin-top: var(--pl-space-xs); margin-bottom: var(--pl-space-xs); }
351
- .pl-margin-y-s { margin-top: var(--pl-space-s); margin-bottom: var(--pl-space-s); }
352
- .pl-margin-y-m { margin-top: var(--pl-space-m); margin-bottom: var(--pl-space-m); }
353
- .pl-margin-y-l { margin-top: var(--pl-space-l); margin-bottom: var(--pl-space-l); }
354
- .pl-margin-y-xl { margin-top: var(--pl-space-xl); margin-bottom: var(--pl-space-xl); }
355
- .pl-margin-y-2xl { margin-top: var(--pl-space-2xl); margin-bottom: var(--pl-space-2xl); }
356
- .pl-margin-y-3xl { margin-top: var(--pl-space-3xl); margin-bottom: var(--pl-space-3xl); }
357
-
358
- /* Padding utilities */
359
- .pl-padding-0 { padding: 0; }
360
- .pl-padding-2xs { padding: var(--pl-space-2xs); }
361
- .pl-padding-xs { padding: var(--pl-space-xs); }
362
- .pl-padding-s { padding: var(--pl-space-s); }
363
- .pl-padding-m { padding: var(--pl-space-m); }
364
- .pl-padding-l { padding: var(--pl-space-l); }
365
- .pl-padding-xl { padding: var(--pl-space-xl); }
366
- .pl-padding-2xl { padding: var(--pl-space-2xl); }
367
- .pl-padding-3xl { padding: var(--pl-space-3xl); }
368
-
369
- /* Padding top */
370
- .pl-padding-t-0 { padding-top: 0; }
371
- .pl-padding-t-2xs { padding-top: var(--pl-space-2xs); }
372
- .pl-padding-t-xs { padding-top: var(--pl-space-xs); }
373
- .pl-padding-t-s { padding-top: var(--pl-space-s); }
374
- .pl-padding-t-m { padding-top: var(--pl-space-m); }
375
- .pl-padding-t-l { padding-top: var(--pl-space-l); }
376
- .pl-padding-t-xl { padding-top: var(--pl-space-xl); }
377
- .pl-padding-t-2xl { padding-top: var(--pl-space-2xl); }
378
- .pl-padding-t-3xl { padding-top: var(--pl-space-3xl); }
379
-
380
- /* Padding bottom */
381
- .pl-padding-b-0 { padding-bottom: 0; }
382
- .pl-padding-b-2xs { padding-bottom: var(--pl-space-2xs); }
383
- .pl-padding-b-xs { padding-bottom: var(--pl-space-xs); }
384
- .pl-padding-b-s { padding-bottom: var(--pl-space-s); }
385
- .pl-padding-b-m { padding-bottom: var(--pl-space-m); }
386
- .pl-padding-b-l { padding-bottom: var(--pl-space-l); }
387
- .pl-padding-b-xl { padding-bottom: var(--pl-space-xl); }
388
- .pl-padding-b-2xl { padding-bottom: var(--pl-space-2xl); }
389
- .pl-padding-b-3xl { padding-bottom: var(--pl-space-3xl); }
390
-
391
- /* Padding left */
392
- .pl-padding-l-0 { padding-left: 0; }
393
- .pl-padding-l-2xs { padding-left: var(--pl-space-2xs); }
394
- .pl-padding-l-xs { padding-left: var(--pl-space-xs); }
395
- .pl-padding-l-s { padding-left: var(--pl-space-s); }
396
- .pl-padding-l-m { padding-left: var(--pl-space-m); }
397
- .pl-padding-l-l { padding-left: var(--pl-space-l); }
398
- .pl-padding-l-xl { padding-left: var(--pl-space-xl); }
399
- .pl-padding-l-2xl { padding-left: var(--pl-space-2xl); }
400
- .pl-padding-l-3xl { padding-left: var(--pl-space-3xl); }
401
-
402
- /* Padding right */
403
- .pl-padding-r-0 { padding-right: 0; }
404
- .pl-padding-r-2xs { padding-right: var(--pl-space-2xs); }
405
- .pl-padding-r-xs { padding-right: var(--pl-space-xs); }
406
- .pl-padding-r-s { padding-right: var(--pl-space-s); }
407
- .pl-padding-r-m { padding-right: var(--pl-space-m); }
408
- .pl-padding-r-l { padding-right: var(--pl-space-l); }
409
- .pl-padding-r-xl { padding-right: var(--pl-space-xl); }
410
- .pl-padding-r-2xl { padding-right: var(--pl-space-2xl); }
411
- .pl-padding-r-3xl { padding-right: var(--pl-space-3xl); }
412
-
413
- /* Padding x (left and right) */
414
- .pl-padding-x-0 { padding-left: 0; padding-right: 0; }
415
- .pl-padding-x-2xs { padding-left: var(--pl-space-2xs); padding-right: var(--pl-space-2xs); }
416
- .pl-padding-x-xs { padding-left: var(--pl-space-xs); padding-right: var(--pl-space-xs); }
417
- .pl-padding-x-s { padding-left: var(--pl-space-s); padding-right: var(--pl-space-s); }
418
- .pl-padding-x-m { padding-left: var(--pl-space-m); padding-right: var(--pl-space-m); }
419
- .pl-padding-x-l { padding-left: var(--pl-space-l); padding-right: var(--pl-space-l); }
420
- .pl-padding-x-xl { padding-left: var(--pl-space-xl); padding-right: var(--pl-space-xl); }
421
- .pl-padding-x-2xl { padding-left: var(--pl-space-2xl); padding-right: var(--pl-space-2xl); }
422
- .pl-padding-x-3xl { padding-left: var(--pl-space-3xl); padding-right: var(--pl-space-3xl); }
423
-
424
- /* Padding y (top and bottom) */
425
- .pl-padding-y-0 { padding-top: 0; padding-bottom: 0; }
426
- .pl-padding-y-2xs { padding-top: var(--pl-space-2xs); padding-bottom: var(--pl-space-2xs); }
427
- .pl-padding-y-xs { padding-top: var(--pl-space-xs); padding-bottom: var(--pl-space-xs); }
428
- .pl-padding-y-s { padding-top: var(--pl-space-s); padding-bottom: var(--pl-space-s); }
429
- .pl-padding-y-m { padding-top: var(--pl-space-m); padding-bottom: var(--pl-space-m); }
430
- .pl-padding-y-l { padding-top: var(--pl-space-l); padding-bottom: var(--pl-space-l); }
431
- .pl-padding-y-xl { padding-top: var(--pl-space-xl); padding-bottom: var(--pl-space-xl); }
432
- .pl-padding-y-2xl { padding-top: var(--pl-space-2xl); padding-bottom: var(--pl-space-2xl); }
433
- .pl-padding-y-3xl { padding-top: var(--pl-space-3xl); padding-bottom: var(--pl-space-3xl); }
434
-
435
- /* Gap utilities for flexbox and grid */
436
- .pl-gap-0 { gap: 0; }
437
- .pl-gap-2xs { gap: var(--pl-space-2xs); }
438
- .pl-gap-xs { gap: var(--pl-space-xs); }
439
- .pl-gap-s { gap: var(--pl-space-s); }
440
- .pl-gap-m { gap: var(--pl-space-m); }
441
- .pl-gap-l { gap: var(--pl-space-l); }
442
- .pl-gap-xl { gap: var(--pl-space-xl); }
443
- .pl-gap-2xl { gap: var(--pl-space-2xl); }
444
- .pl-gap-3xl { gap: var(--pl-space-3xl); }
445
-
446
- /*
447
- Font size
448
- */
449
-
450
- .pl-font-size-xs {
451
- font-size: var(--pl-font-size-xs);
452
- }
453
-
454
- .pl-font-size-s {
455
- font-size: var(--pl-font-size-s);
456
- }
457
-
458
- .pl-font-size-m {
459
- font-size: var(--pl-font-size-m);
460
- }
461
-
462
- .pl-font-size-l {
463
- font-size: var(--pl-font-size-l);
464
- }
465
-
466
- .pl-font-size-xl {
467
- font-size: var(--pl-font-size-xl);
468
- }
469
-
470
- .pl-font-size-2xl {
471
- font-size: var(--pl-font-size-2xl);
472
- }
473
-
474
- .pl-font-size-3xl {
475
- font-size: var(--pl-font-size-3xl);
476
- }
477
-
478
- .pl-font-size-4xl {
479
- font-size: var(--pl-font-size-4xl);
480
- }
481
-
482
- .pl-font-size-5xl {
483
- font-size: var(--pl-font-size-5xl);
484
- }
485
-
486
269
  /*
487
270
  Caps
488
271
 
@@ -491,7 +274,7 @@
491
274
  */
492
275
 
493
276
  .pl-caps,
494
- .pl-caps-subtle {
277
+ .pl-caps--subtle {
495
278
  font-size: 0.8rem;
496
279
  font-weight: 600;
497
280
  letter-spacing: 0.075rem;
@@ -499,7 +282,7 @@
499
282
  vertical-align: middle;
500
283
  }
501
284
 
502
- .pl-caps-subtle {
285
+ .pl-caps--subtle {
503
286
  color: var(--pl-color-fg-subtle);
504
287
  }
505
288
 
@@ -608,6 +391,13 @@
608
391
  }
609
392
  }
610
393
 
394
+ /* Baseline focus indicator: apply the focus pattern to every focusable element.
395
+ `:where()` keeps specificity at 0 so component and utility styles can override. */
396
+ :where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
397
+ outline: none;
398
+ box-shadow: var(--pl-focus-box-shadow);
399
+ }
400
+
611
401
  .pl-button {
612
402
  border: none;
613
403
  outline: none;
@@ -625,9 +415,9 @@
625
415
  color: var(--pl-color-fg-default);
626
416
  }
627
417
 
628
- a.pl-button {
418
+ /* a.pl-button {
629
419
  text-decoration: none;
630
- }
420
+ } */
631
421
 
632
422
  .pl-button:hover {
633
423
  cursor: pointer;
@@ -636,6 +426,10 @@ a.pl-button {
636
426
  text-decoration-thickness: var(--pl-link-text-decoration-thickness);
637
427
  }
638
428
 
429
+ a.pl-button:hover {
430
+ text-decoration-thickness: var(--pl-link-hover-text-decoration-thickness);
431
+ }
432
+
639
433
  .pl-button:focus {
640
434
  box-shadow: var(--pl-focus-box-shadow);
641
435
  }
@@ -752,4 +546,237 @@ a.pl-button {
752
546
  .pl-details__summary::after {
753
547
  transition: none;
754
548
  }
549
+ }
550
+
551
+ /*
552
+ Display
553
+ */
554
+ .pl-block { display: block; }
555
+ .pl-inline { display: inline; }
556
+ .pl-inline-block { display: inline-block; }
557
+ .pl-flex { display: flex; }
558
+ .pl-inline-flex { display: inline-flex; }
559
+ .pl-grid { display: grid; }
560
+ .pl-inline-grid { display: inline-grid; }
561
+ .pl-none { display: none; }
562
+
563
+ /*
564
+ Flex direction utilities
565
+ */
566
+ .pl-flex-row { flex-direction: row; }
567
+ .pl-flex-col { flex-direction: column; }
568
+
569
+ /*
570
+ Spacing
571
+ */
572
+
573
+ /* Margin utilities */
574
+ .pl-margin-0 { margin: 0; }
575
+ .pl-margin-2xs { margin: var(--pl-space-2xs); }
576
+ .pl-margin-xs { margin: var(--pl-space-xs); }
577
+ .pl-margin-s { margin: var(--pl-space-s); }
578
+ .pl-margin-m { margin: var(--pl-space-m); }
579
+ .pl-margin-l { margin: var(--pl-space-l); }
580
+ .pl-margin-xl { margin: var(--pl-space-xl); }
581
+ .pl-margin-2xl { margin: var(--pl-space-2xl); }
582
+ .pl-margin-3xl { margin: var(--pl-space-3xl); }
583
+
584
+ /* Margin top */
585
+ .pl-margin-t-0 { margin-top: 0; }
586
+ .pl-margin-t-2xs { margin-top: var(--pl-space-2xs); }
587
+ .pl-margin-t-xs { margin-top: var(--pl-space-xs); }
588
+ .pl-margin-t-s { margin-top: var(--pl-space-s); }
589
+ .pl-margin-t-m { margin-top: var(--pl-space-m); }
590
+ .pl-margin-t-l { margin-top: var(--pl-space-l); }
591
+ .pl-margin-t-xl { margin-top: var(--pl-space-xl); }
592
+ .pl-margin-t-2xl { margin-top: var(--pl-space-2xl); }
593
+ .pl-margin-t-3xl { margin-top: var(--pl-space-3xl); }
594
+
595
+ /* Margin bottom */
596
+ .pl-margin-b-0 { margin-bottom: 0; }
597
+ .pl-margin-b-2xs { margin-bottom: var(--pl-space-2xs); }
598
+ .pl-margin-b-xs { margin-bottom: var(--pl-space-xs); }
599
+ .pl-margin-b-s { margin-bottom: var(--pl-space-s); }
600
+ .pl-margin-b-m { margin-bottom: var(--pl-space-m); }
601
+ .pl-margin-b-l { margin-bottom: var(--pl-space-l); }
602
+ .pl-margin-b-xl { margin-bottom: var(--pl-space-xl); }
603
+ .pl-margin-b-2xl { margin-bottom: var(--pl-space-2xl); }
604
+ .pl-margin-b-3xl { margin-bottom: var(--pl-space-3xl); }
605
+
606
+ /* Margin left */
607
+ .pl-margin-l-0 { margin-left: 0; }
608
+ .pl-margin-l-2xs { margin-left: var(--pl-space-2xs); }
609
+ .pl-margin-l-xs { margin-left: var(--pl-space-xs); }
610
+ .pl-margin-l-s { margin-left: var(--pl-space-s); }
611
+ .pl-margin-l-m { margin-left: var(--pl-space-m); }
612
+ .pl-margin-l-l { margin-left: var(--pl-space-l); }
613
+ .pl-margin-l-xl { margin-left: var(--pl-space-xl); }
614
+ .pl-margin-l-2xl { margin-left: var(--pl-space-2xl); }
615
+ .pl-margin-l-3xl { margin-left: var(--pl-space-3xl); }
616
+
617
+ /* Margin right */
618
+ .pl-margin-r-0 { margin-right: 0; }
619
+ .pl-margin-r-2xs { margin-right: var(--pl-space-2xs); }
620
+ .pl-margin-r-xs { margin-right: var(--pl-space-xs); }
621
+ .pl-margin-r-s { margin-right: var(--pl-space-s); }
622
+ .pl-margin-r-m { margin-right: var(--pl-space-m); }
623
+ .pl-margin-r-l { margin-right: var(--pl-space-l); }
624
+ .pl-margin-r-xl { margin-right: var(--pl-space-xl); }
625
+ .pl-margin-r-2xl { margin-right: var(--pl-space-2xl); }
626
+ .pl-margin-r-3xl { margin-right: var(--pl-space-3xl); }
627
+
628
+ /* Margin x (left and right) */
629
+ .pl-margin-x-0 { margin-left: 0; margin-right: 0; }
630
+ .pl-margin-x-2xs { margin-left: var(--pl-space-2xs); margin-right: var(--pl-space-2xs); }
631
+ .pl-margin-x-xs { margin-left: var(--pl-space-xs); margin-right: var(--pl-space-xs); }
632
+ .pl-margin-x-s { margin-left: var(--pl-space-s); margin-right: var(--pl-space-s); }
633
+ .pl-margin-x-m { margin-left: var(--pl-space-m); margin-right: var(--pl-space-m); }
634
+ .pl-margin-x-l { margin-left: var(--pl-space-l); margin-right: var(--pl-space-l); }
635
+ .pl-margin-x-xl { margin-left: var(--pl-space-xl); margin-right: var(--pl-space-xl); }
636
+ .pl-margin-x-2xl { margin-left: var(--pl-space-2xl); margin-right: var(--pl-space-2xl); }
637
+ .pl-margin-x-3xl { margin-left: var(--pl-space-3xl); margin-right: var(--pl-space-3xl); }
638
+
639
+ /* Margin y (top and bottom) */
640
+ .pl-margin-y-0 { margin-top: 0; margin-bottom: 0; }
641
+ .pl-margin-y-2xs { margin-top: var(--pl-space-2xs); margin-bottom: var(--pl-space-2xs); }
642
+ .pl-margin-y-xs { margin-top: var(--pl-space-xs); margin-bottom: var(--pl-space-xs); }
643
+ .pl-margin-y-s { margin-top: var(--pl-space-s); margin-bottom: var(--pl-space-s); }
644
+ .pl-margin-y-m { margin-top: var(--pl-space-m); margin-bottom: var(--pl-space-m); }
645
+ .pl-margin-y-l { margin-top: var(--pl-space-l); margin-bottom: var(--pl-space-l); }
646
+ .pl-margin-y-xl { margin-top: var(--pl-space-xl); margin-bottom: var(--pl-space-xl); }
647
+ .pl-margin-y-2xl { margin-top: var(--pl-space-2xl); margin-bottom: var(--pl-space-2xl); }
648
+ .pl-margin-y-3xl { margin-top: var(--pl-space-3xl); margin-bottom: var(--pl-space-3xl); }
649
+
650
+ /* Padding utilities */
651
+ .pl-padding-0 { padding: 0; }
652
+ .pl-padding-2xs { padding: var(--pl-space-2xs); }
653
+ .pl-padding-xs { padding: var(--pl-space-xs); }
654
+ .pl-padding-s { padding: var(--pl-space-s); }
655
+ .pl-padding-m { padding: var(--pl-space-m); }
656
+ .pl-padding-l { padding: var(--pl-space-l); }
657
+ .pl-padding-xl { padding: var(--pl-space-xl); }
658
+ .pl-padding-2xl { padding: var(--pl-space-2xl); }
659
+ .pl-padding-3xl { padding: var(--pl-space-3xl); }
660
+
661
+ /* Padding top */
662
+ .pl-padding-t-0 { padding-top: 0; }
663
+ .pl-padding-t-2xs { padding-top: var(--pl-space-2xs); }
664
+ .pl-padding-t-xs { padding-top: var(--pl-space-xs); }
665
+ .pl-padding-t-s { padding-top: var(--pl-space-s); }
666
+ .pl-padding-t-m { padding-top: var(--pl-space-m); }
667
+ .pl-padding-t-l { padding-top: var(--pl-space-l); }
668
+ .pl-padding-t-xl { padding-top: var(--pl-space-xl); }
669
+ .pl-padding-t-2xl { padding-top: var(--pl-space-2xl); }
670
+ .pl-padding-t-3xl { padding-top: var(--pl-space-3xl); }
671
+
672
+ /* Padding bottom */
673
+ .pl-padding-b-0 { padding-bottom: 0; }
674
+ .pl-padding-b-2xs { padding-bottom: var(--pl-space-2xs); }
675
+ .pl-padding-b-xs { padding-bottom: var(--pl-space-xs); }
676
+ .pl-padding-b-s { padding-bottom: var(--pl-space-s); }
677
+ .pl-padding-b-m { padding-bottom: var(--pl-space-m); }
678
+ .pl-padding-b-l { padding-bottom: var(--pl-space-l); }
679
+ .pl-padding-b-xl { padding-bottom: var(--pl-space-xl); }
680
+ .pl-padding-b-2xl { padding-bottom: var(--pl-space-2xl); }
681
+ .pl-padding-b-3xl { padding-bottom: var(--pl-space-3xl); }
682
+
683
+ /* Padding left */
684
+ .pl-padding-l-0 { padding-left: 0; }
685
+ .pl-padding-l-2xs { padding-left: var(--pl-space-2xs); }
686
+ .pl-padding-l-xs { padding-left: var(--pl-space-xs); }
687
+ .pl-padding-l-s { padding-left: var(--pl-space-s); }
688
+ .pl-padding-l-m { padding-left: var(--pl-space-m); }
689
+ .pl-padding-l-l { padding-left: var(--pl-space-l); }
690
+ .pl-padding-l-xl { padding-left: var(--pl-space-xl); }
691
+ .pl-padding-l-2xl { padding-left: var(--pl-space-2xl); }
692
+ .pl-padding-l-3xl { padding-left: var(--pl-space-3xl); }
693
+
694
+ /* Padding right */
695
+ .pl-padding-r-0 { padding-right: 0; }
696
+ .pl-padding-r-2xs { padding-right: var(--pl-space-2xs); }
697
+ .pl-padding-r-xs { padding-right: var(--pl-space-xs); }
698
+ .pl-padding-r-s { padding-right: var(--pl-space-s); }
699
+ .pl-padding-r-m { padding-right: var(--pl-space-m); }
700
+ .pl-padding-r-l { padding-right: var(--pl-space-l); }
701
+ .pl-padding-r-xl { padding-right: var(--pl-space-xl); }
702
+ .pl-padding-r-2xl { padding-right: var(--pl-space-2xl); }
703
+ .pl-padding-r-3xl { padding-right: var(--pl-space-3xl); }
704
+
705
+ /* Padding x (left and right) */
706
+ .pl-padding-x-0 { padding-left: 0; padding-right: 0; }
707
+ .pl-padding-x-2xs { padding-left: var(--pl-space-2xs); padding-right: var(--pl-space-2xs); }
708
+ .pl-padding-x-xs { padding-left: var(--pl-space-xs); padding-right: var(--pl-space-xs); }
709
+ .pl-padding-x-s { padding-left: var(--pl-space-s); padding-right: var(--pl-space-s); }
710
+ .pl-padding-x-m { padding-left: var(--pl-space-m); padding-right: var(--pl-space-m); }
711
+ .pl-padding-x-l { padding-left: var(--pl-space-l); padding-right: var(--pl-space-l); }
712
+ .pl-padding-x-xl { padding-left: var(--pl-space-xl); padding-right: var(--pl-space-xl); }
713
+ .pl-padding-x-2xl { padding-left: var(--pl-space-2xl); padding-right: var(--pl-space-2xl); }
714
+ .pl-padding-x-3xl { padding-left: var(--pl-space-3xl); padding-right: var(--pl-space-3xl); }
715
+
716
+ /* Padding y (top and bottom) */
717
+ .pl-padding-y-0 { padding-top: 0; padding-bottom: 0; }
718
+ .pl-padding-y-2xs { padding-top: var(--pl-space-2xs); padding-bottom: var(--pl-space-2xs); }
719
+ .pl-padding-y-xs { padding-top: var(--pl-space-xs); padding-bottom: var(--pl-space-xs); }
720
+ .pl-padding-y-s { padding-top: var(--pl-space-s); padding-bottom: var(--pl-space-s); }
721
+ .pl-padding-y-m { padding-top: var(--pl-space-m); padding-bottom: var(--pl-space-m); }
722
+ .pl-padding-y-l { padding-top: var(--pl-space-l); padding-bottom: var(--pl-space-l); }
723
+ .pl-padding-y-xl { padding-top: var(--pl-space-xl); padding-bottom: var(--pl-space-xl); }
724
+ .pl-padding-y-2xl { padding-top: var(--pl-space-2xl); padding-bottom: var(--pl-space-2xl); }
725
+ .pl-padding-y-3xl { padding-top: var(--pl-space-3xl); padding-bottom: var(--pl-space-3xl); }
726
+
727
+ /* Gap utilities for flexbox and grid */
728
+ .pl-gap-0 { gap: 0; }
729
+ .pl-gap-2xs { gap: var(--pl-space-2xs); }
730
+ .pl-gap-xs { gap: var(--pl-space-xs); }
731
+ .pl-gap-s { gap: var(--pl-space-s); }
732
+ .pl-gap-m { gap: var(--pl-space-m); }
733
+ .pl-gap-l { gap: var(--pl-space-l); }
734
+ .pl-gap-xl { gap: var(--pl-space-xl); }
735
+ .pl-gap-2xl { gap: var(--pl-space-2xl); }
736
+ .pl-gap-3xl { gap: var(--pl-space-3xl); }
737
+
738
+ /*
739
+ Font size
740
+
741
+ DEPRECATED: the `.pl-font-size-*` utility classes are deprecated and slated
742
+ for removal in the next major version. They are kept here so existing markup
743
+ keeps working. Prefer `.pl-typeset` for typographic regions, or use the
744
+ `--pl-font-size-*` tokens directly (those tokens are NOT deprecated and remain
745
+ the type scale behind our headings).
746
+ */
747
+
748
+ .pl-font-size-xs {
749
+ font-size: var(--pl-font-size-xs);
750
+ }
751
+
752
+ .pl-font-size-s {
753
+ font-size: var(--pl-font-size-s);
754
+ }
755
+
756
+ .pl-font-size-m {
757
+ font-size: var(--pl-font-size-m);
758
+ }
759
+
760
+ .pl-font-size-l {
761
+ font-size: var(--pl-font-size-l);
762
+ }
763
+
764
+ .pl-font-size-xl {
765
+ font-size: var(--pl-font-size-xl);
766
+ }
767
+
768
+ .pl-font-size-2xl {
769
+ font-size: var(--pl-font-size-2xl);
770
+ }
771
+
772
+ .pl-font-size-3xl {
773
+ font-size: var(--pl-font-size-3xl);
774
+ }
775
+
776
+ .pl-font-size-4xl {
777
+ font-size: var(--pl-font-size-4xl);
778
+ }
779
+
780
+ .pl-font-size-5xl {
781
+ font-size: var(--pl-font-size-5xl);
755
782
  }
@@ -1,5 +1,5 @@
1
- import { p as promiseResolve, g as globalScripts, b as bootstrapLazy } from './p-Cw9fYoti.js';
2
- export { s as setNonce } from './p-Cw9fYoti.js';
1
+ import { p as promiseResolve, g as globalScripts, b as bootstrapLazy } from './p-bRVVFGb9.js';
2
+ export { s as setNonce } from './p-bRVVFGb9.js';
3
3
 
4
4
  /*
5
5
  Stencil Client Patch Browser v4.38.1 | MIT Licensed | https://stenciljs.com
@@ -16,6 +16,6 @@ var patchBrowser = () => {
16
16
 
17
17
  patchBrowser().then(async (options) => {
18
18
  await globalScripts();
19
- return bootstrapLazy([["p-1c284e42",[[257,"pennlibs-iiif-img",{"uuid":[1],"alt":[1],"region":[513],"rotation":[1],"quality":[1],"loading":[1],"showFallback":[4,"show-fallback"],"isLoaded":[32],"hasError":[32],"imageDimensions":[32],"observedWidth":[32]},null,{"region":["handleRegionChange"]}]]],["p-ca1412b5",[[0,"pennlibs-accordion",{"single":[4]},[[4,"click","onControlClick"]]],[257,"pennlibs-expand-text",{"lines":[2],"expandLabel":[1,"expand-label"],"collapseLabel":[1,"collapse-label"],"expanded":[32],"hasOverflow":[32],"measured":[32]}],[257,"pennlibs-feedback",{"hideQuestion":[4,"hide-question"],"answer":[32],"selected":[32]}],[257,"pennlibs-footer",{"showBuiltWith":[4,"show-built-with"],"navigationByChildren":[32]}],[257,"pennlibs-header",{"serviceName":[1,"service-name"],"serviceLede":[1,"service-lede"],"serviceHref":[1,"service-href"],"theme":[1],"isMenuOpen":[32],"navigation":[32]}]]],["p-4f2ff6ec",[[257,"pennlibs-autocomplete",{"for":[1],"showSuggestions":[32],"currentIndex":[32],"originalValue":[32],"options":[32]},[[0,"slotchange","handleSlotChange"],[16,"input","handleInputEvent"],[16,"focus","handleFocusEvent"],[16,"blur","handleBlurEvent"],[0,"focusout","handleFocusOut"],[4,"keydown","handleKeyDown"]]]]],["p-85b7d695",[[257,"pennlibs-banner"]]],["p-8d7c5424",[[257,"pennlibs-chat",{"href":[32]}]]],["p-af10bd16",[[257,"pennlibs-hero",{"heroPictureElement":[32],"heroHeadingElement":[32],"heroParagraphElement":[32],"heroSrc":[32]}]]],["p-0eb9e4fa",[[257,"pennlibs-fallback-img"]]]], options);
19
+ return bootstrapLazy([["p-d6de8bc6",[[257,"pennlibs-iiif-img",{"uuid":[1],"alt":[1],"region":[513],"rotation":[1],"quality":[1],"loading":[1],"showFallback":[4,"show-fallback"],"isLoaded":[32],"hasError":[32],"imageDimensions":[32],"observedWidth":[32]},null,{"region":["handleRegionChange"]}]]],["p-471b1429",[[0,"pennlibs-accordion",{"single":[4]},[[4,"click","onControlClick"]]],[257,"pennlibs-chat",{"href":[32]}],[257,"pennlibs-expand-text",{"lines":[2],"expandLabel":[1,"expand-label"],"collapseLabel":[1,"collapse-label"],"expanded":[32],"hasOverflow":[32],"measured":[32]}],[257,"pennlibs-feedback",{"hideQuestion":[4,"hide-question"],"answer":[32],"selected":[32]}],[257,"pennlibs-footer",{"showBuiltWith":[4,"show-built-with"],"navigationByChildren":[32]}],[257,"pennlibs-header",{"serviceName":[1,"service-name"],"serviceLede":[1,"service-lede"],"serviceHref":[1,"service-href"],"theme":[1],"isMenuOpen":[32],"navigation":[32],"hasServiceSwitcher":[32]}],[258,"pennlibs-service-switcher",{"theme":[513],"isOpen":[32],"tooltipDismissed":[32]}]]],["p-6b5a4ada",[[257,"pennlibs-autocomplete",{"for":[1],"showSuggestions":[32],"currentIndex":[32],"originalValue":[32],"options":[32]},[[0,"slotchange","handleSlotChange"],[16,"input","handleInputEvent"],[16,"focus","handleFocusEvent"],[16,"blur","handleBlurEvent"],[0,"focusout","handleFocusOut"],[4,"keydown","handleKeyDown"]]]]],["p-4c381ac3",[[257,"pennlibs-banner"]]],["p-b3a586ba",[[257,"pennlibs-hero",{"heroPictureElement":[32],"heroHeadingElement":[32],"heroParagraphElement":[32],"heroSrc":[32]}]]],["p-5598f2cc",[[257,"pennlibs-fallback-img"]]]], options);
20
20
  });
21
21
  //# sourceMappingURL=web.esm.js.map