@bergetai/ui 0.19.2 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/composer/Composer.cjs +81 -0
- package/dist/components/composer/Composer.cjs.map +1 -0
- package/dist/components/composer/Composer.d.cts +62 -0
- package/dist/components/composer/Composer.d.cts.map +1 -0
- package/dist/components/composer/Composer.d.mts +62 -0
- package/dist/components/composer/Composer.d.mts.map +1 -0
- package/dist/components/composer/Composer.mjs +78 -0
- package/dist/components/composer/Composer.mjs.map +1 -0
- package/dist/components/composer/index.d.cts +2 -0
- package/dist/components/composer/index.d.mts +2 -0
- package/dist/index.cjs +5 -0
- package/dist/index.d.cts +3 -1
- package/dist/index.d.mts +3 -1
- package/dist/index.mjs +2 -1
- package/dist/styles/index.css +24 -2
- package/package.json +1 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
const require_utils = require("../../lib/utils.cjs");
|
|
3
|
+
const require_input_group = require("../../primitives/input-group.cjs");
|
|
4
|
+
const require_InputGroup = require("../input-group/InputGroup.cjs");
|
|
5
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
|
+
//#region src/components/composer/Composer.tsx
|
|
7
|
+
/**
|
|
8
|
+
* Berget composer: the chat input surface from the Playground composer.
|
|
9
|
+
*
|
|
10
|
+
* A thin composition over the Berget `InputGroup` wrapper (which already
|
|
11
|
+
* carries the composer treatment — raised surface, transparent border,
|
|
12
|
+
* 16px radius) with a textarea, a bottom action row, and a circular submit
|
|
13
|
+
* button.
|
|
14
|
+
*
|
|
15
|
+
* Extra actions are added by composition: place anything inside
|
|
16
|
+
* `ComposerActions` before `ComposerSubmit` — dropdown triggers, sliders,
|
|
17
|
+
* toggles — and the submit button stays pinned to the end.
|
|
18
|
+
*
|
|
19
|
+
* ```tsx
|
|
20
|
+
* <Composer>
|
|
21
|
+
* <ComposerTextarea placeholder="Ask anything…" />
|
|
22
|
+
* <ComposerActions>
|
|
23
|
+
* <DropdownMenu>…</DropdownMenu>
|
|
24
|
+
* <ComposerSubmit aria-label="Send"><ArrowUpIcon /></ComposerSubmit>
|
|
25
|
+
* </ComposerActions>
|
|
26
|
+
* </Composer>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* Submission is owned by the consumer — wrap in a `<form onSubmit>` and let
|
|
30
|
+
* `ComposerSubmit` (default `type="submit"`) trigger it.
|
|
31
|
+
*/
|
|
32
|
+
const Composer = ({ className, ...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_InputGroup.InputGroup, {
|
|
33
|
+
className: require_utils.cn(`
|
|
34
|
+
gap-0 border-berget-composer-border bg-berget-composer-bg
|
|
35
|
+
has-[[data-slot=input-group-control]:focus-visible]:border-berget-composer-border
|
|
36
|
+
dark:border-berget-composer-border dark:bg-berget-composer-bg
|
|
37
|
+
`, className),
|
|
38
|
+
...props
|
|
39
|
+
});
|
|
40
|
+
Composer.displayName = "Composer";
|
|
41
|
+
const ComposerTextarea = ({ className, ...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input_group.InputGroupTextarea, {
|
|
42
|
+
className: require_utils.cn(`
|
|
43
|
+
max-h-40 min-h-9 px-3 py-2
|
|
44
|
+
placeholder:text-berget-muted-foreground/50
|
|
45
|
+
`, className),
|
|
46
|
+
...props
|
|
47
|
+
});
|
|
48
|
+
ComposerTextarea.displayName = "ComposerTextarea";
|
|
49
|
+
/**
|
|
50
|
+
* Bottom action row of the composer. Icon buttons (`icon-*` sizes) placed in
|
|
51
|
+
* the row render round, so consumer-added actions share the composer's
|
|
52
|
+
* circular button treatment.
|
|
53
|
+
*/
|
|
54
|
+
const ComposerActions = ({ className, ...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_InputGroup.InputGroupAddon, {
|
|
55
|
+
align: "block-end",
|
|
56
|
+
className: require_utils.cn(`
|
|
57
|
+
pt-0.5
|
|
58
|
+
**:data-[size^=icon]:rounded-berget-full
|
|
59
|
+
`, className),
|
|
60
|
+
...props
|
|
61
|
+
});
|
|
62
|
+
ComposerActions.displayName = "ComposerActions";
|
|
63
|
+
/**
|
|
64
|
+
* Circular send button. Pins to the end of the action row via `ml-auto`,
|
|
65
|
+
* submits the surrounding form by default.
|
|
66
|
+
*/
|
|
67
|
+
const ComposerSubmit = ({ className, ...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_input_group.InputGroupButton, {
|
|
68
|
+
type: "submit",
|
|
69
|
+
variant: "default",
|
|
70
|
+
size: "icon-sm",
|
|
71
|
+
className: require_utils.cn("ml-auto rounded-berget-full", className),
|
|
72
|
+
...props
|
|
73
|
+
});
|
|
74
|
+
ComposerSubmit.displayName = "ComposerSubmit";
|
|
75
|
+
//#endregion
|
|
76
|
+
exports.Composer = Composer;
|
|
77
|
+
exports.ComposerActions = ComposerActions;
|
|
78
|
+
exports.ComposerSubmit = ComposerSubmit;
|
|
79
|
+
exports.ComposerTextarea = ComposerTextarea;
|
|
80
|
+
|
|
81
|
+
//# sourceMappingURL=Composer.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Composer.cjs","names":["InputGroup","cn","InputGroupTextarea","InputGroupAddon","InputGroupButton"],"sources":["../../../src/components/composer/Composer.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { cn } from '../../lib/utils';\nimport {\n InputGroup,\n type InputGroupAddonProps,\n type InputGroupProps,\n InputGroupAddon,\n InputGroupTextarea,\n InputGroupButton,\n} from '../input-group';\n\nexport type ComposerProps = InputGroupProps;\nexport type ComposerTextareaProps = React.ComponentProps<typeof InputGroupTextarea>;\nexport type ComposerActionsProps = InputGroupAddonProps;\nexport type ComposerSubmitProps = Omit<React.ComponentProps<'button'>, 'type'>;\n\n/**\n * Berget composer: the chat input surface from the Playground composer.\n *\n * A thin composition over the Berget `InputGroup` wrapper (which already\n * carries the composer treatment — raised surface, transparent border,\n * 16px radius) with a textarea, a bottom action row, and a circular submit\n * button.\n *\n * Extra actions are added by composition: place anything inside\n * `ComposerActions` before `ComposerSubmit` — dropdown triggers, sliders,\n * toggles — and the submit button stays pinned to the end.\n *\n * ```tsx\n * <Composer>\n * <ComposerTextarea placeholder=\"Ask anything…\" />\n * <ComposerActions>\n * <DropdownMenu>…</DropdownMenu>\n * <ComposerSubmit aria-label=\"Send\"><ArrowUpIcon /></ComposerSubmit>\n * </ComposerActions>\n * </Composer>\n * ```\n *\n * Submission is owned by the consumer — wrap in a `<form onSubmit>` and let\n * `ComposerSubmit` (default `type=\"submit\"`) trigger it.\n */\nconst Composer = ({ className, ...props }: ComposerProps) => (\n // bg/border come from component-scoped --berget-composer-* tokens: solid\n // granite-900 bg + granite-800 border in dark, raised tint + subtle border\n // in light. `dark:` classes would track prefers-color-scheme, not the\n // Berget data-theme — do not convert. The has-[...focus] twin keeps the\n // border through focus, overriding the wrapper's focus:border-transparent.\n <InputGroup\n className={cn(\n `\n gap-0 border-berget-composer-border bg-berget-composer-bg\n has-[[data-slot=input-group-control]:focus-visible]:border-berget-composer-border\n dark:border-berget-composer-border dark:bg-berget-composer-bg\n `,\n className,\n )}\n {...props}\n />\n);\nComposer.displayName = 'Composer';\n\nconst ComposerTextarea = ({ className, ...props }: ComposerTextareaProps) => (\n <InputGroupTextarea\n // Softer placeholder than the primitive's `placeholder:text-muted-foreground`.\n className={cn(\n `\n max-h-40 min-h-9 px-3 py-2\n placeholder:text-berget-muted-foreground/50\n `,\n className,\n )}\n {...props}\n />\n);\nComposerTextarea.displayName = 'ComposerTextarea';\n\n/**\n * Bottom action row of the composer. Icon buttons (`icon-*` sizes) placed in\n * the row render round, so consumer-added actions share the composer's\n * circular button treatment.\n */\nconst ComposerActions = ({ className, ...props }: ComposerActionsProps) => (\n <InputGroupAddon\n align=\"block-end\"\n className={cn(\n `\n pt-0.5\n **:data-[size^=icon]:rounded-berget-full\n `,\n className,\n )}\n {...props}\n />\n);\nComposerActions.displayName = 'ComposerActions';\n\n/**\n * Circular send button. Pins to the end of the action row via `ml-auto`,\n * submits the surrounding form by default.\n */\nconst ComposerSubmit = ({ className, ...props }: ComposerSubmitProps) => (\n <InputGroupButton\n type=\"submit\"\n variant=\"default\"\n size=\"icon-sm\"\n className={cn('ml-auto rounded-berget-full', className)}\n {...props}\n />\n);\nComposerSubmit.displayName = 'ComposerSubmit';\n\nexport { Composer, ComposerTextarea, ComposerActions, ComposerSubmit };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA,MAAM,YAAY,EAAE,WAAW,GAAG,YAMhC,iBAAA,GAAA,kBAAA,IAAA,CAACA,mBAAAA,YAAD;CACE,WAAWC,cAAAA,GACT;;;;SAKA,SACF;CACA,GAAI;AACL,CAAA;AAEH,SAAS,cAAc;AAEvB,MAAM,oBAAoB,EAAE,WAAW,GAAG,YACxC,iBAAA,GAAA,kBAAA,IAAA,CAACC,oBAAAA,oBAAD;CAEE,WAAWD,cAAAA,GACT;;;SAIA,SACF;CACA,GAAI;AACL,CAAA;AAEH,iBAAiB,cAAc;;;;;;AAO/B,MAAM,mBAAmB,EAAE,WAAW,GAAG,YACvC,iBAAA,GAAA,kBAAA,IAAA,CAACE,mBAAAA,iBAAD;CACE,OAAM;CACN,WAAWF,cAAAA,GACT;;;SAIA,SACF;CACA,GAAI;AACL,CAAA;AAEH,gBAAgB,cAAc;;;;;AAM9B,MAAM,kBAAkB,EAAE,WAAW,GAAG,YACtC,iBAAA,GAAA,kBAAA,IAAA,CAACG,oBAAAA,kBAAD;CACE,MAAK;CACL,SAAQ;CACR,MAAK;CACL,WAAWH,cAAAA,GAAG,+BAA+B,SAAS;CACtD,GAAI;AACL,CAAA;AAEH,eAAe,cAAc"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { InputGroupTextarea } from "../../primitives/input-group.cjs";
|
|
2
|
+
import { InputGroupAddonProps, InputGroupProps } from "../input-group/InputGroup.cjs";
|
|
3
|
+
import "../input-group/index.cjs";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
//#region src/components/composer/Composer.d.ts
|
|
6
|
+
export type ComposerProps = InputGroupProps;
|
|
7
|
+
export type ComposerTextareaProps = React.ComponentProps<typeof InputGroupTextarea>;
|
|
8
|
+
export type ComposerActionsProps = InputGroupAddonProps;
|
|
9
|
+
export type ComposerSubmitProps = Omit<React.ComponentProps<'button'>, 'type'>;
|
|
10
|
+
/**
|
|
11
|
+
* Berget composer: the chat input surface from the Playground composer.
|
|
12
|
+
*
|
|
13
|
+
* A thin composition over the Berget `InputGroup` wrapper (which already
|
|
14
|
+
* carries the composer treatment — raised surface, transparent border,
|
|
15
|
+
* 16px radius) with a textarea, a bottom action row, and a circular submit
|
|
16
|
+
* button.
|
|
17
|
+
*
|
|
18
|
+
* Extra actions are added by composition: place anything inside
|
|
19
|
+
* `ComposerActions` before `ComposerSubmit` — dropdown triggers, sliders,
|
|
20
|
+
* toggles — and the submit button stays pinned to the end.
|
|
21
|
+
*
|
|
22
|
+
* ```tsx
|
|
23
|
+
* <Composer>
|
|
24
|
+
* <ComposerTextarea placeholder="Ask anything…" />
|
|
25
|
+
* <ComposerActions>
|
|
26
|
+
* <DropdownMenu>…</DropdownMenu>
|
|
27
|
+
* <ComposerSubmit aria-label="Send"><ArrowUpIcon /></ComposerSubmit>
|
|
28
|
+
* </ComposerActions>
|
|
29
|
+
* </Composer>
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* Submission is owned by the consumer — wrap in a `<form onSubmit>` and let
|
|
33
|
+
* `ComposerSubmit` (default `type="submit"`) trigger it.
|
|
34
|
+
*/
|
|
35
|
+
declare const Composer: {
|
|
36
|
+
({ className, ...props }: ComposerProps): import("react/jsx-runtime").JSX.Element;
|
|
37
|
+
displayName: string;
|
|
38
|
+
};
|
|
39
|
+
declare const ComposerTextarea: {
|
|
40
|
+
({ className, ...props }: ComposerTextareaProps): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
displayName: string;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Bottom action row of the composer. Icon buttons (`icon-*` sizes) placed in
|
|
45
|
+
* the row render round, so consumer-added actions share the composer's
|
|
46
|
+
* circular button treatment.
|
|
47
|
+
*/
|
|
48
|
+
declare const ComposerActions: {
|
|
49
|
+
({ className, ...props }: ComposerActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
50
|
+
displayName: string;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Circular send button. Pins to the end of the action row via `ml-auto`,
|
|
54
|
+
* submits the surrounding form by default.
|
|
55
|
+
*/
|
|
56
|
+
declare const ComposerSubmit: {
|
|
57
|
+
({ className, ...props }: ComposerSubmitProps): import("react/jsx-runtime").JSX.Element;
|
|
58
|
+
displayName: string;
|
|
59
|
+
};
|
|
60
|
+
//#endregion
|
|
61
|
+
export { Composer, ComposerActions, ComposerSubmit, ComposerTextarea };
|
|
62
|
+
//# sourceMappingURL=Composer.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Composer.d.cts","names":[],"sources":["../../../src/components/composer/Composer.tsx"],"mappings":";;;;;YAaY,gBAAgB;YAChB,wBAAwB,MAAM,sBAAsB;YACpD,uBAAuB;YACvB,sBAAsB,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;cA2BvC;KAAqC,cAAA,SAAA,4CAAa,IAAA;;;cAoBlD;KAA6C,cAAA,SAAA,oDAAqB,IAAA;;;;;;;;cAoBlE;KAA4C,cAAA,SAAA,mDAAoB,IAAA;;;;;;;cAmBhE;KAA2C,cAAA,SAAA,kDAAmB,IAAA"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { InputGroupTextarea } from "../../primitives/input-group.mjs";
|
|
2
|
+
import { InputGroupAddonProps, InputGroupProps } from "../input-group/InputGroup.mjs";
|
|
3
|
+
import "../input-group/index.mjs";
|
|
4
|
+
import * as React from "react";
|
|
5
|
+
//#region src/components/composer/Composer.d.ts
|
|
6
|
+
export type ComposerProps = InputGroupProps;
|
|
7
|
+
export type ComposerTextareaProps = React.ComponentProps<typeof InputGroupTextarea>;
|
|
8
|
+
export type ComposerActionsProps = InputGroupAddonProps;
|
|
9
|
+
export type ComposerSubmitProps = Omit<React.ComponentProps<'button'>, 'type'>;
|
|
10
|
+
/**
|
|
11
|
+
* Berget composer: the chat input surface from the Playground composer.
|
|
12
|
+
*
|
|
13
|
+
* A thin composition over the Berget `InputGroup` wrapper (which already
|
|
14
|
+
* carries the composer treatment — raised surface, transparent border,
|
|
15
|
+
* 16px radius) with a textarea, a bottom action row, and a circular submit
|
|
16
|
+
* button.
|
|
17
|
+
*
|
|
18
|
+
* Extra actions are added by composition: place anything inside
|
|
19
|
+
* `ComposerActions` before `ComposerSubmit` — dropdown triggers, sliders,
|
|
20
|
+
* toggles — and the submit button stays pinned to the end.
|
|
21
|
+
*
|
|
22
|
+
* ```tsx
|
|
23
|
+
* <Composer>
|
|
24
|
+
* <ComposerTextarea placeholder="Ask anything…" />
|
|
25
|
+
* <ComposerActions>
|
|
26
|
+
* <DropdownMenu>…</DropdownMenu>
|
|
27
|
+
* <ComposerSubmit aria-label="Send"><ArrowUpIcon /></ComposerSubmit>
|
|
28
|
+
* </ComposerActions>
|
|
29
|
+
* </Composer>
|
|
30
|
+
* ```
|
|
31
|
+
*
|
|
32
|
+
* Submission is owned by the consumer — wrap in a `<form onSubmit>` and let
|
|
33
|
+
* `ComposerSubmit` (default `type="submit"`) trigger it.
|
|
34
|
+
*/
|
|
35
|
+
declare const Composer: {
|
|
36
|
+
({ className, ...props }: ComposerProps): import("react/jsx-runtime").JSX.Element;
|
|
37
|
+
displayName: string;
|
|
38
|
+
};
|
|
39
|
+
declare const ComposerTextarea: {
|
|
40
|
+
({ className, ...props }: ComposerTextareaProps): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
displayName: string;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Bottom action row of the composer. Icon buttons (`icon-*` sizes) placed in
|
|
45
|
+
* the row render round, so consumer-added actions share the composer's
|
|
46
|
+
* circular button treatment.
|
|
47
|
+
*/
|
|
48
|
+
declare const ComposerActions: {
|
|
49
|
+
({ className, ...props }: ComposerActionsProps): import("react/jsx-runtime").JSX.Element;
|
|
50
|
+
displayName: string;
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Circular send button. Pins to the end of the action row via `ml-auto`,
|
|
54
|
+
* submits the surrounding form by default.
|
|
55
|
+
*/
|
|
56
|
+
declare const ComposerSubmit: {
|
|
57
|
+
({ className, ...props }: ComposerSubmitProps): import("react/jsx-runtime").JSX.Element;
|
|
58
|
+
displayName: string;
|
|
59
|
+
};
|
|
60
|
+
//#endregion
|
|
61
|
+
export { Composer, ComposerActions, ComposerSubmit, ComposerTextarea };
|
|
62
|
+
//# sourceMappingURL=Composer.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Composer.d.mts","names":[],"sources":["../../../src/components/composer/Composer.tsx"],"mappings":";;;;;YAaY,gBAAgB;YAChB,wBAAwB,MAAM,sBAAsB;YACpD,uBAAuB;YACvB,sBAAsB,KAAK,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;cA2BvC;KAAqC,cAAA,SAAA,4CAAa,IAAA;;;cAoBlD;KAA6C,cAAA,SAAA,oDAAqB,IAAA;;;;;;;;cAoBlE;KAA4C,cAAA,SAAA,mDAAoB,IAAA;;;;;;;cAmBhE;KAA2C,cAAA,SAAA,kDAAmB,IAAA"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { cn } from "../../lib/utils.mjs";
|
|
3
|
+
import { InputGroupButton, InputGroupTextarea } from "../../primitives/input-group.mjs";
|
|
4
|
+
import { InputGroup, InputGroupAddon } from "../input-group/InputGroup.mjs";
|
|
5
|
+
import { jsx } from "react/jsx-runtime";
|
|
6
|
+
//#region src/components/composer/Composer.tsx
|
|
7
|
+
/**
|
|
8
|
+
* Berget composer: the chat input surface from the Playground composer.
|
|
9
|
+
*
|
|
10
|
+
* A thin composition over the Berget `InputGroup` wrapper (which already
|
|
11
|
+
* carries the composer treatment — raised surface, transparent border,
|
|
12
|
+
* 16px radius) with a textarea, a bottom action row, and a circular submit
|
|
13
|
+
* button.
|
|
14
|
+
*
|
|
15
|
+
* Extra actions are added by composition: place anything inside
|
|
16
|
+
* `ComposerActions` before `ComposerSubmit` — dropdown triggers, sliders,
|
|
17
|
+
* toggles — and the submit button stays pinned to the end.
|
|
18
|
+
*
|
|
19
|
+
* ```tsx
|
|
20
|
+
* <Composer>
|
|
21
|
+
* <ComposerTextarea placeholder="Ask anything…" />
|
|
22
|
+
* <ComposerActions>
|
|
23
|
+
* <DropdownMenu>…</DropdownMenu>
|
|
24
|
+
* <ComposerSubmit aria-label="Send"><ArrowUpIcon /></ComposerSubmit>
|
|
25
|
+
* </ComposerActions>
|
|
26
|
+
* </Composer>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* Submission is owned by the consumer — wrap in a `<form onSubmit>` and let
|
|
30
|
+
* `ComposerSubmit` (default `type="submit"`) trigger it.
|
|
31
|
+
*/
|
|
32
|
+
const Composer = ({ className, ...props }) => /* @__PURE__ */ jsx(InputGroup, {
|
|
33
|
+
className: cn(`
|
|
34
|
+
gap-0 border-berget-composer-border bg-berget-composer-bg
|
|
35
|
+
has-[[data-slot=input-group-control]:focus-visible]:border-berget-composer-border
|
|
36
|
+
dark:border-berget-composer-border dark:bg-berget-composer-bg
|
|
37
|
+
`, className),
|
|
38
|
+
...props
|
|
39
|
+
});
|
|
40
|
+
Composer.displayName = "Composer";
|
|
41
|
+
const ComposerTextarea = ({ className, ...props }) => /* @__PURE__ */ jsx(InputGroupTextarea, {
|
|
42
|
+
className: cn(`
|
|
43
|
+
max-h-40 min-h-9 px-3 py-2
|
|
44
|
+
placeholder:text-berget-muted-foreground/50
|
|
45
|
+
`, className),
|
|
46
|
+
...props
|
|
47
|
+
});
|
|
48
|
+
ComposerTextarea.displayName = "ComposerTextarea";
|
|
49
|
+
/**
|
|
50
|
+
* Bottom action row of the composer. Icon buttons (`icon-*` sizes) placed in
|
|
51
|
+
* the row render round, so consumer-added actions share the composer's
|
|
52
|
+
* circular button treatment.
|
|
53
|
+
*/
|
|
54
|
+
const ComposerActions = ({ className, ...props }) => /* @__PURE__ */ jsx(InputGroupAddon, {
|
|
55
|
+
align: "block-end",
|
|
56
|
+
className: cn(`
|
|
57
|
+
pt-0.5
|
|
58
|
+
**:data-[size^=icon]:rounded-berget-full
|
|
59
|
+
`, className),
|
|
60
|
+
...props
|
|
61
|
+
});
|
|
62
|
+
ComposerActions.displayName = "ComposerActions";
|
|
63
|
+
/**
|
|
64
|
+
* Circular send button. Pins to the end of the action row via `ml-auto`,
|
|
65
|
+
* submits the surrounding form by default.
|
|
66
|
+
*/
|
|
67
|
+
const ComposerSubmit = ({ className, ...props }) => /* @__PURE__ */ jsx(InputGroupButton, {
|
|
68
|
+
type: "submit",
|
|
69
|
+
variant: "default",
|
|
70
|
+
size: "icon-sm",
|
|
71
|
+
className: cn("ml-auto rounded-berget-full", className),
|
|
72
|
+
...props
|
|
73
|
+
});
|
|
74
|
+
ComposerSubmit.displayName = "ComposerSubmit";
|
|
75
|
+
//#endregion
|
|
76
|
+
export { Composer, ComposerActions, ComposerSubmit, ComposerTextarea };
|
|
77
|
+
|
|
78
|
+
//# sourceMappingURL=Composer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Composer.mjs","names":[],"sources":["../../../src/components/composer/Composer.tsx"],"sourcesContent":["'use client';\n\nimport type * as React from 'react';\nimport { cn } from '../../lib/utils';\nimport {\n InputGroup,\n type InputGroupAddonProps,\n type InputGroupProps,\n InputGroupAddon,\n InputGroupTextarea,\n InputGroupButton,\n} from '../input-group';\n\nexport type ComposerProps = InputGroupProps;\nexport type ComposerTextareaProps = React.ComponentProps<typeof InputGroupTextarea>;\nexport type ComposerActionsProps = InputGroupAddonProps;\nexport type ComposerSubmitProps = Omit<React.ComponentProps<'button'>, 'type'>;\n\n/**\n * Berget composer: the chat input surface from the Playground composer.\n *\n * A thin composition over the Berget `InputGroup` wrapper (which already\n * carries the composer treatment — raised surface, transparent border,\n * 16px radius) with a textarea, a bottom action row, and a circular submit\n * button.\n *\n * Extra actions are added by composition: place anything inside\n * `ComposerActions` before `ComposerSubmit` — dropdown triggers, sliders,\n * toggles — and the submit button stays pinned to the end.\n *\n * ```tsx\n * <Composer>\n * <ComposerTextarea placeholder=\"Ask anything…\" />\n * <ComposerActions>\n * <DropdownMenu>…</DropdownMenu>\n * <ComposerSubmit aria-label=\"Send\"><ArrowUpIcon /></ComposerSubmit>\n * </ComposerActions>\n * </Composer>\n * ```\n *\n * Submission is owned by the consumer — wrap in a `<form onSubmit>` and let\n * `ComposerSubmit` (default `type=\"submit\"`) trigger it.\n */\nconst Composer = ({ className, ...props }: ComposerProps) => (\n // bg/border come from component-scoped --berget-composer-* tokens: solid\n // granite-900 bg + granite-800 border in dark, raised tint + subtle border\n // in light. `dark:` classes would track prefers-color-scheme, not the\n // Berget data-theme — do not convert. The has-[...focus] twin keeps the\n // border through focus, overriding the wrapper's focus:border-transparent.\n <InputGroup\n className={cn(\n `\n gap-0 border-berget-composer-border bg-berget-composer-bg\n has-[[data-slot=input-group-control]:focus-visible]:border-berget-composer-border\n dark:border-berget-composer-border dark:bg-berget-composer-bg\n `,\n className,\n )}\n {...props}\n />\n);\nComposer.displayName = 'Composer';\n\nconst ComposerTextarea = ({ className, ...props }: ComposerTextareaProps) => (\n <InputGroupTextarea\n // Softer placeholder than the primitive's `placeholder:text-muted-foreground`.\n className={cn(\n `\n max-h-40 min-h-9 px-3 py-2\n placeholder:text-berget-muted-foreground/50\n `,\n className,\n )}\n {...props}\n />\n);\nComposerTextarea.displayName = 'ComposerTextarea';\n\n/**\n * Bottom action row of the composer. Icon buttons (`icon-*` sizes) placed in\n * the row render round, so consumer-added actions share the composer's\n * circular button treatment.\n */\nconst ComposerActions = ({ className, ...props }: ComposerActionsProps) => (\n <InputGroupAddon\n align=\"block-end\"\n className={cn(\n `\n pt-0.5\n **:data-[size^=icon]:rounded-berget-full\n `,\n className,\n )}\n {...props}\n />\n);\nComposerActions.displayName = 'ComposerActions';\n\n/**\n * Circular send button. Pins to the end of the action row via `ml-auto`,\n * submits the surrounding form by default.\n */\nconst ComposerSubmit = ({ className, ...props }: ComposerSubmitProps) => (\n <InputGroupButton\n type=\"submit\"\n variant=\"default\"\n size=\"icon-sm\"\n className={cn('ml-auto rounded-berget-full', className)}\n {...props}\n />\n);\nComposerSubmit.displayName = 'ComposerSubmit';\n\nexport { Composer, ComposerTextarea, ComposerActions, ComposerSubmit };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA,MAAM,YAAY,EAAE,WAAW,GAAG,YAMhC,oBAAC,YAAD;CACE,WAAW,GACT;;;;SAKA,SACF;CACA,GAAI;AACL,CAAA;AAEH,SAAS,cAAc;AAEvB,MAAM,oBAAoB,EAAE,WAAW,GAAG,YACxC,oBAAC,oBAAD;CAEE,WAAW,GACT;;;SAIA,SACF;CACA,GAAI;AACL,CAAA;AAEH,iBAAiB,cAAc;;;;;;AAO/B,MAAM,mBAAmB,EAAE,WAAW,GAAG,YACvC,oBAAC,iBAAD;CACE,OAAM;CACN,WAAW,GACT;;;SAIA,SACF;CACA,GAAI;AACL,CAAA;AAEH,gBAAgB,cAAc;;;;;AAM9B,MAAM,kBAAkB,EAAE,WAAW,GAAG,YACtC,oBAAC,kBAAD;CACE,MAAK;CACL,SAAQ;CACR,MAAK;CACL,WAAW,GAAG,+BAA+B,SAAS;CACtD,GAAI;AACL,CAAA;AAEH,eAAe,cAAc"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { Composer, ComposerActions, ComposerActionsProps, ComposerProps, ComposerSubmit, ComposerSubmitProps, ComposerTextarea, ComposerTextareaProps } from "./Composer.cjs";
|
|
2
|
+
export { Composer, ComposerActions, type ComposerActionsProps, type ComposerProps, ComposerSubmit, type ComposerSubmitProps, ComposerTextarea, type ComposerTextareaProps };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { Composer, ComposerActions, ComposerActionsProps, ComposerProps, ComposerSubmit, ComposerSubmitProps, ComposerTextarea, ComposerTextareaProps } from "./Composer.mjs";
|
|
2
|
+
export { Composer, ComposerActions, type ComposerActionsProps, type ComposerProps, ComposerSubmit, type ComposerSubmitProps, ComposerTextarea, type ComposerTextareaProps };
|
package/dist/index.cjs
CHANGED
|
@@ -45,6 +45,7 @@ const require_Slider = require("./components/slider/Slider.cjs");
|
|
|
45
45
|
const require_textarea = require("./primitives/textarea.cjs");
|
|
46
46
|
const require_input_group = require("./primitives/input-group.cjs");
|
|
47
47
|
const require_InputGroup = require("./components/input-group/InputGroup.cjs");
|
|
48
|
+
const require_Composer = require("./components/composer/Composer.cjs");
|
|
48
49
|
const require_Checkbox = require("./components/checkbox/Checkbox.cjs");
|
|
49
50
|
const require_Switch = require("./components/switch/Switch.cjs");
|
|
50
51
|
const require_select = require("./primitives/select.cjs");
|
|
@@ -118,6 +119,10 @@ exports.ComboboxSeparator = require_combobox.ComboboxSeparator;
|
|
|
118
119
|
exports.ComboboxStatus = require_combobox.ComboboxStatus;
|
|
119
120
|
exports.ComboboxTrigger = require_combobox.ComboboxTrigger;
|
|
120
121
|
exports.ComboboxValue = require_combobox.ComboboxValue;
|
|
122
|
+
exports.Composer = require_Composer.Composer;
|
|
123
|
+
exports.ComposerActions = require_Composer.ComposerActions;
|
|
124
|
+
exports.ComposerSubmit = require_Composer.ComposerSubmit;
|
|
125
|
+
exports.ComposerTextarea = require_Composer.ComposerTextarea;
|
|
121
126
|
exports.Container = require_Container.Container;
|
|
122
127
|
exports.CountrySelect = require_CountrySelect.CountrySelect;
|
|
123
128
|
exports.Dialog = require_Dialog.Dialog;
|
package/dist/index.d.cts
CHANGED
|
@@ -71,6 +71,8 @@ import "./components/slider/index.cjs";
|
|
|
71
71
|
import { InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea } from "./primitives/input-group.cjs";
|
|
72
72
|
import { InputGroup, InputGroupAddon, InputGroupAddonProps, InputGroupProps } from "./components/input-group/InputGroup.cjs";
|
|
73
73
|
import "./components/input-group/index.cjs";
|
|
74
|
+
import { Composer, ComposerActions, ComposerActionsProps, ComposerProps, ComposerSubmit, ComposerSubmitProps, ComposerTextarea, ComposerTextareaProps } from "./components/composer/Composer.cjs";
|
|
75
|
+
import "./components/composer/index.cjs";
|
|
74
76
|
import { Checkbox, CheckboxProps, checkboxVariants } from "./components/checkbox/Checkbox.cjs";
|
|
75
77
|
import "./components/checkbox/index.cjs";
|
|
76
78
|
import { Switch, SwitchProps, switchRootVariants, switchThumbVariants } from "./components/switch/Switch.cjs";
|
|
@@ -111,4 +113,4 @@ import { cn } from "./lib/utils.cjs";
|
|
|
111
113
|
import { WindowFrame, WindowFrameProps, WindowTab } from "./components/window-frame/WindowFrame.cjs";
|
|
112
114
|
import "./components/window-frame/index.cjs";
|
|
113
115
|
import { FOG_BRAND_PALETTE, FogIllustration, FogIllustrationProps, FogPalette } from "./components/fog-illustration/FogIllustration.cjs";
|
|
114
|
-
export { Alert, AlertDescription, type AlertDescriptionProps, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, type AlertTitleProps, Anchor, type AnchorProps, type AnchorVariantsProps, Badge, type BadgeProps, BergetLogo, type BergetLogoProps, Box, type BoxProps, type SpacingScale as BoxSpacingScale, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, type ButtonProps, COUNTRIES, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, Checkbox, type CheckboxProps, CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle, Combobox, ComboboxClear, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, Container, type ContainerProps, type Country, CountrySelect, type CountrySelectProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EU_COUNTRY_CODES, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, type EmptyProps, EmptyTitle, FOG_BRAND_PALETTE, FeatureList, type FeatureListProps, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FogIllustration, type FogIllustrationProps, type FogPalette, Grid, type GridColsScale, type GridProps, type GridRowsScale, type SpacingScale$1 as GridSpacingScale, Icon, type IconProps, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, InputGroupInput, type InputGroupProps, InputGroupText, InputGroupTextarea, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, type ItemProps, ItemSeparator, ItemTitle, Label, LanguageSelect, type LanguageSelectOption, type LanguageSelectProps, Link, type LinkProps, List, ListHeader, type ListHeaderProps, ListItem, type ListItemProps, type ListProps, Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, ModelCard, type ModelCardProps, type ModelCategory, type ModelLifecycle, ModelLogo, type ModelLogoProps, type ModelLogoProvider, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, ProgressIndicator, ProgressLabel, type ProgressProps, ProgressTrack, ProgressValue, RadioGroup, RadioGroupItem, SearchInput, type SearchInputProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLogo, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarPageHeader, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, type SkeletonProps, Slider, type SliderProps, Switch, type SwitchProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, type TerminalExample, Textarea, type Theme, ThemeProvider, type ThemeProviderProps, ThemeToggle, type ThemeToggleProps, Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, TooltipTrigger, type TooltipTriggerProps, Typography, type TypographyProps, WindowFrame, type WindowFrameProps, type WindowTab, alertVariants, anchorVariants, badgeVariants, boxVariants, buttonVariants, cardVariants, categoryLabels, checkboxVariants, cn, containerVariants, getCountryByCode, getCountryByName, gridVariants, isEUCountry, linkVariants, navigationMenuTriggerStyle, switchRootVariants, switchThumbVariants, tabsListVariants, tabsTriggerVariants, typographyVariants, useHighlightedCode, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useSidebar, useTheme };
|
|
116
|
+
export { Alert, AlertDescription, type AlertDescriptionProps, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, type AlertTitleProps, Anchor, type AnchorProps, type AnchorVariantsProps, Badge, type BadgeProps, BergetLogo, type BergetLogoProps, Box, type BoxProps, type SpacingScale as BoxSpacingScale, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, type ButtonProps, COUNTRIES, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, Checkbox, type CheckboxProps, CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle, Combobox, ComboboxClear, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, Composer, ComposerActions, type ComposerActionsProps, type ComposerProps, ComposerSubmit, type ComposerSubmitProps, ComposerTextarea, type ComposerTextareaProps, Container, type ContainerProps, type Country, CountrySelect, type CountrySelectProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EU_COUNTRY_CODES, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, type EmptyProps, EmptyTitle, FOG_BRAND_PALETTE, FeatureList, type FeatureListProps, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FogIllustration, type FogIllustrationProps, type FogPalette, Grid, type GridColsScale, type GridProps, type GridRowsScale, type SpacingScale$1 as GridSpacingScale, Icon, type IconProps, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, InputGroupInput, type InputGroupProps, InputGroupText, InputGroupTextarea, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, type ItemProps, ItemSeparator, ItemTitle, Label, LanguageSelect, type LanguageSelectOption, type LanguageSelectProps, Link, type LinkProps, List, ListHeader, type ListHeaderProps, ListItem, type ListItemProps, type ListProps, Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, ModelCard, type ModelCardProps, type ModelCategory, type ModelLifecycle, ModelLogo, type ModelLogoProps, type ModelLogoProvider, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, ProgressIndicator, ProgressLabel, type ProgressProps, ProgressTrack, ProgressValue, RadioGroup, RadioGroupItem, SearchInput, type SearchInputProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLogo, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarPageHeader, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, type SkeletonProps, Slider, type SliderProps, Switch, type SwitchProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, type TerminalExample, Textarea, type Theme, ThemeProvider, type ThemeProviderProps, ThemeToggle, type ThemeToggleProps, Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, TooltipTrigger, type TooltipTriggerProps, Typography, type TypographyProps, WindowFrame, type WindowFrameProps, type WindowTab, alertVariants, anchorVariants, badgeVariants, boxVariants, buttonVariants, cardVariants, categoryLabels, checkboxVariants, cn, containerVariants, getCountryByCode, getCountryByName, gridVariants, isEUCountry, linkVariants, navigationMenuTriggerStyle, switchRootVariants, switchThumbVariants, tabsListVariants, tabsTriggerVariants, typographyVariants, useHighlightedCode, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useSidebar, useTheme };
|
package/dist/index.d.mts
CHANGED
|
@@ -71,6 +71,8 @@ import "./components/slider/index.mjs";
|
|
|
71
71
|
import { InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea } from "./primitives/input-group.mjs";
|
|
72
72
|
import { InputGroup, InputGroupAddon, InputGroupAddonProps, InputGroupProps } from "./components/input-group/InputGroup.mjs";
|
|
73
73
|
import "./components/input-group/index.mjs";
|
|
74
|
+
import { Composer, ComposerActions, ComposerActionsProps, ComposerProps, ComposerSubmit, ComposerSubmitProps, ComposerTextarea, ComposerTextareaProps } from "./components/composer/Composer.mjs";
|
|
75
|
+
import "./components/composer/index.mjs";
|
|
74
76
|
import { Checkbox, CheckboxProps, checkboxVariants } from "./components/checkbox/Checkbox.mjs";
|
|
75
77
|
import "./components/checkbox/index.mjs";
|
|
76
78
|
import { Switch, SwitchProps, switchRootVariants, switchThumbVariants } from "./components/switch/Switch.mjs";
|
|
@@ -111,4 +113,4 @@ import { cn } from "./lib/utils.mjs";
|
|
|
111
113
|
import { WindowFrame, WindowFrameProps, WindowTab } from "./components/window-frame/WindowFrame.mjs";
|
|
112
114
|
import "./components/window-frame/index.mjs";
|
|
113
115
|
import { FOG_BRAND_PALETTE, FogIllustration, FogIllustrationProps, FogPalette } from "./components/fog-illustration/FogIllustration.mjs";
|
|
114
|
-
export { Alert, AlertDescription, type AlertDescriptionProps, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, type AlertTitleProps, Anchor, type AnchorProps, type AnchorVariantsProps, Badge, type BadgeProps, BergetLogo, type BergetLogoProps, Box, type BoxProps, type SpacingScale as BoxSpacingScale, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, type ButtonProps, COUNTRIES, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, Checkbox, type CheckboxProps, CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle, Combobox, ComboboxClear, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, Container, type ContainerProps, type Country, CountrySelect, type CountrySelectProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EU_COUNTRY_CODES, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, type EmptyProps, EmptyTitle, FOG_BRAND_PALETTE, FeatureList, type FeatureListProps, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FogIllustration, type FogIllustrationProps, type FogPalette, Grid, type GridColsScale, type GridProps, type GridRowsScale, type SpacingScale$1 as GridSpacingScale, Icon, type IconProps, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, InputGroupInput, type InputGroupProps, InputGroupText, InputGroupTextarea, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, type ItemProps, ItemSeparator, ItemTitle, Label, LanguageSelect, type LanguageSelectOption, type LanguageSelectProps, Link, type LinkProps, List, ListHeader, type ListHeaderProps, ListItem, type ListItemProps, type ListProps, Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, ModelCard, type ModelCardProps, type ModelCategory, type ModelLifecycle, ModelLogo, type ModelLogoProps, type ModelLogoProvider, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, ProgressIndicator, ProgressLabel, type ProgressProps, ProgressTrack, ProgressValue, RadioGroup, RadioGroupItem, SearchInput, type SearchInputProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLogo, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarPageHeader, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, type SkeletonProps, Slider, type SliderProps, Switch, type SwitchProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, type TerminalExample, Textarea, type Theme, ThemeProvider, type ThemeProviderProps, ThemeToggle, type ThemeToggleProps, Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, TooltipTrigger, type TooltipTriggerProps, Typography, type TypographyProps, WindowFrame, type WindowFrameProps, type WindowTab, alertVariants, anchorVariants, badgeVariants, boxVariants, buttonVariants, cardVariants, categoryLabels, checkboxVariants, cn, containerVariants, getCountryByCode, getCountryByName, gridVariants, isEUCountry, linkVariants, navigationMenuTriggerStyle, switchRootVariants, switchThumbVariants, tabsListVariants, tabsTriggerVariants, typographyVariants, useHighlightedCode, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useSidebar, useTheme };
|
|
116
|
+
export { Alert, AlertDescription, type AlertDescriptionProps, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, type AlertTitleProps, Anchor, type AnchorProps, type AnchorVariantsProps, Badge, type BadgeProps, BergetLogo, type BergetLogoProps, Box, type BoxProps, type SpacingScale as BoxSpacingScale, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, type ButtonProps, COUNTRIES, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, CardTitle, Checkbox, type CheckboxProps, CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle, Combobox, ComboboxClear, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, Composer, ComposerActions, type ComposerActionsProps, type ComposerProps, ComposerSubmit, type ComposerSubmitProps, ComposerTextarea, type ComposerTextareaProps, Container, type ContainerProps, type Country, CountrySelect, type CountrySelectProps, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EU_COUNTRY_CODES, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, type EmptyProps, EmptyTitle, FOG_BRAND_PALETTE, FeatureList, type FeatureListProps, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FogIllustration, type FogIllustrationProps, type FogPalette, Grid, type GridColsScale, type GridProps, type GridRowsScale, type SpacingScale$1 as GridSpacingScale, Icon, type IconProps, Input, InputGroup, InputGroupAddon, type InputGroupAddonProps, InputGroupButton, InputGroupInput, type InputGroupProps, InputGroupText, InputGroupTextarea, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, type ItemProps, ItemSeparator, ItemTitle, Label, LanguageSelect, type LanguageSelectOption, type LanguageSelectProps, Link, type LinkProps, List, ListHeader, type ListHeaderProps, ListItem, type ListItemProps, type ListProps, Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, ModelCard, type ModelCardProps, type ModelCategory, type ModelLifecycle, ModelLogo, type ModelLogoProps, type ModelLogoProvider, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, ProgressIndicator, ProgressLabel, type ProgressProps, ProgressTrack, ProgressValue, RadioGroup, RadioGroupItem, SearchInput, type SearchInputProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLogo, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarPageHeader, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, type SkeletonProps, Slider, type SliderProps, Switch, type SwitchProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, type TerminalExample, Textarea, type Theme, ThemeProvider, type ThemeProviderProps, ThemeToggle, type ThemeToggleProps, Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, TooltipTrigger, type TooltipTriggerProps, Typography, type TypographyProps, WindowFrame, type WindowFrameProps, type WindowTab, alertVariants, anchorVariants, badgeVariants, boxVariants, buttonVariants, cardVariants, categoryLabels, checkboxVariants, cn, containerVariants, getCountryByCode, getCountryByName, gridVariants, isEUCountry, linkVariants, navigationMenuTriggerStyle, switchRootVariants, switchThumbVariants, tabsListVariants, tabsTriggerVariants, typographyVariants, useHighlightedCode, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useSidebar, useTheme };
|
package/dist/index.mjs
CHANGED
|
@@ -44,6 +44,7 @@ import { Slider } from "./components/slider/Slider.mjs";
|
|
|
44
44
|
import { Textarea } from "./primitives/textarea.mjs";
|
|
45
45
|
import { InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea } from "./primitives/input-group.mjs";
|
|
46
46
|
import { InputGroup, InputGroupAddon } from "./components/input-group/InputGroup.mjs";
|
|
47
|
+
import { Composer, ComposerActions, ComposerSubmit, ComposerTextarea } from "./components/composer/Composer.mjs";
|
|
47
48
|
import { Checkbox, checkboxVariants } from "./components/checkbox/Checkbox.mjs";
|
|
48
49
|
import { Switch, switchRootVariants, switchThumbVariants } from "./components/switch/Switch.mjs";
|
|
49
50
|
import { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue } from "./primitives/select.mjs";
|
|
@@ -63,4 +64,4 @@ import { CodeBlock, CodeBlockHeader, CodeBlockTitle } from "./components/code-bl
|
|
|
63
64
|
import { useHighlightedCode } from "./hooks/use-highlighted-code.mjs";
|
|
64
65
|
import { WindowFrame } from "./components/window-frame/WindowFrame.mjs";
|
|
65
66
|
import { FOG_BRAND_PALETTE, FogIllustration } from "./components/fog-illustration/FogIllustration.mjs";
|
|
66
|
-
export { Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, Anchor, Badge, BergetLogo, Box, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, COUNTRIES, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle, Combobox, ComboboxClear, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, Container, CountrySelect, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EU_COUNTRY_CODES, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, FOG_BRAND_PALETTE, FeatureList, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FogIllustration, Grid, Icon, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Label, LanguageSelect, Link, List, ListHeader, ListItem, Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, ModelCard, ModelLogo, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, RadioGroup, RadioGroupItem, SearchInput, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLogo, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarPageHeader, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeProvider, ThemeToggle, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Typography, WindowFrame, alertVariants, anchorVariants, badgeVariants, boxVariants, buttonVariants, cardVariants, categoryLabels, checkboxVariants, cn, containerVariants, getCountryByCode, getCountryByName, gridVariants, isEUCountry, linkVariants, navigationMenuTriggerStyle, switchRootVariants, switchThumbVariants, tabsListVariants, tabsTriggerVariants, typographyVariants, useHighlightedCode, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useSidebar, useTheme };
|
|
67
|
+
export { Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, Anchor, Badge, BergetLogo, Box, Bubble, BubbleContent, BubbleGroup, BubbleReactions, Button, COUNTRIES, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, CodeBlock, CodeBlockActions, CodeBlockContent, CodeBlockCopyButton, CodeBlockFooter, CodeBlockHeader, CodeBlockLine, CodeBlockTitle, Combobox, ComboboxClear, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxList, ComboboxSeparator, ComboboxStatus, ComboboxTrigger, ComboboxValue, Composer, ComposerActions, ComposerSubmit, ComposerTextarea, Container, CountrySelect, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EU_COUNTRY_CODES, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, FOG_BRAND_PALETTE, FeatureList, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FogIllustration, Grid, Icon, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Label, LanguageSelect, Link, List, ListHeader, ListItem, Message, MessageAvatar, MessageContent, MessageFooter, MessageGroup, MessageHeader, MessageScroller, MessageScrollerButton, MessageScrollerContent, MessageScrollerItem, MessageScrollerProvider, MessageScrollerViewport, ModelCard, ModelLogo, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, RadioGroup, RadioGroupItem, SearchInput, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLogo, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarPageHeader, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, ThemeProvider, ThemeToggle, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, Typography, WindowFrame, alertVariants, anchorVariants, badgeVariants, boxVariants, buttonVariants, cardVariants, categoryLabels, checkboxVariants, cn, containerVariants, getCountryByCode, getCountryByName, gridVariants, isEUCountry, linkVariants, navigationMenuTriggerStyle, switchRootVariants, switchThumbVariants, tabsListVariants, tabsTriggerVariants, typographyVariants, useHighlightedCode, useMessageScroller, useMessageScrollerScrollable, useMessageScrollerVisibility, useSidebar, useTheme };
|
package/dist/styles/index.css
CHANGED
|
@@ -251,6 +251,13 @@
|
|
|
251
251
|
--berget-destructive: color-mix(in oklch, var(--berget-brand-muscaria-400) 20%, transparent);
|
|
252
252
|
--berget-destructive-border: var(--berget-brand-muscaria-400);
|
|
253
253
|
--berget-destructive-foreground: var(--berget-brand-muscaria-400);
|
|
254
|
+
/* ^ The full-strength colour. `destructive` utilities (text-destructive,
|
|
255
|
+
border-destructive/50, ring-destructive/20, bg-destructive/10 …) follow
|
|
256
|
+
the shadcn contract and assume a SOLID base colour, so the @theme alias
|
|
257
|
+
(section D) maps --color-destructive to this token — NOT to the 20%
|
|
258
|
+
pre-tinted --berget-destructive background fill above. Components that
|
|
259
|
+
want the tinted status surface use bg-berget-destructive + the -border/
|
|
260
|
+
-foreground companions (see Checkbox). */
|
|
254
261
|
|
|
255
262
|
/* ── Sidebar ────────────────────────────────────────────────────── */
|
|
256
263
|
--berget-sidebar: color-mix(in oklch, var(--berget-brand-granite-900) 40%, transparent);
|
|
@@ -278,6 +285,12 @@
|
|
|
278
285
|
--berget-surface-subtle: color-mix(in oklch, var(--berget-foreground) 5%, transparent);
|
|
279
286
|
--berget-surface-raised: color-mix(in oklch, var(--berget-foreground) 10%, transparent);
|
|
280
287
|
|
|
288
|
+
/* ── Composer ───────────────────────────────────────────────────── */
|
|
289
|
+
/* Component-scoped: solid granite-900 in dark (overrides the near-white
|
|
290
|
+
raised mist), keeps the light raised tint in light theme. */
|
|
291
|
+
--berget-composer-bg: var(--berget-brand-granite-900);
|
|
292
|
+
--berget-composer-border: var(--berget-brand-granite-800);
|
|
293
|
+
|
|
281
294
|
/* ── Subtle borders ──────────────────────────────────────────────── */
|
|
282
295
|
--berget-border-subtle: color-mix(in oklch, var(--berget-foreground) 10%, transparent);
|
|
283
296
|
--berget-border-interactive: color-mix(in oklch, var(--berget-foreground) 20%, transparent);
|
|
@@ -628,7 +641,10 @@
|
|
|
628
641
|
/* ── Destructive ────────────────────────────────────────────────── */
|
|
629
642
|
--berget-destructive: color-mix(in oklch, var(--berget-brand-muscaria-500) 20%, transparent);
|
|
630
643
|
--berget-destructive-border: var(--berget-brand-muscaria-500);
|
|
631
|
-
|
|
644
|
+
/* Foreground steps up to -600 in light mode like its status siblings
|
|
645
|
+
(info/success/warning), keeping text-destructive above WCAG AA (4.5:1)
|
|
646
|
+
on light surfaces — muscaria-500 lands at 4.3:1. */
|
|
647
|
+
--berget-destructive-foreground: var(--berget-brand-muscaria-600);
|
|
632
648
|
|
|
633
649
|
/* ── Sidebar ────────────────────────────────────────────────────── */
|
|
634
650
|
--berget-sidebar: color-mix(in oklch, var(--berget-brand-granite-100) 40%, transparent);
|
|
@@ -655,6 +671,10 @@
|
|
|
655
671
|
--berget-surface-subtle: color-mix(in oklch, var(--berget-brand-granite-950) 5%, transparent);
|
|
656
672
|
--berget-surface-raised: color-mix(in oklch, var(--berget-brand-granite-950) 10%, transparent);
|
|
657
673
|
|
|
674
|
+
/* ── Composer ───────────────────────────────────────────────────── */
|
|
675
|
+
--berget-composer-bg: var(--berget-surface-raised);
|
|
676
|
+
--berget-composer-border: var(--berget-border-subtle);
|
|
677
|
+
|
|
658
678
|
/* ── Subtle borders ──────────────────────────────────────────────── */
|
|
659
679
|
--berget-border-subtle: color-mix(in oklch, var(--berget-brand-granite-950) 10%, transparent);
|
|
660
680
|
--berget-border-interactive: color-mix(
|
|
@@ -1064,7 +1084,7 @@
|
|
|
1064
1084
|
--color-secondary-foreground: var(--berget-secondary-foreground);
|
|
1065
1085
|
--color-accent: var(--berget-accent);
|
|
1066
1086
|
--color-accent-foreground: var(--berget-accent-foreground);
|
|
1067
|
-
--color-destructive: var(--berget-destructive);
|
|
1087
|
+
--color-destructive: var(--berget-destructive-foreground);
|
|
1068
1088
|
--color-destructive-foreground: var(--berget-destructive-foreground);
|
|
1069
1089
|
--color-muted: var(--berget-muted);
|
|
1070
1090
|
--color-muted-foreground: var(--berget-muted-foreground);
|
|
@@ -1215,6 +1235,8 @@
|
|
|
1215
1235
|
--color-berget-surface-hover: var(--berget-surface-hover);
|
|
1216
1236
|
--color-berget-surface-subtle: var(--berget-surface-subtle);
|
|
1217
1237
|
--color-berget-surface-raised: var(--berget-surface-raised);
|
|
1238
|
+
--color-berget-composer-bg: var(--berget-composer-bg);
|
|
1239
|
+
--color-berget-composer-border: var(--berget-composer-border);
|
|
1218
1240
|
--color-berget-border-subtle: var(--berget-border-subtle);
|
|
1219
1241
|
--color-berget-border-interactive: var(--berget-border-interactive);
|
|
1220
1242
|
--color-berget-border-interactive-elevated: var(--berget-border-interactive-elevated);
|