@oneplatformdev/ui 0.1.10-116 → 0.1.10-119
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/Button/Button.d.ts.map +1 -1
- package/Button/Button.js +71 -46
- package/Button/Button.js.map +1 -1
- package/Button/Button.stories.d.ts +3 -0
- package/Button/Button.stories.d.ts.map +1 -1
- package/Button/Button.stories.js +128 -13
- package/Button/Button.stories.js.map +1 -1
- package/Button/Button.types.d.ts +7 -6
- package/Button/Button.types.d.ts.map +1 -1
- package/Button/buttonVariants.d.ts +33 -1
- package/Button/buttonVariants.d.ts.map +1 -1
- package/Button/buttonVariants.js +157 -3
- package/Button/buttonVariants.js.map +1 -1
- package/Button/index.js +5 -4
- package/ButtonIcon/buttonIconVariants.d.ts +1 -1
- package/CHANGELOG.md +16 -0
- package/DataTable/useDataTable.d.ts +1 -1
- package/Form/Form_old.d.ts +1 -1
- package/Form/Form_old.d.ts.map +1 -1
- package/FormSelect/FormSelect.js +4 -4
- package/FormSelect/FormSelect.js.map +1 -1
- package/Toast/Toast.d.ts +1 -1
- package/Toast/toastVariants.d.ts +1 -1
- package/index.js +325 -324
- package/package.json +4 -4
package/Button/Button.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAkDlD,eAAO,MAAM,MAAM,uFA+DlB,CAAA;AAGD,eAAe,MAAM,CAAC"}
|
package/Button/Button.js
CHANGED
|
@@ -1,56 +1,81 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import * as
|
|
3
|
-
import { Slot as
|
|
4
|
-
import { cn as
|
|
5
|
-
import { buttonVariants as
|
|
1
|
+
import { jsxs as g, jsx as s } from "react/jsx-runtime";
|
|
2
|
+
import * as x from "react";
|
|
3
|
+
import { Slot as z } from "@radix-ui/react-slot";
|
|
4
|
+
import { cn as k } from "@oneplatformdev/utils";
|
|
5
|
+
import { buttonVariants as I } from "./buttonVariants.js";
|
|
6
6
|
import "@radix-ui/react-tooltip";
|
|
7
|
-
import { Tooltip as
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
return
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
7
|
+
import { Tooltip as N } from "../Tooltip/Tooltip.js";
|
|
8
|
+
import { LoadedIcon as u } from "../LoadedIcon/LoadedIcon.js";
|
|
9
|
+
const j = (n) => {
|
|
10
|
+
const { variant: o, size: e, color: r } = n, t = { color: r, variant: o, size: e };
|
|
11
|
+
if (e === "icon")
|
|
12
|
+
throw console.warn('Button size "icon" is not supported. Please use ButtonIcon component for icon-only buttons.'), new Error('Button size "icon" is not supported. Please use ButtonIcon component for icon-only buttons.');
|
|
13
|
+
if (o === "default")
|
|
14
|
+
return console.warn('Button variant "default" is deprecated. Please use "variant=contained color=primary" instead.'), t.variant = "contained", t.color = "primary", t;
|
|
15
|
+
if (o === "outline")
|
|
16
|
+
return console.warn('Button variant "outline" is deprecated. Please use "variant=outlined color=primary" instead.'), t.variant = "outlined", t.color = "primary", t;
|
|
17
|
+
if (o === "secondary")
|
|
18
|
+
return console.warn('Button variant "secondary" is deprecated. Please use "variant=contained color=secondary" instead.'), t.variant = "contained", t.color = "secondary", t;
|
|
19
|
+
if (o === "ghost")
|
|
20
|
+
return console.warn('Button variant "ghost" is deprecated. Please use "variant=text color=primary" instead.'), t.variant = "text", t.color = "primary", t;
|
|
21
|
+
if (o === "destructive")
|
|
22
|
+
return console.warn('Button variant "destructive" is deprecated. Please use "variant=contained color=error" instead.'), t.variant = "contained", t.color = "error", t;
|
|
23
|
+
if (o === "link")
|
|
24
|
+
throw console.warn('Button variant "link" is not implemented yet. Please contact the development team for more information.'), new Error('Button variant "link" is not implemented yet. Please contact the development team for more information.');
|
|
25
|
+
return t;
|
|
26
|
+
}, A = x.forwardRef(
|
|
27
|
+
(n, o) => {
|
|
28
|
+
const {
|
|
29
|
+
disabled: e,
|
|
30
|
+
className: r,
|
|
31
|
+
variant: t,
|
|
32
|
+
color: p,
|
|
33
|
+
size: f,
|
|
34
|
+
asChild: v = !1,
|
|
35
|
+
title: y = "",
|
|
36
|
+
tooltip: B,
|
|
37
|
+
tooltipProps: c = {},
|
|
38
|
+
message: h,
|
|
39
|
+
loading: a = !1,
|
|
40
|
+
children: w,
|
|
41
|
+
startAdornment: l,
|
|
42
|
+
endAdornment: d,
|
|
43
|
+
...P
|
|
44
|
+
} = n, b = v ? z : "button", i = h || B || y, m = /* @__PURE__ */ g(
|
|
45
|
+
b,
|
|
41
46
|
{
|
|
42
47
|
type: "button",
|
|
43
|
-
ref:
|
|
44
|
-
disabled:
|
|
45
|
-
className:
|
|
46
|
-
|
|
48
|
+
ref: o,
|
|
49
|
+
disabled: e,
|
|
50
|
+
className: k(
|
|
51
|
+
I({
|
|
52
|
+
...j({ variant: t, size: f, color: p }),
|
|
53
|
+
className: r
|
|
54
|
+
}),
|
|
55
|
+
a && "pointer-events-none opacity-80"
|
|
56
|
+
),
|
|
57
|
+
...P,
|
|
58
|
+
children: [
|
|
59
|
+
!!l && /* @__PURE__ */ s(u, { loading: a, children: l }),
|
|
60
|
+
w,
|
|
61
|
+
!!d && /* @__PURE__ */ s(u, { loading: a, children: d })
|
|
62
|
+
]
|
|
47
63
|
}
|
|
48
64
|
);
|
|
65
|
+
return i ? /* @__PURE__ */ s(
|
|
66
|
+
N,
|
|
67
|
+
{
|
|
68
|
+
...c || {},
|
|
69
|
+
open: c.open ?? (e || !i) ? !1 : void 0,
|
|
70
|
+
message: i,
|
|
71
|
+
children: m
|
|
72
|
+
}
|
|
73
|
+
) : m;
|
|
49
74
|
}
|
|
50
75
|
);
|
|
51
|
-
|
|
76
|
+
A.displayName = "Button";
|
|
52
77
|
export {
|
|
53
|
-
|
|
54
|
-
|
|
78
|
+
A as Button,
|
|
79
|
+
A as default
|
|
55
80
|
};
|
|
56
81
|
//# sourceMappingURL=Button.js.map
|
package/Button/Button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../../src/Button/Button.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\n\nimport { cn } from \"@oneplatformdev/utils\"\nimport { buttonVariants } from './buttonVariants';\nimport { ButtonProps } from './Button.types';\n\nimport { Tooltip } from '../Tooltip';\n\n// TODO: create ButtonIcon component | update button | add start/end icon\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({\n
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../src/Button/Button.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\n\nimport { cn } from \"@oneplatformdev/utils\"\nimport { ButtonCVAProps, buttonVariants } from './buttonVariants';\nimport { type ButtonProps } from './Button.types';\n\nimport { Tooltip } from '../Tooltip';\nimport { LoadedIcon } from \"../LoadedIcon\";\n\nconst normalizedVariantProperties = (props: ButtonCVAProps): ButtonCVAProps => {\n const { variant, size, color } = props;\n const vls = { color, variant, size }\n if(size === 'icon') {\n console.warn('Button size \"icon\" is not supported. Please use ButtonIcon component for icon-only buttons.')\n throw new Error('Button size \"icon\" is not supported. Please use ButtonIcon component for icon-only buttons.')\n }\n if(variant === 'default') {\n console.warn('Button variant \"default\" is deprecated. Please use \"variant=contained color=primary\" instead.')\n vls.variant = 'contained'\n vls.color = 'primary'\n return vls\n }\n if(variant === 'outline') {\n console.warn('Button variant \"outline\" is deprecated. Please use \"variant=outlined color=primary\" instead.')\n vls.variant = 'outlined'\n vls.color = 'primary'\n return vls\n }\n if(variant === 'secondary') {\n console.warn('Button variant \"secondary\" is deprecated. Please use \"variant=contained color=secondary\" instead.')\n vls.variant = 'contained'\n vls.color = 'secondary'\n return vls\n }\n if(variant === 'ghost') {\n console.warn('Button variant \"ghost\" is deprecated. Please use \"variant=text color=primary\" instead.')\n vls.variant = 'text'\n vls.color = 'primary'\n return vls\n }\n if(variant === 'destructive') {\n console.warn('Button variant \"destructive\" is deprecated. Please use \"variant=contained color=error\" instead.')\n vls.variant = 'contained'\n vls.color = 'error'\n return vls\n }\n if(variant === 'link') {\n console.warn('Button variant \"link\" is not implemented yet. Please contact the development team for more information.')\n throw new Error('Button variant \"link\" is not implemented yet. Please contact the development team for more information.')\n }\n return vls;\n}\n\n// TODO: create ButtonIcon component | update button | add start/end icon\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (props, ref) => {\n const {\n disabled,\n className,\n variant,\n color,\n size,\n asChild = false,\n title = '',\n tooltip,\n tooltipProps = {},\n message,\n loading = false,\n children,\n startAdornment,\n endAdornment,\n ...rest\n } = props;\n const Comp = asChild ? Slot : \"button\"\n const msg = message || tooltip || title;\n\n const cmp = (\n <Comp\n type='button'\n ref={ref}\n disabled={disabled}\n className={cn(\n buttonVariants({\n ...normalizedVariantProperties({ variant, size, color }),\n className\n }),\n loading && 'pointer-events-none opacity-80',\n )}\n {...rest}\n >\n {!!startAdornment && (\n <LoadedIcon loading={loading}>\n {startAdornment}\n </LoadedIcon>\n )}\n\n {children}\n\n {!!endAdornment && (\n <LoadedIcon loading={loading}>\n {endAdornment}\n </LoadedIcon>\n )}\n </Comp>\n )\n\n if (!msg) return cmp\n return (\n <Tooltip\n {...(tooltipProps || {})}\n open={tooltipProps.open ?? (disabled || !msg) ? false : undefined}\n message={msg}\n >\n {cmp}\n </Tooltip>\n )\n }\n)\nButton.displayName = \"Button\"\n\nexport default Button;\n"],"names":["normalizedVariantProperties","props","variant","size","color","vls","Button","React","ref","disabled","className","asChild","title","tooltip","tooltipProps","message","loading","children","startAdornment","endAdornment","rest","Comp","Slot","msg","cmp","jsxs","cn","buttonVariants","jsx","LoadedIcon","Tooltip"],"mappings":";;;;;;;;AAUA,MAAMA,IAA8B,CAACC,MAA0C;AAC7E,QAAM,EAAE,SAAAC,GAAS,MAAAC,GAAM,OAAAC,EAAA,IAAUH,GAC3BI,IAAM,EAAE,OAAAD,GAAO,SAAAF,GAAS,MAAAC,EAAA;AAC9B,MAAGA,MAAS;AACV,kBAAQ,KAAK,6FAA6F,GACpG,IAAI,MAAM,6FAA6F;AAE/G,MAAGD,MAAY;AACb,mBAAQ,KAAK,+FAA+F,GAC5GG,EAAI,UAAU,aACdA,EAAI,QAAQ,WACLA;AAET,MAAGH,MAAY;AACb,mBAAQ,KAAK,8FAA8F,GAC3GG,EAAI,UAAU,YACdA,EAAI,QAAQ,WACLA;AAET,MAAGH,MAAY;AACb,mBAAQ,KAAK,mGAAmG,GAChHG,EAAI,UAAU,aACdA,EAAI,QAAQ,aACLA;AAET,MAAGH,MAAY;AACb,mBAAQ,KAAK,wFAAwF,GACrGG,EAAI,UAAU,QACdA,EAAI,QAAQ,WACLA;AAET,MAAGH,MAAY;AACb,mBAAQ,KAAK,iGAAiG,GAC9GG,EAAI,UAAU,aACdA,EAAI,QAAQ,SACLA;AAET,MAAGH,MAAY;AACb,kBAAQ,KAAK,yGAAyG,GAChH,IAAI,MAAM,yGAAyG;AAE3H,SAAOG;AACT,GAGaC,IAASC,EAAM;AAAA,EAC1B,CAACN,GAAOO,MAAQ;AACd,UAAM;AAAA,MACJ,UAAAC;AAAA,MACA,WAAAC;AAAA,MACA,SAAAR;AAAA,MACA,OAAAE;AAAA,MACA,MAAAD;AAAA,MACA,SAAAQ,IAAU;AAAA,MACV,OAAAC,IAAQ;AAAA,MACR,SAAAC;AAAA,MACA,cAAAC,IAAe,CAAA;AAAA,MACf,SAAAC;AAAA,MACA,SAAAC,IAAU;AAAA,MACV,UAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,GAAGC;AAAA,IAAA,IACDnB,GACEoB,IAAOV,IAAUW,IAAO,UACxBC,IAAMR,KAAWF,KAAWD,GAE5BY,IACJ,gBAAAC;AAAA,MAACJ;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,KAAAb;AAAA,QACA,UAAAC;AAAA,QACA,WAAWiB;AAAA,UACTC,EAAe;AAAA,YACb,GAAG3B,EAA4B,EAAE,SAAAE,GAAS,MAAAC,GAAM,OAAAC,GAAO;AAAA,YACvD,WAAAM;AAAA,UAAA,CACD;AAAA,UACDM,KAAW;AAAA,QAAA;AAAA,QAEZ,GAAGI;AAAA,QAEH,UAAA;AAAA,UAAA,CAAC,CAACF,KACD,gBAAAU,EAACC,GAAA,EAAW,SAAAb,GACT,UAAAE,GACH;AAAA,UAGDD;AAAA,UAEA,CAAC,CAACE,KACD,gBAAAS,EAACC,GAAA,EAAW,SAAAb,GACT,UAAAG,EAAA,CACH;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAKN,WAAKI,IAEH,gBAAAK;AAAA,MAACE;AAAA,MAAA;AAAA,QACE,GAAIhB,KAAgB,CAAA;AAAA,QACrB,MAAMA,EAAa,SAASL,KAAY,CAACc,KAAO,KAAQ;AAAA,QACxD,SAASA;AAAA,QAER,UAAAC;AAAA,MAAA;AAAA,IAAA,IAPYA;AAAA,EAUnB;AACF;AACAlB,EAAO,cAAc;"}
|
|
@@ -5,4 +5,7 @@ declare const meta: Meta<React.ForwardRefExoticComponent<ButtonProps & React.Ref
|
|
|
5
5
|
export default meta;
|
|
6
6
|
type Story = StoryObj<typeof meta>;
|
|
7
7
|
export declare const Default: Story;
|
|
8
|
+
export declare const Primary: Story;
|
|
9
|
+
export declare const Secondary: Story;
|
|
10
|
+
export declare const Error: Story;
|
|
8
11
|
//# sourceMappingURL=Button.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.stories.d.ts","sourceRoot":"","sources":["../../src/Button/Button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"Button.stories.d.ts","sourceRoot":"","sources":["../../src/Button/Button.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,KAA4B,MAAM,OAAO,CAAC;AA4DjD,QAAA,MAAM,IAAI,6FAyBqB,CAAC;AAEhC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAUnC,eAAO,MAAM,OAAO,EAAE,KAAgB,CAAC;AAEvC,eAAO,MAAM,OAAO,EAAE,KAoBrB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAoBvB,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,KAoBnB,CAAC"}
|
package/Button/Button.stories.js
CHANGED
|
@@ -1,21 +1,136 @@
|
|
|
1
|
-
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
-
import { Button as
|
|
3
|
-
|
|
1
|
+
import { jsx as a, jsxs as n } from "react/jsx-runtime";
|
|
2
|
+
import { Button as i } from "./Button.js";
|
|
3
|
+
import { PlusIcon as s } from "lucide-react";
|
|
4
|
+
const v = (e) => /* @__PURE__ */ a(i, { ...e }), o = (e) => /* @__PURE__ */ a(
|
|
5
|
+
"div",
|
|
6
|
+
{
|
|
7
|
+
style: {
|
|
8
|
+
padding: "0px 20px",
|
|
9
|
+
display: "flex",
|
|
10
|
+
gap: "32px",
|
|
11
|
+
alignItems: "flex-start"
|
|
12
|
+
},
|
|
13
|
+
children: /* @__PURE__ */ a(
|
|
14
|
+
"div",
|
|
15
|
+
{
|
|
16
|
+
style: {
|
|
17
|
+
position: "relative",
|
|
18
|
+
border: "2px dashed rgba(139, 92, 246, 0.7)",
|
|
19
|
+
borderRadius: "24px",
|
|
20
|
+
padding: "24px 32px",
|
|
21
|
+
display: "flex",
|
|
22
|
+
gap: "32px"
|
|
23
|
+
},
|
|
24
|
+
children: e.children
|
|
25
|
+
}
|
|
26
|
+
)
|
|
27
|
+
}
|
|
28
|
+
), r = (e) => /* @__PURE__ */ a(
|
|
29
|
+
"div",
|
|
30
|
+
{
|
|
31
|
+
style: {
|
|
32
|
+
position: "relative",
|
|
33
|
+
display: "flex",
|
|
34
|
+
flexDirection: "column",
|
|
35
|
+
gap: "16px"
|
|
36
|
+
},
|
|
37
|
+
children: ["default", "hover", "focus", "active", "disabled"].map((t) => /* @__PURE__ */ a(
|
|
38
|
+
i,
|
|
39
|
+
{
|
|
40
|
+
id: t,
|
|
41
|
+
...e,
|
|
42
|
+
disabled: t === "disabled" || e.disabled,
|
|
43
|
+
children: e.children
|
|
44
|
+
},
|
|
45
|
+
t
|
|
46
|
+
))
|
|
47
|
+
}
|
|
48
|
+
), d = ["default", "destructive", "secondary", "ghost", "link"], c = ["primary", "secondary", "error"], f = ["sm", "lg"], g = {
|
|
4
49
|
title: "Button",
|
|
5
|
-
component:
|
|
6
|
-
render:
|
|
50
|
+
component: i,
|
|
51
|
+
render: v,
|
|
7
52
|
args: {
|
|
8
|
-
variant:
|
|
9
|
-
|
|
10
|
-
|
|
53
|
+
variant: d[0],
|
|
54
|
+
color: c[0],
|
|
55
|
+
size: f[0],
|
|
56
|
+
disabled: !1,
|
|
57
|
+
asChild: !1
|
|
58
|
+
},
|
|
59
|
+
argTypes: {
|
|
60
|
+
asChild: { control: !1 },
|
|
61
|
+
variant: { options: d, control: { type: "select" } },
|
|
62
|
+
color: { options: c, control: { type: "select" } },
|
|
63
|
+
size: { options: f, control: { type: "select" } }
|
|
64
|
+
},
|
|
65
|
+
parameters: {
|
|
66
|
+
pseudo: {
|
|
67
|
+
hover: "#hover",
|
|
68
|
+
focus: "#focus",
|
|
69
|
+
active: "#active",
|
|
70
|
+
disabled: "#disabled"
|
|
71
|
+
}
|
|
11
72
|
}
|
|
12
|
-
},
|
|
73
|
+
}, l = {
|
|
74
|
+
disabled: !1,
|
|
75
|
+
loading: !1,
|
|
76
|
+
asChild: !1,
|
|
77
|
+
startAdornment: /* @__PURE__ */ a(s, {}),
|
|
78
|
+
endAdornment: /* @__PURE__ */ a(s, {}),
|
|
79
|
+
children: "children"
|
|
80
|
+
}, m = { args: l }, y = {
|
|
13
81
|
args: {
|
|
14
|
-
|
|
15
|
-
|
|
82
|
+
...l,
|
|
83
|
+
color: "primary",
|
|
84
|
+
size: "lg",
|
|
85
|
+
children: "Створити"
|
|
86
|
+
},
|
|
87
|
+
argTypes: {
|
|
88
|
+
variant: { control: !1 },
|
|
89
|
+
color: { control: !1 }
|
|
90
|
+
},
|
|
91
|
+
render: (e) => /* @__PURE__ */ a("div", { className: "flex", children: /* @__PURE__ */ n(o, { children: [
|
|
92
|
+
/* @__PURE__ */ a(r, { ...e, variant: "contained" }),
|
|
93
|
+
/* @__PURE__ */ a(r, { ...e, variant: "outlined" }),
|
|
94
|
+
/* @__PURE__ */ a(r, { ...e, variant: "text" })
|
|
95
|
+
] }) })
|
|
96
|
+
}, u = {
|
|
97
|
+
args: {
|
|
98
|
+
...l,
|
|
99
|
+
color: "secondary",
|
|
100
|
+
size: "lg",
|
|
101
|
+
children: "Створити"
|
|
102
|
+
},
|
|
103
|
+
argTypes: {
|
|
104
|
+
variant: { control: !1 },
|
|
105
|
+
color: { control: !1 }
|
|
106
|
+
},
|
|
107
|
+
render: (e) => /* @__PURE__ */ a("div", { className: "flex", children: /* @__PURE__ */ n(o, { children: [
|
|
108
|
+
/* @__PURE__ */ a(r, { ...e, variant: "contained" }),
|
|
109
|
+
/* @__PURE__ */ a(r, { ...e, variant: "outlined" }),
|
|
110
|
+
/* @__PURE__ */ a(r, { ...e, variant: "text" })
|
|
111
|
+
] }) })
|
|
112
|
+
}, b = {
|
|
113
|
+
args: {
|
|
114
|
+
...l,
|
|
115
|
+
color: "error",
|
|
116
|
+
size: "lg",
|
|
117
|
+
children: "Створити"
|
|
118
|
+
},
|
|
119
|
+
argTypes: {
|
|
120
|
+
variant: { control: !1 },
|
|
121
|
+
color: { control: !1 }
|
|
122
|
+
},
|
|
123
|
+
render: (e) => /* @__PURE__ */ a("div", { className: "flex", children: /* @__PURE__ */ n(o, { children: [
|
|
124
|
+
/* @__PURE__ */ a(r, { ...e, variant: "contained" }),
|
|
125
|
+
/* @__PURE__ */ a(r, { ...e, variant: "outlined" }),
|
|
126
|
+
/* @__PURE__ */ a(r, { ...e, variant: "text" })
|
|
127
|
+
] }) })
|
|
16
128
|
};
|
|
17
129
|
export {
|
|
18
|
-
|
|
19
|
-
|
|
130
|
+
m as Default,
|
|
131
|
+
b as Error,
|
|
132
|
+
y as Primary,
|
|
133
|
+
u as Secondary,
|
|
134
|
+
g as default
|
|
20
135
|
};
|
|
21
136
|
//# sourceMappingURL=Button.stories.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.stories.js","sources":["../../src/Button/Button.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react';\n\nimport { Button } from './Button';\nimport type { ButtonProps } from './Button.types';\nimport React from 'react';\n\nconst Template = (props: ButtonProps) => (\n <Button {...props}/>\n);\n\nconst
|
|
1
|
+
{"version":3,"file":"Button.stories.js","sources":["../../src/Button/Button.stories.tsx"],"sourcesContent":["import type { Meta, StoryObj } from '@storybook/react';\n\nimport { Button } from './Button';\nimport type { ButtonProps } from './Button.types';\nimport React, { PropsWithChildren } from 'react';\nimport { PlusIcon } from 'lucide-react'\n\nconst Template = (props: ButtonProps) => (\n <Button {...props}/>\n);\n\nconst DashedWrapper = (props: PropsWithChildren) => {\n return (\n <div\n style={{\n padding: '0px 20px',\n display: 'flex',\n gap: '32px',\n alignItems: 'flex-start',\n }}\n >\n <div\n style={{\n position: 'relative',\n border: '2px dashed rgba(139, 92, 246, 0.7)',\n borderRadius: '24px',\n padding: '24px 32px',\n display: 'flex',\n gap: '32px',\n }}\n >\n {props.children}\n </div>\n </div>\n )\n}\n\nconst States = (props: ButtonProps) => (\n <div\n style={{\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n gap: '16px',\n }}\n >\n {[ 'default', 'hover', 'focus', 'active', 'disabled' ]\n .map((state) => (\n <Button\n key={state}\n id={state}\n {...props}\n disabled={state === 'disabled' || props.disabled}\n >\n {props.children}\n </Button>\n ))}\n </div>\n);\n\nconst variants: ButtonProps['variant'][] = [ 'default', 'destructive', 'secondary', 'ghost', 'link' ]\nconst colors: ButtonProps['color'][] = [ 'primary', 'secondary', 'error' ]\nconst sizes: ButtonProps['size'][] = [ 'sm', 'lg' ]\n\nconst meta = {\n title: 'Button',\n component: Button,\n render: Template,\n args: {\n variant: variants[0],\n color: colors[0],\n size: sizes[0],\n disabled: false,\n asChild: false,\n },\n argTypes: {\n asChild: { control: false },\n variant: { options: variants, control: { type: 'select' } },\n color: { options: colors, control: { type: 'select' } },\n size: { options: sizes, control: { type: 'select' } },\n },\n parameters: {\n pseudo: {\n hover: '#hover',\n focus: '#focus',\n active: '#active',\n disabled: '#disabled',\n },\n }\n} satisfies Meta<typeof Button>;\n\nexport default meta;\n\ntype Story = StoryObj<typeof meta>;\nconst args: Story['args'] = {\n disabled: false,\n loading: false,\n asChild: false,\n startAdornment: <PlusIcon/>,\n endAdornment: <PlusIcon/>,\n children: 'children',\n}\n\nexport const Default: Story = { args };\n\nexport const Primary: Story = {\n args: {\n ...args,\n color: 'primary',\n size: 'lg',\n children: 'Створити',\n },\n argTypes: {\n variant: { control: false },\n color: { control: false },\n },\n render: (props) => (\n <div className='flex'>\n <DashedWrapper>\n <States {...props} variant='contained'/>\n <States {...props} variant='outlined'/>\n <States {...props} variant='text'/>\n </DashedWrapper>\n </div>\n ),\n};\n\nexport const Secondary: Story = {\n args: {\n ...args,\n color: 'secondary',\n size: 'lg',\n children: 'Створити',\n },\n argTypes: {\n variant: { control: false },\n color: { control: false },\n },\n render: (props) => (\n <div className='flex'>\n <DashedWrapper>\n <States {...props} variant='contained'/>\n <States {...props} variant='outlined'/>\n <States {...props} variant='text'/>\n </DashedWrapper>\n </div>\n ),\n};\n\nexport const Error: Story = {\n args: {\n ...args,\n color: 'error',\n size: 'lg',\n children: 'Створити',\n },\n argTypes: {\n variant: { control: false },\n color: { control: false },\n },\n render: (props) => (\n <div className='flex'>\n <DashedWrapper>\n <States {...props} variant='contained'/>\n <States {...props} variant='outlined'/>\n <States {...props} variant='text'/>\n </DashedWrapper>\n </div>\n ),\n};\n\n"],"names":["Template","props","jsx","Button","DashedWrapper","States","state","variants","colors","sizes","meta","args","PlusIcon","Default","Primary","Secondary","Error"],"mappings":"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"}
|
package/Button/Button.types.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import { ButtonHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import { ButtonVariantProps } from './buttonVariants';
|
|
4
3
|
import { TooltipProps } from '../Tooltip';
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
export interface ButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'color'>, ButtonVariantProps, Pick<TooltipProps, 'message'> {
|
|
5
|
+
loading?: boolean;
|
|
7
6
|
asChild?: boolean;
|
|
8
|
-
/**@deprecated: use message instead*/
|
|
7
|
+
/**@deprecated: use message instead. */
|
|
9
8
|
tooltip?: ReactNode;
|
|
10
9
|
tooltipProps?: TooltipProps;
|
|
10
|
+
startAdornment?: ReactNode;
|
|
11
|
+
endAdornment?: ReactNode;
|
|
11
12
|
}
|
|
12
13
|
//# sourceMappingURL=Button.types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.types.d.ts","sourceRoot":"","sources":["../../src/Button/Button.types.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"Button.types.d.ts","sourceRoot":"","sources":["../../src/Button/Button.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC,EAC5D,kBAAkB,EAClB,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;IAEjB,wCAAwC;IACxC,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAE5B,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B"}
|
|
@@ -1,5 +1,37 @@
|
|
|
1
|
+
import { VariantProps } from 'class-variance-authority';
|
|
1
2
|
export declare const buttonVariants: (props?: ({
|
|
3
|
+
variant?: "link" | "text" | "none" | "default" | "destructive" | "outline" | "secondary" | "ghost" | "transparent" | "contained" | "outlined" | null | undefined;
|
|
4
|
+
color?: "secondary" | "primary" | "error" | "warning" | "info" | "success" | null | undefined;
|
|
5
|
+
size?: "icon" | "sm" | "lg" | null | undefined;
|
|
6
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
7
|
+
export type ButtonCVAProps = VariantProps<typeof buttonVariants>;
|
|
8
|
+
type ButtonCVANoVariantProps = Omit<VariantProps<typeof buttonVariants>, 'variant'>;
|
|
9
|
+
type ButtonCVANoSizeProps = Omit<VariantProps<typeof buttonVariants>, 'size'>;
|
|
10
|
+
type ButtonCVAVariants = ButtonCVAProps['variant'];
|
|
11
|
+
/** @deprecated use "variant=contained color=primary" instead */
|
|
12
|
+
type LegacyDefaultVariant = 'default';
|
|
13
|
+
/** @deprecated use "variant=outlined color=primary" instead */
|
|
14
|
+
type LegacyOutlineVariant = 'outline';
|
|
15
|
+
/** @deprecated use "variant=text color=primary" instead */
|
|
16
|
+
type LegacyGhostVariant = 'ghost';
|
|
17
|
+
/** @deprecated use "variant=contained color=secondary" instead */
|
|
18
|
+
type LegacySecondaryVariant = 'secondary';
|
|
19
|
+
/** @deprecated use "variant=contained color=error" instead */
|
|
20
|
+
type LegacyDestructiveVariant = 'destructive';
|
|
21
|
+
/** @deprecated use "?? no implemented yet" instead */
|
|
22
|
+
type LegacyLinkVariant = 'link';
|
|
23
|
+
type ModernVariant = Exclude<ButtonCVAVariants, 'default' | 'outline' | 'ghost' | 'link' | 'secondary' | 'destructive'> | LegacyDefaultVariant | LegacyOutlineVariant | LegacyGhostVariant | LegacySecondaryVariant | LegacyDestructiveVariant | LegacyLinkVariant;
|
|
24
|
+
type ButtonCVASizes = ButtonCVAProps['size'];
|
|
25
|
+
/** @deprecated use "<ButtonIcon/>" instead */
|
|
26
|
+
type LegacyIconSize = 'icon';
|
|
27
|
+
type ModernSize = Exclude<ButtonCVASizes, 'icon'> | LegacyIconSize;
|
|
28
|
+
export interface ButtonVariantProps extends ButtonCVANoVariantProps, ButtonCVANoSizeProps {
|
|
29
|
+
variant?: ModernVariant;
|
|
30
|
+
size?: ModernSize;
|
|
31
|
+
}
|
|
32
|
+
export declare const buttonVariants_old: (props?: ({
|
|
2
33
|
variant?: "link" | "none" | "default" | "destructive" | "outline" | "secondary" | "ghost" | "transparent" | null | undefined;
|
|
3
|
-
size?: "default" | "
|
|
34
|
+
size?: "default" | "icon" | "sm" | "lg" | null | undefined;
|
|
4
35
|
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
36
|
+
export {};
|
|
5
37
|
//# sourceMappingURL=buttonVariants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buttonVariants.d.ts","sourceRoot":"","sources":["../../src/Button/buttonVariants.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"buttonVariants.d.ts","sourceRoot":"","sources":["../../src/Button/buttonVariants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,eAAO,MAAM,cAAc;;;;8EAwJ1B,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAC;AAEjE,KAAK,uBAAuB,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,cAAc,CAAC,EAAE,SAAS,CAAC,CAAA;AACnF,KAAK,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,cAAc,CAAC,EAAE,MAAM,CAAC,CAAA;AAE7E,KAAK,iBAAiB,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;AAEnD,gEAAgE;AAChE,KAAK,oBAAoB,GAAG,SAAS,CAAC;AACtC,+DAA+D;AAC/D,KAAK,oBAAoB,GAAG,SAAS,CAAC;AACtC,2DAA2D;AAC3D,KAAK,kBAAkB,GAAG,OAAO,CAAC;AAClC,kEAAkE;AAClE,KAAK,sBAAsB,GAAG,WAAW,CAAC;AAC1C,8DAA8D;AAC9D,KAAK,wBAAwB,GAAG,aAAa,CAAC;AAC9C,sDAAsD;AACtD,KAAK,iBAAiB,GAAG,MAAM,CAAC;AAEhC,KAAK,aAAa,GACd,OAAO,CAAC,iBAAiB,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,aAAa,CAAC,GAClG,oBAAoB,GACpB,oBAAoB,GACpB,kBAAkB,GAClB,sBAAsB,GACtB,wBAAwB,GACxB,iBAAiB,CAAC;AAEtB,KAAK,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AAE7C,8CAA8C;AAC9C,KAAK,cAAc,GAAG,MAAM,CAAC;AAE7B,KAAK,UAAU,GACX,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,GAC/B,cAAc,CAAC;AAEnB,MAAM,WAAW,kBAAmB,SAAQ,uBAAuB,EAAE,oBAAoB;IACvF,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB;AAGD,eAAO,MAAM,kBAAkB;;;8EAqC9B,CAAA"}
|
package/Button/buttonVariants.js
CHANGED
|
@@ -1,5 +1,158 @@
|
|
|
1
|
-
import { cva as
|
|
2
|
-
|
|
1
|
+
import { cva as t } from "class-variance-authority";
|
|
2
|
+
import { cn as e } from "@oneplatformdev/utils";
|
|
3
|
+
const a = t(
|
|
4
|
+
[
|
|
5
|
+
"inline-flex items-center justify-center",
|
|
6
|
+
"whitespace-nowrap font-medium",
|
|
7
|
+
"cursor-pointer box-border",
|
|
8
|
+
"transition-colors focus-visible:outline-hidden focus-visible:ring-none focus-visible:ring-transparent",
|
|
9
|
+
"disabled:pointer-events-none disabled:cursor-default",
|
|
10
|
+
"[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0"
|
|
11
|
+
],
|
|
12
|
+
{
|
|
13
|
+
variants: {
|
|
14
|
+
variant: {
|
|
15
|
+
default: "deprecated.do_not_use",
|
|
16
|
+
outline: "deprecated.do_not_use",
|
|
17
|
+
secondary: "deprecated.do_not_use",
|
|
18
|
+
ghost: "deprecated.do_not_use",
|
|
19
|
+
destructive: "deprecated.do_not_use",
|
|
20
|
+
link: "deprecated.do_not_use",
|
|
21
|
+
//
|
|
22
|
+
transparent: "bg-transparent hover:bg-transparent hover:text-accent-foreground",
|
|
23
|
+
none: "",
|
|
24
|
+
contained: "",
|
|
25
|
+
outlined: "",
|
|
26
|
+
text: ""
|
|
27
|
+
},
|
|
28
|
+
color: {
|
|
29
|
+
primary: "",
|
|
30
|
+
secondary: "",
|
|
31
|
+
error: "",
|
|
32
|
+
warning: "",
|
|
33
|
+
info: "",
|
|
34
|
+
success: ""
|
|
35
|
+
},
|
|
36
|
+
size: {
|
|
37
|
+
icon: "deprecated.do_not_use",
|
|
38
|
+
sm: e(
|
|
39
|
+
"min-h-8 min-w-[102px] rounded-lg gap-1 px-2 py-1",
|
|
40
|
+
"text-sm leading-[1.12] [&_svg]:size-6"
|
|
41
|
+
),
|
|
42
|
+
lg: e(
|
|
43
|
+
"min-h-10 min-w-35 rounded-lg gap-1 px-3 py-2",
|
|
44
|
+
"text-base leading-normal [&_svg]:size-6"
|
|
45
|
+
)
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
compoundVariants: [
|
|
49
|
+
// PRIMARY BUTTON VARIANTS
|
|
50
|
+
{
|
|
51
|
+
color: "primary",
|
|
52
|
+
variant: "contained",
|
|
53
|
+
className: e(
|
|
54
|
+
"bg-[#9368FF] border border-[#9368FF] text-[#FCFCFC] [&_svg]:text-[#FCFCFC]",
|
|
55
|
+
"hover:bg-[#7F4EEB]",
|
|
56
|
+
"focus:bg-[#7F4EEB] focus:border-[#6B3DD9]",
|
|
57
|
+
"active:bg-[#6B3DD9]",
|
|
58
|
+
"disabled:bg-[#E8E9EB] disabled:border-[#E8E9EB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]"
|
|
59
|
+
)
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
color: "primary",
|
|
63
|
+
variant: "outlined",
|
|
64
|
+
className: e(
|
|
65
|
+
"bg-transparent border border-[#9368FF] text-[#9368FF] [&_svg]:text-[#9368FF]",
|
|
66
|
+
"hover:bg-[#9368FF0F]",
|
|
67
|
+
"active:bg-[#9368FF0F] active:border-[#6B3DD9]",
|
|
68
|
+
"disabled:border-[#EBEBEB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]"
|
|
69
|
+
)
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
color: "primary",
|
|
73
|
+
variant: "text",
|
|
74
|
+
className: e(
|
|
75
|
+
"bg-transparent border border-transparent text-[#9368FF] [&_svg]:text-[#9368FF]",
|
|
76
|
+
"hover:text-[#6B3DD9] hover:[&_svg]:text-[#6B3DD9]",
|
|
77
|
+
"focus:text-[#6B3DD9] focus:[&_svg]:text-[#6B3DD9]",
|
|
78
|
+
"active:bg-[#9368FF0F]",
|
|
79
|
+
"disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]"
|
|
80
|
+
)
|
|
81
|
+
},
|
|
82
|
+
// SECONDARY BUTTON VARIANTS
|
|
83
|
+
{
|
|
84
|
+
color: "secondary",
|
|
85
|
+
variant: "contained",
|
|
86
|
+
className: e(
|
|
87
|
+
"bg-[#FCFCFC] border border-[#E1E1E5] text-[#06080D] [&_svg]:text-[#06080D]",
|
|
88
|
+
"hover:bg-[#F9FAFB] hover:border-[#E1E1E5]",
|
|
89
|
+
"focus:bg-[#FCFCFC] focus:border-[#C5C7CD]",
|
|
90
|
+
"active:bg-[#F9FAFB] active:border-[#C5C7CD]",
|
|
91
|
+
"disabled:bg-[#FCFCFC] disabled:border-[#EBEBEB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]"
|
|
92
|
+
)
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
color: "secondary",
|
|
96
|
+
variant: "outlined",
|
|
97
|
+
className: e(
|
|
98
|
+
"bg-transparent border border-[#E1E1E5] text-[#06080D] [&_svg]:text-[#06080D]",
|
|
99
|
+
"hover:bg-[#F9FAFB] hover:border-[#E1E1E5]",
|
|
100
|
+
"focus:bg-[#FCFCFC] focus:border-[#C5C7CD]",
|
|
101
|
+
"active:bg-[#F9FAFB] active:border-[#C5C7CD]",
|
|
102
|
+
"disabled:bg-[#FCFCFC] disabled:border-[#EBEBEB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]"
|
|
103
|
+
)
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
color: "secondary",
|
|
107
|
+
variant: "text",
|
|
108
|
+
className: e(
|
|
109
|
+
"text-[#06080D] [&_svg]:text-[#06080D] bg-transparent border border-transparent",
|
|
110
|
+
"hover:bg-[#F9FAFB]",
|
|
111
|
+
"focus:bg-[#FCFCFC]",
|
|
112
|
+
"active:bg-[#F9FAFB]",
|
|
113
|
+
"disabled:bg-[#FCFCFC] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]"
|
|
114
|
+
)
|
|
115
|
+
},
|
|
116
|
+
// ERROR BUTTON VARIANTS
|
|
117
|
+
{
|
|
118
|
+
color: "error",
|
|
119
|
+
variant: "contained",
|
|
120
|
+
className: e(
|
|
121
|
+
"bg-[#EF4444] border border-[#EF4444] text-[#FCFCFC] [&_svg]:text-[#FCFCFC]",
|
|
122
|
+
"hover:bg-[#DC2626]",
|
|
123
|
+
"focus:bg-[#DC2626]",
|
|
124
|
+
"active:bg-[#DC2626]",
|
|
125
|
+
"disabled:bg-[#E8E9EB] disabled:border-[#E8E9EB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]"
|
|
126
|
+
)
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
color: "error",
|
|
130
|
+
variant: "outlined",
|
|
131
|
+
className: e(
|
|
132
|
+
"bg-transparent border border-[#EF4444] text-[#EF4444] [&_svg]:text-[#EF4444]",
|
|
133
|
+
"hover:bg-[#EF44440F]",
|
|
134
|
+
"active:bg-[#DC26260F] active:border-[#DC2626]",
|
|
135
|
+
"disabled:border-[#EBEBEB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]"
|
|
136
|
+
)
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
color: "error",
|
|
140
|
+
variant: "text",
|
|
141
|
+
className: e(
|
|
142
|
+
"bg-transparent border border-transparent text-[#EF4444] [&_svg]:text-[#EF4444]",
|
|
143
|
+
"hover:bg-[#EF44440F] hover:text-[#DC2626] hover:[&_svg]:text-[#DC2626]",
|
|
144
|
+
"active:bg-[#DC26260F] active:border-[#DC2626]",
|
|
145
|
+
"disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]"
|
|
146
|
+
)
|
|
147
|
+
}
|
|
148
|
+
],
|
|
149
|
+
defaultVariants: {
|
|
150
|
+
variant: "contained",
|
|
151
|
+
color: "primary",
|
|
152
|
+
size: "lg"
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
), s = t(
|
|
3
156
|
[
|
|
4
157
|
"inline-flex items-center justify-center gap-2",
|
|
5
158
|
"whitespace-nowrap rounded-lg text-sm font-medium",
|
|
@@ -34,6 +187,7 @@ const t = e(
|
|
|
34
187
|
}
|
|
35
188
|
);
|
|
36
189
|
export {
|
|
37
|
-
|
|
190
|
+
a as buttonVariants,
|
|
191
|
+
s as buttonVariants_old
|
|
38
192
|
};
|
|
39
193
|
//# sourceMappingURL=buttonVariants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buttonVariants.js","sources":["../../src/Button/buttonVariants.ts"],"sourcesContent":["import { cva } from 'class-variance-authority';\n\n// TODO: refactor btn variants | ask me about mnc next pwa\nexport const buttonVariants = cva(\n [\n \"inline-flex items-center justify-center gap-2\",\n \"whitespace-nowrap rounded-lg text-sm font-medium\",\n \"transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n \"[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n 'cursor-pointer'\n ],\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow-sm hover:opacity-[.8]\",\n destructive:\n \"bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/90\",\n outline:\n \"border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n transparent: \"bg-transparent hover:bg-transparent hover:text-accent-foreground\",\n none: \"\",\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-8 rounded-md px-3 text-xs [&_svg]:size-4\",\n lg: \"h-10 px-8 [&_svg]:size-6 px-3 py-2 min-w-35\",\n icon: \"h-10 w-10 [&_svg]:size-5\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"lg\",\n },\n }\n)\n"],"names":["buttonVariants","cva"],"mappings":";AAGO,MAAMA,IAAiBC;AAAA,EAC5B;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAAA,EAEF;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,aACE;AAAA,QACF,SACE;AAAA,QACF,WACE;AAAA,QACF,OAAO;AAAA,QACP,MAAM;AAAA,QACN,aAAa;AAAA,QACb,MAAM;AAAA,MAAA;AAAA,MAER,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,MAAM;AAAA,MAAA;AAAA,IACR;AAAA,IAEF,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ;"}
|
|
1
|
+
{"version":3,"file":"buttonVariants.js","sources":["../../src/Button/buttonVariants.ts"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from \"@oneplatformdev/utils\";\n\nexport const buttonVariants = cva(\n [\n \"inline-flex items-center justify-center\",\n 'whitespace-nowrap font-medium',\n 'cursor-pointer box-border',\n \"transition-colors focus-visible:outline-hidden focus-visible:ring-none focus-visible:ring-transparent\",\n \"disabled:pointer-events-none disabled:cursor-default\",\n \"[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n ],\n {\n variants: {\n variant: {\n default: \"deprecated.do_not_use\",\n outline: \"deprecated.do_not_use\",\n secondary: \"deprecated.do_not_use\",\n ghost: \"deprecated.do_not_use\",\n destructive: \"deprecated.do_not_use\",\n link: \"deprecated.do_not_use\",\n //\n transparent: \"bg-transparent hover:bg-transparent hover:text-accent-foreground\",\n none: \"\",\n contained: \"\",\n outlined: \"\",\n text: \"\",\n },\n color: {\n primary: '',\n secondary: '',\n error: '',\n warning: '',\n info: '',\n success: '',\n },\n size: {\n icon: \"deprecated.do_not_use\",\n sm: cn(\n 'min-h-8 min-w-[102px] rounded-lg gap-1 px-2 py-1',\n 'text-sm leading-[1.12] [&_svg]:size-6',\n ),\n lg: cn(\n \"min-h-10 min-w-35 rounded-lg gap-1 px-3 py-2\",\n 'text-base leading-normal [&_svg]:size-6',\n )\n }\n },\n compoundVariants: [\n // PRIMARY BUTTON VARIANTS\n {\n color: 'primary',\n variant: 'contained',\n className: cn(\n 'bg-[#9368FF] border border-[#9368FF] text-[#FCFCFC] [&_svg]:text-[#FCFCFC]',\n 'hover:bg-[#7F4EEB]',\n 'focus:bg-[#7F4EEB] focus:border-[#6B3DD9]',\n 'active:bg-[#6B3DD9]',\n 'disabled:bg-[#E8E9EB] disabled:border-[#E8E9EB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\n ),\n },\n {\n color: 'primary',\n variant: 'outlined',\n className: cn(\n 'bg-transparent border border-[#9368FF] text-[#9368FF] [&_svg]:text-[#9368FF]',\n 'hover:bg-[#9368FF0F]',\n 'active:bg-[#9368FF0F] active:border-[#6B3DD9]',\n 'disabled:border-[#EBEBEB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\n ),\n },\n {\n color: 'primary',\n variant: 'text',\n className: cn(\n 'bg-transparent border border-transparent text-[#9368FF] [&_svg]:text-[#9368FF]',\n 'hover:text-[#6B3DD9] hover:[&_svg]:text-[#6B3DD9]',\n 'focus:text-[#6B3DD9] focus:[&_svg]:text-[#6B3DD9]',\n 'active:bg-[#9368FF0F]',\n 'disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\n ),\n },\n // SECONDARY BUTTON VARIANTS\n {\n color: 'secondary',\n variant: 'contained',\n className: cn(\n 'bg-[#FCFCFC] border border-[#E1E1E5] text-[#06080D] [&_svg]:text-[#06080D]',\n 'hover:bg-[#F9FAFB] hover:border-[#E1E1E5]',\n 'focus:bg-[#FCFCFC] focus:border-[#C5C7CD]',\n 'active:bg-[#F9FAFB] active:border-[#C5C7CD]',\n 'disabled:bg-[#FCFCFC] disabled:border-[#EBEBEB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\n ),\n },\n {\n color: 'secondary',\n variant: 'outlined',\n className: cn(\n 'bg-transparent border border-[#E1E1E5] text-[#06080D] [&_svg]:text-[#06080D]',\n 'hover:bg-[#F9FAFB] hover:border-[#E1E1E5]',\n 'focus:bg-[#FCFCFC] focus:border-[#C5C7CD]',\n 'active:bg-[#F9FAFB] active:border-[#C5C7CD]',\n 'disabled:bg-[#FCFCFC] disabled:border-[#EBEBEB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\n ),\n },\n {\n color: 'secondary',\n variant: 'text',\n className: cn(\n 'text-[#06080D] [&_svg]:text-[#06080D] bg-transparent border border-transparent',\n 'hover:bg-[#F9FAFB]',\n 'focus:bg-[#FCFCFC]',\n 'active:bg-[#F9FAFB]',\n 'disabled:bg-[#FCFCFC] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\n ),\n },\n // ERROR BUTTON VARIANTS\n {\n color: 'error',\n variant: 'contained',\n className: cn(\n 'bg-[#EF4444] border border-[#EF4444] text-[#FCFCFC] [&_svg]:text-[#FCFCFC]',\n 'hover:bg-[#DC2626]',\n 'focus:bg-[#DC2626]',\n 'active:bg-[#DC2626]',\n 'disabled:bg-[#E8E9EB] disabled:border-[#E8E9EB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\n ),\n },\n {\n color: 'error',\n variant: 'outlined',\n className: cn(\n 'bg-transparent border border-[#EF4444] text-[#EF4444] [&_svg]:text-[#EF4444]',\n 'hover:bg-[#EF44440F]',\n 'active:bg-[#DC26260F] active:border-[#DC2626]',\n 'disabled:border-[#EBEBEB] disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\n ),\n },\n {\n color: 'error',\n variant: 'text',\n className: cn(\n 'bg-transparent border border-transparent text-[#EF4444] [&_svg]:text-[#EF4444]',\n 'hover:bg-[#EF44440F] hover:text-[#DC2626] hover:[&_svg]:text-[#DC2626]',\n 'active:bg-[#DC26260F] active:border-[#DC2626]',\n 'disabled:text-[#666A78] disabled:[&_svg]:text-[#666A78]',\n ),\n },\n ],\n defaultVariants: {\n variant: 'contained',\n color: 'primary',\n size: 'lg',\n },\n }\n)\n\nexport type ButtonCVAProps = VariantProps<typeof buttonVariants>;\n\ntype ButtonCVANoVariantProps = Omit<VariantProps<typeof buttonVariants>, 'variant'>\ntype ButtonCVANoSizeProps = Omit<VariantProps<typeof buttonVariants>, 'size'>\n\ntype ButtonCVAVariants = ButtonCVAProps['variant'];\n\n/** @deprecated use \"variant=contained color=primary\" instead */\ntype LegacyDefaultVariant = 'default';\n/** @deprecated use \"variant=outlined color=primary\" instead */\ntype LegacyOutlineVariant = 'outline';\n/** @deprecated use \"variant=text color=primary\" instead */\ntype LegacyGhostVariant = 'ghost';\n/** @deprecated use \"variant=contained color=secondary\" instead */\ntype LegacySecondaryVariant = 'secondary';\n/** @deprecated use \"variant=contained color=error\" instead */\ntype LegacyDestructiveVariant = 'destructive';\n/** @deprecated use \"?? no implemented yet\" instead */\ntype LegacyLinkVariant = 'link';\n\ntype ModernVariant =\n | Exclude<ButtonCVAVariants, 'default' | 'outline' | 'ghost' | 'link' | 'secondary' | 'destructive'>\n | LegacyDefaultVariant\n | LegacyOutlineVariant\n | LegacyGhostVariant\n | LegacySecondaryVariant\n | LegacyDestructiveVariant\n | LegacyLinkVariant;\n\ntype ButtonCVASizes = ButtonCVAProps['size'];\n\n/** @deprecated use \"<ButtonIcon/>\" instead */\ntype LegacyIconSize = 'icon';\n\ntype ModernSize =\n | Exclude<ButtonCVASizes, 'icon'>\n | LegacyIconSize;\n\nexport interface ButtonVariantProps extends ButtonCVANoVariantProps, ButtonCVANoSizeProps {\n variant?: ModernVariant;\n size?: ModernSize\n}\n\n// TODO: refactor btn variants | ask me about mnc next pwa\nexport const buttonVariants_old = cva(\n [\n \"inline-flex items-center justify-center gap-2\",\n \"whitespace-nowrap rounded-lg text-sm font-medium\",\n \"transition-colors focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n \"[&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n 'cursor-pointer'\n ],\n {\n variants: {\n variant: {\n default:\n \"bg-primary text-primary-foreground shadow-sm hover:opacity-[.8]\",\n destructive:\n \"bg-destructive text-destructive-foreground shadow-xs hover:bg-destructive/90\",\n outline:\n \"border border-input bg-background shadow-xs hover:bg-accent hover:text-accent-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n transparent: \"bg-transparent hover:bg-transparent hover:text-accent-foreground\",\n none: \"\",\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-8 rounded-md px-3 text-xs [&_svg]:size-4\",\n lg: \"h-10 px-8 [&_svg]:size-6 px-3 py-2 min-w-35\",\n icon: \"h-10 w-10 [&_svg]:size-5\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"lg\",\n },\n }\n)\n"],"names":["buttonVariants","cva","cn","buttonVariants_old"],"mappings":"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"}
|