@hazelcast/ui 1.3.2-next.7 → 1.3.2-next.71

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 (255) hide show
  1. package/lib/Alert.d.ts +6 -5
  2. package/lib/Alert.js +2 -2
  3. package/lib/Alert.js.map +1 -1
  4. package/lib/Alert.module.scss +15 -11
  5. package/lib/AutocompleteField.d.ts +9 -6
  6. package/lib/AutocompleteField.js +6 -7
  7. package/lib/AutocompleteField.js.map +1 -1
  8. package/lib/AutocompleteField.module.scss +16 -0
  9. package/lib/AutocompleteFieldFormik.d.ts +1 -1
  10. package/lib/Badge.d.ts +4 -4
  11. package/lib/Button.d.ts +17 -16
  12. package/lib/Button.js +8 -6
  13. package/lib/Button.js.map +1 -1
  14. package/lib/Button.module.scss +54 -1
  15. package/lib/Calendar/Calendar.d.ts +8 -4
  16. package/lib/Calendar/Calendar.js +32 -22
  17. package/lib/Calendar/Calendar.js.map +1 -1
  18. package/lib/Calendar/Calendar.module.scss +2 -1
  19. package/lib/Calendar/CalendarRange.d.ts +4 -4
  20. package/lib/Calendar/CalendarRange.js +5 -5
  21. package/lib/Calendar/CalendarRange.js.map +1 -1
  22. package/lib/Calendar/CalendarRange.module.scss +5 -0
  23. package/lib/Calendar/components/CalendarHeader.d.ts +2 -2
  24. package/lib/Calendar/components/CalendarInput.d.ts +8 -6
  25. package/lib/Calendar/components/CalendarInput.js +3 -3
  26. package/lib/Calendar/components/CalendarInput.js.map +1 -1
  27. package/lib/Calendar/components/CalendarTime.d.ts +2 -2
  28. package/lib/Calendar/components/CalendarTime.js +15 -10
  29. package/lib/Calendar/components/CalendarTime.js.map +1 -1
  30. package/lib/Calendar/components/CalendarTime.module.scss +4 -0
  31. package/lib/Calendar/helpers/consts.js +97 -97
  32. package/lib/Calendar/helpers/consts.js.map +1 -1
  33. package/lib/Card.d.ts +1 -1
  34. package/lib/Card.js +2 -2
  35. package/lib/Card.js.map +1 -1
  36. package/lib/Card.module.scss +1 -1
  37. package/lib/Carousel.d.ts +26 -0
  38. package/lib/Carousel.js +28 -0
  39. package/lib/Carousel.js.map +1 -0
  40. package/lib/Carousel.module.scss +43 -0
  41. package/lib/Checkbox.d.ts +4 -3
  42. package/lib/Checkbox.js +2 -2
  43. package/lib/Checkbox.js.map +1 -1
  44. package/lib/Checkbox.module.scss +2 -2
  45. package/lib/CheckboxFormik.d.ts +1 -1
  46. package/lib/CircularProgressBar.d.ts +1 -1
  47. package/lib/CircularProgressBar.module.scss +1 -1
  48. package/lib/ContextMenu.d.ts +15 -0
  49. package/lib/ContextMenu.js +58 -0
  50. package/lib/ContextMenu.js.map +1 -0
  51. package/lib/ContextMenu.module.scss +37 -0
  52. package/lib/Dialog.d.ts +2 -2
  53. package/lib/EmptyState.d.ts +5 -5
  54. package/lib/FieldHeader.d.ts +10 -6
  55. package/lib/FieldHeader.js +3 -3
  56. package/lib/FieldHeader.js.map +1 -1
  57. package/lib/Help.d.ts +2 -1
  58. package/lib/Help.js +2 -2
  59. package/lib/Help.js.map +1 -1
  60. package/lib/Icon.d.ts +5 -5
  61. package/lib/Icon.js +1 -1
  62. package/lib/Icon.js.map +1 -1
  63. package/lib/IconButton.d.ts +6 -6
  64. package/lib/InteractiveList.d.ts +5 -5
  65. package/lib/InteractiveList.js +4 -2
  66. package/lib/InteractiveList.js.map +1 -1
  67. package/lib/InteractiveList.module.scss +1 -0
  68. package/lib/InteractiveListFormik.d.ts +1 -1
  69. package/lib/Label.d.ts +2 -1
  70. package/lib/Label.js +1 -1
  71. package/lib/Label.js.map +1 -1
  72. package/lib/Label.module.scss +4 -0
  73. package/lib/Link.d.ts +7 -7
  74. package/lib/Link.js +3 -3
  75. package/lib/Link.js.map +1 -1
  76. package/lib/Loader.d.ts +1 -1
  77. package/lib/Modal.d.ts +4 -2
  78. package/lib/Modal.js.map +1 -1
  79. package/lib/Notification.d.ts +4 -4
  80. package/lib/Notification.module.scss +10 -10
  81. package/lib/NumberBadge.d.ts +2 -1
  82. package/lib/NumberBadge.js +3 -2
  83. package/lib/NumberBadge.js.map +1 -1
  84. package/lib/NumberField.d.ts +5 -7
  85. package/lib/NumberField.js.map +1 -1
  86. package/lib/NumberFieldFormik.d.ts +1 -1
  87. package/lib/Overlay.d.ts +7 -2
  88. package/lib/Overlay.js +5 -5
  89. package/lib/Overlay.js.map +1 -1
  90. package/lib/Overlay.module.scss +1 -1
  91. package/lib/Pagination.d.ts +7 -6
  92. package/lib/Pagination.js +7 -7
  93. package/lib/Pagination.js.map +1 -1
  94. package/lib/PasswordField.d.ts +6 -4
  95. package/lib/PasswordField.js +7 -3
  96. package/lib/PasswordField.js.map +1 -1
  97. package/lib/PasswordField.module.scss +6 -0
  98. package/lib/PasswordFieldFormik.d.ts +1 -1
  99. package/lib/Popover.d.ts +2 -0
  100. package/lib/Popover.js +12 -6
  101. package/lib/Popover.js.map +1 -1
  102. package/lib/Radio.d.ts +3 -3
  103. package/lib/Radio.module.scss +2 -2
  104. package/lib/RadioFormik.d.ts +1 -1
  105. package/lib/RadioGroup.d.ts +3 -3
  106. package/lib/RadioGroupFormik.d.ts +1 -1
  107. package/lib/SegmentedControl.d.ts +7 -6
  108. package/lib/SegmentedControl.js +4 -4
  109. package/lib/SegmentedControl.js.map +1 -1
  110. package/lib/SegmentedControl.module.scss +1 -1
  111. package/lib/SegmentedControlFormik.d.ts +1 -1
  112. package/lib/Select/CheckableSelectField.d.ts +3 -3
  113. package/lib/Select/CheckableSelectField.module.scss +3 -3
  114. package/lib/Select/CheckableSelectFieldFormik.d.ts +1 -1
  115. package/lib/Select/Common.d.ts +6 -6
  116. package/lib/Select/MultiSelectField.d.ts +7 -7
  117. package/lib/Select/MultiSelectField.js +3 -1
  118. package/lib/Select/MultiSelectField.js.map +1 -1
  119. package/lib/Select/MultiSelectFieldFormik.d.ts +1 -1
  120. package/lib/Select/SelectField.d.ts +6 -7
  121. package/lib/Select/SelectField.js +5 -3
  122. package/lib/Select/SelectField.js.map +1 -1
  123. package/lib/Select/SelectField.module.scss +6 -4
  124. package/lib/Select/SelectFieldFormik.d.ts +1 -1
  125. package/lib/Select/helpers.d.ts +2 -2
  126. package/lib/SimpleTable.d.ts +1 -1
  127. package/lib/Slider.d.ts +8 -8
  128. package/lib/Slider.module.scss +1 -1
  129. package/lib/SliderFormik.d.ts +1 -1
  130. package/lib/Table/Cell.d.ts +11 -3
  131. package/lib/Table/Cell.js +44 -9
  132. package/lib/Table/Cell.js.map +1 -1
  133. package/lib/Table/Cell.module.scss +8 -0
  134. package/lib/Table/CellWrapper.d.ts +11 -0
  135. package/lib/Table/CellWrapper.js +29 -0
  136. package/lib/Table/CellWrapper.js.map +1 -0
  137. package/lib/Table/EnhancedRenderers.d.ts +2 -2
  138. package/lib/Table/Header.d.ts +1 -2
  139. package/lib/Table/Header.js +2 -2
  140. package/lib/Table/Header.js.map +1 -1
  141. package/lib/Table/Header.module.scss +35 -27
  142. package/lib/Table/Row.d.ts +4 -4
  143. package/lib/Table/Row.js +6 -2
  144. package/lib/Table/Row.js.map +1 -1
  145. package/lib/Table/Table.d.ts +14 -18
  146. package/lib/Table/Table.js +108 -161
  147. package/lib/Table/Table.js.map +1 -1
  148. package/lib/Table/Table.module.scss +4 -16
  149. package/lib/Table/TableContent.d.ts +25 -0
  150. package/lib/Table/TableContent.js +49 -0
  151. package/lib/Table/TableContent.js.map +1 -0
  152. package/lib/Table/TableContent.module.scss +21 -0
  153. package/lib/Table/constants.d.ts +2 -0
  154. package/lib/Table/constants.js +3 -0
  155. package/lib/Table/constants.js.map +1 -0
  156. package/lib/Table/features/columnsSelection/CellCopyablePopover.d.ts +8 -0
  157. package/lib/Table/features/columnsSelection/CellCopyablePopover.js +13 -0
  158. package/lib/Table/features/columnsSelection/CellCopyablePopover.js.map +1 -0
  159. package/lib/Table/features/columnsSelection/CellCopyablePopover.module.scss +12 -0
  160. package/lib/Table/features/columnsSelection/ContextMenu/ContextMenu.d.ts +6 -0
  161. package/lib/Table/features/columnsSelection/ContextMenu/ContextMenu.js +17 -0
  162. package/lib/Table/features/columnsSelection/ContextMenu/ContextMenu.js.map +1 -0
  163. package/lib/Table/features/columnsSelection/ContextMenu/ContextMenu.module.scss +6 -0
  164. package/lib/Table/features/columnsSelection/ContextMenu/index.d.ts +1 -0
  165. package/lib/Table/features/columnsSelection/ContextMenu/index.js +2 -0
  166. package/lib/Table/features/columnsSelection/ContextMenu/index.js.map +1 -0
  167. package/lib/Table/features/columnsSelection/columnsSelection.d.ts +19 -0
  168. package/lib/Table/features/columnsSelection/columnsSelection.js +71 -0
  169. package/lib/Table/features/columnsSelection/columnsSelection.js.map +1 -0
  170. package/lib/Table/features/columnsSelection/helpers.d.ts +7 -0
  171. package/lib/Table/features/columnsSelection/helpers.js +26 -0
  172. package/lib/Table/features/columnsSelection/helpers.js.map +1 -0
  173. package/lib/Table/features/columnsSelection/index.d.ts +4 -0
  174. package/lib/Table/features/columnsSelection/index.js +5 -0
  175. package/lib/Table/features/columnsSelection/index.js.map +1 -0
  176. package/lib/Tabs/Tab.d.ts +22 -8
  177. package/lib/Tabs/Tab.js +15 -4
  178. package/lib/Tabs/Tab.js.map +1 -1
  179. package/lib/Tabs/TabContext.d.ts +3 -3
  180. package/lib/Tabs/TabList.d.ts +1 -1
  181. package/lib/Tabs/TabPanel.d.ts +1 -1
  182. package/lib/Terminal.d.ts +1 -1
  183. package/lib/TextArea.d.ts +4 -4
  184. package/lib/TextArea.module.scss +5 -1
  185. package/lib/TextAreaFormik.d.ts +1 -1
  186. package/lib/TextField.d.ts +9 -6
  187. package/lib/TextField.js +4 -4
  188. package/lib/TextField.js.map +1 -1
  189. package/lib/TextField.module.scss +12 -1
  190. package/lib/TextFieldFormik.d.ts +1 -1
  191. package/lib/TimeField.d.ts +3 -3
  192. package/lib/TimeField.js +4 -12
  193. package/lib/TimeField.js.map +1 -1
  194. package/lib/TimeField.module.scss +0 -87
  195. package/lib/TimeFieldFormik.d.ts +1 -1
  196. package/lib/Toast.d.ts +3 -3
  197. package/lib/Toast.module.scss +6 -6
  198. package/lib/Toggle.d.ts +4 -4
  199. package/lib/Toggle.js +1 -1
  200. package/lib/Toggle.js.map +1 -1
  201. package/lib/Toggle.module.scss +1 -1
  202. package/lib/ToggleFormik.d.ts +1 -1
  203. package/lib/Tooltip.d.ts +6 -5
  204. package/lib/Tooltip.js +4 -14
  205. package/lib/Tooltip.js.map +1 -1
  206. package/lib/hooks/index.d.ts +0 -1
  207. package/lib/hooks/index.js +0 -1
  208. package/lib/hooks/index.js.map +1 -1
  209. package/lib/hooks/useCloseOnResize.d.ts +8 -0
  210. package/lib/hooks/useCloseOnResize.js +16 -0
  211. package/lib/hooks/useCloseOnResize.js.map +1 -0
  212. package/lib/hooks/useDimensions.d.ts +1 -1
  213. package/lib/hooks/useOnClickOutside.d.ts +1 -1
  214. package/lib/hooks/usePagination.d.ts +2 -2
  215. package/lib/index.d.ts +3 -4
  216. package/lib/index.js +3 -4
  217. package/lib/index.js.map +1 -1
  218. package/lib/utils/formik.d.ts +2 -2
  219. package/lib/utils/portal.d.ts +2 -0
  220. package/lib/utils/portal.js +15 -0
  221. package/lib/utils/portal.js.map +1 -0
  222. package/lib/utils/test.d.ts +3 -1
  223. package/lib/utils/test.js.map +1 -1
  224. package/lib/utils/types.d.ts +1 -1
  225. package/package.json +60 -56
  226. package/styles/constants/_colors.scss +18 -15
  227. package/styles/constants/_sizes.scss +2 -1
  228. package/styles/constants/_typography.scss +34 -24
  229. package/styles/helpers/_gradients.scss +11 -0
  230. package/styles/helpers/_index.scss +1 -0
  231. package/styles/typography/fonts/LICENSE.txt +202 -0
  232. package/styles/typography/fonts/OpenSans-Italic.woff2 +0 -0
  233. package/styles/typography/fonts/OpenSans-Regular.woff2 +0 -0
  234. package/styles/typography/fonts/OpenSans-SemiBold.woff2 +0 -0
  235. package/styles/typography/fonts/OpenSans-SemiBoldItalic.woff2 +0 -0
  236. package/styles/typography/fonts/PPTelegraf-Light.woff2 +0 -0
  237. package/styles/typography/fonts/PPTelegraf-Medium.woff2 +0 -0
  238. package/styles/typography/fonts/PPTelegraf-RegularSlanted.woff2 +0 -0
  239. package/styles/typography/fonts/PPTelegraf-UltralightSlanted.woff2 +0 -0
  240. package/styles/typography/open-sans.css +35 -0
  241. package/styles/typography/pp-telegraf.css +31 -0
  242. package/lib/Code.d.ts +0 -8
  243. package/lib/Code.js +0 -16
  244. package/lib/Code.js.map +0 -1
  245. package/lib/CodeEditor.d.ts +0 -28
  246. package/lib/CodeEditor.js +0 -180
  247. package/lib/CodeEditor.js.map +0 -1
  248. package/lib/CodeEditor.module.scss +0 -32
  249. package/lib/CodeEditorFormik.d.ts +0 -9
  250. package/lib/CodeEditorFormik.js +0 -14
  251. package/lib/CodeEditorFormik.js.map +0 -1
  252. package/lib/hooks/useTableCustomizableColumns.d.ts +0 -10
  253. package/lib/hooks/useTableCustomizableColumns.js +0 -21
  254. package/lib/hooks/useTableCustomizableColumns.js.map +0 -1
  255. package/styles/fonts.css +0 -26
@@ -1,31 +1,41 @@
1
- import React from 'react';
1
+ import React, { useMemo } from 'react';
2
2
  import cn from 'classnames';
3
3
  import { createPortal } from 'react-dom';
4
4
  import DatePicker from 'react-datepicker';
5
5
  import { CalendarInput } from './components/CalendarInput';
6
6
  import { CalendarHeader } from './components/CalendarHeader';
7
7
  import { CalendarTime } from './components/CalendarTime';
8
- import { canUseDOM } from '../utils/ssr';
9
8
  import styles from './Calendar.module.scss';
9
+ import { getPortalContainer } from '../utils/portal';
10
10
  const DATE_FORMAT = 'yyyy-MM-dd';
11
- const DATE_FORMAT_WITH_TIME = 'yyyy-MM-dd hh:mm a';
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;
16
- export const Calendar = ({ calendarClassName, className, containerClassName, date, inputLabel, inputClassName, onDateChange, showTimeInput, size = 'medium', ...props }) => (React.createElement("div", { className: cn(styles.container, {
17
- [styles.time]: showTimeInput,
18
- }, containerClassName) },
19
- React.createElement(DatePicker, { ...props, calendarClassName: cn(styles.calendar, calendarClassName), className: className,
20
- /*
21
- * Note: The library instantiates the component using React.cloneElement
22
- * Source: https://github.com/Hacker0x01/react-datepicker/blob/master/src/index.jsx#L926
23
- */
24
- customInput: React.createElement(CalendarInput, { label: inputLabel, textFieldSize: size, className: inputClassName }), customTimeInput: React.createElement(CalendarTime, null), dateFormat: showTimeInput ? DATE_FORMAT_WITH_TIME : DATE_FORMAT, onChange: onDateChange, popperContainer: CalendarPopperContainer,
25
- /*
26
- * Note:
27
- * 'renderCustomHeader' is the only child component override prop that is not instantiated
28
- * via React.cloneElement. So at least we can utilise a typed React.Component over React.ReactNode here
29
- */
30
- renderCustomHeader: CalendarHeader, selected: date, showPopperArrow: false, showTimeInput: showTimeInput })));
11
+ const TIME_FORMAT = 'HH:mm';
12
+ const CalendarPopperContainer = (container, inPortal) =>
13
+ // eslint-disable-next-line react/display-name
14
+ ({ children }) => {
15
+ const content = // eslint-disable-next-line jsx-a11y/no-static-element-interactions
16
+ (React.createElement("div", { className: styles.popper },
17
+ React.createElement("div", { "data-test": "date-picker-popper-container", className: "hz-date-picker-popper-container" }, children)));
18
+ if (inPortal) {
19
+ return content;
20
+ }
21
+ return container && children ? createPortal(content, container) : null;
22
+ };
23
+ export const Calendar = ({ calendarClassName, className, containerClassName, date, inputLabel, inputClassName, onDateChange, showTimeInput, size = 'medium', container = `body`, inPortal = false, dateFormat = DATE_FORMAT, timeFormat = TIME_FORMAT, ...props }) => {
24
+ const PopperContainer = useMemo(() => CalendarPopperContainer(getPortalContainer(container), inPortal), [container, inPortal]);
25
+ return (React.createElement("div", { className: cn(styles.container, {
26
+ [styles.time]: showTimeInput,
27
+ }, containerClassName) },
28
+ React.createElement(DatePicker, { ...props, calendarClassName: cn(styles.calendar, calendarClassName), className: className,
29
+ /*
30
+ * Note: The library instantiates the component using React.cloneElement
31
+ * Source: https://github.com/Hacker0x01/react-datepicker/blob/master/src/index.jsx#L926
32
+ */
33
+ customInput: React.createElement(CalendarInput, { label: inputLabel, textFieldSize: size, className: inputClassName }), customTimeInput: React.createElement(CalendarTime, null), dateFormat: showTimeInput ? `${dateFormat} ${timeFormat}` : dateFormat, onChange: onDateChange, popperContainer: PopperContainer,
34
+ /*
35
+ * Note:
36
+ * 'renderCustomHeader' is the only child component override prop that is not instantiated
37
+ * via React.cloneElement. So at least we can utilise a typed React.Component over React.ReactNode here
38
+ */
39
+ renderCustomHeader: CalendarHeader, selected: date, timeFormat: timeFormat, showPopperArrow: false, showTimeInput: showTimeInput })));
40
+ };
31
41
  //# sourceMappingURL=Calendar.js.map
@@ -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,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,OACL,KAAK,EACT,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,GAC5B,CACE,CACP,CAAA"}
1
+ {"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../src/Calendar/Calendar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAM,OAAO,EAAE,MAAM,OAAO,CAAA;AAC1C,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;AAExD,OAAO,MAAM,MAAM,wBAAwB,CAAA;AAC3C,OAAO,EAAE,kBAAkB,EAAmB,MAAM,iBAAiB,CAAA;AAErE,MAAM,WAAW,GAAG,YAAY,CAAA;AAChC,MAAM,WAAW,GAAG,OAAO,CAAA;AAE3B,MAAM,uBAAuB,GAC3B,CAAC,SAA6B,EAAE,QAAiB,EAAM,EAAE;AACzD,8CAA8C;AAC9C,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACf,MAAM,OAAO,GAAG,mEAAmE;KACjF,CACE,6BAAK,SAAS,EAAE,MAAM,CAAC,MAAM;QAC3B,0CAAe,8BAA8B,EAAC,SAAS,EAAC,iCAAiC,IACtF,QAAQ,CACL,CACF,CACP,CAAA;IAEH,IAAI,QAAQ,EAAE;QACZ,OAAO,OAAO,CAAA;KACf;IAED,OAAO,SAAS,IAAI,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AACxE,CAAC,CAAA;AAgBH,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,SAAS,GAAG,MAAM,EAClB,QAAQ,GAAG,KAAK,EAChB,UAAU,GAAG,WAAW,EACxB,UAAU,GAAG,WAAW,EACxB,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,uBAAuB,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAA;IAE9H,OAAO,CACL,6BACE,SAAS,EAAE,EAAE,CACX,MAAM,CAAC,SAAS,EAChB;YACE,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa;SAC7B,EACD,kBAAkB,CACnB;QAED,oBAAC,UAAU,OACL,KAAK,EACT,iBAAiB,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,iBAAiB,CAAC,EACzD,SAAS,EAAE,SAAS;YACpB;;;eAGG;YACH,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,GAAG,UAAU,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,EACtE,QAAQ,EAAE,YAAY,EACtB,eAAe,EAAE,eAAe;YAChC;;;;eAIG;YACH,kBAAkB,EAAE,cAAc,EAClC,QAAQ,EAAE,IAAI,EACd,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,KAAK,EACtB,aAAa,EAAE,aAAa,GAC5B,CACE,CACP,CAAA;AACH,CAAC,CAAA"}
@@ -33,6 +33,8 @@ $inputPadding: c.$grid * 3;
33
33
  }
34
34
 
35
35
  :global .react-datepicker {
36
+ padding: $inputPadding;
37
+
36
38
  :global .react-datepicker__header {
37
39
  margin: 0;
38
40
  padding: 0;
@@ -161,7 +163,6 @@ $inputPadding: c.$grid * 3;
161
163
  flex-direction: row;
162
164
  border: c.$borderWidth solid c.$colorNeutralLight;
163
165
  background-color: c.$colorNeutralLighter;
164
- padding: $inputPadding;
165
166
  box-sizing: border-box;
166
167
 
167
168
  .headerContainer {
@@ -1,7 +1,7 @@
1
1
  import { FC } from 'react';
2
- import { ReactDatePickerProps } from 'react-datepicker';
3
2
  import { CalendarProps } from './Calendar';
4
- export declare type CalendarRangeProps = {
3
+ export type CalendarRangeVariant = 'horizontal' | 'vertical';
4
+ export type CalendarRangeProps = {
5
5
  startDate: CalendarProps['date'];
6
6
  startInputLabel?: string;
7
7
  startOpen?: boolean;
@@ -9,7 +9,7 @@ export declare type CalendarRangeProps = {
9
9
  endDate: CalendarProps['date'];
10
10
  endInputLabel?: string;
11
11
  endOpen?: boolean;
12
+ variant?: CalendarRangeVariant;
12
13
  onEndDateChange: CalendarProps['onDateChange'];
13
- size?: CalendarProps['size'];
14
- } & Pick<ReactDatePickerProps, 'showTimeInput'>;
14
+ } & Omit<CalendarProps, 'onDateChange' | 'date' | 'inputLabel'>;
15
15
  export declare const CalendarRange: FC<CalendarRangeProps>;
@@ -4,10 +4,10 @@ import cn from 'classnames';
4
4
  import { Icon } from '../Icon';
5
5
  import { Calendar } from './Calendar';
6
6
  import styles from './CalendarRange.module.scss';
7
- export const CalendarRange = ({ startDate, startInputLabel = 'From', startOpen, onStartDateChange, endDate, endInputLabel = 'To', endOpen, onEndDateChange, showTimeInput, size, }) => {
8
- return (React.createElement("div", { className: styles.container },
9
- React.createElement(Calendar, { "data-test": "calendar-range-start", date: startDate, onDateChange: onStartDateChange, selectsStart: true, startDate: startDate, endDate: endDate, inputLabel: startInputLabel, showTimeInput: showTimeInput, open: startOpen, size: size }),
10
- React.createElement(Icon, { "data-test": "calendar-range-icon", className: cn(styles.arrowRight, { [styles.small]: size === 'small' }), icon: ArrowRight, ariaLabel: "Arrow Right" }),
11
- React.createElement(Calendar, { "data-test": "calendar-range-end", date: endDate, onDateChange: onEndDateChange, selectsEnd: true, startDate: startDate, endDate: endDate, minDate: startDate, inputLabel: endInputLabel, showTimeInput: showTimeInput, open: endOpen, size: size })));
7
+ export const CalendarRange = ({ startDate, startInputLabel = 'From', startOpen, onStartDateChange, endDate, endInputLabel = 'To', endOpen, onEndDateChange, size, variant = 'horizontal', ...rest }) => {
8
+ return (React.createElement("div", { className: cn(styles.container, { [styles.vertical]: variant === 'vertical' }) },
9
+ React.createElement(Calendar, { "data-test": "calendar-range-start", date: startDate, onDateChange: onStartDateChange, selectsStart: true, startDate: startDate, endDate: endDate, inputLabel: startInputLabel, open: startOpen, size: size, ...rest }),
10
+ variant === 'horizontal' && (React.createElement(Icon, { "data-test": "calendar-range-icon", className: cn(styles.arrowRight, { [styles.small]: size === 'small' }), icon: ArrowRight, ariaLabel: "Arrow Right" })),
11
+ React.createElement(Calendar, { "data-test": "calendar-range-end", date: endDate, onDateChange: onEndDateChange, selectsEnd: true, startDate: startDate, endDate: endDate, minDate: startDate, inputLabel: endInputLabel, open: endOpen, size: size, ...rest })));
12
12
  };
13
13
  //# sourceMappingURL=CalendarRange.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarRange.js","sourceRoot":"","sources":["../../src/Calendar/CalendarRange.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAA;AAEjC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAA;AAEpD,OAAO,MAAM,MAAM,6BAA6B,CAAA;AAchD,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,EACpD,SAAS,EACT,eAAe,GAAG,MAAM,EACxB,SAAS,EACT,iBAAiB,EACjB,OAAO,EACP,aAAa,GAAG,IAAI,EACpB,OAAO,EACP,eAAe,EACf,aAAa,EACb,IAAI,GACL,EAAE,EAAE;IACH,OAAO,CACL,6BAAK,SAAS,EAAE,MAAM,CAAC,SAAS;QAC9B,oBAAC,QAAQ,iBACG,sBAAsB,EAChC,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,iBAAiB,EAC/B,YAAY,QACZ,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,eAAe,EAC3B,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,IAAI,GACV;QACF,oBAAC,IAAI,iBACO,qBAAqB,EAC/B,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC,EACtE,IAAI,EAAE,UAAU,EAChB,SAAS,EAAC,aAAa,GACvB;QACF,oBAAC,QAAQ,iBACG,oBAAoB,EAC9B,IAAI,EAAE,OAAO,EACb,YAAY,EAAE,eAAe,EAC7B,UAAU,QACV,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,UAAU,EAAE,aAAa,EACzB,aAAa,EAAE,aAAa,EAC5B,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,IAAI,GACV,CACE,CACP,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"CalendarRange.js","sourceRoot":"","sources":["../../src/Calendar/CalendarRange.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAa,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,QAAQ,EAAiB,MAAM,YAAY,CAAA;AAEpD,OAAO,MAAM,MAAM,6BAA6B,CAAA;AAehD,MAAM,CAAC,MAAM,aAAa,GAA2B,CAAC,EACpD,SAAS,EACT,eAAe,GAAG,MAAM,EACxB,SAAS,EACT,iBAAiB,EACjB,OAAO,EACP,aAAa,GAAG,IAAI,EACpB,OAAO,EACP,eAAe,EACf,IAAI,EACJ,OAAO,GAAG,YAAY,EACtB,GAAG,IAAI,EACR,EAAE,EAAE;IACH,OAAO,CACL,6BAAK,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,KAAK,UAAU,EAAE,CAAC;QACjF,oBAAC,QAAQ,iBACG,sBAAsB,EAChC,IAAI,EAAE,SAAS,EACf,YAAY,EAAE,iBAAiB,EAC/B,YAAY,QACZ,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,eAAe,EAC3B,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,IAAI,KACN,IAAI,GACR;QACD,OAAO,KAAK,YAAY,IAAI,CAC3B,oBAAC,IAAI,iBACO,qBAAqB,EAC/B,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC,EACtE,IAAI,EAAE,UAAU,EAChB,SAAS,EAAC,aAAa,GACvB,CACH;QACD,oBAAC,QAAQ,iBACG,oBAAoB,EAC9B,IAAI,EAAE,OAAO,EACb,YAAY,EAAE,eAAe,EAC7B,UAAU,QACV,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,SAAS,EAClB,UAAU,EAAE,aAAa,EACzB,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,IAAI,KACN,IAAI,GACR,CACE,CACP,CAAA;AACH,CAAC,CAAA"}
@@ -5,6 +5,11 @@
5
5
  flex-direction: row;
6
6
  align-items: flex-end;
7
7
 
8
+ &.vertical {
9
+ flex-direction: column;
10
+ gap: c.$grid * 4;
11
+ }
12
+
8
13
  .arrowRight {
9
14
  color: c.$colorNeutralLight;
10
15
  margin: 0 c.$grid * 2 c.$grid * 2;
@@ -1,6 +1,6 @@
1
1
  import { FC } from 'react';
2
2
  import { ReactDatePickerProps } from 'react-datepicker';
3
- declare type ExtractFnArgumentType<T> = T extends (arg: infer U) => any ? U : never;
4
- export declare type CalendarHeaderProps = ExtractFnArgumentType<ReactDatePickerProps['renderCustomHeader']>;
3
+ type ExtractFnArgumentType<T> = T extends (arg: infer U) => any ? U : never;
4
+ export type CalendarHeaderProps = ExtractFnArgumentType<ReactDatePickerProps['renderCustomHeader']>;
5
5
  export declare const CalendarHeader: FC<CalendarHeaderProps>;
6
6
  export {};
@@ -1,13 +1,15 @@
1
- import { FC, ChangeEvent, InputHTMLAttributes } from 'react';
1
+ import React, { FC, ChangeEvent, InputHTMLAttributes } from 'react';
2
2
  import { CalendarSize } from '../Calendar';
3
- export declare type CalendarInputInternalProps = {
3
+ export type CalendarInputInternalProps = {
4
4
  onChange: (e: ChangeEvent<HTMLInputElement>) => void;
5
5
  } & CalendarInputExtraProps & Omit<InputHTMLAttributes<HTMLInputElement>, 'onChange'>;
6
- export declare const CalendarInputInternal: FC<CalendarInputInternalProps>;
7
- export declare type CalendarInputExtraProps = {
8
- label: string;
6
+ export declare const CalendarInputInternal: React.ForwardRefExoticComponent<{
7
+ onChange: (e: ChangeEvent<HTMLInputElement>) => void;
8
+ } & CalendarInputExtraProps & Omit<React.InputHTMLAttributes<HTMLInputElement>, "onChange"> & React.RefAttributes<HTMLInputElement>>;
9
+ export type CalendarInputExtraProps = {
10
+ label?: string;
9
11
  textFieldSize?: CalendarSize;
10
12
  className?: string;
11
13
  };
12
- export declare type CalendarInputProps = unknown & CalendarInputExtraProps;
14
+ export type CalendarInputProps = unknown & CalendarInputExtraProps;
13
15
  export declare const CalendarInput: FC<CalendarInputProps>;
@@ -1,12 +1,12 @@
1
1
  import React, { forwardRef } from 'react';
2
2
  import { Calendar } from 'react-feather';
3
3
  import { TextField } from '../../TextField';
4
- export const CalendarInputInternal = ({ className, value, onChange, label, textFieldSize, ...props }) => (React.createElement(TextField, { ...props, size: textFieldSize, "data-test": "calendar-input", value: value === null || value === void 0 ? void 0 : value.toString(), onChange: onChange, inputContainerClassName: className, type: "text", name: "calendar-input", label: label, inputTrailingIcon: Calendar, inputTrailingIconLabel: "Calendar Icon" }));
5
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
4
+ export const CalendarInputInternal = forwardRef(({ className, value, onChange, label, textFieldSize, ...props }, ref) => (React.createElement(TextField, { ...props, mRef: ref, size: textFieldSize, "data-test": "calendar-input", value: value === null || value === void 0 ? void 0 : value.toString(), onChange: onChange, inputContainerClassName: className, type: "text", name: "calendar-input", label: label, inputTrailingIcon: Calendar, inputTrailingIconLabel: "Calendar Icon" })));
5
+ CalendarInputInternal.displayName = 'CalendarInputInternal';
6
6
  export const CalendarInput = forwardRef((props, ref) => {
7
7
  // Note: Cast the "unknown" props to the actual type
8
8
  const propsTyped = props;
9
- return React.createElement(CalendarInputInternal, { ...propsTyped });
9
+ return React.createElement(CalendarInputInternal, { ref: ref, ...propsTyped });
10
10
  });
11
11
  CalendarInput.displayName = 'CalendarInput';
12
12
  //# sourceMappingURL=CalendarInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarInput.js","sourceRoot":"","sources":["../../../src/Calendar/components/CalendarInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAwC,UAAU,EAAE,MAAM,OAAO,CAAA;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAQ3C,MAAM,CAAC,MAAM,qBAAqB,GAAmC,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CACvI,oBAAC,SAAS,OACJ,KAAK,EACT,IAAI,EAAE,aAAa,eACT,gBAAgB,EAC1B,KAAK,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE,EACxB,QAAQ,EAAE,QAAQ,EAClB,uBAAuB,EAAE,SAAS,EAClC,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,gBAAgB,EACrB,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,QAAQ,EAC3B,sBAAsB,EAAC,eAAe,GACtC,CACH,CAAA;AAgBD,6DAA6D;AAC7D,MAAM,CAAC,MAAM,aAAa,GAA2B,UAAU,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IAC7E,oDAAoD;IACpD,MAAM,UAAU,GAAG,KAAmC,CAAA;IAEtD,OAAO,oBAAC,qBAAqB,OAAK,UAAU,GAAI,CAAA;AAClD,CAAC,CAAC,CAAA;AAEF,aAAa,CAAC,WAAW,GAAG,eAAe,CAAA"}
1
+ {"version":3,"file":"CalendarInput.js","sourceRoot":"","sources":["../../../src/Calendar/components/CalendarInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAwC,UAAU,EAAE,MAAM,OAAO,CAAA;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAQ3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,UAAU,CAC7C,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CACvE,oBAAC,SAAS,OACJ,KAAK,EACT,IAAI,EAAE,GAAG,EACT,IAAI,EAAE,aAAa,eACT,gBAAgB,EAC1B,KAAK,EAAE,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,EAAE,EACxB,QAAQ,EAAE,QAAQ,EAClB,uBAAuB,EAAE,SAAS,EAClC,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,gBAAgB,EACrB,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAE,QAAQ,EAC3B,sBAAsB,EAAC,eAAe,GACtC,CACH,CACF,CAAA;AACD,qBAAqB,CAAC,WAAW,GAAG,uBAAuB,CAAA;AAgB3D,MAAM,CAAC,MAAM,aAAa,GAA2B,UAAU,CAAuC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACnH,oDAAoD;IACpD,MAAM,UAAU,GAAG,KAAmC,CAAA;IAEtD,OAAO,oBAAC,qBAAqB,IAAC,GAAG,EAAE,GAAG,KAAM,UAAU,GAAI,CAAA;AAC5D,CAAC,CAAC,CAAA;AAEF,aAAa,CAAC,WAAW,GAAG,eAAe,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import { FC } from 'react';
2
- export declare type CalendarTimeInternalProps = {
2
+ export type CalendarTimeInternalProps = {
3
3
  date: Date;
4
4
  onChange: (timeString: string) => void;
5
5
  value: string;
6
6
  };
7
7
  export declare const CalendarTimeInternal: FC<CalendarTimeInternalProps>;
8
- export declare type CalendarTimeProps = unknown;
8
+ export type CalendarTimeProps = unknown;
9
9
  export declare const CalendarTime: FC<CalendarTimeProps>;
@@ -3,14 +3,13 @@ import { format, parse } from 'date-fns';
3
3
  import { Button } from '../../Button';
4
4
  import { timePoints } from '../helpers/consts';
5
5
  import { TimeField } from '../../TimeField';
6
+ import { useRefValue } from '../../hooks';
6
7
  import styles from './CalendarTime.module.scss';
7
- // Note: AM/PM 1-12 hours time
8
- const DATE_FORMAT = 'hh:mm a';
9
- // Note: 0-23 hours time
10
- const DATE_FORMAT_NO_MERIDIEM = 'HH:mm';
8
+ const DATE_FORMAT = 'HH:mm';
11
9
  export const CalendarTimeInternal = ({ date, value, onChange }) => {
12
10
  const [time, setTime] = useState(value);
13
11
  const [timeInputError, setTimeInputError] = useState();
12
+ const getValue = useRefValue(value);
14
13
  /*
15
14
  * Note:
16
15
  * We cannot override how react-datepicker handles time values.
@@ -22,7 +21,7 @@ export const CalendarTimeInternal = ({ date, value, onChange }) => {
22
21
  * Furthermore, the package even does not handle potential thrown error by date-fns' parse.
23
22
  * Even the live demos do crash on an input like "10:10q" (See source 1. link below).
24
23
  *
25
- * For this reasons we need to provide our own wrapper around the functionality to achieve 2 things:
24
+ * For these reasons we need to provide our own wrapper around the functionality to achieve 2 things:
26
25
  * - Provide IE11 with a proper fallback
27
26
  * - Prevent the invalid input value crash
28
27
  * - Provide the user with an input error in case the value is invalid
@@ -35,7 +34,7 @@ export const CalendarTimeInternal = ({ date, value, onChange }) => {
35
34
  }, [value]);
36
35
  const handleTimeInputChange = useCallback(({ target: { value } }) => {
37
36
  setTime(value);
38
- const parsedDate = parse(value, DATE_FORMAT_NO_MERIDIEM, date);
37
+ const parsedDate = parse(value, DATE_FORMAT, date);
39
38
  if (!isNaN(parsedDate.valueOf())) {
40
39
  setTimeInputError(undefined);
41
40
  onChange(value);
@@ -48,13 +47,19 @@ export const CalendarTimeInternal = ({ date, value, onChange }) => {
48
47
  // Note: Input time (derived from timePoints) is in 'DATE_FORMAT'
49
48
  const parsedDate = parse(dp, DATE_FORMAT, date);
50
49
  // Note: Output time, that we feed back to 'react-datetime' is in 'DATE_FORMAT_NO_MERIDIEM' format
51
- const timeStringWithoutAm = format(parsedDate, DATE_FORMAT_NO_MERIDIEM);
50
+ const timeStringWithoutAm = format(parsedDate, DATE_FORMAT);
52
51
  onChange(timeStringWithoutAm);
53
- }, [onChange, date]);
52
+ // remove error because time from the list can not be invalid
53
+ setTimeInputError(undefined);
54
+ // restores input field value when we select the same time from the list
55
+ if (getValue() === timeStringWithoutAm) {
56
+ setTime(timeStringWithoutAm);
57
+ }
58
+ }, [onChange, getValue, date]);
54
59
  return (React.createElement("div", { "data-test": "calendar-time", className: styles.container },
55
60
  React.createElement("div", { "data-test": "calendar-time-header", className: styles.header },
56
- React.createElement(TimeField, { showAriaLabel: true, label: "Time Input", error: timeInputError, className: styles.input, name: "time", value: time.toString(), onChange: handleTimeInputChange })),
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))))));
61
+ React.createElement(TimeField, { showAriaLabel: true, size: "small", label: "Time Input", error: timeInputError, name: "time", value: time.toString(), inputClassName: styles.timeInput, onChange: handleTimeInputChange })),
62
+ 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, variant: "text", onClick: handleDateClick(tP) }, tP))))));
58
63
  };
59
64
  export const CalendarTime = (props) => {
60
65
  // Note: Cast the "unknown" props to the actual type
@@ -1 +1 @@
1
- {"version":3,"file":"CalendarTime.js","sourceRoot":"","sources":["../../../src/Calendar/components/CalendarTime.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAmB,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,OAAO,MAAM,MAAM,4BAA4B,CAAA;AAE/C,8BAA8B;AAC9B,MAAM,WAAW,GAAG,SAAS,CAAA;AAC7B,wBAAwB;AACxB,MAAM,uBAAuB,GAAG,OAAO,CAAA;AAQvC,MAAM,CAAC,MAAM,oBAAoB,GAAkC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC/F,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,EAAsB,CAAA;IAE1E;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,KAAK,CAAC,CAAA;IAChB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAiC,EAAE,EAAE;QACvD,OAAO,CAAC,KAAK,CAAC,CAAA;QACd,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAA;QAE9D,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE;YAChC,iBAAiB,CAAC,SAAS,CAAC,CAAA;YAC5B,QAAQ,CAAC,KAAK,CAAC,CAAA;SAChB;aAAM;YACL,iBAAiB,CAAC,cAAc,CAAC,CAAA;SAClC;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,IAAI,CAAC,CACjB,CAAA;IAED,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,EAAE;QACnB,iEAAiE;QACjE,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;QAC/C,kGAAkG;QAClG,MAAM,mBAAmB,GAAG,MAAM,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAA;QACvE,QAAQ,CAAC,mBAAmB,CAAC,CAAA;IAC/B,CAAC,EACD,CAAC,QAAQ,EAAE,IAAI,CAAC,CACjB,CAAA;IAED,OAAO,CACL,0CAAe,eAAe,EAAC,SAAS,EAAE,MAAM,CAAC,SAAS;QACxD,0CAAe,sBAAsB,EAAC,SAAS,EAAE,MAAM,CAAC,MAAM;YAC5D,oBAAC,SAAS,IACR,aAAa,QACb,KAAK,EAAC,YAAY,EAClB,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,MAAM,CAAC,KAAK,EACvB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EACtB,QAAQ,EAAE,qBAAqB,GAC/B,CACE;QACN,0CAAe,0BAA0B,EAAC,SAAS,EAAE,MAAM,CAAC,UAAU,IACnE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CACtB,oBAAC,MAAM,IACL,SAAS,EAAE,MAAM,CAAC,SAAS,EAC3B,aAAa,EAAE,MAAM,CAAC,aAAa,EACnC,GAAG,EAAE,EAAE,EACP,IAAI,EAAC,aAAa,EAClB,OAAO,EAAE,eAAe,CAAC,EAAE,CAAC,IAE3B,EAAE,CACI,CACV,CAAC,CACE,CACF,CACP,CAAA;AACH,CAAC,CAAA;AAUD,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,KAAK,EAAE,EAAE;IAC3D,oDAAoD;IACpD,MAAM,UAAU,GAAG,KAAkC,CAAA;IAErD,OAAO,oBAAC,oBAAoB,OAAK,UAAU,GAAI,CAAA;AACjD,CAAC,CAAA"}
1
+ {"version":3,"file":"CalendarTime.js","sourceRoot":"","sources":["../../../src/Calendar/components/CalendarTime.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAmB,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAChF,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAExC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,MAAM,MAAM,4BAA4B,CAAA;AAE/C,MAAM,WAAW,GAAG,OAAO,CAAA;AAQ3B,MAAM,CAAC,MAAM,oBAAoB,GAAkC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC/F,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,EAAsB,CAAA;IAE1E,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;IAEnC;;;;;;;;;;;;;;;;;;OAkBG;IACH,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,KAAK,CAAC,CAAA;IAChB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,MAAM,qBAAqB,GAAG,WAAW,CACvC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAiC,EAAE,EAAE;QACvD,OAAO,CAAC,KAAK,CAAC,CAAA;QACd,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;QAElD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE;YAChC,iBAAiB,CAAC,SAAS,CAAC,CAAA;YAC5B,QAAQ,CAAC,KAAK,CAAC,CAAA;SAChB;aAAM;YACL,iBAAiB,CAAC,cAAc,CAAC,CAAA;SAClC;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,IAAI,CAAC,CACjB,CAAA;IAED,MAAM,eAAe,GAAG,WAAW,CACjC,CAAC,EAAU,EAAE,EAAE,CAAC,GAAG,EAAE;QACnB,iEAAiE;QACjE,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;QAC/C,kGAAkG;QAClG,MAAM,mBAAmB,GAAG,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,CAAA;QAC3D,QAAQ,CAAC,mBAAmB,CAAC,CAAA;QAE7B,6DAA6D;QAC7D,iBAAiB,CAAC,SAAS,CAAC,CAAA;QAE5B,wEAAwE;QACxE,IAAI,QAAQ,EAAE,KAAK,mBAAmB,EAAE;YACtC,OAAO,CAAC,mBAAmB,CAAC,CAAA;SAC7B;IACH,CAAC,EACD,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAC3B,CAAA;IAED,OAAO,CACL,0CAAe,eAAe,EAAC,SAAS,EAAE,MAAM,CAAC,SAAS;QACxD,0CAAe,sBAAsB,EAAC,SAAS,EAAE,MAAM,CAAC,MAAM;YAC5D,oBAAC,SAAS,IACR,aAAa,QACb,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,YAAY,EAClB,KAAK,EAAE,cAAc,EACrB,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,EACtB,cAAc,EAAE,MAAM,CAAC,SAAS,EAChC,QAAQ,EAAE,qBAAqB,GAC/B,CACE;QACN,0CAAe,0BAA0B,EAAC,SAAS,EAAE,MAAM,CAAC,UAAU,IACnE,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CACtB,oBAAC,MAAM,IAAC,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAC,MAAM,EAAC,OAAO,EAAE,eAAe,CAAC,EAAE,CAAC,IAC3H,EAAE,CACI,CACV,CAAC,CACE,CACF,CACP,CAAA;AACH,CAAC,CAAA;AAUD,MAAM,CAAC,MAAM,YAAY,GAA0B,CAAC,KAAK,EAAE,EAAE;IAC3D,oDAAoD;IACpD,MAAM,UAAU,GAAG,KAAkC,CAAA;IAErD,OAAO,oBAAC,oBAAoB,OAAK,UAAU,GAAI,CAAA;AACjD,CAAC,CAAA"}
@@ -66,3 +66,7 @@ $buttonWidth: calc(98px - 2 * #{$outlinePreservingPadding});
66
66
  }
67
67
  }
68
68
  }
69
+
70
+ .timeInput {
71
+ width: 88px !important;
72
+ }
@@ -1,100 +1,100 @@
1
1
  export const timePoints = [
2
- // Source: https://simple.wikipedia.org/wiki/12-hour_clock
3
- '12:00 AM',
4
- '12:15 AM',
5
- '12:30 AM',
6
- '12:45 AM',
7
- '01:00 AM',
8
- '01:15 AM',
9
- '01:30 AM',
10
- '01:45 AM',
11
- '02:00 AM',
12
- '02:15 AM',
13
- '02:30 AM',
14
- '02:45 AM',
15
- '03:00 AM',
16
- '03:15 AM',
17
- '03:30 AM',
18
- '03:45 AM',
19
- '04:00 AM',
20
- '04:15 AM',
21
- '04:30 AM',
22
- '04:45 AM',
23
- '05:00 AM',
24
- '05:15 AM',
25
- '05:30 AM',
26
- '05:45 AM',
27
- '06:00 AM',
28
- '06:15 AM',
29
- '06:30 AM',
30
- '06:45 AM',
31
- '07:00 AM',
32
- '07:15 AM',
33
- '07:30 AM',
34
- '07:45 AM',
35
- '08:00 AM',
36
- '08:15 AM',
37
- '08:30 AM',
38
- '08:45 AM',
39
- '09:00 AM',
40
- '09:15 AM',
41
- '09:30 AM',
42
- '09:45 AM',
43
- '10:00 AM',
44
- '10:15 AM',
45
- '10:30 AM',
46
- '10:45 AM',
47
- '11:00 AM',
48
- '11:15 AM',
49
- '11:30 AM',
50
- '11:45 AM',
51
- '12:00 PM',
52
- '12:15 PM',
53
- '12:30 PM',
54
- '12:45 PM',
55
- '01:00 PM',
56
- '01:15 PM',
57
- '01:30 PM',
58
- '01:45 PM',
59
- '02:00 PM',
60
- '02:15 PM',
61
- '02:30 PM',
62
- '02:45 PM',
63
- '03:00 PM',
64
- '03:15 PM',
65
- '03:30 PM',
66
- '03:45 PM',
67
- '04:00 PM',
68
- '04:15 PM',
69
- '04:30 PM',
70
- '04:45 PM',
71
- '05:00 PM',
72
- '05:15 PM',
73
- '05:30 PM',
74
- '05:45 PM',
75
- '06:00 PM',
76
- '06:15 PM',
77
- '06:30 PM',
78
- '06:45 PM',
79
- '07:00 PM',
80
- '07:15 PM',
81
- '07:30 PM',
82
- '07:45 PM',
83
- '08:00 PM',
84
- '08:15 PM',
85
- '08:30 PM',
86
- '08:45 PM',
87
- '09:00 PM',
88
- '09:15 PM',
89
- '09:30 PM',
90
- '09:45 PM',
91
- '10:00 PM',
92
- '10:15 PM',
93
- '10:30 PM',
94
- '10:45 PM',
95
- '11:00 PM',
96
- '11:15 PM',
97
- '11:30 PM',
98
- '11:45 PM',
2
+ // Source: https://simple.wikipedia.org/wiki/24-hour_clock
3
+ '00:00',
4
+ '00:15',
5
+ '00:30',
6
+ '00:45',
7
+ '01:00',
8
+ '01:15',
9
+ '01:30',
10
+ '01:45',
11
+ '02:00',
12
+ '02:15',
13
+ '02:30',
14
+ '02:45',
15
+ '03:00',
16
+ '03:15',
17
+ '03:30',
18
+ '03:45',
19
+ '04:00',
20
+ '04:15',
21
+ '04:30',
22
+ '04:45',
23
+ '05:00',
24
+ '05:15',
25
+ '05:30',
26
+ '05:45',
27
+ '06:00',
28
+ '06:15',
29
+ '06:30',
30
+ '06:45',
31
+ '07:00',
32
+ '07:15',
33
+ '07:30',
34
+ '07:45',
35
+ '08:00',
36
+ '08:15',
37
+ '08:30',
38
+ '08:45',
39
+ '09:00',
40
+ '09:15',
41
+ '09:30',
42
+ '09:45',
43
+ '10:00',
44
+ '10:15',
45
+ '10:30',
46
+ '10:45',
47
+ '11:00',
48
+ '11:15',
49
+ '11:30',
50
+ '11:45',
51
+ '12:00',
52
+ '12:15',
53
+ '12:30',
54
+ '12:45',
55
+ '13:00',
56
+ '13:15',
57
+ '13:30',
58
+ '13:45',
59
+ '14:00',
60
+ '14:15',
61
+ '14:30',
62
+ '14:45',
63
+ '15:00',
64
+ '15:15',
65
+ '15:30',
66
+ '15:45',
67
+ '16:00',
68
+ '16:15',
69
+ '16:30',
70
+ '16:45',
71
+ '17:00',
72
+ '17:15',
73
+ '17:30',
74
+ '17:45',
75
+ '18:00',
76
+ '18:15',
77
+ '18:30',
78
+ '18:45',
79
+ '19:00',
80
+ '19:15',
81
+ '19:30',
82
+ '19:45',
83
+ '20:00',
84
+ '20:15',
85
+ '20:30',
86
+ '20:45',
87
+ '21:00',
88
+ '21:15',
89
+ '21:30',
90
+ '21:45',
91
+ '22:00',
92
+ '22:15',
93
+ '22:30',
94
+ '22:45',
95
+ '23:00',
96
+ '23:15',
97
+ '23:30',
98
+ '23:45',
99
99
  ];
100
100
  //# sourceMappingURL=consts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../src/Calendar/helpers/consts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,0DAA0D;IAC1D,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;IACV,UAAU;CACX,CAAA"}
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../src/Calendar/helpers/consts.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,0DAA0D;IAC1D,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;IACP,OAAO;CACR,CAAA"}
package/lib/Card.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { FC, ReactNode } from 'react';
2
2
  import { DataTestProp } from '@hazelcast/helpers';
3
3
  import { IconProps } from './Icon';
4
- export declare type CardProps = {
4
+ export type CardProps = {
5
5
  headingIcon?: IconProps['icon'];
6
6
  caption?: ReactNode;
7
7
  title?: string;
package/lib/Card.js CHANGED
@@ -11,9 +11,9 @@ import styles from './Card.module.scss';
11
11
  */
12
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
13
  caption && React.createElement("div", { className: styles.caption }, caption),
14
- title && (React.createElement("div", { "data-test": "card-heading", className: cn(styles.heading, headerClassName) },
14
+ (title || headingContent || headingIcon) && (React.createElement("div", { "data-test": "card-heading", className: cn(styles.heading, headerClassName) },
15
15
  headingIcon && React.createElement(Icon, { "data-test": "card-heading-icon", icon: headingIcon, className: cn(styles.icon, iconClassName), ariaHidden: true }),
16
- React.createElement("h3", { "data-test": "card-heading-title", className: cn(styles.title, { [styles.space]: !!headingContent }, titleClassName) }, title),
16
+ title && (React.createElement("h3", { "data-test": "card-heading-title", className: cn(styles.title, { [styles.space]: !!headingContent }, titleClassName) }, title)),
17
17
  headingContent)),
18
18
  separator && React.createElement("div", { "data-test": "card-separator", className: styles.separator }),
19
19
  children && (React.createElement("div", { "data-test": "card-content", className: cn(styles.content, contentClassName) }, children))));
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;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"}
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,CAAC,KAAK,IAAI,cAAc,IAAI,WAAW,CAAC,IAAI,CAC3C,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;QAC9H,KAAK,IAAI,CACR,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,CACN;QACA,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"}
@@ -4,9 +4,9 @@
4
4
  $padding: c.$grid * 5;
5
5
 
6
6
  padding: $padding;
7
- box-shadow: 0 c.$cardShadowSize c.$cardShadowBlur 0 c.$colorShadow;
8
7
  border-radius: c.$borderRadius;
9
8
  background: c.$colorNeutralWhite;
9
+ border: c.$borderWidth solid c.$colorNeutral;
10
10
 
11
11
  .heading {
12
12
  @include c.typographyH3;
@@ -0,0 +1,26 @@
1
+ import React, { CSSProperties, FC, ReactElement, ReactNode } from 'react';
2
+ import { CarouselProps as NukaCarouselProps } from 'nuka-carousel';
3
+ import { DataTestProp } from '@hazelcast/helpers';
4
+ interface ControlsConfig {
5
+ containerClassName?: string;
6
+ nextButtonClassName?: string;
7
+ nextButtonOnClick?: React.MouseEventHandler;
8
+ nextButtonStyle?: CSSProperties;
9
+ nextButtonContent?: ReactNode;
10
+ pagingDotsClassName?: string;
11
+ pagingDotsContainerClassName?: string;
12
+ pagingDotsOnClick?: React.MouseEventHandler;
13
+ pagingDotsStyle?: CSSProperties;
14
+ prevButtonClassName?: string;
15
+ prevButtonOnClick?: React.MouseEventHandler;
16
+ prevButtonStyle?: CSSProperties;
17
+ prevButtonContent?: ReactNode;
18
+ }
19
+ export type CarouselProps = {
20
+ children: ReactElement[];
21
+ color?: string;
22
+ wrapperClassName?: string;
23
+ defaultControlsConfig?: ControlsConfig;
24
+ } & Omit<NukaCarouselProps, 'defaultControlsConfig'> & DataTestProp;
25
+ export declare const Carousel: FC<CarouselProps>;
26
+ export {};