@cleartrip/ct-design-button 4.0.0 → 4.1.0-SNAPSHOT-native-main.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/README.md +156 -0
- package/dist/Button.d.ts +20 -4
- package/dist/Button.d.ts.map +1 -1
- package/dist/Button.native.d.ts +24 -0
- package/dist/Button.native.d.ts.map +1 -0
- package/dist/constants.d.ts +17 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/ct-design-button.browser.cjs.js +1 -1
- package/dist/ct-design-button.browser.cjs.js.map +1 -1
- package/dist/ct-design-button.browser.esm.js +1 -1
- package/dist/ct-design-button.browser.esm.js.map +1 -1
- package/dist/ct-design-button.cjs.js +76 -59
- package/dist/ct-design-button.cjs.js.map +1 -1
- package/dist/ct-design-button.esm.js +80 -59
- package/dist/ct-design-button.esm.js.map +1 -1
- package/dist/ct-design-button.umd.js +80 -73
- package/dist/ct-design-button.umd.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/style.d.ts +46 -54
- package/dist/style.d.ts.map +1 -1
- package/dist/type.d.ts +15 -34
- package/dist/type.d.ts.map +1 -1
- package/package.json +29 -12
- package/src/Button.native.tsx +126 -0
- package/src/Button.tsx +146 -0
- package/src/constants.ts +18 -0
- package/src/index.ts +4 -0
- package/src/style.ts +293 -0
- package/src/type.ts +86 -0
- package/dist/StyledButton.d.ts +0 -4
- package/dist/StyledButton.d.ts.map +0 -1
package/README.md
ADDED
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
# Button
|
|
2
|
+
|
|
3
|
+
A button component is a reusable user interface element used in web development to create interactive elements that users can click or tap to perform actions.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
npm install @cleartrip/ct-design-button
|
|
11
|
+
# or
|
|
12
|
+
pnpm add @cleartrip/ct-design-button
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
### Peer dependencies
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
# Required for all targets
|
|
19
|
+
npm install react
|
|
20
|
+
|
|
21
|
+
# Web only
|
|
22
|
+
npm install react-dom
|
|
23
|
+
|
|
24
|
+
# React Native only
|
|
25
|
+
npm install react-native
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Usage
|
|
31
|
+
|
|
32
|
+
### Basic
|
|
33
|
+
|
|
34
|
+
```tsx
|
|
35
|
+
import { Button, ButtonVariant, ButtonColor, ButtonSize } from '@cleartrip/ct-design-button';
|
|
36
|
+
|
|
37
|
+
function Example() {
|
|
38
|
+
return (
|
|
39
|
+
<Button onClick={() => console.log('clicked')}>
|
|
40
|
+
Click me
|
|
41
|
+
</Button>
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### With variants
|
|
47
|
+
|
|
48
|
+
```tsx
|
|
49
|
+
<Button variant={ButtonVariant.CONTAINED} color={ButtonColor.PRIMARY}>
|
|
50
|
+
Contained Button
|
|
51
|
+
</Button>
|
|
52
|
+
|
|
53
|
+
<Button variant={ButtonVariant.OUTLINE} color={ButtonColor.SECONDARY}>
|
|
54
|
+
Outline Button
|
|
55
|
+
</Button>
|
|
56
|
+
|
|
57
|
+
<Button variant={ButtonVariant.BARE}>
|
|
58
|
+
Bare Button
|
|
59
|
+
</Button>
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### With sizes
|
|
63
|
+
|
|
64
|
+
```tsx
|
|
65
|
+
<Button size={ButtonSize.SMALL}>Small Button</Button>
|
|
66
|
+
<Button size={ButtonSize.MEDIUM}>Medium Button</Button>
|
|
67
|
+
<Button size={ButtonSize.LARGE}>Large Button</Button>
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### With icons
|
|
71
|
+
|
|
72
|
+
```tsx
|
|
73
|
+
<Button
|
|
74
|
+
showLeftIcon={true}
|
|
75
|
+
LeftIcon={<MyIcon />}
|
|
76
|
+
>
|
|
77
|
+
Button with left icon
|
|
78
|
+
</Button>
|
|
79
|
+
|
|
80
|
+
<Button
|
|
81
|
+
showRightIcon={true}
|
|
82
|
+
RightIcon={<MyIcon />}
|
|
83
|
+
>
|
|
84
|
+
Button with right icon
|
|
85
|
+
</Button>
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### Loading state
|
|
89
|
+
|
|
90
|
+
```tsx
|
|
91
|
+
<Button loading={isLoading}>
|
|
92
|
+
{isLoading ? 'Loading...' : 'Submit'}
|
|
93
|
+
</Button>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Props
|
|
99
|
+
|
|
100
|
+
| Prop | Type | Default | Required | Description |
|
|
101
|
+
|------|------|---------|----------|-------------|
|
|
102
|
+
| `children` | `ReactNode` | — | Yes | Button content |
|
|
103
|
+
| `onClick` | `() => void` | — | No | Click handler function |
|
|
104
|
+
| `variant` | `ButtonVariant` | `CONTAINED` | No | Visual style of the button |
|
|
105
|
+
| `size` | `ButtonSize` | `MEDIUM` | No | Size of the button |
|
|
106
|
+
| `color` | `ButtonColor` | `PRIMARY` | No | Color scheme of the button |
|
|
107
|
+
| `disabled` | `boolean` | `false` | No | Whether the button is disabled |
|
|
108
|
+
| `loading` | `boolean` | `false` | No | Whether to show loading state |
|
|
109
|
+
| `isFullWidth` | `boolean` | `false` | No | Whether button takes full width |
|
|
110
|
+
| `minWidth` | `string` | `50px` | No | Minimum width of the button |
|
|
111
|
+
| `showLeftIcon` | `boolean` | `false` | No | Whether to show left icon |
|
|
112
|
+
| `LeftIcon` | `ReactElement` | — | No | Left icon element |
|
|
113
|
+
| `showRightIcon` | `boolean` | `false` | No | Whether to show right icon |
|
|
114
|
+
| `RightIcon` | `ReactElement` | — | No | Right icon element |
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Variants
|
|
119
|
+
|
|
120
|
+
- `CONTAINED` — Filled button with background color
|
|
121
|
+
- `OUTLINE` — Button with border, no background
|
|
122
|
+
- `BARE` — Text-only button, no background or border
|
|
123
|
+
|
|
124
|
+
## Sizes
|
|
125
|
+
|
|
126
|
+
- `SMALL` — Compact button for tight spaces
|
|
127
|
+
- `MEDIUM` — Standard button size (default)
|
|
128
|
+
- `LARGE` — Larger button for emphasis
|
|
129
|
+
|
|
130
|
+
## Colors
|
|
131
|
+
|
|
132
|
+
- `PRIMARY` — Main brand color
|
|
133
|
+
- `SECONDARY` — Secondary color scheme
|
|
134
|
+
- `TERTIARY` — Tertiary color scheme
|
|
135
|
+
- `NEUTRAL` — Neutral/gray color scheme
|
|
136
|
+
|
|
137
|
+
---
|
|
138
|
+
|
|
139
|
+
## Accessibility
|
|
140
|
+
|
|
141
|
+
- Buttons include proper ARIA attributes
|
|
142
|
+
- Disabled buttons are not focusable
|
|
143
|
+
- Loading buttons announce state to screen readers
|
|
144
|
+
- Ensure sufficient color contrast for all variants
|
|
145
|
+
- Icons should have appropriate alt text or ARIA labels
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
## Migration
|
|
150
|
+
|
|
151
|
+
If migrating from previous versions:
|
|
152
|
+
|
|
153
|
+
```diff
|
|
154
|
+
- import { Button } from 'yagami/core/components';
|
|
155
|
+
+ import { Button, ButtonVariant, ButtonColor, ButtonSize } from '@cleartrip/ct-design-button';
|
|
156
|
+
```
|
package/dist/Button.d.ts
CHANGED
|
@@ -1,6 +1,22 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
declare const Button: import("react").ForwardRefExoticComponent<Partial<{
|
|
2
|
+
children: React.ReactNode;
|
|
3
|
+
size: "small" | "medium" | "large";
|
|
4
|
+
variant: "bare" | "contained" | "outline";
|
|
5
|
+
color: "primary" | "secondary" | "tertiary";
|
|
6
|
+
isFullWidth: boolean;
|
|
7
|
+
loading: boolean;
|
|
8
|
+
disabled: boolean;
|
|
9
|
+
prefixIcon: React.ReactNode;
|
|
10
|
+
suffixIcon: React.ReactNode;
|
|
11
|
+
onClick: (event: import("./type").IClickEvent) => void;
|
|
12
|
+
styleConfig?: {
|
|
13
|
+
root?: import("packages/core/types/dist").Styles[];
|
|
14
|
+
container?: import("packages/core/types/dist").Styles[];
|
|
15
|
+
typography?: import("@cleartrip/ct-design-typography").TypographyStyleConfigProps;
|
|
16
|
+
prefixIconContainer?: import("packages/core/types/dist").Styles[];
|
|
17
|
+
suffixIconContainer?: import("packages/core/types/dist").Styles[];
|
|
18
|
+
};
|
|
19
|
+
noHover?: boolean;
|
|
20
|
+
}> & import("react").RefAttributes<HTMLButtonElement>>;
|
|
5
21
|
export default Button;
|
|
6
22
|
//# sourceMappingURL=Button.d.ts.map
|
package/dist/Button.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../packages/components/Button/src/Button.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../packages/components/Button/src/Button.tsx"],"names":[],"mappings":"AAqCA,QAAA,MAAM,MAAM;;;;;;;;;;;;YAYN,CAAC;iBAKD,CAAD;kBAKyB,CAAC;2BAMnB,CAAD;2BAKU,CAAC;;;sDAwErB,CAAC;AAGF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
declare const Button: React.ForwardRefExoticComponent<Partial<{
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
size: "small" | "medium" | "large";
|
|
6
|
+
variant: "bare" | "contained" | "outline";
|
|
7
|
+
color: "primary" | "secondary" | "tertiary";
|
|
8
|
+
isFullWidth: boolean;
|
|
9
|
+
loading: boolean;
|
|
10
|
+
disabled: boolean;
|
|
11
|
+
prefixIcon: React.ReactNode;
|
|
12
|
+
suffixIcon: React.ReactNode;
|
|
13
|
+
onClick: (event: import("./type").IClickEvent) => void;
|
|
14
|
+
styleConfig?: {
|
|
15
|
+
root?: import("packages/core/types/dist").Styles[];
|
|
16
|
+
container?: import("packages/core/types/dist").Styles[];
|
|
17
|
+
typography?: import("@cleartrip/ct-design-typography").TypographyStyleConfigProps;
|
|
18
|
+
prefixIconContainer?: import("packages/core/types/dist").Styles[];
|
|
19
|
+
suffixIconContainer?: import("packages/core/types/dist").Styles[];
|
|
20
|
+
};
|
|
21
|
+
noHover?: boolean;
|
|
22
|
+
}> & React.RefAttributes<View>>;
|
|
23
|
+
export default Button;
|
|
24
|
+
//# sourceMappingURL=Button.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Button.native.d.ts","sourceRoot":"","sources":["../packages/components/Button/src/Button.native.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAa,IAAI,EAAE,MAAM,cAAc,CAAC;AAwC/C,QAAA,MAAM,MAAM;;;;;;;;;;;;YAAZ,CAAA;iBAKa,CAAC;kBAKP,CAAC;2BAKO,CAAC;2BAMV,CAAD;;;+BA0DJ,CAAC;AAIF,eAAe,MAAM,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export declare enum ButtonSize {
|
|
2
|
+
SMALL = "small",
|
|
3
|
+
MEDIUM = "medium",
|
|
4
|
+
LARGE = "large"
|
|
5
|
+
}
|
|
6
|
+
export declare enum ButtonVariant {
|
|
7
|
+
OUTLINE = "outline",
|
|
8
|
+
CONTAINED = "contained",
|
|
9
|
+
BARE = "bare"
|
|
10
|
+
}
|
|
11
|
+
export declare enum ButtonColor {
|
|
12
|
+
PRIMARY = "primary",
|
|
13
|
+
SECONDARY = "secondary",
|
|
14
|
+
TERTIARY = "tertiary",
|
|
15
|
+
NEUTRAL = "neutral"
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../packages/components/Button/src/constants.ts"],"names":[],"mappings":"AAAA,oBAAY,UAAU;IACpB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,oBAAY,aAAa;IACvB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,IAAI,SAAS;CACd;AAED,oBAAY,WAAW;IACrB,OAAO,YAAY;IACnB,SAAS,cAAc;IACvB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var o=require("tslib"),
|
|
1
|
+
"use strict";var t,o,r,e=require("tslib"),n=require("react/jsx-runtime"),i=require("react"),a=require("@cleartrip/ct-design-typography"),s=require("@cleartrip/ct-design-container"),u=require("@cleartrip/ct-design-theme"),l=require("@cleartrip/ct-design-style-manager"),c=require("@cleartrip/ct-design-dotted-loader");exports.ButtonSize=void 0,(t=exports.ButtonSize||(exports.ButtonSize={})).SMALL="small",t.MEDIUM="medium",t.LARGE="large",exports.ButtonVariant=void 0,(o=exports.ButtonVariant||(exports.ButtonVariant={})).OUTLINE="outline",o.CONTAINED="contained",o.BARE="bare",exports.ButtonColor=void 0,(r=exports.ButtonColor||(exports.ButtonColor={})).PRIMARY="primary",r.SECONDARY="secondary",r.TERTIARY="tertiary",r.NEUTRAL="neutral";const d=(t,o,r)=>{if(r)return{backgroundColor:t.color.button.containedDisabledBg};switch(o){case exports.ButtonColor.PRIMARY:return{backgroundColor:t.color.button.containedPrimaryBg};case exports.ButtonColor.SECONDARY:return{backgroundColor:t.color.button.containedSecondaryBg};case exports.ButtonColor.TERTIARY:return{backgroundColor:t.color.button.containedTertiaryBg};default:return{backgroundColor:t.color.button.containedPrimaryBg}}},p=(t,o,r,e,n)=>{switch(r){case exports.ButtonVariant.CONTAINED:return d(t,o,e);case exports.ButtonVariant.OUTLINE:case exports.ButtonVariant.BARE:return((t,o,r)=>{if(r)return{backgroundColor:t.color.button.outlinedDisabledBg};switch(o){case exports.ButtonColor.PRIMARY:return{backgroundColor:t.color.button.outlinedPrimaryBg,borderColor:t.color.button.outlinedPrimaryBorder};case exports.ButtonColor.SECONDARY:return{backgroundColor:t.color.button.outlinedSecondaryBg,borderColor:t.color.button.outlinedSecondaryBorder};case exports.ButtonColor.TERTIARY:return{backgroundColor:t.color.button.outlinedTertiaryBg,borderColor:t.color.button.outlinedTertiaryBorder};case exports.ButtonColor.NEUTRAL:return{backgroundColor:t.color.button.outlinedNeutralBg,borderColor:t.color.button.outlinedNeutralBorder};default:return{backgroundColor:t.color.button.outlinedPrimaryBg,borderColor:t.color.button.outlinedPrimaryBorder}}})(t,o,e);default:return d(t,o,e)}},g=(t,o,r)=>{if(o)return r.color.button.containedDisabledLabel;switch(t){case exports.ButtonColor.PRIMARY:return r.color.button.containedPrimaryLabel;case exports.ButtonColor.SECONDARY:return r.color.button.containedSecondaryLabel;case exports.ButtonColor.TERTIARY:return r.color.button.containedTertiaryLabel;default:return r.color.button.containedPrimaryLabel}},b=(t,o,r)=>{if(o)return r.color.button.outlinedDisabledLabel;switch(t){case exports.ButtonColor.PRIMARY:return r.color.button.outlinedPrimaryLabel;case exports.ButtonColor.SECONDARY:return r.color.button.outlinedSecondaryLabel;case exports.ButtonColor.TERTIARY:return r.color.button.outlinedTertiaryLabel;case exports.ButtonColor.NEUTRAL:return r.color.button.outlinedNeutralLabel;default:return r.color.button.outlinedPrimaryLabel}},B=t=>{switch(t){case exports.ButtonSize.SMALL:case exports.ButtonSize.MEDIUM:return a.TypographyVariant.HM4;case exports.ButtonSize.LARGE:return a.TypographyVariant.HM3;default:return a.TypographyVariant.HM4}},x=({theme:t,size:o,variant:r,color:e,disabled:n,isFullWidth:i,loading:a,isHover:s})=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},((t,o)=>{switch(o){case exports.ButtonSize.SMALL:return{height:t.size[8],paddingTop:t.spacing[1],paddingBottom:t.spacing[1]};case exports.ButtonSize.MEDIUM:return{height:t.size[10],paddingTop:t.spacing[2],paddingBottom:t.spacing[2]};case exports.ButtonSize.LARGE:return{height:t.size[12],paddingTop:t.spacing[3],paddingBottom:t.spacing[3]};default:return{height:t.size[10],paddingTop:t.spacing[2],paddingBottom:t.spacing[2]}}})(t,o)),((t,o,r)=>{if(r)return{borderWidth:t.border.width.none};switch(o){case exports.ButtonVariant.OUTLINE:return{borderWidth:t.border.width.sm,borderStyle:t.border.style.solid};case exports.ButtonVariant.CONTAINED:case exports.ButtonVariant.BARE:default:return{borderWidth:t.border.width.none}}})(t,r,n||a)),p(t,e,r,n||a)),{}),{minWidth:i?"100%":"auto"}),C=l.makeStyles(t=>({root:{display:"flex",flexDirection:"row",justifyContent:"center",alignItems:"center",position:"relative",paddingHorizontal:t.spacing[3]},prefixIcon:{display:"flex",alignItems:"center",justifyContent:"center",paddingRight:t.spacing[1]},suffixIcon:{display:"flex",alignItems:"center",justifyContent:"center",paddingLeft:t.spacing[1]}})),y=i.forwardRef((t,o)=>{var{size:r=exports.ButtonSize.MEDIUM,variant:d=exports.ButtonVariant.CONTAINED,color:p=exports.ButtonColor.PRIMARY,isFullWidth:y=!1,disabled:f=!1,onClick:h=()=>{},prefixIcon:R,suffixIcon:I,children:T,loading:m=!1,styleConfig:A={},noHover:E=!1}=t,L=e.__rest(t,["size","variant","color","isFullWidth","disabled","onClick","prefixIcon","suffixIcon","children","loading","styleConfig","noHover"]);const S=u.useTheme(),[N,M]=i.useState(!1),D=l.useStyles(t=>({root:x({theme:t,size:r,variant:d,color:p,disabled:f,isFullWidth:y,loading:m,isHover:!E&&N})}),[r,d,p,f,y,m,N,E,S]),{root:O=[],container:v=[],typography:z={},prefixIconContainer:P=[],suffixIconContainer:j=[]}=A||{},k=i.useMemo(()=>((t,o,r,e,n)=>{switch(t){case exports.ButtonVariant.CONTAINED:return g(o,r||n,e);case exports.ButtonVariant.OUTLINE:return b(o,r||n,e);case exports.ButtonVariant.BARE:return b(o,r,e);default:return g(o,r||n,e)}})(d,p,f,S,m),[d,p,f,S,m]),V=l.useWebMergeStyles([C.root,D.root,...O],[C.root,D.root,O]),Y=i.useCallback(t=>{f||!h||m||h({stopPropagation:()=>t.stopPropagation(),preventDefault:()=>t.preventDefault()}),(f||m)&&t.preventDefault()},[f,h,m]);return n.jsx("button",Object.assign({ref:o,onClick:Y,className:V},L,{onMouseEnter:()=>M(!0),onMouseLeave:()=>M(!1),children:m?n.jsx(c.DottedLoader,{}):n.jsxs(n.Fragment,{children:[R&&n.jsx(s.Container,{styleConfig:{root:[C.prefixIcon,...P]},children:R}),n.jsx(s.Container,{styleConfig:{root:v},children:n.jsx(a.Typography,{variant:B(r),colorCode:k,styleConfig:z,children:T})}),I&&n.jsx(s.Container,{styleConfig:{root:[C.suffixIcon,...j]},children:I})]})}))});y.displayName="Button",exports.Button=y;
|
|
2
2
|
//# sourceMappingURL=ct-design-button.browser.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ct-design-button.browser.cjs.js","sources":["../packages/components/Button/src/
|
|
1
|
+
{"version":3,"file":"ct-design-button.browser.cjs.js","sources":["../packages/components/Button/src/constants.ts","../packages/components/Button/src/style.ts","../packages/components/Button/src/Button.tsx"],"sourcesContent":[null,null,null],"names":["ButtonSize","ButtonVariant","ButtonColor","getContainedButtonColorStyles","theme","color","disabled","backgroundColor","button","containedDisabledBg","PRIMARY","containedPrimaryBg","SECONDARY","containedSecondaryBg","TERTIARY","containedTertiaryBg","getButtonVariantColorStyles","variant","_isHover","CONTAINED","OUTLINE","BARE","outlinedDisabledBg","outlinedPrimaryBg","borderColor","outlinedPrimaryBorder","outlinedSecondaryBg","outlinedSecondaryBorder","outlinedTertiaryBg","outlinedTertiaryBorder","NEUTRAL","outlinedNeutralBg","outlinedNeutralBorder","getOutlinedButtonColorStyles","getContainedButtonLabelColor","containedDisabledLabel","containedPrimaryLabel","containedSecondaryLabel","containedTertiaryLabel","getOutlinedButtonLabelColor","outlinedDisabledLabel","outlinedPrimaryLabel","outlinedSecondaryLabel","outlinedTertiaryLabel","outlinedNeutralLabel","getTypographyVariant","size","SMALL","MEDIUM","TypographyVariant","HM4","LARGE","HM3","getButtonStyles","isFullWidth","loading","isHover","Object","assign","height","paddingTop","spacing","paddingBottom","getButtonSizeStyles","borderWidth","border","width","none","sm","borderStyle","style","solid","getButtonVariantStyles","minWidth","staticButtonStyles","makeStyles","root","display","flexDirection","justifyContent","alignItems","position","paddingHorizontal","prefixIcon","paddingRight","suffixIcon","paddingLeft","Button","forwardRef","_a","forwardedRef","onClick","children","styleConfig","noHover","rest","__rest","useTheme","setHover","useState","buttonStyles","useStyles","customRootStyles","container","customContainerStyles","typography","customTypographyStyles","prefixIconContainer","customPrefixIconContainerStyles","suffixIconContainer","customSuffixIconContainerStyles","buttonLabelColor","useMemo","getButtonVariantLabelColor","mergedRootStyles","useWebMergeStyles","handleClick","useCallback","event","stopPropagation","preventDefault","_jsx","jsx","ref","className","onMouseEnter","onMouseLeave","DottedLoader","_jsxs","_Fragment","Container","Typography","colorCode","displayName"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__rest as
|
|
1
|
+
import{__rest as r}from"tslib";import{jsx as o,jsxs as t,Fragment as e}from"react/jsx-runtime";import{forwardRef as n,useState as i,useMemo as a,useCallback as c}from"react";import{TypographyVariant as l,Typography as d}from"@cleartrip/ct-design-typography";import{Container as u}from"@cleartrip/ct-design-container";import{useTheme as s}from"@cleartrip/ct-design-theme";import{makeStyles as b,useStyles as g,useWebMergeStyles as p}from"@cleartrip/ct-design-style-manager";import{DottedLoader as f}from"@cleartrip/ct-design-dotted-loader";var m,y,h;!function(r){r.SMALL="small",r.MEDIUM="medium",r.LARGE="large"}(m||(m={})),function(r){r.OUTLINE="outline",r.CONTAINED="contained",r.BARE="bare"}(y||(y={})),function(r){r.PRIMARY="primary",r.SECONDARY="secondary",r.TERTIARY="tertiary",r.NEUTRAL="neutral"}(h||(h={}));const C=(r,o,t)=>{if(t)return{backgroundColor:r.color.button.containedDisabledBg};switch(o){case h.PRIMARY:return{backgroundColor:r.color.button.containedPrimaryBg};case h.SECONDARY:return{backgroundColor:r.color.button.containedSecondaryBg};case h.TERTIARY:return{backgroundColor:r.color.button.containedTertiaryBg};default:return{backgroundColor:r.color.button.containedPrimaryBg}}},R=(r,o,t,e,n)=>{switch(t){case y.CONTAINED:return C(r,o,e);case y.OUTLINE:case y.BARE:return((r,o,t)=>{if(t)return{backgroundColor:r.color.button.outlinedDisabledBg};switch(o){case h.PRIMARY:return{backgroundColor:r.color.button.outlinedPrimaryBg,borderColor:r.color.button.outlinedPrimaryBorder};case h.SECONDARY:return{backgroundColor:r.color.button.outlinedSecondaryBg,borderColor:r.color.button.outlinedSecondaryBorder};case h.TERTIARY:return{backgroundColor:r.color.button.outlinedTertiaryBg,borderColor:r.color.button.outlinedTertiaryBorder};case h.NEUTRAL:return{backgroundColor:r.color.button.outlinedNeutralBg,borderColor:r.color.button.outlinedNeutralBorder};default:return{backgroundColor:r.color.button.outlinedPrimaryBg,borderColor:r.color.button.outlinedPrimaryBorder}}})(r,o,e);default:return C(r,o,e)}},I=(r,o,t)=>{if(o)return t.color.button.containedDisabledLabel;switch(r){case h.PRIMARY:return t.color.button.containedPrimaryLabel;case h.SECONDARY:return t.color.button.containedSecondaryLabel;case h.TERTIARY:return t.color.button.containedTertiaryLabel;default:return t.color.button.containedPrimaryLabel}},A=(r,o,t)=>{if(o)return t.color.button.outlinedDisabledLabel;switch(r){case h.PRIMARY:return t.color.button.outlinedPrimaryLabel;case h.SECONDARY:return t.color.button.outlinedSecondaryLabel;case h.TERTIARY:return t.color.button.outlinedTertiaryLabel;case h.NEUTRAL:return t.color.button.outlinedNeutralLabel;default:return t.color.button.outlinedPrimaryLabel}},E=r=>{switch(r){case m.SMALL:case m.MEDIUM:return l.HM4;case m.LARGE:return l.HM3;default:return l.HM4}},T=({theme:r,size:o,variant:t,color:e,disabled:n,isFullWidth:i,loading:a,isHover:c})=>Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},((r,o)=>{switch(o){case m.SMALL:return{height:r.size[8],paddingTop:r.spacing[1],paddingBottom:r.spacing[1]};case m.MEDIUM:return{height:r.size[10],paddingTop:r.spacing[2],paddingBottom:r.spacing[2]};case m.LARGE:return{height:r.size[12],paddingTop:r.spacing[3],paddingBottom:r.spacing[3]};default:return{height:r.size[10],paddingTop:r.spacing[2],paddingBottom:r.spacing[2]}}})(r,o)),((r,o,t)=>{if(t)return{borderWidth:r.border.width.none};switch(o){case y.OUTLINE:return{borderWidth:r.border.width.sm,borderStyle:r.border.style.solid};case y.CONTAINED:case y.BARE:default:return{borderWidth:r.border.width.none}}})(r,t,n||a)),R(r,e,t,n||a)),{}),{minWidth:i?"100%":"auto"}),L=b(r=>({root:{display:"flex",flexDirection:"row",justifyContent:"center",alignItems:"center",position:"relative",paddingHorizontal:r.spacing[3]},prefixIcon:{display:"flex",alignItems:"center",justifyContent:"center",paddingRight:r.spacing[1]},suffixIcon:{display:"flex",alignItems:"center",justifyContent:"center",paddingLeft:r.spacing[1]}})),N=n((n,l)=>{var{size:b=m.MEDIUM,variant:C=y.CONTAINED,color:R=h.PRIMARY,isFullWidth:N=!1,disabled:B=!1,onClick:D=()=>{},prefixIcon:M,suffixIcon:O,children:P,loading:v=!1,styleConfig:x={},noHover:Y=!1}=n,k=r(n,["size","variant","color","isFullWidth","disabled","onClick","prefixIcon","suffixIcon","children","loading","styleConfig","noHover"]);const S=s(),[w,U]=i(!1),j=g(r=>({root:T({theme:r,size:b,variant:C,color:R,disabled:B,isFullWidth:N,loading:v,isHover:!Y&&w})}),[b,C,R,B,N,v,w,Y,S]),{root:z=[],container:H=[],typography:W={},prefixIconContainer:F=[],suffixIconContainer:G=[]}=x||{},q=a(()=>((r,o,t,e,n)=>{switch(r){case y.CONTAINED:return I(o,t||n,e);case y.OUTLINE:return A(o,t||n,e);case y.BARE:return A(o,t,e);default:return I(o,t||n,e)}})(C,R,B,S,v),[C,R,B,S,v]),J=p([L.root,j.root,...z],[L.root,j.root,z]),K=c(r=>{B||!D||v||D({stopPropagation:()=>r.stopPropagation(),preventDefault:()=>r.preventDefault()}),(B||v)&&r.preventDefault()},[B,D,v]);return o("button",Object.assign({ref:l,onClick:K,className:J},k,{onMouseEnter:()=>U(!0),onMouseLeave:()=>U(!1),children:v?o(f,{}):t(e,{children:[M&&o(u,{styleConfig:{root:[L.prefixIcon,...F]},children:M}),o(u,{styleConfig:{root:H},children:o(d,{variant:E(b),colorCode:q,styleConfig:W,children:P})}),O&&o(u,{styleConfig:{root:[L.suffixIcon,...G]},children:O})]})}))});N.displayName="Button";export{N as Button,h as ButtonColor,m as ButtonSize,y as ButtonVariant};
|
|
2
2
|
//# sourceMappingURL=ct-design-button.browser.esm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ct-design-button.browser.esm.js","sources":["../packages/components/Button/src/
|
|
1
|
+
{"version":3,"file":"ct-design-button.browser.esm.js","sources":["../packages/components/Button/src/constants.ts","../packages/components/Button/src/style.ts","../packages/components/Button/src/Button.tsx"],"sourcesContent":[null,null,null],"names":["ButtonSize","ButtonVariant","ButtonColor","getContainedButtonColorStyles","theme","color","disabled","backgroundColor","button","containedDisabledBg","PRIMARY","containedPrimaryBg","SECONDARY","containedSecondaryBg","TERTIARY","containedTertiaryBg","getButtonVariantColorStyles","variant","_isHover","CONTAINED","OUTLINE","BARE","outlinedDisabledBg","outlinedPrimaryBg","borderColor","outlinedPrimaryBorder","outlinedSecondaryBg","outlinedSecondaryBorder","outlinedTertiaryBg","outlinedTertiaryBorder","NEUTRAL","outlinedNeutralBg","outlinedNeutralBorder","getOutlinedButtonColorStyles","getContainedButtonLabelColor","containedDisabledLabel","containedPrimaryLabel","containedSecondaryLabel","containedTertiaryLabel","getOutlinedButtonLabelColor","outlinedDisabledLabel","outlinedPrimaryLabel","outlinedSecondaryLabel","outlinedTertiaryLabel","outlinedNeutralLabel","getTypographyVariant","size","SMALL","MEDIUM","TypographyVariant","HM4","LARGE","HM3","getButtonStyles","isFullWidth","loading","isHover","Object","assign","height","paddingTop","spacing","paddingBottom","getButtonSizeStyles","borderWidth","border","width","none","sm","borderStyle","style","solid","getButtonVariantStyles","minWidth","staticButtonStyles","makeStyles","root","display","flexDirection","justifyContent","alignItems","position","paddingHorizontal","prefixIcon","paddingRight","suffixIcon","paddingLeft","Button","forwardRef","_a","forwardedRef","onClick","children","styleConfig","noHover","rest","__rest","useTheme","setHover","useState","buttonStyles","useStyles","customRootStyles","container","customContainerStyles","typography","customTypographyStyles","prefixIconContainer","customPrefixIconContainerStyles","suffixIconContainer","customSuffixIconContainerStyles","buttonLabelColor","useMemo","getButtonVariantLabelColor","mergedRootStyles","useWebMergeStyles","handleClick","useCallback","event","stopPropagation","preventDefault","_jsx","ref","className","onMouseEnter","onMouseLeave","DottedLoader","_jsxs","_Fragment","Container","Typography","colorCode","displayName"],"mappings":"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"}
|