@flowstack-ui/brick 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -1
- package/dist/agents/app-bar.json +57 -0
- package/dist/agents/app-bar.md +42 -0
- package/dist/agents/bottom-navigation.json +55 -0
- package/dist/agents/bottom-navigation.md +40 -0
- package/dist/agents/breadcrumb.json +48 -0
- package/dist/agents/breadcrumb.md +37 -0
- package/dist/agents/button.json +49 -0
- package/dist/agents/button.md +38 -0
- package/dist/agents/card.json +50 -0
- package/dist/agents/card.md +39 -0
- package/dist/agents/checkbox.json +49 -0
- package/dist/agents/checkbox.md +38 -0
- package/dist/agents/container.json +54 -0
- package/dist/agents/container.md +39 -0
- package/dist/agents/divider.json +48 -0
- package/dist/agents/divider.md +37 -0
- package/dist/agents/drawer.json +56 -0
- package/dist/agents/drawer.md +41 -0
- package/dist/agents/field.json +57 -0
- package/dist/agents/field.md +42 -0
- package/dist/agents/fieldset.json +49 -0
- package/dist/agents/fieldset.md +38 -0
- package/dist/agents/form.json +49 -0
- package/dist/agents/form.md +38 -0
- package/dist/agents/grid.json +48 -0
- package/dist/agents/grid.md +37 -0
- package/dist/agents/hide.json +54 -0
- package/dist/agents/hide.md +39 -0
- package/dist/agents/icon-button.json +54 -0
- package/dist/agents/icon-button.md +39 -0
- package/dist/agents/image.json +59 -0
- package/dist/agents/image.md +40 -0
- package/dist/agents/input.json +48 -0
- package/dist/agents/input.md +37 -0
- package/dist/agents/interface-composition.json +174 -0
- package/dist/agents/interface-composition.md +91 -0
- package/dist/agents/layer-selection.json +107 -0
- package/dist/agents/layer-selection.md +57 -0
- package/dist/agents/link.json +47 -0
- package/dist/agents/link.md +36 -0
- package/dist/agents/manifest.json +207 -0
- package/dist/agents/nav-list.json +54 -0
- package/dist/agents/nav-list.md +39 -0
- package/dist/agents/navigation-menu.json +76 -0
- package/dist/agents/navigation-menu.md +46 -0
- package/dist/agents/pagination.json +48 -0
- package/dist/agents/pagination.md +37 -0
- package/dist/agents/scroll-area.json +54 -0
- package/dist/agents/scroll-area.md +39 -0
- package/dist/agents/show.json +54 -0
- package/dist/agents/show.md +39 -0
- package/dist/agents/sidebar.json +56 -0
- package/dist/agents/sidebar.md +41 -0
- package/dist/agents/skip-link.json +53 -0
- package/dist/agents/skip-link.md +38 -0
- package/dist/agents/stack.json +48 -0
- package/dist/agents/stack.md +37 -0
- package/dist/agents/surface.json +48 -0
- package/dist/agents/surface.md +37 -0
- package/dist/agents/tabs.json +54 -0
- package/dist/agents/tabs.md +39 -0
- package/dist/agents/text.json +60 -0
- package/dist/agents/text.md +41 -0
- package/dist/agents/textarea.json +48 -0
- package/dist/agents/textarea.md +37 -0
- package/dist/agents/toolbar.json +55 -0
- package/dist/agents/toolbar.md +40 -0
- package/dist/components/button/Button.js +2 -2
- package/dist/components/button/Button.js.map +1 -1
- package/dist/components/chip/Chip.js +4 -4
- package/dist/components/chip/Chip.js.map +1 -1
- package/dist/components/icon-button/IconButton.js +2 -2
- package/dist/components/icon-button/IconButton.js.map +1 -1
- package/dist/navigation-menu.d.ts +1 -0
- package/dist/navigation-menu.d.ts.map +1 -1
- package/dist/navigation-menu.js +1 -0
- package/dist/navigation-menu.js.map +1 -1
- package/dist/styles/code-block.css.map +1 -1
- package/dist/styles/core.css +1 -1
- package/dist/styles/core.css.map +1 -1
- package/dist/styles/dropdown-menu.css.map +1 -1
- package/dist/styles/navigation-menu.css +1 -1
- package/dist/styles/navigation-menu.css.map +1 -1
- package/dist/styles/swipeable-item.css.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/docs/guides/agent-knowledge.md +44 -0
- package/docs/guides/appearance-and-tokens.md +6 -0
- package/docs/guides/installation.md +11 -6
- package/package.json +11 -5
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "flowstack.agent-component.v1",
|
|
3
|
+
"id": "text",
|
|
4
|
+
"name": "Text",
|
|
5
|
+
"package": "@flowstack-ui/brick",
|
|
6
|
+
"layer": "brick",
|
|
7
|
+
"kind": "component",
|
|
8
|
+
"purpose": "Apply Brick typography roles, sizes, tones, weight, alignment, and wrapping while preserving the chosen semantic text element.",
|
|
9
|
+
"useWhen": [
|
|
10
|
+
"Interface copy needs Brick typography, including headings, paragraphs, labels, captions, metadata, or inline text."
|
|
11
|
+
],
|
|
12
|
+
"avoidWhen": [
|
|
13
|
+
{
|
|
14
|
+
"condition": "A component such as Button, Link, Field.Label, Card.Title, or Badge already owns the text role.",
|
|
15
|
+
"useInstead": "that component's named text part"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"composition": [
|
|
19
|
+
"Choose the semantic element first, then select the closest Brick text role, size, and tone; use Stack for text layout rather than wrapper spans."
|
|
20
|
+
],
|
|
21
|
+
"rules": [
|
|
22
|
+
{
|
|
23
|
+
"id": "text-semantics",
|
|
24
|
+
"level": "must",
|
|
25
|
+
"statement": "Do not choose heading or paragraph semantics solely from the desired font size."
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": "text-brick-first",
|
|
29
|
+
"level": "must",
|
|
30
|
+
"statement": "Use Text for standalone styled interface copy instead of native spans plus duplicate typography CSS."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": "text-readable",
|
|
34
|
+
"level": "must",
|
|
35
|
+
"statement": "Preserve readable body sizing, line height, measure, contrast, and user font scaling."
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"id": "text-css",
|
|
39
|
+
"level": "must",
|
|
40
|
+
"statement": "Load styles.css or core.css plus text.css."
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"commonMistakes": [
|
|
44
|
+
{
|
|
45
|
+
"mistake": "Using five spans to build brand text, selecting all-caps eyebrow styling for paragraph descriptions, or setting headings from appearance.",
|
|
46
|
+
"correction": "Use Text with semantic elements and reserve display treatments for their intended short roles."
|
|
47
|
+
}
|
|
48
|
+
],
|
|
49
|
+
"validation": [
|
|
50
|
+
"Check heading order, semantics, line length, wrapping, truncation, user font scaling, zoom, contrast, themes, and RTL.",
|
|
51
|
+
"Confirm parent component text parts are not bypassed and CSS is loaded."
|
|
52
|
+
],
|
|
53
|
+
"related": [
|
|
54
|
+
"stack",
|
|
55
|
+
"link",
|
|
56
|
+
"card",
|
|
57
|
+
"field",
|
|
58
|
+
"badge"
|
|
59
|
+
]
|
|
60
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# Text agent guide
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Apply Brick typography roles, sizes, tones, weight, alignment, and wrapping while preserving the chosen semantic text element.
|
|
6
|
+
|
|
7
|
+
## Use when
|
|
8
|
+
|
|
9
|
+
- Interface copy needs Brick typography, including headings, paragraphs, labels, captions, metadata, or inline text.
|
|
10
|
+
|
|
11
|
+
## Choose something else when
|
|
12
|
+
|
|
13
|
+
- A component such as Button, Link, Field.Label, Card.Title, or Badge already owns the text role. Use that component's named text part.
|
|
14
|
+
|
|
15
|
+
## Required composition
|
|
16
|
+
|
|
17
|
+
- Choose the semantic element first, then select the closest Brick text role, size, and tone; use Stack for text layout rather than wrapper spans.
|
|
18
|
+
|
|
19
|
+
## Rules
|
|
20
|
+
|
|
21
|
+
- **MUST:** Do not choose heading or paragraph semantics solely from the desired font size.
|
|
22
|
+
- **MUST:** Use Text for standalone styled interface copy instead of native spans plus duplicate typography CSS.
|
|
23
|
+
- **MUST:** Preserve readable body sizing, line height, measure, contrast, and user font scaling.
|
|
24
|
+
- **MUST:** Load styles.css or core.css plus text.css.
|
|
25
|
+
|
|
26
|
+
## Common mistakes
|
|
27
|
+
|
|
28
|
+
- **Avoid:** Using five spans to build brand text, selecting all-caps eyebrow styling for paragraph descriptions, or setting headings from appearance. **Instead:** Use Text with semantic elements and reserve display treatments for their intended short roles.
|
|
29
|
+
|
|
30
|
+
## Validation checklist
|
|
31
|
+
|
|
32
|
+
- Check heading order, semantics, line length, wrapping, truncation, user font scaling, zoom, contrast, themes, and RTL.
|
|
33
|
+
- Confirm parent component text parts are not bypassed and CSS is loaded.
|
|
34
|
+
|
|
35
|
+
## Related guidance
|
|
36
|
+
|
|
37
|
+
- `stack`
|
|
38
|
+
- `link`
|
|
39
|
+
- `card`
|
|
40
|
+
- `field`
|
|
41
|
+
- `badge`
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "flowstack.agent-component.v1",
|
|
3
|
+
"id": "textarea",
|
|
4
|
+
"name": "Textarea",
|
|
5
|
+
"package": "@flowstack-ui/brick",
|
|
6
|
+
"layer": "brick",
|
|
7
|
+
"kind": "component",
|
|
8
|
+
"purpose": "Render finished native multi-line text entry with Brick sizing, states, resize policy, and Atom field integration.",
|
|
9
|
+
"useWhen": [
|
|
10
|
+
"The user enters sentences, paragraphs, notes, or other multi-line text."
|
|
11
|
+
],
|
|
12
|
+
"avoidWhen": [
|
|
13
|
+
{
|
|
14
|
+
"condition": "The expected value is short and single-line.",
|
|
15
|
+
"useInstead": "Input"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"composition": [
|
|
19
|
+
"Place Textarea inside one Field.Root after Field.Label and add description or character guidance when useful."
|
|
20
|
+
],
|
|
21
|
+
"rules": [
|
|
22
|
+
{
|
|
23
|
+
"id": "textarea-label",
|
|
24
|
+
"level": "must",
|
|
25
|
+
"statement": "Use a persistent accessible label."
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": "textarea-css",
|
|
29
|
+
"level": "must",
|
|
30
|
+
"statement": "Load styles.css or core.css plus textarea.css and field.css when composed with Field."
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"commonMistakes": [
|
|
34
|
+
{
|
|
35
|
+
"mistake": "Using a single-line Input for long freeform content.",
|
|
36
|
+
"correction": "Use Textarea and allow a usable multi-line measure."
|
|
37
|
+
}
|
|
38
|
+
],
|
|
39
|
+
"validation": [
|
|
40
|
+
"Inspect label, name, and messaging relationships.",
|
|
41
|
+
"Test multi-line entry, resize policy, narrow widths, invalid/disabled states, and contrast."
|
|
42
|
+
],
|
|
43
|
+
"related": [
|
|
44
|
+
"@flowstack-ui/atom/agents/textarea",
|
|
45
|
+
"field",
|
|
46
|
+
"input"
|
|
47
|
+
]
|
|
48
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# Textarea agent guide
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Render finished native multi-line text entry with Brick sizing, states, resize policy, and Atom field integration.
|
|
6
|
+
|
|
7
|
+
## Use when
|
|
8
|
+
|
|
9
|
+
- The user enters sentences, paragraphs, notes, or other multi-line text.
|
|
10
|
+
|
|
11
|
+
## Choose something else when
|
|
12
|
+
|
|
13
|
+
- The expected value is short and single-line. Use Input.
|
|
14
|
+
|
|
15
|
+
## Required composition
|
|
16
|
+
|
|
17
|
+
- Place Textarea inside one Field.Root after Field.Label and add description or character guidance when useful.
|
|
18
|
+
|
|
19
|
+
## Rules
|
|
20
|
+
|
|
21
|
+
- **MUST:** Use a persistent accessible label.
|
|
22
|
+
- **MUST:** Load styles.css or core.css plus textarea.css and field.css when composed with Field.
|
|
23
|
+
|
|
24
|
+
## Common mistakes
|
|
25
|
+
|
|
26
|
+
- **Avoid:** Using a single-line Input for long freeform content. **Instead:** Use Textarea and allow a usable multi-line measure.
|
|
27
|
+
|
|
28
|
+
## Validation checklist
|
|
29
|
+
|
|
30
|
+
- Inspect label, name, and messaging relationships.
|
|
31
|
+
- Test multi-line entry, resize policy, narrow widths, invalid/disabled states, and contrast.
|
|
32
|
+
|
|
33
|
+
## Related guidance
|
|
34
|
+
|
|
35
|
+
- `@flowstack-ui/atom/agents/textarea`
|
|
36
|
+
- `field`
|
|
37
|
+
- `input`
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema": "flowstack.agent-component.v1",
|
|
3
|
+
"id": "toolbar",
|
|
4
|
+
"name": "Toolbar",
|
|
5
|
+
"package": "@flowstack-ui/brick",
|
|
6
|
+
"layer": "brick",
|
|
7
|
+
"kind": "component",
|
|
8
|
+
"purpose": "Style one logical group of related commands with Atom toolbar semantics and roving keyboard focus.",
|
|
9
|
+
"useWhen": [
|
|
10
|
+
"Related editor or application controls should behave as one horizontal or vertical keyboard group."
|
|
11
|
+
],
|
|
12
|
+
"avoidWhen": [
|
|
13
|
+
{
|
|
14
|
+
"condition": "The items are navigation destinations or unrelated standalone actions.",
|
|
15
|
+
"useInstead": "NavigationMenu/NavList or separate Button and IconButton controls"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"composition": [
|
|
19
|
+
"Compose Button, Link, Separator, and ToggleGroup/ToggleItem parts inside a named Root; use Brick icons and concise visible or accessible labels."
|
|
20
|
+
],
|
|
21
|
+
"rules": [
|
|
22
|
+
{
|
|
23
|
+
"id": "toolbar-owner",
|
|
24
|
+
"level": "must",
|
|
25
|
+
"statement": "Use Toolbar rather than adding manual arrow-key handlers or role=toolbar to an AppBar row."
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"id": "toolbar-overflow",
|
|
29
|
+
"level": "must",
|
|
30
|
+
"statement": "Define a deliberate narrow-width wrap, scroll, or alternative composition without breaking roving focus order."
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
"id": "toolbar-css",
|
|
34
|
+
"level": "must",
|
|
35
|
+
"statement": "Load styles.css or core.css plus toolbar.css and any composed Icon stylesheet."
|
|
36
|
+
}
|
|
37
|
+
],
|
|
38
|
+
"commonMistakes": [
|
|
39
|
+
{
|
|
40
|
+
"mistake": "Using AppBar.Toolbar as the behavior owner or placing unrelated page actions in one roving group.",
|
|
41
|
+
"correction": "Compose a named Toolbar only around logically related controls."
|
|
42
|
+
}
|
|
43
|
+
],
|
|
44
|
+
"validation": [
|
|
45
|
+
"Test orientation, arrows, disabled items, links, toggles, separators, Tab entry/exit, focus rings, touch targets, overflow, themes, zoom, and RTL.",
|
|
46
|
+
"Confirm names and CSS delivery."
|
|
47
|
+
],
|
|
48
|
+
"related": [
|
|
49
|
+
"app-bar",
|
|
50
|
+
"button",
|
|
51
|
+
"icon-button",
|
|
52
|
+
"toggle-group",
|
|
53
|
+
"divider"
|
|
54
|
+
]
|
|
55
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Toolbar agent guide
|
|
2
|
+
|
|
3
|
+
## Purpose
|
|
4
|
+
|
|
5
|
+
Style one logical group of related commands with Atom toolbar semantics and roving keyboard focus.
|
|
6
|
+
|
|
7
|
+
## Use when
|
|
8
|
+
|
|
9
|
+
- Related editor or application controls should behave as one horizontal or vertical keyboard group.
|
|
10
|
+
|
|
11
|
+
## Choose something else when
|
|
12
|
+
|
|
13
|
+
- The items are navigation destinations or unrelated standalone actions. Use NavigationMenu/NavList or separate Button and IconButton controls.
|
|
14
|
+
|
|
15
|
+
## Required composition
|
|
16
|
+
|
|
17
|
+
- Compose Button, Link, Separator, and ToggleGroup/ToggleItem parts inside a named Root; use Brick icons and concise visible or accessible labels.
|
|
18
|
+
|
|
19
|
+
## Rules
|
|
20
|
+
|
|
21
|
+
- **MUST:** Use Toolbar rather than adding manual arrow-key handlers or role=toolbar to an AppBar row.
|
|
22
|
+
- **MUST:** Define a deliberate narrow-width wrap, scroll, or alternative composition without breaking roving focus order.
|
|
23
|
+
- **MUST:** Load styles.css or core.css plus toolbar.css and any composed Icon stylesheet.
|
|
24
|
+
|
|
25
|
+
## Common mistakes
|
|
26
|
+
|
|
27
|
+
- **Avoid:** Using AppBar.Toolbar as the behavior owner or placing unrelated page actions in one roving group. **Instead:** Compose a named Toolbar only around logically related controls.
|
|
28
|
+
|
|
29
|
+
## Validation checklist
|
|
30
|
+
|
|
31
|
+
- Test orientation, arrows, disabled items, links, toggles, separators, Tab entry/exit, focus rings, touch targets, overflow, themes, zoom, and RTL.
|
|
32
|
+
- Confirm names and CSS delivery.
|
|
33
|
+
|
|
34
|
+
## Related guidance
|
|
35
|
+
|
|
36
|
+
- `app-bar`
|
|
37
|
+
- `button`
|
|
38
|
+
- `icon-button`
|
|
39
|
+
- `toggle-group`
|
|
40
|
+
- `divider`
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { ButtonRoot as AtomButtonRoot, } from "@flowstack-ui/atom/button";
|
|
4
4
|
function mergeClassName(className) {
|
|
5
5
|
return className ? `brick-button ${className}` : "brick-button";
|
|
6
6
|
}
|
|
7
7
|
export const Button = forwardRef(function Button({ variant = "solid", tone = "accent", size = "md", shape = "rounded", fullWidth = false, startIcon, endIcon, className, children, asChild = false, render, ...rootProps }, ref) {
|
|
8
8
|
const content = asChild ? (children) : (_jsxs(_Fragment, { children: [startIcon !== undefined ? (_jsx("span", { "aria-hidden": "true", className: "brick-button__icon", "data-position": "start", children: startIcon })) : null, _jsx("span", { className: "brick-button__content", children: children }), endIcon !== undefined ? (_jsx("span", { "aria-hidden": "true", className: "brick-button__icon", "data-position": "end", children: endIcon })) : null] }));
|
|
9
|
-
return (_jsx(
|
|
9
|
+
return (_jsx(AtomButtonRoot, { ...rootProps, asChild: asChild, className: mergeClassName(className), "data-full-width": fullWidth ? "" : undefined, "data-shape": shape, "data-size": size, "data-tone": tone, "data-variant": variant, ref: ref, render: render, children: content }));
|
|
10
10
|
});
|
|
11
11
|
Button.displayName = "Button";
|
|
12
12
|
//# sourceMappingURL=Button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/button/Button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAqC,MAAM,OAAO,CAAC;AACtE,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../../../src/components/button/Button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAqC,MAAM,OAAO,CAAC;AACtE,OAAO,EACL,UAAU,IAAI,cAAc,GAE7B,MAAM,2BAA2B,CAAC;AA+CnC,SAAS,cAAc,CAAC,SAA6B;IACnD,OAAO,SAAS,CAAC,CAAC,CAAC,gBAAgB,SAAS,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC;AAClE,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,CAA2B,SAAS,MAAM,CACxE,EACE,OAAO,GAAG,OAAO,EACjB,IAAI,GAAG,QAAQ,EACf,IAAI,GAAG,IAAI,EACX,KAAK,GAAG,SAAS,EACjB,SAAS,GAAG,KAAK,EACjB,SAAS,EACT,OAAO,EACP,SAAS,EACT,QAAQ,EACR,OAAO,GAAG,KAAK,EACf,MAAM,EACN,GAAG,SAAS,EACb,EACD,GAAG;IAEH,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CACxB,QAAQ,CACT,CAAC,CAAC,CAAC,CACF,8BACG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CACzB,8BAAkB,MAAM,EAAC,SAAS,EAAC,oBAAoB,mBAAe,OAAO,YAC1E,SAAS,GACL,CACR,CAAC,CAAC,CAAC,IAAI,EACR,eAAM,SAAS,EAAC,uBAAuB,YAAE,QAAQ,GAAQ,EACxD,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CACvB,8BAAkB,MAAM,EAAC,SAAS,EAAC,oBAAoB,mBAAe,KAAK,YACxE,OAAO,GACH,CACR,CAAC,CAAC,CAAC,IAAI,IACP,CACJ,CAAC;IAEF,OAAO,CACL,KAAC,cAAc,OACT,SAAS,EACb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,cAAc,CAAC,SAAS,CAAC,qBACnB,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,gBAC/B,KAAK,eACN,IAAI,eACJ,IAAI,kBACD,OAAO,EACrB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,YAEb,OAAO,GACO,CAClB,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef } from "react";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { BadgeRoot as AtomBadgeRoot, } from "@flowstack-ui/atom/badge";
|
|
4
|
+
import { ButtonRoot as AtomButtonRoot, } from "@flowstack-ui/atom/button";
|
|
5
5
|
function classes(base, className) {
|
|
6
6
|
return className ? `${base} ${className}` : base;
|
|
7
7
|
}
|
|
@@ -9,13 +9,13 @@ function DefaultRemoveIcon() {
|
|
|
9
9
|
return (_jsx("svg", { "aria-hidden": "true", viewBox: "0 0 16 16", children: _jsx("path", { d: "m4 4 8 8M12 4l-8 8" }) }));
|
|
10
10
|
}
|
|
11
11
|
export const ChipRoot = forwardRef(function ChipRoot({ className, shape = "pill", size = "md", tone = "neutral", variant = "soft", ...props }, ref) {
|
|
12
|
-
return (_jsx(
|
|
12
|
+
return (_jsx(AtomBadgeRoot, { ...props, className: classes("brick-chip", className), "data-shape": shape, "data-size": size, "data-tone": tone, "data-variant": variant, ref: ref }));
|
|
13
13
|
});
|
|
14
14
|
export const ChipLabel = forwardRef(function ChipLabel({ className, ...props }, ref) {
|
|
15
15
|
return (_jsx("span", { ...props, className: classes("brick-chip__label", className), "data-slot": "chip-label", ref: ref }));
|
|
16
16
|
});
|
|
17
17
|
export const ChipRemoveTrigger = forwardRef(function ChipRemoveTrigger({ ariaLabel, children, className, disabled, "data-slot": dataSlot = "chip-remove-trigger", ...props }, ref) {
|
|
18
|
-
return (_jsx(
|
|
18
|
+
return (_jsx(AtomButtonRoot, { ...props, "aria-label": ariaLabel, className: classes("brick-chip__remove-trigger", className), "data-disabled": disabled ? "" : undefined, "data-slot": dataSlot, disabled: disabled, ref: ref, children: children ?? _jsx(DefaultRemoveIcon, {}) }));
|
|
19
19
|
});
|
|
20
20
|
ChipRoot.displayName = "Chip.Root";
|
|
21
21
|
ChipLabel.displayName = "Chip.Label";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chip.js","sourceRoot":"","sources":["../../../src/components/chip/Chip.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAiD,MAAM,OAAO,CAAC;AAClF,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"Chip.js","sourceRoot":"","sources":["../../../src/components/chip/Chip.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAiD,MAAM,OAAO,CAAC;AAClF,OAAO,EACL,SAAS,IAAI,aAAa,GAE3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,UAAU,IAAI,cAAc,GAE7B,MAAM,2BAA2B,CAAC;AAuBnC,SAAS,OAAO,CAAC,IAAY,EAAE,SAAkB;IAC/C,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC;AAED,SAAS,iBAAiB;IACxB,OAAO,CACL,6BAAiB,MAAM,EAAC,OAAO,EAAC,WAAW,YACzC,eAAM,CAAC,EAAC,oBAAoB,GAAG,GAC3B,CACP,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAChC,SAAS,QAAQ,CACf,EACE,SAAS,EACT,KAAK,GAAG,MAAM,EACd,IAAI,GAAG,IAAI,EACX,IAAI,GAAG,SAAS,EAChB,OAAO,GAAG,MAAM,EAChB,GAAG,KAAK,EACT,EACD,GAAG;IAEH,OAAO,CACL,KAAC,aAAa,OACR,KAAK,EACT,SAAS,EAAE,OAAO,CAAC,YAAY,EAAE,SAAS,CAAC,gBAC/B,KAAK,eACN,IAAI,eACJ,IAAI,kBACD,OAAO,EACrB,GAAG,EAAE,GAAG,GACR,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,CACjC,SAAS,SAAS,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG;IAC7C,OAAO,CACL,kBACM,KAAK,EACT,SAAS,EAAE,OAAO,CAAC,mBAAmB,EAAE,SAAS,CAAC,eACxC,YAAY,EACtB,GAAG,EAAE,GAAG,GACR,CACH,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CACzC,SAAS,iBAAiB,CACxB,EACE,SAAS,EACT,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,WAAW,EAAE,QAAQ,GAAG,qBAAqB,EAC7C,GAAG,KAAK,EACT,EACD,GAAG;IAEH,OAAO,CACL,KAAC,cAAc,OACT,KAAK,gBACG,SAAS,EACrB,SAAS,EAAE,OAAO,CAAC,4BAA4B,EAAE,SAAS,CAAC,mBAC5C,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,eAC7B,QAAQ,EACnB,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,GAAG,YAEP,QAAQ,IAAI,KAAC,iBAAiB,KAAG,GACnB,CAClB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC;AACnC,SAAS,CAAC,WAAW,GAAG,YAAY,CAAC;AACrC,iBAAiB,CAAC,WAAW,GAAG,oBAAoB,CAAC;AAErD,MAAM,CAAC,MAAM,IAAI,GAAG;IAClB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,SAAS;IAChB,aAAa,EAAE,iBAAiB;CACxB,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { ButtonRoot as AtomButtonRoot, } from "@flowstack-ui/atom/button";
|
|
4
4
|
function mergeClassName(className) {
|
|
5
5
|
return className ? `brick-icon-button ${className}` : "brick-icon-button";
|
|
6
6
|
}
|
|
7
7
|
export const IconButton = forwardRef(function IconButton({ variant = "ghost", tone = "neutral", size = "md", shape = "rounded", className, children, asChild = false, render, ...rootProps }, ref) {
|
|
8
8
|
const content = asChild ? children : (_jsx("span", { "aria-hidden": "true", className: "brick-icon-button__icon", children: children }));
|
|
9
|
-
return (_jsx(
|
|
9
|
+
return (_jsx(AtomButtonRoot, { ...rootProps, asChild: asChild, className: mergeClassName(className), "data-shape": shape, "data-size": size, "data-tone": tone, "data-variant": variant, ref: ref, render: render, children: content }));
|
|
10
10
|
});
|
|
11
11
|
IconButton.displayName = "IconButton";
|
|
12
12
|
//# sourceMappingURL=IconButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../../../src/components/icon-button/IconButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAqC,MAAM,OAAO,CAAC;AACtE,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"IconButton.js","sourceRoot":"","sources":["../../../src/components/icon-button/IconButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAqC,MAAM,OAAO,CAAC;AACtE,OAAO,EACL,UAAU,IAAI,cAAc,GAE7B,MAAM,2BAA2B,CAAC;AAsCnC,SAAS,cAAc,CAAC,SAA6B;IACnD,OAAO,SAAS,CAAC,CAAC,CAAC,qBAAqB,SAAS,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,UAAU,CAClC,SAAS,UAAU,CACjB,EACE,OAAO,GAAG,OAAO,EACjB,IAAI,GAAG,SAAS,EAChB,IAAI,GAAG,IAAI,EACX,KAAK,GAAG,SAAS,EACjB,SAAS,EACT,QAAQ,EACR,OAAO,GAAG,KAAK,EACf,MAAM,EACN,GAAG,SAAS,EACb,EACD,GAAG;IAEH,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CACnC,8BAAkB,MAAM,EAAC,SAAS,EAAC,yBAAyB,YACzD,QAAQ,GACJ,CACR,CAAC;IAEF,OAAO,CACL,KAAC,cAAc,OACT,SAAS,EACb,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,cAAc,CAAC,SAAS,CAAC,gBACxB,KAAK,eACN,IAAI,eACJ,IAAI,kBACD,OAAO,EACrB,GAAG,EAAE,GAAG,EACR,MAAM,EAAE,MAAM,YAEb,OAAO,GACO,CAClB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC"}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from "./components/navigation-menu/index.js";
|
|
2
|
+
export { NavigationMenuRoot as Root, NavigationMenuSub as Sub, NavigationMenuList as List, NavigationMenuItem as Item, NavigationMenuTrigger as Trigger, NavigationMenuContent as Content, NavigationMenuLink as Link, NavigationMenuIndicator as Indicator, NavigationMenuIndicatorArrow as IndicatorArrow, NavigationMenuViewport as Viewport, } from "./components/navigation-menu/NavigationMenu.js";
|
|
2
3
|
//# sourceMappingURL=navigation-menu.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-menu.d.ts","sourceRoot":"","sources":["../src/navigation-menu.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC"}
|
|
1
|
+
{"version":3,"file":"navigation-menu.d.ts","sourceRoot":"","sources":["../src/navigation-menu.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AAEtD,OAAO,EACL,kBAAkB,IAAI,IAAI,EAC1B,iBAAiB,IAAI,GAAG,EACxB,kBAAkB,IAAI,IAAI,EAC1B,kBAAkB,IAAI,IAAI,EAC1B,qBAAqB,IAAI,OAAO,EAChC,qBAAqB,IAAI,OAAO,EAChC,kBAAkB,IAAI,IAAI,EAC1B,uBAAuB,IAAI,SAAS,EACpC,4BAA4B,IAAI,cAAc,EAC9C,sBAAsB,IAAI,QAAQ,GACnC,MAAM,gDAAgD,CAAC"}
|
package/dist/navigation-menu.js
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from "./components/navigation-menu/index.js";
|
|
2
|
+
export { NavigationMenuRoot as Root, NavigationMenuSub as Sub, NavigationMenuList as List, NavigationMenuItem as Item, NavigationMenuTrigger as Trigger, NavigationMenuContent as Content, NavigationMenuLink as Link, NavigationMenuIndicator as Indicator, NavigationMenuIndicatorArrow as IndicatorArrow, NavigationMenuViewport as Viewport, } from "./components/navigation-menu/NavigationMenu.js";
|
|
2
3
|
//# sourceMappingURL=navigation-menu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigation-menu.js","sourceRoot":"","sources":["../src/navigation-menu.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC"}
|
|
1
|
+
{"version":3,"file":"navigation-menu.js","sourceRoot":"","sources":["../src/navigation-menu.ts"],"names":[],"mappings":"AAAA,cAAc,uCAAuC,CAAC;AAEtD,OAAO,EACL,kBAAkB,IAAI,IAAI,EAC1B,iBAAiB,IAAI,GAAG,EACxB,kBAAkB,IAAI,IAAI,EAC1B,kBAAkB,IAAI,IAAI,EAC1B,qBAAqB,IAAI,OAAO,EAChC,qBAAqB,IAAI,OAAO,EAChC,kBAAkB,IAAI,IAAI,EAC1B,uBAAuB,IAAI,SAAS,EACpC,4BAA4B,IAAI,cAAc,EAC9C,sBAAsB,IAAI,QAAQ,GACnC,MAAM,gDAAgD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":null,"mappings":"ACAA,sCAAA,wBCCE,+cAcA,4HAKA,uCACE,sFAKF,8BACE,qIAMF,iIAUA,mIG1CA,0tEAwDA,iEAIA,yJAKA,+JAKA,wMAKA,gGAIA,oLAOA,wDAKA,wCAIA,0GAIA,yCAIA,4FAOA,uHAKA,gDAIA,wDAIA,8EAIA,6SASA,0SASA,8SASA,0SASA,osBAiBA,gqBAaA,0oBAaA,2qBAaA,2qBAaA,gqBAaA,4VAQA,kUAQA,4SAQA,wCACE,0JAKA,sMAKA,gGAKF,uCACE,sCAKF,8BACE,6EAMA,oDAIA,6EF9SF,ixCA8BA,kKAOA,oEACA,gKAIA,gKAKA,8BACE,oHChDF,2KAQA,6OAUA,4EACA,8EACA,iEAEA,qGACA,8HACA,gIACA,wHACA,8HACA,iNAIA,gLAKA,8BACE,uIAEA,mEEvCF,0yCA2BA,iKAKA,+GAKA,2jBAUA,gPASA,qSASA,8NAKA,4GAOA,mDAEA,+FAKA,uZAcA,8HAMA,0FAMA,6IAKA,6SAOA,6EAEA,8BACE,+SL9HJ","sources":["home/runner/work/brick/brick/.brick-cache/production/code-block.source.css","home/runner/work/brick/brick/.brick-cache/production/../../src/styles/layers.css","home/runner/work/brick/brick/.brick-cache/production/../../src/components/_action-spinner/action-spinner.css","home/runner/work/brick/brick/.brick-cache/production/../../src/components/code/code.css","home/runner/work/brick/brick/.brick-cache/production/../../src/components/code-block/code-block.css","home/runner/work/brick/brick/.brick-cache/production/../../src/components/button/button.css","home/runner/work/brick/brick/.brick-cache/production/../../src/components/scroll-area/scroll-area.css"],"sourcesContent":["@import \"../../src/styles/layers.css\";\n@import \"../../src/components/_action-spinner/action-spinner.css\";\n@import \"../../src/components/button/button.css\";\n@import \"../../src/components/code/code.css\";\n@import \"../../src/components/scroll-area/scroll-area.css\";\n@import \"../../src/components/code-block/code-block.css\";","@layer brick.tokens, brick.foundations, brick.components, brick.effects;\n","@layer brick.components {\n :where(.brick-button, .brick-icon-button)[data-loading]::after {\n position: absolute;\n inset-block-start: 50%;\n inset-inline-start: 50%;\n inline-size: var(--brick-action-spinner-size);\n block-size: var(--brick-action-spinner-size);\n border: 0.125rem solid transparent;\n border-block-start-color: var(--brick-action-spinner-color);\n border-inline-end-color: var(--brick-action-spinner-color);\n border-radius: var(--brick-radius-full);\n content: \"\";\n animation: brick-action-spinner-spin 700ms linear infinite;\n }\n\n :where([dir=\"rtl\"])\n :where(.brick-button, .brick-icon-button)[data-loading]::after {\n animation-name: brick-action-spinner-spin-rtl;\n }\n\n @media (prefers-reduced-motion: reduce) {\n :where(.brick-button, .brick-icon-button)[data-loading]::after {\n animation-duration: 1400ms;\n }\n }\n\n @media (forced-colors: active) {\n :where(.brick-button, .brick-icon-button)[data-loading]::after {\n border-block-start-color: ButtonText;\n border-inline-end-color: ButtonText;\n }\n }\n\n @keyframes brick-action-spinner-spin {\n from {\n transform: translate(-50%, -50%) rotate(0deg);\n }\n\n to {\n transform: translate(-50%, -50%) rotate(360deg);\n }\n }\n\n @keyframes brick-action-spinner-spin-rtl {\n from {\n transform: translate(50%, -50%) rotate(0deg);\n }\n\n to {\n transform: translate(50%, -50%) rotate(360deg);\n }\n }\n}\n","@layer brick.components {\n .brick-code {\n --brick-code-foreground: var(--brick-color-text-primary);\n --brick-code-background: var(--brick-color-surface-subtle);\n --brick-code-border-color: var(--brick-color-border-subtle);\n --brick-code-border-width: var(--brick-border-width);\n --brick-code-radius: var(--brick-radius-subtle);\n --brick-code-padding-block: 0.0625em;\n --brick-code-padding-inline: 0.3em;\n --brick-code-font-family: var(--brick-typography-code-inline-font-family);\n --brick-code-font-size: var(--brick-typography-code-inline-font-size);\n --brick-code-font-weight: var(--brick-typography-code-inline-font-weight);\n --brick-code-line-height: var(--brick-typography-code-inline-line-height);\n --brick-code-letter-spacing: var(--brick-typography-code-inline-letter-spacing);\n\n box-decoration-break: clone;\n padding: var(--brick-code-padding-block) var(--brick-code-padding-inline);\n border: var(--brick-code-border-width) solid var(--brick-code-border-color);\n border-radius: var(--brick-code-radius);\n background: var(--brick-code-background);\n color: var(--brick-code-foreground);\n font-family: var(--brick-code-font-family);\n font-size: var(--brick-code-font-size);\n font-weight: var(--brick-code-font-weight);\n letter-spacing: var(--brick-code-letter-spacing);\n line-height: var(--brick-code-line-height);\n overflow-wrap: anywhere;\n white-space: normal;\n -webkit-box-decoration-break: clone;\n }\n\n .brick-code[data-variant=\"plain\"] {\n --brick-code-background: transparent;\n --brick-code-border-width: 0rem;\n --brick-code-padding-block: 0em;\n --brick-code-padding-inline: 0em;\n }\n\n .brick-code[data-tone=\"inherit\"] { --brick-code-foreground: currentColor; }\n .brick-code[data-size=\"sm\"] {\n --brick-code-font-size: var(--brick-typography-body-sm-font-size);\n --brick-code-line-height: var(--brick-typography-body-sm-line-height);\n }\n .brick-code[data-size=\"md\"] {\n --brick-code-font-size: var(--brick-typography-body-md-font-size);\n --brick-code-line-height: var(--brick-typography-body-md-line-height);\n }\n\n @media (forced-colors: active) {\n .brick-code {\n --brick-code-foreground: CanvasText;\n --brick-code-background: Canvas;\n --brick-code-border-color: CanvasText;\n }\n }\n}\n","@layer brick.components {\n .brick-code-block {\n --brick-code-block-background: var(--brick-color-surface-subtle);\n --brick-code-block-foreground: var(--brick-color-text-primary);\n --brick-code-block-border-color: var(--brick-color-border-subtle);\n --brick-code-block-border-width: 0rem;\n --brick-code-block-radius: var(--brick-radius-surface);\n --brick-code-block-header-padding: var(--brick-space-3) var(--brick-space-4);\n --brick-code-block-content-padding: var(--brick-space-4);\n --brick-code-block-gap: var(--brick-space-2);\n --brick-code-block-font-family: var(--brick-typography-code-block-md-font-family);\n --brick-code-block-font-size: var(--brick-typography-code-block-md-font-size);\n --brick-code-block-font-weight: var(--brick-typography-code-block-md-font-weight);\n --brick-code-block-line-height: var(--brick-typography-code-block-md-line-height);\n --brick-code-block-letter-spacing: var(--brick-typography-code-block-md-letter-spacing);\n --brick-code-block-selection-background: var(--brick-color-accent-surface);\n --brick-code-block-selection-foreground: var(--brick-color-accent-text);\n\n box-sizing: border-box;\n min-inline-size: 0;\n max-inline-size: 100%;\n overflow: clip;\n border: var(--brick-code-block-border-width) solid var(--brick-code-block-border-color);\n border-radius: var(--brick-code-block-radius);\n background: var(--brick-code-block-background);\n color: var(--brick-code-block-foreground);\n }\n\n .brick-code-block[data-variant=\"bordered\"] {\n --brick-code-block-background: var(--brick-color-surface-base);\n --brick-code-block-border-width: var(--brick-border-width);\n }\n\n .brick-code-block[data-variant=\"plain\"] {\n --brick-code-block-background: transparent;\n --brick-code-block-radius: 0rem;\n }\n\n .brick-code-block[data-size=\"sm\"] {\n --brick-code-block-header-padding: var(--brick-space-2) var(--brick-space-3);\n --brick-code-block-content-padding: var(--brick-space-3);\n --brick-code-block-font-family: var(--brick-typography-code-block-sm-font-family);\n --brick-code-block-font-size: var(--brick-typography-code-block-sm-font-size);\n --brick-code-block-font-weight: var(--brick-typography-code-block-sm-font-weight);\n --brick-code-block-line-height: var(--brick-typography-code-block-sm-line-height);\n --brick-code-block-letter-spacing: var(--brick-typography-code-block-sm-letter-spacing);\n }\n\n .brick-code-block-header {\n display: flex;\n align-items: center;\n min-inline-size: 0;\n gap: var(--brick-code-block-gap);\n padding: var(--brick-code-block-header-padding);\n border-block-end: var(--brick-border-width) solid var(--brick-code-block-border-color);\n }\n\n .brick-code-block-title {\n min-inline-size: 0;\n overflow: hidden;\n color: var(--brick-color-text-primary);\n font: var(--brick-font-weight-medium) var(--brick-typography-body-sm-font-size) / var(--brick-typography-body-sm-line-height) var(--brick-font-family-body);\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .brick-code-block-language {\n color: var(--brick-color-text-secondary);\n font: var(--brick-font-weight-medium) var(--brick-typography-caption-font-size) / var(--brick-typography-caption-line-height) var(--brick-font-family-mono);\n }\n\n .brick-code-block-actions {\n display: flex;\n align-items: center;\n gap: var(--brick-space-1);\n margin-inline-start: auto;\n }\n\n .brick-code-block-scroll-area { max-inline-size: 100%; }\n\n .brick-code-block-content {\n max-inline-size: 100%;\n padding: var(--brick-code-block-content-padding);\n }\n\n .brick-code-block-pre {\n min-inline-size: max-content;\n margin: 0;\n -webkit-text-size-adjust: none;\n text-size-adjust: none;\n font-family: var(--brick-code-block-font-family);\n font-size: var(--brick-code-block-font-size);\n font-weight: var(--brick-code-block-font-weight);\n letter-spacing: var(--brick-code-block-letter-spacing);\n line-height: var(--brick-code-block-line-height);\n tab-size: 2;\n white-space: pre;\n }\n\n .brick-code-block-content[data-wrap=\"wrap\"] .brick-code-block-pre {\n min-inline-size: 0;\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n }\n\n .brick-code-block-pre > .brick-code {\n font: inherit;\n letter-spacing: inherit;\n white-space: inherit;\n }\n\n .brick-code-block-pre ::selection {\n background: var(--brick-code-block-selection-background);\n color: var(--brick-code-block-selection-foreground);\n }\n\n .brick-code-block-copy-status {\n display: block;\n padding-inline: var(--brick-space-4);\n color: var(--brick-color-text-secondary);\n font: var(--brick-typography-caption-font-weight) var(--brick-typography-caption-font-size) / var(--brick-typography-caption-line-height) var(--brick-typography-caption-font-family);\n }\n\n .brick-code-block-copy-status:not(:empty) { padding-block: var(--brick-space-2); }\n\n @media (forced-colors: active) {\n .brick-code-block {\n --brick-code-block-background: Canvas;\n --brick-code-block-foreground: CanvasText;\n --brick-code-block-border-color: CanvasText;\n --brick-code-block-border-width: var(--brick-border-width);\n --brick-code-block-selection-background: Highlight;\n --brick-code-block-selection-foreground: HighlightText;\n }\n }\n}\n","@layer brick.components {\n .brick-button {\n --brick-button-background: var(--brick-button-tone-solid);\n --brick-button-background-hover: var(--brick-button-tone-solid-hover);\n --brick-button-background-pressed: var(--brick-button-tone-solid-pressed);\n --brick-button-foreground: var(--brick-button-tone-on-solid);\n --brick-button-border-color: var(--brick-button-background);\n --brick-button-focus-ring: var(--brick-color-focus-ring);\n --brick-button-min-block-size: var(--brick-control-min-block-size-md);\n --brick-button-padding-block: 0.5rem;\n --brick-button-padding-inline: 1rem;\n --brick-button-gap: 0.5rem;\n --brick-button-radius: var(--brick-radius-control);\n --brick-button-font-family: var(--brick-typography-control-md-font-family);\n --brick-button-font-size: var(--brick-typography-control-md-font-size);\n --brick-button-font-weight: var(--brick-typography-control-md-font-weight);\n --brick-button-line-height: var(--brick-typography-control-md-line-height);\n --brick-button-letter-spacing: var(--brick-typography-control-md-letter-spacing);\n --brick-button-icon-size: 1.125rem;\n --brick-action-spinner-size: 1em;\n --brick-action-spinner-color: var(\n --brick-button-spinner-color,\n var(--brick-button-foreground)\n );\n\n position: relative;\n display: inline-flex;\n box-sizing: border-box;\n min-inline-size: 0;\n max-inline-size: 100%;\n min-block-size: var(--brick-button-min-block-size);\n align-items: center;\n justify-content: center;\n gap: var(--brick-button-gap);\n padding-block: var(--brick-button-padding-block);\n padding-inline: var(--brick-button-padding-inline);\n border: var(--brick-border-width) solid var(--brick-button-border-color);\n border-radius: var(--brick-button-radius);\n appearance: none;\n background: var(--brick-button-background);\n color: var(--brick-button-foreground);\n font-family: var(--brick-button-font-family);\n font-size: var(--brick-button-font-size);\n font-weight: var(--brick-button-font-weight);\n letter-spacing: var(--brick-button-letter-spacing);\n line-height: var(--brick-button-line-height);\n text-align: center;\n text-decoration: none;\n overflow-wrap: anywhere;\n user-select: none;\n vertical-align: middle;\n transition:\n background-color var(--brick-motion-duration-fast) var(--brick-motion-easing-standard),\n border-color var(--brick-motion-duration-fast) var(--brick-motion-easing-standard),\n color var(--brick-motion-duration-fast) var(--brick-motion-easing-standard);\n }\n\n .brick-button:not([data-disabled], [data-loading]) {\n cursor: pointer;\n }\n\n .brick-button:focus-visible {\n outline: var(--brick-border-focus-width) solid var(--brick-button-focus-ring);\n outline-offset: var(--brick-border-focus-offset);\n }\n\n .brick-button:not([data-disabled], [data-loading]):active {\n background: var(--brick-button-background-pressed);\n border-color: var(--brick-button-background-pressed);\n }\n\n .brick-button[data-variant=\"soft\"]:not([data-disabled], [data-loading]):active,\n .brick-button[data-variant=\"outline\"]:not([data-disabled], [data-loading]):active {\n border-color: var(--brick-button-tone-border);\n }\n\n .brick-button[data-variant=\"ghost\"]:not([data-disabled], [data-loading]):active {\n border-color: transparent;\n }\n\n .brick-button[data-disabled] {\n border-color: var(--brick-color-border-default);\n background: var(--brick-color-surface-subtle);\n color: var(--brick-color-text-secondary);\n cursor: not-allowed;\n }\n\n .brick-button[data-loading] {\n cursor: progress;\n color: transparent;\n }\n\n .brick-button[data-loading] > * {\n opacity: 0;\n }\n\n .brick-button[data-disabled][data-loading] {\n --brick-button-spinner-color: var(--brick-color-text-secondary);\n }\n\n .brick-button__content {\n min-inline-size: 0;\n }\n\n .brick-button__icon {\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n }\n\n .brick-button__icon > :where(svg, img) {\n inline-size: var(--brick-button-icon-size);\n block-size: var(--brick-button-icon-size);\n }\n\n .brick-button[data-full-width] {\n inline-size: 100%;\n }\n\n .brick-button[data-shape=\"sharp\"] {\n --brick-button-radius: 0;\n }\n\n .brick-button[data-shape=\"pill\"] {\n --brick-button-radius: var(--brick-radius-full);\n }\n\n .brick-button[data-size=\"xs\"] {\n --brick-button-min-block-size: var(--brick-control-min-block-size-xs);\n --brick-button-padding-block: 0.25rem;\n --brick-button-padding-inline: 0.625rem;\n --brick-button-gap: 0.375rem;\n --brick-button-font-size: var(--brick-typography-control-xs-font-size);\n --brick-button-icon-size: 0.875rem;\n }\n\n .brick-button[data-size=\"sm\"] {\n --brick-button-min-block-size: var(--brick-control-min-block-size-sm);\n --brick-button-padding-block: 0.375rem;\n --brick-button-padding-inline: 0.75rem;\n --brick-button-gap: 0.375rem;\n --brick-button-font-size: var(--brick-typography-control-sm-font-size);\n --brick-button-icon-size: 1rem;\n }\n\n .brick-button[data-size=\"lg\"] {\n --brick-button-min-block-size: var(--brick-control-min-block-size-lg);\n --brick-button-padding-block: 0.625rem;\n --brick-button-padding-inline: 1.25rem;\n --brick-button-gap: 0.625rem;\n --brick-button-font-size: var(--brick-typography-control-lg-font-size);\n --brick-button-icon-size: 1.25rem;\n }\n\n .brick-button[data-size=\"xl\"] {\n --brick-button-min-block-size: var(--brick-control-min-block-size-xl);\n --brick-button-padding-block: 0.75rem;\n --brick-button-padding-inline: 1.5rem;\n --brick-button-gap: 0.75rem;\n --brick-button-font-size: var(--brick-typography-control-xl-font-size);\n --brick-button-icon-size: 1.5rem;\n }\n\n .brick-button[data-tone=\"neutral\"] {\n --brick-button-tone-solid: var(--brick-color-text-primary);\n --brick-button-tone-solid-hover: var(--brick-color-text-secondary);\n --brick-button-tone-solid-pressed: color-mix(\n in srgb,\n var(--brick-color-text-primary),\n var(--brick-color-text-secondary) 35%\n );\n --brick-button-tone-on-solid: var(--brick-color-text-inverse);\n --brick-button-tone-soft: var(--brick-color-surface-subtle);\n --brick-button-tone-soft-hover: var(--brick-color-surface-base);\n --brick-button-tone-soft-pressed: var(--brick-color-border-subtle);\n --brick-button-tone-on-soft: var(--brick-color-text-primary);\n --brick-button-tone-border: var(--brick-color-border-strong);\n --brick-button-tone-text: var(--brick-color-text-primary);\n }\n\n .brick-button[data-tone=\"accent\"] {\n --brick-button-tone-solid: var(--brick-color-accent-solid);\n --brick-button-tone-solid-hover: var(--brick-color-accent-solid-hover);\n --brick-button-tone-solid-pressed: var(--brick-color-accent-solid-pressed);\n --brick-button-tone-on-solid: var(--brick-color-accent-on-solid);\n --brick-button-tone-soft: var(--brick-color-accent-soft);\n --brick-button-tone-soft-hover: var(--brick-color-accent-soft-hover);\n --brick-button-tone-soft-pressed: var(--brick-color-accent-soft-pressed);\n --brick-button-tone-on-soft: var(--brick-color-accent-on-soft);\n --brick-button-tone-border: var(--brick-color-accent-border);\n --brick-button-tone-text: var(--brick-color-accent-text);\n }\n\n .brick-button[data-tone=\"info\"] {\n --brick-button-tone-solid: var(--brick-color-info-solid);\n --brick-button-tone-solid-hover: var(--brick-color-info-solid-hover);\n --brick-button-tone-solid-pressed: var(--brick-color-info-solid-pressed);\n --brick-button-tone-on-solid: var(--brick-color-info-on-solid);\n --brick-button-tone-soft: var(--brick-color-info-soft);\n --brick-button-tone-soft-hover: var(--brick-color-info-soft-hover);\n --brick-button-tone-soft-pressed: var(--brick-color-info-soft-pressed);\n --brick-button-tone-on-soft: var(--brick-color-info-on-soft);\n --brick-button-tone-border: var(--brick-color-info-border);\n --brick-button-tone-text: var(--brick-color-info-text);\n }\n\n .brick-button[data-tone=\"success\"] {\n --brick-button-tone-solid: var(--brick-color-success-solid);\n --brick-button-tone-solid-hover: var(--brick-color-success-solid-hover);\n --brick-button-tone-solid-pressed: var(--brick-color-success-solid-pressed);\n --brick-button-tone-on-solid: var(--brick-color-success-on-solid);\n --brick-button-tone-soft: var(--brick-color-success-soft);\n --brick-button-tone-soft-hover: var(--brick-color-success-soft-hover);\n --brick-button-tone-soft-pressed: var(--brick-color-success-soft-pressed);\n --brick-button-tone-on-soft: var(--brick-color-success-on-soft);\n --brick-button-tone-border: var(--brick-color-success-border);\n --brick-button-tone-text: var(--brick-color-success-text);\n }\n\n .brick-button[data-tone=\"warning\"] {\n --brick-button-tone-solid: var(--brick-color-warning-solid);\n --brick-button-tone-solid-hover: var(--brick-color-warning-solid-hover);\n --brick-button-tone-solid-pressed: var(--brick-color-warning-solid-pressed);\n --brick-button-tone-on-solid: var(--brick-color-warning-on-solid);\n --brick-button-tone-soft: var(--brick-color-warning-soft);\n --brick-button-tone-soft-hover: var(--brick-color-warning-soft-hover);\n --brick-button-tone-soft-pressed: var(--brick-color-warning-soft-pressed);\n --brick-button-tone-on-soft: var(--brick-color-warning-on-soft);\n --brick-button-tone-border: var(--brick-color-warning-border);\n --brick-button-tone-text: var(--brick-color-warning-text);\n }\n\n .brick-button[data-tone=\"danger\"] {\n --brick-button-tone-solid: var(--brick-color-danger-solid);\n --brick-button-tone-solid-hover: var(--brick-color-danger-solid-hover);\n --brick-button-tone-solid-pressed: var(--brick-color-danger-solid-pressed);\n --brick-button-tone-on-solid: var(--brick-color-danger-on-solid);\n --brick-button-tone-soft: var(--brick-color-danger-soft);\n --brick-button-tone-soft-hover: var(--brick-color-danger-soft-hover);\n --brick-button-tone-soft-pressed: var(--brick-color-danger-soft-pressed);\n --brick-button-tone-on-soft: var(--brick-color-danger-on-soft);\n --brick-button-tone-border: var(--brick-color-danger-border);\n --brick-button-tone-text: var(--brick-color-danger-text);\n }\n\n .brick-button[data-variant=\"soft\"] {\n --brick-button-background: var(--brick-button-tone-soft);\n --brick-button-background-hover: var(--brick-button-tone-soft-hover);\n --brick-button-background-pressed: var(--brick-button-tone-soft-pressed);\n --brick-button-foreground: var(--brick-button-tone-on-soft);\n --brick-button-border-color: var(--brick-button-tone-border);\n }\n\n .brick-button[data-variant=\"outline\"] {\n --brick-button-background: transparent;\n --brick-button-background-hover: var(--brick-button-tone-soft);\n --brick-button-background-pressed: var(--brick-button-tone-soft-hover);\n --brick-button-foreground: var(--brick-button-tone-text);\n --brick-button-border-color: var(--brick-button-tone-border);\n }\n\n .brick-button[data-variant=\"ghost\"] {\n --brick-button-background: transparent;\n --brick-button-background-hover: var(--brick-button-tone-soft);\n --brick-button-background-pressed: var(--brick-button-tone-soft-hover);\n --brick-button-foreground: var(--brick-button-tone-text);\n --brick-button-border-color: transparent;\n }\n\n @media (hover: hover) and (pointer: fine) {\n .brick-button:not([data-disabled], [data-loading]):hover {\n background: var(--brick-button-background-hover);\n border-color: var(--brick-button-background-hover);\n }\n\n .brick-button[data-variant=\"soft\"]:not([data-disabled], [data-loading]):hover,\n .brick-button[data-variant=\"outline\"]:not([data-disabled], [data-loading]):hover {\n border-color: var(--brick-button-tone-border);\n }\n\n .brick-button[data-variant=\"ghost\"]:not([data-disabled], [data-loading]):hover {\n border-color: transparent;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .brick-button {\n transition-duration: 0ms;\n }\n }\n\n @media (forced-colors: active) {\n .brick-button {\n border-color: ButtonText;\n background: ButtonFace;\n color: ButtonText;\n }\n\n .brick-button:focus-visible {\n outline-color: Highlight;\n }\n\n .brick-button[data-disabled] {\n border-color: GrayText;\n color: GrayText;\n opacity: 1;\n }\n }\n}\n","@layer brick.components {\n .brick-scroll-area {\n --brick-scroll-area-scrollbar-thumb: var(--brick-color-border-strong);\n --brick-scroll-area-scrollbar-track: transparent;\n\n min-inline-size: 0;\n min-block-size: 0;\n }\n\n .brick-scroll-area-viewport {\n box-sizing: border-box;\n inline-size: 100%;\n block-size: 100%;\n min-inline-size: 0;\n min-block-size: 0;\n scrollbar-color: var(--brick-scroll-area-scrollbar-thumb) var(--brick-scroll-area-scrollbar-track);\n scrollbar-width: auto;\n }\n\n .brick-scroll-area-viewport[data-orientation=\"vertical\"] { overflow-x: hidden; overflow-y: auto; }\n .brick-scroll-area-viewport[data-orientation=\"horizontal\"] { overflow-x: auto; overflow-y: hidden; }\n .brick-scroll-area-viewport[data-orientation=\"both\"] { overflow: auto; }\n\n .brick-scroll-area[data-scrollbar-gutter=\"stable\"] > .brick-scroll-area-viewport { scrollbar-gutter: stable; }\n .brick-scroll-area[data-scrollbar-visibility=\"always\"] > .brick-scroll-area-viewport[data-orientation=\"vertical\"] { overflow-y: scroll; }\n .brick-scroll-area[data-scrollbar-visibility=\"always\"] > .brick-scroll-area-viewport[data-orientation=\"horizontal\"] { overflow-x: scroll; }\n .brick-scroll-area[data-scrollbar-visibility=\"always\"] > .brick-scroll-area-viewport[data-orientation=\"both\"] { overflow: scroll; }\n .brick-scroll-area[data-scrollbar-visibility=\"interaction\"] > .brick-scroll-area-viewport { scrollbar-color: transparent transparent; }\n .brick-scroll-area[data-scrollbar-visibility=\"interaction\"]:is(:hover, :focus-within) > .brick-scroll-area-viewport {\n scrollbar-color: var(--brick-scroll-area-scrollbar-thumb) var(--brick-scroll-area-scrollbar-track);\n }\n\n .brick-scroll-area-viewport:focus-visible {\n outline: var(--brick-border-focus-width) solid var(--brick-color-focus-ring);\n outline-offset: calc(-1 * var(--brick-border-focus-width));\n }\n\n @media (forced-colors: active) {\n .brick-scroll-area-viewport,\n .brick-scroll-area[data-scrollbar-visibility=\"interaction\"] > .brick-scroll-area-viewport { scrollbar-color: auto; }\n .brick-scroll-area-viewport:focus-visible { outline-color: Highlight; }\n }\n}\n"],"names":[]}
|
|
1
|
+
{"version":3,"sourceRoot":null,"mappings":"ACAA,sCAAA,wBCCE,+cAcA,4HAKA,uCACE,sFAKF,8BACE,qIAMF,iIAUA,mIE1CA,0tEAwDA,iEAIA,yJAKA,+JAKA,wMAKA,gGAIA,oLAOA,wDAKA,wCAIA,0GAIA,yCAIA,4FAOA,uHAKA,gDAIA,wDAIA,8EAIA,6SASA,0SASA,8SASA,0SASA,osBAiBA,gqBAaA,0oBAaA,2qBAaA,2qBAaA,gqBAaA,4VAQA,kUAQA,4SAQA,wCACE,0JAKA,sMAKA,gGAKF,uCACE,sCAKF,8BACE,6EAMA,oDAIA,6ED9SF,ixCA8BA,kKAOA,oEACA,gKAIA,gKAKA,8BACE,oHEhDF,2KAQA,6OAUA,4EACA,8EACA,iEAEA,qGACA,8HACA,gIACA,wHACA,8HACA,iNAIA,gLAKA,8BACE,uIAEA,mECvCF,0yCA2BA,iKAKA,+GAKA,2jBAUA,gPASA,qSASA,8NAKA,4GAOA,mDAEA,+FAKA,uZAcA,8HAMA,0FAMA,6IAKA,6SAOA,6EAEA,8BACE,+SL9HJ","sources":["home/runner/work/brick/brick/.brick-cache/production/code-block.source.css","home/runner/work/brick/brick/.brick-cache/production/../../src/styles/layers.css","home/runner/work/brick/brick/.brick-cache/production/../../src/components/_action-spinner/action-spinner.css","home/runner/work/brick/brick/.brick-cache/production/../../src/components/code/code.css","home/runner/work/brick/brick/.brick-cache/production/../../src/components/button/button.css","home/runner/work/brick/brick/.brick-cache/production/../../src/components/scroll-area/scroll-area.css","home/runner/work/brick/brick/.brick-cache/production/../../src/components/code-block/code-block.css"],"sourcesContent":["@import \"../../src/styles/layers.css\";\n@import \"../../src/components/_action-spinner/action-spinner.css\";\n@import \"../../src/components/button/button.css\";\n@import \"../../src/components/code/code.css\";\n@import \"../../src/components/scroll-area/scroll-area.css\";\n@import \"../../src/components/code-block/code-block.css\";","@layer brick.tokens, brick.foundations, brick.components, brick.effects;\n","@layer brick.components {\n :where(.brick-button, .brick-icon-button)[data-loading]::after {\n position: absolute;\n inset-block-start: 50%;\n inset-inline-start: 50%;\n inline-size: var(--brick-action-spinner-size);\n block-size: var(--brick-action-spinner-size);\n border: 0.125rem solid transparent;\n border-block-start-color: var(--brick-action-spinner-color);\n border-inline-end-color: var(--brick-action-spinner-color);\n border-radius: var(--brick-radius-full);\n content: \"\";\n animation: brick-action-spinner-spin 700ms linear infinite;\n }\n\n :where([dir=\"rtl\"])\n :where(.brick-button, .brick-icon-button)[data-loading]::after {\n animation-name: brick-action-spinner-spin-rtl;\n }\n\n @media (prefers-reduced-motion: reduce) {\n :where(.brick-button, .brick-icon-button)[data-loading]::after {\n animation-duration: 1400ms;\n }\n }\n\n @media (forced-colors: active) {\n :where(.brick-button, .brick-icon-button)[data-loading]::after {\n border-block-start-color: ButtonText;\n border-inline-end-color: ButtonText;\n }\n }\n\n @keyframes brick-action-spinner-spin {\n from {\n transform: translate(-50%, -50%) rotate(0deg);\n }\n\n to {\n transform: translate(-50%, -50%) rotate(360deg);\n }\n }\n\n @keyframes brick-action-spinner-spin-rtl {\n from {\n transform: translate(50%, -50%) rotate(0deg);\n }\n\n to {\n transform: translate(50%, -50%) rotate(360deg);\n }\n }\n}\n","@layer brick.components {\n .brick-code {\n --brick-code-foreground: var(--brick-color-text-primary);\n --brick-code-background: var(--brick-color-surface-subtle);\n --brick-code-border-color: var(--brick-color-border-subtle);\n --brick-code-border-width: var(--brick-border-width);\n --brick-code-radius: var(--brick-radius-subtle);\n --brick-code-padding-block: 0.0625em;\n --brick-code-padding-inline: 0.3em;\n --brick-code-font-family: var(--brick-typography-code-inline-font-family);\n --brick-code-font-size: var(--brick-typography-code-inline-font-size);\n --brick-code-font-weight: var(--brick-typography-code-inline-font-weight);\n --brick-code-line-height: var(--brick-typography-code-inline-line-height);\n --brick-code-letter-spacing: var(--brick-typography-code-inline-letter-spacing);\n\n box-decoration-break: clone;\n padding: var(--brick-code-padding-block) var(--brick-code-padding-inline);\n border: var(--brick-code-border-width) solid var(--brick-code-border-color);\n border-radius: var(--brick-code-radius);\n background: var(--brick-code-background);\n color: var(--brick-code-foreground);\n font-family: var(--brick-code-font-family);\n font-size: var(--brick-code-font-size);\n font-weight: var(--brick-code-font-weight);\n letter-spacing: var(--brick-code-letter-spacing);\n line-height: var(--brick-code-line-height);\n overflow-wrap: anywhere;\n white-space: normal;\n -webkit-box-decoration-break: clone;\n }\n\n .brick-code[data-variant=\"plain\"] {\n --brick-code-background: transparent;\n --brick-code-border-width: 0rem;\n --brick-code-padding-block: 0em;\n --brick-code-padding-inline: 0em;\n }\n\n .brick-code[data-tone=\"inherit\"] { --brick-code-foreground: currentColor; }\n .brick-code[data-size=\"sm\"] {\n --brick-code-font-size: var(--brick-typography-body-sm-font-size);\n --brick-code-line-height: var(--brick-typography-body-sm-line-height);\n }\n .brick-code[data-size=\"md\"] {\n --brick-code-font-size: var(--brick-typography-body-md-font-size);\n --brick-code-line-height: var(--brick-typography-body-md-line-height);\n }\n\n @media (forced-colors: active) {\n .brick-code {\n --brick-code-foreground: CanvasText;\n --brick-code-background: Canvas;\n --brick-code-border-color: CanvasText;\n }\n }\n}\n","@layer brick.components {\n .brick-button {\n --brick-button-background: var(--brick-button-tone-solid);\n --brick-button-background-hover: var(--brick-button-tone-solid-hover);\n --brick-button-background-pressed: var(--brick-button-tone-solid-pressed);\n --brick-button-foreground: var(--brick-button-tone-on-solid);\n --brick-button-border-color: var(--brick-button-background);\n --brick-button-focus-ring: var(--brick-color-focus-ring);\n --brick-button-min-block-size: var(--brick-control-min-block-size-md);\n --brick-button-padding-block: 0.5rem;\n --brick-button-padding-inline: 1rem;\n --brick-button-gap: 0.5rem;\n --brick-button-radius: var(--brick-radius-control);\n --brick-button-font-family: var(--brick-typography-control-md-font-family);\n --brick-button-font-size: var(--brick-typography-control-md-font-size);\n --brick-button-font-weight: var(--brick-typography-control-md-font-weight);\n --brick-button-line-height: var(--brick-typography-control-md-line-height);\n --brick-button-letter-spacing: var(--brick-typography-control-md-letter-spacing);\n --brick-button-icon-size: 1.125rem;\n --brick-action-spinner-size: 1em;\n --brick-action-spinner-color: var(\n --brick-button-spinner-color,\n var(--brick-button-foreground)\n );\n\n position: relative;\n display: inline-flex;\n box-sizing: border-box;\n min-inline-size: 0;\n max-inline-size: 100%;\n min-block-size: var(--brick-button-min-block-size);\n align-items: center;\n justify-content: center;\n gap: var(--brick-button-gap);\n padding-block: var(--brick-button-padding-block);\n padding-inline: var(--brick-button-padding-inline);\n border: var(--brick-border-width) solid var(--brick-button-border-color);\n border-radius: var(--brick-button-radius);\n appearance: none;\n background: var(--brick-button-background);\n color: var(--brick-button-foreground);\n font-family: var(--brick-button-font-family);\n font-size: var(--brick-button-font-size);\n font-weight: var(--brick-button-font-weight);\n letter-spacing: var(--brick-button-letter-spacing);\n line-height: var(--brick-button-line-height);\n text-align: center;\n text-decoration: none;\n overflow-wrap: anywhere;\n user-select: none;\n vertical-align: middle;\n transition:\n background-color var(--brick-motion-duration-fast) var(--brick-motion-easing-standard),\n border-color var(--brick-motion-duration-fast) var(--brick-motion-easing-standard),\n color var(--brick-motion-duration-fast) var(--brick-motion-easing-standard);\n }\n\n .brick-button:not([data-disabled], [data-loading]) {\n cursor: pointer;\n }\n\n .brick-button:focus-visible {\n outline: var(--brick-border-focus-width) solid var(--brick-button-focus-ring);\n outline-offset: var(--brick-border-focus-offset);\n }\n\n .brick-button:not([data-disabled], [data-loading]):active {\n background: var(--brick-button-background-pressed);\n border-color: var(--brick-button-background-pressed);\n }\n\n .brick-button[data-variant=\"soft\"]:not([data-disabled], [data-loading]):active,\n .brick-button[data-variant=\"outline\"]:not([data-disabled], [data-loading]):active {\n border-color: var(--brick-button-tone-border);\n }\n\n .brick-button[data-variant=\"ghost\"]:not([data-disabled], [data-loading]):active {\n border-color: transparent;\n }\n\n .brick-button[data-disabled] {\n border-color: var(--brick-color-border-default);\n background: var(--brick-color-surface-subtle);\n color: var(--brick-color-text-secondary);\n cursor: not-allowed;\n }\n\n .brick-button[data-loading] {\n cursor: progress;\n color: transparent;\n }\n\n .brick-button[data-loading] > * {\n opacity: 0;\n }\n\n .brick-button[data-disabled][data-loading] {\n --brick-button-spinner-color: var(--brick-color-text-secondary);\n }\n\n .brick-button__content {\n min-inline-size: 0;\n }\n\n .brick-button__icon {\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n justify-content: center;\n }\n\n .brick-button__icon > :where(svg, img) {\n inline-size: var(--brick-button-icon-size);\n block-size: var(--brick-button-icon-size);\n }\n\n .brick-button[data-full-width] {\n inline-size: 100%;\n }\n\n .brick-button[data-shape=\"sharp\"] {\n --brick-button-radius: 0;\n }\n\n .brick-button[data-shape=\"pill\"] {\n --brick-button-radius: var(--brick-radius-full);\n }\n\n .brick-button[data-size=\"xs\"] {\n --brick-button-min-block-size: var(--brick-control-min-block-size-xs);\n --brick-button-padding-block: 0.25rem;\n --brick-button-padding-inline: 0.625rem;\n --brick-button-gap: 0.375rem;\n --brick-button-font-size: var(--brick-typography-control-xs-font-size);\n --brick-button-icon-size: 0.875rem;\n }\n\n .brick-button[data-size=\"sm\"] {\n --brick-button-min-block-size: var(--brick-control-min-block-size-sm);\n --brick-button-padding-block: 0.375rem;\n --brick-button-padding-inline: 0.75rem;\n --brick-button-gap: 0.375rem;\n --brick-button-font-size: var(--brick-typography-control-sm-font-size);\n --brick-button-icon-size: 1rem;\n }\n\n .brick-button[data-size=\"lg\"] {\n --brick-button-min-block-size: var(--brick-control-min-block-size-lg);\n --brick-button-padding-block: 0.625rem;\n --brick-button-padding-inline: 1.25rem;\n --brick-button-gap: 0.625rem;\n --brick-button-font-size: var(--brick-typography-control-lg-font-size);\n --brick-button-icon-size: 1.25rem;\n }\n\n .brick-button[data-size=\"xl\"] {\n --brick-button-min-block-size: var(--brick-control-min-block-size-xl);\n --brick-button-padding-block: 0.75rem;\n --brick-button-padding-inline: 1.5rem;\n --brick-button-gap: 0.75rem;\n --brick-button-font-size: var(--brick-typography-control-xl-font-size);\n --brick-button-icon-size: 1.5rem;\n }\n\n .brick-button[data-tone=\"neutral\"] {\n --brick-button-tone-solid: var(--brick-color-text-primary);\n --brick-button-tone-solid-hover: var(--brick-color-text-secondary);\n --brick-button-tone-solid-pressed: color-mix(\n in srgb,\n var(--brick-color-text-primary),\n var(--brick-color-text-secondary) 35%\n );\n --brick-button-tone-on-solid: var(--brick-color-text-inverse);\n --brick-button-tone-soft: var(--brick-color-surface-subtle);\n --brick-button-tone-soft-hover: var(--brick-color-surface-base);\n --brick-button-tone-soft-pressed: var(--brick-color-border-subtle);\n --brick-button-tone-on-soft: var(--brick-color-text-primary);\n --brick-button-tone-border: var(--brick-color-border-strong);\n --brick-button-tone-text: var(--brick-color-text-primary);\n }\n\n .brick-button[data-tone=\"accent\"] {\n --brick-button-tone-solid: var(--brick-color-accent-solid);\n --brick-button-tone-solid-hover: var(--brick-color-accent-solid-hover);\n --brick-button-tone-solid-pressed: var(--brick-color-accent-solid-pressed);\n --brick-button-tone-on-solid: var(--brick-color-accent-on-solid);\n --brick-button-tone-soft: var(--brick-color-accent-soft);\n --brick-button-tone-soft-hover: var(--brick-color-accent-soft-hover);\n --brick-button-tone-soft-pressed: var(--brick-color-accent-soft-pressed);\n --brick-button-tone-on-soft: var(--brick-color-accent-on-soft);\n --brick-button-tone-border: var(--brick-color-accent-border);\n --brick-button-tone-text: var(--brick-color-accent-text);\n }\n\n .brick-button[data-tone=\"info\"] {\n --brick-button-tone-solid: var(--brick-color-info-solid);\n --brick-button-tone-solid-hover: var(--brick-color-info-solid-hover);\n --brick-button-tone-solid-pressed: var(--brick-color-info-solid-pressed);\n --brick-button-tone-on-solid: var(--brick-color-info-on-solid);\n --brick-button-tone-soft: var(--brick-color-info-soft);\n --brick-button-tone-soft-hover: var(--brick-color-info-soft-hover);\n --brick-button-tone-soft-pressed: var(--brick-color-info-soft-pressed);\n --brick-button-tone-on-soft: var(--brick-color-info-on-soft);\n --brick-button-tone-border: var(--brick-color-info-border);\n --brick-button-tone-text: var(--brick-color-info-text);\n }\n\n .brick-button[data-tone=\"success\"] {\n --brick-button-tone-solid: var(--brick-color-success-solid);\n --brick-button-tone-solid-hover: var(--brick-color-success-solid-hover);\n --brick-button-tone-solid-pressed: var(--brick-color-success-solid-pressed);\n --brick-button-tone-on-solid: var(--brick-color-success-on-solid);\n --brick-button-tone-soft: var(--brick-color-success-soft);\n --brick-button-tone-soft-hover: var(--brick-color-success-soft-hover);\n --brick-button-tone-soft-pressed: var(--brick-color-success-soft-pressed);\n --brick-button-tone-on-soft: var(--brick-color-success-on-soft);\n --brick-button-tone-border: var(--brick-color-success-border);\n --brick-button-tone-text: var(--brick-color-success-text);\n }\n\n .brick-button[data-tone=\"warning\"] {\n --brick-button-tone-solid: var(--brick-color-warning-solid);\n --brick-button-tone-solid-hover: var(--brick-color-warning-solid-hover);\n --brick-button-tone-solid-pressed: var(--brick-color-warning-solid-pressed);\n --brick-button-tone-on-solid: var(--brick-color-warning-on-solid);\n --brick-button-tone-soft: var(--brick-color-warning-soft);\n --brick-button-tone-soft-hover: var(--brick-color-warning-soft-hover);\n --brick-button-tone-soft-pressed: var(--brick-color-warning-soft-pressed);\n --brick-button-tone-on-soft: var(--brick-color-warning-on-soft);\n --brick-button-tone-border: var(--brick-color-warning-border);\n --brick-button-tone-text: var(--brick-color-warning-text);\n }\n\n .brick-button[data-tone=\"danger\"] {\n --brick-button-tone-solid: var(--brick-color-danger-solid);\n --brick-button-tone-solid-hover: var(--brick-color-danger-solid-hover);\n --brick-button-tone-solid-pressed: var(--brick-color-danger-solid-pressed);\n --brick-button-tone-on-solid: var(--brick-color-danger-on-solid);\n --brick-button-tone-soft: var(--brick-color-danger-soft);\n --brick-button-tone-soft-hover: var(--brick-color-danger-soft-hover);\n --brick-button-tone-soft-pressed: var(--brick-color-danger-soft-pressed);\n --brick-button-tone-on-soft: var(--brick-color-danger-on-soft);\n --brick-button-tone-border: var(--brick-color-danger-border);\n --brick-button-tone-text: var(--brick-color-danger-text);\n }\n\n .brick-button[data-variant=\"soft\"] {\n --brick-button-background: var(--brick-button-tone-soft);\n --brick-button-background-hover: var(--brick-button-tone-soft-hover);\n --brick-button-background-pressed: var(--brick-button-tone-soft-pressed);\n --brick-button-foreground: var(--brick-button-tone-on-soft);\n --brick-button-border-color: var(--brick-button-tone-border);\n }\n\n .brick-button[data-variant=\"outline\"] {\n --brick-button-background: transparent;\n --brick-button-background-hover: var(--brick-button-tone-soft);\n --brick-button-background-pressed: var(--brick-button-tone-soft-hover);\n --brick-button-foreground: var(--brick-button-tone-text);\n --brick-button-border-color: var(--brick-button-tone-border);\n }\n\n .brick-button[data-variant=\"ghost\"] {\n --brick-button-background: transparent;\n --brick-button-background-hover: var(--brick-button-tone-soft);\n --brick-button-background-pressed: var(--brick-button-tone-soft-hover);\n --brick-button-foreground: var(--brick-button-tone-text);\n --brick-button-border-color: transparent;\n }\n\n @media (hover: hover) and (pointer: fine) {\n .brick-button:not([data-disabled], [data-loading]):hover {\n background: var(--brick-button-background-hover);\n border-color: var(--brick-button-background-hover);\n }\n\n .brick-button[data-variant=\"soft\"]:not([data-disabled], [data-loading]):hover,\n .brick-button[data-variant=\"outline\"]:not([data-disabled], [data-loading]):hover {\n border-color: var(--brick-button-tone-border);\n }\n\n .brick-button[data-variant=\"ghost\"]:not([data-disabled], [data-loading]):hover {\n border-color: transparent;\n }\n }\n\n @media (prefers-reduced-motion: reduce) {\n .brick-button {\n transition-duration: 0ms;\n }\n }\n\n @media (forced-colors: active) {\n .brick-button {\n border-color: ButtonText;\n background: ButtonFace;\n color: ButtonText;\n }\n\n .brick-button:focus-visible {\n outline-color: Highlight;\n }\n\n .brick-button[data-disabled] {\n border-color: GrayText;\n color: GrayText;\n opacity: 1;\n }\n }\n}\n","@layer brick.components {\n .brick-scroll-area {\n --brick-scroll-area-scrollbar-thumb: var(--brick-color-border-strong);\n --brick-scroll-area-scrollbar-track: transparent;\n\n min-inline-size: 0;\n min-block-size: 0;\n }\n\n .brick-scroll-area-viewport {\n box-sizing: border-box;\n inline-size: 100%;\n block-size: 100%;\n min-inline-size: 0;\n min-block-size: 0;\n scrollbar-color: var(--brick-scroll-area-scrollbar-thumb) var(--brick-scroll-area-scrollbar-track);\n scrollbar-width: auto;\n }\n\n .brick-scroll-area-viewport[data-orientation=\"vertical\"] { overflow-x: hidden; overflow-y: auto; }\n .brick-scroll-area-viewport[data-orientation=\"horizontal\"] { overflow-x: auto; overflow-y: hidden; }\n .brick-scroll-area-viewport[data-orientation=\"both\"] { overflow: auto; }\n\n .brick-scroll-area[data-scrollbar-gutter=\"stable\"] > .brick-scroll-area-viewport { scrollbar-gutter: stable; }\n .brick-scroll-area[data-scrollbar-visibility=\"always\"] > .brick-scroll-area-viewport[data-orientation=\"vertical\"] { overflow-y: scroll; }\n .brick-scroll-area[data-scrollbar-visibility=\"always\"] > .brick-scroll-area-viewport[data-orientation=\"horizontal\"] { overflow-x: scroll; }\n .brick-scroll-area[data-scrollbar-visibility=\"always\"] > .brick-scroll-area-viewport[data-orientation=\"both\"] { overflow: scroll; }\n .brick-scroll-area[data-scrollbar-visibility=\"interaction\"] > .brick-scroll-area-viewport { scrollbar-color: transparent transparent; }\n .brick-scroll-area[data-scrollbar-visibility=\"interaction\"]:is(:hover, :focus-within) > .brick-scroll-area-viewport {\n scrollbar-color: var(--brick-scroll-area-scrollbar-thumb) var(--brick-scroll-area-scrollbar-track);\n }\n\n .brick-scroll-area-viewport:focus-visible {\n outline: var(--brick-border-focus-width) solid var(--brick-color-focus-ring);\n outline-offset: calc(-1 * var(--brick-border-focus-width));\n }\n\n @media (forced-colors: active) {\n .brick-scroll-area-viewport,\n .brick-scroll-area[data-scrollbar-visibility=\"interaction\"] > .brick-scroll-area-viewport { scrollbar-color: auto; }\n .brick-scroll-area-viewport:focus-visible { outline-color: Highlight; }\n }\n}\n","@layer brick.components {\n .brick-code-block {\n --brick-code-block-background: var(--brick-color-surface-subtle);\n --brick-code-block-foreground: var(--brick-color-text-primary);\n --brick-code-block-border-color: var(--brick-color-border-subtle);\n --brick-code-block-border-width: 0rem;\n --brick-code-block-radius: var(--brick-radius-surface);\n --brick-code-block-header-padding: var(--brick-space-3) var(--brick-space-4);\n --brick-code-block-content-padding: var(--brick-space-4);\n --brick-code-block-gap: var(--brick-space-2);\n --brick-code-block-font-family: var(--brick-typography-code-block-md-font-family);\n --brick-code-block-font-size: var(--brick-typography-code-block-md-font-size);\n --brick-code-block-font-weight: var(--brick-typography-code-block-md-font-weight);\n --brick-code-block-line-height: var(--brick-typography-code-block-md-line-height);\n --brick-code-block-letter-spacing: var(--brick-typography-code-block-md-letter-spacing);\n --brick-code-block-selection-background: var(--brick-color-accent-surface);\n --brick-code-block-selection-foreground: var(--brick-color-accent-text);\n\n box-sizing: border-box;\n min-inline-size: 0;\n max-inline-size: 100%;\n overflow: clip;\n border: var(--brick-code-block-border-width) solid var(--brick-code-block-border-color);\n border-radius: var(--brick-code-block-radius);\n background: var(--brick-code-block-background);\n color: var(--brick-code-block-foreground);\n }\n\n .brick-code-block[data-variant=\"bordered\"] {\n --brick-code-block-background: var(--brick-color-surface-base);\n --brick-code-block-border-width: var(--brick-border-width);\n }\n\n .brick-code-block[data-variant=\"plain\"] {\n --brick-code-block-background: transparent;\n --brick-code-block-radius: 0rem;\n }\n\n .brick-code-block[data-size=\"sm\"] {\n --brick-code-block-header-padding: var(--brick-space-2) var(--brick-space-3);\n --brick-code-block-content-padding: var(--brick-space-3);\n --brick-code-block-font-family: var(--brick-typography-code-block-sm-font-family);\n --brick-code-block-font-size: var(--brick-typography-code-block-sm-font-size);\n --brick-code-block-font-weight: var(--brick-typography-code-block-sm-font-weight);\n --brick-code-block-line-height: var(--brick-typography-code-block-sm-line-height);\n --brick-code-block-letter-spacing: var(--brick-typography-code-block-sm-letter-spacing);\n }\n\n .brick-code-block-header {\n display: flex;\n align-items: center;\n min-inline-size: 0;\n gap: var(--brick-code-block-gap);\n padding: var(--brick-code-block-header-padding);\n border-block-end: var(--brick-border-width) solid var(--brick-code-block-border-color);\n }\n\n .brick-code-block-title {\n min-inline-size: 0;\n overflow: hidden;\n color: var(--brick-color-text-primary);\n font: var(--brick-font-weight-medium) var(--brick-typography-body-sm-font-size) / var(--brick-typography-body-sm-line-height) var(--brick-font-family-body);\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .brick-code-block-language {\n color: var(--brick-color-text-secondary);\n font: var(--brick-font-weight-medium) var(--brick-typography-caption-font-size) / var(--brick-typography-caption-line-height) var(--brick-font-family-mono);\n }\n\n .brick-code-block-actions {\n display: flex;\n align-items: center;\n gap: var(--brick-space-1);\n margin-inline-start: auto;\n }\n\n .brick-code-block-scroll-area { max-inline-size: 100%; }\n\n .brick-code-block-content {\n max-inline-size: 100%;\n padding: var(--brick-code-block-content-padding);\n }\n\n .brick-code-block-pre {\n min-inline-size: max-content;\n margin: 0;\n -webkit-text-size-adjust: none;\n text-size-adjust: none;\n font-family: var(--brick-code-block-font-family);\n font-size: var(--brick-code-block-font-size);\n font-weight: var(--brick-code-block-font-weight);\n letter-spacing: var(--brick-code-block-letter-spacing);\n line-height: var(--brick-code-block-line-height);\n tab-size: 2;\n white-space: pre;\n }\n\n .brick-code-block-content[data-wrap=\"wrap\"] .brick-code-block-pre {\n min-inline-size: 0;\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n }\n\n .brick-code-block-pre > .brick-code {\n font: inherit;\n letter-spacing: inherit;\n white-space: inherit;\n }\n\n .brick-code-block-pre ::selection {\n background: var(--brick-code-block-selection-background);\n color: var(--brick-code-block-selection-foreground);\n }\n\n .brick-code-block-copy-status {\n display: block;\n padding-inline: var(--brick-space-4);\n color: var(--brick-color-text-secondary);\n font: var(--brick-typography-caption-font-weight) var(--brick-typography-caption-font-size) / var(--brick-typography-caption-line-height) var(--brick-typography-caption-font-family);\n }\n\n .brick-code-block-copy-status:not(:empty) { padding-block: var(--brick-space-2); }\n\n @media (forced-colors: active) {\n .brick-code-block {\n --brick-code-block-background: Canvas;\n --brick-code-block-foreground: CanvasText;\n --brick-code-block-border-color: CanvasText;\n --brick-code-block-border-width: var(--brick-border-width);\n --brick-code-block-selection-background: Highlight;\n --brick-code-block-selection-foreground: HighlightText;\n }\n }\n}\n"],"names":[]}
|