@hazelcast/ui 1.0.3 → 1.2.1-next.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.
Files changed (270) hide show
  1. package/lib/Alert.d.ts +3 -2
  2. package/lib/Alert.js +23 -23
  3. package/lib/Alert.js.map +1 -1
  4. package/lib/Alert.module.scss +14 -6
  5. package/lib/AutocompleteField.d.ts +2 -1
  6. package/lib/AutocompleteField.js +45 -22
  7. package/lib/AutocompleteField.js.map +1 -1
  8. package/lib/AutocompleteField.module.scss +3 -5
  9. package/lib/AutocompleteFieldFormik.d.ts +2 -1
  10. package/lib/AutocompleteFieldFormik.js +11 -5
  11. package/lib/AutocompleteFieldFormik.js.map +1 -1
  12. package/lib/Button.d.ts +9 -322
  13. package/lib/Button.js +44 -15
  14. package/lib/Button.js.map +1 -1
  15. package/lib/Button.module.scss +120 -87
  16. package/lib/Calendar/Calendar.d.ts +1 -1
  17. package/lib/Calendar/Calendar.js +8 -3
  18. package/lib/Calendar/Calendar.js.map +1 -1
  19. package/lib/Calendar/Calendar.module.scss +134 -123
  20. package/lib/Calendar/components/CalendarInput.js +2 -2
  21. package/lib/Calendar/components/CalendarInput.js.map +1 -1
  22. package/lib/Calendar/components/CalendarTime.js +2 -2
  23. package/lib/Calendar/components/CalendarTime.js.map +1 -1
  24. package/lib/Calendar/components/CalendarTime.module.scss +2 -0
  25. package/lib/Card.d.ts +1 -0
  26. package/lib/Card.js +4 -3
  27. package/lib/Card.js.map +1 -1
  28. package/lib/Card.module.scss +16 -4
  29. package/lib/Checkbox.d.ts +2 -2
  30. package/lib/Checkbox.js +7 -4
  31. package/lib/Checkbox.js.map +1 -1
  32. package/lib/Checkbox.module.scss +17 -6
  33. package/lib/CheckboxFormik.d.ts +2 -1
  34. package/lib/CheckboxFormik.js +9 -4
  35. package/lib/CheckboxFormik.js.map +1 -1
  36. package/lib/CodeEditor.d.ts +3 -2
  37. package/lib/CodeEditor.js +4 -3
  38. package/lib/CodeEditor.js.map +1 -1
  39. package/lib/CodeEditor.module.scss +5 -2
  40. package/lib/CodeEditorFormik.js +2 -2
  41. package/lib/CodeEditorFormik.js.map +1 -1
  42. package/lib/Dialog.js +5 -2
  43. package/lib/Dialog.js.map +1 -1
  44. package/lib/Dialog.module.scss +3 -0
  45. package/lib/EmptyState.d.ts +6 -4
  46. package/lib/EmptyState.js +4 -6
  47. package/lib/EmptyState.js.map +1 -1
  48. package/lib/EmptyState.module.scss +1 -1
  49. package/lib/Error.d.ts +3 -0
  50. package/lib/Error.js +2 -1
  51. package/lib/Error.js.map +1 -1
  52. package/lib/FieldHeader.d.ts +20 -0
  53. package/lib/FieldHeader.js +15 -0
  54. package/lib/FieldHeader.js.map +1 -0
  55. package/lib/FieldHeader.module.scss +20 -0
  56. package/lib/Icon.d.ts +2 -35
  57. package/lib/Icon.js +1 -1
  58. package/lib/Icon.js.map +1 -1
  59. package/lib/Icon.module.scss +5 -0
  60. package/lib/IconButton.d.ts +4 -158
  61. package/lib/IconButton.js +3 -3
  62. package/lib/IconButton.js.map +1 -1
  63. package/lib/InteractiveList.d.ts +3 -3
  64. package/lib/InteractiveList.js +2 -3
  65. package/lib/InteractiveList.js.map +1 -1
  66. package/lib/InteractiveList.module.scss +1 -0
  67. package/lib/InteractiveListFormik.js +5 -4
  68. package/lib/InteractiveListFormik.js.map +1 -1
  69. package/lib/Link.d.ts +1 -65
  70. package/lib/Link.js +3 -4
  71. package/lib/Link.js.map +1 -1
  72. package/lib/Link.module.scss +7 -0
  73. package/lib/Loader.js +2 -2
  74. package/lib/Loader.js.map +1 -1
  75. package/lib/Loader.module.scss +10 -1
  76. package/lib/Modal.js +3 -3
  77. package/lib/Modal.js.map +1 -1
  78. package/lib/Modal.module.scss +1 -0
  79. package/lib/Notification.module.scss +1 -0
  80. package/lib/NumberField.d.ts +1 -0
  81. package/lib/NumberField.js +27 -11
  82. package/lib/NumberField.js.map +1 -1
  83. package/lib/NumberField.module.scss +40 -3
  84. package/lib/NumberFieldFormik.d.ts +2 -1
  85. package/lib/NumberFieldFormik.js +7 -4
  86. package/lib/NumberFieldFormik.js.map +1 -1
  87. package/lib/Overlay.d.ts +3 -2
  88. package/lib/Overlay.js +7 -5
  89. package/lib/Overlay.js.map +1 -1
  90. package/lib/Overlay.module.scss +18 -3
  91. package/lib/Pagination.d.ts +0 -4
  92. package/lib/Pagination.js +19 -17
  93. package/lib/Pagination.js.map +1 -1
  94. package/lib/Pagination.module.scss +7 -4
  95. package/lib/PasswordField.js +2 -2
  96. package/lib/PasswordField.js.map +1 -1
  97. package/lib/PasswordFieldFormik.d.ts +2 -1
  98. package/lib/PasswordFieldFormik.js +9 -4
  99. package/lib/PasswordFieldFormik.js.map +1 -1
  100. package/lib/Popover.d.ts +21 -0
  101. package/lib/Popover.js +77 -0
  102. package/lib/Popover.js.map +1 -0
  103. package/lib/Popover.module.scss +12 -0
  104. package/lib/Radio.d.ts +2 -2
  105. package/lib/Radio.js +4 -2
  106. package/lib/Radio.js.map +1 -1
  107. package/lib/Radio.module.scss +3 -0
  108. package/lib/RadioFormik.js +1 -1
  109. package/lib/RadioFormik.js.map +1 -1
  110. package/lib/RadioGroup.js +4 -3
  111. package/lib/RadioGroup.js.map +1 -1
  112. package/lib/RadioGroup.module.scss +1 -4
  113. package/lib/RadioGroupFormik.d.ts +2 -1
  114. package/lib/RadioGroupFormik.js +9 -4
  115. package/lib/RadioGroupFormik.js.map +1 -1
  116. package/lib/SegmentedControl.d.ts +8 -8
  117. package/lib/SegmentedControl.js.map +1 -1
  118. package/lib/SegmentedControl.module.scss +4 -2
  119. package/lib/SegmentedControlFormik.d.ts +4 -4
  120. package/lib/SegmentedControlFormik.js +1 -1
  121. package/lib/SegmentedControlFormik.js.map +1 -1
  122. package/lib/Select/CheckableSelectField.d.ts +34 -0
  123. package/lib/Select/CheckableSelectField.js +65 -0
  124. package/lib/Select/CheckableSelectField.js.map +1 -0
  125. package/lib/Select/CheckableSelectField.module.scss +87 -0
  126. package/lib/Select/CheckableSelectFieldFormik.d.ts +10 -0
  127. package/lib/Select/CheckableSelectFieldFormik.js +19 -0
  128. package/lib/Select/CheckableSelectFieldFormik.js.map +1 -0
  129. package/lib/Select/Common.d.ts +11 -0
  130. package/lib/Select/Common.js +44 -0
  131. package/lib/Select/Common.js.map +1 -0
  132. package/lib/Select/Common.module.scss +56 -0
  133. package/lib/Select/MultiSelectField.d.ts +28 -0
  134. package/lib/Select/MultiSelectField.js +108 -0
  135. package/lib/Select/MultiSelectField.js.map +1 -0
  136. package/lib/Select/MultiSelectField.module.scss +72 -0
  137. package/lib/Select/MultiSelectFieldFormik.d.ts +10 -0
  138. package/lib/Select/MultiSelectFieldFormik.js +19 -0
  139. package/lib/Select/MultiSelectFieldFormik.js.map +1 -0
  140. package/lib/Select/SelectField.d.ts +42 -0
  141. package/lib/Select/SelectField.js +87 -0
  142. package/lib/Select/SelectField.js.map +1 -0
  143. package/lib/Select/SelectField.module.scss +191 -0
  144. package/lib/Select/SelectFieldFormik.d.ts +10 -0
  145. package/lib/Select/SelectFieldFormik.js +19 -0
  146. package/lib/Select/SelectFieldFormik.js.map +1 -0
  147. package/lib/Select/helpers.d.ts +10 -0
  148. package/lib/Select/helpers.js +29 -0
  149. package/lib/Select/helpers.js.map +1 -0
  150. package/lib/Select/index.d.ts +7 -0
  151. package/lib/Select/index.js +8 -0
  152. package/lib/Select/index.js.map +1 -0
  153. package/lib/SimpleTable.d.ts +11 -0
  154. package/lib/SimpleTable.js +26 -0
  155. package/lib/SimpleTable.js.map +1 -0
  156. package/lib/SimpleTable.module.scss +28 -0
  157. package/lib/Slider.d.ts +6 -5
  158. package/lib/Slider.js +35 -17
  159. package/lib/Slider.js.map +1 -1
  160. package/lib/Slider.module.scss +13 -9
  161. package/lib/SliderFormik.d.ts +1 -1
  162. package/lib/SliderFormik.js +1 -1
  163. package/lib/SliderFormik.js.map +1 -1
  164. package/lib/Table/Cell.module.scss +11 -4
  165. package/lib/Table/EnhancedRenderers.d.ts +0 -7
  166. package/lib/Table/EnhancedRenderers.js +3 -14
  167. package/lib/Table/EnhancedRenderers.js.map +1 -1
  168. package/lib/Table/Header.js +9 -3
  169. package/lib/Table/Header.js.map +1 -1
  170. package/lib/Table/Header.module.scss +29 -35
  171. package/lib/Table/Row.js +2 -7
  172. package/lib/Table/Row.js.map +1 -1
  173. package/lib/Table/Row.module.scss +4 -10
  174. package/lib/Table/Table.d.ts +11 -4
  175. package/lib/Table/Table.js +75 -34
  176. package/lib/Table/Table.js.map +1 -1
  177. package/lib/Table/Table.module.scss +5 -5
  178. package/lib/Tabs/Tab.d.ts +9 -1
  179. package/lib/Tabs/Tab.js +5 -2
  180. package/lib/Tabs/Tab.js.map +1 -1
  181. package/lib/Tabs/Tab.module.scss +5 -1
  182. package/lib/Tabs/TabList.js +2 -1
  183. package/lib/Tabs/TabList.js.map +1 -1
  184. package/lib/Tabs/index.d.ts +4 -4
  185. package/lib/Tabs/index.js +4 -4
  186. package/lib/Tabs/index.js.map +1 -1
  187. package/lib/Terminal.js +3 -3
  188. package/lib/Terminal.js.map +1 -1
  189. package/lib/Terminal.module.scss +1 -0
  190. package/lib/TextArea.d.ts +4 -5
  191. package/lib/TextArea.js +9 -9
  192. package/lib/TextArea.js.map +1 -1
  193. package/lib/TextArea.module.scss +19 -10
  194. package/lib/TextAreaFormik.js +1 -1
  195. package/lib/TextAreaFormik.js.map +1 -1
  196. package/lib/TextField.d.ts +13 -23
  197. package/lib/TextField.js +27 -12
  198. package/lib/TextField.js.map +1 -1
  199. package/lib/TextField.module.scss +36 -34
  200. package/lib/TextFieldFormik.d.ts +4 -2
  201. package/lib/TextFieldFormik.js +15 -4
  202. package/lib/TextFieldFormik.js.map +1 -1
  203. package/lib/TimeField.d.ts +2 -11
  204. package/lib/TimeField.js +8 -7
  205. package/lib/TimeField.js.map +1 -1
  206. package/lib/TimeField.module.scss +6 -6
  207. package/lib/TimeFieldFormik.js +1 -1
  208. package/lib/TimeFieldFormik.js.map +1 -1
  209. package/lib/Toast.js.map +1 -1
  210. package/lib/Toggle.js +4 -3
  211. package/lib/Toggle.js.map +1 -1
  212. package/lib/Toggle.module.scss +23 -19
  213. package/lib/ToggleFormik.js +1 -1
  214. package/lib/ToggleFormik.js.map +1 -1
  215. package/lib/Tooltip.d.ts +9 -2
  216. package/lib/Tooltip.js +87 -27
  217. package/lib/Tooltip.js.map +1 -1
  218. package/lib/Tooltip.module.scss +10 -5
  219. package/lib/TruncatedText.d.ts +6 -3
  220. package/lib/TruncatedText.js +2 -2
  221. package/lib/TruncatedText.js.map +1 -1
  222. package/lib/hooks/index.d.ts +5 -0
  223. package/lib/hooks/index.js +7 -0
  224. package/lib/hooks/index.js.map +1 -0
  225. package/lib/hooks/useIsMounted.d.ts +1 -0
  226. package/lib/hooks/useIsMounted.js +12 -0
  227. package/lib/hooks/useIsMounted.js.map +1 -0
  228. package/lib/hooks/useOnClickOutside.d.ts +8 -0
  229. package/lib/hooks/useOnClickOutside.js +24 -0
  230. package/lib/hooks/useOnClickOutside.js.map +1 -0
  231. package/lib/hooks/useOpenCloseState.d.ts +6 -0
  232. package/lib/hooks/useOpenCloseState.js +14 -0
  233. package/lib/hooks/useOpenCloseState.js.map +1 -0
  234. package/lib/hooks/usePrevious.d.ts +1 -0
  235. package/lib/hooks/usePrevious.js +9 -0
  236. package/lib/hooks/usePrevious.js.map +1 -0
  237. package/lib/hooks/useRefValue.d.ts +1 -0
  238. package/lib/hooks/useRefValue.js +9 -0
  239. package/lib/hooks/useRefValue.js.map +1 -0
  240. package/lib/hooks/useTableCustomizableColumns.d.ts +9 -0
  241. package/lib/hooks/useTableCustomizableColumns.js +23 -0
  242. package/lib/hooks/useTableCustomizableColumns.js.map +1 -0
  243. package/lib/index.d.ts +55 -53
  244. package/lib/index.js +55 -53
  245. package/lib/index.js.map +1 -1
  246. package/lib/utils/test.d.ts +1 -0
  247. package/lib/utils/test.js +8 -0
  248. package/lib/utils/test.js.map +1 -0
  249. package/package.json +57 -50
  250. package/styles/constants/_animations.scss +0 -1
  251. package/styles/constants/_colors.scss +1 -10
  252. package/styles/constants/_sizes.scss +8 -26
  253. package/styles/constants/_typography.scss +21 -10
  254. package/styles/constants/export.module.scss +1 -1
  255. package/styles/fonts.css +14 -65
  256. package/styles/helpers/_a11y.scss +8 -1
  257. package/styles/helpers/_error.scss +17 -0
  258. package/styles/helpers/_index.scss +1 -0
  259. package/styles/helpers/_input.scss +1 -1
  260. package/lib/Calendar/components/CalendarHeader.tsx +0 -45
  261. package/lib/Calendar/components/CalendarInput.tsx +0 -50
  262. package/lib/Calendar/components/CalendarTime.tsx +0 -116
  263. package/lib/Calendar/helpers/consts.ts +0 -99
  264. package/lib/SelectField.d.ts +0 -81
  265. package/lib/SelectField.js +0 -196
  266. package/lib/SelectField.js.map +0 -1
  267. package/lib/SelectField.module.scss +0 -251
  268. package/lib/SelectFieldFormik.d.ts +0 -20
  269. package/lib/SelectFieldFormik.js +0 -19
  270. package/lib/SelectFieldFormik.js.map +0 -1
package/lib/Button.d.ts CHANGED
@@ -3,30 +3,28 @@ 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'];
9
11
  iconLeftAriaLabel: string;
10
- iconLeftSize?: IconProps['size'];
11
12
  iconLeftColor?: IconProps['color'];
12
13
  iconLeftClassName?: string;
13
14
  } | {
14
15
  iconLeft?: never;
15
16
  iconLeftAriaLabel?: never;
16
- iconLeftSize?: never;
17
17
  iconLeftColor?: never;
18
18
  iconLeftClassName?: never;
19
19
  };
20
20
  export declare type ButtonAccessibleIconRightProps = {
21
21
  iconRight: IconProps['icon'];
22
22
  iconRightAriaLabel: string;
23
- iconRightSize?: IconProps['size'];
24
23
  iconRightColor?: IconProps['color'];
25
24
  iconRightClassName?: string;
26
25
  } | {
27
26
  iconRight?: never;
28
27
  iconRightAriaLabel?: never;
29
- iconRightSize?: never;
30
28
  iconRightColor?: never;
31
29
  iconRightClassName?: never;
32
30
  };
@@ -44,13 +42,18 @@ export declare type ButtonDisabledProps = {
44
42
  };
45
43
  export declare type ButtonOutlineType = 'outline' | 'inset';
46
44
  export declare type ButtonCommonProps = {
45
+ /**
46
+ * @deprecated Use variant + color instead
47
+ */
47
48
  kind?: ButtonKind;
48
- size?: ButtonSize;
49
49
  children: string;
50
+ color?: ButtonColor;
50
51
  capitalize?: boolean;
51
52
  bodyClassName?: string;
53
+ variant?: ButtonVariant;
52
54
  outlineClassName?: string;
53
55
  outline?: ButtonOutlineType;
56
+ tooltip?: string;
54
57
  } & Pick<HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, 'className' | 'onClick' | 'tabIndex' | 'style'>;
55
58
  export declare type ButtonTypeAnchorProps = {
56
59
  component: 'a';
@@ -89,321 +92,5 @@ export declare type ButtonProps<T = ButtonTypeProps> = ButtonCommonProps & Butto
89
92
  * - **Danger**: Use danger button for potentially destructive actions.
90
93
  * - **Transparent**: Use for IconButton and similar use-cases.
91
94
  */
92
- export declare const Button: React.ForwardRefExoticComponent<({
93
- kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
94
- size?: "medium" | "small" | undefined;
95
- children: string;
96
- capitalize?: boolean | undefined;
97
- bodyClassName?: string | undefined;
98
- outlineClassName?: string | undefined;
99
- outline?: "inset" | "outline" | undefined;
100
- } & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
101
- iconLeft: IconProps['icon'];
102
- iconLeftAriaLabel: string;
103
- iconLeftSize?: IconProps['size'];
104
- iconLeftColor?: IconProps['color'];
105
- iconLeftClassName?: string | undefined;
106
- } & {
107
- iconRight: IconProps['icon'];
108
- iconRightAriaLabel: string;
109
- iconRightSize?: IconProps['size'];
110
- iconRightColor?: IconProps['color'];
111
- iconRightClassName?: string | undefined;
112
- } & {
113
- component: 'a';
114
- href: string;
115
- target?: "_self" | "_blank" | "_parent" | "_top" | undefined;
116
- rel?: "alternate" | "help" | "search" | "author" | "bookmark" | "dns-prefetch" | "external" | "license" | "next" | "nofollow" | "noopener" | "noreferrer" | "opener" | "prev" | "tag" | LinkRel[] | undefined;
117
- type?: undefined;
118
- loading?: undefined;
119
- } & ButtonNotDisabledProps & React.RefAttributes<HTMLElement>) | ({
120
- kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
121
- size?: "medium" | "small" | undefined;
122
- children: string;
123
- capitalize?: boolean | undefined;
124
- bodyClassName?: string | undefined;
125
- outlineClassName?: string | undefined;
126
- outline?: "inset" | "outline" | undefined;
127
- } & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
128
- iconLeft: IconProps['icon'];
129
- iconLeftAriaLabel: string;
130
- iconLeftSize?: IconProps['size'];
131
- iconLeftColor?: IconProps['color'];
132
- iconLeftClassName?: string | undefined;
133
- } & {
134
- iconRight: IconProps['icon'];
135
- iconRightAriaLabel: string;
136
- iconRightSize?: IconProps['size'];
137
- iconRightColor?: IconProps['color'];
138
- iconRightClassName?: string | undefined;
139
- } & {
140
- component?: "button" | undefined;
141
- href?: undefined;
142
- target?: undefined;
143
- rel?: undefined;
144
- loading?: boolean | undefined;
145
- } & ButtonNotDisabledProps & Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "autoFocus"> & React.RefAttributes<HTMLElement>) | ({
146
- kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
147
- size?: "medium" | "small" | undefined;
148
- children: string;
149
- capitalize?: boolean | undefined;
150
- bodyClassName?: string | undefined;
151
- outlineClassName?: string | undefined;
152
- outline?: "inset" | "outline" | undefined;
153
- } & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
154
- iconLeft: IconProps['icon'];
155
- iconLeftAriaLabel: string;
156
- iconLeftSize?: IconProps['size'];
157
- iconLeftColor?: IconProps['color'];
158
- iconLeftClassName?: string | undefined;
159
- } & {
160
- iconRight: IconProps['icon'];
161
- iconRightAriaLabel: string;
162
- iconRightSize?: IconProps['size'];
163
- iconRightColor?: IconProps['color'];
164
- iconRightClassName?: string | undefined;
165
- } & {
166
- component?: "button" | undefined;
167
- href?: undefined;
168
- target?: undefined;
169
- rel?: undefined;
170
- loading?: boolean | undefined;
171
- } & ButtonDisabledProps & Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "autoFocus"> & React.RefAttributes<HTMLElement>) | ({
172
- kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
173
- size?: "medium" | "small" | undefined;
174
- children: string;
175
- capitalize?: boolean | undefined;
176
- bodyClassName?: string | undefined;
177
- outlineClassName?: string | undefined;
178
- outline?: "inset" | "outline" | undefined;
179
- } & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
180
- iconLeft: IconProps['icon'];
181
- iconLeftAriaLabel: string;
182
- iconLeftSize?: IconProps['size'];
183
- iconLeftColor?: IconProps['color'];
184
- iconLeftClassName?: string | undefined;
185
- } & {
186
- iconRight?: undefined;
187
- iconRightAriaLabel?: undefined;
188
- iconRightSize?: undefined;
189
- iconRightColor?: undefined;
190
- iconRightClassName?: undefined;
191
- } & {
192
- component: 'a';
193
- href: string;
194
- target?: "_self" | "_blank" | "_parent" | "_top" | undefined;
195
- rel?: "alternate" | "help" | "search" | "author" | "bookmark" | "dns-prefetch" | "external" | "license" | "next" | "nofollow" | "noopener" | "noreferrer" | "opener" | "prev" | "tag" | LinkRel[] | undefined;
196
- type?: undefined;
197
- loading?: undefined;
198
- } & ButtonNotDisabledProps & React.RefAttributes<HTMLElement>) | ({
199
- kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
200
- size?: "medium" | "small" | undefined;
201
- children: string;
202
- capitalize?: boolean | undefined;
203
- bodyClassName?: string | undefined;
204
- outlineClassName?: string | undefined;
205
- outline?: "inset" | "outline" | undefined;
206
- } & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
207
- iconLeft: IconProps['icon'];
208
- iconLeftAriaLabel: string;
209
- iconLeftSize?: IconProps['size'];
210
- iconLeftColor?: IconProps['color'];
211
- iconLeftClassName?: string | undefined;
212
- } & {
213
- iconRight?: undefined;
214
- iconRightAriaLabel?: undefined;
215
- iconRightSize?: undefined;
216
- iconRightColor?: undefined;
217
- iconRightClassName?: undefined;
218
- } & {
219
- component?: "button" | undefined;
220
- href?: undefined;
221
- target?: undefined;
222
- rel?: undefined;
223
- loading?: boolean | undefined;
224
- } & ButtonNotDisabledProps & Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "autoFocus"> & React.RefAttributes<HTMLElement>) | ({
225
- kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
226
- size?: "medium" | "small" | undefined;
227
- children: string;
228
- capitalize?: boolean | undefined;
229
- bodyClassName?: string | undefined;
230
- outlineClassName?: string | undefined;
231
- outline?: "inset" | "outline" | undefined;
232
- } & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
233
- iconLeft: IconProps['icon'];
234
- iconLeftAriaLabel: string;
235
- iconLeftSize?: IconProps['size'];
236
- iconLeftColor?: IconProps['color'];
237
- iconLeftClassName?: string | undefined;
238
- } & {
239
- iconRight?: undefined;
240
- iconRightAriaLabel?: undefined;
241
- iconRightSize?: undefined;
242
- iconRightColor?: undefined;
243
- iconRightClassName?: undefined;
244
- } & {
245
- component?: "button" | undefined;
246
- href?: undefined;
247
- target?: undefined;
248
- rel?: undefined;
249
- loading?: boolean | undefined;
250
- } & ButtonDisabledProps & Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "autoFocus"> & React.RefAttributes<HTMLElement>) | ({
251
- kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
252
- size?: "medium" | "small" | undefined;
253
- children: string;
254
- capitalize?: boolean | undefined;
255
- bodyClassName?: string | undefined;
256
- outlineClassName?: string | undefined;
257
- outline?: "inset" | "outline" | undefined;
258
- } & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
259
- iconLeft?: undefined;
260
- iconLeftAriaLabel?: undefined;
261
- iconLeftSize?: undefined;
262
- iconLeftColor?: undefined;
263
- iconLeftClassName?: undefined;
264
- } & {
265
- iconRight: IconProps['icon'];
266
- iconRightAriaLabel: string;
267
- iconRightSize?: IconProps['size'];
268
- iconRightColor?: IconProps['color'];
269
- iconRightClassName?: string | undefined;
270
- } & {
271
- component: 'a';
272
- href: string;
273
- target?: "_self" | "_blank" | "_parent" | "_top" | undefined;
274
- rel?: "alternate" | "help" | "search" | "author" | "bookmark" | "dns-prefetch" | "external" | "license" | "next" | "nofollow" | "noopener" | "noreferrer" | "opener" | "prev" | "tag" | LinkRel[] | undefined;
275
- type?: undefined;
276
- loading?: undefined;
277
- } & ButtonNotDisabledProps & React.RefAttributes<HTMLElement>) | ({
278
- kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
279
- size?: "medium" | "small" | undefined;
280
- children: string;
281
- capitalize?: boolean | undefined;
282
- bodyClassName?: string | undefined;
283
- outlineClassName?: string | undefined;
284
- outline?: "inset" | "outline" | undefined;
285
- } & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
286
- iconLeft?: undefined;
287
- iconLeftAriaLabel?: undefined;
288
- iconLeftSize?: undefined;
289
- iconLeftColor?: undefined;
290
- iconLeftClassName?: undefined;
291
- } & {
292
- iconRight: IconProps['icon'];
293
- iconRightAriaLabel: string;
294
- iconRightSize?: IconProps['size'];
295
- iconRightColor?: IconProps['color'];
296
- iconRightClassName?: string | undefined;
297
- } & {
298
- component?: "button" | undefined;
299
- href?: undefined;
300
- target?: undefined;
301
- rel?: undefined;
302
- loading?: boolean | undefined;
303
- } & ButtonNotDisabledProps & Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "autoFocus"> & React.RefAttributes<HTMLElement>) | ({
304
- kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
305
- size?: "medium" | "small" | undefined;
306
- children: string;
307
- capitalize?: boolean | undefined;
308
- bodyClassName?: string | undefined;
309
- outlineClassName?: string | undefined;
310
- outline?: "inset" | "outline" | undefined;
311
- } & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
312
- iconLeft?: undefined;
313
- iconLeftAriaLabel?: undefined;
314
- iconLeftSize?: undefined;
315
- iconLeftColor?: undefined;
316
- iconLeftClassName?: undefined;
317
- } & {
318
- iconRight: IconProps['icon'];
319
- iconRightAriaLabel: string;
320
- iconRightSize?: IconProps['size'];
321
- iconRightColor?: IconProps['color'];
322
- iconRightClassName?: string | undefined;
323
- } & {
324
- component?: "button" | undefined;
325
- href?: undefined;
326
- target?: undefined;
327
- rel?: undefined;
328
- loading?: boolean | undefined;
329
- } & ButtonDisabledProps & Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "autoFocus"> & React.RefAttributes<HTMLElement>) | ({
330
- kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
331
- size?: "medium" | "small" | undefined;
332
- children: string;
333
- capitalize?: boolean | undefined;
334
- bodyClassName?: string | undefined;
335
- outlineClassName?: string | undefined;
336
- outline?: "inset" | "outline" | undefined;
337
- } & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
338
- iconLeft?: undefined;
339
- iconLeftAriaLabel?: undefined;
340
- iconLeftSize?: undefined;
341
- iconLeftColor?: undefined;
342
- iconLeftClassName?: undefined;
343
- } & {
344
- iconRight?: undefined;
345
- iconRightAriaLabel?: undefined;
346
- iconRightSize?: undefined;
347
- iconRightColor?: undefined;
348
- iconRightClassName?: undefined;
349
- } & {
350
- component: 'a';
351
- href: string;
352
- target?: "_self" | "_blank" | "_parent" | "_top" | undefined;
353
- rel?: "alternate" | "help" | "search" | "author" | "bookmark" | "dns-prefetch" | "external" | "license" | "next" | "nofollow" | "noopener" | "noreferrer" | "opener" | "prev" | "tag" | LinkRel[] | undefined;
354
- type?: undefined;
355
- loading?: undefined;
356
- } & ButtonNotDisabledProps & 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
- iconLeftSize?: undefined;
368
- iconLeftColor?: undefined;
369
- iconLeftClassName?: undefined;
370
- } & {
371
- iconRight?: undefined;
372
- iconRightAriaLabel?: undefined;
373
- iconRightSize?: undefined;
374
- iconRightColor?: undefined;
375
- iconRightClassName?: undefined;
376
- } & {
377
- component?: "button" | undefined;
378
- href?: undefined;
379
- target?: undefined;
380
- rel?: undefined;
381
- loading?: boolean | undefined;
382
- } & ButtonNotDisabledProps & Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "autoFocus"> & React.RefAttributes<HTMLElement>) | ({
383
- kind?: "transparent" | "primary" | "secondary" | "danger" | undefined;
384
- size?: "medium" | "small" | undefined;
385
- children: string;
386
- capitalize?: boolean | undefined;
387
- bodyClassName?: string | undefined;
388
- outlineClassName?: string | undefined;
389
- outline?: "inset" | "outline" | undefined;
390
- } & Pick<React.HTMLAttributes<HTMLAnchorElement | HTMLButtonElement>, "style" | "className" | "tabIndex" | "onClick"> & {
391
- iconLeft?: undefined;
392
- iconLeftAriaLabel?: undefined;
393
- iconLeftSize?: undefined;
394
- iconLeftColor?: undefined;
395
- iconLeftClassName?: undefined;
396
- } & {
397
- iconRight?: undefined;
398
- iconRightAriaLabel?: undefined;
399
- iconRightSize?: undefined;
400
- iconRightColor?: undefined;
401
- iconRightClassName?: undefined;
402
- } & {
403
- component?: "button" | undefined;
404
- href?: undefined;
405
- target?: undefined;
406
- rel?: undefined;
407
- loading?: boolean | undefined;
408
- } & ButtonDisabledProps & Pick<React.ButtonHTMLAttributes<HTMLButtonElement>, "type" | "autoFocus"> & React.RefAttributes<HTMLElement>)>;
95
+ export declare const Button: React.ForwardRefExoticComponent<ButtonProps<ButtonTypeProps> & React.RefAttributes<HTMLElement>>;
409
96
  export {};
package/lib/Button.js CHANGED
@@ -5,8 +5,34 @@ import { useUID } from 'react-uid';
5
5
  import { Icon } from './Icon';
6
6
  import { TruncatedText } from './TruncatedText';
7
7
  import { Tooltip } from './Tooltip';
8
- import styles from './Button.module.scss';
9
8
  import { Loader } from './Loader';
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,26 +53,28 @@ import { Loader } from './Loader';
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 = 'primary', size = 'medium', component: Component = 'button', className, bodyClassName, outlineClassName, outline = 'outline', children, capitalize = true,
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
- iconLeft, iconLeftAriaLabel, iconLeftSize, iconLeftColor, iconLeftClassName,
60
+ iconLeft, iconLeftAriaLabel, iconLeftColor, iconLeftClassName,
35
61
  // Right icon
36
- iconRight, iconRightAriaLabel, iconRightSize, 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
- return (React.createElement(Tooltip, { id: tooltipId, content: disabled ? disabledTooltip : undefined, visible: disabledTooltipVisible, placement: disabledTooltipPlacement }, (tooltipRef) => (React.createElement(Component, Object.assign({ "data-test": "button", className: cn(styles.button, {
40
- [styles.small]: size === 'small',
41
- [styles.primary]: kind === 'primary',
42
- [styles.secondary]: kind === 'secondary',
43
- [styles.danger]: kind === 'danger',
44
- [styles.transparent]: kind === 'transparent',
45
- }, 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 }, rest),
65
+ const loadingAnimationOnRight = loading && iconRight && iconRightAriaLabel && !(iconLeft && iconLeftAriaLabel);
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 },
46
74
  React.createElement("span", { "data-test": "button-outline", className: cn(styles.outline, { [styles.inset]: outline === 'inset' }, outlineClassName) }),
47
- React.createElement("span", { className: cn(styles.body, bodyClassName), ref: mergeRefs([ref, tooltipRef]) },
48
- loading && React.createElement(Loader, { className: styles.iconLeft, size: size }),
49
- iconLeft && iconLeftAriaLabel && !loading && (React.createElement(Icon, { icon: iconLeft, ariaLabel: iconLeftAriaLabel, "data-test": "button-icon-left", className: cn(styles.iconLeft, iconLeftClassName), size: iconLeftSize, color: iconLeftColor })),
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 })),
50
78
  React.createElement(TruncatedText, { text: capitalize ? children.toUpperCase() : children,
51
79
  /*
52
80
  If a button is disabled and text is long we don't want to show 2 popups.
@@ -55,7 +83,8 @@ iconRight, iconRightAriaLabel, iconRightSize, iconRightColor, iconRightClassName
55
83
  the truncated popup -> setting it to undefined will leave the default behaviour.
56
84
  */
57
85
  tooltipVisible: disabled && disabledTooltipVisible !== false ? false : undefined }),
58
- iconRight && iconRightAriaLabel && (React.createElement(Icon, { icon: iconRight, ariaLabel: iconRightAriaLabel, "data-test": "button-icon-right", className: cn(styles.iconRight, iconRightClassName), size: iconRightSize, color: iconRightColor })))))));
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 })))))));
59
88
  });
60
89
  Button.displayName = 'Button';
61
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":"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"}
1
+ {"version":3,"file":"Button.js","sourceRoot":"","sources":["../src/Button.tsx"],"names":[],"mappings":"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"}