@peculiar/react-components 0.0.2-alpha.263 → 0.0.2-alpha.268

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 (111) hide show
  1. package/dist/cjs/Autocomplete/autocomplete.js +239 -0
  2. package/dist/cjs/Autocomplete/autocomplete.js.map +1 -0
  3. package/dist/cjs/Autocomplete/index.js +6 -0
  4. package/dist/cjs/Autocomplete/index.js.map +1 -0
  5. package/dist/cjs/Chip/chip.js +41 -12
  6. package/dist/cjs/Chip/chip.js.map +1 -1
  7. package/dist/cjs/Fab/fab.js +2 -0
  8. package/dist/cjs/Fab/fab.js.map +1 -1
  9. package/dist/cjs/IconButton/icon_button.js +3 -0
  10. package/dist/cjs/IconButton/icon_button.js.map +1 -1
  11. package/dist/cjs/Modal/modal.js +3 -3
  12. package/dist/cjs/Modal/modal.js.map +1 -1
  13. package/dist/cjs/Popover/popover.js +23 -2
  14. package/dist/cjs/Popover/popover.js.map +1 -1
  15. package/dist/cjs/Popper/popper.js +23 -2
  16. package/dist/cjs/Popper/popper.js.map +1 -1
  17. package/dist/cjs/Tabs/tabs.js.map +1 -1
  18. package/dist/cjs/hooks/index.js +5 -1
  19. package/dist/cjs/hooks/index.js.map +1 -1
  20. package/dist/cjs/hooks/use_autocomplete.js +344 -0
  21. package/dist/cjs/hooks/use_autocomplete.js.map +1 -0
  22. package/dist/cjs/hooks/use_event_callback.js +44 -0
  23. package/dist/cjs/hooks/use_event_callback.js.map +1 -0
  24. package/dist/cjs/index.js +1 -1
  25. package/dist/esm/Autocomplete/autocomplete.js +232 -0
  26. package/dist/esm/Autocomplete/autocomplete.js.map +1 -0
  27. package/dist/esm/Autocomplete/index.js +2 -0
  28. package/dist/esm/Autocomplete/index.js.map +1 -0
  29. package/dist/esm/Chip/chip.js +41 -12
  30. package/dist/esm/Chip/chip.js.map +1 -1
  31. package/dist/esm/Fab/fab.js +2 -0
  32. package/dist/esm/Fab/fab.js.map +1 -1
  33. package/dist/esm/IconButton/icon_button.js +3 -0
  34. package/dist/esm/IconButton/icon_button.js.map +1 -1
  35. package/dist/esm/Modal/modal.js +3 -3
  36. package/dist/esm/Modal/modal.js.map +1 -1
  37. package/dist/esm/Popover/popover.js +23 -2
  38. package/dist/esm/Popover/popover.js.map +1 -1
  39. package/dist/esm/Popper/popper.js +23 -2
  40. package/dist/esm/Popper/popper.js.map +1 -1
  41. package/dist/esm/Tabs/tabs.js.map +1 -1
  42. package/dist/esm/hooks/index.js +2 -0
  43. package/dist/esm/hooks/index.js.map +1 -1
  44. package/dist/esm/hooks/use_autocomplete.js +337 -0
  45. package/dist/esm/hooks/use_autocomplete.js.map +1 -0
  46. package/dist/esm/hooks/use_event_callback.js +21 -0
  47. package/dist/esm/hooks/use_event_callback.js.map +1 -0
  48. package/dist/esm/index.js +1 -1
  49. package/dist/esnext/Autocomplete/autocomplete.js +236 -0
  50. package/dist/esnext/Autocomplete/autocomplete.js.map +1 -0
  51. package/dist/esnext/Autocomplete/index.js +2 -0
  52. package/dist/esnext/Autocomplete/index.js.map +1 -0
  53. package/dist/esnext/Chip/chip.js +54 -5
  54. package/dist/esnext/Chip/chip.js.map +1 -1
  55. package/dist/esnext/Fab/fab.js +2 -0
  56. package/dist/esnext/Fab/fab.js.map +1 -1
  57. package/dist/esnext/IconButton/icon_button.js +3 -0
  58. package/dist/esnext/IconButton/icon_button.js.map +1 -1
  59. package/dist/esnext/Modal/modal.js +3 -3
  60. package/dist/esnext/Modal/modal.js.map +1 -1
  61. package/dist/esnext/Popover/popover.js +21 -2
  62. package/dist/esnext/Popover/popover.js.map +1 -1
  63. package/dist/esnext/Popper/popper.js +21 -2
  64. package/dist/esnext/Popper/popper.js.map +1 -1
  65. package/dist/esnext/Tabs/tabs.js.map +1 -1
  66. package/dist/esnext/hooks/index.js +2 -0
  67. package/dist/esnext/hooks/index.js.map +1 -1
  68. package/dist/esnext/hooks/use_autocomplete.js +332 -0
  69. package/dist/esnext/hooks/use_autocomplete.js.map +1 -0
  70. package/dist/esnext/hooks/use_event_callback.js +16 -0
  71. package/dist/esnext/hooks/use_event_callback.js.map +1 -0
  72. package/dist/esnext/index.js +1 -1
  73. package/dist/types/Autocomplete/autocomplete.d.ts +72 -0
  74. package/dist/types/Autocomplete/index.d.ts +1 -0
  75. package/dist/types/Chip/chip.d.ts +1 -1
  76. package/dist/types/Modal/modal.d.ts +1 -1
  77. package/dist/types/Popover/popover.d.ts +7 -3
  78. package/dist/types/Popper/popper.d.ts +6 -2
  79. package/dist/types/hooks/index.d.ts +2 -0
  80. package/dist/types/hooks/use_autocomplete.d.ts +90 -0
  81. package/dist/types/hooks/use_event_callback.d.ts +4 -0
  82. package/dist/types/index.d.ts +1 -1
  83. package/package.json +24 -24
  84. package/dist/cjs/ComboBox/combo_box.js +0 -262
  85. package/dist/cjs/ComboBox/combo_box.js.map +0 -1
  86. package/dist/cjs/ComboBox/index.js +0 -6
  87. package/dist/cjs/ComboBox/index.js.map +0 -1
  88. package/dist/cjs/SelectPicker/index.js +0 -6
  89. package/dist/cjs/SelectPicker/index.js.map +0 -1
  90. package/dist/cjs/SelectPicker/select_picker.js +0 -445
  91. package/dist/cjs/SelectPicker/select_picker.js.map +0 -1
  92. package/dist/esm/ComboBox/combo_box.js +0 -240
  93. package/dist/esm/ComboBox/combo_box.js.map +0 -1
  94. package/dist/esm/ComboBox/index.js +0 -2
  95. package/dist/esm/ComboBox/index.js.map +0 -1
  96. package/dist/esm/SelectPicker/index.js +0 -2
  97. package/dist/esm/SelectPicker/index.js.map +0 -1
  98. package/dist/esm/SelectPicker/select_picker.js +0 -422
  99. package/dist/esm/SelectPicker/select_picker.js.map +0 -1
  100. package/dist/esnext/ComboBox/combo_box.js +0 -214
  101. package/dist/esnext/ComboBox/combo_box.js.map +0 -1
  102. package/dist/esnext/ComboBox/index.js +0 -2
  103. package/dist/esnext/ComboBox/index.js.map +0 -1
  104. package/dist/esnext/SelectPicker/index.js +0 -2
  105. package/dist/esnext/SelectPicker/index.js.map +0 -1
  106. package/dist/esnext/SelectPicker/select_picker.js +0 -418
  107. package/dist/esnext/SelectPicker/select_picker.js.map +0 -1
  108. package/dist/types/ComboBox/combo_box.d.ts +0 -19
  109. package/dist/types/ComboBox/index.d.ts +0 -1
  110. package/dist/types/SelectPicker/index.d.ts +0 -1
  111. package/dist/types/SelectPicker/select_picker.d.ts +0 -89
@@ -0,0 +1,337 @@
1
+ import React from 'react';
2
+ import { useId } from './use_id';
3
+ import { useControllableState } from './use_controllable';
4
+ import { useEventCallback } from './use_event_callback';
5
+ /**
6
+ *
7
+ */
8
+ var defaultFilterOptions = function (options, value, getOptionLabel) {
9
+ if (!options || !options.length) {
10
+ return [];
11
+ }
12
+ return options.filter(function (option) {
13
+ var labelValue = getOptionLabel(option).trim().toLowerCase();
14
+ var searchValue = value.trim().toLowerCase();
15
+ return labelValue.includes(searchValue);
16
+ });
17
+ };
18
+ export function useAutocomplete(props) {
19
+ var idProp = props.id, options = props.options, _a = props.defaultValue, defaultValue = _a === void 0 ? props.multiple ? [] : null : _a, valueProp = props.value, _b = props.disableCloseOnSelect, disableCloseOnSelect = _b === void 0 ? false : _b, _c = props.multiple, multiple = _c === void 0 ? false : _c, groupBy = props.groupBy,
20
+ // @ts-ignore
21
+ _d = props.getOptionLabel,
22
+ // @ts-ignore
23
+ getOptionLabel = _d === void 0 ? function (option) { var _a; return (_a = option.label) !== null && _a !== void 0 ? _a : option; } : _d, _e = props.filterOptions, filterOptions = _e === void 0 ? defaultFilterOptions : _e, onOpen = props.onOpen, onClose = props.onClose, onInputChange = props.onInputChange, onChange = props.onChange;
24
+ var id = useId(idProp);
25
+ var anchorEl = React.useRef(null);
26
+ var listboxRef = React.useRef(null);
27
+ var highlightedIndexRef = React.useRef(-1);
28
+ var _f = React.useState(false), popupOpen = _f[0], setPopupOpen = _f[1];
29
+ var _g = React.useState(''), searchValue = _g[0], setSearchValue = _g[1];
30
+ var _h = useControllableState({
31
+ value: valueProp,
32
+ defaultValue: defaultValue,
33
+ }), value = _h[0], setValue = _h[1];
34
+ var filteredOptions = popupOpen
35
+ ? filterOptions(options, searchValue, getOptionLabel)
36
+ : [];
37
+ var validOptionIndex = function (index, direction) {
38
+ if (!listboxRef.current || index === -1) {
39
+ return -1;
40
+ }
41
+ var nextFocus = index;
42
+ while (true) {
43
+ // Out of range
44
+ if ((direction === 'next' && nextFocus === filteredOptions.length)
45
+ || (direction === 'previous' && nextFocus === -1)) {
46
+ return -1;
47
+ }
48
+ var option = listboxRef.current.querySelector("[data-option-index=\"" + nextFocus + "\"]");
49
+ if ((option && !option.hasAttribute('tabindex'))) {
50
+ // Move to the next element.
51
+ nextFocus += direction === 'next' ? 1 : -1;
52
+ }
53
+ else {
54
+ return nextFocus;
55
+ }
56
+ }
57
+ };
58
+ var setHighlightedIndex = useEventCallback(function (index, reason) {
59
+ if (reason === void 0) { reason = 'auto'; }
60
+ highlightedIndexRef.current = index;
61
+ var listboxNode = listboxRef.current;
62
+ if (!listboxNode) {
63
+ return;
64
+ }
65
+ var prevOptionNode = listboxNode.querySelector('[role="option"][data-focused="true"]');
66
+ if (prevOptionNode) {
67
+ prevOptionNode.setAttribute('data-focused', 'false');
68
+ }
69
+ if (index === -1) {
70
+ listboxNode.scrollTop = 0;
71
+ return;
72
+ }
73
+ var option = listboxNode.querySelector("[data-option-index=\"" + index + "\"]");
74
+ if (!option) {
75
+ return;
76
+ }
77
+ option.setAttribute('data-focused', 'true');
78
+ // Scroll active descendant into view.
79
+ // Logic copied from https://www.w3.org/TR/wai-aria-practices/examples/listbox/js/listbox.js
80
+ //
81
+ // Consider this API instead once it has a better browser support:
82
+ // .scrollIntoView({ scrollMode: 'if-needed', block: 'nearest' });
83
+ if (listboxNode.scrollHeight > listboxNode.clientHeight && reason !== 'mouse') {
84
+ var element = option;
85
+ var scrollBottom = listboxNode.clientHeight + listboxNode.scrollTop;
86
+ var elementBottom = element.offsetTop + element.offsetHeight;
87
+ if (elementBottom > scrollBottom) {
88
+ listboxNode.scrollTop = elementBottom - listboxNode.clientHeight;
89
+ }
90
+ else if (element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0) < listboxNode.scrollTop) {
91
+ listboxNode.scrollTop = element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0);
92
+ }
93
+ }
94
+ });
95
+ var changeHighlightedIndex = useEventCallback(function (diff, direction, reason) {
96
+ if (direction === void 0) { direction = 'next'; }
97
+ if (reason === void 0) { reason = 'auto'; }
98
+ if (!popupOpen) {
99
+ return;
100
+ }
101
+ var getNextIndex = function () {
102
+ var maxIndex = filteredOptions.length - 1;
103
+ if (diff === 'reset') {
104
+ return -1;
105
+ }
106
+ if (diff === 'start') {
107
+ return 0;
108
+ }
109
+ if (diff === 'end') {
110
+ return maxIndex;
111
+ }
112
+ var newIndex = highlightedIndexRef.current + diff;
113
+ if (newIndex < 0) {
114
+ if (newIndex === -1) {
115
+ return -1;
116
+ }
117
+ if ((highlightedIndexRef.current !== -1) || Math.abs(diff) > 1) {
118
+ return 0;
119
+ }
120
+ return maxIndex;
121
+ }
122
+ if (newIndex > maxIndex) {
123
+ if (newIndex === maxIndex + 1) {
124
+ return -1;
125
+ }
126
+ if (Math.abs(diff) > 1) {
127
+ return maxIndex;
128
+ }
129
+ return 0;
130
+ }
131
+ return newIndex;
132
+ };
133
+ var nextIndex = validOptionIndex(getNextIndex(), direction);
134
+ setHighlightedIndex(nextIndex, reason);
135
+ });
136
+ var syncHighlightedIndex = React.useCallback(function () {
137
+ if (!popupOpen) {
138
+ return;
139
+ }
140
+ var valueItem = Array.isArray(value) ? value[0] : value;
141
+ if (filteredOptions.length === 0 || valueItem == null) {
142
+ changeHighlightedIndex('reset');
143
+ return;
144
+ }
145
+ if (!listboxRef.current) {
146
+ return;
147
+ }
148
+ if (valueItem != null) {
149
+ var itemIndex = filteredOptions.findIndex(function (o) { return o === valueItem; });
150
+ if (itemIndex === -1) {
151
+ changeHighlightedIndex('reset');
152
+ }
153
+ else {
154
+ setHighlightedIndex(itemIndex);
155
+ }
156
+ return;
157
+ }
158
+ // Prevent the highlighted index to leak outside the boundaries.
159
+ if (highlightedIndexRef.current >= filteredOptions.length - 1) {
160
+ setHighlightedIndex(filteredOptions.length - 1);
161
+ return;
162
+ }
163
+ setHighlightedIndex(highlightedIndexRef.current);
164
+ }, [
165
+ filteredOptions.length,
166
+ multiple ? false : value,
167
+ changeHighlightedIndex,
168
+ setHighlightedIndex,
169
+ popupOpen,
170
+ searchValue,
171
+ multiple,
172
+ ]);
173
+ var handleListboxRef = useEventCallback(function (node) {
174
+ listboxRef.current = node;
175
+ if (!node) {
176
+ return;
177
+ }
178
+ syncHighlightedIndex();
179
+ });
180
+ React.useEffect(function () {
181
+ syncHighlightedIndex();
182
+ }, [syncHighlightedIndex]);
183
+ var handleOpen = function (event) {
184
+ if (popupOpen) {
185
+ return;
186
+ }
187
+ setPopupOpen(true);
188
+ if (onOpen) {
189
+ onOpen(event);
190
+ }
191
+ };
192
+ var handleClick = function (event) {
193
+ handleOpen(event);
194
+ };
195
+ var handleClose = function (event) {
196
+ if (!popupOpen) {
197
+ return;
198
+ }
199
+ setPopupOpen(false);
200
+ setSearchValue('');
201
+ if (onClose) {
202
+ onClose(event);
203
+ }
204
+ };
205
+ var selectNewValue = function (event, option) {
206
+ var newValue = option;
207
+ if (multiple) {
208
+ newValue = Array.isArray(value) ? value.slice() : [];
209
+ var itemIndex = newValue.findIndex(function (v) { return option === v; });
210
+ if (itemIndex === -1) {
211
+ newValue.push(option);
212
+ }
213
+ else {
214
+ newValue.splice(itemIndex, 1);
215
+ }
216
+ }
217
+ setValue(newValue);
218
+ if (!disableCloseOnSelect) {
219
+ handleClose(event);
220
+ }
221
+ if (onChange) {
222
+ onChange(event, newValue);
223
+ }
224
+ };
225
+ var handleInputChange = function (event) {
226
+ var valueInput = event.target.value;
227
+ setSearchValue(valueInput);
228
+ if (onInputChange) {
229
+ onInputChange(event, valueInput);
230
+ }
231
+ };
232
+ var handleKeyDown = function (event) {
233
+ // Wait until IME is settled.
234
+ if (event.which !== 229) {
235
+ switch (event.key) {
236
+ case 'ArrowDown':
237
+ // Prevent cursor move
238
+ event.preventDefault();
239
+ changeHighlightedIndex(1, 'next', 'keyboard');
240
+ break;
241
+ case 'ArrowUp':
242
+ // Prevent cursor move
243
+ event.preventDefault();
244
+ changeHighlightedIndex(-1, 'previous', 'keyboard');
245
+ break;
246
+ case 'Enter':
247
+ // Avoid early form validation, let the end-users continue filling the form.
248
+ event.preventDefault();
249
+ if (highlightedIndexRef.current !== -1 && popupOpen) {
250
+ var option = filteredOptions[highlightedIndexRef.current];
251
+ selectNewValue(event, option);
252
+ }
253
+ break;
254
+ default:
255
+ }
256
+ }
257
+ };
258
+ var handleOptionClick = function (event) {
259
+ var index = Number(event.currentTarget.getAttribute('data-option-index'));
260
+ var option = filteredOptions[index];
261
+ selectNewValue(event, option);
262
+ };
263
+ var handleTagDelete = function (option) { return function (event) {
264
+ selectNewValue(event, option);
265
+ }; };
266
+ var groupedOptions = filteredOptions;
267
+ if (groupBy) {
268
+ groupedOptions = filteredOptions.reduce(function (acc, option, index) {
269
+ var group = groupBy(option);
270
+ if (acc.length > 0 && acc[acc.length - 1].group === group) {
271
+ acc[acc.length - 1].options.push(option);
272
+ }
273
+ else {
274
+ acc.push({
275
+ key: index,
276
+ index: index,
277
+ group: group,
278
+ options: [option],
279
+ });
280
+ }
281
+ return acc;
282
+ }, []);
283
+ }
284
+ return {
285
+ getRootProps: function () { return ({
286
+ ref: anchorEl,
287
+ 'aria-expanded': popupOpen,
288
+ 'aria-haspopup': 'listbox',
289
+ onClick: handleClick,
290
+ }); },
291
+ getListboxProps: function () { return ({
292
+ ref: handleListboxRef,
293
+ role: 'listbox',
294
+ tabIndex: -1,
295
+ id: id + "-listbox",
296
+ }); },
297
+ getInputProps: function () { return ({
298
+ type: 'search',
299
+ value: searchValue,
300
+ autoComplete: 'off',
301
+ autoCapitalize: 'none',
302
+ autoCorrect: 'false',
303
+ spellCheck: 'false',
304
+ onChange: handleInputChange,
305
+ }); },
306
+ getOptionProps: function (option, index) {
307
+ var selected = (Array.isArray(value) ? value : [value]).some(function (v) { return v != null && option === v; });
308
+ return {
309
+ key: getOptionLabel(option),
310
+ tabIndex: -1,
311
+ role: 'option',
312
+ id: id + "-option-" + index,
313
+ 'data-option-index': index,
314
+ 'aria-selected': selected,
315
+ onClick: handleOptionClick,
316
+ };
317
+ },
318
+ getPopoverProps: function () { return ({
319
+ open: popupOpen,
320
+ anchorEl: anchorEl.current,
321
+ onClose: handleClose,
322
+ onKeyDown: handleKeyDown,
323
+ }); },
324
+ getTagProps: function (option, index) { return ({
325
+ key: index,
326
+ 'data-tag-index': index,
327
+ tabIndex: -1,
328
+ onDelete: handleTagDelete(option),
329
+ }); },
330
+ getOptionLabel: getOptionLabel,
331
+ groupedOptions: groupedOptions,
332
+ popupOpen: popupOpen,
333
+ value: value,
334
+ id: id,
335
+ };
336
+ }
337
+ //# sourceMappingURL=use_autocomplete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use_autocomplete.js","sourceRoot":"","sources":["../../../src/hooks/use_autocomplete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * https://github.com/facebook/react/issues/14099#issuecomment-440013892
4
+ */
5
+ export function useEventCallback(fn) {
6
+ var ref = React.useRef(fn);
7
+ React.useLayoutEffect(function () {
8
+ ref.current = fn;
9
+ });
10
+ return React.useCallback(function () {
11
+ var args = [];
12
+ for (var _i = 0; _i < arguments.length; _i++) {
13
+ args[_i] = arguments[_i];
14
+ }
15
+ // @ts-expect-error hide `this`
16
+ // tslint:disable-next-line:ban-comma-operator
17
+ // eslint-disable-next-line implicit-arrow-linebreak
18
+ return (0, ref.current).apply(void 0, args);
19
+ }, []);
20
+ }
21
+ //# sourceMappingURL=use_event_callback.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use_event_callback.js","sourceRoot":"","sources":["../../../src/hooks/use_event_callback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,EAA6B;IAE7B,IAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAE7B,KAAK,CAAC,eAAe,CAAC;QACpB,GAAG,CAAC,OAAO,GAAG,EAAE,CAAC;IACnB,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,WAAW,CACtB;QAAC,cAAa;aAAb,UAAa,EAAb,qBAAa,EAAb,IAAa;YAAb,yBAAa;;QACZ,+BAA+B;QAC/B,8CAA8C;QAC9C,oDAAoD;QACpD,OAAA,CAAC,CAAC,EAAE,GAAG,CAAC,OAAQ,CAAC,eAAI,IAAI;IAAzB,CAA0B,EAC5B,EAAE,CACH,CAAC;AACJ,CAAC"}
package/dist/esm/index.js CHANGED
@@ -19,7 +19,7 @@ export * from './Popover';
19
19
  export * from './Portal';
20
20
  export * from './Radio';
21
21
  export * from './Select';
22
- export * from './SelectPicker';
22
+ export * from './Autocomplete';
23
23
  export * from './Slide';
24
24
  export * from './Slider';
25
25
  export * from './Tabs';
@@ -0,0 +1,236 @@
1
+ import React from 'react';
2
+ import { useAutocomplete, } from '../hooks';
3
+ import { Popover } from '../Popover';
4
+ import { TextField } from '../TextField';
5
+ import { Typography } from '../Typography';
6
+ import { Box } from '../Box';
7
+ import { Chip } from '../Chip';
8
+ import { ArrowDropDownIcon } from '../icons';
9
+ import { css, cx } from '../styles';
10
+ /**
11
+ *
12
+ */
13
+ /**
14
+ * Styles.
15
+ */
16
+ const stylesContainer = () => css({
17
+ label: 'Autocomplete',
18
+ position: 'relative',
19
+ });
20
+ const stylesRoot = () => css({
21
+ label: 'Autocomplete-root',
22
+ outline: 'none',
23
+ boxSizing: 'border-box',
24
+ width: '100%',
25
+ borderRadius: '4px',
26
+ padding: '0 calc(var(--pv-size-base-2) + 24px) 0 var(--pv-size-base-2)',
27
+ backgroundColor: 'var(--pv-color-gray-1)',
28
+ borderStyle: 'solid',
29
+ borderWidth: '1px',
30
+ borderColor: 'var(--pv-color-gray-8)',
31
+ transition: 'background-color 200ms, color 200ms, border-color 200ms',
32
+ appearance: 'none',
33
+ userSelect: 'none',
34
+ textAlign: 'left',
35
+ cursor: 'pointer',
36
+ fontFamily: 'inherit',
37
+ height: 'var(--pv-size-base-8)',
38
+ '&:hover': {
39
+ backgroundColor: 'var(--pv-color-gray-3)',
40
+ borderColor: 'var(--pv-color-gray-7)',
41
+ },
42
+ '&:disabled': {
43
+ cursor: 'not-allowed',
44
+ backgroundColor: 'var(--pv-color-gray-1)',
45
+ borderColor: 'var(--pv-color-gray-5)',
46
+ color: 'var(--pv-color-gray-7)',
47
+ },
48
+ '&:not(:disabled)': {
49
+ '&:focus': {
50
+ backgroundColor: 'var(--pv-color-secondary-tint-5)',
51
+ borderColor: 'var(--pv-color-secondary-tint-3)',
52
+ },
53
+ },
54
+ });
55
+ const stylesRootMultiple = () => css({
56
+ label: 'multiple',
57
+ display: 'inline-flex',
58
+ alignItems: 'center',
59
+ });
60
+ const stylesInputArrowIcon = () => css({
61
+ label: 'Autocomplete-arrow-icon',
62
+ position: 'absolute',
63
+ right: '0px',
64
+ top: 'calc(50% - 12px)',
65
+ pointerEvents: 'none',
66
+ margin: '0px var(--pv-size-base)',
67
+ color: 'var(--pv-color-gray-10)',
68
+ });
69
+ const stylesListBox = () => css({
70
+ label: 'Autocomplete-listbox',
71
+ maxHeight: '36vh',
72
+ overflowY: 'auto',
73
+ margin: 0,
74
+ listStyleType: 'none',
75
+ position: 'relative',
76
+ padding: '10px 0',
77
+ });
78
+ const stylesOption = (inGroup) => css({
79
+ label: 'Autocomplete-option',
80
+ ...(inGroup ? {
81
+ padding: '0px var(--pv-size-base-2) 0 var(--pv-size-base-3)',
82
+ } : {
83
+ padding: '0px var(--pv-size-base-2)',
84
+ }),
85
+ fontFamily: 'inherit',
86
+ outline: 'none',
87
+ width: '100%',
88
+ height: 'var(--pv-size-base-7)',
89
+ textDecoration: 'none',
90
+ userSelect: 'none',
91
+ cursor: 'pointer',
92
+ transition: 'background-color 200ms',
93
+ backgroundColor: 'transparent',
94
+ border: 'none',
95
+ color: 'var(--pv-color-black)',
96
+ boxSizing: 'border-box',
97
+ display: 'flex',
98
+ textAlign: 'left',
99
+ alignItems: 'center',
100
+ justifyContent: 'flex-start',
101
+ '&:hover': {
102
+ backgroundColor: 'var(--pv-color-gray-2)',
103
+ },
104
+ '&[data-focused="true"]': {
105
+ backgroundColor: 'var(--pv-color-gray-3)',
106
+ },
107
+ '&[aria-selected="true"]': {
108
+ backgroundColor: 'var(--pv-color-gray-4)',
109
+ },
110
+ });
111
+ const stylesInputSearch = () => css({
112
+ label: 'Autocomplete-input-search',
113
+ padding: 'var(--pv-size-base-3) var(--pv-size-base-3) var(--pv-size-base-2)',
114
+ });
115
+ const stylesListBoxState = () => css({
116
+ label: 'Autocomplete-listbox-state',
117
+ padding: 'var(--pv-size-base-3) var(--pv-size-base-2)',
118
+ });
119
+ const stylesPopover = () => css({
120
+ label: 'Autocomplete-popover',
121
+ minWidth: 240,
122
+ });
123
+ const stylesTagsList = () => css({
124
+ label: 'Autocomplete-tags-list',
125
+ overflow: 'hidden',
126
+ width: '100%',
127
+ });
128
+ const stylesTag = (tagsLength, limitTags) => css({
129
+ label: 'Autocomplete-tag',
130
+ borderRadius: '2px',
131
+ borderColor: 'var(--pv-color-gray-7)',
132
+ margin: '0 var(--pv-size-base) 0 0',
133
+ ...(tagsLength === 1 && {
134
+ maxWidth: 'calc(100% - var(--pv-size-base))',
135
+ }),
136
+ ...(tagsLength > 1 && limitTags && {
137
+ maxWidth: `calc(${100 / limitTags}% - var(--pv-size-base))`,
138
+ }),
139
+ });
140
+ const stylesTagSize = () => css({
141
+ label: 'Autocomplete-tag-size',
142
+ margin: '0 var(--pv-size-base-2)',
143
+ });
144
+ const stylesNativeInput = () => css({
145
+ label: 'Autocomplete-native-input',
146
+ bottom: 0,
147
+ left: 0,
148
+ height: '100%',
149
+ position: 'absolute',
150
+ opacity: 0,
151
+ pointerEvents: 'none',
152
+ width: '100%',
153
+ boxSizing: 'border-box',
154
+ });
155
+ const stylesGroupList = () => css({
156
+ label: 'Autocomplete-group-list',
157
+ padding: 0,
158
+ listStyleType: 'none',
159
+ });
160
+ const stylesGroupName = () => css({
161
+ label: 'Autocomplete-group-name',
162
+ padding: 'var(--pv-size-base-2)',
163
+ });
164
+ /**
165
+ *
166
+ */
167
+ export function Autocomplete(props) {
168
+ const { placeholder, disableSearch, noOptionsText, loading, loadingText, limitTags = 2, name, required, multiple, renderRoot: renderRootProp, renderOption: renderOptionProp, getLimitTagsText = (more) => `${more} more`, groupBy, } = props;
169
+ const { id, value, groupedOptions, getRootProps, getInputProps, getListboxProps, getOptionProps, getPopoverProps, getTagProps, getOptionLabel, } = useAutocomplete(props);
170
+ const { onChange, ...otherInputProps } = getInputProps();
171
+ const defaultRenderOption = (propsOption, option) => (React.createElement("li", Object.assign({}, propsOption, { className: stylesOption(!!groupBy) }),
172
+ React.createElement(Typography, { variant: "b3", color: "inherit", noWrap: true }, getOptionLabel(option))));
173
+ const renderGroup = (params) => (React.createElement("li", { key: params.key },
174
+ React.createElement(Typography, { variant: "c1", color: "gray-10", className: stylesGroupName() }, params.group),
175
+ React.createElement("ul", { className: stylesGroupList() }, params.children)));
176
+ const renderValue = () => {
177
+ if (!value || (Array.isArray(value) && value.length === 0)) {
178
+ return null;
179
+ }
180
+ if (Array.isArray(value)) {
181
+ const more = (value.length > limitTags) ? (value.length - limitTags) : 0;
182
+ const valueLimits = more > 0 ? value.slice(0, limitTags) : value;
183
+ return (React.createElement(React.Fragment, null,
184
+ React.createElement("div", { className: stylesTagsList() }, valueLimits.map((v, index) => (React.createElement(Chip, Object.assign({}, getTagProps(v, index), { color: "default", variant: "contained", className: stylesTag(value.length, limitTags) }), getOptionLabel(v))))),
185
+ !!more && (React.createElement(Typography, { variant: "c2", color: "gray-9", className: stylesTagSize() }, getLimitTagsText(more)))));
186
+ }
187
+ return getOptionLabel(value);
188
+ };
189
+ const renderedValue = renderValue();
190
+ const isValueEmpty = renderedValue === null;
191
+ const defaultRenderRoot = (propsRoot, valueRoot) => (React.createElement("div", { className: stylesContainer() },
192
+ React.createElement(Typography, Object.assign({}, propsRoot, { noWrap: true, component: "button", variant: "c1", color: isValueEmpty ? 'gray-9' : 'black', className: cx({
193
+ [stylesRoot()]: true,
194
+ [stylesRootMultiple()]: multiple,
195
+ }),
196
+ // @ts-ignore
197
+ type: "button" }), isValueEmpty ? placeholder : renderedValue),
198
+ React.createElement(ArrowDropDownIcon, { className: stylesInputArrowIcon(), "aria-hidden": true }),
199
+ React.createElement("input", { type: "text", value: JSON.stringify(valueRoot) || '', tabIndex: -1, "aria-hidden": "true", className: stylesNativeInput(), autoComplete: "off", id: id, name: name, required: required, onChange: () => { } })));
200
+ const renderOption = renderOptionProp || defaultRenderOption;
201
+ const renderRoot = renderRootProp || defaultRenderRoot;
202
+ const renderListOption = (option, index) => {
203
+ const optionProps = getOptionProps(option, index);
204
+ return renderOption(optionProps, option);
205
+ };
206
+ return (React.createElement(React.Fragment, null,
207
+ renderRoot(getRootProps(), value),
208
+ React.createElement(Popover, Object.assign({ placement: "bottom-start", allowUseSameWidth: true }, getPopoverProps(), { className: stylesPopover() }),
209
+ !disableSearch && (React.createElement(Box, { borderColor: "gray-3", borderPosition: "bottom", borderStyle: "solid", borderWidth: 1 },
210
+ React.createElement(TextField, { inputProps: otherInputProps, className: stylesInputSearch(), onChange: onChange, placeholder: "Search", disabled: loading }))),
211
+ loading && groupedOptions.length === 0 && (React.createElement("div", { className: stylesListBoxState() }, typeof loadingText === 'string' ? (React.createElement(Typography, { variant: "b2", color: "gray-10" }, loadingText)) : loadingText)),
212
+ groupedOptions.length === 0 && !loading && (React.createElement("div", { className: stylesListBoxState() }, typeof noOptionsText === 'string' ? (React.createElement(Typography, { variant: "b2", color: "gray-10" }, noOptionsText)) : noOptionsText)),
213
+ groupedOptions.length > 0 && (React.createElement("ul", Object.assign({ className: stylesListBox() }, getListboxProps()), groupedOptions
214
+ // @ts-ignore
215
+ .map((option, index) => {
216
+ if (groupBy && 'options' in option) {
217
+ return renderGroup({
218
+ key: option.key,
219
+ group: option.group,
220
+ // @ts-ignore
221
+ children: option.options.map((option2, index2) => (renderListOption(option2, option.index + index2))),
222
+ });
223
+ }
224
+ return renderListOption(option, index);
225
+ }))))));
226
+ }
227
+ // @ts-ignore
228
+ Autocomplete.defaultProps = {
229
+ disableSearch: false,
230
+ noOptionsText: 'No options',
231
+ loading: false,
232
+ loadingText: 'Loading...',
233
+ limitTags: 2,
234
+ required: false,
235
+ };
236
+ //# sourceMappingURL=autocomplete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocomplete.js","sourceRoot":"","sources":["../../../src/Autocomplete/autocomplete.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { Autocomplete } from './autocomplete';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Autocomplete/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}