refract-ui 1.0.1 → 1.0.2

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/README.md CHANGED
@@ -4,7 +4,16 @@ Themeable React component library — extracted from [parammehta.com](https://pa
4
4
  Primitives, form controls, and a couple of Three.js pieces (device models, a
5
5
  displacement carousel), with no Next.js or portfolio-specific coupling.
6
6
 
7
- Storybook: https://storybook.parammehta.com
7
+ Storybook: https://storybook.parammehta.com — start on the Introduction and Theming pages
8
+ for an overview and the token reference.
9
+
10
+ ## Components
11
+
12
+ Text, Heading, Section, List, Divider, Table, VisuallyHidden, Transition, Loader, Icon,
13
+ SegmentedControl, Input, TextArea, Button, Link, Breadcrumbs, ScrambleReveal, Image, Wordmark,
14
+ ThemeProvider, LinkProvider, RefractProvider — all from the default `refract-ui` entry.
15
+ `Model` and `Carousel` are separate entries (`refract-ui/model`, `refract-ui/carousel`) so
16
+ `three`/`three-stdlib` never land in a bundle that doesn't use them.
8
17
 
9
18
  ## Install
10
19
 
@@ -31,8 +40,10 @@ function App() {
31
40
  }
32
41
  ```
33
42
 
34
- Required stylesheet: `refract-ui/styles.css` (component styles + a couple of
35
- shared keyframes). Optional: `refract-ui/reset.css` (a minimal CSS reset) and
43
+ Required stylesheets: `refract-ui/styles.css` (component styles + a couple of
44
+ shared keyframes) and `refract-ui/tokens.css` (the CSS custom properties
45
+ components read from — see the Storybook Theming page for the full
46
+ reference). Optional: `refract-ui/reset.css` (a minimal CSS reset) and
36
47
  `refract-ui/media.css` (the breakpoint contract as `@custom-media`, for
37
48
  consumers running their own `postcss-preset-env`).
38
49
 
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("./style-CWBkJEps.cjs"),t=require("react/jsx-runtime"),i=require("react"),y=require("./RefractProvider-Bzz4G22S.cjs"),N=require("framer-motion"),h1=require("react-dom");function d1(e){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const c=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(s,n,c.get?c:{enumerable:!0,get:()=>e[n]})}}return s.default=e,Object.freeze(s)}const d=d1(i),u1="_text_18l38_1",v1={text:u1},J=({children:e,size:s="m",as:n="span",align:c="auto",weight:l="auto",secondary:a,className:o,...r})=>t.jsx(n,{className:h.classes(v1.text,o),"data-align":c,"data-size":s,"data-weight":l,"data-secondary":a,...r,children:e}),m1="_heading_17xux_1",g1={heading:m1},p1=({children:e,level:s=1,as:n,align:c="auto",weight:l="medium",className:a,...o})=>{const r=Math.min(Math.max(s,0),5),u=n||`h${Math.max(r,1)}`;return t.jsx(i.Fragment,{children:t.jsx(u,{className:h.classes(g1.heading,a),"data-align":c,"data-weight":l,"data-level":r,...o,children:e})})},_1="_section_e4ou0_1",x1={section:_1},f1=i.forwardRef(({as:e="div",children:s,className:n,...c},l)=>{const a=e;return t.jsx(a,{className:h.classes(x1.section,n),ref:l,...c,children:s})}),y1="_list_70779_1",b1="_item_70779_14",Q={list:y1,item:b1},j1=({ordered:e,children:s,className:n,...c})=>{const l=e?"ol":"ul";return t.jsx(l,{className:h.classes(Q.list,n),...c,children:s})},w1=({children:e,...s})=>t.jsx("li",{className:Q.item,...s,children:e}),M1="_divider_vqctv_1",L1="_line_vqctv_14",T1="_notch_vqctv_36",W={divider:M1,line:L1,notch:T1},V1=({lineWidth:e="100%",lineHeight:s="2px",notchWidth:n="90px",notchHeight:c="10px",collapseDelay:l=0,collapsed:a=!1,notch:o=!0,light:r=!1,className:u,style:g,...p})=>t.jsxs("div",{className:h.classes(W.divider,u),"data-light":r,style:h.cssProps({lineWidth:e,lineHeight:s,notchWidth:n,notchHeight:c,collapseDelay:h.numToMs(l)},g),...p,children:[t.jsx("div",{className:W.line,"data-collapsed":a}),o&&t.jsx("div",{className:W.notch,"data-collapsed":a,style:h.cssProps({collapseDelay:h.numToMs(l+160)})})]}),H1="_table_1fa0f_1",S1="_row_1fa0f_6",z1="_head_1fa0f_15",k1="_headCell_1fa0f_20",N1="_cell_1fa0f_25",R={table:H1,row:S1,head:z1,headCell:k1,cell:N1},C1=({children:e})=>t.jsx("table",{className:R.table,children:e}),R1=({children:e})=>t.jsx("tr",{className:R.row,children:e}),P1=({children:e})=>t.jsx("thead",{className:R.head,children:e}),E1=({children:e})=>t.jsx("tbody",{className:R.body,children:e}),$1=({children:e})=>t.jsx("th",{className:R.headCell,children:e}),B1=({children:e})=>t.jsx("td",{className:R.cell,children:e}),I1="_hidden_1xw0v_1",A1={hidden:I1},D=i.forwardRef(({className:e,showOnFocus:s,as:n="span",children:c,visible:l,...a},o)=>{const r=n;return t.jsx(r,{className:h.classes(A1.hidden,e),"data-hidden":!l&&!s,"data-show-on-focus":s,ref:o,...a,children:c})}),G=({children:e,timeout:s=0,onEnter:n,onEntered:c,onExit:l,onExited:a,in:o,unmount:r})=>{const u=i.useRef(void 0),g=i.useRef(void 0);return i.useEffect(()=>{clearTimeout(o?u.current:g.current)},[o]),t.jsx(N.AnimatePresence,{children:(o||!r)&&t.jsx(Z1,{timeout:s,enterTimeout:u,exitTimeout:g,onEnter:n,onEntered:c,onExit:l,onExited:a,show:o,children:e})})},Z1=({children:e,timeout:s,enterTimeout:n,exitTimeout:c,onEnter:l,onEntered:a,onExit:o,onExited:r,show:u})=>{const[g,p]=i.useState("exited"),[_,x]=N.usePresence(),[v,m]=i.useState(!1),f=typeof s=="object";return i.useEffect(()=>{if(v||!u)return;const b=f?s.enter:s;clearTimeout(n.current),clearTimeout(c.current),m(!0),p("entering"),l==null||l(),n.current=setTimeout(()=>{p("entered"),a==null||a()},b)},[l,a,s,g,u]),i.useEffect(()=>{if(_&&u)return;const b=f?s.exit:s;clearTimeout(n.current),clearTimeout(c.current),p("exiting"),o==null||o(),c.current=setTimeout(()=>{p("exited"),x==null||x(),r==null||r()},b)},[_,o,x,s,r,u]),e(v&&u?_:!1,g)},O1="_loader_19l09_1",q1="_text_19l09_8",D1="_content_19l09_12",F1="_span_19l09_47",S={loader:O1,text:q1,content:D1,span:F1},Y=({className:e,style:s,size:n=32,text:c="Loading...",...l})=>{const a=N.useReducedMotion(),o=y.useHasMounted(),{portalContainer:r}=y.useRefractConfig(),u=()=>{if(!o)return null;const _=r();return _?h1.createPortal(t.jsx(D,{className:"loader-announcement","aria-live":"assertive",children:c}),_):null};if(a)return t.jsxs(J,{className:h.classes(S.text,e),weight:"medium",...l,children:[c,u()]});const g=Math.round(n/3*.2),p=Math.round(n/3-g*2-1);return t.jsxs("div",{className:h.classes(S.loader,e),style:h.cssProps({size:n,spanSize:p,gapSize:g},s),...l,children:[t.jsxs("div",{className:S.content,children:[t.jsx("div",{className:S.span}),t.jsx("div",{className:S.span}),t.jsx("div",{className:S.span})]}),u()]})},W1="_icon_13804_1",G1={icon:W1},K1=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"m9.793 19.207-6.5-6.5L2.586 12l.707-.707 6.5-6.5 1.414 1.414L6.414 11H21v2H6.414l4.793 4.793-1.414 1.414Z"})),U1=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M14.207 4.793l6.5 6.5.707.707-.707.707-6.5 6.5-1.414-1.414L17.586 13H3v-2h14.586l-4.793-4.793 1.414-1.414z"})),X1=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 128 128",...e},d.createElement("path",{d:"M35.34,16.5h72.75v30.73l-72.75,0V16.5L35.34,16.5z M23.42,91.7c-0.67,2.24-1.63,4.05-2.8,5.46l88.47,0l0.04,0 c3.19-0.18,5.57-1.03,7.16-2.54c1.56-1.48,2.43-3.69,2.62-6.62V3.97H24.36v80.06C24.36,87.43,24.4,88.42,23.42,91.7L23.42,91.7 L23.42,91.7z M13.15,101.13c-0.45,0.03-0.91,0.03-1.36,0.01c-1.82-0.11-3.61-0.67-5.23-1.62c-3.55-2.09-6.29-6.09-6.54-11.32 C0.01,88.12,0,88.03,0,87.95v-70.4c0-1.1,0.89-1.98,1.98-1.98l18.41,0V1.98c0-1.1,0.89-1.98,1.98-1.98l98.52,0 c1.1,0,1.98,0.89,1.98,1.98v86.07c0,0.11-0.01,0.21-0.02,0.31c-0.27,3.9-1.55,6.95-3.84,9.13c-2.28,2.17-5.5,3.38-9.67,3.62 c-0.08,0.01-0.17,0.02-0.26,0.02L13.15,101.13L13.15,101.13L13.15,101.13z M12.05,97.19c0.1-0.02,0.21-0.03,0.32-0.03h0.72 c0.79-0.08,1.56-0.3,2.28-0.68c4.41-2.31,5.02-7.95,5.02-12.42V19.53H3.97v68.41c0,0.02,0,0.05,0,0.07 c0.19,3.76,2.12,6.62,4.61,8.09c1.08,0.64,2.26,1.01,3.43,1.08L12.05,97.19L12.05,97.19L12.05,97.19z M40.87,24.15h3.9l5.07,8.52 v-8.52h3.94v15.42l-3.94,0l-5.04-8.47v8.47h-3.92V24.15L40.87,24.15z M57.21,24.15h11.17v3.3l-6.98,0v2.46l6.47,0v3.14H61.4v3.04 h7.19v3.49H57.21V24.15L57.21,24.15L57.21,24.15z M70.12,24.15h3.96l1.42,8.61l2.09-8.61h3.93l2.1,8.62l1.43-8.62H89l-2.98,15.42 l-4.09,0l-2.37-9.71l-2.36,9.71h-4.09L70.12,24.15L70.12,24.15L70.12,24.15z M90.31,34.48l3.96-0.28c0.08,0.73,0.26,1.29,0.52,1.67 c0.43,0.62,1.04,0.93,1.84,0.93c0.59,0,1.05-0.16,1.37-0.48c0.32-0.32,0.48-0.69,0.48-1.11c0-0.4-0.15-0.76-0.46-1.07 c-0.3-0.32-1.02-0.61-2.13-0.89c-1.83-0.47-3.13-1.09-3.91-1.87c-0.79-0.78-1.18-1.77-1.18-2.97c0-0.79,0.2-1.54,0.6-2.24 c0.4-0.71,1.01-1.26,1.81-1.66c0.81-0.4,1.92-0.6,3.32-0.6c1.73,0,3.04,0.37,3.95,1.1c0.91,0.73,1.44,1.9,1.62,3.5l-3.92,0.27 c-0.1-0.7-0.32-1.21-0.66-1.53c-0.34-0.32-0.8-0.48-1.39-0.48c-0.48,0-0.85,0.12-1.1,0.35c-0.25,0.23-0.37,0.52-0.37,0.86 c0,0.24,0.1,0.46,0.3,0.66c0.19,0.2,0.66,0.39,1.39,0.57c1.82,0.45,3.13,0.9,3.91,1.36c0.79,0.46,1.36,1.03,1.72,1.71 c0.36,0.68,0.54,1.44,0.54,2.28c0,0.99-0.24,1.9-0.72,2.74c-0.48,0.83-1.15,1.47-2.01,1.9c-0.86,0.43-1.94,0.65-3.25,0.65 c-2.3,0-3.89-0.51-4.77-1.52C90.93,37.31,90.43,36.03,90.31,34.48L90.31,34.48L90.31,34.48z M35.8,60.85 c-1.1,0-1.98-0.89-1.98-1.98s0.89-1.98,1.98-1.98h30.25c1.09,0,1.98,0.89,1.98,1.98s-0.89,1.98-1.98,1.98H35.8L35.8,60.85z M74.73,60.85c-1.1,0-1.99-0.89-1.99-1.99c0-1.1,0.89-1.99,1.99-1.99h32.63c1.1,0,1.99,0.89,1.99,1.99c0,1.1-0.89,1.99-1.99,1.99 H74.73L74.73,60.85z M74.73,72.36c-1.1,0-1.99-0.89-1.99-1.99s0.89-1.99,1.99-1.99h32.63c1.1,0,1.99,0.89,1.99,1.99 c0,1.1-0.89,1.99-1.99,1.99H74.73L74.73,72.36z M74.73,83.87c-1.1,0-1.99-0.89-1.99-1.99s0.89-1.99,1.99-1.99l32.63,0 c1.1,0,1.99,0.89,1.99,1.99c0,1.1-0.89,1.99-1.99,1.99L74.73,83.87L74.73,83.87z M35.8,83.87c-1.1,0-1.98-0.89-1.98-1.98 s0.89-1.98,1.98-1.98l30.25,0c1.09,0,1.98,0.89,1.98,1.98s-0.89,1.98-1.98,1.98L35.8,83.87L35.8,83.87z M36.76,72.36 c-1.1,0-1.98-0.89-1.98-1.98s0.89-1.98,1.98-1.98h30.25c1.1,0,1.98,0.89,1.98,1.98s-0.89,1.98-1.98,1.98H36.76L36.76,72.36z"})),J1=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"m20.207 7.207-10 10-.707.707-.707-.707-5-5 1.414-1.414L9.5 15.086l9.293-9.293 1.414 1.414Z"})),Q1=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M13.586 12L7.793 6.207l1.414-1.414 6.5 6.5.707.707-.707.707-6.5 6.5-1.414-1.414L13.586 12z"})),Y1=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})),e0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M14.763.075A.5.5 0 0 1 15 .5v15a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V14h-1v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V10a.5.5 0 0 1 .342-.474L6 7.64V4.5a.5.5 0 0 1 .276-.447l8-4a.5.5 0 0 1 .487.022zM6 8.694 1 10.36V15h5V8.694zM7 15h2v-1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V15h2V1.309l-7 3.5V15z"}),d.createElement("path",{d:"M2 11h1v1H2v-1zm2 0h1v1H4v-1zm-2 2h1v1H2v-1zm2 0h1v1H4v-1zm4-4h1v1H8V9zm2 0h1v1h-1V9zm-2 2h1v1H8v-1zm2 0h1v1h-1v-1zm2-2h1v1h-1V9zm0 2h1v1h-1v-1zM8 7h1v1H8V7zm2 0h1v1h-1V7zm2 0h1v1h-1V7zM8 5h1v1H8V5zm2 0h1v1h-1V5zm2 0h1v1h-1V5zm0-2h1v1h-1V3z"})),t0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M3 1H2v16h4v-2H4V3h10v2h2V1H3Zm5 6h14v12.414l-.293.293-3 3-.293.293H8V7Zm2 14h7.586L20 18.586V9H10v12Z"})),s0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"})),n0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M12 5.068 19.697 19H4.302L12 5.068Zm-.876-2.552-9.392 17L2.607 21h18.785l.875-1.484-9.392-17h-1.75ZM11 14v-4h2v4h-2Zm0 3v-2h2v2h-2Z"})),a0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{fillRule:"evenodd",d:"M15 10a2 2 0 100 4 2 2 0 000-4zm-2 5.464A4 4 0 0017.646 9 4 4 0 0015 2H9a4 4 0 00-2.646 7 4.01 4.01 0 00-.818 1 4 4 0 00.818 5 3.977 3.977 0 00-.818 1A4 4 0 1013 18v-2.536zM11 16H9a2 2 0 102 2v-2zM9 8h2V4H9a2 2 0 100 4zm0 2a2 2 0 100 4h2v-4H9zm4-2V4h2a2 2 0 010 4h-2z"})),c0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M12 2C6.477 2 2 6.477 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0012 2z"})),o0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M9 4 8 5v2h2V6h10v7H10v-2H8v3l1 1h12l1-1V5l-1-1H9Zm2 4H3L2 9v9l1 1h12l1-1v-2h-2v1H4v-7h10v2h2V9l-1-1h-4Z"})),l0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"})),r0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M22 6H2V4h20v2zM2 13h16v-2H2v2zm0 7h20v-2H2v2z"})),i0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M6 19h4V5H6v14zm8-14v14h4V5h-4z"})),h0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M8 5v14l11-7z"})),d0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M2.01 21L23 12 2.01 3 2 10l15 2-15 2 .01 7z"})),u0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 128 128",...e},d.createElement("path",{d:"M19,70.15c-4.75,1-9.66,1.1-14.42-3.79C1.4,63.1-.19,58.23,0,53.13c12.17,14.15,27-3.34,9-12.43,8.69-4.12,16.89-.25,21.24,7.76,2.06,3.78,3.29,5.76,4.86,7.11a8.58,8.58,0,0,0,.9.69A8.1,8.1,0,0,1,39.8,51.8,7.14,7.14,0,0,1,43.05,51c3.18,0,7.14,1.9,7.81,5.14h0a1.61,1.61,0,0,1,.44-.06h2.31a1.5,1.5,0,0,1,.37,0,5.6,5.6,0,0,1,5,4.59,1.65,1.65,0,0,1,.71-.16H62a1.5,1.5,0,0,1,.37,0c3.31.51,4.65,2.55,5.12,5.12l.26,0h2.31a1.5,1.5,0,0,1,.37,0c3.8.59,5.29,3.08,5.87,6.08,7-1.07,14.57-5.27,22,2.33a17.78,17.78,0,0,1,4.57,13.23c-12.17-14.15-27,3.34-9,12.43-7.47,3.54-14.59,1.17-19.2-4.66a30.06,30.06,0,0,1-2.34,4.92c-.38.62-.77,1.26-1.27,2.14a.16.16,0,0,0,0,.07,19.77,19.77,0,0,1-1.3,2h1.6a2.51,2.51,0,0,1,2.5,2.5v13.61a2.51,2.51,0,0,1-2.5,2.5H35.13a2.51,2.51,0,0,1-2.5-2.5V106.77a2.51,2.51,0,0,1,2.5-2.5H36a18,18,0,0,1-.9-3.79L22.64,80.07,22.58,80a22.48,22.48,0,0,1-2.5-4.24,12.37,12.37,0,0,1-1.08-4,10.22,10.22,0,0,1,0-1.57Zm92-33.29a2,2,0,0,0-.37-.74,1.51,1.51,0,0,0-.57-.46,1.61,1.61,0,0,0-.7-.22,2.62,2.62,0,0,0-.76.09l-.06,0-7.36,2.24a3,3,0,0,1-3.63-1.55c-.38-.64-.75-1.27-1.2-2s-1-1.38-1.39-2S94,31,93.4,30.38s-1-1.14-1.69-1.83A3.09,3.09,0,0,1,91.22,25l3.91-7.35a1.63,1.63,0,0,0,.13-1.46,2.07,2.07,0,0,0-.31-.65,1.82,1.82,0,0,0-.61-.49l-9.26-4.93a2.81,2.81,0,0,0-.68-.26,2.72,2.72,0,0,0-.82.11,1.31,1.31,0,0,0-.61.33,1.82,1.82,0,0,0-.49.61l-3.6,6.75a3.13,3.13,0,0,1-3.69,1.52c-.82-.21-1.59-.41-2.27-.55s-1.54-.28-2.36-.39a23.32,23.32,0,0,0-2.4-.19c-.84-.06-1.62,0-2.37-.06a3,3,0,0,1-3-2.18l-2.5-8.1c0-.06,0-.06,0-.1a2.52,2.52,0,0,0-.3-.66,2.09,2.09,0,0,0-1.26-.61,1.94,1.94,0,0,0-.82.11L48,9.48a1.9,1.9,0,0,0-.74.36,1.71,1.71,0,0,0-.47.57,1.5,1.5,0,0,0-.21.71,2.29,2.29,0,0,0,.09.75l0,.05,2.25,7.35a3.08,3.08,0,0,1-1.56,3.64c-.64.37-1.27.74-2,1.2s-1.38.95-2,1.39-1.3,1-1.91,1.54-1.15,1-1.83,1.7a3.1,3.1,0,0,1-3.59.48l-7.34-3.91a1.88,1.88,0,0,0-.75-.23,3.3,3.3,0,0,0-.69.07,1.31,1.31,0,0,0-.61.32,1.75,1.75,0,0,0-.49.62l-.4.74a24.3,24.3,0,0,0-6.73-.35l1.78-3.35a8.61,8.61,0,0,1,2-2.49,8.51,8.51,0,0,1,2.81-1.5,8.08,8.08,0,0,1,3.18-.33,8.57,8.57,0,0,1,3,1l5.43,2.9.4-.33c.7-.61,1.45-1.19,2.2-1.78s1.56-1.18,2.3-1.66l.26-.19-1.5-5.05a7.44,7.44,0,0,1-.33-3.17,7.84,7.84,0,0,1,.92-3.06,7.75,7.75,0,0,1,2-2.46,8.26,8.26,0,0,1,2.82-1.5L56.28.41l0,0A8.58,8.58,0,0,1,59.43,0a7.71,7.71,0,0,1,3.06.92A8.54,8.54,0,0,1,65,3a7.27,7.27,0,0,1,1.39,2.81l1.83,5.88a2.12,2.12,0,0,0,.43,0c.9.05,1.83.16,2.81.25s1.87.28,2.81.46a1,1,0,0,1,.39.1l2.46-4.63a7.84,7.84,0,0,1,4.82-3.92l.06,0a7.71,7.71,0,0,1,3.11-.31,8.44,8.44,0,0,1,3,.89l9.25,4.94a8.58,8.58,0,0,1,2.49,2,7.68,7.68,0,0,1,1.5,2.82,8,8,0,0,1,.33,3.17,8.31,8.31,0,0,1-1,3l-2.9,5.44c.11.11.23.28.34.39.6.71,1.19,1.45,1.77,2.2s1.19,1.56,1.66,2.3l.19.27,5.05-1.51a7.43,7.43,0,0,1,3.17-.32,8,8,0,0,1,3.06.91,7.67,7.67,0,0,1,2.46,2l0,.08a8.26,8.26,0,0,1,1.5,2.82l3,9.91.05,0a8.8,8.8,0,0,1,.35,3.13,7.87,7.87,0,0,1-.92,3.06,8.54,8.54,0,0,1-2,2.46A7.31,7.31,0,0,1,114.63,55l-5.88,1.83c0,.15,0,.32,0,.47,0,.91-.15,1.83-.24,2.71,0,0,0,.11,0,.15A26.84,26.84,0,0,1,108,63l-.07.34,4.67,2.49a7.52,7.52,0,0,1,2.47,2,8,8,0,0,1,1.45,2.79l0,.07a7.66,7.66,0,0,1,.31,3.1,8.25,8.25,0,0,1-.9,3l-.74,1.39-1.32-.71a25.71,25.71,0,0,0-4.34-7.75c-.14-.19-.29-.37-.45-.55a27.07,27.07,0,0,0-7.55-6.25c.09-.37.18-.75.26-1.13.13-.75.28-1.54.37-2.42,0,0,0-.11,0-.15.11-.81.17-1.54.23-2.27s.09-1.59.07-2.37a3,3,0,0,1,2.18-3l8.09-2.5s.07,0,.11,0a2.31,2.31,0,0,0,.65-.3,1.52,1.52,0,0,0,.41-.55,1.77,1.77,0,0,0,.21-.71,1.94,1.94,0,0,0-.11-.82L111,36.8l0,.06Zm-34-3.09a21.79,21.79,0,0,1,3.93,2.64,23.11,23.11,0,0,1,3.3,3.33,29.87,29.87,0,0,1,2.5,3.79,21.32,21.32,0,0,1,1.72,4.13,20.05,20.05,0,0,1,.86,4.44,20.89,20.89,0,0,1,0,4.54c0,.11,0,.19,0,.26a23,23,0,0,1-.68,3.77c-1.64.16-3.27.42-4.88.71l-1.48-.79c.13-.34.24-.69.35-1.05a18.63,18.63,0,0,0,.64-3.14.8.8,0,0,1,0-.22,17.14,17.14,0,0,0,0-3.44,17.56,17.56,0,0,0-.62-3.23,14.89,14.89,0,0,0-1.28-3,18.34,18.34,0,0,0-1.91-2.87A16.74,16.74,0,0,0,77,41.19a18.31,18.31,0,0,0-6.2-3.3,18.63,18.63,0,0,0-3.14-.64.57.57,0,0,1-.22,0,18.76,18.76,0,0,0-3.44,0,17.57,17.57,0,0,0-3.23.63,14.89,14.89,0,0,0-3,1.28,18.26,18.26,0,0,0-2.87,1.9,17.35,17.35,0,0,0-2.43,2.42c-.23.27-.46.56-.68.87l-5.46-2.91a20.4,20.4,0,0,1,1.42-1.9A22.63,22.63,0,0,1,51,36.26a28.91,28.91,0,0,1,3.79-2.51A24.63,24.63,0,0,1,59,32a22,22,0,0,1,4.39-.88,21.63,21.63,0,0,1,4.55,0c.1,0,.19.05.25,0a23.26,23.26,0,0,1,4.35.84,26.43,26.43,0,0,1,4.39,1.79l0,0Zm-37.89,24h0v.1h0l0,0V58h0v.21h0v.11h0v.11h0v.34h0V59h0v.12h0v.23h0v.13h0v.13h0V60h0v.13h0v.14h0v.25h0V79a1.68,1.68,0,1,1-3.35,0v-3.1h0a1.84,1.84,0,0,1-.25-.17L31.8,73.16l-4.34-3.57A6.52,6.52,0,0,0,26,68.66H24.87a2.57,2.57,0,0,0-1.45.06,1.46,1.46,0,0,0-.79.81h-.1a5.44,5.44,0,0,0-.2,2.11,8.87,8.87,0,0,0,.81,2.9A18.68,18.68,0,0,0,25.26,78s.07.1.1.16l12.7,20.76a1.68,1.68,0,0,1,.28.76h0a11.41,11.41,0,0,0,1.31,4.59H65a11,11,0,0,0,3.08-3.63.47.47,0,0,1,.06-.09c.36-.62.84-1.41,1.31-2.18a29.64,29.64,0,0,0,2.86-6.82v0l0-.06,0-.1,0-.06v0l0-.1,0-.07v0l0-.1.06-.2,0-.1h0l0-.09,0-.1v0l0-.07,0-.1v-.1l0-.1V90l0-.1,0-.09h0l0-.1,0-.1h0l0-.08,0-.1v0l0-.07,0-.1v-.1l0-.1,0-.07v0l0-.1,0-.08v0l0-.09,0-.1h0l0-.09,0-.1v-.1l0-.09v-.29l0-.1v-.1l0-.09v-.1h0v-.09l0-.1v-.84h0v-1l-.13-5.7a1.94,1.94,0,0,1,0-.24c0-.08,0-.62,0-1.34v-.18h0V76.84h0v-.19h0V75.36h0v-.19h0V74.1h0v-.17h0v-.18h0v-.19l0-.09v-.64l0-.08,0-.09,0-.09h0v-.09l0-.07h0l0-.09v-.08l0-.09V72a3.67,3.67,0,0,0-2.89-3H67.74c0,.47,0,.93,0,1.4h0v0h0v0h0v0h0v.1h0v0h0v.08h0V71h0v0h0v0h0v.1h0v0h0v0h0v0h0v.07h0v0h0v0h0v0h0v0h0v.05h0v0h0v0h0v0h0v0h0v.05h0v0h0v0h0v0h0v0h0v0h0v0h0v0h0v.05c-.06.93-.11,1.84-.11,2.7a1.68,1.68,0,0,1-3.36,0c0-.86.07-1.86.13-2.9v-.33h0v-.17h0v-.15h0v-.33h0v-.17h0v-.15h0v-.17h0V70.2h0v-.34h0v-.33h0V69.2h0V69c0-2.52-.45-4.71-2.48-5.08H59.7a1.37,1.37,0,0,1-.36,0c0,.94,0,1.92-.08,2.87v1c-.06.93-.11,1.83-.11,2.69a1.68,1.68,0,1,1-3.36,0c0-.86.07-1.86.13-2.9v-.17h0v-.15h0v-.16h0v-.17h0v-.17h0v-.17h0v-.32h0v-.16h0v-.17h0v-.14h0v-.17h0v-.17h0v-.07c.08-2.84-.23-5.46-2.47-5.87H51.29a1.49,1.49,0,0,1-.43-.06v6.49a1.68,1.68,0,0,1-3.36,0v-8.2c0-2.32-2.3-3.32-4.45-3.32a3.85,3.85,0,0,0-1.74.42,5,5,0,0,0-2.26,3ZM35.29,70l-1.58-.65a19.89,19.89,0,0,0-2.2-.75l2.41,2,1.37,1.12V70Z"})),v0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M16.71.243l-.12 2.71a.18.18 0 00.29.15l1.06-.8.9.7a.18.18 0 00.28-.14l-.1-2.76 1.33-.1a1.2 1.2 0 011.279 1.2v21.596a1.2 1.2 0 01-1.26 1.2l-16.096-.72a1.2 1.2 0 01-1.15-1.16l-.75-19.797a1.2 1.2 0 011.13-1.27L16.7.222zM13.64 9.3c0 .47 3.16.24 3.59-.08 0-3.2-1.72-4.89-4.859-4.89-3.15 0-4.899 1.72-4.899 4.29 0 4.45 5.999 4.53 5.999 6.959 0 .7-.32 1.1-1.05 1.1-.96 0-1.35-.49-1.3-2.16 0-.36-3.649-.48-3.769 0-.27 4.03 2.23 5.2 5.099 5.2 2.79 0 4.969-1.49 4.969-4.18 0-4.77-6.099-4.64-6.099-6.999 0-.97.72-1.1 1.13-1.1.45 0 1.25.07 1.19 1.87z"})),m0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M22.92 6c-.77.35-1.6.58-2.46.69.88-.53 1.56-1.37 1.88-2.38-.83.5-1.75.85-2.72 1.05C18.83 4.5 17.72 4 16.46 4c-2.35 0-4.27 1.92-4.27 4.29 0 .34.04.67.11.98-3.56-.18-6.73-1.89-8.84-4.48-.37.63-.58 1.37-.58 2.15 0 1.49.75 2.81 1.91 3.56-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.22 4.22 0 01-1.93.07 4.28 4.28 0 004 2.98 8.521 8.521 0 01-5.33 1.84c-.34 0-.68-.02-1.02-.06C3.9 20.29 6.16 21 8.58 21c7.88 0 12.21-6.54 12.21-12.21 0-.19 0-.37-.01-.56.84-.6 1.56-1.36 2.14-2.23z"})),e1={arrowLeft:K1,arrowRight:U1,articles:X1,company:e0,check:J1,chevronRight:Q1,close:Y1,copy:t0,download:s0,error:n0,figma:a0,github:c0,link:o0,linkedin:l0,menu:r0,pause:i0,play:h0,send:d0,skills:u0,storybook:v0,twitter:m0},C=({icon:e,className:s,...n})=>{const c=e1[e];return t.jsx(c,{"aria-hidden":!0,className:h.classes(G1.icon,s),...n})},g0="_container_19hr9_1",p0="_options_19hr9_5",_0="_button_19hr9_25",x0="_indicator_19hr9_66",q={container:g0,options:p0,button:_0,indicator:x0},t1=i.createContext({}),f0=({children:e,currentIndex:s,onChange:n,label:c,...l})=>{const o=`${i.useId()}segmented-control-label`,r=i.useRef([]),[u,g]=i.useState(),p=v=>{var j,w;const{length:m}=r.current,f=(s-1+m)%m,b=(s+1)%m;["ArrowLeft","ArrowUp"].includes(v.key)?(n(f),(j=r.current[f].current)==null||j.focus()):["ArrowRight","ArrowDown"].includes(v.key)&&(n(b),(w=r.current[b].current)==null||w.focus())},_=i.useCallback(v=>{r.current=[...r.current,v]},[]),x=i.useCallback(v=>{r.current=r.current.filter(m=>m!==v)},[]);return i.useEffect(()=>{var f;const v=(f=r.current[s])==null?void 0:f.current;if(!v)return;const m=new ResizeObserver(()=>{const b=v.getBoundingClientRect(),j=v.offsetLeft;g({width:b.width,left:j})});return m.observe(v),()=>{m.disconnect()}},[s]),t.jsx(t1.Provider,{value:{optionRefs:r,currentIndex:s,onChange:n,registerOption:_,unRegisterOption:x},children:t.jsxs("div",{className:q.container,role:"radiogroup","aria-labelledby":o,onKeyDown:p,...l,children:[t.jsx(D,{as:"label",id:o,children:c}),t.jsxs("div",{className:q.options,children:[!!u&&t.jsx("div",{className:q.indicator,"data-last":s===r.current.length-1,style:h.cssProps(u)}),e]})]})})},y0=({children:e,...s})=>{const{optionRefs:n,currentIndex:c,onChange:l,registerOption:a,unRegisterOption:o}=i.useContext(t1),r=i.useRef(null),u=n.current.indexOf(r),g=c===u;return i.useEffect(()=>(a(r),()=>{o(r)}),[a,o]),t.jsx("button",{className:q.button,tabIndex:g?0:-1,role:"radio","aria-checked":g,onClick:()=>l(u),ref:r,...s,children:e})},b0="_container_1a9g9_1",j0="_content_1a9g9_15",w0="_input_1a9g9_20",M0="_underline_1a9g9_60",L0="_label_1a9g9_32",T0="_error_1a9g9_135",V0="_errorMessage_1a9g9_151",H={container:b0,content:j0,input:w0,underline:M0,label:L0,error:T0,errorMessage:V0},H0="_textarea_vm3vl_1",S0={textarea:H0},s1=({className:e,resize:s="none",value:n,onChange:c,minRows:l=1,maxRows:a,...o})=>{const[r,u]=i.useState(l),[g,p]=i.useState(),_=i.useRef(null);i.useEffect(()=>{const v=getComputedStyle(_.current),m=parseInt(v.lineHeight,10),f=parseInt(v.paddingTop,10)+parseInt(v.paddingBottom,10);p({lineHeight:m,paddingHeight:f})},[]);const x=v=>{c(v);const{lineHeight:m,paddingHeight:f}=g,b=v.target.rows;v.target.rows=l;const j=~~((v.target.scrollHeight-f)/m);j===b&&(v.target.rows=j),a&&j>=a&&(v.target.rows=a,v.target.scrollTop=v.target.scrollHeight),u(a&&j>a?a:j)};return t.jsx("textarea",{className:h.classes(S0.textarea,e),ref:_,onChange:x,style:h.cssProps({resize:s}),rows:r,value:n,...o})},z0=({id:e,label:s,value:n,multiline:c,className:l,style:a,error:o,onBlur:r,autoComplete:u,required:g,maxLength:p,type:_,placeholder:x,maxRows:v,onChange:m,...f})=>{const[b,j]=i.useState(!1),w=i.useId(),T=i.useRef(null),V=e||`${w}input`,P=`${V}-label`,I=`${V}-error`,F=c?s1:"input",M=L=>{j(!1),r&&r(L)};return t.jsxs("div",{className:h.classes(H.container,l),"data-error":!!o,"data-multiline":!!c,style:a,...f,children:[t.jsxs("div",{className:H.content,children:[t.jsx("label",{className:H.label,"data-focused":b,"data-filled":!!n,"data-placeholder":!!x,id:P,htmlFor:V,children:s}),t.jsx(F,{className:H.input,id:V,"aria-labelledby":P,"aria-describedby":o?I:void 0,onFocus:()=>j(!0),onBlur:M,value:n,onChange:m,autoComplete:u,required:g,maxLength:p,type:_,placeholder:x,...c?{maxRows:v}:{}}),t.jsx("div",{className:H.underline,"data-focused":b})]}),t.jsx(G,{unmount:!0,in:!!o,timeout:h.msToNum(y.tokens.base.durationM),children:L=>{var E;return t.jsx("div",{className:H.error,"data-visible":L,id:I,role:"alert",style:h.cssProps({height:L?((E=T.current)==null?void 0:E.getBoundingClientRect().height)??0:0}),children:t.jsxs("div",{className:H.errorMessage,ref:T,children:[t.jsx(C,{icon:"error"}),o]})})}})]})},k0="_link_o3rjr_1",N0={link:k0},C0=["txt","png","jpg"];function R0(e){const s=C0.includes((e==null?void 0:e.split(".").pop())??"");return!!(e!=null&&e.includes("://"))||(e==null?void 0:e[0])==="#"||s}const n1=i.forwardRef(({rel:e,target:s,children:n,secondary:c,className:l,href:a,linkComponent:o,...r},u)=>{const g=y.useLinkComponent(),p=o??g,_=a==null?void 0:a.includes("://"),x=e||(_?"noreferrer noopener":void 0),v=s||(_?"_blank":void 0),m={className:h.classes(N0.link,l),"data-secondary":c,rel:x,href:a,target:v,ref:u,...r};return R0(a)?t.jsx("a",{...m,children:n}):t.jsx(p,{...m,href:a??"",children:n})}),P0="_button_1yrod_1",E0="_text_1yrod_128",$0="_loader_1yrod_141",B0="_icon_1yrod_154",$={button:P0,text:E0,loader:$0,icon:B0};function a1(e){return!!(e!=null&&e.includes("://"))}const c1=i.forwardRef(({href:e,linkComponent:s,...n},c)=>{const l=y.useLinkComponent(),a=s??l;return a1(e)||!e?t.jsx(K,{href:e,ref:c,...n}):t.jsx(K,{as:a,href:e,ref:c,...n})}),K=i.forwardRef(({className:e,as:s,secondary:n,loading:c,loadingText:l="loading",icon:a,iconEnd:o,iconHoverShift:r,iconOnly:u,children:g,rel:p,target:_,href:x,disabled:v,...m},f)=>{const b=a1(x),w=s||(x?"a":"button");return t.jsxs(w,{className:h.classes($.button,e),"data-loading":c,"data-icon-only":u,"data-secondary":n,"data-icon":a,href:x,rel:p||b?"noopener noreferrer":void 0,target:_||b?"_blank":void 0,disabled:v,ref:f,...m,children:[!!a&&t.jsx(C,{className:$.icon,"data-start":!u,"data-shift":r,icon:a}),!!g&&t.jsx("span",{className:$.text,children:g}),!!o&&t.jsx(C,{className:$.icon,"data-end":!u,"data-shift":r,icon:o}),t.jsx(G,{unmount:!0,in:c,children:T=>t.jsx(Y,{className:$.loader,size:32,text:l,"data-visible":T})})]})}),I0="_breadcrumbs_1k287_3",A0="_list_1k287_16",Z0="_item_1k287_26",O0="_link_1k287_33",q0="_separator_1k287_44",D0="_current_1k287_51",z={breadcrumbs:I0,list:A0,item:Z0,link:O0,separator:q0,current:D0},F0=({items:e,className:s})=>t.jsx("nav",{"aria-label":"Breadcrumb",className:h.classes(z.breadcrumbs,s),children:t.jsx("ol",{className:z.list,children:e.map((n,c)=>{const l=c===e.length-1;return t.jsxs("li",{className:z.item,children:[c>0&&t.jsx(C,{className:z.separator,icon:"chevronRight","aria-hidden":"true"}),l?t.jsx("span",{className:z.current,"aria-current":"page",children:n.label}):t.jsx(n1,{className:z.link,href:n.href,children:n.label})]},n.href)})})});async function W0(e){return new Promise(s=>setTimeout(s,e))}const G0="_text_11knq_1",K0="_glyph_11knq_8",U0="_value_11knq_15",O={text:G0,glyph:K0,value:U0},U=["अ","आ","इ","ई","उ","ऊ","ऋ","ए","ऐ","ओ","औ","क","ख","ग","घ","ङ","च","छ","ज","झ","ञ","ट","ठ","ड","ढ","ण","त","थ","द","ध","न","प","फ","ब","भ","म","य","र","ल","व","श","ष","स","ह","ळ","०","१","२","३","४","५","६","७","८","९"],B={Glyph:"glyph",Value:"value"};function X0(e,s,n){return e.map((c,l)=>{if(l<n)return{type:B.Value,value:c};if(n%1<.5){const a=Math.floor(Math.random()*U.length);return{type:B.Glyph,value:U[a]}}return{type:B.Glyph,value:s[l].value}})}const J0=i.memo(({text:e,start:s=!0,delay:n=0,className:c,...l})=>{const a=i.useRef([{type:B.Glyph,value:""}]),o=i.useRef(null),r=N.useReducedMotion(),u=N.useSpring(0,{stiffness:8,damping:5});return i.useEffect(()=>{const g=o.current,p=e.split(""),_=()=>{const m=a.current.map(f=>`<span class="${O[f.type]}">${f.value}</span>`);g&&(g.innerHTML=m.join(""))},x=u.on("change",m=>{a.current=X0(p,a.current,m),_()});return s&&!r&&(async()=>{await W0(n),u.set(p.length)})(),r&&(a.current=p.map((m,f)=>({type:B.Value,value:p[f]})),_()),()=>{x==null||x()}},[u,r,s,n,e]),t.jsxs("span",{className:h.classes(O.text,c),...l,children:[t.jsx(D,{className:O.label,children:e}),t.jsx("span",{"aria-hidden":!0,className:O.content,ref:o})]})}),Q0="_image_y6je9_1",Y0="_elementWrapper_y6je9_49",ee="_placeholder_y6je9_71",te="_element_y6je9_49",se="_button_y6je9_101",k={image:Q0,elementWrapper:Y0,placeholder:ee,element:te,button:se},ne=({className:e,style:s,reveal:n,delay:c=0,raised:l,src:a,srcSet:o,placeholder:r,...u})=>{const[g,p]=i.useState(!1),{themeId:_}=y.useTheme(),x=i.useRef(null),v=a||(o==null?void 0:o[0]),m=h.useInViewport(x,!o1(v)),f=i.useCallback(()=>{p(!0)},[]);return t.jsx("div",{className:h.classes(k.image,e),"data-visible":m||g,"data-reveal":n,"data-raised":l,"data-theme":_,style:h.cssProps({delay:h.numToMs(c)},s),ref:x,children:t.jsx(ae,{delay:c,onLoad:f,loaded:g,inViewport:m,reveal:n,src:v,srcSet:o,placeholder:r,...u})})},ae=({onLoad:e,loaded:s,inViewport:n,srcSet:c,placeholder:l,delay:a,src:o,alt:r,play:u=!0,restartOnPause:g,reveal:p,sizes:_,noPauseButton:x,...v})=>{const m=N.useReducedMotion(),[f,b]=i.useState(!0),[j,w]=i.useState(!m),[T,V]=i.useState(),[P,I]=i.useState(!1),F=i.useRef(null),M=i.useRef(null),L=o1(o),E=n,l1=h.srcSetToString(c),r1=y.useHasMounted();i.useEffect(()=>{L&&c?(async()=>{const Z=await h.resolveSrcFromSrcSet({srcSet:c,sizes:_});V(Z)})():L&&V(o.src)},[L,_,o,c]),i.useEffect(()=>{if(!M.current||!T)return;const A=()=>{w(!0),M.current.play()},Z=()=>{w(!1),M.current.pause()};u||(Z(),g&&(M.current.currentTime=0)),!P&&(n?n&&!m&&u&&A():Z())},[n,u,m,g,P,T]);const i1=A=>{A.preventDefault(),I(!0),M.current.paused?(w(!0),M.current.play()):(w(!1),M.current.pause())};return t.jsxs("div",{className:k.elementWrapper,"data-reveal":p,"data-visible":n||s,style:h.cssProps({delay:h.numToMs(a+1e3)}),children:[L&&r1&&t.jsxs(i.Fragment,{children:[t.jsx("video",{muted:!0,loop:!0,playsInline:!0,className:k.element,"data-loaded":s,autoPlay:!m,role:"img",onLoadStart:e,src:T,"aria-label":r,ref:M,...v}),!x&&t.jsxs(c1,{className:k.button,onClick:i1,children:[t.jsx(C,{icon:j?"pause":"play"}),j?"Pause":"Play"]})]}),!L&&t.jsx("img",{className:k.element,"data-loaded":s,onLoad:e,decoding:"async",src:E?o==null?void 0:o.src:void 0,srcSet:E?l1:void 0,width:o==null?void 0:o.width,height:o==null?void 0:o.height,alt:r,sizes:_,...v}),f&&l&&t.jsx("img",{"aria-hidden":!0,className:k.placeholder,"data-loaded":s,style:h.cssProps({delay:h.numToMs(a)}),ref:F,src:l.src,width:l.width,height:l.height,onTransitionEnd:()=>b(!1),decoding:"async",alt:"",role:"presentation"})]})};function o1(e){return e?typeof e.src=="string"&&e.src.endsWith(".mp4"):!1}const ce="_wordmark_w8y5a_1",oe="_highlight_w8y5a_6",X={wordmark:ce,highlight:oe},le=i.forwardRef(({highlight:e,className:s,...n},c)=>{const a=`${i.useId()}wordmark-clip`;return t.jsxs("svg",{"aria-hidden":!0,className:h.classes(X.wordmark,s),width:"46",height:"29",viewBox:"0 0 46 29",ref:c,...n,children:[t.jsx("defs",{children:t.jsx("clipPath",{id:a,children:t.jsx("path",{d:"M 10.3281 17.7888 l 4.4875 -11.4688 l 0.0019 -0.0006 l 6.075 11.5263 a 0.5238 0.5238 90 0 0 0.9525 -0.0581 l 2.1187 -5.515 a 0.5288 0.5288 90 0 0 -0.025 -0.4288 L 18.9419 2.2531 A 4.1863 4.1863 90 0 0 15.2294 0 h -2.875 a 0.525 0.525 90 0 0 -0.4625 0.7688 l 2.2687 4.3044 l -2.2844 5.7188 l -4.45 -8.5388 A 4.1863 4.1863 90 0 0 3.7138 0 h -2.875 a 0.5262 0.5262 90 0 0 -0.4675 0.7688 L 9.375 17.8462 a 0.5244 0.5244 90 0 0 0.9525 -0.0575 z M 26.495 5.5037 a 0.5219 0.5219 90 0 0 0.2419 -0.2787 v 0.0006 l 1.6687 -4.5188 a 0.5238 0.5238 90 0 0 -0.4906 -0.7056 h -4.1113 a 0.5231 0.5231 90 0 0 -0.46 0.7737 l 2.4419 4.5163 c 0.1375 0.2562 0.4556 0.35 0.7094 0.2125 z M 39.375 0 l 0 18.125 L 34.375 18.125 l 0 -11.875 A 4.1863 4.1863 90 0 0 34.375 18.125 L 34.375 18.125 L 34.375 0 z z",transform:"rotate(180 23 15)"})})}),t.jsx("rect",{clipPath:`url(#${a})`,width:"100%",height:"100%"}),e&&t.jsx("g",{clipPath:`url(#${a})`,children:t.jsx("rect",{className:X.highlight,width:"100%",height:"100%"})})]})});exports.classes=h.classes;exports.cssProps=h.cssProps;exports.media=h.media;exports.msToNum=h.msToNum;exports.numToMs=h.numToMs;exports.numToPx=h.numToPx;exports.pxToNum=h.pxToNum;exports.pxToRem=h.pxToRem;exports.rgbToThreeColor=h.rgbToThreeColor;exports.LinkProvider=y.LinkProvider;exports.RefractProvider=y.RefractProvider;exports.ThemeContext=y.ThemeContext;exports.ThemeProvider=y.ThemeProvider;exports.createMediaTokenProperties=y.createMediaTokenProperties;exports.createThemeProperties=y.createThemeProperties;exports.createThemeStyleObject=y.createThemeStyleObject;exports.squish=y.squish;exports.theme=y.theme;exports.tokenStyles=y.tokenStyles;exports.tokens=y.tokens;exports.useLinkComponent=y.useLinkComponent;exports.useRefractConfig=y.useRefractConfig;exports.useTheme=y.useTheme;exports.Breadcrumbs=F0;exports.Button=c1;exports.Divider=V1;exports.Heading=p1;exports.Icon=C;exports.Image=ne;exports.Input=z0;exports.Link=n1;exports.List=j1;exports.ListItem=w1;exports.Loader=Y;exports.ScrambleReveal=J0;exports.Section=f1;exports.SegmentedControl=f0;exports.SegmentedControlOption=y0;exports.Table=C1;exports.TableBody=E1;exports.TableCell=B1;exports.TableHead=P1;exports.TableHeadCell=$1;exports.TableRow=R1;exports.Text=J;exports.TextArea=s1;exports.Transition=G;exports.VisuallyHidden=D;exports.Wordmark=le;exports.icons=e1;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("./style-CWBkJEps.cjs"),t=require("react/jsx-runtime"),i=require("react"),y=require("./RefractProvider-Bzz4G22S.cjs"),N=require("framer-motion"),h1=require("react-dom");function d1(e){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const n in e)if(n!=="default"){const c=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(s,n,c.get?c:{enumerable:!0,get:()=>e[n]})}}return s.default=e,Object.freeze(s)}const d=d1(i),u1="_text_18l38_1",v1={text:u1},J=({children:e,size:s="m",as:n="span",align:c="auto",weight:l="auto",secondary:a,className:o,...r})=>t.jsx(n,{className:h.classes(v1.text,o),"data-align":c,"data-size":s,"data-weight":l,"data-secondary":a,...r,children:e}),m1="_heading_17xux_1",g1={heading:m1},p1=({children:e,level:s=1,as:n,align:c="auto",weight:l="medium",className:a,...o})=>{const r=Math.min(Math.max(s,0),5),u=n||`h${Math.max(r,1)}`;return t.jsx(i.Fragment,{children:t.jsx(u,{className:h.classes(g1.heading,a),"data-align":c,"data-weight":l,"data-level":r,...o,children:e})})},_1="_section_e4ou0_1",x1={section:_1},f1=i.forwardRef(({as:e="div",children:s,className:n,...c},l)=>{const a=e;return t.jsx(a,{className:h.classes(x1.section,n),ref:l,...c,children:s})}),y1="_list_70779_1",b1="_item_70779_14",Q={list:y1,item:b1},j1=({ordered:e,children:s,className:n,...c})=>{const l=e?"ol":"ul";return t.jsx(l,{className:h.classes(Q.list,n),...c,children:s})},w1=({children:e,...s})=>t.jsx("li",{className:Q.item,...s,children:e}),M1="_divider_vqctv_1",L1="_line_vqctv_14",T1="_notch_vqctv_36",W={divider:M1,line:L1,notch:T1},V1=({lineWidth:e="100%",lineHeight:s="2px",notchWidth:n="90px",notchHeight:c="10px",collapseDelay:l=0,collapsed:a=!1,notch:o=!0,light:r=!1,className:u,style:g,...p})=>t.jsxs("div",{className:h.classes(W.divider,u),"data-light":r,style:h.cssProps({lineWidth:e,lineHeight:s,notchWidth:n,notchHeight:c,collapseDelay:h.numToMs(l)},g),...p,children:[t.jsx("div",{className:W.line,"data-collapsed":a}),o&&t.jsx("div",{className:W.notch,"data-collapsed":a,style:h.cssProps({collapseDelay:h.numToMs(l+160)})})]}),H1="_table_1fa0f_1",S1="_row_1fa0f_6",z1="_head_1fa0f_15",k1="_headCell_1fa0f_20",N1="_cell_1fa0f_25",R={table:H1,row:S1,head:z1,headCell:k1,cell:N1},C1=({children:e})=>t.jsx("table",{className:R.table,children:e}),R1=({children:e})=>t.jsx("tr",{className:R.row,children:e}),P1=({children:e})=>t.jsx("thead",{className:R.head,children:e}),E1=({children:e})=>t.jsx("tbody",{className:R.body,children:e}),$1=({children:e})=>t.jsx("th",{className:R.headCell,children:e}),B1=({children:e})=>t.jsx("td",{className:R.cell,children:e}),I1="_hidden_1xw0v_1",A1={hidden:I1},D=i.forwardRef(({className:e,showOnFocus:s,as:n="span",children:c,visible:l,...a},o)=>{const r=n;return t.jsx(r,{className:h.classes(A1.hidden,e),"data-hidden":!l&&!s,"data-show-on-focus":s,ref:o,...a,children:c})}),G=({children:e,timeout:s=0,onEnter:n,onEntered:c,onExit:l,onExited:a,in:o,unmount:r})=>{const u=i.useRef(void 0),g=i.useRef(void 0);return i.useEffect(()=>{clearTimeout(o?g.current:u.current)},[o]),t.jsx(N.AnimatePresence,{children:(o||!r)&&t.jsx(Z1,{timeout:s,enterTimeout:u,exitTimeout:g,onEnter:n,onEntered:c,onExit:l,onExited:a,show:o,children:e})})},Z1=({children:e,timeout:s,enterTimeout:n,exitTimeout:c,onEnter:l,onEntered:a,onExit:o,onExited:r,show:u})=>{const[g,p]=i.useState("exited"),[_,x]=N.usePresence(),[v,m]=i.useState(!1),f=typeof s=="object";return i.useEffect(()=>{if(v||!u)return;const b=f?s.enter:s;clearTimeout(n.current),clearTimeout(c.current),m(!0),p("entering"),l==null||l(),n.current=setTimeout(()=>{p("entered"),a==null||a()},b)},[l,a,s,g,u]),i.useEffect(()=>{if(_&&u)return;const b=f?s.exit:s;clearTimeout(n.current),clearTimeout(c.current),p("exiting"),o==null||o(),c.current=setTimeout(()=>{p("exited"),x==null||x(),r==null||r()},b)},[_,o,x,s,r,u]),e(v&&u?_:!1,g)},O1="_loader_19l09_1",q1="_text_19l09_8",D1="_content_19l09_12",F1="_span_19l09_47",S={loader:O1,text:q1,content:D1,span:F1},Y=({className:e,style:s,size:n=32,text:c="Loading...",...l})=>{const a=N.useReducedMotion(),o=y.useHasMounted(),{portalContainer:r}=y.useRefractConfig(),u=()=>{if(!o)return null;const _=r();return _?h1.createPortal(t.jsx(D,{className:"loader-announcement","aria-live":"assertive",children:c}),_):null};if(a)return t.jsxs(J,{className:h.classes(S.text,e),weight:"medium",...l,children:[c,u()]});const g=Math.round(n/3*.2),p=Math.round(n/3-g*2-1);return t.jsxs("div",{className:h.classes(S.loader,e),style:h.cssProps({size:n,spanSize:p,gapSize:g},s),...l,children:[t.jsxs("div",{className:S.content,children:[t.jsx("div",{className:S.span}),t.jsx("div",{className:S.span}),t.jsx("div",{className:S.span})]}),u()]})},W1="_icon_13804_1",G1={icon:W1},K1=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"m9.793 19.207-6.5-6.5L2.586 12l.707-.707 6.5-6.5 1.414 1.414L6.414 11H21v2H6.414l4.793 4.793-1.414 1.414Z"})),U1=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M14.207 4.793l6.5 6.5.707.707-.707.707-6.5 6.5-1.414-1.414L17.586 13H3v-2h14.586l-4.793-4.793 1.414-1.414z"})),X1=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 128 128",...e},d.createElement("path",{d:"M35.34,16.5h72.75v30.73l-72.75,0V16.5L35.34,16.5z M23.42,91.7c-0.67,2.24-1.63,4.05-2.8,5.46l88.47,0l0.04,0 c3.19-0.18,5.57-1.03,7.16-2.54c1.56-1.48,2.43-3.69,2.62-6.62V3.97H24.36v80.06C24.36,87.43,24.4,88.42,23.42,91.7L23.42,91.7 L23.42,91.7z M13.15,101.13c-0.45,0.03-0.91,0.03-1.36,0.01c-1.82-0.11-3.61-0.67-5.23-1.62c-3.55-2.09-6.29-6.09-6.54-11.32 C0.01,88.12,0,88.03,0,87.95v-70.4c0-1.1,0.89-1.98,1.98-1.98l18.41,0V1.98c0-1.1,0.89-1.98,1.98-1.98l98.52,0 c1.1,0,1.98,0.89,1.98,1.98v86.07c0,0.11-0.01,0.21-0.02,0.31c-0.27,3.9-1.55,6.95-3.84,9.13c-2.28,2.17-5.5,3.38-9.67,3.62 c-0.08,0.01-0.17,0.02-0.26,0.02L13.15,101.13L13.15,101.13L13.15,101.13z M12.05,97.19c0.1-0.02,0.21-0.03,0.32-0.03h0.72 c0.79-0.08,1.56-0.3,2.28-0.68c4.41-2.31,5.02-7.95,5.02-12.42V19.53H3.97v68.41c0,0.02,0,0.05,0,0.07 c0.19,3.76,2.12,6.62,4.61,8.09c1.08,0.64,2.26,1.01,3.43,1.08L12.05,97.19L12.05,97.19L12.05,97.19z M40.87,24.15h3.9l5.07,8.52 v-8.52h3.94v15.42l-3.94,0l-5.04-8.47v8.47h-3.92V24.15L40.87,24.15z M57.21,24.15h11.17v3.3l-6.98,0v2.46l6.47,0v3.14H61.4v3.04 h7.19v3.49H57.21V24.15L57.21,24.15L57.21,24.15z M70.12,24.15h3.96l1.42,8.61l2.09-8.61h3.93l2.1,8.62l1.43-8.62H89l-2.98,15.42 l-4.09,0l-2.37-9.71l-2.36,9.71h-4.09L70.12,24.15L70.12,24.15L70.12,24.15z M90.31,34.48l3.96-0.28c0.08,0.73,0.26,1.29,0.52,1.67 c0.43,0.62,1.04,0.93,1.84,0.93c0.59,0,1.05-0.16,1.37-0.48c0.32-0.32,0.48-0.69,0.48-1.11c0-0.4-0.15-0.76-0.46-1.07 c-0.3-0.32-1.02-0.61-2.13-0.89c-1.83-0.47-3.13-1.09-3.91-1.87c-0.79-0.78-1.18-1.77-1.18-2.97c0-0.79,0.2-1.54,0.6-2.24 c0.4-0.71,1.01-1.26,1.81-1.66c0.81-0.4,1.92-0.6,3.32-0.6c1.73,0,3.04,0.37,3.95,1.1c0.91,0.73,1.44,1.9,1.62,3.5l-3.92,0.27 c-0.1-0.7-0.32-1.21-0.66-1.53c-0.34-0.32-0.8-0.48-1.39-0.48c-0.48,0-0.85,0.12-1.1,0.35c-0.25,0.23-0.37,0.52-0.37,0.86 c0,0.24,0.1,0.46,0.3,0.66c0.19,0.2,0.66,0.39,1.39,0.57c1.82,0.45,3.13,0.9,3.91,1.36c0.79,0.46,1.36,1.03,1.72,1.71 c0.36,0.68,0.54,1.44,0.54,2.28c0,0.99-0.24,1.9-0.72,2.74c-0.48,0.83-1.15,1.47-2.01,1.9c-0.86,0.43-1.94,0.65-3.25,0.65 c-2.3,0-3.89-0.51-4.77-1.52C90.93,37.31,90.43,36.03,90.31,34.48L90.31,34.48L90.31,34.48z M35.8,60.85 c-1.1,0-1.98-0.89-1.98-1.98s0.89-1.98,1.98-1.98h30.25c1.09,0,1.98,0.89,1.98,1.98s-0.89,1.98-1.98,1.98H35.8L35.8,60.85z M74.73,60.85c-1.1,0-1.99-0.89-1.99-1.99c0-1.1,0.89-1.99,1.99-1.99h32.63c1.1,0,1.99,0.89,1.99,1.99c0,1.1-0.89,1.99-1.99,1.99 H74.73L74.73,60.85z M74.73,72.36c-1.1,0-1.99-0.89-1.99-1.99s0.89-1.99,1.99-1.99h32.63c1.1,0,1.99,0.89,1.99,1.99 c0,1.1-0.89,1.99-1.99,1.99H74.73L74.73,72.36z M74.73,83.87c-1.1,0-1.99-0.89-1.99-1.99s0.89-1.99,1.99-1.99l32.63,0 c1.1,0,1.99,0.89,1.99,1.99c0,1.1-0.89,1.99-1.99,1.99L74.73,83.87L74.73,83.87z M35.8,83.87c-1.1,0-1.98-0.89-1.98-1.98 s0.89-1.98,1.98-1.98l30.25,0c1.09,0,1.98,0.89,1.98,1.98s-0.89,1.98-1.98,1.98L35.8,83.87L35.8,83.87z M36.76,72.36 c-1.1,0-1.98-0.89-1.98-1.98s0.89-1.98,1.98-1.98h30.25c1.1,0,1.98,0.89,1.98,1.98s-0.89,1.98-1.98,1.98H36.76L36.76,72.36z"})),J1=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"m20.207 7.207-10 10-.707.707-.707-.707-5-5 1.414-1.414L9.5 15.086l9.293-9.293 1.414 1.414Z"})),Q1=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M13.586 12L7.793 6.207l1.414-1.414 6.5 6.5.707.707-.707.707-6.5 6.5-1.414-1.414L13.586 12z"})),Y1=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"})),e0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M14.763.075A.5.5 0 0 1 15 .5v15a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V14h-1v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V10a.5.5 0 0 1 .342-.474L6 7.64V4.5a.5.5 0 0 1 .276-.447l8-4a.5.5 0 0 1 .487.022zM6 8.694 1 10.36V15h5V8.694zM7 15h2v-1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V15h2V1.309l-7 3.5V15z"}),d.createElement("path",{d:"M2 11h1v1H2v-1zm2 0h1v1H4v-1zm-2 2h1v1H2v-1zm2 0h1v1H4v-1zm4-4h1v1H8V9zm2 0h1v1h-1V9zm-2 2h1v1H8v-1zm2 0h1v1h-1v-1zm2-2h1v1h-1V9zm0 2h1v1h-1v-1zM8 7h1v1H8V7zm2 0h1v1h-1V7zm2 0h1v1h-1V7zM8 5h1v1H8V5zm2 0h1v1h-1V5zm2 0h1v1h-1V5zm0-2h1v1h-1V3z"})),t0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M3 1H2v16h4v-2H4V3h10v2h2V1H3Zm5 6h14v12.414l-.293.293-3 3-.293.293H8V7Zm2 14h7.586L20 18.586V9H10v12Z"})),s0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"})),n0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M12 5.068 19.697 19H4.302L12 5.068Zm-.876-2.552-9.392 17L2.607 21h18.785l.875-1.484-9.392-17h-1.75ZM11 14v-4h2v4h-2Zm0 3v-2h2v2h-2Z"})),a0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{fillRule:"evenodd",d:"M15 10a2 2 0 100 4 2 2 0 000-4zm-2 5.464A4 4 0 0017.646 9 4 4 0 0015 2H9a4 4 0 00-2.646 7 4.01 4.01 0 00-.818 1 4 4 0 00.818 5 3.977 3.977 0 00-.818 1A4 4 0 1013 18v-2.536zM11 16H9a2 2 0 102 2v-2zM9 8h2V4H9a2 2 0 100 4zm0 2a2 2 0 100 4h2v-4H9zm4-2V4h2a2 2 0 010 4h-2z"})),c0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M12 2C6.477 2 2 6.477 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0012 2z"})),o0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M9 4 8 5v2h2V6h10v7H10v-2H8v3l1 1h12l1-1V5l-1-1H9Zm2 4H3L2 9v9l1 1h12l1-1v-2h-2v1H4v-7h10v2h2V9l-1-1h-4Z"})),l0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"})),r0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M22 6H2V4h20v2zM2 13h16v-2H2v2zm0 7h20v-2H2v2z"})),i0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M6 19h4V5H6v14zm8-14v14h4V5h-4z"})),h0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M8 5v14l11-7z"})),d0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M2.01 21L23 12 2.01 3 2 10l15 2-15 2 .01 7z"})),u0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 128 128",...e},d.createElement("path",{d:"M19,70.15c-4.75,1-9.66,1.1-14.42-3.79C1.4,63.1-.19,58.23,0,53.13c12.17,14.15,27-3.34,9-12.43,8.69-4.12,16.89-.25,21.24,7.76,2.06,3.78,3.29,5.76,4.86,7.11a8.58,8.58,0,0,0,.9.69A8.1,8.1,0,0,1,39.8,51.8,7.14,7.14,0,0,1,43.05,51c3.18,0,7.14,1.9,7.81,5.14h0a1.61,1.61,0,0,1,.44-.06h2.31a1.5,1.5,0,0,1,.37,0,5.6,5.6,0,0,1,5,4.59,1.65,1.65,0,0,1,.71-.16H62a1.5,1.5,0,0,1,.37,0c3.31.51,4.65,2.55,5.12,5.12l.26,0h2.31a1.5,1.5,0,0,1,.37,0c3.8.59,5.29,3.08,5.87,6.08,7-1.07,14.57-5.27,22,2.33a17.78,17.78,0,0,1,4.57,13.23c-12.17-14.15-27,3.34-9,12.43-7.47,3.54-14.59,1.17-19.2-4.66a30.06,30.06,0,0,1-2.34,4.92c-.38.62-.77,1.26-1.27,2.14a.16.16,0,0,0,0,.07,19.77,19.77,0,0,1-1.3,2h1.6a2.51,2.51,0,0,1,2.5,2.5v13.61a2.51,2.51,0,0,1-2.5,2.5H35.13a2.51,2.51,0,0,1-2.5-2.5V106.77a2.51,2.51,0,0,1,2.5-2.5H36a18,18,0,0,1-.9-3.79L22.64,80.07,22.58,80a22.48,22.48,0,0,1-2.5-4.24,12.37,12.37,0,0,1-1.08-4,10.22,10.22,0,0,1,0-1.57Zm92-33.29a2,2,0,0,0-.37-.74,1.51,1.51,0,0,0-.57-.46,1.61,1.61,0,0,0-.7-.22,2.62,2.62,0,0,0-.76.09l-.06,0-7.36,2.24a3,3,0,0,1-3.63-1.55c-.38-.64-.75-1.27-1.2-2s-1-1.38-1.39-2S94,31,93.4,30.38s-1-1.14-1.69-1.83A3.09,3.09,0,0,1,91.22,25l3.91-7.35a1.63,1.63,0,0,0,.13-1.46,2.07,2.07,0,0,0-.31-.65,1.82,1.82,0,0,0-.61-.49l-9.26-4.93a2.81,2.81,0,0,0-.68-.26,2.72,2.72,0,0,0-.82.11,1.31,1.31,0,0,0-.61.33,1.82,1.82,0,0,0-.49.61l-3.6,6.75a3.13,3.13,0,0,1-3.69,1.52c-.82-.21-1.59-.41-2.27-.55s-1.54-.28-2.36-.39a23.32,23.32,0,0,0-2.4-.19c-.84-.06-1.62,0-2.37-.06a3,3,0,0,1-3-2.18l-2.5-8.1c0-.06,0-.06,0-.1a2.52,2.52,0,0,0-.3-.66,2.09,2.09,0,0,0-1.26-.61,1.94,1.94,0,0,0-.82.11L48,9.48a1.9,1.9,0,0,0-.74.36,1.71,1.71,0,0,0-.47.57,1.5,1.5,0,0,0-.21.71,2.29,2.29,0,0,0,.09.75l0,.05,2.25,7.35a3.08,3.08,0,0,1-1.56,3.64c-.64.37-1.27.74-2,1.2s-1.38.95-2,1.39-1.3,1-1.91,1.54-1.15,1-1.83,1.7a3.1,3.1,0,0,1-3.59.48l-7.34-3.91a1.88,1.88,0,0,0-.75-.23,3.3,3.3,0,0,0-.69.07,1.31,1.31,0,0,0-.61.32,1.75,1.75,0,0,0-.49.62l-.4.74a24.3,24.3,0,0,0-6.73-.35l1.78-3.35a8.61,8.61,0,0,1,2-2.49,8.51,8.51,0,0,1,2.81-1.5,8.08,8.08,0,0,1,3.18-.33,8.57,8.57,0,0,1,3,1l5.43,2.9.4-.33c.7-.61,1.45-1.19,2.2-1.78s1.56-1.18,2.3-1.66l.26-.19-1.5-5.05a7.44,7.44,0,0,1-.33-3.17,7.84,7.84,0,0,1,.92-3.06,7.75,7.75,0,0,1,2-2.46,8.26,8.26,0,0,1,2.82-1.5L56.28.41l0,0A8.58,8.58,0,0,1,59.43,0a7.71,7.71,0,0,1,3.06.92A8.54,8.54,0,0,1,65,3a7.27,7.27,0,0,1,1.39,2.81l1.83,5.88a2.12,2.12,0,0,0,.43,0c.9.05,1.83.16,2.81.25s1.87.28,2.81.46a1,1,0,0,1,.39.1l2.46-4.63a7.84,7.84,0,0,1,4.82-3.92l.06,0a7.71,7.71,0,0,1,3.11-.31,8.44,8.44,0,0,1,3,.89l9.25,4.94a8.58,8.58,0,0,1,2.49,2,7.68,7.68,0,0,1,1.5,2.82,8,8,0,0,1,.33,3.17,8.31,8.31,0,0,1-1,3l-2.9,5.44c.11.11.23.28.34.39.6.71,1.19,1.45,1.77,2.2s1.19,1.56,1.66,2.3l.19.27,5.05-1.51a7.43,7.43,0,0,1,3.17-.32,8,8,0,0,1,3.06.91,7.67,7.67,0,0,1,2.46,2l0,.08a8.26,8.26,0,0,1,1.5,2.82l3,9.91.05,0a8.8,8.8,0,0,1,.35,3.13,7.87,7.87,0,0,1-.92,3.06,8.54,8.54,0,0,1-2,2.46A7.31,7.31,0,0,1,114.63,55l-5.88,1.83c0,.15,0,.32,0,.47,0,.91-.15,1.83-.24,2.71,0,0,0,.11,0,.15A26.84,26.84,0,0,1,108,63l-.07.34,4.67,2.49a7.52,7.52,0,0,1,2.47,2,8,8,0,0,1,1.45,2.79l0,.07a7.66,7.66,0,0,1,.31,3.1,8.25,8.25,0,0,1-.9,3l-.74,1.39-1.32-.71a25.71,25.71,0,0,0-4.34-7.75c-.14-.19-.29-.37-.45-.55a27.07,27.07,0,0,0-7.55-6.25c.09-.37.18-.75.26-1.13.13-.75.28-1.54.37-2.42,0,0,0-.11,0-.15.11-.81.17-1.54.23-2.27s.09-1.59.07-2.37a3,3,0,0,1,2.18-3l8.09-2.5s.07,0,.11,0a2.31,2.31,0,0,0,.65-.3,1.52,1.52,0,0,0,.41-.55,1.77,1.77,0,0,0,.21-.71,1.94,1.94,0,0,0-.11-.82L111,36.8l0,.06Zm-34-3.09a21.79,21.79,0,0,1,3.93,2.64,23.11,23.11,0,0,1,3.3,3.33,29.87,29.87,0,0,1,2.5,3.79,21.32,21.32,0,0,1,1.72,4.13,20.05,20.05,0,0,1,.86,4.44,20.89,20.89,0,0,1,0,4.54c0,.11,0,.19,0,.26a23,23,0,0,1-.68,3.77c-1.64.16-3.27.42-4.88.71l-1.48-.79c.13-.34.24-.69.35-1.05a18.63,18.63,0,0,0,.64-3.14.8.8,0,0,1,0-.22,17.14,17.14,0,0,0,0-3.44,17.56,17.56,0,0,0-.62-3.23,14.89,14.89,0,0,0-1.28-3,18.34,18.34,0,0,0-1.91-2.87A16.74,16.74,0,0,0,77,41.19a18.31,18.31,0,0,0-6.2-3.3,18.63,18.63,0,0,0-3.14-.64.57.57,0,0,1-.22,0,18.76,18.76,0,0,0-3.44,0,17.57,17.57,0,0,0-3.23.63,14.89,14.89,0,0,0-3,1.28,18.26,18.26,0,0,0-2.87,1.9,17.35,17.35,0,0,0-2.43,2.42c-.23.27-.46.56-.68.87l-5.46-2.91a20.4,20.4,0,0,1,1.42-1.9A22.63,22.63,0,0,1,51,36.26a28.91,28.91,0,0,1,3.79-2.51A24.63,24.63,0,0,1,59,32a22,22,0,0,1,4.39-.88,21.63,21.63,0,0,1,4.55,0c.1,0,.19.05.25,0a23.26,23.26,0,0,1,4.35.84,26.43,26.43,0,0,1,4.39,1.79l0,0Zm-37.89,24h0v.1h0l0,0V58h0v.21h0v.11h0v.11h0v.34h0V59h0v.12h0v.23h0v.13h0v.13h0V60h0v.13h0v.14h0v.25h0V79a1.68,1.68,0,1,1-3.35,0v-3.1h0a1.84,1.84,0,0,1-.25-.17L31.8,73.16l-4.34-3.57A6.52,6.52,0,0,0,26,68.66H24.87a2.57,2.57,0,0,0-1.45.06,1.46,1.46,0,0,0-.79.81h-.1a5.44,5.44,0,0,0-.2,2.11,8.87,8.87,0,0,0,.81,2.9A18.68,18.68,0,0,0,25.26,78s.07.1.1.16l12.7,20.76a1.68,1.68,0,0,1,.28.76h0a11.41,11.41,0,0,0,1.31,4.59H65a11,11,0,0,0,3.08-3.63.47.47,0,0,1,.06-.09c.36-.62.84-1.41,1.31-2.18a29.64,29.64,0,0,0,2.86-6.82v0l0-.06,0-.1,0-.06v0l0-.1,0-.07v0l0-.1.06-.2,0-.1h0l0-.09,0-.1v0l0-.07,0-.1v-.1l0-.1V90l0-.1,0-.09h0l0-.1,0-.1h0l0-.08,0-.1v0l0-.07,0-.1v-.1l0-.1,0-.07v0l0-.1,0-.08v0l0-.09,0-.1h0l0-.09,0-.1v-.1l0-.09v-.29l0-.1v-.1l0-.09v-.1h0v-.09l0-.1v-.84h0v-1l-.13-5.7a1.94,1.94,0,0,1,0-.24c0-.08,0-.62,0-1.34v-.18h0V76.84h0v-.19h0V75.36h0v-.19h0V74.1h0v-.17h0v-.18h0v-.19l0-.09v-.64l0-.08,0-.09,0-.09h0v-.09l0-.07h0l0-.09v-.08l0-.09V72a3.67,3.67,0,0,0-2.89-3H67.74c0,.47,0,.93,0,1.4h0v0h0v0h0v0h0v.1h0v0h0v.08h0V71h0v0h0v0h0v.1h0v0h0v0h0v0h0v.07h0v0h0v0h0v0h0v0h0v.05h0v0h0v0h0v0h0v0h0v.05h0v0h0v0h0v0h0v0h0v0h0v0h0v0h0v.05c-.06.93-.11,1.84-.11,2.7a1.68,1.68,0,0,1-3.36,0c0-.86.07-1.86.13-2.9v-.33h0v-.17h0v-.15h0v-.33h0v-.17h0v-.15h0v-.17h0V70.2h0v-.34h0v-.33h0V69.2h0V69c0-2.52-.45-4.71-2.48-5.08H59.7a1.37,1.37,0,0,1-.36,0c0,.94,0,1.92-.08,2.87v1c-.06.93-.11,1.83-.11,2.69a1.68,1.68,0,1,1-3.36,0c0-.86.07-1.86.13-2.9v-.17h0v-.15h0v-.16h0v-.17h0v-.17h0v-.17h0v-.32h0v-.16h0v-.17h0v-.14h0v-.17h0v-.17h0v-.07c.08-2.84-.23-5.46-2.47-5.87H51.29a1.49,1.49,0,0,1-.43-.06v6.49a1.68,1.68,0,0,1-3.36,0v-8.2c0-2.32-2.3-3.32-4.45-3.32a3.85,3.85,0,0,0-1.74.42,5,5,0,0,0-2.26,3ZM35.29,70l-1.58-.65a19.89,19.89,0,0,0-2.2-.75l2.41,2,1.37,1.12V70Z"})),v0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M16.71.243l-.12 2.71a.18.18 0 00.29.15l1.06-.8.9.7a.18.18 0 00.28-.14l-.1-2.76 1.33-.1a1.2 1.2 0 011.279 1.2v21.596a1.2 1.2 0 01-1.26 1.2l-16.096-.72a1.2 1.2 0 01-1.15-1.16l-.75-19.797a1.2 1.2 0 011.13-1.27L16.7.222zM13.64 9.3c0 .47 3.16.24 3.59-.08 0-3.2-1.72-4.89-4.859-4.89-3.15 0-4.899 1.72-4.899 4.29 0 4.45 5.999 4.53 5.999 6.959 0 .7-.32 1.1-1.05 1.1-.96 0-1.35-.49-1.3-2.16 0-.36-3.649-.48-3.769 0-.27 4.03 2.23 5.2 5.099 5.2 2.79 0 4.969-1.49 4.969-4.18 0-4.77-6.099-4.64-6.099-6.999 0-.97.72-1.1 1.13-1.1.45 0 1.25.07 1.19 1.87z"})),m0=e=>d.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",...e},d.createElement("path",{d:"M22.92 6c-.77.35-1.6.58-2.46.69.88-.53 1.56-1.37 1.88-2.38-.83.5-1.75.85-2.72 1.05C18.83 4.5 17.72 4 16.46 4c-2.35 0-4.27 1.92-4.27 4.29 0 .34.04.67.11.98-3.56-.18-6.73-1.89-8.84-4.48-.37.63-.58 1.37-.58 2.15 0 1.49.75 2.81 1.91 3.56-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.22 4.22 0 01-1.93.07 4.28 4.28 0 004 2.98 8.521 8.521 0 01-5.33 1.84c-.34 0-.68-.02-1.02-.06C3.9 20.29 6.16 21 8.58 21c7.88 0 12.21-6.54 12.21-12.21 0-.19 0-.37-.01-.56.84-.6 1.56-1.36 2.14-2.23z"})),e1={arrowLeft:K1,arrowRight:U1,articles:X1,company:e0,check:J1,chevronRight:Q1,close:Y1,copy:t0,download:s0,error:n0,figma:a0,github:c0,link:o0,linkedin:l0,menu:r0,pause:i0,play:h0,send:d0,skills:u0,storybook:v0,twitter:m0},C=({icon:e,className:s,...n})=>{const c=e1[e];return t.jsx(c,{"aria-hidden":!0,className:h.classes(G1.icon,s),...n})},g0="_container_19hr9_1",p0="_options_19hr9_5",_0="_button_19hr9_25",x0="_indicator_19hr9_66",q={container:g0,options:p0,button:_0,indicator:x0},t1=i.createContext({}),f0=({children:e,currentIndex:s,onChange:n,label:c,...l})=>{const o=`${i.useId()}segmented-control-label`,r=i.useRef([]),[u,g]=i.useState(),p=v=>{var j,w;const{length:m}=r.current,f=(s-1+m)%m,b=(s+1)%m;["ArrowLeft","ArrowUp"].includes(v.key)?(n(f),(j=r.current[f].current)==null||j.focus()):["ArrowRight","ArrowDown"].includes(v.key)&&(n(b),(w=r.current[b].current)==null||w.focus())},_=i.useCallback(v=>{r.current=[...r.current,v]},[]),x=i.useCallback(v=>{r.current=r.current.filter(m=>m!==v)},[]);return i.useEffect(()=>{var f;const v=(f=r.current[s])==null?void 0:f.current;if(!v)return;const m=new ResizeObserver(()=>{const b=v.getBoundingClientRect(),j=v.offsetLeft;g({width:b.width,left:j})});return m.observe(v),()=>{m.disconnect()}},[s]),t.jsx(t1.Provider,{value:{optionRefs:r,currentIndex:s,onChange:n,registerOption:_,unRegisterOption:x},children:t.jsxs("div",{className:q.container,role:"radiogroup","aria-labelledby":o,onKeyDown:p,...l,children:[t.jsx(D,{as:"label",id:o,children:c}),t.jsxs("div",{className:q.options,children:[!!u&&t.jsx("div",{className:q.indicator,"data-last":s===r.current.length-1,style:h.cssProps(u)}),e]})]})})},y0=({children:e,...s})=>{const{optionRefs:n,currentIndex:c,onChange:l,registerOption:a,unRegisterOption:o}=i.useContext(t1),r=i.useRef(null),u=n.current.indexOf(r),g=c===u;return i.useEffect(()=>(a(r),()=>{o(r)}),[a,o]),t.jsx("button",{className:q.button,tabIndex:g?0:-1,role:"radio","aria-checked":g,onClick:()=>l(u),ref:r,...s,children:e})},b0="_container_1a9g9_1",j0="_content_1a9g9_15",w0="_input_1a9g9_20",M0="_underline_1a9g9_60",L0="_label_1a9g9_32",T0="_error_1a9g9_135",V0="_errorMessage_1a9g9_151",H={container:b0,content:j0,input:w0,underline:M0,label:L0,error:T0,errorMessage:V0},H0="_textarea_vm3vl_1",S0={textarea:H0},s1=({className:e,resize:s="none",value:n,onChange:c,minRows:l=1,maxRows:a,...o})=>{const[r,u]=i.useState(l),[g,p]=i.useState(),_=i.useRef(null);i.useEffect(()=>{const v=getComputedStyle(_.current),m=parseInt(v.lineHeight,10),f=parseInt(v.paddingTop,10)+parseInt(v.paddingBottom,10);p({lineHeight:m,paddingHeight:f})},[]);const x=v=>{c(v);const{lineHeight:m,paddingHeight:f}=g,b=v.target.rows;v.target.rows=l;const j=~~((v.target.scrollHeight-f)/m);j===b&&(v.target.rows=j),a&&j>=a&&(v.target.rows=a,v.target.scrollTop=v.target.scrollHeight),u(a&&j>a?a:j)};return t.jsx("textarea",{className:h.classes(S0.textarea,e),ref:_,onChange:x,style:h.cssProps({resize:s}),rows:r,value:n,...o})},z0=({id:e,label:s,value:n,multiline:c,className:l,style:a,error:o,onBlur:r,autoComplete:u,required:g,maxLength:p,type:_,placeholder:x,maxRows:v,onChange:m,...f})=>{const[b,j]=i.useState(!1),w=i.useId(),T=i.useRef(null),V=e||`${w}input`,P=`${V}-label`,I=`${V}-error`,F=c?s1:"input",M=L=>{j(!1),r&&r(L)};return t.jsxs("div",{className:h.classes(H.container,l),"data-error":!!o,"data-multiline":!!c,style:a,...f,children:[t.jsxs("div",{className:H.content,children:[t.jsx("label",{className:H.label,"data-focused":b,"data-filled":!!n,"data-placeholder":!!x,id:P,htmlFor:V,children:s}),t.jsx(F,{className:H.input,id:V,"aria-labelledby":P,"aria-describedby":o?I:void 0,onFocus:()=>j(!0),onBlur:M,value:n,onChange:m,autoComplete:u,required:g,maxLength:p,type:_,placeholder:x,...c?{maxRows:v}:{}}),t.jsx("div",{className:H.underline,"data-focused":b})]}),t.jsx(G,{unmount:!0,in:!!o,timeout:h.msToNum(y.tokens.base.durationM),children:L=>{var E;return t.jsx("div",{className:H.error,"data-visible":L,id:I,role:"alert",style:h.cssProps({height:L?((E=T.current)==null?void 0:E.getBoundingClientRect().height)??0:0}),children:t.jsxs("div",{className:H.errorMessage,ref:T,children:[t.jsx(C,{icon:"error"}),o]})})}})]})},k0="_link_o3rjr_1",N0={link:k0},C0=["txt","png","jpg"];function R0(e){const s=C0.includes((e==null?void 0:e.split(".").pop())??"");return!!(e!=null&&e.includes("://"))||(e==null?void 0:e[0])==="#"||s}const n1=i.forwardRef(({rel:e,target:s,children:n,secondary:c,className:l,href:a,linkComponent:o,...r},u)=>{const g=y.useLinkComponent(),p=o??g,_=a==null?void 0:a.includes("://"),x=e||(_?"noreferrer noopener":void 0),v=s||(_?"_blank":void 0),m={className:h.classes(N0.link,l),"data-secondary":c,rel:x,href:a,target:v,ref:u,...r};return R0(a)?t.jsx("a",{...m,children:n}):t.jsx(p,{...m,href:a??"",children:n})}),P0="_button_1yrod_1",E0="_text_1yrod_128",$0="_loader_1yrod_141",B0="_icon_1yrod_154",$={button:P0,text:E0,loader:$0,icon:B0};function a1(e){return!!(e!=null&&e.includes("://"))}const c1=i.forwardRef(({href:e,linkComponent:s,...n},c)=>{const l=y.useLinkComponent(),a=s??l;return a1(e)||!e?t.jsx(K,{href:e,ref:c,...n}):t.jsx(K,{as:a,href:e,ref:c,...n})}),K=i.forwardRef(({className:e,as:s,secondary:n,loading:c,loadingText:l="loading",icon:a,iconEnd:o,iconHoverShift:r,iconOnly:u,children:g,rel:p,target:_,href:x,disabled:v,...m},f)=>{const b=a1(x),w=s||(x?"a":"button");return t.jsxs(w,{className:h.classes($.button,e),"data-loading":c,"data-icon-only":u,"data-secondary":n,"data-icon":a,href:x,rel:p||b?"noopener noreferrer":void 0,target:_||b?"_blank":void 0,disabled:v,ref:f,...m,children:[!!a&&t.jsx(C,{className:$.icon,"data-start":!u,"data-shift":r,icon:a}),!!g&&t.jsx("span",{className:$.text,children:g}),!!o&&t.jsx(C,{className:$.icon,"data-end":!u,"data-shift":r,icon:o}),t.jsx(G,{unmount:!0,in:c,children:T=>t.jsx(Y,{className:$.loader,size:32,text:l,"data-visible":T})})]})}),I0="_breadcrumbs_1k287_3",A0="_list_1k287_16",Z0="_item_1k287_26",O0="_link_1k287_33",q0="_separator_1k287_44",D0="_current_1k287_51",z={breadcrumbs:I0,list:A0,item:Z0,link:O0,separator:q0,current:D0},F0=({items:e,className:s})=>t.jsx("nav",{"aria-label":"Breadcrumb",className:h.classes(z.breadcrumbs,s),children:t.jsx("ol",{className:z.list,children:e.map((n,c)=>{const l=c===e.length-1;return t.jsxs("li",{className:z.item,children:[c>0&&t.jsx(C,{className:z.separator,icon:"chevronRight","aria-hidden":"true"}),l?t.jsx("span",{className:z.current,"aria-current":"page",children:n.label}):t.jsx(n1,{className:z.link,href:n.href,children:n.label})]},n.href)})})});async function W0(e){return new Promise(s=>setTimeout(s,e))}const G0="_text_11knq_1",K0="_glyph_11knq_8",U0="_value_11knq_15",O={text:G0,glyph:K0,value:U0},U=["अ","आ","इ","ई","उ","ऊ","ऋ","ए","ऐ","ओ","औ","क","ख","ग","घ","ङ","च","छ","ज","झ","ञ","ट","ठ","ड","ढ","ण","त","थ","द","ध","न","प","फ","ब","भ","म","य","र","ल","व","श","ष","स","ह","ळ","०","१","२","३","४","५","६","७","८","९"],B={Glyph:"glyph",Value:"value"};function X0(e,s,n){return e.map((c,l)=>{if(l<n)return{type:B.Value,value:c};if(n%1<.5){const a=Math.floor(Math.random()*U.length);return{type:B.Glyph,value:U[a]}}return{type:B.Glyph,value:s[l].value}})}const J0=i.memo(({text:e,start:s=!0,delay:n=0,className:c,...l})=>{const a=i.useRef([{type:B.Glyph,value:""}]),o=i.useRef(null),r=N.useReducedMotion(),u=N.useSpring(0,{stiffness:8,damping:5});return i.useEffect(()=>{const g=o.current,p=e.split(""),_=()=>{const m=a.current.map(f=>`<span class="${O[f.type]}">${f.value}</span>`);g&&(g.innerHTML=m.join(""))},x=u.on("change",m=>{a.current=X0(p,a.current,m),_()});return s&&!r&&(async()=>{await W0(n),u.set(p.length)})(),r&&(a.current=p.map((m,f)=>({type:B.Value,value:p[f]})),_()),()=>{x==null||x()}},[u,r,s,n,e]),t.jsxs("span",{className:h.classes(O.text,c),...l,children:[t.jsx(D,{className:O.label,children:e}),t.jsx("span",{"aria-hidden":!0,className:O.content,ref:o})]})}),Q0="_image_y6je9_1",Y0="_elementWrapper_y6je9_49",ee="_placeholder_y6je9_71",te="_element_y6je9_49",se="_button_y6je9_101",k={image:Q0,elementWrapper:Y0,placeholder:ee,element:te,button:se},ne=({className:e,style:s,reveal:n,delay:c=0,raised:l,src:a,srcSet:o,placeholder:r,...u})=>{const[g,p]=i.useState(!1),{themeId:_}=y.useTheme(),x=i.useRef(null),v=a||(o==null?void 0:o[0]),m=h.useInViewport(x,!o1(v)),f=i.useCallback(()=>{p(!0)},[]);return t.jsx("div",{className:h.classes(k.image,e),"data-visible":m||g,"data-reveal":n,"data-raised":l,"data-theme":_,style:h.cssProps({delay:h.numToMs(c)},s),ref:x,children:t.jsx(ae,{delay:c,onLoad:f,loaded:g,inViewport:m,reveal:n,src:v,srcSet:o,placeholder:r,...u})})},ae=({onLoad:e,loaded:s,inViewport:n,srcSet:c,placeholder:l,delay:a,src:o,alt:r,play:u=!0,restartOnPause:g,reveal:p,sizes:_,noPauseButton:x,...v})=>{const m=N.useReducedMotion(),[f,b]=i.useState(!0),[j,w]=i.useState(!m),[T,V]=i.useState(),[P,I]=i.useState(!1),F=i.useRef(null),M=i.useRef(null),L=o1(o),E=n,l1=h.srcSetToString(c),r1=y.useHasMounted();i.useEffect(()=>{L&&c?(async()=>{const Z=await h.resolveSrcFromSrcSet({srcSet:c,sizes:_});V(Z)})():L&&V(o.src)},[L,_,o,c]),i.useEffect(()=>{if(!M.current||!T)return;const A=()=>{w(!0),M.current.play()},Z=()=>{w(!1),M.current.pause()};u||(Z(),g&&(M.current.currentTime=0)),!P&&(n?n&&!m&&u&&A():Z())},[n,u,m,g,P,T]);const i1=A=>{A.preventDefault(),I(!0),M.current.paused?(w(!0),M.current.play()):(w(!1),M.current.pause())};return t.jsxs("div",{className:k.elementWrapper,"data-reveal":p,"data-visible":n||s,style:h.cssProps({delay:h.numToMs(a+1e3)}),children:[L&&r1&&t.jsxs(i.Fragment,{children:[t.jsx("video",{muted:!0,loop:!0,playsInline:!0,className:k.element,"data-loaded":s,autoPlay:!m,role:"img",onLoadStart:e,src:T,"aria-label":r,ref:M,...v}),!x&&t.jsxs(c1,{className:k.button,onClick:i1,children:[t.jsx(C,{icon:j?"pause":"play"}),j?"Pause":"Play"]})]}),!L&&t.jsx("img",{className:k.element,"data-loaded":s,onLoad:e,decoding:"async",src:E?o==null?void 0:o.src:void 0,srcSet:E?l1:void 0,width:o==null?void 0:o.width,height:o==null?void 0:o.height,alt:r,sizes:_,...v}),f&&l&&t.jsx("img",{"aria-hidden":!0,className:k.placeholder,"data-loaded":s,style:h.cssProps({delay:h.numToMs(a)}),ref:F,src:l.src,width:l.width,height:l.height,onTransitionEnd:()=>b(!1),decoding:"async",alt:"",role:"presentation"})]})};function o1(e){return e?typeof e.src=="string"&&e.src.endsWith(".mp4"):!1}const ce="_wordmark_w8y5a_1",oe="_highlight_w8y5a_6",X={wordmark:ce,highlight:oe},le=i.forwardRef(({highlight:e,className:s,...n},c)=>{const a=`${i.useId()}wordmark-clip`;return t.jsxs("svg",{"aria-hidden":!0,className:h.classes(X.wordmark,s),width:"46",height:"29",viewBox:"0 0 46 29",ref:c,...n,children:[t.jsx("defs",{children:t.jsx("clipPath",{id:a,children:t.jsx("path",{d:"M 10.3281 17.7888 l 4.4875 -11.4688 l 0.0019 -0.0006 l 6.075 11.5263 a 0.5238 0.5238 90 0 0 0.9525 -0.0581 l 2.1187 -5.515 a 0.5288 0.5288 90 0 0 -0.025 -0.4288 L 18.9419 2.2531 A 4.1863 4.1863 90 0 0 15.2294 0 h -2.875 a 0.525 0.525 90 0 0 -0.4625 0.7688 l 2.2687 4.3044 l -2.2844 5.7188 l -4.45 -8.5388 A 4.1863 4.1863 90 0 0 3.7138 0 h -2.875 a 0.5262 0.5262 90 0 0 -0.4675 0.7688 L 9.375 17.8462 a 0.5244 0.5244 90 0 0 0.9525 -0.0575 z M 26.495 5.5037 a 0.5219 0.5219 90 0 0 0.2419 -0.2787 v 0.0006 l 1.6687 -4.5188 a 0.5238 0.5238 90 0 0 -0.4906 -0.7056 h -4.1113 a 0.5231 0.5231 90 0 0 -0.46 0.7737 l 2.4419 4.5163 c 0.1375 0.2562 0.4556 0.35 0.7094 0.2125 z M 39.375 0 l 0 18.125 L 34.375 18.125 l 0 -11.875 A 4.1863 4.1863 90 0 0 34.375 18.125 L 34.375 18.125 L 34.375 0 z z",transform:"rotate(180 23 15)"})})}),t.jsx("rect",{clipPath:`url(#${a})`,width:"100%",height:"100%"}),e&&t.jsx("g",{clipPath:`url(#${a})`,children:t.jsx("rect",{className:X.highlight,width:"100%",height:"100%"})})]})});exports.classes=h.classes;exports.cssProps=h.cssProps;exports.media=h.media;exports.msToNum=h.msToNum;exports.numToMs=h.numToMs;exports.numToPx=h.numToPx;exports.pxToNum=h.pxToNum;exports.pxToRem=h.pxToRem;exports.rgbToThreeColor=h.rgbToThreeColor;exports.LinkProvider=y.LinkProvider;exports.RefractProvider=y.RefractProvider;exports.ThemeContext=y.ThemeContext;exports.ThemeProvider=y.ThemeProvider;exports.createMediaTokenProperties=y.createMediaTokenProperties;exports.createThemeProperties=y.createThemeProperties;exports.createThemeStyleObject=y.createThemeStyleObject;exports.squish=y.squish;exports.theme=y.theme;exports.tokenStyles=y.tokenStyles;exports.tokens=y.tokens;exports.useLinkComponent=y.useLinkComponent;exports.useRefractConfig=y.useRefractConfig;exports.useTheme=y.useTheme;exports.Breadcrumbs=F0;exports.Button=c1;exports.Divider=V1;exports.Heading=p1;exports.Icon=C;exports.Image=ne;exports.Input=z0;exports.Link=n1;exports.List=j1;exports.ListItem=w1;exports.Loader=Y;exports.ScrambleReveal=J0;exports.Section=f1;exports.SegmentedControl=f0;exports.SegmentedControlOption=y0;exports.Table=C1;exports.TableBody=E1;exports.TableCell=B1;exports.TableHead=P1;exports.TableHeadCell=$1;exports.TableRow=R1;exports.Text=J;exports.TextArea=s1;exports.Transition=G;exports.VisuallyHidden=D;exports.Wordmark=le;exports.icons=e1;
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/components/Text/Text.tsx","../src/components/Heading/Heading.tsx","../src/components/Section/Section.tsx","../src/components/List/List.tsx","../src/components/Divider/Divider.tsx","../src/components/Table/Table.tsx","../src/components/VisuallyHidden/VisuallyHidden.tsx","../src/components/Transition/Transition.tsx","../src/components/Loader/Loader.tsx","../src/components/Icon/svg/arrow-left.svg","../src/components/Icon/svg/arrow-right.svg","../src/components/Icon/svg/articles.svg","../src/components/Icon/svg/check.svg","../src/components/Icon/svg/chevron-right.svg","../src/components/Icon/svg/close.svg","../src/components/Icon/svg/company.svg","../src/components/Icon/svg/copy.svg","../src/components/Icon/svg/download.svg","../src/components/Icon/svg/error.svg","../src/components/Icon/svg/figma.svg","../src/components/Icon/svg/github.svg","../src/components/Icon/svg/link.svg","../src/components/Icon/svg/linkedin.svg","../src/components/Icon/svg/menu.svg","../src/components/Icon/svg/pause.svg","../src/components/Icon/svg/play.svg","../src/components/Icon/svg/send.svg","../src/components/Icon/svg/skills.svg","../src/components/Icon/svg/storybook.svg","../src/components/Icon/svg/twitter.svg","../src/components/Icon/Icon.tsx","../src/components/SegmentedControl/SegmentedControl.tsx","../src/components/Input/TextArea.tsx","../src/components/Input/Input.tsx","../src/components/Link/Link.tsx","../src/components/Button/Button.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx","../src/utils/delay.ts","../src/components/ScrambleReveal/ScrambleReveal.tsx","../src/components/Image/Image.tsx","../src/components/Wordmark/Wordmark.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, type ElementType, type ReactNode } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './Text.module.css';\n\nexport interface TextProps extends ComponentPropsWithoutRef<'span'> {\n children?: ReactNode;\n size?: 's' | 'm' | 'l' | 'xl';\n as?: ElementType;\n align?: string;\n weight?: string;\n secondary?: boolean;\n}\n\nexport const Text = ({\n children,\n size = 'm',\n as: Component = 'span',\n align = 'auto',\n weight = 'auto',\n secondary,\n className,\n ...rest\n}: TextProps) => {\n return (\n <Component\n className={classes(styles.text, className)}\n data-align={align}\n data-size={size}\n data-weight={weight}\n data-secondary={secondary}\n {...rest}\n >\n {children}\n </Component>\n );\n};\n","import { Fragment, type ComponentPropsWithoutRef, type ElementType, type ReactNode } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './Heading.module.css';\n\nexport interface HeadingProps extends ComponentPropsWithoutRef<'h1'> {\n children?: ReactNode;\n level?: number;\n as?: ElementType;\n align?: string;\n weight?: string;\n}\n\nexport const Heading = ({\n children,\n level = 1,\n as,\n align = 'auto',\n weight = 'medium',\n className,\n ...rest\n}: HeadingProps) => {\n const clampedLevel = Math.min(Math.max(level, 0), 5);\n const Component = as || (`h${Math.max(clampedLevel, 1)}` as ElementType);\n\n return (\n <Fragment>\n <Component\n className={classes(styles.heading, className)}\n data-align={align}\n data-weight={weight}\n data-level={clampedLevel}\n {...rest}\n >\n {children}\n </Component>\n </Fragment>\n );\n};\n","import { forwardRef, type ElementType, type ReactNode, type Ref } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './Section.module.css';\n\ntype SectionProps = {\n as?: ElementType;\n children?: ReactNode;\n className?: string;\n} & Record<string, unknown>;\n\nexport const Section = forwardRef<HTMLElement | null, SectionProps>(\n ({ as: Component = 'div', children, className, ...rest }, ref) => {\n const Element = Component as ElementType;\n return (\n <Element\n className={classes(styles.section, className as string)}\n ref={ref as Ref<HTMLElement>}\n {...rest}\n >\n {children}\n </Element>\n );\n }\n);\n","import { type ReactNode, type ComponentPropsWithoutRef } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './List.module.css';\n\ninterface ListProps extends ComponentPropsWithoutRef<'ul'> {\n ordered?: boolean;\n children?: ReactNode;\n}\n\nexport const List = ({ ordered, children, className, ...rest }: ListProps) => {\n const Element = ordered ? 'ol' : 'ul';\n\n return (\n <Element className={classes(styles.list, className)} {...rest}>\n {children}\n </Element>\n );\n};\n\ninterface ListItemProps extends ComponentPropsWithoutRef<'li'> {\n children?: ReactNode;\n}\n\nexport const ListItem = ({ children, ...rest }: ListItemProps) => {\n return (\n <li className={styles.item} {...rest}>\n {children}\n </li>\n );\n};\n","import { type ComponentPropsWithoutRef } from 'react';\nimport { classes, cssProps, numToMs } from '../../utils/style';\nimport styles from './Divider.module.css';\n\nexport interface DividerProps extends ComponentPropsWithoutRef<'div'> {\n lineWidth?: string;\n lineHeight?: string;\n notchWidth?: string;\n notchHeight?: string;\n collapseDelay?: number;\n collapsed?: boolean;\n notch?: boolean;\n light?: boolean;\n}\n\nexport const Divider = ({\n lineWidth = '100%',\n lineHeight = '2px',\n notchWidth = '90px',\n notchHeight = '10px',\n collapseDelay = 0,\n collapsed = false,\n notch = true,\n light = false,\n className,\n style,\n ...rest\n}: DividerProps) => (\n <div\n className={classes(styles.divider, className)}\n data-light={light}\n style={cssProps(\n {\n lineWidth: lineWidth,\n lineHeight: lineHeight,\n notchWidth: notchWidth,\n notchHeight: notchHeight,\n collapseDelay: numToMs(collapseDelay),\n },\n style\n )}\n {...rest}\n >\n <div className={styles.line} data-collapsed={collapsed} />\n {notch && (\n <div\n className={styles.notch}\n data-collapsed={collapsed}\n style={cssProps({ collapseDelay: numToMs(collapseDelay + 160) })}\n />\n )}\n </div>\n);\n","import { type ReactNode } from 'react';\nimport styles from './Table.module.css';\n\ninterface TableChildProps {\n children?: ReactNode;\n}\n\nexport const Table = ({ children }: TableChildProps) => <table className={styles.table}>{children}</table>;\nexport const TableRow = ({ children }: TableChildProps) => <tr className={styles.row}>{children}</tr>;\nexport const TableHead = ({ children }: TableChildProps) => <thead className={styles.head}>{children}</thead>;\nexport const TableBody = ({ children }: TableChildProps) => <tbody className={styles.body}>{children}</tbody>;\nexport const TableHeadCell = ({ children }: TableChildProps) => <th className={styles.headCell}>{children}</th>;\nexport const TableCell = ({ children }: TableChildProps) => <td className={styles.cell}>{children}</td>;\n","import { forwardRef, type ComponentPropsWithoutRef, type ElementType, type ReactNode } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './VisuallyHidden.module.css';\n\nexport interface VisuallyHiddenProps extends ComponentPropsWithoutRef<'span'> {\n showOnFocus?: boolean;\n as?: ElementType;\n children?: ReactNode;\n visible?: boolean;\n href?: string;\n [key: string]: unknown;\n}\n\nexport const VisuallyHidden = forwardRef<HTMLElement, VisuallyHiddenProps>(\n ({ className, showOnFocus, as: Component = 'span', children, visible, ...rest }, ref) => {\n const Element = Component as ElementType;\n return (\n <Element\n className={classes(styles.hidden, className as string)}\n data-hidden={!visible && !showOnFocus}\n data-show-on-focus={showOnFocus}\n ref={ref}\n {...rest}\n >\n {children}\n </Element>\n );\n }\n);\n","import { AnimatePresence, usePresence } from 'framer-motion';\nimport { type MutableRefObject, type ReactNode, useEffect, useRef, useState } from 'react';\n\ntype TransitionTimeout = number | { enter: number; exit: number };\ntype TransitionStatus = 'entering' | 'entered' | 'exiting' | 'exited';\ntype TransitionRenderFn = (visible: boolean, status: TransitionStatus) => ReactNode;\n\ninterface TransitionProps {\n children: TransitionRenderFn;\n timeout?: TransitionTimeout;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n in?: boolean;\n unmount?: boolean;\n}\n\ninterface TransitionContentProps {\n children: TransitionRenderFn;\n timeout: TransitionTimeout;\n enterTimeout: MutableRefObject<ReturnType<typeof setTimeout> | undefined>;\n exitTimeout: MutableRefObject<ReturnType<typeof setTimeout> | undefined>;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n show?: boolean;\n}\n\nexport const Transition = ({\n children,\n timeout = 0,\n onEnter,\n onEntered,\n onExit,\n onExited,\n in: show,\n unmount,\n}: TransitionProps) => {\n const enterTimeout = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const exitTimeout = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n\n useEffect(() => {\n if (show) {\n clearTimeout(enterTimeout.current);\n } else {\n clearTimeout(exitTimeout.current);\n }\n }, [show]);\n\n return (\n <AnimatePresence>\n {(show || !unmount) && (\n <TransitionContent\n timeout={timeout}\n enterTimeout={enterTimeout}\n exitTimeout={exitTimeout}\n onEnter={onEnter}\n onEntered={onEntered}\n onExit={onExit}\n onExited={onExited}\n show={show}\n >\n {children}\n </TransitionContent>\n )}\n </AnimatePresence>\n );\n};\n\nconst TransitionContent = ({\n children,\n timeout,\n enterTimeout,\n exitTimeout,\n onEnter,\n onEntered,\n onExit,\n onExited,\n show,\n}: TransitionContentProps) => {\n const [status, setStatus] = useState<TransitionStatus>('exited');\n const [isPresent, safeToRemove] = usePresence();\n const [hasEntered, setHasEntered] = useState(false);\n const splitTimeout = typeof timeout === 'object';\n\n useEffect(() => {\n if (hasEntered || !show) return;\n\n const actualTimeout = splitTimeout ? timeout.enter : timeout;\n\n clearTimeout(enterTimeout.current);\n clearTimeout(exitTimeout.current);\n\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setHasEntered(true);\n setStatus('entering');\n onEnter?.();\n\n // eslint-disable-next-line react-hooks/immutability\n enterTimeout.current = setTimeout(() => {\n setStatus('entered');\n onEntered?.();\n }, actualTimeout);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onEnter, onEntered, timeout, status, show]);\n\n useEffect(() => {\n if (isPresent && show) return;\n\n const actualTimeout = splitTimeout ? timeout.exit : timeout;\n\n clearTimeout(enterTimeout.current);\n clearTimeout(exitTimeout.current);\n\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setStatus('exiting');\n onExit?.();\n\n // eslint-disable-next-line react-hooks/immutability\n exitTimeout.current = setTimeout(() => {\n setStatus('exited');\n safeToRemove?.();\n onExited?.();\n }, actualTimeout);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isPresent, onExit, safeToRemove, timeout, onExited, show]);\n\n return children(hasEntered && show ? isPresent : false, status);\n};\n","import { Text } from '../Text';\nimport { useRefractConfig } from '../RefractProvider';\nimport { VisuallyHidden } from '../VisuallyHidden';\nimport { useReducedMotion } from 'framer-motion';\nimport { useHasMounted } from '../../hooks/useHasMounted';\nimport { type ComponentPropsWithoutRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport { classes, cssProps } from '../../utils/style';\nimport styles from './Loader.module.css';\n\nexport interface LoaderProps extends ComponentPropsWithoutRef<'div'> {\n size?: number;\n text?: string;\n}\n\nexport const Loader = ({\n className,\n style,\n size = 32,\n text = 'Loading...',\n ...rest\n}: LoaderProps) => {\n const reduceMotion = useReducedMotion();\n const hasMounted = useHasMounted();\n const { portalContainer } = useRefractConfig();\n\n const renderScreenReaderTextPortal = () => {\n if (!hasMounted) return null;\n\n const container = portalContainer();\n if (!container) return null;\n\n return createPortal(\n <VisuallyHidden className=\"loader-announcement\" aria-live=\"assertive\">\n {text}\n </VisuallyHidden>,\n container\n );\n };\n\n if (reduceMotion) {\n return (\n <Text className={classes(styles.text, className)} weight=\"medium\" {...rest}>\n {text}\n {renderScreenReaderTextPortal()}\n </Text>\n );\n }\n\n const gapSize = Math.round((size / 3) * 0.2);\n const spanSize = Math.round(size / 3 - gapSize * 2 - 1);\n\n return (\n <div\n className={classes(styles.loader, className)}\n style={cssProps({ size, spanSize, gapSize }, style)}\n {...rest}\n >\n <div className={styles.content}>\n <div className={styles.span} />\n <div className={styles.span} />\n <div className={styles.span} />\n </div>\n {renderScreenReaderTextPortal()}\n </div>\n );\n};\n","import * as React from \"react\";\nconst SvgArrowLeft = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"m9.793 19.207-6.5-6.5L2.586 12l.707-.707 6.5-6.5 1.414 1.414L6.414 11H21v2H6.414l4.793 4.793-1.414 1.414Z\" }));\nexport default SvgArrowLeft;\n","import * as React from \"react\";\nconst SvgArrowRight = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M14.207 4.793l6.5 6.5.707.707-.707.707-6.5 6.5-1.414-1.414L17.586 13H3v-2h14.586l-4.793-4.793 1.414-1.414z\" }));\nexport default SvgArrowRight;\n","import * as React from \"react\";\nconst SvgArticles = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 128 128\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M35.34,16.5h72.75v30.73l-72.75,0V16.5L35.34,16.5z M23.42,91.7c-0.67,2.24-1.63,4.05-2.8,5.46l88.47,0l0.04,0 c3.19-0.18,5.57-1.03,7.16-2.54c1.56-1.48,2.43-3.69,2.62-6.62V3.97H24.36v80.06C24.36,87.43,24.4,88.42,23.42,91.7L23.42,91.7 L23.42,91.7z M13.15,101.13c-0.45,0.03-0.91,0.03-1.36,0.01c-1.82-0.11-3.61-0.67-5.23-1.62c-3.55-2.09-6.29-6.09-6.54-11.32 C0.01,88.12,0,88.03,0,87.95v-70.4c0-1.1,0.89-1.98,1.98-1.98l18.41,0V1.98c0-1.1,0.89-1.98,1.98-1.98l98.52,0 c1.1,0,1.98,0.89,1.98,1.98v86.07c0,0.11-0.01,0.21-0.02,0.31c-0.27,3.9-1.55,6.95-3.84,9.13c-2.28,2.17-5.5,3.38-9.67,3.62 c-0.08,0.01-0.17,0.02-0.26,0.02L13.15,101.13L13.15,101.13L13.15,101.13z M12.05,97.19c0.1-0.02,0.21-0.03,0.32-0.03h0.72 c0.79-0.08,1.56-0.3,2.28-0.68c4.41-2.31,5.02-7.95,5.02-12.42V19.53H3.97v68.41c0,0.02,0,0.05,0,0.07 c0.19,3.76,2.12,6.62,4.61,8.09c1.08,0.64,2.26,1.01,3.43,1.08L12.05,97.19L12.05,97.19L12.05,97.19z M40.87,24.15h3.9l5.07,8.52 v-8.52h3.94v15.42l-3.94,0l-5.04-8.47v8.47h-3.92V24.15L40.87,24.15z M57.21,24.15h11.17v3.3l-6.98,0v2.46l6.47,0v3.14H61.4v3.04 h7.19v3.49H57.21V24.15L57.21,24.15L57.21,24.15z M70.12,24.15h3.96l1.42,8.61l2.09-8.61h3.93l2.1,8.62l1.43-8.62H89l-2.98,15.42 l-4.09,0l-2.37-9.71l-2.36,9.71h-4.09L70.12,24.15L70.12,24.15L70.12,24.15z M90.31,34.48l3.96-0.28c0.08,0.73,0.26,1.29,0.52,1.67 c0.43,0.62,1.04,0.93,1.84,0.93c0.59,0,1.05-0.16,1.37-0.48c0.32-0.32,0.48-0.69,0.48-1.11c0-0.4-0.15-0.76-0.46-1.07 c-0.3-0.32-1.02-0.61-2.13-0.89c-1.83-0.47-3.13-1.09-3.91-1.87c-0.79-0.78-1.18-1.77-1.18-2.97c0-0.79,0.2-1.54,0.6-2.24 c0.4-0.71,1.01-1.26,1.81-1.66c0.81-0.4,1.92-0.6,3.32-0.6c1.73,0,3.04,0.37,3.95,1.1c0.91,0.73,1.44,1.9,1.62,3.5l-3.92,0.27 c-0.1-0.7-0.32-1.21-0.66-1.53c-0.34-0.32-0.8-0.48-1.39-0.48c-0.48,0-0.85,0.12-1.1,0.35c-0.25,0.23-0.37,0.52-0.37,0.86 c0,0.24,0.1,0.46,0.3,0.66c0.19,0.2,0.66,0.39,1.39,0.57c1.82,0.45,3.13,0.9,3.91,1.36c0.79,0.46,1.36,1.03,1.72,1.71 c0.36,0.68,0.54,1.44,0.54,2.28c0,0.99-0.24,1.9-0.72,2.74c-0.48,0.83-1.15,1.47-2.01,1.9c-0.86,0.43-1.94,0.65-3.25,0.65 c-2.3,0-3.89-0.51-4.77-1.52C90.93,37.31,90.43,36.03,90.31,34.48L90.31,34.48L90.31,34.48z M35.8,60.85 c-1.1,0-1.98-0.89-1.98-1.98s0.89-1.98,1.98-1.98h30.25c1.09,0,1.98,0.89,1.98,1.98s-0.89,1.98-1.98,1.98H35.8L35.8,60.85z M74.73,60.85c-1.1,0-1.99-0.89-1.99-1.99c0-1.1,0.89-1.99,1.99-1.99h32.63c1.1,0,1.99,0.89,1.99,1.99c0,1.1-0.89,1.99-1.99,1.99 H74.73L74.73,60.85z M74.73,72.36c-1.1,0-1.99-0.89-1.99-1.99s0.89-1.99,1.99-1.99h32.63c1.1,0,1.99,0.89,1.99,1.99 c0,1.1-0.89,1.99-1.99,1.99H74.73L74.73,72.36z M74.73,83.87c-1.1,0-1.99-0.89-1.99-1.99s0.89-1.99,1.99-1.99l32.63,0 c1.1,0,1.99,0.89,1.99,1.99c0,1.1-0.89,1.99-1.99,1.99L74.73,83.87L74.73,83.87z M35.8,83.87c-1.1,0-1.98-0.89-1.98-1.98 s0.89-1.98,1.98-1.98l30.25,0c1.09,0,1.98,0.89,1.98,1.98s-0.89,1.98-1.98,1.98L35.8,83.87L35.8,83.87z M36.76,72.36 c-1.1,0-1.98-0.89-1.98-1.98s0.89-1.98,1.98-1.98h30.25c1.1,0,1.98,0.89,1.98,1.98s-0.89,1.98-1.98,1.98H36.76L36.76,72.36z\" }));\nexport default SvgArticles;\n","import * as React from \"react\";\nconst SvgCheck = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"m20.207 7.207-10 10-.707.707-.707-.707-5-5 1.414-1.414L9.5 15.086l9.293-9.293 1.414 1.414Z\" }));\nexport default SvgCheck;\n","import * as React from \"react\";\nconst SvgChevronRight = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M13.586 12L7.793 6.207l1.414-1.414 6.5 6.5.707.707-.707.707-6.5 6.5-1.414-1.414L13.586 12z\" }));\nexport default SvgChevronRight;\n","import * as React from \"react\";\nconst SvgClose = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\" }));\nexport default SvgClose;\n","import * as React from \"react\";\nconst SvgCompany = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M14.763.075A.5.5 0 0 1 15 .5v15a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V14h-1v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V10a.5.5 0 0 1 .342-.474L6 7.64V4.5a.5.5 0 0 1 .276-.447l8-4a.5.5 0 0 1 .487.022zM6 8.694 1 10.36V15h5V8.694zM7 15h2v-1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V15h2V1.309l-7 3.5V15z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M2 11h1v1H2v-1zm2 0h1v1H4v-1zm-2 2h1v1H2v-1zm2 0h1v1H4v-1zm4-4h1v1H8V9zm2 0h1v1h-1V9zm-2 2h1v1H8v-1zm2 0h1v1h-1v-1zm2-2h1v1h-1V9zm0 2h1v1h-1v-1zM8 7h1v1H8V7zm2 0h1v1h-1V7zm2 0h1v1h-1V7zM8 5h1v1H8V5zm2 0h1v1h-1V5zm2 0h1v1h-1V5zm0-2h1v1h-1V3z\" }));\nexport default SvgCompany;\n","import * as React from \"react\";\nconst SvgCopy = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M3 1H2v16h4v-2H4V3h10v2h2V1H3Zm5 6h14v12.414l-.293.293-3 3-.293.293H8V7Zm2 14h7.586L20 18.586V9H10v12Z\" }));\nexport default SvgCopy;\n","import * as React from \"react\";\nconst SvgDownload = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z\" }));\nexport default SvgDownload;\n","import * as React from \"react\";\nconst SvgError = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M12 5.068 19.697 19H4.302L12 5.068Zm-.876-2.552-9.392 17L2.607 21h18.785l.875-1.484-9.392-17h-1.75ZM11 14v-4h2v4h-2Zm0 3v-2h2v2h-2Z\" }));\nexport default SvgError;\n","import * as React from \"react\";\nconst SvgFigma = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M15 10a2 2 0 100 4 2 2 0 000-4zm-2 5.464A4 4 0 0017.646 9 4 4 0 0015 2H9a4 4 0 00-2.646 7 4.01 4.01 0 00-.818 1 4 4 0 00.818 5 3.977 3.977 0 00-.818 1A4 4 0 1013 18v-2.536zM11 16H9a2 2 0 102 2v-2zM9 8h2V4H9a2 2 0 100 4zm0 2a2 2 0 100 4h2v-4H9zm4-2V4h2a2 2 0 010 4h-2z\" }));\nexport default SvgFigma;\n","import * as React from \"react\";\nconst SvgGithub = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M12 2C6.477 2 2 6.477 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0012 2z\" }));\nexport default SvgGithub;\n","import * as React from \"react\";\nconst SvgLink = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M9 4 8 5v2h2V6h10v7H10v-2H8v3l1 1h12l1-1V5l-1-1H9Zm2 4H3L2 9v9l1 1h12l1-1v-2h-2v1H4v-7h10v2h2V9l-1-1h-4Z\" }));\nexport default SvgLink;\n","import * as React from \"react\";\nconst SvgLinkedin = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z\" }));\nexport default SvgLinkedin;\n","import * as React from \"react\";\nconst SvgMenu = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M22 6H2V4h20v2zM2 13h16v-2H2v2zm0 7h20v-2H2v2z\" }));\nexport default SvgMenu;\n","import * as React from \"react\";\nconst SvgPause = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M6 19h4V5H6v14zm8-14v14h4V5h-4z\" }));\nexport default SvgPause;\n","import * as React from \"react\";\nconst SvgPlay = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M8 5v14l11-7z\" }));\nexport default SvgPlay;\n","import * as React from \"react\";\nconst SvgSend = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M2.01 21L23 12 2.01 3 2 10l15 2-15 2 .01 7z\" }));\nexport default SvgSend;\n","import * as React from \"react\";\nconst SvgSkills = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 128 128\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M19,70.15c-4.75,1-9.66,1.1-14.42-3.79C1.4,63.1-.19,58.23,0,53.13c12.17,14.15,27-3.34,9-12.43,8.69-4.12,16.89-.25,21.24,7.76,2.06,3.78,3.29,5.76,4.86,7.11a8.58,8.58,0,0,0,.9.69A8.1,8.1,0,0,1,39.8,51.8,7.14,7.14,0,0,1,43.05,51c3.18,0,7.14,1.9,7.81,5.14h0a1.61,1.61,0,0,1,.44-.06h2.31a1.5,1.5,0,0,1,.37,0,5.6,5.6,0,0,1,5,4.59,1.65,1.65,0,0,1,.71-.16H62a1.5,1.5,0,0,1,.37,0c3.31.51,4.65,2.55,5.12,5.12l.26,0h2.31a1.5,1.5,0,0,1,.37,0c3.8.59,5.29,3.08,5.87,6.08,7-1.07,14.57-5.27,22,2.33a17.78,17.78,0,0,1,4.57,13.23c-12.17-14.15-27,3.34-9,12.43-7.47,3.54-14.59,1.17-19.2-4.66a30.06,30.06,0,0,1-2.34,4.92c-.38.62-.77,1.26-1.27,2.14a.16.16,0,0,0,0,.07,19.77,19.77,0,0,1-1.3,2h1.6a2.51,2.51,0,0,1,2.5,2.5v13.61a2.51,2.51,0,0,1-2.5,2.5H35.13a2.51,2.51,0,0,1-2.5-2.5V106.77a2.51,2.51,0,0,1,2.5-2.5H36a18,18,0,0,1-.9-3.79L22.64,80.07,22.58,80a22.48,22.48,0,0,1-2.5-4.24,12.37,12.37,0,0,1-1.08-4,10.22,10.22,0,0,1,0-1.57Zm92-33.29a2,2,0,0,0-.37-.74,1.51,1.51,0,0,0-.57-.46,1.61,1.61,0,0,0-.7-.22,2.62,2.62,0,0,0-.76.09l-.06,0-7.36,2.24a3,3,0,0,1-3.63-1.55c-.38-.64-.75-1.27-1.2-2s-1-1.38-1.39-2S94,31,93.4,30.38s-1-1.14-1.69-1.83A3.09,3.09,0,0,1,91.22,25l3.91-7.35a1.63,1.63,0,0,0,.13-1.46,2.07,2.07,0,0,0-.31-.65,1.82,1.82,0,0,0-.61-.49l-9.26-4.93a2.81,2.81,0,0,0-.68-.26,2.72,2.72,0,0,0-.82.11,1.31,1.31,0,0,0-.61.33,1.82,1.82,0,0,0-.49.61l-3.6,6.75a3.13,3.13,0,0,1-3.69,1.52c-.82-.21-1.59-.41-2.27-.55s-1.54-.28-2.36-.39a23.32,23.32,0,0,0-2.4-.19c-.84-.06-1.62,0-2.37-.06a3,3,0,0,1-3-2.18l-2.5-8.1c0-.06,0-.06,0-.1a2.52,2.52,0,0,0-.3-.66,2.09,2.09,0,0,0-1.26-.61,1.94,1.94,0,0,0-.82.11L48,9.48a1.9,1.9,0,0,0-.74.36,1.71,1.71,0,0,0-.47.57,1.5,1.5,0,0,0-.21.71,2.29,2.29,0,0,0,.09.75l0,.05,2.25,7.35a3.08,3.08,0,0,1-1.56,3.64c-.64.37-1.27.74-2,1.2s-1.38.95-2,1.39-1.3,1-1.91,1.54-1.15,1-1.83,1.7a3.1,3.1,0,0,1-3.59.48l-7.34-3.91a1.88,1.88,0,0,0-.75-.23,3.3,3.3,0,0,0-.69.07,1.31,1.31,0,0,0-.61.32,1.75,1.75,0,0,0-.49.62l-.4.74a24.3,24.3,0,0,0-6.73-.35l1.78-3.35a8.61,8.61,0,0,1,2-2.49,8.51,8.51,0,0,1,2.81-1.5,8.08,8.08,0,0,1,3.18-.33,8.57,8.57,0,0,1,3,1l5.43,2.9.4-.33c.7-.61,1.45-1.19,2.2-1.78s1.56-1.18,2.3-1.66l.26-.19-1.5-5.05a7.44,7.44,0,0,1-.33-3.17,7.84,7.84,0,0,1,.92-3.06,7.75,7.75,0,0,1,2-2.46,8.26,8.26,0,0,1,2.82-1.5L56.28.41l0,0A8.58,8.58,0,0,1,59.43,0a7.71,7.71,0,0,1,3.06.92A8.54,8.54,0,0,1,65,3a7.27,7.27,0,0,1,1.39,2.81l1.83,5.88a2.12,2.12,0,0,0,.43,0c.9.05,1.83.16,2.81.25s1.87.28,2.81.46a1,1,0,0,1,.39.1l2.46-4.63a7.84,7.84,0,0,1,4.82-3.92l.06,0a7.71,7.71,0,0,1,3.11-.31,8.44,8.44,0,0,1,3,.89l9.25,4.94a8.58,8.58,0,0,1,2.49,2,7.68,7.68,0,0,1,1.5,2.82,8,8,0,0,1,.33,3.17,8.31,8.31,0,0,1-1,3l-2.9,5.44c.11.11.23.28.34.39.6.71,1.19,1.45,1.77,2.2s1.19,1.56,1.66,2.3l.19.27,5.05-1.51a7.43,7.43,0,0,1,3.17-.32,8,8,0,0,1,3.06.91,7.67,7.67,0,0,1,2.46,2l0,.08a8.26,8.26,0,0,1,1.5,2.82l3,9.91.05,0a8.8,8.8,0,0,1,.35,3.13,7.87,7.87,0,0,1-.92,3.06,8.54,8.54,0,0,1-2,2.46A7.31,7.31,0,0,1,114.63,55l-5.88,1.83c0,.15,0,.32,0,.47,0,.91-.15,1.83-.24,2.71,0,0,0,.11,0,.15A26.84,26.84,0,0,1,108,63l-.07.34,4.67,2.49a7.52,7.52,0,0,1,2.47,2,8,8,0,0,1,1.45,2.79l0,.07a7.66,7.66,0,0,1,.31,3.1,8.25,8.25,0,0,1-.9,3l-.74,1.39-1.32-.71a25.71,25.71,0,0,0-4.34-7.75c-.14-.19-.29-.37-.45-.55a27.07,27.07,0,0,0-7.55-6.25c.09-.37.18-.75.26-1.13.13-.75.28-1.54.37-2.42,0,0,0-.11,0-.15.11-.81.17-1.54.23-2.27s.09-1.59.07-2.37a3,3,0,0,1,2.18-3l8.09-2.5s.07,0,.11,0a2.31,2.31,0,0,0,.65-.3,1.52,1.52,0,0,0,.41-.55,1.77,1.77,0,0,0,.21-.71,1.94,1.94,0,0,0-.11-.82L111,36.8l0,.06Zm-34-3.09a21.79,21.79,0,0,1,3.93,2.64,23.11,23.11,0,0,1,3.3,3.33,29.87,29.87,0,0,1,2.5,3.79,21.32,21.32,0,0,1,1.72,4.13,20.05,20.05,0,0,1,.86,4.44,20.89,20.89,0,0,1,0,4.54c0,.11,0,.19,0,.26a23,23,0,0,1-.68,3.77c-1.64.16-3.27.42-4.88.71l-1.48-.79c.13-.34.24-.69.35-1.05a18.63,18.63,0,0,0,.64-3.14.8.8,0,0,1,0-.22,17.14,17.14,0,0,0,0-3.44,17.56,17.56,0,0,0-.62-3.23,14.89,14.89,0,0,0-1.28-3,18.34,18.34,0,0,0-1.91-2.87A16.74,16.74,0,0,0,77,41.19a18.31,18.31,0,0,0-6.2-3.3,18.63,18.63,0,0,0-3.14-.64.57.57,0,0,1-.22,0,18.76,18.76,0,0,0-3.44,0,17.57,17.57,0,0,0-3.23.63,14.89,14.89,0,0,0-3,1.28,18.26,18.26,0,0,0-2.87,1.9,17.35,17.35,0,0,0-2.43,2.42c-.23.27-.46.56-.68.87l-5.46-2.91a20.4,20.4,0,0,1,1.42-1.9A22.63,22.63,0,0,1,51,36.26a28.91,28.91,0,0,1,3.79-2.51A24.63,24.63,0,0,1,59,32a22,22,0,0,1,4.39-.88,21.63,21.63,0,0,1,4.55,0c.1,0,.19.05.25,0a23.26,23.26,0,0,1,4.35.84,26.43,26.43,0,0,1,4.39,1.79l0,0Zm-37.89,24h0v.1h0l0,0V58h0v.21h0v.11h0v.11h0v.34h0V59h0v.12h0v.23h0v.13h0v.13h0V60h0v.13h0v.14h0v.25h0V79a1.68,1.68,0,1,1-3.35,0v-3.1h0a1.84,1.84,0,0,1-.25-.17L31.8,73.16l-4.34-3.57A6.52,6.52,0,0,0,26,68.66H24.87a2.57,2.57,0,0,0-1.45.06,1.46,1.46,0,0,0-.79.81h-.1a5.44,5.44,0,0,0-.2,2.11,8.87,8.87,0,0,0,.81,2.9A18.68,18.68,0,0,0,25.26,78s.07.1.1.16l12.7,20.76a1.68,1.68,0,0,1,.28.76h0a11.41,11.41,0,0,0,1.31,4.59H65a11,11,0,0,0,3.08-3.63.47.47,0,0,1,.06-.09c.36-.62.84-1.41,1.31-2.18a29.64,29.64,0,0,0,2.86-6.82v0l0-.06,0-.1,0-.06v0l0-.1,0-.07v0l0-.1.06-.2,0-.1h0l0-.09,0-.1v0l0-.07,0-.1v-.1l0-.1V90l0-.1,0-.09h0l0-.1,0-.1h0l0-.08,0-.1v0l0-.07,0-.1v-.1l0-.1,0-.07v0l0-.1,0-.08v0l0-.09,0-.1h0l0-.09,0-.1v-.1l0-.09v-.29l0-.1v-.1l0-.09v-.1h0v-.09l0-.1v-.84h0v-1l-.13-5.7a1.94,1.94,0,0,1,0-.24c0-.08,0-.62,0-1.34v-.18h0V76.84h0v-.19h0V75.36h0v-.19h0V74.1h0v-.17h0v-.18h0v-.19l0-.09v-.64l0-.08,0-.09,0-.09h0v-.09l0-.07h0l0-.09v-.08l0-.09V72a3.67,3.67,0,0,0-2.89-3H67.74c0,.47,0,.93,0,1.4h0v0h0v0h0v0h0v.1h0v0h0v.08h0V71h0v0h0v0h0v.1h0v0h0v0h0v0h0v.07h0v0h0v0h0v0h0v0h0v.05h0v0h0v0h0v0h0v0h0v.05h0v0h0v0h0v0h0v0h0v0h0v0h0v0h0v.05c-.06.93-.11,1.84-.11,2.7a1.68,1.68,0,0,1-3.36,0c0-.86.07-1.86.13-2.9v-.33h0v-.17h0v-.15h0v-.33h0v-.17h0v-.15h0v-.17h0V70.2h0v-.34h0v-.33h0V69.2h0V69c0-2.52-.45-4.71-2.48-5.08H59.7a1.37,1.37,0,0,1-.36,0c0,.94,0,1.92-.08,2.87v1c-.06.93-.11,1.83-.11,2.69a1.68,1.68,0,1,1-3.36,0c0-.86.07-1.86.13-2.9v-.17h0v-.15h0v-.16h0v-.17h0v-.17h0v-.17h0v-.32h0v-.16h0v-.17h0v-.14h0v-.17h0v-.17h0v-.07c.08-2.84-.23-5.46-2.47-5.87H51.29a1.49,1.49,0,0,1-.43-.06v6.49a1.68,1.68,0,0,1-3.36,0v-8.2c0-2.32-2.3-3.32-4.45-3.32a3.85,3.85,0,0,0-1.74.42,5,5,0,0,0-2.26,3ZM35.29,70l-1.58-.65a19.89,19.89,0,0,0-2.2-.75l2.41,2,1.37,1.12V70Z\" }));\nexport default SvgSkills;\n","import * as React from \"react\";\nconst SvgStorybook = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M16.71.243l-.12 2.71a.18.18 0 00.29.15l1.06-.8.9.7a.18.18 0 00.28-.14l-.1-2.76 1.33-.1a1.2 1.2 0 011.279 1.2v21.596a1.2 1.2 0 01-1.26 1.2l-16.096-.72a1.2 1.2 0 01-1.15-1.16l-.75-19.797a1.2 1.2 0 011.13-1.27L16.7.222zM13.64 9.3c0 .47 3.16.24 3.59-.08 0-3.2-1.72-4.89-4.859-4.89-3.15 0-4.899 1.72-4.899 4.29 0 4.45 5.999 4.53 5.999 6.959 0 .7-.32 1.1-1.05 1.1-.96 0-1.35-.49-1.3-2.16 0-.36-3.649-.48-3.769 0-.27 4.03 2.23 5.2 5.099 5.2 2.79 0 4.969-1.49 4.969-4.18 0-4.77-6.099-4.64-6.099-6.999 0-.97.72-1.1 1.13-1.1.45 0 1.25.07 1.19 1.87z\" }));\nexport default SvgStorybook;\n","import * as React from \"react\";\nconst SvgTwitter = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M22.92 6c-.77.35-1.6.58-2.46.69.88-.53 1.56-1.37 1.88-2.38-.83.5-1.75.85-2.72 1.05C18.83 4.5 17.72 4 16.46 4c-2.35 0-4.27 1.92-4.27 4.29 0 .34.04.67.11.98-3.56-.18-6.73-1.89-8.84-4.48-.37.63-.58 1.37-.58 2.15 0 1.49.75 2.81 1.91 3.56-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.22 4.22 0 01-1.93.07 4.28 4.28 0 004 2.98 8.521 8.521 0 01-5.33 1.84c-.34 0-.68-.02-1.02-.06C3.9 20.29 6.16 21 8.58 21c7.88 0 12.21-6.54 12.21-12.21 0-.19 0-.37-.01-.56.84-.6 1.56-1.36 2.14-2.23z\" }));\nexport default SvgTwitter;\n","import { classes } from '../../utils/style';\nimport styles from './Icon.module.css';\nimport ArrowLeft from './svg/arrow-left.svg';\nimport ArrowRight from './svg/arrow-right.svg';\nimport Article from './svg/articles.svg';\nimport Check from './svg/check.svg';\nimport ChevronRight from './svg/chevron-right.svg';\nimport Close from './svg/close.svg';\nimport Company from './svg/company.svg';\nimport Copy from './svg/copy.svg';\nimport Download from './svg/download.svg';\nimport Error from './svg/error.svg';\nimport Figma from './svg/figma.svg';\nimport Github from './svg/github.svg';\nimport Link from './svg/link.svg';\nimport Linkedin from './svg/linkedin.svg';\nimport Menu from './svg/menu.svg';\nimport Pause from './svg/pause.svg';\nimport Play from './svg/play.svg';\nimport Send from './svg/send.svg';\nimport Skills from './svg/skills.svg';\nimport Storybook from './svg/storybook.svg';\nimport Twitter from './svg/twitter.svg';\n\nexport const icons = {\n arrowLeft: ArrowLeft,\n arrowRight: ArrowRight,\n articles: Article,\n company: Company,\n check: Check,\n chevronRight: ChevronRight,\n close: Close,\n copy: Copy,\n download: Download,\n error: Error,\n figma: Figma,\n github: Github,\n link: Link,\n linkedin: Linkedin,\n menu: Menu,\n pause: Pause,\n play: Play,\n send: Send,\n skills: Skills,\n storybook: Storybook,\n twitter: Twitter,\n};\n\nexport type IconName = keyof typeof icons;\n\nexport interface IconProps {\n icon: IconName;\n className?: string;\n [key: string]: unknown;\n}\n\nexport const Icon = ({ icon, className, ...rest }: IconProps) => {\n const IconComponent = icons[icon];\n\n return (\n <IconComponent aria-hidden className={classes(styles.icon, className)} {...rest} />\n );\n};\n","import {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useRef,\n useState,\n} from 'react';\nimport type { KeyboardEvent, ReactNode, RefObject } from 'react';\nimport { VisuallyHidden } from '../VisuallyHidden';\nimport { cssProps } from '../../utils/style';\nimport styles from './SegmentedControl.module.css';\n\ninterface SegmentedControlContextValue {\n optionRefs: { current: RefObject<HTMLButtonElement>[] };\n currentIndex: number;\n onChange: (index: number) => void;\n registerOption: (optionRef: RefObject<HTMLButtonElement>) => void;\n unRegisterOption: (optionRef: RefObject<HTMLButtonElement>) => void;\n}\n\nconst SegmentedControlContext = createContext<SegmentedControlContextValue>(\n {} as SegmentedControlContextValue\n);\n\ninterface SegmentedControlProps {\n children: ReactNode;\n currentIndex: number;\n onChange: (index: number) => void;\n label: string;\n [key: string]: unknown;\n}\n\nexport const SegmentedControl = ({\n children,\n currentIndex,\n onChange,\n label,\n ...props\n}: SegmentedControlProps) => {\n const id = useId();\n const labelId = `${id}segmented-control-label`;\n const optionRefs = useRef<RefObject<HTMLButtonElement>[]>([]);\n const [indicator, setIndicator] = useState<{ width?: number; left?: number }>();\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const { length } = optionRefs.current;\n const prevIndex = (currentIndex - 1 + length) % length;\n const nextIndex = (currentIndex + 1) % length;\n\n if (['ArrowLeft', 'ArrowUp'].includes(event.key)) {\n onChange(prevIndex);\n optionRefs.current[prevIndex].current?.focus();\n } else if (['ArrowRight', 'ArrowDown'].includes(event.key)) {\n onChange(nextIndex);\n optionRefs.current[nextIndex].current?.focus();\n }\n };\n\n const registerOption = useCallback((optionRef: RefObject<HTMLButtonElement>) => {\n optionRefs.current = [...optionRefs.current, optionRef];\n }, []);\n\n const unRegisterOption = useCallback((optionRef: RefObject<HTMLButtonElement>) => {\n optionRefs.current = optionRefs.current.filter(ref => ref !== optionRef);\n }, []);\n\n useEffect(() => {\n const currentOption = optionRefs.current[currentIndex]?.current;\n if (!currentOption) return;\n\n const resizeObserver = new ResizeObserver(() => {\n const rect = currentOption.getBoundingClientRect();\n const left = currentOption.offsetLeft;\n setIndicator({ width: rect.width, left });\n });\n\n resizeObserver.observe(currentOption);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [currentIndex]);\n\n return (\n <SegmentedControlContext.Provider\n value={{ optionRefs, currentIndex, onChange, registerOption, unRegisterOption }}\n >\n <div\n className={styles.container}\n role=\"radiogroup\"\n aria-labelledby={labelId}\n onKeyDown={handleKeyDown}\n {...props}\n >\n <VisuallyHidden as=\"label\" id={labelId}>\n {label}\n </VisuallyHidden>\n <div className={styles.options}>\n {!!indicator && (\n <div\n className={styles.indicator}\n // Options register themselves into this ref on mount; length is\n // correct by the time this re-renders after registration settles.\n // eslint-disable-next-line react-hooks/refs\n data-last={currentIndex === optionRefs.current.length - 1}\n style={cssProps(indicator)}\n />\n )}\n {children}\n </div>\n </div>\n </SegmentedControlContext.Provider>\n );\n};\n\ninterface SegmentedControlOptionProps {\n children: ReactNode;\n [key: string]: unknown;\n}\n\nexport const SegmentedControlOption = ({ children, ...props }: SegmentedControlOptionProps) => {\n const { optionRefs, currentIndex, onChange, registerOption, unRegisterOption } =\n useContext(SegmentedControlContext);\n const optionRef = useRef<HTMLButtonElement>(null);\n // Same as above: the parent's ref collection settles by the time this\n // re-renders after this option registers itself on mount.\n // eslint-disable-next-line react-hooks/refs\n const index = optionRefs.current.indexOf(optionRef as RefObject<HTMLButtonElement>);\n const isSelected = currentIndex === index;\n\n useEffect(() => {\n registerOption(optionRef as RefObject<HTMLButtonElement>);\n\n return () => {\n unRegisterOption(optionRef as RefObject<HTMLButtonElement>);\n };\n }, [registerOption, unRegisterOption]);\n\n return (\n <button\n className={styles.button}\n tabIndex={isSelected ? 0 : -1}\n role=\"radio\"\n aria-checked={isSelected}\n onClick={() => onChange(index)}\n ref={optionRef}\n {...props}\n >\n {children}\n </button>\n );\n};\n","import { useEffect, useRef, useState } from 'react';\nimport type { ChangeEvent, TextareaHTMLAttributes } from 'react';\nimport { classes, cssProps } from '../../utils/style';\nimport styles from './TextArea.module.css';\n\ninterface TextAreaDimensions {\n lineHeight: number;\n paddingHeight: number;\n}\n\ninterface TextAreaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'onChange'> {\n className?: string;\n resize?: string;\n value?: string;\n onChange: (event: ChangeEvent<HTMLTextAreaElement>) => void;\n minRows?: number;\n maxRows?: number;\n}\n\nexport const TextArea = ({\n className,\n resize = 'none',\n value,\n onChange,\n minRows = 1,\n maxRows,\n ...rest\n}: TextAreaProps) => {\n const [rows, setRows] = useState(minRows);\n const [textareaDimensions, setTextareaDimensions] = useState<TextAreaDimensions>();\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n\n useEffect(() => {\n const style = getComputedStyle(textareaRef.current!);\n const lineHeight = parseInt(style.lineHeight, 10);\n const paddingHeight =\n parseInt(style.paddingTop, 10) + parseInt(style.paddingBottom, 10);\n setTextareaDimensions({ lineHeight, paddingHeight });\n }, []);\n\n const handleChange = (event: ChangeEvent<HTMLTextAreaElement>) => {\n onChange(event);\n\n const { lineHeight, paddingHeight } = textareaDimensions!;\n const previousRows = event.target.rows;\n event.target.rows = minRows;\n\n const currentRows = ~~((event.target.scrollHeight - paddingHeight) / lineHeight);\n\n if (currentRows === previousRows) {\n event.target.rows = currentRows;\n }\n\n if (maxRows && currentRows >= maxRows) {\n event.target.rows = maxRows;\n event.target.scrollTop = event.target.scrollHeight;\n }\n\n setRows(maxRows && currentRows > maxRows ? maxRows : currentRows);\n };\n\n return (\n <textarea\n className={classes(styles.textarea, className)}\n ref={textareaRef}\n onChange={handleChange}\n style={cssProps({ resize })}\n rows={rows}\n value={value}\n {...rest}\n />\n );\n};\n","import React, { useId, useRef, useState } from 'react';\nimport type { ChangeEvent, ElementType, FocusEvent } from 'react';\nimport { Icon } from '../Icon';\nimport { tokens } from '../ThemeProvider';\nimport { Transition } from '../Transition';\nimport { classes, cssProps, msToNum } from '../../utils/style';\nimport styles from './Input.module.css';\nimport { TextArea } from './TextArea';\n\nexport interface InputProps {\n id?: string;\n label?: string;\n value?: string;\n multiline?: boolean;\n className?: string;\n style?: React.CSSProperties;\n error?: string | null;\n onBlur?: (event: FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void;\n autoComplete?: string;\n required?: boolean;\n maxLength?: number;\n type?: string;\n placeholder?: string;\n /** Multiline only: cap the auto-grow at this many rows, then scroll inside. */\n maxRows?: number;\n onChange?: (event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;\n [key: string]: unknown;\n}\n\nexport const Input = ({\n id,\n label,\n value,\n multiline,\n className,\n style,\n error,\n onBlur,\n autoComplete,\n required,\n maxLength,\n type,\n placeholder,\n maxRows,\n onChange,\n ...rest\n}: InputProps) => {\n const [focused, setFocused] = useState(false);\n const generatedId = useId();\n const errorRef = useRef<HTMLDivElement>(null);\n const inputId = id || `${generatedId}input`;\n const labelId = `${inputId}-label`;\n const errorId = `${inputId}-error`;\n const InputElement = (multiline ? TextArea : 'input') as ElementType;\n\n const handleBlur = (event: FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n setFocused(false);\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n return (\n <div\n className={classes(styles.container, className)}\n data-error={!!error}\n data-multiline={!!multiline}\n style={style}\n {...rest}\n >\n <div className={styles.content}>\n <label\n className={styles.label}\n data-focused={focused}\n data-filled={!!value}\n data-placeholder={!!placeholder}\n id={labelId}\n htmlFor={inputId}\n >\n {label}\n </label>\n <InputElement\n className={styles.input}\n id={inputId}\n aria-labelledby={labelId}\n aria-describedby={error ? errorId : undefined}\n onFocus={() => setFocused(true)}\n onBlur={handleBlur}\n value={value}\n onChange={onChange}\n autoComplete={autoComplete}\n required={required}\n maxLength={maxLength}\n type={type}\n placeholder={placeholder}\n {...(multiline ? { maxRows } : {})}\n />\n <div className={styles.underline} data-focused={focused} />\n </div>\n <Transition unmount in={!!error} timeout={msToNum(tokens.base.durationM)}>\n {(visible: boolean) => (\n <div\n className={styles.error}\n data-visible={visible}\n id={errorId}\n role=\"alert\"\n style={cssProps({\n height: visible ? errorRef.current?.getBoundingClientRect().height ?? 0 : 0,\n })}\n >\n <div className={styles.errorMessage} ref={errorRef}>\n <Icon icon=\"error\" />\n {error}\n </div>\n </div>\n )}\n </Transition>\n </div>\n );\n};\n","import { forwardRef, type ReactNode, type ComponentPropsWithoutRef } from 'react';\nimport { useLinkComponent, type LinkComponent } from '../LinkProvider';\nimport { classes } from '../../utils/style';\nimport styles from './Link.module.css';\n\nconst VALID_EXT = ['txt', 'png', 'jpg'];\n\nfunction isAnchor(href?: string): boolean {\n const isValidExtension = VALID_EXT.includes(href?.split('.').pop() ?? '');\n return !!href?.includes('://') || href?.[0] === '#' || isValidExtension;\n}\n\ninterface LinkProps extends ComponentPropsWithoutRef<'a'> {\n secondary?: boolean;\n children?: ReactNode;\n /** Overrides the LinkProvider-supplied component for this instance only. */\n linkComponent?: LinkComponent;\n}\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(\n ({ rel, target, children, secondary, className, href, linkComponent, ...rest }, ref) => {\n const ContextLink = useLinkComponent();\n const RouterLink = linkComponent ?? ContextLink;\n const isExternal = href?.includes('://');\n const relValue = rel || (isExternal ? 'noreferrer noopener' : undefined);\n const targetValue = target || (isExternal ? '_blank' : undefined);\n const linkProps = {\n className: classes(styles.link, className),\n 'data-secondary': secondary,\n rel: relValue,\n href,\n target: targetValue,\n ref,\n ...rest,\n };\n\n if (isAnchor(href)) {\n return <a {...linkProps}>{children}</a>;\n }\n\n return (\n <RouterLink {...linkProps} href={href ?? ''}>\n {children}\n </RouterLink>\n );\n }\n);\n","import { forwardRef, type ComponentPropsWithoutRef, type ElementType, type ReactNode } from 'react';\nimport { Icon } from '../Icon';\nimport { useLinkComponent, type LinkComponent } from '../LinkProvider';\nimport { Loader } from '../Loader';\nimport { Transition } from '../Transition';\nimport type { icons } from '../Icon';\nimport { classes } from '../../utils/style';\nimport styles from './Button.module.css';\n\nfunction isExternalLink(href?: string): boolean {\n return !!href?.includes('://');\n}\n\nexport interface ButtonProps extends ComponentPropsWithoutRef<'button'> {\n href?: string;\n as?: ElementType;\n secondary?: boolean;\n loading?: boolean;\n loadingText?: string;\n icon?: keyof typeof icons;\n iconEnd?: keyof typeof icons;\n iconHoverShift?: boolean;\n iconOnly?: boolean;\n children?: ReactNode;\n rel?: string;\n target?: string;\n disabled?: boolean;\n download?: string;\n /** Overrides the LinkProvider-supplied component for this instance only. */\n linkComponent?: LinkComponent;\n}\n\nexport const Button = forwardRef<HTMLElement, ButtonProps>(\n ({ href, linkComponent, ...rest }, ref) => {\n const ContextLink = useLinkComponent();\n const RouterLink = linkComponent ?? ContextLink;\n\n if (isExternalLink(href) || !href) {\n return <ButtonContent href={href} ref={ref} {...rest} />;\n }\n\n return <ButtonContent as={RouterLink} href={href} ref={ref} {...rest} />;\n }\n);\n\nconst ButtonContent = forwardRef<HTMLElement, ButtonProps>(\n (\n {\n className,\n as,\n secondary,\n loading,\n loadingText = 'loading',\n icon,\n iconEnd,\n iconHoverShift,\n iconOnly,\n children,\n rel,\n target,\n href,\n disabled,\n ...rest\n },\n ref\n ) => {\n const isExternal = isExternalLink(href);\n const defaultComponent = href ? 'a' : 'button';\n const Component = as || defaultComponent;\n\n return (\n <Component\n className={classes(styles.button, className)}\n data-loading={loading}\n data-icon-only={iconOnly}\n data-secondary={secondary}\n data-icon={icon}\n href={href}\n rel={rel || isExternal ? 'noopener noreferrer' : undefined}\n target={target || isExternal ? '_blank' : undefined}\n disabled={disabled}\n ref={ref}\n {...rest}\n >\n {!!icon && (\n <Icon\n className={styles.icon}\n data-start={!iconOnly}\n data-shift={iconHoverShift}\n icon={icon}\n />\n )}\n {!!children && <span className={styles.text}>{children}</span>}\n {!!iconEnd && (\n <Icon\n className={styles.icon}\n data-end={!iconOnly}\n data-shift={iconHoverShift}\n icon={iconEnd}\n />\n )}\n <Transition unmount in={loading}>\n {(visible: boolean) => (\n <Loader\n className={styles.loader}\n size={32}\n text={loadingText}\n data-visible={visible}\n />\n )}\n </Transition>\n </Component>\n );\n }\n);\n","import { Icon } from '../Icon';\nimport { Link } from '../Link';\nimport { classes } from '../../utils/style';\nimport styles from './Breadcrumbs.module.css';\n\nexport interface BreadcrumbItem {\n label: string;\n href: string;\n}\n\ninterface BreadcrumbsProps {\n items: BreadcrumbItem[];\n className?: string;\n}\n\nexport const Breadcrumbs = ({ items, className }: BreadcrumbsProps) => {\n return (\n <nav aria-label=\"Breadcrumb\" className={classes(styles.breadcrumbs, className)}>\n <ol className={styles.list}>\n {items.map((item, index) => {\n const isLast = index === items.length - 1;\n\n return (\n <li key={item.href} className={styles.item}>\n {index > 0 && (\n <Icon\n className={styles.separator}\n icon=\"chevronRight\"\n aria-hidden=\"true\"\n />\n )}\n {isLast ? (\n <span className={styles.current} aria-current=\"page\">\n {item.label}\n </span>\n ) : (\n <Link className={styles.link} href={item.href}>\n {item.label}\n </Link>\n )}\n </li>\n );\n })}\n </ol>\n </nav>\n );\n};\n","export async function delay(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n","import { VisuallyHidden } from '../VisuallyHidden';\nimport { useReducedMotion, useSpring } from 'framer-motion';\nimport { memo, useEffect, useRef } from 'react';\nimport { delay } from '../../utils/delay';\nimport { classes } from '../../utils/style';\nimport styles from './ScrambleReveal.module.css';\n\n// Standalone-renderable Devanagari only — no matras/conjuncts (they render\n// broken with a dotted-circle placeholder when shown in isolation).\n// prettier-ignore\nconst glyphs = [\n // Independent vowels\n 'अ', 'आ', 'इ', 'ई', 'उ',\n 'ऊ', 'ऋ', 'ए', 'ऐ', 'ओ', 'औ',\n // Consonants\n 'क', 'ख', 'ग', 'घ', 'ङ',\n 'च', 'छ', 'ज', 'झ', 'ञ',\n 'ट', 'ठ', 'ड', 'ढ', 'ण',\n 'त', 'थ', 'द', 'ध', 'न',\n 'प', 'फ', 'ब', 'भ', 'म',\n 'य', 'र', 'ल', 'व', 'श',\n 'ष', 'स', 'ह', 'ळ',\n // Devanagari digits\n '०', '१', '२', '३', '४',\n '५', '६', '७', '८', '९',\n];\n\nconst CharType = {\n Glyph: 'glyph',\n Value: 'value',\n} as const;\n\ninterface CharItem {\n type: (typeof CharType)[keyof typeof CharType];\n value: string;\n}\n\nfunction shuffle(content: string[], output: CharItem[], position: number): CharItem[] {\n return content.map((value, index) => {\n if (index < position) {\n return { type: CharType.Value, value };\n }\n\n if (position % 1 < 0.5) {\n const rand = Math.floor(Math.random() * glyphs.length);\n return { type: CharType.Glyph, value: glyphs[rand] };\n }\n\n return { type: CharType.Glyph, value: output[index].value };\n });\n}\n\ninterface ScrambleRevealProps {\n text: string;\n start?: boolean;\n delay?: number;\n className?: string;\n [key: string]: unknown;\n}\n\nexport const ScrambleReveal = memo(\n ({ text, start = true, delay: startDelay = 0, className, ...rest }: ScrambleRevealProps) => {\n const output = useRef<CharItem[]>([{ type: CharType.Glyph, value: '' }]);\n const container = useRef<HTMLSpanElement>(null);\n const reduceMotion = useReducedMotion();\n const decoderSpring = useSpring(0, { stiffness: 8, damping: 5 });\n\n useEffect(() => {\n const containerInstance = container.current;\n const content = text.split('');\n let animation: number | undefined;\n\n const renderOutput = () => {\n const characterMap = output.current.map(item => {\n return `<span class=\"${styles[item.type]}\">${item.value}</span>`;\n });\n\n if (containerInstance) {\n containerInstance.innerHTML = characterMap.join('');\n }\n };\n\n const unsubscribeSpring = decoderSpring.on('change', (value: number) => {\n output.current = shuffle(content, output.current, value);\n renderOutput();\n });\n\n const startSpring = async () => {\n await delay(startDelay);\n decoderSpring.set(content.length);\n };\n\n if (start && !animation && !reduceMotion) {\n startSpring();\n }\n\n if (reduceMotion) {\n output.current = content.map((value, index) => ({\n type: CharType.Value,\n value: content[index],\n }));\n renderOutput();\n }\n\n return () => {\n unsubscribeSpring?.();\n };\n }, [decoderSpring, reduceMotion, start, startDelay, text]);\n\n return (\n <span className={classes(styles.text, className)} {...rest}>\n <VisuallyHidden className={styles.label}>{text}</VisuallyHidden>\n <span aria-hidden className={styles.content} ref={container} />\n </span>\n );\n }\n);\n","import { Button } from '../Button';\nimport { Icon } from '../Icon';\nimport { useTheme } from '../ThemeProvider';\nimport { useReducedMotion } from 'framer-motion';\nimport { useHasMounted } from '../../hooks/useHasMounted';\nimport { useInViewport } from '../../hooks/useInViewport';\nimport { Fragment, useCallback, useEffect, useRef, useState } from 'react';\nimport type { CSSProperties, HTMLAttributes, ReactEventHandler, VideoHTMLAttributes } from 'react';\nimport { resolveSrcFromSrcSet, srcSetToString } from '../../utils/image';\nimport { classes, cssProps, numToMs } from '../../utils/style';\nimport styles from './Image.module.css';\n\ninterface ImageSrc {\n src: string;\n width?: number;\n height?: number;\n}\n\ninterface SrcSetItem {\n src: string;\n width: number;\n}\n\ninterface ImageProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n style?: CSSProperties;\n reveal?: boolean;\n delay?: number;\n raised?: boolean;\n src?: ImageSrc;\n srcSet?: SrcSetItem[];\n placeholder?: ImageSrc;\n alt?: string;\n play?: boolean;\n restartOnPause?: boolean;\n sizes?: string;\n noPauseButton?: boolean;\n}\n\nexport const Image = ({\n className,\n style,\n reveal,\n delay = 0,\n raised,\n src: baseSrc,\n srcSet,\n placeholder,\n ...rest\n}: ImageProps) => {\n const [loaded, setLoaded] = useState(false);\n const { themeId } = useTheme();\n const containerRef = useRef<HTMLDivElement>(null);\n const src = baseSrc || srcSet?.[0];\n const inViewport = useInViewport(containerRef, !getIsVideo(src));\n\n const onLoad = useCallback(() => {\n setLoaded(true);\n }, []);\n\n return (\n <div\n className={classes(styles.image, className)}\n data-visible={inViewport || loaded}\n data-reveal={reveal}\n data-raised={raised}\n data-theme={themeId}\n style={cssProps({ delay: numToMs(delay) }, style)}\n ref={containerRef}\n >\n <ImageElements\n delay={delay}\n onLoad={onLoad}\n loaded={loaded}\n inViewport={inViewport}\n reveal={reveal}\n src={src}\n srcSet={srcSet}\n placeholder={placeholder}\n {...rest}\n />\n </div>\n );\n};\n\ninterface ImageElementsProps {\n onLoad: ReactEventHandler;\n loaded: boolean;\n inViewport: boolean;\n srcSet?: SrcSetItem[];\n placeholder?: ImageSrc;\n delay: number;\n src?: ImageSrc | SrcSetItem;\n alt?: string;\n play?: boolean;\n restartOnPause?: boolean;\n reveal?: boolean;\n sizes?: string;\n noPauseButton?: boolean;\n [key: string]: unknown;\n}\n\nconst ImageElements = ({\n onLoad,\n loaded,\n inViewport,\n srcSet,\n placeholder,\n delay,\n src,\n alt,\n play = true,\n restartOnPause,\n reveal,\n sizes,\n noPauseButton,\n ...rest\n}: ImageElementsProps) => {\n const reduceMotion = useReducedMotion();\n const [showPlaceholder, setShowPlaceholder] = useState(true);\n const [playing, setPlaying] = useState(!reduceMotion);\n const [videoSrc, setVideoSrc] = useState<string>();\n const [videoInteracted, setVideoInteracted] = useState(false);\n const placeholderRef = useRef<HTMLImageElement>(null);\n const videoRef = useRef<HTMLVideoElement>(null);\n const isVideo = getIsVideo(src);\n const showFullRes = inViewport;\n const srcSetString = srcSetToString(srcSet);\n const hasMounted = useHasMounted();\n\n useEffect(() => {\n const resolveVideoSrc = async () => {\n const resolvedVideoSrc = await resolveSrcFromSrcSet({ srcSet, sizes });\n setVideoSrc(resolvedVideoSrc);\n };\n\n if (isVideo && srcSet) {\n resolveVideoSrc();\n } else if (isVideo) {\n // Sync counterpart to the async branch above; kept in the same effect\n // so `videoSrc` always resolves the same way regardless of source shape.\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setVideoSrc((src as ImageSrc).src);\n }\n }, [isVideo, sizes, src, srcSet]);\n\n useEffect(() => {\n if (!videoRef.current || !videoSrc) return;\n\n const playVideo = () => {\n setPlaying(true);\n videoRef.current!.play();\n };\n\n const pauseVideo = () => {\n setPlaying(false);\n videoRef.current!.pause();\n };\n\n if (!play) {\n pauseVideo();\n\n if (restartOnPause) {\n videoRef.current.currentTime = 0;\n }\n }\n\n if (videoInteracted) return;\n\n if (!inViewport) {\n pauseVideo();\n } else if (inViewport && !reduceMotion && play) {\n playVideo();\n }\n }, [inViewport, play, reduceMotion, restartOnPause, videoInteracted, videoSrc]);\n\n const togglePlaying = (event: React.MouseEvent) => {\n event.preventDefault();\n\n setVideoInteracted(true);\n\n if (videoRef.current!.paused) {\n setPlaying(true);\n videoRef.current!.play();\n } else {\n setPlaying(false);\n videoRef.current!.pause();\n }\n };\n\n return (\n <div\n className={styles.elementWrapper}\n data-reveal={reveal}\n data-visible={inViewport || loaded}\n style={cssProps({ delay: numToMs(delay + 1000) })}\n >\n {isVideo && hasMounted && (\n <Fragment>\n <video\n muted\n loop\n playsInline\n className={styles.element}\n data-loaded={loaded}\n autoPlay={!reduceMotion}\n role=\"img\"\n onLoadStart={onLoad as ReactEventHandler<HTMLVideoElement>}\n src={videoSrc}\n aria-label={alt}\n ref={videoRef}\n {...(rest as VideoHTMLAttributes<HTMLVideoElement>)}\n />\n {!noPauseButton && (\n <Button className={styles.button} onClick={togglePlaying}>\n <Icon icon={playing ? 'pause' : 'play'} />\n {playing ? 'Pause' : 'Play'}\n </Button>\n )}\n </Fragment>\n )}\n {!isVideo && (\n <img\n className={styles.element}\n data-loaded={loaded}\n onLoad={onLoad}\n decoding=\"async\"\n src={showFullRes ? (src as ImageSrc)?.src : undefined}\n srcSet={showFullRes ? srcSetString : undefined}\n width={(src as ImageSrc)?.width}\n height={(src as ImageSrc)?.height}\n alt={alt}\n sizes={sizes}\n {...(rest as React.ImgHTMLAttributes<HTMLImageElement>)}\n />\n )}\n {showPlaceholder && placeholder && (\n <img\n aria-hidden\n className={styles.placeholder}\n data-loaded={loaded}\n style={cssProps({ delay: numToMs(delay) })}\n ref={placeholderRef}\n src={placeholder.src}\n width={placeholder.width}\n height={placeholder.height}\n onTransitionEnd={() => setShowPlaceholder(false)}\n decoding=\"async\"\n alt=\"\"\n role=\"presentation\"\n />\n )}\n </div>\n );\n};\n\nfunction getIsVideo(src?: ImageSrc | SrcSetItem): boolean {\n if (!src) return false;\n return typeof (src as ImageSrc).src === 'string' && (src as ImageSrc).src.endsWith('.mp4');\n}\n","import { forwardRef, useId, type SVGProps } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './Wordmark.module.css';\n\nexport interface WordmarkProps extends SVGProps<SVGSVGElement> {\n highlight?: boolean;\n}\n\nexport const Wordmark = forwardRef<SVGSVGElement, WordmarkProps>(\n ({ highlight, className, ...props }, ref) => {\n const id = useId();\n const clipId = `${id}wordmark-clip`;\n\n return (\n <svg\n aria-hidden\n className={classes(styles.wordmark, className)}\n width=\"46\"\n height=\"29\"\n viewBox=\"0 0 46 29\"\n ref={ref}\n {...props}\n >\n <defs>\n <clipPath id={clipId}>\n <path\n d=\"M 10.3281 17.7888 l 4.4875 -11.4688 l 0.0019 -0.0006 l 6.075 11.5263 a 0.5238 0.5238 90 0 0 0.9525 -0.0581 l 2.1187 -5.515 a 0.5288 0.5288 90 0 0 -0.025 -0.4288 L 18.9419 2.2531 A 4.1863 4.1863 90 0 0 15.2294 0 h -2.875 a 0.525 0.525 90 0 0 -0.4625 0.7688 l 2.2687 4.3044 l -2.2844 5.7188 l -4.45 -8.5388 A 4.1863 4.1863 90 0 0 3.7138 0 h -2.875 a 0.5262 0.5262 90 0 0 -0.4675 0.7688 L 9.375 17.8462 a 0.5244 0.5244 90 0 0 0.9525 -0.0575 z M 26.495 5.5037 a 0.5219 0.5219 90 0 0 0.2419 -0.2787 v 0.0006 l 1.6687 -4.5188 a 0.5238 0.5238 90 0 0 -0.4906 -0.7056 h -4.1113 a 0.5231 0.5231 90 0 0 -0.46 0.7737 l 2.4419 4.5163 c 0.1375 0.2562 0.4556 0.35 0.7094 0.2125 z M 39.375 0 l 0 18.125 L 34.375 18.125 l 0 -11.875 A 4.1863 4.1863 90 0 0 34.375 18.125 L 34.375 18.125 L 34.375 0 z z\"\n transform=\"rotate(180 23 15)\"\n />\n </clipPath>\n </defs>\n <rect clipPath={`url(#${clipId})`} width=\"100%\" height=\"100%\" />\n {highlight && (\n <g clipPath={`url(#${clipId})`}>\n <rect className={styles.highlight} width=\"100%\" height=\"100%\" />\n </g>\n )}\n </svg>\n );\n }\n);\n"],"names":["Text","children","size","Component","align","weight","secondary","className","rest","jsx","classes","styles","Heading","level","as","clampedLevel","Fragment","Section","forwardRef","ref","Element","List","ordered","ListItem","Divider","lineWidth","lineHeight","notchWidth","notchHeight","collapseDelay","collapsed","notch","light","style","jsxs","cssProps","numToMs","Table","TableRow","TableHead","TableBody","TableHeadCell","TableCell","VisuallyHidden","showOnFocus","visible","Transition","timeout","onEnter","onEntered","onExit","onExited","show","unmount","enterTimeout","useRef","exitTimeout","useEffect","AnimatePresence","TransitionContent","status","setStatus","useState","isPresent","safeToRemove","usePresence","hasEntered","setHasEntered","splitTimeout","actualTimeout","Loader","text","reduceMotion","useReducedMotion","hasMounted","useHasMounted","portalContainer","useRefractConfig","renderScreenReaderTextPortal","container","createPortal","gapSize","spanSize","SvgArrowLeft","props","React","SvgArrowRight","SvgArticles","SvgCheck","SvgChevronRight","SvgClose","SvgCompany","SvgCopy","SvgDownload","SvgError","SvgFigma","SvgGithub","SvgLink","SvgLinkedin","SvgMenu","SvgPause","SvgPlay","SvgSend","SvgSkills","SvgStorybook","SvgTwitter","icons","ArrowLeft","ArrowRight","Article","Company","Check","ChevronRight","Close","Copy","Download","Error","Figma","Github","Link","Linkedin","Menu","Pause","Play","Send","Skills","Storybook","Twitter","Icon","icon","IconComponent","SegmentedControlContext","createContext","SegmentedControl","currentIndex","onChange","label","labelId","useId","optionRefs","indicator","setIndicator","handleKeyDown","event","length","prevIndex","nextIndex","_a","_b","registerOption","useCallback","optionRef","unRegisterOption","currentOption","resizeObserver","rect","left","SegmentedControlOption","useContext","index","isSelected","TextArea","resize","value","minRows","maxRows","rows","setRows","textareaDimensions","setTextareaDimensions","textareaRef","paddingHeight","handleChange","previousRows","currentRows","Input","id","multiline","error","onBlur","autoComplete","required","maxLength","type","placeholder","focused","setFocused","generatedId","errorRef","inputId","errorId","InputElement","handleBlur","msToNum","tokens","VALID_EXT","isAnchor","href","isValidExtension","rel","target","linkComponent","ContextLink","useLinkComponent","RouterLink","isExternal","relValue","targetValue","linkProps","isExternalLink","Button","ButtonContent","loading","loadingText","iconEnd","iconHoverShift","iconOnly","disabled","Breadcrumbs","items","item","isLast","delay","ms","resolve","glyphs","CharType","shuffle","content","output","position","rand","ScrambleReveal","memo","start","startDelay","decoderSpring","useSpring","containerInstance","renderOutput","characterMap","unsubscribeSpring","Image","reveal","raised","baseSrc","srcSet","loaded","setLoaded","themeId","useTheme","containerRef","src","inViewport","useInViewport","getIsVideo","onLoad","ImageElements","alt","play","restartOnPause","sizes","noPauseButton","showPlaceholder","setShowPlaceholder","playing","setPlaying","videoSrc","setVideoSrc","videoInteracted","setVideoInteracted","placeholderRef","videoRef","isVideo","showFullRes","srcSetString","srcSetToString","resolvedVideoSrc","resolveSrcFromSrcSet","playVideo","pauseVideo","togglePlaying","Wordmark","highlight","clipId"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/components/Text/Text.tsx","../src/components/Heading/Heading.tsx","../src/components/Section/Section.tsx","../src/components/List/List.tsx","../src/components/Divider/Divider.tsx","../src/components/Table/Table.tsx","../src/components/VisuallyHidden/VisuallyHidden.tsx","../src/components/Transition/Transition.tsx","../src/components/Loader/Loader.tsx","../src/components/Icon/svg/arrow-left.svg","../src/components/Icon/svg/arrow-right.svg","../src/components/Icon/svg/articles.svg","../src/components/Icon/svg/check.svg","../src/components/Icon/svg/chevron-right.svg","../src/components/Icon/svg/close.svg","../src/components/Icon/svg/company.svg","../src/components/Icon/svg/copy.svg","../src/components/Icon/svg/download.svg","../src/components/Icon/svg/error.svg","../src/components/Icon/svg/figma.svg","../src/components/Icon/svg/github.svg","../src/components/Icon/svg/link.svg","../src/components/Icon/svg/linkedin.svg","../src/components/Icon/svg/menu.svg","../src/components/Icon/svg/pause.svg","../src/components/Icon/svg/play.svg","../src/components/Icon/svg/send.svg","../src/components/Icon/svg/skills.svg","../src/components/Icon/svg/storybook.svg","../src/components/Icon/svg/twitter.svg","../src/components/Icon/Icon.tsx","../src/components/SegmentedControl/SegmentedControl.tsx","../src/components/Input/TextArea.tsx","../src/components/Input/Input.tsx","../src/components/Link/Link.tsx","../src/components/Button/Button.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx","../src/utils/delay.ts","../src/components/ScrambleReveal/ScrambleReveal.tsx","../src/components/Image/Image.tsx","../src/components/Wordmark/Wordmark.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, type ElementType, type ReactNode } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './Text.module.css';\n\nexport interface TextProps extends ComponentPropsWithoutRef<'span'> {\n children?: ReactNode;\n size?: 's' | 'm' | 'l' | 'xl';\n as?: ElementType;\n align?: string;\n weight?: string;\n secondary?: boolean;\n}\n\nexport const Text = ({\n children,\n size = 'm',\n as: Component = 'span',\n align = 'auto',\n weight = 'auto',\n secondary,\n className,\n ...rest\n}: TextProps) => {\n return (\n <Component\n className={classes(styles.text, className)}\n data-align={align}\n data-size={size}\n data-weight={weight}\n data-secondary={secondary}\n {...rest}\n >\n {children}\n </Component>\n );\n};\n","import { Fragment, type ComponentPropsWithoutRef, type ElementType, type ReactNode } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './Heading.module.css';\n\nexport interface HeadingProps extends ComponentPropsWithoutRef<'h1'> {\n children?: ReactNode;\n level?: number;\n as?: ElementType;\n align?: string;\n weight?: string;\n}\n\nexport const Heading = ({\n children,\n level = 1,\n as,\n align = 'auto',\n weight = 'medium',\n className,\n ...rest\n}: HeadingProps) => {\n const clampedLevel = Math.min(Math.max(level, 0), 5);\n const Component = as || (`h${Math.max(clampedLevel, 1)}` as ElementType);\n\n return (\n <Fragment>\n <Component\n className={classes(styles.heading, className)}\n data-align={align}\n data-weight={weight}\n data-level={clampedLevel}\n {...rest}\n >\n {children}\n </Component>\n </Fragment>\n );\n};\n","import { forwardRef, type ElementType, type ReactNode, type Ref } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './Section.module.css';\n\ntype SectionProps = {\n as?: ElementType;\n children?: ReactNode;\n className?: string;\n} & Record<string, unknown>;\n\nexport const Section = forwardRef<HTMLElement | null, SectionProps>(\n ({ as: Component = 'div', children, className, ...rest }, ref) => {\n const Element = Component as ElementType;\n return (\n <Element\n className={classes(styles.section, className as string)}\n ref={ref as Ref<HTMLElement>}\n {...rest}\n >\n {children}\n </Element>\n );\n }\n);\n","import { type ReactNode, type ComponentPropsWithoutRef } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './List.module.css';\n\ninterface ListProps extends ComponentPropsWithoutRef<'ul'> {\n ordered?: boolean;\n children?: ReactNode;\n}\n\nexport const List = ({ ordered, children, className, ...rest }: ListProps) => {\n const Element = ordered ? 'ol' : 'ul';\n\n return (\n <Element className={classes(styles.list, className)} {...rest}>\n {children}\n </Element>\n );\n};\n\ninterface ListItemProps extends ComponentPropsWithoutRef<'li'> {\n children?: ReactNode;\n}\n\nexport const ListItem = ({ children, ...rest }: ListItemProps) => {\n return (\n <li className={styles.item} {...rest}>\n {children}\n </li>\n );\n};\n","import { type ComponentPropsWithoutRef } from 'react';\nimport { classes, cssProps, numToMs } from '../../utils/style';\nimport styles from './Divider.module.css';\n\nexport interface DividerProps extends ComponentPropsWithoutRef<'div'> {\n lineWidth?: string;\n lineHeight?: string;\n notchWidth?: string;\n notchHeight?: string;\n collapseDelay?: number;\n collapsed?: boolean;\n notch?: boolean;\n light?: boolean;\n}\n\nexport const Divider = ({\n lineWidth = '100%',\n lineHeight = '2px',\n notchWidth = '90px',\n notchHeight = '10px',\n collapseDelay = 0,\n collapsed = false,\n notch = true,\n light = false,\n className,\n style,\n ...rest\n}: DividerProps) => (\n <div\n className={classes(styles.divider, className)}\n data-light={light}\n style={cssProps(\n {\n lineWidth: lineWidth,\n lineHeight: lineHeight,\n notchWidth: notchWidth,\n notchHeight: notchHeight,\n collapseDelay: numToMs(collapseDelay),\n },\n style\n )}\n {...rest}\n >\n <div className={styles.line} data-collapsed={collapsed} />\n {notch && (\n <div\n className={styles.notch}\n data-collapsed={collapsed}\n style={cssProps({ collapseDelay: numToMs(collapseDelay + 160) })}\n />\n )}\n </div>\n);\n","import { type ReactNode } from 'react';\nimport styles from './Table.module.css';\n\ninterface TableChildProps {\n children?: ReactNode;\n}\n\nexport const Table = ({ children }: TableChildProps) => <table className={styles.table}>{children}</table>;\nexport const TableRow = ({ children }: TableChildProps) => <tr className={styles.row}>{children}</tr>;\nexport const TableHead = ({ children }: TableChildProps) => <thead className={styles.head}>{children}</thead>;\nexport const TableBody = ({ children }: TableChildProps) => <tbody className={styles.body}>{children}</tbody>;\nexport const TableHeadCell = ({ children }: TableChildProps) => <th className={styles.headCell}>{children}</th>;\nexport const TableCell = ({ children }: TableChildProps) => <td className={styles.cell}>{children}</td>;\n","import { forwardRef, type ComponentPropsWithoutRef, type ElementType, type ReactNode } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './VisuallyHidden.module.css';\n\nexport interface VisuallyHiddenProps extends ComponentPropsWithoutRef<'span'> {\n showOnFocus?: boolean;\n as?: ElementType;\n children?: ReactNode;\n visible?: boolean;\n href?: string;\n [key: string]: unknown;\n}\n\nexport const VisuallyHidden = forwardRef<HTMLElement, VisuallyHiddenProps>(\n ({ className, showOnFocus, as: Component = 'span', children, visible, ...rest }, ref) => {\n const Element = Component as ElementType;\n return (\n <Element\n className={classes(styles.hidden, className as string)}\n data-hidden={!visible && !showOnFocus}\n data-show-on-focus={showOnFocus}\n ref={ref}\n {...rest}\n >\n {children}\n </Element>\n );\n }\n);\n","import { AnimatePresence, usePresence } from 'framer-motion';\nimport { type MutableRefObject, type ReactNode, useEffect, useRef, useState } from 'react';\n\ntype TransitionTimeout = number | { enter: number; exit: number };\ntype TransitionStatus = 'entering' | 'entered' | 'exiting' | 'exited';\ntype TransitionRenderFn = (visible: boolean, status: TransitionStatus) => ReactNode;\n\ninterface TransitionProps {\n children: TransitionRenderFn;\n timeout?: TransitionTimeout;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n in?: boolean;\n unmount?: boolean;\n}\n\ninterface TransitionContentProps {\n children: TransitionRenderFn;\n timeout: TransitionTimeout;\n enterTimeout: MutableRefObject<ReturnType<typeof setTimeout> | undefined>;\n exitTimeout: MutableRefObject<ReturnType<typeof setTimeout> | undefined>;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n show?: boolean;\n}\n\nexport const Transition = ({\n children,\n timeout = 0,\n onEnter,\n onEntered,\n onExit,\n onExited,\n in: show,\n unmount,\n}: TransitionProps) => {\n const enterTimeout = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const exitTimeout = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n\n useEffect(() => {\n // Cancel a stale, opposite-direction timer left over from a rapid\n // show/hide flip — not the one TransitionContent's own effect just\n // scheduled for *this* direction (that ran first, since child effects\n // fire before parent effects, and clearing it here every time would\n // cancel every enter/exit before it ever gets to fire).\n if (show) {\n clearTimeout(exitTimeout.current);\n } else {\n clearTimeout(enterTimeout.current);\n }\n }, [show]);\n\n return (\n <AnimatePresence>\n {(show || !unmount) && (\n <TransitionContent\n timeout={timeout}\n enterTimeout={enterTimeout}\n exitTimeout={exitTimeout}\n onEnter={onEnter}\n onEntered={onEntered}\n onExit={onExit}\n onExited={onExited}\n show={show}\n >\n {children}\n </TransitionContent>\n )}\n </AnimatePresence>\n );\n};\n\nconst TransitionContent = ({\n children,\n timeout,\n enterTimeout,\n exitTimeout,\n onEnter,\n onEntered,\n onExit,\n onExited,\n show,\n}: TransitionContentProps) => {\n const [status, setStatus] = useState<TransitionStatus>('exited');\n const [isPresent, safeToRemove] = usePresence();\n const [hasEntered, setHasEntered] = useState(false);\n const splitTimeout = typeof timeout === 'object';\n\n useEffect(() => {\n if (hasEntered || !show) return;\n\n const actualTimeout = splitTimeout ? timeout.enter : timeout;\n\n clearTimeout(enterTimeout.current);\n clearTimeout(exitTimeout.current);\n\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setHasEntered(true);\n setStatus('entering');\n onEnter?.();\n\n // eslint-disable-next-line react-hooks/immutability\n enterTimeout.current = setTimeout(() => {\n setStatus('entered');\n onEntered?.();\n }, actualTimeout);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onEnter, onEntered, timeout, status, show]);\n\n useEffect(() => {\n if (isPresent && show) return;\n\n const actualTimeout = splitTimeout ? timeout.exit : timeout;\n\n clearTimeout(enterTimeout.current);\n clearTimeout(exitTimeout.current);\n\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setStatus('exiting');\n onExit?.();\n\n // eslint-disable-next-line react-hooks/immutability\n exitTimeout.current = setTimeout(() => {\n setStatus('exited');\n safeToRemove?.();\n onExited?.();\n }, actualTimeout);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isPresent, onExit, safeToRemove, timeout, onExited, show]);\n\n return children(hasEntered && show ? isPresent : false, status);\n};\n","import { Text } from '../Text';\nimport { useRefractConfig } from '../RefractProvider';\nimport { VisuallyHidden } from '../VisuallyHidden';\nimport { useReducedMotion } from 'framer-motion';\nimport { useHasMounted } from '../../hooks/useHasMounted';\nimport { type ComponentPropsWithoutRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport { classes, cssProps } from '../../utils/style';\nimport styles from './Loader.module.css';\n\nexport interface LoaderProps extends ComponentPropsWithoutRef<'div'> {\n size?: number;\n text?: string;\n}\n\nexport const Loader = ({\n className,\n style,\n size = 32,\n text = 'Loading...',\n ...rest\n}: LoaderProps) => {\n const reduceMotion = useReducedMotion();\n const hasMounted = useHasMounted();\n const { portalContainer } = useRefractConfig();\n\n const renderScreenReaderTextPortal = () => {\n if (!hasMounted) return null;\n\n const container = portalContainer();\n if (!container) return null;\n\n return createPortal(\n <VisuallyHidden className=\"loader-announcement\" aria-live=\"assertive\">\n {text}\n </VisuallyHidden>,\n container\n );\n };\n\n if (reduceMotion) {\n return (\n <Text className={classes(styles.text, className)} weight=\"medium\" {...rest}>\n {text}\n {renderScreenReaderTextPortal()}\n </Text>\n );\n }\n\n const gapSize = Math.round((size / 3) * 0.2);\n const spanSize = Math.round(size / 3 - gapSize * 2 - 1);\n\n return (\n <div\n className={classes(styles.loader, className)}\n style={cssProps({ size, spanSize, gapSize }, style)}\n {...rest}\n >\n <div className={styles.content}>\n <div className={styles.span} />\n <div className={styles.span} />\n <div className={styles.span} />\n </div>\n {renderScreenReaderTextPortal()}\n </div>\n );\n};\n","import * as React from \"react\";\nconst SvgArrowLeft = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"m9.793 19.207-6.5-6.5L2.586 12l.707-.707 6.5-6.5 1.414 1.414L6.414 11H21v2H6.414l4.793 4.793-1.414 1.414Z\" }));\nexport default SvgArrowLeft;\n","import * as React from \"react\";\nconst SvgArrowRight = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M14.207 4.793l6.5 6.5.707.707-.707.707-6.5 6.5-1.414-1.414L17.586 13H3v-2h14.586l-4.793-4.793 1.414-1.414z\" }));\nexport default SvgArrowRight;\n","import * as React from \"react\";\nconst SvgArticles = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 128 128\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M35.34,16.5h72.75v30.73l-72.75,0V16.5L35.34,16.5z M23.42,91.7c-0.67,2.24-1.63,4.05-2.8,5.46l88.47,0l0.04,0 c3.19-0.18,5.57-1.03,7.16-2.54c1.56-1.48,2.43-3.69,2.62-6.62V3.97H24.36v80.06C24.36,87.43,24.4,88.42,23.42,91.7L23.42,91.7 L23.42,91.7z M13.15,101.13c-0.45,0.03-0.91,0.03-1.36,0.01c-1.82-0.11-3.61-0.67-5.23-1.62c-3.55-2.09-6.29-6.09-6.54-11.32 C0.01,88.12,0,88.03,0,87.95v-70.4c0-1.1,0.89-1.98,1.98-1.98l18.41,0V1.98c0-1.1,0.89-1.98,1.98-1.98l98.52,0 c1.1,0,1.98,0.89,1.98,1.98v86.07c0,0.11-0.01,0.21-0.02,0.31c-0.27,3.9-1.55,6.95-3.84,9.13c-2.28,2.17-5.5,3.38-9.67,3.62 c-0.08,0.01-0.17,0.02-0.26,0.02L13.15,101.13L13.15,101.13L13.15,101.13z M12.05,97.19c0.1-0.02,0.21-0.03,0.32-0.03h0.72 c0.79-0.08,1.56-0.3,2.28-0.68c4.41-2.31,5.02-7.95,5.02-12.42V19.53H3.97v68.41c0,0.02,0,0.05,0,0.07 c0.19,3.76,2.12,6.62,4.61,8.09c1.08,0.64,2.26,1.01,3.43,1.08L12.05,97.19L12.05,97.19L12.05,97.19z M40.87,24.15h3.9l5.07,8.52 v-8.52h3.94v15.42l-3.94,0l-5.04-8.47v8.47h-3.92V24.15L40.87,24.15z M57.21,24.15h11.17v3.3l-6.98,0v2.46l6.47,0v3.14H61.4v3.04 h7.19v3.49H57.21V24.15L57.21,24.15L57.21,24.15z M70.12,24.15h3.96l1.42,8.61l2.09-8.61h3.93l2.1,8.62l1.43-8.62H89l-2.98,15.42 l-4.09,0l-2.37-9.71l-2.36,9.71h-4.09L70.12,24.15L70.12,24.15L70.12,24.15z M90.31,34.48l3.96-0.28c0.08,0.73,0.26,1.29,0.52,1.67 c0.43,0.62,1.04,0.93,1.84,0.93c0.59,0,1.05-0.16,1.37-0.48c0.32-0.32,0.48-0.69,0.48-1.11c0-0.4-0.15-0.76-0.46-1.07 c-0.3-0.32-1.02-0.61-2.13-0.89c-1.83-0.47-3.13-1.09-3.91-1.87c-0.79-0.78-1.18-1.77-1.18-2.97c0-0.79,0.2-1.54,0.6-2.24 c0.4-0.71,1.01-1.26,1.81-1.66c0.81-0.4,1.92-0.6,3.32-0.6c1.73,0,3.04,0.37,3.95,1.1c0.91,0.73,1.44,1.9,1.62,3.5l-3.92,0.27 c-0.1-0.7-0.32-1.21-0.66-1.53c-0.34-0.32-0.8-0.48-1.39-0.48c-0.48,0-0.85,0.12-1.1,0.35c-0.25,0.23-0.37,0.52-0.37,0.86 c0,0.24,0.1,0.46,0.3,0.66c0.19,0.2,0.66,0.39,1.39,0.57c1.82,0.45,3.13,0.9,3.91,1.36c0.79,0.46,1.36,1.03,1.72,1.71 c0.36,0.68,0.54,1.44,0.54,2.28c0,0.99-0.24,1.9-0.72,2.74c-0.48,0.83-1.15,1.47-2.01,1.9c-0.86,0.43-1.94,0.65-3.25,0.65 c-2.3,0-3.89-0.51-4.77-1.52C90.93,37.31,90.43,36.03,90.31,34.48L90.31,34.48L90.31,34.48z M35.8,60.85 c-1.1,0-1.98-0.89-1.98-1.98s0.89-1.98,1.98-1.98h30.25c1.09,0,1.98,0.89,1.98,1.98s-0.89,1.98-1.98,1.98H35.8L35.8,60.85z M74.73,60.85c-1.1,0-1.99-0.89-1.99-1.99c0-1.1,0.89-1.99,1.99-1.99h32.63c1.1,0,1.99,0.89,1.99,1.99c0,1.1-0.89,1.99-1.99,1.99 H74.73L74.73,60.85z M74.73,72.36c-1.1,0-1.99-0.89-1.99-1.99s0.89-1.99,1.99-1.99h32.63c1.1,0,1.99,0.89,1.99,1.99 c0,1.1-0.89,1.99-1.99,1.99H74.73L74.73,72.36z M74.73,83.87c-1.1,0-1.99-0.89-1.99-1.99s0.89-1.99,1.99-1.99l32.63,0 c1.1,0,1.99,0.89,1.99,1.99c0,1.1-0.89,1.99-1.99,1.99L74.73,83.87L74.73,83.87z M35.8,83.87c-1.1,0-1.98-0.89-1.98-1.98 s0.89-1.98,1.98-1.98l30.25,0c1.09,0,1.98,0.89,1.98,1.98s-0.89,1.98-1.98,1.98L35.8,83.87L35.8,83.87z M36.76,72.36 c-1.1,0-1.98-0.89-1.98-1.98s0.89-1.98,1.98-1.98h30.25c1.1,0,1.98,0.89,1.98,1.98s-0.89,1.98-1.98,1.98H36.76L36.76,72.36z\" }));\nexport default SvgArticles;\n","import * as React from \"react\";\nconst SvgCheck = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"m20.207 7.207-10 10-.707.707-.707-.707-5-5 1.414-1.414L9.5 15.086l9.293-9.293 1.414 1.414Z\" }));\nexport default SvgCheck;\n","import * as React from \"react\";\nconst SvgChevronRight = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M13.586 12L7.793 6.207l1.414-1.414 6.5 6.5.707.707-.707.707-6.5 6.5-1.414-1.414L13.586 12z\" }));\nexport default SvgChevronRight;\n","import * as React from \"react\";\nconst SvgClose = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\" }));\nexport default SvgClose;\n","import * as React from \"react\";\nconst SvgCompany = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M14.763.075A.5.5 0 0 1 15 .5v15a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V14h-1v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V10a.5.5 0 0 1 .342-.474L6 7.64V4.5a.5.5 0 0 1 .276-.447l8-4a.5.5 0 0 1 .487.022zM6 8.694 1 10.36V15h5V8.694zM7 15h2v-1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V15h2V1.309l-7 3.5V15z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M2 11h1v1H2v-1zm2 0h1v1H4v-1zm-2 2h1v1H2v-1zm2 0h1v1H4v-1zm4-4h1v1H8V9zm2 0h1v1h-1V9zm-2 2h1v1H8v-1zm2 0h1v1h-1v-1zm2-2h1v1h-1V9zm0 2h1v1h-1v-1zM8 7h1v1H8V7zm2 0h1v1h-1V7zm2 0h1v1h-1V7zM8 5h1v1H8V5zm2 0h1v1h-1V5zm2 0h1v1h-1V5zm0-2h1v1h-1V3z\" }));\nexport default SvgCompany;\n","import * as React from \"react\";\nconst SvgCopy = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M3 1H2v16h4v-2H4V3h10v2h2V1H3Zm5 6h14v12.414l-.293.293-3 3-.293.293H8V7Zm2 14h7.586L20 18.586V9H10v12Z\" }));\nexport default SvgCopy;\n","import * as React from \"react\";\nconst SvgDownload = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z\" }));\nexport default SvgDownload;\n","import * as React from \"react\";\nconst SvgError = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M12 5.068 19.697 19H4.302L12 5.068Zm-.876-2.552-9.392 17L2.607 21h18.785l.875-1.484-9.392-17h-1.75ZM11 14v-4h2v4h-2Zm0 3v-2h2v2h-2Z\" }));\nexport default SvgError;\n","import * as React from \"react\";\nconst SvgFigma = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M15 10a2 2 0 100 4 2 2 0 000-4zm-2 5.464A4 4 0 0017.646 9 4 4 0 0015 2H9a4 4 0 00-2.646 7 4.01 4.01 0 00-.818 1 4 4 0 00.818 5 3.977 3.977 0 00-.818 1A4 4 0 1013 18v-2.536zM11 16H9a2 2 0 102 2v-2zM9 8h2V4H9a2 2 0 100 4zm0 2a2 2 0 100 4h2v-4H9zm4-2V4h2a2 2 0 010 4h-2z\" }));\nexport default SvgFigma;\n","import * as React from \"react\";\nconst SvgGithub = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M12 2C6.477 2 2 6.477 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0012 2z\" }));\nexport default SvgGithub;\n","import * as React from \"react\";\nconst SvgLink = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M9 4 8 5v2h2V6h10v7H10v-2H8v3l1 1h12l1-1V5l-1-1H9Zm2 4H3L2 9v9l1 1h12l1-1v-2h-2v1H4v-7h10v2h2V9l-1-1h-4Z\" }));\nexport default SvgLink;\n","import * as React from \"react\";\nconst SvgLinkedin = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z\" }));\nexport default SvgLinkedin;\n","import * as React from \"react\";\nconst SvgMenu = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M22 6H2V4h20v2zM2 13h16v-2H2v2zm0 7h20v-2H2v2z\" }));\nexport default SvgMenu;\n","import * as React from \"react\";\nconst SvgPause = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M6 19h4V5H6v14zm8-14v14h4V5h-4z\" }));\nexport default SvgPause;\n","import * as React from \"react\";\nconst SvgPlay = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M8 5v14l11-7z\" }));\nexport default SvgPlay;\n","import * as React from \"react\";\nconst SvgSend = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M2.01 21L23 12 2.01 3 2 10l15 2-15 2 .01 7z\" }));\nexport default SvgSend;\n","import * as React from \"react\";\nconst SvgSkills = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 128 128\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M19,70.15c-4.75,1-9.66,1.1-14.42-3.79C1.4,63.1-.19,58.23,0,53.13c12.17,14.15,27-3.34,9-12.43,8.69-4.12,16.89-.25,21.24,7.76,2.06,3.78,3.29,5.76,4.86,7.11a8.58,8.58,0,0,0,.9.69A8.1,8.1,0,0,1,39.8,51.8,7.14,7.14,0,0,1,43.05,51c3.18,0,7.14,1.9,7.81,5.14h0a1.61,1.61,0,0,1,.44-.06h2.31a1.5,1.5,0,0,1,.37,0,5.6,5.6,0,0,1,5,4.59,1.65,1.65,0,0,1,.71-.16H62a1.5,1.5,0,0,1,.37,0c3.31.51,4.65,2.55,5.12,5.12l.26,0h2.31a1.5,1.5,0,0,1,.37,0c3.8.59,5.29,3.08,5.87,6.08,7-1.07,14.57-5.27,22,2.33a17.78,17.78,0,0,1,4.57,13.23c-12.17-14.15-27,3.34-9,12.43-7.47,3.54-14.59,1.17-19.2-4.66a30.06,30.06,0,0,1-2.34,4.92c-.38.62-.77,1.26-1.27,2.14a.16.16,0,0,0,0,.07,19.77,19.77,0,0,1-1.3,2h1.6a2.51,2.51,0,0,1,2.5,2.5v13.61a2.51,2.51,0,0,1-2.5,2.5H35.13a2.51,2.51,0,0,1-2.5-2.5V106.77a2.51,2.51,0,0,1,2.5-2.5H36a18,18,0,0,1-.9-3.79L22.64,80.07,22.58,80a22.48,22.48,0,0,1-2.5-4.24,12.37,12.37,0,0,1-1.08-4,10.22,10.22,0,0,1,0-1.57Zm92-33.29a2,2,0,0,0-.37-.74,1.51,1.51,0,0,0-.57-.46,1.61,1.61,0,0,0-.7-.22,2.62,2.62,0,0,0-.76.09l-.06,0-7.36,2.24a3,3,0,0,1-3.63-1.55c-.38-.64-.75-1.27-1.2-2s-1-1.38-1.39-2S94,31,93.4,30.38s-1-1.14-1.69-1.83A3.09,3.09,0,0,1,91.22,25l3.91-7.35a1.63,1.63,0,0,0,.13-1.46,2.07,2.07,0,0,0-.31-.65,1.82,1.82,0,0,0-.61-.49l-9.26-4.93a2.81,2.81,0,0,0-.68-.26,2.72,2.72,0,0,0-.82.11,1.31,1.31,0,0,0-.61.33,1.82,1.82,0,0,0-.49.61l-3.6,6.75a3.13,3.13,0,0,1-3.69,1.52c-.82-.21-1.59-.41-2.27-.55s-1.54-.28-2.36-.39a23.32,23.32,0,0,0-2.4-.19c-.84-.06-1.62,0-2.37-.06a3,3,0,0,1-3-2.18l-2.5-8.1c0-.06,0-.06,0-.1a2.52,2.52,0,0,0-.3-.66,2.09,2.09,0,0,0-1.26-.61,1.94,1.94,0,0,0-.82.11L48,9.48a1.9,1.9,0,0,0-.74.36,1.71,1.71,0,0,0-.47.57,1.5,1.5,0,0,0-.21.71,2.29,2.29,0,0,0,.09.75l0,.05,2.25,7.35a3.08,3.08,0,0,1-1.56,3.64c-.64.37-1.27.74-2,1.2s-1.38.95-2,1.39-1.3,1-1.91,1.54-1.15,1-1.83,1.7a3.1,3.1,0,0,1-3.59.48l-7.34-3.91a1.88,1.88,0,0,0-.75-.23,3.3,3.3,0,0,0-.69.07,1.31,1.31,0,0,0-.61.32,1.75,1.75,0,0,0-.49.62l-.4.74a24.3,24.3,0,0,0-6.73-.35l1.78-3.35a8.61,8.61,0,0,1,2-2.49,8.51,8.51,0,0,1,2.81-1.5,8.08,8.08,0,0,1,3.18-.33,8.57,8.57,0,0,1,3,1l5.43,2.9.4-.33c.7-.61,1.45-1.19,2.2-1.78s1.56-1.18,2.3-1.66l.26-.19-1.5-5.05a7.44,7.44,0,0,1-.33-3.17,7.84,7.84,0,0,1,.92-3.06,7.75,7.75,0,0,1,2-2.46,8.26,8.26,0,0,1,2.82-1.5L56.28.41l0,0A8.58,8.58,0,0,1,59.43,0a7.71,7.71,0,0,1,3.06.92A8.54,8.54,0,0,1,65,3a7.27,7.27,0,0,1,1.39,2.81l1.83,5.88a2.12,2.12,0,0,0,.43,0c.9.05,1.83.16,2.81.25s1.87.28,2.81.46a1,1,0,0,1,.39.1l2.46-4.63a7.84,7.84,0,0,1,4.82-3.92l.06,0a7.71,7.71,0,0,1,3.11-.31,8.44,8.44,0,0,1,3,.89l9.25,4.94a8.58,8.58,0,0,1,2.49,2,7.68,7.68,0,0,1,1.5,2.82,8,8,0,0,1,.33,3.17,8.31,8.31,0,0,1-1,3l-2.9,5.44c.11.11.23.28.34.39.6.71,1.19,1.45,1.77,2.2s1.19,1.56,1.66,2.3l.19.27,5.05-1.51a7.43,7.43,0,0,1,3.17-.32,8,8,0,0,1,3.06.91,7.67,7.67,0,0,1,2.46,2l0,.08a8.26,8.26,0,0,1,1.5,2.82l3,9.91.05,0a8.8,8.8,0,0,1,.35,3.13,7.87,7.87,0,0,1-.92,3.06,8.54,8.54,0,0,1-2,2.46A7.31,7.31,0,0,1,114.63,55l-5.88,1.83c0,.15,0,.32,0,.47,0,.91-.15,1.83-.24,2.71,0,0,0,.11,0,.15A26.84,26.84,0,0,1,108,63l-.07.34,4.67,2.49a7.52,7.52,0,0,1,2.47,2,8,8,0,0,1,1.45,2.79l0,.07a7.66,7.66,0,0,1,.31,3.1,8.25,8.25,0,0,1-.9,3l-.74,1.39-1.32-.71a25.71,25.71,0,0,0-4.34-7.75c-.14-.19-.29-.37-.45-.55a27.07,27.07,0,0,0-7.55-6.25c.09-.37.18-.75.26-1.13.13-.75.28-1.54.37-2.42,0,0,0-.11,0-.15.11-.81.17-1.54.23-2.27s.09-1.59.07-2.37a3,3,0,0,1,2.18-3l8.09-2.5s.07,0,.11,0a2.31,2.31,0,0,0,.65-.3,1.52,1.52,0,0,0,.41-.55,1.77,1.77,0,0,0,.21-.71,1.94,1.94,0,0,0-.11-.82L111,36.8l0,.06Zm-34-3.09a21.79,21.79,0,0,1,3.93,2.64,23.11,23.11,0,0,1,3.3,3.33,29.87,29.87,0,0,1,2.5,3.79,21.32,21.32,0,0,1,1.72,4.13,20.05,20.05,0,0,1,.86,4.44,20.89,20.89,0,0,1,0,4.54c0,.11,0,.19,0,.26a23,23,0,0,1-.68,3.77c-1.64.16-3.27.42-4.88.71l-1.48-.79c.13-.34.24-.69.35-1.05a18.63,18.63,0,0,0,.64-3.14.8.8,0,0,1,0-.22,17.14,17.14,0,0,0,0-3.44,17.56,17.56,0,0,0-.62-3.23,14.89,14.89,0,0,0-1.28-3,18.34,18.34,0,0,0-1.91-2.87A16.74,16.74,0,0,0,77,41.19a18.31,18.31,0,0,0-6.2-3.3,18.63,18.63,0,0,0-3.14-.64.57.57,0,0,1-.22,0,18.76,18.76,0,0,0-3.44,0,17.57,17.57,0,0,0-3.23.63,14.89,14.89,0,0,0-3,1.28,18.26,18.26,0,0,0-2.87,1.9,17.35,17.35,0,0,0-2.43,2.42c-.23.27-.46.56-.68.87l-5.46-2.91a20.4,20.4,0,0,1,1.42-1.9A22.63,22.63,0,0,1,51,36.26a28.91,28.91,0,0,1,3.79-2.51A24.63,24.63,0,0,1,59,32a22,22,0,0,1,4.39-.88,21.63,21.63,0,0,1,4.55,0c.1,0,.19.05.25,0a23.26,23.26,0,0,1,4.35.84,26.43,26.43,0,0,1,4.39,1.79l0,0Zm-37.89,24h0v.1h0l0,0V58h0v.21h0v.11h0v.11h0v.34h0V59h0v.12h0v.23h0v.13h0v.13h0V60h0v.13h0v.14h0v.25h0V79a1.68,1.68,0,1,1-3.35,0v-3.1h0a1.84,1.84,0,0,1-.25-.17L31.8,73.16l-4.34-3.57A6.52,6.52,0,0,0,26,68.66H24.87a2.57,2.57,0,0,0-1.45.06,1.46,1.46,0,0,0-.79.81h-.1a5.44,5.44,0,0,0-.2,2.11,8.87,8.87,0,0,0,.81,2.9A18.68,18.68,0,0,0,25.26,78s.07.1.1.16l12.7,20.76a1.68,1.68,0,0,1,.28.76h0a11.41,11.41,0,0,0,1.31,4.59H65a11,11,0,0,0,3.08-3.63.47.47,0,0,1,.06-.09c.36-.62.84-1.41,1.31-2.18a29.64,29.64,0,0,0,2.86-6.82v0l0-.06,0-.1,0-.06v0l0-.1,0-.07v0l0-.1.06-.2,0-.1h0l0-.09,0-.1v0l0-.07,0-.1v-.1l0-.1V90l0-.1,0-.09h0l0-.1,0-.1h0l0-.08,0-.1v0l0-.07,0-.1v-.1l0-.1,0-.07v0l0-.1,0-.08v0l0-.09,0-.1h0l0-.09,0-.1v-.1l0-.09v-.29l0-.1v-.1l0-.09v-.1h0v-.09l0-.1v-.84h0v-1l-.13-5.7a1.94,1.94,0,0,1,0-.24c0-.08,0-.62,0-1.34v-.18h0V76.84h0v-.19h0V75.36h0v-.19h0V74.1h0v-.17h0v-.18h0v-.19l0-.09v-.64l0-.08,0-.09,0-.09h0v-.09l0-.07h0l0-.09v-.08l0-.09V72a3.67,3.67,0,0,0-2.89-3H67.74c0,.47,0,.93,0,1.4h0v0h0v0h0v0h0v.1h0v0h0v.08h0V71h0v0h0v0h0v.1h0v0h0v0h0v0h0v.07h0v0h0v0h0v0h0v0h0v.05h0v0h0v0h0v0h0v0h0v.05h0v0h0v0h0v0h0v0h0v0h0v0h0v0h0v.05c-.06.93-.11,1.84-.11,2.7a1.68,1.68,0,0,1-3.36,0c0-.86.07-1.86.13-2.9v-.33h0v-.17h0v-.15h0v-.33h0v-.17h0v-.15h0v-.17h0V70.2h0v-.34h0v-.33h0V69.2h0V69c0-2.52-.45-4.71-2.48-5.08H59.7a1.37,1.37,0,0,1-.36,0c0,.94,0,1.92-.08,2.87v1c-.06.93-.11,1.83-.11,2.69a1.68,1.68,0,1,1-3.36,0c0-.86.07-1.86.13-2.9v-.17h0v-.15h0v-.16h0v-.17h0v-.17h0v-.17h0v-.32h0v-.16h0v-.17h0v-.14h0v-.17h0v-.17h0v-.07c.08-2.84-.23-5.46-2.47-5.87H51.29a1.49,1.49,0,0,1-.43-.06v6.49a1.68,1.68,0,0,1-3.36,0v-8.2c0-2.32-2.3-3.32-4.45-3.32a3.85,3.85,0,0,0-1.74.42,5,5,0,0,0-2.26,3ZM35.29,70l-1.58-.65a19.89,19.89,0,0,0-2.2-.75l2.41,2,1.37,1.12V70Z\" }));\nexport default SvgSkills;\n","import * as React from \"react\";\nconst SvgStorybook = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M16.71.243l-.12 2.71a.18.18 0 00.29.15l1.06-.8.9.7a.18.18 0 00.28-.14l-.1-2.76 1.33-.1a1.2 1.2 0 011.279 1.2v21.596a1.2 1.2 0 01-1.26 1.2l-16.096-.72a1.2 1.2 0 01-1.15-1.16l-.75-19.797a1.2 1.2 0 011.13-1.27L16.7.222zM13.64 9.3c0 .47 3.16.24 3.59-.08 0-3.2-1.72-4.89-4.859-4.89-3.15 0-4.899 1.72-4.899 4.29 0 4.45 5.999 4.53 5.999 6.959 0 .7-.32 1.1-1.05 1.1-.96 0-1.35-.49-1.3-2.16 0-.36-3.649-.48-3.769 0-.27 4.03 2.23 5.2 5.099 5.2 2.79 0 4.969-1.49 4.969-4.18 0-4.77-6.099-4.64-6.099-6.999 0-.97.72-1.1 1.13-1.1.45 0 1.25.07 1.19 1.87z\" }));\nexport default SvgStorybook;\n","import * as React from \"react\";\nconst SvgTwitter = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M22.92 6c-.77.35-1.6.58-2.46.69.88-.53 1.56-1.37 1.88-2.38-.83.5-1.75.85-2.72 1.05C18.83 4.5 17.72 4 16.46 4c-2.35 0-4.27 1.92-4.27 4.29 0 .34.04.67.11.98-3.56-.18-6.73-1.89-8.84-4.48-.37.63-.58 1.37-.58 2.15 0 1.49.75 2.81 1.91 3.56-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.22 4.22 0 01-1.93.07 4.28 4.28 0 004 2.98 8.521 8.521 0 01-5.33 1.84c-.34 0-.68-.02-1.02-.06C3.9 20.29 6.16 21 8.58 21c7.88 0 12.21-6.54 12.21-12.21 0-.19 0-.37-.01-.56.84-.6 1.56-1.36 2.14-2.23z\" }));\nexport default SvgTwitter;\n","import { classes } from '../../utils/style';\nimport styles from './Icon.module.css';\nimport ArrowLeft from './svg/arrow-left.svg';\nimport ArrowRight from './svg/arrow-right.svg';\nimport Article from './svg/articles.svg';\nimport Check from './svg/check.svg';\nimport ChevronRight from './svg/chevron-right.svg';\nimport Close from './svg/close.svg';\nimport Company from './svg/company.svg';\nimport Copy from './svg/copy.svg';\nimport Download from './svg/download.svg';\nimport Error from './svg/error.svg';\nimport Figma from './svg/figma.svg';\nimport Github from './svg/github.svg';\nimport Link from './svg/link.svg';\nimport Linkedin from './svg/linkedin.svg';\nimport Menu from './svg/menu.svg';\nimport Pause from './svg/pause.svg';\nimport Play from './svg/play.svg';\nimport Send from './svg/send.svg';\nimport Skills from './svg/skills.svg';\nimport Storybook from './svg/storybook.svg';\nimport Twitter from './svg/twitter.svg';\n\nexport const icons = {\n arrowLeft: ArrowLeft,\n arrowRight: ArrowRight,\n articles: Article,\n company: Company,\n check: Check,\n chevronRight: ChevronRight,\n close: Close,\n copy: Copy,\n download: Download,\n error: Error,\n figma: Figma,\n github: Github,\n link: Link,\n linkedin: Linkedin,\n menu: Menu,\n pause: Pause,\n play: Play,\n send: Send,\n skills: Skills,\n storybook: Storybook,\n twitter: Twitter,\n};\n\nexport type IconName = keyof typeof icons;\n\nexport interface IconProps {\n icon: IconName;\n className?: string;\n [key: string]: unknown;\n}\n\nexport const Icon = ({ icon, className, ...rest }: IconProps) => {\n const IconComponent = icons[icon];\n\n return (\n <IconComponent aria-hidden className={classes(styles.icon, className)} {...rest} />\n );\n};\n","import {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useRef,\n useState,\n} from 'react';\nimport type { KeyboardEvent, ReactNode, RefObject } from 'react';\nimport { VisuallyHidden } from '../VisuallyHidden';\nimport { cssProps } from '../../utils/style';\nimport styles from './SegmentedControl.module.css';\n\ninterface SegmentedControlContextValue {\n optionRefs: { current: RefObject<HTMLButtonElement>[] };\n currentIndex: number;\n onChange: (index: number) => void;\n registerOption: (optionRef: RefObject<HTMLButtonElement>) => void;\n unRegisterOption: (optionRef: RefObject<HTMLButtonElement>) => void;\n}\n\nconst SegmentedControlContext = createContext<SegmentedControlContextValue>(\n {} as SegmentedControlContextValue\n);\n\ninterface SegmentedControlProps {\n children: ReactNode;\n currentIndex: number;\n onChange: (index: number) => void;\n label: string;\n [key: string]: unknown;\n}\n\nexport const SegmentedControl = ({\n children,\n currentIndex,\n onChange,\n label,\n ...props\n}: SegmentedControlProps) => {\n const id = useId();\n const labelId = `${id}segmented-control-label`;\n const optionRefs = useRef<RefObject<HTMLButtonElement>[]>([]);\n const [indicator, setIndicator] = useState<{ width?: number; left?: number }>();\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const { length } = optionRefs.current;\n const prevIndex = (currentIndex - 1 + length) % length;\n const nextIndex = (currentIndex + 1) % length;\n\n if (['ArrowLeft', 'ArrowUp'].includes(event.key)) {\n onChange(prevIndex);\n optionRefs.current[prevIndex].current?.focus();\n } else if (['ArrowRight', 'ArrowDown'].includes(event.key)) {\n onChange(nextIndex);\n optionRefs.current[nextIndex].current?.focus();\n }\n };\n\n const registerOption = useCallback((optionRef: RefObject<HTMLButtonElement>) => {\n optionRefs.current = [...optionRefs.current, optionRef];\n }, []);\n\n const unRegisterOption = useCallback((optionRef: RefObject<HTMLButtonElement>) => {\n optionRefs.current = optionRefs.current.filter(ref => ref !== optionRef);\n }, []);\n\n useEffect(() => {\n const currentOption = optionRefs.current[currentIndex]?.current;\n if (!currentOption) return;\n\n const resizeObserver = new ResizeObserver(() => {\n const rect = currentOption.getBoundingClientRect();\n const left = currentOption.offsetLeft;\n setIndicator({ width: rect.width, left });\n });\n\n resizeObserver.observe(currentOption);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [currentIndex]);\n\n return (\n <SegmentedControlContext.Provider\n value={{ optionRefs, currentIndex, onChange, registerOption, unRegisterOption }}\n >\n <div\n className={styles.container}\n role=\"radiogroup\"\n aria-labelledby={labelId}\n onKeyDown={handleKeyDown}\n {...props}\n >\n <VisuallyHidden as=\"label\" id={labelId}>\n {label}\n </VisuallyHidden>\n <div className={styles.options}>\n {!!indicator && (\n <div\n className={styles.indicator}\n // Options register themselves into this ref on mount; length is\n // correct by the time this re-renders after registration settles.\n // eslint-disable-next-line react-hooks/refs\n data-last={currentIndex === optionRefs.current.length - 1}\n style={cssProps(indicator)}\n />\n )}\n {children}\n </div>\n </div>\n </SegmentedControlContext.Provider>\n );\n};\n\ninterface SegmentedControlOptionProps {\n children: ReactNode;\n [key: string]: unknown;\n}\n\nexport const SegmentedControlOption = ({ children, ...props }: SegmentedControlOptionProps) => {\n const { optionRefs, currentIndex, onChange, registerOption, unRegisterOption } =\n useContext(SegmentedControlContext);\n const optionRef = useRef<HTMLButtonElement>(null);\n // Same as above: the parent's ref collection settles by the time this\n // re-renders after this option registers itself on mount.\n // eslint-disable-next-line react-hooks/refs\n const index = optionRefs.current.indexOf(optionRef as RefObject<HTMLButtonElement>);\n const isSelected = currentIndex === index;\n\n useEffect(() => {\n registerOption(optionRef as RefObject<HTMLButtonElement>);\n\n return () => {\n unRegisterOption(optionRef as RefObject<HTMLButtonElement>);\n };\n }, [registerOption, unRegisterOption]);\n\n return (\n <button\n className={styles.button}\n tabIndex={isSelected ? 0 : -1}\n role=\"radio\"\n aria-checked={isSelected}\n onClick={() => onChange(index)}\n ref={optionRef}\n {...props}\n >\n {children}\n </button>\n );\n};\n","import { useEffect, useRef, useState } from 'react';\nimport type { ChangeEvent, TextareaHTMLAttributes } from 'react';\nimport { classes, cssProps } from '../../utils/style';\nimport styles from './TextArea.module.css';\n\ninterface TextAreaDimensions {\n lineHeight: number;\n paddingHeight: number;\n}\n\ninterface TextAreaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'onChange'> {\n className?: string;\n resize?: string;\n value?: string;\n onChange: (event: ChangeEvent<HTMLTextAreaElement>) => void;\n minRows?: number;\n maxRows?: number;\n}\n\nexport const TextArea = ({\n className,\n resize = 'none',\n value,\n onChange,\n minRows = 1,\n maxRows,\n ...rest\n}: TextAreaProps) => {\n const [rows, setRows] = useState(minRows);\n const [textareaDimensions, setTextareaDimensions] = useState<TextAreaDimensions>();\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n\n useEffect(() => {\n const style = getComputedStyle(textareaRef.current!);\n const lineHeight = parseInt(style.lineHeight, 10);\n const paddingHeight =\n parseInt(style.paddingTop, 10) + parseInt(style.paddingBottom, 10);\n setTextareaDimensions({ lineHeight, paddingHeight });\n }, []);\n\n const handleChange = (event: ChangeEvent<HTMLTextAreaElement>) => {\n onChange(event);\n\n const { lineHeight, paddingHeight } = textareaDimensions!;\n const previousRows = event.target.rows;\n event.target.rows = minRows;\n\n const currentRows = ~~((event.target.scrollHeight - paddingHeight) / lineHeight);\n\n if (currentRows === previousRows) {\n event.target.rows = currentRows;\n }\n\n if (maxRows && currentRows >= maxRows) {\n event.target.rows = maxRows;\n event.target.scrollTop = event.target.scrollHeight;\n }\n\n setRows(maxRows && currentRows > maxRows ? maxRows : currentRows);\n };\n\n return (\n <textarea\n className={classes(styles.textarea, className)}\n ref={textareaRef}\n onChange={handleChange}\n style={cssProps({ resize })}\n rows={rows}\n value={value}\n {...rest}\n />\n );\n};\n","import React, { useId, useRef, useState } from 'react';\nimport type { ChangeEvent, ElementType, FocusEvent } from 'react';\nimport { Icon } from '../Icon';\nimport { tokens } from '../ThemeProvider';\nimport { Transition } from '../Transition';\nimport { classes, cssProps, msToNum } from '../../utils/style';\nimport styles from './Input.module.css';\nimport { TextArea } from './TextArea';\n\nexport interface InputProps {\n id?: string;\n label?: string;\n value?: string;\n multiline?: boolean;\n className?: string;\n style?: React.CSSProperties;\n error?: string | null;\n onBlur?: (event: FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void;\n autoComplete?: string;\n required?: boolean;\n maxLength?: number;\n type?: string;\n placeholder?: string;\n /** Multiline only: cap the auto-grow at this many rows, then scroll inside. */\n maxRows?: number;\n onChange?: (event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;\n [key: string]: unknown;\n}\n\nexport const Input = ({\n id,\n label,\n value,\n multiline,\n className,\n style,\n error,\n onBlur,\n autoComplete,\n required,\n maxLength,\n type,\n placeholder,\n maxRows,\n onChange,\n ...rest\n}: InputProps) => {\n const [focused, setFocused] = useState(false);\n const generatedId = useId();\n const errorRef = useRef<HTMLDivElement>(null);\n const inputId = id || `${generatedId}input`;\n const labelId = `${inputId}-label`;\n const errorId = `${inputId}-error`;\n const InputElement = (multiline ? TextArea : 'input') as ElementType;\n\n const handleBlur = (event: FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n setFocused(false);\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n return (\n <div\n className={classes(styles.container, className)}\n data-error={!!error}\n data-multiline={!!multiline}\n style={style}\n {...rest}\n >\n <div className={styles.content}>\n <label\n className={styles.label}\n data-focused={focused}\n data-filled={!!value}\n data-placeholder={!!placeholder}\n id={labelId}\n htmlFor={inputId}\n >\n {label}\n </label>\n <InputElement\n className={styles.input}\n id={inputId}\n aria-labelledby={labelId}\n aria-describedby={error ? errorId : undefined}\n onFocus={() => setFocused(true)}\n onBlur={handleBlur}\n value={value}\n onChange={onChange}\n autoComplete={autoComplete}\n required={required}\n maxLength={maxLength}\n type={type}\n placeholder={placeholder}\n {...(multiline ? { maxRows } : {})}\n />\n <div className={styles.underline} data-focused={focused} />\n </div>\n <Transition unmount in={!!error} timeout={msToNum(tokens.base.durationM)}>\n {(visible: boolean) => (\n <div\n className={styles.error}\n data-visible={visible}\n id={errorId}\n role=\"alert\"\n style={cssProps({\n height: visible ? errorRef.current?.getBoundingClientRect().height ?? 0 : 0,\n })}\n >\n <div className={styles.errorMessage} ref={errorRef}>\n <Icon icon=\"error\" />\n {error}\n </div>\n </div>\n )}\n </Transition>\n </div>\n );\n};\n","import { forwardRef, type ReactNode, type ComponentPropsWithoutRef } from 'react';\nimport { useLinkComponent, type LinkComponent } from '../LinkProvider';\nimport { classes } from '../../utils/style';\nimport styles from './Link.module.css';\n\nconst VALID_EXT = ['txt', 'png', 'jpg'];\n\nfunction isAnchor(href?: string): boolean {\n const isValidExtension = VALID_EXT.includes(href?.split('.').pop() ?? '');\n return !!href?.includes('://') || href?.[0] === '#' || isValidExtension;\n}\n\ninterface LinkProps extends ComponentPropsWithoutRef<'a'> {\n secondary?: boolean;\n children?: ReactNode;\n /** Overrides the LinkProvider-supplied component for this instance only. */\n linkComponent?: LinkComponent;\n}\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(\n ({ rel, target, children, secondary, className, href, linkComponent, ...rest }, ref) => {\n const ContextLink = useLinkComponent();\n const RouterLink = linkComponent ?? ContextLink;\n const isExternal = href?.includes('://');\n const relValue = rel || (isExternal ? 'noreferrer noopener' : undefined);\n const targetValue = target || (isExternal ? '_blank' : undefined);\n const linkProps = {\n className: classes(styles.link, className),\n 'data-secondary': secondary,\n rel: relValue,\n href,\n target: targetValue,\n ref,\n ...rest,\n };\n\n if (isAnchor(href)) {\n return <a {...linkProps}>{children}</a>;\n }\n\n return (\n <RouterLink {...linkProps} href={href ?? ''}>\n {children}\n </RouterLink>\n );\n }\n);\n","import { forwardRef, type ComponentPropsWithoutRef, type ElementType, type ReactNode } from 'react';\nimport { Icon } from '../Icon';\nimport { useLinkComponent, type LinkComponent } from '../LinkProvider';\nimport { Loader } from '../Loader';\nimport { Transition } from '../Transition';\nimport type { icons } from '../Icon';\nimport { classes } from '../../utils/style';\nimport styles from './Button.module.css';\n\nfunction isExternalLink(href?: string): boolean {\n return !!href?.includes('://');\n}\n\nexport interface ButtonProps extends ComponentPropsWithoutRef<'button'> {\n href?: string;\n as?: ElementType;\n secondary?: boolean;\n loading?: boolean;\n loadingText?: string;\n icon?: keyof typeof icons;\n iconEnd?: keyof typeof icons;\n iconHoverShift?: boolean;\n iconOnly?: boolean;\n children?: ReactNode;\n rel?: string;\n target?: string;\n disabled?: boolean;\n download?: string;\n /** Overrides the LinkProvider-supplied component for this instance only. */\n linkComponent?: LinkComponent;\n}\n\nexport const Button = forwardRef<HTMLElement, ButtonProps>(\n ({ href, linkComponent, ...rest }, ref) => {\n const ContextLink = useLinkComponent();\n const RouterLink = linkComponent ?? ContextLink;\n\n if (isExternalLink(href) || !href) {\n return <ButtonContent href={href} ref={ref} {...rest} />;\n }\n\n return <ButtonContent as={RouterLink} href={href} ref={ref} {...rest} />;\n }\n);\n\nconst ButtonContent = forwardRef<HTMLElement, ButtonProps>(\n (\n {\n className,\n as,\n secondary,\n loading,\n loadingText = 'loading',\n icon,\n iconEnd,\n iconHoverShift,\n iconOnly,\n children,\n rel,\n target,\n href,\n disabled,\n ...rest\n },\n ref\n ) => {\n const isExternal = isExternalLink(href);\n const defaultComponent = href ? 'a' : 'button';\n const Component = as || defaultComponent;\n\n return (\n <Component\n className={classes(styles.button, className)}\n data-loading={loading}\n data-icon-only={iconOnly}\n data-secondary={secondary}\n data-icon={icon}\n href={href}\n rel={rel || isExternal ? 'noopener noreferrer' : undefined}\n target={target || isExternal ? '_blank' : undefined}\n disabled={disabled}\n ref={ref}\n {...rest}\n >\n {!!icon && (\n <Icon\n className={styles.icon}\n data-start={!iconOnly}\n data-shift={iconHoverShift}\n icon={icon}\n />\n )}\n {!!children && <span className={styles.text}>{children}</span>}\n {!!iconEnd && (\n <Icon\n className={styles.icon}\n data-end={!iconOnly}\n data-shift={iconHoverShift}\n icon={iconEnd}\n />\n )}\n <Transition unmount in={loading}>\n {(visible: boolean) => (\n <Loader\n className={styles.loader}\n size={32}\n text={loadingText}\n data-visible={visible}\n />\n )}\n </Transition>\n </Component>\n );\n }\n);\n","import { Icon } from '../Icon';\nimport { Link } from '../Link';\nimport { classes } from '../../utils/style';\nimport styles from './Breadcrumbs.module.css';\n\nexport interface BreadcrumbItem {\n label: string;\n href: string;\n}\n\ninterface BreadcrumbsProps {\n items: BreadcrumbItem[];\n className?: string;\n}\n\nexport const Breadcrumbs = ({ items, className }: BreadcrumbsProps) => {\n return (\n <nav aria-label=\"Breadcrumb\" className={classes(styles.breadcrumbs, className)}>\n <ol className={styles.list}>\n {items.map((item, index) => {\n const isLast = index === items.length - 1;\n\n return (\n <li key={item.href} className={styles.item}>\n {index > 0 && (\n <Icon\n className={styles.separator}\n icon=\"chevronRight\"\n aria-hidden=\"true\"\n />\n )}\n {isLast ? (\n <span className={styles.current} aria-current=\"page\">\n {item.label}\n </span>\n ) : (\n <Link className={styles.link} href={item.href}>\n {item.label}\n </Link>\n )}\n </li>\n );\n })}\n </ol>\n </nav>\n );\n};\n","export async function delay(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n","import { VisuallyHidden } from '../VisuallyHidden';\nimport { useReducedMotion, useSpring } from 'framer-motion';\nimport { memo, useEffect, useRef } from 'react';\nimport { delay } from '../../utils/delay';\nimport { classes } from '../../utils/style';\nimport styles from './ScrambleReveal.module.css';\n\n// Standalone-renderable Devanagari only — no matras/conjuncts (they render\n// broken with a dotted-circle placeholder when shown in isolation).\n// prettier-ignore\nconst glyphs = [\n // Independent vowels\n 'अ', 'आ', 'इ', 'ई', 'उ',\n 'ऊ', 'ऋ', 'ए', 'ऐ', 'ओ', 'औ',\n // Consonants\n 'क', 'ख', 'ग', 'घ', 'ङ',\n 'च', 'छ', 'ज', 'झ', 'ञ',\n 'ट', 'ठ', 'ड', 'ढ', 'ण',\n 'त', 'थ', 'द', 'ध', 'न',\n 'प', 'फ', 'ब', 'भ', 'म',\n 'य', 'र', 'ल', 'व', 'श',\n 'ष', 'स', 'ह', 'ळ',\n // Devanagari digits\n '०', '१', '२', '३', '४',\n '५', '६', '७', '८', '९',\n];\n\nconst CharType = {\n Glyph: 'glyph',\n Value: 'value',\n} as const;\n\ninterface CharItem {\n type: (typeof CharType)[keyof typeof CharType];\n value: string;\n}\n\nfunction shuffle(content: string[], output: CharItem[], position: number): CharItem[] {\n return content.map((value, index) => {\n if (index < position) {\n return { type: CharType.Value, value };\n }\n\n if (position % 1 < 0.5) {\n const rand = Math.floor(Math.random() * glyphs.length);\n return { type: CharType.Glyph, value: glyphs[rand] };\n }\n\n return { type: CharType.Glyph, value: output[index].value };\n });\n}\n\ninterface ScrambleRevealProps {\n text: string;\n start?: boolean;\n delay?: number;\n className?: string;\n [key: string]: unknown;\n}\n\nexport const ScrambleReveal = memo(\n ({ text, start = true, delay: startDelay = 0, className, ...rest }: ScrambleRevealProps) => {\n const output = useRef<CharItem[]>([{ type: CharType.Glyph, value: '' }]);\n const container = useRef<HTMLSpanElement>(null);\n const reduceMotion = useReducedMotion();\n const decoderSpring = useSpring(0, { stiffness: 8, damping: 5 });\n\n useEffect(() => {\n const containerInstance = container.current;\n const content = text.split('');\n let animation: number | undefined;\n\n const renderOutput = () => {\n const characterMap = output.current.map(item => {\n return `<span class=\"${styles[item.type]}\">${item.value}</span>`;\n });\n\n if (containerInstance) {\n containerInstance.innerHTML = characterMap.join('');\n }\n };\n\n const unsubscribeSpring = decoderSpring.on('change', (value: number) => {\n output.current = shuffle(content, output.current, value);\n renderOutput();\n });\n\n const startSpring = async () => {\n await delay(startDelay);\n decoderSpring.set(content.length);\n };\n\n if (start && !animation && !reduceMotion) {\n startSpring();\n }\n\n if (reduceMotion) {\n output.current = content.map((value, index) => ({\n type: CharType.Value,\n value: content[index],\n }));\n renderOutput();\n }\n\n return () => {\n unsubscribeSpring?.();\n };\n }, [decoderSpring, reduceMotion, start, startDelay, text]);\n\n return (\n <span className={classes(styles.text, className)} {...rest}>\n <VisuallyHidden className={styles.label}>{text}</VisuallyHidden>\n <span aria-hidden className={styles.content} ref={container} />\n </span>\n );\n }\n);\n","import { Button } from '../Button';\nimport { Icon } from '../Icon';\nimport { useTheme } from '../ThemeProvider';\nimport { useReducedMotion } from 'framer-motion';\nimport { useHasMounted } from '../../hooks/useHasMounted';\nimport { useInViewport } from '../../hooks/useInViewport';\nimport { Fragment, useCallback, useEffect, useRef, useState } from 'react';\nimport type { CSSProperties, HTMLAttributes, ReactEventHandler, VideoHTMLAttributes } from 'react';\nimport { resolveSrcFromSrcSet, srcSetToString } from '../../utils/image';\nimport { classes, cssProps, numToMs } from '../../utils/style';\nimport styles from './Image.module.css';\n\ninterface ImageSrc {\n src: string;\n width?: number;\n height?: number;\n}\n\ninterface SrcSetItem {\n src: string;\n width: number;\n}\n\ninterface ImageProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n style?: CSSProperties;\n reveal?: boolean;\n delay?: number;\n raised?: boolean;\n src?: ImageSrc;\n srcSet?: SrcSetItem[];\n placeholder?: ImageSrc;\n alt?: string;\n play?: boolean;\n restartOnPause?: boolean;\n sizes?: string;\n noPauseButton?: boolean;\n}\n\nexport const Image = ({\n className,\n style,\n reveal,\n delay = 0,\n raised,\n src: baseSrc,\n srcSet,\n placeholder,\n ...rest\n}: ImageProps) => {\n const [loaded, setLoaded] = useState(false);\n const { themeId } = useTheme();\n const containerRef = useRef<HTMLDivElement>(null);\n const src = baseSrc || srcSet?.[0];\n const inViewport = useInViewport(containerRef, !getIsVideo(src));\n\n const onLoad = useCallback(() => {\n setLoaded(true);\n }, []);\n\n return (\n <div\n className={classes(styles.image, className)}\n data-visible={inViewport || loaded}\n data-reveal={reveal}\n data-raised={raised}\n data-theme={themeId}\n style={cssProps({ delay: numToMs(delay) }, style)}\n ref={containerRef}\n >\n <ImageElements\n delay={delay}\n onLoad={onLoad}\n loaded={loaded}\n inViewport={inViewport}\n reveal={reveal}\n src={src}\n srcSet={srcSet}\n placeholder={placeholder}\n {...rest}\n />\n </div>\n );\n};\n\ninterface ImageElementsProps {\n onLoad: ReactEventHandler;\n loaded: boolean;\n inViewport: boolean;\n srcSet?: SrcSetItem[];\n placeholder?: ImageSrc;\n delay: number;\n src?: ImageSrc | SrcSetItem;\n alt?: string;\n play?: boolean;\n restartOnPause?: boolean;\n reveal?: boolean;\n sizes?: string;\n noPauseButton?: boolean;\n [key: string]: unknown;\n}\n\nconst ImageElements = ({\n onLoad,\n loaded,\n inViewport,\n srcSet,\n placeholder,\n delay,\n src,\n alt,\n play = true,\n restartOnPause,\n reveal,\n sizes,\n noPauseButton,\n ...rest\n}: ImageElementsProps) => {\n const reduceMotion = useReducedMotion();\n const [showPlaceholder, setShowPlaceholder] = useState(true);\n const [playing, setPlaying] = useState(!reduceMotion);\n const [videoSrc, setVideoSrc] = useState<string>();\n const [videoInteracted, setVideoInteracted] = useState(false);\n const placeholderRef = useRef<HTMLImageElement>(null);\n const videoRef = useRef<HTMLVideoElement>(null);\n const isVideo = getIsVideo(src);\n const showFullRes = inViewport;\n const srcSetString = srcSetToString(srcSet);\n const hasMounted = useHasMounted();\n\n useEffect(() => {\n const resolveVideoSrc = async () => {\n const resolvedVideoSrc = await resolveSrcFromSrcSet({ srcSet, sizes });\n setVideoSrc(resolvedVideoSrc);\n };\n\n if (isVideo && srcSet) {\n resolveVideoSrc();\n } else if (isVideo) {\n // Sync counterpart to the async branch above; kept in the same effect\n // so `videoSrc` always resolves the same way regardless of source shape.\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setVideoSrc((src as ImageSrc).src);\n }\n }, [isVideo, sizes, src, srcSet]);\n\n useEffect(() => {\n if (!videoRef.current || !videoSrc) return;\n\n const playVideo = () => {\n setPlaying(true);\n videoRef.current!.play();\n };\n\n const pauseVideo = () => {\n setPlaying(false);\n videoRef.current!.pause();\n };\n\n if (!play) {\n pauseVideo();\n\n if (restartOnPause) {\n videoRef.current.currentTime = 0;\n }\n }\n\n if (videoInteracted) return;\n\n if (!inViewport) {\n pauseVideo();\n } else if (inViewport && !reduceMotion && play) {\n playVideo();\n }\n }, [inViewport, play, reduceMotion, restartOnPause, videoInteracted, videoSrc]);\n\n const togglePlaying = (event: React.MouseEvent) => {\n event.preventDefault();\n\n setVideoInteracted(true);\n\n if (videoRef.current!.paused) {\n setPlaying(true);\n videoRef.current!.play();\n } else {\n setPlaying(false);\n videoRef.current!.pause();\n }\n };\n\n return (\n <div\n className={styles.elementWrapper}\n data-reveal={reveal}\n data-visible={inViewport || loaded}\n style={cssProps({ delay: numToMs(delay + 1000) })}\n >\n {isVideo && hasMounted && (\n <Fragment>\n <video\n muted\n loop\n playsInline\n className={styles.element}\n data-loaded={loaded}\n autoPlay={!reduceMotion}\n role=\"img\"\n onLoadStart={onLoad as ReactEventHandler<HTMLVideoElement>}\n src={videoSrc}\n aria-label={alt}\n ref={videoRef}\n {...(rest as VideoHTMLAttributes<HTMLVideoElement>)}\n />\n {!noPauseButton && (\n <Button className={styles.button} onClick={togglePlaying}>\n <Icon icon={playing ? 'pause' : 'play'} />\n {playing ? 'Pause' : 'Play'}\n </Button>\n )}\n </Fragment>\n )}\n {!isVideo && (\n <img\n className={styles.element}\n data-loaded={loaded}\n onLoad={onLoad}\n decoding=\"async\"\n src={showFullRes ? (src as ImageSrc)?.src : undefined}\n srcSet={showFullRes ? srcSetString : undefined}\n width={(src as ImageSrc)?.width}\n height={(src as ImageSrc)?.height}\n alt={alt}\n sizes={sizes}\n {...(rest as React.ImgHTMLAttributes<HTMLImageElement>)}\n />\n )}\n {showPlaceholder && placeholder && (\n <img\n aria-hidden\n className={styles.placeholder}\n data-loaded={loaded}\n style={cssProps({ delay: numToMs(delay) })}\n ref={placeholderRef}\n src={placeholder.src}\n width={placeholder.width}\n height={placeholder.height}\n onTransitionEnd={() => setShowPlaceholder(false)}\n decoding=\"async\"\n alt=\"\"\n role=\"presentation\"\n />\n )}\n </div>\n );\n};\n\nfunction getIsVideo(src?: ImageSrc | SrcSetItem): boolean {\n if (!src) return false;\n return typeof (src as ImageSrc).src === 'string' && (src as ImageSrc).src.endsWith('.mp4');\n}\n","import { forwardRef, useId, type SVGProps } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './Wordmark.module.css';\n\nexport interface WordmarkProps extends SVGProps<SVGSVGElement> {\n highlight?: boolean;\n}\n\nexport const Wordmark = forwardRef<SVGSVGElement, WordmarkProps>(\n ({ highlight, className, ...props }, ref) => {\n const id = useId();\n const clipId = `${id}wordmark-clip`;\n\n return (\n <svg\n aria-hidden\n className={classes(styles.wordmark, className)}\n width=\"46\"\n height=\"29\"\n viewBox=\"0 0 46 29\"\n ref={ref}\n {...props}\n >\n <defs>\n <clipPath id={clipId}>\n <path\n d=\"M 10.3281 17.7888 l 4.4875 -11.4688 l 0.0019 -0.0006 l 6.075 11.5263 a 0.5238 0.5238 90 0 0 0.9525 -0.0581 l 2.1187 -5.515 a 0.5288 0.5288 90 0 0 -0.025 -0.4288 L 18.9419 2.2531 A 4.1863 4.1863 90 0 0 15.2294 0 h -2.875 a 0.525 0.525 90 0 0 -0.4625 0.7688 l 2.2687 4.3044 l -2.2844 5.7188 l -4.45 -8.5388 A 4.1863 4.1863 90 0 0 3.7138 0 h -2.875 a 0.5262 0.5262 90 0 0 -0.4675 0.7688 L 9.375 17.8462 a 0.5244 0.5244 90 0 0 0.9525 -0.0575 z M 26.495 5.5037 a 0.5219 0.5219 90 0 0 0.2419 -0.2787 v 0.0006 l 1.6687 -4.5188 a 0.5238 0.5238 90 0 0 -0.4906 -0.7056 h -4.1113 a 0.5231 0.5231 90 0 0 -0.46 0.7737 l 2.4419 4.5163 c 0.1375 0.2562 0.4556 0.35 0.7094 0.2125 z M 39.375 0 l 0 18.125 L 34.375 18.125 l 0 -11.875 A 4.1863 4.1863 90 0 0 34.375 18.125 L 34.375 18.125 L 34.375 0 z z\"\n transform=\"rotate(180 23 15)\"\n />\n </clipPath>\n </defs>\n <rect clipPath={`url(#${clipId})`} width=\"100%\" height=\"100%\" />\n {highlight && (\n <g clipPath={`url(#${clipId})`}>\n <rect className={styles.highlight} width=\"100%\" height=\"100%\" />\n </g>\n )}\n </svg>\n );\n }\n);\n"],"names":["Text","children","size","Component","align","weight","secondary","className","rest","jsx","classes","styles","Heading","level","as","clampedLevel","Fragment","Section","forwardRef","ref","Element","List","ordered","ListItem","Divider","lineWidth","lineHeight","notchWidth","notchHeight","collapseDelay","collapsed","notch","light","style","jsxs","cssProps","numToMs","Table","TableRow","TableHead","TableBody","TableHeadCell","TableCell","VisuallyHidden","showOnFocus","visible","Transition","timeout","onEnter","onEntered","onExit","onExited","show","unmount","enterTimeout","useRef","exitTimeout","useEffect","AnimatePresence","TransitionContent","status","setStatus","useState","isPresent","safeToRemove","usePresence","hasEntered","setHasEntered","splitTimeout","actualTimeout","Loader","text","reduceMotion","useReducedMotion","hasMounted","useHasMounted","portalContainer","useRefractConfig","renderScreenReaderTextPortal","container","createPortal","gapSize","spanSize","SvgArrowLeft","props","React","SvgArrowRight","SvgArticles","SvgCheck","SvgChevronRight","SvgClose","SvgCompany","SvgCopy","SvgDownload","SvgError","SvgFigma","SvgGithub","SvgLink","SvgLinkedin","SvgMenu","SvgPause","SvgPlay","SvgSend","SvgSkills","SvgStorybook","SvgTwitter","icons","ArrowLeft","ArrowRight","Article","Company","Check","ChevronRight","Close","Copy","Download","Error","Figma","Github","Link","Linkedin","Menu","Pause","Play","Send","Skills","Storybook","Twitter","Icon","icon","IconComponent","SegmentedControlContext","createContext","SegmentedControl","currentIndex","onChange","label","labelId","useId","optionRefs","indicator","setIndicator","handleKeyDown","event","length","prevIndex","nextIndex","_a","_b","registerOption","useCallback","optionRef","unRegisterOption","currentOption","resizeObserver","rect","left","SegmentedControlOption","useContext","index","isSelected","TextArea","resize","value","minRows","maxRows","rows","setRows","textareaDimensions","setTextareaDimensions","textareaRef","paddingHeight","handleChange","previousRows","currentRows","Input","id","multiline","error","onBlur","autoComplete","required","maxLength","type","placeholder","focused","setFocused","generatedId","errorRef","inputId","errorId","InputElement","handleBlur","msToNum","tokens","VALID_EXT","isAnchor","href","isValidExtension","rel","target","linkComponent","ContextLink","useLinkComponent","RouterLink","isExternal","relValue","targetValue","linkProps","isExternalLink","Button","ButtonContent","loading","loadingText","iconEnd","iconHoverShift","iconOnly","disabled","Breadcrumbs","items","item","isLast","delay","ms","resolve","glyphs","CharType","shuffle","content","output","position","rand","ScrambleReveal","memo","start","startDelay","decoderSpring","useSpring","containerInstance","renderOutput","characterMap","unsubscribeSpring","Image","reveal","raised","baseSrc","srcSet","loaded","setLoaded","themeId","useTheme","containerRef","src","inViewport","useInViewport","getIsVideo","onLoad","ImageElements","alt","play","restartOnPause","sizes","noPauseButton","showPlaceholder","setShowPlaceholder","playing","setPlaying","videoSrc","setVideoSrc","videoInteracted","setVideoInteracted","placeholderRef","videoRef","isVideo","showFullRes","srcSetString","srcSetToString","resolvedVideoSrc","resolveSrcFromSrcSet","playVideo","pauseVideo","togglePlaying","Wordmark","highlight","clipId"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -144,7 +144,7 @@ const N1 = "_text_18l38_1", k1 = {
144
144
  }) => {
145
145
  const h = M(void 0), u = M(void 0);
146
146
  return N(() => {
147
- clearTimeout(c ? h.current : u.current);
147
+ clearTimeout(c ? u.current : h.current);
148
148
  }, [c]), /* @__PURE__ */ n(V1, { children: (c || !r) && /* @__PURE__ */ n(
149
149
  G1,
150
150
  {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/components/Text/Text.tsx","../src/components/Heading/Heading.tsx","../src/components/Section/Section.tsx","../src/components/List/List.tsx","../src/components/Divider/Divider.tsx","../src/components/Table/Table.tsx","../src/components/VisuallyHidden/VisuallyHidden.tsx","../src/components/Transition/Transition.tsx","../src/components/Loader/Loader.tsx","../src/components/Icon/svg/arrow-left.svg","../src/components/Icon/svg/arrow-right.svg","../src/components/Icon/svg/articles.svg","../src/components/Icon/svg/check.svg","../src/components/Icon/svg/chevron-right.svg","../src/components/Icon/svg/close.svg","../src/components/Icon/svg/company.svg","../src/components/Icon/svg/copy.svg","../src/components/Icon/svg/download.svg","../src/components/Icon/svg/error.svg","../src/components/Icon/svg/figma.svg","../src/components/Icon/svg/github.svg","../src/components/Icon/svg/link.svg","../src/components/Icon/svg/linkedin.svg","../src/components/Icon/svg/menu.svg","../src/components/Icon/svg/pause.svg","../src/components/Icon/svg/play.svg","../src/components/Icon/svg/send.svg","../src/components/Icon/svg/skills.svg","../src/components/Icon/svg/storybook.svg","../src/components/Icon/svg/twitter.svg","../src/components/Icon/Icon.tsx","../src/components/SegmentedControl/SegmentedControl.tsx","../src/components/Input/TextArea.tsx","../src/components/Input/Input.tsx","../src/components/Link/Link.tsx","../src/components/Button/Button.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx","../src/utils/delay.ts","../src/components/ScrambleReveal/ScrambleReveal.tsx","../src/components/Image/Image.tsx","../src/components/Wordmark/Wordmark.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, type ElementType, type ReactNode } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './Text.module.css';\n\nexport interface TextProps extends ComponentPropsWithoutRef<'span'> {\n children?: ReactNode;\n size?: 's' | 'm' | 'l' | 'xl';\n as?: ElementType;\n align?: string;\n weight?: string;\n secondary?: boolean;\n}\n\nexport const Text = ({\n children,\n size = 'm',\n as: Component = 'span',\n align = 'auto',\n weight = 'auto',\n secondary,\n className,\n ...rest\n}: TextProps) => {\n return (\n <Component\n className={classes(styles.text, className)}\n data-align={align}\n data-size={size}\n data-weight={weight}\n data-secondary={secondary}\n {...rest}\n >\n {children}\n </Component>\n );\n};\n","import { Fragment, type ComponentPropsWithoutRef, type ElementType, type ReactNode } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './Heading.module.css';\n\nexport interface HeadingProps extends ComponentPropsWithoutRef<'h1'> {\n children?: ReactNode;\n level?: number;\n as?: ElementType;\n align?: string;\n weight?: string;\n}\n\nexport const Heading = ({\n children,\n level = 1,\n as,\n align = 'auto',\n weight = 'medium',\n className,\n ...rest\n}: HeadingProps) => {\n const clampedLevel = Math.min(Math.max(level, 0), 5);\n const Component = as || (`h${Math.max(clampedLevel, 1)}` as ElementType);\n\n return (\n <Fragment>\n <Component\n className={classes(styles.heading, className)}\n data-align={align}\n data-weight={weight}\n data-level={clampedLevel}\n {...rest}\n >\n {children}\n </Component>\n </Fragment>\n );\n};\n","import { forwardRef, type ElementType, type ReactNode, type Ref } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './Section.module.css';\n\ntype SectionProps = {\n as?: ElementType;\n children?: ReactNode;\n className?: string;\n} & Record<string, unknown>;\n\nexport const Section = forwardRef<HTMLElement | null, SectionProps>(\n ({ as: Component = 'div', children, className, ...rest }, ref) => {\n const Element = Component as ElementType;\n return (\n <Element\n className={classes(styles.section, className as string)}\n ref={ref as Ref<HTMLElement>}\n {...rest}\n >\n {children}\n </Element>\n );\n }\n);\n","import { type ReactNode, type ComponentPropsWithoutRef } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './List.module.css';\n\ninterface ListProps extends ComponentPropsWithoutRef<'ul'> {\n ordered?: boolean;\n children?: ReactNode;\n}\n\nexport const List = ({ ordered, children, className, ...rest }: ListProps) => {\n const Element = ordered ? 'ol' : 'ul';\n\n return (\n <Element className={classes(styles.list, className)} {...rest}>\n {children}\n </Element>\n );\n};\n\ninterface ListItemProps extends ComponentPropsWithoutRef<'li'> {\n children?: ReactNode;\n}\n\nexport const ListItem = ({ children, ...rest }: ListItemProps) => {\n return (\n <li className={styles.item} {...rest}>\n {children}\n </li>\n );\n};\n","import { type ComponentPropsWithoutRef } from 'react';\nimport { classes, cssProps, numToMs } from '../../utils/style';\nimport styles from './Divider.module.css';\n\nexport interface DividerProps extends ComponentPropsWithoutRef<'div'> {\n lineWidth?: string;\n lineHeight?: string;\n notchWidth?: string;\n notchHeight?: string;\n collapseDelay?: number;\n collapsed?: boolean;\n notch?: boolean;\n light?: boolean;\n}\n\nexport const Divider = ({\n lineWidth = '100%',\n lineHeight = '2px',\n notchWidth = '90px',\n notchHeight = '10px',\n collapseDelay = 0,\n collapsed = false,\n notch = true,\n light = false,\n className,\n style,\n ...rest\n}: DividerProps) => (\n <div\n className={classes(styles.divider, className)}\n data-light={light}\n style={cssProps(\n {\n lineWidth: lineWidth,\n lineHeight: lineHeight,\n notchWidth: notchWidth,\n notchHeight: notchHeight,\n collapseDelay: numToMs(collapseDelay),\n },\n style\n )}\n {...rest}\n >\n <div className={styles.line} data-collapsed={collapsed} />\n {notch && (\n <div\n className={styles.notch}\n data-collapsed={collapsed}\n style={cssProps({ collapseDelay: numToMs(collapseDelay + 160) })}\n />\n )}\n </div>\n);\n","import { type ReactNode } from 'react';\nimport styles from './Table.module.css';\n\ninterface TableChildProps {\n children?: ReactNode;\n}\n\nexport const Table = ({ children }: TableChildProps) => <table className={styles.table}>{children}</table>;\nexport const TableRow = ({ children }: TableChildProps) => <tr className={styles.row}>{children}</tr>;\nexport const TableHead = ({ children }: TableChildProps) => <thead className={styles.head}>{children}</thead>;\nexport const TableBody = ({ children }: TableChildProps) => <tbody className={styles.body}>{children}</tbody>;\nexport const TableHeadCell = ({ children }: TableChildProps) => <th className={styles.headCell}>{children}</th>;\nexport const TableCell = ({ children }: TableChildProps) => <td className={styles.cell}>{children}</td>;\n","import { forwardRef, type ComponentPropsWithoutRef, type ElementType, type ReactNode } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './VisuallyHidden.module.css';\n\nexport interface VisuallyHiddenProps extends ComponentPropsWithoutRef<'span'> {\n showOnFocus?: boolean;\n as?: ElementType;\n children?: ReactNode;\n visible?: boolean;\n href?: string;\n [key: string]: unknown;\n}\n\nexport const VisuallyHidden = forwardRef<HTMLElement, VisuallyHiddenProps>(\n ({ className, showOnFocus, as: Component = 'span', children, visible, ...rest }, ref) => {\n const Element = Component as ElementType;\n return (\n <Element\n className={classes(styles.hidden, className as string)}\n data-hidden={!visible && !showOnFocus}\n data-show-on-focus={showOnFocus}\n ref={ref}\n {...rest}\n >\n {children}\n </Element>\n );\n }\n);\n","import { AnimatePresence, usePresence } from 'framer-motion';\nimport { type MutableRefObject, type ReactNode, useEffect, useRef, useState } from 'react';\n\ntype TransitionTimeout = number | { enter: number; exit: number };\ntype TransitionStatus = 'entering' | 'entered' | 'exiting' | 'exited';\ntype TransitionRenderFn = (visible: boolean, status: TransitionStatus) => ReactNode;\n\ninterface TransitionProps {\n children: TransitionRenderFn;\n timeout?: TransitionTimeout;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n in?: boolean;\n unmount?: boolean;\n}\n\ninterface TransitionContentProps {\n children: TransitionRenderFn;\n timeout: TransitionTimeout;\n enterTimeout: MutableRefObject<ReturnType<typeof setTimeout> | undefined>;\n exitTimeout: MutableRefObject<ReturnType<typeof setTimeout> | undefined>;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n show?: boolean;\n}\n\nexport const Transition = ({\n children,\n timeout = 0,\n onEnter,\n onEntered,\n onExit,\n onExited,\n in: show,\n unmount,\n}: TransitionProps) => {\n const enterTimeout = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const exitTimeout = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n\n useEffect(() => {\n if (show) {\n clearTimeout(enterTimeout.current);\n } else {\n clearTimeout(exitTimeout.current);\n }\n }, [show]);\n\n return (\n <AnimatePresence>\n {(show || !unmount) && (\n <TransitionContent\n timeout={timeout}\n enterTimeout={enterTimeout}\n exitTimeout={exitTimeout}\n onEnter={onEnter}\n onEntered={onEntered}\n onExit={onExit}\n onExited={onExited}\n show={show}\n >\n {children}\n </TransitionContent>\n )}\n </AnimatePresence>\n );\n};\n\nconst TransitionContent = ({\n children,\n timeout,\n enterTimeout,\n exitTimeout,\n onEnter,\n onEntered,\n onExit,\n onExited,\n show,\n}: TransitionContentProps) => {\n const [status, setStatus] = useState<TransitionStatus>('exited');\n const [isPresent, safeToRemove] = usePresence();\n const [hasEntered, setHasEntered] = useState(false);\n const splitTimeout = typeof timeout === 'object';\n\n useEffect(() => {\n if (hasEntered || !show) return;\n\n const actualTimeout = splitTimeout ? timeout.enter : timeout;\n\n clearTimeout(enterTimeout.current);\n clearTimeout(exitTimeout.current);\n\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setHasEntered(true);\n setStatus('entering');\n onEnter?.();\n\n // eslint-disable-next-line react-hooks/immutability\n enterTimeout.current = setTimeout(() => {\n setStatus('entered');\n onEntered?.();\n }, actualTimeout);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onEnter, onEntered, timeout, status, show]);\n\n useEffect(() => {\n if (isPresent && show) return;\n\n const actualTimeout = splitTimeout ? timeout.exit : timeout;\n\n clearTimeout(enterTimeout.current);\n clearTimeout(exitTimeout.current);\n\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setStatus('exiting');\n onExit?.();\n\n // eslint-disable-next-line react-hooks/immutability\n exitTimeout.current = setTimeout(() => {\n setStatus('exited');\n safeToRemove?.();\n onExited?.();\n }, actualTimeout);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isPresent, onExit, safeToRemove, timeout, onExited, show]);\n\n return children(hasEntered && show ? isPresent : false, status);\n};\n","import { Text } from '../Text';\nimport { useRefractConfig } from '../RefractProvider';\nimport { VisuallyHidden } from '../VisuallyHidden';\nimport { useReducedMotion } from 'framer-motion';\nimport { useHasMounted } from '../../hooks/useHasMounted';\nimport { type ComponentPropsWithoutRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport { classes, cssProps } from '../../utils/style';\nimport styles from './Loader.module.css';\n\nexport interface LoaderProps extends ComponentPropsWithoutRef<'div'> {\n size?: number;\n text?: string;\n}\n\nexport const Loader = ({\n className,\n style,\n size = 32,\n text = 'Loading...',\n ...rest\n}: LoaderProps) => {\n const reduceMotion = useReducedMotion();\n const hasMounted = useHasMounted();\n const { portalContainer } = useRefractConfig();\n\n const renderScreenReaderTextPortal = () => {\n if (!hasMounted) return null;\n\n const container = portalContainer();\n if (!container) return null;\n\n return createPortal(\n <VisuallyHidden className=\"loader-announcement\" aria-live=\"assertive\">\n {text}\n </VisuallyHidden>,\n container\n );\n };\n\n if (reduceMotion) {\n return (\n <Text className={classes(styles.text, className)} weight=\"medium\" {...rest}>\n {text}\n {renderScreenReaderTextPortal()}\n </Text>\n );\n }\n\n const gapSize = Math.round((size / 3) * 0.2);\n const spanSize = Math.round(size / 3 - gapSize * 2 - 1);\n\n return (\n <div\n className={classes(styles.loader, className)}\n style={cssProps({ size, spanSize, gapSize }, style)}\n {...rest}\n >\n <div className={styles.content}>\n <div className={styles.span} />\n <div className={styles.span} />\n <div className={styles.span} />\n </div>\n {renderScreenReaderTextPortal()}\n </div>\n );\n};\n","import * as React from \"react\";\nconst SvgArrowLeft = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"m9.793 19.207-6.5-6.5L2.586 12l.707-.707 6.5-6.5 1.414 1.414L6.414 11H21v2H6.414l4.793 4.793-1.414 1.414Z\" }));\nexport default SvgArrowLeft;\n","import * as React from \"react\";\nconst SvgArrowRight = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M14.207 4.793l6.5 6.5.707.707-.707.707-6.5 6.5-1.414-1.414L17.586 13H3v-2h14.586l-4.793-4.793 1.414-1.414z\" }));\nexport default SvgArrowRight;\n","import * as React from \"react\";\nconst SvgArticles = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 128 128\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M35.34,16.5h72.75v30.73l-72.75,0V16.5L35.34,16.5z M23.42,91.7c-0.67,2.24-1.63,4.05-2.8,5.46l88.47,0l0.04,0 c3.19-0.18,5.57-1.03,7.16-2.54c1.56-1.48,2.43-3.69,2.62-6.62V3.97H24.36v80.06C24.36,87.43,24.4,88.42,23.42,91.7L23.42,91.7 L23.42,91.7z M13.15,101.13c-0.45,0.03-0.91,0.03-1.36,0.01c-1.82-0.11-3.61-0.67-5.23-1.62c-3.55-2.09-6.29-6.09-6.54-11.32 C0.01,88.12,0,88.03,0,87.95v-70.4c0-1.1,0.89-1.98,1.98-1.98l18.41,0V1.98c0-1.1,0.89-1.98,1.98-1.98l98.52,0 c1.1,0,1.98,0.89,1.98,1.98v86.07c0,0.11-0.01,0.21-0.02,0.31c-0.27,3.9-1.55,6.95-3.84,9.13c-2.28,2.17-5.5,3.38-9.67,3.62 c-0.08,0.01-0.17,0.02-0.26,0.02L13.15,101.13L13.15,101.13L13.15,101.13z M12.05,97.19c0.1-0.02,0.21-0.03,0.32-0.03h0.72 c0.79-0.08,1.56-0.3,2.28-0.68c4.41-2.31,5.02-7.95,5.02-12.42V19.53H3.97v68.41c0,0.02,0,0.05,0,0.07 c0.19,3.76,2.12,6.62,4.61,8.09c1.08,0.64,2.26,1.01,3.43,1.08L12.05,97.19L12.05,97.19L12.05,97.19z M40.87,24.15h3.9l5.07,8.52 v-8.52h3.94v15.42l-3.94,0l-5.04-8.47v8.47h-3.92V24.15L40.87,24.15z M57.21,24.15h11.17v3.3l-6.98,0v2.46l6.47,0v3.14H61.4v3.04 h7.19v3.49H57.21V24.15L57.21,24.15L57.21,24.15z M70.12,24.15h3.96l1.42,8.61l2.09-8.61h3.93l2.1,8.62l1.43-8.62H89l-2.98,15.42 l-4.09,0l-2.37-9.71l-2.36,9.71h-4.09L70.12,24.15L70.12,24.15L70.12,24.15z M90.31,34.48l3.96-0.28c0.08,0.73,0.26,1.29,0.52,1.67 c0.43,0.62,1.04,0.93,1.84,0.93c0.59,0,1.05-0.16,1.37-0.48c0.32-0.32,0.48-0.69,0.48-1.11c0-0.4-0.15-0.76-0.46-1.07 c-0.3-0.32-1.02-0.61-2.13-0.89c-1.83-0.47-3.13-1.09-3.91-1.87c-0.79-0.78-1.18-1.77-1.18-2.97c0-0.79,0.2-1.54,0.6-2.24 c0.4-0.71,1.01-1.26,1.81-1.66c0.81-0.4,1.92-0.6,3.32-0.6c1.73,0,3.04,0.37,3.95,1.1c0.91,0.73,1.44,1.9,1.62,3.5l-3.92,0.27 c-0.1-0.7-0.32-1.21-0.66-1.53c-0.34-0.32-0.8-0.48-1.39-0.48c-0.48,0-0.85,0.12-1.1,0.35c-0.25,0.23-0.37,0.52-0.37,0.86 c0,0.24,0.1,0.46,0.3,0.66c0.19,0.2,0.66,0.39,1.39,0.57c1.82,0.45,3.13,0.9,3.91,1.36c0.79,0.46,1.36,1.03,1.72,1.71 c0.36,0.68,0.54,1.44,0.54,2.28c0,0.99-0.24,1.9-0.72,2.74c-0.48,0.83-1.15,1.47-2.01,1.9c-0.86,0.43-1.94,0.65-3.25,0.65 c-2.3,0-3.89-0.51-4.77-1.52C90.93,37.31,90.43,36.03,90.31,34.48L90.31,34.48L90.31,34.48z M35.8,60.85 c-1.1,0-1.98-0.89-1.98-1.98s0.89-1.98,1.98-1.98h30.25c1.09,0,1.98,0.89,1.98,1.98s-0.89,1.98-1.98,1.98H35.8L35.8,60.85z M74.73,60.85c-1.1,0-1.99-0.89-1.99-1.99c0-1.1,0.89-1.99,1.99-1.99h32.63c1.1,0,1.99,0.89,1.99,1.99c0,1.1-0.89,1.99-1.99,1.99 H74.73L74.73,60.85z M74.73,72.36c-1.1,0-1.99-0.89-1.99-1.99s0.89-1.99,1.99-1.99h32.63c1.1,0,1.99,0.89,1.99,1.99 c0,1.1-0.89,1.99-1.99,1.99H74.73L74.73,72.36z M74.73,83.87c-1.1,0-1.99-0.89-1.99-1.99s0.89-1.99,1.99-1.99l32.63,0 c1.1,0,1.99,0.89,1.99,1.99c0,1.1-0.89,1.99-1.99,1.99L74.73,83.87L74.73,83.87z M35.8,83.87c-1.1,0-1.98-0.89-1.98-1.98 s0.89-1.98,1.98-1.98l30.25,0c1.09,0,1.98,0.89,1.98,1.98s-0.89,1.98-1.98,1.98L35.8,83.87L35.8,83.87z M36.76,72.36 c-1.1,0-1.98-0.89-1.98-1.98s0.89-1.98,1.98-1.98h30.25c1.1,0,1.98,0.89,1.98,1.98s-0.89,1.98-1.98,1.98H36.76L36.76,72.36z\" }));\nexport default SvgArticles;\n","import * as React from \"react\";\nconst SvgCheck = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"m20.207 7.207-10 10-.707.707-.707-.707-5-5 1.414-1.414L9.5 15.086l9.293-9.293 1.414 1.414Z\" }));\nexport default SvgCheck;\n","import * as React from \"react\";\nconst SvgChevronRight = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M13.586 12L7.793 6.207l1.414-1.414 6.5 6.5.707.707-.707.707-6.5 6.5-1.414-1.414L13.586 12z\" }));\nexport default SvgChevronRight;\n","import * as React from \"react\";\nconst SvgClose = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\" }));\nexport default SvgClose;\n","import * as React from \"react\";\nconst SvgCompany = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M14.763.075A.5.5 0 0 1 15 .5v15a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V14h-1v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V10a.5.5 0 0 1 .342-.474L6 7.64V4.5a.5.5 0 0 1 .276-.447l8-4a.5.5 0 0 1 .487.022zM6 8.694 1 10.36V15h5V8.694zM7 15h2v-1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V15h2V1.309l-7 3.5V15z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M2 11h1v1H2v-1zm2 0h1v1H4v-1zm-2 2h1v1H2v-1zm2 0h1v1H4v-1zm4-4h1v1H8V9zm2 0h1v1h-1V9zm-2 2h1v1H8v-1zm2 0h1v1h-1v-1zm2-2h1v1h-1V9zm0 2h1v1h-1v-1zM8 7h1v1H8V7zm2 0h1v1h-1V7zm2 0h1v1h-1V7zM8 5h1v1H8V5zm2 0h1v1h-1V5zm2 0h1v1h-1V5zm0-2h1v1h-1V3z\" }));\nexport default SvgCompany;\n","import * as React from \"react\";\nconst SvgCopy = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M3 1H2v16h4v-2H4V3h10v2h2V1H3Zm5 6h14v12.414l-.293.293-3 3-.293.293H8V7Zm2 14h7.586L20 18.586V9H10v12Z\" }));\nexport default SvgCopy;\n","import * as React from \"react\";\nconst SvgDownload = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z\" }));\nexport default SvgDownload;\n","import * as React from \"react\";\nconst SvgError = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M12 5.068 19.697 19H4.302L12 5.068Zm-.876-2.552-9.392 17L2.607 21h18.785l.875-1.484-9.392-17h-1.75ZM11 14v-4h2v4h-2Zm0 3v-2h2v2h-2Z\" }));\nexport default SvgError;\n","import * as React from \"react\";\nconst SvgFigma = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M15 10a2 2 0 100 4 2 2 0 000-4zm-2 5.464A4 4 0 0017.646 9 4 4 0 0015 2H9a4 4 0 00-2.646 7 4.01 4.01 0 00-.818 1 4 4 0 00.818 5 3.977 3.977 0 00-.818 1A4 4 0 1013 18v-2.536zM11 16H9a2 2 0 102 2v-2zM9 8h2V4H9a2 2 0 100 4zm0 2a2 2 0 100 4h2v-4H9zm4-2V4h2a2 2 0 010 4h-2z\" }));\nexport default SvgFigma;\n","import * as React from \"react\";\nconst SvgGithub = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M12 2C6.477 2 2 6.477 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0012 2z\" }));\nexport default SvgGithub;\n","import * as React from \"react\";\nconst SvgLink = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M9 4 8 5v2h2V6h10v7H10v-2H8v3l1 1h12l1-1V5l-1-1H9Zm2 4H3L2 9v9l1 1h12l1-1v-2h-2v1H4v-7h10v2h2V9l-1-1h-4Z\" }));\nexport default SvgLink;\n","import * as React from \"react\";\nconst SvgLinkedin = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z\" }));\nexport default SvgLinkedin;\n","import * as React from \"react\";\nconst SvgMenu = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M22 6H2V4h20v2zM2 13h16v-2H2v2zm0 7h20v-2H2v2z\" }));\nexport default SvgMenu;\n","import * as React from \"react\";\nconst SvgPause = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M6 19h4V5H6v14zm8-14v14h4V5h-4z\" }));\nexport default SvgPause;\n","import * as React from \"react\";\nconst SvgPlay = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M8 5v14l11-7z\" }));\nexport default SvgPlay;\n","import * as React from \"react\";\nconst SvgSend = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M2.01 21L23 12 2.01 3 2 10l15 2-15 2 .01 7z\" }));\nexport default SvgSend;\n","import * as React from \"react\";\nconst SvgSkills = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 128 128\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M19,70.15c-4.75,1-9.66,1.1-14.42-3.79C1.4,63.1-.19,58.23,0,53.13c12.17,14.15,27-3.34,9-12.43,8.69-4.12,16.89-.25,21.24,7.76,2.06,3.78,3.29,5.76,4.86,7.11a8.58,8.58,0,0,0,.9.69A8.1,8.1,0,0,1,39.8,51.8,7.14,7.14,0,0,1,43.05,51c3.18,0,7.14,1.9,7.81,5.14h0a1.61,1.61,0,0,1,.44-.06h2.31a1.5,1.5,0,0,1,.37,0,5.6,5.6,0,0,1,5,4.59,1.65,1.65,0,0,1,.71-.16H62a1.5,1.5,0,0,1,.37,0c3.31.51,4.65,2.55,5.12,5.12l.26,0h2.31a1.5,1.5,0,0,1,.37,0c3.8.59,5.29,3.08,5.87,6.08,7-1.07,14.57-5.27,22,2.33a17.78,17.78,0,0,1,4.57,13.23c-12.17-14.15-27,3.34-9,12.43-7.47,3.54-14.59,1.17-19.2-4.66a30.06,30.06,0,0,1-2.34,4.92c-.38.62-.77,1.26-1.27,2.14a.16.16,0,0,0,0,.07,19.77,19.77,0,0,1-1.3,2h1.6a2.51,2.51,0,0,1,2.5,2.5v13.61a2.51,2.51,0,0,1-2.5,2.5H35.13a2.51,2.51,0,0,1-2.5-2.5V106.77a2.51,2.51,0,0,1,2.5-2.5H36a18,18,0,0,1-.9-3.79L22.64,80.07,22.58,80a22.48,22.48,0,0,1-2.5-4.24,12.37,12.37,0,0,1-1.08-4,10.22,10.22,0,0,1,0-1.57Zm92-33.29a2,2,0,0,0-.37-.74,1.51,1.51,0,0,0-.57-.46,1.61,1.61,0,0,0-.7-.22,2.62,2.62,0,0,0-.76.09l-.06,0-7.36,2.24a3,3,0,0,1-3.63-1.55c-.38-.64-.75-1.27-1.2-2s-1-1.38-1.39-2S94,31,93.4,30.38s-1-1.14-1.69-1.83A3.09,3.09,0,0,1,91.22,25l3.91-7.35a1.63,1.63,0,0,0,.13-1.46,2.07,2.07,0,0,0-.31-.65,1.82,1.82,0,0,0-.61-.49l-9.26-4.93a2.81,2.81,0,0,0-.68-.26,2.72,2.72,0,0,0-.82.11,1.31,1.31,0,0,0-.61.33,1.82,1.82,0,0,0-.49.61l-3.6,6.75a3.13,3.13,0,0,1-3.69,1.52c-.82-.21-1.59-.41-2.27-.55s-1.54-.28-2.36-.39a23.32,23.32,0,0,0-2.4-.19c-.84-.06-1.62,0-2.37-.06a3,3,0,0,1-3-2.18l-2.5-8.1c0-.06,0-.06,0-.1a2.52,2.52,0,0,0-.3-.66,2.09,2.09,0,0,0-1.26-.61,1.94,1.94,0,0,0-.82.11L48,9.48a1.9,1.9,0,0,0-.74.36,1.71,1.71,0,0,0-.47.57,1.5,1.5,0,0,0-.21.71,2.29,2.29,0,0,0,.09.75l0,.05,2.25,7.35a3.08,3.08,0,0,1-1.56,3.64c-.64.37-1.27.74-2,1.2s-1.38.95-2,1.39-1.3,1-1.91,1.54-1.15,1-1.83,1.7a3.1,3.1,0,0,1-3.59.48l-7.34-3.91a1.88,1.88,0,0,0-.75-.23,3.3,3.3,0,0,0-.69.07,1.31,1.31,0,0,0-.61.32,1.75,1.75,0,0,0-.49.62l-.4.74a24.3,24.3,0,0,0-6.73-.35l1.78-3.35a8.61,8.61,0,0,1,2-2.49,8.51,8.51,0,0,1,2.81-1.5,8.08,8.08,0,0,1,3.18-.33,8.57,8.57,0,0,1,3,1l5.43,2.9.4-.33c.7-.61,1.45-1.19,2.2-1.78s1.56-1.18,2.3-1.66l.26-.19-1.5-5.05a7.44,7.44,0,0,1-.33-3.17,7.84,7.84,0,0,1,.92-3.06,7.75,7.75,0,0,1,2-2.46,8.26,8.26,0,0,1,2.82-1.5L56.28.41l0,0A8.58,8.58,0,0,1,59.43,0a7.71,7.71,0,0,1,3.06.92A8.54,8.54,0,0,1,65,3a7.27,7.27,0,0,1,1.39,2.81l1.83,5.88a2.12,2.12,0,0,0,.43,0c.9.05,1.83.16,2.81.25s1.87.28,2.81.46a1,1,0,0,1,.39.1l2.46-4.63a7.84,7.84,0,0,1,4.82-3.92l.06,0a7.71,7.71,0,0,1,3.11-.31,8.44,8.44,0,0,1,3,.89l9.25,4.94a8.58,8.58,0,0,1,2.49,2,7.68,7.68,0,0,1,1.5,2.82,8,8,0,0,1,.33,3.17,8.31,8.31,0,0,1-1,3l-2.9,5.44c.11.11.23.28.34.39.6.71,1.19,1.45,1.77,2.2s1.19,1.56,1.66,2.3l.19.27,5.05-1.51a7.43,7.43,0,0,1,3.17-.32,8,8,0,0,1,3.06.91,7.67,7.67,0,0,1,2.46,2l0,.08a8.26,8.26,0,0,1,1.5,2.82l3,9.91.05,0a8.8,8.8,0,0,1,.35,3.13,7.87,7.87,0,0,1-.92,3.06,8.54,8.54,0,0,1-2,2.46A7.31,7.31,0,0,1,114.63,55l-5.88,1.83c0,.15,0,.32,0,.47,0,.91-.15,1.83-.24,2.71,0,0,0,.11,0,.15A26.84,26.84,0,0,1,108,63l-.07.34,4.67,2.49a7.52,7.52,0,0,1,2.47,2,8,8,0,0,1,1.45,2.79l0,.07a7.66,7.66,0,0,1,.31,3.1,8.25,8.25,0,0,1-.9,3l-.74,1.39-1.32-.71a25.71,25.71,0,0,0-4.34-7.75c-.14-.19-.29-.37-.45-.55a27.07,27.07,0,0,0-7.55-6.25c.09-.37.18-.75.26-1.13.13-.75.28-1.54.37-2.42,0,0,0-.11,0-.15.11-.81.17-1.54.23-2.27s.09-1.59.07-2.37a3,3,0,0,1,2.18-3l8.09-2.5s.07,0,.11,0a2.31,2.31,0,0,0,.65-.3,1.52,1.52,0,0,0,.41-.55,1.77,1.77,0,0,0,.21-.71,1.94,1.94,0,0,0-.11-.82L111,36.8l0,.06Zm-34-3.09a21.79,21.79,0,0,1,3.93,2.64,23.11,23.11,0,0,1,3.3,3.33,29.87,29.87,0,0,1,2.5,3.79,21.32,21.32,0,0,1,1.72,4.13,20.05,20.05,0,0,1,.86,4.44,20.89,20.89,0,0,1,0,4.54c0,.11,0,.19,0,.26a23,23,0,0,1-.68,3.77c-1.64.16-3.27.42-4.88.71l-1.48-.79c.13-.34.24-.69.35-1.05a18.63,18.63,0,0,0,.64-3.14.8.8,0,0,1,0-.22,17.14,17.14,0,0,0,0-3.44,17.56,17.56,0,0,0-.62-3.23,14.89,14.89,0,0,0-1.28-3,18.34,18.34,0,0,0-1.91-2.87A16.74,16.74,0,0,0,77,41.19a18.31,18.31,0,0,0-6.2-3.3,18.63,18.63,0,0,0-3.14-.64.57.57,0,0,1-.22,0,18.76,18.76,0,0,0-3.44,0,17.57,17.57,0,0,0-3.23.63,14.89,14.89,0,0,0-3,1.28,18.26,18.26,0,0,0-2.87,1.9,17.35,17.35,0,0,0-2.43,2.42c-.23.27-.46.56-.68.87l-5.46-2.91a20.4,20.4,0,0,1,1.42-1.9A22.63,22.63,0,0,1,51,36.26a28.91,28.91,0,0,1,3.79-2.51A24.63,24.63,0,0,1,59,32a22,22,0,0,1,4.39-.88,21.63,21.63,0,0,1,4.55,0c.1,0,.19.05.25,0a23.26,23.26,0,0,1,4.35.84,26.43,26.43,0,0,1,4.39,1.79l0,0Zm-37.89,24h0v.1h0l0,0V58h0v.21h0v.11h0v.11h0v.34h0V59h0v.12h0v.23h0v.13h0v.13h0V60h0v.13h0v.14h0v.25h0V79a1.68,1.68,0,1,1-3.35,0v-3.1h0a1.84,1.84,0,0,1-.25-.17L31.8,73.16l-4.34-3.57A6.52,6.52,0,0,0,26,68.66H24.87a2.57,2.57,0,0,0-1.45.06,1.46,1.46,0,0,0-.79.81h-.1a5.44,5.44,0,0,0-.2,2.11,8.87,8.87,0,0,0,.81,2.9A18.68,18.68,0,0,0,25.26,78s.07.1.1.16l12.7,20.76a1.68,1.68,0,0,1,.28.76h0a11.41,11.41,0,0,0,1.31,4.59H65a11,11,0,0,0,3.08-3.63.47.47,0,0,1,.06-.09c.36-.62.84-1.41,1.31-2.18a29.64,29.64,0,0,0,2.86-6.82v0l0-.06,0-.1,0-.06v0l0-.1,0-.07v0l0-.1.06-.2,0-.1h0l0-.09,0-.1v0l0-.07,0-.1v-.1l0-.1V90l0-.1,0-.09h0l0-.1,0-.1h0l0-.08,0-.1v0l0-.07,0-.1v-.1l0-.1,0-.07v0l0-.1,0-.08v0l0-.09,0-.1h0l0-.09,0-.1v-.1l0-.09v-.29l0-.1v-.1l0-.09v-.1h0v-.09l0-.1v-.84h0v-1l-.13-5.7a1.94,1.94,0,0,1,0-.24c0-.08,0-.62,0-1.34v-.18h0V76.84h0v-.19h0V75.36h0v-.19h0V74.1h0v-.17h0v-.18h0v-.19l0-.09v-.64l0-.08,0-.09,0-.09h0v-.09l0-.07h0l0-.09v-.08l0-.09V72a3.67,3.67,0,0,0-2.89-3H67.74c0,.47,0,.93,0,1.4h0v0h0v0h0v0h0v.1h0v0h0v.08h0V71h0v0h0v0h0v.1h0v0h0v0h0v0h0v.07h0v0h0v0h0v0h0v0h0v.05h0v0h0v0h0v0h0v0h0v.05h0v0h0v0h0v0h0v0h0v0h0v0h0v0h0v.05c-.06.93-.11,1.84-.11,2.7a1.68,1.68,0,0,1-3.36,0c0-.86.07-1.86.13-2.9v-.33h0v-.17h0v-.15h0v-.33h0v-.17h0v-.15h0v-.17h0V70.2h0v-.34h0v-.33h0V69.2h0V69c0-2.52-.45-4.71-2.48-5.08H59.7a1.37,1.37,0,0,1-.36,0c0,.94,0,1.92-.08,2.87v1c-.06.93-.11,1.83-.11,2.69a1.68,1.68,0,1,1-3.36,0c0-.86.07-1.86.13-2.9v-.17h0v-.15h0v-.16h0v-.17h0v-.17h0v-.17h0v-.32h0v-.16h0v-.17h0v-.14h0v-.17h0v-.17h0v-.07c.08-2.84-.23-5.46-2.47-5.87H51.29a1.49,1.49,0,0,1-.43-.06v6.49a1.68,1.68,0,0,1-3.36,0v-8.2c0-2.32-2.3-3.32-4.45-3.32a3.85,3.85,0,0,0-1.74.42,5,5,0,0,0-2.26,3ZM35.29,70l-1.58-.65a19.89,19.89,0,0,0-2.2-.75l2.41,2,1.37,1.12V70Z\" }));\nexport default SvgSkills;\n","import * as React from \"react\";\nconst SvgStorybook = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M16.71.243l-.12 2.71a.18.18 0 00.29.15l1.06-.8.9.7a.18.18 0 00.28-.14l-.1-2.76 1.33-.1a1.2 1.2 0 011.279 1.2v21.596a1.2 1.2 0 01-1.26 1.2l-16.096-.72a1.2 1.2 0 01-1.15-1.16l-.75-19.797a1.2 1.2 0 011.13-1.27L16.7.222zM13.64 9.3c0 .47 3.16.24 3.59-.08 0-3.2-1.72-4.89-4.859-4.89-3.15 0-4.899 1.72-4.899 4.29 0 4.45 5.999 4.53 5.999 6.959 0 .7-.32 1.1-1.05 1.1-.96 0-1.35-.49-1.3-2.16 0-.36-3.649-.48-3.769 0-.27 4.03 2.23 5.2 5.099 5.2 2.79 0 4.969-1.49 4.969-4.18 0-4.77-6.099-4.64-6.099-6.999 0-.97.72-1.1 1.13-1.1.45 0 1.25.07 1.19 1.87z\" }));\nexport default SvgStorybook;\n","import * as React from \"react\";\nconst SvgTwitter = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M22.92 6c-.77.35-1.6.58-2.46.69.88-.53 1.56-1.37 1.88-2.38-.83.5-1.75.85-2.72 1.05C18.83 4.5 17.72 4 16.46 4c-2.35 0-4.27 1.92-4.27 4.29 0 .34.04.67.11.98-3.56-.18-6.73-1.89-8.84-4.48-.37.63-.58 1.37-.58 2.15 0 1.49.75 2.81 1.91 3.56-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.22 4.22 0 01-1.93.07 4.28 4.28 0 004 2.98 8.521 8.521 0 01-5.33 1.84c-.34 0-.68-.02-1.02-.06C3.9 20.29 6.16 21 8.58 21c7.88 0 12.21-6.54 12.21-12.21 0-.19 0-.37-.01-.56.84-.6 1.56-1.36 2.14-2.23z\" }));\nexport default SvgTwitter;\n","import { classes } from '../../utils/style';\nimport styles from './Icon.module.css';\nimport ArrowLeft from './svg/arrow-left.svg';\nimport ArrowRight from './svg/arrow-right.svg';\nimport Article from './svg/articles.svg';\nimport Check from './svg/check.svg';\nimport ChevronRight from './svg/chevron-right.svg';\nimport Close from './svg/close.svg';\nimport Company from './svg/company.svg';\nimport Copy from './svg/copy.svg';\nimport Download from './svg/download.svg';\nimport Error from './svg/error.svg';\nimport Figma from './svg/figma.svg';\nimport Github from './svg/github.svg';\nimport Link from './svg/link.svg';\nimport Linkedin from './svg/linkedin.svg';\nimport Menu from './svg/menu.svg';\nimport Pause from './svg/pause.svg';\nimport Play from './svg/play.svg';\nimport Send from './svg/send.svg';\nimport Skills from './svg/skills.svg';\nimport Storybook from './svg/storybook.svg';\nimport Twitter from './svg/twitter.svg';\n\nexport const icons = {\n arrowLeft: ArrowLeft,\n arrowRight: ArrowRight,\n articles: Article,\n company: Company,\n check: Check,\n chevronRight: ChevronRight,\n close: Close,\n copy: Copy,\n download: Download,\n error: Error,\n figma: Figma,\n github: Github,\n link: Link,\n linkedin: Linkedin,\n menu: Menu,\n pause: Pause,\n play: Play,\n send: Send,\n skills: Skills,\n storybook: Storybook,\n twitter: Twitter,\n};\n\nexport type IconName = keyof typeof icons;\n\nexport interface IconProps {\n icon: IconName;\n className?: string;\n [key: string]: unknown;\n}\n\nexport const Icon = ({ icon, className, ...rest }: IconProps) => {\n const IconComponent = icons[icon];\n\n return (\n <IconComponent aria-hidden className={classes(styles.icon, className)} {...rest} />\n );\n};\n","import {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useRef,\n useState,\n} from 'react';\nimport type { KeyboardEvent, ReactNode, RefObject } from 'react';\nimport { VisuallyHidden } from '../VisuallyHidden';\nimport { cssProps } from '../../utils/style';\nimport styles from './SegmentedControl.module.css';\n\ninterface SegmentedControlContextValue {\n optionRefs: { current: RefObject<HTMLButtonElement>[] };\n currentIndex: number;\n onChange: (index: number) => void;\n registerOption: (optionRef: RefObject<HTMLButtonElement>) => void;\n unRegisterOption: (optionRef: RefObject<HTMLButtonElement>) => void;\n}\n\nconst SegmentedControlContext = createContext<SegmentedControlContextValue>(\n {} as SegmentedControlContextValue\n);\n\ninterface SegmentedControlProps {\n children: ReactNode;\n currentIndex: number;\n onChange: (index: number) => void;\n label: string;\n [key: string]: unknown;\n}\n\nexport const SegmentedControl = ({\n children,\n currentIndex,\n onChange,\n label,\n ...props\n}: SegmentedControlProps) => {\n const id = useId();\n const labelId = `${id}segmented-control-label`;\n const optionRefs = useRef<RefObject<HTMLButtonElement>[]>([]);\n const [indicator, setIndicator] = useState<{ width?: number; left?: number }>();\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const { length } = optionRefs.current;\n const prevIndex = (currentIndex - 1 + length) % length;\n const nextIndex = (currentIndex + 1) % length;\n\n if (['ArrowLeft', 'ArrowUp'].includes(event.key)) {\n onChange(prevIndex);\n optionRefs.current[prevIndex].current?.focus();\n } else if (['ArrowRight', 'ArrowDown'].includes(event.key)) {\n onChange(nextIndex);\n optionRefs.current[nextIndex].current?.focus();\n }\n };\n\n const registerOption = useCallback((optionRef: RefObject<HTMLButtonElement>) => {\n optionRefs.current = [...optionRefs.current, optionRef];\n }, []);\n\n const unRegisterOption = useCallback((optionRef: RefObject<HTMLButtonElement>) => {\n optionRefs.current = optionRefs.current.filter(ref => ref !== optionRef);\n }, []);\n\n useEffect(() => {\n const currentOption = optionRefs.current[currentIndex]?.current;\n if (!currentOption) return;\n\n const resizeObserver = new ResizeObserver(() => {\n const rect = currentOption.getBoundingClientRect();\n const left = currentOption.offsetLeft;\n setIndicator({ width: rect.width, left });\n });\n\n resizeObserver.observe(currentOption);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [currentIndex]);\n\n return (\n <SegmentedControlContext.Provider\n value={{ optionRefs, currentIndex, onChange, registerOption, unRegisterOption }}\n >\n <div\n className={styles.container}\n role=\"radiogroup\"\n aria-labelledby={labelId}\n onKeyDown={handleKeyDown}\n {...props}\n >\n <VisuallyHidden as=\"label\" id={labelId}>\n {label}\n </VisuallyHidden>\n <div className={styles.options}>\n {!!indicator && (\n <div\n className={styles.indicator}\n // Options register themselves into this ref on mount; length is\n // correct by the time this re-renders after registration settles.\n // eslint-disable-next-line react-hooks/refs\n data-last={currentIndex === optionRefs.current.length - 1}\n style={cssProps(indicator)}\n />\n )}\n {children}\n </div>\n </div>\n </SegmentedControlContext.Provider>\n );\n};\n\ninterface SegmentedControlOptionProps {\n children: ReactNode;\n [key: string]: unknown;\n}\n\nexport const SegmentedControlOption = ({ children, ...props }: SegmentedControlOptionProps) => {\n const { optionRefs, currentIndex, onChange, registerOption, unRegisterOption } =\n useContext(SegmentedControlContext);\n const optionRef = useRef<HTMLButtonElement>(null);\n // Same as above: the parent's ref collection settles by the time this\n // re-renders after this option registers itself on mount.\n // eslint-disable-next-line react-hooks/refs\n const index = optionRefs.current.indexOf(optionRef as RefObject<HTMLButtonElement>);\n const isSelected = currentIndex === index;\n\n useEffect(() => {\n registerOption(optionRef as RefObject<HTMLButtonElement>);\n\n return () => {\n unRegisterOption(optionRef as RefObject<HTMLButtonElement>);\n };\n }, [registerOption, unRegisterOption]);\n\n return (\n <button\n className={styles.button}\n tabIndex={isSelected ? 0 : -1}\n role=\"radio\"\n aria-checked={isSelected}\n onClick={() => onChange(index)}\n ref={optionRef}\n {...props}\n >\n {children}\n </button>\n );\n};\n","import { useEffect, useRef, useState } from 'react';\nimport type { ChangeEvent, TextareaHTMLAttributes } from 'react';\nimport { classes, cssProps } from '../../utils/style';\nimport styles from './TextArea.module.css';\n\ninterface TextAreaDimensions {\n lineHeight: number;\n paddingHeight: number;\n}\n\ninterface TextAreaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'onChange'> {\n className?: string;\n resize?: string;\n value?: string;\n onChange: (event: ChangeEvent<HTMLTextAreaElement>) => void;\n minRows?: number;\n maxRows?: number;\n}\n\nexport const TextArea = ({\n className,\n resize = 'none',\n value,\n onChange,\n minRows = 1,\n maxRows,\n ...rest\n}: TextAreaProps) => {\n const [rows, setRows] = useState(minRows);\n const [textareaDimensions, setTextareaDimensions] = useState<TextAreaDimensions>();\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n\n useEffect(() => {\n const style = getComputedStyle(textareaRef.current!);\n const lineHeight = parseInt(style.lineHeight, 10);\n const paddingHeight =\n parseInt(style.paddingTop, 10) + parseInt(style.paddingBottom, 10);\n setTextareaDimensions({ lineHeight, paddingHeight });\n }, []);\n\n const handleChange = (event: ChangeEvent<HTMLTextAreaElement>) => {\n onChange(event);\n\n const { lineHeight, paddingHeight } = textareaDimensions!;\n const previousRows = event.target.rows;\n event.target.rows = minRows;\n\n const currentRows = ~~((event.target.scrollHeight - paddingHeight) / lineHeight);\n\n if (currentRows === previousRows) {\n event.target.rows = currentRows;\n }\n\n if (maxRows && currentRows >= maxRows) {\n event.target.rows = maxRows;\n event.target.scrollTop = event.target.scrollHeight;\n }\n\n setRows(maxRows && currentRows > maxRows ? maxRows : currentRows);\n };\n\n return (\n <textarea\n className={classes(styles.textarea, className)}\n ref={textareaRef}\n onChange={handleChange}\n style={cssProps({ resize })}\n rows={rows}\n value={value}\n {...rest}\n />\n );\n};\n","import React, { useId, useRef, useState } from 'react';\nimport type { ChangeEvent, ElementType, FocusEvent } from 'react';\nimport { Icon } from '../Icon';\nimport { tokens } from '../ThemeProvider';\nimport { Transition } from '../Transition';\nimport { classes, cssProps, msToNum } from '../../utils/style';\nimport styles from './Input.module.css';\nimport { TextArea } from './TextArea';\n\nexport interface InputProps {\n id?: string;\n label?: string;\n value?: string;\n multiline?: boolean;\n className?: string;\n style?: React.CSSProperties;\n error?: string | null;\n onBlur?: (event: FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void;\n autoComplete?: string;\n required?: boolean;\n maxLength?: number;\n type?: string;\n placeholder?: string;\n /** Multiline only: cap the auto-grow at this many rows, then scroll inside. */\n maxRows?: number;\n onChange?: (event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;\n [key: string]: unknown;\n}\n\nexport const Input = ({\n id,\n label,\n value,\n multiline,\n className,\n style,\n error,\n onBlur,\n autoComplete,\n required,\n maxLength,\n type,\n placeholder,\n maxRows,\n onChange,\n ...rest\n}: InputProps) => {\n const [focused, setFocused] = useState(false);\n const generatedId = useId();\n const errorRef = useRef<HTMLDivElement>(null);\n const inputId = id || `${generatedId}input`;\n const labelId = `${inputId}-label`;\n const errorId = `${inputId}-error`;\n const InputElement = (multiline ? TextArea : 'input') as ElementType;\n\n const handleBlur = (event: FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n setFocused(false);\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n return (\n <div\n className={classes(styles.container, className)}\n data-error={!!error}\n data-multiline={!!multiline}\n style={style}\n {...rest}\n >\n <div className={styles.content}>\n <label\n className={styles.label}\n data-focused={focused}\n data-filled={!!value}\n data-placeholder={!!placeholder}\n id={labelId}\n htmlFor={inputId}\n >\n {label}\n </label>\n <InputElement\n className={styles.input}\n id={inputId}\n aria-labelledby={labelId}\n aria-describedby={error ? errorId : undefined}\n onFocus={() => setFocused(true)}\n onBlur={handleBlur}\n value={value}\n onChange={onChange}\n autoComplete={autoComplete}\n required={required}\n maxLength={maxLength}\n type={type}\n placeholder={placeholder}\n {...(multiline ? { maxRows } : {})}\n />\n <div className={styles.underline} data-focused={focused} />\n </div>\n <Transition unmount in={!!error} timeout={msToNum(tokens.base.durationM)}>\n {(visible: boolean) => (\n <div\n className={styles.error}\n data-visible={visible}\n id={errorId}\n role=\"alert\"\n style={cssProps({\n height: visible ? errorRef.current?.getBoundingClientRect().height ?? 0 : 0,\n })}\n >\n <div className={styles.errorMessage} ref={errorRef}>\n <Icon icon=\"error\" />\n {error}\n </div>\n </div>\n )}\n </Transition>\n </div>\n );\n};\n","import { forwardRef, type ReactNode, type ComponentPropsWithoutRef } from 'react';\nimport { useLinkComponent, type LinkComponent } from '../LinkProvider';\nimport { classes } from '../../utils/style';\nimport styles from './Link.module.css';\n\nconst VALID_EXT = ['txt', 'png', 'jpg'];\n\nfunction isAnchor(href?: string): boolean {\n const isValidExtension = VALID_EXT.includes(href?.split('.').pop() ?? '');\n return !!href?.includes('://') || href?.[0] === '#' || isValidExtension;\n}\n\ninterface LinkProps extends ComponentPropsWithoutRef<'a'> {\n secondary?: boolean;\n children?: ReactNode;\n /** Overrides the LinkProvider-supplied component for this instance only. */\n linkComponent?: LinkComponent;\n}\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(\n ({ rel, target, children, secondary, className, href, linkComponent, ...rest }, ref) => {\n const ContextLink = useLinkComponent();\n const RouterLink = linkComponent ?? ContextLink;\n const isExternal = href?.includes('://');\n const relValue = rel || (isExternal ? 'noreferrer noopener' : undefined);\n const targetValue = target || (isExternal ? '_blank' : undefined);\n const linkProps = {\n className: classes(styles.link, className),\n 'data-secondary': secondary,\n rel: relValue,\n href,\n target: targetValue,\n ref,\n ...rest,\n };\n\n if (isAnchor(href)) {\n return <a {...linkProps}>{children}</a>;\n }\n\n return (\n <RouterLink {...linkProps} href={href ?? ''}>\n {children}\n </RouterLink>\n );\n }\n);\n","import { forwardRef, type ComponentPropsWithoutRef, type ElementType, type ReactNode } from 'react';\nimport { Icon } from '../Icon';\nimport { useLinkComponent, type LinkComponent } from '../LinkProvider';\nimport { Loader } from '../Loader';\nimport { Transition } from '../Transition';\nimport type { icons } from '../Icon';\nimport { classes } from '../../utils/style';\nimport styles from './Button.module.css';\n\nfunction isExternalLink(href?: string): boolean {\n return !!href?.includes('://');\n}\n\nexport interface ButtonProps extends ComponentPropsWithoutRef<'button'> {\n href?: string;\n as?: ElementType;\n secondary?: boolean;\n loading?: boolean;\n loadingText?: string;\n icon?: keyof typeof icons;\n iconEnd?: keyof typeof icons;\n iconHoverShift?: boolean;\n iconOnly?: boolean;\n children?: ReactNode;\n rel?: string;\n target?: string;\n disabled?: boolean;\n download?: string;\n /** Overrides the LinkProvider-supplied component for this instance only. */\n linkComponent?: LinkComponent;\n}\n\nexport const Button = forwardRef<HTMLElement, ButtonProps>(\n ({ href, linkComponent, ...rest }, ref) => {\n const ContextLink = useLinkComponent();\n const RouterLink = linkComponent ?? ContextLink;\n\n if (isExternalLink(href) || !href) {\n return <ButtonContent href={href} ref={ref} {...rest} />;\n }\n\n return <ButtonContent as={RouterLink} href={href} ref={ref} {...rest} />;\n }\n);\n\nconst ButtonContent = forwardRef<HTMLElement, ButtonProps>(\n (\n {\n className,\n as,\n secondary,\n loading,\n loadingText = 'loading',\n icon,\n iconEnd,\n iconHoverShift,\n iconOnly,\n children,\n rel,\n target,\n href,\n disabled,\n ...rest\n },\n ref\n ) => {\n const isExternal = isExternalLink(href);\n const defaultComponent = href ? 'a' : 'button';\n const Component = as || defaultComponent;\n\n return (\n <Component\n className={classes(styles.button, className)}\n data-loading={loading}\n data-icon-only={iconOnly}\n data-secondary={secondary}\n data-icon={icon}\n href={href}\n rel={rel || isExternal ? 'noopener noreferrer' : undefined}\n target={target || isExternal ? '_blank' : undefined}\n disabled={disabled}\n ref={ref}\n {...rest}\n >\n {!!icon && (\n <Icon\n className={styles.icon}\n data-start={!iconOnly}\n data-shift={iconHoverShift}\n icon={icon}\n />\n )}\n {!!children && <span className={styles.text}>{children}</span>}\n {!!iconEnd && (\n <Icon\n className={styles.icon}\n data-end={!iconOnly}\n data-shift={iconHoverShift}\n icon={iconEnd}\n />\n )}\n <Transition unmount in={loading}>\n {(visible: boolean) => (\n <Loader\n className={styles.loader}\n size={32}\n text={loadingText}\n data-visible={visible}\n />\n )}\n </Transition>\n </Component>\n );\n }\n);\n","import { Icon } from '../Icon';\nimport { Link } from '../Link';\nimport { classes } from '../../utils/style';\nimport styles from './Breadcrumbs.module.css';\n\nexport interface BreadcrumbItem {\n label: string;\n href: string;\n}\n\ninterface BreadcrumbsProps {\n items: BreadcrumbItem[];\n className?: string;\n}\n\nexport const Breadcrumbs = ({ items, className }: BreadcrumbsProps) => {\n return (\n <nav aria-label=\"Breadcrumb\" className={classes(styles.breadcrumbs, className)}>\n <ol className={styles.list}>\n {items.map((item, index) => {\n const isLast = index === items.length - 1;\n\n return (\n <li key={item.href} className={styles.item}>\n {index > 0 && (\n <Icon\n className={styles.separator}\n icon=\"chevronRight\"\n aria-hidden=\"true\"\n />\n )}\n {isLast ? (\n <span className={styles.current} aria-current=\"page\">\n {item.label}\n </span>\n ) : (\n <Link className={styles.link} href={item.href}>\n {item.label}\n </Link>\n )}\n </li>\n );\n })}\n </ol>\n </nav>\n );\n};\n","export async function delay(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n","import { VisuallyHidden } from '../VisuallyHidden';\nimport { useReducedMotion, useSpring } from 'framer-motion';\nimport { memo, useEffect, useRef } from 'react';\nimport { delay } from '../../utils/delay';\nimport { classes } from '../../utils/style';\nimport styles from './ScrambleReveal.module.css';\n\n// Standalone-renderable Devanagari only — no matras/conjuncts (they render\n// broken with a dotted-circle placeholder when shown in isolation).\n// prettier-ignore\nconst glyphs = [\n // Independent vowels\n 'अ', 'आ', 'इ', 'ई', 'उ',\n 'ऊ', 'ऋ', 'ए', 'ऐ', 'ओ', 'औ',\n // Consonants\n 'क', 'ख', 'ग', 'घ', 'ङ',\n 'च', 'छ', 'ज', 'झ', 'ञ',\n 'ट', 'ठ', 'ड', 'ढ', 'ण',\n 'त', 'थ', 'द', 'ध', 'न',\n 'प', 'फ', 'ब', 'भ', 'म',\n 'य', 'र', 'ल', 'व', 'श',\n 'ष', 'स', 'ह', 'ळ',\n // Devanagari digits\n '०', '१', '२', '३', '४',\n '५', '६', '७', '८', '९',\n];\n\nconst CharType = {\n Glyph: 'glyph',\n Value: 'value',\n} as const;\n\ninterface CharItem {\n type: (typeof CharType)[keyof typeof CharType];\n value: string;\n}\n\nfunction shuffle(content: string[], output: CharItem[], position: number): CharItem[] {\n return content.map((value, index) => {\n if (index < position) {\n return { type: CharType.Value, value };\n }\n\n if (position % 1 < 0.5) {\n const rand = Math.floor(Math.random() * glyphs.length);\n return { type: CharType.Glyph, value: glyphs[rand] };\n }\n\n return { type: CharType.Glyph, value: output[index].value };\n });\n}\n\ninterface ScrambleRevealProps {\n text: string;\n start?: boolean;\n delay?: number;\n className?: string;\n [key: string]: unknown;\n}\n\nexport const ScrambleReveal = memo(\n ({ text, start = true, delay: startDelay = 0, className, ...rest }: ScrambleRevealProps) => {\n const output = useRef<CharItem[]>([{ type: CharType.Glyph, value: '' }]);\n const container = useRef<HTMLSpanElement>(null);\n const reduceMotion = useReducedMotion();\n const decoderSpring = useSpring(0, { stiffness: 8, damping: 5 });\n\n useEffect(() => {\n const containerInstance = container.current;\n const content = text.split('');\n let animation: number | undefined;\n\n const renderOutput = () => {\n const characterMap = output.current.map(item => {\n return `<span class=\"${styles[item.type]}\">${item.value}</span>`;\n });\n\n if (containerInstance) {\n containerInstance.innerHTML = characterMap.join('');\n }\n };\n\n const unsubscribeSpring = decoderSpring.on('change', (value: number) => {\n output.current = shuffle(content, output.current, value);\n renderOutput();\n });\n\n const startSpring = async () => {\n await delay(startDelay);\n decoderSpring.set(content.length);\n };\n\n if (start && !animation && !reduceMotion) {\n startSpring();\n }\n\n if (reduceMotion) {\n output.current = content.map((value, index) => ({\n type: CharType.Value,\n value: content[index],\n }));\n renderOutput();\n }\n\n return () => {\n unsubscribeSpring?.();\n };\n }, [decoderSpring, reduceMotion, start, startDelay, text]);\n\n return (\n <span className={classes(styles.text, className)} {...rest}>\n <VisuallyHidden className={styles.label}>{text}</VisuallyHidden>\n <span aria-hidden className={styles.content} ref={container} />\n </span>\n );\n }\n);\n","import { Button } from '../Button';\nimport { Icon } from '../Icon';\nimport { useTheme } from '../ThemeProvider';\nimport { useReducedMotion } from 'framer-motion';\nimport { useHasMounted } from '../../hooks/useHasMounted';\nimport { useInViewport } from '../../hooks/useInViewport';\nimport { Fragment, useCallback, useEffect, useRef, useState } from 'react';\nimport type { CSSProperties, HTMLAttributes, ReactEventHandler, VideoHTMLAttributes } from 'react';\nimport { resolveSrcFromSrcSet, srcSetToString } from '../../utils/image';\nimport { classes, cssProps, numToMs } from '../../utils/style';\nimport styles from './Image.module.css';\n\ninterface ImageSrc {\n src: string;\n width?: number;\n height?: number;\n}\n\ninterface SrcSetItem {\n src: string;\n width: number;\n}\n\ninterface ImageProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n style?: CSSProperties;\n reveal?: boolean;\n delay?: number;\n raised?: boolean;\n src?: ImageSrc;\n srcSet?: SrcSetItem[];\n placeholder?: ImageSrc;\n alt?: string;\n play?: boolean;\n restartOnPause?: boolean;\n sizes?: string;\n noPauseButton?: boolean;\n}\n\nexport const Image = ({\n className,\n style,\n reveal,\n delay = 0,\n raised,\n src: baseSrc,\n srcSet,\n placeholder,\n ...rest\n}: ImageProps) => {\n const [loaded, setLoaded] = useState(false);\n const { themeId } = useTheme();\n const containerRef = useRef<HTMLDivElement>(null);\n const src = baseSrc || srcSet?.[0];\n const inViewport = useInViewport(containerRef, !getIsVideo(src));\n\n const onLoad = useCallback(() => {\n setLoaded(true);\n }, []);\n\n return (\n <div\n className={classes(styles.image, className)}\n data-visible={inViewport || loaded}\n data-reveal={reveal}\n data-raised={raised}\n data-theme={themeId}\n style={cssProps({ delay: numToMs(delay) }, style)}\n ref={containerRef}\n >\n <ImageElements\n delay={delay}\n onLoad={onLoad}\n loaded={loaded}\n inViewport={inViewport}\n reveal={reveal}\n src={src}\n srcSet={srcSet}\n placeholder={placeholder}\n {...rest}\n />\n </div>\n );\n};\n\ninterface ImageElementsProps {\n onLoad: ReactEventHandler;\n loaded: boolean;\n inViewport: boolean;\n srcSet?: SrcSetItem[];\n placeholder?: ImageSrc;\n delay: number;\n src?: ImageSrc | SrcSetItem;\n alt?: string;\n play?: boolean;\n restartOnPause?: boolean;\n reveal?: boolean;\n sizes?: string;\n noPauseButton?: boolean;\n [key: string]: unknown;\n}\n\nconst ImageElements = ({\n onLoad,\n loaded,\n inViewport,\n srcSet,\n placeholder,\n delay,\n src,\n alt,\n play = true,\n restartOnPause,\n reveal,\n sizes,\n noPauseButton,\n ...rest\n}: ImageElementsProps) => {\n const reduceMotion = useReducedMotion();\n const [showPlaceholder, setShowPlaceholder] = useState(true);\n const [playing, setPlaying] = useState(!reduceMotion);\n const [videoSrc, setVideoSrc] = useState<string>();\n const [videoInteracted, setVideoInteracted] = useState(false);\n const placeholderRef = useRef<HTMLImageElement>(null);\n const videoRef = useRef<HTMLVideoElement>(null);\n const isVideo = getIsVideo(src);\n const showFullRes = inViewport;\n const srcSetString = srcSetToString(srcSet);\n const hasMounted = useHasMounted();\n\n useEffect(() => {\n const resolveVideoSrc = async () => {\n const resolvedVideoSrc = await resolveSrcFromSrcSet({ srcSet, sizes });\n setVideoSrc(resolvedVideoSrc);\n };\n\n if (isVideo && srcSet) {\n resolveVideoSrc();\n } else if (isVideo) {\n // Sync counterpart to the async branch above; kept in the same effect\n // so `videoSrc` always resolves the same way regardless of source shape.\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setVideoSrc((src as ImageSrc).src);\n }\n }, [isVideo, sizes, src, srcSet]);\n\n useEffect(() => {\n if (!videoRef.current || !videoSrc) return;\n\n const playVideo = () => {\n setPlaying(true);\n videoRef.current!.play();\n };\n\n const pauseVideo = () => {\n setPlaying(false);\n videoRef.current!.pause();\n };\n\n if (!play) {\n pauseVideo();\n\n if (restartOnPause) {\n videoRef.current.currentTime = 0;\n }\n }\n\n if (videoInteracted) return;\n\n if (!inViewport) {\n pauseVideo();\n } else if (inViewport && !reduceMotion && play) {\n playVideo();\n }\n }, [inViewport, play, reduceMotion, restartOnPause, videoInteracted, videoSrc]);\n\n const togglePlaying = (event: React.MouseEvent) => {\n event.preventDefault();\n\n setVideoInteracted(true);\n\n if (videoRef.current!.paused) {\n setPlaying(true);\n videoRef.current!.play();\n } else {\n setPlaying(false);\n videoRef.current!.pause();\n }\n };\n\n return (\n <div\n className={styles.elementWrapper}\n data-reveal={reveal}\n data-visible={inViewport || loaded}\n style={cssProps({ delay: numToMs(delay + 1000) })}\n >\n {isVideo && hasMounted && (\n <Fragment>\n <video\n muted\n loop\n playsInline\n className={styles.element}\n data-loaded={loaded}\n autoPlay={!reduceMotion}\n role=\"img\"\n onLoadStart={onLoad as ReactEventHandler<HTMLVideoElement>}\n src={videoSrc}\n aria-label={alt}\n ref={videoRef}\n {...(rest as VideoHTMLAttributes<HTMLVideoElement>)}\n />\n {!noPauseButton && (\n <Button className={styles.button} onClick={togglePlaying}>\n <Icon icon={playing ? 'pause' : 'play'} />\n {playing ? 'Pause' : 'Play'}\n </Button>\n )}\n </Fragment>\n )}\n {!isVideo && (\n <img\n className={styles.element}\n data-loaded={loaded}\n onLoad={onLoad}\n decoding=\"async\"\n src={showFullRes ? (src as ImageSrc)?.src : undefined}\n srcSet={showFullRes ? srcSetString : undefined}\n width={(src as ImageSrc)?.width}\n height={(src as ImageSrc)?.height}\n alt={alt}\n sizes={sizes}\n {...(rest as React.ImgHTMLAttributes<HTMLImageElement>)}\n />\n )}\n {showPlaceholder && placeholder && (\n <img\n aria-hidden\n className={styles.placeholder}\n data-loaded={loaded}\n style={cssProps({ delay: numToMs(delay) })}\n ref={placeholderRef}\n src={placeholder.src}\n width={placeholder.width}\n height={placeholder.height}\n onTransitionEnd={() => setShowPlaceholder(false)}\n decoding=\"async\"\n alt=\"\"\n role=\"presentation\"\n />\n )}\n </div>\n );\n};\n\nfunction getIsVideo(src?: ImageSrc | SrcSetItem): boolean {\n if (!src) return false;\n return typeof (src as ImageSrc).src === 'string' && (src as ImageSrc).src.endsWith('.mp4');\n}\n","import { forwardRef, useId, type SVGProps } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './Wordmark.module.css';\n\nexport interface WordmarkProps extends SVGProps<SVGSVGElement> {\n highlight?: boolean;\n}\n\nexport const Wordmark = forwardRef<SVGSVGElement, WordmarkProps>(\n ({ highlight, className, ...props }, ref) => {\n const id = useId();\n const clipId = `${id}wordmark-clip`;\n\n return (\n <svg\n aria-hidden\n className={classes(styles.wordmark, className)}\n width=\"46\"\n height=\"29\"\n viewBox=\"0 0 46 29\"\n ref={ref}\n {...props}\n >\n <defs>\n <clipPath id={clipId}>\n <path\n d=\"M 10.3281 17.7888 l 4.4875 -11.4688 l 0.0019 -0.0006 l 6.075 11.5263 a 0.5238 0.5238 90 0 0 0.9525 -0.0581 l 2.1187 -5.515 a 0.5288 0.5288 90 0 0 -0.025 -0.4288 L 18.9419 2.2531 A 4.1863 4.1863 90 0 0 15.2294 0 h -2.875 a 0.525 0.525 90 0 0 -0.4625 0.7688 l 2.2687 4.3044 l -2.2844 5.7188 l -4.45 -8.5388 A 4.1863 4.1863 90 0 0 3.7138 0 h -2.875 a 0.5262 0.5262 90 0 0 -0.4675 0.7688 L 9.375 17.8462 a 0.5244 0.5244 90 0 0 0.9525 -0.0575 z M 26.495 5.5037 a 0.5219 0.5219 90 0 0 0.2419 -0.2787 v 0.0006 l 1.6687 -4.5188 a 0.5238 0.5238 90 0 0 -0.4906 -0.7056 h -4.1113 a 0.5231 0.5231 90 0 0 -0.46 0.7737 l 2.4419 4.5163 c 0.1375 0.2562 0.4556 0.35 0.7094 0.2125 z M 39.375 0 l 0 18.125 L 34.375 18.125 l 0 -11.875 A 4.1863 4.1863 90 0 0 34.375 18.125 L 34.375 18.125 L 34.375 0 z z\"\n transform=\"rotate(180 23 15)\"\n />\n </clipPath>\n </defs>\n <rect clipPath={`url(#${clipId})`} width=\"100%\" height=\"100%\" />\n {highlight && (\n <g clipPath={`url(#${clipId})`}>\n <rect className={styles.highlight} width=\"100%\" height=\"100%\" />\n </g>\n )}\n </svg>\n );\n }\n);\n"],"names":["Text","children","size","Component","align","weight","secondary","className","rest","jsx","classes","styles","Heading","level","as","clampedLevel","Fragment","Section","forwardRef","ref","List","ordered","ListItem","Divider","lineWidth","lineHeight","notchWidth","notchHeight","collapseDelay","collapsed","notch","light","style","jsxs","cssProps","numToMs","Table","TableRow","TableHead","TableBody","TableHeadCell","TableCell","VisuallyHidden","showOnFocus","visible","Transition","timeout","onEnter","onEntered","onExit","onExited","show","unmount","enterTimeout","useRef","exitTimeout","useEffect","AnimatePresence","TransitionContent","status","setStatus","useState","isPresent","safeToRemove","usePresence","hasEntered","setHasEntered","splitTimeout","actualTimeout","Loader","text","reduceMotion","useReducedMotion","hasMounted","useHasMounted","portalContainer","useRefractConfig","renderScreenReaderTextPortal","container","createPortal","gapSize","spanSize","SvgArrowLeft","props","React","SvgArrowRight","SvgArticles","SvgCheck","SvgChevronRight","SvgClose","SvgCompany","SvgCopy","SvgDownload","SvgError","SvgFigma","SvgGithub","SvgLink","SvgLinkedin","SvgMenu","SvgPause","SvgPlay","SvgSend","SvgSkills","SvgStorybook","SvgTwitter","icons","ArrowLeft","ArrowRight","Article","Company","Check","ChevronRight","Close","Copy","Download","Error","Figma","Github","Link","Linkedin","Menu","Pause","Play","Send","Skills","Storybook","Twitter","Icon","icon","IconComponent","SegmentedControlContext","createContext","SegmentedControl","currentIndex","onChange","label","labelId","useId","optionRefs","indicator","setIndicator","handleKeyDown","event","length","prevIndex","nextIndex","_a","_b","registerOption","useCallback","optionRef","unRegisterOption","currentOption","resizeObserver","rect","left","SegmentedControlOption","useContext","index","isSelected","TextArea","resize","value","minRows","maxRows","rows","setRows","textareaDimensions","setTextareaDimensions","textareaRef","paddingHeight","handleChange","previousRows","currentRows","Input","id","multiline","error","onBlur","autoComplete","required","maxLength","type","placeholder","focused","setFocused","generatedId","errorRef","inputId","errorId","InputElement","handleBlur","msToNum","tokens","VALID_EXT","isAnchor","href","isValidExtension","rel","target","linkComponent","ContextLink","useLinkComponent","RouterLink","isExternal","relValue","targetValue","linkProps","isExternalLink","Button","ButtonContent","loading","loadingText","iconEnd","iconHoverShift","iconOnly","disabled","Breadcrumbs","items","item","isLast","delay","ms","resolve","glyphs","CharType","shuffle","content","output","position","rand","ScrambleReveal","memo","start","startDelay","decoderSpring","useSpring","containerInstance","renderOutput","characterMap","unsubscribeSpring","Image","reveal","raised","baseSrc","srcSet","loaded","setLoaded","themeId","useTheme","containerRef","src","inViewport","useInViewport","getIsVideo","onLoad","ImageElements","alt","play","restartOnPause","sizes","noPauseButton","showPlaceholder","setShowPlaceholder","playing","setPlaying","videoSrc","setVideoSrc","videoInteracted","setVideoInteracted","placeholderRef","videoRef","isVideo","showFullRes","srcSetString","srcSetToString","resolvedVideoSrc","resolveSrcFromSrcSet","playVideo","pauseVideo","togglePlaying","Wordmark","highlight","clipId"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/components/Text/Text.tsx","../src/components/Heading/Heading.tsx","../src/components/Section/Section.tsx","../src/components/List/List.tsx","../src/components/Divider/Divider.tsx","../src/components/Table/Table.tsx","../src/components/VisuallyHidden/VisuallyHidden.tsx","../src/components/Transition/Transition.tsx","../src/components/Loader/Loader.tsx","../src/components/Icon/svg/arrow-left.svg","../src/components/Icon/svg/arrow-right.svg","../src/components/Icon/svg/articles.svg","../src/components/Icon/svg/check.svg","../src/components/Icon/svg/chevron-right.svg","../src/components/Icon/svg/close.svg","../src/components/Icon/svg/company.svg","../src/components/Icon/svg/copy.svg","../src/components/Icon/svg/download.svg","../src/components/Icon/svg/error.svg","../src/components/Icon/svg/figma.svg","../src/components/Icon/svg/github.svg","../src/components/Icon/svg/link.svg","../src/components/Icon/svg/linkedin.svg","../src/components/Icon/svg/menu.svg","../src/components/Icon/svg/pause.svg","../src/components/Icon/svg/play.svg","../src/components/Icon/svg/send.svg","../src/components/Icon/svg/skills.svg","../src/components/Icon/svg/storybook.svg","../src/components/Icon/svg/twitter.svg","../src/components/Icon/Icon.tsx","../src/components/SegmentedControl/SegmentedControl.tsx","../src/components/Input/TextArea.tsx","../src/components/Input/Input.tsx","../src/components/Link/Link.tsx","../src/components/Button/Button.tsx","../src/components/Breadcrumbs/Breadcrumbs.tsx","../src/utils/delay.ts","../src/components/ScrambleReveal/ScrambleReveal.tsx","../src/components/Image/Image.tsx","../src/components/Wordmark/Wordmark.tsx"],"sourcesContent":["import { type ComponentPropsWithoutRef, type ElementType, type ReactNode } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './Text.module.css';\n\nexport interface TextProps extends ComponentPropsWithoutRef<'span'> {\n children?: ReactNode;\n size?: 's' | 'm' | 'l' | 'xl';\n as?: ElementType;\n align?: string;\n weight?: string;\n secondary?: boolean;\n}\n\nexport const Text = ({\n children,\n size = 'm',\n as: Component = 'span',\n align = 'auto',\n weight = 'auto',\n secondary,\n className,\n ...rest\n}: TextProps) => {\n return (\n <Component\n className={classes(styles.text, className)}\n data-align={align}\n data-size={size}\n data-weight={weight}\n data-secondary={secondary}\n {...rest}\n >\n {children}\n </Component>\n );\n};\n","import { Fragment, type ComponentPropsWithoutRef, type ElementType, type ReactNode } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './Heading.module.css';\n\nexport interface HeadingProps extends ComponentPropsWithoutRef<'h1'> {\n children?: ReactNode;\n level?: number;\n as?: ElementType;\n align?: string;\n weight?: string;\n}\n\nexport const Heading = ({\n children,\n level = 1,\n as,\n align = 'auto',\n weight = 'medium',\n className,\n ...rest\n}: HeadingProps) => {\n const clampedLevel = Math.min(Math.max(level, 0), 5);\n const Component = as || (`h${Math.max(clampedLevel, 1)}` as ElementType);\n\n return (\n <Fragment>\n <Component\n className={classes(styles.heading, className)}\n data-align={align}\n data-weight={weight}\n data-level={clampedLevel}\n {...rest}\n >\n {children}\n </Component>\n </Fragment>\n );\n};\n","import { forwardRef, type ElementType, type ReactNode, type Ref } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './Section.module.css';\n\ntype SectionProps = {\n as?: ElementType;\n children?: ReactNode;\n className?: string;\n} & Record<string, unknown>;\n\nexport const Section = forwardRef<HTMLElement | null, SectionProps>(\n ({ as: Component = 'div', children, className, ...rest }, ref) => {\n const Element = Component as ElementType;\n return (\n <Element\n className={classes(styles.section, className as string)}\n ref={ref as Ref<HTMLElement>}\n {...rest}\n >\n {children}\n </Element>\n );\n }\n);\n","import { type ReactNode, type ComponentPropsWithoutRef } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './List.module.css';\n\ninterface ListProps extends ComponentPropsWithoutRef<'ul'> {\n ordered?: boolean;\n children?: ReactNode;\n}\n\nexport const List = ({ ordered, children, className, ...rest }: ListProps) => {\n const Element = ordered ? 'ol' : 'ul';\n\n return (\n <Element className={classes(styles.list, className)} {...rest}>\n {children}\n </Element>\n );\n};\n\ninterface ListItemProps extends ComponentPropsWithoutRef<'li'> {\n children?: ReactNode;\n}\n\nexport const ListItem = ({ children, ...rest }: ListItemProps) => {\n return (\n <li className={styles.item} {...rest}>\n {children}\n </li>\n );\n};\n","import { type ComponentPropsWithoutRef } from 'react';\nimport { classes, cssProps, numToMs } from '../../utils/style';\nimport styles from './Divider.module.css';\n\nexport interface DividerProps extends ComponentPropsWithoutRef<'div'> {\n lineWidth?: string;\n lineHeight?: string;\n notchWidth?: string;\n notchHeight?: string;\n collapseDelay?: number;\n collapsed?: boolean;\n notch?: boolean;\n light?: boolean;\n}\n\nexport const Divider = ({\n lineWidth = '100%',\n lineHeight = '2px',\n notchWidth = '90px',\n notchHeight = '10px',\n collapseDelay = 0,\n collapsed = false,\n notch = true,\n light = false,\n className,\n style,\n ...rest\n}: DividerProps) => (\n <div\n className={classes(styles.divider, className)}\n data-light={light}\n style={cssProps(\n {\n lineWidth: lineWidth,\n lineHeight: lineHeight,\n notchWidth: notchWidth,\n notchHeight: notchHeight,\n collapseDelay: numToMs(collapseDelay),\n },\n style\n )}\n {...rest}\n >\n <div className={styles.line} data-collapsed={collapsed} />\n {notch && (\n <div\n className={styles.notch}\n data-collapsed={collapsed}\n style={cssProps({ collapseDelay: numToMs(collapseDelay + 160) })}\n />\n )}\n </div>\n);\n","import { type ReactNode } from 'react';\nimport styles from './Table.module.css';\n\ninterface TableChildProps {\n children?: ReactNode;\n}\n\nexport const Table = ({ children }: TableChildProps) => <table className={styles.table}>{children}</table>;\nexport const TableRow = ({ children }: TableChildProps) => <tr className={styles.row}>{children}</tr>;\nexport const TableHead = ({ children }: TableChildProps) => <thead className={styles.head}>{children}</thead>;\nexport const TableBody = ({ children }: TableChildProps) => <tbody className={styles.body}>{children}</tbody>;\nexport const TableHeadCell = ({ children }: TableChildProps) => <th className={styles.headCell}>{children}</th>;\nexport const TableCell = ({ children }: TableChildProps) => <td className={styles.cell}>{children}</td>;\n","import { forwardRef, type ComponentPropsWithoutRef, type ElementType, type ReactNode } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './VisuallyHidden.module.css';\n\nexport interface VisuallyHiddenProps extends ComponentPropsWithoutRef<'span'> {\n showOnFocus?: boolean;\n as?: ElementType;\n children?: ReactNode;\n visible?: boolean;\n href?: string;\n [key: string]: unknown;\n}\n\nexport const VisuallyHidden = forwardRef<HTMLElement, VisuallyHiddenProps>(\n ({ className, showOnFocus, as: Component = 'span', children, visible, ...rest }, ref) => {\n const Element = Component as ElementType;\n return (\n <Element\n className={classes(styles.hidden, className as string)}\n data-hidden={!visible && !showOnFocus}\n data-show-on-focus={showOnFocus}\n ref={ref}\n {...rest}\n >\n {children}\n </Element>\n );\n }\n);\n","import { AnimatePresence, usePresence } from 'framer-motion';\nimport { type MutableRefObject, type ReactNode, useEffect, useRef, useState } from 'react';\n\ntype TransitionTimeout = number | { enter: number; exit: number };\ntype TransitionStatus = 'entering' | 'entered' | 'exiting' | 'exited';\ntype TransitionRenderFn = (visible: boolean, status: TransitionStatus) => ReactNode;\n\ninterface TransitionProps {\n children: TransitionRenderFn;\n timeout?: TransitionTimeout;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n in?: boolean;\n unmount?: boolean;\n}\n\ninterface TransitionContentProps {\n children: TransitionRenderFn;\n timeout: TransitionTimeout;\n enterTimeout: MutableRefObject<ReturnType<typeof setTimeout> | undefined>;\n exitTimeout: MutableRefObject<ReturnType<typeof setTimeout> | undefined>;\n onEnter?: () => void;\n onEntered?: () => void;\n onExit?: () => void;\n onExited?: () => void;\n show?: boolean;\n}\n\nexport const Transition = ({\n children,\n timeout = 0,\n onEnter,\n onEntered,\n onExit,\n onExited,\n in: show,\n unmount,\n}: TransitionProps) => {\n const enterTimeout = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const exitTimeout = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n\n useEffect(() => {\n // Cancel a stale, opposite-direction timer left over from a rapid\n // show/hide flip — not the one TransitionContent's own effect just\n // scheduled for *this* direction (that ran first, since child effects\n // fire before parent effects, and clearing it here every time would\n // cancel every enter/exit before it ever gets to fire).\n if (show) {\n clearTimeout(exitTimeout.current);\n } else {\n clearTimeout(enterTimeout.current);\n }\n }, [show]);\n\n return (\n <AnimatePresence>\n {(show || !unmount) && (\n <TransitionContent\n timeout={timeout}\n enterTimeout={enterTimeout}\n exitTimeout={exitTimeout}\n onEnter={onEnter}\n onEntered={onEntered}\n onExit={onExit}\n onExited={onExited}\n show={show}\n >\n {children}\n </TransitionContent>\n )}\n </AnimatePresence>\n );\n};\n\nconst TransitionContent = ({\n children,\n timeout,\n enterTimeout,\n exitTimeout,\n onEnter,\n onEntered,\n onExit,\n onExited,\n show,\n}: TransitionContentProps) => {\n const [status, setStatus] = useState<TransitionStatus>('exited');\n const [isPresent, safeToRemove] = usePresence();\n const [hasEntered, setHasEntered] = useState(false);\n const splitTimeout = typeof timeout === 'object';\n\n useEffect(() => {\n if (hasEntered || !show) return;\n\n const actualTimeout = splitTimeout ? timeout.enter : timeout;\n\n clearTimeout(enterTimeout.current);\n clearTimeout(exitTimeout.current);\n\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setHasEntered(true);\n setStatus('entering');\n onEnter?.();\n\n // eslint-disable-next-line react-hooks/immutability\n enterTimeout.current = setTimeout(() => {\n setStatus('entered');\n onEntered?.();\n }, actualTimeout);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [onEnter, onEntered, timeout, status, show]);\n\n useEffect(() => {\n if (isPresent && show) return;\n\n const actualTimeout = splitTimeout ? timeout.exit : timeout;\n\n clearTimeout(enterTimeout.current);\n clearTimeout(exitTimeout.current);\n\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setStatus('exiting');\n onExit?.();\n\n // eslint-disable-next-line react-hooks/immutability\n exitTimeout.current = setTimeout(() => {\n setStatus('exited');\n safeToRemove?.();\n onExited?.();\n }, actualTimeout);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isPresent, onExit, safeToRemove, timeout, onExited, show]);\n\n return children(hasEntered && show ? isPresent : false, status);\n};\n","import { Text } from '../Text';\nimport { useRefractConfig } from '../RefractProvider';\nimport { VisuallyHidden } from '../VisuallyHidden';\nimport { useReducedMotion } from 'framer-motion';\nimport { useHasMounted } from '../../hooks/useHasMounted';\nimport { type ComponentPropsWithoutRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport { classes, cssProps } from '../../utils/style';\nimport styles from './Loader.module.css';\n\nexport interface LoaderProps extends ComponentPropsWithoutRef<'div'> {\n size?: number;\n text?: string;\n}\n\nexport const Loader = ({\n className,\n style,\n size = 32,\n text = 'Loading...',\n ...rest\n}: LoaderProps) => {\n const reduceMotion = useReducedMotion();\n const hasMounted = useHasMounted();\n const { portalContainer } = useRefractConfig();\n\n const renderScreenReaderTextPortal = () => {\n if (!hasMounted) return null;\n\n const container = portalContainer();\n if (!container) return null;\n\n return createPortal(\n <VisuallyHidden className=\"loader-announcement\" aria-live=\"assertive\">\n {text}\n </VisuallyHidden>,\n container\n );\n };\n\n if (reduceMotion) {\n return (\n <Text className={classes(styles.text, className)} weight=\"medium\" {...rest}>\n {text}\n {renderScreenReaderTextPortal()}\n </Text>\n );\n }\n\n const gapSize = Math.round((size / 3) * 0.2);\n const spanSize = Math.round(size / 3 - gapSize * 2 - 1);\n\n return (\n <div\n className={classes(styles.loader, className)}\n style={cssProps({ size, spanSize, gapSize }, style)}\n {...rest}\n >\n <div className={styles.content}>\n <div className={styles.span} />\n <div className={styles.span} />\n <div className={styles.span} />\n </div>\n {renderScreenReaderTextPortal()}\n </div>\n );\n};\n","import * as React from \"react\";\nconst SvgArrowLeft = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"m9.793 19.207-6.5-6.5L2.586 12l.707-.707 6.5-6.5 1.414 1.414L6.414 11H21v2H6.414l4.793 4.793-1.414 1.414Z\" }));\nexport default SvgArrowLeft;\n","import * as React from \"react\";\nconst SvgArrowRight = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M14.207 4.793l6.5 6.5.707.707-.707.707-6.5 6.5-1.414-1.414L17.586 13H3v-2h14.586l-4.793-4.793 1.414-1.414z\" }));\nexport default SvgArrowRight;\n","import * as React from \"react\";\nconst SvgArticles = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 128 128\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M35.34,16.5h72.75v30.73l-72.75,0V16.5L35.34,16.5z M23.42,91.7c-0.67,2.24-1.63,4.05-2.8,5.46l88.47,0l0.04,0 c3.19-0.18,5.57-1.03,7.16-2.54c1.56-1.48,2.43-3.69,2.62-6.62V3.97H24.36v80.06C24.36,87.43,24.4,88.42,23.42,91.7L23.42,91.7 L23.42,91.7z M13.15,101.13c-0.45,0.03-0.91,0.03-1.36,0.01c-1.82-0.11-3.61-0.67-5.23-1.62c-3.55-2.09-6.29-6.09-6.54-11.32 C0.01,88.12,0,88.03,0,87.95v-70.4c0-1.1,0.89-1.98,1.98-1.98l18.41,0V1.98c0-1.1,0.89-1.98,1.98-1.98l98.52,0 c1.1,0,1.98,0.89,1.98,1.98v86.07c0,0.11-0.01,0.21-0.02,0.31c-0.27,3.9-1.55,6.95-3.84,9.13c-2.28,2.17-5.5,3.38-9.67,3.62 c-0.08,0.01-0.17,0.02-0.26,0.02L13.15,101.13L13.15,101.13L13.15,101.13z M12.05,97.19c0.1-0.02,0.21-0.03,0.32-0.03h0.72 c0.79-0.08,1.56-0.3,2.28-0.68c4.41-2.31,5.02-7.95,5.02-12.42V19.53H3.97v68.41c0,0.02,0,0.05,0,0.07 c0.19,3.76,2.12,6.62,4.61,8.09c1.08,0.64,2.26,1.01,3.43,1.08L12.05,97.19L12.05,97.19L12.05,97.19z M40.87,24.15h3.9l5.07,8.52 v-8.52h3.94v15.42l-3.94,0l-5.04-8.47v8.47h-3.92V24.15L40.87,24.15z M57.21,24.15h11.17v3.3l-6.98,0v2.46l6.47,0v3.14H61.4v3.04 h7.19v3.49H57.21V24.15L57.21,24.15L57.21,24.15z M70.12,24.15h3.96l1.42,8.61l2.09-8.61h3.93l2.1,8.62l1.43-8.62H89l-2.98,15.42 l-4.09,0l-2.37-9.71l-2.36,9.71h-4.09L70.12,24.15L70.12,24.15L70.12,24.15z M90.31,34.48l3.96-0.28c0.08,0.73,0.26,1.29,0.52,1.67 c0.43,0.62,1.04,0.93,1.84,0.93c0.59,0,1.05-0.16,1.37-0.48c0.32-0.32,0.48-0.69,0.48-1.11c0-0.4-0.15-0.76-0.46-1.07 c-0.3-0.32-1.02-0.61-2.13-0.89c-1.83-0.47-3.13-1.09-3.91-1.87c-0.79-0.78-1.18-1.77-1.18-2.97c0-0.79,0.2-1.54,0.6-2.24 c0.4-0.71,1.01-1.26,1.81-1.66c0.81-0.4,1.92-0.6,3.32-0.6c1.73,0,3.04,0.37,3.95,1.1c0.91,0.73,1.44,1.9,1.62,3.5l-3.92,0.27 c-0.1-0.7-0.32-1.21-0.66-1.53c-0.34-0.32-0.8-0.48-1.39-0.48c-0.48,0-0.85,0.12-1.1,0.35c-0.25,0.23-0.37,0.52-0.37,0.86 c0,0.24,0.1,0.46,0.3,0.66c0.19,0.2,0.66,0.39,1.39,0.57c1.82,0.45,3.13,0.9,3.91,1.36c0.79,0.46,1.36,1.03,1.72,1.71 c0.36,0.68,0.54,1.44,0.54,2.28c0,0.99-0.24,1.9-0.72,2.74c-0.48,0.83-1.15,1.47-2.01,1.9c-0.86,0.43-1.94,0.65-3.25,0.65 c-2.3,0-3.89-0.51-4.77-1.52C90.93,37.31,90.43,36.03,90.31,34.48L90.31,34.48L90.31,34.48z M35.8,60.85 c-1.1,0-1.98-0.89-1.98-1.98s0.89-1.98,1.98-1.98h30.25c1.09,0,1.98,0.89,1.98,1.98s-0.89,1.98-1.98,1.98H35.8L35.8,60.85z M74.73,60.85c-1.1,0-1.99-0.89-1.99-1.99c0-1.1,0.89-1.99,1.99-1.99h32.63c1.1,0,1.99,0.89,1.99,1.99c0,1.1-0.89,1.99-1.99,1.99 H74.73L74.73,60.85z M74.73,72.36c-1.1,0-1.99-0.89-1.99-1.99s0.89-1.99,1.99-1.99h32.63c1.1,0,1.99,0.89,1.99,1.99 c0,1.1-0.89,1.99-1.99,1.99H74.73L74.73,72.36z M74.73,83.87c-1.1,0-1.99-0.89-1.99-1.99s0.89-1.99,1.99-1.99l32.63,0 c1.1,0,1.99,0.89,1.99,1.99c0,1.1-0.89,1.99-1.99,1.99L74.73,83.87L74.73,83.87z M35.8,83.87c-1.1,0-1.98-0.89-1.98-1.98 s0.89-1.98,1.98-1.98l30.25,0c1.09,0,1.98,0.89,1.98,1.98s-0.89,1.98-1.98,1.98L35.8,83.87L35.8,83.87z M36.76,72.36 c-1.1,0-1.98-0.89-1.98-1.98s0.89-1.98,1.98-1.98h30.25c1.1,0,1.98,0.89,1.98,1.98s-0.89,1.98-1.98,1.98H36.76L36.76,72.36z\" }));\nexport default SvgArticles;\n","import * as React from \"react\";\nconst SvgCheck = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"m20.207 7.207-10 10-.707.707-.707-.707-5-5 1.414-1.414L9.5 15.086l9.293-9.293 1.414 1.414Z\" }));\nexport default SvgCheck;\n","import * as React from \"react\";\nconst SvgChevronRight = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M13.586 12L7.793 6.207l1.414-1.414 6.5 6.5.707.707-.707.707-6.5 6.5-1.414-1.414L13.586 12z\" }));\nexport default SvgChevronRight;\n","import * as React from \"react\";\nconst SvgClose = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\" }));\nexport default SvgClose;\n","import * as React from \"react\";\nconst SvgCompany = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M14.763.075A.5.5 0 0 1 15 .5v15a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5V14h-1v1.5a.5.5 0 0 1-.5.5h-9a.5.5 0 0 1-.5-.5V10a.5.5 0 0 1 .342-.474L6 7.64V4.5a.5.5 0 0 1 .276-.447l8-4a.5.5 0 0 1 .487.022zM6 8.694 1 10.36V15h5V8.694zM7 15h2v-1.5a.5.5 0 0 1 .5-.5h2a.5.5 0 0 1 .5.5V15h2V1.309l-7 3.5V15z\" }), /* @__PURE__ */ React.createElement(\"path\", { d: \"M2 11h1v1H2v-1zm2 0h1v1H4v-1zm-2 2h1v1H2v-1zm2 0h1v1H4v-1zm4-4h1v1H8V9zm2 0h1v1h-1V9zm-2 2h1v1H8v-1zm2 0h1v1h-1v-1zm2-2h1v1h-1V9zm0 2h1v1h-1v-1zM8 7h1v1H8V7zm2 0h1v1h-1V7zm2 0h1v1h-1V7zM8 5h1v1H8V5zm2 0h1v1h-1V5zm2 0h1v1h-1V5zm0-2h1v1h-1V3z\" }));\nexport default SvgCompany;\n","import * as React from \"react\";\nconst SvgCopy = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M3 1H2v16h4v-2H4V3h10v2h2V1H3Zm5 6h14v12.414l-.293.293-3 3-.293.293H8V7Zm2 14h7.586L20 18.586V9H10v12Z\" }));\nexport default SvgCopy;\n","import * as React from \"react\";\nconst SvgDownload = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z\" }));\nexport default SvgDownload;\n","import * as React from \"react\";\nconst SvgError = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M12 5.068 19.697 19H4.302L12 5.068Zm-.876-2.552-9.392 17L2.607 21h18.785l.875-1.484-9.392-17h-1.75ZM11 14v-4h2v4h-2Zm0 3v-2h2v2h-2Z\" }));\nexport default SvgError;\n","import * as React from \"react\";\nconst SvgFigma = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { fillRule: \"evenodd\", d: \"M15 10a2 2 0 100 4 2 2 0 000-4zm-2 5.464A4 4 0 0017.646 9 4 4 0 0015 2H9a4 4 0 00-2.646 7 4.01 4.01 0 00-.818 1 4 4 0 00.818 5 3.977 3.977 0 00-.818 1A4 4 0 1013 18v-2.536zM11 16H9a2 2 0 102 2v-2zM9 8h2V4H9a2 2 0 100 4zm0 2a2 2 0 100 4h2v-4H9zm4-2V4h2a2 2 0 010 4h-2z\" }));\nexport default SvgFigma;\n","import * as React from \"react\";\nconst SvgGithub = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M12 2C6.477 2 2 6.477 2 12c0 4.42 2.87 8.17 6.84 9.5.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34-.46-1.16-1.11-1.47-1.11-1.47-.91-.62.07-.6.07-.6 1 .07 1.53 1.03 1.53 1.03.87 1.52 2.34 1.07 2.91.83.09-.65.35-1.09.63-1.34-2.22-.25-4.55-1.11-4.55-4.92 0-1.11.38-2 1.03-2.71-.1-.25-.45-1.29.1-2.64 0 0 .84-.27 2.75 1.02.79-.22 1.65-.33 2.5-.33.85 0 1.71.11 2.5.33 1.91-1.29 2.75-1.02 2.75-1.02.55 1.35.2 2.39.1 2.64.65.71 1.03 1.6 1.03 2.71 0 3.82-2.34 4.66-4.57 4.91.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0012 2z\" }));\nexport default SvgGithub;\n","import * as React from \"react\";\nconst SvgLink = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M9 4 8 5v2h2V6h10v7H10v-2H8v3l1 1h12l1-1V5l-1-1H9Zm2 4H3L2 9v9l1 1h12l1-1v-2h-2v1H4v-7h10v2h2V9l-1-1h-4Z\" }));\nexport default SvgLink;\n","import * as React from \"react\";\nconst SvgLinkedin = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z\" }));\nexport default SvgLinkedin;\n","import * as React from \"react\";\nconst SvgMenu = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M22 6H2V4h20v2zM2 13h16v-2H2v2zm0 7h20v-2H2v2z\" }));\nexport default SvgMenu;\n","import * as React from \"react\";\nconst SvgPause = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M6 19h4V5H6v14zm8-14v14h4V5h-4z\" }));\nexport default SvgPause;\n","import * as React from \"react\";\nconst SvgPlay = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M8 5v14l11-7z\" }));\nexport default SvgPlay;\n","import * as React from \"react\";\nconst SvgSend = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M2.01 21L23 12 2.01 3 2 10l15 2-15 2 .01 7z\" }));\nexport default SvgSend;\n","import * as React from \"react\";\nconst SvgSkills = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 128 128\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M19,70.15c-4.75,1-9.66,1.1-14.42-3.79C1.4,63.1-.19,58.23,0,53.13c12.17,14.15,27-3.34,9-12.43,8.69-4.12,16.89-.25,21.24,7.76,2.06,3.78,3.29,5.76,4.86,7.11a8.58,8.58,0,0,0,.9.69A8.1,8.1,0,0,1,39.8,51.8,7.14,7.14,0,0,1,43.05,51c3.18,0,7.14,1.9,7.81,5.14h0a1.61,1.61,0,0,1,.44-.06h2.31a1.5,1.5,0,0,1,.37,0,5.6,5.6,0,0,1,5,4.59,1.65,1.65,0,0,1,.71-.16H62a1.5,1.5,0,0,1,.37,0c3.31.51,4.65,2.55,5.12,5.12l.26,0h2.31a1.5,1.5,0,0,1,.37,0c3.8.59,5.29,3.08,5.87,6.08,7-1.07,14.57-5.27,22,2.33a17.78,17.78,0,0,1,4.57,13.23c-12.17-14.15-27,3.34-9,12.43-7.47,3.54-14.59,1.17-19.2-4.66a30.06,30.06,0,0,1-2.34,4.92c-.38.62-.77,1.26-1.27,2.14a.16.16,0,0,0,0,.07,19.77,19.77,0,0,1-1.3,2h1.6a2.51,2.51,0,0,1,2.5,2.5v13.61a2.51,2.51,0,0,1-2.5,2.5H35.13a2.51,2.51,0,0,1-2.5-2.5V106.77a2.51,2.51,0,0,1,2.5-2.5H36a18,18,0,0,1-.9-3.79L22.64,80.07,22.58,80a22.48,22.48,0,0,1-2.5-4.24,12.37,12.37,0,0,1-1.08-4,10.22,10.22,0,0,1,0-1.57Zm92-33.29a2,2,0,0,0-.37-.74,1.51,1.51,0,0,0-.57-.46,1.61,1.61,0,0,0-.7-.22,2.62,2.62,0,0,0-.76.09l-.06,0-7.36,2.24a3,3,0,0,1-3.63-1.55c-.38-.64-.75-1.27-1.2-2s-1-1.38-1.39-2S94,31,93.4,30.38s-1-1.14-1.69-1.83A3.09,3.09,0,0,1,91.22,25l3.91-7.35a1.63,1.63,0,0,0,.13-1.46,2.07,2.07,0,0,0-.31-.65,1.82,1.82,0,0,0-.61-.49l-9.26-4.93a2.81,2.81,0,0,0-.68-.26,2.72,2.72,0,0,0-.82.11,1.31,1.31,0,0,0-.61.33,1.82,1.82,0,0,0-.49.61l-3.6,6.75a3.13,3.13,0,0,1-3.69,1.52c-.82-.21-1.59-.41-2.27-.55s-1.54-.28-2.36-.39a23.32,23.32,0,0,0-2.4-.19c-.84-.06-1.62,0-2.37-.06a3,3,0,0,1-3-2.18l-2.5-8.1c0-.06,0-.06,0-.1a2.52,2.52,0,0,0-.3-.66,2.09,2.09,0,0,0-1.26-.61,1.94,1.94,0,0,0-.82.11L48,9.48a1.9,1.9,0,0,0-.74.36,1.71,1.71,0,0,0-.47.57,1.5,1.5,0,0,0-.21.71,2.29,2.29,0,0,0,.09.75l0,.05,2.25,7.35a3.08,3.08,0,0,1-1.56,3.64c-.64.37-1.27.74-2,1.2s-1.38.95-2,1.39-1.3,1-1.91,1.54-1.15,1-1.83,1.7a3.1,3.1,0,0,1-3.59.48l-7.34-3.91a1.88,1.88,0,0,0-.75-.23,3.3,3.3,0,0,0-.69.07,1.31,1.31,0,0,0-.61.32,1.75,1.75,0,0,0-.49.62l-.4.74a24.3,24.3,0,0,0-6.73-.35l1.78-3.35a8.61,8.61,0,0,1,2-2.49,8.51,8.51,0,0,1,2.81-1.5,8.08,8.08,0,0,1,3.18-.33,8.57,8.57,0,0,1,3,1l5.43,2.9.4-.33c.7-.61,1.45-1.19,2.2-1.78s1.56-1.18,2.3-1.66l.26-.19-1.5-5.05a7.44,7.44,0,0,1-.33-3.17,7.84,7.84,0,0,1,.92-3.06,7.75,7.75,0,0,1,2-2.46,8.26,8.26,0,0,1,2.82-1.5L56.28.41l0,0A8.58,8.58,0,0,1,59.43,0a7.71,7.71,0,0,1,3.06.92A8.54,8.54,0,0,1,65,3a7.27,7.27,0,0,1,1.39,2.81l1.83,5.88a2.12,2.12,0,0,0,.43,0c.9.05,1.83.16,2.81.25s1.87.28,2.81.46a1,1,0,0,1,.39.1l2.46-4.63a7.84,7.84,0,0,1,4.82-3.92l.06,0a7.71,7.71,0,0,1,3.11-.31,8.44,8.44,0,0,1,3,.89l9.25,4.94a8.58,8.58,0,0,1,2.49,2,7.68,7.68,0,0,1,1.5,2.82,8,8,0,0,1,.33,3.17,8.31,8.31,0,0,1-1,3l-2.9,5.44c.11.11.23.28.34.39.6.71,1.19,1.45,1.77,2.2s1.19,1.56,1.66,2.3l.19.27,5.05-1.51a7.43,7.43,0,0,1,3.17-.32,8,8,0,0,1,3.06.91,7.67,7.67,0,0,1,2.46,2l0,.08a8.26,8.26,0,0,1,1.5,2.82l3,9.91.05,0a8.8,8.8,0,0,1,.35,3.13,7.87,7.87,0,0,1-.92,3.06,8.54,8.54,0,0,1-2,2.46A7.31,7.31,0,0,1,114.63,55l-5.88,1.83c0,.15,0,.32,0,.47,0,.91-.15,1.83-.24,2.71,0,0,0,.11,0,.15A26.84,26.84,0,0,1,108,63l-.07.34,4.67,2.49a7.52,7.52,0,0,1,2.47,2,8,8,0,0,1,1.45,2.79l0,.07a7.66,7.66,0,0,1,.31,3.1,8.25,8.25,0,0,1-.9,3l-.74,1.39-1.32-.71a25.71,25.71,0,0,0-4.34-7.75c-.14-.19-.29-.37-.45-.55a27.07,27.07,0,0,0-7.55-6.25c.09-.37.18-.75.26-1.13.13-.75.28-1.54.37-2.42,0,0,0-.11,0-.15.11-.81.17-1.54.23-2.27s.09-1.59.07-2.37a3,3,0,0,1,2.18-3l8.09-2.5s.07,0,.11,0a2.31,2.31,0,0,0,.65-.3,1.52,1.52,0,0,0,.41-.55,1.77,1.77,0,0,0,.21-.71,1.94,1.94,0,0,0-.11-.82L111,36.8l0,.06Zm-34-3.09a21.79,21.79,0,0,1,3.93,2.64,23.11,23.11,0,0,1,3.3,3.33,29.87,29.87,0,0,1,2.5,3.79,21.32,21.32,0,0,1,1.72,4.13,20.05,20.05,0,0,1,.86,4.44,20.89,20.89,0,0,1,0,4.54c0,.11,0,.19,0,.26a23,23,0,0,1-.68,3.77c-1.64.16-3.27.42-4.88.71l-1.48-.79c.13-.34.24-.69.35-1.05a18.63,18.63,0,0,0,.64-3.14.8.8,0,0,1,0-.22,17.14,17.14,0,0,0,0-3.44,17.56,17.56,0,0,0-.62-3.23,14.89,14.89,0,0,0-1.28-3,18.34,18.34,0,0,0-1.91-2.87A16.74,16.74,0,0,0,77,41.19a18.31,18.31,0,0,0-6.2-3.3,18.63,18.63,0,0,0-3.14-.64.57.57,0,0,1-.22,0,18.76,18.76,0,0,0-3.44,0,17.57,17.57,0,0,0-3.23.63,14.89,14.89,0,0,0-3,1.28,18.26,18.26,0,0,0-2.87,1.9,17.35,17.35,0,0,0-2.43,2.42c-.23.27-.46.56-.68.87l-5.46-2.91a20.4,20.4,0,0,1,1.42-1.9A22.63,22.63,0,0,1,51,36.26a28.91,28.91,0,0,1,3.79-2.51A24.63,24.63,0,0,1,59,32a22,22,0,0,1,4.39-.88,21.63,21.63,0,0,1,4.55,0c.1,0,.19.05.25,0a23.26,23.26,0,0,1,4.35.84,26.43,26.43,0,0,1,4.39,1.79l0,0Zm-37.89,24h0v.1h0l0,0V58h0v.21h0v.11h0v.11h0v.34h0V59h0v.12h0v.23h0v.13h0v.13h0V60h0v.13h0v.14h0v.25h0V79a1.68,1.68,0,1,1-3.35,0v-3.1h0a1.84,1.84,0,0,1-.25-.17L31.8,73.16l-4.34-3.57A6.52,6.52,0,0,0,26,68.66H24.87a2.57,2.57,0,0,0-1.45.06,1.46,1.46,0,0,0-.79.81h-.1a5.44,5.44,0,0,0-.2,2.11,8.87,8.87,0,0,0,.81,2.9A18.68,18.68,0,0,0,25.26,78s.07.1.1.16l12.7,20.76a1.68,1.68,0,0,1,.28.76h0a11.41,11.41,0,0,0,1.31,4.59H65a11,11,0,0,0,3.08-3.63.47.47,0,0,1,.06-.09c.36-.62.84-1.41,1.31-2.18a29.64,29.64,0,0,0,2.86-6.82v0l0-.06,0-.1,0-.06v0l0-.1,0-.07v0l0-.1.06-.2,0-.1h0l0-.09,0-.1v0l0-.07,0-.1v-.1l0-.1V90l0-.1,0-.09h0l0-.1,0-.1h0l0-.08,0-.1v0l0-.07,0-.1v-.1l0-.1,0-.07v0l0-.1,0-.08v0l0-.09,0-.1h0l0-.09,0-.1v-.1l0-.09v-.29l0-.1v-.1l0-.09v-.1h0v-.09l0-.1v-.84h0v-1l-.13-5.7a1.94,1.94,0,0,1,0-.24c0-.08,0-.62,0-1.34v-.18h0V76.84h0v-.19h0V75.36h0v-.19h0V74.1h0v-.17h0v-.18h0v-.19l0-.09v-.64l0-.08,0-.09,0-.09h0v-.09l0-.07h0l0-.09v-.08l0-.09V72a3.67,3.67,0,0,0-2.89-3H67.74c0,.47,0,.93,0,1.4h0v0h0v0h0v0h0v.1h0v0h0v.08h0V71h0v0h0v0h0v.1h0v0h0v0h0v0h0v.07h0v0h0v0h0v0h0v0h0v.05h0v0h0v0h0v0h0v0h0v.05h0v0h0v0h0v0h0v0h0v0h0v0h0v0h0v.05c-.06.93-.11,1.84-.11,2.7a1.68,1.68,0,0,1-3.36,0c0-.86.07-1.86.13-2.9v-.33h0v-.17h0v-.15h0v-.33h0v-.17h0v-.15h0v-.17h0V70.2h0v-.34h0v-.33h0V69.2h0V69c0-2.52-.45-4.71-2.48-5.08H59.7a1.37,1.37,0,0,1-.36,0c0,.94,0,1.92-.08,2.87v1c-.06.93-.11,1.83-.11,2.69a1.68,1.68,0,1,1-3.36,0c0-.86.07-1.86.13-2.9v-.17h0v-.15h0v-.16h0v-.17h0v-.17h0v-.17h0v-.32h0v-.16h0v-.17h0v-.14h0v-.17h0v-.17h0v-.07c.08-2.84-.23-5.46-2.47-5.87H51.29a1.49,1.49,0,0,1-.43-.06v6.49a1.68,1.68,0,0,1-3.36,0v-8.2c0-2.32-2.3-3.32-4.45-3.32a3.85,3.85,0,0,0-1.74.42,5,5,0,0,0-2.26,3ZM35.29,70l-1.58-.65a19.89,19.89,0,0,0-2.2-.75l2.41,2,1.37,1.12V70Z\" }));\nexport default SvgSkills;\n","import * as React from \"react\";\nconst SvgStorybook = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M16.71.243l-.12 2.71a.18.18 0 00.29.15l1.06-.8.9.7a.18.18 0 00.28-.14l-.1-2.76 1.33-.1a1.2 1.2 0 011.279 1.2v21.596a1.2 1.2 0 01-1.26 1.2l-16.096-.72a1.2 1.2 0 01-1.15-1.16l-.75-19.797a1.2 1.2 0 011.13-1.27L16.7.222zM13.64 9.3c0 .47 3.16.24 3.59-.08 0-3.2-1.72-4.89-4.859-4.89-3.15 0-4.899 1.72-4.899 4.29 0 4.45 5.999 4.53 5.999 6.959 0 .7-.32 1.1-1.05 1.1-.96 0-1.35-.49-1.3-2.16 0-.36-3.649-.48-3.769 0-.27 4.03 2.23 5.2 5.099 5.2 2.79 0 4.969-1.49 4.969-4.18 0-4.77-6.099-4.64-6.099-6.999 0-.97.72-1.1 1.13-1.1.45 0 1.25.07 1.19 1.87z\" }));\nexport default SvgStorybook;\n","import * as React from \"react\";\nconst SvgTwitter = (props) => /* @__PURE__ */ React.createElement(\"svg\", { width: 24, height: 24, viewBox: \"0 0 24 24\", ...props }, /* @__PURE__ */ React.createElement(\"path\", { d: \"M22.92 6c-.77.35-1.6.58-2.46.69.88-.53 1.56-1.37 1.88-2.38-.83.5-1.75.85-2.72 1.05C18.83 4.5 17.72 4 16.46 4c-2.35 0-4.27 1.92-4.27 4.29 0 .34.04.67.11.98-3.56-.18-6.73-1.89-8.84-4.48-.37.63-.58 1.37-.58 2.15 0 1.49.75 2.81 1.91 3.56-.71 0-1.37-.2-1.95-.5v.03c0 2.08 1.48 3.82 3.44 4.21a4.22 4.22 0 01-1.93.07 4.28 4.28 0 004 2.98 8.521 8.521 0 01-5.33 1.84c-.34 0-.68-.02-1.02-.06C3.9 20.29 6.16 21 8.58 21c7.88 0 12.21-6.54 12.21-12.21 0-.19 0-.37-.01-.56.84-.6 1.56-1.36 2.14-2.23z\" }));\nexport default SvgTwitter;\n","import { classes } from '../../utils/style';\nimport styles from './Icon.module.css';\nimport ArrowLeft from './svg/arrow-left.svg';\nimport ArrowRight from './svg/arrow-right.svg';\nimport Article from './svg/articles.svg';\nimport Check from './svg/check.svg';\nimport ChevronRight from './svg/chevron-right.svg';\nimport Close from './svg/close.svg';\nimport Company from './svg/company.svg';\nimport Copy from './svg/copy.svg';\nimport Download from './svg/download.svg';\nimport Error from './svg/error.svg';\nimport Figma from './svg/figma.svg';\nimport Github from './svg/github.svg';\nimport Link from './svg/link.svg';\nimport Linkedin from './svg/linkedin.svg';\nimport Menu from './svg/menu.svg';\nimport Pause from './svg/pause.svg';\nimport Play from './svg/play.svg';\nimport Send from './svg/send.svg';\nimport Skills from './svg/skills.svg';\nimport Storybook from './svg/storybook.svg';\nimport Twitter from './svg/twitter.svg';\n\nexport const icons = {\n arrowLeft: ArrowLeft,\n arrowRight: ArrowRight,\n articles: Article,\n company: Company,\n check: Check,\n chevronRight: ChevronRight,\n close: Close,\n copy: Copy,\n download: Download,\n error: Error,\n figma: Figma,\n github: Github,\n link: Link,\n linkedin: Linkedin,\n menu: Menu,\n pause: Pause,\n play: Play,\n send: Send,\n skills: Skills,\n storybook: Storybook,\n twitter: Twitter,\n};\n\nexport type IconName = keyof typeof icons;\n\nexport interface IconProps {\n icon: IconName;\n className?: string;\n [key: string]: unknown;\n}\n\nexport const Icon = ({ icon, className, ...rest }: IconProps) => {\n const IconComponent = icons[icon];\n\n return (\n <IconComponent aria-hidden className={classes(styles.icon, className)} {...rest} />\n );\n};\n","import {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useRef,\n useState,\n} from 'react';\nimport type { KeyboardEvent, ReactNode, RefObject } from 'react';\nimport { VisuallyHidden } from '../VisuallyHidden';\nimport { cssProps } from '../../utils/style';\nimport styles from './SegmentedControl.module.css';\n\ninterface SegmentedControlContextValue {\n optionRefs: { current: RefObject<HTMLButtonElement>[] };\n currentIndex: number;\n onChange: (index: number) => void;\n registerOption: (optionRef: RefObject<HTMLButtonElement>) => void;\n unRegisterOption: (optionRef: RefObject<HTMLButtonElement>) => void;\n}\n\nconst SegmentedControlContext = createContext<SegmentedControlContextValue>(\n {} as SegmentedControlContextValue\n);\n\ninterface SegmentedControlProps {\n children: ReactNode;\n currentIndex: number;\n onChange: (index: number) => void;\n label: string;\n [key: string]: unknown;\n}\n\nexport const SegmentedControl = ({\n children,\n currentIndex,\n onChange,\n label,\n ...props\n}: SegmentedControlProps) => {\n const id = useId();\n const labelId = `${id}segmented-control-label`;\n const optionRefs = useRef<RefObject<HTMLButtonElement>[]>([]);\n const [indicator, setIndicator] = useState<{ width?: number; left?: number }>();\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const { length } = optionRefs.current;\n const prevIndex = (currentIndex - 1 + length) % length;\n const nextIndex = (currentIndex + 1) % length;\n\n if (['ArrowLeft', 'ArrowUp'].includes(event.key)) {\n onChange(prevIndex);\n optionRefs.current[prevIndex].current?.focus();\n } else if (['ArrowRight', 'ArrowDown'].includes(event.key)) {\n onChange(nextIndex);\n optionRefs.current[nextIndex].current?.focus();\n }\n };\n\n const registerOption = useCallback((optionRef: RefObject<HTMLButtonElement>) => {\n optionRefs.current = [...optionRefs.current, optionRef];\n }, []);\n\n const unRegisterOption = useCallback((optionRef: RefObject<HTMLButtonElement>) => {\n optionRefs.current = optionRefs.current.filter(ref => ref !== optionRef);\n }, []);\n\n useEffect(() => {\n const currentOption = optionRefs.current[currentIndex]?.current;\n if (!currentOption) return;\n\n const resizeObserver = new ResizeObserver(() => {\n const rect = currentOption.getBoundingClientRect();\n const left = currentOption.offsetLeft;\n setIndicator({ width: rect.width, left });\n });\n\n resizeObserver.observe(currentOption);\n\n return () => {\n resizeObserver.disconnect();\n };\n }, [currentIndex]);\n\n return (\n <SegmentedControlContext.Provider\n value={{ optionRefs, currentIndex, onChange, registerOption, unRegisterOption }}\n >\n <div\n className={styles.container}\n role=\"radiogroup\"\n aria-labelledby={labelId}\n onKeyDown={handleKeyDown}\n {...props}\n >\n <VisuallyHidden as=\"label\" id={labelId}>\n {label}\n </VisuallyHidden>\n <div className={styles.options}>\n {!!indicator && (\n <div\n className={styles.indicator}\n // Options register themselves into this ref on mount; length is\n // correct by the time this re-renders after registration settles.\n // eslint-disable-next-line react-hooks/refs\n data-last={currentIndex === optionRefs.current.length - 1}\n style={cssProps(indicator)}\n />\n )}\n {children}\n </div>\n </div>\n </SegmentedControlContext.Provider>\n );\n};\n\ninterface SegmentedControlOptionProps {\n children: ReactNode;\n [key: string]: unknown;\n}\n\nexport const SegmentedControlOption = ({ children, ...props }: SegmentedControlOptionProps) => {\n const { optionRefs, currentIndex, onChange, registerOption, unRegisterOption } =\n useContext(SegmentedControlContext);\n const optionRef = useRef<HTMLButtonElement>(null);\n // Same as above: the parent's ref collection settles by the time this\n // re-renders after this option registers itself on mount.\n // eslint-disable-next-line react-hooks/refs\n const index = optionRefs.current.indexOf(optionRef as RefObject<HTMLButtonElement>);\n const isSelected = currentIndex === index;\n\n useEffect(() => {\n registerOption(optionRef as RefObject<HTMLButtonElement>);\n\n return () => {\n unRegisterOption(optionRef as RefObject<HTMLButtonElement>);\n };\n }, [registerOption, unRegisterOption]);\n\n return (\n <button\n className={styles.button}\n tabIndex={isSelected ? 0 : -1}\n role=\"radio\"\n aria-checked={isSelected}\n onClick={() => onChange(index)}\n ref={optionRef}\n {...props}\n >\n {children}\n </button>\n );\n};\n","import { useEffect, useRef, useState } from 'react';\nimport type { ChangeEvent, TextareaHTMLAttributes } from 'react';\nimport { classes, cssProps } from '../../utils/style';\nimport styles from './TextArea.module.css';\n\ninterface TextAreaDimensions {\n lineHeight: number;\n paddingHeight: number;\n}\n\ninterface TextAreaProps extends Omit<TextareaHTMLAttributes<HTMLTextAreaElement>, 'onChange'> {\n className?: string;\n resize?: string;\n value?: string;\n onChange: (event: ChangeEvent<HTMLTextAreaElement>) => void;\n minRows?: number;\n maxRows?: number;\n}\n\nexport const TextArea = ({\n className,\n resize = 'none',\n value,\n onChange,\n minRows = 1,\n maxRows,\n ...rest\n}: TextAreaProps) => {\n const [rows, setRows] = useState(minRows);\n const [textareaDimensions, setTextareaDimensions] = useState<TextAreaDimensions>();\n const textareaRef = useRef<HTMLTextAreaElement>(null);\n\n useEffect(() => {\n const style = getComputedStyle(textareaRef.current!);\n const lineHeight = parseInt(style.lineHeight, 10);\n const paddingHeight =\n parseInt(style.paddingTop, 10) + parseInt(style.paddingBottom, 10);\n setTextareaDimensions({ lineHeight, paddingHeight });\n }, []);\n\n const handleChange = (event: ChangeEvent<HTMLTextAreaElement>) => {\n onChange(event);\n\n const { lineHeight, paddingHeight } = textareaDimensions!;\n const previousRows = event.target.rows;\n event.target.rows = minRows;\n\n const currentRows = ~~((event.target.scrollHeight - paddingHeight) / lineHeight);\n\n if (currentRows === previousRows) {\n event.target.rows = currentRows;\n }\n\n if (maxRows && currentRows >= maxRows) {\n event.target.rows = maxRows;\n event.target.scrollTop = event.target.scrollHeight;\n }\n\n setRows(maxRows && currentRows > maxRows ? maxRows : currentRows);\n };\n\n return (\n <textarea\n className={classes(styles.textarea, className)}\n ref={textareaRef}\n onChange={handleChange}\n style={cssProps({ resize })}\n rows={rows}\n value={value}\n {...rest}\n />\n );\n};\n","import React, { useId, useRef, useState } from 'react';\nimport type { ChangeEvent, ElementType, FocusEvent } from 'react';\nimport { Icon } from '../Icon';\nimport { tokens } from '../ThemeProvider';\nimport { Transition } from '../Transition';\nimport { classes, cssProps, msToNum } from '../../utils/style';\nimport styles from './Input.module.css';\nimport { TextArea } from './TextArea';\n\nexport interface InputProps {\n id?: string;\n label?: string;\n value?: string;\n multiline?: boolean;\n className?: string;\n style?: React.CSSProperties;\n error?: string | null;\n onBlur?: (event: FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => void;\n autoComplete?: string;\n required?: boolean;\n maxLength?: number;\n type?: string;\n placeholder?: string;\n /** Multiline only: cap the auto-grow at this many rows, then scroll inside. */\n maxRows?: number;\n onChange?: (event: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => void;\n [key: string]: unknown;\n}\n\nexport const Input = ({\n id,\n label,\n value,\n multiline,\n className,\n style,\n error,\n onBlur,\n autoComplete,\n required,\n maxLength,\n type,\n placeholder,\n maxRows,\n onChange,\n ...rest\n}: InputProps) => {\n const [focused, setFocused] = useState(false);\n const generatedId = useId();\n const errorRef = useRef<HTMLDivElement>(null);\n const inputId = id || `${generatedId}input`;\n const labelId = `${inputId}-label`;\n const errorId = `${inputId}-error`;\n const InputElement = (multiline ? TextArea : 'input') as ElementType;\n\n const handleBlur = (event: FocusEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n setFocused(false);\n\n if (onBlur) {\n onBlur(event);\n }\n };\n\n return (\n <div\n className={classes(styles.container, className)}\n data-error={!!error}\n data-multiline={!!multiline}\n style={style}\n {...rest}\n >\n <div className={styles.content}>\n <label\n className={styles.label}\n data-focused={focused}\n data-filled={!!value}\n data-placeholder={!!placeholder}\n id={labelId}\n htmlFor={inputId}\n >\n {label}\n </label>\n <InputElement\n className={styles.input}\n id={inputId}\n aria-labelledby={labelId}\n aria-describedby={error ? errorId : undefined}\n onFocus={() => setFocused(true)}\n onBlur={handleBlur}\n value={value}\n onChange={onChange}\n autoComplete={autoComplete}\n required={required}\n maxLength={maxLength}\n type={type}\n placeholder={placeholder}\n {...(multiline ? { maxRows } : {})}\n />\n <div className={styles.underline} data-focused={focused} />\n </div>\n <Transition unmount in={!!error} timeout={msToNum(tokens.base.durationM)}>\n {(visible: boolean) => (\n <div\n className={styles.error}\n data-visible={visible}\n id={errorId}\n role=\"alert\"\n style={cssProps({\n height: visible ? errorRef.current?.getBoundingClientRect().height ?? 0 : 0,\n })}\n >\n <div className={styles.errorMessage} ref={errorRef}>\n <Icon icon=\"error\" />\n {error}\n </div>\n </div>\n )}\n </Transition>\n </div>\n );\n};\n","import { forwardRef, type ReactNode, type ComponentPropsWithoutRef } from 'react';\nimport { useLinkComponent, type LinkComponent } from '../LinkProvider';\nimport { classes } from '../../utils/style';\nimport styles from './Link.module.css';\n\nconst VALID_EXT = ['txt', 'png', 'jpg'];\n\nfunction isAnchor(href?: string): boolean {\n const isValidExtension = VALID_EXT.includes(href?.split('.').pop() ?? '');\n return !!href?.includes('://') || href?.[0] === '#' || isValidExtension;\n}\n\ninterface LinkProps extends ComponentPropsWithoutRef<'a'> {\n secondary?: boolean;\n children?: ReactNode;\n /** Overrides the LinkProvider-supplied component for this instance only. */\n linkComponent?: LinkComponent;\n}\n\nexport const Link = forwardRef<HTMLAnchorElement, LinkProps>(\n ({ rel, target, children, secondary, className, href, linkComponent, ...rest }, ref) => {\n const ContextLink = useLinkComponent();\n const RouterLink = linkComponent ?? ContextLink;\n const isExternal = href?.includes('://');\n const relValue = rel || (isExternal ? 'noreferrer noopener' : undefined);\n const targetValue = target || (isExternal ? '_blank' : undefined);\n const linkProps = {\n className: classes(styles.link, className),\n 'data-secondary': secondary,\n rel: relValue,\n href,\n target: targetValue,\n ref,\n ...rest,\n };\n\n if (isAnchor(href)) {\n return <a {...linkProps}>{children}</a>;\n }\n\n return (\n <RouterLink {...linkProps} href={href ?? ''}>\n {children}\n </RouterLink>\n );\n }\n);\n","import { forwardRef, type ComponentPropsWithoutRef, type ElementType, type ReactNode } from 'react';\nimport { Icon } from '../Icon';\nimport { useLinkComponent, type LinkComponent } from '../LinkProvider';\nimport { Loader } from '../Loader';\nimport { Transition } from '../Transition';\nimport type { icons } from '../Icon';\nimport { classes } from '../../utils/style';\nimport styles from './Button.module.css';\n\nfunction isExternalLink(href?: string): boolean {\n return !!href?.includes('://');\n}\n\nexport interface ButtonProps extends ComponentPropsWithoutRef<'button'> {\n href?: string;\n as?: ElementType;\n secondary?: boolean;\n loading?: boolean;\n loadingText?: string;\n icon?: keyof typeof icons;\n iconEnd?: keyof typeof icons;\n iconHoverShift?: boolean;\n iconOnly?: boolean;\n children?: ReactNode;\n rel?: string;\n target?: string;\n disabled?: boolean;\n download?: string;\n /** Overrides the LinkProvider-supplied component for this instance only. */\n linkComponent?: LinkComponent;\n}\n\nexport const Button = forwardRef<HTMLElement, ButtonProps>(\n ({ href, linkComponent, ...rest }, ref) => {\n const ContextLink = useLinkComponent();\n const RouterLink = linkComponent ?? ContextLink;\n\n if (isExternalLink(href) || !href) {\n return <ButtonContent href={href} ref={ref} {...rest} />;\n }\n\n return <ButtonContent as={RouterLink} href={href} ref={ref} {...rest} />;\n }\n);\n\nconst ButtonContent = forwardRef<HTMLElement, ButtonProps>(\n (\n {\n className,\n as,\n secondary,\n loading,\n loadingText = 'loading',\n icon,\n iconEnd,\n iconHoverShift,\n iconOnly,\n children,\n rel,\n target,\n href,\n disabled,\n ...rest\n },\n ref\n ) => {\n const isExternal = isExternalLink(href);\n const defaultComponent = href ? 'a' : 'button';\n const Component = as || defaultComponent;\n\n return (\n <Component\n className={classes(styles.button, className)}\n data-loading={loading}\n data-icon-only={iconOnly}\n data-secondary={secondary}\n data-icon={icon}\n href={href}\n rel={rel || isExternal ? 'noopener noreferrer' : undefined}\n target={target || isExternal ? '_blank' : undefined}\n disabled={disabled}\n ref={ref}\n {...rest}\n >\n {!!icon && (\n <Icon\n className={styles.icon}\n data-start={!iconOnly}\n data-shift={iconHoverShift}\n icon={icon}\n />\n )}\n {!!children && <span className={styles.text}>{children}</span>}\n {!!iconEnd && (\n <Icon\n className={styles.icon}\n data-end={!iconOnly}\n data-shift={iconHoverShift}\n icon={iconEnd}\n />\n )}\n <Transition unmount in={loading}>\n {(visible: boolean) => (\n <Loader\n className={styles.loader}\n size={32}\n text={loadingText}\n data-visible={visible}\n />\n )}\n </Transition>\n </Component>\n );\n }\n);\n","import { Icon } from '../Icon';\nimport { Link } from '../Link';\nimport { classes } from '../../utils/style';\nimport styles from './Breadcrumbs.module.css';\n\nexport interface BreadcrumbItem {\n label: string;\n href: string;\n}\n\ninterface BreadcrumbsProps {\n items: BreadcrumbItem[];\n className?: string;\n}\n\nexport const Breadcrumbs = ({ items, className }: BreadcrumbsProps) => {\n return (\n <nav aria-label=\"Breadcrumb\" className={classes(styles.breadcrumbs, className)}>\n <ol className={styles.list}>\n {items.map((item, index) => {\n const isLast = index === items.length - 1;\n\n return (\n <li key={item.href} className={styles.item}>\n {index > 0 && (\n <Icon\n className={styles.separator}\n icon=\"chevronRight\"\n aria-hidden=\"true\"\n />\n )}\n {isLast ? (\n <span className={styles.current} aria-current=\"page\">\n {item.label}\n </span>\n ) : (\n <Link className={styles.link} href={item.href}>\n {item.label}\n </Link>\n )}\n </li>\n );\n })}\n </ol>\n </nav>\n );\n};\n","export async function delay(ms: number): Promise<void> {\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n","import { VisuallyHidden } from '../VisuallyHidden';\nimport { useReducedMotion, useSpring } from 'framer-motion';\nimport { memo, useEffect, useRef } from 'react';\nimport { delay } from '../../utils/delay';\nimport { classes } from '../../utils/style';\nimport styles from './ScrambleReveal.module.css';\n\n// Standalone-renderable Devanagari only — no matras/conjuncts (they render\n// broken with a dotted-circle placeholder when shown in isolation).\n// prettier-ignore\nconst glyphs = [\n // Independent vowels\n 'अ', 'आ', 'इ', 'ई', 'उ',\n 'ऊ', 'ऋ', 'ए', 'ऐ', 'ओ', 'औ',\n // Consonants\n 'क', 'ख', 'ग', 'घ', 'ङ',\n 'च', 'छ', 'ज', 'झ', 'ञ',\n 'ट', 'ठ', 'ड', 'ढ', 'ण',\n 'त', 'थ', 'द', 'ध', 'न',\n 'प', 'फ', 'ब', 'भ', 'म',\n 'य', 'र', 'ल', 'व', 'श',\n 'ष', 'स', 'ह', 'ळ',\n // Devanagari digits\n '०', '१', '२', '३', '४',\n '५', '६', '७', '८', '९',\n];\n\nconst CharType = {\n Glyph: 'glyph',\n Value: 'value',\n} as const;\n\ninterface CharItem {\n type: (typeof CharType)[keyof typeof CharType];\n value: string;\n}\n\nfunction shuffle(content: string[], output: CharItem[], position: number): CharItem[] {\n return content.map((value, index) => {\n if (index < position) {\n return { type: CharType.Value, value };\n }\n\n if (position % 1 < 0.5) {\n const rand = Math.floor(Math.random() * glyphs.length);\n return { type: CharType.Glyph, value: glyphs[rand] };\n }\n\n return { type: CharType.Glyph, value: output[index].value };\n });\n}\n\ninterface ScrambleRevealProps {\n text: string;\n start?: boolean;\n delay?: number;\n className?: string;\n [key: string]: unknown;\n}\n\nexport const ScrambleReveal = memo(\n ({ text, start = true, delay: startDelay = 0, className, ...rest }: ScrambleRevealProps) => {\n const output = useRef<CharItem[]>([{ type: CharType.Glyph, value: '' }]);\n const container = useRef<HTMLSpanElement>(null);\n const reduceMotion = useReducedMotion();\n const decoderSpring = useSpring(0, { stiffness: 8, damping: 5 });\n\n useEffect(() => {\n const containerInstance = container.current;\n const content = text.split('');\n let animation: number | undefined;\n\n const renderOutput = () => {\n const characterMap = output.current.map(item => {\n return `<span class=\"${styles[item.type]}\">${item.value}</span>`;\n });\n\n if (containerInstance) {\n containerInstance.innerHTML = characterMap.join('');\n }\n };\n\n const unsubscribeSpring = decoderSpring.on('change', (value: number) => {\n output.current = shuffle(content, output.current, value);\n renderOutput();\n });\n\n const startSpring = async () => {\n await delay(startDelay);\n decoderSpring.set(content.length);\n };\n\n if (start && !animation && !reduceMotion) {\n startSpring();\n }\n\n if (reduceMotion) {\n output.current = content.map((value, index) => ({\n type: CharType.Value,\n value: content[index],\n }));\n renderOutput();\n }\n\n return () => {\n unsubscribeSpring?.();\n };\n }, [decoderSpring, reduceMotion, start, startDelay, text]);\n\n return (\n <span className={classes(styles.text, className)} {...rest}>\n <VisuallyHidden className={styles.label}>{text}</VisuallyHidden>\n <span aria-hidden className={styles.content} ref={container} />\n </span>\n );\n }\n);\n","import { Button } from '../Button';\nimport { Icon } from '../Icon';\nimport { useTheme } from '../ThemeProvider';\nimport { useReducedMotion } from 'framer-motion';\nimport { useHasMounted } from '../../hooks/useHasMounted';\nimport { useInViewport } from '../../hooks/useInViewport';\nimport { Fragment, useCallback, useEffect, useRef, useState } from 'react';\nimport type { CSSProperties, HTMLAttributes, ReactEventHandler, VideoHTMLAttributes } from 'react';\nimport { resolveSrcFromSrcSet, srcSetToString } from '../../utils/image';\nimport { classes, cssProps, numToMs } from '../../utils/style';\nimport styles from './Image.module.css';\n\ninterface ImageSrc {\n src: string;\n width?: number;\n height?: number;\n}\n\ninterface SrcSetItem {\n src: string;\n width: number;\n}\n\ninterface ImageProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n style?: CSSProperties;\n reveal?: boolean;\n delay?: number;\n raised?: boolean;\n src?: ImageSrc;\n srcSet?: SrcSetItem[];\n placeholder?: ImageSrc;\n alt?: string;\n play?: boolean;\n restartOnPause?: boolean;\n sizes?: string;\n noPauseButton?: boolean;\n}\n\nexport const Image = ({\n className,\n style,\n reveal,\n delay = 0,\n raised,\n src: baseSrc,\n srcSet,\n placeholder,\n ...rest\n}: ImageProps) => {\n const [loaded, setLoaded] = useState(false);\n const { themeId } = useTheme();\n const containerRef = useRef<HTMLDivElement>(null);\n const src = baseSrc || srcSet?.[0];\n const inViewport = useInViewport(containerRef, !getIsVideo(src));\n\n const onLoad = useCallback(() => {\n setLoaded(true);\n }, []);\n\n return (\n <div\n className={classes(styles.image, className)}\n data-visible={inViewport || loaded}\n data-reveal={reveal}\n data-raised={raised}\n data-theme={themeId}\n style={cssProps({ delay: numToMs(delay) }, style)}\n ref={containerRef}\n >\n <ImageElements\n delay={delay}\n onLoad={onLoad}\n loaded={loaded}\n inViewport={inViewport}\n reveal={reveal}\n src={src}\n srcSet={srcSet}\n placeholder={placeholder}\n {...rest}\n />\n </div>\n );\n};\n\ninterface ImageElementsProps {\n onLoad: ReactEventHandler;\n loaded: boolean;\n inViewport: boolean;\n srcSet?: SrcSetItem[];\n placeholder?: ImageSrc;\n delay: number;\n src?: ImageSrc | SrcSetItem;\n alt?: string;\n play?: boolean;\n restartOnPause?: boolean;\n reveal?: boolean;\n sizes?: string;\n noPauseButton?: boolean;\n [key: string]: unknown;\n}\n\nconst ImageElements = ({\n onLoad,\n loaded,\n inViewport,\n srcSet,\n placeholder,\n delay,\n src,\n alt,\n play = true,\n restartOnPause,\n reveal,\n sizes,\n noPauseButton,\n ...rest\n}: ImageElementsProps) => {\n const reduceMotion = useReducedMotion();\n const [showPlaceholder, setShowPlaceholder] = useState(true);\n const [playing, setPlaying] = useState(!reduceMotion);\n const [videoSrc, setVideoSrc] = useState<string>();\n const [videoInteracted, setVideoInteracted] = useState(false);\n const placeholderRef = useRef<HTMLImageElement>(null);\n const videoRef = useRef<HTMLVideoElement>(null);\n const isVideo = getIsVideo(src);\n const showFullRes = inViewport;\n const srcSetString = srcSetToString(srcSet);\n const hasMounted = useHasMounted();\n\n useEffect(() => {\n const resolveVideoSrc = async () => {\n const resolvedVideoSrc = await resolveSrcFromSrcSet({ srcSet, sizes });\n setVideoSrc(resolvedVideoSrc);\n };\n\n if (isVideo && srcSet) {\n resolveVideoSrc();\n } else if (isVideo) {\n // Sync counterpart to the async branch above; kept in the same effect\n // so `videoSrc` always resolves the same way regardless of source shape.\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setVideoSrc((src as ImageSrc).src);\n }\n }, [isVideo, sizes, src, srcSet]);\n\n useEffect(() => {\n if (!videoRef.current || !videoSrc) return;\n\n const playVideo = () => {\n setPlaying(true);\n videoRef.current!.play();\n };\n\n const pauseVideo = () => {\n setPlaying(false);\n videoRef.current!.pause();\n };\n\n if (!play) {\n pauseVideo();\n\n if (restartOnPause) {\n videoRef.current.currentTime = 0;\n }\n }\n\n if (videoInteracted) return;\n\n if (!inViewport) {\n pauseVideo();\n } else if (inViewport && !reduceMotion && play) {\n playVideo();\n }\n }, [inViewport, play, reduceMotion, restartOnPause, videoInteracted, videoSrc]);\n\n const togglePlaying = (event: React.MouseEvent) => {\n event.preventDefault();\n\n setVideoInteracted(true);\n\n if (videoRef.current!.paused) {\n setPlaying(true);\n videoRef.current!.play();\n } else {\n setPlaying(false);\n videoRef.current!.pause();\n }\n };\n\n return (\n <div\n className={styles.elementWrapper}\n data-reveal={reveal}\n data-visible={inViewport || loaded}\n style={cssProps({ delay: numToMs(delay + 1000) })}\n >\n {isVideo && hasMounted && (\n <Fragment>\n <video\n muted\n loop\n playsInline\n className={styles.element}\n data-loaded={loaded}\n autoPlay={!reduceMotion}\n role=\"img\"\n onLoadStart={onLoad as ReactEventHandler<HTMLVideoElement>}\n src={videoSrc}\n aria-label={alt}\n ref={videoRef}\n {...(rest as VideoHTMLAttributes<HTMLVideoElement>)}\n />\n {!noPauseButton && (\n <Button className={styles.button} onClick={togglePlaying}>\n <Icon icon={playing ? 'pause' : 'play'} />\n {playing ? 'Pause' : 'Play'}\n </Button>\n )}\n </Fragment>\n )}\n {!isVideo && (\n <img\n className={styles.element}\n data-loaded={loaded}\n onLoad={onLoad}\n decoding=\"async\"\n src={showFullRes ? (src as ImageSrc)?.src : undefined}\n srcSet={showFullRes ? srcSetString : undefined}\n width={(src as ImageSrc)?.width}\n height={(src as ImageSrc)?.height}\n alt={alt}\n sizes={sizes}\n {...(rest as React.ImgHTMLAttributes<HTMLImageElement>)}\n />\n )}\n {showPlaceholder && placeholder && (\n <img\n aria-hidden\n className={styles.placeholder}\n data-loaded={loaded}\n style={cssProps({ delay: numToMs(delay) })}\n ref={placeholderRef}\n src={placeholder.src}\n width={placeholder.width}\n height={placeholder.height}\n onTransitionEnd={() => setShowPlaceholder(false)}\n decoding=\"async\"\n alt=\"\"\n role=\"presentation\"\n />\n )}\n </div>\n );\n};\n\nfunction getIsVideo(src?: ImageSrc | SrcSetItem): boolean {\n if (!src) return false;\n return typeof (src as ImageSrc).src === 'string' && (src as ImageSrc).src.endsWith('.mp4');\n}\n","import { forwardRef, useId, type SVGProps } from 'react';\nimport { classes } from '../../utils/style';\nimport styles from './Wordmark.module.css';\n\nexport interface WordmarkProps extends SVGProps<SVGSVGElement> {\n highlight?: boolean;\n}\n\nexport const Wordmark = forwardRef<SVGSVGElement, WordmarkProps>(\n ({ highlight, className, ...props }, ref) => {\n const id = useId();\n const clipId = `${id}wordmark-clip`;\n\n return (\n <svg\n aria-hidden\n className={classes(styles.wordmark, className)}\n width=\"46\"\n height=\"29\"\n viewBox=\"0 0 46 29\"\n ref={ref}\n {...props}\n >\n <defs>\n <clipPath id={clipId}>\n <path\n d=\"M 10.3281 17.7888 l 4.4875 -11.4688 l 0.0019 -0.0006 l 6.075 11.5263 a 0.5238 0.5238 90 0 0 0.9525 -0.0581 l 2.1187 -5.515 a 0.5288 0.5288 90 0 0 -0.025 -0.4288 L 18.9419 2.2531 A 4.1863 4.1863 90 0 0 15.2294 0 h -2.875 a 0.525 0.525 90 0 0 -0.4625 0.7688 l 2.2687 4.3044 l -2.2844 5.7188 l -4.45 -8.5388 A 4.1863 4.1863 90 0 0 3.7138 0 h -2.875 a 0.5262 0.5262 90 0 0 -0.4675 0.7688 L 9.375 17.8462 a 0.5244 0.5244 90 0 0 0.9525 -0.0575 z M 26.495 5.5037 a 0.5219 0.5219 90 0 0 0.2419 -0.2787 v 0.0006 l 1.6687 -4.5188 a 0.5238 0.5238 90 0 0 -0.4906 -0.7056 h -4.1113 a 0.5231 0.5231 90 0 0 -0.46 0.7737 l 2.4419 4.5163 c 0.1375 0.2562 0.4556 0.35 0.7094 0.2125 z M 39.375 0 l 0 18.125 L 34.375 18.125 l 0 -11.875 A 4.1863 4.1863 90 0 0 34.375 18.125 L 34.375 18.125 L 34.375 0 z z\"\n transform=\"rotate(180 23 15)\"\n />\n </clipPath>\n </defs>\n <rect clipPath={`url(#${clipId})`} width=\"100%\" height=\"100%\" />\n {highlight && (\n <g clipPath={`url(#${clipId})`}>\n <rect className={styles.highlight} width=\"100%\" height=\"100%\" />\n </g>\n )}\n </svg>\n );\n }\n);\n"],"names":["Text","children","size","Component","align","weight","secondary","className","rest","jsx","classes","styles","Heading","level","as","clampedLevel","Fragment","Section","forwardRef","ref","List","ordered","ListItem","Divider","lineWidth","lineHeight","notchWidth","notchHeight","collapseDelay","collapsed","notch","light","style","jsxs","cssProps","numToMs","Table","TableRow","TableHead","TableBody","TableHeadCell","TableCell","VisuallyHidden","showOnFocus","visible","Transition","timeout","onEnter","onEntered","onExit","onExited","show","unmount","enterTimeout","useRef","exitTimeout","useEffect","AnimatePresence","TransitionContent","status","setStatus","useState","isPresent","safeToRemove","usePresence","hasEntered","setHasEntered","splitTimeout","actualTimeout","Loader","text","reduceMotion","useReducedMotion","hasMounted","useHasMounted","portalContainer","useRefractConfig","renderScreenReaderTextPortal","container","createPortal","gapSize","spanSize","SvgArrowLeft","props","React","SvgArrowRight","SvgArticles","SvgCheck","SvgChevronRight","SvgClose","SvgCompany","SvgCopy","SvgDownload","SvgError","SvgFigma","SvgGithub","SvgLink","SvgLinkedin","SvgMenu","SvgPause","SvgPlay","SvgSend","SvgSkills","SvgStorybook","SvgTwitter","icons","ArrowLeft","ArrowRight","Article","Company","Check","ChevronRight","Close","Copy","Download","Error","Figma","Github","Link","Linkedin","Menu","Pause","Play","Send","Skills","Storybook","Twitter","Icon","icon","IconComponent","SegmentedControlContext","createContext","SegmentedControl","currentIndex","onChange","label","labelId","useId","optionRefs","indicator","setIndicator","handleKeyDown","event","length","prevIndex","nextIndex","_a","_b","registerOption","useCallback","optionRef","unRegisterOption","currentOption","resizeObserver","rect","left","SegmentedControlOption","useContext","index","isSelected","TextArea","resize","value","minRows","maxRows","rows","setRows","textareaDimensions","setTextareaDimensions","textareaRef","paddingHeight","handleChange","previousRows","currentRows","Input","id","multiline","error","onBlur","autoComplete","required","maxLength","type","placeholder","focused","setFocused","generatedId","errorRef","inputId","errorId","InputElement","handleBlur","msToNum","tokens","VALID_EXT","isAnchor","href","isValidExtension","rel","target","linkComponent","ContextLink","useLinkComponent","RouterLink","isExternal","relValue","targetValue","linkProps","isExternalLink","Button","ButtonContent","loading","loadingText","iconEnd","iconHoverShift","iconOnly","disabled","Breadcrumbs","items","item","isLast","delay","ms","resolve","glyphs","CharType","shuffle","content","output","position","rand","ScrambleReveal","memo","start","startDelay","decoderSpring","useSpring","containerInstance","renderOutput","characterMap","unsubscribeSpring","Image","reveal","raised","baseSrc","srcSet","loaded","setLoaded","themeId","useTheme","containerRef","src","inViewport","useInViewport","getIsVideo","onLoad","ImageElements","alt","play","restartOnPause","sizes","noPauseButton","showPlaceholder","setShowPlaceholder","playing","setPlaying","videoSrc","setVideoSrc","videoInteracted","setVideoInteracted","placeholderRef","videoRef","isVideo","showFullRes","srcSetString","srcSetToString","resolvedVideoSrc","resolveSrcFromSrcSet","playVideo","pauseVideo","togglePlaying","Wordmark","highlight","clipId"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "refract-ui",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Themeable React component library — primitives, form controls, and Three.js device/carousel components.",
5
5
  "homepage": "https://storybook.parammehta.com",
6
6
  "repository": "https://github.com/parammehta/refract-ui.git",
@@ -24,12 +24,12 @@
24
24
  "require": "./dist/index.cjs"
25
25
  },
26
26
  "./model": {
27
- "types": "./dist/model.d.ts",
27
+ "types": "./dist/entries/model.d.ts",
28
28
  "import": "./dist/model.js",
29
29
  "require": "./dist/model.cjs"
30
30
  },
31
31
  "./carousel": {
32
- "types": "./dist/carousel.d.ts",
32
+ "types": "./dist/entries/carousel.d.ts",
33
33
  "import": "./dist/carousel.js",
34
34
  "require": "./dist/carousel.cjs"
35
35
  },
@@ -96,7 +96,7 @@
96
96
  "scripts": {
97
97
  "dev": "storybook dev -p 9009 -h localhost",
98
98
  "storybook": "storybook dev -p 9009 -h localhost",
99
- "build": "vite build && node scripts/copy-static-assets.cjs && node scripts/build-tokens-css.cjs",
99
+ "build": "vite build && node scripts/copy-static-assets.cjs && node scripts/build-tokens-css.cjs && node scripts/verify-exports.cjs",
100
100
  "build:storybook": "storybook build -o build-storybook && node scripts/draco-storybook.cjs && node scripts/models-storybook.cjs",
101
101
  "lint": "eslint .",
102
102
  "stylelint": "stylelint \"src/**/*.css\"",