@hazelcast/ui 1.0.3 → 1.2.1-next.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/lib/Alert.d.ts +3 -2
  2. package/lib/Alert.js +23 -23
  3. package/lib/Alert.js.map +1 -1
  4. package/lib/Alert.module.scss +14 -6
  5. package/lib/AutocompleteField.d.ts +2 -1
  6. package/lib/AutocompleteField.js +45 -22
  7. package/lib/AutocompleteField.js.map +1 -1
  8. package/lib/AutocompleteField.module.scss +3 -5
  9. package/lib/AutocompleteFieldFormik.d.ts +2 -1
  10. package/lib/AutocompleteFieldFormik.js +11 -5
  11. package/lib/AutocompleteFieldFormik.js.map +1 -1
  12. package/lib/Button.d.ts +9 -322
  13. package/lib/Button.js +44 -15
  14. package/lib/Button.js.map +1 -1
  15. package/lib/Button.module.scss +120 -87
  16. package/lib/Calendar/Calendar.d.ts +1 -1
  17. package/lib/Calendar/Calendar.js +8 -3
  18. package/lib/Calendar/Calendar.js.map +1 -1
  19. package/lib/Calendar/Calendar.module.scss +134 -123
  20. package/lib/Calendar/components/CalendarInput.js +2 -2
  21. package/lib/Calendar/components/CalendarInput.js.map +1 -1
  22. package/lib/Calendar/components/CalendarTime.js +2 -2
  23. package/lib/Calendar/components/CalendarTime.js.map +1 -1
  24. package/lib/Calendar/components/CalendarTime.module.scss +2 -0
  25. package/lib/Card.d.ts +1 -0
  26. package/lib/Card.js +4 -3
  27. package/lib/Card.js.map +1 -1
  28. package/lib/Card.module.scss +16 -4
  29. package/lib/Checkbox.d.ts +2 -2
  30. package/lib/Checkbox.js +7 -4
  31. package/lib/Checkbox.js.map +1 -1
  32. package/lib/Checkbox.module.scss +17 -6
  33. package/lib/CheckboxFormik.d.ts +2 -1
  34. package/lib/CheckboxFormik.js +9 -4
  35. package/lib/CheckboxFormik.js.map +1 -1
  36. package/lib/CodeEditor.d.ts +3 -2
  37. package/lib/CodeEditor.js +4 -3
  38. package/lib/CodeEditor.js.map +1 -1
  39. package/lib/CodeEditor.module.scss +5 -2
  40. package/lib/CodeEditorFormik.js +2 -2
  41. package/lib/CodeEditorFormik.js.map +1 -1
  42. package/lib/Dialog.js +5 -2
  43. package/lib/Dialog.js.map +1 -1
  44. package/lib/Dialog.module.scss +3 -0
  45. package/lib/EmptyState.d.ts +6 -4
  46. package/lib/EmptyState.js +4 -6
  47. package/lib/EmptyState.js.map +1 -1
  48. package/lib/EmptyState.module.scss +1 -1
  49. package/lib/Error.d.ts +3 -0
  50. package/lib/Error.js +2 -1
  51. package/lib/Error.js.map +1 -1
  52. package/lib/FieldHeader.d.ts +20 -0
  53. package/lib/FieldHeader.js +15 -0
  54. package/lib/FieldHeader.js.map +1 -0
  55. package/lib/FieldHeader.module.scss +20 -0
  56. package/lib/Icon.d.ts +2 -35
  57. package/lib/Icon.js +1 -1
  58. package/lib/Icon.js.map +1 -1
  59. package/lib/Icon.module.scss +5 -0
  60. package/lib/IconButton.d.ts +4 -158
  61. package/lib/IconButton.js +3 -3
  62. package/lib/IconButton.js.map +1 -1
  63. package/lib/InteractiveList.d.ts +3 -3
  64. package/lib/InteractiveList.js +2 -3
  65. package/lib/InteractiveList.js.map +1 -1
  66. package/lib/InteractiveList.module.scss +1 -0
  67. package/lib/InteractiveListFormik.js +5 -4
  68. package/lib/InteractiveListFormik.js.map +1 -1
  69. package/lib/Link.d.ts +1 -65
  70. package/lib/Link.js +3 -4
  71. package/lib/Link.js.map +1 -1
  72. package/lib/Link.module.scss +7 -0
  73. package/lib/Loader.js +2 -2
  74. package/lib/Loader.js.map +1 -1
  75. package/lib/Loader.module.scss +10 -1
  76. package/lib/Modal.js +3 -3
  77. package/lib/Modal.js.map +1 -1
  78. package/lib/Modal.module.scss +1 -0
  79. package/lib/Notification.module.scss +1 -0
  80. package/lib/NumberField.d.ts +1 -0
  81. package/lib/NumberField.js +27 -11
  82. package/lib/NumberField.js.map +1 -1
  83. package/lib/NumberField.module.scss +40 -3
  84. package/lib/NumberFieldFormik.d.ts +2 -1
  85. package/lib/NumberFieldFormik.js +7 -4
  86. package/lib/NumberFieldFormik.js.map +1 -1
  87. package/lib/Overlay.d.ts +3 -2
  88. package/lib/Overlay.js +7 -5
  89. package/lib/Overlay.js.map +1 -1
  90. package/lib/Overlay.module.scss +18 -3
  91. package/lib/Pagination.d.ts +0 -4
  92. package/lib/Pagination.js +19 -17
  93. package/lib/Pagination.js.map +1 -1
  94. package/lib/Pagination.module.scss +7 -4
  95. package/lib/PasswordField.js +2 -2
  96. package/lib/PasswordField.js.map +1 -1
  97. package/lib/PasswordFieldFormik.d.ts +2 -1
  98. package/lib/PasswordFieldFormik.js +9 -4
  99. package/lib/PasswordFieldFormik.js.map +1 -1
  100. package/lib/Popover.d.ts +21 -0
  101. package/lib/Popover.js +77 -0
  102. package/lib/Popover.js.map +1 -0
  103. package/lib/Popover.module.scss +12 -0
  104. package/lib/Radio.d.ts +2 -2
  105. package/lib/Radio.js +4 -2
  106. package/lib/Radio.js.map +1 -1
  107. package/lib/Radio.module.scss +3 -0
  108. package/lib/RadioFormik.js +1 -1
  109. package/lib/RadioFormik.js.map +1 -1
  110. package/lib/RadioGroup.js +4 -3
  111. package/lib/RadioGroup.js.map +1 -1
  112. package/lib/RadioGroup.module.scss +1 -4
  113. package/lib/RadioGroupFormik.d.ts +2 -1
  114. package/lib/RadioGroupFormik.js +9 -4
  115. package/lib/RadioGroupFormik.js.map +1 -1
  116. package/lib/SegmentedControl.d.ts +8 -8
  117. package/lib/SegmentedControl.js.map +1 -1
  118. package/lib/SegmentedControl.module.scss +4 -2
  119. package/lib/SegmentedControlFormik.d.ts +4 -4
  120. package/lib/SegmentedControlFormik.js +1 -1
  121. package/lib/SegmentedControlFormik.js.map +1 -1
  122. package/lib/Select/CheckableSelectField.d.ts +34 -0
  123. package/lib/Select/CheckableSelectField.js +65 -0
  124. package/lib/Select/CheckableSelectField.js.map +1 -0
  125. package/lib/Select/CheckableSelectField.module.scss +87 -0
  126. package/lib/Select/CheckableSelectFieldFormik.d.ts +10 -0
  127. package/lib/Select/CheckableSelectFieldFormik.js +19 -0
  128. package/lib/Select/CheckableSelectFieldFormik.js.map +1 -0
  129. package/lib/Select/Common.d.ts +11 -0
  130. package/lib/Select/Common.js +44 -0
  131. package/lib/Select/Common.js.map +1 -0
  132. package/lib/Select/Common.module.scss +56 -0
  133. package/lib/Select/MultiSelectField.d.ts +28 -0
  134. package/lib/Select/MultiSelectField.js +108 -0
  135. package/lib/Select/MultiSelectField.js.map +1 -0
  136. package/lib/Select/MultiSelectField.module.scss +72 -0
  137. package/lib/Select/MultiSelectFieldFormik.d.ts +10 -0
  138. package/lib/Select/MultiSelectFieldFormik.js +19 -0
  139. package/lib/Select/MultiSelectFieldFormik.js.map +1 -0
  140. package/lib/Select/SelectField.d.ts +42 -0
  141. package/lib/Select/SelectField.js +87 -0
  142. package/lib/Select/SelectField.js.map +1 -0
  143. package/lib/Select/SelectField.module.scss +191 -0
  144. package/lib/Select/SelectFieldFormik.d.ts +10 -0
  145. package/lib/Select/SelectFieldFormik.js +19 -0
  146. package/lib/Select/SelectFieldFormik.js.map +1 -0
  147. package/lib/Select/helpers.d.ts +10 -0
  148. package/lib/Select/helpers.js +29 -0
  149. package/lib/Select/helpers.js.map +1 -0
  150. package/lib/Select/index.d.ts +7 -0
  151. package/lib/Select/index.js +8 -0
  152. package/lib/Select/index.js.map +1 -0
  153. package/lib/SimpleTable.d.ts +11 -0
  154. package/lib/SimpleTable.js +26 -0
  155. package/lib/SimpleTable.js.map +1 -0
  156. package/lib/SimpleTable.module.scss +28 -0
  157. package/lib/Slider.d.ts +6 -5
  158. package/lib/Slider.js +35 -17
  159. package/lib/Slider.js.map +1 -1
  160. package/lib/Slider.module.scss +13 -9
  161. package/lib/SliderFormik.d.ts +1 -1
  162. package/lib/SliderFormik.js +1 -1
  163. package/lib/SliderFormik.js.map +1 -1
  164. package/lib/Table/Cell.module.scss +11 -4
  165. package/lib/Table/EnhancedRenderers.d.ts +0 -7
  166. package/lib/Table/EnhancedRenderers.js +3 -14
  167. package/lib/Table/EnhancedRenderers.js.map +1 -1
  168. package/lib/Table/Header.js +9 -3
  169. package/lib/Table/Header.js.map +1 -1
  170. package/lib/Table/Header.module.scss +29 -35
  171. package/lib/Table/Row.js +2 -7
  172. package/lib/Table/Row.js.map +1 -1
  173. package/lib/Table/Row.module.scss +4 -10
  174. package/lib/Table/Table.d.ts +11 -4
  175. package/lib/Table/Table.js +75 -34
  176. package/lib/Table/Table.js.map +1 -1
  177. package/lib/Table/Table.module.scss +5 -5
  178. package/lib/Tabs/Tab.d.ts +9 -1
  179. package/lib/Tabs/Tab.js +5 -2
  180. package/lib/Tabs/Tab.js.map +1 -1
  181. package/lib/Tabs/Tab.module.scss +5 -1
  182. package/lib/Tabs/TabList.js +2 -1
  183. package/lib/Tabs/TabList.js.map +1 -1
  184. package/lib/Tabs/index.d.ts +4 -4
  185. package/lib/Tabs/index.js +4 -4
  186. package/lib/Tabs/index.js.map +1 -1
  187. package/lib/Terminal.js +3 -3
  188. package/lib/Terminal.js.map +1 -1
  189. package/lib/Terminal.module.scss +1 -0
  190. package/lib/TextArea.d.ts +4 -5
  191. package/lib/TextArea.js +9 -9
  192. package/lib/TextArea.js.map +1 -1
  193. package/lib/TextArea.module.scss +19 -10
  194. package/lib/TextAreaFormik.js +1 -1
  195. package/lib/TextAreaFormik.js.map +1 -1
  196. package/lib/TextField.d.ts +13 -23
  197. package/lib/TextField.js +27 -12
  198. package/lib/TextField.js.map +1 -1
  199. package/lib/TextField.module.scss +36 -34
  200. package/lib/TextFieldFormik.d.ts +4 -2
  201. package/lib/TextFieldFormik.js +15 -4
  202. package/lib/TextFieldFormik.js.map +1 -1
  203. package/lib/TimeField.d.ts +2 -11
  204. package/lib/TimeField.js +8 -7
  205. package/lib/TimeField.js.map +1 -1
  206. package/lib/TimeField.module.scss +6 -6
  207. package/lib/TimeFieldFormik.js +1 -1
  208. package/lib/TimeFieldFormik.js.map +1 -1
  209. package/lib/Toast.js.map +1 -1
  210. package/lib/Toggle.js +4 -3
  211. package/lib/Toggle.js.map +1 -1
  212. package/lib/Toggle.module.scss +23 -19
  213. package/lib/ToggleFormik.js +1 -1
  214. package/lib/ToggleFormik.js.map +1 -1
  215. package/lib/Tooltip.d.ts +9 -2
  216. package/lib/Tooltip.js +87 -27
  217. package/lib/Tooltip.js.map +1 -1
  218. package/lib/Tooltip.module.scss +10 -5
  219. package/lib/TruncatedText.d.ts +6 -3
  220. package/lib/TruncatedText.js +2 -2
  221. package/lib/TruncatedText.js.map +1 -1
  222. package/lib/hooks/index.d.ts +5 -0
  223. package/lib/hooks/index.js +7 -0
  224. package/lib/hooks/index.js.map +1 -0
  225. package/lib/hooks/useIsMounted.d.ts +1 -0
  226. package/lib/hooks/useIsMounted.js +12 -0
  227. package/lib/hooks/useIsMounted.js.map +1 -0
  228. package/lib/hooks/useOnClickOutside.d.ts +8 -0
  229. package/lib/hooks/useOnClickOutside.js +24 -0
  230. package/lib/hooks/useOnClickOutside.js.map +1 -0
  231. package/lib/hooks/useOpenCloseState.d.ts +6 -0
  232. package/lib/hooks/useOpenCloseState.js +14 -0
  233. package/lib/hooks/useOpenCloseState.js.map +1 -0
  234. package/lib/hooks/usePrevious.d.ts +1 -0
  235. package/lib/hooks/usePrevious.js +9 -0
  236. package/lib/hooks/usePrevious.js.map +1 -0
  237. package/lib/hooks/useRefValue.d.ts +1 -0
  238. package/lib/hooks/useRefValue.js +9 -0
  239. package/lib/hooks/useRefValue.js.map +1 -0
  240. package/lib/hooks/useTableCustomizableColumns.d.ts +9 -0
  241. package/lib/hooks/useTableCustomizableColumns.js +23 -0
  242. package/lib/hooks/useTableCustomizableColumns.js.map +1 -0
  243. package/lib/index.d.ts +55 -53
  244. package/lib/index.js +55 -53
  245. package/lib/index.js.map +1 -1
  246. package/lib/utils/test.d.ts +1 -0
  247. package/lib/utils/test.js +8 -0
  248. package/lib/utils/test.js.map +1 -0
  249. package/package.json +57 -50
  250. package/styles/constants/_animations.scss +0 -1
  251. package/styles/constants/_colors.scss +1 -10
  252. package/styles/constants/_sizes.scss +8 -26
  253. package/styles/constants/_typography.scss +21 -10
  254. package/styles/constants/export.module.scss +1 -1
  255. package/styles/fonts.css +14 -65
  256. package/styles/helpers/_a11y.scss +8 -1
  257. package/styles/helpers/_error.scss +17 -0
  258. package/styles/helpers/_index.scss +1 -0
  259. package/styles/helpers/_input.scss +1 -1
  260. package/lib/Calendar/components/CalendarHeader.tsx +0 -45
  261. package/lib/Calendar/components/CalendarInput.tsx +0 -50
  262. package/lib/Calendar/components/CalendarTime.tsx +0 -116
  263. package/lib/Calendar/helpers/consts.ts +0 -99
  264. package/lib/SelectField.d.ts +0 -81
  265. package/lib/SelectField.js +0 -196
  266. package/lib/SelectField.js.map +0 -1
  267. package/lib/SelectField.module.scss +0 -251
  268. package/lib/SelectFieldFormik.d.ts +0 -20
  269. package/lib/SelectFieldFormik.js +0 -19
  270. package/lib/SelectFieldFormik.js.map +0 -1
@@ -1,196 +0,0 @@
1
- import React, { useMemo } from 'react';
2
- import cn from 'classnames';
3
- import ReactSelect, { components } from 'react-select';
4
- import ReactSelectCreatable from 'react-select/creatable';
5
- import { ChevronDown, X } from 'react-feather';
6
- import useIsomorphicLayoutEffect from 'react-use/lib/useIsomorphicLayoutEffect';
7
- import { useUID } from 'react-uid';
8
- import { Error, errorId } from './Error';
9
- import { Label } from './Label';
10
- import { Help } from './Help';
11
- import { Icon } from './Icon';
12
- import { IconButton } from './IconButton';
13
- import { canUseDOM } from './utils/ssr';
14
- import styles from './SelectField.module.scss';
15
- const isRenderMenuFooterFunction = (fn) => typeof fn === 'function';
16
- const DropdownIndicator = () => React.createElement(Icon, { icon: ChevronDown, ariaHidden: true, size: "medium", className: styles.chevron });
17
- // innerProps set event handling
18
- const ClearIndicator = ({ innerProps }) => {
19
- // Visually impaired people will use the keyboard (backspace) to remove the value. We do not want to confuse them by allowing to focus this button.
20
- return React.createElement(IconButton, Object.assign({}, innerProps, { icon: X, ariaHidden: true, kind: "primary", size: "medium", className: styles.clear, tabIndex: -1 }));
21
- };
22
- const Input = (innerProps) => {
23
- // autoComplete='off' is hard-coded inside SelectField, but doesn't work in Chrome.
24
- // Having an invalid value hard-coded disabled it in all browsers.
25
- const props = {
26
- ...innerProps,
27
- autoComplete: 'chrome-off',
28
- };
29
- return React.createElement(components.Input, Object.assign({}, props));
30
- };
31
- // This component is implemented because we want to style things with the css (as opposed to the react-select
32
- // recommended way of styling things via js).
33
- //
34
- // We simply inject `.multiValueIsFocused`.
35
- const MultiValue = (props) => {
36
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
37
- props.components.Remove = MultiValueRemove;
38
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
39
- props.components.Label = MultiValueLabel;
40
- return React.createElement(components.MultiValue, Object.assign({}, props, { className: cn(styles.multiValue, { [styles.multiValueIsFocused]: props.isFocused }) }));
41
- };
42
- // Self styled version of the MultiValue/Label
43
- const MultiValueLabel = (props) => {
44
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment
45
- const children = props.children;
46
- return React.createElement("div", { className: cn(styles.multiValueLabel) },
47
- " ",
48
- children,
49
- " ");
50
- };
51
- // Self styled version of the MultiValue/Remove button
52
- const MultiValueRemove = (props) => {
53
- // We have to pass down the onClick
54
- // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-assignment
55
- const onClick = props.innerProps.onClick;
56
- const handleMouseDown = (event) => {
57
- // prevent opening the dropdown
58
- event.preventDefault();
59
- event.stopPropagation();
60
- };
61
- const handleClick = (event) => {
62
- event.button === 0 && onClick && onClick(event);
63
- };
64
- return (
65
- // eslint-disable-next-line jsx-a11y/click-events-have-key-events
66
- React.createElement("div", { className: cn(styles.multiValueRemove), onClick: handleClick, onMouseDown: handleMouseDown, role: "button", tabIndex: -1, "aria-label": "Remove" },
67
- React.createElement(Icon, { icon: X, size: "small", ariaHidden: true })));
68
- };
69
- const MenuList = (props) => {
70
- const { renderMenuFooter } = props.selectProps;
71
- return (React.createElement(React.Fragment, null,
72
- React.createElement(components.MenuList, Object.assign({}, props), props.children),
73
- isRenderMenuFooterFunction(renderMenuFooter) && renderMenuFooter()));
74
- };
75
- function isSimpleOption(option) {
76
- return !!option.value;
77
- }
78
- function isOptionsGroup(option) {
79
- return !!option.options;
80
- }
81
- function isMultipleModeGuard(value, isMultiple) {
82
- return isMultiple;
83
- }
84
- const getMenuContainer = (menuPortalTarget) => {
85
- if (menuPortalTarget == 'body') {
86
- // There is no document is SSR environment
87
- return canUseDOM ? document.body : undefined;
88
- }
89
- if (menuPortalTarget == 'self') {
90
- return undefined;
91
- }
92
- return menuPortalTarget;
93
- };
94
- /**
95
- * Transforms the value passed to our Select component so that it's in a format as underlying react-select expects
96
- * @param value - single value or an array of values
97
- * @param optionsMap - an object where option values are mapped to react-select expected objects
98
- * @param isMulti - boolean indicating whether we're in a multiple mode or not
99
- */
100
- export function getSelectedOptionFromValue({ value, optionsMap, isMulti, }) {
101
- var _a;
102
- if (isMultipleModeGuard(value, isMulti)) {
103
- // if it's multi value, let's transform a value array to an array containing SelectFieldOptions
104
- return value.map((val) => { var _a; return (_a = optionsMap[val]) !== null && _a !== void 0 ? _a : { value: val, label: val }; });
105
- }
106
- else {
107
- if (value === null) {
108
- return null;
109
- }
110
- return (_a = optionsMap[value]) !== null && _a !== void 0 ? _a : { value: value, label: value };
111
- }
112
- }
113
- export const SelectField = ({ 'data-test': dataTest, className, disabled, error, errorClassName, helperText, isClearable, isCreatable = false, isMulti = false, isSearchable = true, label, labelClassName, showAriaLabel = false, menuPortalTarget = 'body', menuPlacement = 'auto', name, onChange, options, placeholder, required, value, formatGroupLabel, formatOptionLabel, renderMenuFooter, ...iconAndRest }) => {
114
- const id = useUID();
115
- const { iconLeft, iconLeftAriaLabel, iconLeftClassName, iconLeftContainerClassName, ...rest } = iconAndRest;
116
- useIsomorphicLayoutEffect(() => {
117
- const menuContainer = getMenuContainer(menuPortalTarget);
118
- if (menuContainer && !menuContainer.className.includes(styles.menuContainer)) {
119
- menuContainer.className = `${menuContainer.className} ${styles.menuContainer}`;
120
- }
121
- }, [menuPortalTarget]);
122
- const optionsMap = React.useMemo(() =>
123
- // need this type assertion because of the TS issue https://github.com/microsoft/TypeScript/issues/7294
124
- options.reduce((acc, optionOrGroup) => {
125
- // if it's a simple non-group option
126
- if (isSimpleOption(optionOrGroup)) {
127
- acc[optionOrGroup.value] = optionOrGroup;
128
- // else it's a group option
129
- }
130
- else if (isOptionsGroup(optionOrGroup)) {
131
- optionOrGroup.options.reduce((innerAcc, option) => {
132
- innerAcc[option.value] = option;
133
- return innerAcc;
134
- }, acc);
135
- }
136
- return acc;
137
- }, {}), [options]);
138
- const onChangeMultipleFn = React.useCallback((values) => {
139
- ;
140
- onChange(values.map(({ value }) => value));
141
- }, [onChange]);
142
- const onChangeFn = React.useCallback((option) => {
143
- ;
144
- onChange(option === null ? null : option.value);
145
- }, [onChange]);
146
- const selectedOption = useMemo(() => getSelectedOptionFromValue({ optionsMap, value, isMulti }), [optionsMap, isMulti, value]);
147
- const props = {
148
- inputId: id,
149
- className: 'hz-select-field',
150
- classNamePrefix: 'hz-select-field',
151
- 'aria-label': showAriaLabel ? label : undefined,
152
- // https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Techniques/Using_the_aria-invalid_attribute
153
- 'aria-errormessage': error && errorId(id),
154
- 'aria-invalid': !!error,
155
- 'aria-required': required,
156
- isClearable: isClearable !== null && isClearable !== void 0 ? isClearable : false,
157
- isDisabled: disabled,
158
- isSearchable: isSearchable,
159
- isMulti: isMulti,
160
- name: name,
161
- value: selectedOption,
162
- options,
163
- onChange: (isMulti ? onChangeMultipleFn : onChangeFn),
164
- placeholder,
165
- menuPlacement,
166
- menuPortalTarget: getMenuContainer(menuPortalTarget),
167
- components: {
168
- DropdownIndicator,
169
- ClearIndicator,
170
- MultiValue,
171
- MenuList,
172
- Input,
173
- },
174
- formatGroupLabel,
175
- formatOptionLabel,
176
- renderMenuFooter,
177
- ...rest,
178
- };
179
- return (React.createElement("div", { "data-test": dataTest, className: cn(styles.container, {
180
- [styles.disabled]: disabled,
181
- [styles.hasError]: error,
182
- [styles.empty]: !value,
183
- [styles.multiContainer]: isMulti,
184
- },
185
- // Menu container is either this select itself or any other element
186
- // We can always add this class to the select itself because even if the menu container is any parent it won't break it
187
- // However, if it is the select itself, it will properly add necessary specificity level to the menu styles.
188
- styles.menuContainer, className) },
189
- !showAriaLabel && React.createElement(Label, { id: id, label: label, className: cn(styles.label, labelClassName) }),
190
- React.createElement("div", { className: styles.selectBlock },
191
- iconLeft && iconLeftAriaLabel && (React.createElement(Icon, { containerClassName: cn(styles.iconLeftContainer, iconLeftContainerClassName), icon: iconLeft, ariaLabel: iconLeftAriaLabel, "data-test": "select-field-icon-left", className: cn(styles.iconLeft, iconLeftClassName) })),
192
- isCreatable ? React.createElement(ReactSelectCreatable, Object.assign({}, props)) : React.createElement(ReactSelect, Object.assign({}, props)),
193
- helperText && React.createElement(Help, { parentId: id, helperText: helperText, className: styles.helperText })),
194
- React.createElement(Error, { error: error, className: cn(styles.errorContainer, errorClassName), inputId: id })));
195
- };
196
- //# sourceMappingURL=SelectField.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SelectField.js","sourceRoot":"","sources":["../src/SelectField.tsx"],"names":[],"mappings":"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"}
@@ -1,251 +0,0 @@
1
- @use '../styles/constants' as c;
2
- @use '../styles/helpers' as h;
3
-
4
- $selectHorizontalPadding: c.$grid * 3;
5
- $menuMargin: c.$grid * 3;
6
-
7
- $select: ':global .hz-select-field__control';
8
-
9
- .container {
10
- .label {
11
- display: block;
12
- margin-bottom: c.$grid;
13
- }
14
-
15
- .errorContainer {
16
- margin-top: c.$grid;
17
- }
18
-
19
- .helperText {
20
- margin-left: c.$grid * 1.5;
21
- display: block;
22
- }
23
-
24
- .chevron {
25
- transition: 0s;
26
- color: c.$colorPrimary;
27
- margin-left: $selectHorizontalPadding;
28
- }
29
- :global .hz-select-field__control--menu-is-open :local .chevron {
30
- transform: rotate(180deg);
31
- }
32
-
33
- .clear {
34
- margin-left: $selectHorizontalPadding;
35
- }
36
-
37
- :global .hz-select-field {
38
- flex: 1 1 auto;
39
-
40
- @include c.typographyBodySmall;
41
- }
42
-
43
- :global .hz-select-field__value-container {
44
- padding: 0;
45
- }
46
-
47
- :global .hz-select-field__indicator-separator {
48
- display: none;
49
- }
50
-
51
- #{$select} {
52
- cursor: pointer;
53
- color: c.$colorText;
54
- min-height: c.$inputHeight;
55
- padding-left: c.$grid * 3;
56
- padding-right: c.$grid * 2;
57
- box-sizing: border-box;
58
- border: c.$borderWidth solid c.$colorNeutralLight;
59
- border-radius: c.$borderRadius;
60
- background-color: c.$colorNeutralLighter;
61
- transition: none;
62
- }
63
-
64
- &.disabled {
65
- #{$select} {
66
- color: c.$colorTextSecondary;
67
- background-color: c.$colorNeutral;
68
- border-color: c.$colorNeutralLight;
69
- }
70
-
71
- .chevron {
72
- transition: 0s;
73
- color: c.$colorTextSecondary;
74
- }
75
- }
76
-
77
- &.hasError {
78
- #{$select} {
79
- border-color: c.$colorError;
80
- }
81
- }
82
-
83
- // We target specifically #{$select} not to apply hover styles to the select when a helper icon is hovered
84
- #{$select}:hover,
85
- &.hover #{$select} {
86
- border-color: c.$colorPrimary;
87
- transition: none;
88
- }
89
-
90
- &.focus #{$select},
91
- #{$select}.hz-select-field__control--is-focused {
92
- @include h.outlineFormField;
93
- }
94
-
95
- .selectBlock {
96
- display: flex;
97
- flex-direction: row;
98
- align-items: center;
99
- position: relative;
100
-
101
- .iconLeftContainer {
102
- .iconLeft {
103
- position: absolute;
104
- left: 0;
105
- top: 0;
106
- display: flex;
107
- justify-content: center;
108
- align-items: center;
109
- height: 100%;
110
- z-index: c.$zIndex100;
111
- padding: 0 c.$grid * 2 0 c.$grid * 3;
112
- }
113
-
114
- & + :global(.hz-select-field) {
115
- #{$select} {
116
- padding-left: c.$grid * 10;
117
- }
118
- }
119
- }
120
- }
121
- }
122
-
123
- // when .isMulti is true, we have some tweaks overall
124
- .multiContainer {
125
- :global .hz-select-field__value-container {
126
- padding: c.$grid 0;
127
- }
128
-
129
- :global .hz-select-field__value-container--has-value {
130
- margin-left: -1.5 * c.$grid; // padding is narrower in .multiContainer (when it has any values selected)
131
- }
132
-
133
- :global .hz-select-field__indicators {
134
- align-items: flex-start;
135
- margin-top: c.$grid * 1.6;
136
- }
137
-
138
- .multiValue {
139
- background-color: c.$colorNeutralWhite;
140
- border: c.$borderWidth solid c.$colorNeutralLight;
141
- border-radius: c.$borderRadius;
142
- height: c.$grid * 5.5; // makes 22px; design is 21px.
143
- overflow: hidden;
144
- }
145
-
146
- // Styles for MultiValue chips - focused state.
147
- // We inject `.multiValueIsFocused` from js (it does not have an actual :focused state).
148
- .multiValueIsFocused {
149
- @include h.outlineFormField;
150
-
151
- // override our outlineFormField inset shadow, for fixing
152
- // the glitch case on an hovered remove button.
153
- box-shadow: 0 0 0 (c.$outlineWidth - c.$borderWidth) c.$colorAccessibilityOutline;
154
-
155
- :global .hz-select-field__multi-value__label {
156
- // turn off the bogus shadow of the label
157
- box-shadow: none;
158
- }
159
- }
160
-
161
- .multiValueLabel {
162
- @include c.typographyBodySmall;
163
- @include h.overflowEllipsis;
164
-
165
- color: c.$colorText;
166
- padding: 0 c.$grid;
167
- }
168
-
169
- .multiValueRemove {
170
- display: flex;
171
- align-items: center;
172
- color: c.$colorPrimary;
173
-
174
- &:hover {
175
- background-color: c.$colorNeutral;
176
- border-color: c.$colorNeutralLight;
177
- }
178
- }
179
-
180
- &.disabled {
181
- :global .hz-select-field__multi-value--is-disabled {
182
- background-color: c.$colorNeutral;
183
- }
184
- .multiValueRemove {
185
- color: c.$colorTextSecondary;
186
- }
187
- }
188
- }
189
-
190
- .menuContainer {
191
- :global .hz-select-field__menu-portal {
192
- z-index: c.$zIndex2000;
193
- }
194
-
195
- :global .hz-select-field__menu {
196
- margin-top: $menuMargin;
197
- margin-bottom: $menuMargin;
198
- border: c.$borderWidth solid c.$colorNeutralLight;
199
- border-radius: c.$borderRadius;
200
- background-color: c.$colorNeutralLighter;
201
- overflow: hidden;
202
- box-shadow: 0 c.$selectMenuShadowSize c.$selectMenuShadowBlur 0 c.$colorShadow;
203
- z-index: c.$zIndex1000;
204
-
205
- @include c.typographyBodySmall;
206
-
207
- :global .hz-select-field__menu-list {
208
- padding: 0;
209
- color: c.$colorTextSecondary;
210
- }
211
-
212
- :global .hz-select-field__option,
213
- :global .hz-select-field__menu-notice {
214
- height: c.$inputHeight;
215
- line-height: c.$inputHeight;
216
- padding: 0 $selectHorizontalPadding;
217
- background-color: transparent;
218
- // Do not remove outline for high-contrast modes
219
- // https://stackoverflow.com/a/52616313
220
- outline: c.$outlineWidth solid transparent;
221
- text-align: left;
222
-
223
- &:global.hz-select-field__option--is-focused {
224
- @include h.outlineSimple;
225
-
226
- color: c.$colorText;
227
- background-color: c.$colorNeutral;
228
- }
229
-
230
- &:global.hz-select-field__option--is-selected {
231
- color: c.$colorPrimary;
232
- }
233
- }
234
- }
235
-
236
- :global .hz-select-field__group {
237
- padding-top: 0;
238
- padding-bottom: 0;
239
- }
240
-
241
- :global .hz-select-field__group-heading {
242
- margin-bottom: 0;
243
- padding-top: 2 * c.$grid;
244
- padding-bottom: 2 * c.$grid;
245
- background-color: c.$colorNeutralWhite;
246
- color: c.$colorTextSecondary;
247
- font-size: c.$fontSizeBodySmaller;
248
- font-weight: c.$fontWeightTextBold;
249
- text-transform: inherit;
250
- }
251
- }
@@ -1,20 +0,0 @@
1
- import React, { ReactElement } from 'react';
2
- import { SelectFieldExtraProps } from './SelectField';
3
- import { FieldValidatorGeneric } from './utils/formik';
4
- import { ExtractKeysOfValueType } from './utils/types';
5
- export declare type SelectFieldFormikProps<V extends object, OV = string> = SelectFieldExtraProps<OV> & ({
6
- name: ExtractKeysOfValueType<V, OV | null>;
7
- isClearable: true;
8
- isMulti?: false;
9
- validate?: FieldValidatorGeneric<OV | null>;
10
- } | {
11
- name: ExtractKeysOfValueType<V, OV>;
12
- isClearable?: false;
13
- isMulti?: false;
14
- validate?: FieldValidatorGeneric<OV>;
15
- } | {
16
- name: ExtractKeysOfValueType<V, OV[]>;
17
- isMulti: true;
18
- validate?: FieldValidatorGeneric<OV[]>;
19
- });
20
- export declare const SelectFieldFormik: <V extends object, OV extends React.ReactText = string>({ name, validate, isClearable, isMulti, ...props }: SelectFieldFormikProps<V, OV>) => ReactElement;
@@ -1,19 +0,0 @@
1
- import React, { useMemo } from 'react';
2
- import { useField } from 'formik';
3
- import { SelectField } from './SelectField';
4
- import { formikTouchAndUpdate, getFieldError } from './utils/formik';
5
- export const SelectFieldFormik = ({ name, validate, isClearable, isMulti, ...props }) => {
6
- const [field, meta, { setValue, setTouched }] = useField({
7
- name,
8
- validate,
9
- });
10
- const onChange = useMemo(() => formikTouchAndUpdate(setValue, setTouched), [setValue, setTouched]);
11
- const dynamicProps = {
12
- value: field.value,
13
- onChange,
14
- isClearable,
15
- isMulti,
16
- };
17
- return React.createElement(SelectField, Object.assign({}, props, dynamicProps, { name: name, onBlur: field.onBlur, error: getFieldError(meta) }));
18
- };
19
- //# sourceMappingURL=SelectFieldFormik.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SelectFieldFormik.js","sourceRoot":"","sources":["../src/SelectFieldFormik.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAgB,OAAO,EAAE,MAAM,OAAO,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAEjC,OAAO,EAAE,WAAW,EAAsD,MAAM,eAAe,CAAA;AAC/F,OAAO,EAAyB,oBAAoB,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAwB3F,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAwD,EACvF,IAAI,EACJ,QAAQ,EACR,WAAW,EACX,OAAO,EACP,GAAG,KAAK,EACsB,EAAgB,EAAE;IAIhD,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,GAAG,QAAQ,CAAiB;QACvE,IAAI;QACJ,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAiB,QAAQ,EAAE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAA;IAElH,MAAM,YAAY,GAAG;QACnB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,QAAQ;QACR,WAAW;QACX,OAAO;KAC2B,CAAA;IAEpC,OAAO,oBAAC,WAAW,oBAAK,KAAK,EAAM,YAAY,IAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAA;AACnH,CAAC,CAAA"}