@modul/mbui 0.0.19-beta-pv-53151-ff0ae8c2 → 0.0.19-beta-pv-53151-20bb3cae

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.
@@ -1,14 +1,14 @@
1
1
  import * as React from 'react';
2
- interface IButtonProps {
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ interface IVariantProps {
3
4
  variant?: 'primary' | 'secondary' | 'outline' | 'ghost';
4
5
  className?: string;
5
6
  icon?: boolean;
6
7
  }
7
- declare const buttonVariants: ({ variant, className, icon }: IButtonProps) => string;
8
- export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
8
+ declare const buttonVariants: ({ variant, className, icon }: IVariantProps) => string;
9
+ export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
9
10
  asChild?: boolean;
10
11
  icon?: boolean;
11
- variant?: string;
12
12
  }
13
13
  declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
14
14
  export { Button, buttonVariants };
@@ -21,6 +21,7 @@ const buttonClasses = {
21
21
  disabled:pointer-events-none
22
22
  transition-colors
23
23
  whitespace-nowrap
24
+ shrink-0
24
25
  `,
25
26
  primary: `
26
27
  text-btn-primary
@@ -85,21 +86,9 @@ const buttonVariants = ({ variant, className, icon }) => {
85
86
  })({ variant, className });
86
87
  };
87
88
  exports.buttonVariants = buttonVariants;
88
- const textVariants = (0, class_variance_authority_1.cva)('inline-flex whitespace-nowrap transition-colors focus-visible:outline-current disabled:opacity-[.24] rounded-[.25em] disabled:pointer-events-none', {
89
- variants: {
90
- variant: {
91
- primary: 'text-primary hover:text-primary-hover focus-visibletext-primary-focus active:text-primary-active disabled:pointer-events-none',
92
- },
93
- },
94
- defaultVariants: {
95
- variant: 'primary',
96
- },
97
- });
98
89
  const Button = React.forwardRef(({ className, variant, asChild = false, icon, ...props }, ref) => {
99
90
  const Comp = asChild ? react_slot_1.Slot : 'button';
100
- // @ts-ignore
101
- const classes = buttonVariants({ variant, className, icon });
102
- return (React.createElement(Comp, { className: (0, utils_1.cn)(classes), ref: ref, ...props }));
91
+ return (React.createElement(Comp, { className: (0, utils_1.cn)(buttonVariants({ variant, className, icon })), ref: ref, ...props }));
103
92
  });
104
93
  exports.Button = Button;
105
94
  Button.displayName = 'Button';
@@ -1 +1 @@
1
- {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":";;;;AAAA,0DAA8B;AAC9B,qDAA2C;AAC3C,uEAAiE;AACjE,0CAAmC;AAEnC,MAAM,aAAa,GAAG;IACrB,IAAI,EAAE;;;;;;;;;;;;;;EAcL;IACD,OAAO,EAAE;;;;;;;;;;;;EAYR;IACD,SAAS,EAAE;;;;;;;;;;;EAWV;IACD,OAAO,EAAE;;;;;;;;;EASR;IACD,KAAK,EAAE;;;;;;;EAON;CACD,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACpC,OAAO,IAAA,UAAE,EACR,IAAI,IAAI,wBAAwB,EAChC,IAAI,IAAI,OAAO,KAAK,SAAS,IAAI,wBAAwB,EACzD,CAAC,IAAI,IAAI,qBAAqB,EAC9B,CAAC,IAAI,IAAI,OAAO,KAAK,SAAS,IAAI,qBAAqB,CACvD,CAAA;AACF,CAAC,CAAA;AAMD,MAAM,cAAc,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAgB,EAAE,EAAE;IACrE,OAAO,IAAA,8BAAG,EAAC,GAAG,aAAa,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAC9D;QACC,QAAQ,EAAE;YACT,OAAO,EAAE;gBACR,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,KAAK,EAAE,aAAa,CAAC,KAAK;aAC1B;SACD;QACD,eAAe,EAAE;YAChB,OAAO,EAAE,SAAS;SAClB;KACD,CACD,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;AAC1B,CAAC,CAAA;AAyCgB,wCAAc;AAvC/B,MAAM,YAAY,GAAG,IAAA,8BAAG,EACvB,mJAAmJ,EACnJ;IACC,QAAQ,EAAE;QACT,OAAO,EAAE;YACR,OAAO,EACN,+HAA+H;SAChI;KACD;IACD,eAAe,EAAE;QAChB,OAAO,EAAE,SAAS;KAClB;CACD,CACD,CAAA;AASD,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAC9B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,iBAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;IACtC,aAAa;IACb,MAAM,OAAO,GAAG,cAAc,CAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACjE,OAAO,CACN,oBAAC,IAAI,IACJ,SAAS,EAAE,IAAA,UAAE,EAAC,OAAO,CAAC,EACtB,GAAG,EAAE,GAAG,KACJ,KAAK,GACR,CACF,CAAA;AACF,CAAC,CACD,CAAA;AAIQ,wBAAM;AAFf,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAA"}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../../src/Button/Button.tsx"],"names":[],"mappings":";;;;AAAA,0DAA8B;AAC9B,qDAA2C;AAC3C,uEAAiE;AACjE,0CAAmC;AAEnC,MAAM,aAAa,GAAG;IACrB,IAAI,EAAE;;;;;;;;;;;;;;;EAeL;IACD,OAAO,EAAE;;;;;;;;;;;;EAYR;IACD,SAAS,EAAE;;;;;;;;;;;EAWV;IACD,OAAO,EAAE;;;;;;;;;EASR;IACD,KAAK,EAAE;;;;;;;EAON;CACD,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACpC,OAAO,IAAA,UAAE,EACR,IAAI,IAAI,wBAAwB,EAChC,IAAI,IAAI,OAAO,KAAK,SAAS,IAAI,wBAAwB,EACzD,CAAC,IAAI,IAAI,qBAAqB,EAC9B,CAAC,IAAI,IAAI,OAAO,KAAK,SAAS,IAAI,qBAAqB,CACvD,CAAA;AACF,CAAC,CAAA;AAQD,MAAM,cAAc,GAAG,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAiB,EAAE,EAAE;IACtE,OAAO,IAAA,8BAAG,EAAC,GAAG,aAAa,CAAC,IAAI,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAC9D;QACC,QAAQ,EAAE;YACT,OAAO,EAAE;gBACR,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,SAAS,EAAE,aAAa,CAAC,SAAS;gBAClC,OAAO,EAAE,aAAa,CAAC,OAAO;gBAC9B,KAAK,EAAE,aAAa,CAAC,KAAK;aAC1B;SACD;QACD,eAAe,EAAE;YAChB,OAAO,EAAE,SAAS;SAClB;KACD,CACD,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAA;AAC1B,CAAC,CAAA;AAyBgB,wCAAc;AAhB/B,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAC9B,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE;IAChE,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,iBAAI,CAAC,CAAC,CAAC,QAAQ,CAAA;IAEtC,OAAO,CACN,oBAAC,IAAI,IACJ,SAAS,EAAE,IAAA,UAAE,EAAC,cAAc,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAC3D,GAAG,EAAE,GAAG,KACJ,KAAK,GACR,CACF,CAAA;AACF,CAAC,CACD,CAAA;AAIQ,wBAAM;AAFf,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@modul/mbui",
3
- "version": "0.0.19-beta-pv-53151-ff0ae8c2",
3
+ "version": "0.0.19-beta-pv-53151-20bb3cae",
4
4
  "packageManager": "yarn@3.5.1",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -18,6 +18,7 @@ const buttonClasses = {
18
18
  disabled:pointer-events-none
19
19
  transition-colors
20
20
  whitespace-nowrap
21
+ shrink-0
21
22
  `,
22
23
  primary: `
23
24
  text-btn-primary
@@ -72,12 +73,14 @@ const getPadings = (icon, variant) => {
72
73
  !icon && variant === 'outline' && 'px-[25px] py-[13px]'
73
74
  )
74
75
  }
75
- interface IButtonProps {
76
+ interface IVariantProps {
76
77
  variant?: 'primary'| 'secondary' | 'outline' | 'ghost',
77
78
  className?: string,
78
79
  icon?: boolean
79
80
  }
80
- const buttonVariants = ({ variant, className, icon }: IButtonProps) => {
81
+
82
+
83
+ const buttonVariants = ({ variant, className, icon }: IVariantProps) => {
81
84
  return cva(`${buttonClasses.base} ${getPadings(icon, variant)}`,
82
85
  {
83
86
  variants: {
@@ -95,36 +98,20 @@ const buttonVariants = ({ variant, className, icon }: IButtonProps) => {
95
98
  )({ variant, className })
96
99
  }
97
100
 
98
- const textVariants = cva(
99
- 'inline-flex whitespace-nowrap transition-colors focus-visible:outline-current disabled:opacity-[.24] rounded-[.25em] disabled:pointer-events-none',
100
- {
101
- variants: {
102
- variant: {
103
- primary:
104
- 'text-primary hover:text-primary-hover focus-visibletext-primary-focus active:text-primary-active disabled:pointer-events-none',
105
- },
106
- },
107
- defaultVariants: {
108
- variant: 'primary',
109
- },
110
- }
111
- )
112
-
113
- export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
101
+ export interface ButtonProps
102
+ extends React.ButtonHTMLAttributes<HTMLButtonElement>,
103
+ VariantProps<typeof buttonVariants> {
114
104
  asChild?: boolean
115
- // asText?: boolean
116
105
  icon?: boolean
117
- variant?: string
118
106
  }
119
107
 
120
108
  const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
121
109
  ({ className, variant, asChild = false, icon, ...props }, ref) => {
122
110
  const Comp = asChild ? Slot : 'button'
123
- // @ts-ignore
124
- const classes = buttonVariants<any>({ variant, className, icon })
111
+
125
112
  return (
126
113
  <Comp
127
- className={cn(classes)}
114
+ className={cn(buttonVariants({ variant, className, icon }))}
128
115
  ref={ref}
129
116
  {...props}
130
117
  />