@bergetai/ui 0.16.2 → 0.18.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/alert/Alert.d.cts +1 -1
- package/dist/components/alert/Alert.d.mts +1 -1
- package/dist/components/badge/Badge.d.cts +1 -1
- package/dist/components/badge/Badge.d.mts +1 -1
- package/dist/components/box/Box.d.cts +2 -2
- package/dist/components/box/Box.d.mts +2 -2
- package/dist/components/button/Button.cjs +21 -4
- package/dist/components/button/Button.cjs.map +1 -1
- package/dist/components/button/Button.d.cts +2 -1
- package/dist/components/button/Button.d.cts.map +1 -1
- package/dist/components/button/Button.d.mts +2 -1
- package/dist/components/button/Button.d.mts.map +1 -1
- package/dist/components/button/Button.mjs +19 -5
- package/dist/components/button/Button.mjs.map +1 -1
- package/dist/components/button/anchorVariants.cjs +56 -0
- package/dist/components/button/anchorVariants.cjs.map +1 -0
- package/dist/components/button/anchorVariants.d.cts +45 -0
- package/dist/components/button/anchorVariants.d.cts.map +1 -0
- package/dist/components/button/anchorVariants.d.mts +45 -0
- package/dist/components/button/anchorVariants.d.mts.map +1 -0
- package/dist/components/button/anchorVariants.mjs +55 -0
- package/dist/components/button/anchorVariants.mjs.map +1 -0
- package/dist/components/button/index.d.cts +2 -1
- package/dist/components/button/index.d.mts +2 -1
- package/dist/components/code-block/CodeBlock.cjs +50 -48
- package/dist/components/code-block/CodeBlock.cjs.map +1 -1
- package/dist/components/code-block/CodeBlock.d.cts +27 -7
- package/dist/components/code-block/CodeBlock.d.cts.map +1 -1
- package/dist/components/code-block/CodeBlock.d.mts +27 -7
- package/dist/components/code-block/CodeBlock.d.mts.map +1 -1
- package/dist/components/code-block/CodeBlock.mjs +45 -50
- package/dist/components/code-block/CodeBlock.mjs.map +1 -1
- package/dist/components/code-block/index.d.cts +3 -0
- package/dist/components/code-block/index.d.mts +3 -0
- package/dist/components/combobox/index.d.cts +2 -0
- package/dist/components/combobox/index.d.mts +2 -0
- package/dist/components/country-select/CountrySelect.cjs +1 -1
- package/dist/components/country-select/CountrySelect.mjs +1 -1
- package/dist/components/grid/Grid.d.cts +2 -2
- package/dist/components/grid/Grid.d.mts +2 -2
- package/dist/components/popover/index.d.cts +2 -0
- package/dist/components/popover/index.d.mts +2 -0
- package/dist/components/radio-group/index.d.cts +2 -0
- package/dist/components/radio-group/index.d.mts +2 -0
- package/dist/components/tabs/Tabs.cjs +109 -0
- package/dist/components/tabs/Tabs.cjs.map +1 -0
- package/dist/components/tabs/Tabs.d.cts +29 -0
- package/dist/components/tabs/Tabs.d.cts.map +1 -0
- package/dist/components/tabs/Tabs.d.mts +29 -0
- package/dist/components/tabs/Tabs.d.mts.map +1 -0
- package/dist/components/tabs/Tabs.mjs +103 -0
- package/dist/components/tabs/Tabs.mjs.map +1 -0
- package/dist/components/tabs/index.d.cts +2 -0
- package/dist/components/tabs/index.d.mts +2 -0
- package/dist/hooks/use-highlighted-code.cjs +58 -0
- package/dist/hooks/use-highlighted-code.cjs.map +1 -0
- package/dist/hooks/use-highlighted-code.d.cts +5 -0
- package/dist/hooks/use-highlighted-code.d.cts.map +1 -0
- package/dist/hooks/use-highlighted-code.d.mts +5 -0
- package/dist/hooks/use-highlighted-code.d.mts.map +1 -0
- package/dist/hooks/use-highlighted-code.mjs +56 -0
- package/dist/hooks/use-highlighted-code.mjs.map +1 -0
- package/dist/index.cjs +44 -0
- package/dist/index.d.cts +14 -2
- package/dist/index.d.mts +14 -2
- package/dist/index.mjs +9 -2
- package/dist/lib/highlighter.cjs +81 -0
- package/dist/lib/highlighter.cjs.map +1 -0
- package/dist/lib/highlighter.mjs +79 -0
- package/dist/lib/highlighter.mjs.map +1 -0
- package/dist/primitives/button.d.cts +1 -1
- package/dist/primitives/button.d.mts +1 -1
- package/dist/primitives/code-block.cjs +133 -0
- package/dist/primitives/code-block.cjs.map +1 -0
- package/dist/primitives/code-block.d.cts +29 -0
- package/dist/primitives/code-block.d.cts.map +1 -0
- package/dist/primitives/code-block.d.mts +29 -0
- package/dist/primitives/code-block.d.mts.map +1 -0
- package/dist/primitives/code-block.mjs +124 -0
- package/dist/primitives/code-block.mjs.map +1 -0
- package/dist/primitives/combobox.cjs +123 -0
- package/dist/primitives/combobox.cjs.map +1 -0
- package/dist/primitives/combobox.d.cts +25 -0
- package/dist/primitives/combobox.d.cts.map +1 -0
- package/dist/primitives/combobox.d.mts +25 -0
- package/dist/primitives/combobox.d.mts.map +1 -0
- package/dist/primitives/combobox.mjs +111 -0
- package/dist/primitives/combobox.mjs.map +1 -0
- package/dist/primitives/message-scroller.cjs +1 -1
- package/dist/primitives/message-scroller.mjs +1 -1
- package/dist/primitives/popover.cjs +24 -0
- package/dist/primitives/popover.cjs.map +1 -1
- package/dist/primitives/popover.d.cts +12 -0
- package/dist/primitives/popover.d.cts.map +1 -0
- package/dist/primitives/popover.d.mts +12 -0
- package/dist/primitives/popover.d.mts.map +1 -0
- package/dist/primitives/popover.mjs +22 -1
- package/dist/primitives/popover.mjs.map +1 -1
- package/dist/primitives/radio-group.cjs +23 -0
- package/dist/primitives/radio-group.cjs.map +1 -0
- package/dist/primitives/radio-group.d.cts +8 -0
- package/dist/primitives/radio-group.d.cts.map +1 -0
- package/dist/primitives/radio-group.d.mts +8 -0
- package/dist/primitives/radio-group.d.mts.map +1 -0
- package/dist/primitives/radio-group.mjs +22 -0
- package/dist/primitives/radio-group.mjs.map +1 -0
- package/dist/primitives/sidebar.cjs +1 -1
- package/dist/primitives/sidebar.mjs +1 -1
- package/dist/primitives/tabs.cjs +51 -0
- package/dist/primitives/tabs.cjs.map +1 -0
- package/dist/primitives/tabs.d.cts +11 -0
- package/dist/primitives/tabs.d.cts.map +1 -0
- package/dist/primitives/tabs.d.mts +11 -0
- package/dist/primitives/tabs.d.mts.map +1 -0
- package/dist/primitives/tabs.mjs +47 -0
- package/dist/primitives/tabs.mjs.map +1 -0
- package/dist/styles/index.css +61 -0
- package/package.json +2 -1
|
@@ -10,9 +10,9 @@ import * as React from "react";
|
|
|
10
10
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
11
11
|
import { cva } from "class-variance-authority";
|
|
12
12
|
import { cn } from "cn";
|
|
13
|
+
import { PanelLeftIcon } from "lucide-react";
|
|
13
14
|
import { mergeProps } from "@base-ui/react/merge-props";
|
|
14
15
|
import { useRender } from "@base-ui/react/use-render";
|
|
15
|
-
import { PanelLeftIcon } from "lucide-react";
|
|
16
16
|
//#region src/primitives/sidebar.tsx
|
|
17
17
|
const SIDEBAR_COOKIE_NAME = "sidebar_state";
|
|
18
18
|
const SIDEBAR_COOKIE_MAX_AGE = 604800;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
3
|
+
let class_variance_authority = require("class-variance-authority");
|
|
4
|
+
let cn = require("cn");
|
|
5
|
+
let _base_ui_react_tabs = require("@base-ui/react/tabs");
|
|
6
|
+
//#region src/primitives/tabs.tsx
|
|
7
|
+
function Tabs({ className, orientation = "horizontal", ...props }) {
|
|
8
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tabs.Tabs.Root, {
|
|
9
|
+
"data-slot": "tabs",
|
|
10
|
+
"data-orientation": orientation,
|
|
11
|
+
className: (0, cn.cn)("group/tabs flex gap-2 data-horizontal:flex-col", className),
|
|
12
|
+
...props
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
const tabsListVariants = (0, class_variance_authority.cva)("group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none", {
|
|
16
|
+
variants: { variant: {
|
|
17
|
+
default: "bg-muted",
|
|
18
|
+
line: "gap-1 bg-transparent"
|
|
19
|
+
} },
|
|
20
|
+
defaultVariants: { variant: "default" }
|
|
21
|
+
});
|
|
22
|
+
function TabsList({ className, variant = "default", ...props }) {
|
|
23
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tabs.Tabs.List, {
|
|
24
|
+
"data-slot": "tabs-list",
|
|
25
|
+
"data-variant": variant,
|
|
26
|
+
className: (0, cn.cn)(tabsListVariants({ variant }), className),
|
|
27
|
+
...props
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
function TabsTrigger({ className, ...props }) {
|
|
31
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tabs.Tabs.Tab, {
|
|
32
|
+
"data-slot": "tabs-trigger",
|
|
33
|
+
className: (0, cn.cn)("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", "group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent", "data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground", "after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100", className),
|
|
34
|
+
...props
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function TabsContent({ className, ...props }) {
|
|
38
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_base_ui_react_tabs.Tabs.Panel, {
|
|
39
|
+
"data-slot": "tabs-content",
|
|
40
|
+
className: (0, cn.cn)("flex-1 text-sm outline-none", className),
|
|
41
|
+
...props
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
45
|
+
exports.Tabs = Tabs;
|
|
46
|
+
exports.TabsContent = TabsContent;
|
|
47
|
+
exports.TabsList = TabsList;
|
|
48
|
+
exports.TabsTrigger = TabsTrigger;
|
|
49
|
+
exports.tabsListVariants = tabsListVariants;
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=tabs.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.cjs","names":["TabsPrimitive","cva"],"sources":["../../src/primitives/tabs.tsx"],"sourcesContent":["\"use client\"\n\nimport { Tabs as TabsPrimitive } from \"@base-ui/react/tabs\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"cn\"\n\nfunction Tabs({\n className,\n orientation = \"horizontal\",\n ...props\n}: TabsPrimitive.Root.Props) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n data-orientation={orientation}\n className={cn(\n \"group/tabs flex gap-2 data-horizontal:flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst tabsListVariants = cva(\n \"group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none\",\n {\n variants: {\n variant: {\n default: \"bg-muted\",\n line: \"gap-1 bg-transparent\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction TabsList({\n className,\n variant = \"default\",\n ...props\n}: TabsPrimitive.List.Props & VariantProps<typeof tabsListVariants>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n data-variant={variant}\n className={cn(tabsListVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction TabsTrigger({ className, ...props }: TabsPrimitive.Tab.Props) {\n return (\n <TabsPrimitive.Tab\n data-slot=\"tabs-trigger\"\n className={cn(\n \"relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n \"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent\",\n \"data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground\",\n \"after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TabsContent({ className, ...props }: TabsPrimitive.Panel.Props) {\n return (\n <TabsPrimitive.Panel\n data-slot=\"tabs-content\"\n className={cn(\"flex-1 text-sm outline-none\", className)}\n {...props}\n />\n )\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants }\n"],"mappings":";;;;;;AAMA,SAAS,KAAK,EACZ,WACA,cAAc,cACd,GAAG,SACwB;CAC3B,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,oBAAAA,KAAc,MAAf;EACE,aAAU;EACV,oBAAkB;EAClB,YAAA,GAAW,GAAA,GAAA,CACT,kDACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,MAAM,oBAAA,GAAmBC,yBAAAA,IAAAA,CACvB,2OACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,MAAM;CACR,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CACF;AAEA,SAAS,SAAS,EAChB,WACA,UAAU,WACV,GAAG,SACgE;CACnE,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACD,oBAAAA,KAAc,MAAf;EACE,aAAU;EACV,gBAAc;EACd,YAAA,GAAW,GAAA,GAAA,CAAG,iBAAiB,EAAE,QAAQ,CAAC,GAAG,SAAS;EACtD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAkC;CACrE,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,oBAAAA,KAAc,KAAf;EACE,aAAU;EACV,YAAA,GAAW,GAAA,GAAA,CACT,81BACA,iQACA,qJACA,wYACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAoC;CACvE,OACE,iBAAA,GAAA,kBAAA,IAAA,CAACA,oBAAAA,KAAc,OAAf;EACE,aAAU;EACV,YAAA,GAAW,GAAA,GAAA,CAAG,+BAA+B,SAAS;EACtD,GAAI;CACL,CAAA;AAEL"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { VariantProps } from "class-variance-authority";
|
|
2
|
+
import { Tabs } from "@base-ui/react/tabs";
|
|
3
|
+
//#region src/primitives/tabs.d.ts
|
|
4
|
+
declare const tabsListVariants: (props?: ({
|
|
5
|
+
variant?: "line" | "default" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
declare function TabsList({ className, variant, ...props }: Tabs.List.Props & VariantProps<typeof tabsListVariants>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare function TabsTrigger({ className, ...props }: Tabs.Tab.Props): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { TabsList, TabsTrigger, tabsListVariants };
|
|
11
|
+
//# sourceMappingURL=tabs.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.d.cts","names":["TabsPrimitive"],"sources":["../../src/primitives/tabs.tsx"],"mappings":";;;cAwBM,mBAAgB;;6CAarB;iBAEQ,WACP,WACA,YACG,SACFA,KAAc,KAAK,QAAQ,oBAAoB,gDAAiB,IAAA;iBAW1D,cAAc,cAAc,SAASA,KAAc,IAAI,oCAAK,IAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { VariantProps } from "class-variance-authority";
|
|
2
|
+
import { Tabs } from "@base-ui/react/tabs";
|
|
3
|
+
//#region src/primitives/tabs.d.ts
|
|
4
|
+
declare const tabsListVariants: (props?: ({
|
|
5
|
+
variant?: "line" | "default" | null | undefined;
|
|
6
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
7
|
+
declare function TabsList({ className, variant, ...props }: Tabs.List.Props & VariantProps<typeof tabsListVariants>): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare function TabsTrigger({ className, ...props }: Tabs.Tab.Props): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { TabsList, TabsTrigger, tabsListVariants };
|
|
11
|
+
//# sourceMappingURL=tabs.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.d.mts","names":["TabsPrimitive"],"sources":["../../src/primitives/tabs.tsx"],"mappings":";;;cAwBM,mBAAgB;;6CAarB;iBAEQ,WACP,WACA,YACG,SACFA,KAAc,KAAK,QAAQ,oBAAoB,gDAAiB,IAAA;iBAW1D,cAAc,cAAc,SAASA,KAAc,IAAI,oCAAK,IAAA"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
|
+
import { cva } from "class-variance-authority";
|
|
4
|
+
import { cn } from "cn";
|
|
5
|
+
import { Tabs } from "@base-ui/react/tabs";
|
|
6
|
+
//#region src/primitives/tabs.tsx
|
|
7
|
+
function Tabs$1({ className, orientation = "horizontal", ...props }) {
|
|
8
|
+
return /* @__PURE__ */ jsx(Tabs.Root, {
|
|
9
|
+
"data-slot": "tabs",
|
|
10
|
+
"data-orientation": orientation,
|
|
11
|
+
className: cn("group/tabs flex gap-2 data-horizontal:flex-col", className),
|
|
12
|
+
...props
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
const tabsListVariants = cva("group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none", {
|
|
16
|
+
variants: { variant: {
|
|
17
|
+
default: "bg-muted",
|
|
18
|
+
line: "gap-1 bg-transparent"
|
|
19
|
+
} },
|
|
20
|
+
defaultVariants: { variant: "default" }
|
|
21
|
+
});
|
|
22
|
+
function TabsList({ className, variant = "default", ...props }) {
|
|
23
|
+
return /* @__PURE__ */ jsx(Tabs.List, {
|
|
24
|
+
"data-slot": "tabs-list",
|
|
25
|
+
"data-variant": variant,
|
|
26
|
+
className: cn(tabsListVariants({ variant }), className),
|
|
27
|
+
...props
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
function TabsTrigger({ className, ...props }) {
|
|
31
|
+
return /* @__PURE__ */ jsx(Tabs.Tab, {
|
|
32
|
+
"data-slot": "tabs-trigger",
|
|
33
|
+
className: cn("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", "group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent", "data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground", "after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100", className),
|
|
34
|
+
...props
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
function TabsContent({ className, ...props }) {
|
|
38
|
+
return /* @__PURE__ */ jsx(Tabs.Panel, {
|
|
39
|
+
"data-slot": "tabs-content",
|
|
40
|
+
className: cn("flex-1 text-sm outline-none", className),
|
|
41
|
+
...props
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
45
|
+
export { Tabs$1 as Tabs, TabsContent, TabsList, TabsTrigger, tabsListVariants };
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=tabs.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabs.mjs","names":["Tabs","TabsPrimitive"],"sources":["../../src/primitives/tabs.tsx"],"sourcesContent":["\"use client\"\n\nimport { Tabs as TabsPrimitive } from \"@base-ui/react/tabs\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { cn } from \"cn\"\n\nfunction Tabs({\n className,\n orientation = \"horizontal\",\n ...props\n}: TabsPrimitive.Root.Props) {\n return (\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n data-orientation={orientation}\n className={cn(\n \"group/tabs flex gap-2 data-horizontal:flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst tabsListVariants = cva(\n \"group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none\",\n {\n variants: {\n variant: {\n default: \"bg-muted\",\n line: \"gap-1 bg-transparent\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction TabsList({\n className,\n variant = \"default\",\n ...props\n}: TabsPrimitive.List.Props & VariantProps<typeof tabsListVariants>) {\n return (\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n data-variant={variant}\n className={cn(tabsListVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nfunction TabsTrigger({ className, ...props }: TabsPrimitive.Tab.Props) {\n return (\n <TabsPrimitive.Tab\n data-slot=\"tabs-trigger\"\n className={cn(\n \"relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n \"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent\",\n \"data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground\",\n \"after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction TabsContent({ className, ...props }: TabsPrimitive.Panel.Props) {\n return (\n <TabsPrimitive.Panel\n data-slot=\"tabs-content\"\n className={cn(\"flex-1 text-sm outline-none\", className)}\n {...props}\n />\n )\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent, tabsListVariants }\n"],"mappings":";;;;;;AAMA,SAASA,OAAK,EACZ,WACA,cAAc,cACd,GAAG,SACwB;CAC3B,OACE,oBAACC,KAAc,MAAf;EACE,aAAU;EACV,oBAAkB;EAClB,WAAW,GACT,kDACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,MAAM,mBAAmB,IACvB,2OACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,MAAM;CACR,EACF;CACA,iBAAiB,EACf,SAAS,UACX;AACF,CACF;AAEA,SAAS,SAAS,EAChB,WACA,UAAU,WACV,GAAG,SACgE;CACnE,OACE,oBAACA,KAAc,MAAf;EACE,aAAU;EACV,gBAAc;EACd,WAAW,GAAG,iBAAiB,EAAE,QAAQ,CAAC,GAAG,SAAS;EACtD,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAkC;CACrE,OACE,oBAACA,KAAc,KAAf;EACE,aAAU;EACV,WAAW,GACT,81BACA,iQACA,qJACA,wYACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;AAEA,SAAS,YAAY,EAAE,WAAW,GAAG,SAAoC;CACvE,OACE,oBAACA,KAAc,OAAf;EACE,aAAU;EACV,WAAW,GAAG,+BAA+B,SAAS;EACtD,GAAI;CACL,CAAA;AAEL"}
|
package/dist/styles/index.css
CHANGED
|
@@ -267,6 +267,22 @@
|
|
|
267
267
|
--berget-shiki-token-parameter: var(--berget-brand-granite-50);
|
|
268
268
|
--berget-shiki-token-string-expression: var(--berget-brand-moss-300);
|
|
269
269
|
--berget-shiki-token-punctuation: var(--berget-brand-granite-50);
|
|
270
|
+
--berget-shiki-ansi-black: var(--berget-brand-granite-400);
|
|
271
|
+
--berget-shiki-ansi-red: var(--berget-brand-muscaria-400);
|
|
272
|
+
--berget-shiki-ansi-green: var(--berget-brand-moss-400);
|
|
273
|
+
--berget-shiki-ansi-yellow: var(--berget-brand-chanterelle-300);
|
|
274
|
+
--berget-shiki-ansi-blue: var(--berget-brand-fjord-400);
|
|
275
|
+
--berget-shiki-ansi-magenta: var(--berget-brand-muscaria-300);
|
|
276
|
+
--berget-shiki-ansi-cyan: var(--berget-brand-fjord-300);
|
|
277
|
+
--berget-shiki-ansi-white: var(--berget-brand-granite-50);
|
|
278
|
+
--berget-shiki-ansi-bright-black: var(--berget-brand-granite-500);
|
|
279
|
+
--berget-shiki-ansi-bright-red: var(--berget-brand-muscaria-300);
|
|
280
|
+
--berget-shiki-ansi-bright-green: var(--berget-brand-moss-300);
|
|
281
|
+
--berget-shiki-ansi-bright-yellow: var(--berget-brand-chanterelle-200);
|
|
282
|
+
--berget-shiki-ansi-bright-blue: var(--berget-brand-fjord-300);
|
|
283
|
+
--berget-shiki-ansi-bright-magenta: var(--berget-brand-muscaria-200);
|
|
284
|
+
--berget-shiki-ansi-bright-cyan: var(--berget-brand-fjord-200);
|
|
285
|
+
--berget-shiki-ansi-bright-white: var(--berget-brand-granite-50);
|
|
270
286
|
|
|
271
287
|
/* ── Badge component-scoped tokens ──────────────────────────────── */
|
|
272
288
|
/* Tinted status style: 15% brand tint bg with a same-hue accent fg.
|
|
@@ -362,6 +378,19 @@
|
|
|
362
378
|
--berget-button-outline-hover: color-mix(in oklch, var(--berget-foreground) 5%, transparent);
|
|
363
379
|
/* Outline text accent: neutral foreground (≥4.5:1 on bg in all states) */
|
|
364
380
|
--berget-button-outline-fg: var(--berget-foreground);
|
|
381
|
+
/* Destructive outline: muscaria border + text on transparent fill (dark
|
|
382
|
+
theme uses the lighter muscaria-300 for legibility on dark surfaces) */
|
|
383
|
+
--berget-button-destructive-outline-border: color-mix(
|
|
384
|
+
in oklch,
|
|
385
|
+
var(--berget-brand-muscaria-400) 35%,
|
|
386
|
+
transparent
|
|
387
|
+
);
|
|
388
|
+
--berget-button-destructive-outline-fg: var(--berget-brand-muscaria-300);
|
|
389
|
+
--berget-button-destructive-outline-hover: color-mix(
|
|
390
|
+
in oklch,
|
|
391
|
+
var(--berget-brand-muscaria-400) 10%,
|
|
392
|
+
transparent
|
|
393
|
+
);
|
|
365
394
|
/* Disabled: variant fill at 8% + half-opacity neutral foreground (≥3:1,
|
|
366
395
|
exempt from AA text contrast per WCAG 1.4.3, still clearly "off") */
|
|
367
396
|
--berget-button-disabled-bg: color-mix(in oklch, var(--berget-foreground) 8%, transparent);
|
|
@@ -623,6 +652,22 @@
|
|
|
623
652
|
--berget-shiki-token-parameter: var(--berget-brand-granite-900);
|
|
624
653
|
--berget-shiki-token-string-expression: var(--berget-brand-moss-500);
|
|
625
654
|
--berget-shiki-token-punctuation: var(--berget-brand-granite-900);
|
|
655
|
+
--berget-shiki-ansi-black: var(--berget-brand-granite-800);
|
|
656
|
+
--berget-shiki-ansi-red: var(--berget-brand-muscaria-600);
|
|
657
|
+
--berget-shiki-ansi-green: var(--berget-brand-moss-600);
|
|
658
|
+
--berget-shiki-ansi-yellow: var(--berget-brand-chanterelle-400);
|
|
659
|
+
--berget-shiki-ansi-blue: var(--berget-brand-fjord-600);
|
|
660
|
+
--berget-shiki-ansi-magenta: var(--berget-brand-muscaria-500);
|
|
661
|
+
--berget-shiki-ansi-cyan: var(--berget-brand-fjord-500);
|
|
662
|
+
--berget-shiki-ansi-white: var(--berget-brand-granite-600);
|
|
663
|
+
--berget-shiki-ansi-bright-black: var(--berget-brand-granite-700);
|
|
664
|
+
--berget-shiki-ansi-bright-red: var(--berget-brand-muscaria-500);
|
|
665
|
+
--berget-shiki-ansi-bright-green: var(--berget-brand-moss-500);
|
|
666
|
+
--berget-shiki-ansi-bright-yellow: var(--berget-brand-chanterelle-300);
|
|
667
|
+
--berget-shiki-ansi-bright-blue: var(--berget-brand-fjord-500);
|
|
668
|
+
--berget-shiki-ansi-bright-magenta: var(--berget-brand-muscaria-400);
|
|
669
|
+
--berget-shiki-ansi-bright-cyan: var(--berget-brand-fjord-400);
|
|
670
|
+
--berget-shiki-ansi-bright-white: var(--berget-brand-granite-600);
|
|
626
671
|
|
|
627
672
|
/* ── Badge component-scoped tokens (light) ──────────────────────── */
|
|
628
673
|
--berget-badge-default-bg: color-mix(in oklch, var(--berget-brand-moss-400) 15%, transparent);
|
|
@@ -703,6 +748,19 @@
|
|
|
703
748
|
--berget-button-outline-border: color-mix(in oklch, var(--berget-foreground) 25%, transparent);
|
|
704
749
|
--berget-button-outline-hover: color-mix(in oklch, var(--berget-foreground) 5%, transparent);
|
|
705
750
|
--berget-button-outline-fg: var(--berget-foreground);
|
|
751
|
+
/* Destructive outline (light theme): darker muscaria text for ≥4.5:1 on
|
|
752
|
+
light surfaces, muscaria-500 border and hover fill */
|
|
753
|
+
--berget-button-destructive-outline-border: color-mix(
|
|
754
|
+
in oklch,
|
|
755
|
+
var(--berget-brand-muscaria-500) 35%,
|
|
756
|
+
transparent
|
|
757
|
+
);
|
|
758
|
+
--berget-button-destructive-outline-fg: var(--berget-brand-muscaria-600);
|
|
759
|
+
--berget-button-destructive-outline-hover: color-mix(
|
|
760
|
+
in oklch,
|
|
761
|
+
var(--berget-brand-muscaria-500) 10%,
|
|
762
|
+
transparent
|
|
763
|
+
);
|
|
706
764
|
--berget-button-disabled-bg: color-mix(in oklch, var(--berget-foreground) 8%, transparent);
|
|
707
765
|
--berget-button-disabled-fg: color-mix(in oklch, var(--berget-foreground) 50%, transparent);
|
|
708
766
|
--berget-button-disabled-border: color-mix(in oklch, var(--berget-foreground) 15%, transparent);
|
|
@@ -1115,6 +1173,9 @@
|
|
|
1115
1173
|
--color-berget-button-outline-border: var(--berget-button-outline-border);
|
|
1116
1174
|
--color-berget-button-outline-hover: var(--berget-button-outline-hover);
|
|
1117
1175
|
--color-berget-button-outline-fg: var(--berget-button-outline-fg);
|
|
1176
|
+
--color-berget-button-destructive-outline-border: var(--berget-button-destructive-outline-border);
|
|
1177
|
+
--color-berget-button-destructive-outline-fg: var(--berget-button-destructive-outline-fg);
|
|
1178
|
+
--color-berget-button-destructive-outline-hover: var(--berget-button-destructive-outline-hover);
|
|
1118
1179
|
--color-berget-button-disabled-bg: var(--berget-button-disabled-bg);
|
|
1119
1180
|
--color-berget-button-disabled-fg: var(--berget-button-disabled-fg);
|
|
1120
1181
|
--color-berget-button-disabled-border: var(--berget-button-disabled-border);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bergetai/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.0",
|
|
4
4
|
"description": "Berget Design System - Scandinavian-inspired design system with console aesthetic",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -52,6 +52,7 @@
|
|
|
52
52
|
"clsx": "^2.1.1",
|
|
53
53
|
"cmdk": "^1.1.1",
|
|
54
54
|
"cn": "^0.2.4",
|
|
55
|
+
"shadcn": "^4.22.1",
|
|
55
56
|
"tailwind-merge": "^3.5.0"
|
|
56
57
|
},
|
|
57
58
|
"peerDependencies": {
|