@peculiar/react-components 1.0.0 → 1.1.0-alpha.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 (36) hide show
  1. package/dist/cjs/Autocomplete/autocomplete.js +397 -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/hooks/index.js +3 -1
  6. package/dist/cjs/hooks/index.js.map +1 -1
  7. package/dist/cjs/hooks/use_autocomplete.js +26 -7
  8. package/dist/cjs/hooks/use_autocomplete.js.map +1 -1
  9. package/dist/cjs/hooks/use_outside_click.js +24 -0
  10. package/dist/cjs/hooks/use_outside_click.js.map +1 -0
  11. package/dist/esm/Autocomplete/autocomplete.js +390 -0
  12. package/dist/esm/Autocomplete/autocomplete.js.map +1 -0
  13. package/dist/esm/Autocomplete/index.js +2 -0
  14. package/dist/esm/Autocomplete/index.js.map +1 -0
  15. package/dist/esm/hooks/index.js +1 -0
  16. package/dist/esm/hooks/index.js.map +1 -1
  17. package/dist/esm/hooks/use_autocomplete.js +26 -7
  18. package/dist/esm/hooks/use_autocomplete.js.map +1 -1
  19. package/dist/esm/hooks/use_outside_click.js +17 -0
  20. package/dist/esm/hooks/use_outside_click.js.map +1 -0
  21. package/dist/esnext/Autocomplete/autocomplete.js +381 -0
  22. package/dist/esnext/Autocomplete/autocomplete.js.map +1 -0
  23. package/dist/esnext/Autocomplete/index.js +2 -0
  24. package/dist/esnext/Autocomplete/index.js.map +1 -0
  25. package/dist/esnext/hooks/index.js +1 -0
  26. package/dist/esnext/hooks/index.js.map +1 -1
  27. package/dist/esnext/hooks/use_autocomplete.js +26 -7
  28. package/dist/esnext/hooks/use_autocomplete.js.map +1 -1
  29. package/dist/esnext/hooks/use_outside_click.js +17 -0
  30. package/dist/esnext/hooks/use_outside_click.js.map +1 -0
  31. package/dist/types/Autocomplete/autocomplete.d.ts +101 -0
  32. package/dist/types/Autocomplete/index.d.ts +1 -0
  33. package/dist/types/hooks/index.d.ts +1 -0
  34. package/dist/types/hooks/use_autocomplete.d.ts +4 -1
  35. package/dist/types/hooks/use_outside_click.d.ts +2 -0
  36. package/package.json +2 -2
@@ -0,0 +1,381 @@
1
+ import React from 'react';
2
+ import styled from '@emotion/styled';
3
+ import { useAutocomplete, useOutsideClick, } from '../hooks';
4
+ import { Popper } from '../Popper';
5
+ import { Typography } from '../Typography';
6
+ import { Box } from '../Box';
7
+ import { Chip } from '../Chip';
8
+ import { ArrowDropDownIcon, CloseSmallIcon } from '../icons';
9
+ import { MenuItem } from '../MenuList';
10
+ /**
11
+ *
12
+ */
13
+ const reactPropsRegex = /^(as|size|disabled|isHasClearIcon)$/;
14
+ /**
15
+ * Styles.
16
+ */
17
+ const AutocompleteField = styled(Box, { shouldForwardProp: (prop) => !reactPropsRegex.test(prop) })({
18
+ outline: 'none',
19
+ boxSizing: 'border-box',
20
+ width: '100%',
21
+ borderRadius: '4px',
22
+ backgroundColor: 'var(--pv-color-gray-1)',
23
+ borderStyle: 'solid',
24
+ borderWidth: '1px',
25
+ transition: 'background-color 200ms, color 200ms, border-color 200ms',
26
+ appearance: 'none',
27
+ userSelect: 'none',
28
+ textAlign: 'left',
29
+ fontFamily: 'inherit',
30
+ position: 'relative',
31
+ display: 'inline-flex',
32
+ alignItems: 'center',
33
+ flexWrap: 'wrap',
34
+ gap: 'var(--pv-size-base)',
35
+ minHeight: 'var(--pv-size-base-8)',
36
+ }, (props) => {
37
+ const actions = props.isHasClearIcon ? '48px' : '24px';
38
+ switch (props.size) {
39
+ case 'small':
40
+ return {
41
+ minHeight: 'var(--pv-size-base-6)',
42
+ padding: `1px calc(var(--pv-size-base-2) + ${actions}) 1px var(--pv-size-base-2)`,
43
+ };
44
+ case 'medium':
45
+ return {
46
+ minHeight: 'var(--pv-size-base-7)',
47
+ padding: `1px calc(var(--pv-size-base-2) + ${actions}) 1px var(--pv-size-base-2)`,
48
+ };
49
+ default:
50
+ return {
51
+ minHeight: 'var(--pv-size-base-8)',
52
+ padding: `3px calc(var(--pv-size-base-2) + ${actions}) 3px var(--pv-size-base-2)`,
53
+ };
54
+ }
55
+ }, (props) => {
56
+ const isDark = props.theme.mode === 'dark';
57
+ const color = isDark
58
+ ? 'var(--pv-color-white)'
59
+ : 'var(--pv-color-black)';
60
+ let borderColor = 'var(--pv-color-gray-8)';
61
+ let colorPlaceholder = 'var(--pv-color-gray-9)';
62
+ let borderColorHover = 'var(--pv-color-gray-7)';
63
+ let borderColorDisabled = 'var(--pv-color-gray-5)';
64
+ let colorDisabled = 'var(--pv-color-gray-7)';
65
+ let invalidBackgroundColor = 'var(--pv-color-wrong-tint-5)';
66
+ let invalidBorderColor = 'var(--pv-color-wrong-tint-3)';
67
+ let backgroundColorFocus = 'var(--pv-color-secondary-tint-5)';
68
+ let borderColorFocus = 'var(--pv-color-secondary-tint-3)';
69
+ if (isDark) {
70
+ borderColor = 'var(--pv-color-gray-5)';
71
+ colorPlaceholder = 'var(--pv-color-gray-6)';
72
+ borderColorHover = 'var(--pv-color-gray-4)';
73
+ borderColorDisabled = 'var(--pv-color-gray-4)';
74
+ colorDisabled = 'var(--pv-color-gray-4)';
75
+ invalidBackgroundColor = 'var(--pv-color-wrong-shade-4)';
76
+ invalidBorderColor = 'var(--pv-color-wrong-shade-1)';
77
+ backgroundColorFocus = 'var(--pv-color-secondary-shade-4)';
78
+ borderColorFocus = 'var(--pv-color-secondary-shade-1)';
79
+ }
80
+ return ({
81
+ borderColor,
82
+ ...(props.disabled && {
83
+ cursor: 'not-allowed',
84
+ backgroundColor: 'var(--pv-color-gray-1)',
85
+ borderColor: borderColorDisabled,
86
+ color: colorDisabled,
87
+ }),
88
+ ...(!props.disabled && {
89
+ color,
90
+ cursor: 'text',
91
+ '&:hover': {
92
+ backgroundColor: 'var(--pv-color-gray-3)',
93
+ borderColor: borderColorHover,
94
+ '[aria-label="Clear"]': {
95
+ visibility: 'visible',
96
+ },
97
+ },
98
+ '&[aria-placeholder]': {
99
+ color: colorPlaceholder,
100
+ },
101
+ '&[aria-invalid]': {
102
+ backgroundColor: invalidBackgroundColor,
103
+ borderColor: invalidBorderColor,
104
+ },
105
+ '&:focus-visible': {
106
+ backgroundColor: backgroundColorFocus,
107
+ borderColor: borderColorFocus,
108
+ '[aria-label="Clear"]': {
109
+ visibility: 'visible',
110
+ },
111
+ },
112
+ '&:focus-within': {
113
+ backgroundColor: backgroundColorFocus,
114
+ borderColor: borderColorFocus,
115
+ '[aria-label="Clear"]': {
116
+ visibility: 'visible',
117
+ },
118
+ },
119
+ }),
120
+ });
121
+ });
122
+ const AutocompleteActions = styled('div')({
123
+ position: 'absolute',
124
+ right: '0px',
125
+ top: 'calc(50% - 12px)',
126
+ display: 'flex',
127
+ alignItems: 'center',
128
+ margin: '0px var(--pv-size-base)',
129
+ });
130
+ const AutocompleteClearButton = styled('button')({
131
+ color: 'var(--pv-color-gray-10)',
132
+ cursor: 'pointer',
133
+ visibility: 'hidden',
134
+ display: 'inline-flex',
135
+ appearance: 'none',
136
+ outline: '0px',
137
+ padding: '0px',
138
+ borderWidth: '0px',
139
+ background: 'transparent',
140
+ });
141
+ const AutocompleteOpenButton = styled(ArrowDropDownIcon)({
142
+ color: 'var(--pv-color-gray-10)',
143
+ '&[aria-disabled="true"]': {
144
+ color: 'inherit',
145
+ },
146
+ }, (props) => ({
147
+ ...(props.open && {
148
+ transform: 'rotate(180deg)',
149
+ }),
150
+ }));
151
+ const AutocompleteNativeInput = styled('input')({
152
+ bottom: 0,
153
+ left: 0,
154
+ height: '100%',
155
+ position: 'absolute',
156
+ opacity: 0,
157
+ pointerEvents: 'none',
158
+ width: '100%',
159
+ boxSizing: 'border-box',
160
+ });
161
+ const AutocompleteDropdownStateItem = styled('div')({
162
+ padding: 'var(--pv-size-base-3) var(--pv-size-base-2)',
163
+ });
164
+ const AutocompleteDropdownList = styled('ul')({
165
+ maxHeight: '36vh',
166
+ overflowY: 'auto',
167
+ margin: 0,
168
+ listStyleType: 'none',
169
+ position: 'relative',
170
+ padding: '10px 0',
171
+ });
172
+ const AutocompleteDropdownGroupName = styled(Typography)((props) => ({
173
+ padding: 'var(--pv-size-base-2)',
174
+ color: props.theme.mode === 'dark'
175
+ ? 'var(--pv-color-gray-6)'
176
+ : 'var(--pv-color-gray-9)',
177
+ }));
178
+ const AutocompleteDropdownGroupList = styled('ul')({
179
+ padding: 0,
180
+ listStyleType: 'none',
181
+ });
182
+ const AutocompleteDropdownGroupListItem = styled(MenuItem)((props) => ({
183
+ ...(props.inGroup && {
184
+ padding: '0px var(--pv-size-base-2) 0 var(--pv-size-base-3)',
185
+ }),
186
+ }));
187
+ const AutocompletePopover = styled(Popper)({
188
+ minWidth: 240,
189
+ outline: 0,
190
+ borderRadius: '4px',
191
+ minHeight: '16px',
192
+ maxHeight: 'calc(100% - 32px)',
193
+ zIndex: 1300,
194
+ }, (props) => {
195
+ const isDark = props.theme.mode === 'dark';
196
+ let backgroundColor = 'var(--pv-color-white)';
197
+ let boxShadow = 'var(--pv-shadow-light-low)';
198
+ if (isDark) {
199
+ backgroundColor = 'var(--pv-color-gray-3)';
200
+ boxShadow = 'var(--pv-shadow-dark-medium)';
201
+ }
202
+ return ({
203
+ backgroundColor,
204
+ boxShadow,
205
+ });
206
+ });
207
+ const AutocompleteTag = styled(Chip)((props) => ({
208
+ label: 'Autocomplete-tag',
209
+ borderRadius: '3px',
210
+ margin: 0,
211
+ ...(props.size === 'small' && {
212
+ height: 'var(--pv-size-base-5)',
213
+ }),
214
+ }));
215
+ const AutocompleteTagSize = styled(Typography)({
216
+ margin: '0 var(--pv-size-base-2)',
217
+ });
218
+ const AutocompleteInputField = styled(Typography)(() => ({
219
+ fontFamily: 'inherit',
220
+ outline: 'none',
221
+ boxSizing: 'border-box',
222
+ minWidth: '30px',
223
+ width: 0,
224
+ flexGrow: 1,
225
+ backgroundColor: 'transparent',
226
+ borderStyle: 'none',
227
+ appearance: 'none',
228
+ }), (props) => {
229
+ const isDark = props.theme.mode === 'dark';
230
+ const color = isDark
231
+ ? 'var(--pv-color-white)'
232
+ : 'var(--pv-color-black)';
233
+ let colorPlaceholder = 'var(--pv-color-gray-9)';
234
+ let colorDisabled = 'var(--pv-color-gray-7)';
235
+ if (isDark) {
236
+ colorPlaceholder = 'var(--pv-color-gray-6)';
237
+ colorDisabled = 'var(--pv-color-gray-4)';
238
+ }
239
+ return ({
240
+ color,
241
+ '&::placeholder': {
242
+ color: colorPlaceholder,
243
+ },
244
+ '&:disabled': {
245
+ cursor: 'not-allowed',
246
+ color: colorDisabled,
247
+ },
248
+ });
249
+ });
250
+ const AutocompleteError = styled(Typography)({
251
+ marginTop: '2px',
252
+ });
253
+ const AutocompleteLabel = styled('label')({
254
+ label: 'TextField-label',
255
+ marginBottom: '2px',
256
+ display: 'inline-block',
257
+ });
258
+ /**
259
+ *
260
+ */
261
+ export const Autocomplete = (props) => {
262
+ const { className, size, placeholder, label, disabled = false, noOptionsText, loading, loadingText, limitTags = -1, name, required, multiple = false, readOnly, error, errorText, renderRoot: renderRootProp, renderOption: renderOptionProp, renderTag: renderTagProp, getLimitTagsText = (more) => `${more} more`, groupBy, onCreate, } = props;
263
+ const { id, value, searchValue, groupedOptions, getRootProps, getInputLabelProps, getInputProps, getListboxProps, getOptionProps, getPopoverProps, getTagProps, getOptionLabel, getClearProps, } = useAutocomplete(props);
264
+ const { onChange, ...otherInputProps } = getInputProps();
265
+ const rootProps = getRootProps();
266
+ const popoverProps = getPopoverProps();
267
+ const handleKeyDown = (event) => {
268
+ // Wait until IME is settled.
269
+ if (event.which !== 229) {
270
+ switch (event.key) {
271
+ case 'Tab': {
272
+ if (popoverProps.open) {
273
+ popoverProps.onClose(event);
274
+ }
275
+ break;
276
+ }
277
+ case 'Escape':
278
+ // Prevent cursor move
279
+ event.preventDefault();
280
+ popoverProps.onClose(event);
281
+ break;
282
+ case 'Enter':
283
+ // Prevent cursor move
284
+ event.preventDefault();
285
+ if (onCreate && !groupedOptions.length) {
286
+ onCreate(event, searchValue);
287
+ }
288
+ popoverProps.onKeyDown(event);
289
+ break;
290
+ default:
291
+ popoverProps.onKeyDown(event);
292
+ }
293
+ }
294
+ };
295
+ const defaultRenderOption = (propsOption, option) => (React.createElement(AutocompleteDropdownGroupListItem, { ...propsOption, inGroup: Boolean(groupBy) }, getOptionLabel(option)));
296
+ const renderGroup = (params) => (React.createElement("li", { key: params.key },
297
+ React.createElement(AutocompleteDropdownGroupName, { variant: "c1", color: "gray-10" }, params.group),
298
+ React.createElement(AutocompleteDropdownGroupList, null, params.children)));
299
+ const defaultRenderTag = (propsOption, option) => (React.createElement(AutocompleteTag, { ...propsOption, color: "secondary", variant: "contained", size: size, disabled: disabled }, getOptionLabel(option)));
300
+ const renderRenderTag = renderTagProp || defaultRenderTag;
301
+ const renderListTag = (option, index) => {
302
+ const optionProps = getTagProps(option, index);
303
+ return renderRenderTag(optionProps, option);
304
+ };
305
+ const renderValue = () => {
306
+ if (!value || (Array.isArray(value) && value.length === 0)) {
307
+ return null;
308
+ }
309
+ if (Array.isArray(value)) {
310
+ const more = (value.length > limitTags && limitTags !== -1)
311
+ && !popoverProps.open ? (value.length - limitTags) : 0;
312
+ const valueLimits = more > 0 ? value.slice(0, limitTags) : value;
313
+ return (React.createElement(React.Fragment, null,
314
+ valueLimits.map(renderListTag),
315
+ !!more && (React.createElement(AutocompleteTagSize, { variant: "c2", color: "gray-9" }, getLimitTagsText(more)))));
316
+ }
317
+ return getOptionLabel(value);
318
+ };
319
+ const renderedValue = renderValue();
320
+ const isValueEmpty = renderedValue === null;
321
+ const popoverRef = useOutsideClick(popoverProps.onClose);
322
+ const defaultRenderRoot = ({
323
+ // @ts-ignore
324
+ ref, ...propsRoot }, valueRoot) => (React.createElement(AutocompleteField, { "aria-invalid": error || undefined, "aria-placeholder": isValueEmpty || undefined, size: size, disabled: disabled, ref: ref,
325
+ // @ts-ignore
326
+ component: "label", isHasClearIcon: !isValueEmpty && !readOnly },
327
+ multiple ? (React.createElement(React.Fragment, null,
328
+ isValueEmpty ? null : renderedValue,
329
+ React.createElement(AutocompleteInputField, { ...otherInputProps, ...propsRoot, noWrap: true,
330
+ // @ts-ignore
331
+ component: "input", type: "text", variant: size === 'small' ? 'c1' : 'b3', placeholder: placeholder, readOnly: readOnly, onChange: onChange, onKeyDown: handleKeyDown }))) : (React.createElement(AutocompleteInputField, { ...otherInputProps, ...propsRoot, noWrap: true,
332
+ // @ts-ignore
333
+ component: "input", type: "text", value: searchValue || renderedValue || '', variant: size === 'small' ? 'c1' : 'b3', placeholder: placeholder, readOnly: readOnly, onChange: onChange, onKeyDown: handleKeyDown })),
334
+ React.createElement(AutocompleteActions, null,
335
+ !isValueEmpty && !readOnly ? (React.createElement(AutocompleteClearButton, { type: "button", disabled: disabled, title: "Clear", "aria-label": "Clear", ...getClearProps() },
336
+ React.createElement(CloseSmallIcon, { "aria-hidden": true }))) : null,
337
+ React.createElement(AutocompleteOpenButton, { role: "button", title: "Open", "aria-label": "Open", "aria-disabled": disabled, open: popoverProps.open })),
338
+ React.createElement(AutocompleteNativeInput, { type: "text", value: isValueEmpty ? '' : JSON.stringify(valueRoot), tabIndex: -1, "aria-hidden": "true", disabled: disabled, autoComplete: "off", id: id, name: name, required: required, readOnly: readOnly, onChange: () => { } })));
339
+ const renderOption = renderOptionProp || defaultRenderOption;
340
+ const renderRoot = renderRootProp || defaultRenderRoot;
341
+ const renderListOption = (option, index) => {
342
+ const optionProps = getOptionProps(option, index);
343
+ return renderOption(optionProps, option);
344
+ };
345
+ return (React.createElement("div", { className: className },
346
+ label && (React.createElement(AutocompleteLabel, { ...getInputLabelProps() },
347
+ React.createElement(Typography, { component: "span", variant: "c2", color: "gray-10" }, label))),
348
+ renderRoot({
349
+ ...rootProps,
350
+ disabled,
351
+ }, value, getTagProps),
352
+ error && errorText && (React.createElement(AutocompleteError, { variant: "c2", color: "wrong" }, errorText)),
353
+ React.createElement(AutocompletePopover, { placement: "bottom-start", allowUseSameWidth: true, ...popoverProps, tabIndex: -1 },
354
+ React.createElement("div", { ref: popoverRef },
355
+ loading && groupedOptions.length === 0 && (React.createElement(AutocompleteDropdownStateItem, null, typeof loadingText === 'string' ? (React.createElement(Typography, { variant: "b2", color: "gray-10" }, loadingText)) : loadingText)),
356
+ groupedOptions.length === 0 && !loading && (React.createElement(AutocompleteDropdownStateItem, null, typeof noOptionsText === 'string' ? (React.createElement(Typography, { variant: "b2", color: "gray-10" }, noOptionsText)) : noOptionsText)),
357
+ groupedOptions.length > 0 && (React.createElement(AutocompleteDropdownList, { ...getListboxProps() }, groupedOptions
358
+ // @ts-ignore
359
+ .map((option, index) => {
360
+ // @ts-ignore
361
+ if (groupBy && 'options' in option) {
362
+ return renderGroup({
363
+ key: option.key,
364
+ group: option.group,
365
+ // @ts-ignore
366
+ children: option.options.map((option2, index2) => (renderListOption(option2, option.index + index2))),
367
+ });
368
+ }
369
+ return renderListOption(option, index);
370
+ })))))));
371
+ };
372
+ // @ts-ignore
373
+ Autocomplete.defaultProps = {
374
+ noOptionsText: 'No options',
375
+ loading: false,
376
+ loadingText: 'Loading...',
377
+ required: false,
378
+ allowCreateOption: false,
379
+ size: 'medium',
380
+ };
381
+ //# 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"}
@@ -10,4 +10,5 @@ export { useAutocomplete, } from './use_autocomplete';
10
10
  export { useEventCallback } from './use_event_callback';
11
11
  export { useEnhancedEffect } from './use_enhanced_effect';
12
12
  export { useDebounceCallback } from './use_debounce_callback';
13
+ export { useOutsideClick } from './use_outside_click';
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EACL,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAS5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,EACL,eAAe,GAChB,MAAM,oBAAoB,CAAC;AAS5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC"}
@@ -221,18 +221,34 @@ export function useAutocomplete(props) {
221
221
  onChange(event, newValue, { option, index }, reason);
222
222
  }
223
223
  };
224
- const handleInputChange = (event) => {
225
- const { value: valueInput } = event.target;
226
- setSearchValue(valueInput);
227
- if (onInputChange) {
228
- onInputChange(event, valueInput);
229
- }
230
- };
231
224
  const handleClear = (event) => {
225
+ event.preventDefault();
232
226
  setSearchValue('');
227
+ const newValue = (multiple ? [] : null);
233
228
  if (onInputChange) {
234
229
  onInputChange(event, '');
235
230
  }
231
+ setValue(newValue);
232
+ if (onChange) {
233
+ onChange(event, newValue, { option: null, index: 0 }, 'removeOption');
234
+ }
235
+ };
236
+ const handleInputChange = (event) => {
237
+ const { value: valueInput } = event.target;
238
+ if (searchValue !== valueInput) {
239
+ setSearchValue(valueInput);
240
+ if (onInputChange) {
241
+ onInputChange(event, valueInput);
242
+ }
243
+ }
244
+ if (valueInput === '') {
245
+ if (!multiple) {
246
+ handleClear(event);
247
+ }
248
+ }
249
+ else {
250
+ handleOpen(event);
251
+ }
236
252
  };
237
253
  const handleKeyDown = (event) => {
238
254
  // Wait until IME is settled.
@@ -242,11 +258,13 @@ export function useAutocomplete(props) {
242
258
  // Prevent cursor move
243
259
  event.preventDefault();
244
260
  changeHighlightedIndex(1, 'next', 'keyboard');
261
+ handleOpen(event);
245
262
  break;
246
263
  case 'ArrowUp':
247
264
  // Prevent cursor move
248
265
  event.preventDefault();
249
266
  changeHighlightedIndex(-1, 'previous', 'keyboard');
267
+ handleOpen(event);
250
268
  break;
251
269
  case 'Enter':
252
270
  // Avoid early form validation, let the end-users continue filling the form.
@@ -266,6 +284,7 @@ export function useAutocomplete(props) {
266
284
  selectNewValue(event, option, index, 'selectOption');
267
285
  };
268
286
  const handleTagDelete = (option, index) => (event) => {
287
+ event.preventDefault();
269
288
  selectNewValue(event, option, index, 'removeOption');
270
289
  };
271
290
  let groupedOptions = filteredOptions;
@@ -1 +1 @@
1
- {"version":3,"file":"use_autocomplete.js","sourceRoot":"","sources":["../../../src/hooks/use_autocomplete.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAwIxD;;GAEG;AAEH,MAAM,oBAAoB,GAA8C,CACtE,OAAO,EACP,WAAW,EACX,CAAC,EACD,cAAc,EACd,EAAE;IACF,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QAC/B,OAAO,EAAE,CAAC;KACX;IAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAE/D,OAAO,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,UAAU,eAAe,CAI7B,KAAwC;IAExC,MAAM,EACJ,EAAE,EAAE,MAAM,EACV,OAAO,EACP,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAoC,CAAC,CAAC,CAAC,IAAI,EAC3E,KAAK,EAAE,SAAS,EAChB,oBAAoB,GAAG,KAAK,EAC5B,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,YAAY,EACZ,OAAO;IACP,aAAa;IACb,cAAc,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,EACnD,YAAY,EACZ,aAAa,GAAG,oBAAoB,EACpC,MAAM,EACN,OAAO,EACP,aAAa,EACb,QAAQ,GACT,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IACzB,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,mBAAmB,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAU,KAAK,CAAC,CAAC;IACjE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,EAAE,CAAC,CAAC;IACjE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,oBAAoB,CAAC;QAC7C,KAAK,EAAE,SAAS;QAChB,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,SAAS;QAC/B,CAAC,CAAC,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,cAAc,CAAC;QAC5D,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,SAAmD,EAAE,EAAE;QAC9F,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YACvC,OAAO,CAAC,CAAC,CAAC;SACX;QAED,IAAI,SAAS,GAAG,KAAK,CAAC;QAEtB,OAAO,IAAI,EAAE;YACX,eAAe;YACf,IACE,CAAC,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,eAAe,CAAC,MAAM,CAAC;mBAC3D,CAAC,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,CAAC,CAAC,CAAC,EACjD;gBACA,OAAO,CAAC,CAAC,CAAC;aACX;YAED,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,uBAAuB,SAAS,IAAI,CAAC,CAAC;YAEtF,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,EAAE;gBAChD,4BAA4B;gBAC5B,SAAS,IAAI,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC5C;iBAAM;gBACL,OAAO,SAAS,CAAC;aAClB;SACF;IACH,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,CAAC,KAAa,EAAE,SAA4C,MAAM,EAAE,EAAE;QACjH,mBAAmB,CAAC,OAAO,GAAG,KAAK,CAAC;QAEpC,MAAM,WAAW,GAAG,UAAU,CAAC,OAAO,CAAC;QAEvC,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO;SACR;QAED,MAAM,cAAc,GAAG,WAAW,CAAC,aAAa,CAAC,sCAAsC,CAAC,CAAC;QAEzF,IAAI,cAAc,EAAE;YAClB,cAAc,CAAC,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;SACtD;QAED,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE;YAChB,WAAW,CAAC,SAAS,GAAG,CAAC,CAAC;YAE1B,OAAO;SACR;QAED,MAAM,MAAM,GAAG,WAAW,CAAC,aAAa,CAAC,uBAAuB,KAAK,IAAI,CAAC,CAAC;QAE3E,IAAI,CAAC,MAAM,EAAE;YACX,OAAO;SACR;QAED,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QAE5C,sCAAsC;QACtC,4FAA4F;QAC5F,EAAE;QACF,kEAAkE;QAClE,kEAAkE;QAClE,IAAI,WAAW,CAAC,YAAY,GAAG,WAAW,CAAC,YAAY,IAAI,MAAM,KAAK,OAAO,EAAE;YAC7E,MAAM,OAAO,GAAG,MAAM,CAAC;YAEvB,MAAM,YAAY,GAAG,WAAW,CAAC,YAAY,GAAG,WAAW,CAAC,SAAS,CAAC;YACtE,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC;YAE/D,IAAI,aAAa,GAAG,YAAY,EAAE;gBAChC,WAAW,CAAC,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC;aAClE;iBAAM,IACL,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,SAAS,EACtF;gBACA,WAAW,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,YAAY,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aACxF;SACF;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,CAC9C,IAAyC,EACzC,YAAsD,MAAM,EAC5D,SAA4C,MAAM,EAClD,EAAE;QACF,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QAED,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,MAAM,QAAQ,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;YAE5C,IAAI,IAAI,KAAK,OAAO,EAAE;gBACpB,OAAO,CAAC,CAAC,CAAC;aACX;YAED,IAAI,IAAI,KAAK,OAAO,EAAE;gBACpB,OAAO,CAAC,CAAC;aACV;YAED,IAAI,IAAI,KAAK,KAAK,EAAE;gBAClB,OAAO,QAAQ,CAAC;aACjB;YAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC;YAEpD,IAAI,QAAQ,GAAG,CAAC,EAAE;gBAChB,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;oBACnB,OAAO,CAAC,CAAC,CAAC;iBACX;gBAED,IAAI,CAAC,mBAAmB,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;oBAC9D,OAAO,CAAC,CAAC;iBACV;gBAED,OAAO,QAAQ,CAAC;aACjB;YAED,IAAI,QAAQ,GAAG,QAAQ,EAAE;gBACvB,IAAI,QAAQ,KAAK,QAAQ,GAAG,CAAC,EAAE;oBAC7B,OAAO,CAAC,CAAC,CAAC;iBACX;gBAED,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;oBACtB,OAAO,QAAQ,CAAC;iBACjB;gBAED,OAAO,CAAC,CAAC;aACV;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC,CAAC;QAEF,MAAM,SAAS,GAAG,gBAAgB,CAAC,YAAY,EAAE,EAAE,SAAS,CAAC,CAAC;QAE9D,mBAAmB,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,MAAM,oBAAoB,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAClD,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QAED,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAE1D,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,SAAS,IAAI,IAAI,EAAE;YACrD,sBAAsB,CAAC,OAAO,CAAC,CAAC;YAEhC,OAAO;SACR;QAED,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YACvB,OAAO;SACR;QAED,IAAI,SAAS,IAAI,IAAI,EAAE;YACrB,MAAM,SAAS,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;YAEpE,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;gBACpB,sBAAsB,CAAC,OAAO,CAAC,CAAC;aACjC;iBAAM;gBACL,mBAAmB,CAAC,SAAS,CAAC,CAAC;aAChC;YAED,OAAO;SACR;QAED,gEAAgE;QAChE,IAAI,mBAAmB,CAAC,OAAO,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7D,mBAAmB,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEhD,OAAO;SACR;QAED,mBAAmB,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACnD,CAAC,EAAE;QACD,eAAe,CAAC,MAAM;QACtB,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;QACxB,sBAAsB;QACtB,mBAAmB;QACnB,SAAS;QACT,WAAW;QACX,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,CAAC,IAAsB,EAAE,EAAE;QACnE,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAE1B,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QAED,oBAAoB,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,oBAAoB,EAAE,CAAC;IACzB,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,MAAM,UAAU,GAAG,CAAC,KAA2B,EAAE,EAAE;QACjD,IAAI,SAAS,EAAE;YACb,OAAO;SACR;QAED,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnB,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,KAAK,CAAC,CAAC;SACf;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,KAAuC,EAAE,EAAE;QAC9D,IAAI,QAAQ,EAAE;YACZ,OAAO;SACR;QAED,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,KAA2B,EAAE,EAAE;QAClD,IAAI,CAAC,SAAS,EAAE;YACd,OAAO;SACR;QAED,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,cAAc,CAAC,EAAE,CAAC,CAAC;QAEnB,IAAI,OAAO,EAAE;YACX,OAAO,CAAC,KAAK,CAAC,CAAC;SAChB;IACH,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,CACrB,KAA2B,EAC3B,MAAS,EACT,KAAa,EACb,UAAoC,EACpC,EAAE;QACF,IAAI,QAAQ,GAAY,MAAM,CAAC;QAC/B,IAAI,MAAM,GAAG,UAAU,CAAC;QAExB,IAAI,QAAQ,EAAE;YACZ,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAErD,MAAM,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;YAE1D,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE;gBACpB,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACvB;iBAAM;gBACL,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC9B,MAAM,GAAG,cAAc,CAAC;aACzB;SACF;QAED,QAAQ,CAAC,QAA0C,CAAC,CAAC;QAErD,IAAI,CAAC,oBAAoB,EAAE;YACzB,WAAW,CAAC,KAAK,CAAC,CAAC;SACpB;QAED,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,KAAK,EAAE,QAA0C,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;SACxF;IACH,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,KAA0C,EAAE,EAAE;QACvE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;QAE3C,cAAc,CAAC,UAAU,CAAC,CAAC;QAE3B,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;SAClC;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,KAAuC,EAAE,EAAE;QAC9D,cAAc,CAAC,EAAE,CAAC,CAAC;QAEnB,IAAI,aAAa,EAAE;YACjB,aAAa,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;SAC1B;IACH,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,KAA0C,EAAE,EAAE;QACnE,6BAA6B;QAC7B,IAAI,KAAK,CAAC,KAAK,KAAK,GAAG,EAAE;YACvB,QAAQ,KAAK,CAAC,GAAG,EAAE;gBACjB,KAAK,WAAW;oBACd,sBAAsB;oBACtB,KAAK,CAAC,cAAc,EAAE,CAAC;oBAEvB,sBAAsB,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;oBAC9C,MAAM;gBAER,KAAK,SAAS;oBACZ,sBAAsB;oBACtB,KAAK,CAAC,cAAc,EAAE,CAAC;oBAEvB,sBAAsB,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;oBACnD,MAAM;gBAER,KAAK,OAAO;oBACV,4EAA4E;oBAC5E,KAAK,CAAC,cAAc,EAAE,CAAC;oBAEvB,IAAI,mBAAmB,CAAC,OAAO,KAAK,CAAC,CAAC,IAAI,SAAS,EAAE;wBACnD,MAAM,MAAM,GAAG,eAAe,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;wBAE5D,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;qBAC5E;oBACD,MAAM;gBAER,QAAQ;aACT;SACF;IACH,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,KAAsC,EAAE,EAAE;QACnE,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAC5E,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAEtC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IACvD,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,MAAS,EAAE,KAAa,EAAE,EAAE,CAAC,CAAC,KAA2B,EAAE,EAAE;QACpF,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC;IACvD,CAAC,CAAC;IAEF,IAAI,cAAc,GAAG,eAAe,CAAC;IAErC,IAAI,OAAO,EAAE;QACX,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;YAC7D,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAE9B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,EAAE;gBACzD,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC1C;iBAAM;gBACL,GAAG,CAAC,IAAI,CAAC;oBACP,GAAG,EAAE,KAAK;oBACV,KAAK;oBACL,KAAK;oBACL,OAAO,EAAE,CAAC,MAAM,CAAC;iBAClB,CAAC,CAAC;aACJ;YAED,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;IAED,OAAO;QACL,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;YACnB,GAAG,EAAE,QAAQ;YACb,eAAe,EAAE,SAAS;YAC1B,mBAAmB,EAAE,MAAM;YAC3B,eAAe,EAAE,GAAG,EAAE,UAAU;YAChC,EAAE,EAAE,GAAG,EAAE,gBAAgB;YACzB,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,WAAW;SACrB,CAAC;QACF,kBAAkB,EAAE,GAAG,EAAE,CAAC,CAAC;YACzB,EAAE,EAAE,GAAG,EAAE,QAAQ;YACjB,OAAO,EAAE,GAAG,EAAE,gBAAgB;SAC/B,CAAC;QACF,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;YACtB,GAAG,EAAE,gBAAgB;YACrB,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,CAAC,CAAC;YACZ,EAAE,EAAE,GAAG,EAAE,UAAU;SACpB,CAAC;QACF,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;YACpB,EAAE,EAAE,GAAG,EAAE,QAAQ;YACjB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,WAAW;YAClB,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,MAAM;YACtB,WAAW,EAAE,OAAO;YACpB,UAAU,EAAE,OAAO;YACnB,QAAQ,EAAE,iBAAiB;SAC5B,CAAC;QACF,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;YACpB,QAAQ,EAAE,CAAC,CAAC;YACZ,OAAO,EAAE,WAAW;SACrB,CAAC;QACF,cAAc,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAChC,MAAM,QAAQ,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAC5D,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,MAAM,KAAK,CAAC,CACjC,CAAC;YAEF,OAAO;gBACL,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;gBACjE,QAAQ,EAAE,CAAC,CAAC;gBACZ,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,GAAG,EAAE,WAAW,KAAK,EAAE;gBAC3B,mBAAmB,EAAE,KAAK;gBAC1B,eAAe,EAAE,QAAQ;gBACzB,OAAO,EAAE,iBAAiB;aAC3B,CAAC;QACJ,CAAC;QACD,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC;YACtB,GAAG,YAAY;YACf,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,QAAQ,CAAC,OAAO;YAC1B,OAAO,EAAE,WAAW;YACpB,SAAS,EAAE,aAAa;SACzB,CAAC;QACF,WAAW,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YAC/B,GAAG,EAAE,KAAK;YACV,gBAAgB,EAAE,KAAK;YACvB,QAAQ,EAAE,CAAC,CAAC;YACZ,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,EAAE,KAAK,CAAC;SAChE,CAAC;QACF,cAAc;QACd,cAAc;QACd,SAAS;QACT,KAAK;QACL,WAAW;QACX,EAAE;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"use_autocomplete.js","sourceRoot":"","sources":["../../../src/hooks/use_autocomplete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import React from 'react';
2
+ export const useOutsideClick = (callback) => {
3
+ const ref = React.useRef(null);
4
+ React.useEffect(() => {
5
+ const handleClick = (event) => {
6
+ if (ref.current && !ref.current.contains(event.target)) {
7
+ callback();
8
+ }
9
+ };
10
+ document.addEventListener('click', handleClick, true);
11
+ return () => {
12
+ document.removeEventListener('click', handleClick, true);
13
+ };
14
+ }, [ref, callback]);
15
+ return ref;
16
+ };
17
+ //# sourceMappingURL=use_outside_click.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use_outside_click.js","sourceRoot":"","sources":["../../../src/hooks/use_outside_click.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAkB,EAAE,EAAE;IACpD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAE/B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,WAAW,GAAG,CAAC,KAAiB,EAAE,EAAE;YACxC,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBACtD,QAAQ,EAAE,CAAC;aACZ;QACH,CAAC,CAAC;QAEF,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAEtD,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAC3D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEpB,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}