@tetrascience-npm/tetrascience-react-ui 1.0.0-beta.141.1 → 1.0.0-beta.143.1
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/composed/PlateMapEditor/PlateMapPlateSelector.cjs +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapPlateSelector.cjs.map +1 -1
- package/dist/components/composed/PlateMapEditor/PlateMapPlateSelector.js +33 -32
- package/dist/components/composed/PlateMapEditor/PlateMapPlateSelector.js.map +1 -1
- package/dist/components/ui/toggle-group.d.ts +16 -1
- package/dist/index.css +1 -1
- package/dist/index.tailwind.css +1 -1
- package/dist/ui/button-group.cjs +1 -1
- package/dist/ui/button-group.cjs.map +1 -1
- package/dist/ui/button-group.js +12 -12
- package/dist/ui/button-group.js.map +1 -1
- package/dist/ui/button.cjs +1 -1
- package/dist/ui/button.cjs.map +1 -1
- package/dist/ui/button.js +10 -10
- package/dist/ui/button.js.map +1 -1
- package/dist/ui/toggle-group.cjs +1 -1
- package/dist/ui/toggle-group.cjs.map +1 -1
- package/dist/ui/toggle-group.js +80 -52
- package/dist/ui/toggle-group.js.map +1 -1
- package/dist/ui/toggle.cjs +1 -1
- package/dist/ui/toggle.cjs.map +1 -1
- package/dist/ui/toggle.js +14 -14
- package/dist/ui/toggle.js.map +1 -1
- package/package.json +1 -1
package/dist/ui/button-group.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),i=require("class-variance-authority"),l=require("radix-ui"),u=require("./separator.cjs"),a=require("../lib/utils.cjs"),n=i.cva("flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-lg [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1",{variants:{orientation:{horizontal:"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none [&>*:has(+[data-slot=button-group-separator])]:border-r-0 [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-lg!",vertical:"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none [&>*:has(+[data-slot=button-group-separator])]:border-b-0 [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-lg!"}},defaultVariants:{orientation:"horizontal"}});function d({className:o,orientation:t,...r}){return e.jsx("div",{role:"group","data-slot":"button-group","data-orientation":t,className:a.cn(n({orientation:t}),o),...r})}function c({className:o,asChild:t=!1,...r}){const s=t?l.Slot.Root:"div";return e.jsx(s,{className:a.cn("flex items-center gap-2 rounded-lg border px-2.5 text-sm font-normal text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4",o),...r})}function p({className:o,orientation:t="vertical",...r}){return e.jsx(u.Separator,{"data-slot":"button-group-separator",orientation:t,className:a.cn("relative self-stretch bg-border data-horizontal:w-auto data-vertical:h-auto",o),...r})}exports.ButtonGroup=d;exports.ButtonGroupSeparator=p;exports.ButtonGroupText=c;exports.buttonGroupVariants=n;
|
|
2
2
|
//# sourceMappingURL=button-group.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-group.cjs","sources":["../../src/components/ui/button-group.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\n\nimport { Separator } from \"@/components/ui/separator\"\nimport { cn } from \"@/lib/utils\"\n\nconst buttonGroupVariants = cva(\n \"flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-lg [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1\",\n {\n variants: {\n orientation: {\n horizontal:\n \"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-lg!\",\n vertical:\n \"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-lg!\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n },\n }\n)\n\nfunction ButtonGroup({\n className,\n orientation,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof buttonGroupVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"button-group\"\n data-orientation={orientation}\n className={cn(buttonGroupVariants({ orientation }), className)}\n {...props}\n />\n )\n}\n\nfunction ButtonGroupText({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n asChild?: boolean\n}) {\n const Comp = asChild ? Slot.Root : \"div\"\n\n return (\n <Comp\n className={cn(\n \"flex items-center gap-2 rounded-lg border
|
|
1
|
+
{"version":3,"file":"button-group.cjs","sources":["../../src/components/ui/button-group.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\n\nimport { Separator } from \"@/components/ui/separator\"\nimport { cn } from \"@/lib/utils\"\n\nconst buttonGroupVariants = cva(\n \"flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-lg [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1\",\n {\n variants: {\n orientation: {\n horizontal:\n \"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none [&>*:has(+[data-slot=button-group-separator])]:border-r-0 [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-lg!\",\n vertical:\n \"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none [&>*:has(+[data-slot=button-group-separator])]:border-b-0 [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-lg!\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n },\n }\n)\n\nfunction ButtonGroup({\n className,\n orientation,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof buttonGroupVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"button-group\"\n data-orientation={orientation}\n className={cn(buttonGroupVariants({ orientation }), className)}\n {...props}\n />\n )\n}\n\nfunction ButtonGroupText({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n asChild?: boolean\n}) {\n const Comp = asChild ? Slot.Root : \"div\"\n\n return (\n <Comp\n className={cn(\n \"flex items-center gap-2 rounded-lg border px-2.5 text-sm font-normal text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ButtonGroupSeparator({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"button-group-separator\"\n orientation={orientation}\n className={cn(\n \"relative self-stretch bg-border data-horizontal:w-auto data-vertical:h-auto\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n ButtonGroup,\n ButtonGroupSeparator,\n ButtonGroupText,\n buttonGroupVariants,\n}\n"],"names":["buttonGroupVariants","cva","ButtonGroup","className","orientation","props","jsx","cn","ButtonGroupText","asChild","Comp","Slot","ButtonGroupSeparator","Separator"],"mappings":"4OAMMA,EAAsBC,EAAAA,IAC1B,2RACA,CACE,SAAU,CACR,YAAa,CACX,WACE,kOACF,SACE,0OAAA,CACJ,EAEF,gBAAiB,CACf,YAAa,YAAA,CACf,CAEJ,EAEA,SAASC,EAAY,CACnB,UAAAC,EACA,YAAAC,EACA,GAAGC,CACL,EAA2E,CACzE,OACEC,EAAAA,IAAC,MAAA,CACC,KAAK,QACL,YAAU,eACV,mBAAkBF,EAClB,UAAWG,EAAAA,GAAGP,EAAoB,CAAE,YAAAI,CAAA,CAAa,EAAGD,CAAS,EAC5D,GAAGE,CAAA,CAAA,CAGV,CAEA,SAASG,EAAgB,CACvB,UAAAL,EACA,QAAAM,EAAU,GACV,GAAGJ,CACL,EAEG,CACD,MAAMK,EAAOD,EAAUE,EAAAA,KAAK,KAAO,MAEnC,OACEL,EAAAA,IAACI,EAAA,CACC,UAAWH,EAAAA,GACT,8JACAJ,CAAA,EAED,GAAGE,CAAA,CAAA,CAGV,CAEA,SAASO,EAAqB,CAC5B,UAAAT,EACA,YAAAC,EAAc,WACd,GAAGC,CACL,EAA2C,CACzC,OACEC,EAAAA,IAACO,EAAAA,UAAA,CACC,YAAU,yBACV,YAAAT,EACA,UAAWG,EAAAA,GACT,8EACAJ,CAAA,EAED,GAAGE,CAAA,CAAA,CAGV"}
|
package/dist/ui/button-group.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsx as a } from "react/jsx-runtime";
|
|
2
2
|
import { cva as s } from "class-variance-authority";
|
|
3
|
-
import { Slot as
|
|
4
|
-
import { Separator as
|
|
3
|
+
import { Slot as l } from "radix-ui";
|
|
4
|
+
import { Separator as i } from "./separator.js";
|
|
5
5
|
import { cn as e } from "../lib/utils.js";
|
|
6
6
|
const d = s(
|
|
7
7
|
"flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-lg [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1",
|
|
8
8
|
{
|
|
9
9
|
variants: {
|
|
10
10
|
orientation: {
|
|
11
|
-
horizontal: "[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-lg!",
|
|
12
|
-
vertical: "flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-lg!"
|
|
11
|
+
horizontal: "[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none [&>*:has(+[data-slot=button-group-separator])]:border-r-0 [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-lg!",
|
|
12
|
+
vertical: "flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none [&>*:has(+[data-slot=button-group-separator])]:border-b-0 [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-lg!"
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
defaultVariants: {
|
|
@@ -33,35 +33,35 @@ function h({
|
|
|
33
33
|
}
|
|
34
34
|
);
|
|
35
35
|
}
|
|
36
|
-
function
|
|
36
|
+
function m({
|
|
37
37
|
className: o,
|
|
38
38
|
asChild: t = !1,
|
|
39
39
|
...r
|
|
40
40
|
}) {
|
|
41
|
-
const n = t ?
|
|
41
|
+
const n = t ? l.Root : "div";
|
|
42
42
|
return /* @__PURE__ */ a(
|
|
43
43
|
n,
|
|
44
44
|
{
|
|
45
45
|
className: e(
|
|
46
|
-
"flex items-center gap-2 rounded-lg border
|
|
46
|
+
"flex items-center gap-2 rounded-lg border px-2.5 text-sm font-normal text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4",
|
|
47
47
|
o
|
|
48
48
|
),
|
|
49
49
|
...r
|
|
50
50
|
}
|
|
51
51
|
);
|
|
52
52
|
}
|
|
53
|
-
function
|
|
53
|
+
function b({
|
|
54
54
|
className: o,
|
|
55
55
|
orientation: t = "vertical",
|
|
56
56
|
...r
|
|
57
57
|
}) {
|
|
58
58
|
return /* @__PURE__ */ a(
|
|
59
|
-
|
|
59
|
+
i,
|
|
60
60
|
{
|
|
61
61
|
"data-slot": "button-group-separator",
|
|
62
62
|
orientation: t,
|
|
63
63
|
className: e(
|
|
64
|
-
"relative self-stretch bg-
|
|
64
|
+
"relative self-stretch bg-border data-horizontal:w-auto data-vertical:h-auto",
|
|
65
65
|
o
|
|
66
66
|
),
|
|
67
67
|
...r
|
|
@@ -70,8 +70,8 @@ function v({
|
|
|
70
70
|
}
|
|
71
71
|
export {
|
|
72
72
|
h as ButtonGroup,
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
b as ButtonGroupSeparator,
|
|
74
|
+
m as ButtonGroupText,
|
|
75
75
|
d as buttonGroupVariants
|
|
76
76
|
};
|
|
77
77
|
//# sourceMappingURL=button-group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button-group.js","sources":["../../src/components/ui/button-group.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\n\nimport { Separator } from \"@/components/ui/separator\"\nimport { cn } from \"@/lib/utils\"\n\nconst buttonGroupVariants = cva(\n \"flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-lg [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1\",\n {\n variants: {\n orientation: {\n horizontal:\n \"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-lg!\",\n vertical:\n \"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-lg!\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n },\n }\n)\n\nfunction ButtonGroup({\n className,\n orientation,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof buttonGroupVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"button-group\"\n data-orientation={orientation}\n className={cn(buttonGroupVariants({ orientation }), className)}\n {...props}\n />\n )\n}\n\nfunction ButtonGroupText({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n asChild?: boolean\n}) {\n const Comp = asChild ? Slot.Root : \"div\"\n\n return (\n <Comp\n className={cn(\n \"flex items-center gap-2 rounded-lg border
|
|
1
|
+
{"version":3,"file":"button-group.js","sources":["../../src/components/ui/button-group.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\n\nimport { Separator } from \"@/components/ui/separator\"\nimport { cn } from \"@/lib/utils\"\n\nconst buttonGroupVariants = cva(\n \"flex w-fit items-stretch *:focus-visible:relative *:focus-visible:z-10 has-[>[data-slot=button-group]]:gap-2 has-[select[aria-hidden=true]:last-child]:[&>[data-slot=select-trigger]:last-of-type]:rounded-r-lg [&>[data-slot=select-trigger]:not([class*='w-'])]:w-fit [&>input]:flex-1\",\n {\n variants: {\n orientation: {\n horizontal:\n \"[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none [&>*:has(+[data-slot=button-group-separator])]:border-r-0 [&>[data-slot]:not(:has(~[data-slot]))]:rounded-r-lg!\",\n vertical:\n \"flex-col [&>*:not(:first-child)]:rounded-t-none [&>*:not(:first-child)]:border-t-0 [&>*:not(:last-child)]:rounded-b-none [&>*:has(+[data-slot=button-group-separator])]:border-b-0 [&>[data-slot]:not(:has(~[data-slot]))]:rounded-b-lg!\",\n },\n },\n defaultVariants: {\n orientation: \"horizontal\",\n },\n }\n)\n\nfunction ButtonGroup({\n className,\n orientation,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof buttonGroupVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"button-group\"\n data-orientation={orientation}\n className={cn(buttonGroupVariants({ orientation }), className)}\n {...props}\n />\n )\n}\n\nfunction ButtonGroupText({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n asChild?: boolean\n}) {\n const Comp = asChild ? Slot.Root : \"div\"\n\n return (\n <Comp\n className={cn(\n \"flex items-center gap-2 rounded-lg border px-2.5 text-sm font-normal text-muted-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ButtonGroupSeparator({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"button-group-separator\"\n orientation={orientation}\n className={cn(\n \"relative self-stretch bg-border data-horizontal:w-auto data-vertical:h-auto\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n ButtonGroup,\n ButtonGroupSeparator,\n ButtonGroupText,\n buttonGroupVariants,\n}\n"],"names":["buttonGroupVariants","cva","ButtonGroup","className","orientation","props","jsx","cn","ButtonGroupText","asChild","Comp","Slot","ButtonGroupSeparator","Separator"],"mappings":";;;;;AAMA,MAAMA,IAAsBC;AAAA,EAC1B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,aAAa;AAAA,QACX,YACE;AAAA,QACF,UACE;AAAA,MAAA;AAAA,IACJ;AAAA,IAEF,iBAAiB;AAAA,MACf,aAAa;AAAA,IAAA;AAAA,EACf;AAEJ;AAEA,SAASC,EAAY;AAAA,EACnB,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,GAAGC;AACL,GAA2E;AACzE,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,aAAU;AAAA,MACV,oBAAkBF;AAAA,MAClB,WAAWG,EAAGP,EAAoB,EAAE,aAAAI,EAAA,CAAa,GAAGD,CAAS;AAAA,MAC5D,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASG,EAAgB;AAAA,EACvB,WAAAL;AAAA,EACA,SAAAM,IAAU;AAAA,EACV,GAAGJ;AACL,GAEG;AACD,QAAMK,IAAOD,IAAUE,EAAK,OAAO;AAEnC,SACE,gBAAAL;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,WAAWH;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASO,EAAqB;AAAA,EAC5B,WAAAT;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,GAAGC;AACL,GAA2C;AACzC,SACE,gBAAAC;AAAA,IAACO;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,aAAAT;AAAA,MACA,WAAWG;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
package/dist/ui/button.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),d=require("class-variance-authority"),u=require("radix-ui"),c=require("../lib/utils.cjs"),r=d.cva("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:shadow-focus active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-[color-mix(in_oklab,var(--primary),var(--primary-foreground)_15%)]",outline:"border-border bg-transparent hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground dark:border-input aria-pressed:bg-selected aria-pressed:text-selected-foreground aria-pressed:shadow-(--shadow-inset-pressed)",secondary:"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklab,var(--secondary),var(--secondary-foreground)_15%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground aria-pressed:bg-selected aria-pressed:text-selected-foreground aria-pressed:shadow-(--shadow-inset-pressed)",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:border-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});function l({className:t,variant:e="default",size:a="default",asChild:n=!1,...i}){const o=n?u.Slot.Root:"button";return s.jsx(o,{"data-slot":"button","data-variant":e,"data-size":a,className:c.cn(r({variant:e,size:a,className:t})),...i})}exports.Button=l;exports.buttonVariants=r;
|
|
2
2
|
//# sourceMappingURL=button.cjs.map
|
package/dist/ui/button.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.cjs","sources":["../../src/components/ui/button.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:shadow-focus active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground hover:bg-[color-mix(in_oklab,var(--primary),var(--primary-foreground)_15%)]\",\n outline:\n \"border-border bg-transparent hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground dark:border-input\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklab,var(--secondary),var(--secondary-foreground)_15%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:border-destructive/40\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default:\n \"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n xs: \"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5\",\n lg: \"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3\",\n icon: \"size-8\",\n \"icon-xs\":\n \"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\":\n \"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg\",\n \"icon-lg\": \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot.Root : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-size={size}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n"],"names":["buttonVariants","cva","Button","className","variant","size","asChild","props","Comp","Slot","jsx","cn"],"mappings":"+MAMMA,EAAiBC,EAAAA,IACrB,mfACA,CACE,SAAU,CACR,QAAS,CACP,QACE,iHACF,QACE,
|
|
1
|
+
{"version":3,"file":"button.cjs","sources":["../../src/components/ui/button.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:shadow-focus active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground hover:bg-[color-mix(in_oklab,var(--primary),var(--primary-foreground)_15%)]\",\n outline:\n \"border-border bg-transparent hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground dark:border-input aria-pressed:bg-selected aria-pressed:text-selected-foreground aria-pressed:shadow-(--shadow-inset-pressed)\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklab,var(--secondary),var(--secondary-foreground)_15%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground aria-pressed:bg-selected aria-pressed:text-selected-foreground aria-pressed:shadow-(--shadow-inset-pressed)\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:border-destructive/40\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default:\n \"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n xs: \"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5\",\n lg: \"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3\",\n icon: \"size-8\",\n \"icon-xs\":\n \"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\":\n \"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg\",\n \"icon-lg\": \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot.Root : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-size={size}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n"],"names":["buttonVariants","cva","Button","className","variant","size","asChild","props","Comp","Slot","jsx","cn"],"mappings":"+MAMMA,EAAiBC,EAAAA,IACrB,mfACA,CACE,SAAU,CACR,QAAS,CACP,QACE,iHACF,QACE,uQACF,UACE,4LACF,MACE,wNACF,YACE,yGACF,KAAM,iDAAA,EAER,KAAM,CACJ,QACE,uFACF,GAAI,gNACJ,GAAI,0NACJ,GAAI,uFACJ,KAAM,SACN,UACE,0HACF,UACE,qFACF,UAAW,QAAA,CACb,EAEF,gBAAiB,CACf,QAAS,UACT,KAAM,SAAA,CACR,CAEJ,EAEA,SAASC,EAAO,CACd,UAAAC,EACA,QAAAC,EAAU,UACV,KAAAC,EAAO,UACP,QAAAC,EAAU,GACV,GAAGC,CACL,EAGK,CACH,MAAMC,EAAOF,EAAUG,EAAAA,KAAK,KAAO,SAEnC,OACEC,EAAAA,IAACF,EAAA,CACC,YAAU,SACV,eAAcJ,EACd,YAAWC,EACX,UAAWM,EAAAA,GAAGX,EAAe,CAAE,QAAAI,EAAS,KAAAC,EAAM,UAAAF,CAAA,CAAW,CAAC,EACzD,GAAGI,CAAA,CAAA,CAGV"}
|
package/dist/ui/button.js
CHANGED
|
@@ -8,9 +8,9 @@ const u = d(
|
|
|
8
8
|
variants: {
|
|
9
9
|
variant: {
|
|
10
10
|
default: "bg-primary text-primary-foreground hover:bg-[color-mix(in_oklab,var(--primary),var(--primary-foreground)_15%)]",
|
|
11
|
-
outline: "border-border bg-transparent hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground dark:border-input",
|
|
11
|
+
outline: "border-border bg-transparent hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground dark:border-input aria-pressed:bg-selected aria-pressed:text-selected-foreground aria-pressed:shadow-(--shadow-inset-pressed)",
|
|
12
12
|
secondary: "bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklab,var(--secondary),var(--secondary-foreground)_15%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
|
|
13
|
-
ghost: "hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground",
|
|
13
|
+
ghost: "hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground aria-pressed:bg-selected aria-pressed:text-selected-foreground aria-pressed:shadow-(--shadow-inset-pressed)",
|
|
14
14
|
destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:border-destructive/40",
|
|
15
15
|
link: "text-primary underline-offset-4 hover:underline"
|
|
16
16
|
},
|
|
@@ -32,21 +32,21 @@ const u = d(
|
|
|
32
32
|
}
|
|
33
33
|
);
|
|
34
34
|
function b({
|
|
35
|
-
className:
|
|
35
|
+
className: a,
|
|
36
36
|
variant: e = "default",
|
|
37
|
-
size:
|
|
38
|
-
asChild:
|
|
39
|
-
...
|
|
37
|
+
size: r = "default",
|
|
38
|
+
asChild: t = !1,
|
|
39
|
+
...n
|
|
40
40
|
}) {
|
|
41
|
-
const o =
|
|
41
|
+
const o = t ? s.Root : "button";
|
|
42
42
|
return /* @__PURE__ */ i(
|
|
43
43
|
o,
|
|
44
44
|
{
|
|
45
45
|
"data-slot": "button",
|
|
46
46
|
"data-variant": e,
|
|
47
|
-
"data-size":
|
|
48
|
-
className: c(u({ variant: e, size:
|
|
49
|
-
...
|
|
47
|
+
"data-size": r,
|
|
48
|
+
className: c(u({ variant: e, size: r, className: a })),
|
|
49
|
+
...n
|
|
50
50
|
}
|
|
51
51
|
);
|
|
52
52
|
}
|
package/dist/ui/button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sources":["../../src/components/ui/button.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:shadow-focus active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground hover:bg-[color-mix(in_oklab,var(--primary),var(--primary-foreground)_15%)]\",\n outline:\n \"border-border bg-transparent hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground dark:border-input\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklab,var(--secondary),var(--secondary-foreground)_15%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:border-destructive/40\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default:\n \"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n xs: \"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5\",\n lg: \"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3\",\n icon: \"size-8\",\n \"icon-xs\":\n \"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\":\n \"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg\",\n \"icon-lg\": \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot.Root : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-size={size}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n"],"names":["buttonVariants","cva","Button","className","variant","size","asChild","props","Comp","Slot","jsx","cn"],"mappings":";;;;AAMA,MAAMA,IAAiBC;AAAA,EACrB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,SACE;AAAA,QACF,WACE;AAAA,QACF,OACE;AAAA,QACF,aACE;AAAA,QACF,MAAM;AAAA,MAAA;AAAA,MAER,MAAM;AAAA,QACJ,SACE;AAAA,QACF,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,WACE;AAAA,QACF,WACE;AAAA,QACF,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ;AAEA,SAASC,EAAO;AAAA,EACd,WAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,SAAAC,IAAU;AAAA,EACV,GAAGC;AACL,GAGK;AACH,QAAMC,IAAOF,IAAUG,EAAK,OAAO;AAEnC,SACE,gBAAAC;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,gBAAcJ;AAAA,MACd,aAAWC;AAAA,MACX,WAAWM,EAAGX,EAAe,EAAE,SAAAI,GAAS,MAAAC,GAAM,WAAAF,EAAA,CAAW,CAAC;AAAA,MACzD,GAAGI;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
|
1
|
+
{"version":3,"file":"button.js","sources":["../../src/components/ui/button.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:shadow-focus active:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground hover:bg-[color-mix(in_oklab,var(--primary),var(--primary-foreground)_15%)]\",\n outline:\n \"border-border bg-transparent hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground dark:border-input aria-pressed:bg-selected aria-pressed:text-selected-foreground aria-pressed:shadow-(--shadow-inset-pressed)\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-[color-mix(in_oklab,var(--secondary),var(--secondary-foreground)_15%)] aria-expanded:bg-secondary aria-expanded:text-secondary-foreground\",\n ghost:\n \"hover:bg-accent hover:text-accent-foreground aria-expanded:bg-accent aria-expanded:text-accent-foreground aria-pressed:bg-selected aria-pressed:text-selected-foreground aria-pressed:shadow-(--shadow-inset-pressed)\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90 focus-visible:border-destructive/40\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default:\n \"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n xs: \"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5\",\n lg: \"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3\",\n icon: \"size-8\",\n \"icon-xs\":\n \"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\":\n \"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg\",\n \"icon-lg\": \"size-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot.Root : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-size={size}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n"],"names":["buttonVariants","cva","Button","className","variant","size","asChild","props","Comp","Slot","jsx","cn"],"mappings":";;;;AAMA,MAAMA,IAAiBC;AAAA,EACrB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,SACE;AAAA,QACF,WACE;AAAA,QACF,OACE;AAAA,QACF,aACE;AAAA,QACF,MAAM;AAAA,MAAA;AAAA,MAER,MAAM;AAAA,QACJ,SACE;AAAA,QACF,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,WACE;AAAA,QACF,WACE;AAAA,QACF,WAAW;AAAA,MAAA;AAAA,IACb;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ;AAEA,SAASC,EAAO;AAAA,EACd,WAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,SAAAC,IAAU;AAAA,EACV,GAAGC;AACL,GAGK;AACH,QAAMC,IAAOF,IAAUG,EAAK,OAAO;AAEnC,SACE,gBAAAC;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,gBAAcJ;AAAA,MACd,aAAWC;AAAA,MACX,WAAWM,EAAGX,EAAe,EAAE,SAAAI,GAAS,MAAAC,GAAM,WAAAF,EAAA,CAAW,CAAC;AAAA,MACzD,GAAGI;AAAA,IAAA;AAAA,EAAA;AAGV;"}
|
package/dist/ui/toggle-group.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),d=require("lucide-react"),c=require("radix-ui"),m=require("react"),v=require("./toggle.cjs"),s=require("../lib/utils.cjs");function x(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,a.get?a:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const u=x(m),p=u.createContext({size:"default",variant:"default",spacing:0,orientation:"horizontal"});function h({className:e,variant:r,size:t,spacing:a=0,orientation:g="horizontal",children:n,...o}){return i.jsx(c.ToggleGroup.Root,{"data-slot":"toggle-group","data-variant":r,"data-size":t,"data-spacing":a,"data-orientation":g,style:{"--gap":a},className:s.cn("group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-vertical:flex-col data-vertical:items-stretch",e),...o,children:i.jsx(p.Provider,{value:{variant:r,size:t,spacing:a,orientation:g},children:n})})}function z({className:e,children:r,variant:t="default",size:a="default",selectedIndicator:g,...n}){const o=u.useContext(p),l=(o.spacing??0)===0,f=o.orientation==="vertical"?"[&:not(:first-child)]:border-t-0":"[&:not(:first-child)]:border-l-0";return i.jsxs(c.ToggleGroup.Item,{"data-slot":"toggle-group-item","data-variant":o.variant||t,"data-size":o.size||a,"data-spacing":o.spacing,className:s.cn("shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg",v.toggleVariants({variant:o.variant||t,size:o.size||a}),l&&"border border-input",l&&f,e),...n,children:[g!=="none"&&i.jsxs("span",{"aria-hidden":!0,"data-slot":"toggle-group-indicator",className:s.cn("grid size-4 shrink-0 place-items-center [&>svg]:[grid-area:1/1]",g===void 0&&"group-has-[svg:not([data-slot=toggle-group-indicator]_svg)]/toggle:hidden"),children:[i.jsx(d.CircleDashed,{className:"size-3.5 text-muted-foreground/50 transition-opacity group-data-[state=on]/toggle:opacity-0"}),i.jsx(d.Check,{className:"size-3.5 opacity-0 transition-opacity group-data-[state=on]/toggle:opacity-100"})]}),r]})}exports.ToggleGroup=h;exports.ToggleGroupItem=z;
|
|
2
2
|
//# sourceMappingURL=toggle-group.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-group.cjs","sources":["../../src/components/ui/toggle-group.tsx"],"sourcesContent":["import { type VariantProps } from \"class-variance-authority\"\nimport { ToggleGroup as ToggleGroupPrimitive } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { toggleVariants } from \"@/components/ui/toggle\"\nimport { cn } from \"@/lib/utils\"\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n orientation?: \"horizontal\" | \"vertical\"\n }\n>({\n size: \"default\",\n variant: \"default\",\n spacing: 0,\n orientation: \"horizontal\",\n})\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n spacing = 0,\n orientation = \"horizontal\",\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n orientation?: \"horizontal\" | \"vertical\"\n }) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n data-variant={variant}\n data-size={size}\n data-spacing={spacing}\n data-orientation={orientation}\n style={{ \"--gap\": spacing } as React.CSSProperties}\n className={cn(\n \"group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-vertical:flex-col data-vertical:items-stretch\",\n className\n )}\n {...props}\n >\n <ToggleGroupContext.Provider\n value={{ variant, size, spacing, orientation }}\n >\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n )\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant = \"default\",\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants>) {\n const context = React.useContext(ToggleGroupContext)\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={cn(\n \"shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg
|
|
1
|
+
{"version":3,"file":"toggle-group.cjs","sources":["../../src/components/ui/toggle-group.tsx"],"sourcesContent":["import { type VariantProps } from \"class-variance-authority\"\nimport { CircleDashed, Check } from \"lucide-react\"\nimport { ToggleGroup as ToggleGroupPrimitive } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { toggleVariants } from \"@/components/ui/toggle\"\nimport { cn } from \"@/lib/utils\"\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n orientation?: \"horizontal\" | \"vertical\"\n }\n>({\n size: \"default\",\n variant: \"default\",\n spacing: 0,\n orientation: \"horizontal\",\n})\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n spacing = 0,\n orientation = \"horizontal\",\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n orientation?: \"horizontal\" | \"vertical\"\n }) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n data-variant={variant}\n data-size={size}\n data-spacing={spacing}\n data-orientation={orientation}\n style={{ \"--gap\": spacing } as React.CSSProperties}\n className={cn(\n \"group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-vertical:flex-col data-vertical:items-stretch\",\n className\n )}\n {...props}\n >\n <ToggleGroupContext.Provider\n value={{ variant, size, spacing, orientation }}\n >\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n )\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant = \"default\",\n size = \"default\",\n selectedIndicator,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants> & {\n /**\n * Leading indicator for the selectable state (SW-2445). `\"dot\"` shows a\n * faint dotted ring when off that cross-fades to a check when on — a resting\n * affordance so an item reads as \"selectable\" and stays legible when every\n * option is selected.\n *\n * Defaults by content: **label-only** items get `\"dot\"`; items that render\n * an **icon** (icon-only or icon + label) get `\"none\"` — the icon carries\n * the state and there's no room for a ring. The default is decided in CSS\n * from the rendered DOM (`:has(svg)`), not from the React children, so a\n * label wrapped in a `<span>`, a translation component or a tooltip still\n * keeps its ring. Pass the prop to override either way.\n */\n selectedIndicator?: \"dot\" | \"none\"\n }) {\n const context = React.useContext(ToggleGroupContext)\n\n // Segmented (spacing=0) items carry their own border. Applied as plain\n // `border` rather than a `group-data-*:` variant on purpose: a group-scoped\n // selector compiles to specificity (0,2,0) and would silently beat a\n // consumer's own `border-r-0`/`border-l-0` in `className` (0,1,0). Plain\n // utilities stay at (0,1,0), so `className` keeps winning — which is the\n // contract every other component here follows.\n const segmented = (context.spacing ?? 0) === 0\n const collapseLeadingEdge =\n context.orientation === \"vertical\"\n ? \"[&:not(:first-child)]:border-t-0\"\n : \"[&:not(:first-child)]:border-l-0\"\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={cn(\n \"shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg\",\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n // SW-2445: every segmented item is bordered (not only variant=outline),\n // so the group always reads as outlined and stays countable when all are\n // selected. Non-first items drop their shared (leading) edge so adjacent\n // borders collapse to a single divider. Border + rounded corners live on\n // the same element, so the selected fill always aligns with the outline.\n segmented && \"border border-input\",\n segmented && collapseLeadingEdge,\n className\n )}\n {...props}\n >\n {selectedIndicator !== \"none\" && (\n <span\n aria-hidden\n data-slot=\"toggle-group-indicator\"\n className={cn(\n \"grid size-4 shrink-0 place-items-center [&>svg]:[grid-area:1/1]\",\n // Content-aware default, decided in CSS rather than by inspecting\n // React children: hide the ring when the item renders any *other*\n // svg (an icon carries the state). Inspecting children would treat\n // a `<span>`-wrapped or translated label as \"has icon\" and silently\n // drop the ring — misaligning a group that mixes plain and wrapped\n // labels. `display:none` also drops the slot, so no layout shift.\n selectedIndicator === undefined &&\n \"group-has-[svg:not([data-slot=toggle-group-indicator]_svg)]/toggle:hidden\"\n )}\n >\n <CircleDashed className=\"size-3.5 text-muted-foreground/50 transition-opacity group-data-[state=on]/toggle:opacity-0\" />\n <Check className=\"size-3.5 opacity-0 transition-opacity group-data-[state=on]/toggle:opacity-100\" />\n </span>\n )}\n {children}\n </ToggleGroupPrimitive.Item>\n )\n}\n\nexport { ToggleGroup, ToggleGroupItem }\n"],"names":["ToggleGroupContext","React","ToggleGroup","className","variant","size","spacing","orientation","children","props","jsx","ToggleGroupPrimitive","cn","ToggleGroupItem","selectedIndicator","context","segmented","collapseLeadingEdge","jsxs","toggleVariants","CircleDashed","Check"],"mappings":"0gBAQMA,EAAqBC,EAAM,cAK/B,CACA,KAAM,UACN,QAAS,UACT,QAAS,EACT,YAAa,YACf,CAAC,EAED,SAASC,EAAY,CACnB,UAAAC,EACA,QAAAC,EACA,KAAAC,EACA,QAAAC,EAAU,EACV,YAAAC,EAAc,aACd,SAAAC,EACA,GAAGC,CACL,EAIK,CACH,OACEC,EAAAA,IAACC,EAAAA,YAAqB,KAArB,CACC,YAAU,eACV,eAAcP,EACd,YAAWC,EACX,eAAcC,EACd,mBAAkBC,EAClB,MAAO,CAAE,QAASD,CAAA,EAClB,UAAWM,EAAAA,GACT,oMACAT,CAAA,EAED,GAAGM,EAEJ,SAAAC,EAAAA,IAACV,EAAmB,SAAnB,CACC,MAAO,CAAE,QAAAI,EAAS,KAAAC,EAAM,QAAAC,EAAS,YAAAC,CAAA,EAEhC,SAAAC,CAAA,CAAA,CACH,CAAA,CAGN,CAEA,SAASK,EAAgB,CACvB,UAAAV,EACA,SAAAK,EACA,QAAAJ,EAAU,UACV,KAAAC,EAAO,UACP,kBAAAS,EACA,GAAGL,CACL,EAgBK,CACH,MAAMM,EAAUd,EAAM,WAAWD,CAAkB,EAQ7CgB,GAAaD,EAAQ,SAAW,KAAO,EACvCE,EACJF,EAAQ,cAAgB,WACpB,mCACA,mCAEN,OACEG,EAAAA,KAACP,EAAAA,YAAqB,KAArB,CACC,YAAU,oBACV,eAAcI,EAAQ,SAAWX,EACjC,YAAWW,EAAQ,MAAQV,EAC3B,eAAcU,EAAQ,QACtB,UAAWH,EAAAA,GACT,yZACAO,iBAAe,CACb,QAASJ,EAAQ,SAAWX,EAC5B,KAAMW,EAAQ,MAAQV,CAAA,CACvB,EAMDW,GAAa,sBACbA,GAAaC,EACbd,CAAA,EAED,GAAGM,EAEH,SAAA,CAAAK,IAAsB,QACrBI,EAAAA,KAAC,OAAA,CACC,cAAW,GACX,YAAU,yBACV,UAAWN,EAAAA,GACT,kEAOAE,IAAsB,QACpB,2EAAA,EAGJ,SAAA,CAAAJ,EAAAA,IAACU,EAAAA,aAAA,CAAa,UAAU,6FAAA,CAA8F,EACtHV,EAAAA,IAACW,EAAAA,MAAA,CAAM,UAAU,gFAAA,CAAiF,CAAA,CAAA,CAAA,EAGrGb,CAAA,CAAA,CAAA,CAGP"}
|
package/dist/ui/toggle-group.js
CHANGED
|
@@ -1,81 +1,109 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
6
|
-
|
|
1
|
+
import { jsx as g, jsxs as l } from "react/jsx-runtime";
|
|
2
|
+
import { CircleDashed as f, Check as v } from "lucide-react";
|
|
3
|
+
import { ToggleGroup as p } from "radix-ui";
|
|
4
|
+
import * as c from "react";
|
|
5
|
+
import { toggleVariants as h } from "./toggle.js";
|
|
6
|
+
import { cn as s } from "../lib/utils.js";
|
|
7
|
+
const u = c.createContext({
|
|
7
8
|
size: "default",
|
|
8
9
|
variant: "default",
|
|
9
10
|
spacing: 0,
|
|
10
11
|
orientation: "horizontal"
|
|
11
12
|
});
|
|
12
|
-
function
|
|
13
|
-
className:
|
|
14
|
-
variant:
|
|
15
|
-
size:
|
|
16
|
-
spacing:
|
|
13
|
+
function G({
|
|
14
|
+
className: i,
|
|
15
|
+
variant: r,
|
|
16
|
+
size: o,
|
|
17
|
+
spacing: a = 0,
|
|
17
18
|
orientation: e = "horizontal",
|
|
18
|
-
children:
|
|
19
|
-
...
|
|
19
|
+
children: n,
|
|
20
|
+
...t
|
|
20
21
|
}) {
|
|
21
|
-
return /* @__PURE__ */
|
|
22
|
-
|
|
22
|
+
return /* @__PURE__ */ g(
|
|
23
|
+
p.Root,
|
|
23
24
|
{
|
|
24
25
|
"data-slot": "toggle-group",
|
|
25
|
-
"data-variant":
|
|
26
|
-
"data-size":
|
|
27
|
-
"data-spacing":
|
|
26
|
+
"data-variant": r,
|
|
27
|
+
"data-size": o,
|
|
28
|
+
"data-spacing": a,
|
|
28
29
|
"data-orientation": e,
|
|
29
|
-
style: { "--gap":
|
|
30
|
-
className:
|
|
30
|
+
style: { "--gap": a },
|
|
31
|
+
className: s(
|
|
31
32
|
"group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-vertical:flex-col data-vertical:items-stretch",
|
|
32
|
-
|
|
33
|
+
i
|
|
33
34
|
),
|
|
34
|
-
...
|
|
35
|
-
children: /* @__PURE__ */
|
|
36
|
-
|
|
35
|
+
...t,
|
|
36
|
+
children: /* @__PURE__ */ g(
|
|
37
|
+
u.Provider,
|
|
37
38
|
{
|
|
38
|
-
value: { variant:
|
|
39
|
-
children:
|
|
39
|
+
value: { variant: r, size: o, spacing: a, orientation: e },
|
|
40
|
+
children: n
|
|
40
41
|
}
|
|
41
42
|
)
|
|
42
43
|
}
|
|
43
44
|
);
|
|
44
45
|
}
|
|
45
|
-
function
|
|
46
|
-
className:
|
|
47
|
-
children:
|
|
48
|
-
variant:
|
|
49
|
-
size:
|
|
50
|
-
|
|
46
|
+
function N({
|
|
47
|
+
className: i,
|
|
48
|
+
children: r,
|
|
49
|
+
variant: o = "default",
|
|
50
|
+
size: a = "default",
|
|
51
|
+
selectedIndicator: e,
|
|
52
|
+
...n
|
|
51
53
|
}) {
|
|
52
|
-
const
|
|
53
|
-
return /* @__PURE__ */
|
|
54
|
-
|
|
54
|
+
const t = c.useContext(u), d = (t.spacing ?? 0) === 0, m = t.orientation === "vertical" ? "[&:not(:first-child)]:border-t-0" : "[&:not(:first-child)]:border-l-0";
|
|
55
|
+
return /* @__PURE__ */ l(
|
|
56
|
+
p.Item,
|
|
55
57
|
{
|
|
56
58
|
"data-slot": "toggle-group-item",
|
|
57
|
-
"data-variant":
|
|
58
|
-
"data-size":
|
|
59
|
-
"data-spacing":
|
|
60
|
-
className:
|
|
61
|
-
"shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg
|
|
62
|
-
|
|
63
|
-
variant:
|
|
64
|
-
size:
|
|
59
|
+
"data-variant": t.variant || o,
|
|
60
|
+
"data-size": t.size || a,
|
|
61
|
+
"data-spacing": t.spacing,
|
|
62
|
+
className: s(
|
|
63
|
+
"shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg",
|
|
64
|
+
h({
|
|
65
|
+
variant: t.variant || o,
|
|
66
|
+
size: t.size || a
|
|
65
67
|
}),
|
|
66
|
-
// SW-
|
|
67
|
-
//
|
|
68
|
-
//
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
// SW-2445: every segmented item is bordered (not only variant=outline),
|
|
69
|
+
// so the group always reads as outlined and stays countable when all are
|
|
70
|
+
// selected. Non-first items drop their shared (leading) edge so adjacent
|
|
71
|
+
// borders collapse to a single divider. Border + rounded corners live on
|
|
72
|
+
// the same element, so the selected fill always aligns with the outline.
|
|
73
|
+
d && "border border-input",
|
|
74
|
+
d && m,
|
|
75
|
+
i
|
|
71
76
|
),
|
|
72
|
-
...
|
|
73
|
-
children:
|
|
77
|
+
...n,
|
|
78
|
+
children: [
|
|
79
|
+
e !== "none" && /* @__PURE__ */ l(
|
|
80
|
+
"span",
|
|
81
|
+
{
|
|
82
|
+
"aria-hidden": !0,
|
|
83
|
+
"data-slot": "toggle-group-indicator",
|
|
84
|
+
className: s(
|
|
85
|
+
"grid size-4 shrink-0 place-items-center [&>svg]:[grid-area:1/1]",
|
|
86
|
+
// Content-aware default, decided in CSS rather than by inspecting
|
|
87
|
+
// React children: hide the ring when the item renders any *other*
|
|
88
|
+
// svg (an icon carries the state). Inspecting children would treat
|
|
89
|
+
// a `<span>`-wrapped or translated label as "has icon" and silently
|
|
90
|
+
// drop the ring — misaligning a group that mixes plain and wrapped
|
|
91
|
+
// labels. `display:none` also drops the slot, so no layout shift.
|
|
92
|
+
e === void 0 && "group-has-[svg:not([data-slot=toggle-group-indicator]_svg)]/toggle:hidden"
|
|
93
|
+
),
|
|
94
|
+
children: [
|
|
95
|
+
/* @__PURE__ */ g(f, { className: "size-3.5 text-muted-foreground/50 transition-opacity group-data-[state=on]/toggle:opacity-0" }),
|
|
96
|
+
/* @__PURE__ */ g(v, { className: "size-3.5 opacity-0 transition-opacity group-data-[state=on]/toggle:opacity-100" })
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
),
|
|
100
|
+
r
|
|
101
|
+
]
|
|
74
102
|
}
|
|
75
103
|
);
|
|
76
104
|
}
|
|
77
105
|
export {
|
|
78
|
-
|
|
79
|
-
|
|
106
|
+
G as ToggleGroup,
|
|
107
|
+
N as ToggleGroupItem
|
|
80
108
|
};
|
|
81
109
|
//# sourceMappingURL=toggle-group.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-group.js","sources":["../../src/components/ui/toggle-group.tsx"],"sourcesContent":["import { type VariantProps } from \"class-variance-authority\"\nimport { ToggleGroup as ToggleGroupPrimitive } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { toggleVariants } from \"@/components/ui/toggle\"\nimport { cn } from \"@/lib/utils\"\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n orientation?: \"horizontal\" | \"vertical\"\n }\n>({\n size: \"default\",\n variant: \"default\",\n spacing: 0,\n orientation: \"horizontal\",\n})\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n spacing = 0,\n orientation = \"horizontal\",\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n orientation?: \"horizontal\" | \"vertical\"\n }) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n data-variant={variant}\n data-size={size}\n data-spacing={spacing}\n data-orientation={orientation}\n style={{ \"--gap\": spacing } as React.CSSProperties}\n className={cn(\n \"group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-vertical:flex-col data-vertical:items-stretch\",\n className\n )}\n {...props}\n >\n <ToggleGroupContext.Provider\n value={{ variant, size, spacing, orientation }}\n >\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n )\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant = \"default\",\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants>) {\n const context = React.useContext(ToggleGroupContext)\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={cn(\n \"shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg
|
|
1
|
+
{"version":3,"file":"toggle-group.js","sources":["../../src/components/ui/toggle-group.tsx"],"sourcesContent":["import { type VariantProps } from \"class-variance-authority\"\nimport { CircleDashed, Check } from \"lucide-react\"\nimport { ToggleGroup as ToggleGroupPrimitive } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { toggleVariants } from \"@/components/ui/toggle\"\nimport { cn } from \"@/lib/utils\"\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n orientation?: \"horizontal\" | \"vertical\"\n }\n>({\n size: \"default\",\n variant: \"default\",\n spacing: 0,\n orientation: \"horizontal\",\n})\n\nfunction ToggleGroup({\n className,\n variant,\n size,\n spacing = 0,\n orientation = \"horizontal\",\n children,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants> & {\n spacing?: number\n orientation?: \"horizontal\" | \"vertical\"\n }) {\n return (\n <ToggleGroupPrimitive.Root\n data-slot=\"toggle-group\"\n data-variant={variant}\n data-size={size}\n data-spacing={spacing}\n data-orientation={orientation}\n style={{ \"--gap\": spacing } as React.CSSProperties}\n className={cn(\n \"group/toggle-group flex w-fit flex-row items-center gap-[--spacing(var(--gap))] rounded-lg data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-vertical:flex-col data-vertical:items-stretch\",\n className\n )}\n {...props}\n >\n <ToggleGroupContext.Provider\n value={{ variant, size, spacing, orientation }}\n >\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n )\n}\n\nfunction ToggleGroupItem({\n className,\n children,\n variant = \"default\",\n size = \"default\",\n selectedIndicator,\n ...props\n}: React.ComponentProps<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants> & {\n /**\n * Leading indicator for the selectable state (SW-2445). `\"dot\"` shows a\n * faint dotted ring when off that cross-fades to a check when on — a resting\n * affordance so an item reads as \"selectable\" and stays legible when every\n * option is selected.\n *\n * Defaults by content: **label-only** items get `\"dot\"`; items that render\n * an **icon** (icon-only or icon + label) get `\"none\"` — the icon carries\n * the state and there's no room for a ring. The default is decided in CSS\n * from the rendered DOM (`:has(svg)`), not from the React children, so a\n * label wrapped in a `<span>`, a translation component or a tooltip still\n * keeps its ring. Pass the prop to override either way.\n */\n selectedIndicator?: \"dot\" | \"none\"\n }) {\n const context = React.useContext(ToggleGroupContext)\n\n // Segmented (spacing=0) items carry their own border. Applied as plain\n // `border` rather than a `group-data-*:` variant on purpose: a group-scoped\n // selector compiles to specificity (0,2,0) and would silently beat a\n // consumer's own `border-r-0`/`border-l-0` in `className` (0,1,0). Plain\n // utilities stay at (0,1,0), so `className` keeps winning — which is the\n // contract every other component here follows.\n const segmented = (context.spacing ?? 0) === 0\n const collapseLeadingEdge =\n context.orientation === \"vertical\"\n ? \"[&:not(:first-child)]:border-t-0\"\n : \"[&:not(:first-child)]:border-l-0\"\n\n return (\n <ToggleGroupPrimitive.Item\n data-slot=\"toggle-group-item\"\n data-variant={context.variant || variant}\n data-size={context.size || size}\n data-spacing={context.spacing}\n className={cn(\n \"shrink-0 group-data-[spacing=0]/toggle-group:rounded-none group-data-[spacing=0]/toggle-group:px-2 focus:z-10 focus-visible:z-10 group-data-horizontal/toggle-group:data-[spacing=0]:first:rounded-l-lg group-data-vertical/toggle-group:data-[spacing=0]:first:rounded-t-lg group-data-horizontal/toggle-group:data-[spacing=0]:last:rounded-r-lg group-data-vertical/toggle-group:data-[spacing=0]:last:rounded-b-lg\",\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n // SW-2445: every segmented item is bordered (not only variant=outline),\n // so the group always reads as outlined and stays countable when all are\n // selected. Non-first items drop their shared (leading) edge so adjacent\n // borders collapse to a single divider. Border + rounded corners live on\n // the same element, so the selected fill always aligns with the outline.\n segmented && \"border border-input\",\n segmented && collapseLeadingEdge,\n className\n )}\n {...props}\n >\n {selectedIndicator !== \"none\" && (\n <span\n aria-hidden\n data-slot=\"toggle-group-indicator\"\n className={cn(\n \"grid size-4 shrink-0 place-items-center [&>svg]:[grid-area:1/1]\",\n // Content-aware default, decided in CSS rather than by inspecting\n // React children: hide the ring when the item renders any *other*\n // svg (an icon carries the state). Inspecting children would treat\n // a `<span>`-wrapped or translated label as \"has icon\" and silently\n // drop the ring — misaligning a group that mixes plain and wrapped\n // labels. `display:none` also drops the slot, so no layout shift.\n selectedIndicator === undefined &&\n \"group-has-[svg:not([data-slot=toggle-group-indicator]_svg)]/toggle:hidden\"\n )}\n >\n <CircleDashed className=\"size-3.5 text-muted-foreground/50 transition-opacity group-data-[state=on]/toggle:opacity-0\" />\n <Check className=\"size-3.5 opacity-0 transition-opacity group-data-[state=on]/toggle:opacity-100\" />\n </span>\n )}\n {children}\n </ToggleGroupPrimitive.Item>\n )\n}\n\nexport { ToggleGroup, ToggleGroupItem }\n"],"names":["ToggleGroupContext","React","ToggleGroup","className","variant","size","spacing","orientation","children","props","jsx","ToggleGroupPrimitive","cn","ToggleGroupItem","selectedIndicator","context","segmented","collapseLeadingEdge","jsxs","toggleVariants","CircleDashed","Check"],"mappings":";;;;;;AAQA,MAAMA,IAAqBC,EAAM,cAK/B;AAAA,EACA,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AAAA,EACT,aAAa;AACf,CAAC;AAED,SAASC,EAAY;AAAA,EACnB,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,aAAAC,IAAc;AAAA,EACd,UAAAC;AAAA,EACA,GAAGC;AACL,GAIK;AACH,SACE,gBAAAC;AAAA,IAACC,EAAqB;AAAA,IAArB;AAAA,MACC,aAAU;AAAA,MACV,gBAAcP;AAAA,MACd,aAAWC;AAAA,MACX,gBAAcC;AAAA,MACd,oBAAkBC;AAAA,MAClB,OAAO,EAAE,SAASD,EAAA;AAAA,MAClB,WAAWM;AAAA,QACT;AAAA,QACAT;AAAA,MAAA;AAAA,MAED,GAAGM;AAAA,MAEJ,UAAA,gBAAAC;AAAA,QAACV,EAAmB;AAAA,QAAnB;AAAA,UACC,OAAO,EAAE,SAAAI,GAAS,MAAAC,GAAM,SAAAC,GAAS,aAAAC,EAAA;AAAA,UAEhC,UAAAC;AAAA,QAAA;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AAGN;AAEA,SAASK,EAAgB;AAAA,EACvB,WAAAV;AAAA,EACA,UAAAK;AAAA,EACA,SAAAJ,IAAU;AAAA,EACV,MAAAC,IAAO;AAAA,EACP,mBAAAS;AAAA,EACA,GAAGL;AACL,GAgBK;AACH,QAAMM,IAAUd,EAAM,WAAWD,CAAkB,GAQ7CgB,KAAaD,EAAQ,WAAW,OAAO,GACvCE,IACJF,EAAQ,gBAAgB,aACpB,qCACA;AAEN,SACE,gBAAAG;AAAA,IAACP,EAAqB;AAAA,IAArB;AAAA,MACC,aAAU;AAAA,MACV,gBAAcI,EAAQ,WAAWX;AAAA,MACjC,aAAWW,EAAQ,QAAQV;AAAA,MAC3B,gBAAcU,EAAQ;AAAA,MACtB,WAAWH;AAAA,QACT;AAAA,QACAO,EAAe;AAAA,UACb,SAASJ,EAAQ,WAAWX;AAAA,UAC5B,MAAMW,EAAQ,QAAQV;AAAA,QAAA,CACvB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAMDW,KAAa;AAAA,QACbA,KAAaC;AAAA,QACbd;AAAA,MAAA;AAAA,MAED,GAAGM;AAAA,MAEH,UAAA;AAAA,QAAAK,MAAsB,UACrB,gBAAAI;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,eAAW;AAAA,YACX,aAAU;AAAA,YACV,WAAWN;AAAA,cACT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAOAE,MAAsB,UACpB;AAAA,YAAA;AAAA,YAGJ,UAAA;AAAA,cAAA,gBAAAJ,EAACU,GAAA,EAAa,WAAU,8FAAA,CAA8F;AAAA,cACtH,gBAAAV,EAACW,GAAA,EAAM,WAAU,iFAAA,CAAiF;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAGrGb;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
package/dist/ui/toggle.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("react/jsx-runtime"),o=require("class-variance-authority"),i=require("radix-ui"),d=require("../lib/utils.cjs"),e=o.cva("group/toggle inline-flex items-center justify-center gap-1 rounded-lg text-sm font-medium whitespace-nowrap transition-all outline-none hover:bg-accent hover:text-accent-foreground focus-visible:border-ring focus-visible:shadow-focus disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus aria-pressed:bg-selected aria-pressed:text-selected-foreground aria-pressed:shadow-(--shadow-inset-pressed) data-[state=on]:bg-selected data-[state=on]:text-selected-foreground data-[state=on]:shadow-(--shadow-inset-pressed) [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent hover:bg-accent aria-pressed:border-selected-border data-[state=on]:border-selected-border"},size:{default:"h-8 min-w-8 px-2",sm:"h-7 min-w-7 rounded-[min(var(--radius-md),12px)] px-1.5 text-[0.8rem]",lg:"h-9 min-w-9 px-2.5"}},defaultVariants:{variant:"default",size:"default"}});function l({className:t,variant:a="default",size:r="default",...s}){return n.jsx(i.Toggle.Root,{"data-slot":"toggle",className:d.cn(e({variant:a,size:r,className:t})),...s})}exports.Toggle=l;exports.toggleVariants=e;
|
|
2
2
|
//# sourceMappingURL=toggle.cjs.map
|
package/dist/ui/toggle.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toggle.cjs","sources":["../../src/components/ui/toggle.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Toggle as TogglePrimitive } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst toggleVariants = cva(\n \"group/toggle inline-flex items-center justify-center gap-1 rounded-lg text-sm font-medium whitespace-nowrap transition-all outline-none hover:bg-accent hover:text-accent-foreground focus-visible:border-ring focus-visible:shadow-focus disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus aria-pressed:bg-
|
|
1
|
+
{"version":3,"file":"toggle.cjs","sources":["../../src/components/ui/toggle.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport { Toggle as TogglePrimitive } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst toggleVariants = cva(\n \"group/toggle inline-flex items-center justify-center gap-1 rounded-lg text-sm font-medium whitespace-nowrap transition-all outline-none hover:bg-accent hover:text-accent-foreground focus-visible:border-ring focus-visible:shadow-focus disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus aria-pressed:bg-selected aria-pressed:text-selected-foreground aria-pressed:shadow-(--shadow-inset-pressed) data-[state=on]:bg-selected data-[state=on]:text-selected-foreground data-[state=on]:shadow-(--shadow-inset-pressed) [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline:\n \"border border-input bg-transparent hover:bg-accent aria-pressed:border-selected-border data-[state=on]:border-selected-border\",\n },\n size: {\n default: \"h-8 min-w-8 px-2\",\n sm: \"h-7 min-w-7 rounded-[min(var(--radius-md),12px)] px-1.5 text-[0.8rem]\",\n lg: \"h-9 min-w-9 px-2.5\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Toggle({\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof TogglePrimitive.Root> &\n VariantProps<typeof toggleVariants>) {\n return (\n <TogglePrimitive.Root\n data-slot=\"toggle\"\n className={cn(toggleVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Toggle, toggleVariants }\n"],"names":["toggleVariants","cva","Toggle","className","variant","size","props","jsx","TogglePrimitive","cn"],"mappings":"+MAMMA,EAAiBC,EAAAA,IACrB,0oBACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,iBACT,QACE,+HAAA,EAEJ,KAAM,CACJ,QAAS,mBACT,GAAI,wEACJ,GAAI,oBAAA,CACN,EAEF,gBAAiB,CACf,QAAS,UACT,KAAM,SAAA,CACR,CAEJ,EAEA,SAASC,EAAO,CACd,UAAAC,EACA,QAAAC,EAAU,UACV,KAAAC,EAAO,UACP,GAAGC,CACL,EACuC,CACrC,OACEC,EAAAA,IAACC,EAAAA,OAAgB,KAAhB,CACC,YAAU,SACV,UAAWC,EAAAA,GAAGT,EAAe,CAAE,QAAAI,EAAS,KAAAC,EAAM,UAAAF,CAAA,CAAW,CAAC,EACzD,GAAGG,CAAA,CAAA,CAGV"}
|
package/dist/ui/toggle.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { jsx as
|
|
1
|
+
import { jsx as s } from "react/jsx-runtime";
|
|
2
2
|
import { cva as o } from "class-variance-authority";
|
|
3
|
-
import { Toggle as
|
|
4
|
-
import { cn as
|
|
5
|
-
const
|
|
6
|
-
"group/toggle inline-flex items-center justify-center gap-1 rounded-lg text-sm font-medium whitespace-nowrap transition-all outline-none hover:bg-accent hover:text-accent-foreground focus-visible:border-ring focus-visible:shadow-focus disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus aria-pressed:bg-
|
|
3
|
+
import { Toggle as n } from "radix-ui";
|
|
4
|
+
import { cn as d } from "../lib/utils.js";
|
|
5
|
+
const i = o(
|
|
6
|
+
"group/toggle inline-flex items-center justify-center gap-1 rounded-lg text-sm font-medium whitespace-nowrap transition-all outline-none hover:bg-accent hover:text-accent-foreground focus-visible:border-ring focus-visible:shadow-focus disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus aria-pressed:bg-selected aria-pressed:text-selected-foreground aria-pressed:shadow-(--shadow-inset-pressed) data-[state=on]:bg-selected data-[state=on]:text-selected-foreground data-[state=on]:shadow-(--shadow-inset-pressed) [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
7
7
|
{
|
|
8
8
|
variants: {
|
|
9
9
|
variant: {
|
|
10
10
|
default: "bg-transparent",
|
|
11
|
-
outline: "border border-input bg-transparent hover:bg-accent"
|
|
11
|
+
outline: "border border-input bg-transparent hover:bg-accent aria-pressed:border-selected-border data-[state=on]:border-selected-border"
|
|
12
12
|
},
|
|
13
13
|
size: {
|
|
14
14
|
default: "h-8 min-w-8 px-2",
|
|
@@ -22,23 +22,23 @@ const d = o(
|
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
24
|
);
|
|
25
|
-
function
|
|
25
|
+
function p({
|
|
26
26
|
className: e,
|
|
27
27
|
variant: t = "default",
|
|
28
28
|
size: a = "default",
|
|
29
|
-
...
|
|
29
|
+
...r
|
|
30
30
|
}) {
|
|
31
|
-
return /* @__PURE__ */
|
|
32
|
-
|
|
31
|
+
return /* @__PURE__ */ s(
|
|
32
|
+
n.Root,
|
|
33
33
|
{
|
|
34
34
|
"data-slot": "toggle",
|
|
35
|
-
className:
|
|
36
|
-
...
|
|
35
|
+
className: d(i({ variant: t, size: a, className: e })),
|
|
36
|
+
...r
|
|
37
37
|
}
|
|
38
38
|
);
|
|
39
39
|
}
|
|
40
40
|
export {
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
p as Toggle,
|
|
42
|
+
i as toggleVariants
|
|
43
43
|
};
|
|
44
44
|
//# sourceMappingURL=toggle.js.map
|