newspaperui 0.2.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 (60) hide show
  1. package/dist/index.cjs +4 -0
  2. package/dist/index.d.ts +55 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +1197 -0
  5. package/dist/layout/Article.d.ts +23 -0
  6. package/dist/layout/Article.d.ts.map +1 -0
  7. package/dist/layout/BreakingNewsBanner.d.ts +17 -0
  8. package/dist/layout/BreakingNewsBanner.d.ts.map +1 -0
  9. package/dist/layout/Factbox.d.ts +22 -0
  10. package/dist/layout/Factbox.d.ts.map +1 -0
  11. package/dist/layout/Folio.d.ts +20 -0
  12. package/dist/layout/Folio.d.ts.map +1 -0
  13. package/dist/layout/Footer.d.ts +20 -0
  14. package/dist/layout/Footer.d.ts.map +1 -0
  15. package/dist/layout/IndexBox.d.ts +25 -0
  16. package/dist/layout/IndexBox.d.ts.map +1 -0
  17. package/dist/layout/Layer.d.ts +26 -0
  18. package/dist/layout/Layer.d.ts.map +1 -0
  19. package/dist/layout/Layout.d.ts +29 -0
  20. package/dist/layout/Layout.d.ts.map +1 -0
  21. package/dist/layout/Masthead.d.ts +28 -0
  22. package/dist/layout/Masthead.d.ts.map +1 -0
  23. package/dist/layout/RelatedArticles.d.ts +22 -0
  24. package/dist/layout/RelatedArticles.d.ts.map +1 -0
  25. package/dist/layout/Rule.d.ts +20 -0
  26. package/dist/layout/Rule.d.ts.map +1 -0
  27. package/dist/layout/Section.d.ts +35 -0
  28. package/dist/layout/Section.d.ts.map +1 -0
  29. package/dist/layout/Sidebar.d.ts +20 -0
  30. package/dist/layout/Sidebar.d.ts.map +1 -0
  31. package/dist/media/Figure.d.ts +34 -0
  32. package/dist/media/Figure.d.ts.map +1 -0
  33. package/dist/media/Image.d.ts +24 -0
  34. package/dist/media/Image.d.ts.map +1 -0
  35. package/dist/media/PullQuote.d.ts +25 -0
  36. package/dist/media/PullQuote.d.ts.map +1 -0
  37. package/dist/media/Video.d.ts +29 -0
  38. package/dist/media/Video.d.ts.map +1 -0
  39. package/dist/style.css +1 -0
  40. package/dist/text/AuthorCard.d.ts +18 -0
  41. package/dist/text/AuthorCard.d.ts.map +1 -0
  42. package/dist/text/BodyText.d.ts +27 -0
  43. package/dist/text/BodyText.d.ts.map +1 -0
  44. package/dist/text/Byline.d.ts +18 -0
  45. package/dist/text/Byline.d.ts.map +1 -0
  46. package/dist/text/Caption.d.ts +21 -0
  47. package/dist/text/Caption.d.ts.map +1 -0
  48. package/dist/text/Dateline.d.ts +20 -0
  49. package/dist/text/Dateline.d.ts.map +1 -0
  50. package/dist/text/Headline.d.ts +24 -0
  51. package/dist/text/Headline.d.ts.map +1 -0
  52. package/dist/text/JumpLine.d.ts +18 -0
  53. package/dist/text/JumpLine.d.ts.map +1 -0
  54. package/dist/text/Kicker.d.ts +19 -0
  55. package/dist/text/Kicker.d.ts.map +1 -0
  56. package/dist/text/Quote.d.ts +24 -0
  57. package/dist/text/Quote.d.ts.map +1 -0
  58. package/dist/text/Subhead.d.ts +23 -0
  59. package/dist/text/Subhead.d.ts.map +1 -0
  60. package/package.json +72 -0
package/dist/index.js ADDED
@@ -0,0 +1,1197 @@
1
+ import { jsx as o, jsxs as d } from "react/jsx-runtime";
2
+ import { useContext as b, createContext as z, useId as $ } from "react";
3
+ const F = z({ columns: 24 }), C = () => b(F), w = ({
4
+ columns: e = 24,
5
+ maxWidth: i = "1280px",
6
+ padding: t = "var(--nui-space-6)",
7
+ theme: n,
8
+ className: a,
9
+ style: r,
10
+ children: l
11
+ }) => /* @__PURE__ */ o(F.Provider, { value: { columns: e }, children: /* @__PURE__ */ o(
12
+ "div",
13
+ {
14
+ "data-theme": n,
15
+ className: a,
16
+ style: {
17
+ maxWidth: i,
18
+ margin: "0 auto",
19
+ padding: t,
20
+ overflowX: "hidden",
21
+ background: "var(--nui-bg-page)",
22
+ color: "var(--nui-text-body)",
23
+ fontFamily: "var(--font-family-body)",
24
+ ...r
25
+ },
26
+ children: l
27
+ }
28
+ ) });
29
+ function g(e, i) {
30
+ return Number.isNaN(e) || e < 1 ? 1 : e > i ? i : Math.floor(e);
31
+ }
32
+ function u(...e) {
33
+ return e.filter(Boolean).join(" ");
34
+ }
35
+ const H = z({ columns: 24 }), h = () => b(H), B = ({
36
+ columns: e,
37
+ gap: i = "var(--nui-gutter)",
38
+ breakable: t = !0,
39
+ divider: n = "none",
40
+ responsive: a,
41
+ className: r,
42
+ style: l,
43
+ children: c
44
+ }) => {
45
+ const s = C(), m = g(e, s.columns), y = `nui-s-${$().replace(/:/g, "")}`, f = a ? `
46
+ @media (max-width: 768px) { .${y} { grid-template-columns: repeat(${a.sm ?? 12}, 1fr) !important; } }
47
+ @media (min-width: 769px) and (max-width: 1024px) { .${y} { grid-template-columns: repeat(${a.md ?? 16}, 1fr) !important; } }
48
+ ` : "", S = {};
49
+ return (n === "top" || n === "both") && (S.borderTop = "1px solid var(--nui-rule-hairline)"), (n === "bottom" || n === "both") && (S.borderBottom = "1px solid var(--nui-rule-hairline)"), /* @__PURE__ */ d(H.Provider, { value: { columns: m }, children: [
50
+ f && /* @__PURE__ */ o("style", { dangerouslySetInnerHTML: { __html: f } }),
51
+ /* @__PURE__ */ o(
52
+ "section",
53
+ {
54
+ className: u("nui-section", y, r),
55
+ style: {
56
+ display: "grid",
57
+ gridTemplateColumns: `repeat(${m}, 1fr)`,
58
+ gap: i,
59
+ breakInside: t ? "auto" : "avoid",
60
+ ...S,
61
+ paddingTop: n === "top" || n === "both" ? "var(--nui-space-4)" : void 0,
62
+ paddingBottom: n === "bottom" || n === "both" ? "var(--nui-space-4)" : void 0,
63
+ ...l
64
+ },
65
+ "data-columns": m,
66
+ children: c
67
+ }
68
+ )
69
+ ] });
70
+ }, V = ({
71
+ span: e,
72
+ breakable: i = !0,
73
+ className: t,
74
+ style: n,
75
+ children: a
76
+ }) => {
77
+ const r = h(), l = e ? g(e, r.columns) : r.columns;
78
+ return /* @__PURE__ */ o(
79
+ "article",
80
+ {
81
+ className: u("nui-article", t),
82
+ style: {
83
+ gridColumn: `span ${l}`,
84
+ breakInside: i ? "auto" : "avoid",
85
+ ...n
86
+ },
87
+ "data-span": l,
88
+ children: a
89
+ }
90
+ );
91
+ }, I = ({
92
+ position: e = "absolute",
93
+ top: i,
94
+ left: t,
95
+ right: n,
96
+ bottom: a,
97
+ zIndex: r,
98
+ className: l,
99
+ style: c,
100
+ children: s
101
+ }) => /* @__PURE__ */ o(
102
+ "div",
103
+ {
104
+ className: l,
105
+ style: { position: e, top: i, left: t, right: n, bottom: a, zIndex: r, ...c },
106
+ children: s
107
+ }
108
+ ), L = ({
109
+ title: e,
110
+ kicker: i,
111
+ edition: t,
112
+ date: n,
113
+ price: a,
114
+ variant: r = "classic",
115
+ as: l = "h1",
116
+ className: c
117
+ }) => {
118
+ const s = r === "blackletter" ? "var(--font-family-blackletter)" : "var(--font-family-masthead)", m = r === "modern" ? "left" : "center";
119
+ return /* @__PURE__ */ d(
120
+ "header",
121
+ {
122
+ className: u("nui-masthead", `nui-masthead--${r}`, c),
123
+ style: {
124
+ gridColumn: "1 / -1",
125
+ textAlign: m,
126
+ color: "var(--nui-text-primary)"
127
+ },
128
+ children: [
129
+ /* @__PURE__ */ o("div", { className: "nui-masthead-rule-top" }),
130
+ i && /* @__PURE__ */ o(
131
+ "div",
132
+ {
133
+ className: "nui-small-caps",
134
+ style: {
135
+ fontSize: "12px",
136
+ color: "var(--nui-accent-primary)",
137
+ margin: "var(--nui-space-2) 0",
138
+ letterSpacing: "0.1em"
139
+ },
140
+ children: i
141
+ }
142
+ ),
143
+ /* @__PURE__ */ o(
144
+ l,
145
+ {
146
+ style: {
147
+ fontFamily: s,
148
+ fontWeight: 700,
149
+ fontSize: r === "modern" ? "clamp(40px, 6vw, 72px)" : "clamp(48px, 8vw, 96px)",
150
+ lineHeight: 1,
151
+ letterSpacing: r === "blackletter" ? "0" : "0.02em",
152
+ margin: "var(--nui-space-2) 0 var(--nui-space-3) 0"
153
+ },
154
+ children: e
155
+ }
156
+ ),
157
+ (t || n || a) && /* @__PURE__ */ d(
158
+ "div",
159
+ {
160
+ className: "nui-small-caps",
161
+ style: {
162
+ display: "flex",
163
+ justifyContent: m === "left" ? "flex-start" : "space-between",
164
+ gap: "var(--nui-space-6)",
165
+ fontSize: "11px",
166
+ color: "var(--nui-text-muted)",
167
+ padding: "var(--nui-space-2) 0",
168
+ margin: 0,
169
+ letterSpacing: "0.08em"
170
+ },
171
+ children: [
172
+ t && /* @__PURE__ */ o("span", { children: t }),
173
+ n && /* @__PURE__ */ o("span", { children: n }),
174
+ a && /* @__PURE__ */ o("span", { children: a })
175
+ ]
176
+ }
177
+ ),
178
+ /* @__PURE__ */ o("div", { className: "nui-masthead-rule-bottom" })
179
+ ]
180
+ }
181
+ );
182
+ }, M = ({
183
+ variant: e = "hairline",
184
+ orientation: i = "horizontal",
185
+ span: t,
186
+ className: n,
187
+ style: a
188
+ }) => {
189
+ const r = i === "horizontal", l = r ? { width: "100%", border: 0, margin: 0 } : { height: "100%", width: "1px", border: 0, margin: 0 }, c = e === "hairline" ? r ? { borderTop: "1px solid var(--nui-rule-hairline)" } : { background: "var(--nui-rule-hairline)" } : e === "thick" ? r ? { borderTop: "3px solid var(--nui-rule-decorative)" } : { width: "3px", background: "var(--nui-rule-decorative)" } : r ? {
190
+ height: "6px",
191
+ background: "linear-gradient(to bottom, var(--nui-rule-decorative) 0 1px, transparent 1px 4px, var(--nui-rule-decorative) 4px 6px)"
192
+ } : {
193
+ width: "6px",
194
+ background: "linear-gradient(to right, var(--nui-rule-decorative) 0 1px, transparent 1px 4px, var(--nui-rule-decorative) 4px 6px)"
195
+ };
196
+ return /* @__PURE__ */ o(
197
+ "hr",
198
+ {
199
+ className: u("nui-rule", `nui-rule--${e}`, n),
200
+ style: {
201
+ ...l,
202
+ ...c,
203
+ gridColumn: r && t ? `span ${t}` : r ? "1 / -1" : void 0,
204
+ ...a
205
+ },
206
+ "aria-orientation": i
207
+ }
208
+ );
209
+ }, A = ({
210
+ copyright: e,
211
+ edition: i,
212
+ links: t,
213
+ className: n,
214
+ style: a,
215
+ children: r
216
+ }) => /* @__PURE__ */ d(
217
+ "footer",
218
+ {
219
+ className: u("nui-footer nui-small-caps", n),
220
+ style: {
221
+ gridColumn: "1 / -1",
222
+ borderTop: "2px solid var(--nui-rule-decorative)",
223
+ paddingTop: "var(--nui-space-4)",
224
+ marginTop: "var(--nui-space-8)",
225
+ fontFamily: "var(--font-family-meta)",
226
+ fontSize: "11px",
227
+ letterSpacing: "0.06em",
228
+ color: "var(--nui-text-muted)",
229
+ display: "flex",
230
+ justifyContent: "space-between",
231
+ alignItems: "center",
232
+ flexWrap: "wrap",
233
+ gap: "var(--nui-space-4)",
234
+ ...a
235
+ },
236
+ children: [
237
+ /* @__PURE__ */ d("div", { children: [
238
+ e && /* @__PURE__ */ o("span", { children: e }),
239
+ i && /* @__PURE__ */ o("span", { style: { marginLeft: "var(--nui-space-4)" }, children: i })
240
+ ] }),
241
+ t && /* @__PURE__ */ o("nav", { style: { display: "flex", gap: "var(--nui-space-4)" }, children: t.map((l) => /* @__PURE__ */ o("a", { href: l.href, style: { color: "var(--nui-text-muted)", textDecoration: "none" }, children: l.label }, l.href)) }),
242
+ r
243
+ ]
244
+ }
245
+ ), j = ({
246
+ span: e,
247
+ position: i = "right",
248
+ divider: t = !1,
249
+ className: n,
250
+ style: a,
251
+ children: r
252
+ }) => {
253
+ const l = h(), c = e ? g(e, l.columns) : 6, s = t ? i === "left" ? { borderRight: "1px solid var(--nui-rule-hairline)", paddingRight: "var(--nui-space-4)" } : { borderLeft: "1px solid var(--nui-rule-hairline)", paddingLeft: "var(--nui-space-4)" } : {};
254
+ return /* @__PURE__ */ o(
255
+ "aside",
256
+ {
257
+ className: u("nui-sidebar", n),
258
+ style: {
259
+ gridColumn: `span ${c}`,
260
+ ...s,
261
+ ...a
262
+ },
263
+ children: r
264
+ }
265
+ );
266
+ }, q = ({
267
+ label: e = "BREAKING",
268
+ className: i,
269
+ style: t,
270
+ children: n
271
+ }) => /* @__PURE__ */ d(
272
+ "div",
273
+ {
274
+ className: u("nui-breaking", i),
275
+ role: "alert",
276
+ style: {
277
+ gridColumn: "1 / -1",
278
+ background: "var(--nui-accent-primary)",
279
+ color: "var(--nui-bg-page)",
280
+ padding: "var(--nui-space-3) var(--nui-space-6)",
281
+ fontFamily: "var(--font-family-meta)",
282
+ fontSize: "13px",
283
+ fontWeight: 600,
284
+ display: "flex",
285
+ alignItems: "center",
286
+ gap: "var(--nui-space-4)",
287
+ ...t
288
+ },
289
+ children: [
290
+ /* @__PURE__ */ o("span", { style: {
291
+ fontVariantCaps: "small-caps",
292
+ letterSpacing: "0.1em",
293
+ fontWeight: 700,
294
+ flexShrink: 0
295
+ }, children: e }),
296
+ /* @__PURE__ */ o("span", { style: { flex: 1 }, children: n })
297
+ ]
298
+ }
299
+ ), v = {
300
+ Headline: {
301
+ High: {
302
+ fontFamily: "--font-family-display",
303
+ fontSize: ["48px", "72px"],
304
+ fontWeight: 600,
305
+ lineHeight: 1.05,
306
+ letterSpacing: "-0.01em",
307
+ fontVariant: "lining-nums",
308
+ color: "--nui-text-primary",
309
+ span: [8, 16],
310
+ margin: "0 0 1rem 0"
311
+ },
312
+ Medium: {
313
+ fontFamily: "--font-family-headline",
314
+ fontSize: ["32px", "40px"],
315
+ fontWeight: 600,
316
+ lineHeight: 1.1,
317
+ letterSpacing: "-0.005em",
318
+ fontVariant: "lining-nums",
319
+ color: "--nui-text-primary",
320
+ span: [6, 10],
321
+ margin: "0 0 0.75rem 0"
322
+ },
323
+ Low: {
324
+ fontFamily: "--font-family-headline",
325
+ fontSize: ["22px", "26px"],
326
+ fontWeight: 500,
327
+ lineHeight: 1.2,
328
+ fontVariant: "lining-nums",
329
+ color: "--nui-text-body",
330
+ span: [4, 6],
331
+ margin: "0 0 0.5rem 0"
332
+ }
333
+ },
334
+ Subhead: {
335
+ High: {
336
+ fontFamily: "--font-family-headline",
337
+ fontSize: ["18px", "22px"],
338
+ fontWeight: 500,
339
+ fontStyle: "italic",
340
+ lineHeight: 1.3,
341
+ fontVariant: "oldstyle-nums",
342
+ color: "--nui-text-secondary",
343
+ span: [4, 8],
344
+ margin: "0 0 0.75rem 0"
345
+ },
346
+ Medium: {
347
+ fontFamily: "--font-family-headline",
348
+ fontSize: ["16px", "18px"],
349
+ fontWeight: 400,
350
+ fontStyle: "italic",
351
+ lineHeight: 1.35,
352
+ fontVariant: "oldstyle-nums",
353
+ color: "--nui-text-secondary",
354
+ span: [2, 4],
355
+ margin: "0 0 0.5rem 0"
356
+ }
357
+ },
358
+ Kicker: {
359
+ Standard: {
360
+ fontFamily: "--font-family-meta",
361
+ fontSize: ["12px", "13px"],
362
+ fontWeight: 600,
363
+ lineHeight: 1.2,
364
+ letterSpacing: "0.08em",
365
+ color: "--nui-accent-primary",
366
+ margin: "0 0 0.25rem 0"
367
+ }
368
+ },
369
+ BodyText: {
370
+ High: {
371
+ fontFamily: "--font-family-body",
372
+ fontSize: ["16px", "17px"],
373
+ fontWeight: 400,
374
+ lineHeight: 1.6,
375
+ fontVariant: "oldstyle-nums",
376
+ color: "--nui-text-body",
377
+ span: 1,
378
+ margin: "0 0 0.75rem 0"
379
+ },
380
+ Medium: {
381
+ fontFamily: "--font-family-body",
382
+ fontSize: "15px",
383
+ fontWeight: 400,
384
+ lineHeight: 1.55,
385
+ fontVariant: "oldstyle-nums",
386
+ color: "--nui-text-body",
387
+ span: 1,
388
+ margin: "0 0 0.5rem 0"
389
+ },
390
+ Low: {
391
+ fontFamily: "--font-family-body",
392
+ fontSize: ["13px", "14px"],
393
+ fontWeight: 400,
394
+ lineHeight: 1.5,
395
+ fontVariant: "oldstyle-nums",
396
+ color: "--nui-text-secondary",
397
+ span: 1,
398
+ margin: "0 0 0.5rem 0"
399
+ }
400
+ },
401
+ Quote: {
402
+ High: {
403
+ fontFamily: "--font-family-body",
404
+ fontSize: ["17px", "19px"],
405
+ fontWeight: 400,
406
+ lineHeight: 1.55,
407
+ fontVariant: "oldstyle-nums",
408
+ color: "--nui-text-quote",
409
+ span: 2,
410
+ margin: "1rem 0 1rem 1.5em"
411
+ },
412
+ Medium: {
413
+ fontFamily: "--font-family-body",
414
+ fontSize: ["15px", "17px"],
415
+ fontWeight: 400,
416
+ lineHeight: 1.5,
417
+ fontVariant: "oldstyle-nums",
418
+ color: "--nui-text-quote",
419
+ span: 1,
420
+ margin: "0.75rem 0"
421
+ }
422
+ },
423
+ PullQuote: {
424
+ High: {
425
+ fontFamily: "--font-family-display",
426
+ fontSize: ["26px", "32px"],
427
+ fontWeight: 600,
428
+ lineHeight: 1.2,
429
+ letterSpacing: "-0.005em",
430
+ fontVariant: "lining-nums",
431
+ color: "--nui-text-primary",
432
+ span: [2, 3],
433
+ margin: "1.5rem 0"
434
+ },
435
+ Medium: {
436
+ fontFamily: "--font-family-display",
437
+ fontSize: ["20px", "24px"],
438
+ fontWeight: 500,
439
+ lineHeight: 1.25,
440
+ fontVariant: "lining-nums",
441
+ color: "--nui-text-body",
442
+ span: [1, 2],
443
+ margin: "1rem 0"
444
+ }
445
+ },
446
+ Byline: {
447
+ Standard: {
448
+ fontFamily: "--font-family-meta",
449
+ fontSize: ["12px", "13px"],
450
+ fontWeight: 500,
451
+ lineHeight: 1.3,
452
+ letterSpacing: "0.06em",
453
+ color: "--nui-text-secondary",
454
+ margin: "0 0 0.25rem 0"
455
+ }
456
+ },
457
+ Dateline: {
458
+ Standard: {
459
+ fontFamily: "--font-family-meta",
460
+ fontSize: ["12px", "13px"],
461
+ fontWeight: 600,
462
+ lineHeight: 1.3,
463
+ letterSpacing: "0.08em",
464
+ color: "--nui-text-primary",
465
+ margin: "0"
466
+ }
467
+ },
468
+ Caption: {
469
+ Standard: {
470
+ fontFamily: "--font-family-body",
471
+ fontSize: "13px",
472
+ fontWeight: 400,
473
+ fontStyle: "italic",
474
+ lineHeight: 1.4,
475
+ color: "--nui-text-secondary",
476
+ margin: "0.5rem 0 0 0"
477
+ }
478
+ }
479
+ };
480
+ function x(e) {
481
+ if (Array.isArray(e)) {
482
+ const i = e[0], t = e[1], n = parseFloat(i), a = parseFloat(t), r = ((n + a) / 2 / 16 * 1.5).toFixed(2);
483
+ return `clamp(${i}, ${r}vw, ${t})`;
484
+ }
485
+ return e;
486
+ }
487
+ const N = {
488
+ High: "h1",
489
+ Medium: "h2",
490
+ Low: "h3"
491
+ }, R = ({
492
+ weight: e = "High",
493
+ span: i,
494
+ as: t,
495
+ align: n,
496
+ className: a,
497
+ style: r,
498
+ children: l
499
+ }) => {
500
+ var f;
501
+ const c = h(), s = v.Headline[e], m = t ?? N[e], p = i ? g(i, c.columns) : void 0, y = (f = s.fontVariant) != null && f.includes("lining") ? "nui-tnum" : "nui-osf";
502
+ return /* @__PURE__ */ o(
503
+ m,
504
+ {
505
+ className: u("nui-headline", y, a),
506
+ style: {
507
+ fontFamily: `var(${s.fontFamily})`,
508
+ fontSize: x(s.fontSize),
509
+ fontWeight: s.fontWeight,
510
+ lineHeight: s.lineHeight,
511
+ letterSpacing: s.letterSpacing,
512
+ color: `var(${s.color})`,
513
+ margin: s.margin,
514
+ textAlign: n,
515
+ textWrap: "balance",
516
+ gridColumn: p ? `span ${p}` : void 0,
517
+ ...r
518
+ },
519
+ "data-weight": e,
520
+ children: l
521
+ }
522
+ );
523
+ }, D = ({
524
+ weight: e = "Medium",
525
+ span: i,
526
+ as: t = "p",
527
+ className: n,
528
+ style: a,
529
+ children: r
530
+ }) => {
531
+ const l = h(), c = v.Subhead[e], s = t, m = i ? g(i, l.columns) : void 0;
532
+ return /* @__PURE__ */ o(
533
+ s,
534
+ {
535
+ className: u("nui-subhead nui-osf", n),
536
+ style: {
537
+ fontFamily: `var(${c.fontFamily})`,
538
+ fontSize: x(c.fontSize),
539
+ fontWeight: c.fontWeight,
540
+ fontStyle: c.fontStyle,
541
+ lineHeight: c.lineHeight,
542
+ color: `var(${c.color})`,
543
+ margin: c.margin,
544
+ gridColumn: m ? `span ${m}` : void 0,
545
+ ...a
546
+ },
547
+ "data-weight": e,
548
+ children: r
549
+ }
550
+ );
551
+ }, Q = ({ className: e, style: i, children: t }) => {
552
+ const n = v.Kicker.Standard;
553
+ return /* @__PURE__ */ o(
554
+ "div",
555
+ {
556
+ className: u("nui-kicker nui-small-caps", e),
557
+ style: {
558
+ fontFamily: `var(${n.fontFamily})`,
559
+ fontSize: x(n.fontSize),
560
+ fontWeight: n.fontWeight,
561
+ lineHeight: n.lineHeight,
562
+ letterSpacing: n.letterSpacing,
563
+ color: `var(${n.color})`,
564
+ margin: n.margin,
565
+ ...i
566
+ },
567
+ children: t
568
+ }
569
+ );
570
+ }, P = ({
571
+ weight: e = "Medium",
572
+ span: i,
573
+ columns: t = 1,
574
+ columnWidth: n,
575
+ columnFill: a = "balance",
576
+ dropCap: r = !1,
577
+ className: l,
578
+ style: c,
579
+ children: s
580
+ }) => {
581
+ const m = h(), p = v.BodyText[e], y = i ? g(i, m.columns) : void 0, f = t >= 2;
582
+ return /* @__PURE__ */ o(
583
+ "div",
584
+ {
585
+ className: u(
586
+ "nui-bodytext",
587
+ "nui-paragraph-flow",
588
+ "nui-osf",
589
+ "nui-hanging-punctuation",
590
+ f && "nui-column-rule",
591
+ r && "nui-drop-cap",
592
+ l
593
+ ),
594
+ style: {
595
+ fontFamily: `var(${p.fontFamily})`,
596
+ fontSize: x(p.fontSize),
597
+ fontWeight: p.fontWeight,
598
+ lineHeight: p.lineHeight,
599
+ color: `var(${p.color})`,
600
+ margin: p.margin,
601
+ gridColumn: y ? `span ${y}` : void 0,
602
+ columnCount: f ? t : void 0,
603
+ columnWidth: f ? n : void 0,
604
+ columnGap: f ? "var(--nui-gutter)" : void 0,
605
+ columnFill: f ? a : void 0,
606
+ ...c
607
+ },
608
+ "data-weight": e,
609
+ "data-columns": t,
610
+ children: s
611
+ }
612
+ );
613
+ }, K = ({
614
+ variant: e = "block",
615
+ weight: i = "Medium",
616
+ span: t,
617
+ cite: n,
618
+ className: a,
619
+ style: r,
620
+ children: l
621
+ }) => {
622
+ const c = h(), s = v.Quote[i], m = t ? g(t, c.columns) : void 0;
623
+ return e === "inline" ? /* @__PURE__ */ o("em", { className: u("nui-quote nui-quote--inline", a), style: r, children: l }) : /* @__PURE__ */ o(
624
+ "blockquote",
625
+ {
626
+ cite: n,
627
+ className: u("nui-quote nui-quote--block nui-osf", a),
628
+ style: {
629
+ fontFamily: `var(${s.fontFamily})`,
630
+ fontSize: x(s.fontSize),
631
+ fontWeight: s.fontWeight,
632
+ lineHeight: s.lineHeight,
633
+ color: `var(${s.color})`,
634
+ margin: s.margin,
635
+ gridColumn: m ? `span ${m}` : void 0,
636
+ borderLeft: "none",
637
+ ...r
638
+ },
639
+ "data-weight": i,
640
+ children: l
641
+ }
642
+ );
643
+ }, G = ({ className: e, style: i, children: t }) => {
644
+ const n = v.Byline.Standard;
645
+ return /* @__PURE__ */ o(
646
+ "div",
647
+ {
648
+ className: u("nui-byline nui-small-caps", e),
649
+ style: {
650
+ fontFamily: `var(${n.fontFamily})`,
651
+ fontSize: x(n.fontSize),
652
+ fontWeight: n.fontWeight,
653
+ lineHeight: n.lineHeight,
654
+ letterSpacing: n.letterSpacing,
655
+ color: `var(${n.color})`,
656
+ margin: n.margin,
657
+ ...i
658
+ },
659
+ children: t
660
+ }
661
+ );
662
+ }, _ = ({ className: e, style: i, children: t }) => {
663
+ const n = v.Dateline.Standard;
664
+ return /* @__PURE__ */ o(
665
+ "span",
666
+ {
667
+ className: u("nui-dateline nui-small-caps", e),
668
+ style: {
669
+ fontFamily: `var(${n.fontFamily})`,
670
+ fontSize: x(n.fontSize),
671
+ fontWeight: n.fontWeight,
672
+ lineHeight: n.lineHeight,
673
+ letterSpacing: n.letterSpacing,
674
+ color: `var(${n.color})`,
675
+ margin: n.margin,
676
+ ...i
677
+ },
678
+ children: t
679
+ }
680
+ );
681
+ }, W = ({ credit: e, className: i, style: t, children: n }) => {
682
+ const a = v.Caption.Standard;
683
+ return /* @__PURE__ */ d(
684
+ "figcaption",
685
+ {
686
+ className: u("nui-caption nui-osf", i),
687
+ style: {
688
+ fontFamily: `var(${a.fontFamily})`,
689
+ fontSize: x(a.fontSize),
690
+ fontWeight: a.fontWeight,
691
+ fontStyle: a.fontStyle,
692
+ lineHeight: a.lineHeight,
693
+ color: `var(${a.color})`,
694
+ margin: a.margin,
695
+ ...t
696
+ },
697
+ children: [
698
+ n,
699
+ e && /* @__PURE__ */ o(
700
+ "span",
701
+ {
702
+ className: "nui-small-caps",
703
+ style: {
704
+ display: "inline-block",
705
+ marginLeft: "var(--nui-space-2)",
706
+ fontSize: "11px",
707
+ color: "var(--nui-text-muted)",
708
+ fontStyle: "normal",
709
+ letterSpacing: "0.06em"
710
+ },
711
+ children: e
712
+ }
713
+ )
714
+ ]
715
+ }
716
+ );
717
+ }, E = ({
718
+ src: e,
719
+ alt: i,
720
+ span: t,
721
+ loading: n,
722
+ aspectRatio: a,
723
+ sizes: r,
724
+ className: l,
725
+ style: c
726
+ }) => {
727
+ const s = h(), m = t ? g(t, s.columns) : void 0;
728
+ return /* @__PURE__ */ o(
729
+ "img",
730
+ {
731
+ src: e,
732
+ alt: i,
733
+ loading: n ?? "lazy",
734
+ sizes: r,
735
+ className: u("nui-image", l),
736
+ style: {
737
+ display: "block",
738
+ width: "100%",
739
+ height: "auto",
740
+ aspectRatio: a,
741
+ gridColumn: m ? `span ${m}` : void 0,
742
+ ...c
743
+ }
744
+ }
745
+ );
746
+ }, J = ({
747
+ src: e,
748
+ alt: i,
749
+ caption: t,
750
+ credit: n,
751
+ span: a,
752
+ loading: r,
753
+ aspectRatio: l,
754
+ sizes: c,
755
+ className: s,
756
+ style: m,
757
+ children: p
758
+ }) => {
759
+ const y = h(), f = a ? g(a, y.columns) : void 0;
760
+ return /* @__PURE__ */ d(
761
+ "figure",
762
+ {
763
+ className: u("nui-figure nui-avoid-break", s),
764
+ style: {
765
+ margin: 0,
766
+ gridColumn: f ? `span ${f}` : void 0,
767
+ ...m
768
+ },
769
+ children: [
770
+ e ? /* @__PURE__ */ o(
771
+ "img",
772
+ {
773
+ src: e,
774
+ alt: i ?? "",
775
+ loading: r ?? "lazy",
776
+ sizes: c,
777
+ style: { display: "block", width: "100%", height: "auto", aspectRatio: l }
778
+ }
779
+ ) : p,
780
+ (t || n) && /* @__PURE__ */ o(W, { credit: n, children: t })
781
+ ]
782
+ }
783
+ );
784
+ }, X = ({
785
+ src: e,
786
+ poster: i,
787
+ caption: t,
788
+ credit: n,
789
+ span: a,
790
+ controls: r = !0,
791
+ className: l,
792
+ style: c
793
+ }) => {
794
+ const s = h(), m = a ? g(a, s.columns) : void 0;
795
+ return /* @__PURE__ */ d(
796
+ "figure",
797
+ {
798
+ className: u("nui-video nui-avoid-break", l),
799
+ style: { margin: 0, gridColumn: m ? `span ${m}` : void 0, ...c },
800
+ children: [
801
+ /* @__PURE__ */ o("video", { src: e, poster: i, controls: r, style: { width: "100%", height: "auto" } }),
802
+ (t || n) && /* @__PURE__ */ o(W, { credit: n, children: t })
803
+ ]
804
+ }
805
+ );
806
+ }, O = ({
807
+ weight: e = "High",
808
+ span: i,
809
+ spanAllColumns: t = !1,
810
+ author: n,
811
+ align: a = "left",
812
+ className: r,
813
+ style: l,
814
+ children: c
815
+ }) => {
816
+ const s = h(), m = v.PullQuote[e], p = i ? g(i, s.columns) : void 0;
817
+ return /* @__PURE__ */ d(
818
+ "aside",
819
+ {
820
+ className: u(
821
+ "nui-pullquote nui-avoid-break nui-tnum",
822
+ t && "nui-span-all-columns",
823
+ r
824
+ ),
825
+ style: {
826
+ margin: m.margin,
827
+ padding: "var(--nui-space-4) 0",
828
+ borderTop: "1px solid var(--nui-rule-hairline)",
829
+ borderBottom: "1px solid var(--nui-rule-hairline)",
830
+ textAlign: a,
831
+ gridColumn: p ? `span ${p}` : void 0,
832
+ ...l
833
+ },
834
+ children: [
835
+ /* @__PURE__ */ o(
836
+ "div",
837
+ {
838
+ style: {
839
+ fontFamily: `var(${m.fontFamily})`,
840
+ fontSize: x(m.fontSize),
841
+ fontWeight: m.fontWeight,
842
+ lineHeight: m.lineHeight,
843
+ letterSpacing: m.letterSpacing,
844
+ color: `var(${m.color})`,
845
+ margin: 0,
846
+ textWrap: "balance"
847
+ },
848
+ children: c
849
+ }
850
+ ),
851
+ n && /* @__PURE__ */ d(
852
+ "footer",
853
+ {
854
+ className: "nui-small-caps",
855
+ style: {
856
+ marginTop: "var(--nui-space-2)",
857
+ fontSize: "11px",
858
+ color: "var(--nui-text-muted)",
859
+ letterSpacing: "0.08em"
860
+ },
861
+ children: [
862
+ "— ",
863
+ n
864
+ ]
865
+ }
866
+ )
867
+ ]
868
+ }
869
+ );
870
+ }, U = ({
871
+ title: e = "Related",
872
+ articles: i,
873
+ className: t,
874
+ style: n
875
+ }) => /* @__PURE__ */ d(
876
+ "aside",
877
+ {
878
+ className: u("nui-related", t),
879
+ style: {
880
+ borderTop: "2px solid var(--nui-rule-decorative)",
881
+ paddingTop: "var(--nui-space-4)",
882
+ marginTop: "var(--nui-space-6)",
883
+ ...n
884
+ },
885
+ children: [
886
+ /* @__PURE__ */ o("h4", { style: {
887
+ fontFamily: "var(--font-family-meta)",
888
+ fontSize: "11px",
889
+ fontWeight: 700,
890
+ fontVariantCaps: "small-caps",
891
+ letterSpacing: "0.08em",
892
+ color: "var(--nui-accent-primary)",
893
+ margin: "0 0 var(--nui-space-3) 0"
894
+ }, children: e }),
895
+ /* @__PURE__ */ o("ul", { style: { listStyle: "none", padding: 0, margin: 0 }, children: i.map((a, r) => /* @__PURE__ */ d("li", { style: {
896
+ borderBottom: "1px solid var(--nui-rule-hairline)",
897
+ padding: "var(--nui-space-2) 0"
898
+ }, children: [
899
+ a.category && /* @__PURE__ */ o("span", { style: {
900
+ fontFamily: "var(--font-family-meta)",
901
+ fontSize: "10px",
902
+ fontVariantCaps: "small-caps",
903
+ letterSpacing: "0.06em",
904
+ color: "var(--nui-text-muted)",
905
+ marginRight: "var(--nui-space-2)"
906
+ }, children: a.category }),
907
+ /* @__PURE__ */ o("a", { href: a.href, style: {
908
+ fontFamily: "var(--font-family-headline)",
909
+ fontSize: "14px",
910
+ fontWeight: 500,
911
+ lineHeight: 1.3,
912
+ color: "var(--nui-text-primary)",
913
+ textDecoration: "none"
914
+ }, children: a.title })
915
+ ] }, r)) })
916
+ ]
917
+ }
918
+ ), Y = ({
919
+ page: e,
920
+ section: i,
921
+ date: t,
922
+ publication: n,
923
+ align: a = "between",
924
+ className: r,
925
+ style: l
926
+ }) => /* @__PURE__ */ d(
927
+ "div",
928
+ {
929
+ className: u("nui-folio nui-small-caps", r),
930
+ style: {
931
+ gridColumn: "1 / -1",
932
+ display: "flex",
933
+ justifyContent: a === "between" ? "space-between" : a === "center" ? "center" : "flex-start",
934
+ alignItems: "baseline",
935
+ gap: "var(--nui-space-4)",
936
+ fontFamily: "var(--font-family-meta)",
937
+ fontSize: "10px",
938
+ fontWeight: 500,
939
+ letterSpacing: "0.08em",
940
+ color: "var(--nui-text-muted)",
941
+ borderBottom: "1px solid var(--nui-rule-hairline)",
942
+ paddingBottom: "var(--nui-space-2)",
943
+ marginBottom: "var(--nui-space-4)",
944
+ ...l
945
+ },
946
+ children: [
947
+ /* @__PURE__ */ o("span", { style: { fontWeight: 700, color: "var(--nui-text-secondary)" }, children: e }),
948
+ i && /* @__PURE__ */ o("span", { children: i }),
949
+ n && /* @__PURE__ */ o("span", { children: n }),
950
+ t && /* @__PURE__ */ o("span", { children: t })
951
+ ]
952
+ }
953
+ ), Z = ({
954
+ title: e = "Inside",
955
+ items: i,
956
+ className: t,
957
+ style: n
958
+ }) => /* @__PURE__ */ d(
959
+ "div",
960
+ {
961
+ className: u("nui-index-box", t),
962
+ style: {
963
+ border: "1px solid var(--nui-rule-hairline)",
964
+ borderTop: "3px solid var(--nui-rule-decorative)",
965
+ padding: "var(--nui-space-3)",
966
+ background: "var(--nui-bg-surface)",
967
+ ...n
968
+ },
969
+ children: [
970
+ /* @__PURE__ */ o("h4", { style: {
971
+ fontFamily: "var(--font-family-meta)",
972
+ fontSize: "11px",
973
+ fontWeight: 700,
974
+ fontVariantCaps: "small-caps",
975
+ letterSpacing: "0.08em",
976
+ color: "var(--nui-accent-primary)",
977
+ margin: "0 0 var(--nui-space-2) 0",
978
+ paddingBottom: "var(--nui-space-2)",
979
+ borderBottom: "1px solid var(--nui-rule-hairline)"
980
+ }, children: e }),
981
+ /* @__PURE__ */ o("ul", { style: { listStyle: "none", padding: 0, margin: 0 }, children: i.map((a, r) => /* @__PURE__ */ d("li", { style: {
982
+ display: "flex",
983
+ gap: "var(--nui-space-2)",
984
+ padding: "var(--nui-space-1) 0",
985
+ borderBottom: r < i.length - 1 ? "1px solid var(--nui-rule-hairline)" : "none",
986
+ alignItems: "baseline"
987
+ }, children: [
988
+ /* @__PURE__ */ o("span", { style: {
989
+ fontFamily: "var(--font-family-meta)",
990
+ fontSize: "10px",
991
+ fontWeight: 700,
992
+ color: "var(--nui-text-secondary)",
993
+ flexShrink: 0,
994
+ width: "24px"
995
+ }, children: a.page }),
996
+ /* @__PURE__ */ o("span", { style: {
997
+ fontFamily: "var(--font-family-meta)",
998
+ fontSize: "10px",
999
+ fontVariantCaps: "small-caps",
1000
+ letterSpacing: "0.06em",
1001
+ color: "var(--nui-text-muted)",
1002
+ flexShrink: 0,
1003
+ width: "48px"
1004
+ }, children: a.title }),
1005
+ a.headline && /* @__PURE__ */ o("span", { style: {
1006
+ fontFamily: "var(--font-family-body)",
1007
+ fontSize: "12px",
1008
+ color: "var(--nui-text-body)",
1009
+ lineHeight: 1.3,
1010
+ flex: 1
1011
+ }, children: a.headline })
1012
+ ] }, r)) })
1013
+ ]
1014
+ }
1015
+ ), nn = ({
1016
+ title: e,
1017
+ span: i,
1018
+ variant: t = "default",
1019
+ className: n,
1020
+ style: a,
1021
+ children: r
1022
+ }) => {
1023
+ const l = h(), c = i ? g(i, l.columns) : void 0, s = {
1024
+ default: {
1025
+ border: "1px solid var(--nui-rule-hairline)",
1026
+ borderTop: "3px solid var(--nui-rule-decorative)",
1027
+ background: "var(--nui-bg-surface)"
1028
+ },
1029
+ highlight: {
1030
+ border: "1px solid var(--nui-rule-hairline)",
1031
+ borderLeft: "4px solid var(--nui-accent-primary)",
1032
+ background: "var(--nui-bg-surface)"
1033
+ },
1034
+ timeline: {
1035
+ border: "1px solid var(--nui-rule-hairline)",
1036
+ borderTop: "3px solid var(--nui-accent-ink-blue)",
1037
+ background: "var(--nui-bg-surface)"
1038
+ }
1039
+ };
1040
+ return /* @__PURE__ */ d(
1041
+ "aside",
1042
+ {
1043
+ className: u("nui-factbox nui-avoid-break", n),
1044
+ style: {
1045
+ ...s[t],
1046
+ padding: "var(--nui-space-4)",
1047
+ gridColumn: c ? `span ${c}` : void 0,
1048
+ ...a
1049
+ },
1050
+ children: [
1051
+ e && /* @__PURE__ */ o("h4", { style: {
1052
+ fontFamily: "var(--font-family-meta)",
1053
+ fontSize: "11px",
1054
+ fontWeight: 700,
1055
+ fontVariantCaps: "small-caps",
1056
+ letterSpacing: "0.08em",
1057
+ color: t === "highlight" ? "var(--nui-accent-primary)" : "var(--nui-text-primary)",
1058
+ margin: "0 0 var(--nui-space-3) 0",
1059
+ paddingBottom: "var(--nui-space-2)",
1060
+ borderBottom: "1px solid var(--nui-rule-hairline)"
1061
+ }, children: e }),
1062
+ /* @__PURE__ */ o("div", { style: {
1063
+ fontFamily: "var(--font-family-body)",
1064
+ fontSize: "13px",
1065
+ lineHeight: 1.5,
1066
+ color: "var(--nui-text-body)"
1067
+ }, children: r })
1068
+ ]
1069
+ }
1070
+ );
1071
+ }, en = ({
1072
+ name: e,
1073
+ role: i,
1074
+ bio: t,
1075
+ avatar: n,
1076
+ email: a,
1077
+ className: r,
1078
+ style: l
1079
+ }) => /* @__PURE__ */ d(
1080
+ "div",
1081
+ {
1082
+ className: u("nui-author-card", r),
1083
+ style: {
1084
+ borderTop: "1px solid var(--nui-rule-hairline)",
1085
+ paddingTop: "var(--nui-space-4)",
1086
+ marginTop: "var(--nui-space-6)",
1087
+ display: "flex",
1088
+ gap: "var(--nui-space-4)",
1089
+ alignItems: "flex-start",
1090
+ ...l
1091
+ },
1092
+ children: [
1093
+ n && /* @__PURE__ */ o(
1094
+ "img",
1095
+ {
1096
+ src: n,
1097
+ alt: e,
1098
+ loading: "lazy",
1099
+ style: {
1100
+ width: "56px",
1101
+ height: "56px",
1102
+ borderRadius: "50%",
1103
+ objectFit: "cover",
1104
+ flexShrink: 0
1105
+ }
1106
+ }
1107
+ ),
1108
+ /* @__PURE__ */ d("div", { children: [
1109
+ /* @__PURE__ */ o("div", { style: {
1110
+ fontFamily: "var(--font-family-meta)",
1111
+ fontSize: "13px",
1112
+ fontWeight: 600,
1113
+ fontVariantCaps: "small-caps",
1114
+ letterSpacing: "0.06em",
1115
+ color: "var(--nui-text-primary)"
1116
+ }, children: e }),
1117
+ i && /* @__PURE__ */ o("div", { style: {
1118
+ fontFamily: "var(--font-family-meta)",
1119
+ fontSize: "12px",
1120
+ color: "var(--nui-text-muted)",
1121
+ marginTop: "2px"
1122
+ }, children: i }),
1123
+ t && /* @__PURE__ */ o("p", { style: {
1124
+ fontFamily: "var(--font-family-body)",
1125
+ fontSize: "13px",
1126
+ lineHeight: 1.5,
1127
+ color: "var(--nui-text-secondary)",
1128
+ margin: "var(--nui-space-2) 0 0 0"
1129
+ }, children: t }),
1130
+ a && /* @__PURE__ */ o("a", { href: `mailto:${a}`, style: {
1131
+ fontFamily: "var(--font-family-meta)",
1132
+ fontSize: "11px",
1133
+ color: "var(--nui-accent-primary)",
1134
+ textDecoration: "none",
1135
+ marginTop: "var(--nui-space-2)",
1136
+ minHeight: "44px",
1137
+ display: "inline-flex",
1138
+ alignItems: "center"
1139
+ }, children: a })
1140
+ ] })
1141
+ ]
1142
+ }
1143
+ ), tn = ({
1144
+ direction: e,
1145
+ page: i,
1146
+ className: t,
1147
+ style: n
1148
+ }) => /* @__PURE__ */ o(
1149
+ "div",
1150
+ {
1151
+ className: u("nui-jump-line nui-small-caps", t),
1152
+ style: {
1153
+ fontFamily: "var(--font-family-meta)",
1154
+ fontSize: "10px",
1155
+ fontWeight: 600,
1156
+ letterSpacing: "0.06em",
1157
+ color: "var(--nui-text-muted)",
1158
+ textAlign: e === "to" ? "right" : "left",
1159
+ marginTop: e === "to" ? "var(--nui-space-3)" : "0",
1160
+ marginBottom: e === "from" ? "var(--nui-space-3)" : "0",
1161
+ fontStyle: "italic",
1162
+ ...n
1163
+ },
1164
+ children: e === "to" ? `Continued on ${i} →` : `← Continued from ${i}`
1165
+ }
1166
+ );
1167
+ export {
1168
+ V as Article,
1169
+ en as AuthorCard,
1170
+ P as BodyText,
1171
+ q as BreakingNewsBanner,
1172
+ G as Byline,
1173
+ W as Caption,
1174
+ _ as Dateline,
1175
+ nn as Factbox,
1176
+ J as Figure,
1177
+ Y as Folio,
1178
+ A as Footer,
1179
+ R as Headline,
1180
+ E as Image,
1181
+ Z as IndexBox,
1182
+ tn as JumpLine,
1183
+ Q as Kicker,
1184
+ I as Layer,
1185
+ w as Layout,
1186
+ L as Masthead,
1187
+ j as NewsSidebar,
1188
+ O as PullQuote,
1189
+ K as Quote,
1190
+ U as RelatedArticles,
1191
+ M as Rule,
1192
+ B as Section,
1193
+ D as Subhead,
1194
+ X as Video,
1195
+ C as useLayout,
1196
+ h as useSection
1197
+ };