@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
package/lib/Alert.d.ts CHANGED
@@ -20,10 +20,11 @@ export declare type AlertActionLink = {
20
20
  export declare type AlertAction = AlertActionButton | AlertActionLink;
21
21
  export declare type AlertProps = {
22
22
  type: ToastType;
23
- title: string;
24
- content: ReactNode;
23
+ title?: ReactNode;
24
+ content?: ReactNode;
25
25
  actions?: AlertAction[];
26
26
  className?: string;
27
+ titleClassName?: string;
27
28
  dismissableByEscKey?: boolean;
28
29
  closeToast?: (e?: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => void;
29
30
  };
package/lib/Alert.js CHANGED
@@ -10,7 +10,7 @@ import { Icon } from './Icon';
10
10
  import { IconButton } from './IconButton';
11
11
  import styles from './Alert.module.scss';
12
12
  const isAlertActionButton = (action) => action.onClick !== undefined;
13
- export const Alert = ({ type, title, content, actions, className, dismissableByEscKey = true, closeToast }) => {
13
+ export const Alert = ({ type, title, content, actions, className, dismissableByEscKey = true, closeToast, titleClassName, }) => {
14
14
  const { icon, ariaLabel } = ToastIcon[type];
15
15
  const closeByEsc = useCallback((nativeEvent) => {
16
16
  if (dismissableByEscKey) {
@@ -25,27 +25,27 @@ export const Alert = ({ type, title, content, actions, className, dismissableByE
25
25
  [styles.warning]: type === 'warning',
26
26
  [styles.critical]: type === 'critical',
27
27
  }, className) },
28
- React.createElement("div", { className: styles.header },
29
- React.createElement(Icon, { "data-test": "alert-icon", ariaLabel: ariaLabel, icon: icon, className: styles.icon }),
30
- React.createElement("div", { "data-test": "alert-title", className: styles.title }, title),
31
- !!closeToast && React.createElement(IconButton, { "data-test": "alert-close", kind: "transparent", ariaLabel: "Close icon", icon: X, onClick: closeToast })),
32
- React.createElement("div", { "data-test": "alert-body", className: styles.body },
33
- React.createElement("div", { "data-test": "alert-content" }, content),
34
- (actions === null || actions === void 0 ? void 0 : actions.length) ? (React.createElement("div", { "data-test": "alert-actions", className: styles.actions }, actions.map((action, aI) => {
35
- if (isAlertActionButton(action)) {
36
- const { text, icon, ariaLabel, onClick } = action;
37
- const iconLeftProps = icon && ariaLabel
38
- ? {
39
- iconLeft: icon,
40
- iconLeftAriaLabel: ariaLabel,
41
- iconLeftClassName: styles.actionButtonIcon,
42
- iconLeftSize: 'small',
43
- }
44
- : {};
45
- return (React.createElement(Button, Object.assign({ key: aI, kind: "transparent", capitalize: false, className: cn(styles.action, styles.actionButton), bodyClassName: styles.actionButtonBody, onClick: onClick }, iconLeftProps), text));
46
- }
47
- const { text, href, ...props } = action;
48
- return (React.createElement(Link, Object.assign({ key: aI, href: href, icon: ChevronRight, ariaLabel: "Icon chevron right", className: styles.action, size: "small" }, props), text));
49
- }))) : null)));
28
+ React.createElement(Icon, { "data-test": "alert-icon", ariaLabel: ariaLabel, icon: icon, className: styles.icon }),
29
+ React.createElement("div", { className: styles.rightSide },
30
+ React.createElement("div", { className: styles.header },
31
+ title && (React.createElement("div", { "data-test": "alert-title", className: cn(styles.title, titleClassName) }, title)),
32
+ !!closeToast && React.createElement(IconButton, { "data-test": "alert-close", kind: "transparent", ariaLabel: "Close icon", icon: X, onClick: closeToast })),
33
+ React.createElement("div", { "data-test": "alert-body", className: styles.body },
34
+ content && React.createElement("div", { "data-test": "alert-content" }, content),
35
+ (actions === null || actions === void 0 ? void 0 : actions.length) ? (React.createElement("div", { "data-test": "alert-actions", className: styles.actions }, actions.map((action, aI) => {
36
+ if (isAlertActionButton(action)) {
37
+ const { text, icon, ariaLabel, onClick } = action;
38
+ const iconLeftProps = icon && ariaLabel
39
+ ? {
40
+ iconLeft: icon,
41
+ iconLeftAriaLabel: ariaLabel,
42
+ iconLeftClassName: styles.actionButtonIcon,
43
+ }
44
+ : {};
45
+ return (React.createElement(Button, Object.assign({ key: aI, kind: "transparent", capitalize: false, className: cn(styles.action, styles.actionButton), bodyClassName: styles.actionButtonBody, onClick: onClick }, iconLeftProps), text));
46
+ }
47
+ const { text, href, ...props } = action;
48
+ return (React.createElement(Link, Object.assign({ key: aI, href: href, icon: ChevronRight, ariaLabel: "Icon chevron right", className: styles.action, size: "small" }, props), text));
49
+ }))) : null))));
50
50
  };
51
51
  //# sourceMappingURL=Alert.js.map
package/lib/Alert.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.js","sourceRoot":"","sources":["../src/Alert.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Alert.js","sourceRoot":"","sources":["../src/Alert.tsx"],"names":[],"mappings":"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"}
@@ -3,20 +3,28 @@
3
3
 
4
4
  // TODO: potential max-height
5
5
  .alert {
6
- display: inline-block;
6
+ display: inline-flex;
7
7
  border-radius: c.$borderRadius;
8
8
  padding: c.$grid * 2.5;
9
9
  width: c.$alertWidth;
10
10
 
11
+ .icon {
12
+ flex-shrink: 0;
13
+ margin-right: c.$grid * 2.5;
14
+ }
15
+
16
+ .rightSide {
17
+ flex-grow: 1;
18
+ display: flex;
19
+ flex-direction: column;
20
+ justify-content: center;
21
+ }
22
+
11
23
  .header {
12
24
  display: flex;
13
25
  flex-direction: row;
14
26
  align-items: center;
15
27
 
16
- .icon {
17
- margin-right: c.$grid * 2.5;
18
- }
19
-
20
28
  .title {
21
29
  flex: 1 0 auto;
22
30
  margin-right: c.$grid * 8.5;
@@ -91,7 +99,7 @@
91
99
  }
92
100
 
93
101
  .body {
94
- padding: 0 c.$grid * 8.5;
102
+ padding-right: c.$grid * 8.5;
95
103
 
96
104
  @include c.typographyBodySmall;
97
105
 
@@ -5,7 +5,7 @@ export declare type AutocompleteFieldOption = {
5
5
  label: string;
6
6
  value: string;
7
7
  };
8
- export declare type RenderOptionFunction = (highlightedLabelText: ReactNode, option: AutocompleteFieldOption, labelMeta: FormatOptionLabelMeta<AutocompleteFieldOption>) => ReactNode;
8
+ export declare type RenderOptionFunction<O = AutocompleteFieldOption> = (highlightedLabelText: ReactNode, option: O extends AutocompleteFieldOption ? O : never, labelMeta: FormatOptionLabelMeta<AutocompleteFieldOption>) => ReactNode;
9
9
  export declare type AutocompleteFieldProps = {
10
10
  'data-test'?: string;
11
11
  className?: string;
@@ -19,6 +19,7 @@ export declare type AutocompleteFieldProps = {
19
19
  onChange?: (newValue: string) => void;
20
20
  onInputChange?: (newInputValue: string) => void;
21
21
  onBlur?: (e: FocusEvent<HTMLElement>) => void;
22
+ onFocus?: (e: FocusEvent<HTMLElement>) => void;
22
23
  required?: boolean;
23
24
  helperText?: HelpProps['helperText'];
24
25
  renderOption?: RenderOptionFunction;
@@ -42,19 +42,23 @@ const ClearIndicator = ({ innerProps }) => {
42
42
  return React.createElement(IconButton, Object.assign({}, innerProps, { icon: X, ariaHidden: true, kind: "primary", size: "medium", className: styles.clear, tabIndex: -1 }));
43
43
  };
44
44
  export const highlightOptionText = (labelText, inputValue) => {
45
- const customSeparator = '<%>';
45
+ const separator = '<%>';
46
46
  const query = inputValue || '';
47
- return labelText
48
- .replace(new RegExp(query, 'ig'), `${customSeparator}$&${customSeparator}`)
49
- .split(customSeparator)
50
- .filter((val) => val)
51
- .map((val, i) => (React.createElement("span", { className: cn({
52
- 'hz-autocomplete-field__matched-option-text': val.toLowerCase() === query.toLowerCase(),
53
- }), key: val + `${i}` }, val)));
47
+ return query
48
+ ? labelText
49
+ .replace(new RegExp(query, 'ig'), `${separator}$&${separator}`)
50
+ .split(separator)
51
+ .filter((val) => val)
52
+ .map((val, i) => (React.createElement("span", { className: cn({
53
+ 'hz-autocomplete-field__matched-option-text': val.toLowerCase() === query.toLowerCase(),
54
+ }), key: val + `${i}` }, val)))
55
+ : labelText;
54
56
  };
55
- export const AutocompleteField = ({ 'data-test': dataTest, className, disabled, error, errorClassName, isClearable, label, labelClassName, helperText, menuPortalTarget = 'body', name, onChange, onInputChange, options, required, value, placeholder = 'Search...', renderOption, ...rest }) => {
57
+ export const AutocompleteField = ({ 'data-test': dataTest, className, disabled, error, errorClassName, isClearable, label, labelClassName, helperText, menuPortalTarget = 'body', name, onChange, onFocus, onBlur, onInputChange, options, required, value, placeholder = 'Search...', renderOption, ...rest }) => {
58
+ // when the user clicks on an input with the value, the value should disappear,
59
+ // but then it should appear after the user selects something or blurs the input
60
+ const [isValueHidden, setValueHidden] = useState(false);
56
61
  const id = useUID();
57
- const [isMenuOpen, setMenuOpen] = useState(false);
58
62
  useIsomorphicLayoutEffect(() => {
59
63
  const menuContainer = getMenuContainer(menuPortalTarget);
60
64
  if (menuContainer && !menuContainer.className.includes(styles.menuContainer)) {
@@ -67,16 +71,21 @@ export const AutocompleteField = ({ 'data-test': dataTest, className, disabled,
67
71
  }, {}), [options]);
68
72
  const selectedOption = useMemo(() => getSelectedOptionFromValue({ value, optionsMap }), [optionsMap, value]);
69
73
  const onChangeFn = React.useCallback((option) => {
70
- ;
74
+ setValueHidden(false);
71
75
  onChange(option === null ? null : option.value);
72
76
  }, [onChange]);
73
- const onInputChangeFn = React.useCallback((value) => {
74
- // keep menu closed if no value
75
- setMenuOpen(!!value);
76
- if (onInputChange) {
77
- onInputChange(value);
77
+ const onFocusFn = React.useCallback((e) => {
78
+ if (onFocus) {
79
+ onFocus(e);
78
80
  }
79
- }, [onInputChange]);
81
+ setValueHidden(true);
82
+ }, [onFocus]);
83
+ const onBlurFn = React.useCallback((e) => {
84
+ if (onBlur) {
85
+ onBlur(e);
86
+ }
87
+ setValueHidden(false);
88
+ }, [onBlur]);
80
89
  const formatOptionLabelFn = React.useCallback((option, labelMeta) => {
81
90
  const { inputValue } = labelMeta;
82
91
  let optionText = option.label;
@@ -112,6 +121,8 @@ export const AutocompleteField = ({ 'data-test': dataTest, className, disabled,
112
121
  placeholder,
113
122
  options,
114
123
  onChange: onChangeFn,
124
+ onFocus: onFocusFn,
125
+ onBlur: onBlurFn,
115
126
  menuPortalTarget: getMenuContainer(menuPortalTarget),
116
127
  components: {
117
128
  DropdownIndicator,
@@ -121,6 +132,7 @@ export const AutocompleteField = ({ 'data-test': dataTest, className, disabled,
121
132
  ...rest,
122
133
  };
123
134
  return (React.createElement("div", { "data-test": dataTest, className: cn(styles.container, {
135
+ [styles.withError]: 'error' in props,
124
136
  [styles.disabled]: disabled,
125
137
  [styles.hasError]: error,
126
138
  [styles.empty]: !value,
@@ -131,8 +143,18 @@ export const AutocompleteField = ({ 'data-test': dataTest, className, disabled,
131
143
  styles.menuContainer, className) },
132
144
  React.createElement(Label, { id: id, label: label, className: cn(styles.label, labelClassName) }),
133
145
  React.createElement("div", { className: styles.selectBlock },
134
- React.createElement(ReactSelect, Object.assign({ menuIsOpen: isMenuOpen, onInputChange: onInputChangeFn, formatOptionLabel: formatOptionLabelFn }, props)),
146
+ React.createElement(ReactSelect, Object.assign({ onInputChange: onInputChange, formatOptionLabel: formatOptionLabelFn, openMenuOnClick: false, styles: {
147
+ ...props.styles,
148
+ singleValue: (base) => {
149
+ var _a;
150
+ return ({
151
+ ...base,
152
+ ...(_a = props.styles) === null || _a === void 0 ? void 0 : _a.singleValue,
153
+ visibility: isValueHidden ? 'hidden' : 'visible',
154
+ });
155
+ },
156
+ } }, props)),
135
157
  helperText && React.createElement(Help, { parentId: id, helperText: helperText, className: styles.helperText })),
136
- React.createElement(Error, { error: error, className: cn(styles.errorContainer, errorClassName), inputId: id })));
158
+ React.createElement(Error, { truncated: true, error: error, className: cn(styles.errorContainer, errorClassName), inputId: id })));
137
159
  };
138
160
  //# sourceMappingURL=AutocompleteField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteField.js","sourceRoot":"","sources":["../src/AutocompleteField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAyB,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvE,OAAO,WAAW,EAAE,EAAc,UAAU,EAAa,MAAM,cAAc,CAAA;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,yBAAyB,MAAM,yCAAyC,CAAA;AAC/E,OAAO,MAAM,MAAM,iCAAiC,CAAA;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,IAAI,EAAa,MAAM,QAAQ,CAAA;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAwCzC;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,EAAE,KAAK,EAAE,UAAU,EAAmC;;IAC/F,IAAI,MAAM,GAAG,IAAI,CAAA;IACjB,IAAI,KAAK,EAAE;QACT,MAAM,SAAG,UAAU,CAAC,KAAK,CAAC,mCAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;KAC7D;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,MAAM,KAAK,GAA4B,CAAC,UAAU,EAAE,EAAE;IACpD,mFAAmF;IACnF,kEAAkE;IAClE,MAAM,KAAK,GAAG;QACZ,GAAG,UAAU;QACb,YAAY,EAAE,YAAY;KAC3B,CAAA;IACD,OAAO,oBAAC,UAAU,CAAC,KAAK,oBAAK,KAAK,EAAI,CAAA;AACxC,CAAC,CAAA;AAED,MAAM,iBAAiB,GAAwC,CAAC,KAAK,EAAE,EAAE;IACvE,OAAO,CACL,oBAAC,UAAU,CAAC,iBAAiB,oBAAK,KAAK;QACrC,oBAAC,MAAM,IAAC,IAAI,EAAE,EAAE,GAAI,CACS,CAChC,CAAA;AACH,CAAC,CAAA;AAED,gCAAgC;AAChC,MAAM,cAAc,GAAqC,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE;IAC1E,mJAAmJ;IACnJ,OAAO,oBAAC,UAAU,oBAAK,UAAU,IAAE,IAAI,EAAE,CAAC,EAAE,UAAU,QAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAA;AAC/H,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAiB,EAAE,UAA8B,EAAa,EAAE;IAClG,MAAM,eAAe,GAAG,KAAK,CAAA;IAC7B,MAAM,KAAK,GAAG,UAAU,IAAI,EAAE,CAAA;IAC9B,OAAO,SAAS;SACb,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,GAAG,eAAe,KAAK,eAAe,EAAE,CAAC;SAC1E,KAAK,CAAC,eAAe,CAAC;SACtB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC;SACpB,GAAG,CAAC,CAAC,GAAW,EAAE,CAAS,EAAE,EAAE,CAAC,CAC/B,8BACE,SAAS,EAAE,EAAE,CAAC;YACZ,4CAA4C,EAAE,GAAG,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE;SACxF,CAAC,EACF,GAAG,EAAE,GAAG,GAAG,GAAG,CAAC,EAAE,IAEhB,GAAG,CACC,CACR,CAAC,CAAA;AACN,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAqC,CAAC,EAClE,WAAW,EAAE,QAAQ,EACrB,SAAS,EACT,QAAQ,EACR,KAAK,EACL,cAAc,EACd,WAAW,EACX,KAAK,EACL,cAAc,EACd,UAAU,EACV,gBAAgB,GAAG,MAAM,EACzB,IAAI,EACJ,QAAQ,EACR,aAAa,EACb,OAAO,EACP,QAAQ,EACR,KAAK,EACL,WAAW,GAAG,WAAW,EACzB,YAAY,EACZ,GAAG,IAAI,EACR,EAAE,EAAE;IACH,MAAM,EAAE,GAAG,MAAM,EAAE,CAAA;IACnB,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAU,KAAK,CAAC,CAAA;IAE1D,yBAAyB,CAAC,GAAG,EAAE;QAC7B,MAAM,aAAa,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;QAExD,IAAI,aAAa,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;YAC5E,aAAa,CAAC,SAAS,GAAG,GAAG,aAAa,CAAC,SAAS,IAAI,MAAM,CAAC,aAAa,EAAE,CAAA;SAC/E;IACH,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAA;IAEtB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAC9B,GAAG,EAAE,CACH,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;QAC7B,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,MAAM,CAAA;QAC/B,OAAO,GAAG,CAAA;IACZ,CAAC,EAAE,EAAgD,CAAC,EACtD,CAAC,OAAO,CAAC,CACV,CAAA;IAED,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,0BAA0B,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;IAE5G,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,CAClC,CAAC,MAAsC,EAAE,EAAE;QACzC,CAAC;QAAC,QAA8C,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACzF,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAA;IAED,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,CACvC,CAAC,KAAK,EAAE,EAAE;QACR,+BAA+B;QAC/B,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QACpB,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,KAAK,CAAC,CAAA;SACrB;IACH,CAAC,EACD,CAAC,aAAa,CAAC,CAChB,CAAA;IAED,MAAM,mBAAmB,GAAG,KAAK,CAAC,WAAW,CAC3C,CAAC,MAA+B,EAAE,SAAyD,EAAE,EAAE;QAC7F,MAAM,EAAE,UAAU,EAAE,GAAG,SAAS,CAAA;QAChC,IAAI,UAAU,GAAc,MAAM,CAAC,KAAK,CAAA;QACxC,IAAI,UAAU,EAAE;YACd,UAAU,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,UAAU,CAAC,CAAA;SAC3D;QACD,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAA;IAChF,CAAC,EACD,CAAC,YAAY,CAAC,CACf,CAAA;IAED,MAAM,gBAAgB,GAAG,CAAC,gBAAsD,EAAkC,EAAE;QAClH,IAAI,gBAAgB,IAAI,MAAM,EAAE;YAC9B,0CAA0C;YAC1C,OAAO,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;SAC7C;QACD,IAAI,gBAAgB,IAAI,MAAM,EAAE;YAC9B,OAAO,SAAS,CAAA;SACjB;QACD,OAAO,gBAAgB,CAAA;IACzB,CAAC,CAAA;IAED,MAAM,KAAK,GAA8C;QACvD,OAAO,EAAE,EAAE;QACX,SAAS,EAAE,uBAAuB;QAClC,eAAe,EAAE,uBAAuB;QACxC,mHAAmH;QACnH,mBAAmB,EAAE,KAAK,IAAI,OAAO,CAAC,EAAE,CAAC;QACzC,cAAc,EAAE,CAAC,CAAC,KAAK;QACvB,eAAe,EAAE,QAAQ;QACzB,WAAW,EAAE,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,KAAK;QACjC,UAAU,EAAE,QAAQ;QACpB,YAAY,EAAE,IAAI;QAClB,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,cAAc;QACrB,WAAW;QACX,OAAO;QACP,QAAQ,EAAE,UAA8G;QACxH,gBAAgB,EAAE,gBAAgB,CAAC,gBAAgB,CAAC;QACpD,UAAU,EAAE;YACV,iBAAiB;YACjB,cAAc;YACd,KAAK;SACN;QACD,GAAG,IAAI;KACR,CAAA;IAED,OAAO,CACL,0CACa,QAAQ,EACnB,SAAS,EAAE,EAAE,CACX,MAAM,CAAC,SAAS,EAChB;YACE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;YAC3B,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK;YACxB,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK;SACvB;QACD,mEAAmE;QACnE,uHAAuH;QACvH,4GAA4G;QAC5G,MAAM,CAAC,aAAa,EACpB,SAAS,CACV;QAED,oBAAC,KAAK,IAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,GAAI;QAC5E,6BAAK,SAAS,EAAE,MAAM,CAAC,WAAW;YAChC,oBAAC,WAAW,kBACV,UAAU,EAAE,UAAU,EACtB,aAAa,EAAE,eAAe,EAC9B,iBAAiB,EAAE,mBAAmB,IAClC,KAAK,EACT;YACD,UAAU,IAAI,oBAAC,IAAI,IAAC,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,CAAC,UAAU,GAAI,CACvF;QACN,oBAAC,KAAK,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,cAAc,CAAC,EAAE,OAAO,EAAE,EAAE,GAAI,CACtF,CACP,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"AutocompleteField.js","sourceRoot":"","sources":["../src/AutocompleteField.tsx"],"names":[],"mappings":"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"}
@@ -12,10 +12,6 @@ $select: ':global .hz-autocomplete-field__control';
12
12
  margin-bottom: c.$grid;
13
13
  }
14
14
 
15
- .errorContainer {
16
- margin-top: c.$grid;
17
- }
18
-
19
15
  .helperText {
20
16
  margin-left: c.$grid * 1.5;
21
17
  display: block;
@@ -148,3 +144,5 @@ $select: ':global .hz-autocomplete-field__control';
148
144
  }
149
145
  }
150
146
  }
147
+
148
+ @include h.withError;
@@ -3,6 +3,7 @@ import { AutocompleteFieldProps } from './AutocompleteField';
3
3
  import { FieldValidatorGeneric } from './utils/formik';
4
4
  declare type AutocompleteFieldFormikProps = AutocompleteFieldProps & {
5
5
  validate?: FieldValidatorGeneric<string | null>;
6
+ onChange?: (value: string | null) => void;
6
7
  };
7
- export declare const AutocompleteFieldFormik: ({ name, validate, ...props }: AutocompleteFieldFormikProps) => ReactElement;
8
+ export declare const AutocompleteFieldFormik: ({ name, validate, onChange, ...props }: AutocompleteFieldFormikProps) => ReactElement;
8
9
  export {};
@@ -1,13 +1,19 @@
1
- import React, { useMemo } from 'react';
1
+ import React, { useCallback, useMemo } from 'react';
2
2
  import { useField } from 'formik';
3
3
  import { AutocompleteField } from './AutocompleteField';
4
4
  import { formikTouchAndUpdate, getFieldError } from './utils/formik';
5
- export const AutocompleteFieldFormik = ({ name, validate, ...props }) => {
6
- const [field, meta, { setValue, setTouched }] = useField({
5
+ export const AutocompleteFieldFormik = ({ name, validate, onChange, ...props }) => {
6
+ const [{ value, onBlur }, meta, { setValue, setTouched }] = useField({
7
7
  name,
8
8
  validate,
9
9
  });
10
- const onChange = useMemo(() => formikTouchAndUpdate(setValue, setTouched), [setValue, setTouched]);
11
- return (React.createElement(AutocompleteField, Object.assign({}, props, { value: field.value, onChange: onChange, name: name, onBlur: field.onBlur, error: getFieldError(meta) })));
10
+ const setFormikValue = useMemo(() => formikTouchAndUpdate(setValue, setTouched), [setValue, setTouched]);
11
+ const handleChange = useCallback((newValue) => {
12
+ if (onChange) {
13
+ onChange(newValue);
14
+ }
15
+ setFormikValue(newValue);
16
+ }, [setFormikValue, onChange]);
17
+ return React.createElement(AutocompleteField, Object.assign({}, props, { value: value, onChange: handleChange, name: name, onBlur: onBlur, error: getFieldError(meta) }));
12
18
  };
13
19
  //# sourceMappingURL=AutocompleteFieldFormik.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AutocompleteFieldFormik.js","sourceRoot":"","sources":["../src/AutocompleteFieldFormik.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAgB,OAAO,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjC,OAAO,EAAE,iBAAiB,EAA0B,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAyB,oBAAoB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAM3F,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAgC,EAAgB,EAAE;IAClH,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,GAAG,QAAQ,CAAgB;QACtE,IAAI;QACJ,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAgB,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAEjH,OAAO,CACL,oBAAC,iBAAiB,oBAAK,KAAK,IAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CACvI,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"AutocompleteFieldFormik.js","sourceRoot":"","sources":["../src/AutocompleteFieldFormik.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAgB,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjC,OAAO,EAAE,iBAAiB,EAA0B,MAAM,qBAAqB,CAAA;AAC/E,OAAO,EAAyB,oBAAoB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAO3F,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAgC,EAAgB,EAAE;IAC5H,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,GAAG,QAAQ,CAAgB;QAClF,IAAI;QACJ,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAgB,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IACvH,MAAM,YAAY,GAAG,WAAW,CAC9B,CAAC,QAAgB,EAAE,EAAE;QACnB,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,QAAQ,CAAC,CAAA;SACnB;QAED,cAAc,CAAC,QAAQ,CAAC,CAAA;IAC1B,CAAC,EACD,CAAC,cAAc,EAAE,QAAQ,CAAC,CAC3B,CAAA;IAED,OAAO,oBAAC,iBAAiB,oBAAK,KAAK,IAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAA;AACvI,CAAC,CAAA"}