@sorayasm/vietri-ds 0.0.0-stage → 0.2.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 (164) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/LICENSE +21 -0
  3. package/README.md +254 -2
  4. package/dist/index.cjs +11 -0
  5. package/dist/index.cjs.map +1 -0
  6. package/dist/index.js +2012 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/types/components/BarChart/BarChart.d.ts +15 -0
  9. package/dist/types/components/BarChart/BarChart.d.ts.map +1 -0
  10. package/dist/types/components/BarChart/index.d.ts +3 -0
  11. package/dist/types/components/BarChart/index.d.ts.map +1 -0
  12. package/dist/types/components/Button/Button.d.ts +3 -0
  13. package/dist/types/components/Button/Button.d.ts.map +1 -0
  14. package/dist/types/components/Button/index.d.ts +3 -0
  15. package/dist/types/components/Button/index.d.ts.map +1 -0
  16. package/dist/types/components/Card/Card.d.ts +7 -0
  17. package/dist/types/components/Card/Card.d.ts.map +1 -0
  18. package/dist/types/components/Card/index.d.ts +3 -0
  19. package/dist/types/components/Card/index.d.ts.map +1 -0
  20. package/dist/types/components/Chip/Chip.d.ts +17 -0
  21. package/dist/types/components/Chip/Chip.d.ts.map +1 -0
  22. package/dist/types/components/Chip/index.d.ts +3 -0
  23. package/dist/types/components/Chip/index.d.ts.map +1 -0
  24. package/dist/types/components/ContentRail/ContentRail.d.ts +24 -0
  25. package/dist/types/components/ContentRail/ContentRail.d.ts.map +1 -0
  26. package/dist/types/components/ContentRail/index.d.ts +3 -0
  27. package/dist/types/components/ContentRail/index.d.ts.map +1 -0
  28. package/dist/types/components/CopyField/CopyField.d.ts +16 -0
  29. package/dist/types/components/CopyField/CopyField.d.ts.map +1 -0
  30. package/dist/types/components/CopyField/index.d.ts +3 -0
  31. package/dist/types/components/CopyField/index.d.ts.map +1 -0
  32. package/dist/types/components/DataTable/DataTable.d.ts +23 -0
  33. package/dist/types/components/DataTable/DataTable.d.ts.map +1 -0
  34. package/dist/types/components/DataTable/index.d.ts +3 -0
  35. package/dist/types/components/DataTable/index.d.ts.map +1 -0
  36. package/dist/types/components/Dialog/Dialog.d.ts +20 -0
  37. package/dist/types/components/Dialog/Dialog.d.ts.map +1 -0
  38. package/dist/types/components/Dialog/index.d.ts +3 -0
  39. package/dist/types/components/Dialog/index.d.ts.map +1 -0
  40. package/dist/types/components/Drawer/Drawer.d.ts +21 -0
  41. package/dist/types/components/Drawer/Drawer.d.ts.map +1 -0
  42. package/dist/types/components/Drawer/index.d.ts +3 -0
  43. package/dist/types/components/Drawer/index.d.ts.map +1 -0
  44. package/dist/types/components/EpisodeList/EpisodeList.d.ts +37 -0
  45. package/dist/types/components/EpisodeList/EpisodeList.d.ts.map +1 -0
  46. package/dist/types/components/EpisodeList/index.d.ts +3 -0
  47. package/dist/types/components/EpisodeList/index.d.ts.map +1 -0
  48. package/dist/types/components/FeatureCard/FeatureCard.d.ts +17 -0
  49. package/dist/types/components/FeatureCard/FeatureCard.d.ts.map +1 -0
  50. package/dist/types/components/FeatureCard/index.d.ts +3 -0
  51. package/dist/types/components/FeatureCard/index.d.ts.map +1 -0
  52. package/dist/types/components/Footer/Footer.d.ts +24 -0
  53. package/dist/types/components/Footer/Footer.d.ts.map +1 -0
  54. package/dist/types/components/Footer/index.d.ts +3 -0
  55. package/dist/types/components/Footer/index.d.ts.map +1 -0
  56. package/dist/types/components/Hero/Hero.d.ts +21 -0
  57. package/dist/types/components/Hero/Hero.d.ts.map +1 -0
  58. package/dist/types/components/Hero/index.d.ts +3 -0
  59. package/dist/types/components/Hero/index.d.ts.map +1 -0
  60. package/dist/types/components/Icon/Icon.d.ts +11 -0
  61. package/dist/types/components/Icon/Icon.d.ts.map +1 -0
  62. package/dist/types/components/Icon/icons.d.ts +6 -0
  63. package/dist/types/components/Icon/icons.d.ts.map +1 -0
  64. package/dist/types/components/Icon/index.d.ts +3 -0
  65. package/dist/types/components/Icon/index.d.ts.map +1 -0
  66. package/dist/types/components/Input/Input.d.ts +3 -0
  67. package/dist/types/components/Input/Input.d.ts.map +1 -0
  68. package/dist/types/components/Input/index.d.ts +3 -0
  69. package/dist/types/components/Input/index.d.ts.map +1 -0
  70. package/dist/types/components/LanguageSwitch/LanguageSwitch.d.ts +13 -0
  71. package/dist/types/components/LanguageSwitch/LanguageSwitch.d.ts.map +1 -0
  72. package/dist/types/components/LanguageSwitch/index.d.ts +3 -0
  73. package/dist/types/components/LanguageSwitch/index.d.ts.map +1 -0
  74. package/dist/types/components/MediaCard/MediaCard.d.ts +31 -0
  75. package/dist/types/components/MediaCard/MediaCard.d.ts.map +1 -0
  76. package/dist/types/components/MediaCard/index.d.ts +3 -0
  77. package/dist/types/components/MediaCard/index.d.ts.map +1 -0
  78. package/dist/types/components/NavBar/NavBar.d.ts +30 -0
  79. package/dist/types/components/NavBar/NavBar.d.ts.map +1 -0
  80. package/dist/types/components/NavBar/index.d.ts +3 -0
  81. package/dist/types/components/NavBar/index.d.ts.map +1 -0
  82. package/dist/types/components/PlaylistCard/PlaylistCard.d.ts +27 -0
  83. package/dist/types/components/PlaylistCard/PlaylistCard.d.ts.map +1 -0
  84. package/dist/types/components/PlaylistCard/index.d.ts +3 -0
  85. package/dist/types/components/PlaylistCard/index.d.ts.map +1 -0
  86. package/dist/types/components/ProfileCard/ProfileCard.d.ts +29 -0
  87. package/dist/types/components/ProfileCard/ProfileCard.d.ts.map +1 -0
  88. package/dist/types/components/ProfileCard/index.d.ts +3 -0
  89. package/dist/types/components/ProfileCard/index.d.ts.map +1 -0
  90. package/dist/types/components/SectionHeader/SectionHeader.d.ts +17 -0
  91. package/dist/types/components/SectionHeader/SectionHeader.d.ts.map +1 -0
  92. package/dist/types/components/SectionHeader/index.d.ts +3 -0
  93. package/dist/types/components/SectionHeader/index.d.ts.map +1 -0
  94. package/dist/types/components/Select/Select.d.ts +23 -0
  95. package/dist/types/components/Select/Select.d.ts.map +1 -0
  96. package/dist/types/components/Select/index.d.ts +3 -0
  97. package/dist/types/components/Select/index.d.ts.map +1 -0
  98. package/dist/types/components/SkipLink/SkipLink.d.ts +12 -0
  99. package/dist/types/components/SkipLink/SkipLink.d.ts.map +1 -0
  100. package/dist/types/components/SkipLink/index.d.ts +3 -0
  101. package/dist/types/components/SkipLink/index.d.ts.map +1 -0
  102. package/dist/types/components/StatCard/StatCard.d.ts +11 -0
  103. package/dist/types/components/StatCard/StatCard.d.ts.map +1 -0
  104. package/dist/types/components/StatCard/index.d.ts +3 -0
  105. package/dist/types/components/StatCard/index.d.ts.map +1 -0
  106. package/dist/types/components/Steps/Steps.d.ts +20 -0
  107. package/dist/types/components/Steps/Steps.d.ts.map +1 -0
  108. package/dist/types/components/Steps/index.d.ts +3 -0
  109. package/dist/types/components/Steps/index.d.ts.map +1 -0
  110. package/dist/types/components/Tabs/Tabs.d.ts +5 -0
  111. package/dist/types/components/Tabs/Tabs.d.ts.map +1 -0
  112. package/dist/types/components/Tabs/index.d.ts +3 -0
  113. package/dist/types/components/Tabs/index.d.ts.map +1 -0
  114. package/dist/types/components/Timeline/Timeline.d.ts +24 -0
  115. package/dist/types/components/Timeline/Timeline.d.ts.map +1 -0
  116. package/dist/types/components/Timeline/index.d.ts +3 -0
  117. package/dist/types/components/Timeline/index.d.ts.map +1 -0
  118. package/dist/types/components/Typography/Typography.d.ts +3 -0
  119. package/dist/types/components/Typography/Typography.d.ts.map +1 -0
  120. package/dist/types/components/Typography/index.d.ts +3 -0
  121. package/dist/types/components/Typography/index.d.ts.map +1 -0
  122. package/dist/types/components/VideoEmbed/VideoEmbed.d.ts +25 -0
  123. package/dist/types/components/VideoEmbed/VideoEmbed.d.ts.map +1 -0
  124. package/dist/types/components/VideoEmbed/index.d.ts +3 -0
  125. package/dist/types/components/VideoEmbed/index.d.ts.map +1 -0
  126. package/dist/types/components/VisuallyHidden/VisuallyHidden.d.ts +7 -0
  127. package/dist/types/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -0
  128. package/dist/types/components/VisuallyHidden/index.d.ts +2 -0
  129. package/dist/types/components/VisuallyHidden/index.d.ts.map +1 -0
  130. package/dist/types/components/index.d.ts +61 -0
  131. package/dist/types/components/index.d.ts.map +1 -0
  132. package/dist/types/components/internal/stretched.d.ts +18 -0
  133. package/dist/types/components/internal/stretched.d.ts.map +1 -0
  134. package/dist/types/index.d.ts +3 -0
  135. package/dist/types/index.d.ts.map +1 -0
  136. package/dist/types/theme/augmentation.d.ts +18 -0
  137. package/dist/types/theme/augmentation.d.ts.map +1 -0
  138. package/dist/types/theme/base.d.ts +17 -0
  139. package/dist/types/theme/base.d.ts.map +1 -0
  140. package/dist/types/theme/categorical.d.ts +35 -0
  141. package/dist/types/theme/categorical.d.ts.map +1 -0
  142. package/dist/types/theme/categorical.test.d.ts +2 -0
  143. package/dist/types/theme/categorical.test.d.ts.map +1 -0
  144. package/dist/types/theme/components.d.ts +8 -0
  145. package/dist/types/theme/components.d.ts.map +1 -0
  146. package/dist/types/theme/editorial.d.ts +2 -0
  147. package/dist/types/theme/editorial.d.ts.map +1 -0
  148. package/dist/types/theme/gradients.test.d.ts +2 -0
  149. package/dist/types/theme/gradients.test.d.ts.map +1 -0
  150. package/dist/types/theme/index.d.ts +13 -0
  151. package/dist/types/theme/index.d.ts.map +1 -0
  152. package/dist/types/theme/observatory.d.ts +2 -0
  153. package/dist/types/theme/observatory.d.ts.map +1 -0
  154. package/dist/types/theme/palettes.d.ts +74 -0
  155. package/dist/types/theme/palettes.d.ts.map +1 -0
  156. package/dist/types/theme/status.test.d.ts +2 -0
  157. package/dist/types/theme/status.test.d.ts.map +1 -0
  158. package/dist/types/theme/streaming.d.ts +2 -0
  159. package/dist/types/theme/streaming.d.ts.map +1 -0
  160. package/dist/types/theme/themes.test.d.ts +2 -0
  161. package/dist/types/theme/themes.test.d.ts.map +1 -0
  162. package/dist/types/theme/tokens.d.ts +49 -0
  163. package/dist/types/theme/tokens.d.ts.map +1 -0
  164. package/package.json +88 -4
package/dist/index.js ADDED
@@ -0,0 +1,2012 @@
1
+ import { jsxs as d, jsx as e, Fragment as W } from "react/jsx-runtime";
2
+ import s from "@mui/material/Box";
3
+ import g from "@mui/material/Stack";
4
+ import h from "@mui/material/Typography";
5
+ import { default as xr } from "@mui/material/Typography";
6
+ import z from "@mui/material/Button";
7
+ import { default as Fr } from "@mui/material/Button";
8
+ import B from "@mui/material/Card";
9
+ import { default as Cr } from "@mui/material/Card";
10
+ import { default as wr } from "@mui/material/CardActionArea";
11
+ import { default as kr } from "@mui/material/CardActions";
12
+ import k from "@mui/material/CardContent";
13
+ import { default as Er } from "@mui/material/CardContent";
14
+ import { default as Ir } from "@mui/material/CardMedia";
15
+ import U from "@mui/material/Chip";
16
+ import { default as Mr } from "@mui/material/Chip";
17
+ import { useState as I, useMemo as oe, useId as D, useRef as E, useEffect as X, Children as ie } from "react";
18
+ import w from "@mui/material/IconButton";
19
+ import { ArrowRight as ne, Check as Y, ChevronDown as ae, ChevronLeft as q, ChevronRight as Q, Clock as le, Copy as J, Database as ce, ExternalLink as $, Globe as de, Info as se, LayoutGrid as pe, MapPin as ue, Menu as he, Music as K, Network as me, Play as H, Search as fe, Share2 as ge, ShieldCheck as be, Sparkles as xe, TrendingUp as ve, Users as Fe, X as L } from "lucide-react";
20
+ import ye from "@mui/material/Table";
21
+ import Ce from "@mui/material/TableBody";
22
+ import M from "@mui/material/TableCell";
23
+ import Se from "@mui/material/TableContainer";
24
+ import we from "@mui/material/TableHead";
25
+ import T from "@mui/material/TableRow";
26
+ import Be from "@mui/material/TableSortLabel";
27
+ import ke from "@mui/material/DialogActions";
28
+ import De from "@mui/material/DialogContent";
29
+ import Ee from "@mui/material/DialogContentText";
30
+ import Ae from "@mui/material/DialogTitle";
31
+ import Ie from "@mui/material/Dialog";
32
+ import Z from "@mui/material/Drawer";
33
+ import C from "@mui/material/Link";
34
+ import P from "@mui/material/Container";
35
+ import We from "@mui/material/Divider";
36
+ import { useTheme as ee, alpha as O, createTheme as Me } from "@mui/material/styles";
37
+ import Te from "@mui/material/TextField";
38
+ import { default as Or } from "@mui/material/TextField";
39
+ import Oe from "@mui/material/ToggleButton";
40
+ import Re from "@mui/material/ToggleButtonGroup";
41
+ import ze from "@mui/material/AppBar";
42
+ import $e from "@mui/material/SvgIcon";
43
+ import He from "@mui/material/Toolbar";
44
+ import Le from "@mui/material/useMediaQuery";
45
+ import Pe from "@mui/material/MenuItem";
46
+ import { default as zr } from "@mui/material/Tab";
47
+ import { default as Hr } from "@mui/material/Tabs";
48
+ import je from "@mui/material/ButtonBase";
49
+ function Ge() {
50
+ return /* @__PURE__ */ e($e, { children: /* @__PURE__ */ e("path", { d: "M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" }) });
51
+ }
52
+ function V({
53
+ link: t,
54
+ onClick: r
55
+ }) {
56
+ return /* @__PURE__ */ e(
57
+ C,
58
+ {
59
+ href: t.href,
60
+ underline: "none",
61
+ "aria-current": t.current ? "page" : void 0,
62
+ onClick: r,
63
+ sx: {
64
+ color: t.current ? "text.primary" : "text.secondary",
65
+ fontWeight: t.current ? 600 : 500,
66
+ "&:hover": { color: "text.primary" }
67
+ },
68
+ children: t.label
69
+ }
70
+ );
71
+ }
72
+ function Gt({
73
+ brand: t,
74
+ brandHref: r = "/",
75
+ links: o,
76
+ actions: c,
77
+ ariaLabel: n = "Main",
78
+ menuLabel: a = "Menu",
79
+ closeLabel: p = "Close menu",
80
+ maxWidth: m = "lg"
81
+ }) {
82
+ const l = ee(), i = Le(l.breakpoints.up("md"), { noSsr: !0 }), [u, f] = I(!1), x = () => f(!1);
83
+ return /* @__PURE__ */ d(
84
+ ze,
85
+ {
86
+ component: "header",
87
+ position: "sticky",
88
+ color: "inherit",
89
+ elevation: 0,
90
+ sx: {
91
+ bgcolor: "background.default",
92
+ color: "text.primary",
93
+ borderBottom: 1,
94
+ borderColor: "divider"
95
+ },
96
+ children: [
97
+ /* @__PURE__ */ e(P, { maxWidth: m, children: /* @__PURE__ */ d(
98
+ He,
99
+ {
100
+ disableGutters: !0,
101
+ sx: {
102
+ justifyContent: "space-between",
103
+ gap: 3,
104
+ minHeight: { xs: 64, md: 72 }
105
+ },
106
+ children: [
107
+ /* @__PURE__ */ e(
108
+ C,
109
+ {
110
+ href: r,
111
+ underline: "none",
112
+ color: "text.primary",
113
+ sx: { fontWeight: 600, letterSpacing: "-0.03em", fontSize: "1.125rem" },
114
+ children: t
115
+ }
116
+ ),
117
+ i ? /* @__PURE__ */ d(g, { direction: "row", alignItems: "center", spacing: 4, children: [
118
+ /* @__PURE__ */ e(s, { component: "nav", "aria-label": n, children: /* @__PURE__ */ e(
119
+ g,
120
+ {
121
+ component: "ul",
122
+ direction: "row",
123
+ spacing: 4,
124
+ sx: { listStyle: "none", m: 0, p: 0 },
125
+ children: o.map((b) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(V, { link: b }) }, b.href))
126
+ }
127
+ ) }),
128
+ c
129
+ ] }) : /* @__PURE__ */ d(g, { direction: "row", alignItems: "center", spacing: 1, children: [
130
+ c,
131
+ /* @__PURE__ */ e(
132
+ w,
133
+ {
134
+ edge: "end",
135
+ color: "inherit",
136
+ "aria-label": a,
137
+ "aria-expanded": u,
138
+ onClick: () => f(!0),
139
+ children: /* @__PURE__ */ e(Ge, {})
140
+ }
141
+ )
142
+ ] })
143
+ ]
144
+ }
145
+ ) }),
146
+ !i && /* @__PURE__ */ e(Z, { anchor: "right", open: u, onClose: x, children: /* @__PURE__ */ d(s, { sx: { width: 280, p: 3 }, children: [
147
+ /* @__PURE__ */ e(g, { alignItems: "flex-end", sx: { mb: 3 }, children: /* @__PURE__ */ e(z, { variant: "text", color: "secondary", onClick: x, children: p }) }),
148
+ /* @__PURE__ */ e(s, { component: "nav", "aria-label": n, children: /* @__PURE__ */ e(
149
+ g,
150
+ {
151
+ component: "ul",
152
+ spacing: 3,
153
+ sx: { listStyle: "none", m: 0, p: 0, fontSize: "1.25rem" },
154
+ children: o.map((b) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(V, { link: b, onClick: x }) }, b.href))
155
+ }
156
+ ) })
157
+ ] }) })
158
+ ]
159
+ }
160
+ );
161
+ }
162
+ const Ve = [
163
+ { value: "en", label: "EN" },
164
+ { value: "es", label: "ES" }
165
+ ];
166
+ function Vt({
167
+ value: t,
168
+ onChange: r,
169
+ options: o = Ve,
170
+ ariaLabel: c = "Language"
171
+ }) {
172
+ return /* @__PURE__ */ e(
173
+ Re,
174
+ {
175
+ exclusive: !0,
176
+ size: "small",
177
+ value: t,
178
+ "aria-label": c,
179
+ onChange: (n, a) => {
180
+ a !== null && r(a);
181
+ },
182
+ children: o.map((n) => /* @__PURE__ */ e(Oe, { value: n.value, children: n.label }, n.value))
183
+ }
184
+ );
185
+ }
186
+ function Nt({ value: t, label: r, description: o }) {
187
+ return /* @__PURE__ */ e(B, { children: /* @__PURE__ */ d(k, { children: [
188
+ /* @__PURE__ */ e(h, { variant: "h3", component: "p", children: t }),
189
+ /* @__PURE__ */ e(h, { variant: "body1", sx: { mt: 1 }, children: r }),
190
+ o && /* @__PURE__ */ e(h, { variant: "body2", color: "text.secondary", sx: { mt: 1 }, children: o })
191
+ ] }) });
192
+ }
193
+ function te(t, r) {
194
+ return t[r.key];
195
+ }
196
+ function N(t, r) {
197
+ if (r.sortValue) return r.sortValue(t);
198
+ const o = te(t, r);
199
+ return typeof o == "number" ? o : String(o ?? "");
200
+ }
201
+ function Ne(t, r) {
202
+ return typeof t == "number" && typeof r == "number" ? t - r : String(t).localeCompare(String(r), void 0, { numeric: !0 });
203
+ }
204
+ function _t({
205
+ columns: t,
206
+ rows: r,
207
+ getRowKey: o,
208
+ caption: c,
209
+ emptyMessage: n = "No data"
210
+ }) {
211
+ const [a, p] = I(
212
+ null
213
+ ), m = oe(() => {
214
+ if (!a) return r;
215
+ const i = t.find((f) => f.key === a.key);
216
+ if (!i) return r;
217
+ const u = a.direction === "asc" ? 1 : -1;
218
+ return [...r].sort(
219
+ (f, x) => u * Ne(N(f, i), N(x, i))
220
+ );
221
+ }, [r, t, a]), l = (i) => {
222
+ p(
223
+ (u) => u?.key === i && u.direction === "asc" ? { key: i, direction: "desc" } : { key: i, direction: "asc" }
224
+ );
225
+ };
226
+ return /* @__PURE__ */ e(Se, { tabIndex: 0, sx: { overflowX: "auto" }, children: /* @__PURE__ */ d(ye, { children: [
227
+ c && /* @__PURE__ */ e(
228
+ h,
229
+ {
230
+ component: "caption",
231
+ variant: "body2",
232
+ color: "text.secondary",
233
+ sx: { captionSide: "top", textAlign: "left", pb: 2 },
234
+ children: c
235
+ }
236
+ ),
237
+ /* @__PURE__ */ e(we, { children: /* @__PURE__ */ e(T, { children: t.map((i) => {
238
+ const u = a?.key === i.key ? a.direction : void 0;
239
+ return /* @__PURE__ */ e(
240
+ M,
241
+ {
242
+ align: i.align,
243
+ sortDirection: u ?? !1,
244
+ children: i.sortable ? /* @__PURE__ */ e(
245
+ Be,
246
+ {
247
+ active: u !== void 0,
248
+ direction: u ?? "asc",
249
+ onClick: () => l(i.key),
250
+ children: i.header
251
+ }
252
+ ) : i.header
253
+ },
254
+ i.key
255
+ );
256
+ }) }) }),
257
+ /* @__PURE__ */ e(Ce, { children: m.length === 0 ? /* @__PURE__ */ e(T, { children: /* @__PURE__ */ e(M, { colSpan: t.length, align: "center", children: n }) }) : m.map((i) => /* @__PURE__ */ e(T, { children: t.map((u, f) => /* @__PURE__ */ e(
258
+ M,
259
+ {
260
+ align: u.align,
261
+ component: f === 0 ? "th" : "td",
262
+ scope: f === 0 ? "row" : void 0,
263
+ children: u.render ? u.render(i) : String(te(i, u) ?? "")
264
+ },
265
+ u.key
266
+ )) }, o(i))) })
267
+ ] }) });
268
+ }
269
+ function Ut({
270
+ data: t,
271
+ title: r,
272
+ max: o,
273
+ formatValue: c = String
274
+ }) {
275
+ const n = o ?? Math.max(0, ...t.map((a) => a.value));
276
+ return /* @__PURE__ */ d(s, { component: "figure", sx: { m: 0 }, children: [
277
+ r && /* @__PURE__ */ e(
278
+ h,
279
+ {
280
+ component: "figcaption",
281
+ variant: "overline",
282
+ color: "text.secondary",
283
+ sx: { display: "block", mb: 2 },
284
+ children: r
285
+ }
286
+ ),
287
+ /* @__PURE__ */ e(g, { component: "ul", spacing: 1.5, sx: { listStyle: "none", m: 0, p: 0 }, children: t.map((a) => {
288
+ const p = n > 0 ? Math.min(100, Math.max(0, a.value / n * 100)) : 0, m = c(a.value);
289
+ return /* @__PURE__ */ d(
290
+ s,
291
+ {
292
+ component: "li",
293
+ sx: {
294
+ display: "grid",
295
+ gridTemplateColumns: "minmax(80px, 160px) 1fr auto",
296
+ alignItems: "center",
297
+ columnGap: 2
298
+ },
299
+ children: [
300
+ /* @__PURE__ */ e(h, { variant: "body2", "aria-hidden": "true", children: a.label }),
301
+ /* @__PURE__ */ e(
302
+ s,
303
+ {
304
+ role: "meter",
305
+ "aria-label": a.label,
306
+ "aria-valuemin": 0,
307
+ "aria-valuemax": n,
308
+ "aria-valuenow": a.value,
309
+ "aria-valuetext": m,
310
+ sx: {
311
+ height: 12,
312
+ borderRadius: 1,
313
+ bgcolor: "divider",
314
+ overflow: "hidden"
315
+ },
316
+ children: /* @__PURE__ */ e(
317
+ s,
318
+ {
319
+ style: { width: `${p}%` },
320
+ sx: { height: "100%", bgcolor: "primary.main" }
321
+ }
322
+ )
323
+ }
324
+ ),
325
+ /* @__PURE__ */ e(
326
+ h,
327
+ {
328
+ variant: "body2",
329
+ "aria-hidden": "true",
330
+ sx: { minWidth: 40, textAlign: "right", fontWeight: 600 },
331
+ children: m
332
+ }
333
+ )
334
+ ]
335
+ },
336
+ a.label
337
+ );
338
+ }) })
339
+ ] });
340
+ }
341
+ function y({ icon: t, label: r, size: o = 18, ...c }) {
342
+ return r ? /* @__PURE__ */ e(t, { size: o, role: "img", "aria-label": r, ...c }) : /* @__PURE__ */ e(t, { size: o, "aria-hidden": "true", focusable: "false", ...c });
343
+ }
344
+ const Xt = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
345
+ __proto__: null,
346
+ ArrowRight: ne,
347
+ Check: Y,
348
+ ChevronDown: ae,
349
+ ChevronLeft: q,
350
+ ChevronRight: Q,
351
+ Clock: le,
352
+ Copy: J,
353
+ Database: ce,
354
+ ExternalLink: $,
355
+ Globe: de,
356
+ Info: se,
357
+ LayoutGrid: pe,
358
+ MapPin: ue,
359
+ Menu: he,
360
+ Music: K,
361
+ Network: me,
362
+ Play: H,
363
+ Search: fe,
364
+ Share2: ge,
365
+ ShieldCheck: be,
366
+ Sparkles: xe,
367
+ TrendingUp: ve,
368
+ Users: Fe,
369
+ X: L
370
+ }, Symbol.toStringTag, { value: "Module" }));
371
+ function _e({ color: t, dot: r = !1, ...o }) {
372
+ return /* @__PURE__ */ e(
373
+ U,
374
+ {
375
+ size: "small",
376
+ ...o,
377
+ icon: r ? /* @__PURE__ */ e(
378
+ s,
379
+ {
380
+ component: "span",
381
+ "aria-hidden": "true",
382
+ sx: { width: 8, height: 8, borderRadius: "50%", bgcolor: t.fg }
383
+ }
384
+ ) : void 0,
385
+ sx: {
386
+ bgcolor: t.bg,
387
+ color: t.fg,
388
+ "&.MuiChip-clickable:hover": { bgcolor: t.bg, filter: "brightness(0.95)" },
389
+ "& .MuiChip-icon": { color: t.fg, ml: 1, mr: -0.25 }
390
+ }
391
+ }
392
+ );
393
+ }
394
+ function j(t) {
395
+ return /* @__PURE__ */ e(
396
+ s,
397
+ {
398
+ component: "span",
399
+ sx: {
400
+ border: 0,
401
+ clip: "rect(0 0 0 0)",
402
+ height: "1px",
403
+ margin: "-1px",
404
+ overflow: "hidden",
405
+ padding: 0,
406
+ position: "absolute",
407
+ whiteSpace: "nowrap",
408
+ width: "1px"
409
+ },
410
+ ...t
411
+ }
412
+ );
413
+ }
414
+ function Yt({
415
+ title: t,
416
+ description: r,
417
+ lines: o = [],
418
+ links: c = [],
419
+ linksLabel: n = "Footer links",
420
+ action: a,
421
+ legal: p,
422
+ externalLabel: m = "(opens in a new tab)"
423
+ }) {
424
+ const { glow: l } = ee().vietri.color;
425
+ return /* @__PURE__ */ d(
426
+ s,
427
+ {
428
+ component: "footer",
429
+ sx: (i) => ({
430
+ position: "relative",
431
+ overflow: "hidden",
432
+ py: 6,
433
+ color: i.vietri.color.onSurface,
434
+ background: i.vietri.gradient.surface,
435
+ // The default focus ring is not visible on dark backgrounds.
436
+ "& a:focus-visible, & button:focus-visible": {
437
+ outline: "2px solid",
438
+ outlineColor: i.vietri.color.onSurface,
439
+ outlineOffset: 3
440
+ }
441
+ }),
442
+ children: [
443
+ l && /* @__PURE__ */ d(W, { children: [
444
+ /* @__PURE__ */ e(
445
+ s,
446
+ {
447
+ "aria-hidden": "true",
448
+ sx: {
449
+ position: "absolute",
450
+ top: -96,
451
+ right: -96,
452
+ width: 384,
453
+ height: 384,
454
+ borderRadius: "50%",
455
+ bgcolor: O(l[0], 0.22),
456
+ filter: "blur(64px)",
457
+ pointerEvents: "none"
458
+ }
459
+ }
460
+ ),
461
+ /* @__PURE__ */ e(
462
+ s,
463
+ {
464
+ "aria-hidden": "true",
465
+ sx: {
466
+ position: "absolute",
467
+ bottom: -96,
468
+ left: -96,
469
+ width: 384,
470
+ height: 384,
471
+ borderRadius: "50%",
472
+ bgcolor: O(l[1], 0.22),
473
+ filter: "blur(64px)",
474
+ pointerEvents: "none"
475
+ }
476
+ }
477
+ )
478
+ ] }),
479
+ /* @__PURE__ */ d(P, { maxWidth: "lg", sx: { position: "relative", zIndex: 1 }, children: [
480
+ /* @__PURE__ */ d(
481
+ g,
482
+ {
483
+ direction: { xs: "column", sm: "row" },
484
+ justifyContent: "space-between",
485
+ alignItems: { xs: "flex-start", sm: "center" },
486
+ spacing: 4,
487
+ children: [
488
+ /* @__PURE__ */ d(g, { spacing: 1, children: [
489
+ /* @__PURE__ */ e(h, { component: "p", variant: "h6", children: t }),
490
+ r && /* @__PURE__ */ e(
491
+ h,
492
+ {
493
+ variant: "body2",
494
+ sx: (i) => ({
495
+ maxWidth: 560,
496
+ color: i.vietri.color.onSurfaceSoft
497
+ }),
498
+ children: r
499
+ }
500
+ ),
501
+ o.map((i) => /* @__PURE__ */ e(
502
+ h,
503
+ {
504
+ variant: "body2",
505
+ sx: (u) => ({ color: u.vietri.color.onSurfaceSoft }),
506
+ children: i
507
+ },
508
+ i
509
+ ))
510
+ ] }),
511
+ /* @__PURE__ */ d(g, { spacing: 2, alignItems: { xs: "flex-start", sm: "flex-end" }, children: [
512
+ c.length > 0 && /* @__PURE__ */ e(s, { component: "nav", "aria-label": n, children: /* @__PURE__ */ e(
513
+ g,
514
+ {
515
+ component: "ul",
516
+ direction: "row",
517
+ spacing: 3,
518
+ useFlexGap: !0,
519
+ flexWrap: "wrap",
520
+ sx: { listStyle: "none", m: 0, p: 0 },
521
+ children: c.map((i) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ d(
522
+ C,
523
+ {
524
+ href: i.href,
525
+ color: "inherit",
526
+ underline: "always",
527
+ target: i.external ? "_blank" : void 0,
528
+ rel: i.external ? "noopener noreferrer" : void 0,
529
+ sx: { display: "inline-flex", alignItems: "center", gap: 0.5 },
530
+ children: [
531
+ i.label,
532
+ i.external && /* @__PURE__ */ d(W, { children: [
533
+ /* @__PURE__ */ e(y, { icon: $, size: 14 }),
534
+ /* @__PURE__ */ e(j, { children: m })
535
+ ] })
536
+ ]
537
+ }
538
+ ) }, i.href))
539
+ }
540
+ ) }),
541
+ a
542
+ ] })
543
+ ]
544
+ }
545
+ ),
546
+ p && /* @__PURE__ */ d(W, { children: [
547
+ /* @__PURE__ */ e(
548
+ We,
549
+ {
550
+ sx: (i) => ({
551
+ my: 3,
552
+ borderColor: O(i.vietri.color.onSurface, 0.25)
553
+ })
554
+ }
555
+ ),
556
+ /* @__PURE__ */ e(
557
+ h,
558
+ {
559
+ variant: "body2",
560
+ sx: (i) => ({ color: i.vietri.color.onSurfaceSoft }),
561
+ children: p
562
+ }
563
+ )
564
+ ] })
565
+ ] })
566
+ ]
567
+ }
568
+ );
569
+ }
570
+ function qt({
571
+ title: t,
572
+ eyebrow: r,
573
+ description: o,
574
+ level: c = 2,
575
+ align: n = "left"
576
+ }) {
577
+ const a = `h${c}`;
578
+ return /* @__PURE__ */ d(g, { spacing: 1, sx: { textAlign: n, alignItems: n === "center" ? "center" : "flex-start" }, children: [
579
+ r && /* @__PURE__ */ e(
580
+ h,
581
+ {
582
+ component: "p",
583
+ variant: "overline",
584
+ color: "primary.main",
585
+ sx: { display: "inline-flex", alignItems: "center", gap: 0.75, lineHeight: 1.5 },
586
+ children: r
587
+ }
588
+ ),
589
+ /* @__PURE__ */ e(h, { component: a, variant: "h3", children: t }),
590
+ o && /* @__PURE__ */ e(h, { variant: "body1", color: "text.secondary", sx: { maxWidth: 680 }, children: o })
591
+ ] });
592
+ }
593
+ function Qt({
594
+ label: t,
595
+ value: r,
596
+ onChange: o,
597
+ options: c,
598
+ helperText: n,
599
+ disabled: a,
600
+ fullWidth: p,
601
+ size: m,
602
+ id: l
603
+ }) {
604
+ const i = new Map(c.map((u) => [u.value, u]));
605
+ return /* @__PURE__ */ e(
606
+ Te,
607
+ {
608
+ select: !0,
609
+ id: l,
610
+ label: t,
611
+ value: r,
612
+ onChange: (u) => o(u.target.value),
613
+ helperText: n,
614
+ disabled: a,
615
+ fullWidth: p,
616
+ size: m,
617
+ slotProps: {
618
+ select: {
619
+ renderValue: (u) => {
620
+ const f = i.get(String(u));
621
+ return f ? /* @__PURE__ */ d(s, { component: "span", sx: { display: "inline-flex", alignItems: "center", gap: 1 }, children: [
622
+ f.adornment,
623
+ f.label
624
+ ] }) : "";
625
+ }
626
+ }
627
+ },
628
+ children: c.map((u) => /* @__PURE__ */ d(Pe, { value: u.value, sx: { gap: 1 }, children: [
629
+ u.adornment,
630
+ u.label,
631
+ u.count !== void 0 && /* @__PURE__ */ e(h, { component: "span", variant: "caption", color: "text.secondary", sx: { ml: "auto", pl: 2 }, children: u.count })
632
+ ] }, u.value))
633
+ }
634
+ );
635
+ }
636
+ function Jt({
637
+ open: t,
638
+ onClose: r,
639
+ title: o,
640
+ description: c,
641
+ children: n,
642
+ actions: a,
643
+ closeLabel: p = "Close",
644
+ maxWidth: m = "sm"
645
+ }) {
646
+ const l = D(), i = D();
647
+ return /* @__PURE__ */ d(
648
+ Ie,
649
+ {
650
+ open: t,
651
+ onClose: r,
652
+ fullWidth: !0,
653
+ maxWidth: m,
654
+ "aria-labelledby": l,
655
+ "aria-describedby": c ? i : void 0,
656
+ children: [
657
+ /* @__PURE__ */ e(Ae, { id: l, sx: { pr: 7 }, children: o }),
658
+ /* @__PURE__ */ e(
659
+ w,
660
+ {
661
+ "aria-label": p,
662
+ onClick: r,
663
+ sx: { position: "absolute", top: 8, right: 8 },
664
+ children: /* @__PURE__ */ e(y, { icon: L })
665
+ }
666
+ ),
667
+ /* @__PURE__ */ d(De, { children: [
668
+ c && /* @__PURE__ */ e(Ee, { id: i, sx: { mb: n ? 2 : 0 }, children: c }),
669
+ n
670
+ ] }),
671
+ a && /* @__PURE__ */ e(ke, { sx: { px: 3, pb: 2 }, children: a })
672
+ ]
673
+ }
674
+ );
675
+ }
676
+ function Kt({
677
+ open: t,
678
+ onClose: r,
679
+ title: o,
680
+ eyebrow: c,
681
+ children: n,
682
+ footer: a,
683
+ anchor: p = "right",
684
+ width: m = 420,
685
+ closeLabel: l = "Close"
686
+ }) {
687
+ const i = D();
688
+ return /* @__PURE__ */ e(Z, { anchor: p, open: t, onClose: r, children: /* @__PURE__ */ d(
689
+ s,
690
+ {
691
+ role: "dialog",
692
+ "aria-modal": "true",
693
+ "aria-labelledby": i,
694
+ sx: {
695
+ width: { xs: "100vw", sm: m },
696
+ maxWidth: "100vw",
697
+ height: "100%",
698
+ display: "flex",
699
+ flexDirection: "column"
700
+ },
701
+ children: [
702
+ /* @__PURE__ */ d(
703
+ g,
704
+ {
705
+ direction: "row",
706
+ justifyContent: "space-between",
707
+ alignItems: "center",
708
+ sx: { p: 3, pb: 1 },
709
+ children: [
710
+ /* @__PURE__ */ e(h, { component: "p", variant: "overline", color: "primary.main", children: c }),
711
+ /* @__PURE__ */ e(w, { "aria-label": l, onClick: r, edge: "end", children: /* @__PURE__ */ e(y, { icon: L }) })
712
+ ]
713
+ }
714
+ ),
715
+ /* @__PURE__ */ d(s, { sx: { px: 3, pb: 2, flex: 1, overflowY: "auto" }, tabIndex: 0, children: [
716
+ /* @__PURE__ */ e(h, { id: i, component: "h2", variant: "h4", sx: { mb: 2 }, children: o }),
717
+ n
718
+ ] }),
719
+ a && /* @__PURE__ */ e(s, { sx: { p: 3, borderTop: 1, borderColor: "divider" }, children: a })
720
+ ]
721
+ }
722
+ ) });
723
+ }
724
+ function Zt({
725
+ label: t,
726
+ value: r,
727
+ copyLabel: o = "Copy",
728
+ copiedLabel: c = "Copied!",
729
+ errorLabel: n = "Could not copy",
730
+ copiedDuration: a = 2e3
731
+ }) {
732
+ const [p, m] = I("idle"), l = E(void 0);
733
+ X(() => () => clearTimeout(l.current), []);
734
+ async function i() {
735
+ try {
736
+ await navigator.clipboard.writeText(r), m("copied");
737
+ } catch {
738
+ m("error");
739
+ }
740
+ clearTimeout(l.current), l.current = setTimeout(() => m("idle"), a);
741
+ }
742
+ return /* @__PURE__ */ d(g, { spacing: 1.5, children: [
743
+ /* @__PURE__ */ e(h, { component: "p", variant: "overline", color: "text.secondary", children: t }),
744
+ /* @__PURE__ */ e(
745
+ s,
746
+ {
747
+ role: "region",
748
+ "aria-label": t,
749
+ tabIndex: 0,
750
+ sx: {
751
+ overflowX: "auto",
752
+ p: 1.5,
753
+ borderRadius: 1,
754
+ border: 1,
755
+ borderColor: "divider",
756
+ bgcolor: "background.default",
757
+ fontFamily: "ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",
758
+ fontSize: "0.8125rem",
759
+ whiteSpace: "pre"
760
+ },
761
+ children: /* @__PURE__ */ e("code", { children: r })
762
+ }
763
+ ),
764
+ /* @__PURE__ */ e(
765
+ z,
766
+ {
767
+ onClick: i,
768
+ startIcon: /* @__PURE__ */ e(y, { icon: p === "copied" ? Y : J }),
769
+ fullWidth: !0,
770
+ children: p === "copied" ? c : o
771
+ }
772
+ ),
773
+ /* @__PURE__ */ e(j, { role: "status", "aria-live": "polite", children: p === "copied" ? c : p === "error" ? n : "" })
774
+ ] });
775
+ }
776
+ function er({ href: t, children: r = "Skip to content" }) {
777
+ return /* @__PURE__ */ e(
778
+ C,
779
+ {
780
+ href: t,
781
+ sx: (o) => ({
782
+ position: "fixed",
783
+ top: o.spacing(1),
784
+ left: o.spacing(1),
785
+ zIndex: o.zIndex.tooltip + 1,
786
+ px: 2,
787
+ py: 1,
788
+ borderRadius: 1,
789
+ bgcolor: "background.paper",
790
+ color: "text.primary",
791
+ fontWeight: 600,
792
+ textDecoration: "none",
793
+ border: `2px solid ${o.palette.primary.main}`,
794
+ transform: "translateY(-300%)",
795
+ "&:focus": { transform: "translateY(0)" }
796
+ }),
797
+ children: r
798
+ }
799
+ );
800
+ }
801
+ function tr({
802
+ title: t,
803
+ eyebrow: r,
804
+ description: o,
805
+ actions: c,
806
+ level: n = 1,
807
+ align: a = "left"
808
+ }) {
809
+ const p = `h${n}`, m = a === "center";
810
+ return /* @__PURE__ */ e(
811
+ s,
812
+ {
813
+ component: "section",
814
+ sx: (l) => ({
815
+ py: { xs: 6, md: 10 },
816
+ color: l.vietri.color.onSurface,
817
+ background: l.vietri.gradient.surface,
818
+ // Focus ring and secondary buttons that stay visible on a dark surface.
819
+ "& a:focus-visible, & button:focus-visible": {
820
+ outline: "2px solid",
821
+ outlineColor: l.vietri.color.onSurface,
822
+ outlineOffset: 3
823
+ },
824
+ "& .MuiButton-outlined, & .MuiButton-text": {
825
+ color: "inherit",
826
+ borderColor: "currentColor"
827
+ }
828
+ }),
829
+ children: /* @__PURE__ */ e(P, { maxWidth: "lg", children: /* @__PURE__ */ d(
830
+ g,
831
+ {
832
+ spacing: 2,
833
+ sx: { alignItems: m ? "center" : "flex-start", textAlign: a },
834
+ children: [
835
+ r && /* @__PURE__ */ e(
836
+ h,
837
+ {
838
+ component: "p",
839
+ variant: "overline",
840
+ sx: (l) => ({ color: l.vietri.color.onSurfaceSoft }),
841
+ children: r
842
+ }
843
+ ),
844
+ /* @__PURE__ */ e(h, { component: p, variant: "h2", sx: { maxWidth: 900 }, children: t }),
845
+ o && /* @__PURE__ */ e(
846
+ h,
847
+ {
848
+ variant: "body1",
849
+ sx: (l) => ({
850
+ maxWidth: 680,
851
+ color: l.vietri.color.onSurfaceSoft
852
+ }),
853
+ children: o
854
+ }
855
+ ),
856
+ c && /* @__PURE__ */ e(
857
+ g,
858
+ {
859
+ direction: "row",
860
+ spacing: 2,
861
+ useFlexGap: !0,
862
+ flexWrap: "wrap",
863
+ sx: { pt: 2, justifyContent: m ? "center" : "flex-start" },
864
+ children: c
865
+ }
866
+ )
867
+ ]
868
+ }
869
+ ) })
870
+ }
871
+ );
872
+ }
873
+ function rr({
874
+ icon: t,
875
+ title: r,
876
+ description: o,
877
+ level: c = 3,
878
+ children: n
879
+ }) {
880
+ const a = `h${c}`;
881
+ return /* @__PURE__ */ e(B, { sx: { height: "100%" }, children: /* @__PURE__ */ d(k, { children: [
882
+ /* @__PURE__ */ e(
883
+ s,
884
+ {
885
+ sx: (p) => ({
886
+ display: "grid",
887
+ placeItems: "center",
888
+ width: 44,
889
+ height: 44,
890
+ mb: 2,
891
+ borderRadius: 2,
892
+ bgcolor: p.vietri.color.chip,
893
+ color: p.palette.primary.main
894
+ }),
895
+ children: /* @__PURE__ */ e(y, { icon: t, size: 22 })
896
+ }
897
+ ),
898
+ /* @__PURE__ */ e(h, { component: a, variant: "h6", gutterBottom: !0, children: r }),
899
+ o && /* @__PURE__ */ e(h, { variant: "body2", color: "text.secondary", children: o }),
900
+ n && /* @__PURE__ */ e(s, { sx: { mt: 2 }, children: n })
901
+ ] }) });
902
+ }
903
+ function or({ steps: t, level: r = 3, ariaLabel: o }) {
904
+ const c = `h${r}`;
905
+ return /* @__PURE__ */ e(
906
+ s,
907
+ {
908
+ component: "ol",
909
+ role: "list",
910
+ "aria-label": o,
911
+ sx: {
912
+ listStyle: "none",
913
+ m: 0,
914
+ p: 0,
915
+ display: "grid",
916
+ gap: 3,
917
+ gridTemplateColumns: {
918
+ xs: "1fr",
919
+ md: `repeat(${Math.max(t.length, 1)}, minmax(0, 1fr))`
920
+ }
921
+ },
922
+ children: t.map((n, a) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ d(g, { spacing: 1, children: [
923
+ /* @__PURE__ */ e(
924
+ s,
925
+ {
926
+ "aria-hidden": "true",
927
+ sx: (p) => ({
928
+ display: "grid",
929
+ placeItems: "center",
930
+ width: 36,
931
+ height: 36,
932
+ borderRadius: "50%",
933
+ fontWeight: 600,
934
+ bgcolor: p.palette.primary.main,
935
+ color: p.palette.primary.contrastText
936
+ }),
937
+ children: a + 1
938
+ }
939
+ ),
940
+ /* @__PURE__ */ e(h, { component: c, variant: "h6", children: n.title }),
941
+ n.description && /* @__PURE__ */ e(h, { variant: "body2", color: "text.secondary", children: n.description })
942
+ ] }) }, n.title))
943
+ }
944
+ );
945
+ }
946
+ function ir({ entries: t, level: r = 3, ariaLabel: o }) {
947
+ const c = `h${r}`;
948
+ return /* @__PURE__ */ e(
949
+ s,
950
+ {
951
+ component: "ol",
952
+ role: "list",
953
+ "aria-label": o,
954
+ sx: { listStyle: "none", m: 0, p: 0 },
955
+ children: t.map((n) => /* @__PURE__ */ d(
956
+ s,
957
+ {
958
+ component: "li",
959
+ id: n.id,
960
+ sx: (a) => ({
961
+ position: "relative",
962
+ pl: 4,
963
+ pb: 5,
964
+ scrollMarginTop: a.spacing(10),
965
+ // Vertical line between dots.
966
+ "&::before": {
967
+ content: '""',
968
+ position: "absolute",
969
+ left: 7,
970
+ top: 14,
971
+ bottom: 0,
972
+ width: 2,
973
+ bgcolor: a.palette.divider
974
+ },
975
+ "&:last-of-type": { pb: 0 },
976
+ "&:last-of-type::before": { display: "none" }
977
+ }),
978
+ children: [
979
+ /* @__PURE__ */ e(
980
+ s,
981
+ {
982
+ "aria-hidden": "true",
983
+ sx: (a) => ({
984
+ position: "absolute",
985
+ left: 0,
986
+ top: 6,
987
+ width: 16,
988
+ height: 16,
989
+ borderRadius: "50%",
990
+ bgcolor: a.palette.primary.main,
991
+ border: `3px solid ${a.palette.background.default}`,
992
+ boxSizing: "border-box"
993
+ })
994
+ }
995
+ ),
996
+ /* @__PURE__ */ e(h, { component: c, variant: "h5", children: n.label }),
997
+ n.description && /* @__PURE__ */ e(h, { variant: "body2", color: "text.secondary", sx: { mt: 0.5 }, children: n.description }),
998
+ n.content && /* @__PURE__ */ e(s, { sx: { mt: 2 }, children: n.content })
999
+ ]
1000
+ },
1001
+ n.id
1002
+ ))
1003
+ }
1004
+ );
1005
+ }
1006
+ const _ = {
1007
+ position: "static",
1008
+ color: "inherit",
1009
+ font: "inherit",
1010
+ textAlign: "left",
1011
+ cursor: "pointer",
1012
+ "&::after": {
1013
+ content: '""',
1014
+ position: "absolute",
1015
+ inset: 0
1016
+ }
1017
+ };
1018
+ function nr({
1019
+ name: t,
1020
+ subtitle: r,
1021
+ bio: o,
1022
+ tags: c = [],
1023
+ href: n,
1024
+ onClick: a,
1025
+ level: p = 3,
1026
+ bioLines: m = 3
1027
+ }) {
1028
+ const l = `h${p}`, i = !!(n || a);
1029
+ return /* @__PURE__ */ e(
1030
+ B,
1031
+ {
1032
+ sx: (f) => ({
1033
+ position: "relative",
1034
+ height: "100%",
1035
+ ...i && { "&:hover": { borderColor: f.palette.primary.main } },
1036
+ // One focus ring for the whole card, instead of one around the name.
1037
+ "&:has(:focus-visible)": {
1038
+ outline: `2px solid ${f.palette.primary.main}`,
1039
+ outlineOffset: 2
1040
+ },
1041
+ "& a:focus-visible, & button:focus-visible": { outline: "none" }
1042
+ }),
1043
+ children: /* @__PURE__ */ d(k, { children: [
1044
+ /* @__PURE__ */ e(h, { component: l, variant: "h6", children: n ? /* @__PURE__ */ e(C, { href: n, underline: "none", sx: _, children: t }) : a ? /* @__PURE__ */ e(C, { component: "button", type: "button", onClick: a, underline: "none", sx: _, children: t }) : t }),
1045
+ r && /* @__PURE__ */ e(h, { variant: "body2", color: "text.secondary", children: r }),
1046
+ o && /* @__PURE__ */ e(
1047
+ h,
1048
+ {
1049
+ variant: "body2",
1050
+ sx: {
1051
+ mt: 1,
1052
+ display: "-webkit-box",
1053
+ WebkitLineClamp: m,
1054
+ WebkitBoxOrient: "vertical",
1055
+ overflow: "hidden"
1056
+ },
1057
+ children: o
1058
+ }
1059
+ ),
1060
+ c.length > 0 && /* @__PURE__ */ e(g, { direction: "row", spacing: 1, useFlexGap: !0, flexWrap: "wrap", sx: { mt: 2 }, children: c.map(
1061
+ (f) => f.color ? /* @__PURE__ */ e(_e, { label: f.label, color: f.color }, f.label) : /* @__PURE__ */ e(U, { label: f.label, size: "small" }, f.label)
1062
+ ) })
1063
+ ] })
1064
+ }
1065
+ );
1066
+ }
1067
+ const A = {
1068
+ position: "static",
1069
+ color: "inherit",
1070
+ font: "inherit",
1071
+ textAlign: "left",
1072
+ cursor: "pointer",
1073
+ "&::after": {
1074
+ content: '""',
1075
+ position: "absolute",
1076
+ inset: 0
1077
+ }
1078
+ }, Ue = (t) => ({
1079
+ "&:has(:focus-visible)": {
1080
+ outline: `2px solid ${t.palette.primary.main}`,
1081
+ outlineOffset: 2
1082
+ },
1083
+ "& a:focus-visible, & button:focus-visible": { outline: "none" }
1084
+ });
1085
+ function ar({
1086
+ title: t,
1087
+ subtitle: r,
1088
+ meta: o,
1089
+ imageUrl: c,
1090
+ duration: n,
1091
+ badge: a,
1092
+ href: p,
1093
+ onClick: m,
1094
+ level: l = 3,
1095
+ playIcon: i = !0
1096
+ }) {
1097
+ const u = `h${l}`, f = !!(p || m);
1098
+ return /* @__PURE__ */ d(
1099
+ B,
1100
+ {
1101
+ sx: (b) => ({
1102
+ position: "relative",
1103
+ height: "100%",
1104
+ overflow: "hidden",
1105
+ ...f && { "&:hover": { borderColor: b.palette.primary.main } },
1106
+ ...Ue(b)
1107
+ }),
1108
+ children: [
1109
+ /* @__PURE__ */ d(
1110
+ s,
1111
+ {
1112
+ sx: (b) => ({
1113
+ position: "relative",
1114
+ aspectRatio: "16 / 9",
1115
+ bgcolor: b.vietri.color.chip
1116
+ }),
1117
+ children: [
1118
+ c && /* @__PURE__ */ e(
1119
+ s,
1120
+ {
1121
+ component: "img",
1122
+ src: c,
1123
+ alt: "",
1124
+ loading: "lazy",
1125
+ sx: { display: "block", width: "100%", height: "100%", objectFit: "cover" }
1126
+ }
1127
+ ),
1128
+ i && /* @__PURE__ */ e(
1129
+ s,
1130
+ {
1131
+ "aria-hidden": "true",
1132
+ sx: {
1133
+ position: "absolute",
1134
+ top: "50%",
1135
+ left: "50%",
1136
+ transform: "translate(-50%, -50%)",
1137
+ display: "grid",
1138
+ placeItems: "center",
1139
+ width: 48,
1140
+ height: 48,
1141
+ borderRadius: "50%",
1142
+ bgcolor: "rgba(0, 0, 0, 0.8)",
1143
+ color: "#FFFFFF"
1144
+ },
1145
+ children: /* @__PURE__ */ e(y, { icon: H, size: 22 })
1146
+ }
1147
+ ),
1148
+ a && /* @__PURE__ */ e(
1149
+ s,
1150
+ {
1151
+ sx: (b) => ({
1152
+ position: "absolute",
1153
+ top: 8,
1154
+ left: 8,
1155
+ px: 1,
1156
+ py: 0.25,
1157
+ borderRadius: 1,
1158
+ fontSize: "0.75rem",
1159
+ fontWeight: 600,
1160
+ bgcolor: b.vietri.color.action[0],
1161
+ color: b.vietri.color.onAction
1162
+ }),
1163
+ children: a
1164
+ }
1165
+ ),
1166
+ n && /* @__PURE__ */ e(
1167
+ s,
1168
+ {
1169
+ sx: {
1170
+ position: "absolute",
1171
+ right: 8,
1172
+ bottom: 8,
1173
+ px: 1,
1174
+ py: 0.25,
1175
+ borderRadius: 1,
1176
+ fontSize: "0.75rem",
1177
+ fontWeight: 600,
1178
+ bgcolor: "rgba(0, 0, 0, 0.9)",
1179
+ color: "#FFFFFF"
1180
+ },
1181
+ children: n
1182
+ }
1183
+ )
1184
+ ]
1185
+ }
1186
+ ),
1187
+ /* @__PURE__ */ d(k, { children: [
1188
+ o && /* @__PURE__ */ e(h, { component: "p", variant: "overline", color: "text.secondary", children: o }),
1189
+ /* @__PURE__ */ e(h, { component: u, variant: "h6", children: p ? /* @__PURE__ */ e(C, { href: p, underline: "none", sx: A, children: t }) : m ? /* @__PURE__ */ e(C, { component: "button", type: "button", onClick: m, underline: "none", sx: A, children: t }) : t }),
1190
+ r && /* @__PURE__ */ e(h, { variant: "body2", color: "text.secondary", children: r })
1191
+ ] })
1192
+ ]
1193
+ }
1194
+ );
1195
+ }
1196
+ function lr({
1197
+ title: t,
1198
+ children: r,
1199
+ level: o = 2,
1200
+ itemWidth: c = 280,
1201
+ previousLabel: n = "Scroll left",
1202
+ nextLabel: a = "Scroll right",
1203
+ action: p
1204
+ }) {
1205
+ const m = `h${o}`, l = D(), i = E(null), u = ie.toArray(r);
1206
+ function f(x) {
1207
+ const b = i.current;
1208
+ if (!b) return;
1209
+ const re = typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
1210
+ b.scrollBy?.({
1211
+ left: x * b.clientWidth * 0.8,
1212
+ behavior: re ? "auto" : "smooth"
1213
+ });
1214
+ }
1215
+ return /* @__PURE__ */ d(s, { component: "section", "aria-labelledby": l, sx: { mb: 4 }, children: [
1216
+ /* @__PURE__ */ d(
1217
+ g,
1218
+ {
1219
+ direction: "row",
1220
+ justifyContent: "space-between",
1221
+ alignItems: "center",
1222
+ sx: { mb: 2 },
1223
+ children: [
1224
+ /* @__PURE__ */ e(h, { id: l, component: m, variant: "h5", children: t }),
1225
+ /* @__PURE__ */ d(g, { direction: "row", spacing: 1, alignItems: "center", children: [
1226
+ p,
1227
+ /* @__PURE__ */ e(w, { "aria-label": n, onClick: () => f(-1), children: /* @__PURE__ */ e(y, { icon: q }) }),
1228
+ /* @__PURE__ */ e(w, { "aria-label": a, onClick: () => f(1), children: /* @__PURE__ */ e(y, { icon: Q }) })
1229
+ ] })
1230
+ ]
1231
+ }
1232
+ ),
1233
+ /* @__PURE__ */ e(
1234
+ s,
1235
+ {
1236
+ ref: i,
1237
+ tabIndex: 0,
1238
+ sx: (x) => ({
1239
+ overflowX: "auto",
1240
+ pb: 1,
1241
+ scrollSnapType: "x proximity",
1242
+ "&:focus-visible": {
1243
+ outline: `2px solid ${x.palette.primary.main}`,
1244
+ outlineOffset: 2
1245
+ }
1246
+ }),
1247
+ children: /* @__PURE__ */ e(
1248
+ s,
1249
+ {
1250
+ component: "ul",
1251
+ role: "list",
1252
+ sx: { listStyle: "none", m: 0, p: 0, display: "flex", gap: 2 },
1253
+ children: u.map((x, b) => /* @__PURE__ */ e(
1254
+ s,
1255
+ {
1256
+ component: "li",
1257
+ sx: { flex: `0 0 ${c}px`, scrollSnapAlign: "start" },
1258
+ children: x
1259
+ },
1260
+ b
1261
+ ))
1262
+ }
1263
+ )
1264
+ }
1265
+ )
1266
+ ] });
1267
+ }
1268
+ function Xe(t, r, o) {
1269
+ const c = new URLSearchParams({ rel: "0", modestbranding: "1" });
1270
+ return r && c.set("start", String(Math.floor(r))), o && c.set("autoplay", "1"), `https://www.youtube-nocookie.com/embed/${encodeURIComponent(t)}?${c.toString()}`;
1271
+ }
1272
+ function cr({
1273
+ videoId: t,
1274
+ title: r,
1275
+ poster: o,
1276
+ start: c,
1277
+ lazy: n = !0,
1278
+ playLabel: a
1279
+ }) {
1280
+ const [p, m] = I(!n), l = E(!1), i = E(null);
1281
+ return X(() => {
1282
+ p && l.current && i.current?.focus();
1283
+ }, [p]), /* @__PURE__ */ e(
1284
+ s,
1285
+ {
1286
+ sx: {
1287
+ position: "relative",
1288
+ width: "100%",
1289
+ aspectRatio: "16 / 9",
1290
+ overflow: "hidden",
1291
+ borderRadius: 2,
1292
+ bgcolor: "#000000"
1293
+ },
1294
+ children: p ? /* @__PURE__ */ e(
1295
+ "iframe",
1296
+ {
1297
+ ref: i,
1298
+ src: Xe(t, c, l.current),
1299
+ title: r,
1300
+ allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",
1301
+ allowFullScreen: !0,
1302
+ referrerPolicy: "strict-origin-when-cross-origin",
1303
+ loading: "lazy",
1304
+ style: { position: "absolute", inset: 0, width: "100%", height: "100%", border: 0 }
1305
+ }
1306
+ ) : /* @__PURE__ */ d(
1307
+ je,
1308
+ {
1309
+ "aria-label": a ?? `Play video: ${r}`,
1310
+ onClick: () => {
1311
+ l.current = !0, m(!0);
1312
+ },
1313
+ sx: {
1314
+ position: "absolute",
1315
+ inset: 0,
1316
+ width: "100%",
1317
+ height: "100%",
1318
+ "&:focus-visible": {
1319
+ outline: "3px solid #FFFFFF",
1320
+ outlineOffset: -6
1321
+ }
1322
+ },
1323
+ children: [
1324
+ o && /* @__PURE__ */ e(
1325
+ s,
1326
+ {
1327
+ component: "img",
1328
+ src: o,
1329
+ alt: "",
1330
+ loading: "lazy",
1331
+ sx: { position: "absolute", inset: 0, width: "100%", height: "100%", objectFit: "cover" }
1332
+ }
1333
+ ),
1334
+ /* @__PURE__ */ e(
1335
+ s,
1336
+ {
1337
+ "aria-hidden": "true",
1338
+ sx: {
1339
+ position: "relative",
1340
+ display: "grid",
1341
+ placeItems: "center",
1342
+ width: 72,
1343
+ height: 72,
1344
+ borderRadius: "50%",
1345
+ bgcolor: "rgba(0, 0, 0, 0.8)",
1346
+ color: "#FFFFFF"
1347
+ },
1348
+ children: /* @__PURE__ */ e(y, { icon: H, size: 32 })
1349
+ }
1350
+ )
1351
+ ]
1352
+ }
1353
+ )
1354
+ }
1355
+ );
1356
+ }
1357
+ const Ye = (t) => ({
1358
+ "&:has(:focus-visible)": {
1359
+ outline: `2px solid ${t.palette.primary.main}`,
1360
+ outlineOffset: -2
1361
+ },
1362
+ "& a:focus-visible, & button:focus-visible": { outline: "none" }
1363
+ });
1364
+ function dr({
1365
+ episodes: t,
1366
+ currentId: r,
1367
+ onSelect: o,
1368
+ level: c = 3,
1369
+ ariaLabel: n,
1370
+ episodeLabel: a = (m) => `Episode ${m}`,
1371
+ currentLabel: p = "Now playing"
1372
+ }) {
1373
+ const m = `h${c}`;
1374
+ return /* @__PURE__ */ e(
1375
+ s,
1376
+ {
1377
+ component: "ol",
1378
+ role: "list",
1379
+ "aria-label": n,
1380
+ sx: { listStyle: "none", m: 0, p: 0 },
1381
+ children: t.map((l) => {
1382
+ const i = l.id === r, u = !!(o || l.href), f = o ? /* @__PURE__ */ e(
1383
+ C,
1384
+ {
1385
+ component: "button",
1386
+ type: "button",
1387
+ onClick: () => o(l.id),
1388
+ "aria-current": i ? "true" : void 0,
1389
+ underline: "none",
1390
+ sx: A,
1391
+ children: l.title
1392
+ }
1393
+ ) : l.href ? /* @__PURE__ */ e(
1394
+ C,
1395
+ {
1396
+ href: l.href,
1397
+ "aria-current": i ? "true" : void 0,
1398
+ underline: "none",
1399
+ sx: A,
1400
+ children: l.title
1401
+ }
1402
+ ) : l.title;
1403
+ return /* @__PURE__ */ d(
1404
+ s,
1405
+ {
1406
+ component: "li",
1407
+ sx: (x) => ({
1408
+ position: "relative",
1409
+ display: "flex",
1410
+ gap: 2,
1411
+ p: 2,
1412
+ borderBottom: 1,
1413
+ borderColor: "divider",
1414
+ borderLeft: 4,
1415
+ borderLeftColor: i ? x.palette.primary.main : "transparent",
1416
+ ...u && { "&:hover": { bgcolor: x.palette.action.hover } },
1417
+ ...Ye(x)
1418
+ }),
1419
+ children: [
1420
+ l.imageUrl && /* @__PURE__ */ e(
1421
+ s,
1422
+ {
1423
+ component: "img",
1424
+ src: l.imageUrl,
1425
+ alt: "",
1426
+ loading: "lazy",
1427
+ sx: {
1428
+ flex: "0 0 auto",
1429
+ width: { xs: 112, sm: 160 },
1430
+ aspectRatio: "16 / 9",
1431
+ objectFit: "cover",
1432
+ borderRadius: 1
1433
+ }
1434
+ }
1435
+ ),
1436
+ /* @__PURE__ */ d(s, { sx: { minWidth: 0 }, children: [
1437
+ /* @__PURE__ */ d(h, { component: "p", variant: "overline", color: "text.secondary", children: [
1438
+ a(l.number),
1439
+ i && ` · ${p}`
1440
+ ] }),
1441
+ /* @__PURE__ */ e(h, { component: m, variant: "h6", children: f }),
1442
+ l.meta && /* @__PURE__ */ e(h, { variant: "body2", color: "text.secondary", children: l.meta }),
1443
+ l.description && /* @__PURE__ */ e(
1444
+ h,
1445
+ {
1446
+ variant: "body2",
1447
+ sx: {
1448
+ mt: 0.5,
1449
+ display: "-webkit-box",
1450
+ WebkitLineClamp: 2,
1451
+ WebkitBoxOrient: "vertical",
1452
+ overflow: "hidden"
1453
+ },
1454
+ children: l.description
1455
+ }
1456
+ )
1457
+ ] })
1458
+ ]
1459
+ },
1460
+ l.id
1461
+ );
1462
+ })
1463
+ }
1464
+ );
1465
+ }
1466
+ function sr({
1467
+ title: t,
1468
+ description: r,
1469
+ imageUrl: o,
1470
+ platforms: c,
1471
+ level: n = 3,
1472
+ platformsLabel: a = "Listen on",
1473
+ externalLabel: p = "(opens in a new tab)"
1474
+ }) {
1475
+ const m = `h${n}`;
1476
+ return /* @__PURE__ */ d(B, { sx: { height: "100%" }, children: [
1477
+ /* @__PURE__ */ e(
1478
+ s,
1479
+ {
1480
+ sx: (l) => ({
1481
+ aspectRatio: "1 / 1",
1482
+ display: "grid",
1483
+ placeItems: "center",
1484
+ bgcolor: l.vietri.color.chip,
1485
+ color: l.palette.text.secondary
1486
+ }),
1487
+ children: o ? /* @__PURE__ */ e(
1488
+ s,
1489
+ {
1490
+ component: "img",
1491
+ src: o,
1492
+ alt: "",
1493
+ loading: "lazy",
1494
+ sx: { display: "block", width: "100%", height: "100%", objectFit: "cover" }
1495
+ }
1496
+ ) : /* @__PURE__ */ e(y, { icon: K, size: 48 })
1497
+ }
1498
+ ),
1499
+ /* @__PURE__ */ d(k, { children: [
1500
+ /* @__PURE__ */ e(h, { component: m, variant: "h6", gutterBottom: !0, children: t }),
1501
+ r && /* @__PURE__ */ e(h, { variant: "body2", color: "text.secondary", children: r }),
1502
+ c.length > 0 && /* @__PURE__ */ e(
1503
+ g,
1504
+ {
1505
+ component: "ul",
1506
+ role: "list",
1507
+ "aria-label": a,
1508
+ direction: "row",
1509
+ spacing: 1,
1510
+ useFlexGap: !0,
1511
+ flexWrap: "wrap",
1512
+ sx: { listStyle: "none", m: 0, mt: 2, p: 0 },
1513
+ children: c.map((l) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ d(
1514
+ z,
1515
+ {
1516
+ variant: "outlined",
1517
+ size: "small",
1518
+ href: l.href,
1519
+ target: "_blank",
1520
+ rel: "noopener noreferrer",
1521
+ endIcon: /* @__PURE__ */ e(y, { icon: $, size: 14 }),
1522
+ children: [
1523
+ l.name,
1524
+ /* @__PURE__ */ d(j, { children: [
1525
+ " ",
1526
+ "– ",
1527
+ t,
1528
+ " ",
1529
+ p
1530
+ ] })
1531
+ ]
1532
+ }
1533
+ ) }, l.name))
1534
+ }
1535
+ )
1536
+ ] })
1537
+ ] });
1538
+ }
1539
+ function R(t, r, o = 135) {
1540
+ return `linear-gradient(${o}deg, ${t} 0%, ${r} 100%)`;
1541
+ }
1542
+ function qe(t) {
1543
+ return {
1544
+ surface: R(...t.surface),
1545
+ action: R(...t.action),
1546
+ actionHover: R(...t.actionHover)
1547
+ };
1548
+ }
1549
+ const F = {
1550
+ spacing: 8,
1551
+ radius: {
1552
+ sm: 4,
1553
+ md: 8,
1554
+ lg: 16
1555
+ },
1556
+ typography: {
1557
+ fontFamily: '"Inter", "Helvetica Neue", Arial, sans-serif',
1558
+ fontWeight: {
1559
+ regular: 400,
1560
+ medium: 500,
1561
+ semibold: 600
1562
+ }
1563
+ },
1564
+ shadow: {
1565
+ sm: "0 1px 2px rgba(0, 0, 0, 0.08)",
1566
+ md: "0 4px 12px rgba(0, 0, 0, 0.12)",
1567
+ lg: "0 12px 32px rgba(0, 0, 0, 0.16)"
1568
+ },
1569
+ breakpoints: {
1570
+ xs: 0,
1571
+ sm: 600,
1572
+ md: 900,
1573
+ lg: 1200,
1574
+ xl: 1536
1575
+ }
1576
+ }, Qe = {
1577
+ // Respects the system "reduce motion" preference (WCAG 2.3.3).
1578
+ MuiCssBaseline: {
1579
+ styleOverrides: `
1580
+ @media (prefers-reduced-motion: reduce) {
1581
+ *, *::before, *::after {
1582
+ animation-duration: 0.01ms !important;
1583
+ animation-iteration-count: 1 !important;
1584
+ transition-duration: 0.01ms !important;
1585
+ scroll-behavior: auto !important;
1586
+ }
1587
+ }
1588
+ `
1589
+ },
1590
+ MuiButton: {
1591
+ defaultProps: { disableElevation: !0 },
1592
+ styleOverrides: {
1593
+ root: ({ theme: t }) => ({
1594
+ borderRadius: F.radius.md,
1595
+ "&:focus-visible": {
1596
+ outline: `2px solid ${t.palette.primary.main}`,
1597
+ outlineOffset: 2
1598
+ }
1599
+ }),
1600
+ // Primary action fill. Flat in most themes, a soft gradient in the
1601
+ // Observatory. The text color meets AA at both ends of the fill.
1602
+ containedPrimary: ({ theme: t }) => ({
1603
+ color: t.vietri.color.onAction,
1604
+ backgroundImage: t.vietri.gradient.action,
1605
+ "&:hover": { backgroundImage: t.vietri.gradient.actionHover },
1606
+ "&.Mui-disabled": {
1607
+ backgroundImage: "none",
1608
+ color: t.palette.action.disabled
1609
+ }
1610
+ })
1611
+ }
1612
+ },
1613
+ MuiLink: {
1614
+ styleOverrides: {
1615
+ root: ({ theme: t }) => ({
1616
+ "&:focus-visible": {
1617
+ outline: `2px solid ${t.palette.primary.main}`,
1618
+ outlineOffset: 3,
1619
+ borderRadius: F.radius.sm
1620
+ }
1621
+ })
1622
+ }
1623
+ },
1624
+ MuiChip: {
1625
+ styleOverrides: {
1626
+ root: ({ ownerState: t, theme: r }) => {
1627
+ const o = t.variant === "filled" && t.color === "default";
1628
+ return {
1629
+ fontWeight: F.typography.fontWeight.semibold,
1630
+ fontSize: "0.75rem",
1631
+ // MUI's default chip is translucent, so its text is only readable on
1632
+ // the surface it was designed for. Opaque colors keep it legible on
1633
+ // any surface (a dark chip on white, a light chip on purple…).
1634
+ ...o && {
1635
+ color: r.vietri.color.onChip,
1636
+ backgroundColor: r.vietri.color.chip,
1637
+ "&.MuiChip-clickable:hover": {
1638
+ backgroundColor: r.vietri.color.chipHover
1639
+ }
1640
+ }
1641
+ };
1642
+ }
1643
+ }
1644
+ },
1645
+ MuiCard: {
1646
+ defaultProps: { variant: "outlined" },
1647
+ styleOverrides: {
1648
+ root: {
1649
+ borderRadius: F.radius.lg,
1650
+ backgroundImage: "none"
1651
+ }
1652
+ }
1653
+ },
1654
+ MuiCardActionArea: {
1655
+ styleOverrides: {
1656
+ root: ({ theme: t }) => ({
1657
+ "&:focus-visible": {
1658
+ outline: `2px solid ${t.palette.primary.main}`,
1659
+ outlineOffset: -2
1660
+ }
1661
+ })
1662
+ }
1663
+ },
1664
+ MuiDialog: {
1665
+ styleOverrides: {
1666
+ paper: { borderRadius: F.radius.lg, backgroundImage: "none" }
1667
+ }
1668
+ },
1669
+ MuiDrawer: {
1670
+ styleOverrides: {
1671
+ paper: { backgroundImage: "none" }
1672
+ }
1673
+ },
1674
+ // Field borders use the secondary text color to meet the 3:1 minimum
1675
+ // contrast for interface components (WCAG 1.4.11).
1676
+ MuiOutlinedInput: {
1677
+ styleOverrides: {
1678
+ root: ({ theme: t }) => ({
1679
+ borderRadius: F.radius.md,
1680
+ "& .MuiOutlinedInput-notchedOutline": {
1681
+ borderColor: t.palette.text.secondary
1682
+ },
1683
+ "&:hover .MuiOutlinedInput-notchedOutline": {
1684
+ borderColor: t.palette.text.primary
1685
+ },
1686
+ "&.Mui-focused .MuiOutlinedInput-notchedOutline": {
1687
+ borderColor: t.palette.primary.main
1688
+ },
1689
+ "&.Mui-error .MuiOutlinedInput-notchedOutline": {
1690
+ borderColor: t.palette.error.main
1691
+ },
1692
+ "&.Mui-disabled .MuiOutlinedInput-notchedOutline": {
1693
+ borderColor: t.palette.divider
1694
+ }
1695
+ })
1696
+ }
1697
+ },
1698
+ MuiTableCell: {
1699
+ styleOverrides: {
1700
+ root: ({ theme: t }) => ({
1701
+ borderBottomColor: t.palette.divider
1702
+ }),
1703
+ head: ({ theme: t }) => ({
1704
+ fontWeight: F.typography.fontWeight.semibold,
1705
+ color: t.palette.text.primary,
1706
+ borderBottom: `2px solid ${t.palette.text.primary}`
1707
+ })
1708
+ }
1709
+ }
1710
+ }, { typography: v, breakpoints: Je } = F;
1711
+ function Ke(t) {
1712
+ return {
1713
+ color: t,
1714
+ shadow: F.shadow,
1715
+ gradient: qe(t)
1716
+ };
1717
+ }
1718
+ const Ze = {
1719
+ spacing: F.spacing,
1720
+ shape: { borderRadius: F.radius.md },
1721
+ breakpoints: { values: { ...Je } },
1722
+ typography: {
1723
+ fontFamily: v.fontFamily,
1724
+ fontWeightRegular: v.fontWeight.regular,
1725
+ fontWeightMedium: v.fontWeight.medium,
1726
+ fontWeightBold: v.fontWeight.semibold,
1727
+ h1: {
1728
+ fontSize: "clamp(3rem, 8vw, 7rem)",
1729
+ fontWeight: v.fontWeight.semibold,
1730
+ letterSpacing: "-0.055em",
1731
+ lineHeight: 0.95
1732
+ },
1733
+ h2: {
1734
+ fontSize: "clamp(2rem, 5vw, 4rem)",
1735
+ fontWeight: v.fontWeight.semibold,
1736
+ letterSpacing: "-0.04em",
1737
+ lineHeight: 1.05
1738
+ },
1739
+ h3: {
1740
+ fontSize: "clamp(1.5rem, 3vw, 2.25rem)",
1741
+ fontWeight: v.fontWeight.semibold,
1742
+ letterSpacing: "-0.03em",
1743
+ lineHeight: 1.15
1744
+ },
1745
+ h4: {
1746
+ fontSize: "1.5rem",
1747
+ fontWeight: v.fontWeight.semibold,
1748
+ letterSpacing: "-0.02em",
1749
+ lineHeight: 1.25
1750
+ },
1751
+ h5: { fontSize: "1.25rem", fontWeight: v.fontWeight.medium, lineHeight: 1.3 },
1752
+ h6: { fontSize: "1.0625rem", fontWeight: v.fontWeight.medium, lineHeight: 1.4 },
1753
+ body1: { fontSize: "1rem", lineHeight: 1.6 },
1754
+ body2: { fontSize: "0.875rem", lineHeight: 1.55 },
1755
+ button: {
1756
+ fontWeight: v.fontWeight.medium,
1757
+ textTransform: "none",
1758
+ letterSpacing: "-0.01em"
1759
+ },
1760
+ overline: {
1761
+ fontWeight: v.fontWeight.medium,
1762
+ letterSpacing: "0.12em"
1763
+ }
1764
+ },
1765
+ components: Qe
1766
+ };
1767
+ function G(t) {
1768
+ return Me({
1769
+ ...Ze,
1770
+ vietri: Ke(t),
1771
+ palette: {
1772
+ mode: t.mode,
1773
+ primary: { main: t.primary, contrastText: t.onPrimary },
1774
+ secondary: { main: t.secondary, contrastText: t.onSecondary },
1775
+ error: { main: t.status.error, contrastText: t.onStatus },
1776
+ warning: { main: t.status.warning, contrastText: t.onStatus },
1777
+ info: { main: t.status.info, contrastText: t.onStatus },
1778
+ success: { main: t.status.success, contrastText: t.onStatus },
1779
+ background: { default: t.bg, paper: t.paper },
1780
+ text: { primary: t.ink, secondary: t.inkSoft },
1781
+ divider: t.line
1782
+ }
1783
+ });
1784
+ }
1785
+ const S = (t) => [t, t], et = {
1786
+ error: "#B91C1C",
1787
+ warning: "#92400E",
1788
+ info: "#0369A1",
1789
+ success: "#166534"
1790
+ }, tt = {
1791
+ mode: "light",
1792
+ bg: "#FFFFFF",
1793
+ paper: "#FFFFFF",
1794
+ ink: "#111111",
1795
+ inkSoft: "#555555",
1796
+ line: "#E4E4E4",
1797
+ primary: "#000000",
1798
+ onPrimary: "#FFFFFF",
1799
+ secondary: "#7A5718",
1800
+ onSecondary: "#FFFFFF",
1801
+ action: S("#DBAC5B"),
1802
+ actionHover: S("#FDD07A"),
1803
+ onAction: "#000000",
1804
+ surface: S("#000000"),
1805
+ onSurface: "#FFFFFF",
1806
+ onSurfaceSoft: "#D4D4D4",
1807
+ chip: "#F3EBDA",
1808
+ chipHover: "#E8DDC4",
1809
+ onChip: "#111111",
1810
+ glow: null,
1811
+ status: et,
1812
+ onStatus: "#FFFFFF",
1813
+ brand: {
1814
+ black: "#000000",
1815
+ gold: "#DBAC5B",
1816
+ white: "#FFFFFF",
1817
+ goldLight: "#FDD07A"
1818
+ },
1819
+ derived: {
1820
+ /** Gold that reads as text on white (6.6:1). */
1821
+ bronze: "#7A5718",
1822
+ ink: "#111111",
1823
+ inkSoft: "#555555"
1824
+ }
1825
+ }, rt = {
1826
+ mode: "dark",
1827
+ bg: "#20123A",
1828
+ paper: "#2D1B50",
1829
+ ink: "#FFFFFF",
1830
+ inkSoft: "#D5CAEB",
1831
+ line: "rgba(255, 255, 255, 0.14)",
1832
+ primary: "#F35F1C",
1833
+ onPrimary: "#20123A",
1834
+ secondary: "#B99BFF",
1835
+ onSecondary: "#20123A",
1836
+ action: S("#F35F1C"),
1837
+ actionHover: S("#FF7B3F"),
1838
+ onAction: "#20123A",
1839
+ surface: S("#693BCC"),
1840
+ onSurface: "#FFFFFF",
1841
+ onSurfaceSoft: "#EDE6FB",
1842
+ chip: "#3C2866",
1843
+ chipHover: "#4A3478",
1844
+ onChip: "#FFFFFF",
1845
+ glow: null,
1846
+ status: {
1847
+ error: "#F87171",
1848
+ warning: "#FBBF24",
1849
+ info: "#7DD3FC",
1850
+ success: "#4ADE80"
1851
+ },
1852
+ onStatus: "#20123A",
1853
+ brand: {
1854
+ night: "#20123A",
1855
+ violet: "#693BCC",
1856
+ magenta: "#CB1F9C",
1857
+ orange: "#F35F1C"
1858
+ },
1859
+ derived: {
1860
+ /** Violet that reads as text on the night background (7.6:1). */
1861
+ lilac: "#B99BFF",
1862
+ /** Raised surface over night. */
1863
+ nightRaised: "#2D1B50",
1864
+ orangeHover: "#FF7B3F"
1865
+ }
1866
+ }, ot = {
1867
+ mode: "light",
1868
+ bg: "#F7F4FA",
1869
+ paper: "#FFFFFF",
1870
+ ink: "#2B1B3D",
1871
+ inkSoft: "#5D4F70",
1872
+ line: "#E3DCEB",
1873
+ // Teal carries actions and links: it reads as text on white and carries
1874
+ // white text. Deep purple is the second voice.
1875
+ primary: "#027381",
1876
+ onPrimary: "#FFFFFF",
1877
+ secondary: "#4A0875",
1878
+ onSecondary: "#FFFFFF",
1879
+ action: S("#027381"),
1880
+ actionHover: S("#015C68"),
1881
+ onAction: "#FFFFFF",
1882
+ surface: S("#4A0875"),
1883
+ onSurface: "#FFFFFF",
1884
+ onSurfaceSoft: "#E8DCF4",
1885
+ chip: "#EFE8F6",
1886
+ chipHover: "#E3D8EF",
1887
+ onChip: "#2B1B3D",
1888
+ glow: null,
1889
+ status: {
1890
+ error: "#C41E32",
1891
+ warning: "#92400E",
1892
+ info: "#0369A1",
1893
+ success: "#166534"
1894
+ },
1895
+ onStatus: "#FFFFFF",
1896
+ // The seven colors of the palette. Cyan, amber, coral and vermilion are too
1897
+ // light to carry text on white: use them as fills, with dark text on top
1898
+ // (charts, categories, highlights).
1899
+ brand: {
1900
+ teal: "#027381",
1901
+ cyan: "#0EB9CB",
1902
+ amber: "#FFC23D",
1903
+ coral: "#FF7751",
1904
+ vermilion: "#F33829",
1905
+ crimson: "#C41E32",
1906
+ purple: "#4A0875"
1907
+ },
1908
+ derived: {
1909
+ /** Page background: a barely-there purple tint. */
1910
+ page: "#F7F4FA",
1911
+ ink: "#2B1B3D",
1912
+ inkSoft: "#5D4F70",
1913
+ /** Teal for the hovered primary action (7.7:1 with white). */
1914
+ tealDark: "#015C68"
1915
+ }
1916
+ }, pr = G(tt), ur = G(rt), hr = G(ot), it = [
1917
+ { bg: "#E0F2FE", fg: "#0C4A6E", dot: "#0284C7" },
1918
+ // sky
1919
+ { bg: "#EDE9FE", fg: "#4C1D95", dot: "#7C3AED" },
1920
+ // violet
1921
+ { bg: "#FFE4E6", fg: "#881337", dot: "#E11D48" },
1922
+ // rose
1923
+ { bg: "#FEF3C7", fg: "#78350F", dot: "#D97706" },
1924
+ // amber
1925
+ { bg: "#D1FAE5", fg: "#064E3B", dot: "#059669" },
1926
+ // emerald
1927
+ { bg: "#FAE8FF", fg: "#701A75", dot: "#C026D3" },
1928
+ // fuchsia
1929
+ { bg: "#CCFBF1", fg: "#134E4A", dot: "#0D9488" },
1930
+ // teal
1931
+ { bg: "#FFEDD5", fg: "#7C2D12", dot: "#EA580C" },
1932
+ // orange
1933
+ { bg: "#E0E7FF", fg: "#312E81", dot: "#4F46E5" },
1934
+ // indigo
1935
+ { bg: "#ECFCCB", fg: "#365314", dot: "#65A30D" }
1936
+ // lime
1937
+ ];
1938
+ function mr(t, r = it) {
1939
+ const o = Array.from(new Set(t));
1940
+ return Object.fromEntries(
1941
+ o.map((c, n) => [c, r[n % r.length]])
1942
+ );
1943
+ }
1944
+ const fr = [
1945
+ { bg: "#027381", fg: "#FFFFFF", dot: "#027381" },
1946
+ // teal
1947
+ { bg: "#FF7751", fg: "#2B1B3D", dot: "#C2410C" },
1948
+ // coral
1949
+ { bg: "#FFC23D", fg: "#2B1B3D", dot: "#A16207" },
1950
+ // amber
1951
+ { bg: "#4A0875", fg: "#FFFFFF", dot: "#4A0875" },
1952
+ // purple
1953
+ { bg: "#0EB9CB", fg: "#2B1B3D", dot: "#0E7490" },
1954
+ // cyan
1955
+ { bg: "#C41E32", fg: "#FFFFFF", dot: "#C41E32" },
1956
+ // crimson
1957
+ { bg: "#F33829", fg: "#000000", dot: "#F33829" }
1958
+ // vermilion
1959
+ ];
1960
+ export {
1961
+ Ut as BarChart,
1962
+ Fr as Button,
1963
+ Cr as Card,
1964
+ wr as CardActionArea,
1965
+ kr as CardActions,
1966
+ Er as CardContent,
1967
+ Ir as CardMedia,
1968
+ _e as CategoryChip,
1969
+ Mr as Chip,
1970
+ lr as ContentRail,
1971
+ Zt as CopyField,
1972
+ _t as DataTable,
1973
+ Jt as Dialog,
1974
+ Kt as Drawer,
1975
+ dr as EpisodeList,
1976
+ rr as FeatureCard,
1977
+ Yt as Footer,
1978
+ tr as Hero,
1979
+ y as Icon,
1980
+ Or as Input,
1981
+ Vt as LanguageSwitch,
1982
+ ar as MediaCard,
1983
+ Gt as NavBar,
1984
+ sr as PlaylistCard,
1985
+ nr as ProfileCard,
1986
+ qt as SectionHeader,
1987
+ Qt as Select,
1988
+ er as SkipLink,
1989
+ Nt as StatCard,
1990
+ or as Steps,
1991
+ zr as Tab,
1992
+ Hr as Tabs,
1993
+ ir as Timeline,
1994
+ xr as Typography,
1995
+ cr as VideoEmbed,
1996
+ j as VisuallyHidden,
1997
+ it as categoryPalette,
1998
+ mr as createCategoryColors,
1999
+ qe as createGradients,
2000
+ G as createVietriTheme,
2001
+ tt as editorialColors,
2002
+ pr as editorialTheme,
2003
+ Xt as icons,
2004
+ R as linearGradient,
2005
+ fr as observatoryCategoryPalette,
2006
+ ot as observatoryColors,
2007
+ hr as observatoryTheme,
2008
+ rt as streamingColors,
2009
+ ur as streamingTheme,
2010
+ F as tokens
2011
+ };
2012
+ //# sourceMappingURL=index.js.map