@hazelcast/ui 1.1.1 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Alert.d.ts +3 -2
- package/lib/Alert.js +23 -22
- package/lib/Alert.js.map +1 -1
- package/lib/Alert.module.scss +14 -6
- package/lib/AutocompleteField.d.ts +2 -1
- package/lib/AutocompleteField.js +45 -22
- package/lib/AutocompleteField.js.map +1 -1
- package/lib/AutocompleteField.module.scss +3 -5
- package/lib/AutocompleteFieldFormik.d.ts +2 -1
- package/lib/AutocompleteFieldFormik.js +11 -5
- package/lib/AutocompleteFieldFormik.js.map +1 -1
- package/lib/Button.d.ts +9 -294
- package/lib/Button.js +41 -14
- package/lib/Button.js.map +1 -1
- package/lib/Button.module.scss +120 -87
- package/lib/Calendar/Calendar.d.ts +1 -1
- package/lib/Calendar/Calendar.js +8 -3
- package/lib/Calendar/Calendar.js.map +1 -1
- package/lib/Calendar/Calendar.module.scss +134 -123
- package/lib/Calendar/components/CalendarHeader.tsx +45 -0
- package/lib/Calendar/components/CalendarInput.js +2 -2
- package/lib/Calendar/components/CalendarInput.js.map +1 -1
- package/lib/Calendar/components/CalendarInput.tsx +50 -0
- package/lib/Calendar/components/CalendarTime.js +2 -2
- package/lib/Calendar/components/CalendarTime.js.map +1 -1
- package/lib/Calendar/components/CalendarTime.module.scss +2 -0
- package/lib/Calendar/components/CalendarTime.tsx +117 -0
- package/lib/Calendar/helpers/consts.ts +99 -0
- package/lib/Card.d.ts +1 -0
- package/lib/Card.js +4 -3
- package/lib/Card.js.map +1 -1
- package/lib/Card.module.scss +16 -4
- package/lib/Checkbox.d.ts +2 -2
- package/lib/Checkbox.js +7 -4
- package/lib/Checkbox.js.map +1 -1
- package/lib/Checkbox.module.scss +17 -6
- package/lib/CheckboxFormik.d.ts +2 -1
- package/lib/CheckboxFormik.js +9 -4
- package/lib/CheckboxFormik.js.map +1 -1
- package/lib/CodeEditor.d.ts +3 -2
- package/lib/CodeEditor.js +4 -3
- package/lib/CodeEditor.js.map +1 -1
- package/lib/CodeEditor.module.scss +5 -2
- package/lib/CodeEditorFormik.js +2 -2
- package/lib/CodeEditorFormik.js.map +1 -1
- package/lib/Dialog.js +5 -2
- package/lib/Dialog.js.map +1 -1
- package/lib/Dialog.module.scss +3 -0
- package/lib/EmptyState.d.ts +6 -4
- package/lib/EmptyState.js +4 -6
- package/lib/EmptyState.js.map +1 -1
- package/lib/EmptyState.module.scss +1 -1
- package/lib/Error.d.ts +3 -0
- package/lib/Error.js +2 -1
- package/lib/Error.js.map +1 -1
- package/lib/FieldHeader.d.ts +20 -0
- package/lib/FieldHeader.js +15 -0
- package/lib/FieldHeader.js.map +1 -0
- package/lib/FieldHeader.module.scss +20 -0
- package/lib/Icon.d.ts +2 -35
- package/lib/Icon.js +1 -1
- package/lib/Icon.js.map +1 -1
- package/lib/Icon.module.scss +5 -0
- package/lib/IconButton.d.ts +6 -158
- package/lib/IconButton.js +3 -3
- package/lib/IconButton.js.map +1 -1
- package/lib/InteractiveList.d.ts +3 -3
- package/lib/InteractiveList.js +2 -3
- package/lib/InteractiveList.js.map +1 -1
- package/lib/InteractiveList.module.scss +1 -0
- package/lib/InteractiveListFormik.js +5 -4
- package/lib/InteractiveListFormik.js.map +1 -1
- package/lib/Link.d.ts +1 -65
- package/lib/Link.js +3 -4
- package/lib/Link.js.map +1 -1
- package/lib/Link.module.scss +7 -0
- package/lib/Loader.js +2 -2
- package/lib/Loader.js.map +1 -1
- package/lib/Loader.module.scss +10 -1
- package/lib/Modal.js +3 -3
- package/lib/Modal.js.map +1 -1
- package/lib/Modal.module.scss +1 -0
- package/lib/Notification.module.scss +1 -0
- package/lib/NumberField.d.ts +1 -0
- package/lib/NumberField.js +41 -13
- package/lib/NumberField.js.map +1 -1
- package/lib/NumberField.module.scss +40 -3
- package/lib/NumberFieldFormik.d.ts +2 -1
- package/lib/NumberFieldFormik.js +7 -4
- package/lib/NumberFieldFormik.js.map +1 -1
- package/lib/Overlay.d.ts +3 -2
- package/lib/Overlay.js +7 -5
- package/lib/Overlay.js.map +1 -1
- package/lib/Overlay.module.scss +18 -3
- package/lib/Pagination.d.ts +0 -3
- package/lib/Pagination.js +10 -13
- package/lib/Pagination.js.map +1 -1
- package/lib/Pagination.module.scss +3 -1
- package/lib/PasswordField.js +2 -2
- package/lib/PasswordField.js.map +1 -1
- package/lib/PasswordFieldFormik.d.ts +2 -1
- package/lib/PasswordFieldFormik.js +9 -4
- package/lib/PasswordFieldFormik.js.map +1 -1
- package/lib/Popover.d.ts +21 -0
- package/lib/Popover.js +77 -0
- package/lib/Popover.js.map +1 -0
- package/lib/Popover.module.scss +12 -0
- package/lib/Radio.d.ts +2 -2
- package/lib/Radio.js +4 -2
- package/lib/Radio.js.map +1 -1
- package/lib/Radio.module.scss +3 -0
- package/lib/RadioFormik.js +1 -1
- package/lib/RadioFormik.js.map +1 -1
- package/lib/RadioGroup.js +4 -3
- package/lib/RadioGroup.js.map +1 -1
- package/lib/RadioGroup.module.scss +1 -4
- package/lib/RadioGroupFormik.d.ts +2 -1
- package/lib/RadioGroupFormik.js +9 -4
- package/lib/RadioGroupFormik.js.map +1 -1
- package/lib/SegmentedControl.d.ts +8 -8
- package/lib/SegmentedControl.js.map +1 -1
- package/lib/SegmentedControl.module.scss +4 -2
- package/lib/SegmentedControlFormik.d.ts +4 -4
- package/lib/SegmentedControlFormik.js +1 -1
- package/lib/SegmentedControlFormik.js.map +1 -1
- package/lib/Select/CheckableSelectField.d.ts +34 -0
- package/lib/Select/CheckableSelectField.js +65 -0
- package/lib/Select/CheckableSelectField.js.map +1 -0
- package/lib/Select/CheckableSelectField.module.scss +87 -0
- package/lib/Select/CheckableSelectFieldFormik.d.ts +10 -0
- package/lib/Select/CheckableSelectFieldFormik.js +19 -0
- package/lib/Select/CheckableSelectFieldFormik.js.map +1 -0
- package/lib/Select/Common.d.ts +2 -0
- package/lib/Select/Common.js +10 -3
- package/lib/Select/Common.js.map +1 -1
- package/lib/Select/Common.module.scss +2 -0
- package/lib/Select/MultiSelectField.d.ts +5 -8
- package/lib/Select/MultiSelectField.js +13 -14
- package/lib/Select/MultiSelectField.js.map +1 -1
- package/lib/Select/MultiSelectField.module.scss +8 -0
- package/lib/Select/MultiSelectFieldFormik.d.ts +3 -2
- package/lib/Select/MultiSelectFieldFormik.js +11 -5
- package/lib/Select/MultiSelectFieldFormik.js.map +1 -1
- package/lib/Select/SelectField.d.ts +3 -7
- package/lib/Select/SelectField.js +8 -8
- package/lib/Select/SelectField.js.map +1 -1
- package/lib/Select/SelectField.module.scss +5 -5
- package/lib/Select/SelectFieldFormik.d.ts +3 -2
- package/lib/Select/SelectFieldFormik.js +10 -4
- package/lib/Select/SelectFieldFormik.js.map +1 -1
- package/lib/Select/helpers.d.ts +1 -2
- package/lib/Select/index.d.ts +7 -5
- package/lib/Select/index.js +7 -5
- package/lib/Select/index.js.map +1 -1
- package/lib/SimpleTable.js +7 -7
- package/lib/SimpleTable.js.map +1 -1
- package/lib/SimpleTable.module.scss +1 -1
- package/lib/Slider.d.ts +6 -5
- package/lib/Slider.js +35 -17
- package/lib/Slider.js.map +1 -1
- package/lib/Slider.module.scss +13 -9
- package/lib/SliderFormik.d.ts +1 -1
- package/lib/SliderFormik.js +1 -1
- package/lib/SliderFormik.js.map +1 -1
- package/lib/Table/Cell.module.scss +11 -4
- package/lib/Table/EnhancedRenderers.d.ts +0 -7
- package/lib/Table/EnhancedRenderers.js +3 -14
- package/lib/Table/EnhancedRenderers.js.map +1 -1
- package/lib/Table/Header.js +9 -3
- package/lib/Table/Header.js.map +1 -1
- package/lib/Table/Header.module.scss +29 -35
- package/lib/Table/Row.js +2 -7
- package/lib/Table/Row.js.map +1 -1
- package/lib/Table/Row.module.scss +4 -10
- package/lib/Table/Table.d.ts +10 -4
- package/lib/Table/Table.js +71 -31
- package/lib/Table/Table.js.map +1 -1
- package/lib/Table/Table.module.scss +5 -5
- package/lib/Tabs/Tab.d.ts +9 -1
- package/lib/Tabs/Tab.js +5 -2
- package/lib/Tabs/Tab.js.map +1 -1
- package/lib/Tabs/Tab.module.scss +5 -1
- package/lib/Tabs/TabList.js +2 -1
- package/lib/Tabs/TabList.js.map +1 -1
- package/lib/Tabs/index.d.ts +4 -4
- package/lib/Tabs/index.js +4 -4
- package/lib/Tabs/index.js.map +1 -1
- package/lib/Terminal.js +3 -3
- package/lib/Terminal.js.map +1 -1
- package/lib/Terminal.module.scss +1 -0
- package/lib/TextArea.d.ts +2 -5
- package/lib/TextArea.js +9 -9
- package/lib/TextArea.js.map +1 -1
- package/lib/TextArea.module.scss +15 -10
- package/lib/TextAreaFormik.js +1 -1
- package/lib/TextAreaFormik.js.map +1 -1
- package/lib/TextField.d.ts +13 -23
- package/lib/TextField.js +27 -12
- package/lib/TextField.js.map +1 -1
- package/lib/TextField.module.scss +36 -38
- package/lib/TextFieldFormik.d.ts +4 -2
- package/lib/TextFieldFormik.js +15 -4
- package/lib/TextFieldFormik.js.map +1 -1
- package/lib/TimeField.d.ts +2 -11
- package/lib/TimeField.js +8 -7
- package/lib/TimeField.js.map +1 -1
- package/lib/TimeField.module.scss +6 -6
- package/lib/TimeFieldFormik.js +1 -1
- package/lib/TimeFieldFormik.js.map +1 -1
- package/lib/Toast.js.map +1 -1
- package/lib/Toggle.js +4 -3
- package/lib/Toggle.js.map +1 -1
- package/lib/Toggle.module.scss +23 -19
- package/lib/ToggleFormik.js +1 -1
- package/lib/ToggleFormik.js.map +1 -1
- package/lib/Tooltip.d.ts +9 -2
- package/lib/Tooltip.js +87 -27
- package/lib/Tooltip.js.map +1 -1
- package/lib/Tooltip.module.scss +10 -5
- package/lib/TruncatedText.d.ts +6 -3
- package/lib/TruncatedText.js +2 -2
- package/lib/TruncatedText.js.map +1 -1
- package/lib/hooks/index.d.ts +5 -0
- package/lib/hooks/index.js +7 -0
- package/lib/hooks/index.js.map +1 -0
- package/lib/hooks/useIsMounted.d.ts +1 -0
- package/lib/hooks/useIsMounted.js +12 -0
- package/lib/hooks/useIsMounted.js.map +1 -0
- package/lib/hooks/useOnClickOutside.d.ts +8 -0
- package/lib/hooks/useOnClickOutside.js +24 -0
- package/lib/hooks/useOnClickOutside.js.map +1 -0
- package/lib/hooks/useOpenCloseState.d.ts +6 -0
- package/lib/hooks/useOpenCloseState.js +14 -0
- package/lib/hooks/useOpenCloseState.js.map +1 -0
- package/lib/hooks/usePrevious.d.ts +1 -0
- package/lib/hooks/usePrevious.js +9 -0
- package/lib/hooks/usePrevious.js.map +1 -0
- package/lib/hooks/useRefValue.d.ts +1 -0
- package/lib/hooks/useRefValue.js +9 -0
- package/lib/hooks/useRefValue.js.map +1 -0
- package/lib/hooks/useTableCustomizableColumns.d.ts +9 -0
- package/lib/hooks/useTableCustomizableColumns.js +23 -0
- package/lib/hooks/useTableCustomizableColumns.js.map +1 -0
- package/lib/index.d.ts +55 -53
- package/lib/index.js +55 -53
- package/lib/index.js.map +1 -1
- package/lib/utils/test.d.ts +1 -0
- package/lib/utils/test.js +8 -0
- package/lib/utils/test.js.map +1 -0
- package/package.json +57 -50
- package/styles/constants/_animations.scss +0 -1
- package/styles/constants/_colors.scss +1 -10
- package/styles/constants/_sizes.scss +6 -24
- package/styles/constants/_typography.scss +21 -10
- package/styles/constants/export.module.scss +1 -1
- package/styles/fonts.css +14 -65
- package/styles/helpers/_a11y.scss +8 -1
- package/styles/helpers/_error.scss +17 -0
- package/styles/helpers/_index.scss +1 -0
- package/styles/helpers/_input.scss +1 -1
package/lib/Button.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import { IconProps } from './Icon';
|
|
|
3
3
|
import { TooltipProps } from './Tooltip';
|
|
4
4
|
import { LinkRel, LinkTarget } from './Link';
|
|
5
5
|
export declare type ButtonKind = 'primary' | 'secondary' | 'danger' | 'transparent';
|
|
6
|
+
export declare type ButtonVariant = 'contained' | 'outlined' | 'text';
|
|
7
|
+
export declare type ButtonColor = 'primary' | 'secondary' | 'warning';
|
|
6
8
|
export declare type ButtonSize = 'medium' | 'small';
|
|
7
9
|
export declare type ButtonAccessibleIconLeftProps = {
|
|
8
10
|
iconLeft: IconProps['icon'];
|
|
@@ -40,13 +42,18 @@ export declare type ButtonDisabledProps = {
|
|
|
40
42
|
};
|
|
41
43
|
export declare type ButtonOutlineType = 'outline' | 'inset';
|
|
42
44
|
export declare type ButtonCommonProps = {
|
|
45
|
+
/**
|
|
46
|
+
* @deprecated Use variant + color instead
|
|
47
|
+
*/
|
|
43
48
|
kind?: ButtonKind;
|
|
44
|
-
size?: ButtonSize;
|
|
45
49
|
children: string;
|
|
50
|
+
color?: ButtonColor;
|
|
46
51
|
capitalize?: boolean;
|
|
47
52
|
bodyClassName?: string;
|
|
53
|
+
variant?: ButtonVariant;
|
|
48
54
|
outlineClassName?: string;
|
|
49
55
|
outline?: ButtonOutlineType;
|
|
56
|
+
tooltip?: string;
|
|
50
57
|
} & Pick<HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, 'className' | 'onClick' | 'tabIndex' | 'style'>;
|
|
51
58
|
export declare type ButtonTypeAnchorProps = {
|
|
52
59
|
component: 'a';
|
|
@@ -85,297 +92,5 @@ export declare type ButtonProps<T = ButtonTypeProps> = ButtonCommonProps & Butto
|
|
|
85
92
|
* - **Danger**: Use danger button for potentially destructive actions.
|
|
86
93
|
* - **Transparent**: Use for IconButton and similar use-cases.
|
|
87
94
|
*/
|
|
88
|
-
export declare const Button: React.ForwardRefExoticComponent<
|
|
89
|
-
kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
|
|
90
|
-
size?: "medium" | "small" | undefined;
|
|
91
|
-
children: string;
|
|
92
|
-
capitalize?: boolean | undefined;
|
|
93
|
-
bodyClassName?: string | undefined;
|
|
94
|
-
outlineClassName?: string | undefined;
|
|
95
|
-
outline?: "inset" | "outline" | undefined;
|
|
96
|
-
} & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
|
|
97
|
-
iconLeft: IconProps['icon'];
|
|
98
|
-
iconLeftAriaLabel: string;
|
|
99
|
-
iconLeftColor?: IconProps['color'];
|
|
100
|
-
iconLeftClassName?: string | undefined;
|
|
101
|
-
} & {
|
|
102
|
-
iconRight: IconProps['icon'];
|
|
103
|
-
iconRightAriaLabel: string;
|
|
104
|
-
iconRightColor?: IconProps['color'];
|
|
105
|
-
iconRightClassName?: string | undefined;
|
|
106
|
-
} & {
|
|
107
|
-
component: 'a';
|
|
108
|
-
href: string;
|
|
109
|
-
target?: "_self" | "_blank" | "_parent" | "_top" | undefined;
|
|
110
|
-
rel?: "alternate" | "help" | "search" | "author" | "bookmark" | "dns-prefetch" | "external" | "license" | "next" | "nofollow" | "noopener" | "noreferrer" | "opener" | "prev" | "tag" | LinkRel[] | undefined;
|
|
111
|
-
type?: undefined;
|
|
112
|
-
loading?: undefined;
|
|
113
|
-
} & ButtonNotDisabledProps & React.RefAttributes<HTMLElement>) | ({
|
|
114
|
-
kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
|
|
115
|
-
size?: "medium" | "small" | undefined;
|
|
116
|
-
children: string;
|
|
117
|
-
capitalize?: boolean | undefined;
|
|
118
|
-
bodyClassName?: string | undefined;
|
|
119
|
-
outlineClassName?: string | undefined;
|
|
120
|
-
outline?: "inset" | "outline" | undefined;
|
|
121
|
-
} & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
|
|
122
|
-
iconLeft: IconProps['icon'];
|
|
123
|
-
iconLeftAriaLabel: string;
|
|
124
|
-
iconLeftColor?: IconProps['color'];
|
|
125
|
-
iconLeftClassName?: string | undefined;
|
|
126
|
-
} & {
|
|
127
|
-
iconRight: IconProps['icon'];
|
|
128
|
-
iconRightAriaLabel: string;
|
|
129
|
-
iconRightColor?: IconProps['color'];
|
|
130
|
-
iconRightClassName?: string | undefined;
|
|
131
|
-
} & {
|
|
132
|
-
component?: "button" | undefined;
|
|
133
|
-
href?: undefined;
|
|
134
|
-
target?: undefined;
|
|
135
|
-
rel?: undefined;
|
|
136
|
-
loading?: boolean | undefined;
|
|
137
|
-
} & ButtonNotDisabledProps & Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "autoFocus"> & React.RefAttributes<HTMLElement>) | ({
|
|
138
|
-
kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
|
|
139
|
-
size?: "medium" | "small" | undefined;
|
|
140
|
-
children: string;
|
|
141
|
-
capitalize?: boolean | undefined;
|
|
142
|
-
bodyClassName?: string | undefined;
|
|
143
|
-
outlineClassName?: string | undefined;
|
|
144
|
-
outline?: "inset" | "outline" | undefined;
|
|
145
|
-
} & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
|
|
146
|
-
iconLeft: IconProps['icon'];
|
|
147
|
-
iconLeftAriaLabel: string;
|
|
148
|
-
iconLeftColor?: IconProps['color'];
|
|
149
|
-
iconLeftClassName?: string | undefined;
|
|
150
|
-
} & {
|
|
151
|
-
iconRight: IconProps['icon'];
|
|
152
|
-
iconRightAriaLabel: string;
|
|
153
|
-
iconRightColor?: IconProps['color'];
|
|
154
|
-
iconRightClassName?: string | undefined;
|
|
155
|
-
} & {
|
|
156
|
-
component?: "button" | undefined;
|
|
157
|
-
href?: undefined;
|
|
158
|
-
target?: undefined;
|
|
159
|
-
rel?: undefined;
|
|
160
|
-
loading?: boolean | undefined;
|
|
161
|
-
} & ButtonDisabledProps & Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "autoFocus"> & React.RefAttributes<HTMLElement>) | ({
|
|
162
|
-
kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
|
|
163
|
-
size?: "medium" | "small" | undefined;
|
|
164
|
-
children: string;
|
|
165
|
-
capitalize?: boolean | undefined;
|
|
166
|
-
bodyClassName?: string | undefined;
|
|
167
|
-
outlineClassName?: string | undefined;
|
|
168
|
-
outline?: "inset" | "outline" | undefined;
|
|
169
|
-
} & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
|
|
170
|
-
iconLeft: IconProps['icon'];
|
|
171
|
-
iconLeftAriaLabel: string;
|
|
172
|
-
iconLeftColor?: IconProps['color'];
|
|
173
|
-
iconLeftClassName?: string | undefined;
|
|
174
|
-
} & {
|
|
175
|
-
iconRight?: undefined;
|
|
176
|
-
iconRightAriaLabel?: undefined;
|
|
177
|
-
iconRightColor?: undefined;
|
|
178
|
-
iconRightClassName?: undefined;
|
|
179
|
-
} & {
|
|
180
|
-
component: 'a';
|
|
181
|
-
href: string;
|
|
182
|
-
target?: "_self" | "_blank" | "_parent" | "_top" | undefined;
|
|
183
|
-
rel?: "alternate" | "help" | "search" | "author" | "bookmark" | "dns-prefetch" | "external" | "license" | "next" | "nofollow" | "noopener" | "noreferrer" | "opener" | "prev" | "tag" | LinkRel[] | undefined;
|
|
184
|
-
type?: undefined;
|
|
185
|
-
loading?: undefined;
|
|
186
|
-
} & ButtonNotDisabledProps & React.RefAttributes<HTMLElement>) | ({
|
|
187
|
-
kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
|
|
188
|
-
size?: "medium" | "small" | undefined;
|
|
189
|
-
children: string;
|
|
190
|
-
capitalize?: boolean | undefined;
|
|
191
|
-
bodyClassName?: string | undefined;
|
|
192
|
-
outlineClassName?: string | undefined;
|
|
193
|
-
outline?: "inset" | "outline" | undefined;
|
|
194
|
-
} & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
|
|
195
|
-
iconLeft: IconProps['icon'];
|
|
196
|
-
iconLeftAriaLabel: string;
|
|
197
|
-
iconLeftColor?: IconProps['color'];
|
|
198
|
-
iconLeftClassName?: string | undefined;
|
|
199
|
-
} & {
|
|
200
|
-
iconRight?: undefined;
|
|
201
|
-
iconRightAriaLabel?: undefined;
|
|
202
|
-
iconRightColor?: undefined;
|
|
203
|
-
iconRightClassName?: undefined;
|
|
204
|
-
} & {
|
|
205
|
-
component?: "button" | undefined;
|
|
206
|
-
href?: undefined;
|
|
207
|
-
target?: undefined;
|
|
208
|
-
rel?: undefined;
|
|
209
|
-
loading?: boolean | undefined;
|
|
210
|
-
} & ButtonNotDisabledProps & Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "autoFocus"> & React.RefAttributes<HTMLElement>) | ({
|
|
211
|
-
kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
|
|
212
|
-
size?: "medium" | "small" | undefined;
|
|
213
|
-
children: string;
|
|
214
|
-
capitalize?: boolean | undefined;
|
|
215
|
-
bodyClassName?: string | undefined;
|
|
216
|
-
outlineClassName?: string | undefined;
|
|
217
|
-
outline?: "inset" | "outline" | undefined;
|
|
218
|
-
} & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
|
|
219
|
-
iconLeft: IconProps['icon'];
|
|
220
|
-
iconLeftAriaLabel: string;
|
|
221
|
-
iconLeftColor?: IconProps['color'];
|
|
222
|
-
iconLeftClassName?: string | undefined;
|
|
223
|
-
} & {
|
|
224
|
-
iconRight?: undefined;
|
|
225
|
-
iconRightAriaLabel?: undefined;
|
|
226
|
-
iconRightColor?: undefined;
|
|
227
|
-
iconRightClassName?: undefined;
|
|
228
|
-
} & {
|
|
229
|
-
component?: "button" | undefined;
|
|
230
|
-
href?: undefined;
|
|
231
|
-
target?: undefined;
|
|
232
|
-
rel?: undefined;
|
|
233
|
-
loading?: boolean | undefined;
|
|
234
|
-
} & ButtonDisabledProps & Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "autoFocus"> & React.RefAttributes<HTMLElement>) | ({
|
|
235
|
-
kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
|
|
236
|
-
size?: "medium" | "small" | undefined;
|
|
237
|
-
children: string;
|
|
238
|
-
capitalize?: boolean | undefined;
|
|
239
|
-
bodyClassName?: string | undefined;
|
|
240
|
-
outlineClassName?: string | undefined;
|
|
241
|
-
outline?: "inset" | "outline" | undefined;
|
|
242
|
-
} & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
|
|
243
|
-
iconLeft?: undefined;
|
|
244
|
-
iconLeftAriaLabel?: undefined;
|
|
245
|
-
iconLeftColor?: undefined;
|
|
246
|
-
iconLeftClassName?: undefined;
|
|
247
|
-
} & {
|
|
248
|
-
iconRight: IconProps['icon'];
|
|
249
|
-
iconRightAriaLabel: string;
|
|
250
|
-
iconRightColor?: IconProps['color'];
|
|
251
|
-
iconRightClassName?: string | undefined;
|
|
252
|
-
} & {
|
|
253
|
-
component: 'a';
|
|
254
|
-
href: string;
|
|
255
|
-
target?: "_self" | "_blank" | "_parent" | "_top" | undefined;
|
|
256
|
-
rel?: "alternate" | "help" | "search" | "author" | "bookmark" | "dns-prefetch" | "external" | "license" | "next" | "nofollow" | "noopener" | "noreferrer" | "opener" | "prev" | "tag" | LinkRel[] | undefined;
|
|
257
|
-
type?: undefined;
|
|
258
|
-
loading?: undefined;
|
|
259
|
-
} & ButtonNotDisabledProps & React.RefAttributes<HTMLElement>) | ({
|
|
260
|
-
kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
|
|
261
|
-
size?: "medium" | "small" | undefined;
|
|
262
|
-
children: string;
|
|
263
|
-
capitalize?: boolean | undefined;
|
|
264
|
-
bodyClassName?: string | undefined;
|
|
265
|
-
outlineClassName?: string | undefined;
|
|
266
|
-
outline?: "inset" | "outline" | undefined;
|
|
267
|
-
} & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
|
|
268
|
-
iconLeft?: undefined;
|
|
269
|
-
iconLeftAriaLabel?: undefined;
|
|
270
|
-
iconLeftColor?: undefined;
|
|
271
|
-
iconLeftClassName?: undefined;
|
|
272
|
-
} & {
|
|
273
|
-
iconRight: IconProps['icon'];
|
|
274
|
-
iconRightAriaLabel: string;
|
|
275
|
-
iconRightColor?: IconProps['color'];
|
|
276
|
-
iconRightClassName?: string | undefined;
|
|
277
|
-
} & {
|
|
278
|
-
component?: "button" | undefined;
|
|
279
|
-
href?: undefined;
|
|
280
|
-
target?: undefined;
|
|
281
|
-
rel?: undefined;
|
|
282
|
-
loading?: boolean | undefined;
|
|
283
|
-
} & ButtonNotDisabledProps & Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "autoFocus"> & React.RefAttributes<HTMLElement>) | ({
|
|
284
|
-
kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
|
|
285
|
-
size?: "medium" | "small" | undefined;
|
|
286
|
-
children: string;
|
|
287
|
-
capitalize?: boolean | undefined;
|
|
288
|
-
bodyClassName?: string | undefined;
|
|
289
|
-
outlineClassName?: string | undefined;
|
|
290
|
-
outline?: "inset" | "outline" | undefined;
|
|
291
|
-
} & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
|
|
292
|
-
iconLeft?: undefined;
|
|
293
|
-
iconLeftAriaLabel?: undefined;
|
|
294
|
-
iconLeftColor?: undefined;
|
|
295
|
-
iconLeftClassName?: undefined;
|
|
296
|
-
} & {
|
|
297
|
-
iconRight: IconProps['icon'];
|
|
298
|
-
iconRightAriaLabel: string;
|
|
299
|
-
iconRightColor?: IconProps['color'];
|
|
300
|
-
iconRightClassName?: string | undefined;
|
|
301
|
-
} & {
|
|
302
|
-
component?: "button" | undefined;
|
|
303
|
-
href?: undefined;
|
|
304
|
-
target?: undefined;
|
|
305
|
-
rel?: undefined;
|
|
306
|
-
loading?: boolean | undefined;
|
|
307
|
-
} & ButtonDisabledProps & Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "autoFocus"> & React.RefAttributes<HTMLElement>) | ({
|
|
308
|
-
kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
|
|
309
|
-
size?: "medium" | "small" | undefined;
|
|
310
|
-
children: string;
|
|
311
|
-
capitalize?: boolean | undefined;
|
|
312
|
-
bodyClassName?: string | undefined;
|
|
313
|
-
outlineClassName?: string | undefined;
|
|
314
|
-
outline?: "inset" | "outline" | undefined;
|
|
315
|
-
} & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
|
|
316
|
-
iconLeft?: undefined;
|
|
317
|
-
iconLeftAriaLabel?: undefined;
|
|
318
|
-
iconLeftColor?: undefined;
|
|
319
|
-
iconLeftClassName?: undefined;
|
|
320
|
-
} & {
|
|
321
|
-
iconRight?: undefined;
|
|
322
|
-
iconRightAriaLabel?: undefined;
|
|
323
|
-
iconRightColor?: undefined;
|
|
324
|
-
iconRightClassName?: undefined;
|
|
325
|
-
} & {
|
|
326
|
-
component: 'a';
|
|
327
|
-
href: string;
|
|
328
|
-
target?: "_self" | "_blank" | "_parent" | "_top" | undefined;
|
|
329
|
-
rel?: "alternate" | "help" | "search" | "author" | "bookmark" | "dns-prefetch" | "external" | "license" | "next" | "nofollow" | "noopener" | "noreferrer" | "opener" | "prev" | "tag" | LinkRel[] | undefined;
|
|
330
|
-
type?: undefined;
|
|
331
|
-
loading?: undefined;
|
|
332
|
-
} & ButtonNotDisabledProps & React.RefAttributes<HTMLElement>) | ({
|
|
333
|
-
kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
|
|
334
|
-
size?: "medium" | "small" | undefined;
|
|
335
|
-
children: string;
|
|
336
|
-
capitalize?: boolean | undefined;
|
|
337
|
-
bodyClassName?: string | undefined;
|
|
338
|
-
outlineClassName?: string | undefined;
|
|
339
|
-
outline?: "inset" | "outline" | undefined;
|
|
340
|
-
} & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
|
|
341
|
-
iconLeft?: undefined;
|
|
342
|
-
iconLeftAriaLabel?: undefined;
|
|
343
|
-
iconLeftColor?: undefined;
|
|
344
|
-
iconLeftClassName?: undefined;
|
|
345
|
-
} & {
|
|
346
|
-
iconRight?: undefined;
|
|
347
|
-
iconRightAriaLabel?: undefined;
|
|
348
|
-
iconRightColor?: undefined;
|
|
349
|
-
iconRightClassName?: undefined;
|
|
350
|
-
} & {
|
|
351
|
-
component?: "button" | undefined;
|
|
352
|
-
href?: undefined;
|
|
353
|
-
target?: undefined;
|
|
354
|
-
rel?: undefined;
|
|
355
|
-
loading?: boolean | undefined;
|
|
356
|
-
} & ButtonNotDisabledProps & Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "autoFocus"> & React.RefAttributes<HTMLElement>) | ({
|
|
357
|
-
kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
|
|
358
|
-
size?: "medium" | "small" | undefined;
|
|
359
|
-
children: string;
|
|
360
|
-
capitalize?: boolean | undefined;
|
|
361
|
-
bodyClassName?: string | undefined;
|
|
362
|
-
outlineClassName?: string | undefined;
|
|
363
|
-
outline?: "inset" | "outline" | undefined;
|
|
364
|
-
} & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
|
|
365
|
-
iconLeft?: undefined;
|
|
366
|
-
iconLeftAriaLabel?: undefined;
|
|
367
|
-
iconLeftColor?: undefined;
|
|
368
|
-
iconLeftClassName?: undefined;
|
|
369
|
-
} & {
|
|
370
|
-
iconRight?: undefined;
|
|
371
|
-
iconRightAriaLabel?: undefined;
|
|
372
|
-
iconRightColor?: undefined;
|
|
373
|
-
iconRightClassName?: undefined;
|
|
374
|
-
} & {
|
|
375
|
-
component?: "button" | undefined;
|
|
376
|
-
href?: undefined;
|
|
377
|
-
target?: undefined;
|
|
378
|
-
rel?: undefined;
|
|
379
|
-
loading?: boolean | undefined;
|
|
380
|
-
} & ButtonDisabledProps & Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "autoFocus"> & React.RefAttributes<HTMLElement>)>;
|
|
95
|
+
export declare const Button: React.ForwardRefExoticComponent<ButtonProps<ButtonTypeProps> & React.RefAttributes<HTMLElement>>;
|
|
381
96
|
export {};
|
package/lib/Button.js
CHANGED
|
@@ -7,6 +7,32 @@ import { TruncatedText } from './TruncatedText';
|
|
|
7
7
|
import { Tooltip } from './Tooltip';
|
|
8
8
|
import { Loader } from './Loader';
|
|
9
9
|
import styles from './Button.module.scss';
|
|
10
|
+
const capitalizeFirstCharacter = (str) => `${str[0].toUpperCase()}${str.slice(1)}`;
|
|
11
|
+
const resolveButtonKindStyles = (kind) => {
|
|
12
|
+
switch (kind) {
|
|
13
|
+
case 'secondary':
|
|
14
|
+
return {
|
|
15
|
+
[styles.colorPrimary]: true,
|
|
16
|
+
[styles.variantOutlined]: true,
|
|
17
|
+
};
|
|
18
|
+
case 'transparent':
|
|
19
|
+
return {
|
|
20
|
+
[styles.colorPrimary]: true,
|
|
21
|
+
[styles.variantText]: true,
|
|
22
|
+
};
|
|
23
|
+
case 'danger': {
|
|
24
|
+
return {
|
|
25
|
+
[styles.colorSecondary]: true,
|
|
26
|
+
[styles.variantContained]: true,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
default:
|
|
30
|
+
return {
|
|
31
|
+
[styles.colorPrimary]: true,
|
|
32
|
+
[styles.variantContained]: true,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
};
|
|
10
36
|
/**
|
|
11
37
|
* ### Purpose
|
|
12
38
|
* Make it clear what users should do to continue with their main flow by using buttons to highlight the main actions they can take.
|
|
@@ -27,27 +53,28 @@ import styles from './Button.module.scss';
|
|
|
27
53
|
* - **Danger**: Use danger button for potentially destructive actions.
|
|
28
54
|
* - **Transparent**: Use for IconButton and similar use-cases.
|
|
29
55
|
*/
|
|
30
|
-
export const Button = forwardRef(({ kind
|
|
56
|
+
export const Button = forwardRef(({ kind, component: Component = 'button', className, bodyClassName, outlineClassName, outline = 'outline', children, capitalize = true,
|
|
31
57
|
// Disabled tooltip
|
|
32
58
|
disabled, disabledTooltip, disabledTooltipVisible, disabledTooltipPlacement,
|
|
33
59
|
// Left icon
|
|
34
60
|
iconLeft, iconLeftAriaLabel, iconLeftColor, iconLeftClassName,
|
|
35
61
|
// Right icon
|
|
36
|
-
iconRight, iconRightAriaLabel, iconRightColor, iconRightClassName, rel = 'noopener', target, type = 'button', loading, ...rest }, ref) => {
|
|
62
|
+
iconRight, iconRightAriaLabel, iconRightColor, iconRightClassName, rel = 'noopener', target, type = 'button', loading, variant = 'contained', color = 'primary', tooltip, ...rest }, ref) => {
|
|
37
63
|
const tooltipId = useUID();
|
|
38
64
|
const relFinal = Array.isArray(rel) ? rel.join(' ') : rel;
|
|
39
65
|
const loadingAnimationOnRight = loading && iconRight && iconRightAriaLabel && !(iconLeft && iconLeftAriaLabel);
|
|
40
|
-
return (React.createElement(Tooltip, { id: tooltipId, content: disabled ? disabledTooltip :
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
66
|
+
return (React.createElement(Tooltip, { id: tooltipId, content: disabled ? disabledTooltip : tooltip, visible: disabled && disabledTooltipVisible, placement: disabledTooltipPlacement }, (tooltipRef, onMouseEnter, onMouseLeave) => (React.createElement(Component, { "data-test": "button", className: cn(styles.button, {
|
|
67
|
+
...(kind !== undefined
|
|
68
|
+
? resolveButtonKindStyles(kind)
|
|
69
|
+
: {
|
|
70
|
+
[styles[`color${capitalizeFirstCharacter(color)}`]]: true,
|
|
71
|
+
[styles[`variant${capitalizeFirstCharacter(variant)}`]]: true,
|
|
72
|
+
}),
|
|
73
|
+
}, className), "aria-describedby": disabled ? tooltipId : undefined, disabled: disabled !== null && disabled !== void 0 ? disabled : loading, rel: Component === 'a' ? relFinal : undefined, target: Component === 'a' ? target : undefined, type: Component === 'button' ? type : undefined, ref: mergeRefs([ref, tooltipRef]), ...rest },
|
|
47
74
|
React.createElement("span", { "data-test": "button-outline", className: cn(styles.outline, { [styles.inset]: outline === 'inset' }, outlineClassName) }),
|
|
48
|
-
React.createElement("span", { className: cn(styles.body, bodyClassName),
|
|
49
|
-
loading && !loadingAnimationOnRight && React.createElement(Loader, { className: styles.iconLeft, size:
|
|
50
|
-
iconLeft && iconLeftAriaLabel && !loading && (React.createElement(Icon, { icon: iconLeft, ariaLabel: iconLeftAriaLabel, "data-test": "button-icon-left", className: cn(styles.iconLeft, iconLeftClassName), size:
|
|
75
|
+
React.createElement("span", { className: cn(styles.body, bodyClassName), onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave },
|
|
76
|
+
loading && !loadingAnimationOnRight && React.createElement(Loader, { className: styles.iconLeft, size: "small" }),
|
|
77
|
+
iconLeft && iconLeftAriaLabel && !loading && (React.createElement(Icon, { icon: iconLeft, ariaLabel: iconLeftAriaLabel, "data-test": "button-icon-left", className: cn(styles.iconLeft, iconLeftClassName), size: "small", color: iconLeftColor })),
|
|
51
78
|
React.createElement(TruncatedText, { text: capitalize ? children.toUpperCase() : children,
|
|
52
79
|
/*
|
|
53
80
|
If a button is disabled and text is long we don't want to show 2 popups.
|
|
@@ -56,8 +83,8 @@ iconRight, iconRightAriaLabel, iconRightColor, iconRightClassName, rel = 'noopen
|
|
|
56
83
|
the truncated popup -> setting it to undefined will leave the default behaviour.
|
|
57
84
|
*/
|
|
58
85
|
tooltipVisible: disabled && disabledTooltipVisible !== false ? false : undefined }),
|
|
59
|
-
loadingAnimationOnRight && React.createElement(Loader, { className: styles.iconRight, size:
|
|
60
|
-
!loadingAnimationOnRight && iconRight && iconRightAriaLabel && (React.createElement(Icon, { icon: iconRight, ariaLabel: iconRightAriaLabel, "data-test": "button-icon-right", className: cn(styles.iconRight, iconRightClassName), size:
|
|
86
|
+
loadingAnimationOnRight && React.createElement(Loader, { className: styles.iconRight, size: "small" }),
|
|
87
|
+
!loadingAnimationOnRight && iconRight && iconRightAriaLabel && (React.createElement(Icon, { icon: iconRight, ariaLabel: iconRightAriaLabel, "data-test": "button-icon-right", className: cn(styles.iconRight, iconRightClassName), size: "small", color: iconRightColor })))))));
|
|
61
88
|
});
|
|
62
89
|
Button.displayName = 'Button';
|
|
63
90
|
//# sourceMappingURL=Button.js.map
|
package/lib/Button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../src/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAwB,UAAU,EAAkB,MAAM,OAAO,CAAA;AAC/E,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,SAAS,MAAM,kBAAkB,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,OAAO,EAAE,IAAI,EAAa,MAAM,QAAQ,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAgB,MAAM,WAAW,CAAA;AAEjD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC,OAAO,MAAM,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"Button.js","sourceRoot":"","sources":["../src/Button.tsx"],"names":[],"mappings":"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"}
|