@sorayasm/vietri-ds 0.2.1 → 0.3.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.
- package/CHANGELOG.md +47 -0
- package/README.md +33 -6
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +744 -683
- package/dist/index.js.map +1 -1
- package/dist/types/components/ContentRail/ContentRail.d.ts.map +1 -1
- package/dist/types/components/EpisodeList/EpisodeList.d.ts +3 -1
- package/dist/types/components/EpisodeList/EpisodeList.d.ts.map +1 -1
- package/dist/types/components/Hero/Hero.d.ts +14 -4
- package/dist/types/components/Hero/Hero.d.ts.map +1 -1
- package/dist/types/components/MediaCard/MediaCard.d.ts +3 -1
- package/dist/types/components/MediaCard/MediaCard.d.ts.map +1 -1
- package/dist/types/theme/palettes.d.ts +12 -3
- package/dist/types/theme/palettes.d.ts.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,53 @@ All notable changes to Vietri DS are listed here. The project follows
|
|
|
4
4
|
[Semantic Versioning](https://semver.org/); while the version is 0.x, a minor
|
|
5
5
|
version may include breaking changes.
|
|
6
6
|
|
|
7
|
+
## 0.3.1
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- `MediaCard` accepts `aspectRatio` and each `EpisodeList` episode accepts
|
|
12
|
+
`imageAspectRatio`, so square pictures (such as flyers) are not cropped to 16:9.
|
|
13
|
+
|
|
14
|
+
## 0.3.0
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- `Hero` accepts an `image` and an `imagePosition`: a decorative background
|
|
19
|
+
picture under a dark layer. The text keeps AA contrast over any photo.
|
|
20
|
+
- `ThemeColors.scrim`: the dark layer color of each theme.
|
|
21
|
+
|
|
22
|
+
### Changed
|
|
23
|
+
|
|
24
|
+
- `MediaCard` grows slightly on hover and its image zooms, like a streaming
|
|
25
|
+
catalogue.
|
|
26
|
+
- `ContentRail` leaves room above and below its cards so the growing cards are
|
|
27
|
+
not clipped.
|
|
28
|
+
|
|
29
|
+
## 0.2.4
|
|
30
|
+
|
|
31
|
+
### Changed
|
|
32
|
+
|
|
33
|
+
- Streaming theme: the primary action is now cyan (`#1CDAF3`, was orange), and
|
|
34
|
+
the surface of footers and banners is a soft gradient from violet to lavender
|
|
35
|
+
(`#693BCC` to `#7A64AE`). `#7A64AE` is the supplied `#816CB2` darkened a hair,
|
|
36
|
+
so white text keeps a 4.5:1 contrast at that end. Soft text on surfaces is
|
|
37
|
+
now `#F7F3FF`.
|
|
38
|
+
- The Streaming palette lists `lavender` and `cyan` instead of `orange`.
|
|
39
|
+
|
|
40
|
+
## 0.2.3
|
|
41
|
+
|
|
42
|
+
### Changed
|
|
43
|
+
|
|
44
|
+
- `ContentRail` uses a thin scrollbar in the theme's secondary text color
|
|
45
|
+
instead of the heavy scrollbar of the system, which clashed with the design.
|
|
46
|
+
|
|
47
|
+
## 0.2.2
|
|
48
|
+
|
|
49
|
+
### Documentation
|
|
50
|
+
|
|
51
|
+
- README explains how to test an app that uses the library with Vitest
|
|
52
|
+
(`server.deps.inline`), because MUI 6 has no `exports` map.
|
|
53
|
+
|
|
7
54
|
## 0.2.1
|
|
8
55
|
|
|
9
56
|
### Fixed
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Vietri DS
|
|
2
2
|
|
|
3
|
-
A themeable design system built with React, TypeScript and MUI. It is the shared UI foundation for the projects in the [Soraya Sacaan](https://
|
|
3
|
+
A themeable design system built with React, TypeScript and MUI. It is the shared UI foundation for the projects in the [Soraya Sacaan](https://sorayasacaan.com) portfolio: the portfolio site, the streaming platform and the Mujeres del Blues Observatory.
|
|
4
4
|
|
|
5
5
|
> **Status:** early development (v0.1). Foundations, themes, tooling and the first set of components are in place.
|
|
6
6
|
|
|
@@ -46,23 +46,37 @@ Each theme has its own identity.
|
|
|
46
46
|
| Theme | Brand colors | Notes |
|
|
47
47
|
| ------------- | ------------------------------------------------------------------- | ----- |
|
|
48
48
|
| `editorial` | black `#000000`, gold `#DBAC5B`, white `#FFFFFF`, light gold `#FDD07A` | Gold is used as a fill with black text. Bronze `#7A5718` carries gold-colored text. |
|
|
49
|
-
| `streaming` | night `#20123A`, violet `#693BCC`, magenta `#CB1F9C`,
|
|
49
|
+
| `streaming` | night `#20123A`, violet `#693BCC`, lavender `#816CB2`, magenta `#CB1F9C`, cyan `#1CDAF3` | Dark theme. Cyan is the primary action; footers and banners use a soft gradient from violet to lavender. |
|
|
50
50
|
| `observatory` | teal `#027381`, cyan `#0EB9CB`, amber `#FFC23D`, coral `#FF7751`, vermilion `#F33829`, crimson `#C41E32`, purple `#4A0875` | Light theme. Teal carries actions, purple the footer. Cyan, amber, coral and vermilion are fills for charts and highlights. |
|
|
51
51
|
|
|
52
52
|
Every palette is a typed `ThemeColors` object (`editorialColors`, `streamingColors`, `observatoryColors`). The active theme's palette is available inside components as `theme.vietri.color`.
|
|
53
53
|
|
|
54
54
|
Brand colors that cannot carry text on their own (gold on white, violet on deep purple, cyan or amber on white) are only used as **fills** next to a text color that reaches 4.5:1, or replaced by a text-safe sibling. Every text pair in every theme is tested for WCAG AA.
|
|
55
55
|
|
|
56
|
-
##
|
|
56
|
+
## Fills and gradients
|
|
57
57
|
|
|
58
|
-
|
|
58
|
+
Almost every fill is a solid color. The exception is the **surface** of the Streaming theme (footers and banners), which is a soft gradient from violet `#693BCC` to lavender. The lavender end is `#7A64AE`, the supplied `#816CB2` darkened a hair: with the exact color, white text reaches 4.45:1, just under the 4.5:1 minimum.
|
|
59
59
|
|
|
60
|
-
They reach components through `theme.vietri.gradient`:
|
|
60
|
+
A fill is described by a pair of colors in `ThemeColors` (`action`, `actionHover`, `surface`). A flat fill repeats the same color twice, and a gradient uses two different ones. They reach components through `theme.vietri.gradient`:
|
|
61
61
|
|
|
62
62
|
- `surface` — headers, footers and banners (light text on top)
|
|
63
63
|
- `action` and `actionHover` — primary buttons
|
|
64
64
|
|
|
65
|
-
`ThemeColors.glow` can also add soft decorative lights to the footer
|
|
65
|
+
The tests check contrast at **both ends** of every fill, so a gradient never hides a low-contrast corner. `ThemeColors.glow` can also add soft decorative lights to the footer; it is `null` in every theme today.
|
|
66
|
+
|
|
67
|
+
## Hero with an image
|
|
68
|
+
|
|
69
|
+
`Hero` accepts an `image` (a background picture). A dark layer (`theme.vietri.color.scrim`) sits over it and the text stays in the left 60%, where that layer is at least 86% opaque, so the text keeps WCAG AA contrast **whatever the photo**, even a pure white one (a test checks it). If the image fails to load, the theme surface shows instead. The image is decorative: do not put information in it.
|
|
70
|
+
|
|
71
|
+
```tsx
|
|
72
|
+
<Hero
|
|
73
|
+
image="/key-art.webp"
|
|
74
|
+
imagePosition="center 30%"
|
|
75
|
+
title="El Blues es Femenino"
|
|
76
|
+
description="…"
|
|
77
|
+
actions={<Button size="large">Play</Button>}
|
|
78
|
+
/>
|
|
79
|
+
```
|
|
66
80
|
|
|
67
81
|
## Categorical colors
|
|
68
82
|
|
|
@@ -192,6 +206,19 @@ export function App() {
|
|
|
192
206
|
|
|
193
207
|
**4. Translate the texts.** Every user-facing default ("Menu", "Close", "Copy"…) is a prop, so an app in another language passes its own.
|
|
194
208
|
|
|
209
|
+
**5. Testing an app that uses the library (Vitest).** MUI 6 has no `exports` map, so Node cannot import its folders (`@mui/material/Box`) from an ES module package. Running tests that render Vietri components fails with `Directory import '…/@mui/material/Box' is not supported`. Tell Vitest to process the design system with Vite, in the app's `vite.config.ts`:
|
|
210
|
+
|
|
211
|
+
```ts
|
|
212
|
+
export default defineConfig({
|
|
213
|
+
test: {
|
|
214
|
+
environment: "jsdom",
|
|
215
|
+
server: { deps: { inline: ["@sorayasm/vietri-ds"] } },
|
|
216
|
+
},
|
|
217
|
+
});
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Builds and the dev server are not affected, only tests that run directly in Node.
|
|
221
|
+
|
|
195
222
|
`react`, `react-dom`, `@mui/material` (6.x), `@emotion/react`, `@emotion/styled` and `lucide-react` are peer dependencies. The `theme.vietri` types are added to MUI automatically when `@sorayasm/vietri-ds` is imported.
|
|
196
223
|
|
|
197
224
|
## Project structure
|
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=require("@mui/material/Box"),m=require("@mui/material/Stack"),p=require("@mui/material/Typography"),I=require("@mui/material/Button"),k=require("@mui/material/Card"),J=require("@mui/material/CardActionArea"),K=require("@mui/material/CardActions"),B=require("@mui/material/CardContent"),Z=require("@mui/material/CardMedia"),q=require("@mui/material/Chip"),v=require("react"),D=require("@mui/material/IconButton"),x=require("lucide-react"),ee=require("@mui/material/Table"),te=require("@mui/material/TableBody"),W=require("@mui/material/TableCell"),re=require("@mui/material/TableContainer"),ie=require("@mui/material/TableHead"),R=require("@mui/material/TableRow"),ne=require("@mui/material/TableSortLabel"),oe=require("@mui/material/DialogActions"),ae=require("@mui/material/DialogContent"),se=require("@mui/material/DialogContentText"),le=require("@mui/material/DialogTitle"),ce=require("@mui/material/Dialog"),L=require("@mui/material/Drawer"),C=require("@mui/material/Link"),O=require("@mui/material/Container"),de=require("@mui/material/Divider"),w=require("@mui/material/styles"),P=require("@mui/material/TextField"),ue=require("@mui/material/ToggleButton"),pe=require("@mui/material/ToggleButtonGroup"),he=require("@mui/material/AppBar"),xe=require("@mui/material/SvgIcon"),ge=require("@mui/material/Toolbar"),me=require("@mui/material/useMediaQuery"),fe=require("@mui/material/MenuItem"),be=require("@mui/material/Tab"),ve=require("@mui/material/Tabs"),Fe=require("@mui/material/ButtonBase");function ye(){return e.jsx(xe,{children:e.jsx("path",{d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"})})}function z({link:t,onClick:r}){return e.jsx(C,{href:t.href,underline:"none","aria-current":t.current?"page":void 0,onClick:r,sx:{color:t.current?"text.primary":"text.secondary",fontWeight:t.current?600:500,"&:hover":{color:"text.primary"}},children:t.label})}function je({brand:t,brandHref:r="/",links:i,actions:l,ariaLabel:o="Main",menuLabel:a="Menu",closeLabel:d="Close menu",maxWidth:h="lg"}){const s=w.useTheme(),n=me(s.breakpoints.up("md"),{noSsr:!0}),[u,g]=v.useState(!1),b=()=>g(!1);return e.jsxs(he,{component:"header",position:"sticky",color:"inherit",elevation:0,sx:{bgcolor:"background.default",color:"text.primary",borderBottom:1,borderColor:"divider"},children:[e.jsx(O,{maxWidth:h,children:e.jsxs(ge,{disableGutters:!0,sx:{justifyContent:"space-between",gap:3,minHeight:{xs:64,md:72}},children:[e.jsx(C,{href:r,underline:"none",color:"text.primary",sx:{fontWeight:600,letterSpacing:"-0.03em",fontSize:"1.125rem"},children:t}),n?e.jsxs(m,{direction:"row",alignItems:"center",spacing:4,children:[e.jsx(c,{component:"nav","aria-label":o,children:e.jsx(m,{component:"ul",direction:"row",spacing:4,sx:{listStyle:"none",m:0,p:0},children:i.map(f=>e.jsx("li",{children:e.jsx(z,{link:f})},f.href))})}),l]}):e.jsxs(m,{direction:"row",alignItems:"center",spacing:1,children:[l,e.jsx(D,{edge:"end",color:"inherit","aria-label":a,"aria-expanded":u,onClick:()=>g(!0),children:e.jsx(ye,{})})]})]})}),!n&&e.jsx(L,{anchor:"right",open:u,onClose:b,children:e.jsxs(c,{sx:{width:280,p:3},children:[e.jsx(m,{alignItems:"flex-end",sx:{mb:3},children:e.jsx(I,{variant:"text",color:"secondary",onClick:b,children:d})}),e.jsx(c,{component:"nav","aria-label":o,children:e.jsx(m,{component:"ul",spacing:3,sx:{listStyle:"none",m:0,p:0,fontSize:"1.25rem"},children:i.map(f=>e.jsx("li",{children:e.jsx(z,{link:f,onClick:b})},f.href))})})]})})]})}const Ce=[{value:"en",label:"EN"},{value:"es",label:"ES"}];function Se({value:t,onChange:r,options:i=Ce,ariaLabel:l="Language"}){return e.jsx(pe,{exclusive:!0,size:"small",value:t,"aria-label":l,onChange:(o,a)=>{a!==null&&r(a)},children:i.map(o=>e.jsx(ue,{value:o.value,children:o.label},o.value))})}function we({value:t,label:r,description:i}){return e.jsx(k,{children:e.jsxs(B,{children:[e.jsx(p,{variant:"h3",component:"p",children:t}),e.jsx(p,{variant:"body1",sx:{mt:1},children:r}),i&&e.jsx(p,{variant:"body2",color:"text.secondary",sx:{mt:1},children:i})]})})}function G(t,r){return t[r.key]}function $(t,r){if(r.sortValue)return r.sortValue(t);const i=G(t,r);return typeof i=="number"?i:String(i??"")}function ke(t,r){return typeof t=="number"&&typeof r=="number"?t-r:String(t).localeCompare(String(r),void 0,{numeric:!0})}function Be({columns:t,rows:r,getRowKey:i,caption:l,emptyMessage:o="No data"}){const[a,d]=v.useState(null),h=v.useMemo(()=>{if(!a)return r;const n=t.find(g=>g.key===a.key);if(!n)return r;const u=a.direction==="asc"?1:-1;return[...r].sort((g,b)=>u*ke($(g,n),$(b,n)))},[r,t,a]),s=n=>{d(u=>u?.key===n&&u.direction==="asc"?{key:n,direction:"desc"}:{key:n,direction:"asc"})};return e.jsx(re,{tabIndex:0,sx:{overflowX:"auto"},children:e.jsxs(ee,{children:[l&&e.jsx(p,{component:"caption",variant:"body2",color:"text.secondary",sx:{captionSide:"top",textAlign:"left",pb:2},children:l}),e.jsx(ie,{children:e.jsx(R,{children:t.map(n=>{const u=a?.key===n.key?a.direction:void 0;return e.jsx(W,{align:n.align,sortDirection:u??!1,children:n.sortable?e.jsx(ne,{active:u!==void 0,direction:u??"asc",onClick:()=>s(n.key),children:n.header}):n.header},n.key)})})}),e.jsx(te,{children:h.length===0?e.jsx(R,{children:e.jsx(W,{colSpan:t.length,align:"center",children:o})}):h.map(n=>e.jsx(R,{children:t.map((u,g)=>e.jsx(W,{align:u.align,component:g===0?"th":"td",scope:g===0?"row":void 0,children:u.render?u.render(n):String(G(n,u)??"")},u.key))},i(n)))})]})})}function De({data:t,title:r,max:i,formatValue:l=String}){const o=i??Math.max(0,...t.map(a=>a.value));return e.jsxs(c,{component:"figure",sx:{m:0},children:[r&&e.jsx(p,{component:"figcaption",variant:"overline",color:"text.secondary",sx:{display:"block",mb:2},children:r}),e.jsx(m,{component:"ul",spacing:1.5,sx:{listStyle:"none",m:0,p:0},children:t.map(a=>{const d=o>0?Math.min(100,Math.max(0,a.value/o*100)):0,h=l(a.value);return e.jsxs(c,{component:"li",sx:{display:"grid",gridTemplateColumns:"minmax(80px, 160px) 1fr auto",alignItems:"center",columnGap:2},children:[e.jsx(p,{variant:"body2","aria-hidden":"true",children:a.label}),e.jsx(c,{role:"meter","aria-label":a.label,"aria-valuemin":0,"aria-valuemax":o,"aria-valuenow":a.value,"aria-valuetext":h,sx:{height:12,borderRadius:1,bgcolor:"divider",overflow:"hidden"},children:e.jsx(c,{style:{width:`${d}%`},sx:{height:"100%",bgcolor:"primary.main"}})}),e.jsx(p,{variant:"body2","aria-hidden":"true",sx:{minWidth:40,textAlign:"right",fontWeight:600},children:h})]},a.label)})})]})}function j({icon:t,label:r,size:i=18,...l}){return r?e.jsx(t,{size:i,role:"img","aria-label":r,...l}):e.jsx(t,{size:i,"aria-hidden":"true",focusable:"false",...l})}const Ee=Object.freeze(Object.defineProperty({__proto__:null,ArrowRight:x.ArrowRight,Check:x.Check,ChevronDown:x.ChevronDown,ChevronLeft:x.ChevronLeft,ChevronRight:x.ChevronRight,Clock:x.Clock,Copy:x.Copy,Database:x.Database,ExternalLink:x.ExternalLink,Globe:x.Globe,Info:x.Info,LayoutGrid:x.LayoutGrid,MapPin:x.MapPin,Menu:x.Menu,Music:x.Music,Network:x.Network,Play:x.Play,Search:x.Search,Share2:x.Share2,ShieldCheck:x.ShieldCheck,Sparkles:x.Sparkles,TrendingUp:x.TrendingUp,Users:x.Users,X:x.X},Symbol.toStringTag,{value:"Module"}));function V({color:t,dot:r=!1,...i}){return e.jsx(q,{size:"small",...i,icon:r?e.jsx(c,{component:"span","aria-hidden":"true",sx:{width:8,height:8,borderRadius:"50%",bgcolor:t.fg}}):void 0,sx:{bgcolor:t.bg,color:t.fg,"&.MuiChip-clickable:hover":{bgcolor:t.bg,filter:"brightness(0.95)"},"& .MuiChip-icon":{color:t.fg,ml:1,mr:-.25}}})}function M(t){return e.jsx(c,{component:"span",sx:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",whiteSpace:"nowrap",width:"1px"},...t})}function Ae({title:t,description:r,lines:i=[],links:l=[],linksLabel:o="Footer links",action:a,legal:d,externalLabel:h="(opens in a new tab)"}){const{glow:s}=w.useTheme().vietri.color;return e.jsxs(c,{component:"footer",sx:n=>({position:"relative",overflow:"hidden",py:6,color:n.vietri.color.onSurface,background:n.vietri.gradient.surface,"& a:focus-visible, & button:focus-visible":{outline:"2px solid",outlineColor:n.vietri.color.onSurface,outlineOffset:3}}),children:[s&&e.jsxs(e.Fragment,{children:[e.jsx(c,{"aria-hidden":"true",sx:{position:"absolute",top:-96,right:-96,width:384,height:384,borderRadius:"50%",bgcolor:w.alpha(s[0],.22),filter:"blur(64px)",pointerEvents:"none"}}),e.jsx(c,{"aria-hidden":"true",sx:{position:"absolute",bottom:-96,left:-96,width:384,height:384,borderRadius:"50%",bgcolor:w.alpha(s[1],.22),filter:"blur(64px)",pointerEvents:"none"}})]}),e.jsxs(O,{maxWidth:"lg",sx:{position:"relative",zIndex:1},children:[e.jsxs(m,{direction:{xs:"column",sm:"row"},justifyContent:"space-between",alignItems:{xs:"flex-start",sm:"center"},spacing:4,children:[e.jsxs(m,{spacing:1,children:[e.jsx(p,{component:"p",variant:"h6",children:t}),r&&e.jsx(p,{variant:"body2",sx:n=>({maxWidth:560,color:n.vietri.color.onSurfaceSoft}),children:r}),i.map(n=>e.jsx(p,{variant:"body2",sx:u=>({color:u.vietri.color.onSurfaceSoft}),children:n},n))]}),e.jsxs(m,{spacing:2,alignItems:{xs:"flex-start",sm:"flex-end"},children:[l.length>0&&e.jsx(c,{component:"nav","aria-label":o,children:e.jsx(m,{component:"ul",direction:"row",spacing:3,useFlexGap:!0,flexWrap:"wrap",sx:{listStyle:"none",m:0,p:0},children:l.map(n=>e.jsx("li",{children:e.jsxs(C,{href:n.href,color:"inherit",underline:"always",target:n.external?"_blank":void 0,rel:n.external?"noopener noreferrer":void 0,sx:{display:"inline-flex",alignItems:"center",gap:.5},children:[n.label,n.external&&e.jsxs(e.Fragment,{children:[e.jsx(j,{icon:x.ExternalLink,size:14}),e.jsx(M,{children:h})]})]})},n.href))})}),a]})]}),d&&e.jsxs(e.Fragment,{children:[e.jsx(de,{sx:n=>({my:3,borderColor:w.alpha(n.vietri.color.onSurface,.25)})}),e.jsx(p,{variant:"body2",sx:n=>({color:n.vietri.color.onSurfaceSoft}),children:d})]})]})]})}function Ie({title:t,eyebrow:r,description:i,level:l=2,align:o="left"}){const a=`h${l}`;return e.jsxs(m,{spacing:1,sx:{textAlign:o,alignItems:o==="center"?"center":"flex-start"},children:[r&&e.jsx(p,{component:"p",variant:"overline",color:"primary.main",sx:{display:"inline-flex",alignItems:"center",gap:.75,lineHeight:1.5},children:r}),e.jsx(p,{component:a,variant:"h3",children:t}),i&&e.jsx(p,{variant:"body1",color:"text.secondary",sx:{maxWidth:680},children:i})]})}function Me({label:t,value:r,onChange:i,options:l,helperText:o,disabled:a,fullWidth:d,size:h,id:s}){const n=new Map(l.map(u=>[u.value,u]));return e.jsx(P,{select:!0,id:s,label:t,value:r,onChange:u=>i(u.target.value),helperText:o,disabled:a,fullWidth:d,size:h,slotProps:{select:{renderValue:u=>{const g=n.get(String(u));return g?e.jsxs(c,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:1},children:[g.adornment,g.label]}):""}}},children:l.map(u=>e.jsxs(fe,{value:u.value,sx:{gap:1},children:[u.adornment,u.label,u.count!==void 0&&e.jsx(p,{component:"span",variant:"caption",color:"text.secondary",sx:{ml:"auto",pl:2},children:u.count})]},u.value))})}function Te({open:t,onClose:r,title:i,description:l,children:o,actions:a,closeLabel:d="Close",maxWidth:h="sm"}){const s=v.useId(),n=v.useId();return e.jsxs(ce,{open:t,onClose:r,fullWidth:!0,maxWidth:h,"aria-labelledby":s,"aria-describedby":l?n:void 0,children:[e.jsx(le,{id:s,sx:{pr:7},children:i}),e.jsx(D,{"aria-label":d,onClick:r,sx:{position:"absolute",top:8,right:8},children:e.jsx(j,{icon:x.X})}),e.jsxs(ae,{children:[l&&e.jsx(se,{id:n,sx:{mb:o?2:0},children:l}),o]}),a&&e.jsx(oe,{sx:{px:3,pb:2},children:a})]})}function We({open:t,onClose:r,title:i,eyebrow:l,children:o,footer:a,anchor:d="right",width:h=420,closeLabel:s="Close"}){const n=v.useId();return e.jsx(L,{anchor:d,open:t,onClose:r,children:e.jsxs(c,{role:"dialog","aria-modal":"true","aria-labelledby":n,sx:{width:{xs:"100vw",sm:h},maxWidth:"100vw",height:"100%",display:"flex",flexDirection:"column"},children:[e.jsxs(m,{direction:"row",justifyContent:"space-between",alignItems:"center",sx:{p:3,pb:1},children:[e.jsx(p,{component:"p",variant:"overline",color:"primary.main",children:l}),e.jsx(D,{"aria-label":s,onClick:r,edge:"end",children:e.jsx(j,{icon:x.X})})]}),e.jsxs(c,{sx:{px:3,pb:2,flex:1,overflowY:"auto"},tabIndex:0,children:[e.jsx(p,{id:n,component:"h2",variant:"h4",sx:{mb:2},children:i}),o]}),a&&e.jsx(c,{sx:{p:3,borderTop:1,borderColor:"divider"},children:a})]})})}function Re({label:t,value:r,copyLabel:i="Copy",copiedLabel:l="Copied!",errorLabel:o="Could not copy",copiedDuration:a=2e3}){const[d,h]=v.useState("idle"),s=v.useRef(void 0);v.useEffect(()=>()=>clearTimeout(s.current),[]);async function n(){try{await navigator.clipboard.writeText(r),h("copied")}catch{h("error")}clearTimeout(s.current),s.current=setTimeout(()=>h("idle"),a)}const u=d==="copied"?l:d==="error"?o:"";return e.jsxs(m,{spacing:1.5,children:[e.jsx(p,{component:"p",variant:"overline",color:"text.secondary",children:t}),e.jsx(c,{role:"region","aria-label":t,tabIndex:0,sx:{overflowX:"auto",p:1.5,borderRadius:1,border:1,borderColor:"divider",bgcolor:"background.default",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",fontSize:"0.8125rem",whiteSpace:"pre"},children:e.jsx("code",{children:r})}),e.jsx(I,{onClick:n,startIcon:e.jsx(j,{icon:d==="copied"?x.Check:x.Copy}),fullWidth:!0,children:d==="copied"?l:i}),e.jsx(M,{role:"status","aria-live":"polite",children:u})]})}function qe({href:t,children:r="Skip to content"}){return e.jsx(C,{href:t,sx:i=>({position:"fixed",top:i.spacing(1),left:i.spacing(1),zIndex:i.zIndex.tooltip+1,px:2,py:1,borderRadius:1,bgcolor:"background.paper",color:"text.primary",fontWeight:600,textDecoration:"none",border:`2px solid ${i.palette.primary.main}`,transform:"translateY(-300%)","&:focus":{transform:"translateY(0)"}}),children:r})}function Oe({title:t,eyebrow:r,description:i,actions:l,level:o=1,align:a="left"}){const d=`h${o}`,h=a==="center";return e.jsx(c,{component:"section",sx:s=>({py:{xs:6,md:10},color:s.vietri.color.onSurface,background:s.vietri.gradient.surface,"& a:focus-visible, & button:focus-visible":{outline:"2px solid",outlineColor:s.vietri.color.onSurface,outlineOffset:3},"& .MuiButton-outlined, & .MuiButton-text":{color:"inherit",borderColor:"currentColor"}}),children:e.jsx(O,{maxWidth:"lg",children:e.jsxs(m,{spacing:2,sx:{alignItems:h?"center":"flex-start",textAlign:a},children:[r&&e.jsx(p,{component:"p",variant:"overline",sx:s=>({color:s.vietri.color.onSurfaceSoft}),children:r}),e.jsx(p,{component:d,variant:"h2",sx:{maxWidth:900},children:t}),i&&e.jsx(p,{variant:"body1",sx:s=>({maxWidth:680,color:s.vietri.color.onSurfaceSoft}),children:i}),l&&e.jsx(m,{direction:"row",spacing:2,useFlexGap:!0,flexWrap:"wrap",sx:{pt:2,justifyContent:h?"center":"flex-start"},children:l})]})})})}function ze({icon:t,title:r,description:i,level:l=3,children:o}){const a=`h${l}`;return e.jsx(k,{sx:{height:"100%"},children:e.jsxs(B,{children:[e.jsx(c,{sx:d=>({display:"grid",placeItems:"center",width:44,height:44,mb:2,borderRadius:2,bgcolor:d.vietri.color.chip,color:d.palette.primary.main}),children:e.jsx(j,{icon:t,size:22})}),e.jsx(p,{component:a,variant:"h6",gutterBottom:!0,children:r}),i&&e.jsx(p,{variant:"body2",color:"text.secondary",children:i}),o&&e.jsx(c,{sx:{mt:2},children:o})]})})}function $e({steps:t,level:r=3,ariaLabel:i}){const l=`h${r}`;return e.jsx(c,{component:"ol",role:"list","aria-label":i,sx:{listStyle:"none",m:0,p:0,display:"grid",gap:3,gridTemplateColumns:{xs:"1fr",md:`repeat(${Math.max(t.length,1)}, minmax(0, 1fr))`}},children:t.map((o,a)=>e.jsx("li",{children:e.jsxs(m,{spacing:1,children:[e.jsx(c,{"aria-hidden":"true",sx:d=>({display:"grid",placeItems:"center",width:36,height:36,borderRadius:"50%",fontWeight:600,bgcolor:d.palette.primary.main,color:d.palette.primary.contrastText}),children:a+1}),e.jsx(p,{component:l,variant:"h6",children:o.title}),o.description&&e.jsx(p,{variant:"body2",color:"text.secondary",children:o.description})]})},o.title))})}function He({entries:t,level:r=3,ariaLabel:i}){const l=`h${r}`;return e.jsx(c,{component:"ol",role:"list","aria-label":i,sx:{listStyle:"none",m:0,p:0},children:t.map(o=>e.jsxs(c,{component:"li",id:o.id,sx:a=>({position:"relative",pl:4,pb:5,scrollMarginTop:a.spacing(10),"&::before":{content:'""',position:"absolute",left:7,top:14,bottom:0,width:2,bgcolor:a.palette.divider},"&:last-of-type":{pb:0},"&:last-of-type::before":{display:"none"}}),children:[e.jsx(c,{"aria-hidden":"true",sx:a=>({position:"absolute",left:0,top:6,width:16,height:16,borderRadius:"50%",bgcolor:a.palette.primary.main,border:`3px solid ${a.palette.background.default}`,boxSizing:"border-box"})}),e.jsx(p,{component:l,variant:"h5",children:o.label}),o.description&&e.jsx(p,{variant:"body2",color:"text.secondary",sx:{mt:.5},children:o.description}),o.content&&e.jsx(c,{sx:{mt:2},children:o.content})]},o.id))})}const H={position:"static",color:"inherit",font:"inherit",textAlign:"left",cursor:"pointer","&::after":{content:'""',position:"absolute",inset:0}};function Le({name:t,subtitle:r,bio:i,tags:l=[],href:o,onClick:a,level:d=3,bioLines:h=3}){const s=`h${d}`,n=!!(o||a),u=o?e.jsx(C,{href:o,underline:"none",sx:H,children:t}):a?e.jsx(C,{component:"button",type:"button",onClick:a,underline:"none",sx:H,children:t}):t;return e.jsx(k,{sx:g=>({position:"relative",height:"100%",...n&&{"&:hover":{borderColor:g.palette.primary.main}},"&:has(:focus-visible)":{outline:`2px solid ${g.palette.primary.main}`,outlineOffset:2},"& a:focus-visible, & button:focus-visible":{outline:"none"}}),children:e.jsxs(B,{children:[e.jsx(p,{component:s,variant:"h6",children:u}),r&&e.jsx(p,{variant:"body2",color:"text.secondary",children:r}),i&&e.jsx(p,{variant:"body2",sx:{mt:1,display:"-webkit-box",WebkitLineClamp:h,WebkitBoxOrient:"vertical",overflow:"hidden"},children:i}),l.length>0&&e.jsx(m,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",sx:{mt:2},children:l.map(g=>g.color?e.jsx(V,{label:g.label,color:g.color},g.label):e.jsx(q,{label:g.label,size:"small"},g.label))})]})})}const A={position:"static",color:"inherit",font:"inherit",textAlign:"left",cursor:"pointer","&::after":{content:'""',position:"absolute",inset:0}},Pe=t=>({"&:has(:focus-visible)":{outline:`2px solid ${t.palette.primary.main}`,outlineOffset:2},"& a:focus-visible, & button:focus-visible":{outline:"none"}});function Ge({title:t,subtitle:r,meta:i,imageUrl:l,duration:o,badge:a,href:d,onClick:h,level:s=3,playIcon:n=!0}){const u=`h${s}`,g=!!(d||h),b=d?e.jsx(C,{href:d,underline:"none",sx:A,children:t}):h?e.jsx(C,{component:"button",type:"button",onClick:h,underline:"none",sx:A,children:t}):t;return e.jsxs(k,{sx:f=>({position:"relative",height:"100%",overflow:"hidden",...g&&{"&:hover":{borderColor:f.palette.primary.main}},...Pe(f)}),children:[e.jsxs(c,{sx:f=>({position:"relative",aspectRatio:"16 / 9",bgcolor:f.vietri.color.chip}),children:[l&&e.jsx(c,{component:"img",src:l,alt:"",loading:"lazy",sx:{display:"block",width:"100%",height:"100%",objectFit:"cover"}}),n&&e.jsx(c,{"aria-hidden":"true",sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",display:"grid",placeItems:"center",width:48,height:48,borderRadius:"50%",bgcolor:"rgba(0, 0, 0, 0.8)",color:"#FFFFFF"},children:e.jsx(j,{icon:x.Play,size:22})}),a&&e.jsx(c,{sx:f=>({position:"absolute",top:8,left:8,px:1,py:.25,borderRadius:1,fontSize:"0.75rem",fontWeight:600,bgcolor:f.vietri.color.action[0],color:f.vietri.color.onAction}),children:a}),o&&e.jsx(c,{sx:{position:"absolute",right:8,bottom:8,px:1,py:.25,borderRadius:1,fontSize:"0.75rem",fontWeight:600,bgcolor:"rgba(0, 0, 0, 0.9)",color:"#FFFFFF"},children:o})]}),e.jsxs(B,{children:[i&&e.jsx(p,{component:"p",variant:"overline",color:"text.secondary",children:i}),e.jsx(p,{component:u,variant:"h6",children:b}),r&&e.jsx(p,{variant:"body2",color:"text.secondary",children:r})]})]})}function Ve({title:t,children:r,level:i=2,itemWidth:l=280,previousLabel:o="Scroll left",nextLabel:a="Scroll right",action:d}){const h=`h${i}`,s=v.useId(),n=v.useRef(null),u=v.Children.toArray(r);function g(b){const f=n.current;if(!f)return;const Q=typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;f.scrollBy?.({left:b*f.clientWidth*.8,behavior:Q?"auto":"smooth"})}return e.jsxs(c,{component:"section","aria-labelledby":s,sx:{mb:4},children:[e.jsxs(m,{direction:"row",justifyContent:"space-between",alignItems:"center",sx:{mb:2},children:[e.jsx(p,{id:s,component:h,variant:"h5",children:t}),e.jsxs(m,{direction:"row",spacing:1,alignItems:"center",children:[d,e.jsx(D,{"aria-label":o,onClick:()=>g(-1),children:e.jsx(j,{icon:x.ChevronLeft})}),e.jsx(D,{"aria-label":a,onClick:()=>g(1),children:e.jsx(j,{icon:x.ChevronRight})})]})]}),e.jsx(c,{ref:n,tabIndex:0,sx:b=>({overflowX:"auto",pb:1,scrollSnapType:"x proximity","&:focus-visible":{outline:`2px solid ${b.palette.primary.main}`,outlineOffset:2}}),children:e.jsx(c,{component:"ul",role:"list",sx:{listStyle:"none",m:0,p:0,display:"flex",gap:2},children:u.map((b,f)=>e.jsx(c,{component:"li",sx:{flex:`0 0 ${l}px`,scrollSnapAlign:"start"},children:b},f))})})]})}function Ne(t,r,i){const l=new URLSearchParams({rel:"0",modestbranding:"1"});return r&&l.set("start",String(Math.floor(r))),i&&l.set("autoplay","1"),`https://www.youtube-nocookie.com/embed/${encodeURIComponent(t)}?${l.toString()}`}function Ue({videoId:t,title:r,poster:i,start:l,lazy:o=!0,playLabel:a}){const[d,h]=v.useState(!o),s=v.useRef(!1),n=v.useRef(null);return v.useEffect(()=>{d&&s.current&&n.current?.focus()},[d]),e.jsx(c,{sx:{position:"relative",width:"100%",aspectRatio:"16 / 9",overflow:"hidden",borderRadius:2,bgcolor:"#000000"},children:d?e.jsx("iframe",{ref:n,src:Ne(t,l,s.current),title:r,allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0,referrerPolicy:"strict-origin-when-cross-origin",loading:"lazy",style:{position:"absolute",inset:0,width:"100%",height:"100%",border:0}}):e.jsxs(Fe,{"aria-label":a??`Play video: ${r}`,onClick:()=>{s.current=!0,h(!0)},sx:{position:"absolute",inset:0,width:"100%",height:"100%","&:focus-visible":{outline:"3px solid #FFFFFF",outlineOffset:-6}},children:[i&&e.jsx(c,{component:"img",src:i,alt:"",loading:"lazy",sx:{position:"absolute",inset:0,width:"100%",height:"100%",objectFit:"cover"}}),e.jsx(c,{"aria-hidden":"true",sx:{position:"relative",display:"grid",placeItems:"center",width:72,height:72,borderRadius:"50%",bgcolor:"rgba(0, 0, 0, 0.8)",color:"#FFFFFF"},children:e.jsx(j,{icon:x.Play,size:32})})]})})}const Xe=t=>({"&:has(:focus-visible)":{outline:`2px solid ${t.palette.primary.main}`,outlineOffset:-2},"& a:focus-visible, & button:focus-visible":{outline:"none"}});function _e({episodes:t,currentId:r,onSelect:i,level:l=3,ariaLabel:o,episodeLabel:a=h=>`Episode ${h}`,currentLabel:d="Now playing"}){const h=`h${l}`;return e.jsx(c,{component:"ol",role:"list","aria-label":o,sx:{listStyle:"none",m:0,p:0},children:t.map(s=>{const n=s.id===r,u=!!(i||s.href),g=i?e.jsx(C,{component:"button",type:"button",onClick:()=>i(s.id),"aria-current":n?"true":void 0,underline:"none",sx:A,children:s.title}):s.href?e.jsx(C,{href:s.href,"aria-current":n?"true":void 0,underline:"none",sx:A,children:s.title}):s.title;return e.jsxs(c,{component:"li",sx:b=>({position:"relative",display:"flex",gap:2,p:2,borderBottom:1,borderColor:"divider",borderLeft:4,borderLeftColor:n?b.palette.primary.main:"transparent",...u&&{"&:hover":{bgcolor:b.palette.action.hover}},...Xe(b)}),children:[s.imageUrl&&e.jsx(c,{component:"img",src:s.imageUrl,alt:"",loading:"lazy",sx:{flex:"0 0 auto",width:{xs:112,sm:160},aspectRatio:"16 / 9",objectFit:"cover",borderRadius:1}}),e.jsxs(c,{sx:{minWidth:0},children:[e.jsxs(p,{component:"p",variant:"overline",color:"text.secondary",children:[a(s.number),n&&` · ${d}`]}),e.jsx(p,{component:h,variant:"h6",children:g}),s.meta&&e.jsx(p,{variant:"body2",color:"text.secondary",children:s.meta}),s.description&&e.jsx(p,{variant:"body2",sx:{mt:.5,display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"},children:s.description})]})]},s.id)})})}function Ye({title:t,description:r,imageUrl:i,platforms:l,level:o=3,platformsLabel:a="Listen on",externalLabel:d="(opens in a new tab)"}){const h=`h${o}`;return e.jsxs(k,{sx:{height:"100%"},children:[e.jsx(c,{sx:s=>({aspectRatio:"1 / 1",display:"grid",placeItems:"center",bgcolor:s.vietri.color.chip,color:s.palette.text.secondary}),children:i?e.jsx(c,{component:"img",src:i,alt:"",loading:"lazy",sx:{display:"block",width:"100%",height:"100%",objectFit:"cover"}}):e.jsx(j,{icon:x.Music,size:48})}),e.jsxs(B,{children:[e.jsx(p,{component:h,variant:"h6",gutterBottom:!0,children:t}),r&&e.jsx(p,{variant:"body2",color:"text.secondary",children:r}),l.length>0&&e.jsx(m,{component:"ul",role:"list","aria-label":a,direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",sx:{listStyle:"none",m:0,mt:2,p:0},children:l.map(s=>e.jsx("li",{children:e.jsxs(I,{variant:"outlined",size:"small",href:s.href,target:"_blank",rel:"noopener noreferrer",endIcon:e.jsx(j,{icon:x.ExternalLink,size:14}),children:[s.name,e.jsxs(M,{children:[" ","– ",t," ",d]})]})},s.name))})]})]})}function E(t,r,i=135){return`linear-gradient(${i}deg, ${t} 0%, ${r} 100%)`}function N(t){return{surface:E(...t.surface),action:E(...t.action),actionHover:E(...t.actionHover)}}const y={spacing:8,radius:{sm:4,md:8,lg:16},typography:{fontFamily:'"Inter", "Helvetica Neue", Arial, sans-serif',fontWeight:{regular:400,medium:500,semibold:600}},shadow:{sm:"0 1px 2px rgba(0, 0, 0, 0.08)",md:"0 4px 12px rgba(0, 0, 0, 0.12)",lg:"0 12px 32px rgba(0, 0, 0, 0.16)"},breakpoints:{xs:0,sm:600,md:900,lg:1200,xl:1536}},Qe={MuiCssBaseline:{styleOverrides:`
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),d=require("@mui/material/Box"),b=require("@mui/material/Stack"),p=require("@mui/material/Typography"),M=require("@mui/material/Button"),B=require("@mui/material/Card"),K=require("@mui/material/CardActionArea"),Z=require("@mui/material/CardActions"),A=require("@mui/material/CardContent"),ee=require("@mui/material/CardMedia"),q=require("@mui/material/Chip"),v=require("react"),D=require("@mui/material/IconButton"),g=require("lucide-react"),re=require("@mui/material/Table"),te=require("@mui/material/TableBody"),R=require("@mui/material/TableCell"),ie=require("@mui/material/TableContainer"),ne=require("@mui/material/TableHead"),$=require("@mui/material/TableRow"),oe=require("@mui/material/TableSortLabel"),ae=require("@mui/material/DialogActions"),se=require("@mui/material/DialogContent"),le=require("@mui/material/DialogContentText"),ce=require("@mui/material/DialogTitle"),de=require("@mui/material/Dialog"),G=require("@mui/material/Drawer"),w=require("@mui/material/Link"),O=require("@mui/material/Container"),ue=require("@mui/material/Divider"),C=require("@mui/material/styles"),V=require("@mui/material/TextField"),pe=require("@mui/material/ToggleButton"),he=require("@mui/material/ToggleButtonGroup"),xe=require("@mui/material/AppBar"),ge=require("@mui/material/SvgIcon"),me=require("@mui/material/Toolbar"),be=require("@mui/material/useMediaQuery"),fe=require("@mui/material/MenuItem"),ve=require("@mui/material/Tab"),ye=require("@mui/material/Tabs"),Fe=require("@mui/material/ButtonBase");function je(){return e.jsx(ge,{children:e.jsx("path",{d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"})})}function H({link:r,onClick:t}){return e.jsx(w,{href:r.href,underline:"none","aria-current":r.current?"page":void 0,onClick:t,sx:{color:r.current?"text.primary":"text.secondary",fontWeight:r.current?600:500,"&:hover":{color:"text.primary"}},children:r.label})}function Ce({brand:r,brandHref:t="/",links:i,actions:s,ariaLabel:o="Main",menuLabel:a="Menu",closeLabel:u="Close menu",maxWidth:x="lg"}){const l=C.useTheme(),n=be(l.breakpoints.up("md"),{noSsr:!0}),[c,h]=v.useState(!1),m=()=>h(!1);return e.jsxs(xe,{component:"header",position:"sticky",color:"inherit",elevation:0,sx:{bgcolor:"background.default",color:"text.primary",borderBottom:1,borderColor:"divider"},children:[e.jsx(O,{maxWidth:x,children:e.jsxs(me,{disableGutters:!0,sx:{justifyContent:"space-between",gap:3,minHeight:{xs:64,md:72}},children:[e.jsx(w,{href:t,underline:"none",color:"text.primary",sx:{fontWeight:600,letterSpacing:"-0.03em",fontSize:"1.125rem"},children:r}),n?e.jsxs(b,{direction:"row",alignItems:"center",spacing:4,children:[e.jsx(d,{component:"nav","aria-label":o,children:e.jsx(b,{component:"ul",direction:"row",spacing:4,sx:{listStyle:"none",m:0,p:0},children:i.map(f=>e.jsx("li",{children:e.jsx(H,{link:f})},f.href))})}),s]}):e.jsxs(b,{direction:"row",alignItems:"center",spacing:1,children:[s,e.jsx(D,{edge:"end",color:"inherit","aria-label":a,"aria-expanded":c,onClick:()=>h(!0),children:e.jsx(je,{})})]})]})}),!n&&e.jsx(G,{anchor:"right",open:c,onClose:m,children:e.jsxs(d,{sx:{width:280,p:3},children:[e.jsx(b,{alignItems:"flex-end",sx:{mb:3},children:e.jsx(M,{variant:"text",color:"secondary",onClick:m,children:u})}),e.jsx(d,{component:"nav","aria-label":o,children:e.jsx(b,{component:"ul",spacing:3,sx:{listStyle:"none",m:0,p:0,fontSize:"1.25rem"},children:i.map(f=>e.jsx("li",{children:e.jsx(H,{link:f,onClick:m})},f.href))})})]})})]})}const Se=[{value:"en",label:"EN"},{value:"es",label:"ES"}];function we({value:r,onChange:t,options:i=Se,ariaLabel:s="Language"}){return e.jsx(he,{exclusive:!0,size:"small",value:r,"aria-label":s,onChange:(o,a)=>{a!==null&&t(a)},children:i.map(o=>e.jsx(pe,{value:o.value,children:o.label},o.value))})}function ke({value:r,label:t,description:i}){return e.jsx(B,{children:e.jsxs(A,{children:[e.jsx(p,{variant:"h3",component:"p",children:r}),e.jsx(p,{variant:"body1",sx:{mt:1},children:t}),i&&e.jsx(p,{variant:"body2",color:"text.secondary",sx:{mt:1},children:i})]})})}function N(r,t){return r[t.key]}function P(r,t){if(t.sortValue)return t.sortValue(r);const i=N(r,t);return typeof i=="number"?i:String(i??"")}function Be(r,t){return typeof r=="number"&&typeof t=="number"?r-t:String(r).localeCompare(String(t),void 0,{numeric:!0})}function Ae({columns:r,rows:t,getRowKey:i,caption:s,emptyMessage:o="No data"}){const[a,u]=v.useState(null),x=v.useMemo(()=>{if(!a)return t;const n=r.find(h=>h.key===a.key);if(!n)return t;const c=a.direction==="asc"?1:-1;return[...t].sort((h,m)=>c*Be(P(h,n),P(m,n)))},[t,r,a]),l=n=>{u(c=>c?.key===n&&c.direction==="asc"?{key:n,direction:"desc"}:{key:n,direction:"asc"})};return e.jsx(ie,{tabIndex:0,sx:{overflowX:"auto"},children:e.jsxs(re,{children:[s&&e.jsx(p,{component:"caption",variant:"body2",color:"text.secondary",sx:{captionSide:"top",textAlign:"left",pb:2},children:s}),e.jsx(ne,{children:e.jsx($,{children:r.map(n=>{const c=a?.key===n.key?a.direction:void 0;return e.jsx(R,{align:n.align,sortDirection:c??!1,children:n.sortable?e.jsx(oe,{active:c!==void 0,direction:c??"asc",onClick:()=>l(n.key),children:n.header}):n.header},n.key)})})}),e.jsx(te,{children:x.length===0?e.jsx($,{children:e.jsx(R,{colSpan:r.length,align:"center",children:o})}):x.map(n=>e.jsx($,{children:r.map((c,h)=>e.jsx(R,{align:c.align,component:h===0?"th":"td",scope:h===0?"row":void 0,children:c.render?c.render(n):String(N(n,c)??"")},c.key))},i(n)))})]})})}function De({data:r,title:t,max:i,formatValue:s=String}){const o=i??Math.max(0,...r.map(a=>a.value));return e.jsxs(d,{component:"figure",sx:{m:0},children:[t&&e.jsx(p,{component:"figcaption",variant:"overline",color:"text.secondary",sx:{display:"block",mb:2},children:t}),e.jsx(b,{component:"ul",spacing:1.5,sx:{listStyle:"none",m:0,p:0},children:r.map(a=>{const u=o>0?Math.min(100,Math.max(0,a.value/o*100)):0,x=s(a.value);return e.jsxs(d,{component:"li",sx:{display:"grid",gridTemplateColumns:"minmax(80px, 160px) 1fr auto",alignItems:"center",columnGap:2},children:[e.jsx(p,{variant:"body2","aria-hidden":"true",children:a.label}),e.jsx(d,{role:"meter","aria-label":a.label,"aria-valuemin":0,"aria-valuemax":o,"aria-valuenow":a.value,"aria-valuetext":x,sx:{height:12,borderRadius:1,bgcolor:"divider",overflow:"hidden"},children:e.jsx(d,{style:{width:`${u}%`},sx:{height:"100%",bgcolor:"primary.main"}})}),e.jsx(p,{variant:"body2","aria-hidden":"true",sx:{minWidth:40,textAlign:"right",fontWeight:600},children:x})]},a.label)})})]})}function S({icon:r,label:t,size:i=18,...s}){return t?e.jsx(r,{size:i,role:"img","aria-label":t,...s}):e.jsx(r,{size:i,"aria-hidden":"true",focusable:"false",...s})}const Ee=Object.freeze(Object.defineProperty({__proto__:null,ArrowRight:g.ArrowRight,Check:g.Check,ChevronDown:g.ChevronDown,ChevronLeft:g.ChevronLeft,ChevronRight:g.ChevronRight,Clock:g.Clock,Copy:g.Copy,Database:g.Database,ExternalLink:g.ExternalLink,Globe:g.Globe,Info:g.Info,LayoutGrid:g.LayoutGrid,MapPin:g.MapPin,Menu:g.Menu,Music:g.Music,Network:g.Network,Play:g.Play,Search:g.Search,Share2:g.Share2,ShieldCheck:g.ShieldCheck,Sparkles:g.Sparkles,TrendingUp:g.TrendingUp,Users:g.Users,X:g.X},Symbol.toStringTag,{value:"Module"}));function U({color:r,dot:t=!1,...i}){return e.jsx(q,{size:"small",...i,icon:t?e.jsx(d,{component:"span","aria-hidden":"true",sx:{width:8,height:8,borderRadius:"50%",bgcolor:r.fg}}):void 0,sx:{bgcolor:r.bg,color:r.fg,"&.MuiChip-clickable:hover":{bgcolor:r.bg,filter:"brightness(0.95)"},"& .MuiChip-icon":{color:r.fg,ml:1,mr:-.25}}})}function T(r){return e.jsx(d,{component:"span",sx:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",whiteSpace:"nowrap",width:"1px"},...r})}function Ie({title:r,description:t,lines:i=[],links:s=[],linksLabel:o="Footer links",action:a,legal:u,externalLabel:x="(opens in a new tab)"}){const{glow:l}=C.useTheme().vietri.color;return e.jsxs(d,{component:"footer",sx:n=>({position:"relative",overflow:"hidden",py:6,color:n.vietri.color.onSurface,background:n.vietri.gradient.surface,"& a:focus-visible, & button:focus-visible":{outline:"2px solid",outlineColor:n.vietri.color.onSurface,outlineOffset:3}}),children:[l&&e.jsxs(e.Fragment,{children:[e.jsx(d,{"aria-hidden":"true",sx:{position:"absolute",top:-96,right:-96,width:384,height:384,borderRadius:"50%",bgcolor:C.alpha(l[0],.22),filter:"blur(64px)",pointerEvents:"none"}}),e.jsx(d,{"aria-hidden":"true",sx:{position:"absolute",bottom:-96,left:-96,width:384,height:384,borderRadius:"50%",bgcolor:C.alpha(l[1],.22),filter:"blur(64px)",pointerEvents:"none"}})]}),e.jsxs(O,{maxWidth:"lg",sx:{position:"relative",zIndex:1},children:[e.jsxs(b,{direction:{xs:"column",sm:"row"},justifyContent:"space-between",alignItems:{xs:"flex-start",sm:"center"},spacing:4,children:[e.jsxs(b,{spacing:1,children:[e.jsx(p,{component:"p",variant:"h6",children:r}),t&&e.jsx(p,{variant:"body2",sx:n=>({maxWidth:560,color:n.vietri.color.onSurfaceSoft}),children:t}),i.map(n=>e.jsx(p,{variant:"body2",sx:c=>({color:c.vietri.color.onSurfaceSoft}),children:n},n))]}),e.jsxs(b,{spacing:2,alignItems:{xs:"flex-start",sm:"flex-end"},children:[s.length>0&&e.jsx(d,{component:"nav","aria-label":o,children:e.jsx(b,{component:"ul",direction:"row",spacing:3,useFlexGap:!0,flexWrap:"wrap",sx:{listStyle:"none",m:0,p:0},children:s.map(n=>e.jsx("li",{children:e.jsxs(w,{href:n.href,color:"inherit",underline:"always",target:n.external?"_blank":void 0,rel:n.external?"noopener noreferrer":void 0,sx:{display:"inline-flex",alignItems:"center",gap:.5},children:[n.label,n.external&&e.jsxs(e.Fragment,{children:[e.jsx(S,{icon:g.ExternalLink,size:14}),e.jsx(T,{children:x})]})]})},n.href))})}),a]})]}),u&&e.jsxs(e.Fragment,{children:[e.jsx(ue,{sx:n=>({my:3,borderColor:C.alpha(n.vietri.color.onSurface,.25)})}),e.jsx(p,{variant:"body2",sx:n=>({color:n.vietri.color.onSurfaceSoft}),children:u})]})]})]})}function Me({title:r,eyebrow:t,description:i,level:s=2,align:o="left"}){const a=`h${s}`;return e.jsxs(b,{spacing:1,sx:{textAlign:o,alignItems:o==="center"?"center":"flex-start"},children:[t&&e.jsx(p,{component:"p",variant:"overline",color:"primary.main",sx:{display:"inline-flex",alignItems:"center",gap:.75,lineHeight:1.5},children:t}),e.jsx(p,{component:a,variant:"h3",children:r}),i&&e.jsx(p,{variant:"body1",color:"text.secondary",sx:{maxWidth:680},children:i})]})}function Te({label:r,value:t,onChange:i,options:s,helperText:o,disabled:a,fullWidth:u,size:x,id:l}){const n=new Map(s.map(c=>[c.value,c]));return e.jsx(V,{select:!0,id:l,label:r,value:t,onChange:c=>i(c.target.value),helperText:o,disabled:a,fullWidth:u,size:x,slotProps:{select:{renderValue:c=>{const h=n.get(String(c));return h?e.jsxs(d,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:1},children:[h.adornment,h.label]}):""}}},children:s.map(c=>e.jsxs(fe,{value:c.value,sx:{gap:1},children:[c.adornment,c.label,c.count!==void 0&&e.jsx(p,{component:"span",variant:"caption",color:"text.secondary",sx:{ml:"auto",pl:2},children:c.count})]},c.value))})}function We({open:r,onClose:t,title:i,description:s,children:o,actions:a,closeLabel:u="Close",maxWidth:x="sm"}){const l=v.useId(),n=v.useId();return e.jsxs(de,{open:r,onClose:t,fullWidth:!0,maxWidth:x,"aria-labelledby":l,"aria-describedby":s?n:void 0,children:[e.jsx(ce,{id:l,sx:{pr:7},children:i}),e.jsx(D,{"aria-label":u,onClick:t,sx:{position:"absolute",top:8,right:8},children:e.jsx(S,{icon:g.X})}),e.jsxs(se,{children:[s&&e.jsx(le,{id:n,sx:{mb:o?2:0},children:s}),o]}),a&&e.jsx(ae,{sx:{px:3,pb:2},children:a})]})}function Re({open:r,onClose:t,title:i,eyebrow:s,children:o,footer:a,anchor:u="right",width:x=420,closeLabel:l="Close"}){const n=v.useId();return e.jsx(G,{anchor:u,open:r,onClose:t,children:e.jsxs(d,{role:"dialog","aria-modal":"true","aria-labelledby":n,sx:{width:{xs:"100vw",sm:x},maxWidth:"100vw",height:"100%",display:"flex",flexDirection:"column"},children:[e.jsxs(b,{direction:"row",justifyContent:"space-between",alignItems:"center",sx:{p:3,pb:1},children:[e.jsx(p,{component:"p",variant:"overline",color:"primary.main",children:s}),e.jsx(D,{"aria-label":l,onClick:t,edge:"end",children:e.jsx(S,{icon:g.X})})]}),e.jsxs(d,{sx:{px:3,pb:2,flex:1,overflowY:"auto"},tabIndex:0,children:[e.jsx(p,{id:n,component:"h2",variant:"h4",sx:{mb:2},children:i}),o]}),a&&e.jsx(d,{sx:{p:3,borderTop:1,borderColor:"divider"},children:a})]})})}function $e({label:r,value:t,copyLabel:i="Copy",copiedLabel:s="Copied!",errorLabel:o="Could not copy",copiedDuration:a=2e3}){const[u,x]=v.useState("idle"),l=v.useRef(void 0);v.useEffect(()=>()=>clearTimeout(l.current),[]);async function n(){try{await navigator.clipboard.writeText(t),x("copied")}catch{x("error")}clearTimeout(l.current),l.current=setTimeout(()=>x("idle"),a)}const c=u==="copied"?s:u==="error"?o:"";return e.jsxs(b,{spacing:1.5,children:[e.jsx(p,{component:"p",variant:"overline",color:"text.secondary",children:r}),e.jsx(d,{role:"region","aria-label":r,tabIndex:0,sx:{overflowX:"auto",p:1.5,borderRadius:1,border:1,borderColor:"divider",bgcolor:"background.default",fontFamily:"ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",fontSize:"0.8125rem",whiteSpace:"pre"},children:e.jsx("code",{children:t})}),e.jsx(M,{onClick:n,startIcon:e.jsx(S,{icon:u==="copied"?g.Check:g.Copy}),fullWidth:!0,children:u==="copied"?s:i}),e.jsx(T,{role:"status","aria-live":"polite",children:c})]})}function qe({href:r,children:t="Skip to content"}){return e.jsx(w,{href:r,sx:i=>({position:"fixed",top:i.spacing(1),left:i.spacing(1),zIndex:i.zIndex.tooltip+1,px:2,py:1,borderRadius:1,bgcolor:"background.paper",color:"text.primary",fontWeight:600,textDecoration:"none",border:`2px solid ${i.palette.primary.main}`,transform:"translateY(-300%)","&:focus":{transform:"translateY(0)"}}),children:t})}function Oe({title:r,eyebrow:t,description:i,actions:s,level:o=1,align:a="left",image:u,imagePosition:x="center"}){const l=`h${o}`,n=a==="center",c=!!u;return e.jsx(d,{component:"section",sx:h=>{const m=h.vietri.color.scrim,f=h.vietri.gradient.surface,y=`linear-gradient(0deg, ${m} 0%, ${C.alpha(m,0)} 28%)`,z=`url(${JSON.stringify(u??"")})`;return{display:"flex",alignItems:"center",py:{xs:6,md:10},...c&&{minHeight:{xs:440,md:600}},color:h.vietri.color.onSurface,...c?{backgroundImage:{xs:`linear-gradient(${C.alpha(m,.88)}, ${C.alpha(m,.88)}), ${y}, ${z}, ${f}`,md:`linear-gradient(90deg, ${C.alpha(m,.92)} 0%, ${C.alpha(m,.86)} 62%, ${C.alpha(m,.25)} 100%), ${y}, ${z}, ${f}`},backgroundSize:"cover",backgroundPosition:x,backgroundRepeat:"no-repeat"}:{background:f},"& a:focus-visible, & button:focus-visible":{outline:"2px solid",outlineColor:h.vietri.color.onSurface,outlineOffset:3},"& .MuiButton-outlined, & .MuiButton-text":{color:"inherit",borderColor:"currentColor"}}},children:e.jsx(O,{maxWidth:"lg",sx:{width:"100%"},children:e.jsxs(b,{spacing:2,sx:{alignItems:n?"center":"flex-start",textAlign:a,...c&&{maxWidth:{md:"60%"},...n&&{mx:"auto"}}},children:[t&&e.jsx(p,{component:"p",variant:"overline",sx:h=>({color:h.vietri.color.onSurfaceSoft}),children:t}),e.jsx(p,{component:l,variant:"h2",sx:{maxWidth:900},children:r}),i&&e.jsx(p,{variant:"body1",sx:h=>({maxWidth:680,color:h.vietri.color.onSurfaceSoft}),children:i}),s&&e.jsx(b,{direction:"row",spacing:2,useFlexGap:!0,flexWrap:"wrap",sx:{pt:2,justifyContent:n?"center":"flex-start"},children:s})]})})})}function ze({icon:r,title:t,description:i,level:s=3,children:o}){const a=`h${s}`;return e.jsx(B,{sx:{height:"100%"},children:e.jsxs(A,{children:[e.jsx(d,{sx:u=>({display:"grid",placeItems:"center",width:44,height:44,mb:2,borderRadius:2,bgcolor:u.vietri.color.chip,color:u.palette.primary.main}),children:e.jsx(S,{icon:r,size:22})}),e.jsx(p,{component:a,variant:"h6",gutterBottom:!0,children:t}),i&&e.jsx(p,{variant:"body2",color:"text.secondary",children:i}),o&&e.jsx(d,{sx:{mt:2},children:o})]})})}function He({steps:r,level:t=3,ariaLabel:i}){const s=`h${t}`;return e.jsx(d,{component:"ol",role:"list","aria-label":i,sx:{listStyle:"none",m:0,p:0,display:"grid",gap:3,gridTemplateColumns:{xs:"1fr",md:`repeat(${Math.max(r.length,1)}, minmax(0, 1fr))`}},children:r.map((o,a)=>e.jsx("li",{children:e.jsxs(b,{spacing:1,children:[e.jsx(d,{"aria-hidden":"true",sx:u=>({display:"grid",placeItems:"center",width:36,height:36,borderRadius:"50%",fontWeight:600,bgcolor:u.palette.primary.main,color:u.palette.primary.contrastText}),children:a+1}),e.jsx(p,{component:s,variant:"h6",children:o.title}),o.description&&e.jsx(p,{variant:"body2",color:"text.secondary",children:o.description})]})},o.title))})}function Pe({entries:r,level:t=3,ariaLabel:i}){const s=`h${t}`;return e.jsx(d,{component:"ol",role:"list","aria-label":i,sx:{listStyle:"none",m:0,p:0},children:r.map(o=>e.jsxs(d,{component:"li",id:o.id,sx:a=>({position:"relative",pl:4,pb:5,scrollMarginTop:a.spacing(10),"&::before":{content:'""',position:"absolute",left:7,top:14,bottom:0,width:2,bgcolor:a.palette.divider},"&:last-of-type":{pb:0},"&:last-of-type::before":{display:"none"}}),children:[e.jsx(d,{"aria-hidden":"true",sx:a=>({position:"absolute",left:0,top:6,width:16,height:16,borderRadius:"50%",bgcolor:a.palette.primary.main,border:`3px solid ${a.palette.background.default}`,boxSizing:"border-box"})}),e.jsx(p,{component:s,variant:"h5",children:o.label}),o.description&&e.jsx(p,{variant:"body2",color:"text.secondary",sx:{mt:.5},children:o.description}),o.content&&e.jsx(d,{sx:{mt:2},children:o.content})]},o.id))})}const L={position:"static",color:"inherit",font:"inherit",textAlign:"left",cursor:"pointer","&::after":{content:'""',position:"absolute",inset:0}};function Le({name:r,subtitle:t,bio:i,tags:s=[],href:o,onClick:a,level:u=3,bioLines:x=3}){const l=`h${u}`,n=!!(o||a),c=o?e.jsx(w,{href:o,underline:"none",sx:L,children:r}):a?e.jsx(w,{component:"button",type:"button",onClick:a,underline:"none",sx:L,children:r}):r;return e.jsx(B,{sx:h=>({position:"relative",height:"100%",...n&&{"&:hover":{borderColor:h.palette.primary.main}},"&:has(:focus-visible)":{outline:`2px solid ${h.palette.primary.main}`,outlineOffset:2},"& a:focus-visible, & button:focus-visible":{outline:"none"}}),children:e.jsxs(A,{children:[e.jsx(p,{component:l,variant:"h6",children:c}),t&&e.jsx(p,{variant:"body2",color:"text.secondary",children:t}),i&&e.jsx(p,{variant:"body2",sx:{mt:1,display:"-webkit-box",WebkitLineClamp:x,WebkitBoxOrient:"vertical",overflow:"hidden"},children:i}),s.length>0&&e.jsx(b,{direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",sx:{mt:2},children:s.map(h=>h.color?e.jsx(U,{label:h.label,color:h.color},h.label):e.jsx(q,{label:h.label,size:"small"},h.label))})]})})}const I={position:"static",color:"inherit",font:"inherit",textAlign:"left",cursor:"pointer","&::after":{content:'""',position:"absolute",inset:0}},Ge=r=>({"&:has(:focus-visible)":{outline:`2px solid ${r.palette.primary.main}`,outlineOffset:2},"& a:focus-visible, & button:focus-visible":{outline:"none"}});function Ve({title:r,subtitle:t,meta:i,imageUrl:s,duration:o,badge:a,href:u,onClick:x,level:l=3,playIcon:n=!0,aspectRatio:c="16 / 9"}){const h=`h${l}`,m=!!(u||x),f=u?e.jsx(w,{href:u,underline:"none",sx:I,children:r}):x?e.jsx(w,{component:"button",type:"button",onClick:x,underline:"none",sx:I,children:r}):r;return e.jsxs(B,{sx:y=>({position:"relative",height:"100%",overflow:"hidden",transition:"transform 250ms ease, box-shadow 250ms ease, border-color 250ms ease",...m&&{"&:hover":{transform:"scale(1.03)",boxShadow:y.vietri.shadow.lg,borderColor:y.palette.primary.main},"&:hover .media-card-image":{transform:"scale(1.06)"}},...Ge(y)}),children:[e.jsxs(d,{sx:y=>({position:"relative",aspectRatio:c,overflow:"hidden",bgcolor:y.vietri.color.chip}),children:[s&&e.jsx(d,{component:"img",className:"media-card-image",src:s,alt:"",loading:"lazy",sx:{display:"block",width:"100%",height:"100%",objectFit:"cover",transition:"transform 400ms ease"}}),n&&e.jsx(d,{"aria-hidden":"true",sx:{position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",display:"grid",placeItems:"center",width:48,height:48,borderRadius:"50%",bgcolor:"rgba(0, 0, 0, 0.8)",color:"#FFFFFF"},children:e.jsx(S,{icon:g.Play,size:22})}),a&&e.jsx(d,{sx:y=>({position:"absolute",top:8,left:8,px:1,py:.25,borderRadius:1,fontSize:"0.75rem",fontWeight:600,bgcolor:y.vietri.color.action[0],color:y.vietri.color.onAction}),children:a}),o&&e.jsx(d,{sx:{position:"absolute",right:8,bottom:8,px:1,py:.25,borderRadius:1,fontSize:"0.75rem",fontWeight:600,bgcolor:"rgba(0, 0, 0, 0.9)",color:"#FFFFFF"},children:o})]}),e.jsxs(A,{children:[i&&e.jsx(p,{component:"p",variant:"overline",color:"text.secondary",children:i}),e.jsx(p,{component:h,variant:"h6",children:f}),t&&e.jsx(p,{variant:"body2",color:"text.secondary",children:t})]})]})}function Ne({title:r,children:t,level:i=2,itemWidth:s=280,previousLabel:o="Scroll left",nextLabel:a="Scroll right",action:u}){const x=`h${i}`,l=v.useId(),n=v.useRef(null),c=v.Children.toArray(t);function h(m){const f=n.current;if(!f)return;const y=typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches;f.scrollBy?.({left:m*f.clientWidth*.8,behavior:y?"auto":"smooth"})}return e.jsxs(d,{component:"section","aria-labelledby":l,sx:{mb:4},children:[e.jsxs(b,{direction:"row",justifyContent:"space-between",alignItems:"center",sx:{mb:2},children:[e.jsx(p,{id:l,component:x,variant:"h5",children:r}),e.jsxs(b,{direction:"row",spacing:1,alignItems:"center",children:[u,e.jsx(D,{"aria-label":o,onClick:()=>h(-1),children:e.jsx(S,{icon:g.ChevronLeft})}),e.jsx(D,{"aria-label":a,onClick:()=>h(1),children:e.jsx(S,{icon:g.ChevronRight})})]})]}),e.jsx(d,{ref:n,tabIndex:0,sx:m=>({overflowX:"auto",pt:1.5,pb:2,scrollSnapType:"x proximity",scrollbarWidth:"thin",scrollbarColor:`${m.palette.text.secondary} transparent`,"&::-webkit-scrollbar":{height:8},"&::-webkit-scrollbar-track":{backgroundColor:"transparent"},"&::-webkit-scrollbar-thumb":{backgroundColor:m.palette.text.secondary,borderRadius:4},"&:focus-visible":{outline:`2px solid ${m.palette.primary.main}`,outlineOffset:2}}),children:e.jsx(d,{component:"ul",role:"list",sx:{listStyle:"none",m:0,p:0,display:"flex",gap:2},children:c.map((m,f)=>e.jsx(d,{component:"li",sx:{flex:`0 0 ${s}px`,scrollSnapAlign:"start"},children:m},f))})})]})}function Ue(r,t,i){const s=new URLSearchParams({rel:"0",modestbranding:"1"});return t&&s.set("start",String(Math.floor(t))),i&&s.set("autoplay","1"),`https://www.youtube-nocookie.com/embed/${encodeURIComponent(r)}?${s.toString()}`}function Xe({videoId:r,title:t,poster:i,start:s,lazy:o=!0,playLabel:a}){const[u,x]=v.useState(!o),l=v.useRef(!1),n=v.useRef(null);return v.useEffect(()=>{u&&l.current&&n.current?.focus()},[u]),e.jsx(d,{sx:{position:"relative",width:"100%",aspectRatio:"16 / 9",overflow:"hidden",borderRadius:2,bgcolor:"#000000"},children:u?e.jsx("iframe",{ref:n,src:Ue(r,s,l.current),title:t,allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",allowFullScreen:!0,referrerPolicy:"strict-origin-when-cross-origin",loading:"lazy",style:{position:"absolute",inset:0,width:"100%",height:"100%",border:0}}):e.jsxs(Fe,{"aria-label":a??`Play video: ${t}`,onClick:()=>{l.current=!0,x(!0)},sx:{position:"absolute",inset:0,width:"100%",height:"100%","&:focus-visible":{outline:"3px solid #FFFFFF",outlineOffset:-6}},children:[i&&e.jsx(d,{component:"img",src:i,alt:"",loading:"lazy",sx:{position:"absolute",inset:0,width:"100%",height:"100%",objectFit:"cover"}}),e.jsx(d,{"aria-hidden":"true",sx:{position:"relative",display:"grid",placeItems:"center",width:72,height:72,borderRadius:"50%",bgcolor:"rgba(0, 0, 0, 0.8)",color:"#FFFFFF"},children:e.jsx(S,{icon:g.Play,size:32})})]})})}const _e=r=>({"&:has(:focus-visible)":{outline:`2px solid ${r.palette.primary.main}`,outlineOffset:-2},"& a:focus-visible, & button:focus-visible":{outline:"none"}});function Ye({episodes:r,currentId:t,onSelect:i,level:s=3,ariaLabel:o,episodeLabel:a=x=>`Episode ${x}`,currentLabel:u="Now playing"}){const x=`h${s}`;return e.jsx(d,{component:"ol",role:"list","aria-label":o,sx:{listStyle:"none",m:0,p:0},children:r.map(l=>{const n=l.id===t,c=!!(i||l.href),h=i?e.jsx(w,{component:"button",type:"button",onClick:()=>i(l.id),"aria-current":n?"true":void 0,underline:"none",sx:I,children:l.title}):l.href?e.jsx(w,{href:l.href,"aria-current":n?"true":void 0,underline:"none",sx:I,children:l.title}):l.title;return e.jsxs(d,{component:"li",sx:m=>({position:"relative",display:"flex",gap:2,p:2,borderBottom:1,borderColor:"divider",borderLeft:4,borderLeftColor:n?m.palette.primary.main:"transparent",...c&&{"&:hover":{bgcolor:m.palette.action.hover}},..._e(m)}),children:[l.imageUrl&&e.jsx(d,{component:"img",src:l.imageUrl,alt:"",loading:"lazy",sx:{flex:"0 0 auto",width:{xs:112,sm:160},aspectRatio:l.imageAspectRatio??"16 / 9",objectFit:"cover",borderRadius:1}}),e.jsxs(d,{sx:{minWidth:0},children:[e.jsxs(p,{component:"p",variant:"overline",color:"text.secondary",children:[a(l.number),n&&` · ${u}`]}),e.jsx(p,{component:x,variant:"h6",children:h}),l.meta&&e.jsx(p,{variant:"body2",color:"text.secondary",children:l.meta}),l.description&&e.jsx(p,{variant:"body2",sx:{mt:.5,display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden"},children:l.description})]})]},l.id)})})}function Je({title:r,description:t,imageUrl:i,platforms:s,level:o=3,platformsLabel:a="Listen on",externalLabel:u="(opens in a new tab)"}){const x=`h${o}`;return e.jsxs(B,{sx:{height:"100%"},children:[e.jsx(d,{sx:l=>({aspectRatio:"1 / 1",display:"grid",placeItems:"center",bgcolor:l.vietri.color.chip,color:l.palette.text.secondary}),children:i?e.jsx(d,{component:"img",src:i,alt:"",loading:"lazy",sx:{display:"block",width:"100%",height:"100%",objectFit:"cover"}}):e.jsx(S,{icon:g.Music,size:48})}),e.jsxs(A,{children:[e.jsx(p,{component:x,variant:"h6",gutterBottom:!0,children:r}),t&&e.jsx(p,{variant:"body2",color:"text.secondary",children:t}),s.length>0&&e.jsx(b,{component:"ul",role:"list","aria-label":a,direction:"row",spacing:1,useFlexGap:!0,flexWrap:"wrap",sx:{listStyle:"none",m:0,mt:2,p:0},children:s.map(l=>e.jsx("li",{children:e.jsxs(M,{variant:"outlined",size:"small",href:l.href,target:"_blank",rel:"noopener noreferrer",endIcon:e.jsx(S,{icon:g.ExternalLink,size:14}),children:[l.name,e.jsxs(T,{children:[" ","– ",r," ",u]})]})},l.name))})]})]})}function E(r,t,i=135){return`linear-gradient(${i}deg, ${r} 0%, ${t} 100%)`}function X(r){return{surface:E(...r.surface),action:E(...r.action),actionHover:E(...r.actionHover)}}const j={spacing:8,radius:{sm:4,md:8,lg:16},typography:{fontFamily:'"Inter", "Helvetica Neue", Arial, sans-serif',fontWeight:{regular:400,medium:500,semibold:600}},shadow:{sm:"0 1px 2px rgba(0, 0, 0, 0.08)",md:"0 4px 12px rgba(0, 0, 0, 0.12)",lg:"0 12px 32px rgba(0, 0, 0, 0.16)"},breakpoints:{xs:0,sm:600,md:900,lg:1200,xl:1536}},Qe={MuiCssBaseline:{styleOverrides:`
|
|
2
2
|
@media (prefers-reduced-motion: reduce) {
|
|
3
3
|
*, *::before, *::after {
|
|
4
4
|
animation-duration: 0.01ms !important;
|
|
@@ -7,5 +7,5 @@
|
|
|
7
7
|
scroll-behavior: auto !important;
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
|
-
`},MuiButton:{defaultProps:{disableElevation:!0},styleOverrides:{root:({theme:
|
|
10
|
+
`},MuiButton:{defaultProps:{disableElevation:!0},styleOverrides:{root:({theme:r})=>({borderRadius:j.radius.md,"&:focus-visible":{outline:`2px solid ${r.palette.primary.main}`,outlineOffset:2}}),containedPrimary:({theme:r})=>({color:r.vietri.color.onAction,backgroundImage:r.vietri.gradient.action,"&:hover":{backgroundImage:r.vietri.gradient.actionHover},"&.Mui-disabled":{backgroundImage:"none",color:r.palette.action.disabled}})}},MuiLink:{styleOverrides:{root:({theme:r})=>({"&:focus-visible":{outline:`2px solid ${r.palette.primary.main}`,outlineOffset:3,borderRadius:j.radius.sm}})}},MuiChip:{styleOverrides:{root:({ownerState:r,theme:t})=>{const i=r.variant==="filled"&&r.color==="default";return{fontWeight:j.typography.fontWeight.semibold,fontSize:"0.75rem",...i&&{color:t.vietri.color.onChip,backgroundColor:t.vietri.color.chip,"&.MuiChip-clickable:hover":{backgroundColor:t.vietri.color.chipHover}}}}}},MuiCard:{defaultProps:{variant:"outlined"},styleOverrides:{root:{borderRadius:j.radius.lg,backgroundImage:"none"}}},MuiCardActionArea:{styleOverrides:{root:({theme:r})=>({"&:focus-visible":{outline:`2px solid ${r.palette.primary.main}`,outlineOffset:-2}})}},MuiDialog:{styleOverrides:{paper:{borderRadius:j.radius.lg,backgroundImage:"none"}}},MuiDrawer:{styleOverrides:{paper:{backgroundImage:"none"}}},MuiOutlinedInput:{styleOverrides:{root:({theme:r})=>({borderRadius:j.radius.md,"& .MuiOutlinedInput-notchedOutline":{borderColor:r.palette.text.secondary},"&:hover .MuiOutlinedInput-notchedOutline":{borderColor:r.palette.text.primary},"&.Mui-focused .MuiOutlinedInput-notchedOutline":{borderColor:r.palette.primary.main},"&.Mui-error .MuiOutlinedInput-notchedOutline":{borderColor:r.palette.error.main},"&.Mui-disabled .MuiOutlinedInput-notchedOutline":{borderColor:r.palette.divider}})}},MuiTableCell:{styleOverrides:{root:({theme:r})=>({borderBottomColor:r.palette.divider}),head:({theme:r})=>({fontWeight:j.typography.fontWeight.semibold,color:r.palette.text.primary,borderBottom:`2px solid ${r.palette.text.primary}`})}}},{typography:F,breakpoints:Ke}=j;function Ze(r){return{color:r,shadow:j.shadow,gradient:X(r)}}const er={spacing:j.spacing,shape:{borderRadius:j.radius.md},breakpoints:{values:{...Ke}},typography:{fontFamily:F.fontFamily,fontWeightRegular:F.fontWeight.regular,fontWeightMedium:F.fontWeight.medium,fontWeightBold:F.fontWeight.semibold,h1:{fontSize:"clamp(3rem, 8vw, 7rem)",fontWeight:F.fontWeight.semibold,letterSpacing:"-0.055em",lineHeight:.95},h2:{fontSize:"clamp(2rem, 5vw, 4rem)",fontWeight:F.fontWeight.semibold,letterSpacing:"-0.04em",lineHeight:1.05},h3:{fontSize:"clamp(1.5rem, 3vw, 2.25rem)",fontWeight:F.fontWeight.semibold,letterSpacing:"-0.03em",lineHeight:1.15},h4:{fontSize:"1.5rem",fontWeight:F.fontWeight.semibold,letterSpacing:"-0.02em",lineHeight:1.25},h5:{fontSize:"1.25rem",fontWeight:F.fontWeight.medium,lineHeight:1.3},h6:{fontSize:"1.0625rem",fontWeight:F.fontWeight.medium,lineHeight:1.4},body1:{fontSize:"1rem",lineHeight:1.6},body2:{fontSize:"0.875rem",lineHeight:1.55},button:{fontWeight:F.fontWeight.medium,textTransform:"none",letterSpacing:"-0.01em"},overline:{fontWeight:F.fontWeight.medium,letterSpacing:"0.12em"}},components:Qe};function W(r){return C.createTheme({...er,vietri:Ze(r),palette:{mode:r.mode,primary:{main:r.primary,contrastText:r.onPrimary},secondary:{main:r.secondary,contrastText:r.onSecondary},error:{main:r.status.error,contrastText:r.onStatus},warning:{main:r.status.warning,contrastText:r.onStatus},info:{main:r.status.info,contrastText:r.onStatus},success:{main:r.status.success,contrastText:r.onStatus},background:{default:r.bg,paper:r.paper},text:{primary:r.ink,secondary:r.inkSoft},divider:r.line}})}const k=r=>[r,r],rr={error:"#B91C1C",warning:"#92400E",info:"#0369A1",success:"#166534"},_={mode:"light",bg:"#FFFFFF",paper:"#FFFFFF",ink:"#111111",inkSoft:"#555555",line:"#E4E4E4",primary:"#000000",onPrimary:"#FFFFFF",secondary:"#7A5718",onSecondary:"#FFFFFF",action:k("#DBAC5B"),actionHover:k("#FDD07A"),onAction:"#000000",surface:k("#000000"),scrim:"#000000",onSurface:"#FFFFFF",onSurfaceSoft:"#D4D4D4",chip:"#F3EBDA",chipHover:"#E8DDC4",onChip:"#111111",glow:null,status:rr,onStatus:"#FFFFFF",brand:{black:"#000000",gold:"#DBAC5B",white:"#FFFFFF",goldLight:"#FDD07A"},derived:{bronze:"#7A5718",ink:"#111111",inkSoft:"#555555"}},Y={mode:"dark",bg:"#20123A",paper:"#2D1B50",ink:"#FFFFFF",inkSoft:"#D5CAEB",line:"rgba(255, 255, 255, 0.14)",primary:"#1CDAF3",onPrimary:"#20123A",secondary:"#B99BFF",onSecondary:"#20123A",action:k("#1CDAF3"),actionHover:k("#6AE9FA"),onAction:"#20123A",surface:["#693BCC","#7A64AE"],scrim:"#20123A",onSurface:"#FFFFFF",onSurfaceSoft:"#F7F3FF",chip:"#3C2866",chipHover:"#4A3478",onChip:"#FFFFFF",glow:null,status:{error:"#F87171",warning:"#FBBF24",info:"#7DD3FC",success:"#4ADE80"},onStatus:"#20123A",brand:{night:"#20123A",violet:"#693BCC",lavender:"#816CB2",magenta:"#CB1F9C",cyan:"#1CDAF3"},derived:{lavenderDeep:"#7A64AE",lilac:"#B99BFF",nightRaised:"#2D1B50",cyanHover:"#6AE9FA"}},J={mode:"light",bg:"#F7F4FA",paper:"#FFFFFF",ink:"#2B1B3D",inkSoft:"#5D4F70",line:"#E3DCEB",primary:"#027381",onPrimary:"#FFFFFF",secondary:"#4A0875",onSecondary:"#FFFFFF",action:k("#027381"),actionHover:k("#015C68"),onAction:"#FFFFFF",surface:k("#4A0875"),scrim:"#2B1B3D",onSurface:"#FFFFFF",onSurfaceSoft:"#E8DCF4",chip:"#EFE8F6",chipHover:"#E3D8EF",onChip:"#2B1B3D",glow:null,status:{error:"#C41E32",warning:"#92400E",info:"#0369A1",success:"#166534"},onStatus:"#FFFFFF",brand:{teal:"#027381",cyan:"#0EB9CB",amber:"#FFC23D",coral:"#FF7751",vermilion:"#F33829",crimson:"#C41E32",purple:"#4A0875"},derived:{page:"#F7F4FA",ink:"#2B1B3D",inkSoft:"#5D4F70",tealDark:"#015C68"}},tr=W(_),ir=W(Y),nr=W(J),Q=[{bg:"#E0F2FE",fg:"#0C4A6E",dot:"#0284C7"},{bg:"#EDE9FE",fg:"#4C1D95",dot:"#7C3AED"},{bg:"#FFE4E6",fg:"#881337",dot:"#E11D48"},{bg:"#FEF3C7",fg:"#78350F",dot:"#D97706"},{bg:"#D1FAE5",fg:"#064E3B",dot:"#059669"},{bg:"#FAE8FF",fg:"#701A75",dot:"#C026D3"},{bg:"#CCFBF1",fg:"#134E4A",dot:"#0D9488"},{bg:"#FFEDD5",fg:"#7C2D12",dot:"#EA580C"},{bg:"#E0E7FF",fg:"#312E81",dot:"#4F46E5"},{bg:"#ECFCCB",fg:"#365314",dot:"#65A30D"}];function or(r,t=Q){const i=Array.from(new Set(r));return Object.fromEntries(i.map((s,o)=>[s,t[o%t.length]]))}const ar=[{bg:"#027381",fg:"#FFFFFF",dot:"#027381"},{bg:"#FF7751",fg:"#2B1B3D",dot:"#C2410C"},{bg:"#FFC23D",fg:"#2B1B3D",dot:"#A16207"},{bg:"#4A0875",fg:"#FFFFFF",dot:"#4A0875"},{bg:"#0EB9CB",fg:"#2B1B3D",dot:"#0E7490"},{bg:"#C41E32",fg:"#FFFFFF",dot:"#C41E32"},{bg:"#F33829",fg:"#000000",dot:"#F33829"}];exports.Typography=p;exports.Button=M;exports.Card=B;exports.CardActionArea=K;exports.CardActions=Z;exports.CardContent=A;exports.CardMedia=ee;exports.Chip=q;exports.Input=V;exports.Tab=ve;exports.Tabs=ye;exports.BarChart=De;exports.CategoryChip=U;exports.ContentRail=Ne;exports.CopyField=$e;exports.DataTable=Ae;exports.Dialog=We;exports.Drawer=Re;exports.EpisodeList=Ye;exports.FeatureCard=ze;exports.Footer=Ie;exports.Hero=Oe;exports.Icon=S;exports.LanguageSwitch=we;exports.MediaCard=Ve;exports.NavBar=Ce;exports.PlaylistCard=Je;exports.ProfileCard=Le;exports.SectionHeader=Me;exports.Select=Te;exports.SkipLink=qe;exports.StatCard=ke;exports.Steps=He;exports.Timeline=Pe;exports.VideoEmbed=Xe;exports.VisuallyHidden=T;exports.categoryPalette=Q;exports.createCategoryColors=or;exports.createGradients=X;exports.createVietriTheme=W;exports.editorialColors=_;exports.editorialTheme=tr;exports.icons=Ee;exports.linearGradient=E;exports.observatoryCategoryPalette=ar;exports.observatoryColors=J;exports.observatoryTheme=nr;exports.streamingColors=Y;exports.streamingTheme=ir;exports.tokens=j;
|
|
11
11
|
//# sourceMappingURL=index.cjs.map
|