mbt-ui-kit 0.1.28 → 0.1.30
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/.ai/agent-examples/README.md +10 -3
- package/.ai/agent-reference/README.md +2 -1
- package/.ai/agent-rules/README.md +1 -1
- package/dist/components/button/button.d.ts +1 -0
- package/dist/components/button/button.d.ts.map +1 -1
- package/dist/components/typography/content-gap.d.ts +4 -0
- package/dist/components/typography/content-gap.d.ts.map +1 -0
- package/dist/components/typography/heading.d.ts +3 -2
- package/dist/components/typography/heading.d.ts.map +1 -1
- package/dist/components/typography/metric.d.ts +3 -2
- package/dist/components/typography/metric.d.ts.map +1 -1
- package/dist/components/typography/text.d.ts +3 -2
- package/dist/components/typography/text.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.mjs +148 -114
- package/dist/styles/mbt-ui-kit.css +1 -1
- package/package.json +1 -1
|
@@ -58,6 +58,10 @@ const preloadFonts = [plexSansRegularUrl, plexSansMediumUrl, interVariableUrl];
|
|
|
58
58
|
<SettingsIcon /> Settings
|
|
59
59
|
</Button>
|
|
60
60
|
|
|
61
|
+
<Button contentGap={3}>
|
|
62
|
+
<SearchIcon /> Search
|
|
63
|
+
</Button>
|
|
64
|
+
|
|
61
65
|
<Button>
|
|
62
66
|
Some text <SearchIcon /> Search
|
|
63
67
|
</Button>
|
|
@@ -100,18 +104,21 @@ const buttonRef = useRef<HTMLButtonElement>(null);
|
|
|
100
104
|
```tsx
|
|
101
105
|
<Heading level={1}>Dashboard</Heading>
|
|
102
106
|
<Heading level={3}>Recent Matches</Heading>
|
|
103
|
-
<Heading level={4}
|
|
107
|
+
<Heading level={4}>{'Recent'}<SearchIcon />{'Matches'}</Heading>
|
|
108
|
+
<Heading level={4} contentGap={3}>{'Recent'}<SearchIcon />{'Matches'}</Heading>
|
|
104
109
|
|
|
105
110
|
<Text>Regular body copy.</Text>
|
|
106
111
|
<Text strong>Highlighted text.</Text>
|
|
107
112
|
<Text small muted>Secondary caption.</Text>
|
|
108
113
|
<Text label>Role</Text>
|
|
109
114
|
<Text>Some text <SearchIcon /> more text</Text>
|
|
110
|
-
<Text
|
|
115
|
+
<Text>{'Some text'}<SearchIcon />{'more text'}</Text>
|
|
116
|
+
<Text contentGap={3}>{'Some text'}<SearchIcon />{'more text'}</Text>
|
|
111
117
|
|
|
112
118
|
<Metric>1,234</Metric>
|
|
113
119
|
<Metric large>42,500</Metric>
|
|
114
|
-
<Metric
|
|
120
|
+
<Metric>{'42'}<SearchIcon />{'500'}</Metric>
|
|
121
|
+
<Metric contentGap={4}>{'42'}<SearchIcon />{'500'}</Metric>
|
|
115
122
|
<Metric as="span" muted>
|
|
116
123
|
99
|
|
117
124
|
</Metric>
|
|
@@ -37,11 +37,12 @@ This folder holds factual package reference for `mbt-ui-kit`.
|
|
|
37
37
|
## Ref Notes
|
|
38
38
|
|
|
39
39
|
- `Button` forwards refs to its underlying native `button` element.
|
|
40
|
+
- `Button` supports `contentGap?: 0 | 1 | 2 | 3 | 4` to control spacing between mixed inline children on the package spacing scale.
|
|
40
41
|
- `Input` forwards refs to its underlying native `input` element.
|
|
41
42
|
|
|
42
43
|
## Typography Notes
|
|
43
44
|
|
|
44
|
-
- `Heading`, `Text`, and `Metric`
|
|
45
|
+
- `Heading`, `Text`, and `Metric` default mixed inline children to a `4px` content gap and support `contentGap?: 0 | 1 | 2 | 3 | 4` to control that spacing on the package spacing scale.
|
|
45
46
|
|
|
46
47
|
## Primary Token Families
|
|
47
48
|
|
|
@@ -29,7 +29,7 @@ These files are the canonical package-owned rules for `mbt-ui-kit`.
|
|
|
29
29
|
- Use `Badge` for compact pill-style value labels with optional left media and package-owned purchasable or boost affordances.
|
|
30
30
|
- Use `Input` for labeled text inputs and search-style input affordances.
|
|
31
31
|
- Use `Heading`, `Text`, and `Metric` for typography when the consumer wants the package typography primitives.
|
|
32
|
-
-
|
|
32
|
+
- `Heading`, `Text`, and `Metric` apply a default `4px` gap for mixed inline content; use `contentGap` to override that spacing on the package scale.
|
|
33
33
|
- Use `MenuButton` for sidebar or navigation-style button treatments, not as a generic replacement for every button.
|
|
34
34
|
- Use `Loader` for package-consistent loading states.
|
|
35
35
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type ButtonHTMLAttributes, type ReactNode } from 'react';
|
|
2
2
|
export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
3
3
|
children?: ReactNode;
|
|
4
|
+
contentGap?: 0 | 1 | 2 | 3 | 4;
|
|
4
5
|
fullWidth?: boolean;
|
|
5
6
|
loading?: boolean;
|
|
6
7
|
variant?: 'primary' | 'secondary';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/components/button/button.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../src/components/button/button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,oBAAoB,EAEzB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAWf,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;CACnC;AAED,eAAO,MAAM,MAAM,2GAgDlB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
export type TypographyContentGap = 0 | 1 | 2 | 3 | 4;
|
|
3
|
+
export declare function getTypographyContent(children: ReactNode, contentClassName: string, contentGap?: TypographyContentGap): string | number | boolean | import("react/jsx-runtime").JSX.Element | Iterable<ReactNode> | null | undefined;
|
|
4
|
+
//# sourceMappingURL=content-gap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-gap.d.ts","sourceRoot":"","sources":["../../../src/components/typography/content-gap.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAgC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAErE,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAUrD,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,SAAS,EACnB,gBAAgB,EAAE,MAAM,EACxB,UAAU,CAAC,EAAE,oBAAoB,gHAsBlC"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import { type TypographyContentGap } from './content-gap';
|
|
2
3
|
export interface HeadingProps extends HTMLAttributes<HTMLHeadingElement> {
|
|
3
4
|
level: 1 | 2 | 3 | 4 | 5;
|
|
4
5
|
children?: ReactNode;
|
|
5
|
-
contentGap?:
|
|
6
|
+
contentGap?: TypographyContentGap;
|
|
6
7
|
}
|
|
7
8
|
export declare function Heading({ level, children, contentGap, className, ...props }: HeadingProps): import("react/jsx-runtime").JSX.Element;
|
|
8
9
|
//# sourceMappingURL=heading.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../../src/components/typography/heading.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"heading.d.ts","sourceRoot":"","sources":["../../../src/components/typography/heading.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEhF,MAAM,WAAW,YAAa,SAAQ,cAAc,CAAC,kBAAkB,CAAC;IACtE,KAAK,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACzB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,UAAU,CAAC,EAAE,oBAAoB,CAAC;CACnC;AAED,wBAAgB,OAAO,CAAC,EACtB,KAAK,EACL,QAAQ,EACR,UAAU,EACV,SAAS,EACT,GAAG,KAAK,EACT,EAAE,YAAY,2CAcd"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import { type TypographyContentGap } from './content-gap';
|
|
2
3
|
export interface MetricProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
4
|
children?: ReactNode;
|
|
4
5
|
large?: boolean;
|
|
5
6
|
muted?: boolean;
|
|
6
|
-
contentGap?:
|
|
7
|
+
contentGap?: TypographyContentGap;
|
|
7
8
|
as?: 'div' | 'span' | 'p';
|
|
8
9
|
}
|
|
9
10
|
export declare function Metric({ children, large, muted, contentGap, as, className, ...props }: MetricProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metric.d.ts","sourceRoot":"","sources":["../../../src/components/typography/metric.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"metric.d.ts","sourceRoot":"","sources":["../../../src/components/typography/metric.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEhF,MAAM,WAAW,WAAY,SAAQ,cAAc,CAAC,cAAc,CAAC;IACjE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,GAAG,CAAC;CAC3B;AAED,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,KAAa,EACb,KAAa,EACb,UAAU,EACV,EAAU,EACV,SAAS,EACT,GAAG,KAAK,EACT,EAAE,WAAW,2CAqBb"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import { type TypographyContentGap } from './content-gap';
|
|
2
3
|
export interface TextProps extends HTMLAttributes<HTMLParagraphElement> {
|
|
3
4
|
children?: ReactNode;
|
|
4
5
|
strong?: boolean;
|
|
@@ -6,7 +7,7 @@ export interface TextProps extends HTMLAttributes<HTMLParagraphElement> {
|
|
|
6
7
|
label?: boolean;
|
|
7
8
|
muted?: boolean;
|
|
8
9
|
disableFontFeatures?: boolean;
|
|
9
|
-
contentGap?:
|
|
10
|
+
contentGap?: TypographyContentGap;
|
|
10
11
|
as?: 'p' | 'span' | 'div';
|
|
11
12
|
}
|
|
12
13
|
export declare function Text({ children, strong, small, label, muted, disableFontFeatures, contentGap, as, className, ...props }: TextProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/components/typography/text.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/components/typography/text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAAwB,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEhF,MAAM,WAAW,SAAU,SAAQ,cAAc,CAAC,oBAAoB,CAAC;IACrE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,EAAE,CAAC,EAAE,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC;CAC3B;AAED,wBAAgB,IAAI,CAAC,EACnB,QAAQ,EACR,MAAc,EACd,KAAa,EACb,KAAa,EACb,KAAa,EACb,mBAA2B,EAC3B,UAAU,EACV,EAAQ,EACR,SAAS,EACT,GAAG,KAAK,EACT,EAAE,SAAS,2CAyBX"}
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./tokens-C8rDJFS5.cjs"),t=require("react/jsx-runtime"),p=require("react");function j({size:
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const d=require("./tokens-C8rDJFS5.cjs"),t=require("react/jsx-runtime"),p=require("react");function j({size:n="md",className:e,...o}){const a=["mbt-loader",`mbt-loader--${n}`,e].filter(Boolean).join(" ");return t.jsxs("span",{className:a,...o,children:[t.jsx("span",{className:"mbt-loader__dot"}),t.jsx("span",{className:"mbt-loader__dot"}),t.jsx("span",{className:"mbt-loader__dot"})]})}const v={0:"0",1:"4px",2:"8px",3:"12px",4:"16px"},g=p.forwardRef(({children:n,contentGap:e,fullWidth:o,disabled:a,loading:r,variant:i="primary",className:s,...l},c)=>{const u=a||r,m=e===void 0?void 0:{"--mbt-button-content-gap":v[e]},b=["mbt-button",i&&`mbt-button--${i}`,o&&"mbt-button--full-width",a&&"mbt-button--disabled",r&&"mbt-button--loading",s].filter(Boolean).join(" ");return t.jsxs("button",{ref:c,type:"button",className:b,disabled:u,...l,children:[t.jsx("span",{className:"mbt-button__content",style:m,children:n}),r&&t.jsx(j,{size:"md",className:"mbt-button__loader"})]})});g.displayName="Button";const y={0:"0",1:"4px",2:"8px",3:"12px",4:"16px"};function x(n,e,o){const a=p.Children.toArray(n).map(s=>typeof s=="string"?s.trim():s).filter(s=>s!==""),r=o!==void 0||a.length>1,i=o===void 0?void 0:{"--mbt-typography-content-gap":y[o]};return r?t.jsx("span",{className:e,style:i,children:a}):n}function C({level:n,children:e,contentGap:o,className:a,...r}){const i=`h${n}`,s=[`mbt-h${n}`,a].filter(Boolean).join(" "),l=x(e,`mbt-h${n}__content`,o);return t.jsx(i,{className:s,...r,children:l})}function I({children:n,large:e=!1,muted:o=!1,contentGap:a,as:r="div",className:i,...s}){const l=r,c=["mbt-metric",e&&"mbt-metric--large",o&&"mbt-metric--muted",i].filter(Boolean).join(" "),u=x(n,"mbt-metric__content",a);return t.jsx(l,{className:c,...s,children:u})}function _({children:n,strong:e=!1,small:o=!1,label:a=!1,muted:r=!1,disableFontFeatures:i=!1,contentGap:s,as:l="p",className:c,...u}){const m=l,b=["mbt-text",e&&"mbt-text--strong",o&&"mbt-text--small",a&&"mbt-text--label",r&&"mbt-text--muted",i&&"mbt-text--no-features",c].filter(Boolean).join(" "),h=x(n,"mbt-text__content",s);return t.jsx(m,{className:b,...u,children:h})}function M(){return t.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[t.jsx("path",{d:"M12 4L19 10.5L16.5 12.5L12 8.5L7.5 12.5L5 10.5L12 4Z",fill:"currentColor"}),t.jsx("path",{d:"M12 9L19 15.5L16.5 17.5L12 13.5L7.5 17.5L5 15.5L12 9Z",fill:"currentColor"})]})}function W(){return t.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 16 16",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:[t.jsx("path",{d:"M8 3V13",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"}),t.jsx("path",{d:"M3 8H13",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round"})]})}function S({children:n,icon:e,purchasable:o=!1,boost:a=!1,className:r,...i}){const s=!!e,l=s&&o,c=["mbt-badge",s&&"mbt-badge--with-icon",o&&"mbt-badge--purchasable",a&&"mbt-badge--boost",r].filter(Boolean).join(" ");return t.jsxs("div",{className:c,...i,children:[s&&t.jsxs("span",{className:"mbt-badge__media",children:[t.jsx("span",{className:"mbt-badge__icon",children:e}),l&&t.jsx("span",{className:"mbt-badge__purchasable","aria-hidden":"true",children:t.jsx(W,{})})]}),t.jsx(_,{as:"span",disableFontFeatures:!0,strong:!0,className:"mbt-badge__content",children:n}),a&&t.jsx("span",{className:"mbt-badge__boost","aria-hidden":"true",children:t.jsx(M,{})})]})}function N({className:n,title:e="Search"}){return t.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,role:"img","aria-label":e,children:[t.jsx("title",{children:e}),t.jsx("circle",{cx:"11",cy:"11",r:"8",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"m21 21-4.34-4.34",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}const w=p.forwardRef(({label:n,muted:e=!1,showSearchIcon:o=!1,icon:a,fullWidth:r=!1,className:i,...s},l)=>{const c=p.useId(),u=s.id??c,m=["mbt-input",r&&"mbt-input--full-width",i].filter(Boolean).join(" "),b=["mbt-input__label",e&&"mbt-input__label--muted"].filter(Boolean).join(" "),h=["mbt-input__wrapper",e&&"mbt-input__wrapper--muted"].filter(Boolean).join(" "),L=["mbt-input__field",e&&"mbt-input__field--muted"].filter(Boolean).join(" "),B=["mbt-input__icon",e&&"mbt-input__icon--muted"].filter(Boolean).join(" "),f=a||o&&t.jsx(N,{});return t.jsx("div",{className:m,children:t.jsxs("div",{className:"mbt-input__container",children:[n&&t.jsx("label",{htmlFor:u,className:b,children:n}),t.jsxs("div",{className:h,children:[t.jsx("input",{ref:l,id:u,type:"text",className:L,...s}),f&&t.jsx("div",{className:B,children:f})]})]})})});w.displayName="Input";function k({className:n,title:e="Graduation cap"}){return t.jsxs("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:n,role:"img","aria-label":e,children:[t.jsx("title",{children:e}),t.jsx("path",{d:"M21.42 10.922a1 1 0 0 0-.019-1.838L12.83 5.18a2 2 0 0 0-1.66 0L2.6 9.08a1 1 0 0 0 0 1.832l8.57 3.908a2 2 0 0 0 1.66 0z",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M22 10v6",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),t.jsx("path",{d:"M6 12.5V16a6 3 0 0 0 12 0v-3.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}function z({children:n,icon:e,selected:o=!1,small:a=!1,disabled:r,className:i,...s}){const l=["mbt-menu-button",o&&"mbt-menu-button--selected",a&&"mbt-menu-button--small",i].filter(Boolean).join(" "),c=e??t.jsx(k,{});return t.jsxs("button",{type:"button",className:l,disabled:r,"aria-pressed":o,...s,children:[t.jsx("div",{className:"mbt-menu-button__icon",children:c}),t.jsx("span",{className:"mbt-menu-button__text",children:n})]})}exports.colors=d.colors;exports.fontFeatures=d.fontFeatures;exports.fontSizes=d.fontSizes;exports.fontWeights=d.fontWeights;exports.fonts=d.fonts;exports.radius=d.radius;exports.spacing=d.spacing;exports.tokens=d.tokens;exports.transitions=d.transitions;exports.zIndex=d.zIndex;exports.Badge=S;exports.Button=g;exports.GraduationCapIcon=k;exports.Heading=C;exports.Input=w;exports.Loader=j;exports.MenuButton=z;exports.Metric=I;exports.SearchIcon=N;exports.Text=_;
|
package/dist/index.mjs
CHANGED
|
@@ -1,101 +1,135 @@
|
|
|
1
|
-
import { c as
|
|
2
|
-
import { jsxs as
|
|
3
|
-
import { forwardRef as
|
|
1
|
+
import { c as Z, f as A, a as D, b as G, d as R, r as q, s as E, t as J, e as K, z as O } from "./tokens-C0g4TAJO.js";
|
|
2
|
+
import { jsxs as c, jsx as t } from "react/jsx-runtime";
|
|
3
|
+
import { forwardRef as _, Children as w, useId as x } from "react";
|
|
4
4
|
function k({ size: n = "md", className: e, ...s }) {
|
|
5
5
|
const a = ["mbt-loader", `mbt-loader--${n}`, e].filter(Boolean).join(" ");
|
|
6
|
-
return /* @__PURE__ */
|
|
6
|
+
return /* @__PURE__ */ c("span", { className: a, ...s, children: [
|
|
7
7
|
/* @__PURE__ */ t("span", { className: "mbt-loader__dot" }),
|
|
8
8
|
/* @__PURE__ */ t("span", { className: "mbt-loader__dot" }),
|
|
9
9
|
/* @__PURE__ */ t("span", { className: "mbt-loader__dot" })
|
|
10
10
|
] });
|
|
11
11
|
}
|
|
12
|
-
const L =
|
|
12
|
+
const L = {
|
|
13
|
+
0: "0",
|
|
14
|
+
1: "4px",
|
|
15
|
+
2: "8px",
|
|
16
|
+
3: "12px",
|
|
17
|
+
4: "16px"
|
|
18
|
+
}, v = _(
|
|
13
19
|
({
|
|
14
20
|
children: n,
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
21
|
+
contentGap: e,
|
|
22
|
+
fullWidth: s,
|
|
23
|
+
disabled: a,
|
|
24
|
+
loading: r,
|
|
18
25
|
variant: i = "primary",
|
|
19
|
-
className:
|
|
20
|
-
...
|
|
21
|
-
},
|
|
22
|
-
const
|
|
26
|
+
className: o,
|
|
27
|
+
...l
|
|
28
|
+
}, d) => {
|
|
29
|
+
const m = a || r, u = e === void 0 ? void 0 : {
|
|
30
|
+
"--mbt-button-content-gap": L[e]
|
|
31
|
+
}, b = [
|
|
23
32
|
"mbt-button",
|
|
24
33
|
i && `mbt-button--${i}`,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
34
|
+
s && "mbt-button--full-width",
|
|
35
|
+
a && "mbt-button--disabled",
|
|
36
|
+
r && "mbt-button--loading",
|
|
37
|
+
o
|
|
29
38
|
].filter(Boolean).join(" ");
|
|
30
|
-
return /* @__PURE__ */
|
|
39
|
+
return /* @__PURE__ */ c(
|
|
31
40
|
"button",
|
|
32
41
|
{
|
|
33
|
-
ref:
|
|
42
|
+
ref: d,
|
|
34
43
|
type: "button",
|
|
35
|
-
className:
|
|
36
|
-
disabled:
|
|
37
|
-
...
|
|
44
|
+
className: b,
|
|
45
|
+
disabled: m,
|
|
46
|
+
...l,
|
|
38
47
|
children: [
|
|
39
|
-
/* @__PURE__ */ t("span", { className: "mbt-button__content", children: n }),
|
|
40
|
-
|
|
48
|
+
/* @__PURE__ */ t("span", { className: "mbt-button__content", style: u, children: n }),
|
|
49
|
+
r && /* @__PURE__ */ t(k, { size: "md", className: "mbt-button__loader" })
|
|
41
50
|
]
|
|
42
51
|
}
|
|
43
52
|
);
|
|
44
53
|
}
|
|
45
54
|
);
|
|
46
|
-
|
|
47
|
-
|
|
55
|
+
v.displayName = "Button";
|
|
56
|
+
const y = {
|
|
57
|
+
0: "0",
|
|
58
|
+
1: "4px",
|
|
59
|
+
2: "8px",
|
|
60
|
+
3: "12px",
|
|
61
|
+
4: "16px"
|
|
62
|
+
};
|
|
63
|
+
function h(n, e, s) {
|
|
64
|
+
const a = w.toArray(n).map((o) => typeof o == "string" ? o.trim() : o).filter((o) => o !== ""), r = s !== void 0 || a.length > 1, i = s === void 0 ? void 0 : {
|
|
65
|
+
"--mbt-typography-content-gap": y[s]
|
|
66
|
+
};
|
|
67
|
+
return r ? /* @__PURE__ */ t("span", { className: e, style: i, children: a }) : n;
|
|
68
|
+
}
|
|
69
|
+
function T({
|
|
48
70
|
level: n,
|
|
49
71
|
children: e,
|
|
50
|
-
contentGap: s
|
|
72
|
+
contentGap: s,
|
|
51
73
|
className: a,
|
|
52
|
-
...
|
|
74
|
+
...r
|
|
53
75
|
}) {
|
|
54
|
-
const
|
|
55
|
-
|
|
76
|
+
const i = `h${n}`, o = [`mbt-h${n}`, a].filter(Boolean).join(" "), l = h(
|
|
77
|
+
e,
|
|
78
|
+
`mbt-h${n}__content`,
|
|
79
|
+
s
|
|
80
|
+
);
|
|
81
|
+
return /* @__PURE__ */ t(i, { className: o, ...r, children: l });
|
|
56
82
|
}
|
|
57
|
-
function
|
|
83
|
+
function $({
|
|
58
84
|
children: n,
|
|
59
85
|
large: e = !1,
|
|
60
86
|
muted: s = !1,
|
|
61
|
-
contentGap: a
|
|
62
|
-
as:
|
|
63
|
-
className:
|
|
87
|
+
contentGap: a,
|
|
88
|
+
as: r = "div",
|
|
89
|
+
className: i,
|
|
64
90
|
...o
|
|
65
91
|
}) {
|
|
66
|
-
const
|
|
92
|
+
const l = r, d = [
|
|
67
93
|
"mbt-metric",
|
|
68
94
|
e && "mbt-metric--large",
|
|
69
95
|
s && "mbt-metric--muted",
|
|
70
|
-
|
|
71
|
-
].filter(Boolean).join(" "),
|
|
72
|
-
|
|
96
|
+
i
|
|
97
|
+
].filter(Boolean).join(" "), m = h(
|
|
98
|
+
n,
|
|
99
|
+
"mbt-metric__content",
|
|
100
|
+
a
|
|
101
|
+
);
|
|
102
|
+
return /* @__PURE__ */ t(l, { className: d, ...o, children: m });
|
|
73
103
|
}
|
|
74
|
-
function
|
|
104
|
+
function B({
|
|
75
105
|
children: n,
|
|
76
106
|
strong: e = !1,
|
|
77
107
|
small: s = !1,
|
|
78
108
|
label: a = !1,
|
|
79
|
-
muted:
|
|
80
|
-
disableFontFeatures:
|
|
81
|
-
contentGap: o
|
|
82
|
-
as:
|
|
83
|
-
className:
|
|
84
|
-
...
|
|
109
|
+
muted: r = !1,
|
|
110
|
+
disableFontFeatures: i = !1,
|
|
111
|
+
contentGap: o,
|
|
112
|
+
as: l = "p",
|
|
113
|
+
className: d,
|
|
114
|
+
...m
|
|
85
115
|
}) {
|
|
86
|
-
const
|
|
116
|
+
const u = l, b = [
|
|
87
117
|
"mbt-text",
|
|
88
118
|
e && "mbt-text--strong",
|
|
89
119
|
s && "mbt-text--small",
|
|
90
120
|
a && "mbt-text--label",
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
].filter(Boolean).join(" "),
|
|
95
|
-
|
|
121
|
+
r && "mbt-text--muted",
|
|
122
|
+
i && "mbt-text--no-features",
|
|
123
|
+
d
|
|
124
|
+
].filter(Boolean).join(" "), p = h(
|
|
125
|
+
n,
|
|
126
|
+
"mbt-text__content",
|
|
127
|
+
o
|
|
128
|
+
);
|
|
129
|
+
return /* @__PURE__ */ t(u, { className: b, ...m, children: p });
|
|
96
130
|
}
|
|
97
|
-
function
|
|
98
|
-
return /* @__PURE__ */
|
|
131
|
+
function C() {
|
|
132
|
+
return /* @__PURE__ */ c(
|
|
99
133
|
"svg",
|
|
100
134
|
{
|
|
101
135
|
width: "24",
|
|
@@ -124,7 +158,7 @@ function B() {
|
|
|
124
158
|
);
|
|
125
159
|
}
|
|
126
160
|
function j() {
|
|
127
|
-
return /* @__PURE__ */
|
|
161
|
+
return /* @__PURE__ */ c(
|
|
128
162
|
"svg",
|
|
129
163
|
{
|
|
130
164
|
width: "16",
|
|
@@ -156,32 +190,32 @@ function j() {
|
|
|
156
190
|
}
|
|
157
191
|
);
|
|
158
192
|
}
|
|
159
|
-
function
|
|
193
|
+
function F({
|
|
160
194
|
children: n,
|
|
161
195
|
icon: e,
|
|
162
196
|
purchasable: s = !1,
|
|
163
197
|
boost: a = !1,
|
|
164
|
-
className:
|
|
165
|
-
...
|
|
198
|
+
className: r,
|
|
199
|
+
...i
|
|
166
200
|
}) {
|
|
167
|
-
const o = !!e,
|
|
201
|
+
const o = !!e, l = o && s, d = [
|
|
168
202
|
"mbt-badge",
|
|
169
203
|
o && "mbt-badge--with-icon",
|
|
170
204
|
s && "mbt-badge--purchasable",
|
|
171
205
|
a && "mbt-badge--boost",
|
|
172
|
-
|
|
206
|
+
r
|
|
173
207
|
].filter(Boolean).join(" ");
|
|
174
|
-
return /* @__PURE__ */
|
|
175
|
-
o && /* @__PURE__ */
|
|
208
|
+
return /* @__PURE__ */ c("div", { className: d, ...i, children: [
|
|
209
|
+
o && /* @__PURE__ */ c("span", { className: "mbt-badge__media", children: [
|
|
176
210
|
/* @__PURE__ */ t("span", { className: "mbt-badge__icon", children: e }),
|
|
177
|
-
|
|
211
|
+
l && /* @__PURE__ */ t("span", { className: "mbt-badge__purchasable", "aria-hidden": "true", children: /* @__PURE__ */ t(j, {}) })
|
|
178
212
|
] }),
|
|
179
|
-
/* @__PURE__ */ t(
|
|
180
|
-
a && /* @__PURE__ */ t("span", { className: "mbt-badge__boost", "aria-hidden": "true", children: /* @__PURE__ */ t(
|
|
213
|
+
/* @__PURE__ */ t(B, { as: "span", disableFontFeatures: !0, strong: !0, className: "mbt-badge__content", children: n }),
|
|
214
|
+
a && /* @__PURE__ */ t("span", { className: "mbt-badge__boost", "aria-hidden": "true", children: /* @__PURE__ */ t(C, {}) })
|
|
181
215
|
] });
|
|
182
216
|
}
|
|
183
|
-
function
|
|
184
|
-
return /* @__PURE__ */
|
|
217
|
+
function I({ className: n, title: e = "Search" }) {
|
|
218
|
+
return /* @__PURE__ */ c(
|
|
185
219
|
"svg",
|
|
186
220
|
{
|
|
187
221
|
width: "24",
|
|
@@ -220,54 +254,54 @@ function v({ className: n, title: e = "Search" }) {
|
|
|
220
254
|
}
|
|
221
255
|
);
|
|
222
256
|
}
|
|
223
|
-
const
|
|
257
|
+
const M = _(
|
|
224
258
|
({
|
|
225
259
|
label: n,
|
|
226
260
|
muted: e = !1,
|
|
227
261
|
showSearchIcon: s = !1,
|
|
228
262
|
icon: a,
|
|
229
|
-
fullWidth:
|
|
230
|
-
className:
|
|
263
|
+
fullWidth: r = !1,
|
|
264
|
+
className: i,
|
|
231
265
|
...o
|
|
232
|
-
},
|
|
233
|
-
const
|
|
266
|
+
}, l) => {
|
|
267
|
+
const d = x(), m = o.id ?? d, u = [
|
|
234
268
|
"mbt-input",
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
].filter(Boolean).join(" "),
|
|
269
|
+
r && "mbt-input--full-width",
|
|
270
|
+
i
|
|
271
|
+
].filter(Boolean).join(" "), b = [
|
|
238
272
|
"mbt-input__label",
|
|
239
273
|
e && "mbt-input__label--muted"
|
|
240
|
-
].filter(Boolean).join(" "),
|
|
274
|
+
].filter(Boolean).join(" "), p = [
|
|
241
275
|
"mbt-input__wrapper",
|
|
242
276
|
e && "mbt-input__wrapper--muted"
|
|
243
|
-
].filter(Boolean).join(" "),
|
|
277
|
+
].filter(Boolean).join(" "), g = [
|
|
244
278
|
"mbt-input__field",
|
|
245
279
|
e && "mbt-input__field--muted"
|
|
246
|
-
].filter(Boolean).join(" "), N = ["mbt-input__icon", e && "mbt-input__icon--muted"].filter(Boolean).join(" "),
|
|
247
|
-
return /* @__PURE__ */ t("div", { className:
|
|
248
|
-
n && /* @__PURE__ */ t("label", { htmlFor:
|
|
249
|
-
/* @__PURE__ */
|
|
280
|
+
].filter(Boolean).join(" "), N = ["mbt-input__icon", e && "mbt-input__icon--muted"].filter(Boolean).join(" "), f = a || s && /* @__PURE__ */ t(I, {});
|
|
281
|
+
return /* @__PURE__ */ t("div", { className: u, children: /* @__PURE__ */ c("div", { className: "mbt-input__container", children: [
|
|
282
|
+
n && /* @__PURE__ */ t("label", { htmlFor: m, className: b, children: n }),
|
|
283
|
+
/* @__PURE__ */ c("div", { className: p, children: [
|
|
250
284
|
/* @__PURE__ */ t(
|
|
251
285
|
"input",
|
|
252
286
|
{
|
|
253
|
-
ref:
|
|
254
|
-
id:
|
|
287
|
+
ref: l,
|
|
288
|
+
id: m,
|
|
255
289
|
type: "text",
|
|
256
|
-
className:
|
|
290
|
+
className: g,
|
|
257
291
|
...o
|
|
258
292
|
}
|
|
259
293
|
),
|
|
260
|
-
|
|
294
|
+
f && /* @__PURE__ */ t("div", { className: N, children: f })
|
|
261
295
|
] })
|
|
262
296
|
] }) });
|
|
263
297
|
}
|
|
264
298
|
);
|
|
265
|
-
|
|
266
|
-
function
|
|
299
|
+
M.displayName = "Input";
|
|
300
|
+
function W({
|
|
267
301
|
className: n,
|
|
268
302
|
title: e = "Graduation cap"
|
|
269
303
|
}) {
|
|
270
|
-
return /* @__PURE__ */
|
|
304
|
+
return /* @__PURE__ */ c(
|
|
271
305
|
"svg",
|
|
272
306
|
{
|
|
273
307
|
width: "24",
|
|
@@ -314,55 +348,55 @@ function C({
|
|
|
314
348
|
}
|
|
315
349
|
);
|
|
316
350
|
}
|
|
317
|
-
function
|
|
351
|
+
function H({
|
|
318
352
|
children: n,
|
|
319
353
|
icon: e,
|
|
320
354
|
selected: s = !1,
|
|
321
355
|
small: a = !1,
|
|
322
|
-
disabled:
|
|
323
|
-
className:
|
|
356
|
+
disabled: r,
|
|
357
|
+
className: i,
|
|
324
358
|
...o
|
|
325
359
|
}) {
|
|
326
|
-
const
|
|
360
|
+
const l = [
|
|
327
361
|
"mbt-menu-button",
|
|
328
362
|
s && "mbt-menu-button--selected",
|
|
329
363
|
a && "mbt-menu-button--small",
|
|
330
|
-
|
|
364
|
+
i
|
|
331
365
|
].filter(Boolean).join(" ");
|
|
332
|
-
return /* @__PURE__ */
|
|
366
|
+
return /* @__PURE__ */ c(
|
|
333
367
|
"button",
|
|
334
368
|
{
|
|
335
369
|
type: "button",
|
|
336
|
-
className:
|
|
337
|
-
disabled:
|
|
370
|
+
className: l,
|
|
371
|
+
disabled: r,
|
|
338
372
|
"aria-pressed": s,
|
|
339
373
|
...o,
|
|
340
374
|
children: [
|
|
341
|
-
/* @__PURE__ */ t("div", { className: "mbt-menu-button__icon", children: e ?? /* @__PURE__ */ t(
|
|
375
|
+
/* @__PURE__ */ t("div", { className: "mbt-menu-button__icon", children: e ?? /* @__PURE__ */ t(W, {}) }),
|
|
342
376
|
/* @__PURE__ */ t("span", { className: "mbt-menu-button__text", children: n })
|
|
343
377
|
]
|
|
344
378
|
}
|
|
345
379
|
);
|
|
346
380
|
}
|
|
347
381
|
export {
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
382
|
+
F as Badge,
|
|
383
|
+
v as Button,
|
|
384
|
+
W as GraduationCapIcon,
|
|
385
|
+
T as Heading,
|
|
386
|
+
M as Input,
|
|
353
387
|
k as Loader,
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
388
|
+
H as MenuButton,
|
|
389
|
+
$ as Metric,
|
|
390
|
+
I as SearchIcon,
|
|
391
|
+
B as Text,
|
|
392
|
+
Z as colors,
|
|
393
|
+
A as fontFeatures,
|
|
394
|
+
D as fontSizes,
|
|
395
|
+
G as fontWeights,
|
|
396
|
+
R as fonts,
|
|
397
|
+
q as radius,
|
|
398
|
+
E as spacing,
|
|
399
|
+
J as tokens,
|
|
400
|
+
K as transitions,
|
|
401
|
+
O as zIndex
|
|
368
402
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-v23-latin-regular.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-sans-v23-latin-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-sans-v23-latin-600.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/Inter-VariableFont_opsz,wght.ttf) format("truetype")}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(../fonts/Inter-Italic-VariableFont_opsz,wght.ttf) format("truetype")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-v20-latin-regular.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-v20-latin-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-mono-v20-latin-600.woff2) format("woff2")}.mbt-button{appearance:none;border:none;background:none;cursor:pointer;outline:none;padding:8px 16px;display:flex;align-items:center;justify-content:center;height:37px;max-height:37px;min-height:37px;position:relative;border-radius:8px;font-family:IBM Plex Sans,sans-serif;font-size:16px;font-weight:500;line-height:normal;text-transform:uppercase;text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color .15s ease,color .15s ease}.mbt-button--primary{background-color:#f2f4fa;color:#0b0e14}.mbt-button--secondary{background-color:#1d2335;color:#f2f4fa}.mbt-button__content{display:inline-flex;align-items:center;justify-content:center;gap:8px}.mbt-button__content svg{display:block;flex-shrink:0}.mbt-button__loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.mbt-button:hover{color:#6663fd}.mbt-button:active{opacity:.9}.mbt-button:focus-visible{box-shadow:0 0 0 2px #0b0e14,0 0 0 4px #6663fd}.mbt-button--disabled{background-color:#1d2335;color:#8d92a9;cursor:not-allowed;pointer-events:none}.mbt-button--loading{cursor:not-allowed;pointer-events:none}.mbt-button--loading .mbt-button__content{visibility:hidden}.mbt-button--full-width{width:100%}.mbt-badge{position:relative;display:inline-flex;align-items:center;gap:12px;height:24px;max-height:24px;padding:4px 12px;border-radius:999px;background:#1d2335;color:#f2f4fa;overflow:visible;-webkit-user-select:none;user-select:none}.mbt-badge--with-icon{padding-left:12px}.mbt-badge--purchasable{cursor:pointer}.mbt-badge--boost{padding-right:20px}.mbt-badge__media{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin-left:-20px}.mbt-badge__icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}.mbt-badge__icon svg{display:block;max-width:100%;max-height:100%}.mbt-badge__purchasable{position:absolute;right:-8px;bottom:-7px;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:#f2f4fa}.mbt-badge__content{display:inline-flex;align-items:center;min-width:0;line-height:1;color:inherit;white-space:nowrap}.mbt-badge__boost{position:absolute;top:-8px;right:-8px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:#0950c2}.mbt-input__container{display:flex;flex-direction:column;gap:10px;width:100%;max-width:296px}.mbt-input__label{font-family:Inter,sans-serif;font-size:16px;font-weight:400;line-height:1;color:#f2f4fa;margin:0;font-feature-settings:"ss01" 1,"salt" 1,"ss02" 1}.mbt-input__label--muted{color:#8d92a9}.mbt-input__wrapper{position:relative;display:flex;align-items:center;width:100%;border:1px solid #f2f4fa;border-radius:8px;padding:8px 16px;background-color:transparent;transition:border-color .15s ease}.mbt-input__wrapper--muted{border-color:#8d92a9}.mbt-input__wrapper:focus-within{border-color:#6663fd}.mbt-input__field{flex:1;appearance:none;border:none;background:none;outline:none;font-family:Inter,sans-serif;font-size:16px;font-weight:400;line-height:1;color:#f2f4fa;font-feature-settings:"ss01" 1,"salt" 1,"ss02" 1}.mbt-input__field::placeholder{color:#f2f4fa}.mbt-input__field--muted{color:#8d92a9}.mbt-input__field--muted::placeholder{color:#8d92a9}.mbt-input__icon{flex-shrink:0;width:24px;height:24px;margin-left:8px;color:#f2f4fa}.mbt-input__icon--muted{color:#8d92a9}.mbt-input--full-width .mbt-input__container{max-width:none}.mbt-h1{font-family:IBM Plex Sans,sans-serif;font-size:72px;font-weight:600;line-height:80px;color:#f2f4fa;margin:0}.mbt-h1__content{display:inline-flex;align-items:center;gap:8px}.mbt-h1__content svg{display:block;flex-shrink:0}.mbt-h2{font-family:IBM Plex Sans,sans-serif;font-size:40px;font-weight:600;line-height:48px;color:#f2f4fa;margin:0}.mbt-h2__content{display:inline-flex;align-items:center;gap:8px}.mbt-h2__content svg{display:block;flex-shrink:0}.mbt-h3{font-family:IBM Plex Sans,sans-serif;font-size:28px;font-weight:500;line-height:36px;color:#f2f4fa;margin:0}.mbt-h3__content{display:inline-flex;align-items:center;gap:8px}.mbt-h3__content svg{display:block;flex-shrink:0}.mbt-h4{font-family:IBM Plex Sans,sans-serif;font-size:20px;font-weight:500;line-height:28px;color:#f2f4fa;margin:0}.mbt-h4__content{display:inline-flex;align-items:center;gap:8px}.mbt-h4__content svg{display:block;flex-shrink:0}.mbt-h5{font-family:IBM Plex Sans,sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#f2f4fa;margin:0}.mbt-h5__content{display:inline-flex;align-items:center;gap:8px}.mbt-h5__content svg{display:block;flex-shrink:0}.mbt-text{font-family:Inter,sans-serif;font-size:16px;font-weight:400;line-height:normal;color:#f2f4fa;margin:0;font-feature-settings:"salt" on,"ss01" on,"ss02" on}.mbt-text svg{display:inline-block;vertical-align:middle}.mbt-text__content{display:inline-flex;align-items:center;gap:8px}.mbt-text__content svg{display:block;flex-shrink:0}.mbt-text--strong{font-weight:500}.mbt-text--small{font-size:12px;line-height:18px}.mbt-text--label{font-size:12px;text-transform:uppercase}.mbt-text--muted{color:#8d92a9}.mbt-text--no-features{font-feature-settings:normal}.mbt-metric{font-family:IBM Plex Mono,monospace;font-size:16px;font-weight:400;line-height:1;color:#f2f4fa;margin:0}.mbt-metric__content{display:inline-flex;align-items:center;gap:8px}.mbt-metric__content svg{display:block;flex-shrink:0}.mbt-metric--large{font-size:24px;font-weight:500;line-height:32px}.mbt-metric--muted{color:#8d92a9}.mbt-menu-button{appearance:none;border:none;background:none;cursor:pointer;outline:none;display:flex;align-items:center;width:248px;height:44px;padding:4px 12px;gap:8px;font-family:IBM Plex Sans,sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#f2f4fa;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:8px;transition:background-color .15s ease,color .15s ease}.mbt-menu-button__icon{flex-shrink:0;width:24px;height:24px;color:#f2f4fa;transition:color .15s ease}.mbt-menu-button__text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.mbt-menu-button:hover:not(:disabled):not(.mbt-menu-button--selected){background-color:#2a3148;color:#0950c2}.mbt-menu-button:hover:not(:disabled):not(.mbt-menu-button--selected) .mbt-menu-button__icon{color:#0950c2}.mbt-menu-button--selected{background-color:#1d2335;color:#6663fd}.mbt-menu-button--selected .mbt-menu-button__icon{color:#6663fd}.mbt-menu-button--small{padding:4px 8px;height:32px;gap:8px;font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:18px}.mbt-menu-button--small .mbt-menu-button__icon{width:20px;height:20px}.mbt-menu-button:disabled{color:#8d92a9;cursor:not-allowed;pointer-events:none}.mbt-menu-button:disabled .mbt-menu-button__icon{color:#8d92a9}.mbt-loader{display:inline-flex;align-items:center;gap:4px}.mbt-loader__dot{display:inline-block;background-color:currentColor;border-radius:999px;animation:mbt-loader-bounce 1.4s infinite ease-in-out both}.mbt-loader__dot:nth-child(1){animation-delay:-.32s}.mbt-loader__dot:nth-child(2){animation-delay:-.16s}.mbt-loader--sm .mbt-loader__dot{width:6px;height:6px}.mbt-loader--md .mbt-loader__dot{width:9px;height:9px}.mbt-loader--lg .mbt-loader__dot{width:12px;height:12px}@keyframes mbt-loader-bounce{0%,80%,to{opacity:0;transform:scale(0)}40%{opacity:1;transform:scale(1)}}*,*:before,*:after{box-sizing:border-box}:root{--mbt-color-bg-0: #0b0e14;--mbt-color-bg-1: #111520;--mbt-color-surface: #171c2a;--mbt-color-surface-raised: #1d2335;--mbt-color-border: #2a3148;--mbt-color-gray: #475569;--mbt-color-text-primary: #f2f4fa;--mbt-color-text-muted: #8d92a9;--mbt-color-text-inverse: #0b0e14;--mbt-color-primary: #6663fd;--mbt-color-secondary: #0950c2;--mbt-color-success: #00b279;--mbt-color-error: #f2766a;--mbt-color-warning: #e6c352;--mbt-color-diamond: #e6f3ff;--mbt-color-primary-stop-0: #00a09e;--mbt-color-primary-stop-1: #234dc5;--mbt-color-primary-stop-2: #1945d9;--mbt-color-diamond-stop-0: #beacd3;--mbt-color-diamond-stop-1: #bee3f7;--mbt-color-diamond-stop-2: #efece7;--mbt-color-diamond-stop-3: #f8ddde;--mbt-color-diamond-stop-4: #cfe6f1;--mbt-color-gold: #d1a64a;--mbt-color-silver: #969fa6;--mbt-color-bronze: #956c68;--mbt-font-primary: "IBM Plex Sans", sans-serif;--mbt-font-secondary: "Inter", sans-serif;--mbt-font-mono: "IBM Plex Mono", monospace;--mbt-font-size-1: 12px;--mbt-font-size-2: 14px;--mbt-font-size-3: 16px;--mbt-font-size-4: 20px;--mbt-font-size-5: 24px;--mbt-font-size-6: 28px;--mbt-font-size-7: 40px;--mbt-font-size-8: 48px;--mbt-font-size-9: 72px;--mbt-font-weight-regular: 400;--mbt-font-weight-medium: 500;--mbt-font-weight-semibold: 600;--mbt-font-feature-inter-stylistic: "salt" on, "ss01" on, "ss02" on;--mbt-space-0: 0;--mbt-space-1: 4px;--mbt-space-2: 8px;--mbt-space-3: 12px;--mbt-space-4: 16px;--mbt-space-5: 24px;--mbt-space-6: 32px;--mbt-space-7: 48px;--mbt-space-8: 64px;--mbt-space-9: 96px;--mbt-space-10: 128px;--mbt-radius-0: 0;--mbt-radius-xs: 4px;--mbt-radius-sm: 8px;--mbt-radius-md: 12px;--mbt-radius-lg: 16px;--mbt-radius-xl: 24px;--mbt-radius-full: 999px;--mbt-z-index-0: 0;--mbt-z-index-1: 100;--mbt-z-index-2: 200;--mbt-z-index-3: 300;--mbt-z-index-4: 400;--mbt-z-index-5: 500;--mbt-transition-fast: .15s ease;--mbt-transition-normal: .25s ease;--mbt-transition-slow: .4s ease}
|
|
1
|
+
@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-v23-latin-regular.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-sans-v23-latin-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-sans-v23-latin-600.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/Inter-VariableFont_opsz,wght.ttf) format("truetype")}@font-face{font-family:Inter;font-style:italic;font-weight:100 900;font-display:swap;src:url(../fonts/Inter-Italic-VariableFont_opsz,wght.ttf) format("truetype")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-v20-latin-regular.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-mono-v20-latin-500.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-mono-v20-latin-600.woff2) format("woff2")}.mbt-button{appearance:none;border:none;background:none;cursor:pointer;outline:none;padding:8px 16px;display:flex;align-items:center;justify-content:center;height:37px;max-height:37px;min-height:37px;position:relative;border-radius:8px;font-family:IBM Plex Sans,sans-serif;font-size:16px;font-weight:500;line-height:normal;text-transform:uppercase;text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background-color .15s ease,color .15s ease}.mbt-button--primary{background-color:#f2f4fa;color:#0b0e14}.mbt-button--secondary{background-color:#1d2335;color:#f2f4fa}.mbt-button__content{display:inline-flex;align-items:center;justify-content:center;gap:var(--mbt-button-content-gap, 4px)}.mbt-button__content svg{display:block;flex-shrink:0}.mbt-button__loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.mbt-button:hover{color:#6663fd}.mbt-button:active{opacity:.9}.mbt-button:focus-visible{box-shadow:0 0 0 2px #0b0e14,0 0 0 4px #6663fd}.mbt-button--disabled{background-color:#1d2335;color:#8d92a9;cursor:not-allowed;pointer-events:none}.mbt-button--loading{cursor:not-allowed;pointer-events:none}.mbt-button--loading .mbt-button__content{visibility:hidden}.mbt-button--full-width{width:100%}.mbt-badge{position:relative;display:inline-flex;align-items:center;gap:12px;height:24px;max-height:24px;padding:4px 12px;border-radius:999px;background:#1d2335;color:#f2f4fa;overflow:visible;-webkit-user-select:none;user-select:none}.mbt-badge--with-icon{padding-left:12px}.mbt-badge--purchasable{cursor:pointer}.mbt-badge--boost{padding-right:20px}.mbt-badge__media{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;margin-left:-20px}.mbt-badge__icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px}.mbt-badge__icon svg{display:block;max-width:100%;max-height:100%}.mbt-badge__purchasable{position:absolute;right:-8px;bottom:-7px;display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:#f2f4fa}.mbt-badge__content{display:inline-flex;align-items:center;min-width:0;line-height:1;color:inherit;white-space:nowrap}.mbt-badge__boost{position:absolute;top:-8px;right:-8px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:#0950c2}.mbt-input__container{display:flex;flex-direction:column;gap:10px;width:100%;max-width:296px}.mbt-input__label{font-family:Inter,sans-serif;font-size:16px;font-weight:400;line-height:1;color:#f2f4fa;margin:0;font-feature-settings:"ss01" 1,"salt" 1,"ss02" 1}.mbt-input__label--muted{color:#8d92a9}.mbt-input__wrapper{position:relative;display:flex;align-items:center;width:100%;border:1px solid #f2f4fa;border-radius:8px;padding:8px 16px;background-color:transparent;transition:border-color .15s ease}.mbt-input__wrapper--muted{border-color:#8d92a9}.mbt-input__wrapper:focus-within{border-color:#6663fd}.mbt-input__field{flex:1;appearance:none;border:none;background:none;outline:none;font-family:Inter,sans-serif;font-size:16px;font-weight:400;line-height:1;color:#f2f4fa;font-feature-settings:"ss01" 1,"salt" 1,"ss02" 1}.mbt-input__field::placeholder{color:#f2f4fa}.mbt-input__field--muted{color:#8d92a9}.mbt-input__field--muted::placeholder{color:#8d92a9}.mbt-input__icon{flex-shrink:0;width:24px;height:24px;margin-left:8px;color:#f2f4fa}.mbt-input__icon--muted{color:#8d92a9}.mbt-input--full-width .mbt-input__container{max-width:none}.mbt-h1{font-family:IBM Plex Sans,sans-serif;font-size:72px;font-weight:600;line-height:80px;color:#f2f4fa;margin:0}.mbt-h1__content{display:inline-flex;align-items:center;gap:var(--mbt-typography-content-gap, 4px)}.mbt-h1__content svg{display:block;flex-shrink:0}.mbt-h2{font-family:IBM Plex Sans,sans-serif;font-size:40px;font-weight:600;line-height:48px;color:#f2f4fa;margin:0}.mbt-h2__content{display:inline-flex;align-items:center;gap:var(--mbt-typography-content-gap, 4px)}.mbt-h2__content svg{display:block;flex-shrink:0}.mbt-h3{font-family:IBM Plex Sans,sans-serif;font-size:28px;font-weight:500;line-height:36px;color:#f2f4fa;margin:0}.mbt-h3__content{display:inline-flex;align-items:center;gap:var(--mbt-typography-content-gap, 4px)}.mbt-h3__content svg{display:block;flex-shrink:0}.mbt-h4{font-family:IBM Plex Sans,sans-serif;font-size:20px;font-weight:500;line-height:28px;color:#f2f4fa;margin:0}.mbt-h4__content{display:inline-flex;align-items:center;gap:var(--mbt-typography-content-gap, 4px)}.mbt-h4__content svg{display:block;flex-shrink:0}.mbt-h5{font-family:IBM Plex Sans,sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#f2f4fa;margin:0}.mbt-h5__content{display:inline-flex;align-items:center;gap:var(--mbt-typography-content-gap, 4px)}.mbt-h5__content svg{display:block;flex-shrink:0}.mbt-text{font-family:Inter,sans-serif;font-size:16px;font-weight:400;line-height:normal;color:#f2f4fa;margin:0;font-feature-settings:"salt" on,"ss01" on,"ss02" on}.mbt-text svg{display:inline-block;vertical-align:middle}.mbt-text__content{display:inline-flex;align-items:center;gap:var(--mbt-typography-content-gap, 4px)}.mbt-text__content svg{display:block;flex-shrink:0}.mbt-text--strong{font-weight:500}.mbt-text--small{font-size:12px;line-height:18px}.mbt-text--label{font-size:12px;text-transform:uppercase}.mbt-text--muted{color:#8d92a9}.mbt-text--no-features{font-feature-settings:normal}.mbt-metric{font-family:IBM Plex Mono,monospace;font-size:16px;font-weight:400;line-height:1;color:#f2f4fa;margin:0}.mbt-metric__content{display:inline-flex;align-items:center;gap:var(--mbt-typography-content-gap, 4px)}.mbt-metric__content svg{display:block;flex-shrink:0}.mbt-metric--large{font-size:24px;font-weight:500;line-height:32px}.mbt-metric--muted{color:#8d92a9}.mbt-menu-button{appearance:none;border:none;background:none;cursor:pointer;outline:none;display:flex;align-items:center;width:248px;height:44px;padding:4px 12px;gap:8px;font-family:IBM Plex Sans,sans-serif;font-size:16px;font-weight:500;line-height:24px;color:#f2f4fa;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-radius:8px;transition:background-color .15s ease,color .15s ease}.mbt-menu-button__icon{flex-shrink:0;width:24px;height:24px;color:#f2f4fa;transition:color .15s ease}.mbt-menu-button__text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.mbt-menu-button:hover:not(:disabled):not(.mbt-menu-button--selected){background-color:#2a3148;color:#0950c2}.mbt-menu-button:hover:not(:disabled):not(.mbt-menu-button--selected) .mbt-menu-button__icon{color:#0950c2}.mbt-menu-button--selected{background-color:#1d2335;color:#6663fd}.mbt-menu-button--selected .mbt-menu-button__icon{color:#6663fd}.mbt-menu-button--small{padding:4px 8px;height:32px;gap:8px;font-family:Inter,sans-serif;font-size:12px;font-weight:400;line-height:18px}.mbt-menu-button--small .mbt-menu-button__icon{width:20px;height:20px}.mbt-menu-button:disabled{color:#8d92a9;cursor:not-allowed;pointer-events:none}.mbt-menu-button:disabled .mbt-menu-button__icon{color:#8d92a9}.mbt-loader{display:inline-flex;align-items:center;gap:4px}.mbt-loader__dot{display:inline-block;background-color:currentColor;border-radius:999px;animation:mbt-loader-bounce 1.4s infinite ease-in-out both}.mbt-loader__dot:nth-child(1){animation-delay:-.32s}.mbt-loader__dot:nth-child(2){animation-delay:-.16s}.mbt-loader--sm .mbt-loader__dot{width:6px;height:6px}.mbt-loader--md .mbt-loader__dot{width:9px;height:9px}.mbt-loader--lg .mbt-loader__dot{width:12px;height:12px}@keyframes mbt-loader-bounce{0%,80%,to{opacity:0;transform:scale(0)}40%{opacity:1;transform:scale(1)}}*,*:before,*:after{box-sizing:border-box}:root{--mbt-color-bg-0: #0b0e14;--mbt-color-bg-1: #111520;--mbt-color-surface: #171c2a;--mbt-color-surface-raised: #1d2335;--mbt-color-border: #2a3148;--mbt-color-gray: #475569;--mbt-color-text-primary: #f2f4fa;--mbt-color-text-muted: #8d92a9;--mbt-color-text-inverse: #0b0e14;--mbt-color-primary: #6663fd;--mbt-color-secondary: #0950c2;--mbt-color-success: #00b279;--mbt-color-error: #f2766a;--mbt-color-warning: #e6c352;--mbt-color-diamond: #e6f3ff;--mbt-color-primary-stop-0: #00a09e;--mbt-color-primary-stop-1: #234dc5;--mbt-color-primary-stop-2: #1945d9;--mbt-color-diamond-stop-0: #beacd3;--mbt-color-diamond-stop-1: #bee3f7;--mbt-color-diamond-stop-2: #efece7;--mbt-color-diamond-stop-3: #f8ddde;--mbt-color-diamond-stop-4: #cfe6f1;--mbt-color-gold: #d1a64a;--mbt-color-silver: #969fa6;--mbt-color-bronze: #956c68;--mbt-font-primary: "IBM Plex Sans", sans-serif;--mbt-font-secondary: "Inter", sans-serif;--mbt-font-mono: "IBM Plex Mono", monospace;--mbt-font-size-1: 12px;--mbt-font-size-2: 14px;--mbt-font-size-3: 16px;--mbt-font-size-4: 20px;--mbt-font-size-5: 24px;--mbt-font-size-6: 28px;--mbt-font-size-7: 40px;--mbt-font-size-8: 48px;--mbt-font-size-9: 72px;--mbt-font-weight-regular: 400;--mbt-font-weight-medium: 500;--mbt-font-weight-semibold: 600;--mbt-font-feature-inter-stylistic: "salt" on, "ss01" on, "ss02" on;--mbt-space-0: 0;--mbt-space-1: 4px;--mbt-space-2: 8px;--mbt-space-3: 12px;--mbt-space-4: 16px;--mbt-space-5: 24px;--mbt-space-6: 32px;--mbt-space-7: 48px;--mbt-space-8: 64px;--mbt-space-9: 96px;--mbt-space-10: 128px;--mbt-radius-0: 0;--mbt-radius-xs: 4px;--mbt-radius-sm: 8px;--mbt-radius-md: 12px;--mbt-radius-lg: 16px;--mbt-radius-xl: 24px;--mbt-radius-full: 999px;--mbt-z-index-0: 0;--mbt-z-index-1: 100;--mbt-z-index-2: 200;--mbt-z-index-3: 300;--mbt-z-index-4: 400;--mbt-z-index-5: 500;--mbt-transition-fast: .15s ease;--mbt-transition-normal: .25s ease;--mbt-transition-slow: .4s ease}
|