@smartyweb/ui 2.4.2-max-text-field-line-height.g72f7e1c → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),l=require("react"),P="_h1_1765w_1",U={h1:P};function I({children:e,className:t}){const s=[U.h1,t].filter(Boolean).join(" ");return n.jsx("h1",{className:s,children:e})}const z="_h2_1eque_1",q={h2:z};function V({children:e}){return n.jsx("h2",{className:q.h2,children:e})}const K="_paragraph_11t85_1",X={paragraph:K};function G({children:e}){return n.jsx("p",{className:X.paragraph,children:e})}const S=typeof process<"u"&&process.env.NODE_ENV!=="production",k=new Set;function L(e){k.has(e)||(k.add(e),console.warn(`[@smartyweb/ui] ${e}`))}function J(e){if(typeof e=="string")return`<${e}>`;if(typeof e=="function")return`<${e.name||"Component"}>`;if(typeof e=="object"&&e!==null&&"displayName"in e){const{displayName:t}=e;if(typeof t=="string")return`<${t}>`}return"an unknown element"}function T(e,t){for(const s of l.Children.toArray(e)){if(!l.isValidElement(s)){if(typeof s!="string"&&typeof s!="number")continue;const i=String(s).trim();if(i==="")continue;L(`<UnorderedList> received the text ${JSON.stringify(i.slice(0,40))} as a direct child. A <ul> may only contain list items — wrap it in <ListItem>.`);continue}if(s.type===l.Fragment){const{children:i}=s.props;T(i,t);continue}t(s.type)||s.type==="li"||L(`<UnorderedList> received ${J(s.type)} as a direct child. A <ul> may only contain list items — wrap it in <ListItem>.`)}}function Z(){L("<ListItem> was rendered outside of an <UnorderedList>. It renders an <li>, which browsers only style correctly inside a list.")}const Q="_list_1p627_1",Y="_item_1p627_14",O={list:Q,item:Y},B=l.createContext(!1);function w({children:e}){const t=l.useContext(B);return S&&!t&&Z(),n.jsx("li",{className:O.item,children:e})}w.isSmartyListItem=!0;function ee(e){return e===w?!0:typeof e=="function"&&e.isSmartyListItem===!0}function te({children:e}){return S&&T(e,ee),n.jsx(B,{value:!0,children:n.jsx("ul",{role:"list",className:O.list,children:e})})}const ne="_button_1391k_1",se="_sm_1391k_26",ie="_primary_1391k_33",oe="_secondary_1391k_49",re="_negative_1391k_68",b={button:ne,sm:se,primary:ie,secondary:oe,negative:re};function ae({as:e="button",variant:t="primary",size:s="default",href:i,openInNewTab:c,disabled:u,type:o,onClick:d,children:_}){const m=[b.button,b[t],s==="sm"&&b.sm].filter(Boolean).join(" ");return n.jsx(e,{className:m,href:i,target:c?"_blank":void 0,rel:c?"noopener noreferrer":void 0,disabled:u,type:o,onClick:d,children:_})}const ce="_link_1m7hb_1",le="_accent_1m7hb_28",ue="_disabled_1m7hb_38",de="_newTabNote_1m7hb_48",j={link:ce,accent:le,disabled:ue,newTabNote:de},D=l.createContext(null);function _e({component:e,children:t}){return n.jsx(D,{value:e,children:t})}function fe(){return l.useContext(D)}const me=" (opens in new tab)",pe=/\.[a-z][a-z\d]{1,4}$/;function he(e,t){if(t)return"download";if(/^(https?:)?\/\//i.test(e))return"external";if(e.startsWith("#")||/^[a-z][a-z\d+.-]*:/i.test(e))return"plain";const s=(e.split(/[?#]/)[0]??"").toLowerCase();return pe.test(s)?"plain":"router"}function xe({variant:e="default",href:t,download:s=!1,disabled:i,onClick:c,children:u}){const o=fe(),_=[j.link,e==="accent"&&j.accent,i&&j.disabled].filter(Boolean).join(" ");if(t===void 0)return n.jsx("button",{type:"button",className:_,disabled:i,onClick:i?void 0:c,"aria-disabled":i,children:u});const f=he(t,s);if(f==="external")return n.jsxs("a",{className:_,href:t,target:"_blank",rel:"noopener noreferrer",onClick:c,children:[u,n.jsx("span",{className:j.newTabNote,children:me})]});const m=f==="router"&&o?o:"a";return n.jsx(m,{className:_,href:t,download:f==="download"?"":void 0,onClick:c,children:u})}const ve=typeof process<"u"&&process.env.NODE_ENV!=="production",C=new Set;function ye(e){C.has(e)||(C.add(e),console.warn(`[@smartyweb/ui] ${e}`))}function je(){ye("<SideNav> was rendered with no accessible name. Pass `label` so screen reader users can tell this nav apart from the other navigation landmarks on the page.")}const Ne="_nav_dxkjl_3",be="_list_dxkjl_7",ge="_item_dxkjl_16",Le="_link_dxkjl_20",we="_current_dxkjl_48",v={nav:Ne,list:be,item:ge,link:Le,current:we},E=l.createContext(null);function $e({label:e,current:t,children:s}){return ve&&!e?.trim()&&je(),n.jsx("nav",{className:v.nav,"aria-label":e,children:n.jsx(E,{value:t??null,children:n.jsx("ul",{className:v.list,children:s})})})}function ke({as:e="a",href:t,current:s,openInNewTab:i,onClick:c,children:u}){const o=l.useContext(E),d=s??(o!==null&&o===t),_=[v.link,d&&v.current].filter(Boolean).join(" ");return n.jsx("li",{className:v.item,children:n.jsx(e,{className:_,href:t,target:i?"_blank":void 0,rel:i?"noopener noreferrer":void 0,onClick:c,"aria-current":d?"location":void 0,children:u})})}const Ce="_hero_93692_11",Ie="_layout_93692_16",Se="_content_93692_21",Te="_titleLine_93692_25",Oe="_titleWord_93692_29",Be="_description_93692_35",De="_media_93692_48",h={hero:Ce,layout:Ie,content:Se,titleLine:Te,titleWord:Oe,description:Be,media:De};function Ee(e){return e.replace(/([- ])/g,t=>`${t===" "?" ":t}|split|`).split("|split|")}const Me=e=>({"--hero-index":e});function Re({title:e,description:t,media:s}){const i=Array.isArray(e);let c=0;const u=(i?e:[e]).map(o=>Ee(o).map(d=>({word:d,index:c++})));return n.jsx("section",{className:h.hero,children:n.jsxs("div",{className:h.layout,children:[n.jsx("div",{className:h.media,children:s}),n.jsxs("div",{className:h.content,children:[n.jsx(I,{children:u.map((o,d)=>n.jsx("span",{className:i?h.titleLine:void 0,children:o.map(({word:_,index:f})=>n.jsx("span",{className:h.titleWord,style:Me(f),children:_},f))},d))}),n.jsx("p",{className:h.description,children:t})]})]})})}function Ae(){return n.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:n.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.58586 8L1.29297 2.70711L2.70718 1.29289L8.00008 6.58579L13.293 1.29289L14.7072 2.70711L9.41429 8L14.7072 13.2929L13.293 14.7071L8.00008 9.41421L2.70718 14.7071L1.29297 13.2929L6.58586 8Z",fill:"currentColor"})})}const Fe="_field_14suf_1",We="_error_14suf_17",He="_message_14suf_21",Pe="_content_14suf_36",Ue="_reveal_14suf_43",ze="_label_14suf_53",qe="_tags_14suf_64",Ve="_chips_14suf_71",Ke="_input_14suf_78",Xe="_counter_14suf_95",Ge="_empty_14suf_107",Je="_disabled_14suf_134",Ze="_chip_14suf_71",Qe="_chipText_14suf_160",Ye="_remove_14suf_165",et="_invalid_14suf_176",a={field:Fe,error:We,message:He,content:Pe,reveal:Ue,label:ze,tags:qe,chips:Ve,input:Ke,counter:Xe,empty:Ge,disabled:Je,chip:Ze,chipText:Qe,remove:Ye,invalid:et};function tt({children:e,invalid:t,onRemove:s}){return n.jsxs("li",{className:[a.chip,t&&a.invalid].filter(Boolean).join(" "),children:[n.jsx("span",{className:a.chipText,children:e}),s&&n.jsx("button",{type:"button",className:a.remove,"aria-label":`Remove ${e}${t?" (invalid)":""}`,onClick:s,children:n.jsx(Ae,{})})]})}const g=100;function nt({label:e,value:t,onChange:s,disabled:i=!1,isTagInvalid:c,onInputChange:u,error:o}){const d=l.useId(),_=`${d}-message`,f=l.useRef(null),[m,M]=l.useState(""),R=t.length>=g,A=r=>{M(r),u?.(r)},N=r=>{const p=r.split(/[\s,]+/),$=p.pop()??"",y=p.filter(Boolean).slice(0,Math.max(0,g-t.length));y.length&&s([...t,...y]),A($)},F=r=>{r.key==="Enter"&&m&&!r.nativeEvent.isComposing?(r.preventDefault(),N(`${m},`)):r.key==="Backspace"&&!m&&t.length&&s(t.slice(0,-1))},W=r=>{i||r.target===f.current||r.target.closest("button")||(r.preventDefault(),f.current?.focus())},H=[a.field,!t.length&&a.empty,i&&a.disabled,o&&a.error].filter(Boolean).join(" ");return n.jsxs("div",{children:[n.jsxs("div",{className:H,onMouseDown:W,children:[n.jsxs("div",{className:a.content,children:[n.jsx("label",{htmlFor:d,className:a.label,children:e}),n.jsx("div",{className:a.reveal,children:n.jsxs("div",{className:a.tags,children:[t.length>0&&n.jsx("ul",{role:"list",className:a.chips,children:t.map((r,p)=>n.jsx(tt,{invalid:c?.(r,p)??!1,onRemove:i?void 0:()=>{s(t.filter(($,y)=>y!==p)),p===t.length-1&&f.current?.focus()},children:r},p))}),n.jsx("input",{ref:f,id:d,className:a.input,size:1,value:m,disabled:i,readOnly:R,"aria-invalid":o?!0:void 0,"aria-describedby":o?_:void 0,onChange:r=>{N(r.target.value)},onKeyDown:F,onBlur:()=>{N(`${m},`)}})]})})]}),n.jsx("div",{className:a.reveal,children:n.jsxs("p",{className:a.counter,children:[t.length," / ",g]})})]}),n.jsx("p",{id:_,className:a.message,"aria-live":"polite",children:o})]})}const st="_field_otub4_1",it="_label_otub4_16",ot="_reveal_otub4_27",rt="_input_otub4_37",at="_empty_otub4_56",x={field:st,label:it,reveal:ot,input:rt,empty:at};function ct({label:e,value:t,onChange:s}){const i=l.useId(),c=l.useRef(null),u=o=>{o.target!==c.current&&(o.preventDefault(),c.current?.focus())};return n.jsxs("div",{className:[x.field,!t&&x.empty].filter(Boolean).join(" "),onMouseDown:u,children:[n.jsx("label",{htmlFor:i,className:x.label,children:e}),n.jsx("div",{className:x.reveal,children:n.jsx("div",{children:n.jsx("input",{ref:c,id:i,className:x.input,value:t,onChange:o=>{s(o.target.value)}})})})]})}exports.Button=ae;exports.H1=I;exports.H2=V;exports.Hero=Re;exports.Link=xe;exports.LinkProvider=_e;exports.ListItem=w;exports.MultitagField=nt;exports.Paragraph=G;exports.SideNav=$e;exports.SideNavLink=ke;exports.TextField=ct;exports.UnorderedList=te;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),r=require("react"),G="_h1_1765w_1",Z={h1:G};function z({children:e,className:n}){const s=[Z.h1,n].filter(Boolean).join(" ");return t.jsx("h1",{className:s,children:e})}const Q="_h2_1eque_1",Y={h2:Q};function ee({children:e}){return t.jsx("h2",{className:Y.h2,children:e})}const ne="_paragraph_11t85_1",te={paragraph:ne};function se({children:e}){return t.jsx("p",{className:te.paragraph,children:e})}const D=typeof process<"u"&&process.env.NODE_ENV!=="production",T=new Set;function $(e){T.has(e)||(T.add(e),console.warn(`[@smartyweb/ui] ${e}`))}function ie(e){if(typeof e=="string")return`<${e}>`;if(typeof e=="function")return`<${e.name||"Component"}>`;if(typeof e=="object"&&e!==null&&"displayName"in e){const{displayName:n}=e;if(typeof n=="string")return`<${n}>`}return"an unknown element"}function E(e,n){for(const s of r.Children.toArray(e)){if(!r.isValidElement(s)){if(typeof s!="string"&&typeof s!="number")continue;const i=String(s).trim();if(i==="")continue;$(`<UnorderedList> received the text ${JSON.stringify(i.slice(0,40))} as a direct child. A <ul> may only contain list items — wrap it in <ListItem>.`);continue}if(s.type===r.Fragment){const{children:i}=s.props;E(i,n);continue}n(s.type)||s.type==="li"||$(`<UnorderedList> received ${ie(s.type)} as a direct child. A <ul> may only contain list items — wrap it in <ListItem>.`)}}function oe(){$("<ListItem> was rendered outside of an <UnorderedList>. It renders an <li>, which browsers only style correctly inside a list.")}const re="_list_1p627_1",ae="_item_1p627_14",B={list:re,item:ae},M=r.createContext(!1);function k({children:e}){const n=r.useContext(M);return D&&!n&&oe(),t.jsx("li",{className:B.item,children:e})}k.isSmartyListItem=!0;function ce(e){return e===k?!0:typeof e=="function"&&e.isSmartyListItem===!0}function le({children:e}){return D&&E(e,ce),t.jsx(M,{value:!0,children:t.jsx("ul",{role:"list",className:B.list,children:e})})}const de="_button_81qo0_1",ue="_sm_81qo0_26",fe="_primary_81qo0_33",_e="_secondary_81qo0_49",me="_negative_81qo0_68",b={button:de,sm:ue,primary:fe,secondary:_e,negative:me};function pe({as:e="button",variant:n="primary",size:s="default",href:i,openInNewTab:c,disabled:d,type:o,onClick:u,children:f}){const m=[b.button,b[n],s==="sm"&&b.sm].filter(Boolean).join(" ");return t.jsx(e,{className:m,href:i,target:c?"_blank":void 0,rel:c?"noopener noreferrer":void 0,disabled:d,type:o,onClick:u,children:f})}const he="_link_1m7hb_1",ye="_accent_1m7hb_28",xe="_disabled_1m7hb_38",ve="_newTabNote_1m7hb_48",g={link:he,accent:ye,disabled:xe,newTabNote:ve},R=r.createContext(null);function ge({component:e,children:n}){return t.jsx(R,{value:e,children:n})}function je(){return r.useContext(R)}const Ne=" (opens in new tab)",be=/\.[a-z][a-z\d]{1,4}$/;function Le(e,n){if(n)return"download";if(/^(https?:)?\/\//i.test(e))return"external";if(e.startsWith("#")||/^[a-z][a-z\d+.-]*:/i.test(e))return"plain";const s=(e.split(/[?#]/)[0]??"").toLowerCase();return be.test(s)?"plain":"router"}function A({variant:e="default",href:n,download:s=!1,disabled:i,onClick:c,children:d}){const o=je(),f=[g.link,e==="accent"&&g.accent,i&&g.disabled].filter(Boolean).join(" ");if(n===void 0)return t.jsx("button",{type:"button",className:f,disabled:i,onClick:i?void 0:c,"aria-disabled":i,children:d});const _=Le(n,s);if(_==="external")return t.jsxs("a",{className:f,href:n,target:"_blank",rel:"noopener noreferrer",onClick:c,children:[d,t.jsx("span",{className:g.newTabNote,children:Ne})]});const m=_==="router"&&o?o:"a";return t.jsx(m,{className:f,href:n,download:_==="download"?"":void 0,onClick:c,children:d})}const $e=typeof process<"u"&&process.env.NODE_ENV!=="production",I=new Set;function we(e){I.has(e)||(I.add(e),console.warn(`[@smartyweb/ui] ${e}`))}function ke(){we("<SideNav> was rendered with no accessible name. Pass `label` so screen reader users can tell this nav apart from the other navigation landmarks on the page.")}const Ce="_nav_dxkjl_3",Oe="_list_dxkjl_7",Te="_item_dxkjl_16",Ie="_link_dxkjl_20",Se="_current_dxkjl_48",x={nav:Ce,list:Oe,item:Te,link:Ie,current:Se},F=r.createContext(null);function ze({label:e,current:n,children:s}){return $e&&!e?.trim()&&ke(),t.jsx("nav",{className:x.nav,"aria-label":e,children:t.jsx(F,{value:n??null,children:t.jsx("ul",{className:x.list,children:s})})})}function De({as:e="a",href:n,current:s,openInNewTab:i,onClick:c,children:d}){const o=r.useContext(F),u=s??(o!==null&&o===n),f=[x.link,u&&x.current].filter(Boolean).join(" ");return t.jsx("li",{className:x.item,children:t.jsx(e,{className:f,href:n,target:i?"_blank":void 0,rel:i?"noopener noreferrer":void 0,onClick:c,"aria-current":u?"location":void 0,children:d})})}const W=typeof process<"u"&&process.env.NODE_ENV!=="production",S=new Set;function w(e){S.has(e)||(S.add(e),console.warn(`[@smartyweb/ui] ${e}`))}function Ee(e){if(typeof e=="string")return`<${e}>`;if(typeof e=="function")return`<${e.name||"Component"}>`;if(typeof e=="object"&&e!==null&&"displayName"in e){const{displayName:n}=e;if(typeof n=="string")return`<${n}>`}return"an unknown element"}function q(e,n){for(const s of r.Children.toArray(e)){if(!r.isValidElement(s)){if(typeof s!="string"&&typeof s!="number")continue;const i=String(s).trim();if(i==="")continue;w(`<TableOfContents> received the text ${JSON.stringify(i.slice(0,40))} as a direct child. Its list may only contain entries — wrap it in <TableOfContentsLink href="#…">.`);continue}if(s.type===r.Fragment){const{children:i}=s.props;q(i,n);continue}n(s.type)||s.type==="li"||w(`<TableOfContents> received ${Ee(s.type)} as a direct child. Its list may only contain entries — use <TableOfContentsLink href="#…"> instead.`)}}function Be(){w("<TableOfContentsLink> was rendered outside of a <TableOfContents>. It renders an <li>, which browsers only style correctly inside a list.")}const Me="_nav_1us0j_1",Re="_heading_1us0j_8",Ae="_list_1us0j_19",Fe="_item_1us0j_28",j={nav:Me,heading:Re,list:Ae,item:Fe},H=r.createContext(!1);function C({href:e,children:n}){const s=r.useContext(H);return W&&!s&&Be(),t.jsx("li",{className:j.item,children:t.jsx(A,{href:e,children:n})})}C.isSmartyTableOfContentsLink=!0;function We(e){return e===C?!0:typeof e=="function"&&e.isSmartyTableOfContentsLink===!0}function qe({title:e="Table of contents",children:n}){const s=r.useId();return W&&q(n,We),t.jsxs("nav",{className:j.nav,"aria-labelledby":s,children:[t.jsx("h2",{id:s,className:j.heading,children:e}),t.jsx(H,{value:!0,children:t.jsx("ul",{role:"list",className:j.list,children:n})})]})}const He="_hero_93692_11",Pe="_layout_93692_16",Ue="_content_93692_21",Ve="_titleLine_93692_25",Je="_titleWord_93692_29",Ke="_description_93692_35",Xe="_media_93692_48",h={hero:He,layout:Pe,content:Ue,titleLine:Ve,titleWord:Je,description:Ke,media:Xe};function Ge(e){return e.replace(/([- ])/g,n=>`${n===" "?" ":n}|split|`).split("|split|")}const Ze=e=>({"--hero-index":e});function Qe({title:e,description:n,media:s}){const i=Array.isArray(e);let c=0;const d=(i?e:[e]).map(o=>Ge(o).map(u=>({word:u,index:c++})));return t.jsx("section",{className:h.hero,children:t.jsxs("div",{className:h.layout,children:[t.jsx("div",{className:h.media,children:s}),t.jsxs("div",{className:h.content,children:[t.jsx(z,{children:d.map((o,u)=>t.jsx("span",{className:i?h.titleLine:void 0,children:o.map(({word:f,index:_})=>t.jsx("span",{className:h.titleWord,style:Ze(_),children:f},_))},u))}),t.jsx("p",{className:h.description,children:n})]})]})})}function Ye(){return t.jsx("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:t.jsx("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M6.58586 8L1.29297 2.70711L2.70718 1.29289L8.00008 6.58579L13.293 1.29289L14.7072 2.70711L9.41429 8L14.7072 13.2929L13.293 14.7071L8.00008 9.41421L2.70718 14.7071L1.29297 13.2929L6.58586 8Z",fill:"currentColor"})})}const en="_field_7z5g3_1",nn="_error_7z5g3_17",tn="_message_7z5g3_21",sn="_content_7z5g3_36",on="_reveal_7z5g3_43",rn="_label_7z5g3_53",an="_tags_7z5g3_64",cn="_input_7z5g3_71",ln="_counter_7z5g3_88",dn="_empty_7z5g3_100",un="_disabled_7z5g3_127",fn="_chip_7z5g3_132",_n="_chipText_7z5g3_153",mn="_remove_7z5g3_158",pn="_invalid_7z5g3_169",l={field:en,error:nn,message:tn,content:sn,reveal:on,label:rn,tags:an,input:cn,counter:ln,empty:dn,disabled:un,chip:fn,chipText:_n,remove:mn,invalid:pn};function hn({children:e,invalid:n,onRemove:s}){return t.jsxs("span",{className:[l.chip,n&&l.invalid].filter(Boolean).join(" "),children:[t.jsx("span",{className:l.chipText,children:e}),s&&t.jsx("button",{type:"button",className:l.remove,"aria-label":`Remove ${e}${n?" (invalid)":""}`,onClick:s,children:t.jsx(Ye,{})})]})}const L=100;function yn({label:e,value:n,onChange:s,disabled:i=!1,isTagInvalid:c,onInputChange:d,error:o}){const u=r.useId(),f=`${u}-message`,_=r.useRef(null),[m,P]=r.useState(""),U=n.length>=L,V=a=>{P(a),d?.(a)},N=a=>{const p=a.split(/[\s,]+/),O=p.pop()??"",v=p.filter(Boolean).slice(0,Math.max(0,L-n.length));v.length&&s([...n,...v]),V(O)},J=a=>{a.key==="Enter"&&m&&!a.nativeEvent.isComposing?(a.preventDefault(),N(`${m},`)):a.key==="Backspace"&&!m&&n.length&&s(n.slice(0,-1))},K=a=>{i||a.target===_.current||a.target.closest("button")||(a.preventDefault(),_.current?.focus())},X=[l.field,!n.length&&l.empty,i&&l.disabled,o&&l.error].filter(Boolean).join(" ");return t.jsxs("div",{children:[t.jsxs("div",{className:X,onMouseDown:K,children:[t.jsxs("div",{className:l.content,children:[t.jsx("label",{htmlFor:u,className:l.label,children:e}),t.jsx("div",{className:l.reveal,children:t.jsxs("div",{className:l.tags,children:[n.map((a,p)=>t.jsx(hn,{invalid:c?.(a,p)??!1,onRemove:i?void 0:()=>{s(n.filter((O,v)=>v!==p)),p===n.length-1&&_.current?.focus()},children:a},p)),t.jsx("input",{ref:_,id:u,className:l.input,size:1,value:m,disabled:i,readOnly:U,"aria-invalid":o?!0:void 0,"aria-describedby":o?f:void 0,onChange:a=>{N(a.target.value)},onKeyDown:J,onBlur:()=>{N(`${m},`)}})]})})]}),t.jsx("div",{className:l.reveal,children:t.jsxs("p",{className:l.counter,children:[n.length," / ",L]})})]}),t.jsx("p",{id:f,className:l.message,"aria-live":"polite",children:o})]})}const xn="_field_1hc5h_1",vn="_label_1hc5h_16",gn="_reveal_1hc5h_27",jn="_input_1hc5h_37",Nn="_empty_1hc5h_55",y={field:xn,label:vn,reveal:gn,input:jn,empty:Nn};function bn({label:e,value:n,onChange:s}){const i=r.useId(),c=r.useRef(null),d=o=>{o.target!==c.current&&(o.preventDefault(),c.current?.focus())};return t.jsxs("div",{className:[y.field,!n&&y.empty].filter(Boolean).join(" "),onMouseDown:d,children:[t.jsx("label",{htmlFor:i,className:y.label,children:e}),t.jsx("div",{className:y.reveal,children:t.jsx("div",{children:t.jsx("input",{ref:c,id:i,className:y.input,value:n,onChange:o=>{s(o.target.value)}})})})]})}exports.Button=pe;exports.H1=z;exports.H2=ee;exports.Hero=Qe;exports.Link=A;exports.LinkProvider=ge;exports.ListItem=k;exports.MultitagField=yn;exports.Paragraph=se;exports.SideNav=ze;exports.SideNavLink=De;exports.TableOfContents=qe;exports.TableOfContentsLink=C;exports.TextField=bn;exports.UnorderedList=le;
package/dist/index.js CHANGED
@@ -1,253 +1,313 @@
1
1
  "use client";
2
- import { jsx as n, jsxs as f } from "react/jsx-runtime";
3
- import { Children as V, isValidElement as K, Fragment as X, createContext as k, useContext as x, useId as O, useRef as B, useState as q } from "react";
4
- const G = "_h1_1765w_1", J = {
5
- h1: G
2
+ import { jsx as i, jsxs as _ } from "react/jsx-runtime";
3
+ import { Children as D, isValidElement as E, Fragment as B, createContext as $, useContext as w, useId as x, useRef as A, useState as en } from "react";
4
+ const tn = "_h1_1765w_1", sn = {
5
+ h1: tn
6
6
  };
7
- function Z({ children: e, className: t }) {
8
- const s = [J.h1, t].filter(Boolean).join(" ");
9
- return /* @__PURE__ */ n("h1", { className: s, children: e });
7
+ function on({ children: n, className: e }) {
8
+ const t = [sn.h1, e].filter(Boolean).join(" ");
9
+ return /* @__PURE__ */ i("h1", { className: t, children: n });
10
10
  }
11
- const Q = "_h2_1eque_1", Y = {
12
- h2: Q
11
+ const rn = "_h2_1eque_1", an = {
12
+ h2: rn
13
13
  };
14
- function ct({ children: e }) {
15
- return /* @__PURE__ */ n("h2", { className: Y.h2, children: e });
14
+ function we({ children: n }) {
15
+ return /* @__PURE__ */ i("h2", { className: an.h2, children: n });
16
16
  }
17
- const ee = "_paragraph_11t85_1", te = {
18
- paragraph: ee
17
+ const cn = "_paragraph_11t85_1", ln = {
18
+ paragraph: cn
19
19
  };
20
- function lt({ children: e }) {
21
- return /* @__PURE__ */ n("p", { className: te.paragraph, children: e });
22
- }
23
- const C = typeof process < "u" && process.env.NODE_ENV !== "production", T = /* @__PURE__ */ new Set();
24
- function $(e) {
25
- T.has(e) || (T.add(e), console.warn(`[@smartyweb/ui] ${e}`));
26
- }
27
- function ne(e) {
28
- if (typeof e == "string") return `<${e}>`;
29
- if (typeof e == "function") return `<${e.name || "Component"}>`;
30
- if (typeof e == "object" && e !== null && "displayName" in e) {
31
- const { displayName: t } = e;
32
- if (typeof t == "string") return `<${t}>`;
20
+ function Le({ children: n }) {
21
+ return /* @__PURE__ */ i("p", { className: ln.paragraph, children: n });
22
+ }
23
+ const M = typeof process < "u" && process.env.NODE_ENV !== "production", z = /* @__PURE__ */ new Set();
24
+ function T(n) {
25
+ z.has(n) || (z.add(n), console.warn(`[@smartyweb/ui] ${n}`));
26
+ }
27
+ function dn(n) {
28
+ if (typeof n == "string") return `<${n}>`;
29
+ if (typeof n == "function") return `<${n.name || "Component"}>`;
30
+ if (typeof n == "object" && n !== null && "displayName" in n) {
31
+ const { displayName: e } = n;
32
+ if (typeof e == "string") return `<${e}>`;
33
33
  }
34
34
  return "an unknown element";
35
35
  }
36
- function D(e, t) {
37
- for (const s of V.toArray(e)) {
38
- if (!K(s)) {
39
- if (typeof s != "string" && typeof s != "number") continue;
40
- const i = String(s).trim();
41
- if (i === "") continue;
42
- $(
43
- `<UnorderedList> received the text ${JSON.stringify(i.slice(0, 40))} as a direct child. A <ul> may only contain list items — wrap it in <ListItem>.`
36
+ function W(n, e) {
37
+ for (const t of D.toArray(n)) {
38
+ if (!E(t)) {
39
+ if (typeof t != "string" && typeof t != "number") continue;
40
+ const s = String(t).trim();
41
+ if (s === "") continue;
42
+ T(
43
+ `<UnorderedList> received the text ${JSON.stringify(s.slice(0, 40))} as a direct child. A <ul> may only contain list items — wrap it in <ListItem>.`
44
44
  );
45
45
  continue;
46
46
  }
47
- if (s.type === X) {
48
- const { children: i } = s.props;
49
- D(i, t);
47
+ if (t.type === B) {
48
+ const { children: s } = t.props;
49
+ W(s, e);
50
50
  continue;
51
51
  }
52
- t(s.type) || s.type === "li" || $(
53
- `<UnorderedList> received ${ne(s.type)} as a direct child. A <ul> may only contain list items — wrap it in <ListItem>.`
52
+ e(t.type) || t.type === "li" || T(
53
+ `<UnorderedList> received ${dn(t.type)} as a direct child. A <ul> may only contain list items — wrap it in <ListItem>.`
54
54
  );
55
55
  }
56
56
  }
57
- function se() {
58
- $(
57
+ function un() {
58
+ T(
59
59
  "<ListItem> was rendered outside of an <UnorderedList>. It renders an <li>, which browsers only style correctly inside a list."
60
60
  );
61
61
  }
62
- const ie = "_list_1p627_1", oe = "_item_1p627_14", E = {
63
- list: ie,
64
- item: oe
65
- }, S = k(!1);
66
- function M({ children: e }) {
67
- const t = x(S);
68
- return C && !t && se(), /* @__PURE__ */ n("li", { className: E.item, children: e });
69
- }
70
- M.isSmartyListItem = !0;
71
- function re(e) {
72
- return e === M ? !0 : typeof e == "function" && e.isSmartyListItem === !0;
73
- }
74
- function ut({ children: e }) {
75
- return C && D(e, re), /* @__PURE__ */ n(S, { value: !0, children: /* @__PURE__ */ n("ul", { role: "list", className: E.list, children: e }) });
76
- }
77
- const ae = "_button_1391k_1", ce = "_sm_1391k_26", le = "_primary_1391k_33", ue = "_secondary_1391k_49", de = "_negative_1391k_68", L = {
78
- button: ae,
79
- sm: ce,
80
- primary: le,
81
- secondary: ue,
82
- negative: de
62
+ const fn = "_list_1p627_1", _n = "_item_1p627_14", R = {
63
+ list: fn,
64
+ item: _n
65
+ }, F = $(!1);
66
+ function q({ children: n }) {
67
+ const e = w(F);
68
+ return M && !e && un(), /* @__PURE__ */ i("li", { className: R.item, children: n });
69
+ }
70
+ q.isSmartyListItem = !0;
71
+ function mn(n) {
72
+ return n === q ? !0 : typeof n == "function" && n.isSmartyListItem === !0;
73
+ }
74
+ function ke({ children: n }) {
75
+ return M && W(n, mn), /* @__PURE__ */ i(F, { value: !0, children: /* @__PURE__ */ i("ul", { role: "list", className: R.list, children: n }) });
76
+ }
77
+ const pn = "_button_81qo0_1", hn = "_sm_81qo0_26", yn = "_primary_81qo0_33", vn = "_secondary_81qo0_49", gn = "_negative_81qo0_68", k = {
78
+ button: pn,
79
+ sm: hn,
80
+ primary: yn,
81
+ secondary: vn,
82
+ negative: gn
83
83
  };
84
- function dt({
85
- as: e = "button",
86
- variant: t = "primary",
87
- size: s = "default",
88
- href: i,
89
- openInNewTab: c,
84
+ function Oe({
85
+ as: n = "button",
86
+ variant: e = "primary",
87
+ size: t = "default",
88
+ href: s,
89
+ openInNewTab: a,
90
90
  disabled: l,
91
91
  type: o,
92
- onClick: u,
93
- children: d
92
+ onClick: d,
93
+ children: u
94
94
  }) {
95
- const m = [L.button, L[t], s === "sm" && L.sm].filter(Boolean).join(" ");
96
- return /* @__PURE__ */ n(
97
- e,
95
+ const m = [k.button, k[e], t === "sm" && k.sm].filter(Boolean).join(" ");
96
+ return /* @__PURE__ */ i(
97
+ n,
98
98
  {
99
99
  className: m,
100
- href: i,
101
- target: c ? "_blank" : void 0,
102
- rel: c ? "noopener noreferrer" : void 0,
100
+ href: s,
101
+ target: a ? "_blank" : void 0,
102
+ rel: a ? "noopener noreferrer" : void 0,
103
103
  disabled: l,
104
104
  type: o,
105
- onClick: u,
106
- children: d
105
+ onClick: d,
106
+ children: u
107
107
  }
108
108
  );
109
109
  }
110
- const _e = "_link_1m7hb_1", fe = "_accent_1m7hb_28", me = "_disabled_1m7hb_38", pe = "_newTabNote_1m7hb_48", b = {
111
- link: _e,
112
- accent: fe,
113
- disabled: me,
114
- newTabNote: pe
115
- }, A = k(null);
116
- function _t({ component: e, children: t }) {
117
- return /* @__PURE__ */ n(A, { value: e, children: t });
118
- }
119
- function he() {
120
- return x(A);
121
- }
122
- const ve = " (opens in new tab)", ye = /\.[a-z][a-z\d]{1,4}$/;
123
- function Ne(e, t) {
124
- if (t) return "download";
125
- if (/^(https?:)?\/\//i.test(e)) return "external";
126
- if (e.startsWith("#") || /^[a-z][a-z\d+.-]*:/i.test(e)) return "plain";
127
- const s = (e.split(/[?#]/)[0] ?? "").toLowerCase();
128
- return ye.test(s) ? "plain" : "router";
129
- }
130
- function ft({
131
- variant: e = "default",
132
- href: t,
133
- download: s = !1,
134
- disabled: i,
135
- onClick: c,
110
+ const Nn = "_link_1m7hb_1", bn = "_accent_1m7hb_28", $n = "_disabled_1m7hb_38", wn = "_newTabNote_1m7hb_48", N = {
111
+ link: Nn,
112
+ accent: bn,
113
+ disabled: $n,
114
+ newTabNote: wn
115
+ }, H = $(null);
116
+ function Te({ component: n, children: e }) {
117
+ return /* @__PURE__ */ i(H, { value: n, children: e });
118
+ }
119
+ function Ln() {
120
+ return w(H);
121
+ }
122
+ const kn = " (opens in new tab)", On = /\.[a-z][a-z\d]{1,4}$/;
123
+ function Tn(n, e) {
124
+ if (e) return "download";
125
+ if (/^(https?:)?\/\//i.test(n)) return "external";
126
+ if (n.startsWith("#") || /^[a-z][a-z\d+.-]*:/i.test(n)) return "plain";
127
+ const t = (n.split(/[?#]/)[0] ?? "").toLowerCase();
128
+ return On.test(t) ? "plain" : "router";
129
+ }
130
+ function Cn({
131
+ variant: n = "default",
132
+ href: e,
133
+ download: t = !1,
134
+ disabled: s,
135
+ onClick: a,
136
136
  children: l
137
137
  }) {
138
- const o = he(), d = [b.link, e === "accent" && b.accent, i && b.disabled].filter(Boolean).join(" ");
139
- if (t === void 0)
140
- return /* @__PURE__ */ n(
138
+ const o = Ln(), u = [N.link, n === "accent" && N.accent, s && N.disabled].filter(Boolean).join(" ");
139
+ if (e === void 0)
140
+ return /* @__PURE__ */ i(
141
141
  "button",
142
142
  {
143
143
  type: "button",
144
- className: d,
145
- disabled: i,
146
- onClick: i ? void 0 : c,
147
- "aria-disabled": i,
144
+ className: u,
145
+ disabled: s,
146
+ onClick: s ? void 0 : a,
147
+ "aria-disabled": s,
148
148
  children: l
149
149
  }
150
150
  );
151
- const _ = Ne(t, s);
152
- return _ === "external" ? /* @__PURE__ */ f(
151
+ const f = Tn(e, t);
152
+ return f === "external" ? /* @__PURE__ */ _(
153
153
  "a",
154
154
  {
155
- className: d,
156
- href: t,
155
+ className: u,
156
+ href: e,
157
157
  target: "_blank",
158
158
  rel: "noopener noreferrer",
159
- onClick: c,
159
+ onClick: a,
160
160
  children: [
161
161
  l,
162
- /* @__PURE__ */ n("span", { className: b.newTabNote, children: ve })
162
+ /* @__PURE__ */ i("span", { className: N.newTabNote, children: kn })
163
163
  ]
164
164
  }
165
165
  ) : (
166
166
  // The router link comes from context, set once at the app root, so it keeps its
167
167
  // identity across renders — the remount this rule guards against cannot happen.
168
168
  // eslint-disable-next-line react-hooks/static-components
169
- /* @__PURE__ */ n(
170
- _ === "router" && o ? o : "a",
169
+ /* @__PURE__ */ i(
170
+ f === "router" && o ? o : "a",
171
171
  {
172
- className: d,
173
- href: t,
174
- download: _ === "download" ? "" : void 0,
175
- onClick: c,
172
+ className: u,
173
+ href: e,
174
+ download: f === "download" ? "" : void 0,
175
+ onClick: a,
176
176
  children: l
177
177
  }
178
178
  )
179
179
  );
180
180
  }
181
- const be = typeof process < "u" && process.env.NODE_ENV !== "production", I = /* @__PURE__ */ new Set();
182
- function ge(e) {
183
- I.has(e) || (I.add(e), console.warn(`[@smartyweb/ui] ${e}`));
181
+ const xn = typeof process < "u" && process.env.NODE_ENV !== "production", I = /* @__PURE__ */ new Set();
182
+ function jn(n) {
183
+ I.has(n) || (I.add(n), console.warn(`[@smartyweb/ui] ${n}`));
184
184
  }
185
- function Le() {
186
- ge(
185
+ function zn() {
186
+ jn(
187
187
  "<SideNav> was rendered with no accessible name. Pass `label` so screen reader users can tell this nav apart from the other navigation landmarks on the page."
188
188
  );
189
189
  }
190
- const we = "_nav_dxkjl_3", $e = "_list_dxkjl_7", ke = "_item_dxkjl_16", xe = "_link_dxkjl_20", je = "_current_dxkjl_48", y = {
191
- nav: we,
192
- list: $e,
193
- item: ke,
194
- link: xe,
195
- current: je
196
- }, R = k(null);
197
- function mt({ label: e, current: t, children: s }) {
198
- return be && !e?.trim() && Le(), /* @__PURE__ */ n("nav", { className: y.nav, "aria-label": e, children: /* @__PURE__ */ n(R, { value: t ?? null, children: /* @__PURE__ */ n("ul", { className: y.list, children: s }) }) });
199
- }
200
- function pt({
201
- as: e = "a",
202
- href: t,
203
- current: s,
204
- openInNewTab: i,
205
- onClick: c,
190
+ const In = "_nav_dxkjl_3", Sn = "_list_dxkjl_7", Dn = "_item_dxkjl_16", En = "_link_dxkjl_20", Bn = "_current_dxkjl_48", v = {
191
+ nav: In,
192
+ list: Sn,
193
+ item: Dn,
194
+ link: En,
195
+ current: Bn
196
+ }, U = $(null);
197
+ function Ce({ label: n, current: e, children: t }) {
198
+ return xn && !n?.trim() && zn(), /* @__PURE__ */ i("nav", { className: v.nav, "aria-label": n, children: /* @__PURE__ */ i(U, { value: e ?? null, children: /* @__PURE__ */ i("ul", { className: v.list, children: t }) }) });
199
+ }
200
+ function xe({
201
+ as: n = "a",
202
+ href: e,
203
+ current: t,
204
+ openInNewTab: s,
205
+ onClick: a,
206
206
  children: l
207
207
  }) {
208
- const o = x(R), u = s ?? (o !== null && o === t), d = [y.link, u && y.current].filter(Boolean).join(" ");
209
- return /* @__PURE__ */ n("li", { className: y.item, children: /* @__PURE__ */ n(
210
- e,
208
+ const o = w(U), d = t ?? (o !== null && o === e), u = [v.link, d && v.current].filter(Boolean).join(" ");
209
+ return /* @__PURE__ */ i("li", { className: v.item, children: /* @__PURE__ */ i(
210
+ n,
211
211
  {
212
- className: d,
213
- href: t,
214
- target: i ? "_blank" : void 0,
215
- rel: i ? "noopener noreferrer" : void 0,
216
- onClick: c,
217
- "aria-current": u ? "location" : void 0,
212
+ className: u,
213
+ href: e,
214
+ target: s ? "_blank" : void 0,
215
+ rel: s ? "noopener noreferrer" : void 0,
216
+ onClick: a,
217
+ "aria-current": d ? "location" : void 0,
218
218
  children: l
219
219
  }
220
220
  ) });
221
221
  }
222
- const Te = "_hero_93692_11", Ie = "_layout_93692_16", Oe = "_content_93692_21", Be = "_titleLine_93692_25", Ce = "_titleWord_93692_29", De = "_description_93692_35", Ee = "_media_93692_48", h = {
223
- hero: Te,
224
- layout: Ie,
225
- content: Oe,
226
- titleLine: Be,
227
- titleWord: Ce,
228
- description: De,
229
- media: Ee
222
+ const V = typeof process < "u" && process.env.NODE_ENV !== "production", S = /* @__PURE__ */ new Set();
223
+ function C(n) {
224
+ S.has(n) || (S.add(n), console.warn(`[@smartyweb/ui] ${n}`));
225
+ }
226
+ function An(n) {
227
+ if (typeof n == "string") return `<${n}>`;
228
+ if (typeof n == "function") return `<${n.name || "Component"}>`;
229
+ if (typeof n == "object" && n !== null && "displayName" in n) {
230
+ const { displayName: e } = n;
231
+ if (typeof e == "string") return `<${e}>`;
232
+ }
233
+ return "an unknown element";
234
+ }
235
+ function P(n, e) {
236
+ for (const t of D.toArray(n)) {
237
+ if (!E(t)) {
238
+ if (typeof t != "string" && typeof t != "number") continue;
239
+ const s = String(t).trim();
240
+ if (s === "") continue;
241
+ C(
242
+ `<TableOfContents> received the text ${JSON.stringify(s.slice(0, 40))} as a direct child. Its list may only contain entries — wrap it in <TableOfContentsLink href="#…">.`
243
+ );
244
+ continue;
245
+ }
246
+ if (t.type === B) {
247
+ const { children: s } = t.props;
248
+ P(s, e);
249
+ continue;
250
+ }
251
+ e(t.type) || t.type === "li" || C(
252
+ `<TableOfContents> received ${An(t.type)} as a direct child. Its list may only contain entries — use <TableOfContentsLink href="#…"> instead.`
253
+ );
254
+ }
255
+ }
256
+ function Mn() {
257
+ C(
258
+ "<TableOfContentsLink> was rendered outside of a <TableOfContents>. It renders an <li>, which browsers only style correctly inside a list."
259
+ );
260
+ }
261
+ const Wn = "_nav_1us0j_1", Rn = "_heading_1us0j_8", Fn = "_list_1us0j_19", qn = "_item_1us0j_28", b = {
262
+ nav: Wn,
263
+ heading: Rn,
264
+ list: Fn,
265
+ item: qn
266
+ }, J = $(!1);
267
+ function K({ href: n, children: e }) {
268
+ const t = w(J);
269
+ return V && !t && Mn(), /* @__PURE__ */ i("li", { className: b.item, children: /* @__PURE__ */ i(Cn, { href: n, children: e }) });
270
+ }
271
+ K.isSmartyTableOfContentsLink = !0;
272
+ function Hn(n) {
273
+ return n === K ? !0 : typeof n == "function" && n.isSmartyTableOfContentsLink === !0;
274
+ }
275
+ function je({ title: n = "Table of contents", children: e }) {
276
+ const t = x();
277
+ return V && P(e, Hn), /* @__PURE__ */ _("nav", { className: b.nav, "aria-labelledby": t, children: [
278
+ /* @__PURE__ */ i("h2", { id: t, className: b.heading, children: n }),
279
+ /* @__PURE__ */ i(J, { value: !0, children: /* @__PURE__ */ i("ul", { role: "list", className: b.list, children: e }) })
280
+ ] });
281
+ }
282
+ const Un = "_hero_93692_11", Vn = "_layout_93692_16", Pn = "_content_93692_21", Jn = "_titleLine_93692_25", Kn = "_titleWord_93692_29", Xn = "_description_93692_35", Gn = "_media_93692_48", h = {
283
+ hero: Un,
284
+ layout: Vn,
285
+ content: Pn,
286
+ titleLine: Jn,
287
+ titleWord: Kn,
288
+ description: Xn,
289
+ media: Gn
230
290
  };
231
- function Se(e) {
232
- return e.replace(/([- ])/g, (t) => `${t === " " ? " " : t}|split|`).split("|split|");
233
- }
234
- const Me = (e) => ({ "--hero-index": e });
235
- function ht({ title: e, description: t, media: s }) {
236
- const i = Array.isArray(e);
237
- let c = 0;
238
- const l = (i ? e : [e]).map(
239
- (o) => Se(o).map((u) => ({ word: u, index: c++ }))
291
+ function Zn(n) {
292
+ return n.replace(/([- ])/g, (e) => `${e === " " ? " " : e}|split|`).split("|split|");
293
+ }
294
+ const Qn = (n) => ({ "--hero-index": n });
295
+ function ze({ title: n, description: e, media: t }) {
296
+ const s = Array.isArray(n);
297
+ let a = 0;
298
+ const l = (s ? n : [n]).map(
299
+ (o) => Zn(o).map((d) => ({ word: d, index: a++ }))
240
300
  );
241
- return /* @__PURE__ */ n("section", { className: h.hero, children: /* @__PURE__ */ f("div", { className: h.layout, children: [
242
- /* @__PURE__ */ n("div", { className: h.media, children: s }),
243
- /* @__PURE__ */ f("div", { className: h.content, children: [
244
- /* @__PURE__ */ n(Z, { children: l.map((o, u) => /* @__PURE__ */ n("span", { className: i ? h.titleLine : void 0, children: o.map(({ word: d, index: _ }) => /* @__PURE__ */ n("span", { className: h.titleWord, style: Me(_), children: d }, _)) }, u)) }),
245
- /* @__PURE__ */ n("p", { className: h.description, children: t })
301
+ return /* @__PURE__ */ i("section", { className: h.hero, children: /* @__PURE__ */ _("div", { className: h.layout, children: [
302
+ /* @__PURE__ */ i("div", { className: h.media, children: t }),
303
+ /* @__PURE__ */ _("div", { className: h.content, children: [
304
+ /* @__PURE__ */ i(on, { children: l.map((o, d) => /* @__PURE__ */ i("span", { className: s ? h.titleLine : void 0, children: o.map(({ word: u, index: f }) => /* @__PURE__ */ i("span", { className: h.titleWord, style: Qn(f), children: u }, f)) }, d)) }),
305
+ /* @__PURE__ */ i("p", { className: h.description, children: e })
246
306
  ] })
247
307
  ] }) });
248
308
  }
249
- function Ae() {
250
- return /* @__PURE__ */ n("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ n(
309
+ function Yn() {
310
+ return /* @__PURE__ */ i("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ i(
251
311
  "path",
252
312
  {
253
313
  fillRule: "evenodd",
@@ -257,139 +317,138 @@ function Ae() {
257
317
  }
258
318
  ) });
259
319
  }
260
- const Re = "_field_14suf_1", We = "_error_14suf_17", Fe = "_message_14suf_21", ze = "_content_14suf_36", He = "_reveal_14suf_43", Ue = "_label_14suf_53", Pe = "_tags_14suf_64", Ve = "_chips_14suf_71", Ke = "_input_14suf_78", Xe = "_counter_14suf_95", qe = "_empty_14suf_107", Ge = "_disabled_14suf_134", Je = "_chip_14suf_71", Ze = "_chipText_14suf_160", Qe = "_remove_14suf_165", Ye = "_invalid_14suf_176", a = {
261
- field: Re,
262
- error: We,
263
- message: Fe,
264
- content: ze,
265
- reveal: He,
266
- label: Ue,
267
- tags: Pe,
268
- chips: Ve,
269
- input: Ke,
270
- counter: Xe,
271
- empty: qe,
272
- disabled: Ge,
273
- chip: Je,
274
- chipText: Ze,
275
- remove: Qe,
276
- invalid: Ye
320
+ const ne = "_field_7z5g3_1", ee = "_error_7z5g3_17", te = "_message_7z5g3_21", ie = "_content_7z5g3_36", se = "_reveal_7z5g3_43", oe = "_label_7z5g3_53", re = "_tags_7z5g3_64", ae = "_input_7z5g3_71", ce = "_counter_7z5g3_88", le = "_empty_7z5g3_100", de = "_disabled_7z5g3_127", ue = "_chip_7z5g3_132", fe = "_chipText_7z5g3_153", _e = "_remove_7z5g3_158", me = "_invalid_7z5g3_169", c = {
321
+ field: ne,
322
+ error: ee,
323
+ message: te,
324
+ content: ie,
325
+ reveal: se,
326
+ label: oe,
327
+ tags: re,
328
+ input: ae,
329
+ counter: ce,
330
+ empty: le,
331
+ disabled: de,
332
+ chip: ue,
333
+ chipText: fe,
334
+ remove: _e,
335
+ invalid: me
277
336
  };
278
- function et({ children: e, invalid: t, onRemove: s }) {
279
- return /* @__PURE__ */ f("li", { className: [a.chip, t && a.invalid].filter(Boolean).join(" "), children: [
280
- /* @__PURE__ */ n("span", { className: a.chipText, children: e }),
281
- s && /* @__PURE__ */ n(
337
+ function pe({ children: n, invalid: e, onRemove: t }) {
338
+ return /* @__PURE__ */ _("span", { className: [c.chip, e && c.invalid].filter(Boolean).join(" "), children: [
339
+ /* @__PURE__ */ i("span", { className: c.chipText, children: n }),
340
+ t && /* @__PURE__ */ i(
282
341
  "button",
283
342
  {
284
343
  type: "button",
285
- className: a.remove,
286
- "aria-label": `Remove ${e}${t ? " (invalid)" : ""}`,
287
- onClick: s,
288
- children: /* @__PURE__ */ n(Ae, {})
344
+ className: c.remove,
345
+ "aria-label": `Remove ${n}${e ? " (invalid)" : ""}`,
346
+ onClick: t,
347
+ children: /* @__PURE__ */ i(Yn, {})
289
348
  }
290
349
  )
291
350
  ] });
292
351
  }
293
- const w = 100;
294
- function vt({
295
- label: e,
296
- value: t,
297
- onChange: s,
298
- disabled: i = !1,
299
- isTagInvalid: c,
352
+ const O = 100;
353
+ function Ie({
354
+ label: n,
355
+ value: e,
356
+ onChange: t,
357
+ disabled: s = !1,
358
+ isTagInvalid: a,
300
359
  onInputChange: l,
301
360
  error: o
302
361
  }) {
303
- const u = O(), d = `${u}-message`, _ = B(null), [m, W] = q(""), F = t.length >= w, z = (r) => {
304
- W(r), l?.(r);
305
- }, g = (r) => {
306
- const p = r.split(/[\s,]+/), j = p.pop() ?? "", N = p.filter(Boolean).slice(0, Math.max(0, w - t.length));
307
- N.length && s([...t, ...N]), z(j);
308
- }, H = (r) => {
309
- r.key === "Enter" && m && !r.nativeEvent.isComposing ? (r.preventDefault(), g(`${m},`)) : r.key === "Backspace" && !m && t.length && s(t.slice(0, -1));
310
- }, U = (r) => {
311
- i || r.target === _.current || r.target.closest("button") || (r.preventDefault(), _.current?.focus());
312
- }, P = [
313
- a.field,
314
- !t.length && a.empty,
315
- i && a.disabled,
316
- o && a.error
362
+ const d = x(), u = `${d}-message`, f = A(null), [m, X] = en(""), G = e.length >= O, Z = (r) => {
363
+ X(r), l?.(r);
364
+ }, L = (r) => {
365
+ const p = r.split(/[\s,]+/), j = p.pop() ?? "", g = p.filter(Boolean).slice(0, Math.max(0, O - e.length));
366
+ g.length && t([...e, ...g]), Z(j);
367
+ }, Q = (r) => {
368
+ r.key === "Enter" && m && !r.nativeEvent.isComposing ? (r.preventDefault(), L(`${m},`)) : r.key === "Backspace" && !m && e.length && t(e.slice(0, -1));
369
+ }, Y = (r) => {
370
+ s || r.target === f.current || r.target.closest("button") || (r.preventDefault(), f.current?.focus());
371
+ }, nn = [
372
+ c.field,
373
+ !e.length && c.empty,
374
+ s && c.disabled,
375
+ o && c.error
317
376
  ].filter(Boolean).join(" ");
318
- return /* @__PURE__ */ f("div", { children: [
319
- /* @__PURE__ */ f("div", { className: P, onMouseDown: U, children: [
320
- /* @__PURE__ */ f("div", { className: a.content, children: [
321
- /* @__PURE__ */ n("label", { htmlFor: u, className: a.label, children: e }),
322
- /* @__PURE__ */ n("div", { className: a.reveal, children: /* @__PURE__ */ f("div", { className: a.tags, children: [
323
- t.length > 0 && /* @__PURE__ */ n("ul", { role: "list", className: a.chips, children: t.map((r, p) => /* @__PURE__ */ n(
324
- et,
377
+ return /* @__PURE__ */ _("div", { children: [
378
+ /* @__PURE__ */ _("div", { className: nn, onMouseDown: Y, children: [
379
+ /* @__PURE__ */ _("div", { className: c.content, children: [
380
+ /* @__PURE__ */ i("label", { htmlFor: d, className: c.label, children: n }),
381
+ /* @__PURE__ */ i("div", { className: c.reveal, children: /* @__PURE__ */ _("div", { className: c.tags, children: [
382
+ e.map((r, p) => /* @__PURE__ */ i(
383
+ pe,
325
384
  {
326
- invalid: c?.(r, p) ?? !1,
327
- onRemove: i ? void 0 : () => {
328
- s(t.filter((j, N) => N !== p)), p === t.length - 1 && _.current?.focus();
385
+ invalid: a?.(r, p) ?? !1,
386
+ onRemove: s ? void 0 : () => {
387
+ t(e.filter((j, g) => g !== p)), p === e.length - 1 && f.current?.focus();
329
388
  },
330
389
  children: r
331
390
  },
332
391
  p
333
- )) }),
334
- /* @__PURE__ */ n(
392
+ )),
393
+ /* @__PURE__ */ i(
335
394
  "input",
336
395
  {
337
- ref: _,
338
- id: u,
339
- className: a.input,
396
+ ref: f,
397
+ id: d,
398
+ className: c.input,
340
399
  size: 1,
341
400
  value: m,
342
- disabled: i,
343
- readOnly: F,
401
+ disabled: s,
402
+ readOnly: G,
344
403
  "aria-invalid": o ? !0 : void 0,
345
- "aria-describedby": o ? d : void 0,
404
+ "aria-describedby": o ? u : void 0,
346
405
  onChange: (r) => {
347
- g(r.target.value);
406
+ L(r.target.value);
348
407
  },
349
- onKeyDown: H,
408
+ onKeyDown: Q,
350
409
  onBlur: () => {
351
- g(`${m},`);
410
+ L(`${m},`);
352
411
  }
353
412
  }
354
413
  )
355
414
  ] }) })
356
415
  ] }),
357
- /* @__PURE__ */ n("div", { className: a.reveal, children: /* @__PURE__ */ f("p", { className: a.counter, children: [
358
- t.length,
416
+ /* @__PURE__ */ i("div", { className: c.reveal, children: /* @__PURE__ */ _("p", { className: c.counter, children: [
417
+ e.length,
359
418
  " / ",
360
- w
419
+ O
361
420
  ] }) })
362
421
  ] }),
363
- /* @__PURE__ */ n("p", { id: d, className: a.message, "aria-live": "polite", children: o })
422
+ /* @__PURE__ */ i("p", { id: u, className: c.message, "aria-live": "polite", children: o })
364
423
  ] });
365
424
  }
366
- const tt = "_field_otub4_1", nt = "_label_otub4_16", st = "_reveal_otub4_27", it = "_input_otub4_37", ot = "_empty_otub4_56", v = {
367
- field: tt,
368
- label: nt,
369
- reveal: st,
370
- input: it,
371
- empty: ot
425
+ const he = "_field_1hc5h_1", ye = "_label_1hc5h_16", ve = "_reveal_1hc5h_27", ge = "_input_1hc5h_37", Ne = "_empty_1hc5h_55", y = {
426
+ field: he,
427
+ label: ye,
428
+ reveal: ve,
429
+ input: ge,
430
+ empty: Ne
372
431
  };
373
- function yt({ label: e, value: t, onChange: s }) {
374
- const i = O(), c = B(null), l = (o) => {
375
- o.target !== c.current && (o.preventDefault(), c.current?.focus());
432
+ function Se({ label: n, value: e, onChange: t }) {
433
+ const s = x(), a = A(null), l = (o) => {
434
+ o.target !== a.current && (o.preventDefault(), a.current?.focus());
376
435
  };
377
- return /* @__PURE__ */ f(
436
+ return /* @__PURE__ */ _(
378
437
  "div",
379
438
  {
380
- className: [v.field, !t && v.empty].filter(Boolean).join(" "),
439
+ className: [y.field, !e && y.empty].filter(Boolean).join(" "),
381
440
  onMouseDown: l,
382
441
  children: [
383
- /* @__PURE__ */ n("label", { htmlFor: i, className: v.label, children: e }),
384
- /* @__PURE__ */ n("div", { className: v.reveal, children: /* @__PURE__ */ n("div", { children: /* @__PURE__ */ n(
442
+ /* @__PURE__ */ i("label", { htmlFor: s, className: y.label, children: n }),
443
+ /* @__PURE__ */ i("div", { className: y.reveal, children: /* @__PURE__ */ i("div", { children: /* @__PURE__ */ i(
385
444
  "input",
386
445
  {
387
- ref: c,
388
- id: i,
389
- className: v.input,
390
- value: t,
446
+ ref: a,
447
+ id: s,
448
+ className: y.input,
449
+ value: e,
391
450
  onChange: (o) => {
392
- s(o.target.value);
451
+ t(o.target.value);
393
452
  }
394
453
  }
395
454
  ) }) })
@@ -398,17 +457,19 @@ function yt({ label: e, value: t, onChange: s }) {
398
457
  );
399
458
  }
400
459
  export {
401
- dt as Button,
402
- Z as H1,
403
- ct as H2,
404
- ht as Hero,
405
- ft as Link,
406
- _t as LinkProvider,
407
- M as ListItem,
408
- vt as MultitagField,
409
- lt as Paragraph,
410
- mt as SideNav,
411
- pt as SideNavLink,
412
- yt as TextField,
413
- ut as UnorderedList
460
+ Oe as Button,
461
+ on as H1,
462
+ we as H2,
463
+ ze as Hero,
464
+ Cn as Link,
465
+ Te as LinkProvider,
466
+ q as ListItem,
467
+ Ie as MultitagField,
468
+ Le as Paragraph,
469
+ Ce as SideNav,
470
+ xe as SideNavLink,
471
+ je as TableOfContents,
472
+ K as TableOfContentsLink,
473
+ Se as TextField,
474
+ ke as UnorderedList
414
475
  };
@@ -0,0 +1,12 @@
1
+ import { default as React } from 'react';
2
+ export interface TableOfContentsProps {
3
+ /** The heading above the list, which also names the <nav>. Defaults to Figma's "Table of contents". */
4
+ title?: string;
5
+ children: React.ReactNode;
6
+ }
7
+ /**
8
+ * An in-article list of jump links under a heading. The <nav> is named by that
9
+ * heading, so screen reader users find it in the landmark list. Spacing around it
10
+ * and the surface behind it belong to the section it sits in.
11
+ */
12
+ export declare function TableOfContents({ title, children }: TableOfContentsProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,2 @@
1
+ /** True while rendering inside a <TableOfContents>. Used only for dev warnings. */
2
+ export declare const InsideTableOfContents: import('react').Context<boolean>;
@@ -0,0 +1,11 @@
1
+ import { default as React } from 'react';
2
+ export interface TableOfContentsLinkProps {
3
+ /** Usually a fragment on the same page, e.g. "#how-it-works". */
4
+ href: string;
5
+ children: React.ReactNode;
6
+ }
7
+ /** One entry. Renders its own <li>, so it drops straight into <TableOfContents>. */
8
+ export declare function TableOfContentsLink({ href, children }: TableOfContentsLinkProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare namespace TableOfContentsLink {
10
+ var isSmartyTableOfContentsLink: true;
11
+ }
@@ -0,0 +1,13 @@
1
+ import { ReactNode } from 'react';
2
+ export declare const isDev: boolean;
3
+ /**
4
+ * Warns when <TableOfContents> is handed anything other than <TableOfContentsLink>
5
+ * (or a raw <li>). Its list is a <ul>, which may only contain <li> — a bare <Link>
6
+ * or <a> is invalid HTML and loses the marker and row spacing.
7
+ *
8
+ * Note: a custom wrapper that renders a <TableOfContentsLink> internally will trip
9
+ * this — see the escape hatch in TableOfContentsLink.tsx.
10
+ */
11
+ export declare function warnOnNonLinkChildren(children: ReactNode, isEntry: (type: unknown) => boolean): void;
12
+ /** Warns when <TableOfContentsLink> is rendered outside of a <TableOfContents>. */
13
+ export declare function warnOnOrphanLink(): void;
@@ -0,0 +1,4 @@
1
+ export { TableOfContents } from './TableOfContents';
2
+ export type { TableOfContentsProps } from './TableOfContents';
3
+ export { TableOfContentsLink } from './TableOfContentsLink';
4
+ export type { TableOfContentsLinkProps } from './TableOfContentsLink';
@@ -1 +1,2 @@
1
1
  export * from './SideNav';
2
+ export * from './TableOfContents';
package/dist/ui.css CHANGED
@@ -1 +1 @@
1
- :root{--font-desktop-heading: TT Hoves Pro;--font-desktop-paragraph: TT Hoves Pro;--font-desktop-buttons: Inter;--font-desktop-body-inter: Inter;--font-desktop-body-tt-hoves: TT Hoves Pro;--font-desktop-caption: Inter;--font-desktop-numbers: TT Hoves Pro;--font-desktop-code: Hack;--h-extra-desktop-font-size: 6rem;--h-extra-desktop-line-height: 6.625rem;--h-extra-desktop-letter-spacing: -.03em;--h1-desktop-letter-spacing: -.02em;--h1-desktop-line-height: 4rem;--h1-desktop-font-size: 4rem;--h2-desktop-font-size: 3.25rem;--h2-desktop-letter-spacing: -.02em;--h2-desktop-line-height: 3.5625rem;--h3-desktop-letter-spacing: -.02em;--h3-desktop-font-size: 2.75rem;--h3-desktop-line-height: 3rem;--h4-desktop-letter-spacing: -.01em;--h4-desktop-font-size: 2.25rem;--h4-desktop-line-height: 2.6875rem;--h5-desktop-letter-spacing: -.01em;--h5-desktop-font-size: 1.875rem;--h5-desktop-line-height: 2.0625rem;--h6-desktop-font-size: 1.75rem;--h6-desktop-letter-spacing: -.01em;--h6-desktop-line-height: 1.9375rem;--h7-desktop-font-size: 1.5rem;--h7-desktop-letter-spacing: -.01em;--h7-desktop-line-height: 1.75rem;--paragraph-desktop-font-size: 1.5rem;--paragraph-desktop-line-height: 2.25rem;--paragraph-desktop-letter-spacing: -.01em;--button-lg-desktop-font-size: 1.25rem;--button-lg-desktop-line-height: 1.5rem;--button-lg-desktop-letter-spacing: -.02em;--button-md-desktop-font-size: 1.0625rem;--button-md-desktop-line-height: 1.5rem;--button-md-desktop-letter-spacing: -.02em;--button-sm-desktop-font-size: .875rem;--button-sm-desktop-line-height: 1.5rem;--button-sm-desktop-letter-spacing: -.01em;--body-lg-tt-hoves-desktop-font-size: 1.125rem;--body-lg-tt-hoves-desktop-line-height: 1.5rem;--body-lg-tt-hoves-desktop-letter-spacing: -.01em;--body-lg-inter-desktop-font-size: 1.25rem;--body-lg-inter-desktop-line-height: 1.875rem;--body-lg-inter-desktop-letter-spacing: -.02em;--body-md-tt-hoves-desktop-letter-spacing: -.01em;--body-md-tt-hoves-desktop-font-size: 1rem;--body-md-tt-hoves-desktop-line-height: 1.375rem;--body-md-inter-desktop-letter-spacing: -.02em;--body-md-inter-desktop-font-size: 1rem;--body-md-inter-desktop-line-height: 1.5rem;--body-sm-desktop-letter-spacing: -.01em;--body-sm-desktop-font-size: .875rem;--body-sm-desktop-line-height: 1.25rem;--caption-lg-desktop-font-size: 1rem;--caption-lg-desktop-letter-spacing: -.01em;--caption-lg-desktop-line-height: 1.5rem;--caption-sm-desktop-font-size: .75rem;--caption-sm-desktop-line-height: 1.125rem;--caption-sm-desktop-letter-spacing: -.02em;--caption-sm-bold-desktop-font-size: .75rem;--caption-sm-bold-desktop-line-height: 1rem;--caption-sm-bold-desktop-letter-spacing: -.01em;--caption-uppercase-desktop-line-height: 1rem;--caption-uppercase-desktop-letter-spacing: .04em;--caption-uppercase-desktop-font-size: .8125rem;--numbers-desktop-line-height: 1.375rem;--numbers-desktop-letter-spacing: .04em;--numbers-desktop-font-size: 1rem;--special-styles-code-desktop-line-height: 1.5625rem;--special-styles-code-desktop-font-size: 1.125rem;--special-styles-code-desktop-letter-spacing: 0;--font-tablet-heading: TT Hoves Pro;--font-tablet-paragraph: TT Hoves Pro;--font-tablet-buttons: Inter;--font-tablet-body-inter: Inter;--font-tablet-body-tt-hoves: TT Hoves Pro;--font-tablet-caption: Inter;--font-tablet-numbers: TT Hoves Pro;--font-tablet-code: Hack;--h-extra-tablet-font-size: 6.875rem;--h-extra-tablet-line-height: 7.5625rem;--h-extra-tablet-letter-spacing: -.03em;--h1-tablet-letter-spacing: -.02em;--h1-tablet-line-height: 4.4rem;--h1-tablet-font-size: 4rem;--h2-tablet-font-size: 3rem;--h2-tablet-letter-spacing: -.02em;--h2-tablet-line-height: 3.3125rem;--h3-tablet-letter-spacing: -.02em;--h3-tablet-font-size: 2.5rem;--h3-tablet-line-height: 2.75rem;--h4-tablet-letter-spacing: -.02em;--h4-tablet-font-size: 2.25rem;--h4-tablet-line-height: 2.6875rem;--h5-tablet-letter-spacing: -.01em;--h5-tablet-font-size: 2rem;--h5-tablet-line-height: 2.1875rem;--h6-tablet-font-size: 1.5rem;--h6-tablet-letter-spacing: -.01em;--h6-tablet-line-height: 1.625rem;--h7-tablet-font-size: 1.375rem;--h7-tablet-letter-spacing: -.01em;--h7-tablet-line-height: 1.625rem;--paragraph-tablet-font-size: 1.375rem;--paragraph-tablet-line-height: 2.0625rem;--paragraph-tablet-letter-spacing: -.01em;--button-lg-tablet-font-size: 1.125rem;--button-lg-tablet-line-height: 1.5rem;--button-lg-tablet-letter-spacing: -.02em;--button-md-tablet-font-size: 1rem;--button-md-tablet-line-height: 1.5rem;--button-md-tablet-letter-spacing: -.02em;--button-sm-tablet-font-size: .875rem;--button-sm-tablet-line-height: 1.5rem;--button-sm-tablet-letter-spacing: -.01em;--body-lg-tt-hoves-tablet-font-size: 1rem;--body-lg-tt-hoves-tablet-line-height: 1.375rem;--body-lg-tt-hoves-tablet-letter-spacing: -.01em;--body-lg-inter-tablet-font-size: 1.125rem;--body-lg-inter-tablet-line-height: 1.6875rem;--body-lg-inter-tablet-letter-spacing: -.02em;--body-md-tt-hoves-tablet-letter-spacing: -.01em;--body-md-tt-hoves-tablet-font-size: 1rem;--body-md-tt-hoves-tablet-line-height: 1.375rem;--body-md-inter-tablet-letter-spacing: -.02em;--body-md-inter-tablet-font-size: 1rem;--body-md-inter-tablet-line-height: 1.5rem;--body-sm-tablet-letter-spacing: -.01em;--body-sm-tablet-font-size: .875rem;--body-sm-tablet-line-height: 1.25rem;--caption-lg-tablet-font-size: 1rem;--caption-lg-tablet-letter-spacing: -.02em;--caption-lg-tablet-line-height: 1.5rem;--caption-sm-tablet-font-size: .75rem;--caption-sm-tablet-line-height: 1.125rem;--caption-sm-tablet-letter-spacing: -.02em;--caption-sm-bold-tablet-font-size: .75rem;--caption-sm-bold-tablet-line-height: 1rem;--caption-sm-bold-tablet-letter-spacing: -.01em;--caption-uppercase-tablet-line-height: 1rem;--caption-uppercase-tablet-letter-spacing: .04em;--caption-uppercase-tablet-font-size: .8125rem;--numbers-tablet-line-height: 1.375rem;--numbers-tablet-letter-spacing: .04em;--numbers-tablet-font-size: 1rem;--special-styles-code-tablet-line-height: 1.5625rem;--special-styles-code-tablet-font-size: 1.125rem;--special-styles-code-tablet-letter-spacing: 0;--font-mobile-heading: TT Hoves Pro;--font-mobile-paragraph: TT Hoves Pro;--font-mobile-buttons: Inter;--font-mobile-body-inter: Inter;--font-mobile-body-tt-hoves: TT Hoves Pro;--font-mobile-caption: Inter;--font-mobile-numbers: TT Hoves Pro;--font-mobile-code: Hack;--h-extra-mobile-font-size: 3.5rem;--h-extra-mobile-line-height: 3.875rem;--h-extra-mobile-letter-spacing: -.02em;--h1-mobile-letter-spacing: -.01em;--h1-mobile-line-height: 2.75rem;--h1-mobile-font-size: 2.75rem;--h2-mobile-font-size: 2.5rem;--h2-mobile-letter-spacing: -.01em;--h2-mobile-line-height: 2.75rem;--h3-mobile-letter-spacing: -.01em;--h3-mobile-font-size: 2.25rem;--h3-mobile-line-height: 2.5rem;--h4-mobile-letter-spacing: -.01em;--h4-mobile-font-size: 2rem;--h4-mobile-line-height: 2.625rem;--h5-mobile-letter-spacing: -.01em;--h5-mobile-font-size: 1.375rem;--h5-mobile-line-height: 1.5rem;--h6-mobile-font-size: 1.25rem;--h6-mobile-letter-spacing: -.01em;--h6-mobile-line-height: 1.375rem;--h7-mobile-font-size: 1.25rem;--h7-mobile-letter-spacing: -.01em;--h7-mobile-line-height: 1.5rem;--paragraph-mobile-font-size: 1.125rem;--paragraph-mobile-line-height: 1.6875rem;--paragraph-mobile-letter-spacing: -.01em;--button-lg-mobile-font-size: 1rem;--button-lg-mobile-line-height: 1.5rem;--button-lg-mobile-letter-spacing: -.01em;--button-md-mobile-font-size: .875rem;--button-md-mobile-line-height: 1.5rem;--button-md-mobile-letter-spacing: -.01em;--button-sm-mobile-font-size: .75rem;--button-sm-mobile-line-height: 1.5rem;--button-sm-mobile-letter-spacing: -.01em;--body-lg-tt-hoves-mobile-font-size: .875rem;--body-lg-tt-hoves-mobile-line-height: 1.1875rem;--body-lg-tt-hoves-mobile-letter-spacing: -.01em;--body-lg-inter-mobile-font-size: 1rem;--body-lg-inter-mobile-line-height: 1.5rem;--body-lg-inter-mobile-letter-spacing: -.01em;--body-md-tt-hoves-mobile-letter-spacing: -.01em;--body-md-tt-hoves-mobile-font-size: 1rem;--body-md-tt-hoves-mobile-line-height: 1.375rem;--body-md-inter-mobile-letter-spacing: -.01em;--body-md-inter-mobile-font-size: .875rem;--body-md-inter-mobile-line-height: 1.3125rem;--body-sm-mobile-letter-spacing: -.01em;--body-sm-mobile-font-size: .875rem;--body-sm-mobile-line-height: 1.25rem;--caption-lg-mobile-font-size: 1rem;--caption-lg-mobile-letter-spacing: -.02em;--caption-lg-mobile-line-height: 1.5rem;--caption-sm-mobile-font-size: .75rem;--caption-sm-mobile-line-height: 1.125rem;--caption-sm-mobile-letter-spacing: -.02em;--caption-sm-bold-mobile-font-size: .75rem;--caption-sm-bold-mobile-line-height: 1rem;--caption-sm-bold-mobile-letter-spacing: -.01em;--caption-uppercase-mobile-line-height: 1rem;--caption-uppercase-mobile-letter-spacing: .04em;--caption-uppercase-mobile-font-size: .75rem;--numbers-mobile-line-height: 1.375rem;--numbers-mobile-letter-spacing: .04em;--numbers-mobile-font-size: 1rem;--special-styles-code-mobile-line-height: 1.375rem;--special-styles-code-mobile-font-size: 1rem;--special-styles-code-mobile-letter-spacing: 0;--surface-invert-fill-disabled: #c7ccd4;--surface-invert-secondary: #262c36;--surface-invert-primary: #151b23;--surface-invert-fill-deep: #6e7580;--surface-base-fill: #e6e9ed;--overlay-fill-dark: #151b23b3;--surface-invert-fill-pressed: #a8b0ba;--overlay-fill-medium: #151b23a3;--surface-base-fill-light: #eff7ff;--surface-base-secondary: #f5f7fa;--surface-base-primary: #ffffff;--surface-cell-disabled: #f5f7fa80;--surface-invert-fill-dark: #a8b0ba;--surface-invert-fill-hovered: #e6e9ed;--overlay-fill: #001d7a66;--surface-invert-dark: #151b23;--surface-invert-fill-medium: #c7ccd4;--surface-invert-fill-light: #e6e9ed;--text-invert-label: #939ba6;--text-link: #0066ff;--info-text: #00546b;--text-invert-secondary: #e6e9ed;--negative-text: #8f1150;--positive-text-dark: #005925;--text-base-label: #002ea3;--text-invert-pressed: #6e7580;--premium-text: #431878;--text-link-pressed: #001d7a;--text-base-secondary-light: #939ba6;--text-invert-primary: #ffffff;--positive-text: #147536;--negative-text-dark: #6b0039;--text-invert-disabled: #49505b;--warning-text: #6b1000;--text-disabled: #001d7a66;--text-link-hovered: #004cda;--text-invert-hovered: #b7bec7;--text-base-secondary: #49505b;--text-link-light: #2d84ff;--text-link-light-hovered: #5aa1ff;--caution-text: #505900;--text-base-primary: #151b23;--border-primary-light: #5aa1ff;--border-primary-active: #001d7a;--border-invert-secondary: #d6dbe0;--border-primary-medium: #2d84ff;--border-primary: #0066ff;--border-invert-primary: #ffffff;--border-primary-hovered: #004cda;--border-base-secondary: #d6dbe0;--border-base-secondary-light: #e6e9ed;--border-base-primary: #151b23;--border-primary-disabled: #002ea31a;--border-base-light: #e2f0ff;--accent-fill-hovered: #004cda;--accent-primary-hovered: #004cda;--accent-fill: #0066ff;--accent-fill-dark: #001d7a;--accent-fill-medium-disabled: #c7ccd4;--accent-fill-pressed: #002ea3;--accent-primary-dark: #001d7a;--accent-fill-medium-hovered: #a8b0ba;--accent-primary: #0066ff;--accent-fill-disabled: #002ea31a;--accent-fill-medium: #b7bec7;--accent-fill-medium-pressed: #939ba6;--accent-link: #0039b5;--accent-fill-focused: #8fc1ff;--accent-fill-light-hovered: #001d7a12;--accent-fill-light: #e2f0ff;--positive-icon: #29954b;--negative-icon-light: #b22265;--negative-icon: #8f1150;--icon-disabled: #001d7a66;--icon-invert: #c7ccd4;--icon-primary-light-hovered: #5aa1ff;--icon-base-secondary: #6e7580;--icon-primary: #383e48;--negative-fill-light-pressed: #ffafc8;--negative-fill: #f55591;--negative-fill-dark: #6b0039;--negative-fill-medium: #ff76a6;--negative-fill-light-hovered: #ffcbdb;--negative-fill-light: #ffe8ef;--warning-fill-dark: #6b1000;--warning-fill-medium: #f89364;--warning-primary: #f5804e;--warning-fill: #ffbc98;--warning-fill-light: #ffebde;--positive-fill-dark: #005925;--positive-fill: #47cc69;--positive-fill-medium: #81eb96;--positive-fill-light: #cffad6;--premium-fill: #9560ff;--premium-fill-medium: #b292fc;--premium-fill-light: #ece5ff;--info-fill: #3dc9d1;--info-fill-medium: #63dfe5;--info-fill-light: #b0f7f7;--caution-fill: #fcf58c;--caution-fill-dark: #e4e40d;--caution-fill-light: #fcf9d7;--disabled-progress-bar-right-gradient: #c7ccd4;--primary-progress-bar-left-gradient: #f55591;--primary-progress-bar-track: #e6e9ed;--disabled-progress-bar-track: #e6e9ed;--primary-progress-bar-right-gradient: #ffbc98;--disabled-progress-bar-left-gradient: #e6e9ed;--borderradius-none: 0;--borderradius-focusedstroke: 4px;--borderradius-muistroke: 4px;--borderradius-pill: 360px;--borderradius-cardsm: 12px;--borderradius-cardlg: 24px;--borderradius-button: 360px;--strokewidth-none: 0;--strokewidth-xs: 1px;--strokewidth-sm: 2px;--strokewidth-md: 4px;--strokewidth-lg: 8px;--insetspacing-5xs: .25rem;--insetspacing-4xs: .5rem;--insetspacing-3xs: .75rem;--insetspacing-2xs: 1rem;--insetspacing-xs: 1.25rem;--insetspacing-s: 1.5rem;--insetspacing-m: 1.75rem;--insetspacing-l: 2rem;--insetspacing-xl: 2.5rem;--insetspacing-2xl: 2.75rem;--insetspacing-3xl: 3rem;--insetspacing-4xl: 3.5rem;--insetspacing-5xl: 4rem;--insetspacing-6xl: 4.5rem;--insetspacing-7xl: 5rem;--insetspacing-8xl: 6rem;--insetspacing-9xl: 7.5rem;--insetspacing-10xl: 10rem;--stackspacing-5xs: .25rem;--stackspacing-4xs: .5rem;--stackspacing-3xs: .75rem;--stackspacing-2xs: 1rem;--stackspacing-xs: 1.25rem;--stackspacing-s: 1.5rem;--stackspacing-m: 1.75rem;--stackspacing-l: 2rem;--stackspacing-xl: 2.5rem;--stackspacing-2xl: 2.75rem;--stackspacing-3xl: 3rem;--stackspacing-4xl: 3.5rem;--stackspacing-5xl: 4rem;--stackspacing-6xl: 4.5rem;--stackspacing-7xl: 5rem;--stackspacing-8xl: 6rem;--stackspacing-9xl: 7.5rem;--stackspacing-10xl: 10rem;--inlinespacing-5xs: .25rem;--inlinespacing-4xs: .5rem;--inlinespacing-3xs: .75rem;--inlinespacing-2xs: 1rem;--inlinespacing-xs: 1.25rem;--inlinespacing-s: 1.5rem;--inlinespacing-m: 1.75rem;--inlinespacing-l: 2rem;--inlinespacing-xl: 2.5rem;--inlinespacing-2xl: 2.75rem;--inlinespacing-3xl: 3rem;--inlinespacing-4xl: 3.5rem;--inlinespacing-5xl: 4rem;--inlinespacing-6xl: 4.5rem;--inlinespacing-7xl: 5rem;--inlinespacing-8xl: 6rem;--inlinespacing-9xl: 7.5rem;--inlinespacing-10xl: 10rem}._h1_1765w_1{font-size:clamp(2.75rem,1.8779vw + 2.3099rem,4rem);line-height:clamp(2.75rem,1.8779vw + 2.3099rem,4rem);letter-spacing:-.02em;font-family:var(--ui-font-primary);font-weight:500;font-feature-settings:"ss01" 1,"ss02" 1,"ss04" 1;margin:0}._h2_1eque_1{font-size:clamp(2.5rem,1.1268vw + 2.2359rem,3.25rem);line-height:clamp(2.75rem,1.2207vw + 2.4639rem,3.5625rem);letter-spacing:-.02em;font-family:var(--ui-font-primary);font-weight:500;font-feature-settings:"ss01" 1,"ss02" 1,"ss04" 1;margin:0}._paragraph_11t85_1{font-size:clamp(1rem,.3756vw + .912rem,1.25rem);line-height:clamp(1.5rem,.5634vw + 1.368rem,1.875rem);letter-spacing:-.02em;font-family:var(--ui-font-body);font-weight:400;font-feature-settings:"dlig" 1;margin:0}._list_1p627_1{display:flex;flex-direction:column;gap:clamp(.75rem,.3756vw + .662rem,1rem);margin:clamp(1rem,.7512vw + .8239rem,1.5rem) 0 0;padding:0;list-style:none}._list_1p627_1 ._list_1p627_1{margin-top:clamp(.75rem,.3756vw + .662rem,1rem);margin-left:calc(clamp(1rem,.7512vw + .8239rem,1.5rem) - (clamp(.25rem,.3756vw + .162rem,.5rem) + 8px))}._item_1p627_14{position:relative;font-size:clamp(1rem,.3756vw + .912rem,1.25rem);line-height:clamp(1.5rem,.5634vw + 1.368rem,1.875rem);letter-spacing:-.02em;font-family:var(--ui-font-body);font-weight:400;font-feature-settings:"dlig" 1}._list_1p627_1 ._item_1p627_14{padding-left:calc(clamp(.25rem,.3756vw + .162rem,.5rem) + 8px)}._list_1p627_1 ._item_1p627_14:before{content:"";position:absolute;top:.4lh;left:0;box-sizing:border-box;width:8px;height:8px;border-radius:50%;background:var(--accent-primary)}._list_1p627_1 ._list_1p627_1 ._item_1p627_14:before{border:var(--strokewidth-xs) solid var(--accent-primary);background:transparent}._list_1p627_1 ._list_1p627_1 ._list_1p627_1 ._item_1p627_14:before{border:0;border-radius:0;background:var(--accent-primary)}._list_1p627_1 ._list_1p627_1 ._list_1p627_1 ._list_1p627_1 ._item_1p627_14:before{border-radius:50%}._button_1391k_1{appearance:none;border:none;background:none;display:inline-block;text-decoration:none;cursor:pointer;border-radius:var(--borderradius-button);padding:1.25rem 2rem;font-size:clamp(1rem,.3756vw + .912rem,1.25rem);line-height:1.5rem;letter-spacing:-.02em;font-family:var(--ui-font-body);font-weight:500;font-feature-settings:"dlig" 1;transition:background-color .15s ease,color .15s ease}._button_1391k_1:focus-visible{outline:var(--strokewidth-sm) solid var(--accent-fill-focused);outline-offset:2px}._button_1391k_1:disabled{cursor:not-allowed}._sm_1391k_26{font-size:clamp(.875rem,.2817vw + .809rem,1.0625rem);line-height:1.5rem;letter-spacing:-.02em;padding:.75rem 1.25rem}._primary_1391k_33{background-color:var(--accent-fill);color:var(--text-invert-primary)}._primary_1391k_33:hover:not(:disabled){background-color:var(--accent-fill-hovered);color:var(--text-invert-primary)}._primary_1391k_33:active:not(:disabled){background-color:var(--accent-fill-dark)}._primary_1391k_33:disabled{background-color:var(--surface-invert-fill-disabled);color:var(--text-invert-primary)}._secondary_1391k_49{background-color:transparent;color:var(--text-base-primary);box-shadow:inset 0 0 0 var(--strokewidth-sm) var(--border-base-primary);transition:box-shadow .15s ease,color .15s ease}._secondary_1391k_49:hover:not(:disabled){box-shadow:inset 0 0 0 var(--strokewidth-sm) var(--accent-primary-hovered);color:var(--text-link-hovered)}._secondary_1391k_49:active:not(:disabled){box-shadow:inset 0 0 0 var(--strokewidth-sm) var(--accent-primary-dark);color:var(--text-link-pressed)}._secondary_1391k_49:disabled{box-shadow:inset 0 0 0 var(--strokewidth-sm) var(--border-base-secondary);color:var(--text-invert-hovered)}._negative_1391k_68{background-color:var(--negative-fill-light);color:var(--negative-text)}._negative_1391k_68:hover:not(:disabled){background-color:var(--negative-fill-light-hovered);color:var(--negative-text)}._negative_1391k_68:active:not(:disabled){background-color:var(--negative-fill-light-pressed)}._negative_1391k_68:disabled{background-color:var(--accent-fill-disabled);color:var(--text-disabled)}._link_1m7hb_1{display:inline;text-decoration:underline;text-decoration-thickness:from-font;text-underline-position:from-font;cursor:pointer;background:none;border:none;padding:0;font-size:clamp(1rem,.3756vw + .912rem,1.25rem);line-height:1.5rem;letter-spacing:-.02em;font-family:var(--ui-font-body);font-weight:500;font-feature-settings:"dlig" 1;color:var(--text-link)}._link_1m7hb_1:focus-visible{outline:var(--strokewidth-sm) solid var(--accent-fill-focused)}._link_1m7hb_1:hover{color:var(--text-link-hovered)}._link_1m7hb_1:active{color:var(--text-link-pressed)}._accent_1m7hb_28{color:var(--accent-link)}._accent_1m7hb_28:hover{color:var(--accent-fill-hovered)}._accent_1m7hb_28:active{color:var(--text-link-pressed)}._disabled_1m7hb_38{color:var(--text-invert-hovered);cursor:not-allowed;pointer-events:none}._disabled_1m7hb_38:hover,._disabled_1m7hb_38:active,._disabled_1m7hb_38:focus-visible{color:var(--text-invert-hovered);outline:none}._newTabNote_1m7hb_48{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}._nav_dxkjl_3{min-width:0}._list_dxkjl_7{display:flex;flex-direction:column;gap:clamp(.5rem,.3756vw + .412rem,.75rem);margin:0;padding:0;list-style:none}._item_dxkjl_16{min-width:0}._link_dxkjl_20{font-size:1rem;line-height:1.5rem;letter-spacing:-.01em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-family:var(--ui-font-body);font-weight:500;font-feature-settings:"dlig" 1;color:var(--text-base-primary);text-decoration:none;cursor:pointer;overflow-wrap:break-word;transition:color .15s ease}._link_dxkjl_20:hover{-webkit-line-clamp:none;line-clamp:none;color:var(--text-link)}._link_dxkjl_20:focus-visible{-webkit-line-clamp:none;line-clamp:none}._current_dxkjl_48{-webkit-line-clamp:none;line-clamp:none;color:var(--text-link)}@media(hover:none){._link_dxkjl_20{-webkit-line-clamp:none;line-clamp:none}}@keyframes _hero-rise_93692_1{0%{opacity:0;transform:translateY(var(--hero-rise, 50px))}to{opacity:1;transform:none}}._hero_93692_11{container-type:inline-size;background-color:var(--surface-base-secondary)}._layout_93692_16{display:grid;padding:clamp(2.75rem,.7512vw + 2.3239rem,3rem) 0}._content_93692_21{min-width:0}._titleLine_93692_25{display:block}._titleWord_93692_29{animation:_hero-rise_93692_1 .67s cubic-bezier(.16,1,.03,1) both;display:inline-block;animation-delay:calc(.03s + var(--hero-index, 0) * 15ms)}._description_93692_35{font-size:clamp(1rem,.3756vw + .912rem,1.25rem);line-height:clamp(1.5rem,.5634vw + 1.368rem,1.875rem);letter-spacing:-.02em;animation:_hero-rise_93692_1 .67s cubic-bezier(.16,1,.03,1) both;margin:max(clamp(1.5rem,.7512vw + 1.3239rem,2rem),1.75rem) 0 0;font-family:var(--ui-font-body);font-weight:400;font-feature-settings:"dlig" 1;color:var(--text-base-secondary);animation-delay:.03s}._media_93692_48{animation:_hero-rise_93692_1 .67s cubic-bezier(.16,1,.03,1) both;--hero-rise: 100px;order:2;width:100%;margin-top:clamp(1.75rem,1.1268vw + 1.4859rem,2.5rem);animation-delay:.13s}._media_93692_48 :where(img,svg){display:block;max-width:100%;height:auto}@container (min-width: 1089px){._layout_93692_16{display:flow-root}._content_93692_21{max-width:700px}._media_93692_48{float:right;width:auto;max-width:620px;margin-top:0;shape-outside:circle(30%);shape-margin:clamp(1.75rem,1.1268vw + 1.4859rem,2.5rem)}}@media(prefers-reduced-motion:reduce){@keyframes _hero-rise_93692_1{0%{opacity:0}to{opacity:1}}}._field_14suf_1{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:.75rem 1.25rem;border-radius:var(--borderradius-cardsm);background-color:var(--surface-base-secondary);font-feature-settings:"dlig" 1;cursor:text;transition:padding .2s cubic-bezier(0,0,.2,1),gap .2s cubic-bezier(0,0,.2,1)}._field_14suf_1:focus-within{outline:var(--strokewidth-sm) solid var(--accent-fill-focused)}._field_14suf_1._error_14suf_17{outline:var(--strokewidth-sm) solid var(--negative-fill)}._message_14suf_21{font-size:.875rem;line-height:1.25rem;letter-spacing:-.01em;margin:0;padding-inline:1.25rem;font-family:var(--ui-font-body);font-weight:400;font-feature-settings:"dlig" 1;color:var(--negative-text)}._message_14suf_21:not(:empty){margin-top:.5rem}._content_14suf_36{display:flex;flex-direction:column;gap:.25rem;transition:gap .2s cubic-bezier(0,0,.2,1)}._reveal_14suf_43{display:grid;grid-template-rows:1fr;transition:grid-template-rows .2s cubic-bezier(0,0,.2,1)}._reveal_14suf_43>*{min-height:0;overflow:clip}._label_14suf_53{font-size:.875rem;line-height:1.25rem;letter-spacing:-.01em;font-family:var(--ui-font-primary);font-weight:400;color:var(--text-base-secondary);overflow-wrap:break-word;transition:font-size .2s cubic-bezier(0,0,.2,1),line-height .2s cubic-bezier(0,0,.2,1),letter-spacing .2s cubic-bezier(0,0,.2,1)}._tags_14suf_64{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}._chips_14suf_71{display:contents;margin:0;padding:0;list-style:none}._input_14suf_78{font-size:clamp(.875rem,.1878vw + .831rem,1rem);line-height:clamp(1.3125rem,.2817vw + 1.2465rem,1.5rem);letter-spacing:-.02em;flex:1 0 auto;margin:0;padding:0;border:0;outline:0;background:transparent;font-family:var(--ui-font-body);font-weight:400;font-feature-settings:inherit;color:var(--text-base-primary);caret-color:var(--negative-fill)}._counter_14suf_95{font-size:.75rem;line-height:1.125rem;letter-spacing:-.02em;margin:0;font-family:var(--ui-font-body);font-weight:400;color:var(--text-base-secondary);text-align:right;transition:opacity .2s cubic-bezier(0,0,.2,1),visibility .2s}._field_14suf_1:not(:focus-within,._empty_14suf_107) ._input_14suf_78{position:absolute;width:1px;opacity:0}._empty_14suf_107:not(:focus-within){gap:0;padding-block:1.5rem}._empty_14suf_107:not(:focus-within) ._content_14suf_36{gap:0}._empty_14suf_107:not(:focus-within) ._reveal_14suf_43{grid-template-rows:0fr}._empty_14suf_107:not(:focus-within) ._label_14suf_53{font-size:clamp(.875rem,.1878vw + .831rem,1rem);line-height:clamp(1.3125rem,.2817vw + 1.2465rem,1.5rem);letter-spacing:-.02em;font-family:var(--ui-font-body)}._empty_14suf_107:not(:focus-within) ._counter_14suf_95{visibility:hidden;opacity:0}._disabled_14suf_134{cursor:default}._disabled_14suf_134 ._label_14suf_53,._disabled_14suf_134 ._counter_14suf_95,._disabled_14suf_134 ._chip_14suf_71{color:var(--text-disabled)}._chip_14suf_71{font-size:clamp(.875rem,.1878vw + .831rem,1rem);line-height:clamp(1.3125rem,.2817vw + 1.2465rem,1.5rem);letter-spacing:-.02em;display:flex;align-items:center;gap:.5rem;max-width:100%;padding:.25rem 1rem;border-radius:var(--borderradius-pill);background-color:var(--surface-base-fill);font-family:var(--ui-font-body);font-weight:400;color:var(--text-base-primary);cursor:default}._chipText_14suf_160{min-width:0;overflow-wrap:anywhere}._remove_14suf_165{display:flex;flex-shrink:0;margin:0;padding:0;border:0;background:none;color:var(--icon-base-secondary);cursor:pointer}._invalid_14suf_176{background-color:var(--negative-fill-light);color:var(--negative-text)}._invalid_14suf_176 ._remove_14suf_165{color:var(--negative-icon)}@media(prefers-reduced-motion:reduce){._field_14suf_1,._content_14suf_36,._label_14suf_53,._reveal_14suf_43{transition:none}}._field_otub4_1{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1.25rem;border-radius:var(--borderradius-cardsm);background-color:var(--surface-base-secondary);font-feature-settings:"dlig" 1;cursor:text;transition:padding .2s cubic-bezier(0,0,.2,1),gap .2s cubic-bezier(0,0,.2,1)}._field_otub4_1:focus-within{outline:var(--strokewidth-sm) solid var(--accent-fill-focused)}._label_otub4_16{font-size:.875rem;line-height:1.25rem;letter-spacing:-.01em;font-family:var(--ui-font-primary);font-weight:400;color:var(--text-base-secondary);overflow-wrap:break-word;transition:font-size .2s cubic-bezier(0,0,.2,1),line-height .2s cubic-bezier(0,0,.2,1),letter-spacing .2s cubic-bezier(0,0,.2,1)}._reveal_otub4_27{display:grid;grid-template-rows:1fr;transition:grid-template-rows .2s cubic-bezier(0,0,.2,1)}._reveal_otub4_27>*{min-height:0;overflow:clip}._input_otub4_37{font-size:1rem;line-height:1.375rem;letter-spacing:-.01em;display:block;box-sizing:border-box;width:100%;margin:0;padding:0;border:0;outline:0;background:transparent;font-family:var(--ui-font-primary);font-weight:400;font-feature-settings:inherit;color:var(--text-base-primary);caret-color:var(--negative-fill)}._empty_otub4_56:not(:focus-within){gap:0;padding-block:1.5rem}._empty_otub4_56:not(:focus-within) ._reveal_otub4_27{grid-template-rows:0fr}._empty_otub4_56:not(:focus-within) ._label_otub4_16{font-size:1rem;line-height:1.375rem;letter-spacing:-.01em}@media(prefers-reduced-motion:reduce){._field_otub4_1,._label_otub4_16,._reveal_otub4_27{transition:none}}
1
+ :root{--font-desktop-heading: TT Hoves Pro;--font-desktop-paragraph: TT Hoves Pro;--font-desktop-buttons: Inter;--font-desktop-body-inter: Inter;--font-desktop-body-tt-hoves: TT Hoves Pro;--font-desktop-caption: Inter;--font-desktop-numbers: TT Hoves Pro;--font-desktop-code: Hack;--h-extra-desktop-font-size: 6rem;--h-extra-desktop-line-height: 6.625rem;--h-extra-desktop-letter-spacing: -.03em;--h1-desktop-letter-spacing: -.02em;--h1-desktop-line-height: 4rem;--h1-desktop-font-size: 4rem;--h2-desktop-font-size: 3.25rem;--h2-desktop-letter-spacing: -.02em;--h2-desktop-line-height: 3.5625rem;--h3-desktop-letter-spacing: -.02em;--h3-desktop-font-size: 2.75rem;--h3-desktop-line-height: 3rem;--h4-desktop-letter-spacing: -.01em;--h4-desktop-font-size: 2.25rem;--h4-desktop-line-height: 2.6875rem;--h5-desktop-letter-spacing: -.01em;--h5-desktop-font-size: 1.875rem;--h5-desktop-line-height: 2.0625rem;--h6-desktop-font-size: 1.75rem;--h6-desktop-letter-spacing: -.01em;--h6-desktop-line-height: 1.9375rem;--h7-desktop-font-size: 1.5rem;--h7-desktop-letter-spacing: -.01em;--h7-desktop-line-height: 1.75rem;--paragraph-desktop-font-size: 1.5rem;--paragraph-desktop-line-height: 2.25rem;--paragraph-desktop-letter-spacing: -.01em;--button-lg-desktop-font-size: 1.25rem;--button-lg-desktop-line-height: 1.5rem;--button-lg-desktop-letter-spacing: -.02em;--button-md-desktop-font-size: 1.0625rem;--button-md-desktop-line-height: 1.5rem;--button-md-desktop-letter-spacing: -.02em;--button-sm-desktop-font-size: .875rem;--button-sm-desktop-line-height: 1.5rem;--button-sm-desktop-letter-spacing: -.01em;--body-lg-tt-hoves-desktop-font-size: 1.125rem;--body-lg-tt-hoves-desktop-line-height: 1.5rem;--body-lg-tt-hoves-desktop-letter-spacing: -.01em;--body-lg-inter-desktop-font-size: 1.25rem;--body-lg-inter-desktop-line-height: 1.875rem;--body-lg-inter-desktop-letter-spacing: -.02em;--body-md-tt-hoves-desktop-letter-spacing: -.01em;--body-md-tt-hoves-desktop-font-size: 1rem;--body-md-tt-hoves-desktop-line-height: 1.375rem;--body-md-inter-desktop-letter-spacing: -.02em;--body-md-inter-desktop-font-size: 1rem;--body-md-inter-desktop-line-height: 1.5rem;--body-sm-desktop-letter-spacing: -.01em;--body-sm-desktop-font-size: .875rem;--body-sm-desktop-line-height: 1.25rem;--caption-lg-desktop-font-size: 1rem;--caption-lg-desktop-letter-spacing: -.01em;--caption-lg-desktop-line-height: 1.5rem;--caption-sm-desktop-font-size: .75rem;--caption-sm-desktop-line-height: 1.125rem;--caption-sm-desktop-letter-spacing: -.02em;--caption-sm-bold-desktop-font-size: .75rem;--caption-sm-bold-desktop-line-height: 1rem;--caption-sm-bold-desktop-letter-spacing: -.01em;--caption-uppercase-desktop-line-height: 1rem;--caption-uppercase-desktop-letter-spacing: .04em;--caption-uppercase-desktop-font-size: .8125rem;--numbers-desktop-line-height: 1.375rem;--numbers-desktop-letter-spacing: .04em;--numbers-desktop-font-size: 1rem;--special-styles-code-desktop-line-height: 1.5625rem;--special-styles-code-desktop-font-size: 1.125rem;--special-styles-code-desktop-letter-spacing: 0;--font-tablet-heading: TT Hoves Pro;--font-tablet-paragraph: TT Hoves Pro;--font-tablet-buttons: Inter;--font-tablet-body-inter: Inter;--font-tablet-body-tt-hoves: TT Hoves Pro;--font-tablet-caption: Inter;--font-tablet-numbers: TT Hoves Pro;--font-tablet-code: Hack;--h-extra-tablet-font-size: 6.875rem;--h-extra-tablet-line-height: 7.5625rem;--h-extra-tablet-letter-spacing: -.03em;--h1-tablet-letter-spacing: -.02em;--h1-tablet-line-height: 4.4rem;--h1-tablet-font-size: 4rem;--h2-tablet-font-size: 3rem;--h2-tablet-letter-spacing: -.02em;--h2-tablet-line-height: 3.3125rem;--h3-tablet-letter-spacing: -.02em;--h3-tablet-font-size: 2.5rem;--h3-tablet-line-height: 2.75rem;--h4-tablet-letter-spacing: -.02em;--h4-tablet-font-size: 2.25rem;--h4-tablet-line-height: 2.6875rem;--h5-tablet-letter-spacing: -.01em;--h5-tablet-font-size: 2rem;--h5-tablet-line-height: 2.1875rem;--h6-tablet-font-size: 1.5rem;--h6-tablet-letter-spacing: -.01em;--h6-tablet-line-height: 1.625rem;--h7-tablet-font-size: 1.375rem;--h7-tablet-letter-spacing: -.01em;--h7-tablet-line-height: 1.625rem;--paragraph-tablet-font-size: 1.375rem;--paragraph-tablet-line-height: 2.0625rem;--paragraph-tablet-letter-spacing: -.01em;--button-lg-tablet-font-size: 1.125rem;--button-lg-tablet-line-height: 1.5rem;--button-lg-tablet-letter-spacing: -.02em;--button-md-tablet-font-size: 1rem;--button-md-tablet-line-height: 1.5rem;--button-md-tablet-letter-spacing: -.02em;--button-sm-tablet-font-size: .875rem;--button-sm-tablet-line-height: 1.5rem;--button-sm-tablet-letter-spacing: -.01em;--body-lg-tt-hoves-tablet-font-size: 1rem;--body-lg-tt-hoves-tablet-line-height: 1.375rem;--body-lg-tt-hoves-tablet-letter-spacing: -.01em;--body-lg-inter-tablet-font-size: 1.125rem;--body-lg-inter-tablet-line-height: 1.6875rem;--body-lg-inter-tablet-letter-spacing: -.02em;--body-md-tt-hoves-tablet-letter-spacing: -.01em;--body-md-tt-hoves-tablet-font-size: 1rem;--body-md-tt-hoves-tablet-line-height: 1.375rem;--body-md-inter-tablet-letter-spacing: -.02em;--body-md-inter-tablet-font-size: 1rem;--body-md-inter-tablet-line-height: 1.5rem;--body-sm-tablet-letter-spacing: -.01em;--body-sm-tablet-font-size: .875rem;--body-sm-tablet-line-height: 1.25rem;--caption-lg-tablet-font-size: 1rem;--caption-lg-tablet-letter-spacing: -.02em;--caption-lg-tablet-line-height: 1.5rem;--caption-sm-tablet-font-size: .75rem;--caption-sm-tablet-line-height: 1.125rem;--caption-sm-tablet-letter-spacing: -.02em;--caption-sm-bold-tablet-font-size: .75rem;--caption-sm-bold-tablet-line-height: 1rem;--caption-sm-bold-tablet-letter-spacing: -.01em;--caption-uppercase-tablet-line-height: 1rem;--caption-uppercase-tablet-letter-spacing: .04em;--caption-uppercase-tablet-font-size: .8125rem;--numbers-tablet-line-height: 1.375rem;--numbers-tablet-letter-spacing: .04em;--numbers-tablet-font-size: 1rem;--special-styles-code-tablet-line-height: 1.5625rem;--special-styles-code-tablet-font-size: 1.125rem;--special-styles-code-tablet-letter-spacing: 0;--font-mobile-heading: TT Hoves Pro;--font-mobile-paragraph: TT Hoves Pro;--font-mobile-buttons: Inter;--font-mobile-body-inter: Inter;--font-mobile-body-tt-hoves: TT Hoves Pro;--font-mobile-caption: Inter;--font-mobile-numbers: TT Hoves Pro;--font-mobile-code: Hack;--h-extra-mobile-font-size: 3.5rem;--h-extra-mobile-line-height: 3.875rem;--h-extra-mobile-letter-spacing: -.02em;--h1-mobile-letter-spacing: -.01em;--h1-mobile-line-height: 2.75rem;--h1-mobile-font-size: 2.75rem;--h2-mobile-font-size: 2.5rem;--h2-mobile-letter-spacing: -.01em;--h2-mobile-line-height: 2.75rem;--h3-mobile-letter-spacing: -.01em;--h3-mobile-font-size: 2.25rem;--h3-mobile-line-height: 2.5rem;--h4-mobile-letter-spacing: -.01em;--h4-mobile-font-size: 2rem;--h4-mobile-line-height: 2.625rem;--h5-mobile-letter-spacing: -.01em;--h5-mobile-font-size: 1.375rem;--h5-mobile-line-height: 1.5rem;--h6-mobile-font-size: 1.25rem;--h6-mobile-letter-spacing: -.01em;--h6-mobile-line-height: 1.375rem;--h7-mobile-font-size: 1.25rem;--h7-mobile-letter-spacing: -.01em;--h7-mobile-line-height: 1.5rem;--paragraph-mobile-font-size: 1.125rem;--paragraph-mobile-line-height: 1.6875rem;--paragraph-mobile-letter-spacing: -.01em;--button-lg-mobile-font-size: 1rem;--button-lg-mobile-line-height: 1.5rem;--button-lg-mobile-letter-spacing: -.01em;--button-md-mobile-font-size: .875rem;--button-md-mobile-line-height: 1.5rem;--button-md-mobile-letter-spacing: -.01em;--button-sm-mobile-font-size: .75rem;--button-sm-mobile-line-height: 1.5rem;--button-sm-mobile-letter-spacing: -.01em;--body-lg-tt-hoves-mobile-font-size: .875rem;--body-lg-tt-hoves-mobile-line-height: 1.1875rem;--body-lg-tt-hoves-mobile-letter-spacing: -.01em;--body-lg-inter-mobile-font-size: 1rem;--body-lg-inter-mobile-line-height: 1.5rem;--body-lg-inter-mobile-letter-spacing: -.01em;--body-md-tt-hoves-mobile-letter-spacing: -.01em;--body-md-tt-hoves-mobile-font-size: 1rem;--body-md-tt-hoves-mobile-line-height: 1.375rem;--body-md-inter-mobile-letter-spacing: -.01em;--body-md-inter-mobile-font-size: .875rem;--body-md-inter-mobile-line-height: 1.3125rem;--body-sm-mobile-letter-spacing: -.01em;--body-sm-mobile-font-size: .875rem;--body-sm-mobile-line-height: 1.25rem;--caption-lg-mobile-font-size: 1rem;--caption-lg-mobile-letter-spacing: -.02em;--caption-lg-mobile-line-height: 1.5rem;--caption-sm-mobile-font-size: .75rem;--caption-sm-mobile-line-height: 1.125rem;--caption-sm-mobile-letter-spacing: -.02em;--caption-sm-bold-mobile-font-size: .75rem;--caption-sm-bold-mobile-line-height: 1rem;--caption-sm-bold-mobile-letter-spacing: -.01em;--caption-uppercase-mobile-line-height: 1rem;--caption-uppercase-mobile-letter-spacing: .04em;--caption-uppercase-mobile-font-size: .75rem;--numbers-mobile-line-height: 1.375rem;--numbers-mobile-letter-spacing: .04em;--numbers-mobile-font-size: 1rem;--special-styles-code-mobile-line-height: 1.375rem;--special-styles-code-mobile-font-size: 1rem;--special-styles-code-mobile-letter-spacing: 0;--surface-invert-fill-disabled: #c7ccd4;--surface-invert-secondary: #262c36;--surface-invert-primary: #151b23;--surface-invert-fill-deep: #6e7580;--surface-base-fill: #e6e9ed;--overlay-fill-dark: #151b23b3;--surface-invert-fill-pressed: #a8b0ba;--overlay-fill-medium: #151b23a3;--surface-base-fill-light: #eff7ff;--surface-base-secondary: #f5f7fa;--surface-base-primary: #ffffff;--surface-cell-disabled: #f5f7fa80;--surface-invert-fill-dark: #a8b0ba;--surface-invert-fill-hovered: #e6e9ed;--overlay-fill: #001d7a66;--surface-invert-dark: #151b23;--surface-invert-fill-medium: #c7ccd4;--surface-invert-fill-light: #e6e9ed;--text-invert-label: #939ba6;--text-link: #0066ff;--info-text: #00546b;--text-invert-secondary: #e6e9ed;--negative-text: #8f1150;--positive-text-dark: #005925;--text-base-label: #002ea3;--text-invert-pressed: #6e7580;--premium-text: #431878;--text-link-pressed: #001d7a;--text-base-secondary-light: #939ba6;--text-invert-primary: #ffffff;--positive-text: #147536;--negative-text-dark: #6b0039;--text-invert-disabled: #49505b;--warning-text: #6b1000;--text-disabled: #001d7a66;--text-link-hovered: #004cda;--text-invert-hovered: #b7bec7;--text-base-secondary: #49505b;--text-link-light: #2d84ff;--text-link-light-hovered: #5aa1ff;--caution-text: #505900;--text-base-primary: #151b23;--border-primary-light: #5aa1ff;--border-primary-active: #001d7a;--border-invert-secondary: #d6dbe0;--border-primary-medium: #2d84ff;--border-primary: #0066ff;--border-invert-primary: #ffffff;--border-primary-hovered: #004cda;--border-base-secondary: #d6dbe0;--border-base-secondary-light: #e6e9ed;--border-base-primary: #151b23;--border-primary-disabled: #002ea31a;--border-base-light: #e2f0ff;--accent-fill-hovered: #004cda;--accent-primary-hovered: #004cda;--accent-fill: #0066ff;--accent-fill-dark: #001d7a;--accent-fill-medium-disabled: #c7ccd4;--accent-fill-pressed: #002ea3;--accent-primary-dark: #001d7a;--accent-fill-medium-hovered: #a8b0ba;--accent-primary: #0066ff;--accent-fill-disabled: #002ea31a;--accent-fill-medium: #b7bec7;--accent-fill-medium-pressed: #939ba6;--accent-link: #0039b5;--accent-fill-focused: #8fc1ff;--accent-fill-light-hovered: #001d7a12;--accent-fill-light: #e2f0ff;--positive-icon: #29954b;--negative-icon-light: #b22265;--negative-icon: #8f1150;--icon-disabled: #001d7a66;--icon-invert: #c7ccd4;--icon-primary-light-hovered: #5aa1ff;--icon-base-secondary: #6e7580;--icon-primary: #383e48;--negative-fill-light-pressed: #ffafc8;--negative-fill: #f55591;--negative-fill-dark: #6b0039;--negative-fill-medium: #ff76a6;--negative-fill-light-hovered: #ffcbdb;--negative-fill-light: #ffe8ef;--warning-fill-dark: #6b1000;--warning-fill-medium: #f89364;--warning-primary: #f5804e;--warning-fill: #ffbc98;--warning-fill-light: #ffebde;--positive-fill-dark: #005925;--positive-fill: #47cc69;--positive-fill-medium: #81eb96;--positive-fill-light: #cffad6;--premium-fill: #9560ff;--premium-fill-medium: #b292fc;--premium-fill-light: #ece5ff;--info-fill: #3dc9d1;--info-fill-medium: #63dfe5;--info-fill-light: #b0f7f7;--caution-fill: #fcf58c;--caution-fill-dark: #e4e40d;--caution-fill-light: #fcf9d7;--disabled-progress-bar-right-gradient: #c7ccd4;--primary-progress-bar-left-gradient: #f55591;--primary-progress-bar-track: #e6e9ed;--disabled-progress-bar-track: #e6e9ed;--primary-progress-bar-right-gradient: #ffbc98;--disabled-progress-bar-left-gradient: #e6e9ed;--borderradius-none: 0;--borderradius-focusedstroke: 4px;--borderradius-muistroke: 4px;--borderradius-pill: 360px;--borderradius-cardsm: 12px;--borderradius-cardlg: 24px;--borderradius-button: 360px;--strokewidth-none: 0;--strokewidth-xs: 1px;--strokewidth-sm: 2px;--strokewidth-md: 4px;--strokewidth-lg: 8px;--insetspacing-5xs: .25rem;--insetspacing-4xs: .5rem;--insetspacing-3xs: .75rem;--insetspacing-2xs: 1rem;--insetspacing-xs: 1.25rem;--insetspacing-s: 1.5rem;--insetspacing-m: 1.75rem;--insetspacing-l: 2rem;--insetspacing-xl: 2.5rem;--insetspacing-2xl: 2.75rem;--insetspacing-3xl: 3rem;--insetspacing-4xl: 3.5rem;--insetspacing-5xl: 4rem;--insetspacing-6xl: 4.5rem;--insetspacing-7xl: 5rem;--insetspacing-8xl: 6rem;--insetspacing-9xl: 7.5rem;--insetspacing-10xl: 10rem;--stackspacing-5xs: .25rem;--stackspacing-4xs: .5rem;--stackspacing-3xs: .75rem;--stackspacing-2xs: 1rem;--stackspacing-xs: 1.25rem;--stackspacing-s: 1.5rem;--stackspacing-m: 1.75rem;--stackspacing-l: 2rem;--stackspacing-xl: 2.5rem;--stackspacing-2xl: 2.75rem;--stackspacing-3xl: 3rem;--stackspacing-4xl: 3.5rem;--stackspacing-5xl: 4rem;--stackspacing-6xl: 4.5rem;--stackspacing-7xl: 5rem;--stackspacing-8xl: 6rem;--stackspacing-9xl: 7.5rem;--stackspacing-10xl: 10rem;--inlinespacing-5xs: .25rem;--inlinespacing-4xs: .5rem;--inlinespacing-3xs: .75rem;--inlinespacing-2xs: 1rem;--inlinespacing-xs: 1.25rem;--inlinespacing-s: 1.5rem;--inlinespacing-m: 1.75rem;--inlinespacing-l: 2rem;--inlinespacing-xl: 2.5rem;--inlinespacing-2xl: 2.75rem;--inlinespacing-3xl: 3rem;--inlinespacing-4xl: 3.5rem;--inlinespacing-5xl: 4rem;--inlinespacing-6xl: 4.5rem;--inlinespacing-7xl: 5rem;--inlinespacing-8xl: 6rem;--inlinespacing-9xl: 7.5rem;--inlinespacing-10xl: 10rem}._h1_1765w_1{font-size:clamp(2.75rem,1.8779vw + 2.3099rem,4rem);line-height:clamp(2.75rem,1.8779vw + 2.3099rem,4rem);letter-spacing:-.02em;font-family:var(--ui-font-primary);font-weight:500;font-feature-settings:"ss01" 1,"ss02" 1,"ss04" 1;margin:0}._h2_1eque_1{font-size:clamp(2.5rem,1.1268vw + 2.2359rem,3.25rem);line-height:clamp(2.75rem,1.2207vw + 2.4639rem,3.5625rem);letter-spacing:-.02em;font-family:var(--ui-font-primary);font-weight:500;font-feature-settings:"ss01" 1,"ss02" 1,"ss04" 1;margin:0}._paragraph_11t85_1{font-size:clamp(1rem,.3756vw + .912rem,1.25rem);line-height:clamp(1.5rem,.5634vw + 1.368rem,1.875rem);letter-spacing:-.02em;font-family:var(--ui-font-body);font-weight:400;font-feature-settings:"dlig" 1;margin:0}._list_1p627_1{display:flex;flex-direction:column;gap:clamp(.75rem,.3756vw + .662rem,1rem);margin:clamp(1rem,.7512vw + .8239rem,1.5rem) 0 0;padding:0;list-style:none}._list_1p627_1 ._list_1p627_1{margin-top:clamp(.75rem,.3756vw + .662rem,1rem);margin-left:calc(clamp(1rem,.7512vw + .8239rem,1.5rem) - (clamp(.25rem,.3756vw + .162rem,.5rem) + 8px))}._item_1p627_14{position:relative;font-size:clamp(1rem,.3756vw + .912rem,1.25rem);line-height:clamp(1.5rem,.5634vw + 1.368rem,1.875rem);letter-spacing:-.02em;font-family:var(--ui-font-body);font-weight:400;font-feature-settings:"dlig" 1}._list_1p627_1 ._item_1p627_14{padding-left:calc(clamp(.25rem,.3756vw + .162rem,.5rem) + 8px)}._list_1p627_1 ._item_1p627_14:before{content:"";position:absolute;top:.4lh;left:0;box-sizing:border-box;width:8px;height:8px;border-radius:50%;background:var(--accent-primary)}._list_1p627_1 ._list_1p627_1 ._item_1p627_14:before{border:var(--strokewidth-xs) solid var(--accent-primary);background:transparent}._list_1p627_1 ._list_1p627_1 ._list_1p627_1 ._item_1p627_14:before{border:0;border-radius:0;background:var(--accent-primary)}._list_1p627_1 ._list_1p627_1 ._list_1p627_1 ._list_1p627_1 ._item_1p627_14:before{border-radius:50%}._button_81qo0_1{appearance:none;border:none;background:none;display:inline-block;text-decoration:none;cursor:pointer;border-radius:var(--borderradius-button);padding:clamp(1rem,.3756vw + .912rem,1.25rem) clamp(1.5rem,.7512vw + 1.3239rem,2rem);font-size:clamp(1rem,.3756vw + .912rem,1.25rem);line-height:1.5rem;letter-spacing:-.02em;font-family:var(--ui-font-body);font-weight:500;font-feature-settings:"dlig" 1;transition:background-color .15s ease,color .15s ease}._button_81qo0_1:focus-visible{outline:var(--strokewidth-sm) solid var(--accent-fill-focused);outline-offset:2px}._button_81qo0_1:disabled{cursor:not-allowed}._sm_81qo0_26{font-size:clamp(.875rem,.2817vw + .809rem,1.0625rem);line-height:1.5rem;letter-spacing:-.02em;padding:clamp(.5rem,.3756vw + .412rem,.75rem) clamp(1rem,.3756vw + .912rem,1.25rem)}._primary_81qo0_33{background-color:var(--accent-fill);color:var(--text-invert-primary)}._primary_81qo0_33:hover:not(:disabled){background-color:var(--accent-fill-hovered);color:var(--text-invert-primary)}._primary_81qo0_33:active:not(:disabled){background-color:var(--accent-fill-dark)}._primary_81qo0_33:disabled{background-color:var(--surface-invert-fill-disabled);color:var(--text-invert-primary)}._secondary_81qo0_49{background-color:transparent;color:var(--text-base-primary);box-shadow:inset 0 0 0 var(--strokewidth-sm) var(--border-base-primary);transition:box-shadow .15s ease,color .15s ease}._secondary_81qo0_49:hover:not(:disabled){box-shadow:inset 0 0 0 var(--strokewidth-sm) var(--accent-primary-hovered);color:var(--text-link-hovered)}._secondary_81qo0_49:active:not(:disabled){box-shadow:inset 0 0 0 var(--strokewidth-sm) var(--accent-primary-dark);color:var(--text-link-pressed)}._secondary_81qo0_49:disabled{box-shadow:inset 0 0 0 var(--strokewidth-sm) var(--border-base-secondary);color:var(--text-invert-hovered)}._negative_81qo0_68{background-color:var(--negative-fill-light);color:var(--negative-text)}._negative_81qo0_68:hover:not(:disabled){background-color:var(--negative-fill-light-hovered);color:var(--negative-text)}._negative_81qo0_68:active:not(:disabled){background-color:var(--negative-fill-light-pressed)}._negative_81qo0_68:disabled{background-color:var(--accent-fill-disabled);color:var(--text-disabled)}._link_1m7hb_1{display:inline;text-decoration:underline;text-decoration-thickness:from-font;text-underline-position:from-font;cursor:pointer;background:none;border:none;padding:0;font-size:clamp(1rem,.3756vw + .912rem,1.25rem);line-height:1.5rem;letter-spacing:-.02em;font-family:var(--ui-font-body);font-weight:500;font-feature-settings:"dlig" 1;color:var(--text-link)}._link_1m7hb_1:focus-visible{outline:var(--strokewidth-sm) solid var(--accent-fill-focused)}._link_1m7hb_1:hover{color:var(--text-link-hovered)}._link_1m7hb_1:active{color:var(--text-link-pressed)}._accent_1m7hb_28{color:var(--accent-link)}._accent_1m7hb_28:hover{color:var(--accent-fill-hovered)}._accent_1m7hb_28:active{color:var(--text-link-pressed)}._disabled_1m7hb_38{color:var(--text-invert-hovered);cursor:not-allowed;pointer-events:none}._disabled_1m7hb_38:hover,._disabled_1m7hb_38:active,._disabled_1m7hb_38:focus-visible{color:var(--text-invert-hovered);outline:none}._newTabNote_1m7hb_48{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}._nav_dxkjl_3{min-width:0}._list_dxkjl_7{display:flex;flex-direction:column;gap:clamp(.5rem,.3756vw + .412rem,.75rem);margin:0;padding:0;list-style:none}._item_dxkjl_16{min-width:0}._link_dxkjl_20{font-size:1rem;line-height:1.5rem;letter-spacing:-.01em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;font-family:var(--ui-font-body);font-weight:500;font-feature-settings:"dlig" 1;color:var(--text-base-primary);text-decoration:none;cursor:pointer;overflow-wrap:break-word;transition:color .15s ease}._link_dxkjl_20:hover{-webkit-line-clamp:none;line-clamp:none;color:var(--text-link)}._link_dxkjl_20:focus-visible{-webkit-line-clamp:none;line-clamp:none}._current_dxkjl_48{-webkit-line-clamp:none;line-clamp:none;color:var(--text-link)}@media(hover:none){._link_dxkjl_20{-webkit-line-clamp:none;line-clamp:none}}._nav_1us0j_1{display:flex;flex-direction:column;gap:clamp(1rem,.7512vw + .8239rem,1.5rem);min-width:0}._heading_1us0j_8{font-size:clamp(2rem,.3756vw + 1.912rem,2.25rem);line-height:clamp(2.625rem,.0939vw + 2.603rem,2.6875rem);letter-spacing:-.01em;font-family:var(--ui-font-primary);font-weight:500;font-feature-settings:"ss01" 1,"ss02" 1,"ss04" 1;color:var(--text-base-primary);margin:0}._list_1us0j_19{display:flex;flex-direction:column;gap:clamp(.75rem,.3756vw + .662rem,1rem);margin:0;padding:0;list-style:none}._item_1us0j_28{display:flex;align-items:flex-start;gap:clamp(.25rem,.3756vw + .162rem,.5rem);font-size:clamp(1rem,.3756vw + .912rem,1.25rem);line-height:1.5rem;letter-spacing:-.02em}._item_1us0j_28:before{content:"";position:relative;top:calc((1lh - 8px)/2);flex:none;width:8px;height:8px;border-radius:50%;background:var(--accent-fill)}._item_1us0j_28>*{min-width:0}@keyframes _hero-rise_93692_1{0%{opacity:0;transform:translateY(var(--hero-rise, 50px))}to{opacity:1;transform:none}}._hero_93692_11{container-type:inline-size;background-color:var(--surface-base-secondary)}._layout_93692_16{display:grid;padding:clamp(2.75rem,.7512vw + 2.3239rem,3rem) 0}._content_93692_21{min-width:0}._titleLine_93692_25{display:block}._titleWord_93692_29{animation:_hero-rise_93692_1 .67s cubic-bezier(.16,1,.03,1) both;display:inline-block;animation-delay:calc(.03s + var(--hero-index, 0) * 15ms)}._description_93692_35{font-size:clamp(1rem,.3756vw + .912rem,1.25rem);line-height:clamp(1.5rem,.5634vw + 1.368rem,1.875rem);letter-spacing:-.02em;animation:_hero-rise_93692_1 .67s cubic-bezier(.16,1,.03,1) both;margin:max(clamp(1.5rem,.7512vw + 1.3239rem,2rem),1.75rem) 0 0;font-family:var(--ui-font-body);font-weight:400;font-feature-settings:"dlig" 1;color:var(--text-base-secondary);animation-delay:.03s}._media_93692_48{animation:_hero-rise_93692_1 .67s cubic-bezier(.16,1,.03,1) both;--hero-rise: 100px;order:2;width:100%;margin-top:clamp(1.75rem,1.1268vw + 1.4859rem,2.5rem);animation-delay:.13s}._media_93692_48 :where(img,svg){display:block;max-width:100%;height:auto}@container (min-width: 1089px){._layout_93692_16{display:flow-root}._content_93692_21{max-width:700px}._media_93692_48{float:right;width:auto;max-width:620px;margin-top:0;shape-outside:circle(30%);shape-margin:clamp(1.75rem,1.1268vw + 1.4859rem,2.5rem)}}@media(prefers-reduced-motion:reduce){@keyframes _hero-rise_93692_1{0%{opacity:0}to{opacity:1}}}._field_7z5g3_1{position:relative;display:flex;flex-direction:column;gap:clamp(.25rem,.3756vw + .162rem,.5rem);padding:clamp(.5rem,.3756vw + .412rem,.75rem) clamp(1rem,.3756vw + .912rem,1.25rem);border-radius:var(--borderradius-cardsm);background-color:var(--surface-base-secondary);font-feature-settings:"dlig" 1;cursor:text;transition:padding .2s cubic-bezier(0,0,.2,1),gap .2s cubic-bezier(0,0,.2,1)}._field_7z5g3_1:focus-within{outline:var(--strokewidth-sm) solid var(--accent-fill-focused)}._field_7z5g3_1._error_7z5g3_17{outline:var(--strokewidth-sm) solid var(--negative-fill)}._message_7z5g3_21{font-size:.875rem;line-height:1.25rem;letter-spacing:-.01em;margin:0;padding-inline:clamp(1rem,.3756vw + .912rem,1.25rem);font-family:var(--ui-font-body);font-weight:400;font-feature-settings:"dlig" 1;color:var(--negative-text)}._message_7z5g3_21:not(:empty){margin-top:clamp(.25rem,.3756vw + .162rem,.5rem)}._content_7z5g3_36{display:flex;flex-direction:column;gap:clamp(.125rem,.1878vw + .081rem,.25rem);transition:gap .2s cubic-bezier(0,0,.2,1)}._reveal_7z5g3_43{display:grid;grid-template-rows:1fr;transition:grid-template-rows .2s cubic-bezier(0,0,.2,1)}._reveal_7z5g3_43>*{min-height:0;overflow:clip}._label_7z5g3_53{font-size:.875rem;line-height:1.25rem;letter-spacing:-.01em;font-family:var(--ui-font-primary);font-weight:400;color:var(--text-base-secondary);overflow-wrap:break-word;transition:font-size .2s cubic-bezier(0,0,.2,1),line-height .2s cubic-bezier(0,0,.2,1),letter-spacing .2s cubic-bezier(0,0,.2,1)}._tags_7z5g3_64{display:flex;flex-wrap:wrap;align-items:center;gap:clamp(.25rem,.3756vw + .162rem,.5rem)}._input_7z5g3_71{font-size:clamp(.875rem,.1878vw + .831rem,1rem);line-height:clamp(1.3125rem,.2817vw + 1.2465rem,1.5rem);letter-spacing:-.02em;flex:1 0 auto;margin:0;padding:0;border:0;outline:0;background:transparent;font-family:var(--ui-font-body);font-weight:400;font-feature-settings:inherit;color:var(--text-base-primary);caret-color:var(--negative-fill)}._counter_7z5g3_88{font-size:.75rem;line-height:1.125rem;letter-spacing:-.02em;margin:0;font-family:var(--ui-font-body);font-weight:400;color:var(--text-base-secondary);text-align:right;transition:opacity .2s cubic-bezier(0,0,.2,1),visibility .2s}._field_7z5g3_1:not(:focus-within,._empty_7z5g3_100) ._input_7z5g3_71{position:absolute;width:1px;opacity:0}._empty_7z5g3_100:not(:focus-within){gap:0;padding-block:clamp(1rem,.7512vw + .8239rem,1.5rem)}._empty_7z5g3_100:not(:focus-within) ._content_7z5g3_36{gap:0}._empty_7z5g3_100:not(:focus-within) ._reveal_7z5g3_43{grid-template-rows:0fr}._empty_7z5g3_100:not(:focus-within) ._label_7z5g3_53{font-size:clamp(.875rem,.1878vw + .831rem,1rem);line-height:clamp(1.3125rem,.2817vw + 1.2465rem,1.5rem);letter-spacing:-.02em;font-family:var(--ui-font-body)}._empty_7z5g3_100:not(:focus-within) ._counter_7z5g3_88{visibility:hidden;opacity:0}._disabled_7z5g3_127{cursor:default}._disabled_7z5g3_127 ._label_7z5g3_53,._disabled_7z5g3_127 ._counter_7z5g3_88,._disabled_7z5g3_127 ._chip_7z5g3_132{color:var(--text-disabled)}._chip_7z5g3_132{font-size:clamp(.875rem,.1878vw + .831rem,1rem);line-height:clamp(1.3125rem,.2817vw + 1.2465rem,1.5rem);letter-spacing:-.02em;display:flex;align-items:center;gap:clamp(.25rem,.3756vw + .162rem,.5rem);max-width:100%;padding:clamp(.125rem,.1878vw + .081rem,.25rem) clamp(.75rem,.3756vw + .662rem,1rem);border-radius:var(--borderradius-pill);background-color:var(--surface-base-fill);font-family:var(--ui-font-body);font-weight:400;color:var(--text-base-primary);cursor:default}._chipText_7z5g3_153{min-width:0;overflow-wrap:anywhere}._remove_7z5g3_158{display:flex;flex-shrink:0;margin:0;padding:0;border:0;background:none;color:var(--icon-base-secondary);cursor:pointer}._invalid_7z5g3_169{background-color:var(--negative-fill-light);color:var(--negative-text)}._invalid_7z5g3_169 ._remove_7z5g3_158{color:var(--negative-icon)}@media(prefers-reduced-motion:reduce){._field_7z5g3_1,._content_7z5g3_36,._label_7z5g3_53,._reveal_7z5g3_43{transition:none}}._field_1hc5h_1{display:flex;flex-direction:column;gap:max(clamp(.125rem,.1878vw + .081rem,.25rem),.25rem);padding:max(clamp(.5rem,.3756vw + .412rem,.75rem),.75rem) max(clamp(1rem,.3756vw + .912rem,1.25rem),1.25rem);border-radius:var(--borderradius-cardsm);background-color:var(--surface-base-secondary);font-feature-settings:"dlig" 1;cursor:text;transition:padding .2s cubic-bezier(0,0,.2,1),gap .2s cubic-bezier(0,0,.2,1)}._field_1hc5h_1:focus-within{outline:var(--strokewidth-sm) solid var(--accent-fill-focused)}._label_1hc5h_16{font-size:.875rem;line-height:1.25rem;letter-spacing:-.01em;font-family:var(--ui-font-primary);font-weight:400;color:var(--text-base-secondary);overflow-wrap:break-word;transition:font-size .2s cubic-bezier(0,0,.2,1),line-height .2s cubic-bezier(0,0,.2,1),letter-spacing .2s cubic-bezier(0,0,.2,1)}._reveal_1hc5h_27{display:grid;grid-template-rows:1fr;transition:grid-template-rows .2s cubic-bezier(0,0,.2,1)}._reveal_1hc5h_27>*{min-height:0;overflow:clip}._input_1hc5h_37{font-size:1rem;line-height:1.375rem;letter-spacing:-.01em;box-sizing:border-box;width:100%;margin:0;padding:0;border:0;outline:0;background:transparent;font-family:var(--ui-font-primary);font-weight:400;font-feature-settings:inherit;color:var(--text-base-primary);caret-color:var(--negative-fill)}._empty_1hc5h_55:not(:focus-within){gap:0;padding-block:max(clamp(1rem,.7512vw + .8239rem,1.5rem),1.5rem)}._empty_1hc5h_55:not(:focus-within) ._reveal_1hc5h_27{grid-template-rows:0fr}._empty_1hc5h_55:not(:focus-within) ._label_1hc5h_16{font-size:1rem;line-height:1.375rem;letter-spacing:-.01em}@media(prefers-reduced-motion:reduce){._field_1hc5h_1,._label_1hc5h_16,._reveal_1hc5h_27{transition:none}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartyweb/ui",
3
- "version": "2.4.2-max-text-field-line-height.g72f7e1c",
3
+ "version": "2.5.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",