@hazelcast/ui 1.0.1-next.9 → 1.2.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 (200) 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 +41 -19
  7. package/lib/AutocompleteField.js.map +1 -1
  8. package/lib/AutocompleteField.module.scss +2 -4
  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 +80 -41
  13. package/lib/Button.js +42 -13
  14. package/lib/Button.js.map +1 -1
  15. package/lib/Button.module.scss +119 -87
  16. package/lib/Calendar/Calendar.d.ts +1 -1
  17. package/lib/Calendar/Calendar.js +6 -1
  18. package/lib/Calendar/Calendar.js.map +1 -1
  19. package/lib/Calendar/Calendar.module.scss +132 -124
  20. package/lib/Calendar/components/CalendarTime.js +1 -1
  21. package/lib/Calendar/components/CalendarTime.js.map +1 -1
  22. package/lib/Card.d.ts +1 -0
  23. package/lib/Card.js +4 -3
  24. package/lib/Card.js.map +1 -1
  25. package/lib/Card.module.scss +15 -3
  26. package/lib/Checkbox.js +4 -3
  27. package/lib/Checkbox.js.map +1 -1
  28. package/lib/Checkbox.module.scss +15 -6
  29. package/lib/CheckboxFormik.d.ts +2 -1
  30. package/lib/CheckboxFormik.js +9 -4
  31. package/lib/CheckboxFormik.js.map +1 -1
  32. package/lib/CodeEditor.d.ts +3 -2
  33. package/lib/CodeEditor.js +3 -2
  34. package/lib/CodeEditor.js.map +1 -1
  35. package/lib/EmptyState.d.ts +6 -4
  36. package/lib/EmptyState.js +4 -6
  37. package/lib/EmptyState.js.map +1 -1
  38. package/lib/EmptyState.module.scss +0 -1
  39. package/lib/Error.d.ts +1 -0
  40. package/lib/Error.js +2 -1
  41. package/lib/Error.js.map +1 -1
  42. package/lib/FieldHeader.d.ts +20 -0
  43. package/lib/FieldHeader.js +15 -0
  44. package/lib/FieldHeader.js.map +1 -0
  45. package/lib/FieldHeader.module.scss +20 -0
  46. package/lib/Icon.d.ts +2 -2
  47. package/lib/IconButton.d.ts +13 -3
  48. package/lib/IconButton.js +2 -2
  49. package/lib/IconButton.js.map +1 -1
  50. package/lib/InteractiveList.d.ts +2 -1
  51. package/lib/InteractiveList.js.map +1 -1
  52. package/lib/Link.js +2 -3
  53. package/lib/Link.js.map +1 -1
  54. package/lib/Link.module.scss +6 -0
  55. package/lib/Loader.module.scss +3 -1
  56. package/lib/Modal.d.ts +2 -0
  57. package/lib/Modal.js +2 -2
  58. package/lib/Modal.js.map +1 -1
  59. package/lib/NumberField.js +11 -5
  60. package/lib/NumberField.js.map +1 -1
  61. package/lib/NumberFieldFormik.d.ts +2 -1
  62. package/lib/NumberFieldFormik.js +7 -4
  63. package/lib/NumberFieldFormik.js.map +1 -1
  64. package/lib/Overlay.d.ts +2 -1
  65. package/lib/Overlay.js +7 -5
  66. package/lib/Overlay.js.map +1 -1
  67. package/lib/Overlay.module.scss +16 -3
  68. package/lib/Pagination.d.ts +0 -4
  69. package/lib/Pagination.js +19 -17
  70. package/lib/Pagination.js.map +1 -1
  71. package/lib/Pagination.module.scss +6 -4
  72. package/lib/PasswordFieldFormik.d.ts +2 -1
  73. package/lib/PasswordFieldFormik.js +9 -4
  74. package/lib/PasswordFieldFormik.js.map +1 -1
  75. package/lib/Popover.d.ts +1 -0
  76. package/lib/Popover.js +2 -0
  77. package/lib/Popover.js.map +1 -0
  78. package/lib/RadioGroup.js +4 -3
  79. package/lib/RadioGroup.js.map +1 -1
  80. package/lib/RadioGroup.module.scss +2 -4
  81. package/lib/RadioGroupFormik.d.ts +2 -1
  82. package/lib/RadioGroupFormik.js +9 -4
  83. package/lib/RadioGroupFormik.js.map +1 -1
  84. package/lib/SegmentedControl.d.ts +8 -8
  85. package/lib/SegmentedControl.js.map +1 -1
  86. package/lib/SegmentedControl.module.scss +4 -2
  87. package/lib/SegmentedControlFormik.d.ts +4 -4
  88. package/lib/SegmentedControlFormik.js.map +1 -1
  89. package/lib/Select/CheckableSelectField.d.ts +31 -0
  90. package/lib/Select/CheckableSelectField.js +89 -0
  91. package/lib/Select/CheckableSelectField.js.map +1 -0
  92. package/lib/Select/CheckableSelectField.module.scss +79 -0
  93. package/lib/Select/CheckableSelectFieldFormik.d.ts +10 -0
  94. package/lib/Select/CheckableSelectFieldFormik.js +19 -0
  95. package/lib/Select/CheckableSelectFieldFormik.js.map +1 -0
  96. package/lib/Select/Common.d.ts +9 -0
  97. package/lib/Select/Common.js +37 -0
  98. package/lib/Select/Common.js.map +1 -0
  99. package/lib/Select/Common.module.scss +54 -0
  100. package/lib/Select/MultiSelectField.d.ts +28 -0
  101. package/lib/Select/MultiSelectField.js +111 -0
  102. package/lib/Select/MultiSelectField.js.map +1 -0
  103. package/lib/Select/MultiSelectField.module.scss +72 -0
  104. package/lib/Select/MultiSelectFieldFormik.d.ts +10 -0
  105. package/lib/Select/MultiSelectFieldFormik.js +19 -0
  106. package/lib/Select/MultiSelectFieldFormik.js.map +1 -0
  107. package/lib/Select/SelectField.d.ts +42 -0
  108. package/lib/Select/SelectField.js +87 -0
  109. package/lib/Select/SelectField.js.map +1 -0
  110. package/lib/Select/SelectField.module.scss +191 -0
  111. package/lib/Select/SelectFieldFormik.d.ts +10 -0
  112. package/lib/Select/SelectFieldFormik.js +19 -0
  113. package/lib/Select/SelectFieldFormik.js.map +1 -0
  114. package/lib/Select/helpers.d.ts +11 -0
  115. package/lib/Select/helpers.js +29 -0
  116. package/lib/Select/helpers.js.map +1 -0
  117. package/lib/Select/index.d.ts +7 -0
  118. package/lib/Select/index.js +8 -0
  119. package/lib/Select/index.js.map +1 -0
  120. package/lib/SimpleTable.d.ts +11 -0
  121. package/lib/SimpleTable.js +26 -0
  122. package/lib/SimpleTable.js.map +1 -0
  123. package/lib/SimpleTable.module.scss +28 -0
  124. package/lib/Slider.d.ts +6 -5
  125. package/lib/Slider.js +35 -17
  126. package/lib/Slider.js.map +1 -1
  127. package/lib/Slider.module.scss +8 -8
  128. package/lib/Table/Cell.module.scss +11 -4
  129. package/lib/Table/EnhancedRenderers.d.ts +0 -7
  130. package/lib/Table/EnhancedRenderers.js +3 -14
  131. package/lib/Table/EnhancedRenderers.js.map +1 -1
  132. package/lib/Table/Header.js +9 -3
  133. package/lib/Table/Header.js.map +1 -1
  134. package/lib/Table/Header.module.scss +26 -35
  135. package/lib/Table/Row.js +2 -3
  136. package/lib/Table/Row.js.map +1 -1
  137. package/lib/Table/Row.module.scss +4 -10
  138. package/lib/Table/Table.d.ts +11 -4
  139. package/lib/Table/Table.js +70 -29
  140. package/lib/Table/Table.js.map +1 -1
  141. package/lib/Table/Table.module.scss +5 -5
  142. package/lib/Tabs/Tab.d.ts +9 -1
  143. package/lib/Tabs/Tab.js +5 -2
  144. package/lib/Tabs/Tab.js.map +1 -1
  145. package/lib/Tabs/Tab.module.scss +4 -0
  146. package/lib/TextArea.d.ts +4 -5
  147. package/lib/TextArea.js +7 -7
  148. package/lib/TextArea.js.map +1 -1
  149. package/lib/TextArea.module.scss +6 -4
  150. package/lib/TextField.d.ts +4 -7
  151. package/lib/TextField.js +9 -8
  152. package/lib/TextField.js.map +1 -1
  153. package/lib/TextField.module.scss +4 -18
  154. package/lib/TextFieldFormik.d.ts +4 -2
  155. package/lib/TextFieldFormik.js +15 -4
  156. package/lib/TextFieldFormik.js.map +1 -1
  157. package/lib/TimeField.d.ts +2 -11
  158. package/lib/TimeField.js +7 -6
  159. package/lib/TimeField.js.map +1 -1
  160. package/lib/TimeField.module.scss +6 -6
  161. package/lib/Toggle.js +4 -3
  162. package/lib/Toggle.js.map +1 -1
  163. package/lib/Toggle.module.scss +15 -14
  164. package/lib/Tooltip.d.ts +7 -1
  165. package/lib/Tooltip.js +38 -23
  166. package/lib/Tooltip.js.map +1 -1
  167. package/lib/Tooltip.module.scss +10 -5
  168. package/lib/TruncatedText.d.ts +1 -1
  169. package/lib/TruncatedText.js +1 -1
  170. package/lib/TruncatedText.js.map +1 -1
  171. package/lib/hooks/index.d.ts +1 -0
  172. package/lib/hooks/index.js +3 -0
  173. package/lib/hooks/index.js.map +1 -0
  174. package/lib/hooks/usePrevious.d.ts +1 -0
  175. package/lib/hooks/usePrevious.js +9 -0
  176. package/lib/hooks/usePrevious.js.map +1 -0
  177. package/lib/hooks/useTableCustomizableColumns.d.ts +9 -0
  178. package/lib/hooks/useTableCustomizableColumns.js +23 -0
  179. package/lib/hooks/useTableCustomizableColumns.js.map +1 -0
  180. package/lib/index.d.ts +4 -2
  181. package/lib/index.js +4 -2
  182. package/lib/index.js.map +1 -1
  183. package/package.json +13 -13
  184. package/styles/constants/_sizes.scss +7 -6
  185. package/styles/constants/_typography.scss +3 -3
  186. package/styles/fonts.css +29 -65
  187. package/styles/helpers/_a11y.scss +4 -0
  188. package/styles/helpers/_error.scss +17 -0
  189. package/styles/helpers/_index.scss +1 -0
  190. package/lib/Calendar/components/CalendarHeader.tsx +0 -45
  191. package/lib/Calendar/components/CalendarInput.tsx +0 -50
  192. package/lib/Calendar/components/CalendarTime.tsx +0 -116
  193. package/lib/Calendar/helpers/consts.ts +0 -99
  194. package/lib/SelectField.d.ts +0 -81
  195. package/lib/SelectField.js +0 -196
  196. package/lib/SelectField.js.map +0 -1
  197. package/lib/SelectField.module.scss +0 -251
  198. package/lib/SelectFieldFormik.d.ts +0 -20
  199. package/lib/SelectFieldFormik.js +0 -19
  200. package/lib/SelectFieldFormik.js.map +0 -1
@@ -1,6 +1,18 @@
1
1
  @use '../styles/constants' as c;
2
2
  @use '../styles/helpers' as h;
3
3
 
4
+ @mixin buttonColor($color: c.$colorPrimary) {
5
+ color: $color;
6
+ background-color: $color;
7
+ border-color: $color;
8
+ }
9
+
10
+ @mixin disabledButtonColor {
11
+ color: c.$colorTextSecondary;
12
+ background-color: c.$colorNeutral;
13
+ border-color: c.$colorNeutral;
14
+ }
15
+
4
16
  .button {
5
17
  display: inline-block;
6
18
  position: relative;
@@ -8,17 +20,17 @@
8
20
  cursor: pointer;
9
21
  border: none;
10
22
  padding: 0;
11
- border-radius: c.$borderRadius;
12
- height: c.$inputHeight;
23
+ border-radius: c.$borderRadiusButtonSmall;
24
+ height: c.$inputHeightSmall;
13
25
  max-width: c.$buttonMaxWidth;
14
26
  // for <a> element
15
27
  text-decoration: none;
16
28
 
17
- @include c.typographyButton;
29
+ @include c.typographyButton('small');
18
30
 
19
31
  .outline {
20
32
  position: absolute;
21
- border-radius: c.$borderRadius;
33
+ border-radius: c.$borderRadiusButtonSmall;
22
34
  pointer-events: none;
23
35
  top: 50%;
24
36
  left: 50%;
@@ -38,17 +50,6 @@
38
50
  }
39
51
  }
40
52
 
41
- &.small {
42
- height: c.$inputHeightSmall;
43
- border-radius: c.$borderRadiusButtonSmall;
44
-
45
- @include c.typographyButton('small');
46
-
47
- .outline {
48
- border-radius: c.$borderRadiusButtonSmall;
49
- }
50
- }
51
-
52
53
  &:focus,
53
54
  &.focus {
54
55
  // Do not remove outline for high-contrast modes
@@ -86,97 +87,128 @@
86
87
  box-sizing: border-box;
87
88
  }
88
89
 
89
- // Kind === primary
90
- &.primary {
91
- color: c.$colorNeutralWhite;
92
- background-color: c.$colorPrimary;
90
+ &.color {
91
+ &Primary {
92
+ @include buttonColor(c.$colorPrimary);
93
93
 
94
- &:hover,
95
- &.hover,
96
- &:focus,
97
- &.focus {
98
- background-color: c.$colorPrimaryLight;
99
- }
94
+ &:hover,
95
+ &.hover,
96
+ &:focus,
97
+ &.focus {
98
+ @include buttonColor(c.$colorPrimaryLight);
99
+ }
100
100
 
101
- &:active,
102
- &.active {
103
- background-color: c.$colorPrimaryDark;
104
- }
101
+ &:active,
102
+ &.active {
103
+ @include buttonColor(c.$colorPrimaryDark);
104
+ }
105
+
106
+ &.variantContained {
107
+ color: c.$colorNeutralWhite;
108
+ }
105
109
 
106
- &:disabled {
107
- color: c.$colorTextSecondary;
108
- background-color: c.$colorNeutral;
110
+ &:disabled {
111
+ @include disabledButtonColor;
112
+ }
109
113
  }
110
- }
111
114
 
112
- // Kind === secondary
113
- &.secondary {
114
- color: c.$colorPrimary;
115
- background-color: transparent;
116
- border: c.$borderWidthButton solid;
117
- border-color: c.$colorPrimary;
115
+ &Secondary {
116
+ @include buttonColor(c.$colorError);
118
117
 
119
- .outline {
120
- /* Note: We need to take border of 2*2px into account */
121
- /* doiuse-disable calc */
122
- width: calc(100% + #{c.$grid} * 3);
123
- height: calc(100% + #{c.$grid} * 3);
124
- /* doiuse-enable calc */
118
+ &:hover,
119
+ &.hover,
120
+ &:focus,
121
+ &.focus {
122
+ @include buttonColor(c.$colorErrorLight);
123
+ }
125
124
 
126
- &.inset {
127
- /* doiuse-disable calc */
128
- width: calc(100% + #{c.$grid});
129
- height: calc(100% + #{c.$grid});
130
- /* doiuse-enable calc */
125
+ &:active,
126
+ &.active {
127
+ @include buttonColor(c.$colorErrorDark);
131
128
  }
132
- }
133
129
 
134
- &:hover,
135
- &.hover,
136
- &:focus,
137
- &.focus {
138
- color: c.$colorPrimaryLight;
139
- border-color: c.$colorPrimaryLight;
140
- }
130
+ &.variantContained {
131
+ color: c.$colorNeutralWhite;
132
+ }
141
133
 
142
- &:active,
143
- &.active {
144
- color: c.$colorPrimaryDark;
145
- border-color: c.$colorPrimaryDark;
134
+ &:disabled {
135
+ @include disabledButtonColor;
136
+ }
146
137
  }
147
138
 
148
- &:disabled {
149
- color: c.$colorTextSecondary;
150
- border-color: c.$colorNeutral;
139
+ &Warning {
140
+ @include buttonColor(c.$colorWarning);
141
+
142
+ &:hover,
143
+ &.hover,
144
+ &:focus,
145
+ &.focus {
146
+ @include buttonColor(c.$colorWarningLight);
147
+ }
148
+
149
+ &:active,
150
+ &.active {
151
+ @include buttonColor(c.$colorWarningDark);
152
+ }
153
+
154
+ &.variantContained {
155
+ color: c.$colorText;
156
+ }
157
+
158
+ &:disabled {
159
+ @include disabledButtonColor;
160
+ }
151
161
  }
152
162
  }
153
163
 
154
- // Kind === danger
155
- &.danger {
156
- color: c.$colorNeutralWhite;
157
- background-color: c.$colorError;
164
+ &.variant {
165
+ &Outlined {
166
+ background: none;
167
+ border-style: solid;
168
+ border-width: c.$borderWidth;
158
169
 
159
- &:hover,
160
- &.hover,
161
- &:focus,
162
- &.focus {
163
- background-color: c.$colorErrorLight;
164
- }
170
+ .outline {
171
+ /* Note: We need to take border of 1px into account */
172
+ /* doiuse-disable calc */
173
+ width: calc(100% + #{c.$grid} * 2.5);
174
+ height: calc(100% + #{c.$grid} * 2.5);
175
+ /* doiuse-enable calc */
165
176
 
166
- &:active,
167
- &.active {
168
- background-color: c.$colorErrorDark;
169
- }
177
+ &.inset {
178
+ /* doiuse-disable calc */
179
+ width: calc(100% + #{c.$grid});
180
+ height: calc(100% + #{c.$grid});
181
+ /* doiuse-enable calc */
182
+ }
183
+ }
170
184
 
171
- &:disabled {
172
- color: c.$colorTextSecondary;
173
- background-color: c.$colorNeutral;
185
+ &:hover,
186
+ &.hover,
187
+ &:active,
188
+ &.active,
189
+ &:focus,
190
+ &.focus,
191
+ &:disabled,
192
+ &.disabled {
193
+ background: none;
194
+ }
174
195
  }
175
- }
176
196
 
177
- // Kind === transparent
178
- &.transparent {
179
- color: inherit;
180
- background-color: transparent;
197
+ &Text {
198
+ color: inherit;
199
+ background: none;
200
+
201
+ &:hover,
202
+ &.hover,
203
+ &:active,
204
+ &.active,
205
+ &:focus,
206
+ &.focus,
207
+ &:disabled,
208
+ &.disabled {
209
+ color: inherit;
210
+ background: none;
211
+ }
212
+ }
181
213
  }
182
214
  }
@@ -3,7 +3,7 @@ import { ReactDatePickerProps } from 'react-datepicker';
3
3
  export declare type CalendarSize = 'medium' | 'small';
4
4
  export declare type CalendarProps = {
5
5
  containerClassName?: string;
6
- date: ReactDatePickerProps['selected'];
6
+ date: Date | null;
7
7
  inputLabel: string;
8
8
  inputClassName?: string;
9
9
  onDateChange: ReactDatePickerProps['onChange'];
@@ -1,13 +1,18 @@
1
1
  import React from 'react';
2
2
  import cn from 'classnames';
3
+ import { createPortal } from 'react-dom';
3
4
  import DatePicker from 'react-datepicker';
4
5
  import { CalendarInput } from './components/CalendarInput';
5
6
  import { CalendarHeader } from './components/CalendarHeader';
6
7
  import { CalendarTime } from './components/CalendarTime';
8
+ import { canUseDOM } from '../utils/ssr';
7
9
  import styles from './Calendar.module.scss';
8
10
  const DATE_FORMAT = 'yyyy-MM-dd';
9
11
  const DATE_FORMAT_WITH_TIME = 'yyyy-MM-dd hh:mm a';
10
- const CalendarPopperContainer = ({ children }) => React.createElement("div", { "data-test": "date-picker-popper-container" }, children);
12
+ const CalendarPopperContainer = ({ children }) => canUseDOM && children
13
+ ? createPortal(React.createElement("div", { className: styles.popper },
14
+ React.createElement("div", { "data-test": "date-picker-popper-container", className: "hz-date-picker-popper-container" }, children)), document.body)
15
+ : null;
11
16
  export const Calendar = ({ calendarClassName, className, containerClassName, date, inputLabel, inputClassName, onDateChange, showTimeInput, size = 'medium', ...props }) => (React.createElement("div", { className: cn(styles.container, {
12
17
  [styles.time]: showTimeInput,
13
18
  }, containerClassName) },
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../src/Calendar/Calendar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,UAAoC,MAAM,kBAAkB,CAAA;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAExD,OAAO,MAAM,MAAM,wBAAwB,CAAA;AAE3C,MAAM,WAAW,GAAG,YAAY,CAAA;AAChC,MAAM,qBAAqB,GAAG,oBAAoB,CAAA;AAElD,MAAM,uBAAuB,GAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,0CAAe,8BAA8B,IAAE,QAAQ,CAAO,CAAA;AAapH,MAAM,CAAC,MAAM,QAAQ,GAAsB,CAAC,EAC1C,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,IAAI,EACJ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,IAAI,GAAG,QAAQ,EACf,GAAG,KAAK,EACT,EAAE,EAAE,CAAC,CACJ,6BACE,SAAS,EAAE,EAAE,CACX,MAAM,CAAC,SAAS,EAChB;QACE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa;KAC7B,EACD,kBAAkB,CACnB;IAED,oBAAC,UAAU,oBACL,KAAK,IACT,iBAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EACzD,SAAS,EAAE,SAAS;QACpB;;;WAGG;QACH,WAAW,EAAE,oBAAC,aAAa,IAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,GAAI,EACjG,eAAe,EAAE,oBAAC,YAAY,OAAG,EACjC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,WAAW,EAC/D,QAAQ,EAAE,YAAY,EACtB,eAAe,EAAE,uBAAuB;QACxC;;;;WAIG;QACH,kBAAkB,EAAE,cAAc,EAClC,QAAQ,EAAE,IAAI,EACd,eAAe,EAAE,KAAK,EACtB,aAAa,EAAE,aAAa,IAC5B,CACE,CACP,CAAA"}
1
+ {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../src/Calendar/Calendar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,UAAoC,MAAM,kBAAkB,CAAA;AAEnE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,OAAO,MAAM,MAAM,wBAAwB,CAAA;AAE3C,MAAM,WAAW,GAAG,YAAY,CAAA;AAChC,MAAM,qBAAqB,GAAG,oBAAoB,CAAA;AAElD,MAAM,uBAAuB,GAAO,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CACnD,SAAS,IAAI,QAAQ;IACnB,CAAC,CAAC,YAAY,CACZ,6BAAK,SAAS,EAAE,MAAM,CAAC,MAAM;QAC3B,0CAAe,8BAA8B,EAAC,SAAS,EAAC,iCAAiC,IACtF,QAAQ,CACL,CACF,EACJ,QAAQ,CAAC,IAAI,CACd;IACH,CAAC,CAAC,IAAI,CAAA;AAaV,MAAM,CAAC,MAAM,QAAQ,GAAsB,CAAC,EAC1C,iBAAiB,EACjB,SAAS,EACT,kBAAkB,EAClB,IAAI,EACJ,UAAU,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,IAAI,GAAG,QAAQ,EACf,GAAG,KAAK,EACT,EAAE,EAAE,CAAC,CACJ,6BACE,SAAS,EAAE,EAAE,CACX,MAAM,CAAC,SAAS,EAChB;QACE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa;KAC7B,EACD,kBAAkB,CACnB;IAED,oBAAC,UAAU,oBACL,KAAK,IACT,iBAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EACzD,SAAS,EAAE,SAAS;QACpB;;;WAGG;QACH,WAAW,EAAE,oBAAC,aAAa,IAAC,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,GAAI,EACjG,eAAe,EAAE,oBAAC,YAAY,OAAG,EACjC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,WAAW,EAC/D,QAAQ,EAAE,YAAY,EACtB,eAAe,EAAE,uBAAuB;QACxC;;;;WAIG;QACH,kBAAkB,EAAE,cAAc,EAClC,QAAQ,EAAE,IAAI,EACd,eAAe,EAAE,KAAK,EACtB,aAAa,EAAE,aAAa,IAC5B,CACE,CACP,CAAA"}
@@ -10,163 +10,171 @@ $inputPadding: c.$grid * 3;
10
10
  * Rest of styles
11
11
  */
12
12
  .container {
13
- /*
14
- * Internal styles override for those that cannot be
15
- * overridden using classNames composition
16
- */
13
+ width: $inputMaxWidth;
14
+ min-width: $inputMinWidth;
15
+
17
16
  :global .react-datepicker-wrapper {
18
17
  width: 100%;
19
18
  }
20
19
 
21
- :global .react-datepicker {
22
- :global .react-datepicker__header {
23
- margin: 0;
24
- padding: 0;
25
- background-color: c.$colorNeutralLighter;
26
- border: none;
27
- border-radius: 0;
20
+ &.time {
21
+ min-width: $inputMinWidthWithTime;
22
+ }
23
+ }
28
24
 
29
- :global .react-datepicker__day-names {
30
- margin-bottom: c.$grid;
25
+ .popper {
26
+ :global(.hz-date-picker-popper-container) {
27
+ /*
28
+ * Internal styles override for those that cannot be
29
+ * overridden using classNames composition
30
+ */
31
+ :global .react-datepicker-popper {
32
+ z-index: c.$zIndex200;
33
+ }
31
34
 
32
- :global .react-datepicker__day-name {
33
- width: c.$grid * 8;
34
- height: c.$grid * 8;
35
- text-align: center;
36
- vertical-align: middle;
37
- line-height: c.$grid * 8 !important;
38
- margin: 0;
39
- color: c.$colorText;
35
+ :global .react-datepicker {
36
+ :global .react-datepicker__header {
37
+ margin: 0;
38
+ padding: 0;
39
+ background-color: c.$colorNeutralLighter;
40
+ border: none;
41
+ border-radius: 0;
42
+
43
+ :global .react-datepicker__day-names {
44
+ margin-bottom: c.$grid;
45
+
46
+ :global .react-datepicker__day-name {
47
+ width: c.$grid * 8;
48
+ height: c.$grid * 8;
49
+ text-align: center;
50
+ vertical-align: middle;
51
+ line-height: c.$grid * 8 !important;
52
+ margin: 0;
53
+ color: c.$colorText;
40
54
 
41
- @include c.typographyBodySmall('bold');
55
+ @include c.typographyBodySmall('bold');
42
56
 
43
- &:not(:last-of-type) {
44
- margin-right: c.$grid * 2;
57
+ &:not(:last-of-type) {
58
+ margin-right: c.$grid * 2;
59
+ }
45
60
  }
46
61
  }
47
62
  }
48
- }
49
-
50
- :global .react-datepicker__month {
51
- /*
52
- * Note: The calendar part is asymmetrical by design
53
- * It's padded by 2 extra px from the left
54
- */
55
- margin: 0 0 0 (c.$grid * 0.5);
56
-
57
- :global .react-datepicker__week {
58
- &:not(:last-of-type) {
59
- margin-bottom: c.$grid * 2;
60
- }
61
63
 
64
+ :global .react-datepicker__month {
62
65
  /*
63
- * Note:
64
- * We need to use :global override here, as 'renderCustomDay' only allows us to override
65
- * the child of this element, which does not allow us to touch the styles properly
66
- *
67
- * Source styles: https://github.com/Hacker0x01/react-datepicker/blob/master/src/stylesheets/datepicker.scss#L395
66
+ * Note: The calendar part is asymmetrical by design
67
+ * It's padded by 2 extra px from the left
68
68
  */
69
- :global .react-datepicker__day {
70
- border-radius: c.$grid;
71
- width: c.$grid * 8;
72
- height: c.$grid * 8;
73
- background-color: c.$colorNeutralWhite;
74
- color: c.$colorTextSecondary;
75
- text-align: center;
76
- vertical-align: middle;
77
- line-height: c.$grid * 8 !important;
78
- margin: 0;
79
-
80
- // Do not remove outline for high-contrast modes
81
- // https://stackoverflow.com/a/52616313
82
- outline: transparent solid c.$outlineWidth;
83
-
84
- @include c.typographyBodySmall;
85
-
86
- &--today {
87
- @include c.typographyBodySmall('bold');
88
- }
69
+ margin: 0 0 0 (c.$grid * 0.5);
89
70
 
90
- &--in-selecting-range,
91
- &--in-range {
92
- // TODO: Improvised colour, consult with @Pawel
93
- background-color: c.$colorInfoLight;
94
- color: c.$colorNeutralWhite;
95
- }
96
-
97
- &--selected {
98
- background-color: c.$colorPrimaryLight;
99
- color: c.$colorNeutralWhite;
100
- // Note: Disable default browser outline, force our only on :focus
101
-
102
- @include c.typographyBodySmall('bold');
103
- }
104
-
105
- &--disabled {
106
- cursor: default;
107
- color: c.$colorNeutral;
108
- }
109
-
110
- &:focus {
111
- @include h.outlineSimple;
71
+ :global .react-datepicker__week {
72
+ &:not(:last-of-type) {
73
+ margin-bottom: c.$grid * 2;
112
74
  }
113
75
 
114
- &:not(:last-of-type) {
115
- margin-right: c.$grid * 2;
76
+ /*
77
+ * Note:
78
+ * We need to use :global override here, as 'renderCustomDay' only allows us to override
79
+ * the child of this element, which does not allow us to touch the styles properly
80
+ *
81
+ * Source styles: https://github.com/Hacker0x01/react-datepicker/blob/master/src/stylesheets/datepicker.scss#L395
82
+ */
83
+ :global .react-datepicker__day {
84
+ border-radius: c.$grid;
85
+ width: c.$grid * 8;
86
+ height: c.$grid * 8;
87
+ background-color: c.$colorNeutralWhite;
88
+ color: c.$colorTextSecondary;
89
+ text-align: center;
90
+ vertical-align: middle;
91
+ line-height: c.$grid * 8 !important;
92
+ margin: 0;
93
+
94
+ // Do not remove outline for high-contrast modes
95
+ // https://stackoverflow.com/a/52616313
96
+ outline: transparent solid c.$outlineWidth;
97
+
98
+ @include c.typographyBodySmall;
99
+
100
+ &--today {
101
+ @include c.typographyBodySmall('bold');
102
+ }
103
+
104
+ &--in-selecting-range,
105
+ &--in-range {
106
+ // TODO: Improvised colour, consult with @Pawel
107
+ background-color: c.$colorInfoLight;
108
+ color: c.$colorNeutralWhite;
109
+ }
110
+
111
+ &--selected {
112
+ background-color: c.$colorPrimaryLight;
113
+ color: c.$colorNeutralWhite;
114
+ // Note: Disable default browser outline, force our only on :focus
115
+
116
+ @include c.typographyBodySmall('bold');
117
+ }
118
+
119
+ &--disabled {
120
+ cursor: default;
121
+ color: c.$colorNeutral;
122
+ }
123
+
124
+ &:focus {
125
+ @include h.outlineSimple;
126
+ }
127
+
128
+ &:not(:last-of-type) {
129
+ margin-right: c.$grid * 2;
130
+ }
116
131
  }
117
132
  }
118
133
  }
119
- }
120
134
 
121
- :global .react-datepicker__input-time-container {
122
- margin: 0;
123
- padding: 0;
135
+ :global .react-datepicker__input-time-container {
136
+ margin: 0;
137
+ padding: 0;
124
138
 
125
- :global .react-datepicker-time__caption {
126
- display: none;
127
- }
139
+ :global .react-datepicker-time__caption {
140
+ display: none;
141
+ }
128
142
 
129
- :global .react-datepicker-time__input-container {
130
- margin: 0 c.$grid 0 c.$grid * 5;
143
+ :global .react-datepicker-time__input-container {
144
+ margin: 0 c.$grid 0 c.$grid * 5;
131
145
 
132
- :global .react-datepicker-time__input {
133
- margin: 0;
146
+ :global .react-datepicker-time__input {
147
+ margin: 0;
134
148
 
135
- input {
136
- width: auto;
149
+ input {
150
+ width: auto;
151
+ }
137
152
  }
138
153
  }
139
154
  }
140
155
  }
141
- }
142
156
 
143
- width: $inputMaxWidth;
144
- min-width: $inputMinWidth;
145
-
146
- &.time {
147
- min-width: $inputMinWidthWithTime;
148
- }
149
-
150
- .calendar {
151
- display: flex;
152
- flex-direction: row;
153
- border: c.$borderWidth solid c.$colorNeutralLight;
154
- background-color: c.$colorNeutralLighter;
155
- padding: $inputPadding;
156
- box-sizing: border-box;
157
-
158
- .headerContainer {
157
+ .calendar {
159
158
  display: flex;
160
159
  flex-direction: row;
161
- align-items: center;
162
- justify-content: space-between;
163
- // Note: There is 1.5px in designs - also $separatorWidth is not semantically the best fit
164
- margin-bottom: c.$separatorWidth;
165
-
166
- .headerMonthAndYear {
167
- color: c.$colorTextSecondary;
160
+ border: c.$borderWidth solid c.$colorNeutralLight;
161
+ background-color: c.$colorNeutralLighter;
162
+ padding: $inputPadding;
163
+ box-sizing: border-box;
164
+
165
+ .headerContainer {
166
+ display: flex;
167
+ flex-direction: row;
168
+ align-items: center;
169
+ justify-content: space-between;
170
+ // Note: There is 1.5px in designs - also $separatorWidth is not semantically the best fit
171
+ margin-bottom: c.$separatorWidth;
172
+
173
+ .headerMonthAndYear {
174
+ color: c.$colorTextSecondary;
168
175
 
169
- @include c.typographyBodySmall('bold');
176
+ @include c.typographyBodySmall('bold');
177
+ }
170
178
  }
171
179
  }
172
180
  }
@@ -53,7 +53,7 @@ export const CalendarTimeInternal = ({ date, value, onChange }) => {
53
53
  }, [onChange, date]);
54
54
  return (React.createElement("div", { "data-test": "calendar-time", className: styles.container },
55
55
  React.createElement("div", { "data-test": "calendar-time-header", className: styles.header },
56
- React.createElement(TimeField, { ariaLabel: "Time Input", error: timeInputError, className: styles.input, name: "time", value: time.toString(), onChange: handleTimeInputChange })),
56
+ React.createElement(TimeField, { showAriaLabel: true, label: "Time Input", error: timeInputError, className: styles.input, name: "time", value: time.toString(), onChange: handleTimeInputChange })),
57
57
  React.createElement("div", { "data-test": "calendar-time-timePoints", className: styles.timePoints }, timePoints.map((tP) => (React.createElement(Button, { className: styles.timePoint, bodyClassName: styles.timePointBody, key: tP, kind: "transparent", onClick: handleDateClick(tP) }, tP))))));
58
58
  };
59
59
  export const CalendarTime = (props) => {
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarTime.js","sourceRoot":"","sources":["../../../src/Calendar/components/CalendarTime.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CalendarTime.js","sourceRoot":"","sources":["../../../src/Calendar/components/CalendarTime.tsx"],"names":[],"mappings":"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"}
package/lib/Card.d.ts CHANGED
@@ -3,6 +3,7 @@ import { DataTestProp } from '@hazelcast/helpers';
3
3
  import { IconProps } from './Icon';
4
4
  export declare type CardProps = {
5
5
  headingIcon?: IconProps['icon'];
6
+ caption?: ReactNode;
6
7
  title?: string;
7
8
  headingContent?: ReactNode;
8
9
  separator?: boolean;
package/lib/Card.js CHANGED
@@ -9,11 +9,12 @@ import styles from './Card.module.scss';
9
9
  * ### General Info
10
10
  * - Card can be rendered with an optional separator and/or icon.
11
11
  */
12
- export const Card = ({ headingIcon, title, headingContent, separator = false, 'data-test': dataTest, children, className, iconClassName, titleClassName, contentClassName, headerClassName, }) => (React.createElement("div", { "data-test": dataTest !== null && dataTest !== void 0 ? dataTest : 'card-wrapper', className: cn(styles.wrapper, { [styles.noTitle]: !title }, className) },
12
+ export const Card = ({ headingIcon, title, headingContent, separator = false, 'data-test': dataTest, children, className, iconClassName, titleClassName, contentClassName, headerClassName, caption, }) => (React.createElement("div", { "data-test": dataTest !== null && dataTest !== void 0 ? dataTest : 'card-wrapper', className: cn(styles.wrapper, { [styles.noTitle]: !title }, className) },
13
+ caption && React.createElement("div", { className: styles.caption }, caption),
13
14
  title && (React.createElement("div", { "data-test": "card-heading", className: cn(styles.heading, headerClassName) },
14
15
  headingIcon && React.createElement(Icon, { "data-test": "card-heading-icon", icon: headingIcon, className: cn(styles.icon, iconClassName), ariaHidden: true }),
15
- React.createElement("h3", { "data-test": "card-heading-title", className: cn(styles.title, titleClassName, { [styles.space]: !!headingContent }) }, title),
16
+ React.createElement("h3", { "data-test": "card-heading-title", className: cn(styles.title, { [styles.space]: !!headingContent }, titleClassName) }, title),
16
17
  headingContent)),
17
18
  separator && React.createElement("div", { "data-test": "card-separator", className: styles.separator }),
18
- React.createElement("div", { "data-test": "card-content", className: cn(styles.content, contentClassName) }, children)));
19
+ children && (React.createElement("div", { "data-test": "card-content", className: cn(styles.content, contentClassName) }, children))));
19
20
  //# sourceMappingURL=Card.js.map
package/lib/Card.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Card.js","sourceRoot":"","sources":["../src/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAE,MAAM,YAAY,CAAA;AAG3B,OAAO,EAAE,IAAI,EAAa,MAAM,QAAQ,CAAA;AAExC,OAAO,MAAM,MAAM,oBAAoB,CAAA;AAevC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,IAAI,GAAkB,CAAC,EAClC,WAAW,EACX,KAAK,EACL,cAAc,EACd,SAAS,GAAG,KAAK,EACjB,WAAW,EAAE,QAAQ,EACrB,QAAQ,EACR,SAAS,EACT,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,EAAE,EAAE,CAAC,CACJ,0CAAgB,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,cAAc,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC;IAC/G,KAAK,IAAI,CACR,0CAAe,cAAc,EAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC;QACzE,WAAW,IAAI,oBAAC,IAAI,iBAAW,mBAAmB,EAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,UAAU,SAAG;QAC/H,yCAAc,oBAAoB,EAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,IACjH,KAAK,CACH;QACJ,cAAc,CACX,CACP;IAEA,SAAS,IAAI,0CAAe,gBAAgB,EAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAI;IAE7E,0CAAe,cAAc,EAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAC1E,QAAQ,CACL,CACF,CACP,CAAA"}
1
+ {"version":3,"file":"Card.js","sourceRoot":"","sources":["../src/Card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAA;AAC5C,OAAO,EAAE,MAAM,YAAY,CAAA;AAG3B,OAAO,EAAE,IAAI,EAAa,MAAM,QAAQ,CAAA;AAExC,OAAO,MAAM,MAAM,oBAAoB,CAAA;AAgBvC;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,IAAI,GAAkB,CAAC,EAClC,WAAW,EACX,KAAK,EACL,cAAc,EACd,SAAS,GAAG,KAAK,EACjB,WAAW,EAAE,QAAQ,EACrB,QAAQ,EACR,SAAS,EACT,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,OAAO,GACR,EAAE,EAAE,CAAC,CACJ,0CAAgB,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,cAAc,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,SAAS,CAAC;IAC/G,OAAO,IAAI,6BAAK,SAAS,EAAE,MAAM,CAAC,OAAO,IAAG,OAAO,CAAO;IAC1D,KAAK,IAAI,CACR,0CAAe,cAAc,EAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,CAAC;QACzE,WAAW,IAAI,oBAAC,IAAI,iBAAW,mBAAmB,EAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,UAAU,SAAG;QAC/H,yCAAc,oBAAoB,EAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,cAAc,EAAE,EAAE,cAAc,CAAC,IACjH,KAAK,CACH;QACJ,cAAc,CACX,CACP;IAEA,SAAS,IAAI,0CAAe,gBAAgB,EAAC,SAAS,EAAE,MAAM,CAAC,SAAS,GAAI;IAE5E,QAAQ,IAAI,CACX,0CAAe,cAAc,EAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAC1E,QAAQ,CACL,CACP,CACG,CACP,CAAA"}