@smartyweb/ui 2.3.0-irina-inline-link.ga63fca2 → 2.3.0-max-ci-versioning.geeb4ebd

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,10 @@
1
+ # @smartyweb/ui changelog
2
+
3
+ Release notes ship inside every version of the package, not in this repo: CI works out each
4
+ release on `master` and commits nothing back, so `package.json` says `0.0.0-development` on
5
+ purpose ([ADR-0009](docs/adr/0009-releases-are-versioned-in-ci-never-committed.md)).
6
+
7
+ - **Current version:** `npm view @smartyweb/ui version`
8
+ - **Release notes:** `node_modules/@smartyweb/ui/CHANGELOG.md` in a consumer, the Code tab on
9
+ npmjs.com, or one release's tag (`git show v<version>`)
10
+ - **What ships next:** `npm run release:preview`
package/README.md CHANGED
@@ -63,7 +63,7 @@ If a variable is not set, components fall back to `system-ui` (headings/body) or
63
63
  | -------------------- | ------------------------------------------------------------------------------------------------------- |
64
64
  | `/new-component` | Build or align a component from its live Figma node — bindings, fidelity table, gates, measured report. |
65
65
  | `/validate-tokens` | Check the library still mirrors Figma — recapture every component's bindings, run the mirror, repair. |
66
- | `/version-up` | Cut a new version with changesets (bump, changelog, release prep). |
66
+ | `/changeset` | Write a branch's changeset (bump type + changelog line); merging to master publishes it. |
67
67
  | `/commit-push` | Commit and push all changes with a summary commit message. |
68
68
  | `/use-in-storefront` | Carry a component into a storefront-2 page — install, place, gates, preview. |
69
69
 
@@ -1,28 +1,27 @@
1
1
  import { default as React } from 'react';
2
2
  interface SharedProps {
3
- /** Figma's OnLightBlue axis — the accent link, for the light-blue surface. */
3
+ /** Link has two variants, default and accent; hover, pressed, focused and disabled are states. */
4
4
  variant?: "default" | "accent";
5
5
  onClick?: React.MouseEventHandler;
6
6
  children?: React.ReactNode;
7
7
  }
8
- type AsAnchor = SharedProps & {
9
- as?: "a";
8
+ /**
9
+ * Where the href leads decides what renders: http(s) opens in a new tab, an internal
10
+ * route goes through the <LinkProvider> router, and anything else — including a file
11
+ * such as a PDF, which opens in the browser — is a plain <a>.
12
+ */
13
+ type AsLink = SharedProps & {
10
14
  href: string;
11
- openInNewTab?: boolean;
15
+ /** Saves the file instead of opening it: always a plain <a download>, never a new tab. */
16
+ download?: boolean;
12
17
  disabled?: never;
13
18
  };
19
+ /** No href — a link-styled <button> for an action. */
14
20
  type AsButton = SharedProps & {
15
- as: "button";
16
21
  href?: never;
17
- openInNewTab?: never;
22
+ download?: never;
18
23
  disabled?: boolean;
19
24
  };
20
- type AsCustom = SharedProps & {
21
- as: React.ElementType;
22
- href: string;
23
- openInNewTab?: boolean;
24
- disabled?: never;
25
- };
26
- export type LinkProps = AsAnchor | AsButton | AsCustom;
27
- export declare function Link({ as: Tag, variant, href, openInNewTab, disabled, onClick, children, }: LinkProps): import("react/jsx-runtime").JSX.Element;
25
+ export type LinkProps = AsLink | AsButton;
26
+ export declare function Link({ variant, href, download, disabled, onClick, children, }: LinkProps): import("react/jsx-runtime").JSX.Element;
28
27
  export {};
@@ -0,0 +1,13 @@
1
+ import { default as React } from 'react';
2
+ export interface LinkProviderProps {
3
+ /**
4
+ * Renders every internal route. Gets an anchor's props with `href` always set —
5
+ * `next/link` fits as is, or pass a wrapper around it to keep app-specific
6
+ * navigation rules (storefront's build-timestamp check lives in such a wrapper).
7
+ */
8
+ component: React.ElementType;
9
+ children?: React.ReactNode;
10
+ }
11
+ /** Set once near the app root so <Link> can route internal hrefs client-side. */
12
+ export declare function LinkProvider({ component, children }: LinkProviderProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function useRouterLink(): React.ElementType<any, keyof React.JSX.IntrinsicElements> | null;
@@ -1,2 +1,4 @@
1
1
  export { Link } from './Link';
2
2
  export type { LinkProps } from './Link';
3
+ export { LinkProvider } from './LinkProvider';
4
+ export type { LinkProviderProps } from './LinkProvider';
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),u=require("react"),W="_h1_1765w_1",R={h1:W};function z({children:e,className:n}){const s=[R.h1,n].filter(Boolean).join(" ");return t.jsx("h1",{className:s,children:e})}const U="_h2_1eque_1",F={h2:U};function T({children:e}){return t.jsx("h2",{className:F.h2,children:e})}const P="_paragraph_11t85_1",V={paragraph:P};function K({children:e}){return t.jsx("p",{className:V.paragraph,children:e})}const C=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 G(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 S(e,n){for(const s of u.Children.toArray(e)){if(!u.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===u.Fragment){const{children:i}=s.props;S(i,n);continue}n(s.type)||s.type==="li"||L(`<UnorderedList> received ${G(s.type)} as a direct child. A <ul> may only contain list items — wrap it in <ListItem>.`)}}function J(){L("<ListItem> was rendered outside of an <UnorderedList>. It renders an <li>, which browsers only style correctly inside a list.")}const X="_list_1p627_1",Z="_item_1p627_14",B={list:X,item:Z},I=u.createContext(!1);function b({children:e}){const n=u.useContext(I);return C&&!n&&J(),t.jsx("li",{className:B.item,children:e})}b.isSmartyListItem=!0;function Q(e){return e===b?!0:typeof e=="function"&&e.isSmartyListItem===!0}function Y({children:e}){return C&&S(e,Q),t.jsx(I,{value:!0,children:t.jsx("ul",{role:"list",className:B.list,children:e})})}const ee="_button_81qo0_1",te="_sm_81qo0_26",ne="_primary_81qo0_33",se="_secondary_81qo0_49",ie="_negative_81qo0_68",x={button:ee,sm:te,primary:ne,secondary:se,negative:ie};function re({as:e="button",variant:n="primary",size:s="default",href:i,openInNewTab:c,disabled:_,type:a,onClick:l,children:d}){const f=[x.button,x[n],s==="sm"&&x.sm].filter(Boolean).join(" ");return t.jsx(e,{className:f,href:i,target:c?"_blank":void 0,rel:c?"noopener noreferrer":void 0,disabled:_,type:a,onClick:l,children:d})}const oe="_link_zldg6_1",ae="_accent_zldg6_28",ce="_disabled_zldg6_38",j={link:oe,accent:ae,disabled:ce};function le({as:e="a",variant:n="default",href:s,openInNewTab:i,disabled:c,onClick:_,children:a}){const d=[j.link,n==="accent"&&j.accent,c&&j.disabled].filter(Boolean).join(" ");return t.jsx(e,{className:d,href:s,target:i?"_blank":void 0,rel:i?"noopener noreferrer":void 0,disabled:c,onClick:c?void 0:_,"aria-disabled":c,children:a})}const de=typeof process<"u"&&process.env.NODE_ENV!=="production",w=new Set;function ue(e){w.has(e)||(w.add(e),console.warn(`[@smartyweb/ui] ${e}`))}function _e(){ue("<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 me="_nav_dxkjl_3",fe="_list_dxkjl_7",pe="_item_dxkjl_16",he="_link_dxkjl_20",ge="_current_dxkjl_48",g={nav:me,list:fe,item:pe,link:he,current:ge},O=u.createContext(null);function ye({label:e,current:n,children:s}){return de&&!e?.trim()&&_e(),t.jsx("nav",{className:g.nav,"aria-label":e,children:t.jsx(O,{value:n??null,children:t.jsx("ul",{className:g.list,children:s})})})}function ve({as:e="a",href:n,current:s,openInNewTab:i,onClick:c,children:_}){const a=u.useContext(O),l=s??(a!==null&&a===n),d=[g.link,l&&g.current].filter(Boolean).join(" ");return t.jsx("li",{className:g.item,children:t.jsx(e,{className:d,href:n,target:i?"_blank":void 0,rel:i?"noopener noreferrer":void 0,onClick:c,"aria-current":l?"location":void 0,children:_})})}const xe="_hero_93692_11",je="_layout_93692_16",Ne="_content_93692_21",Le="_titleLine_93692_25",be="_titleWord_93692_29",$e="_description_93692_35",ke="_media_93692_48",h={hero:xe,layout:je,content:Ne,titleLine:Le,titleWord:be,description:$e,media:ke};function we(e){return e.replace(/([- ])/g,n=>`${n===" "?" ":n}|split|`).split("|split|")}const ze=e=>({"--hero-index":e});function Ce({title:e,description:n,media:s}){const i=Array.isArray(e);let c=0;const _=(i?e:[e]).map(a=>we(a).map(l=>({word:l,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:_.map((a,l)=>t.jsx("span",{className:i?h.titleLine:void 0,children:a.map(({word:d,index:m})=>t.jsx("span",{className:h.titleWord,style:ze(m),children:d},m))},l))}),t.jsx("p",{className:h.description,children:n})]})]})})}function Se(){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 Be="_field_7z5g3_1",Ie="_error_7z5g3_17",Oe="_message_7z5g3_21",De="_content_7z5g3_36",Me="_reveal_7z5g3_43",qe="_label_7z5g3_53",Ae="_tags_7z5g3_64",He="_input_7z5g3_71",Ee="_counter_7z5g3_88",We="_empty_7z5g3_100",Re="_disabled_7z5g3_127",Ue="_chip_7z5g3_132",Fe="_chipText_7z5g3_153",Te="_remove_7z5g3_158",Pe="_invalid_7z5g3_169",o={field:Be,error:Ie,message:Oe,content:De,reveal:Me,label:qe,tags:Ae,input:He,counter:Ee,empty:We,disabled:Re,chip:Ue,chipText:Fe,remove:Te,invalid:Pe};function Ve({children:e,invalid:n,onRemove:s}){return t.jsxs("span",{className:[o.chip,n&&o.invalid].filter(Boolean).join(" "),children:[t.jsx("span",{className:o.chipText,children:e}),s&&t.jsx("button",{type:"button",className:o.remove,"aria-label":`Remove ${e}${n?" (invalid)":""}`,onClick:s,children:t.jsx(Se,{})})]})}const N=100;function Ke({label:e,value:n,onChange:s,disabled:i=!1,isTagInvalid:c,onInputChange:_,error:a}){const l=u.useId(),d=`${l}-message`,m=u.useRef(null),[f,D]=u.useState(""),M=n.length>=N,q=r=>{D(r),_?.(r)},v=r=>{const p=r.split(/[\s,]+/),$=p.pop()??"",y=p.filter(Boolean).slice(0,Math.max(0,N-n.length));y.length&&s([...n,...y]),q($)},A=r=>{r.key==="Enter"&&f&&!r.nativeEvent.isComposing?(r.preventDefault(),v(`${f},`)):r.key==="Backspace"&&!f&&n.length&&s(n.slice(0,-1))},H=r=>{i||r.target===m.current||r.target.closest("button")||(r.preventDefault(),m.current?.focus())},E=[o.field,!n.length&&o.empty,i&&o.disabled,a&&o.error].filter(Boolean).join(" ");return t.jsxs("div",{children:[t.jsxs("div",{className:E,onMouseDown:H,children:[t.jsxs("div",{className:o.content,children:[t.jsx("label",{htmlFor:l,className:o.label,children:e}),t.jsx("div",{className:o.reveal,children:t.jsxs("div",{className:o.tags,children:[n.map((r,p)=>t.jsx(Ve,{invalid:c?.(r,p)??!1,onRemove:i?void 0:()=>{s(n.filter(($,y)=>y!==p)),p===n.length-1&&m.current?.focus()},children:r},p)),t.jsx("input",{ref:m,id:l,className:o.input,size:1,value:f,disabled:i,readOnly:M,"aria-invalid":a?!0:void 0,"aria-describedby":a?d:void 0,onChange:r=>{v(r.target.value)},onKeyDown:A,onBlur:()=>{v(`${f},`)}})]})})]}),t.jsx("div",{className:o.reveal,children:t.jsxs("p",{className:o.counter,children:[n.length," / ",N]})})]}),t.jsx("p",{id:d,className:o.message,"aria-live":"polite",children:a})]})}exports.Button=re;exports.H1=z;exports.H2=T;exports.Hero=Ce;exports.Link=le;exports.ListItem=b;exports.MultitagField=Ke;exports.Paragraph=K;exports.SideNav=ye;exports.SideNavLink=ve;exports.UnorderedList=Y;
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),_=require("react"),q="_h1_1765w_1",H={h1:q};function z({children:e,className:t}){const s=[H.h1,t].filter(Boolean).join(" ");return n.jsx("h1",{className:s,children:e})}const F="_h2_1eque_1",P={h2:F};function U({children:e}){return n.jsx("h2",{className:P.h2,children:e})}const V="_paragraph_11t85_1",K={paragraph:V};function X({children:e}){return n.jsx("p",{className:K.paragraph,children:e})}const C=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 G(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 S(e,t){for(const s of _.Children.toArray(e)){if(!_.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===_.Fragment){const{children:i}=s.props;S(i,t);continue}t(s.type)||s.type==="li"||L(`<UnorderedList> received ${G(s.type)} as a direct child. A <ul> may only contain list items — wrap it in <ListItem>.`)}}function J(){L("<ListItem> was rendered outside of an <UnorderedList>. It renders an <li>, which browsers only style correctly inside a list.")}const Z="_list_1p627_1",Q="_item_1p627_14",I={list:Z,item:Q},O=_.createContext(!1);function b({children:e}){const t=_.useContext(O);return C&&!t&&J(),n.jsx("li",{className:I.item,children:e})}b.isSmartyListItem=!0;function Y(e){return e===b?!0:typeof e=="function"&&e.isSmartyListItem===!0}function ee({children:e}){return C&&S(e,Y),n.jsx(O,{value:!0,children:n.jsx("ul",{role:"list",className:I.list,children:e})})}const te="_button_81qo0_1",ne="_sm_81qo0_26",se="_primary_81qo0_33",ie="_secondary_81qo0_49",oe="_negative_81qo0_68",j={button:te,sm:ne,primary:se,secondary:ie,negative:oe};function re({as:e="button",variant:t="primary",size:s="default",href:i,openInNewTab:l,disabled:m,type:r,onClick:c,children:d}){const p=[j.button,j[t],s==="sm"&&j.sm].filter(Boolean).join(" ");return n.jsx(e,{className:p,href:i,target:l?"_blank":void 0,rel:l?"noopener noreferrer":void 0,disabled:m,type:r,onClick:c,children:d})}const ae="_link_1m7hb_1",ce="_accent_1m7hb_28",le="_disabled_1m7hb_38",de="_newTabNote_1m7hb_48",v={link:ae,accent:ce,disabled:le,newTabNote:de},T=_.createContext(null);function ue({component:e,children:t}){return n.jsx(T,{value:e,children:t})}function _e(){return _.useContext(T)}const me=" (opens in new tab)",pe=/\.[a-z][a-z\d]{1,4}$/;function fe(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 he({variant:e="default",href:t,download:s=!1,disabled:i,onClick:l,children:m}){const r=_e(),d=[v.link,e==="accent"&&v.accent,i&&v.disabled].filter(Boolean).join(" ");if(t===void 0)return n.jsx("button",{type:"button",className:d,disabled:i,onClick:i?void 0:l,"aria-disabled":i,children:m});const u=fe(t,s);if(u==="external")return n.jsxs("a",{className:d,href:t,target:"_blank",rel:"noopener noreferrer",onClick:l,children:[m,n.jsx("span",{className:v.newTabNote,children:me})]});const p=u==="router"&&r?r:"a";return n.jsx(p,{className:d,href:t,download:u==="download"?"":void 0,onClick:l,children:m})}const xe=typeof process<"u"&&process.env.NODE_ENV!=="production",$=new Set;function ge(e){$.has(e)||($.add(e),console.warn(`[@smartyweb/ui] ${e}`))}function ve(){ge("<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 ye="_nav_dxkjl_3",je="_list_dxkjl_7",Ne="_item_dxkjl_16",Le="_link_dxkjl_20",be="_current_dxkjl_48",x={nav:ye,list:je,item:Ne,link:Le,current:be},B=_.createContext(null);function we({label:e,current:t,children:s}){return xe&&!e?.trim()&&ve(),n.jsx("nav",{className:x.nav,"aria-label":e,children:n.jsx(B,{value:t??null,children:n.jsx("ul",{className:x.list,children:s})})})}function ke({as:e="a",href:t,current:s,openInNewTab:i,onClick:l,children:m}){const r=_.useContext(B),c=s??(r!==null&&r===t),d=[x.link,c&&x.current].filter(Boolean).join(" ");return n.jsx("li",{className:x.item,children:n.jsx(e,{className:d,href:t,target:i?"_blank":void 0,rel:i?"noopener noreferrer":void 0,onClick:l,"aria-current":c?"location":void 0,children:m})})}const $e="_hero_93692_11",ze="_layout_93692_16",Ce="_content_93692_21",Se="_titleLine_93692_25",Ie="_titleWord_93692_29",Oe="_description_93692_35",Te="_media_93692_48",h={hero:$e,layout:ze,content:Ce,titleLine:Se,titleWord:Ie,description:Oe,media:Te};function Be(e){return e.replace(/([- ])/g,t=>`${t===" "?" ":t}|split|`).split("|split|")}const Ee=e=>({"--hero-index":e});function De({title:e,description:t,media:s}){const i=Array.isArray(e);let l=0;const m=(i?e:[e]).map(r=>Be(r).map(c=>({word:c,index:l++})));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(z,{children:m.map((r,c)=>n.jsx("span",{className:i?h.titleLine:void 0,children:r.map(({word:d,index:u})=>n.jsx("span",{className:h.titleWord,style:Ee(u),children:d},u))},c))}),n.jsx("p",{className:h.description,children:t})]})]})})}function Me(){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 Ae="_field_7z5g3_1",Re="_error_7z5g3_17",We="_message_7z5g3_21",qe="_content_7z5g3_36",He="_reveal_7z5g3_43",Fe="_label_7z5g3_53",Pe="_tags_7z5g3_64",Ue="_input_7z5g3_71",Ve="_counter_7z5g3_88",Ke="_empty_7z5g3_100",Xe="_disabled_7z5g3_127",Ge="_chip_7z5g3_132",Je="_chipText_7z5g3_153",Ze="_remove_7z5g3_158",Qe="_invalid_7z5g3_169",a={field:Ae,error:Re,message:We,content:qe,reveal:He,label:Fe,tags:Pe,input:Ue,counter:Ve,empty:Ke,disabled:Xe,chip:Ge,chipText:Je,remove:Ze,invalid:Qe};function Ye({children:e,invalid:t,onRemove:s}){return n.jsxs("span",{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(Me,{})})]})}const N=100;function et({label:e,value:t,onChange:s,disabled:i=!1,isTagInvalid:l,onInputChange:m,error:r}){const c=_.useId(),d=`${c}-message`,u=_.useRef(null),[p,E]=_.useState(""),D=t.length>=N,M=o=>{E(o),m?.(o)},y=o=>{const f=o.split(/[\s,]+/),w=f.pop()??"",g=f.filter(Boolean).slice(0,Math.max(0,N-t.length));g.length&&s([...t,...g]),M(w)},A=o=>{o.key==="Enter"&&p&&!o.nativeEvent.isComposing?(o.preventDefault(),y(`${p},`)):o.key==="Backspace"&&!p&&t.length&&s(t.slice(0,-1))},R=o=>{i||o.target===u.current||o.target.closest("button")||(o.preventDefault(),u.current?.focus())},W=[a.field,!t.length&&a.empty,i&&a.disabled,r&&a.error].filter(Boolean).join(" ");return n.jsxs("div",{children:[n.jsxs("div",{className:W,onMouseDown:R,children:[n.jsxs("div",{className:a.content,children:[n.jsx("label",{htmlFor:c,className:a.label,children:e}),n.jsx("div",{className:a.reveal,children:n.jsxs("div",{className:a.tags,children:[t.map((o,f)=>n.jsx(Ye,{invalid:l?.(o,f)??!1,onRemove:i?void 0:()=>{s(t.filter((w,g)=>g!==f)),f===t.length-1&&u.current?.focus()},children:o},f)),n.jsx("input",{ref:u,id:c,className:a.input,size:1,value:p,disabled:i,readOnly:D,"aria-invalid":r?!0:void 0,"aria-describedby":r?d:void 0,onChange:o=>{y(o.target.value)},onKeyDown:A,onBlur:()=>{y(`${p},`)}})]})})]}),n.jsx("div",{className:a.reveal,children:n.jsxs("p",{className:a.counter,children:[t.length," / ",N]})})]}),n.jsx("p",{id:d,className:a.message,"aria-live":"polite",children:r})]})}exports.Button=re;exports.H1=z;exports.H2=U;exports.Hero=De;exports.Link=he;exports.LinkProvider=ue;exports.ListItem=b;exports.MultitagField=et;exports.Paragraph=X;exports.SideNav=we;exports.SideNavLink=ke;exports.UnorderedList=ee;
package/dist/index.js CHANGED
@@ -1,211 +1,253 @@
1
1
  "use client";
2
- import { jsx as t, jsxs as m } from "react/jsx-runtime";
3
- import { Children as R, isValidElement as U, Fragment as F, createContext as z, useContext as j, useId as T, useRef as V, useState as K } from "react";
4
- const P = "_h1_1765w_1", G = {
5
- h1: P
2
+ import { jsx as n, jsxs as m } from "react/jsx-runtime";
3
+ import { Children as F, isValidElement as H, Fragment as U, createContext as $, useContext as k, useId as P, useRef as V, useState as K } from "react";
4
+ const X = "_h1_1765w_1", G = {
5
+ h1: X
6
6
  };
7
- function J({ children: e, className: n }) {
8
- const s = [G.h1, n].filter(Boolean).join(" ");
9
- return /* @__PURE__ */ t("h1", { className: s, children: e });
7
+ function J({ children: e, className: t }) {
8
+ const s = [G.h1, t].filter(Boolean).join(" ");
9
+ return /* @__PURE__ */ n("h1", { className: s, children: e });
10
10
  }
11
- const X = "_h2_1eque_1", Z = {
12
- h2: X
11
+ const Z = "_h2_1eque_1", Q = {
12
+ h2: Z
13
13
  };
14
- function Je({ children: e }) {
15
- return /* @__PURE__ */ t("h2", { className: Z.h2, children: e });
14
+ function tt({ children: e }) {
15
+ return /* @__PURE__ */ n("h2", { className: Q.h2, children: e });
16
16
  }
17
- const Q = "_paragraph_11t85_1", Y = {
18
- paragraph: Q
17
+ const Y = "_paragraph_11t85_1", ee = {
18
+ paragraph: Y
19
19
  };
20
- function Xe({ children: e }) {
21
- return /* @__PURE__ */ t("p", { className: Y.paragraph, children: e });
20
+ function nt({ children: e }) {
21
+ return /* @__PURE__ */ n("p", { className: ee.paragraph, children: e });
22
22
  }
23
- const C = typeof process < "u" && process.env.NODE_ENV !== "production", w = /* @__PURE__ */ new Set();
24
- function b(e) {
25
- w.has(e) || (w.add(e), console.warn(`[@smartyweb/ui] ${e}`));
23
+ const I = typeof process < "u" && process.env.NODE_ENV !== "production", z = /* @__PURE__ */ new Set();
24
+ function w(e) {
25
+ z.has(e) || (z.add(e), console.warn(`[@smartyweb/ui] ${e}`));
26
26
  }
27
- function ee(e) {
27
+ function te(e) {
28
28
  if (typeof e == "string") return `<${e}>`;
29
29
  if (typeof e == "function") return `<${e.name || "Component"}>`;
30
30
  if (typeof e == "object" && e !== null && "displayName" in e) {
31
- const { displayName: n } = e;
32
- if (typeof n == "string") return `<${n}>`;
31
+ const { displayName: t } = e;
32
+ if (typeof t == "string") return `<${t}>`;
33
33
  }
34
34
  return "an unknown element";
35
35
  }
36
- function B(e, n) {
37
- for (const s of R.toArray(e)) {
38
- if (!U(s)) {
36
+ function O(e, t) {
37
+ for (const s of F.toArray(e)) {
38
+ if (!H(s)) {
39
39
  if (typeof s != "string" && typeof s != "number") continue;
40
40
  const i = String(s).trim();
41
41
  if (i === "") continue;
42
- b(
42
+ w(
43
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>.`
44
44
  );
45
45
  continue;
46
46
  }
47
- if (s.type === F) {
47
+ if (s.type === U) {
48
48
  const { children: i } = s.props;
49
- B(i, n);
49
+ O(i, t);
50
50
  continue;
51
51
  }
52
- n(s.type) || s.type === "li" || b(
53
- `<UnorderedList> received ${ee(s.type)} as a direct child. A <ul> may only contain list items — wrap it in <ListItem>.`
52
+ t(s.type) || s.type === "li" || w(
53
+ `<UnorderedList> received ${te(s.type)} as a direct child. A <ul> may only contain list items — wrap it in <ListItem>.`
54
54
  );
55
55
  }
56
56
  }
57
57
  function ne() {
58
- b(
58
+ w(
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 te = "_list_1p627_1", se = "_item_1p627_14", I = {
63
- list: te,
64
- item: se
65
- }, O = z(!1);
66
- function S({ children: e }) {
67
- const n = j(O);
68
- return C && !n && ne(), /* @__PURE__ */ t("li", { className: I.item, children: e });
62
+ const se = "_list_1p627_1", ie = "_item_1p627_14", T = {
63
+ list: se,
64
+ item: ie
65
+ }, B = $(!1);
66
+ function C({ children: e }) {
67
+ const t = k(B);
68
+ return I && !t && ne(), /* @__PURE__ */ n("li", { className: T.item, children: e });
69
69
  }
70
- S.isSmartyListItem = !0;
71
- function ie(e) {
72
- return e === S ? !0 : typeof e == "function" && e.isSmartyListItem === !0;
70
+ C.isSmartyListItem = !0;
71
+ function oe(e) {
72
+ return e === C ? !0 : typeof e == "function" && e.isSmartyListItem === !0;
73
73
  }
74
- function Ze({ children: e }) {
75
- return C && B(e, ie), /* @__PURE__ */ t(O, { value: !0, children: /* @__PURE__ */ t("ul", { role: "list", className: I.list, children: e }) });
74
+ function st({ children: e }) {
75
+ return I && O(e, oe), /* @__PURE__ */ n(B, { value: !0, children: /* @__PURE__ */ n("ul", { role: "list", className: T.list, children: e }) });
76
76
  }
77
- const oe = "_button_81qo0_1", re = "_sm_81qo0_26", ae = "_primary_81qo0_33", ce = "_secondary_81qo0_49", le = "_negative_81qo0_68", N = {
78
- button: oe,
79
- sm: re,
80
- primary: ae,
81
- secondary: ce,
82
- negative: le
77
+ const re = "_button_81qo0_1", ae = "_sm_81qo0_26", ce = "_primary_81qo0_33", le = "_secondary_81qo0_49", de = "_negative_81qo0_68", b = {
78
+ button: re,
79
+ sm: ae,
80
+ primary: ce,
81
+ secondary: le,
82
+ negative: de
83
83
  };
84
- function Qe({
84
+ function it({
85
85
  as: e = "button",
86
- variant: n = "primary",
86
+ variant: t = "primary",
87
87
  size: s = "default",
88
88
  href: i,
89
- openInNewTab: c,
90
- disabled: u,
91
- type: a,
92
- onClick: l,
89
+ openInNewTab: l,
90
+ disabled: _,
91
+ type: r,
92
+ onClick: c,
93
93
  children: d
94
94
  }) {
95
- const f = [N.button, N[n], s === "sm" && N.sm].filter(Boolean).join(" ");
96
- return /* @__PURE__ */ t(
95
+ const p = [b.button, b[t], s === "sm" && b.sm].filter(Boolean).join(" ");
96
+ return /* @__PURE__ */ n(
97
97
  e,
98
98
  {
99
- className: f,
99
+ className: p,
100
100
  href: i,
101
- target: c ? "_blank" : void 0,
102
- rel: c ? "noopener noreferrer" : void 0,
103
- disabled: u,
104
- type: a,
105
- onClick: l,
101
+ target: l ? "_blank" : void 0,
102
+ rel: l ? "noopener noreferrer" : void 0,
103
+ disabled: _,
104
+ type: r,
105
+ onClick: c,
106
106
  children: d
107
107
  }
108
108
  );
109
109
  }
110
- const de = "_link_zldg6_1", ue = "_accent_zldg6_28", _e = "_disabled_zldg6_38", L = {
111
- link: de,
112
- accent: ue,
113
- disabled: _e
114
- };
115
- function Ye({
116
- as: e = "a",
117
- variant: n = "default",
118
- href: s,
119
- openInNewTab: i,
120
- disabled: c,
121
- onClick: u,
122
- children: a
110
+ const ue = "_link_1m7hb_1", _e = "_accent_1m7hb_28", me = "_disabled_1m7hb_38", pe = "_newTabNote_1m7hb_48", v = {
111
+ link: ue,
112
+ accent: _e,
113
+ disabled: me,
114
+ newTabNote: pe
115
+ }, E = $(null);
116
+ function ot({ component: e, children: t }) {
117
+ return /* @__PURE__ */ n(E, { value: e, children: t });
118
+ }
119
+ function fe() {
120
+ return k(E);
121
+ }
122
+ const he = " (opens in new tab)", ge = /\.[a-z][a-z\d]{1,4}$/;
123
+ function ye(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 ge.test(s) ? "plain" : "router";
129
+ }
130
+ function rt({
131
+ variant: e = "default",
132
+ href: t,
133
+ download: s = !1,
134
+ disabled: i,
135
+ onClick: l,
136
+ children: _
123
137
  }) {
124
- const d = [L.link, n === "accent" && L.accent, c && L.disabled].filter(Boolean).join(" ");
125
- return /* @__PURE__ */ t(
126
- e,
138
+ const r = fe(), d = [v.link, e === "accent" && v.accent, i && v.disabled].filter(Boolean).join(" ");
139
+ if (t === void 0)
140
+ return /* @__PURE__ */ n(
141
+ "button",
142
+ {
143
+ type: "button",
144
+ className: d,
145
+ disabled: i,
146
+ onClick: i ? void 0 : l,
147
+ "aria-disabled": i,
148
+ children: _
149
+ }
150
+ );
151
+ const u = ye(t, s);
152
+ return u === "external" ? /* @__PURE__ */ m(
153
+ "a",
127
154
  {
128
155
  className: d,
129
- href: s,
130
- target: i ? "_blank" : void 0,
131
- rel: i ? "noopener noreferrer" : void 0,
132
- disabled: c,
133
- onClick: c ? void 0 : u,
134
- "aria-disabled": c,
135
- children: a
156
+ href: t,
157
+ target: "_blank",
158
+ rel: "noopener noreferrer",
159
+ onClick: l,
160
+ children: [
161
+ _,
162
+ /* @__PURE__ */ n("span", { className: v.newTabNote, children: he })
163
+ ]
136
164
  }
165
+ ) : (
166
+ // The router link comes from context, set once at the app root, so it keeps its
167
+ // identity across renders — the remount this rule guards against cannot happen.
168
+ // eslint-disable-next-line react-hooks/static-components
169
+ /* @__PURE__ */ n(
170
+ u === "router" && r ? r : "a",
171
+ {
172
+ className: d,
173
+ href: t,
174
+ download: u === "download" ? "" : void 0,
175
+ onClick: l,
176
+ children: _
177
+ }
178
+ )
137
179
  );
138
180
  }
139
- const me = typeof process < "u" && process.env.NODE_ENV !== "production", x = /* @__PURE__ */ new Set();
140
- function fe(e) {
141
- x.has(e) || (x.add(e), console.warn(`[@smartyweb/ui] ${e}`));
181
+ const ve = typeof process < "u" && process.env.NODE_ENV !== "production", j = /* @__PURE__ */ new Set();
182
+ function Ne(e) {
183
+ j.has(e) || (j.add(e), console.warn(`[@smartyweb/ui] ${e}`));
142
184
  }
143
- function pe() {
144
- fe(
185
+ function be() {
186
+ Ne(
145
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."
146
188
  );
147
189
  }
148
- const he = "_nav_dxkjl_3", ge = "_list_dxkjl_7", ye = "_item_dxkjl_16", ve = "_link_dxkjl_20", Ne = "_current_dxkjl_48", g = {
149
- nav: he,
150
- list: ge,
151
- item: ye,
152
- link: ve,
153
- current: Ne
154
- }, D = z(null);
155
- function en({ label: e, current: n, children: s }) {
156
- return me && !e?.trim() && pe(), /* @__PURE__ */ t("nav", { className: g.nav, "aria-label": e, children: /* @__PURE__ */ t(D, { value: n ?? null, children: /* @__PURE__ */ t("ul", { className: g.list, children: s }) }) });
190
+ const Le = "_nav_dxkjl_3", we = "_list_dxkjl_7", $e = "_item_dxkjl_16", ke = "_link_dxkjl_20", xe = "_current_dxkjl_48", g = {
191
+ nav: Le,
192
+ list: we,
193
+ item: $e,
194
+ link: ke,
195
+ current: xe
196
+ }, S = $(null);
197
+ function at({ label: e, current: t, children: s }) {
198
+ return ve && !e?.trim() && be(), /* @__PURE__ */ n("nav", { className: g.nav, "aria-label": e, children: /* @__PURE__ */ n(S, { value: t ?? null, children: /* @__PURE__ */ n("ul", { className: g.list, children: s }) }) });
157
199
  }
158
- function nn({
200
+ function ct({
159
201
  as: e = "a",
160
- href: n,
202
+ href: t,
161
203
  current: s,
162
204
  openInNewTab: i,
163
- onClick: c,
164
- children: u
205
+ onClick: l,
206
+ children: _
165
207
  }) {
166
- const a = j(D), l = s ?? (a !== null && a === n), d = [g.link, l && g.current].filter(Boolean).join(" ");
167
- return /* @__PURE__ */ t("li", { className: g.item, children: /* @__PURE__ */ t(
208
+ const r = k(S), c = s ?? (r !== null && r === t), d = [g.link, c && g.current].filter(Boolean).join(" ");
209
+ return /* @__PURE__ */ n("li", { className: g.item, children: /* @__PURE__ */ n(
168
210
  e,
169
211
  {
170
212
  className: d,
171
- href: n,
213
+ href: t,
172
214
  target: i ? "_blank" : void 0,
173
215
  rel: i ? "noopener noreferrer" : void 0,
174
- onClick: c,
175
- "aria-current": l ? "location" : void 0,
176
- children: u
216
+ onClick: l,
217
+ "aria-current": c ? "location" : void 0,
218
+ children: _
177
219
  }
178
220
  ) });
179
221
  }
180
- const Le = "_hero_93692_11", $e = "_layout_93692_16", be = "_content_93692_21", ke = "_titleLine_93692_25", we = "_titleWord_93692_29", xe = "_description_93692_35", ze = "_media_93692_48", h = {
181
- hero: Le,
182
- layout: $e,
183
- content: be,
184
- titleLine: ke,
185
- titleWord: we,
186
- description: xe,
187
- media: ze
222
+ const ze = "_hero_93692_11", je = "_layout_93692_16", Ie = "_content_93692_21", Oe = "_titleLine_93692_25", Te = "_titleWord_93692_29", Be = "_description_93692_35", Ce = "_media_93692_48", h = {
223
+ hero: ze,
224
+ layout: je,
225
+ content: Ie,
226
+ titleLine: Oe,
227
+ titleWord: Te,
228
+ description: Be,
229
+ media: Ce
188
230
  };
189
- function je(e) {
190
- return e.replace(/([- ])/g, (n) => `${n === " " ? " " : n}|split|`).split("|split|");
231
+ function Ee(e) {
232
+ return e.replace(/([- ])/g, (t) => `${t === " " ? " " : t}|split|`).split("|split|");
191
233
  }
192
- const Ce = (e) => ({ "--hero-index": e });
193
- function tn({ title: e, description: n, media: s }) {
234
+ const Se = (e) => ({ "--hero-index": e });
235
+ function lt({ title: e, description: t, media: s }) {
194
236
  const i = Array.isArray(e);
195
- let c = 0;
196
- const u = (i ? e : [e]).map(
197
- (a) => je(a).map((l) => ({ word: l, index: c++ }))
237
+ let l = 0;
238
+ const _ = (i ? e : [e]).map(
239
+ (r) => Ee(r).map((c) => ({ word: c, index: l++ }))
198
240
  );
199
- return /* @__PURE__ */ t("section", { className: h.hero, children: /* @__PURE__ */ m("div", { className: h.layout, children: [
200
- /* @__PURE__ */ t("div", { className: h.media, children: s }),
241
+ return /* @__PURE__ */ n("section", { className: h.hero, children: /* @__PURE__ */ m("div", { className: h.layout, children: [
242
+ /* @__PURE__ */ n("div", { className: h.media, children: s }),
201
243
  /* @__PURE__ */ m("div", { className: h.content, children: [
202
- /* @__PURE__ */ t(J, { children: u.map((a, l) => /* @__PURE__ */ t("span", { className: i ? h.titleLine : void 0, children: a.map(({ word: d, index: _ }) => /* @__PURE__ */ t("span", { className: h.titleWord, style: Ce(_), children: d }, _)) }, l)) }),
203
- /* @__PURE__ */ t("p", { className: h.description, children: n })
244
+ /* @__PURE__ */ n(J, { children: _.map((r, c) => /* @__PURE__ */ n("span", { className: i ? h.titleLine : void 0, children: r.map(({ word: d, index: u }) => /* @__PURE__ */ n("span", { className: h.titleWord, style: Se(u), children: d }, u)) }, c)) }),
245
+ /* @__PURE__ */ n("p", { className: h.description, children: t })
204
246
  ] })
205
247
  ] }) });
206
248
  }
207
- function Be() {
208
- return /* @__PURE__ */ t("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ t(
249
+ function De() {
250
+ return /* @__PURE__ */ n("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ n(
209
251
  "path",
210
252
  {
211
253
  fillRule: "evenodd",
@@ -215,121 +257,122 @@ function Be() {
215
257
  }
216
258
  ) });
217
259
  }
218
- const Ie = "_field_7z5g3_1", Oe = "_error_7z5g3_17", Se = "_message_7z5g3_21", De = "_content_7z5g3_36", Ae = "_reveal_7z5g3_43", Me = "_label_7z5g3_53", Ee = "_tags_7z5g3_64", We = "_input_7z5g3_71", qe = "_counter_7z5g3_88", He = "_empty_7z5g3_100", Re = "_disabled_7z5g3_127", Ue = "_chip_7z5g3_132", Fe = "_chipText_7z5g3_153", Te = "_remove_7z5g3_158", Ve = "_invalid_7z5g3_169", r = {
219
- field: Ie,
220
- error: Oe,
221
- message: Se,
222
- content: De,
223
- reveal: Ae,
224
- label: Me,
225
- tags: Ee,
226
- input: We,
227
- counter: qe,
228
- empty: He,
229
- disabled: Re,
230
- chip: Ue,
231
- chipText: Fe,
232
- remove: Te,
233
- invalid: Ve
260
+ const Ae = "_field_7z5g3_1", We = "_error_7z5g3_17", Me = "_message_7z5g3_21", Re = "_content_7z5g3_36", qe = "_reveal_7z5g3_43", Fe = "_label_7z5g3_53", He = "_tags_7z5g3_64", Ue = "_input_7z5g3_71", Pe = "_counter_7z5g3_88", Ve = "_empty_7z5g3_100", Ke = "_disabled_7z5g3_127", Xe = "_chip_7z5g3_132", Ge = "_chipText_7z5g3_153", Je = "_remove_7z5g3_158", Ze = "_invalid_7z5g3_169", a = {
261
+ field: Ae,
262
+ error: We,
263
+ message: Me,
264
+ content: Re,
265
+ reveal: qe,
266
+ label: Fe,
267
+ tags: He,
268
+ input: Ue,
269
+ counter: Pe,
270
+ empty: Ve,
271
+ disabled: Ke,
272
+ chip: Xe,
273
+ chipText: Ge,
274
+ remove: Je,
275
+ invalid: Ze
234
276
  };
235
- function Ke({ children: e, invalid: n, onRemove: s }) {
236
- return /* @__PURE__ */ m("span", { className: [r.chip, n && r.invalid].filter(Boolean).join(" "), children: [
237
- /* @__PURE__ */ t("span", { className: r.chipText, children: e }),
238
- s && /* @__PURE__ */ t(
277
+ function Qe({ children: e, invalid: t, onRemove: s }) {
278
+ return /* @__PURE__ */ m("span", { className: [a.chip, t && a.invalid].filter(Boolean).join(" "), children: [
279
+ /* @__PURE__ */ n("span", { className: a.chipText, children: e }),
280
+ s && /* @__PURE__ */ n(
239
281
  "button",
240
282
  {
241
283
  type: "button",
242
- className: r.remove,
243
- "aria-label": `Remove ${e}${n ? " (invalid)" : ""}`,
284
+ className: a.remove,
285
+ "aria-label": `Remove ${e}${t ? " (invalid)" : ""}`,
244
286
  onClick: s,
245
- children: /* @__PURE__ */ t(Be, {})
287
+ children: /* @__PURE__ */ n(De, {})
246
288
  }
247
289
  )
248
290
  ] });
249
291
  }
250
- const $ = 100;
251
- function sn({
292
+ const L = 100;
293
+ function dt({
252
294
  label: e,
253
- value: n,
295
+ value: t,
254
296
  onChange: s,
255
297
  disabled: i = !1,
256
- isTagInvalid: c,
257
- onInputChange: u,
258
- error: a
298
+ isTagInvalid: l,
299
+ onInputChange: _,
300
+ error: r
259
301
  }) {
260
- const l = T(), d = `${l}-message`, _ = V(null), [f, A] = K(""), M = n.length >= $, E = (o) => {
261
- A(o), u?.(o);
262
- }, v = (o) => {
263
- const p = o.split(/[\s,]+/), k = p.pop() ?? "", y = p.filter(Boolean).slice(0, Math.max(0, $ - n.length));
264
- y.length && s([...n, ...y]), E(k);
265
- }, W = (o) => {
266
- o.key === "Enter" && f && !o.nativeEvent.isComposing ? (o.preventDefault(), v(`${f},`)) : o.key === "Backspace" && !f && n.length && s(n.slice(0, -1));
267
- }, q = (o) => {
268
- i || o.target === _.current || o.target.closest("button") || (o.preventDefault(), _.current?.focus());
269
- }, H = [
270
- r.field,
271
- !n.length && r.empty,
272
- i && r.disabled,
273
- a && r.error
302
+ const c = P(), d = `${c}-message`, u = V(null), [p, D] = K(""), A = t.length >= L, W = (o) => {
303
+ D(o), _?.(o);
304
+ }, N = (o) => {
305
+ const f = o.split(/[\s,]+/), x = f.pop() ?? "", y = f.filter(Boolean).slice(0, Math.max(0, L - t.length));
306
+ y.length && s([...t, ...y]), W(x);
307
+ }, M = (o) => {
308
+ o.key === "Enter" && p && !o.nativeEvent.isComposing ? (o.preventDefault(), N(`${p},`)) : o.key === "Backspace" && !p && t.length && s(t.slice(0, -1));
309
+ }, R = (o) => {
310
+ i || o.target === u.current || o.target.closest("button") || (o.preventDefault(), u.current?.focus());
311
+ }, q = [
312
+ a.field,
313
+ !t.length && a.empty,
314
+ i && a.disabled,
315
+ r && a.error
274
316
  ].filter(Boolean).join(" ");
275
317
  return /* @__PURE__ */ m("div", { children: [
276
- /* @__PURE__ */ m("div", { className: H, onMouseDown: q, children: [
277
- /* @__PURE__ */ m("div", { className: r.content, children: [
278
- /* @__PURE__ */ t("label", { htmlFor: l, className: r.label, children: e }),
279
- /* @__PURE__ */ t("div", { className: r.reveal, children: /* @__PURE__ */ m("div", { className: r.tags, children: [
280
- n.map((o, p) => /* @__PURE__ */ t(
281
- Ke,
318
+ /* @__PURE__ */ m("div", { className: q, onMouseDown: R, children: [
319
+ /* @__PURE__ */ m("div", { className: a.content, children: [
320
+ /* @__PURE__ */ n("label", { htmlFor: c, className: a.label, children: e }),
321
+ /* @__PURE__ */ n("div", { className: a.reveal, children: /* @__PURE__ */ m("div", { className: a.tags, children: [
322
+ t.map((o, f) => /* @__PURE__ */ n(
323
+ Qe,
282
324
  {
283
- invalid: c?.(o, p) ?? !1,
325
+ invalid: l?.(o, f) ?? !1,
284
326
  onRemove: i ? void 0 : () => {
285
- s(n.filter((k, y) => y !== p)), p === n.length - 1 && _.current?.focus();
327
+ s(t.filter((x, y) => y !== f)), f === t.length - 1 && u.current?.focus();
286
328
  },
287
329
  children: o
288
330
  },
289
- p
331
+ f
290
332
  )),
291
- /* @__PURE__ */ t(
333
+ /* @__PURE__ */ n(
292
334
  "input",
293
335
  {
294
- ref: _,
295
- id: l,
296
- className: r.input,
336
+ ref: u,
337
+ id: c,
338
+ className: a.input,
297
339
  size: 1,
298
- value: f,
340
+ value: p,
299
341
  disabled: i,
300
- readOnly: M,
301
- "aria-invalid": a ? !0 : void 0,
302
- "aria-describedby": a ? d : void 0,
342
+ readOnly: A,
343
+ "aria-invalid": r ? !0 : void 0,
344
+ "aria-describedby": r ? d : void 0,
303
345
  onChange: (o) => {
304
- v(o.target.value);
346
+ N(o.target.value);
305
347
  },
306
- onKeyDown: W,
348
+ onKeyDown: M,
307
349
  onBlur: () => {
308
- v(`${f},`);
350
+ N(`${p},`);
309
351
  }
310
352
  }
311
353
  )
312
354
  ] }) })
313
355
  ] }),
314
- /* @__PURE__ */ t("div", { className: r.reveal, children: /* @__PURE__ */ m("p", { className: r.counter, children: [
315
- n.length,
356
+ /* @__PURE__ */ n("div", { className: a.reveal, children: /* @__PURE__ */ m("p", { className: a.counter, children: [
357
+ t.length,
316
358
  " / ",
317
- $
359
+ L
318
360
  ] }) })
319
361
  ] }),
320
- /* @__PURE__ */ t("p", { id: d, className: r.message, "aria-live": "polite", children: a })
362
+ /* @__PURE__ */ n("p", { id: d, className: a.message, "aria-live": "polite", children: r })
321
363
  ] });
322
364
  }
323
365
  export {
324
- Qe as Button,
366
+ it as Button,
325
367
  J as H1,
326
- Je as H2,
327
- tn as Hero,
328
- Ye as Link,
329
- S as ListItem,
330
- sn as MultitagField,
331
- Xe as Paragraph,
332
- en as SideNav,
333
- nn as SideNavLink,
334
- Ze as UnorderedList
368
+ tt as H2,
369
+ lt as Hero,
370
+ rt as Link,
371
+ ot as LinkProvider,
372
+ C as ListItem,
373
+ dt as MultitagField,
374
+ nt as Paragraph,
375
+ at as SideNav,
376
+ ct as SideNavLink,
377
+ st as UnorderedList
335
378
  };
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_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_zldg6_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_zldg6_1:focus-visible{outline:var(--strokewidth-sm) solid var(--accent-fill-focused)}._link_zldg6_1:hover{color:var(--text-link-hovered)}._link_zldg6_1:active{color:var(--text-link-pressed)}._accent_zldg6_28{color:var(--accent-link)}._accent_zldg6_28:hover{color:var(--accent-fill-hovered)}._accent_zldg6_28:active{color:var(--text-link-pressed)}._disabled_zldg6_38{color:var(--text-invert-hovered);cursor:not-allowed;pointer-events:none}._disabled_zldg6_38:hover,._disabled_zldg6_38:active,._disabled_zldg6_38:focus-visible{color:var(--text-invert-hovered);outline:none}._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_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}}
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}}@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}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartyweb/ui",
3
- "version": "2.3.0-irina-inline-link.ga63fca2",
3
+ "version": "2.3.0-max-ci-versioning.geeb4ebd",
4
4
  "type": "module",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",
@@ -14,7 +14,8 @@
14
14
  "./styles.css": "./dist/ui.css"
15
15
  },
16
16
  "files": [
17
- "dist"
17
+ "dist",
18
+ "CHANGELOG.md"
18
19
  ],
19
20
  "scripts": {
20
21
  "tokens": "node sd.config.js",
@@ -22,14 +23,13 @@
22
23
  "dev": "node sd.config.js && vite build --watch",
23
24
  "typecheck": "tsc --noEmit",
24
25
  "changeset": "changeset",
25
- "version": "changeset version",
26
- "release": "changeset publish",
27
26
  "storybook": "node sd.config.js && storybook dev -p 6006",
28
27
  "build-storybook": "storybook build",
29
28
  "lint": "node scripts/check-use-client.mjs && eslint src --max-warnings 0 && stylelint 'src/**/*.scss'",
30
29
  "mirror": "node scripts/mirror-check.mjs",
31
30
  "mirror:selftest": "node scripts/mirror-selftest.mjs",
32
- "format:check": "prettier --check ."
31
+ "format:check": "prettier --check .",
32
+ "release:preview": "bash scripts/release.sh --dry-run"
33
33
  },
34
34
  "peerDependencies": {
35
35
  "react": "^19.0.0",