@choc-ui/chakra-autocomplete 4.9.0 → 4.9.1
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.
- package/dist/chakra-autocomplete.cjs.development.js +7 -4
- package/dist/chakra-autocomplete.cjs.development.js.map +1 -1
- package/dist/chakra-autocomplete.cjs.production.min.js +1 -1
- package/dist/chakra-autocomplete.cjs.production.min.js.map +1 -1
- package/dist/chakra-autocomplete.esm.js +7 -4
- package/dist/chakra-autocomplete.esm.js.map +1 -1
- package/package.json +1 -1
|
@@ -356,7 +356,10 @@ function useAutoComplete(autoCompleteProps) {
|
|
|
356
356
|
|
|
357
357
|
setValues([]);
|
|
358
358
|
if (focusInput) (_inputRef$current3 = inputRef.current) == null ? void 0 : _inputRef$current3.focus();
|
|
359
|
-
};
|
|
359
|
+
}; //! console.log(values[0]);
|
|
360
|
+
// console.log(itemList);
|
|
361
|
+
// console.log(itemList.find(item => item.value === values[0]));
|
|
362
|
+
|
|
360
363
|
|
|
361
364
|
var tags = multiple ? values.map(function (tag) {
|
|
362
365
|
var _itemList$find;
|
|
@@ -496,6 +499,8 @@ function useAutoComplete(autoCompleteProps) {
|
|
|
496
499
|
};
|
|
497
500
|
|
|
498
501
|
var getItemProps = function getItemProps(props) {
|
|
502
|
+
var _getValue;
|
|
503
|
+
|
|
499
504
|
var _fixed = props._fixed,
|
|
500
505
|
_focus = props._focus,
|
|
501
506
|
itemChild = props.children,
|
|
@@ -510,7 +515,7 @@ function useAutoComplete(autoCompleteProps) {
|
|
|
510
515
|
sx = props.sx,
|
|
511
516
|
rest = _objectWithoutPropertiesLoose(props, _excluded2);
|
|
512
517
|
|
|
513
|
-
var value = getValue(valueProp).toString();
|
|
518
|
+
var value = (_getValue = getValue(valueProp)) == null ? void 0 : _getValue.toString();
|
|
514
519
|
var isFocused = value === focusedValue;
|
|
515
520
|
var isValidSuggestion = filteredList.findIndex(function (i) {
|
|
516
521
|
return i.value === value;
|
|
@@ -672,8 +677,6 @@ var AutoCompleteItem = /*#__PURE__*/react.forwardRef(function (props, forwardedR
|
|
|
672
677
|
setItemList(function (itemList) {
|
|
673
678
|
return [].concat(itemList, [item]);
|
|
674
679
|
});
|
|
675
|
-
if (typeof value !== "string") console.warn("wow");
|
|
676
|
-
if (typeof value !== "string" && utils.isUndefined(props.getValue)) console.error("You must define the `getValue` prop, when an Item's value is not a string");
|
|
677
680
|
}, []);
|
|
678
681
|
|
|
679
682
|
var _itemProps$item = itemProps.item,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chakra-autocomplete.cjs.development.js","sources":["../src/autocomplete-context.ts","../src/helpers/fuzzySearch.ts","../src/helpers/items.ts","../src/helpers/input.ts","../src/helpers/group.ts","../src/use-autocomplete.ts","../src/autocomplete.tsx","../src/autocomplete-item.tsx","../src/autocomplete-creatable.tsx","../src/autocomplete-group.tsx","../src/autocomplete-input.tsx","../src/components/empty-state.tsx","../src/helpers/list.ts","../src/autocomplete-list.tsx","../src/autocomplete-tag.tsx"],"sourcesContent":["import { createContext } from \"@chakra-ui/react-utils\";\nimport { UseAutoCompleteReturn } from \"./types\";\n\nexport const [AutoCompleteProvider, useAutoCompleteContext] = createContext<\n UseAutoCompleteReturn\n>({\n name: \"AutoCompleteContext\",\n errorMessage:\n \"useAutoCompleteContext: `context` is undefined. Seems you forgot to wrap all autocomplete components within `<AutoComplete />`\",\n});\n","/*\n * @param str1 The first string to compare.\n * @param str2 The second string to compare.\n * @param gramSize The size of the grams. Defaults to length 2.\n */\nexport function fuzzyScore(str1: string, str2: string, gramSize: number = 2) {\n function getNGrams(s: string, len: number) {\n s = \" \".repeat(len - 1) + s.toLowerCase() + \" \".repeat(len - 1);\n let v = new Array(s.length - len + 1);\n for (let i = 0; i < v.length; i++) {\n v[i] = s.slice(i, i + len);\n }\n return v;\n }\n\n if (!str1?.length || !str2?.length) {\n return 0.0;\n }\n\n //Order the strings by length so the order they're passed in doesn't matter\n //and so the smaller string's ngrams are always the ones in the set\n let s1 = str1.length < str2.length ? str1 : str2;\n let s2 = str1.length < str2.length ? str2 : str1;\n\n let pairs1 = getNGrams(s1, gramSize);\n let pairs2 = getNGrams(s2, gramSize);\n let set = new Set<string>(pairs1);\n\n let total = pairs2.length;\n let hits = 0;\n for (let item of pairs2) {\n if (set.delete(item)) {\n hits++;\n }\n }\n return hits / total;\n}\n","import { isEmpty } from \"@chakra-ui/utils\";\nimport { FlexProps } from \"@chakra-ui/react\";\nimport { fuzzyScore } from \"./fuzzySearch\";\nimport { Item } from \"../types\";\n\nexport const setEmphasis = (children: any, query: string) => {\n if (typeof children !== \"string\" || isEmpty(query)) {\n return children;\n }\n const newChildren = children\n .toString()\n .replace(\n new RegExp(escapeRegex(query), \"gi\"),\n (match: any) => `<mark>${match}</mark>`\n );\n return newChildren;\n};\n\nexport const getFocusedStyles = (): FlexProps => {\n return {\n bg: \"whiteAlpha.100\",\n _light: {\n bg: \"gray.200\",\n },\n };\n};\n\nexport const defaultFilterMethod = (\n query: string,\n itemValue: Item[\"value\"],\n itemLabel: Item[\"label\"]\n) => {\n return (\n itemValue?.toLowerCase().indexOf(query?.toLowerCase()) >= 0 ||\n itemLabel?.toLowerCase().indexOf(query?.toLowerCase()) >= 0 ||\n fuzzyScore(query, itemValue) >= 0.5 ||\n fuzzyScore(query, itemLabel) >= 0.5\n );\n};\n\nfunction escapeRegex(string: string) {\n return string.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n}\n","export const getMultipleWrapStyles = (themeInput: any, multiple?: boolean) => ({\n ...(multiple && {\n ...themeInput.field,\n _focusWithin: themeInput.field._focus,\n pos: \"relative\",\n minH: 9,\n // px: 3,\n py: 1.5,\n spacing: 3,\n }),\n cursor: \"text\",\n h: \"fit-content\",\n // w: \"full\",\n});\n","import { isDefined } from \"@chakra-ui/utils\";\nimport { AutoCompleteGroupProps } from \"../autocomplete-group\";\nimport { Item } from \"../types\";\n\nexport const hasFirstItem = (\n props: AutoCompleteGroupProps,\n firstItem: Item\n) => {\n return (\n isDefined(firstItem?.groupId) &&\n isDefined(props.id) &&\n firstItem?.groupId === props.id\n );\n};\nexport const hasLastItem = (props: AutoCompleteGroupProps, lastItem: Item) => {\n return (\n isDefined(lastItem?.groupId) &&\n isDefined(props.id) &&\n lastItem?.groupId === props.id\n );\n};\n\nexport const hasChildren = (\n props: AutoCompleteGroupProps,\n filteredList: Item[]\n) => {\n return filteredList.some(item => {\n return (\n isDefined(item.groupId) &&\n isDefined(props.id) &&\n item.groupId === props.id\n );\n });\n};\n","import {\n useDimensions,\n useDisclosure,\n useUpdateEffect,\n} from \"@chakra-ui/react\";\nimport {\n callAll,\n getFirstItem,\n getLastItem,\n getNextItem,\n getPrevItem,\n isObject,\n isEmpty,\n isUndefined,\n runIfFn,\n} from \"@chakra-ui/utils\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { AutoCompleteProps } from \"./autocomplete\";\nimport {\n defaultFilterMethod,\n getFocusedStyles,\n setEmphasis,\n} from \"./helpers/items\";\nimport { getMultipleWrapStyles } from \"./helpers/input\";\nimport { hasChildren, hasFirstItem, hasLastItem } from \"./helpers/group\";\nimport { Item, UseAutoCompleteReturn } from \"./types\";\nimport { AutoCompleteItemProps } from \"./autocomplete-item\";\n\n/**\n * useAutoComplete that provides all the state and focus management logic\n * for the autocomplete component. It is consumed by the `Autocomplete` component\n *\n */\n\nexport function useAutoComplete(\n autoCompleteProps: AutoCompleteProps\n): UseAutoCompleteReturn {\n let {\n closeOnBlur = true,\n closeOnSelect,\n creatable,\n defaultValues = [],\n emphasize,\n emptyState = true,\n freeSolo,\n isReadOnly,\n listAllValuesOnFocus,\n maxSuggestions,\n multiple,\n defaultIsOpen,\n shouldRenderSuggestions = () => true,\n suggestWhenEmpty,\n } = autoCompleteProps;\n\n closeOnSelect = closeOnSelect ? closeOnSelect : multiple ? false : true;\n\n freeSolo = freeSolo ? freeSolo : multiple ? true : autoCompleteProps.freeSolo;\n\n const { isOpen, onClose, onOpen } = useDisclosure({ defaultIsOpen });\n\n const [itemList, setItemList] = useState<Item[]>([]);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const inputWrapperRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const interactionRef = useRef<\"mouse\" | \"keyboard\" | null>(null);\n\n const [query, setQuery] = useState<string>(\"\");\n\n const [values, setValues] = useState<any[]>(defaultValues);\n\n useEffect(() => {\n if (!multiple && !isEmpty(defaultValues)) {\n setQuery(defaultValues[0] as any);\n }\n }, []);\n\n const [focusedValue, setFocusedValue] = useState<Item[\"value\"]>(\n itemList[0]?.value\n );\n\n const [listAll, setListAll] = useState(false);\n\n const maxSelections = autoCompleteProps.maxSelections || values.length + 1;\n\n const filteredResults = itemList\n .filter(\n i =>\n i.fixed ||\n runIfFn(\n autoCompleteProps.filter || defaultFilterMethod,\n query,\n i.value,\n i.label\n ) ||\n listAll\n )\n .filter((_, index) => (maxSuggestions ? index < maxSuggestions : true));\n\n // Add Creatable to Filtered List\n const creatableArr: any = creatable ? [{ value: query, noFilter: true }] : [];\n const filteredList: Item[] = [...filteredResults, ...creatableArr];\n\n const focusedIndex = filteredList.findIndex(i => i.value === focusedValue);\n const nextItem = getNextItem(\n focusedIndex,\n filteredList,\n !!autoCompleteProps.rollNavigation\n );\n const prevItem = getPrevItem(\n focusedIndex,\n filteredList,\n !!autoCompleteProps.rollNavigation\n );\n const firstItem = getFirstItem(filteredList);\n const lastItem = getLastItem(filteredList);\n\n useUpdateEffect(() => {\n setFocusedValue(firstItem?.value);\n }, [query]);\n\n useEffect(() => {\n const item = filteredList.find(opt => opt.value === values[0]);\n const items = values.map(val =>\n filteredList.find(opt => opt.value === val)\n );\n runIfFn(\n autoCompleteProps.onChange,\n multiple ? values : values[0],\n multiple ? items : item\n );\n }, [values, multiple]);\n\n useEffect(() => {\n const focusedItem = itemList.find(i => i.value === focusedValue);\n runIfFn(autoCompleteProps.onOptionFocus, {\n optionValue: focusedValue,\n optionLabel: focusedItem?.label,\n item: focusedItem!,\n selectMethod: interactionRef.current,\n isNewInput: false,\n });\n }, [focusedValue, autoCompleteProps.onOptionFocus]);\n\n const selectItem = (optionValue: Item[\"value\"]) => {\n if (!values.includes(optionValue) && values.length < maxSelections)\n setValues(v => (multiple ? [...v, optionValue] : [optionValue]));\n\n const option = filteredList.find(i => i.value === optionValue);\n\n const optionLabelFromValue = option?.label;\n // use value if label is not available\n const optionLabel = optionLabelFromValue || optionValue;\n setQuery(optionLabel);\n\n if (multiple) {\n setQuery(\"\");\n inputRef.current?.focus();\n }\n if (autoCompleteProps.focusInputOnSelect) inputRef.current?.focus();\n runIfFn(autoCompleteProps.onSelectOption, {\n optionValue: optionValue,\n optionLabel: optionLabel,\n item: option!,\n selectMethod: interactionRef.current,\n isNewInput: false,\n });\n if (closeOnSelect) onClose();\n };\n\n const removeItem = (itemValue: Item[\"value\"]) => {\n setValues(prevValues => {\n const item = itemList.find(opt => opt.value === itemValue);\n runIfFn(autoCompleteProps.onTagRemoved, itemValue, item, prevValues);\n return prevValues.filter(i => i !== itemValue);\n });\n if (query === itemValue) setQuery(\"\");\n };\n\n const resetItems = (focusInput?: boolean) => {\n setValues([]);\n if (focusInput) inputRef.current?.focus();\n };\n\n const tags = multiple\n ? values.map(tag => ({\n label: itemList.find(item => item.value === tag)?.label || tag,\n onRemove: () => removeItem(tag),\n }))\n : [];\n\n const children = runIfFn(autoCompleteProps.children, {\n isOpen,\n onClose,\n onOpen,\n tags,\n removeItem,\n resetItems,\n });\n\n const getInputProps: UseAutoCompleteReturn[\"getInputProps\"] = (\n props,\n themeInput\n ) => {\n const {\n onBlur,\n onChange,\n onFocus,\n onKeyDown,\n variant,\n wrapStyles,\n ...rest\n } = props;\n\n return {\n wrapper: {\n ref: inputWrapperRef,\n onClick: () => {\n inputRef?.current?.focus();\n },\n tabIndex: 0,\n ...getMultipleWrapStyles(themeInput, multiple),\n ...wrapStyles,\n },\n input: {\n isReadOnly,\n onFocus: e => {\n runIfFn(onFocus);\n if (autoCompleteProps.openOnFocus && !isReadOnly) onOpen();\n if (autoCompleteProps.selectOnFocus) e.target.select();\n if (listAllValuesOnFocus) setListAll(true);\n },\n onBlur: e => {\n runIfFn(onBlur);\n const listIsFocused = e.relatedTarget === listRef?.current;\n const inputWrapperIsFocused = inputWrapperRef.current?.contains(\n e.relatedTarget as any\n );\n if (!listIsFocused && !inputWrapperIsFocused) {\n if (closeOnBlur) onClose();\n if (!values.includes(e.target.value) && !freeSolo)\n setQuery(getLastItem(values) ?? \"\");\n }\n },\n onChange: e => {\n const newValue = e.target.value;\n runIfFn(onChange, e);\n setQuery(e.target.value);\n const queryIsEmpty = isEmpty(newValue);\n if (\n runIfFn(shouldRenderSuggestions, newValue) &&\n (!queryIsEmpty || suggestWhenEmpty)\n )\n onOpen();\n else onClose();\n setListAll(false);\n },\n onKeyDown: e => {\n runIfFn(onKeyDown, e);\n interactionRef.current = \"keyboard\";\n\n const { key } = e;\n const focusedItem = filteredList[focusedIndex];\n if (key === \"Enter\") {\n if (focusedItem && !focusedItem?.disabled)\n selectItem(focusedItem.value);\n else inputRef.current?.focus();\n e.preventDefault();\n return;\n }\n\n if (key === \"ArrowDown\") {\n setFocusedValue(nextItem.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"ArrowUp\") {\n setFocusedValue(prevItem.value);\n\n e.preventDefault();\n return;\n }\n\n if (key === \"Tab\") {\n setFocusedValue(nextItem.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"Home\") {\n setFocusedValue(firstItem?.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"End\") {\n setFocusedValue(lastItem?.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"Escape\") {\n callAll(onClose, e.preventDefault);\n }\n },\n value: query ?? \"\",\n variant: multiple ? \"unstyled\" : variant,\n ...rest,\n },\n };\n };\n\n const dim = useDimensions(inputWrapperRef, true);\n const getListProps: UseAutoCompleteReturn[\"getListProps\"] = () => {\n const width = dim?.marginBox.width as number;\n\n return {\n width,\n };\n };\n\n const getDefItemValue = (item: AutoCompleteItemProps[\"value\"]) =>\n (typeof item === \"string\" ? item : item[Object.keys(item)[0]]).toString();\n\n const getItemProps: UseAutoCompleteReturn[\"getItemProps\"] = props => {\n const {\n _fixed,\n _focus,\n children: itemChild,\n disabled,\n label,\n value: valueProp,\n fixed,\n getValue = getDefItemValue,\n onClick,\n onMouseOver,\n sx,\n ...rest\n } = props;\n const value = getValue(valueProp).toString();\n const isFocused = value === focusedValue;\n const isValidSuggestion =\n filteredList.findIndex(i => i.value === value) >= 0;\n const itemLabel = itemChild || label || value;\n return {\n item: {\n ...(typeof itemLabel !== \"string\" || !emphasize\n ? { children: itemLabel }\n : {\n dangerouslySetInnerHTML: {\n __html: setEmphasis(itemLabel, query),\n },\n }),\n \"aria-selected\": values.includes(value),\n \"aria-disabled\": disabled,\n _disabled: { opacity: 0.4, cursor: \"not-allowed\", userSelect: \"none\" },\n onClick: e => {\n runIfFn(onClick, e);\n if (!disabled) selectItem(value);\n else inputRef.current?.focus();\n },\n onMouseOver: e => {\n runIfFn(onMouseOver, e);\n setFocusedValue(value);\n interactionRef.current = \"mouse\";\n },\n sx: {\n ...sx,\n mark: {\n color: \"inherit\",\n bg: \"transparent\",\n ...(isObject(emphasize)\n ? emphasize\n : {\n fontWeight: emphasize ? \"extrabold\" : \"inherit\",\n }),\n },\n },\n ...(isFocused && (_focus || getFocusedStyles())),\n ...(fixed && _fixed),\n ...rest,\n },\n root: {\n isValidSuggestion,\n setItemList,\n value,\n },\n };\n };\n\n const getGroupProps: UseAutoCompleteReturn[\"getGroupProps\"] = props => {\n const hasItems = hasChildren(props, filteredList);\n const lastItem = getLastItem(\n filteredList.filter(i => isUndefined(i?.noFilter))\n );\n return {\n divider: {\n hasFirstChild: hasFirstItem(props, firstItem!),\n hasLastChild: hasLastItem(props, lastItem!),\n },\n group: {\n display: hasItems ? \"initial\" : \"none\",\n },\n };\n };\n\n const getEmptyStateProps: UseAutoCompleteReturn[\"getEmptyStateProps\"] = defaultEmptyState => {\n const noSuggestions = filteredList.every(i => i.noFilter);\n if (noSuggestions && emptyState && !creatable) {\n return typeof emptyState === \"boolean\"\n ? defaultEmptyState\n : runIfFn(emptyState, { query });\n }\n };\n\n return {\n autoCompleteProps,\n children,\n filteredList,\n filteredResults,\n focusedValue,\n getEmptyStateProps,\n getGroupProps,\n getInputProps,\n getItemProps,\n getListProps,\n inputRef,\n interactionRef,\n isOpen,\n itemList,\n listRef,\n onClose,\n onOpen,\n query,\n setQuery,\n tags,\n values,\n };\n}\n","import React from \"react\";\n\nimport { AutoCompleteProvider } from \"./autocomplete-context\";\nimport { useAutoComplete } from \"./use-autocomplete\";\nimport { chakra, forwardRef, Popover } from \"@chakra-ui/react\";\nimport { UseAutoCompleteProps, UseAutoCompleteReturn } from \"./types\";\n\nexport interface AutoCompleteProps extends UseAutoCompleteProps {\n children: UseAutoCompleteReturn[\"children\"];\n}\n\nexport const AutoComplete = forwardRef<AutoCompleteProps, \"div\">(\n (props, ref) => {\n const context = useAutoComplete(props);\n const { children, isOpen, onClose, onOpen } = context;\n\n return (\n <AutoCompleteProvider value={context}>\n <Popover\n isLazy\n isOpen={isOpen}\n onClose={onClose}\n onOpen={onOpen}\n autoFocus={false}\n placement=\"bottom\"\n closeOnBlur={true}\n >\n <chakra.div\n sx={{\n \".chakra-popover__popper\": {\n position: \"unset !important\",\n },\n }}\n w=\"full\"\n ref={ref}\n >\n {children}\n </chakra.div>\n </Popover>\n </AutoCompleteProvider>\n );\n }\n);\n\nAutoComplete.displayName = \"AutoComplete\";\n","import {\n CSSObject,\n Flex,\n FlexProps,\n forwardRef,\n useMergeRefs,\n} from \"@chakra-ui/react\";\nimport { isUndefined, omit, pick } from \"@chakra-ui/utils\";\nimport React, { useEffect, useRef } from \"react\";\n\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\n\nexport interface AutoCompleteItemProps extends FlexProps {\n value: any;\n label?: string;\n fixed?: boolean;\n _focus?: CSSObject | any;\n disabled?: boolean;\n _fixed?: CSSObject;\n getValue?: (item: AutoCompleteItemProps[\"value\"]) => any;\n groupId?: string;\n}\n\nexport const AutoCompleteItem = forwardRef<AutoCompleteItemProps, \"div\">(\n (props, forwardedRef) => {\n const {\n focusedValue,\n getItemProps,\n interactionRef,\n } = useAutoCompleteContext();\n const itemRef = useRef<any>();\n const ref = useMergeRefs(forwardedRef, itemRef);\n\n const itemProps = getItemProps(props);\n const { isValidSuggestion, setItemList, value } = itemProps.root;\n\n const isFocused = focusedValue === value;\n\n useEffect(() => {\n if (isFocused && interactionRef.current === \"keyboard\")\n itemRef?.current?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n }, [isFocused, interactionRef]);\n\n useEffect(() => {\n const item = {\n ...pick(props, [\"label\", \"fixed\", \"disabled\", \"groupId\"]),\n itemVal: props.value,\n value,\n };\n setItemList((itemList: any) => [...itemList, item]);\n if (typeof value !== \"string\") console.warn(\"wow\");\n if (typeof value !== \"string\" && isUndefined(props.getValue))\n console.error(\n \"You must define the `getValue` prop, when an Item's value is not a string\"\n );\n }, []);\n\n const { children, dangerouslySetInnerHTML, ...restProps } = itemProps.item;\n\n const rest = omit(restProps, [\"groupId\"] as any);\n\n return isValidSuggestion ? (\n <Flex ref={ref} {...baseItemStyles} {...rest}>\n {children ? (\n children\n ) : (\n <span dangerouslySetInnerHTML={dangerouslySetInnerHTML} />\n )}\n </Flex>\n ) : null;\n }\n);\n\nAutoCompleteItem.displayName = \"AutoCompleteItem\";\n\nexport const baseItemStyles: FlexProps = {\n mx: \"2\",\n px: \"2\",\n py: \"2\",\n borderRadius: \"md\",\n cursor: \"pointer\",\n};\n","import { Flex, FlexProps } from \"@chakra-ui/react\";\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\";\nimport { isEmpty, runIfFn } from \"@chakra-ui/utils\";\n\nimport React from \"react\";\n\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\nimport { baseItemStyles } from \"./autocomplete-item\";\n\ninterface AutoCompleteCreatableProps extends FlexProps {\n children?: MaybeRenderProp<{ value: any }>;\n}\n\nexport function AutoCompleteCreatable(props: AutoCompleteCreatableProps) {\n const { children: childrenProp, ...rest } = props;\n const {\n autoCompleteProps,\n getItemProps,\n query,\n filteredResults,\n } = useAutoCompleteContext();\n\n const queryValue = <mark>{query}</mark>;\n const { children, ...itemProps } = getItemProps({\n ...props,\n value: query,\n children: runIfFn(childrenProp, {\n value: queryValue,\n }),\n }).item;\n\n const queryExistsInList = filteredResults.some(i => i.value === query);\n const showCreatable =\n autoCompleteProps.creatable && !isEmpty(query) && !queryExistsInList;\n\n return showCreatable ? (\n <Flex {...baseItemStyles} {...itemProps} {...rest}>\n {children || `Add ${query}`}\n </Flex>\n ) : null;\n}\n\nAutoCompleteCreatable.displayName = \"AutoCompleteCreatable\";\n","import {\n Box,\n BoxProps,\n Divider,\n DividerProps,\n Flex,\n FlexProps,\n forwardRef,\n} from \"@chakra-ui/react\";\nimport { omit } from \"@chakra-ui/utils\";\nimport React from \"react\";\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\n\nexport interface AutoCompleteGroupProps extends BoxProps {\n children?: React.ReactNode;\n showDivider?: boolean;\n dividerColor?: string;\n}\n\nexport const AutoCompleteGroup = forwardRef<AutoCompleteGroupProps, \"div\">(\n (props, ref) => {\n const { children, showDivider, ...restProps } = props;\n const rest = omit(restProps, [\"groupSibling\"] as any);\n\n const { getGroupProps } = useAutoCompleteContext();\n\n const { group } = getGroupProps(props);\n\n const dividerStyles = useDividerStyles(props);\n\n return (\n <Box ref={ref} {...group} {...rest}>\n <Divider {...dividerStyles.top} />\n {children}\n <Divider {...dividerStyles.bottom} />\n </Box>\n );\n }\n);\n\nexport const AutoCompleteGroupTitle = forwardRef<FlexProps, \"div\">(\n (props, ref) => {\n return <Flex {...baseTitleStyles} {...props} ref={ref} />;\n }\n);\n\nAutoCompleteGroup.displayName = \"AutoCompleteGroup\";\nAutoCompleteGroupTitle.displayName = \"AutoCompleteGroupTitle\";\n\nconst baseTitleStyles: FlexProps = {\n ml: 5,\n my: 1,\n fontSize: \"xs\",\n letterSpacing: \"wider\",\n fontWeight: \"extrabold\",\n textTransform: \"uppercase\",\n};\n\nconst useDividerStyles = (\n props: AutoCompleteGroupProps & { groupSibling?: boolean }\n) => {\n const { getGroupProps } = useAutoCompleteContext();\n\n const hasGroupSibling: unknown = props.groupSibling;\n\n const {\n divider: { hasFirstChild, hasLastChild },\n } = getGroupProps(props as AutoCompleteGroupProps);\n\n const baseStyles: DividerProps = {\n my: 2,\n borderColor: props.dividerColor,\n };\n\n const top = {\n ...baseStyles,\n mb: 4,\n display: !props.showDivider || hasFirstChild ? \"none\" : \"\",\n };\n const bottom = {\n ...baseStyles,\n display:\n !props.showDivider || hasLastChild || hasGroupSibling ? \"none\" : \"\",\n };\n\n return { top, bottom };\n};\n","import {\n CSSObject,\n forwardRef,\n Input,\n InputProps,\n useMergeRefs,\n useMultiStyleConfig,\n Wrap,\n WrapItem,\n} from \"@chakra-ui/react\";\nimport { runIfFn } from \"@chakra-ui/utils\";\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\";\nimport React, { useEffect } from \"react\";\n\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\nimport { UseAutoCompleteReturn } from \"./types\";\n\nexport interface AutoCompleteInputProps extends InputProps {\n children?: MaybeRenderProp<{ tags: UseAutoCompleteReturn[\"tags\"] }>;\n wrapStyles?: CSSObject;\n}\n\nexport const AutoCompleteInput = forwardRef<AutoCompleteInputProps, \"input\">(\n (props, forwardedRef) => {\n const {\n inputRef,\n getInputProps,\n setQuery,\n tags,\n } = useAutoCompleteContext();\n\n const ref = useMergeRefs(forwardedRef, inputRef);\n\n const { children: childrenProp, value, ...rest } = props;\n\n useEffect(() => {\n setQuery(value ?? \"\");\n }, [value, setQuery]);\n\n const themeInput: any = useMultiStyleConfig(\"Input\", props);\n\n const inputProps = getInputProps(rest, themeInput);\n\n const children = runIfFn(childrenProp, { tags });\n\n return (\n <Wrap {...inputProps.wrapper}>\n {children}\n <WrapItem as={Input} {...(inputProps.input as any)} ref={ref} />\n </Wrap>\n );\n }\n);\n\nAutoCompleteInput.displayName = \"Input\";\n\nAutoCompleteInput.id = \"Input\";\n","import { Box, BoxProps, Flex, FlexProps } from \"@chakra-ui/layout\";\nimport React from \"react\";\nimport { useAutoCompleteContext } from \"../autocomplete-context\";\n\nexport const EmptyState = (props: BoxProps) => {\n const { getEmptyStateProps } = useAutoCompleteContext();\n\n const emptyState = getEmptyStateProps(\n <Flex {...emptyStyles}>No options found!</Flex>\n );\n\n return <Box {...props}>{emptyState}</Box>;\n};\n\nconst emptyStyles: FlexProps = {\n fontSize: \"sm\",\n align: \"center\",\n justify: \"center\",\n fontWeight: \"bold\",\n fontStyle: \"italic\",\n};\n","import React from \"react\";\n\nexport const siblingInfo = (children: React.ReactNode) => {\n return React.Children.map(children, (child: any, i) => {\n if (child.type.displayName === \"AutoCompleteGroup\") {\n const sibling: any = React.Children.toArray(children)[i + 1];\n return React.cloneElement(child, {\n groupSibling: sibling\n ? sibling.type.displayName === \"AutoCompleteGroup\"\n : false,\n });\n }\n return child;\n });\n};\n","import {\n forwardRef,\n PopoverContent,\n PopoverContentProps,\n useMergeRefs,\n} from \"@chakra-ui/react\";\nimport React from \"react\";\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\nimport { EmptyState } from \"./components/empty-state\";\nimport { siblingInfo } from \"./helpers/list\";\n\nexport type AutoCompleteListProps = PopoverContentProps;\n\nexport const AutoCompleteList = forwardRef<AutoCompleteListProps, \"div\">(\n (props, forwardedRef) => {\n const { children, ...rest } = props;\n const { listRef, getListProps } = useAutoCompleteContext();\n const ref = useMergeRefs(forwardedRef, listRef);\n const listProps = getListProps();\n\n return (\n <PopoverContent ref={ref} {...baseStyles} {...listProps} {...rest}>\n {siblingInfo(children)}\n <EmptyState />\n </PopoverContent>\n );\n }\n);\n\nAutoCompleteList.displayName = \"AutoCompleteList\";\n\nconst baseStyles: PopoverContentProps = {\n mt: \"4\",\n py: \"4\",\n opacity: \"0\",\n bg: \"#232934\",\n borderRadius: \"md\",\n maxH: \"350px\",\n border: \"none\",\n boxShadow: \"base\",\n pos: \"absolute\",\n zIndex: \"popover\",\n overflowY: \"auto\",\n\n _light: {\n bg: \"#ffffff\",\n },\n\n _focus: {\n boxShadow: \"none\",\n },\n};\n","import { WrapItem } from \"@chakra-ui/layout\";\nimport { Tag, TagCloseButton, TagLabel, TagProps } from \"@chakra-ui/tag\";\nimport { runIfFn } from \"@chakra-ui/utils\";\nimport React, { memo } from \"react\";\n\ntype AutoCompleteTagProps = {\n disabled?: boolean;\n label: string;\n onRemove?: () => void;\n} & TagProps;\n\nexport const AutoCompleteTag = memo((props: AutoCompleteTagProps) => {\n const { label, onRemove, disabled, ...rest } = props;\n\n return (\n <WrapItem>\n <Tag\n borderRadius=\"md\"\n fontWeight=\"normal\"\n {...(disabled && disabledStyles)}\n {...rest}\n >\n <TagLabel>{label}</TagLabel>\n <TagCloseButton\n onClick={() => !disabled && runIfFn(onRemove)}\n cursor=\"pointer\"\n {...(disabled && disabledStyles)}\n />\n </Tag>\n </WrapItem>\n );\n});\n\nconst disabledStyles: TagProps = {\n cursor: \"text\",\n userSelect: \"none\",\n opacity: 0.4,\n _focus: { boxShadow: \"none\" },\n};\n"],"names":["createContext","name","errorMessage","AutoCompleteProvider","useAutoCompleteContext","fuzzyScore","str1","str2","gramSize","getNGrams","s","len","repeat","toLowerCase","v","Array","length","i","slice","s1","s2","pairs1","pairs2","set","Set","total","hits","item","setEmphasis","children","query","isEmpty","newChildren","toString","replace","RegExp","escapeRegex","match","getFocusedStyles","bg","_light","defaultFilterMethod","itemValue","itemLabel","indexOf","string","getMultipleWrapStyles","themeInput","multiple","field","_focusWithin","_focus","pos","minH","py","spacing","cursor","h","hasFirstItem","props","firstItem","isDefined","groupId","id","hasLastItem","lastItem","hasChildren","filteredList","some","useAutoComplete","autoCompleteProps","closeOnBlur","closeOnSelect","creatable","defaultValues","emphasize","emptyState","freeSolo","isReadOnly","listAllValuesOnFocus","maxSuggestions","defaultIsOpen","shouldRenderSuggestions","suggestWhenEmpty","useDisclosure","isOpen","onClose","onOpen","useState","itemList","setItemList","inputRef","useRef","inputWrapperRef","listRef","interactionRef","setQuery","values","setValues","useEffect","value","focusedValue","setFocusedValue","listAll","setListAll","maxSelections","filteredResults","filter","fixed","runIfFn","label","_","index","creatableArr","noFilter","focusedIndex","findIndex","nextItem","getNextItem","rollNavigation","prevItem","getPrevItem","getFirstItem","getLastItem","useUpdateEffect","find","opt","items","map","val","onChange","focusedItem","onOptionFocus","optionValue","optionLabel","selectMethod","current","isNewInput","selectItem","includes","option","optionLabelFromValue","focus","focusInputOnSelect","onSelectOption","removeItem","prevValues","onTagRemoved","resetItems","focusInput","tags","tag","onRemove","getInputProps","onBlur","onFocus","onKeyDown","variant","wrapStyles","rest","wrapper","ref","onClick","tabIndex","input","e","openOnFocus","selectOnFocus","target","select","listIsFocused","relatedTarget","inputWrapperIsFocused","contains","newValue","queryIsEmpty","key","disabled","preventDefault","callAll","dim","useDimensions","getListProps","width","marginBox","getDefItemValue","Object","keys","getItemProps","_fixed","itemChild","valueProp","getValue","onMouseOver","sx","isFocused","isValidSuggestion","dangerouslySetInnerHTML","__html","_disabled","opacity","userSelect","mark","color","isObject","fontWeight","root","getGroupProps","hasItems","isUndefined","divider","hasFirstChild","hasLastChild","group","display","getEmptyStateProps","defaultEmptyState","noSuggestions","every","AutoComplete","forwardRef","context","React","Popover","isLazy","autoFocus","placement","chakra","div","position","w","displayName","AutoCompleteItem","forwardedRef","itemRef","useMergeRefs","itemProps","scrollIntoView","behavior","block","pick","itemVal","console","warn","error","restProps","omit","Flex","baseItemStyles","mx","px","borderRadius","AutoCompleteCreatable","childrenProp","queryValue","queryExistsInList","showCreatable","AutoCompleteGroup","showDivider","dividerStyles","useDividerStyles","Box","Divider","top","bottom","AutoCompleteGroupTitle","baseTitleStyles","ml","my","fontSize","letterSpacing","textTransform","hasGroupSibling","groupSibling","baseStyles","borderColor","dividerColor","mb","AutoCompleteInput","useMultiStyleConfig","inputProps","Wrap","WrapItem","as","Input","EmptyState","emptyStyles","align","justify","fontStyle","siblingInfo","Children","child","type","sibling","toArray","cloneElement","AutoCompleteList","listProps","PopoverContent","mt","maxH","border","boxShadow","zIndex","overflowY","AutoCompleteTag","memo","Tag","disabledStyles","TagLabel","TagCloseButton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chakra-autocomplete.cjs.development.js","sources":["../src/autocomplete-context.ts","../src/helpers/fuzzySearch.ts","../src/helpers/items.ts","../src/helpers/input.ts","../src/helpers/group.ts","../src/use-autocomplete.ts","../src/autocomplete.tsx","../src/autocomplete-item.tsx","../src/autocomplete-creatable.tsx","../src/autocomplete-group.tsx","../src/autocomplete-input.tsx","../src/components/empty-state.tsx","../src/helpers/list.ts","../src/autocomplete-list.tsx","../src/autocomplete-tag.tsx"],"sourcesContent":["import { createContext } from \"@chakra-ui/react-utils\";\nimport { UseAutoCompleteReturn } from \"./types\";\n\nexport const [AutoCompleteProvider, useAutoCompleteContext] = createContext<\n UseAutoCompleteReturn\n>({\n name: \"AutoCompleteContext\",\n errorMessage:\n \"useAutoCompleteContext: `context` is undefined. Seems you forgot to wrap all autocomplete components within `<AutoComplete />`\",\n});\n","/*\n * @param str1 The first string to compare.\n * @param str2 The second string to compare.\n * @param gramSize The size of the grams. Defaults to length 2.\n */\nexport function fuzzyScore(str1: string, str2: string, gramSize: number = 2) {\n function getNGrams(s: string, len: number) {\n s = \" \".repeat(len - 1) + s.toLowerCase() + \" \".repeat(len - 1);\n let v = new Array(s.length - len + 1);\n for (let i = 0; i < v.length; i++) {\n v[i] = s.slice(i, i + len);\n }\n return v;\n }\n\n if (!str1?.length || !str2?.length) {\n return 0.0;\n }\n\n //Order the strings by length so the order they're passed in doesn't matter\n //and so the smaller string's ngrams are always the ones in the set\n let s1 = str1.length < str2.length ? str1 : str2;\n let s2 = str1.length < str2.length ? str2 : str1;\n\n let pairs1 = getNGrams(s1, gramSize);\n let pairs2 = getNGrams(s2, gramSize);\n let set = new Set<string>(pairs1);\n\n let total = pairs2.length;\n let hits = 0;\n for (let item of pairs2) {\n if (set.delete(item)) {\n hits++;\n }\n }\n return hits / total;\n}\n","import { isEmpty } from \"@chakra-ui/utils\";\nimport { FlexProps } from \"@chakra-ui/react\";\nimport { fuzzyScore } from \"./fuzzySearch\";\nimport { Item } from \"../types\";\n\nexport const setEmphasis = (children: any, query: string) => {\n if (typeof children !== \"string\" || isEmpty(query)) {\n return children;\n }\n const newChildren = children\n .toString()\n .replace(\n new RegExp(escapeRegex(query), \"gi\"),\n (match: any) => `<mark>${match}</mark>`\n );\n return newChildren;\n};\n\nexport const getFocusedStyles = (): FlexProps => {\n return {\n bg: \"whiteAlpha.100\",\n _light: {\n bg: \"gray.200\",\n },\n };\n};\n\nexport const defaultFilterMethod = (\n query: string,\n itemValue: Item[\"value\"],\n itemLabel: Item[\"label\"]\n) => {\n return (\n itemValue?.toLowerCase().indexOf(query?.toLowerCase()) >= 0 ||\n itemLabel?.toLowerCase().indexOf(query?.toLowerCase()) >= 0 ||\n fuzzyScore(query, itemValue) >= 0.5 ||\n fuzzyScore(query, itemLabel) >= 0.5\n );\n};\n\nfunction escapeRegex(string: string) {\n return string.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n}\n","export const getMultipleWrapStyles = (themeInput: any, multiple?: boolean) => ({\n ...(multiple && {\n ...themeInput.field,\n _focusWithin: themeInput.field._focus,\n pos: \"relative\",\n minH: 9,\n // px: 3,\n py: 1.5,\n spacing: 3,\n }),\n cursor: \"text\",\n h: \"fit-content\",\n // w: \"full\",\n});\n","import { isDefined } from \"@chakra-ui/utils\";\nimport { AutoCompleteGroupProps } from \"../autocomplete-group\";\nimport { Item } from \"../types\";\n\nexport const hasFirstItem = (\n props: AutoCompleteGroupProps,\n firstItem: Item\n) => {\n return (\n isDefined(firstItem?.groupId) &&\n isDefined(props.id) &&\n firstItem?.groupId === props.id\n );\n};\nexport const hasLastItem = (props: AutoCompleteGroupProps, lastItem: Item) => {\n return (\n isDefined(lastItem?.groupId) &&\n isDefined(props.id) &&\n lastItem?.groupId === props.id\n );\n};\n\nexport const hasChildren = (\n props: AutoCompleteGroupProps,\n filteredList: Item[]\n) => {\n return filteredList.some(item => {\n return (\n isDefined(item.groupId) &&\n isDefined(props.id) &&\n item.groupId === props.id\n );\n });\n};\n","import {\n useDimensions,\n useDisclosure,\n useUpdateEffect,\n} from \"@chakra-ui/react\";\nimport {\n callAll,\n getFirstItem,\n getLastItem,\n getNextItem,\n getPrevItem,\n isObject,\n isEmpty,\n isUndefined,\n runIfFn,\n} from \"@chakra-ui/utils\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { AutoCompleteProps } from \"./autocomplete\";\nimport {\n defaultFilterMethod,\n getFocusedStyles,\n setEmphasis,\n} from \"./helpers/items\";\nimport { getMultipleWrapStyles } from \"./helpers/input\";\nimport { hasChildren, hasFirstItem, hasLastItem } from \"./helpers/group\";\nimport { Item, UseAutoCompleteReturn } from \"./types\";\nimport { AutoCompleteItemProps } from \"./autocomplete-item\";\n\n/**\n * useAutoComplete that provides all the state and focus management logic\n * for the autocomplete component. It is consumed by the `Autocomplete` component\n *\n */\n\nexport function useAutoComplete(\n autoCompleteProps: AutoCompleteProps\n): UseAutoCompleteReturn {\n let {\n closeOnBlur = true,\n closeOnSelect,\n creatable,\n defaultValues = [],\n emphasize,\n emptyState = true,\n freeSolo,\n isReadOnly,\n listAllValuesOnFocus,\n maxSuggestions,\n multiple,\n defaultIsOpen,\n shouldRenderSuggestions = () => true,\n suggestWhenEmpty,\n } = autoCompleteProps;\n\n closeOnSelect = closeOnSelect ? closeOnSelect : multiple ? false : true;\n\n freeSolo = freeSolo ? freeSolo : multiple ? true : autoCompleteProps.freeSolo;\n\n const { isOpen, onClose, onOpen } = useDisclosure({ defaultIsOpen });\n\n const [itemList, setItemList] = useState<Item[]>([]);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const inputWrapperRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const interactionRef = useRef<\"mouse\" | \"keyboard\" | null>(null);\n\n const [query, setQuery] = useState<string>(\"\");\n\n const [values, setValues] = useState<any[]>(defaultValues);\n\n useEffect(() => {\n if (!multiple && !isEmpty(defaultValues)) {\n setQuery(defaultValues[0] as any);\n }\n }, []);\n\n const [focusedValue, setFocusedValue] = useState<Item[\"value\"]>(\n itemList[0]?.value\n );\n\n const [listAll, setListAll] = useState(false);\n\n const maxSelections = autoCompleteProps.maxSelections || values.length + 1;\n\n const filteredResults = itemList\n .filter(\n i =>\n i.fixed ||\n runIfFn(\n autoCompleteProps.filter || defaultFilterMethod,\n query,\n i.value,\n i.label\n ) ||\n listAll\n )\n .filter((_, index) => (maxSuggestions ? index < maxSuggestions : true));\n\n // Add Creatable to Filtered List\n const creatableArr: any = creatable ? [{ value: query, noFilter: true }] : [];\n const filteredList: Item[] = [...filteredResults, ...creatableArr];\n\n const focusedIndex = filteredList.findIndex(i => i.value === focusedValue);\n const nextItem = getNextItem(\n focusedIndex,\n filteredList,\n !!autoCompleteProps.rollNavigation\n );\n const prevItem = getPrevItem(\n focusedIndex,\n filteredList,\n !!autoCompleteProps.rollNavigation\n );\n const firstItem = getFirstItem(filteredList);\n const lastItem = getLastItem(filteredList);\n\n useUpdateEffect(() => {\n setFocusedValue(firstItem?.value);\n }, [query]);\n\n useEffect(() => {\n const item = filteredList.find(opt => opt.value === values[0]);\n const items = values.map(val =>\n filteredList.find(opt => opt.value === val)\n );\n runIfFn(\n autoCompleteProps.onChange,\n multiple ? values : values[0],\n multiple ? items : item\n );\n }, [values, multiple]);\n\n useEffect(() => {\n const focusedItem = itemList.find(i => i.value === focusedValue);\n runIfFn(autoCompleteProps.onOptionFocus, {\n optionValue: focusedValue,\n optionLabel: focusedItem?.label,\n item: focusedItem!,\n selectMethod: interactionRef.current,\n isNewInput: false,\n });\n }, [focusedValue, autoCompleteProps.onOptionFocus]);\n\n const selectItem = (optionValue: Item[\"value\"]) => {\n if (!values.includes(optionValue) && values.length < maxSelections)\n setValues(v => (multiple ? [...v, optionValue] : [optionValue]));\n\n const option = filteredList.find(i => i.value === optionValue);\n\n const optionLabelFromValue = option?.label;\n // use value if label is not available\n const optionLabel = optionLabelFromValue || optionValue;\n setQuery(optionLabel);\n\n if (multiple) {\n setQuery(\"\");\n inputRef.current?.focus();\n }\n if (autoCompleteProps.focusInputOnSelect) inputRef.current?.focus();\n runIfFn(autoCompleteProps.onSelectOption, {\n optionValue: optionValue,\n optionLabel: optionLabel,\n item: option!,\n selectMethod: interactionRef.current,\n isNewInput: false,\n });\n if (closeOnSelect) onClose();\n };\n\n const removeItem = (itemValue: Item[\"value\"]) => {\n setValues(prevValues => {\n const item = itemList.find(opt => opt.value === itemValue);\n runIfFn(autoCompleteProps.onTagRemoved, itemValue, item, prevValues);\n return prevValues.filter(i => i !== itemValue);\n });\n if (query === itemValue) setQuery(\"\");\n };\n\n const resetItems = (focusInput?: boolean) => {\n setValues([]);\n if (focusInput) inputRef.current?.focus();\n };\n\n //! console.log(values[0]);\n // console.log(itemList);\n // console.log(itemList.find(item => item.value === values[0]));\n\n const tags = multiple\n ? values.map(tag => ({\n label: itemList.find(item => item.value === tag)?.label || tag,\n onRemove: () => removeItem(tag),\n }))\n : [];\n\n const children = runIfFn(autoCompleteProps.children, {\n isOpen,\n onClose,\n onOpen,\n tags,\n removeItem,\n resetItems,\n });\n\n const getInputProps: UseAutoCompleteReturn[\"getInputProps\"] = (\n props,\n themeInput\n ) => {\n const {\n onBlur,\n onChange,\n onFocus,\n onKeyDown,\n variant,\n wrapStyles,\n ...rest\n } = props;\n\n return {\n wrapper: {\n ref: inputWrapperRef,\n onClick: () => {\n inputRef?.current?.focus();\n },\n tabIndex: 0,\n ...getMultipleWrapStyles(themeInput, multiple),\n ...wrapStyles,\n },\n input: {\n isReadOnly,\n onFocus: e => {\n runIfFn(onFocus);\n if (autoCompleteProps.openOnFocus && !isReadOnly) onOpen();\n if (autoCompleteProps.selectOnFocus) e.target.select();\n if (listAllValuesOnFocus) setListAll(true);\n },\n onBlur: e => {\n runIfFn(onBlur);\n const listIsFocused = e.relatedTarget === listRef?.current;\n const inputWrapperIsFocused = inputWrapperRef.current?.contains(\n e.relatedTarget as any\n );\n if (!listIsFocused && !inputWrapperIsFocused) {\n if (closeOnBlur) onClose();\n if (!values.includes(e.target.value) && !freeSolo)\n setQuery(getLastItem(values) ?? \"\");\n }\n },\n onChange: e => {\n const newValue = e.target.value;\n runIfFn(onChange, e);\n setQuery(e.target.value);\n const queryIsEmpty = isEmpty(newValue);\n if (\n runIfFn(shouldRenderSuggestions, newValue) &&\n (!queryIsEmpty || suggestWhenEmpty)\n )\n onOpen();\n else onClose();\n setListAll(false);\n },\n onKeyDown: e => {\n runIfFn(onKeyDown, e);\n interactionRef.current = \"keyboard\";\n\n const { key } = e;\n const focusedItem = filteredList[focusedIndex];\n if (key === \"Enter\") {\n if (focusedItem && !focusedItem?.disabled)\n selectItem(focusedItem.value);\n else inputRef.current?.focus();\n e.preventDefault();\n return;\n }\n\n if (key === \"ArrowDown\") {\n setFocusedValue(nextItem.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"ArrowUp\") {\n setFocusedValue(prevItem.value);\n\n e.preventDefault();\n return;\n }\n\n if (key === \"Tab\") {\n setFocusedValue(nextItem.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"Home\") {\n setFocusedValue(firstItem?.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"End\") {\n setFocusedValue(lastItem?.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"Escape\") {\n callAll(onClose, e.preventDefault);\n }\n },\n value: query ?? \"\",\n variant: multiple ? \"unstyled\" : variant,\n ...rest,\n },\n };\n };\n\n const dim = useDimensions(inputWrapperRef, true);\n const getListProps: UseAutoCompleteReturn[\"getListProps\"] = () => {\n const width = dim?.marginBox.width as number;\n\n return {\n width,\n };\n };\n\n const getDefItemValue = (item: AutoCompleteItemProps[\"value\"]) =>\n (typeof item === \"string\" ? item : item[Object.keys(item)[0]]).toString();\n\n const getItemProps: UseAutoCompleteReturn[\"getItemProps\"] = props => {\n const {\n _fixed,\n _focus,\n children: itemChild,\n disabled,\n label,\n value: valueProp,\n fixed,\n getValue = getDefItemValue,\n onClick,\n onMouseOver,\n sx,\n ...rest\n } = props;\n const value = getValue(valueProp)?.toString();\n const isFocused = value === focusedValue;\n const isValidSuggestion =\n filteredList.findIndex(i => i.value === value) >= 0;\n const itemLabel = itemChild || label || value;\n return {\n item: {\n ...(typeof itemLabel !== \"string\" || !emphasize\n ? { children: itemLabel }\n : {\n dangerouslySetInnerHTML: {\n __html: setEmphasis(itemLabel, query),\n },\n }),\n \"aria-selected\": values.includes(value),\n \"aria-disabled\": disabled,\n _disabled: { opacity: 0.4, cursor: \"not-allowed\", userSelect: \"none\" },\n onClick: e => {\n runIfFn(onClick, e);\n if (!disabled) selectItem(value);\n else inputRef.current?.focus();\n },\n onMouseOver: e => {\n runIfFn(onMouseOver, e);\n setFocusedValue(value);\n interactionRef.current = \"mouse\";\n },\n sx: {\n ...sx,\n mark: {\n color: \"inherit\",\n bg: \"transparent\",\n ...(isObject(emphasize)\n ? emphasize\n : {\n fontWeight: emphasize ? \"extrabold\" : \"inherit\",\n }),\n },\n },\n ...(isFocused && (_focus || getFocusedStyles())),\n ...(fixed && _fixed),\n ...rest,\n },\n root: {\n isValidSuggestion,\n setItemList,\n value,\n },\n };\n };\n\n const getGroupProps: UseAutoCompleteReturn[\"getGroupProps\"] = props => {\n const hasItems = hasChildren(props, filteredList);\n const lastItem = getLastItem(\n filteredList.filter(i => isUndefined(i?.noFilter))\n );\n return {\n divider: {\n hasFirstChild: hasFirstItem(props, firstItem!),\n hasLastChild: hasLastItem(props, lastItem!),\n },\n group: {\n display: hasItems ? \"initial\" : \"none\",\n },\n };\n };\n\n const getEmptyStateProps: UseAutoCompleteReturn[\"getEmptyStateProps\"] = defaultEmptyState => {\n const noSuggestions = filteredList.every(i => i.noFilter);\n if (noSuggestions && emptyState && !creatable) {\n return typeof emptyState === \"boolean\"\n ? defaultEmptyState\n : runIfFn(emptyState, { query });\n }\n };\n\n return {\n autoCompleteProps,\n children,\n filteredList,\n filteredResults,\n focusedValue,\n getEmptyStateProps,\n getGroupProps,\n getInputProps,\n getItemProps,\n getListProps,\n inputRef,\n interactionRef,\n isOpen,\n itemList,\n listRef,\n onClose,\n onOpen,\n query,\n setQuery,\n tags,\n values,\n };\n}\n","import React from \"react\";\n\nimport { AutoCompleteProvider } from \"./autocomplete-context\";\nimport { useAutoComplete } from \"./use-autocomplete\";\nimport { chakra, forwardRef, Popover } from \"@chakra-ui/react\";\nimport { UseAutoCompleteProps, UseAutoCompleteReturn } from \"./types\";\n\nexport interface AutoCompleteProps extends UseAutoCompleteProps {\n children: UseAutoCompleteReturn[\"children\"];\n}\n\nexport const AutoComplete = forwardRef<AutoCompleteProps, \"div\">(\n (props, ref) => {\n const context = useAutoComplete(props);\n const { children, isOpen, onClose, onOpen } = context;\n\n return (\n <AutoCompleteProvider value={context}>\n <Popover\n isLazy\n isOpen={isOpen}\n onClose={onClose}\n onOpen={onOpen}\n autoFocus={false}\n placement=\"bottom\"\n closeOnBlur={true}\n >\n <chakra.div\n sx={{\n \".chakra-popover__popper\": {\n position: \"unset !important\",\n },\n }}\n w=\"full\"\n ref={ref}\n >\n {children}\n </chakra.div>\n </Popover>\n </AutoCompleteProvider>\n );\n }\n);\n\nAutoComplete.displayName = \"AutoComplete\";\n","import {\n CSSObject,\n Flex,\n FlexProps,\n forwardRef,\n useMergeRefs,\n} from \"@chakra-ui/react\";\nimport { omit, pick } from \"@chakra-ui/utils\";\nimport React, { useEffect, useRef } from \"react\";\n\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\n\nexport interface AutoCompleteItemProps extends FlexProps {\n value: any;\n label?: string;\n fixed?: boolean;\n _focus?: CSSObject | any;\n disabled?: boolean;\n _fixed?: CSSObject;\n getValue?: (item: AutoCompleteItemProps[\"value\"]) => any;\n groupId?: string;\n}\n\nexport const AutoCompleteItem = forwardRef<AutoCompleteItemProps, \"div\">(\n (props, forwardedRef) => {\n const {\n focusedValue,\n getItemProps,\n interactionRef,\n } = useAutoCompleteContext();\n const itemRef = useRef<any>();\n const ref = useMergeRefs(forwardedRef, itemRef);\n\n const itemProps = getItemProps(props);\n const { isValidSuggestion, setItemList, value } = itemProps.root;\n\n const isFocused = focusedValue === value;\n\n useEffect(() => {\n if (isFocused && interactionRef.current === \"keyboard\")\n itemRef?.current?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n }, [isFocused, interactionRef]);\n\n useEffect(() => {\n const item = {\n ...pick(props, [\"label\", \"fixed\", \"disabled\", \"groupId\"]),\n itemVal: props.value,\n value,\n };\n setItemList((itemList: any) => [...itemList, item]);\n }, []);\n const { children, dangerouslySetInnerHTML, ...restProps } = itemProps.item;\n\n const rest = omit(restProps, [\"groupId\"] as any);\n\n return isValidSuggestion ? (\n <Flex ref={ref} {...baseItemStyles} {...rest}>\n {children ? (\n children\n ) : (\n <span dangerouslySetInnerHTML={dangerouslySetInnerHTML} />\n )}\n </Flex>\n ) : null;\n }\n);\n\nAutoCompleteItem.displayName = \"AutoCompleteItem\";\n\nexport const baseItemStyles: FlexProps = {\n mx: \"2\",\n px: \"2\",\n py: \"2\",\n borderRadius: \"md\",\n cursor: \"pointer\",\n};\n","import { Flex, FlexProps } from \"@chakra-ui/react\";\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\";\nimport { isEmpty, runIfFn } from \"@chakra-ui/utils\";\n\nimport React from \"react\";\n\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\nimport { baseItemStyles } from \"./autocomplete-item\";\n\ninterface AutoCompleteCreatableProps extends FlexProps {\n children?: MaybeRenderProp<{ value: any }>;\n}\n\nexport function AutoCompleteCreatable(props: AutoCompleteCreatableProps) {\n const { children: childrenProp, ...rest } = props;\n const {\n autoCompleteProps,\n getItemProps,\n query,\n filteredResults,\n } = useAutoCompleteContext();\n\n const queryValue = <mark>{query}</mark>;\n const { children, ...itemProps } = getItemProps({\n ...props,\n value: query,\n children: runIfFn(childrenProp, {\n value: queryValue,\n }),\n }).item;\n\n const queryExistsInList = filteredResults.some(i => i.value === query);\n const showCreatable =\n autoCompleteProps.creatable && !isEmpty(query) && !queryExistsInList;\n\n return showCreatable ? (\n <Flex {...baseItemStyles} {...itemProps} {...rest}>\n {children || `Add ${query}`}\n </Flex>\n ) : null;\n}\n\nAutoCompleteCreatable.displayName = \"AutoCompleteCreatable\";\n","import {\n Box,\n BoxProps,\n Divider,\n DividerProps,\n Flex,\n FlexProps,\n forwardRef,\n} from \"@chakra-ui/react\";\nimport { omit } from \"@chakra-ui/utils\";\nimport React from \"react\";\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\n\nexport interface AutoCompleteGroupProps extends BoxProps {\n children?: React.ReactNode;\n showDivider?: boolean;\n dividerColor?: string;\n}\n\nexport const AutoCompleteGroup = forwardRef<AutoCompleteGroupProps, \"div\">(\n (props, ref) => {\n const { children, showDivider, ...restProps } = props;\n const rest = omit(restProps, [\"groupSibling\"] as any);\n\n const { getGroupProps } = useAutoCompleteContext();\n\n const { group } = getGroupProps(props);\n\n const dividerStyles = useDividerStyles(props);\n\n return (\n <Box ref={ref} {...group} {...rest}>\n <Divider {...dividerStyles.top} />\n {children}\n <Divider {...dividerStyles.bottom} />\n </Box>\n );\n }\n);\n\nexport const AutoCompleteGroupTitle = forwardRef<FlexProps, \"div\">(\n (props, ref) => {\n return <Flex {...baseTitleStyles} {...props} ref={ref} />;\n }\n);\n\nAutoCompleteGroup.displayName = \"AutoCompleteGroup\";\nAutoCompleteGroupTitle.displayName = \"AutoCompleteGroupTitle\";\n\nconst baseTitleStyles: FlexProps = {\n ml: 5,\n my: 1,\n fontSize: \"xs\",\n letterSpacing: \"wider\",\n fontWeight: \"extrabold\",\n textTransform: \"uppercase\",\n};\n\nconst useDividerStyles = (\n props: AutoCompleteGroupProps & { groupSibling?: boolean }\n) => {\n const { getGroupProps } = useAutoCompleteContext();\n\n const hasGroupSibling: unknown = props.groupSibling;\n\n const {\n divider: { hasFirstChild, hasLastChild },\n } = getGroupProps(props as AutoCompleteGroupProps);\n\n const baseStyles: DividerProps = {\n my: 2,\n borderColor: props.dividerColor,\n };\n\n const top = {\n ...baseStyles,\n mb: 4,\n display: !props.showDivider || hasFirstChild ? \"none\" : \"\",\n };\n const bottom = {\n ...baseStyles,\n display:\n !props.showDivider || hasLastChild || hasGroupSibling ? \"none\" : \"\",\n };\n\n return { top, bottom };\n};\n","import {\n CSSObject,\n forwardRef,\n Input,\n InputProps,\n useMergeRefs,\n useMultiStyleConfig,\n Wrap,\n WrapItem,\n} from \"@chakra-ui/react\";\nimport { runIfFn } from \"@chakra-ui/utils\";\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\";\nimport React, { useEffect } from \"react\";\n\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\nimport { UseAutoCompleteReturn } from \"./types\";\n\nexport interface AutoCompleteInputProps extends InputProps {\n children?: MaybeRenderProp<{ tags: UseAutoCompleteReturn[\"tags\"] }>;\n wrapStyles?: CSSObject;\n}\n\nexport const AutoCompleteInput = forwardRef<AutoCompleteInputProps, \"input\">(\n (props, forwardedRef) => {\n const {\n inputRef,\n getInputProps,\n setQuery,\n tags,\n } = useAutoCompleteContext();\n\n const ref = useMergeRefs(forwardedRef, inputRef);\n\n const { children: childrenProp, value, ...rest } = props;\n\n useEffect(() => {\n setQuery(value ?? \"\");\n }, [value, setQuery]);\n\n const themeInput: any = useMultiStyleConfig(\"Input\", props);\n\n const inputProps = getInputProps(rest, themeInput);\n\n const children = runIfFn(childrenProp, { tags });\n\n return (\n <Wrap {...inputProps.wrapper}>\n {children}\n <WrapItem as={Input} {...(inputProps.input as any)} ref={ref} />\n </Wrap>\n );\n }\n);\n\nAutoCompleteInput.displayName = \"Input\";\n\nAutoCompleteInput.id = \"Input\";\n","import { Box, BoxProps, Flex, FlexProps } from \"@chakra-ui/layout\";\nimport React from \"react\";\nimport { useAutoCompleteContext } from \"../autocomplete-context\";\n\nexport const EmptyState = (props: BoxProps) => {\n const { getEmptyStateProps } = useAutoCompleteContext();\n\n const emptyState = getEmptyStateProps(\n <Flex {...emptyStyles}>No options found!</Flex>\n );\n\n return <Box {...props}>{emptyState}</Box>;\n};\n\nconst emptyStyles: FlexProps = {\n fontSize: \"sm\",\n align: \"center\",\n justify: \"center\",\n fontWeight: \"bold\",\n fontStyle: \"italic\",\n};\n","import React from \"react\";\n\nexport const siblingInfo = (children: React.ReactNode) => {\n return React.Children.map(children, (child: any, i) => {\n if (child.type.displayName === \"AutoCompleteGroup\") {\n const sibling: any = React.Children.toArray(children)[i + 1];\n return React.cloneElement(child, {\n groupSibling: sibling\n ? sibling.type.displayName === \"AutoCompleteGroup\"\n : false,\n });\n }\n return child;\n });\n};\n","import {\n forwardRef,\n PopoverContent,\n PopoverContentProps,\n useMergeRefs,\n} from \"@chakra-ui/react\";\nimport React from \"react\";\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\nimport { EmptyState } from \"./components/empty-state\";\nimport { siblingInfo } from \"./helpers/list\";\n\nexport type AutoCompleteListProps = PopoverContentProps;\n\nexport const AutoCompleteList = forwardRef<AutoCompleteListProps, \"div\">(\n (props, forwardedRef) => {\n const { children, ...rest } = props;\n const { listRef, getListProps } = useAutoCompleteContext();\n const ref = useMergeRefs(forwardedRef, listRef);\n const listProps = getListProps();\n\n return (\n <PopoverContent ref={ref} {...baseStyles} {...listProps} {...rest}>\n {siblingInfo(children)}\n <EmptyState />\n </PopoverContent>\n );\n }\n);\n\nAutoCompleteList.displayName = \"AutoCompleteList\";\n\nconst baseStyles: PopoverContentProps = {\n mt: \"4\",\n py: \"4\",\n opacity: \"0\",\n bg: \"#232934\",\n borderRadius: \"md\",\n maxH: \"350px\",\n border: \"none\",\n boxShadow: \"base\",\n pos: \"absolute\",\n zIndex: \"popover\",\n overflowY: \"auto\",\n\n _light: {\n bg: \"#ffffff\",\n },\n\n _focus: {\n boxShadow: \"none\",\n },\n};\n","import { WrapItem } from \"@chakra-ui/layout\";\nimport { Tag, TagCloseButton, TagLabel, TagProps } from \"@chakra-ui/tag\";\nimport { runIfFn } from \"@chakra-ui/utils\";\nimport React, { memo } from \"react\";\n\ntype AutoCompleteTagProps = {\n disabled?: boolean;\n label: string;\n onRemove?: () => void;\n} & TagProps;\n\nexport const AutoCompleteTag = memo((props: AutoCompleteTagProps) => {\n const { label, onRemove, disabled, ...rest } = props;\n\n return (\n <WrapItem>\n <Tag\n borderRadius=\"md\"\n fontWeight=\"normal\"\n {...(disabled && disabledStyles)}\n {...rest}\n >\n <TagLabel>{label}</TagLabel>\n <TagCloseButton\n onClick={() => !disabled && runIfFn(onRemove)}\n cursor=\"pointer\"\n {...(disabled && disabledStyles)}\n />\n </Tag>\n </WrapItem>\n );\n});\n\nconst disabledStyles: TagProps = {\n cursor: \"text\",\n userSelect: \"none\",\n opacity: 0.4,\n _focus: { boxShadow: \"none\" },\n};\n"],"names":["createContext","name","errorMessage","AutoCompleteProvider","useAutoCompleteContext","fuzzyScore","str1","str2","gramSize","getNGrams","s","len","repeat","toLowerCase","v","Array","length","i","slice","s1","s2","pairs1","pairs2","set","Set","total","hits","item","setEmphasis","children","query","isEmpty","newChildren","toString","replace","RegExp","escapeRegex","match","getFocusedStyles","bg","_light","defaultFilterMethod","itemValue","itemLabel","indexOf","string","getMultipleWrapStyles","themeInput","multiple","field","_focusWithin","_focus","pos","minH","py","spacing","cursor","h","hasFirstItem","props","firstItem","isDefined","groupId","id","hasLastItem","lastItem","hasChildren","filteredList","some","useAutoComplete","autoCompleteProps","closeOnBlur","closeOnSelect","creatable","defaultValues","emphasize","emptyState","freeSolo","isReadOnly","listAllValuesOnFocus","maxSuggestions","defaultIsOpen","shouldRenderSuggestions","suggestWhenEmpty","useDisclosure","isOpen","onClose","onOpen","useState","itemList","setItemList","inputRef","useRef","inputWrapperRef","listRef","interactionRef","setQuery","values","setValues","useEffect","value","focusedValue","setFocusedValue","listAll","setListAll","maxSelections","filteredResults","filter","fixed","runIfFn","label","_","index","creatableArr","noFilter","focusedIndex","findIndex","nextItem","getNextItem","rollNavigation","prevItem","getPrevItem","getFirstItem","getLastItem","useUpdateEffect","find","opt","items","map","val","onChange","focusedItem","onOptionFocus","optionValue","optionLabel","selectMethod","current","isNewInput","selectItem","includes","option","optionLabelFromValue","focus","focusInputOnSelect","onSelectOption","removeItem","prevValues","onTagRemoved","resetItems","focusInput","tags","tag","onRemove","getInputProps","onBlur","onFocus","onKeyDown","variant","wrapStyles","rest","wrapper","ref","onClick","tabIndex","input","e","openOnFocus","selectOnFocus","target","select","listIsFocused","relatedTarget","inputWrapperIsFocused","contains","newValue","queryIsEmpty","key","disabled","preventDefault","callAll","dim","useDimensions","getListProps","width","marginBox","getDefItemValue","Object","keys","getItemProps","_fixed","itemChild","valueProp","getValue","onMouseOver","sx","isFocused","isValidSuggestion","dangerouslySetInnerHTML","__html","_disabled","opacity","userSelect","mark","color","isObject","fontWeight","root","getGroupProps","hasItems","isUndefined","divider","hasFirstChild","hasLastChild","group","display","getEmptyStateProps","defaultEmptyState","noSuggestions","every","AutoComplete","forwardRef","context","React","Popover","isLazy","autoFocus","placement","chakra","div","position","w","displayName","AutoCompleteItem","forwardedRef","itemRef","useMergeRefs","itemProps","scrollIntoView","behavior","block","pick","itemVal","restProps","omit","Flex","baseItemStyles","mx","px","borderRadius","AutoCompleteCreatable","childrenProp","queryValue","queryExistsInList","showCreatable","AutoCompleteGroup","showDivider","dividerStyles","useDividerStyles","Box","Divider","top","bottom","AutoCompleteGroupTitle","baseTitleStyles","ml","my","fontSize","letterSpacing","textTransform","hasGroupSibling","groupSibling","baseStyles","borderColor","dividerColor","mb","AutoCompleteInput","useMultiStyleConfig","inputProps","Wrap","WrapItem","as","Input","EmptyState","emptyStyles","align","justify","fontStyle","siblingInfo","Children","child","type","sibling","toArray","cloneElement","AutoCompleteList","listProps","PopoverContent","mt","maxH","border","boxShadow","zIndex","overflowY","AutoCompleteTag","memo","Tag","disabledStyles","TagLabel","TagCloseButton"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,r=require("@chakra-ui/react-utils"),o=require("@chakra-ui/react"),u=require("@chakra-ui/utils"),i=require("@chakra-ui/layout"),l=require("@chakra-ui/tag"),a=r.createContext({name:"AutoCompleteContext",errorMessage:"useAutoCompleteContext: `context` is undefined. Seems you forgot to wrap all autocomplete components within `<AutoComplete />`"}),s=a[0],c=a[1];function f(){return(f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function d(e,t){if(null==e)return{};var n,r,o={},u=Object.keys(e);for(r=0;r<u.length;r++)t.indexOf(n=u[r])>=0||(o[n]=e[n]);return o}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function v(e,t,n){function r(e,t){e=" ".repeat(t-1)+e.toLowerCase()+" ".repeat(t-1);for(var n=new Array(e.length-t+1),r=0;r<n.length;r++)n[r]=e.slice(r,r+t);return n}if(void 0===n&&(n=2),null==e||!e.length||null==t||!t.length)return 0;for(var o,u=e.length<t.length?t:e,i=r(e.length<t.length?e:t,n),l=r(u,n),a=new Set(i),s=l.length,c=0,f=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return p(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(e,void 0):void 0}}(e))){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(l);!(o=f()).done;)a.delete(o.value)&&c++;return c/s}var m=function(e,t){return"string"!=typeof e||u.isEmpty(t)?e:e.toString().replace(new RegExp(t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"gi"),(function(e){return"<mark>"+e+"</mark>"}))},g=function(e,t,n){return(null==t?void 0:t.toLowerCase().indexOf(null==e?void 0:e.toLowerCase()))>=0||(null==n?void 0:n.toLowerCase().indexOf(null==e?void 0:e.toLowerCase()))>=0||v(e,t)>=.5||v(e,n)>=.5},h=function(e,t){return f({},t&&f({},e.field,{_focusWithin:e.field._focus,pos:"relative",minH:9,py:1.5,spacing:3}),{cursor:"text",h:"fit-content"})},b=function(e,t){return u.isDefined(null==t?void 0:t.groupId)&&u.isDefined(e.id)&&(null==t?void 0:t.groupId)===e.id},y=function(e,t){return u.isDefined(null==t?void 0:t.groupId)&&u.isDefined(e.id)&&(null==t?void 0:t.groupId)===e.id},I=["onBlur","onChange","onFocus","onKeyDown","variant","wrapStyles"],C=["_fixed","_focus","children","disabled","label","value","fixed","getValue","onClick","onMouseOver","sx"];function x(e){var n,r=e.closeOnBlur,i=void 0===r||r,l=e.closeOnSelect,a=e.creatable,s=e.defaultValues,c=void 0===s?[]:s,p=e.emphasize,v=e.emptyState,x=void 0===v||v,O=e.freeSolo,w=e.isReadOnly,S=e.listAllValuesOnFocus,E=e.maxSuggestions,A=e.multiple,F=e.shouldRenderSuggestions,R=void 0===F?function(){return!0}:F,L=e.suggestWhenEmpty;l=l||!A,O=O||!!A||e.freeSolo;var j=o.useDisclosure({defaultIsOpen:e.defaultIsOpen}),D=j.isOpen,k=j.onClose,P=j.onOpen,_=t.useState([]),M=_[0],T=_[1],N=t.useRef(null),V=t.useRef(null),q=t.useRef(null),B=t.useRef(null),G=t.useState(""),W=G[0],H=G[1],z=t.useState(c),U=z[0],K=z[1];t.useEffect((function(){A||u.isEmpty(c)||H(c[0])}),[]);var $=t.useState(null==(n=M[0])?void 0:n.value),Q=$[0],Y=$[1],J=t.useState(!1),X=J[0],Z=J[1],ee=e.maxSelections||U.length+1,te=M.filter((function(t){return t.fixed||u.runIfFn(e.filter||g,W,t.value,t.label)||X})).filter((function(e,t){return!E||t<E})),ne=[].concat(te,a?[{value:W,noFilter:!0}]:[]),re=ne.findIndex((function(e){return e.value===Q})),oe=u.getNextItem(re,ne,!!e.rollNavigation),ue=u.getPrevItem(re,ne,!!e.rollNavigation),ie=u.getFirstItem(ne),le=u.getLastItem(ne);o.useUpdateEffect((function(){Y(null==ie?void 0:ie.value)}),[W]),t.useEffect((function(){var t=ne.find((function(e){return e.value===U[0]})),n=U.map((function(e){return ne.find((function(t){return t.value===e}))}));u.runIfFn(e.onChange,A?U:U[0],A?n:t)}),[U,A]),t.useEffect((function(){var t=M.find((function(e){return e.value===Q}));u.runIfFn(e.onOptionFocus,{optionValue:Q,optionLabel:null==t?void 0:t.label,item:t,selectMethod:B.current,isNewInput:!1})}),[Q,e.onOptionFocus]);var ae=function(t){var n;!U.includes(t)&&U.length<ee&&K((function(e){return A?[].concat(e,[t]):[t]}));var r,o=ne.find((function(e){return e.value===t})),i=(null==o?void 0:o.label)||t;H(i),A&&(H(""),null==(r=N.current)||r.focus()),e.focusInputOnSelect&&(null==(n=N.current)||n.focus()),u.runIfFn(e.onSelectOption,{optionValue:t,optionLabel:i,item:o,selectMethod:B.current,isNewInput:!1}),l&&k()},se=function(t){K((function(n){var r=M.find((function(e){return e.value===t}));return u.runIfFn(e.onTagRemoved,t,r,n),n.filter((function(e){return e!==t}))})),W===t&&H("")},ce=A?U.map((function(e){var t;return{label:(null==(t=M.find((function(t){return t.value===e})))?void 0:t.label)||e,onRemove:function(){return se(e)}}})):[],fe=u.runIfFn(e.children,{isOpen:D,onClose:k,onOpen:P,tags:ce,removeItem:se,resetItems:function(e){var t;K([]),e&&(null==(t=N.current)||t.focus())}}),de=o.useDimensions(V,!0),pe=function(e){return("string"==typeof e?e:e[Object.keys(e)[0]]).toString()};return{autoCompleteProps:e,children:fe,filteredList:ne,filteredResults:te,focusedValue:Q,getEmptyStateProps:function(e){if(ne.every((function(e){return e.noFilter}))&&x&&!a)return"boolean"==typeof x?e:u.runIfFn(x,{query:W})},getGroupProps:function(e){var t=function(e,t){return t.some((function(t){return u.isDefined(t.groupId)&&u.isDefined(e.id)&&t.groupId===e.id}))}(e,ne),n=u.getLastItem(ne.filter((function(e){return u.isUndefined(null==e?void 0:e.noFilter)})));return{divider:{hasFirstChild:b(e,ie),hasLastChild:y(e,n)},group:{display:t?"initial":"none"}}},getInputProps:function(t,n){var r=t.onBlur,o=t.onChange,l=t.onFocus,a=t.onKeyDown,s=t.variant,c=t.wrapStyles,p=d(t,I);return{wrapper:f({ref:V,onClick:function(){var e;null==N||null==(e=N.current)||e.focus()},tabIndex:0},h(n,A),c),input:f({isReadOnly:w,onFocus:function(t){u.runIfFn(l),e.openOnFocus&&!w&&P(),e.selectOnFocus&&t.target.select(),S&&Z(!0)},onBlur:function(e){var t;u.runIfFn(r);var n,o=e.relatedTarget===(null==q?void 0:q.current),l=null==(t=V.current)?void 0:t.contains(e.relatedTarget);o||l||(i&&k(),U.includes(e.target.value)||O||H(null!=(n=u.getLastItem(U))?n:""))},onChange:function(e){var t=e.target.value;u.runIfFn(o,e),H(e.target.value);var n=u.isEmpty(t);!u.runIfFn(R,t)||n&&!L?k():P(),Z(!1)},onKeyDown:function(e){u.runIfFn(a,e),B.current="keyboard";var t,n=e.key,r=ne[re];return"Enter"===n?(!r||null!=r&&r.disabled?null==(t=N.current)||t.focus():ae(r.value),void e.preventDefault()):"ArrowDown"===n?(Y(oe.value),void e.preventDefault()):"ArrowUp"===n?(Y(ue.value),void e.preventDefault()):"Tab"===n?(Y(oe.value),void e.preventDefault()):"Home"===n?(Y(null==ie?void 0:ie.value),void e.preventDefault()):"End"===n?(Y(null==le?void 0:le.value),void e.preventDefault()):void("Escape"===n&&u.callAll(k,e.preventDefault))},value:null!=W?W:"",variant:A?"unstyled":s},p)}},getItemProps:function(e){var t=e._fixed,n=e._focus,r=e.children,o=e.disabled,i=e.label,l=e.value,a=e.fixed,s=e.getValue,c=void 0===s?pe:s,v=e.onClick,g=e.onMouseOver,h=e.sx,b=d(e,C),y=c(l).toString(),I=y===Q,x=ne.findIndex((function(e){return e.value===y}))>=0,O=r||i||y;return{item:f({},"string"==typeof O&&p?{dangerouslySetInnerHTML:{__html:m(O,W)}}:{children:O},{"aria-selected":U.includes(y),"aria-disabled":o,_disabled:{opacity:.4,cursor:"not-allowed",userSelect:"none"},onClick:function(e){var t;u.runIfFn(v,e),o?null==(t=N.current)||t.focus():ae(y)},onMouseOver:function(e){u.runIfFn(g,e),Y(y),B.current="mouse"},sx:f({},h,{mark:f({color:"inherit",bg:"transparent"},u.isObject(p)?p:{fontWeight:p?"extrabold":"inherit"})})},I&&(n||{bg:"whiteAlpha.100",_light:{bg:"gray.200"}}),a&&t,b),root:{isValidSuggestion:x,setItemList:T,value:y}}},getListProps:function(){return{width:null==de?void 0:de.marginBox.width}},inputRef:N,interactionRef:B,isOpen:D,itemList:M,listRef:q,onClose:k,onOpen:P,query:W,setQuery:H,tags:ce,values:U}}var O=o.forwardRef((function(e,t){var r=x(e);return n.createElement(s,{value:r},n.createElement(o.Popover,{isLazy:!0,isOpen:r.isOpen,onClose:r.onClose,onOpen:r.onOpen,autoFocus:!1,placement:"bottom",closeOnBlur:!0},n.createElement(o.chakra.div,{sx:{".chakra-popover__popper":{position:"unset !important"}},w:"full",ref:t},r.children)))}));O.displayName="AutoComplete";var w=["children","dangerouslySetInnerHTML"],S=o.forwardRef((function(e,r){var i=c(),l=i.focusedValue,a=i.getItemProps,s=i.interactionRef,p=t.useRef(),v=o.useMergeRefs(r,p),m=a(e),g=m.root,h=g.isValidSuggestion,b=g.setItemList,y=g.value,I=l===y;t.useEffect((function(){var e;I&&"keyboard"===s.current&&(null==p||null==(e=p.current)||e.scrollIntoView({behavior:"smooth",block:"center"}))}),[I,s]),t.useEffect((function(){var t=f({},u.pick(e,["label","fixed","disabled","groupId"]),{itemVal:e.value,value:y});b((function(e){return[].concat(e,[t])})),"string"!=typeof y&&console.warn("wow"),"string"!=typeof y&&u.isUndefined(e.getValue)&&console.error("You must define the `getValue` prop, when an Item's value is not a string")}),[]);var C=m.item,x=C.children,O=C.dangerouslySetInnerHTML,S=d(C,w),A=u.omit(S,["groupId"]);return h?n.createElement(o.Flex,Object.assign({ref:v},E,A),x||n.createElement("span",{dangerouslySetInnerHTML:O})):null}));S.displayName="AutoCompleteItem";var E={mx:"2",px:"2",py:"2",borderRadius:"md",cursor:"pointer"},A=["children"],F=["children"];function R(e){var t=e.children,r=d(e,A),i=c(),l=i.autoCompleteProps,a=i.getItemProps,s=i.query,p=i.filteredResults,v=n.createElement("mark",null,s),m=a(f({},e,{value:s,children:u.runIfFn(t,{value:v})})).item,g=m.children,h=d(m,F),b=p.some((function(e){return e.value===s}));return!l.creatable||u.isEmpty(s)||b?null:n.createElement(o.Flex,Object.assign({},E,h,r),g||"Add "+s)}R.displayName="AutoCompleteCreatable";var L=["children","showDivider"],j=o.forwardRef((function(e,t){var r=e.children,i=d(e,L),l=u.omit(i,["groupSibling"]),a=(0,c().getGroupProps)(e).group,s=P(e);return n.createElement(o.Box,Object.assign({ref:t},a,l),n.createElement(o.Divider,Object.assign({},s.top)),r,n.createElement(o.Divider,Object.assign({},s.bottom)))})),D=o.forwardRef((function(e,t){return n.createElement(o.Flex,Object.assign({},k,e,{ref:t}))}));j.displayName="AutoCompleteGroup",D.displayName="AutoCompleteGroupTitle";var k={ml:5,my:1,fontSize:"xs",letterSpacing:"wider",fontWeight:"extrabold",textTransform:"uppercase"},P=function(e){var t=c(),n=e.groupSibling,r=(0,t.getGroupProps)(e).divider,o=r.hasLastChild,u={my:2,borderColor:e.dividerColor};return{top:f({},u,{mb:4,display:!e.showDivider||r.hasFirstChild?"none":""}),bottom:f({},u,{display:!e.showDivider||o||n?"none":""})}},_=["children","value"],M=o.forwardRef((function(e,r){var i=c(),l=i.getInputProps,a=i.setQuery,s=i.tags,f=o.useMergeRefs(r,i.inputRef),p=e.children,v=e.value,m=d(e,_);t.useEffect((function(){a(null!=v?v:"")}),[v,a]);var g=l(m,o.useMultiStyleConfig("Input",e)),h=u.runIfFn(p,{tags:s});return n.createElement(o.Wrap,Object.assign({},g.wrapper),h,n.createElement(o.WrapItem,Object.assign({as:o.Input},g.input,{ref:f})))}));M.displayName="Input",M.id="Input";var T=function(e){var t=(0,c().getEmptyStateProps)(n.createElement(i.Flex,Object.assign({},N),"No options found!"));return n.createElement(i.Box,Object.assign({},e),t)},N={fontSize:"sm",align:"center",justify:"center",fontWeight:"bold",fontStyle:"italic"},V=["children"],q=o.forwardRef((function(e,t){var r=e.children,u=d(e,V),i=c(),l=i.getListProps,a=o.useMergeRefs(t,i.listRef),s=l();return n.createElement(o.PopoverContent,Object.assign({ref:a},B,s,u),function(e){return n.Children.map(e,(function(t,r){if("AutoCompleteGroup"===t.type.displayName){var o=n.Children.toArray(e)[r+1];return n.cloneElement(t,{groupSibling:!!o&&"AutoCompleteGroup"===o.type.displayName})}return t}))}(r),n.createElement(T,null))}));q.displayName="AutoCompleteList";var B={mt:"4",py:"4",opacity:"0",bg:"#232934",borderRadius:"md",maxH:"350px",border:"none",boxShadow:"base",pos:"absolute",zIndex:"popover",overflowY:"auto",_light:{bg:"#ffffff"},_focus:{boxShadow:"none"}},G=["label","onRemove","disabled"],W=t.memo((function(e){var t=e.label,r=e.onRemove,o=e.disabled,a=d(e,G);return n.createElement(i.WrapItem,null,n.createElement(l.Tag,Object.assign({borderRadius:"md",fontWeight:"normal"},o&&H,a),n.createElement(l.TagLabel,null,t),n.createElement(l.TagCloseButton,Object.assign({onClick:function(){return!o&&u.runIfFn(r)},cursor:"pointer"},o&&H))))})),H={cursor:"text",userSelect:"none",opacity:.4,_focus:{boxShadow:"none"}};exports.AutoComplete=O,exports.AutoCompleteCreatable=R,exports.AutoCompleteGroup=j,exports.AutoCompleteGroupTitle=D,exports.AutoCompleteInput=M,exports.AutoCompleteItem=S,exports.AutoCompleteList=q,exports.AutoCompleteProvider=s,exports.AutoCompleteTag=W,exports.baseItemStyles=E,exports.useAutoComplete=x,exports.useAutoCompleteContext=c;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e,t=require("react"),n=(e=t)&&"object"==typeof e&&"default"in e?e.default:e,r=require("@chakra-ui/react-utils"),o=require("@chakra-ui/react"),u=require("@chakra-ui/utils"),l=require("@chakra-ui/layout"),i=require("@chakra-ui/tag"),a=r.createContext({name:"AutoCompleteContext",errorMessage:"useAutoCompleteContext: `context` is undefined. Seems you forgot to wrap all autocomplete components within `<AutoComplete />`"}),s=a[0],c=a[1];function f(){return(f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}function d(e,t){if(null==e)return{};var n,r,o={},u=Object.keys(e);for(r=0;r<u.length;r++)t.indexOf(n=u[r])>=0||(o[n]=e[n]);return o}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function v(e,t,n){function r(e,t){e=" ".repeat(t-1)+e.toLowerCase()+" ".repeat(t-1);for(var n=new Array(e.length-t+1),r=0;r<n.length;r++)n[r]=e.slice(r,r+t);return n}if(void 0===n&&(n=2),null==e||!e.length||null==t||!t.length)return 0;for(var o,u=e.length<t.length?t:e,l=r(e.length<t.length?e:t,n),i=r(u,n),a=new Set(l),s=i.length,c=0,f=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return p(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?p(e,void 0):void 0}}(e))){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(i);!(o=f()).done;)a.delete(o.value)&&c++;return c/s}var m=function(e,t){return"string"!=typeof e||u.isEmpty(t)?e:e.toString().replace(new RegExp(t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"gi"),(function(e){return"<mark>"+e+"</mark>"}))},g=function(e,t,n){return(null==t?void 0:t.toLowerCase().indexOf(null==e?void 0:e.toLowerCase()))>=0||(null==n?void 0:n.toLowerCase().indexOf(null==e?void 0:e.toLowerCase()))>=0||v(e,t)>=.5||v(e,n)>=.5},h=function(e,t){return f({},t&&f({},e.field,{_focusWithin:e.field._focus,pos:"relative",minH:9,py:1.5,spacing:3}),{cursor:"text",h:"fit-content"})},b=function(e,t){return u.isDefined(null==t?void 0:t.groupId)&&u.isDefined(e.id)&&(null==t?void 0:t.groupId)===e.id},y=function(e,t){return u.isDefined(null==t?void 0:t.groupId)&&u.isDefined(e.id)&&(null==t?void 0:t.groupId)===e.id},I=["onBlur","onChange","onFocus","onKeyDown","variant","wrapStyles"],C=["_fixed","_focus","children","disabled","label","value","fixed","getValue","onClick","onMouseOver","sx"];function x(e){var n,r=e.closeOnBlur,l=void 0===r||r,i=e.closeOnSelect,a=e.creatable,s=e.defaultValues,c=void 0===s?[]:s,p=e.emphasize,v=e.emptyState,x=void 0===v||v,O=e.freeSolo,S=e.isReadOnly,w=e.listAllValuesOnFocus,E=e.maxSuggestions,A=e.multiple,F=e.shouldRenderSuggestions,R=void 0===F?function(){return!0}:F,L=e.suggestWhenEmpty;i=i||!A,O=O||!!A||e.freeSolo;var j=o.useDisclosure({defaultIsOpen:e.defaultIsOpen}),D=j.isOpen,k=j.onClose,P=j.onOpen,_=t.useState([]),M=_[0],T=_[1],N=t.useRef(null),V=t.useRef(null),q=t.useRef(null),B=t.useRef(null),G=t.useState(""),W=G[0],H=G[1],z=t.useState(c),U=z[0],K=z[1];t.useEffect((function(){A||u.isEmpty(c)||H(c[0])}),[]);var $=t.useState(null==(n=M[0])?void 0:n.value),Q=$[0],Y=$[1],J=t.useState(!1),X=J[0],Z=J[1],ee=e.maxSelections||U.length+1,te=M.filter((function(t){return t.fixed||u.runIfFn(e.filter||g,W,t.value,t.label)||X})).filter((function(e,t){return!E||t<E})),ne=[].concat(te,a?[{value:W,noFilter:!0}]:[]),re=ne.findIndex((function(e){return e.value===Q})),oe=u.getNextItem(re,ne,!!e.rollNavigation),ue=u.getPrevItem(re,ne,!!e.rollNavigation),le=u.getFirstItem(ne),ie=u.getLastItem(ne);o.useUpdateEffect((function(){Y(null==le?void 0:le.value)}),[W]),t.useEffect((function(){var t=ne.find((function(e){return e.value===U[0]})),n=U.map((function(e){return ne.find((function(t){return t.value===e}))}));u.runIfFn(e.onChange,A?U:U[0],A?n:t)}),[U,A]),t.useEffect((function(){var t=M.find((function(e){return e.value===Q}));u.runIfFn(e.onOptionFocus,{optionValue:Q,optionLabel:null==t?void 0:t.label,item:t,selectMethod:B.current,isNewInput:!1})}),[Q,e.onOptionFocus]);var ae=function(t){var n;!U.includes(t)&&U.length<ee&&K((function(e){return A?[].concat(e,[t]):[t]}));var r,o=ne.find((function(e){return e.value===t})),l=(null==o?void 0:o.label)||t;H(l),A&&(H(""),null==(r=N.current)||r.focus()),e.focusInputOnSelect&&(null==(n=N.current)||n.focus()),u.runIfFn(e.onSelectOption,{optionValue:t,optionLabel:l,item:o,selectMethod:B.current,isNewInput:!1}),i&&k()},se=function(t){K((function(n){var r=M.find((function(e){return e.value===t}));return u.runIfFn(e.onTagRemoved,t,r,n),n.filter((function(e){return e!==t}))})),W===t&&H("")},ce=A?U.map((function(e){var t;return{label:(null==(t=M.find((function(t){return t.value===e})))?void 0:t.label)||e,onRemove:function(){return se(e)}}})):[],fe=u.runIfFn(e.children,{isOpen:D,onClose:k,onOpen:P,tags:ce,removeItem:se,resetItems:function(e){var t;K([]),e&&(null==(t=N.current)||t.focus())}}),de=o.useDimensions(V,!0),pe=function(e){return("string"==typeof e?e:e[Object.keys(e)[0]]).toString()};return{autoCompleteProps:e,children:fe,filteredList:ne,filteredResults:te,focusedValue:Q,getEmptyStateProps:function(e){if(ne.every((function(e){return e.noFilter}))&&x&&!a)return"boolean"==typeof x?e:u.runIfFn(x,{query:W})},getGroupProps:function(e){var t=function(e,t){return t.some((function(t){return u.isDefined(t.groupId)&&u.isDefined(e.id)&&t.groupId===e.id}))}(e,ne),n=u.getLastItem(ne.filter((function(e){return u.isUndefined(null==e?void 0:e.noFilter)})));return{divider:{hasFirstChild:b(e,le),hasLastChild:y(e,n)},group:{display:t?"initial":"none"}}},getInputProps:function(t,n){var r=t.onBlur,o=t.onChange,i=t.onFocus,a=t.onKeyDown,s=t.variant,c=t.wrapStyles,p=d(t,I);return{wrapper:f({ref:V,onClick:function(){var e;null==N||null==(e=N.current)||e.focus()},tabIndex:0},h(n,A),c),input:f({isReadOnly:S,onFocus:function(t){u.runIfFn(i),e.openOnFocus&&!S&&P(),e.selectOnFocus&&t.target.select(),w&&Z(!0)},onBlur:function(e){var t;u.runIfFn(r);var n,o=e.relatedTarget===(null==q?void 0:q.current),i=null==(t=V.current)?void 0:t.contains(e.relatedTarget);o||i||(l&&k(),U.includes(e.target.value)||O||H(null!=(n=u.getLastItem(U))?n:""))},onChange:function(e){var t=e.target.value;u.runIfFn(o,e),H(e.target.value);var n=u.isEmpty(t);!u.runIfFn(R,t)||n&&!L?k():P(),Z(!1)},onKeyDown:function(e){u.runIfFn(a,e),B.current="keyboard";var t,n=e.key,r=ne[re];return"Enter"===n?(!r||null!=r&&r.disabled?null==(t=N.current)||t.focus():ae(r.value),void e.preventDefault()):"ArrowDown"===n?(Y(oe.value),void e.preventDefault()):"ArrowUp"===n?(Y(ue.value),void e.preventDefault()):"Tab"===n?(Y(oe.value),void e.preventDefault()):"Home"===n?(Y(null==le?void 0:le.value),void e.preventDefault()):"End"===n?(Y(null==ie?void 0:ie.value),void e.preventDefault()):void("Escape"===n&&u.callAll(k,e.preventDefault))},value:null!=W?W:"",variant:A?"unstyled":s},p)}},getItemProps:function(e){var t,n=e._fixed,r=e._focus,o=e.children,l=e.disabled,i=e.label,a=e.value,s=e.fixed,c=e.getValue,v=void 0===c?pe:c,g=e.onClick,h=e.onMouseOver,b=e.sx,y=d(e,C),I=null==(t=v(a))?void 0:t.toString(),x=I===Q,O=ne.findIndex((function(e){return e.value===I}))>=0,S=o||i||I;return{item:f({},"string"==typeof S&&p?{dangerouslySetInnerHTML:{__html:m(S,W)}}:{children:S},{"aria-selected":U.includes(I),"aria-disabled":l,_disabled:{opacity:.4,cursor:"not-allowed",userSelect:"none"},onClick:function(e){var t;u.runIfFn(g,e),l?null==(t=N.current)||t.focus():ae(I)},onMouseOver:function(e){u.runIfFn(h,e),Y(I),B.current="mouse"},sx:f({},b,{mark:f({color:"inherit",bg:"transparent"},u.isObject(p)?p:{fontWeight:p?"extrabold":"inherit"})})},x&&(r||{bg:"whiteAlpha.100",_light:{bg:"gray.200"}}),s&&n,y),root:{isValidSuggestion:O,setItemList:T,value:I}}},getListProps:function(){return{width:null==de?void 0:de.marginBox.width}},inputRef:N,interactionRef:B,isOpen:D,itemList:M,listRef:q,onClose:k,onOpen:P,query:W,setQuery:H,tags:ce,values:U}}var O=o.forwardRef((function(e,t){var r=x(e);return n.createElement(s,{value:r},n.createElement(o.Popover,{isLazy:!0,isOpen:r.isOpen,onClose:r.onClose,onOpen:r.onOpen,autoFocus:!1,placement:"bottom",closeOnBlur:!0},n.createElement(o.chakra.div,{sx:{".chakra-popover__popper":{position:"unset !important"}},w:"full",ref:t},r.children)))}));O.displayName="AutoComplete";var S=["children","dangerouslySetInnerHTML"],w=o.forwardRef((function(e,r){var l=c(),i=l.focusedValue,a=l.getItemProps,s=l.interactionRef,p=t.useRef(),v=o.useMergeRefs(r,p),m=a(e),g=m.root,h=g.isValidSuggestion,b=g.setItemList,y=g.value,I=i===y;t.useEffect((function(){var e;I&&"keyboard"===s.current&&(null==p||null==(e=p.current)||e.scrollIntoView({behavior:"smooth",block:"center"}))}),[I,s]),t.useEffect((function(){var t=f({},u.pick(e,["label","fixed","disabled","groupId"]),{itemVal:e.value,value:y});b((function(e){return[].concat(e,[t])}))}),[]);var C=m.item,x=C.children,O=C.dangerouslySetInnerHTML,w=d(C,S),A=u.omit(w,["groupId"]);return h?n.createElement(o.Flex,Object.assign({ref:v},E,A),x||n.createElement("span",{dangerouslySetInnerHTML:O})):null}));w.displayName="AutoCompleteItem";var E={mx:"2",px:"2",py:"2",borderRadius:"md",cursor:"pointer"},A=["children"],F=["children"];function R(e){var t=e.children,r=d(e,A),l=c(),i=l.autoCompleteProps,a=l.getItemProps,s=l.query,p=l.filteredResults,v=n.createElement("mark",null,s),m=a(f({},e,{value:s,children:u.runIfFn(t,{value:v})})).item,g=m.children,h=d(m,F),b=p.some((function(e){return e.value===s}));return!i.creatable||u.isEmpty(s)||b?null:n.createElement(o.Flex,Object.assign({},E,h,r),g||"Add "+s)}R.displayName="AutoCompleteCreatable";var L=["children","showDivider"],j=o.forwardRef((function(e,t){var r=e.children,l=d(e,L),i=u.omit(l,["groupSibling"]),a=(0,c().getGroupProps)(e).group,s=P(e);return n.createElement(o.Box,Object.assign({ref:t},a,i),n.createElement(o.Divider,Object.assign({},s.top)),r,n.createElement(o.Divider,Object.assign({},s.bottom)))})),D=o.forwardRef((function(e,t){return n.createElement(o.Flex,Object.assign({},k,e,{ref:t}))}));j.displayName="AutoCompleteGroup",D.displayName="AutoCompleteGroupTitle";var k={ml:5,my:1,fontSize:"xs",letterSpacing:"wider",fontWeight:"extrabold",textTransform:"uppercase"},P=function(e){var t=c(),n=e.groupSibling,r=(0,t.getGroupProps)(e).divider,o=r.hasLastChild,u={my:2,borderColor:e.dividerColor};return{top:f({},u,{mb:4,display:!e.showDivider||r.hasFirstChild?"none":""}),bottom:f({},u,{display:!e.showDivider||o||n?"none":""})}},_=["children","value"],M=o.forwardRef((function(e,r){var l=c(),i=l.getInputProps,a=l.setQuery,s=l.tags,f=o.useMergeRefs(r,l.inputRef),p=e.children,v=e.value,m=d(e,_);t.useEffect((function(){a(null!=v?v:"")}),[v,a]);var g=i(m,o.useMultiStyleConfig("Input",e)),h=u.runIfFn(p,{tags:s});return n.createElement(o.Wrap,Object.assign({},g.wrapper),h,n.createElement(o.WrapItem,Object.assign({as:o.Input},g.input,{ref:f})))}));M.displayName="Input",M.id="Input";var T=function(e){var t=(0,c().getEmptyStateProps)(n.createElement(l.Flex,Object.assign({},N),"No options found!"));return n.createElement(l.Box,Object.assign({},e),t)},N={fontSize:"sm",align:"center",justify:"center",fontWeight:"bold",fontStyle:"italic"},V=["children"],q=o.forwardRef((function(e,t){var r=e.children,u=d(e,V),l=c(),i=l.getListProps,a=o.useMergeRefs(t,l.listRef),s=i();return n.createElement(o.PopoverContent,Object.assign({ref:a},B,s,u),function(e){return n.Children.map(e,(function(t,r){if("AutoCompleteGroup"===t.type.displayName){var o=n.Children.toArray(e)[r+1];return n.cloneElement(t,{groupSibling:!!o&&"AutoCompleteGroup"===o.type.displayName})}return t}))}(r),n.createElement(T,null))}));q.displayName="AutoCompleteList";var B={mt:"4",py:"4",opacity:"0",bg:"#232934",borderRadius:"md",maxH:"350px",border:"none",boxShadow:"base",pos:"absolute",zIndex:"popover",overflowY:"auto",_light:{bg:"#ffffff"},_focus:{boxShadow:"none"}},G=["label","onRemove","disabled"],W=t.memo((function(e){var t=e.label,r=e.onRemove,o=e.disabled,a=d(e,G);return n.createElement(l.WrapItem,null,n.createElement(i.Tag,Object.assign({borderRadius:"md",fontWeight:"normal"},o&&H,a),n.createElement(i.TagLabel,null,t),n.createElement(i.TagCloseButton,Object.assign({onClick:function(){return!o&&u.runIfFn(r)},cursor:"pointer"},o&&H))))})),H={cursor:"text",userSelect:"none",opacity:.4,_focus:{boxShadow:"none"}};exports.AutoComplete=O,exports.AutoCompleteCreatable=R,exports.AutoCompleteGroup=j,exports.AutoCompleteGroupTitle=D,exports.AutoCompleteInput=M,exports.AutoCompleteItem=w,exports.AutoCompleteList=q,exports.AutoCompleteProvider=s,exports.AutoCompleteTag=W,exports.baseItemStyles=E,exports.useAutoComplete=x,exports.useAutoCompleteContext=c;
|
|
2
2
|
//# sourceMappingURL=chakra-autocomplete.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chakra-autocomplete.cjs.production.min.js","sources":["../src/autocomplete-context.ts","../src/helpers/fuzzySearch.ts","../src/helpers/items.ts","../src/helpers/input.ts","../src/helpers/group.ts","../src/use-autocomplete.ts","../src/autocomplete.tsx","../src/autocomplete-item.tsx","../src/autocomplete-creatable.tsx","../src/autocomplete-group.tsx","../src/autocomplete-input.tsx","../src/components/empty-state.tsx","../src/autocomplete-list.tsx","../src/helpers/list.ts","../src/autocomplete-tag.tsx"],"sourcesContent":["import { createContext } from \"@chakra-ui/react-utils\";\nimport { UseAutoCompleteReturn } from \"./types\";\n\nexport const [AutoCompleteProvider, useAutoCompleteContext] = createContext<\n UseAutoCompleteReturn\n>({\n name: \"AutoCompleteContext\",\n errorMessage:\n \"useAutoCompleteContext: `context` is undefined. Seems you forgot to wrap all autocomplete components within `<AutoComplete />`\",\n});\n","/*\n * @param str1 The first string to compare.\n * @param str2 The second string to compare.\n * @param gramSize The size of the grams. Defaults to length 2.\n */\nexport function fuzzyScore(str1: string, str2: string, gramSize: number = 2) {\n function getNGrams(s: string, len: number) {\n s = \" \".repeat(len - 1) + s.toLowerCase() + \" \".repeat(len - 1);\n let v = new Array(s.length - len + 1);\n for (let i = 0; i < v.length; i++) {\n v[i] = s.slice(i, i + len);\n }\n return v;\n }\n\n if (!str1?.length || !str2?.length) {\n return 0.0;\n }\n\n //Order the strings by length so the order they're passed in doesn't matter\n //and so the smaller string's ngrams are always the ones in the set\n let s1 = str1.length < str2.length ? str1 : str2;\n let s2 = str1.length < str2.length ? str2 : str1;\n\n let pairs1 = getNGrams(s1, gramSize);\n let pairs2 = getNGrams(s2, gramSize);\n let set = new Set<string>(pairs1);\n\n let total = pairs2.length;\n let hits = 0;\n for (let item of pairs2) {\n if (set.delete(item)) {\n hits++;\n }\n }\n return hits / total;\n}\n","import { isEmpty } from \"@chakra-ui/utils\";\nimport { FlexProps } from \"@chakra-ui/react\";\nimport { fuzzyScore } from \"./fuzzySearch\";\nimport { Item } from \"../types\";\n\nexport const setEmphasis = (children: any, query: string) => {\n if (typeof children !== \"string\" || isEmpty(query)) {\n return children;\n }\n const newChildren = children\n .toString()\n .replace(\n new RegExp(escapeRegex(query), \"gi\"),\n (match: any) => `<mark>${match}</mark>`\n );\n return newChildren;\n};\n\nexport const getFocusedStyles = (): FlexProps => {\n return {\n bg: \"whiteAlpha.100\",\n _light: {\n bg: \"gray.200\",\n },\n };\n};\n\nexport const defaultFilterMethod = (\n query: string,\n itemValue: Item[\"value\"],\n itemLabel: Item[\"label\"]\n) => {\n return (\n itemValue?.toLowerCase().indexOf(query?.toLowerCase()) >= 0 ||\n itemLabel?.toLowerCase().indexOf(query?.toLowerCase()) >= 0 ||\n fuzzyScore(query, itemValue) >= 0.5 ||\n fuzzyScore(query, itemLabel) >= 0.5\n );\n};\n\nfunction escapeRegex(string: string) {\n return string.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n}\n","export const getMultipleWrapStyles = (themeInput: any, multiple?: boolean) => ({\n ...(multiple && {\n ...themeInput.field,\n _focusWithin: themeInput.field._focus,\n pos: \"relative\",\n minH: 9,\n // px: 3,\n py: 1.5,\n spacing: 3,\n }),\n cursor: \"text\",\n h: \"fit-content\",\n // w: \"full\",\n});\n","import { isDefined } from \"@chakra-ui/utils\";\nimport { AutoCompleteGroupProps } from \"../autocomplete-group\";\nimport { Item } from \"../types\";\n\nexport const hasFirstItem = (\n props: AutoCompleteGroupProps,\n firstItem: Item\n) => {\n return (\n isDefined(firstItem?.groupId) &&\n isDefined(props.id) &&\n firstItem?.groupId === props.id\n );\n};\nexport const hasLastItem = (props: AutoCompleteGroupProps, lastItem: Item) => {\n return (\n isDefined(lastItem?.groupId) &&\n isDefined(props.id) &&\n lastItem?.groupId === props.id\n );\n};\n\nexport const hasChildren = (\n props: AutoCompleteGroupProps,\n filteredList: Item[]\n) => {\n return filteredList.some(item => {\n return (\n isDefined(item.groupId) &&\n isDefined(props.id) &&\n item.groupId === props.id\n );\n });\n};\n","import {\n useDimensions,\n useDisclosure,\n useUpdateEffect,\n} from \"@chakra-ui/react\";\nimport {\n callAll,\n getFirstItem,\n getLastItem,\n getNextItem,\n getPrevItem,\n isObject,\n isEmpty,\n isUndefined,\n runIfFn,\n} from \"@chakra-ui/utils\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { AutoCompleteProps } from \"./autocomplete\";\nimport {\n defaultFilterMethod,\n getFocusedStyles,\n setEmphasis,\n} from \"./helpers/items\";\nimport { getMultipleWrapStyles } from \"./helpers/input\";\nimport { hasChildren, hasFirstItem, hasLastItem } from \"./helpers/group\";\nimport { Item, UseAutoCompleteReturn } from \"./types\";\nimport { AutoCompleteItemProps } from \"./autocomplete-item\";\n\n/**\n * useAutoComplete that provides all the state and focus management logic\n * for the autocomplete component. It is consumed by the `Autocomplete` component\n *\n */\n\nexport function useAutoComplete(\n autoCompleteProps: AutoCompleteProps\n): UseAutoCompleteReturn {\n let {\n closeOnBlur = true,\n closeOnSelect,\n creatable,\n defaultValues = [],\n emphasize,\n emptyState = true,\n freeSolo,\n isReadOnly,\n listAllValuesOnFocus,\n maxSuggestions,\n multiple,\n defaultIsOpen,\n shouldRenderSuggestions = () => true,\n suggestWhenEmpty,\n } = autoCompleteProps;\n\n closeOnSelect = closeOnSelect ? closeOnSelect : multiple ? false : true;\n\n freeSolo = freeSolo ? freeSolo : multiple ? true : autoCompleteProps.freeSolo;\n\n const { isOpen, onClose, onOpen } = useDisclosure({ defaultIsOpen });\n\n const [itemList, setItemList] = useState<Item[]>([]);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const inputWrapperRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const interactionRef = useRef<\"mouse\" | \"keyboard\" | null>(null);\n\n const [query, setQuery] = useState<string>(\"\");\n\n const [values, setValues] = useState<any[]>(defaultValues);\n\n useEffect(() => {\n if (!multiple && !isEmpty(defaultValues)) {\n setQuery(defaultValues[0] as any);\n }\n }, []);\n\n const [focusedValue, setFocusedValue] = useState<Item[\"value\"]>(\n itemList[0]?.value\n );\n\n const [listAll, setListAll] = useState(false);\n\n const maxSelections = autoCompleteProps.maxSelections || values.length + 1;\n\n const filteredResults = itemList\n .filter(\n i =>\n i.fixed ||\n runIfFn(\n autoCompleteProps.filter || defaultFilterMethod,\n query,\n i.value,\n i.label\n ) ||\n listAll\n )\n .filter((_, index) => (maxSuggestions ? index < maxSuggestions : true));\n\n // Add Creatable to Filtered List\n const creatableArr: any = creatable ? [{ value: query, noFilter: true }] : [];\n const filteredList: Item[] = [...filteredResults, ...creatableArr];\n\n const focusedIndex = filteredList.findIndex(i => i.value === focusedValue);\n const nextItem = getNextItem(\n focusedIndex,\n filteredList,\n !!autoCompleteProps.rollNavigation\n );\n const prevItem = getPrevItem(\n focusedIndex,\n filteredList,\n !!autoCompleteProps.rollNavigation\n );\n const firstItem = getFirstItem(filteredList);\n const lastItem = getLastItem(filteredList);\n\n useUpdateEffect(() => {\n setFocusedValue(firstItem?.value);\n }, [query]);\n\n useEffect(() => {\n const item = filteredList.find(opt => opt.value === values[0]);\n const items = values.map(val =>\n filteredList.find(opt => opt.value === val)\n );\n runIfFn(\n autoCompleteProps.onChange,\n multiple ? values : values[0],\n multiple ? items : item\n );\n }, [values, multiple]);\n\n useEffect(() => {\n const focusedItem = itemList.find(i => i.value === focusedValue);\n runIfFn(autoCompleteProps.onOptionFocus, {\n optionValue: focusedValue,\n optionLabel: focusedItem?.label,\n item: focusedItem!,\n selectMethod: interactionRef.current,\n isNewInput: false,\n });\n }, [focusedValue, autoCompleteProps.onOptionFocus]);\n\n const selectItem = (optionValue: Item[\"value\"]) => {\n if (!values.includes(optionValue) && values.length < maxSelections)\n setValues(v => (multiple ? [...v, optionValue] : [optionValue]));\n\n const option = filteredList.find(i => i.value === optionValue);\n\n const optionLabelFromValue = option?.label;\n // use value if label is not available\n const optionLabel = optionLabelFromValue || optionValue;\n setQuery(optionLabel);\n\n if (multiple) {\n setQuery(\"\");\n inputRef.current?.focus();\n }\n if (autoCompleteProps.focusInputOnSelect) inputRef.current?.focus();\n runIfFn(autoCompleteProps.onSelectOption, {\n optionValue: optionValue,\n optionLabel: optionLabel,\n item: option!,\n selectMethod: interactionRef.current,\n isNewInput: false,\n });\n if (closeOnSelect) onClose();\n };\n\n const removeItem = (itemValue: Item[\"value\"]) => {\n setValues(prevValues => {\n const item = itemList.find(opt => opt.value === itemValue);\n runIfFn(autoCompleteProps.onTagRemoved, itemValue, item, prevValues);\n return prevValues.filter(i => i !== itemValue);\n });\n if (query === itemValue) setQuery(\"\");\n };\n\n const resetItems = (focusInput?: boolean) => {\n setValues([]);\n if (focusInput) inputRef.current?.focus();\n };\n\n const tags = multiple\n ? values.map(tag => ({\n label: itemList.find(item => item.value === tag)?.label || tag,\n onRemove: () => removeItem(tag),\n }))\n : [];\n\n const children = runIfFn(autoCompleteProps.children, {\n isOpen,\n onClose,\n onOpen,\n tags,\n removeItem,\n resetItems,\n });\n\n const getInputProps: UseAutoCompleteReturn[\"getInputProps\"] = (\n props,\n themeInput\n ) => {\n const {\n onBlur,\n onChange,\n onFocus,\n onKeyDown,\n variant,\n wrapStyles,\n ...rest\n } = props;\n\n return {\n wrapper: {\n ref: inputWrapperRef,\n onClick: () => {\n inputRef?.current?.focus();\n },\n tabIndex: 0,\n ...getMultipleWrapStyles(themeInput, multiple),\n ...wrapStyles,\n },\n input: {\n isReadOnly,\n onFocus: e => {\n runIfFn(onFocus);\n if (autoCompleteProps.openOnFocus && !isReadOnly) onOpen();\n if (autoCompleteProps.selectOnFocus) e.target.select();\n if (listAllValuesOnFocus) setListAll(true);\n },\n onBlur: e => {\n runIfFn(onBlur);\n const listIsFocused = e.relatedTarget === listRef?.current;\n const inputWrapperIsFocused = inputWrapperRef.current?.contains(\n e.relatedTarget as any\n );\n if (!listIsFocused && !inputWrapperIsFocused) {\n if (closeOnBlur) onClose();\n if (!values.includes(e.target.value) && !freeSolo)\n setQuery(getLastItem(values) ?? \"\");\n }\n },\n onChange: e => {\n const newValue = e.target.value;\n runIfFn(onChange, e);\n setQuery(e.target.value);\n const queryIsEmpty = isEmpty(newValue);\n if (\n runIfFn(shouldRenderSuggestions, newValue) &&\n (!queryIsEmpty || suggestWhenEmpty)\n )\n onOpen();\n else onClose();\n setListAll(false);\n },\n onKeyDown: e => {\n runIfFn(onKeyDown, e);\n interactionRef.current = \"keyboard\";\n\n const { key } = e;\n const focusedItem = filteredList[focusedIndex];\n if (key === \"Enter\") {\n if (focusedItem && !focusedItem?.disabled)\n selectItem(focusedItem.value);\n else inputRef.current?.focus();\n e.preventDefault();\n return;\n }\n\n if (key === \"ArrowDown\") {\n setFocusedValue(nextItem.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"ArrowUp\") {\n setFocusedValue(prevItem.value);\n\n e.preventDefault();\n return;\n }\n\n if (key === \"Tab\") {\n setFocusedValue(nextItem.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"Home\") {\n setFocusedValue(firstItem?.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"End\") {\n setFocusedValue(lastItem?.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"Escape\") {\n callAll(onClose, e.preventDefault);\n }\n },\n value: query ?? \"\",\n variant: multiple ? \"unstyled\" : variant,\n ...rest,\n },\n };\n };\n\n const dim = useDimensions(inputWrapperRef, true);\n const getListProps: UseAutoCompleteReturn[\"getListProps\"] = () => {\n const width = dim?.marginBox.width as number;\n\n return {\n width,\n };\n };\n\n const getDefItemValue = (item: AutoCompleteItemProps[\"value\"]) =>\n (typeof item === \"string\" ? item : item[Object.keys(item)[0]]).toString();\n\n const getItemProps: UseAutoCompleteReturn[\"getItemProps\"] = props => {\n const {\n _fixed,\n _focus,\n children: itemChild,\n disabled,\n label,\n value: valueProp,\n fixed,\n getValue = getDefItemValue,\n onClick,\n onMouseOver,\n sx,\n ...rest\n } = props;\n const value = getValue(valueProp).toString();\n const isFocused = value === focusedValue;\n const isValidSuggestion =\n filteredList.findIndex(i => i.value === value) >= 0;\n const itemLabel = itemChild || label || value;\n return {\n item: {\n ...(typeof itemLabel !== \"string\" || !emphasize\n ? { children: itemLabel }\n : {\n dangerouslySetInnerHTML: {\n __html: setEmphasis(itemLabel, query),\n },\n }),\n \"aria-selected\": values.includes(value),\n \"aria-disabled\": disabled,\n _disabled: { opacity: 0.4, cursor: \"not-allowed\", userSelect: \"none\" },\n onClick: e => {\n runIfFn(onClick, e);\n if (!disabled) selectItem(value);\n else inputRef.current?.focus();\n },\n onMouseOver: e => {\n runIfFn(onMouseOver, e);\n setFocusedValue(value);\n interactionRef.current = \"mouse\";\n },\n sx: {\n ...sx,\n mark: {\n color: \"inherit\",\n bg: \"transparent\",\n ...(isObject(emphasize)\n ? emphasize\n : {\n fontWeight: emphasize ? \"extrabold\" : \"inherit\",\n }),\n },\n },\n ...(isFocused && (_focus || getFocusedStyles())),\n ...(fixed && _fixed),\n ...rest,\n },\n root: {\n isValidSuggestion,\n setItemList,\n value,\n },\n };\n };\n\n const getGroupProps: UseAutoCompleteReturn[\"getGroupProps\"] = props => {\n const hasItems = hasChildren(props, filteredList);\n const lastItem = getLastItem(\n filteredList.filter(i => isUndefined(i?.noFilter))\n );\n return {\n divider: {\n hasFirstChild: hasFirstItem(props, firstItem!),\n hasLastChild: hasLastItem(props, lastItem!),\n },\n group: {\n display: hasItems ? \"initial\" : \"none\",\n },\n };\n };\n\n const getEmptyStateProps: UseAutoCompleteReturn[\"getEmptyStateProps\"] = defaultEmptyState => {\n const noSuggestions = filteredList.every(i => i.noFilter);\n if (noSuggestions && emptyState && !creatable) {\n return typeof emptyState === \"boolean\"\n ? defaultEmptyState\n : runIfFn(emptyState, { query });\n }\n };\n\n return {\n autoCompleteProps,\n children,\n filteredList,\n filteredResults,\n focusedValue,\n getEmptyStateProps,\n getGroupProps,\n getInputProps,\n getItemProps,\n getListProps,\n inputRef,\n interactionRef,\n isOpen,\n itemList,\n listRef,\n onClose,\n onOpen,\n query,\n setQuery,\n tags,\n values,\n };\n}\n","import React from \"react\";\n\nimport { AutoCompleteProvider } from \"./autocomplete-context\";\nimport { useAutoComplete } from \"./use-autocomplete\";\nimport { chakra, forwardRef, Popover } from \"@chakra-ui/react\";\nimport { UseAutoCompleteProps, UseAutoCompleteReturn } from \"./types\";\n\nexport interface AutoCompleteProps extends UseAutoCompleteProps {\n children: UseAutoCompleteReturn[\"children\"];\n}\n\nexport const AutoComplete = forwardRef<AutoCompleteProps, \"div\">(\n (props, ref) => {\n const context = useAutoComplete(props);\n const { children, isOpen, onClose, onOpen } = context;\n\n return (\n <AutoCompleteProvider value={context}>\n <Popover\n isLazy\n isOpen={isOpen}\n onClose={onClose}\n onOpen={onOpen}\n autoFocus={false}\n placement=\"bottom\"\n closeOnBlur={true}\n >\n <chakra.div\n sx={{\n \".chakra-popover__popper\": {\n position: \"unset !important\",\n },\n }}\n w=\"full\"\n ref={ref}\n >\n {children}\n </chakra.div>\n </Popover>\n </AutoCompleteProvider>\n );\n }\n);\n\nAutoComplete.displayName = \"AutoComplete\";\n","import {\n CSSObject,\n Flex,\n FlexProps,\n forwardRef,\n useMergeRefs,\n} from \"@chakra-ui/react\";\nimport { isUndefined, omit, pick } from \"@chakra-ui/utils\";\nimport React, { useEffect, useRef } from \"react\";\n\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\n\nexport interface AutoCompleteItemProps extends FlexProps {\n value: any;\n label?: string;\n fixed?: boolean;\n _focus?: CSSObject | any;\n disabled?: boolean;\n _fixed?: CSSObject;\n getValue?: (item: AutoCompleteItemProps[\"value\"]) => any;\n groupId?: string;\n}\n\nexport const AutoCompleteItem = forwardRef<AutoCompleteItemProps, \"div\">(\n (props, forwardedRef) => {\n const {\n focusedValue,\n getItemProps,\n interactionRef,\n } = useAutoCompleteContext();\n const itemRef = useRef<any>();\n const ref = useMergeRefs(forwardedRef, itemRef);\n\n const itemProps = getItemProps(props);\n const { isValidSuggestion, setItemList, value } = itemProps.root;\n\n const isFocused = focusedValue === value;\n\n useEffect(() => {\n if (isFocused && interactionRef.current === \"keyboard\")\n itemRef?.current?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n }, [isFocused, interactionRef]);\n\n useEffect(() => {\n const item = {\n ...pick(props, [\"label\", \"fixed\", \"disabled\", \"groupId\"]),\n itemVal: props.value,\n value,\n };\n setItemList((itemList: any) => [...itemList, item]);\n if (typeof value !== \"string\") console.warn(\"wow\");\n if (typeof value !== \"string\" && isUndefined(props.getValue))\n console.error(\n \"You must define the `getValue` prop, when an Item's value is not a string\"\n );\n }, []);\n\n const { children, dangerouslySetInnerHTML, ...restProps } = itemProps.item;\n\n const rest = omit(restProps, [\"groupId\"] as any);\n\n return isValidSuggestion ? (\n <Flex ref={ref} {...baseItemStyles} {...rest}>\n {children ? (\n children\n ) : (\n <span dangerouslySetInnerHTML={dangerouslySetInnerHTML} />\n )}\n </Flex>\n ) : null;\n }\n);\n\nAutoCompleteItem.displayName = \"AutoCompleteItem\";\n\nexport const baseItemStyles: FlexProps = {\n mx: \"2\",\n px: \"2\",\n py: \"2\",\n borderRadius: \"md\",\n cursor: \"pointer\",\n};\n","import { Flex, FlexProps } from \"@chakra-ui/react\";\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\";\nimport { isEmpty, runIfFn } from \"@chakra-ui/utils\";\n\nimport React from \"react\";\n\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\nimport { baseItemStyles } from \"./autocomplete-item\";\n\ninterface AutoCompleteCreatableProps extends FlexProps {\n children?: MaybeRenderProp<{ value: any }>;\n}\n\nexport function AutoCompleteCreatable(props: AutoCompleteCreatableProps) {\n const { children: childrenProp, ...rest } = props;\n const {\n autoCompleteProps,\n getItemProps,\n query,\n filteredResults,\n } = useAutoCompleteContext();\n\n const queryValue = <mark>{query}</mark>;\n const { children, ...itemProps } = getItemProps({\n ...props,\n value: query,\n children: runIfFn(childrenProp, {\n value: queryValue,\n }),\n }).item;\n\n const queryExistsInList = filteredResults.some(i => i.value === query);\n const showCreatable =\n autoCompleteProps.creatable && !isEmpty(query) && !queryExistsInList;\n\n return showCreatable ? (\n <Flex {...baseItemStyles} {...itemProps} {...rest}>\n {children || `Add ${query}`}\n </Flex>\n ) : null;\n}\n\nAutoCompleteCreatable.displayName = \"AutoCompleteCreatable\";\n","import {\n Box,\n BoxProps,\n Divider,\n DividerProps,\n Flex,\n FlexProps,\n forwardRef,\n} from \"@chakra-ui/react\";\nimport { omit } from \"@chakra-ui/utils\";\nimport React from \"react\";\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\n\nexport interface AutoCompleteGroupProps extends BoxProps {\n children?: React.ReactNode;\n showDivider?: boolean;\n dividerColor?: string;\n}\n\nexport const AutoCompleteGroup = forwardRef<AutoCompleteGroupProps, \"div\">(\n (props, ref) => {\n const { children, showDivider, ...restProps } = props;\n const rest = omit(restProps, [\"groupSibling\"] as any);\n\n const { getGroupProps } = useAutoCompleteContext();\n\n const { group } = getGroupProps(props);\n\n const dividerStyles = useDividerStyles(props);\n\n return (\n <Box ref={ref} {...group} {...rest}>\n <Divider {...dividerStyles.top} />\n {children}\n <Divider {...dividerStyles.bottom} />\n </Box>\n );\n }\n);\n\nexport const AutoCompleteGroupTitle = forwardRef<FlexProps, \"div\">(\n (props, ref) => {\n return <Flex {...baseTitleStyles} {...props} ref={ref} />;\n }\n);\n\nAutoCompleteGroup.displayName = \"AutoCompleteGroup\";\nAutoCompleteGroupTitle.displayName = \"AutoCompleteGroupTitle\";\n\nconst baseTitleStyles: FlexProps = {\n ml: 5,\n my: 1,\n fontSize: \"xs\",\n letterSpacing: \"wider\",\n fontWeight: \"extrabold\",\n textTransform: \"uppercase\",\n};\n\nconst useDividerStyles = (\n props: AutoCompleteGroupProps & { groupSibling?: boolean }\n) => {\n const { getGroupProps } = useAutoCompleteContext();\n\n const hasGroupSibling: unknown = props.groupSibling;\n\n const {\n divider: { hasFirstChild, hasLastChild },\n } = getGroupProps(props as AutoCompleteGroupProps);\n\n const baseStyles: DividerProps = {\n my: 2,\n borderColor: props.dividerColor,\n };\n\n const top = {\n ...baseStyles,\n mb: 4,\n display: !props.showDivider || hasFirstChild ? \"none\" : \"\",\n };\n const bottom = {\n ...baseStyles,\n display:\n !props.showDivider || hasLastChild || hasGroupSibling ? \"none\" : \"\",\n };\n\n return { top, bottom };\n};\n","import {\n CSSObject,\n forwardRef,\n Input,\n InputProps,\n useMergeRefs,\n useMultiStyleConfig,\n Wrap,\n WrapItem,\n} from \"@chakra-ui/react\";\nimport { runIfFn } from \"@chakra-ui/utils\";\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\";\nimport React, { useEffect } from \"react\";\n\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\nimport { UseAutoCompleteReturn } from \"./types\";\n\nexport interface AutoCompleteInputProps extends InputProps {\n children?: MaybeRenderProp<{ tags: UseAutoCompleteReturn[\"tags\"] }>;\n wrapStyles?: CSSObject;\n}\n\nexport const AutoCompleteInput = forwardRef<AutoCompleteInputProps, \"input\">(\n (props, forwardedRef) => {\n const {\n inputRef,\n getInputProps,\n setQuery,\n tags,\n } = useAutoCompleteContext();\n\n const ref = useMergeRefs(forwardedRef, inputRef);\n\n const { children: childrenProp, value, ...rest } = props;\n\n useEffect(() => {\n setQuery(value ?? \"\");\n }, [value, setQuery]);\n\n const themeInput: any = useMultiStyleConfig(\"Input\", props);\n\n const inputProps = getInputProps(rest, themeInput);\n\n const children = runIfFn(childrenProp, { tags });\n\n return (\n <Wrap {...inputProps.wrapper}>\n {children}\n <WrapItem as={Input} {...(inputProps.input as any)} ref={ref} />\n </Wrap>\n );\n }\n);\n\nAutoCompleteInput.displayName = \"Input\";\n\nAutoCompleteInput.id = \"Input\";\n","import { Box, BoxProps, Flex, FlexProps } from \"@chakra-ui/layout\";\nimport React from \"react\";\nimport { useAutoCompleteContext } from \"../autocomplete-context\";\n\nexport const EmptyState = (props: BoxProps) => {\n const { getEmptyStateProps } = useAutoCompleteContext();\n\n const emptyState = getEmptyStateProps(\n <Flex {...emptyStyles}>No options found!</Flex>\n );\n\n return <Box {...props}>{emptyState}</Box>;\n};\n\nconst emptyStyles: FlexProps = {\n fontSize: \"sm\",\n align: \"center\",\n justify: \"center\",\n fontWeight: \"bold\",\n fontStyle: \"italic\",\n};\n","import {\n forwardRef,\n PopoverContent,\n PopoverContentProps,\n useMergeRefs,\n} from \"@chakra-ui/react\";\nimport React from \"react\";\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\nimport { EmptyState } from \"./components/empty-state\";\nimport { siblingInfo } from \"./helpers/list\";\n\nexport type AutoCompleteListProps = PopoverContentProps;\n\nexport const AutoCompleteList = forwardRef<AutoCompleteListProps, \"div\">(\n (props, forwardedRef) => {\n const { children, ...rest } = props;\n const { listRef, getListProps } = useAutoCompleteContext();\n const ref = useMergeRefs(forwardedRef, listRef);\n const listProps = getListProps();\n\n return (\n <PopoverContent ref={ref} {...baseStyles} {...listProps} {...rest}>\n {siblingInfo(children)}\n <EmptyState />\n </PopoverContent>\n );\n }\n);\n\nAutoCompleteList.displayName = \"AutoCompleteList\";\n\nconst baseStyles: PopoverContentProps = {\n mt: \"4\",\n py: \"4\",\n opacity: \"0\",\n bg: \"#232934\",\n borderRadius: \"md\",\n maxH: \"350px\",\n border: \"none\",\n boxShadow: \"base\",\n pos: \"absolute\",\n zIndex: \"popover\",\n overflowY: \"auto\",\n\n _light: {\n bg: \"#ffffff\",\n },\n\n _focus: {\n boxShadow: \"none\",\n },\n};\n","import React from \"react\";\n\nexport const siblingInfo = (children: React.ReactNode) => {\n return React.Children.map(children, (child: any, i) => {\n if (child.type.displayName === \"AutoCompleteGroup\") {\n const sibling: any = React.Children.toArray(children)[i + 1];\n return React.cloneElement(child, {\n groupSibling: sibling\n ? sibling.type.displayName === \"AutoCompleteGroup\"\n : false,\n });\n }\n return child;\n });\n};\n","import { WrapItem } from \"@chakra-ui/layout\";\nimport { Tag, TagCloseButton, TagLabel, TagProps } from \"@chakra-ui/tag\";\nimport { runIfFn } from \"@chakra-ui/utils\";\nimport React, { memo } from \"react\";\n\ntype AutoCompleteTagProps = {\n disabled?: boolean;\n label: string;\n onRemove?: () => void;\n} & TagProps;\n\nexport const AutoCompleteTag = memo((props: AutoCompleteTagProps) => {\n const { label, onRemove, disabled, ...rest } = props;\n\n return (\n <WrapItem>\n <Tag\n borderRadius=\"md\"\n fontWeight=\"normal\"\n {...(disabled && disabledStyles)}\n {...rest}\n >\n <TagLabel>{label}</TagLabel>\n <TagCloseButton\n onClick={() => !disabled && runIfFn(onRemove)}\n cursor=\"pointer\"\n {...(disabled && disabledStyles)}\n />\n </Tag>\n </WrapItem>\n );\n});\n\nconst disabledStyles: TagProps = {\n cursor: \"text\",\n userSelect: \"none\",\n opacity: 0.4,\n _focus: { boxShadow: \"none\" },\n};\n"],"names":["createContext","name","errorMessage","AutoCompleteProvider","useAutoCompleteContext","fuzzyScore","str1","str2","gramSize","getNGrams","s","len","repeat","toLowerCase","v","Array","length","i","slice","s2","pairs1","pairs2","set","Set","total","hits","setEmphasis","children","query","isEmpty","toString","replace","RegExp","match","defaultFilterMethod","itemValue","itemLabel","indexOf","getMultipleWrapStyles","themeInput","multiple","field","_focusWithin","_focus","pos","minH","py","spacing","cursor","h","hasFirstItem","props","firstItem","isDefined","groupId","id","hasLastItem","lastItem","useAutoComplete","autoCompleteProps","closeOnBlur","closeOnSelect","creatable","defaultValues","emphasize","emptyState","freeSolo","isReadOnly","listAllValuesOnFocus","maxSuggestions","shouldRenderSuggestions","suggestWhenEmpty","useDisclosure","defaultIsOpen","isOpen","onClose","onOpen","useState","itemList","setItemList","inputRef","useRef","inputWrapperRef","listRef","interactionRef","setQuery","values","setValues","useEffect","_itemList$","value","focusedValue","setFocusedValue","listAll","setListAll","maxSelections","filteredResults","filter","fixed","runIfFn","label","_","index","filteredList","noFilter","focusedIndex","findIndex","nextItem","getNextItem","rollNavigation","prevItem","getPrevItem","getFirstItem","getLastItem","useUpdateEffect","item","find","opt","items","map","val","onChange","focusedItem","onOptionFocus","optionValue","optionLabel","selectMethod","current","isNewInput","selectItem","includes","option","focus","focusInputOnSelect","onSelectOption","removeItem","prevValues","onTagRemoved","tags","tag","onRemove","resetItems","focusInput","dim","useDimensions","getDefItemValue","Object","keys","getEmptyStateProps","defaultEmptyState","every","getGroupProps","hasItems","some","hasChildren","isUndefined","divider","hasFirstChild","hasLastChild","group","display","getInputProps","onBlur","onFocus","onKeyDown","variant","wrapStyles","rest","wrapper","ref","onClick","tabIndex","input","e","openOnFocus","selectOnFocus","target","select","listIsFocused","relatedTarget","inputWrapperIsFocused","_inputWrapperRef$curr","contains","newValue","queryIsEmpty","key","disabled","preventDefault","callAll","getItemProps","_fixed","itemChild","valueProp","getValue","onMouseOver","sx","isFocused","isValidSuggestion","dangerouslySetInnerHTML","__html","_disabled","opacity","userSelect","mark","color","bg","isObject","fontWeight","_light","root","getListProps","width","marginBox","AutoComplete","forwardRef","context","React","Popover","isLazy","autoFocus","placement","chakra","div","position","w","displayName","AutoCompleteItem","forwardedRef","itemRef","useMergeRefs","itemProps","scrollIntoView","behavior","block","pick","itemVal","console","warn","error","restProps","omit","Flex","baseItemStyles","mx","px","borderRadius","AutoCompleteCreatable","childrenProp","queryValue","queryExistsInList","AutoCompleteGroup","dividerStyles","useDividerStyles","Box","Divider","top","bottom","AutoCompleteGroupTitle","baseTitleStyles","ml","my","fontSize","letterSpacing","textTransform","hasGroupSibling","groupSibling","baseStyles","borderColor","dividerColor","mb","showDivider","AutoCompleteInput","inputProps","useMultiStyleConfig","Wrap","WrapItem","as","Input","EmptyState","emptyStyles","align","justify","fontStyle","AutoCompleteList","listProps","PopoverContent","Children","child","type","sibling","toArray","cloneElement","siblingInfo","mt","maxH","border","boxShadow","zIndex","overflowY","AutoCompleteTag","memo","Tag","disabledStyles","TagLabel","TagCloseButton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chakra-autocomplete.cjs.production.min.js","sources":["../src/autocomplete-context.ts","../src/helpers/fuzzySearch.ts","../src/helpers/items.ts","../src/helpers/input.ts","../src/helpers/group.ts","../src/use-autocomplete.ts","../src/autocomplete.tsx","../src/autocomplete-item.tsx","../src/autocomplete-creatable.tsx","../src/autocomplete-group.tsx","../src/autocomplete-input.tsx","../src/components/empty-state.tsx","../src/autocomplete-list.tsx","../src/helpers/list.ts","../src/autocomplete-tag.tsx"],"sourcesContent":["import { createContext } from \"@chakra-ui/react-utils\";\nimport { UseAutoCompleteReturn } from \"./types\";\n\nexport const [AutoCompleteProvider, useAutoCompleteContext] = createContext<\n UseAutoCompleteReturn\n>({\n name: \"AutoCompleteContext\",\n errorMessage:\n \"useAutoCompleteContext: `context` is undefined. Seems you forgot to wrap all autocomplete components within `<AutoComplete />`\",\n});\n","/*\n * @param str1 The first string to compare.\n * @param str2 The second string to compare.\n * @param gramSize The size of the grams. Defaults to length 2.\n */\nexport function fuzzyScore(str1: string, str2: string, gramSize: number = 2) {\n function getNGrams(s: string, len: number) {\n s = \" \".repeat(len - 1) + s.toLowerCase() + \" \".repeat(len - 1);\n let v = new Array(s.length - len + 1);\n for (let i = 0; i < v.length; i++) {\n v[i] = s.slice(i, i + len);\n }\n return v;\n }\n\n if (!str1?.length || !str2?.length) {\n return 0.0;\n }\n\n //Order the strings by length so the order they're passed in doesn't matter\n //and so the smaller string's ngrams are always the ones in the set\n let s1 = str1.length < str2.length ? str1 : str2;\n let s2 = str1.length < str2.length ? str2 : str1;\n\n let pairs1 = getNGrams(s1, gramSize);\n let pairs2 = getNGrams(s2, gramSize);\n let set = new Set<string>(pairs1);\n\n let total = pairs2.length;\n let hits = 0;\n for (let item of pairs2) {\n if (set.delete(item)) {\n hits++;\n }\n }\n return hits / total;\n}\n","import { isEmpty } from \"@chakra-ui/utils\";\nimport { FlexProps } from \"@chakra-ui/react\";\nimport { fuzzyScore } from \"./fuzzySearch\";\nimport { Item } from \"../types\";\n\nexport const setEmphasis = (children: any, query: string) => {\n if (typeof children !== \"string\" || isEmpty(query)) {\n return children;\n }\n const newChildren = children\n .toString()\n .replace(\n new RegExp(escapeRegex(query), \"gi\"),\n (match: any) => `<mark>${match}</mark>`\n );\n return newChildren;\n};\n\nexport const getFocusedStyles = (): FlexProps => {\n return {\n bg: \"whiteAlpha.100\",\n _light: {\n bg: \"gray.200\",\n },\n };\n};\n\nexport const defaultFilterMethod = (\n query: string,\n itemValue: Item[\"value\"],\n itemLabel: Item[\"label\"]\n) => {\n return (\n itemValue?.toLowerCase().indexOf(query?.toLowerCase()) >= 0 ||\n itemLabel?.toLowerCase().indexOf(query?.toLowerCase()) >= 0 ||\n fuzzyScore(query, itemValue) >= 0.5 ||\n fuzzyScore(query, itemLabel) >= 0.5\n );\n};\n\nfunction escapeRegex(string: string) {\n return string.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n}\n","export const getMultipleWrapStyles = (themeInput: any, multiple?: boolean) => ({\n ...(multiple && {\n ...themeInput.field,\n _focusWithin: themeInput.field._focus,\n pos: \"relative\",\n minH: 9,\n // px: 3,\n py: 1.5,\n spacing: 3,\n }),\n cursor: \"text\",\n h: \"fit-content\",\n // w: \"full\",\n});\n","import { isDefined } from \"@chakra-ui/utils\";\nimport { AutoCompleteGroupProps } from \"../autocomplete-group\";\nimport { Item } from \"../types\";\n\nexport const hasFirstItem = (\n props: AutoCompleteGroupProps,\n firstItem: Item\n) => {\n return (\n isDefined(firstItem?.groupId) &&\n isDefined(props.id) &&\n firstItem?.groupId === props.id\n );\n};\nexport const hasLastItem = (props: AutoCompleteGroupProps, lastItem: Item) => {\n return (\n isDefined(lastItem?.groupId) &&\n isDefined(props.id) &&\n lastItem?.groupId === props.id\n );\n};\n\nexport const hasChildren = (\n props: AutoCompleteGroupProps,\n filteredList: Item[]\n) => {\n return filteredList.some(item => {\n return (\n isDefined(item.groupId) &&\n isDefined(props.id) &&\n item.groupId === props.id\n );\n });\n};\n","import {\n useDimensions,\n useDisclosure,\n useUpdateEffect,\n} from \"@chakra-ui/react\";\nimport {\n callAll,\n getFirstItem,\n getLastItem,\n getNextItem,\n getPrevItem,\n isObject,\n isEmpty,\n isUndefined,\n runIfFn,\n} from \"@chakra-ui/utils\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { AutoCompleteProps } from \"./autocomplete\";\nimport {\n defaultFilterMethod,\n getFocusedStyles,\n setEmphasis,\n} from \"./helpers/items\";\nimport { getMultipleWrapStyles } from \"./helpers/input\";\nimport { hasChildren, hasFirstItem, hasLastItem } from \"./helpers/group\";\nimport { Item, UseAutoCompleteReturn } from \"./types\";\nimport { AutoCompleteItemProps } from \"./autocomplete-item\";\n\n/**\n * useAutoComplete that provides all the state and focus management logic\n * for the autocomplete component. It is consumed by the `Autocomplete` component\n *\n */\n\nexport function useAutoComplete(\n autoCompleteProps: AutoCompleteProps\n): UseAutoCompleteReturn {\n let {\n closeOnBlur = true,\n closeOnSelect,\n creatable,\n defaultValues = [],\n emphasize,\n emptyState = true,\n freeSolo,\n isReadOnly,\n listAllValuesOnFocus,\n maxSuggestions,\n multiple,\n defaultIsOpen,\n shouldRenderSuggestions = () => true,\n suggestWhenEmpty,\n } = autoCompleteProps;\n\n closeOnSelect = closeOnSelect ? closeOnSelect : multiple ? false : true;\n\n freeSolo = freeSolo ? freeSolo : multiple ? true : autoCompleteProps.freeSolo;\n\n const { isOpen, onClose, onOpen } = useDisclosure({ defaultIsOpen });\n\n const [itemList, setItemList] = useState<Item[]>([]);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const inputWrapperRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const interactionRef = useRef<\"mouse\" | \"keyboard\" | null>(null);\n\n const [query, setQuery] = useState<string>(\"\");\n\n const [values, setValues] = useState<any[]>(defaultValues);\n\n useEffect(() => {\n if (!multiple && !isEmpty(defaultValues)) {\n setQuery(defaultValues[0] as any);\n }\n }, []);\n\n const [focusedValue, setFocusedValue] = useState<Item[\"value\"]>(\n itemList[0]?.value\n );\n\n const [listAll, setListAll] = useState(false);\n\n const maxSelections = autoCompleteProps.maxSelections || values.length + 1;\n\n const filteredResults = itemList\n .filter(\n i =>\n i.fixed ||\n runIfFn(\n autoCompleteProps.filter || defaultFilterMethod,\n query,\n i.value,\n i.label\n ) ||\n listAll\n )\n .filter((_, index) => (maxSuggestions ? index < maxSuggestions : true));\n\n // Add Creatable to Filtered List\n const creatableArr: any = creatable ? [{ value: query, noFilter: true }] : [];\n const filteredList: Item[] = [...filteredResults, ...creatableArr];\n\n const focusedIndex = filteredList.findIndex(i => i.value === focusedValue);\n const nextItem = getNextItem(\n focusedIndex,\n filteredList,\n !!autoCompleteProps.rollNavigation\n );\n const prevItem = getPrevItem(\n focusedIndex,\n filteredList,\n !!autoCompleteProps.rollNavigation\n );\n const firstItem = getFirstItem(filteredList);\n const lastItem = getLastItem(filteredList);\n\n useUpdateEffect(() => {\n setFocusedValue(firstItem?.value);\n }, [query]);\n\n useEffect(() => {\n const item = filteredList.find(opt => opt.value === values[0]);\n const items = values.map(val =>\n filteredList.find(opt => opt.value === val)\n );\n runIfFn(\n autoCompleteProps.onChange,\n multiple ? values : values[0],\n multiple ? items : item\n );\n }, [values, multiple]);\n\n useEffect(() => {\n const focusedItem = itemList.find(i => i.value === focusedValue);\n runIfFn(autoCompleteProps.onOptionFocus, {\n optionValue: focusedValue,\n optionLabel: focusedItem?.label,\n item: focusedItem!,\n selectMethod: interactionRef.current,\n isNewInput: false,\n });\n }, [focusedValue, autoCompleteProps.onOptionFocus]);\n\n const selectItem = (optionValue: Item[\"value\"]) => {\n if (!values.includes(optionValue) && values.length < maxSelections)\n setValues(v => (multiple ? [...v, optionValue] : [optionValue]));\n\n const option = filteredList.find(i => i.value === optionValue);\n\n const optionLabelFromValue = option?.label;\n // use value if label is not available\n const optionLabel = optionLabelFromValue || optionValue;\n setQuery(optionLabel);\n\n if (multiple) {\n setQuery(\"\");\n inputRef.current?.focus();\n }\n if (autoCompleteProps.focusInputOnSelect) inputRef.current?.focus();\n runIfFn(autoCompleteProps.onSelectOption, {\n optionValue: optionValue,\n optionLabel: optionLabel,\n item: option!,\n selectMethod: interactionRef.current,\n isNewInput: false,\n });\n if (closeOnSelect) onClose();\n };\n\n const removeItem = (itemValue: Item[\"value\"]) => {\n setValues(prevValues => {\n const item = itemList.find(opt => opt.value === itemValue);\n runIfFn(autoCompleteProps.onTagRemoved, itemValue, item, prevValues);\n return prevValues.filter(i => i !== itemValue);\n });\n if (query === itemValue) setQuery(\"\");\n };\n\n const resetItems = (focusInput?: boolean) => {\n setValues([]);\n if (focusInput) inputRef.current?.focus();\n };\n\n //! console.log(values[0]);\n // console.log(itemList);\n // console.log(itemList.find(item => item.value === values[0]));\n\n const tags = multiple\n ? values.map(tag => ({\n label: itemList.find(item => item.value === tag)?.label || tag,\n onRemove: () => removeItem(tag),\n }))\n : [];\n\n const children = runIfFn(autoCompleteProps.children, {\n isOpen,\n onClose,\n onOpen,\n tags,\n removeItem,\n resetItems,\n });\n\n const getInputProps: UseAutoCompleteReturn[\"getInputProps\"] = (\n props,\n themeInput\n ) => {\n const {\n onBlur,\n onChange,\n onFocus,\n onKeyDown,\n variant,\n wrapStyles,\n ...rest\n } = props;\n\n return {\n wrapper: {\n ref: inputWrapperRef,\n onClick: () => {\n inputRef?.current?.focus();\n },\n tabIndex: 0,\n ...getMultipleWrapStyles(themeInput, multiple),\n ...wrapStyles,\n },\n input: {\n isReadOnly,\n onFocus: e => {\n runIfFn(onFocus);\n if (autoCompleteProps.openOnFocus && !isReadOnly) onOpen();\n if (autoCompleteProps.selectOnFocus) e.target.select();\n if (listAllValuesOnFocus) setListAll(true);\n },\n onBlur: e => {\n runIfFn(onBlur);\n const listIsFocused = e.relatedTarget === listRef?.current;\n const inputWrapperIsFocused = inputWrapperRef.current?.contains(\n e.relatedTarget as any\n );\n if (!listIsFocused && !inputWrapperIsFocused) {\n if (closeOnBlur) onClose();\n if (!values.includes(e.target.value) && !freeSolo)\n setQuery(getLastItem(values) ?? \"\");\n }\n },\n onChange: e => {\n const newValue = e.target.value;\n runIfFn(onChange, e);\n setQuery(e.target.value);\n const queryIsEmpty = isEmpty(newValue);\n if (\n runIfFn(shouldRenderSuggestions, newValue) &&\n (!queryIsEmpty || suggestWhenEmpty)\n )\n onOpen();\n else onClose();\n setListAll(false);\n },\n onKeyDown: e => {\n runIfFn(onKeyDown, e);\n interactionRef.current = \"keyboard\";\n\n const { key } = e;\n const focusedItem = filteredList[focusedIndex];\n if (key === \"Enter\") {\n if (focusedItem && !focusedItem?.disabled)\n selectItem(focusedItem.value);\n else inputRef.current?.focus();\n e.preventDefault();\n return;\n }\n\n if (key === \"ArrowDown\") {\n setFocusedValue(nextItem.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"ArrowUp\") {\n setFocusedValue(prevItem.value);\n\n e.preventDefault();\n return;\n }\n\n if (key === \"Tab\") {\n setFocusedValue(nextItem.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"Home\") {\n setFocusedValue(firstItem?.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"End\") {\n setFocusedValue(lastItem?.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"Escape\") {\n callAll(onClose, e.preventDefault);\n }\n },\n value: query ?? \"\",\n variant: multiple ? \"unstyled\" : variant,\n ...rest,\n },\n };\n };\n\n const dim = useDimensions(inputWrapperRef, true);\n const getListProps: UseAutoCompleteReturn[\"getListProps\"] = () => {\n const width = dim?.marginBox.width as number;\n\n return {\n width,\n };\n };\n\n const getDefItemValue = (item: AutoCompleteItemProps[\"value\"]) =>\n (typeof item === \"string\" ? item : item[Object.keys(item)[0]]).toString();\n\n const getItemProps: UseAutoCompleteReturn[\"getItemProps\"] = props => {\n const {\n _fixed,\n _focus,\n children: itemChild,\n disabled,\n label,\n value: valueProp,\n fixed,\n getValue = getDefItemValue,\n onClick,\n onMouseOver,\n sx,\n ...rest\n } = props;\n const value = getValue(valueProp)?.toString();\n const isFocused = value === focusedValue;\n const isValidSuggestion =\n filteredList.findIndex(i => i.value === value) >= 0;\n const itemLabel = itemChild || label || value;\n return {\n item: {\n ...(typeof itemLabel !== \"string\" || !emphasize\n ? { children: itemLabel }\n : {\n dangerouslySetInnerHTML: {\n __html: setEmphasis(itemLabel, query),\n },\n }),\n \"aria-selected\": values.includes(value),\n \"aria-disabled\": disabled,\n _disabled: { opacity: 0.4, cursor: \"not-allowed\", userSelect: \"none\" },\n onClick: e => {\n runIfFn(onClick, e);\n if (!disabled) selectItem(value);\n else inputRef.current?.focus();\n },\n onMouseOver: e => {\n runIfFn(onMouseOver, e);\n setFocusedValue(value);\n interactionRef.current = \"mouse\";\n },\n sx: {\n ...sx,\n mark: {\n color: \"inherit\",\n bg: \"transparent\",\n ...(isObject(emphasize)\n ? emphasize\n : {\n fontWeight: emphasize ? \"extrabold\" : \"inherit\",\n }),\n },\n },\n ...(isFocused && (_focus || getFocusedStyles())),\n ...(fixed && _fixed),\n ...rest,\n },\n root: {\n isValidSuggestion,\n setItemList,\n value,\n },\n };\n };\n\n const getGroupProps: UseAutoCompleteReturn[\"getGroupProps\"] = props => {\n const hasItems = hasChildren(props, filteredList);\n const lastItem = getLastItem(\n filteredList.filter(i => isUndefined(i?.noFilter))\n );\n return {\n divider: {\n hasFirstChild: hasFirstItem(props, firstItem!),\n hasLastChild: hasLastItem(props, lastItem!),\n },\n group: {\n display: hasItems ? \"initial\" : \"none\",\n },\n };\n };\n\n const getEmptyStateProps: UseAutoCompleteReturn[\"getEmptyStateProps\"] = defaultEmptyState => {\n const noSuggestions = filteredList.every(i => i.noFilter);\n if (noSuggestions && emptyState && !creatable) {\n return typeof emptyState === \"boolean\"\n ? defaultEmptyState\n : runIfFn(emptyState, { query });\n }\n };\n\n return {\n autoCompleteProps,\n children,\n filteredList,\n filteredResults,\n focusedValue,\n getEmptyStateProps,\n getGroupProps,\n getInputProps,\n getItemProps,\n getListProps,\n inputRef,\n interactionRef,\n isOpen,\n itemList,\n listRef,\n onClose,\n onOpen,\n query,\n setQuery,\n tags,\n values,\n };\n}\n","import React from \"react\";\n\nimport { AutoCompleteProvider } from \"./autocomplete-context\";\nimport { useAutoComplete } from \"./use-autocomplete\";\nimport { chakra, forwardRef, Popover } from \"@chakra-ui/react\";\nimport { UseAutoCompleteProps, UseAutoCompleteReturn } from \"./types\";\n\nexport interface AutoCompleteProps extends UseAutoCompleteProps {\n children: UseAutoCompleteReturn[\"children\"];\n}\n\nexport const AutoComplete = forwardRef<AutoCompleteProps, \"div\">(\n (props, ref) => {\n const context = useAutoComplete(props);\n const { children, isOpen, onClose, onOpen } = context;\n\n return (\n <AutoCompleteProvider value={context}>\n <Popover\n isLazy\n isOpen={isOpen}\n onClose={onClose}\n onOpen={onOpen}\n autoFocus={false}\n placement=\"bottom\"\n closeOnBlur={true}\n >\n <chakra.div\n sx={{\n \".chakra-popover__popper\": {\n position: \"unset !important\",\n },\n }}\n w=\"full\"\n ref={ref}\n >\n {children}\n </chakra.div>\n </Popover>\n </AutoCompleteProvider>\n );\n }\n);\n\nAutoComplete.displayName = \"AutoComplete\";\n","import {\n CSSObject,\n Flex,\n FlexProps,\n forwardRef,\n useMergeRefs,\n} from \"@chakra-ui/react\";\nimport { omit, pick } from \"@chakra-ui/utils\";\nimport React, { useEffect, useRef } from \"react\";\n\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\n\nexport interface AutoCompleteItemProps extends FlexProps {\n value: any;\n label?: string;\n fixed?: boolean;\n _focus?: CSSObject | any;\n disabled?: boolean;\n _fixed?: CSSObject;\n getValue?: (item: AutoCompleteItemProps[\"value\"]) => any;\n groupId?: string;\n}\n\nexport const AutoCompleteItem = forwardRef<AutoCompleteItemProps, \"div\">(\n (props, forwardedRef) => {\n const {\n focusedValue,\n getItemProps,\n interactionRef,\n } = useAutoCompleteContext();\n const itemRef = useRef<any>();\n const ref = useMergeRefs(forwardedRef, itemRef);\n\n const itemProps = getItemProps(props);\n const { isValidSuggestion, setItemList, value } = itemProps.root;\n\n const isFocused = focusedValue === value;\n\n useEffect(() => {\n if (isFocused && interactionRef.current === \"keyboard\")\n itemRef?.current?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n }, [isFocused, interactionRef]);\n\n useEffect(() => {\n const item = {\n ...pick(props, [\"label\", \"fixed\", \"disabled\", \"groupId\"]),\n itemVal: props.value,\n value,\n };\n setItemList((itemList: any) => [...itemList, item]);\n }, []);\n const { children, dangerouslySetInnerHTML, ...restProps } = itemProps.item;\n\n const rest = omit(restProps, [\"groupId\"] as any);\n\n return isValidSuggestion ? (\n <Flex ref={ref} {...baseItemStyles} {...rest}>\n {children ? (\n children\n ) : (\n <span dangerouslySetInnerHTML={dangerouslySetInnerHTML} />\n )}\n </Flex>\n ) : null;\n }\n);\n\nAutoCompleteItem.displayName = \"AutoCompleteItem\";\n\nexport const baseItemStyles: FlexProps = {\n mx: \"2\",\n px: \"2\",\n py: \"2\",\n borderRadius: \"md\",\n cursor: \"pointer\",\n};\n","import { Flex, FlexProps } from \"@chakra-ui/react\";\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\";\nimport { isEmpty, runIfFn } from \"@chakra-ui/utils\";\n\nimport React from \"react\";\n\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\nimport { baseItemStyles } from \"./autocomplete-item\";\n\ninterface AutoCompleteCreatableProps extends FlexProps {\n children?: MaybeRenderProp<{ value: any }>;\n}\n\nexport function AutoCompleteCreatable(props: AutoCompleteCreatableProps) {\n const { children: childrenProp, ...rest } = props;\n const {\n autoCompleteProps,\n getItemProps,\n query,\n filteredResults,\n } = useAutoCompleteContext();\n\n const queryValue = <mark>{query}</mark>;\n const { children, ...itemProps } = getItemProps({\n ...props,\n value: query,\n children: runIfFn(childrenProp, {\n value: queryValue,\n }),\n }).item;\n\n const queryExistsInList = filteredResults.some(i => i.value === query);\n const showCreatable =\n autoCompleteProps.creatable && !isEmpty(query) && !queryExistsInList;\n\n return showCreatable ? (\n <Flex {...baseItemStyles} {...itemProps} {...rest}>\n {children || `Add ${query}`}\n </Flex>\n ) : null;\n}\n\nAutoCompleteCreatable.displayName = \"AutoCompleteCreatable\";\n","import {\n Box,\n BoxProps,\n Divider,\n DividerProps,\n Flex,\n FlexProps,\n forwardRef,\n} from \"@chakra-ui/react\";\nimport { omit } from \"@chakra-ui/utils\";\nimport React from \"react\";\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\n\nexport interface AutoCompleteGroupProps extends BoxProps {\n children?: React.ReactNode;\n showDivider?: boolean;\n dividerColor?: string;\n}\n\nexport const AutoCompleteGroup = forwardRef<AutoCompleteGroupProps, \"div\">(\n (props, ref) => {\n const { children, showDivider, ...restProps } = props;\n const rest = omit(restProps, [\"groupSibling\"] as any);\n\n const { getGroupProps } = useAutoCompleteContext();\n\n const { group } = getGroupProps(props);\n\n const dividerStyles = useDividerStyles(props);\n\n return (\n <Box ref={ref} {...group} {...rest}>\n <Divider {...dividerStyles.top} />\n {children}\n <Divider {...dividerStyles.bottom} />\n </Box>\n );\n }\n);\n\nexport const AutoCompleteGroupTitle = forwardRef<FlexProps, \"div\">(\n (props, ref) => {\n return <Flex {...baseTitleStyles} {...props} ref={ref} />;\n }\n);\n\nAutoCompleteGroup.displayName = \"AutoCompleteGroup\";\nAutoCompleteGroupTitle.displayName = \"AutoCompleteGroupTitle\";\n\nconst baseTitleStyles: FlexProps = {\n ml: 5,\n my: 1,\n fontSize: \"xs\",\n letterSpacing: \"wider\",\n fontWeight: \"extrabold\",\n textTransform: \"uppercase\",\n};\n\nconst useDividerStyles = (\n props: AutoCompleteGroupProps & { groupSibling?: boolean }\n) => {\n const { getGroupProps } = useAutoCompleteContext();\n\n const hasGroupSibling: unknown = props.groupSibling;\n\n const {\n divider: { hasFirstChild, hasLastChild },\n } = getGroupProps(props as AutoCompleteGroupProps);\n\n const baseStyles: DividerProps = {\n my: 2,\n borderColor: props.dividerColor,\n };\n\n const top = {\n ...baseStyles,\n mb: 4,\n display: !props.showDivider || hasFirstChild ? \"none\" : \"\",\n };\n const bottom = {\n ...baseStyles,\n display:\n !props.showDivider || hasLastChild || hasGroupSibling ? \"none\" : \"\",\n };\n\n return { top, bottom };\n};\n","import {\n CSSObject,\n forwardRef,\n Input,\n InputProps,\n useMergeRefs,\n useMultiStyleConfig,\n Wrap,\n WrapItem,\n} from \"@chakra-ui/react\";\nimport { runIfFn } from \"@chakra-ui/utils\";\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\";\nimport React, { useEffect } from \"react\";\n\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\nimport { UseAutoCompleteReturn } from \"./types\";\n\nexport interface AutoCompleteInputProps extends InputProps {\n children?: MaybeRenderProp<{ tags: UseAutoCompleteReturn[\"tags\"] }>;\n wrapStyles?: CSSObject;\n}\n\nexport const AutoCompleteInput = forwardRef<AutoCompleteInputProps, \"input\">(\n (props, forwardedRef) => {\n const {\n inputRef,\n getInputProps,\n setQuery,\n tags,\n } = useAutoCompleteContext();\n\n const ref = useMergeRefs(forwardedRef, inputRef);\n\n const { children: childrenProp, value, ...rest } = props;\n\n useEffect(() => {\n setQuery(value ?? \"\");\n }, [value, setQuery]);\n\n const themeInput: any = useMultiStyleConfig(\"Input\", props);\n\n const inputProps = getInputProps(rest, themeInput);\n\n const children = runIfFn(childrenProp, { tags });\n\n return (\n <Wrap {...inputProps.wrapper}>\n {children}\n <WrapItem as={Input} {...(inputProps.input as any)} ref={ref} />\n </Wrap>\n );\n }\n);\n\nAutoCompleteInput.displayName = \"Input\";\n\nAutoCompleteInput.id = \"Input\";\n","import { Box, BoxProps, Flex, FlexProps } from \"@chakra-ui/layout\";\nimport React from \"react\";\nimport { useAutoCompleteContext } from \"../autocomplete-context\";\n\nexport const EmptyState = (props: BoxProps) => {\n const { getEmptyStateProps } = useAutoCompleteContext();\n\n const emptyState = getEmptyStateProps(\n <Flex {...emptyStyles}>No options found!</Flex>\n );\n\n return <Box {...props}>{emptyState}</Box>;\n};\n\nconst emptyStyles: FlexProps = {\n fontSize: \"sm\",\n align: \"center\",\n justify: \"center\",\n fontWeight: \"bold\",\n fontStyle: \"italic\",\n};\n","import {\n forwardRef,\n PopoverContent,\n PopoverContentProps,\n useMergeRefs,\n} from \"@chakra-ui/react\";\nimport React from \"react\";\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\nimport { EmptyState } from \"./components/empty-state\";\nimport { siblingInfo } from \"./helpers/list\";\n\nexport type AutoCompleteListProps = PopoverContentProps;\n\nexport const AutoCompleteList = forwardRef<AutoCompleteListProps, \"div\">(\n (props, forwardedRef) => {\n const { children, ...rest } = props;\n const { listRef, getListProps } = useAutoCompleteContext();\n const ref = useMergeRefs(forwardedRef, listRef);\n const listProps = getListProps();\n\n return (\n <PopoverContent ref={ref} {...baseStyles} {...listProps} {...rest}>\n {siblingInfo(children)}\n <EmptyState />\n </PopoverContent>\n );\n }\n);\n\nAutoCompleteList.displayName = \"AutoCompleteList\";\n\nconst baseStyles: PopoverContentProps = {\n mt: \"4\",\n py: \"4\",\n opacity: \"0\",\n bg: \"#232934\",\n borderRadius: \"md\",\n maxH: \"350px\",\n border: \"none\",\n boxShadow: \"base\",\n pos: \"absolute\",\n zIndex: \"popover\",\n overflowY: \"auto\",\n\n _light: {\n bg: \"#ffffff\",\n },\n\n _focus: {\n boxShadow: \"none\",\n },\n};\n","import React from \"react\";\n\nexport const siblingInfo = (children: React.ReactNode) => {\n return React.Children.map(children, (child: any, i) => {\n if (child.type.displayName === \"AutoCompleteGroup\") {\n const sibling: any = React.Children.toArray(children)[i + 1];\n return React.cloneElement(child, {\n groupSibling: sibling\n ? sibling.type.displayName === \"AutoCompleteGroup\"\n : false,\n });\n }\n return child;\n });\n};\n","import { WrapItem } from \"@chakra-ui/layout\";\nimport { Tag, TagCloseButton, TagLabel, TagProps } from \"@chakra-ui/tag\";\nimport { runIfFn } from \"@chakra-ui/utils\";\nimport React, { memo } from \"react\";\n\ntype AutoCompleteTagProps = {\n disabled?: boolean;\n label: string;\n onRemove?: () => void;\n} & TagProps;\n\nexport const AutoCompleteTag = memo((props: AutoCompleteTagProps) => {\n const { label, onRemove, disabled, ...rest } = props;\n\n return (\n <WrapItem>\n <Tag\n borderRadius=\"md\"\n fontWeight=\"normal\"\n {...(disabled && disabledStyles)}\n {...rest}\n >\n <TagLabel>{label}</TagLabel>\n <TagCloseButton\n onClick={() => !disabled && runIfFn(onRemove)}\n cursor=\"pointer\"\n {...(disabled && disabledStyles)}\n />\n </Tag>\n </WrapItem>\n );\n});\n\nconst disabledStyles: TagProps = {\n cursor: \"text\",\n userSelect: \"none\",\n opacity: 0.4,\n _focus: { boxShadow: \"none\" },\n};\n"],"names":["createContext","name","errorMessage","AutoCompleteProvider","useAutoCompleteContext","fuzzyScore","str1","str2","gramSize","getNGrams","s","len","repeat","toLowerCase","v","Array","length","i","slice","s2","pairs1","pairs2","set","Set","total","hits","setEmphasis","children","query","isEmpty","toString","replace","RegExp","match","defaultFilterMethod","itemValue","itemLabel","indexOf","getMultipleWrapStyles","themeInput","multiple","field","_focusWithin","_focus","pos","minH","py","spacing","cursor","h","hasFirstItem","props","firstItem","isDefined","groupId","id","hasLastItem","lastItem","useAutoComplete","autoCompleteProps","closeOnBlur","closeOnSelect","creatable","defaultValues","emphasize","emptyState","freeSolo","isReadOnly","listAllValuesOnFocus","maxSuggestions","shouldRenderSuggestions","suggestWhenEmpty","useDisclosure","defaultIsOpen","isOpen","onClose","onOpen","useState","itemList","setItemList","inputRef","useRef","inputWrapperRef","listRef","interactionRef","setQuery","values","setValues","useEffect","_itemList$","value","focusedValue","setFocusedValue","listAll","setListAll","maxSelections","filteredResults","filter","fixed","runIfFn","label","_","index","filteredList","noFilter","focusedIndex","findIndex","nextItem","getNextItem","rollNavigation","prevItem","getPrevItem","getFirstItem","getLastItem","useUpdateEffect","item","find","opt","items","map","val","onChange","focusedItem","onOptionFocus","optionValue","optionLabel","selectMethod","current","isNewInput","selectItem","includes","option","focus","focusInputOnSelect","onSelectOption","removeItem","prevValues","onTagRemoved","tags","tag","onRemove","resetItems","focusInput","dim","useDimensions","getDefItemValue","Object","keys","getEmptyStateProps","defaultEmptyState","every","getGroupProps","hasItems","some","hasChildren","isUndefined","divider","hasFirstChild","hasLastChild","group","display","getInputProps","onBlur","onFocus","onKeyDown","variant","wrapStyles","rest","wrapper","ref","onClick","tabIndex","input","e","openOnFocus","selectOnFocus","target","select","listIsFocused","relatedTarget","inputWrapperIsFocused","_inputWrapperRef$curr","contains","newValue","queryIsEmpty","key","disabled","preventDefault","callAll","getItemProps","_fixed","itemChild","valueProp","getValue","onMouseOver","sx","_getValue","isFocused","isValidSuggestion","dangerouslySetInnerHTML","__html","_disabled","opacity","userSelect","mark","color","bg","isObject","fontWeight","_light","root","getListProps","width","marginBox","AutoComplete","forwardRef","context","React","Popover","isLazy","autoFocus","placement","chakra","div","position","w","displayName","AutoCompleteItem","forwardedRef","itemRef","useMergeRefs","itemProps","scrollIntoView","behavior","block","pick","itemVal","restProps","omit","Flex","baseItemStyles","mx","px","borderRadius","AutoCompleteCreatable","childrenProp","queryValue","queryExistsInList","AutoCompleteGroup","dividerStyles","useDividerStyles","Box","Divider","top","bottom","AutoCompleteGroupTitle","baseTitleStyles","ml","my","fontSize","letterSpacing","textTransform","hasGroupSibling","groupSibling","baseStyles","borderColor","dividerColor","mb","showDivider","AutoCompleteInput","inputProps","useMultiStyleConfig","Wrap","WrapItem","as","Input","EmptyState","emptyStyles","align","justify","fontStyle","AutoCompleteList","listProps","PopoverContent","Children","child","type","sibling","toArray","cloneElement","siblingInfo","mt","maxH","border","boxShadow","zIndex","overflowY","AutoCompleteTag","memo","Tag","disabledStyles","TagLabel","TagCloseButton"],"mappings":"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"}
|
|
@@ -349,7 +349,10 @@ function useAutoComplete(autoCompleteProps) {
|
|
|
349
349
|
|
|
350
350
|
setValues([]);
|
|
351
351
|
if (focusInput) (_inputRef$current3 = inputRef.current) == null ? void 0 : _inputRef$current3.focus();
|
|
352
|
-
};
|
|
352
|
+
}; //! console.log(values[0]);
|
|
353
|
+
// console.log(itemList);
|
|
354
|
+
// console.log(itemList.find(item => item.value === values[0]));
|
|
355
|
+
|
|
353
356
|
|
|
354
357
|
var tags = multiple ? values.map(function (tag) {
|
|
355
358
|
var _itemList$find;
|
|
@@ -489,6 +492,8 @@ function useAutoComplete(autoCompleteProps) {
|
|
|
489
492
|
};
|
|
490
493
|
|
|
491
494
|
var getItemProps = function getItemProps(props) {
|
|
495
|
+
var _getValue;
|
|
496
|
+
|
|
492
497
|
var _fixed = props._fixed,
|
|
493
498
|
_focus = props._focus,
|
|
494
499
|
itemChild = props.children,
|
|
@@ -503,7 +508,7 @@ function useAutoComplete(autoCompleteProps) {
|
|
|
503
508
|
sx = props.sx,
|
|
504
509
|
rest = _objectWithoutPropertiesLoose(props, _excluded2);
|
|
505
510
|
|
|
506
|
-
var value = getValue(valueProp).toString();
|
|
511
|
+
var value = (_getValue = getValue(valueProp)) == null ? void 0 : _getValue.toString();
|
|
507
512
|
var isFocused = value === focusedValue;
|
|
508
513
|
var isValidSuggestion = filteredList.findIndex(function (i) {
|
|
509
514
|
return i.value === value;
|
|
@@ -665,8 +670,6 @@ var AutoCompleteItem = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
|
|
|
665
670
|
setItemList(function (itemList) {
|
|
666
671
|
return [].concat(itemList, [item]);
|
|
667
672
|
});
|
|
668
|
-
if (typeof value !== "string") console.warn("wow");
|
|
669
|
-
if (typeof value !== "string" && isUndefined(props.getValue)) console.error("You must define the `getValue` prop, when an Item's value is not a string");
|
|
670
673
|
}, []);
|
|
671
674
|
|
|
672
675
|
var _itemProps$item = itemProps.item,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chakra-autocomplete.esm.js","sources":["../src/autocomplete-context.ts","../src/helpers/fuzzySearch.ts","../src/helpers/items.ts","../src/helpers/input.ts","../src/helpers/group.ts","../src/use-autocomplete.ts","../src/autocomplete.tsx","../src/autocomplete-item.tsx","../src/autocomplete-creatable.tsx","../src/autocomplete-group.tsx","../src/autocomplete-input.tsx","../src/components/empty-state.tsx","../src/helpers/list.ts","../src/autocomplete-list.tsx","../src/autocomplete-tag.tsx"],"sourcesContent":["import { createContext } from \"@chakra-ui/react-utils\";\nimport { UseAutoCompleteReturn } from \"./types\";\n\nexport const [AutoCompleteProvider, useAutoCompleteContext] = createContext<\n UseAutoCompleteReturn\n>({\n name: \"AutoCompleteContext\",\n errorMessage:\n \"useAutoCompleteContext: `context` is undefined. Seems you forgot to wrap all autocomplete components within `<AutoComplete />`\",\n});\n","/*\n * @param str1 The first string to compare.\n * @param str2 The second string to compare.\n * @param gramSize The size of the grams. Defaults to length 2.\n */\nexport function fuzzyScore(str1: string, str2: string, gramSize: number = 2) {\n function getNGrams(s: string, len: number) {\n s = \" \".repeat(len - 1) + s.toLowerCase() + \" \".repeat(len - 1);\n let v = new Array(s.length - len + 1);\n for (let i = 0; i < v.length; i++) {\n v[i] = s.slice(i, i + len);\n }\n return v;\n }\n\n if (!str1?.length || !str2?.length) {\n return 0.0;\n }\n\n //Order the strings by length so the order they're passed in doesn't matter\n //and so the smaller string's ngrams are always the ones in the set\n let s1 = str1.length < str2.length ? str1 : str2;\n let s2 = str1.length < str2.length ? str2 : str1;\n\n let pairs1 = getNGrams(s1, gramSize);\n let pairs2 = getNGrams(s2, gramSize);\n let set = new Set<string>(pairs1);\n\n let total = pairs2.length;\n let hits = 0;\n for (let item of pairs2) {\n if (set.delete(item)) {\n hits++;\n }\n }\n return hits / total;\n}\n","import { isEmpty } from \"@chakra-ui/utils\";\nimport { FlexProps } from \"@chakra-ui/react\";\nimport { fuzzyScore } from \"./fuzzySearch\";\nimport { Item } from \"../types\";\n\nexport const setEmphasis = (children: any, query: string) => {\n if (typeof children !== \"string\" || isEmpty(query)) {\n return children;\n }\n const newChildren = children\n .toString()\n .replace(\n new RegExp(escapeRegex(query), \"gi\"),\n (match: any) => `<mark>${match}</mark>`\n );\n return newChildren;\n};\n\nexport const getFocusedStyles = (): FlexProps => {\n return {\n bg: \"whiteAlpha.100\",\n _light: {\n bg: \"gray.200\",\n },\n };\n};\n\nexport const defaultFilterMethod = (\n query: string,\n itemValue: Item[\"value\"],\n itemLabel: Item[\"label\"]\n) => {\n return (\n itemValue?.toLowerCase().indexOf(query?.toLowerCase()) >= 0 ||\n itemLabel?.toLowerCase().indexOf(query?.toLowerCase()) >= 0 ||\n fuzzyScore(query, itemValue) >= 0.5 ||\n fuzzyScore(query, itemLabel) >= 0.5\n );\n};\n\nfunction escapeRegex(string: string) {\n return string.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n}\n","export const getMultipleWrapStyles = (themeInput: any, multiple?: boolean) => ({\n ...(multiple && {\n ...themeInput.field,\n _focusWithin: themeInput.field._focus,\n pos: \"relative\",\n minH: 9,\n // px: 3,\n py: 1.5,\n spacing: 3,\n }),\n cursor: \"text\",\n h: \"fit-content\",\n // w: \"full\",\n});\n","import { isDefined } from \"@chakra-ui/utils\";\nimport { AutoCompleteGroupProps } from \"../autocomplete-group\";\nimport { Item } from \"../types\";\n\nexport const hasFirstItem = (\n props: AutoCompleteGroupProps,\n firstItem: Item\n) => {\n return (\n isDefined(firstItem?.groupId) &&\n isDefined(props.id) &&\n firstItem?.groupId === props.id\n );\n};\nexport const hasLastItem = (props: AutoCompleteGroupProps, lastItem: Item) => {\n return (\n isDefined(lastItem?.groupId) &&\n isDefined(props.id) &&\n lastItem?.groupId === props.id\n );\n};\n\nexport const hasChildren = (\n props: AutoCompleteGroupProps,\n filteredList: Item[]\n) => {\n return filteredList.some(item => {\n return (\n isDefined(item.groupId) &&\n isDefined(props.id) &&\n item.groupId === props.id\n );\n });\n};\n","import {\n useDimensions,\n useDisclosure,\n useUpdateEffect,\n} from \"@chakra-ui/react\";\nimport {\n callAll,\n getFirstItem,\n getLastItem,\n getNextItem,\n getPrevItem,\n isObject,\n isEmpty,\n isUndefined,\n runIfFn,\n} from \"@chakra-ui/utils\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { AutoCompleteProps } from \"./autocomplete\";\nimport {\n defaultFilterMethod,\n getFocusedStyles,\n setEmphasis,\n} from \"./helpers/items\";\nimport { getMultipleWrapStyles } from \"./helpers/input\";\nimport { hasChildren, hasFirstItem, hasLastItem } from \"./helpers/group\";\nimport { Item, UseAutoCompleteReturn } from \"./types\";\nimport { AutoCompleteItemProps } from \"./autocomplete-item\";\n\n/**\n * useAutoComplete that provides all the state and focus management logic\n * for the autocomplete component. It is consumed by the `Autocomplete` component\n *\n */\n\nexport function useAutoComplete(\n autoCompleteProps: AutoCompleteProps\n): UseAutoCompleteReturn {\n let {\n closeOnBlur = true,\n closeOnSelect,\n creatable,\n defaultValues = [],\n emphasize,\n emptyState = true,\n freeSolo,\n isReadOnly,\n listAllValuesOnFocus,\n maxSuggestions,\n multiple,\n defaultIsOpen,\n shouldRenderSuggestions = () => true,\n suggestWhenEmpty,\n } = autoCompleteProps;\n\n closeOnSelect = closeOnSelect ? closeOnSelect : multiple ? false : true;\n\n freeSolo = freeSolo ? freeSolo : multiple ? true : autoCompleteProps.freeSolo;\n\n const { isOpen, onClose, onOpen } = useDisclosure({ defaultIsOpen });\n\n const [itemList, setItemList] = useState<Item[]>([]);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const inputWrapperRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const interactionRef = useRef<\"mouse\" | \"keyboard\" | null>(null);\n\n const [query, setQuery] = useState<string>(\"\");\n\n const [values, setValues] = useState<any[]>(defaultValues);\n\n useEffect(() => {\n if (!multiple && !isEmpty(defaultValues)) {\n setQuery(defaultValues[0] as any);\n }\n }, []);\n\n const [focusedValue, setFocusedValue] = useState<Item[\"value\"]>(\n itemList[0]?.value\n );\n\n const [listAll, setListAll] = useState(false);\n\n const maxSelections = autoCompleteProps.maxSelections || values.length + 1;\n\n const filteredResults = itemList\n .filter(\n i =>\n i.fixed ||\n runIfFn(\n autoCompleteProps.filter || defaultFilterMethod,\n query,\n i.value,\n i.label\n ) ||\n listAll\n )\n .filter((_, index) => (maxSuggestions ? index < maxSuggestions : true));\n\n // Add Creatable to Filtered List\n const creatableArr: any = creatable ? [{ value: query, noFilter: true }] : [];\n const filteredList: Item[] = [...filteredResults, ...creatableArr];\n\n const focusedIndex = filteredList.findIndex(i => i.value === focusedValue);\n const nextItem = getNextItem(\n focusedIndex,\n filteredList,\n !!autoCompleteProps.rollNavigation\n );\n const prevItem = getPrevItem(\n focusedIndex,\n filteredList,\n !!autoCompleteProps.rollNavigation\n );\n const firstItem = getFirstItem(filteredList);\n const lastItem = getLastItem(filteredList);\n\n useUpdateEffect(() => {\n setFocusedValue(firstItem?.value);\n }, [query]);\n\n useEffect(() => {\n const item = filteredList.find(opt => opt.value === values[0]);\n const items = values.map(val =>\n filteredList.find(opt => opt.value === val)\n );\n runIfFn(\n autoCompleteProps.onChange,\n multiple ? values : values[0],\n multiple ? items : item\n );\n }, [values, multiple]);\n\n useEffect(() => {\n const focusedItem = itemList.find(i => i.value === focusedValue);\n runIfFn(autoCompleteProps.onOptionFocus, {\n optionValue: focusedValue,\n optionLabel: focusedItem?.label,\n item: focusedItem!,\n selectMethod: interactionRef.current,\n isNewInput: false,\n });\n }, [focusedValue, autoCompleteProps.onOptionFocus]);\n\n const selectItem = (optionValue: Item[\"value\"]) => {\n if (!values.includes(optionValue) && values.length < maxSelections)\n setValues(v => (multiple ? [...v, optionValue] : [optionValue]));\n\n const option = filteredList.find(i => i.value === optionValue);\n\n const optionLabelFromValue = option?.label;\n // use value if label is not available\n const optionLabel = optionLabelFromValue || optionValue;\n setQuery(optionLabel);\n\n if (multiple) {\n setQuery(\"\");\n inputRef.current?.focus();\n }\n if (autoCompleteProps.focusInputOnSelect) inputRef.current?.focus();\n runIfFn(autoCompleteProps.onSelectOption, {\n optionValue: optionValue,\n optionLabel: optionLabel,\n item: option!,\n selectMethod: interactionRef.current,\n isNewInput: false,\n });\n if (closeOnSelect) onClose();\n };\n\n const removeItem = (itemValue: Item[\"value\"]) => {\n setValues(prevValues => {\n const item = itemList.find(opt => opt.value === itemValue);\n runIfFn(autoCompleteProps.onTagRemoved, itemValue, item, prevValues);\n return prevValues.filter(i => i !== itemValue);\n });\n if (query === itemValue) setQuery(\"\");\n };\n\n const resetItems = (focusInput?: boolean) => {\n setValues([]);\n if (focusInput) inputRef.current?.focus();\n };\n\n const tags = multiple\n ? values.map(tag => ({\n label: itemList.find(item => item.value === tag)?.label || tag,\n onRemove: () => removeItem(tag),\n }))\n : [];\n\n const children = runIfFn(autoCompleteProps.children, {\n isOpen,\n onClose,\n onOpen,\n tags,\n removeItem,\n resetItems,\n });\n\n const getInputProps: UseAutoCompleteReturn[\"getInputProps\"] = (\n props,\n themeInput\n ) => {\n const {\n onBlur,\n onChange,\n onFocus,\n onKeyDown,\n variant,\n wrapStyles,\n ...rest\n } = props;\n\n return {\n wrapper: {\n ref: inputWrapperRef,\n onClick: () => {\n inputRef?.current?.focus();\n },\n tabIndex: 0,\n ...getMultipleWrapStyles(themeInput, multiple),\n ...wrapStyles,\n },\n input: {\n isReadOnly,\n onFocus: e => {\n runIfFn(onFocus);\n if (autoCompleteProps.openOnFocus && !isReadOnly) onOpen();\n if (autoCompleteProps.selectOnFocus) e.target.select();\n if (listAllValuesOnFocus) setListAll(true);\n },\n onBlur: e => {\n runIfFn(onBlur);\n const listIsFocused = e.relatedTarget === listRef?.current;\n const inputWrapperIsFocused = inputWrapperRef.current?.contains(\n e.relatedTarget as any\n );\n if (!listIsFocused && !inputWrapperIsFocused) {\n if (closeOnBlur) onClose();\n if (!values.includes(e.target.value) && !freeSolo)\n setQuery(getLastItem(values) ?? \"\");\n }\n },\n onChange: e => {\n const newValue = e.target.value;\n runIfFn(onChange, e);\n setQuery(e.target.value);\n const queryIsEmpty = isEmpty(newValue);\n if (\n runIfFn(shouldRenderSuggestions, newValue) &&\n (!queryIsEmpty || suggestWhenEmpty)\n )\n onOpen();\n else onClose();\n setListAll(false);\n },\n onKeyDown: e => {\n runIfFn(onKeyDown, e);\n interactionRef.current = \"keyboard\";\n\n const { key } = e;\n const focusedItem = filteredList[focusedIndex];\n if (key === \"Enter\") {\n if (focusedItem && !focusedItem?.disabled)\n selectItem(focusedItem.value);\n else inputRef.current?.focus();\n e.preventDefault();\n return;\n }\n\n if (key === \"ArrowDown\") {\n setFocusedValue(nextItem.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"ArrowUp\") {\n setFocusedValue(prevItem.value);\n\n e.preventDefault();\n return;\n }\n\n if (key === \"Tab\") {\n setFocusedValue(nextItem.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"Home\") {\n setFocusedValue(firstItem?.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"End\") {\n setFocusedValue(lastItem?.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"Escape\") {\n callAll(onClose, e.preventDefault);\n }\n },\n value: query ?? \"\",\n variant: multiple ? \"unstyled\" : variant,\n ...rest,\n },\n };\n };\n\n const dim = useDimensions(inputWrapperRef, true);\n const getListProps: UseAutoCompleteReturn[\"getListProps\"] = () => {\n const width = dim?.marginBox.width as number;\n\n return {\n width,\n };\n };\n\n const getDefItemValue = (item: AutoCompleteItemProps[\"value\"]) =>\n (typeof item === \"string\" ? item : item[Object.keys(item)[0]]).toString();\n\n const getItemProps: UseAutoCompleteReturn[\"getItemProps\"] = props => {\n const {\n _fixed,\n _focus,\n children: itemChild,\n disabled,\n label,\n value: valueProp,\n fixed,\n getValue = getDefItemValue,\n onClick,\n onMouseOver,\n sx,\n ...rest\n } = props;\n const value = getValue(valueProp).toString();\n const isFocused = value === focusedValue;\n const isValidSuggestion =\n filteredList.findIndex(i => i.value === value) >= 0;\n const itemLabel = itemChild || label || value;\n return {\n item: {\n ...(typeof itemLabel !== \"string\" || !emphasize\n ? { children: itemLabel }\n : {\n dangerouslySetInnerHTML: {\n __html: setEmphasis(itemLabel, query),\n },\n }),\n \"aria-selected\": values.includes(value),\n \"aria-disabled\": disabled,\n _disabled: { opacity: 0.4, cursor: \"not-allowed\", userSelect: \"none\" },\n onClick: e => {\n runIfFn(onClick, e);\n if (!disabled) selectItem(value);\n else inputRef.current?.focus();\n },\n onMouseOver: e => {\n runIfFn(onMouseOver, e);\n setFocusedValue(value);\n interactionRef.current = \"mouse\";\n },\n sx: {\n ...sx,\n mark: {\n color: \"inherit\",\n bg: \"transparent\",\n ...(isObject(emphasize)\n ? emphasize\n : {\n fontWeight: emphasize ? \"extrabold\" : \"inherit\",\n }),\n },\n },\n ...(isFocused && (_focus || getFocusedStyles())),\n ...(fixed && _fixed),\n ...rest,\n },\n root: {\n isValidSuggestion,\n setItemList,\n value,\n },\n };\n };\n\n const getGroupProps: UseAutoCompleteReturn[\"getGroupProps\"] = props => {\n const hasItems = hasChildren(props, filteredList);\n const lastItem = getLastItem(\n filteredList.filter(i => isUndefined(i?.noFilter))\n );\n return {\n divider: {\n hasFirstChild: hasFirstItem(props, firstItem!),\n hasLastChild: hasLastItem(props, lastItem!),\n },\n group: {\n display: hasItems ? \"initial\" : \"none\",\n },\n };\n };\n\n const getEmptyStateProps: UseAutoCompleteReturn[\"getEmptyStateProps\"] = defaultEmptyState => {\n const noSuggestions = filteredList.every(i => i.noFilter);\n if (noSuggestions && emptyState && !creatable) {\n return typeof emptyState === \"boolean\"\n ? defaultEmptyState\n : runIfFn(emptyState, { query });\n }\n };\n\n return {\n autoCompleteProps,\n children,\n filteredList,\n filteredResults,\n focusedValue,\n getEmptyStateProps,\n getGroupProps,\n getInputProps,\n getItemProps,\n getListProps,\n inputRef,\n interactionRef,\n isOpen,\n itemList,\n listRef,\n onClose,\n onOpen,\n query,\n setQuery,\n tags,\n values,\n };\n}\n","import React from \"react\";\n\nimport { AutoCompleteProvider } from \"./autocomplete-context\";\nimport { useAutoComplete } from \"./use-autocomplete\";\nimport { chakra, forwardRef, Popover } from \"@chakra-ui/react\";\nimport { UseAutoCompleteProps, UseAutoCompleteReturn } from \"./types\";\n\nexport interface AutoCompleteProps extends UseAutoCompleteProps {\n children: UseAutoCompleteReturn[\"children\"];\n}\n\nexport const AutoComplete = forwardRef<AutoCompleteProps, \"div\">(\n (props, ref) => {\n const context = useAutoComplete(props);\n const { children, isOpen, onClose, onOpen } = context;\n\n return (\n <AutoCompleteProvider value={context}>\n <Popover\n isLazy\n isOpen={isOpen}\n onClose={onClose}\n onOpen={onOpen}\n autoFocus={false}\n placement=\"bottom\"\n closeOnBlur={true}\n >\n <chakra.div\n sx={{\n \".chakra-popover__popper\": {\n position: \"unset !important\",\n },\n }}\n w=\"full\"\n ref={ref}\n >\n {children}\n </chakra.div>\n </Popover>\n </AutoCompleteProvider>\n );\n }\n);\n\nAutoComplete.displayName = \"AutoComplete\";\n","import {\n CSSObject,\n Flex,\n FlexProps,\n forwardRef,\n useMergeRefs,\n} from \"@chakra-ui/react\";\nimport { isUndefined, omit, pick } from \"@chakra-ui/utils\";\nimport React, { useEffect, useRef } from \"react\";\n\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\n\nexport interface AutoCompleteItemProps extends FlexProps {\n value: any;\n label?: string;\n fixed?: boolean;\n _focus?: CSSObject | any;\n disabled?: boolean;\n _fixed?: CSSObject;\n getValue?: (item: AutoCompleteItemProps[\"value\"]) => any;\n groupId?: string;\n}\n\nexport const AutoCompleteItem = forwardRef<AutoCompleteItemProps, \"div\">(\n (props, forwardedRef) => {\n const {\n focusedValue,\n getItemProps,\n interactionRef,\n } = useAutoCompleteContext();\n const itemRef = useRef<any>();\n const ref = useMergeRefs(forwardedRef, itemRef);\n\n const itemProps = getItemProps(props);\n const { isValidSuggestion, setItemList, value } = itemProps.root;\n\n const isFocused = focusedValue === value;\n\n useEffect(() => {\n if (isFocused && interactionRef.current === \"keyboard\")\n itemRef?.current?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n }, [isFocused, interactionRef]);\n\n useEffect(() => {\n const item = {\n ...pick(props, [\"label\", \"fixed\", \"disabled\", \"groupId\"]),\n itemVal: props.value,\n value,\n };\n setItemList((itemList: any) => [...itemList, item]);\n if (typeof value !== \"string\") console.warn(\"wow\");\n if (typeof value !== \"string\" && isUndefined(props.getValue))\n console.error(\n \"You must define the `getValue` prop, when an Item's value is not a string\"\n );\n }, []);\n\n const { children, dangerouslySetInnerHTML, ...restProps } = itemProps.item;\n\n const rest = omit(restProps, [\"groupId\"] as any);\n\n return isValidSuggestion ? (\n <Flex ref={ref} {...baseItemStyles} {...rest}>\n {children ? (\n children\n ) : (\n <span dangerouslySetInnerHTML={dangerouslySetInnerHTML} />\n )}\n </Flex>\n ) : null;\n }\n);\n\nAutoCompleteItem.displayName = \"AutoCompleteItem\";\n\nexport const baseItemStyles: FlexProps = {\n mx: \"2\",\n px: \"2\",\n py: \"2\",\n borderRadius: \"md\",\n cursor: \"pointer\",\n};\n","import { Flex, FlexProps } from \"@chakra-ui/react\";\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\";\nimport { isEmpty, runIfFn } from \"@chakra-ui/utils\";\n\nimport React from \"react\";\n\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\nimport { baseItemStyles } from \"./autocomplete-item\";\n\ninterface AutoCompleteCreatableProps extends FlexProps {\n children?: MaybeRenderProp<{ value: any }>;\n}\n\nexport function AutoCompleteCreatable(props: AutoCompleteCreatableProps) {\n const { children: childrenProp, ...rest } = props;\n const {\n autoCompleteProps,\n getItemProps,\n query,\n filteredResults,\n } = useAutoCompleteContext();\n\n const queryValue = <mark>{query}</mark>;\n const { children, ...itemProps } = getItemProps({\n ...props,\n value: query,\n children: runIfFn(childrenProp, {\n value: queryValue,\n }),\n }).item;\n\n const queryExistsInList = filteredResults.some(i => i.value === query);\n const showCreatable =\n autoCompleteProps.creatable && !isEmpty(query) && !queryExistsInList;\n\n return showCreatable ? (\n <Flex {...baseItemStyles} {...itemProps} {...rest}>\n {children || `Add ${query}`}\n </Flex>\n ) : null;\n}\n\nAutoCompleteCreatable.displayName = \"AutoCompleteCreatable\";\n","import {\n Box,\n BoxProps,\n Divider,\n DividerProps,\n Flex,\n FlexProps,\n forwardRef,\n} from \"@chakra-ui/react\";\nimport { omit } from \"@chakra-ui/utils\";\nimport React from \"react\";\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\n\nexport interface AutoCompleteGroupProps extends BoxProps {\n children?: React.ReactNode;\n showDivider?: boolean;\n dividerColor?: string;\n}\n\nexport const AutoCompleteGroup = forwardRef<AutoCompleteGroupProps, \"div\">(\n (props, ref) => {\n const { children, showDivider, ...restProps } = props;\n const rest = omit(restProps, [\"groupSibling\"] as any);\n\n const { getGroupProps } = useAutoCompleteContext();\n\n const { group } = getGroupProps(props);\n\n const dividerStyles = useDividerStyles(props);\n\n return (\n <Box ref={ref} {...group} {...rest}>\n <Divider {...dividerStyles.top} />\n {children}\n <Divider {...dividerStyles.bottom} />\n </Box>\n );\n }\n);\n\nexport const AutoCompleteGroupTitle = forwardRef<FlexProps, \"div\">(\n (props, ref) => {\n return <Flex {...baseTitleStyles} {...props} ref={ref} />;\n }\n);\n\nAutoCompleteGroup.displayName = \"AutoCompleteGroup\";\nAutoCompleteGroupTitle.displayName = \"AutoCompleteGroupTitle\";\n\nconst baseTitleStyles: FlexProps = {\n ml: 5,\n my: 1,\n fontSize: \"xs\",\n letterSpacing: \"wider\",\n fontWeight: \"extrabold\",\n textTransform: \"uppercase\",\n};\n\nconst useDividerStyles = (\n props: AutoCompleteGroupProps & { groupSibling?: boolean }\n) => {\n const { getGroupProps } = useAutoCompleteContext();\n\n const hasGroupSibling: unknown = props.groupSibling;\n\n const {\n divider: { hasFirstChild, hasLastChild },\n } = getGroupProps(props as AutoCompleteGroupProps);\n\n const baseStyles: DividerProps = {\n my: 2,\n borderColor: props.dividerColor,\n };\n\n const top = {\n ...baseStyles,\n mb: 4,\n display: !props.showDivider || hasFirstChild ? \"none\" : \"\",\n };\n const bottom = {\n ...baseStyles,\n display:\n !props.showDivider || hasLastChild || hasGroupSibling ? \"none\" : \"\",\n };\n\n return { top, bottom };\n};\n","import {\n CSSObject,\n forwardRef,\n Input,\n InputProps,\n useMergeRefs,\n useMultiStyleConfig,\n Wrap,\n WrapItem,\n} from \"@chakra-ui/react\";\nimport { runIfFn } from \"@chakra-ui/utils\";\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\";\nimport React, { useEffect } from \"react\";\n\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\nimport { UseAutoCompleteReturn } from \"./types\";\n\nexport interface AutoCompleteInputProps extends InputProps {\n children?: MaybeRenderProp<{ tags: UseAutoCompleteReturn[\"tags\"] }>;\n wrapStyles?: CSSObject;\n}\n\nexport const AutoCompleteInput = forwardRef<AutoCompleteInputProps, \"input\">(\n (props, forwardedRef) => {\n const {\n inputRef,\n getInputProps,\n setQuery,\n tags,\n } = useAutoCompleteContext();\n\n const ref = useMergeRefs(forwardedRef, inputRef);\n\n const { children: childrenProp, value, ...rest } = props;\n\n useEffect(() => {\n setQuery(value ?? \"\");\n }, [value, setQuery]);\n\n const themeInput: any = useMultiStyleConfig(\"Input\", props);\n\n const inputProps = getInputProps(rest, themeInput);\n\n const children = runIfFn(childrenProp, { tags });\n\n return (\n <Wrap {...inputProps.wrapper}>\n {children}\n <WrapItem as={Input} {...(inputProps.input as any)} ref={ref} />\n </Wrap>\n );\n }\n);\n\nAutoCompleteInput.displayName = \"Input\";\n\nAutoCompleteInput.id = \"Input\";\n","import { Box, BoxProps, Flex, FlexProps } from \"@chakra-ui/layout\";\nimport React from \"react\";\nimport { useAutoCompleteContext } from \"../autocomplete-context\";\n\nexport const EmptyState = (props: BoxProps) => {\n const { getEmptyStateProps } = useAutoCompleteContext();\n\n const emptyState = getEmptyStateProps(\n <Flex {...emptyStyles}>No options found!</Flex>\n );\n\n return <Box {...props}>{emptyState}</Box>;\n};\n\nconst emptyStyles: FlexProps = {\n fontSize: \"sm\",\n align: \"center\",\n justify: \"center\",\n fontWeight: \"bold\",\n fontStyle: \"italic\",\n};\n","import React from \"react\";\n\nexport const siblingInfo = (children: React.ReactNode) => {\n return React.Children.map(children, (child: any, i) => {\n if (child.type.displayName === \"AutoCompleteGroup\") {\n const sibling: any = React.Children.toArray(children)[i + 1];\n return React.cloneElement(child, {\n groupSibling: sibling\n ? sibling.type.displayName === \"AutoCompleteGroup\"\n : false,\n });\n }\n return child;\n });\n};\n","import {\n forwardRef,\n PopoverContent,\n PopoverContentProps,\n useMergeRefs,\n} from \"@chakra-ui/react\";\nimport React from \"react\";\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\nimport { EmptyState } from \"./components/empty-state\";\nimport { siblingInfo } from \"./helpers/list\";\n\nexport type AutoCompleteListProps = PopoverContentProps;\n\nexport const AutoCompleteList = forwardRef<AutoCompleteListProps, \"div\">(\n (props, forwardedRef) => {\n const { children, ...rest } = props;\n const { listRef, getListProps } = useAutoCompleteContext();\n const ref = useMergeRefs(forwardedRef, listRef);\n const listProps = getListProps();\n\n return (\n <PopoverContent ref={ref} {...baseStyles} {...listProps} {...rest}>\n {siblingInfo(children)}\n <EmptyState />\n </PopoverContent>\n );\n }\n);\n\nAutoCompleteList.displayName = \"AutoCompleteList\";\n\nconst baseStyles: PopoverContentProps = {\n mt: \"4\",\n py: \"4\",\n opacity: \"0\",\n bg: \"#232934\",\n borderRadius: \"md\",\n maxH: \"350px\",\n border: \"none\",\n boxShadow: \"base\",\n pos: \"absolute\",\n zIndex: \"popover\",\n overflowY: \"auto\",\n\n _light: {\n bg: \"#ffffff\",\n },\n\n _focus: {\n boxShadow: \"none\",\n },\n};\n","import { WrapItem } from \"@chakra-ui/layout\";\nimport { Tag, TagCloseButton, TagLabel, TagProps } from \"@chakra-ui/tag\";\nimport { runIfFn } from \"@chakra-ui/utils\";\nimport React, { memo } from \"react\";\n\ntype AutoCompleteTagProps = {\n disabled?: boolean;\n label: string;\n onRemove?: () => void;\n} & TagProps;\n\nexport const AutoCompleteTag = memo((props: AutoCompleteTagProps) => {\n const { label, onRemove, disabled, ...rest } = props;\n\n return (\n <WrapItem>\n <Tag\n borderRadius=\"md\"\n fontWeight=\"normal\"\n {...(disabled && disabledStyles)}\n {...rest}\n >\n <TagLabel>{label}</TagLabel>\n <TagCloseButton\n onClick={() => !disabled && runIfFn(onRemove)}\n cursor=\"pointer\"\n {...(disabled && disabledStyles)}\n />\n </Tag>\n </WrapItem>\n );\n});\n\nconst disabledStyles: TagProps = {\n cursor: \"text\",\n userSelect: \"none\",\n opacity: 0.4,\n _focus: { boxShadow: \"none\" },\n};\n"],"names":["createContext","name","errorMessage","AutoCompleteProvider","useAutoCompleteContext","fuzzyScore","str1","str2","gramSize","getNGrams","s","len","repeat","toLowerCase","v","Array","length","i","slice","s1","s2","pairs1","pairs2","set","Set","total","hits","item","setEmphasis","children","query","isEmpty","newChildren","toString","replace","RegExp","escapeRegex","match","getFocusedStyles","bg","_light","defaultFilterMethod","itemValue","itemLabel","indexOf","string","getMultipleWrapStyles","themeInput","multiple","field","_focusWithin","_focus","pos","minH","py","spacing","cursor","h","hasFirstItem","props","firstItem","isDefined","groupId","id","hasLastItem","lastItem","hasChildren","filteredList","some","useAutoComplete","autoCompleteProps","closeOnBlur","closeOnSelect","creatable","defaultValues","emphasize","emptyState","freeSolo","isReadOnly","listAllValuesOnFocus","maxSuggestions","defaultIsOpen","shouldRenderSuggestions","suggestWhenEmpty","useDisclosure","isOpen","onClose","onOpen","useState","itemList","setItemList","inputRef","useRef","inputWrapperRef","listRef","interactionRef","setQuery","values","setValues","useEffect","value","focusedValue","setFocusedValue","listAll","setListAll","maxSelections","filteredResults","filter","fixed","runIfFn","label","_","index","creatableArr","noFilter","focusedIndex","findIndex","nextItem","getNextItem","rollNavigation","prevItem","getPrevItem","getFirstItem","getLastItem","useUpdateEffect","find","opt","items","map","val","onChange","focusedItem","onOptionFocus","optionValue","optionLabel","selectMethod","current","isNewInput","selectItem","includes","option","optionLabelFromValue","focus","focusInputOnSelect","onSelectOption","removeItem","prevValues","onTagRemoved","resetItems","focusInput","tags","tag","onRemove","getInputProps","onBlur","onFocus","onKeyDown","variant","wrapStyles","rest","wrapper","ref","onClick","tabIndex","input","e","openOnFocus","selectOnFocus","target","select","listIsFocused","relatedTarget","inputWrapperIsFocused","contains","newValue","queryIsEmpty","key","disabled","preventDefault","callAll","dim","useDimensions","getListProps","width","marginBox","getDefItemValue","Object","keys","getItemProps","_fixed","itemChild","valueProp","getValue","onMouseOver","sx","isFocused","isValidSuggestion","dangerouslySetInnerHTML","__html","_disabled","opacity","userSelect","mark","color","isObject","fontWeight","root","getGroupProps","hasItems","isUndefined","divider","hasFirstChild","hasLastChild","group","display","getEmptyStateProps","defaultEmptyState","noSuggestions","every","AutoComplete","forwardRef","context","React","Popover","isLazy","autoFocus","placement","chakra","div","position","w","displayName","AutoCompleteItem","forwardedRef","itemRef","useMergeRefs","itemProps","scrollIntoView","behavior","block","pick","itemVal","console","warn","error","restProps","omit","Flex","baseItemStyles","mx","px","borderRadius","AutoCompleteCreatable","childrenProp","queryValue","queryExistsInList","showCreatable","AutoCompleteGroup","showDivider","dividerStyles","useDividerStyles","Box","Divider","top","bottom","AutoCompleteGroupTitle","baseTitleStyles","ml","my","fontSize","letterSpacing","textTransform","hasGroupSibling","groupSibling","baseStyles","borderColor","dividerColor","mb","AutoCompleteInput","useMultiStyleConfig","inputProps","Wrap","WrapItem","as","Input","EmptyState","emptyStyles","align","justify","fontStyle","siblingInfo","Children","child","type","sibling","toArray","cloneElement","AutoCompleteList","listProps","PopoverContent","mt","maxH","border","boxShadow","zIndex","overflowY","AutoCompleteTag","memo","Tag","disabledStyles","TagLabel","TagCloseButton"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chakra-autocomplete.esm.js","sources":["../src/autocomplete-context.ts","../src/helpers/fuzzySearch.ts","../src/helpers/items.ts","../src/helpers/input.ts","../src/helpers/group.ts","../src/use-autocomplete.ts","../src/autocomplete.tsx","../src/autocomplete-item.tsx","../src/autocomplete-creatable.tsx","../src/autocomplete-group.tsx","../src/autocomplete-input.tsx","../src/components/empty-state.tsx","../src/helpers/list.ts","../src/autocomplete-list.tsx","../src/autocomplete-tag.tsx"],"sourcesContent":["import { createContext } from \"@chakra-ui/react-utils\";\nimport { UseAutoCompleteReturn } from \"./types\";\n\nexport const [AutoCompleteProvider, useAutoCompleteContext] = createContext<\n UseAutoCompleteReturn\n>({\n name: \"AutoCompleteContext\",\n errorMessage:\n \"useAutoCompleteContext: `context` is undefined. Seems you forgot to wrap all autocomplete components within `<AutoComplete />`\",\n});\n","/*\n * @param str1 The first string to compare.\n * @param str2 The second string to compare.\n * @param gramSize The size of the grams. Defaults to length 2.\n */\nexport function fuzzyScore(str1: string, str2: string, gramSize: number = 2) {\n function getNGrams(s: string, len: number) {\n s = \" \".repeat(len - 1) + s.toLowerCase() + \" \".repeat(len - 1);\n let v = new Array(s.length - len + 1);\n for (let i = 0; i < v.length; i++) {\n v[i] = s.slice(i, i + len);\n }\n return v;\n }\n\n if (!str1?.length || !str2?.length) {\n return 0.0;\n }\n\n //Order the strings by length so the order they're passed in doesn't matter\n //and so the smaller string's ngrams are always the ones in the set\n let s1 = str1.length < str2.length ? str1 : str2;\n let s2 = str1.length < str2.length ? str2 : str1;\n\n let pairs1 = getNGrams(s1, gramSize);\n let pairs2 = getNGrams(s2, gramSize);\n let set = new Set<string>(pairs1);\n\n let total = pairs2.length;\n let hits = 0;\n for (let item of pairs2) {\n if (set.delete(item)) {\n hits++;\n }\n }\n return hits / total;\n}\n","import { isEmpty } from \"@chakra-ui/utils\";\nimport { FlexProps } from \"@chakra-ui/react\";\nimport { fuzzyScore } from \"./fuzzySearch\";\nimport { Item } from \"../types\";\n\nexport const setEmphasis = (children: any, query: string) => {\n if (typeof children !== \"string\" || isEmpty(query)) {\n return children;\n }\n const newChildren = children\n .toString()\n .replace(\n new RegExp(escapeRegex(query), \"gi\"),\n (match: any) => `<mark>${match}</mark>`\n );\n return newChildren;\n};\n\nexport const getFocusedStyles = (): FlexProps => {\n return {\n bg: \"whiteAlpha.100\",\n _light: {\n bg: \"gray.200\",\n },\n };\n};\n\nexport const defaultFilterMethod = (\n query: string,\n itemValue: Item[\"value\"],\n itemLabel: Item[\"label\"]\n) => {\n return (\n itemValue?.toLowerCase().indexOf(query?.toLowerCase()) >= 0 ||\n itemLabel?.toLowerCase().indexOf(query?.toLowerCase()) >= 0 ||\n fuzzyScore(query, itemValue) >= 0.5 ||\n fuzzyScore(query, itemLabel) >= 0.5\n );\n};\n\nfunction escapeRegex(string: string) {\n return string.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, \"\\\\$&\");\n}\n","export const getMultipleWrapStyles = (themeInput: any, multiple?: boolean) => ({\n ...(multiple && {\n ...themeInput.field,\n _focusWithin: themeInput.field._focus,\n pos: \"relative\",\n minH: 9,\n // px: 3,\n py: 1.5,\n spacing: 3,\n }),\n cursor: \"text\",\n h: \"fit-content\",\n // w: \"full\",\n});\n","import { isDefined } from \"@chakra-ui/utils\";\nimport { AutoCompleteGroupProps } from \"../autocomplete-group\";\nimport { Item } from \"../types\";\n\nexport const hasFirstItem = (\n props: AutoCompleteGroupProps,\n firstItem: Item\n) => {\n return (\n isDefined(firstItem?.groupId) &&\n isDefined(props.id) &&\n firstItem?.groupId === props.id\n );\n};\nexport const hasLastItem = (props: AutoCompleteGroupProps, lastItem: Item) => {\n return (\n isDefined(lastItem?.groupId) &&\n isDefined(props.id) &&\n lastItem?.groupId === props.id\n );\n};\n\nexport const hasChildren = (\n props: AutoCompleteGroupProps,\n filteredList: Item[]\n) => {\n return filteredList.some(item => {\n return (\n isDefined(item.groupId) &&\n isDefined(props.id) &&\n item.groupId === props.id\n );\n });\n};\n","import {\n useDimensions,\n useDisclosure,\n useUpdateEffect,\n} from \"@chakra-ui/react\";\nimport {\n callAll,\n getFirstItem,\n getLastItem,\n getNextItem,\n getPrevItem,\n isObject,\n isEmpty,\n isUndefined,\n runIfFn,\n} from \"@chakra-ui/utils\";\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { AutoCompleteProps } from \"./autocomplete\";\nimport {\n defaultFilterMethod,\n getFocusedStyles,\n setEmphasis,\n} from \"./helpers/items\";\nimport { getMultipleWrapStyles } from \"./helpers/input\";\nimport { hasChildren, hasFirstItem, hasLastItem } from \"./helpers/group\";\nimport { Item, UseAutoCompleteReturn } from \"./types\";\nimport { AutoCompleteItemProps } from \"./autocomplete-item\";\n\n/**\n * useAutoComplete that provides all the state and focus management logic\n * for the autocomplete component. It is consumed by the `Autocomplete` component\n *\n */\n\nexport function useAutoComplete(\n autoCompleteProps: AutoCompleteProps\n): UseAutoCompleteReturn {\n let {\n closeOnBlur = true,\n closeOnSelect,\n creatable,\n defaultValues = [],\n emphasize,\n emptyState = true,\n freeSolo,\n isReadOnly,\n listAllValuesOnFocus,\n maxSuggestions,\n multiple,\n defaultIsOpen,\n shouldRenderSuggestions = () => true,\n suggestWhenEmpty,\n } = autoCompleteProps;\n\n closeOnSelect = closeOnSelect ? closeOnSelect : multiple ? false : true;\n\n freeSolo = freeSolo ? freeSolo : multiple ? true : autoCompleteProps.freeSolo;\n\n const { isOpen, onClose, onOpen } = useDisclosure({ defaultIsOpen });\n\n const [itemList, setItemList] = useState<Item[]>([]);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const inputWrapperRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n const interactionRef = useRef<\"mouse\" | \"keyboard\" | null>(null);\n\n const [query, setQuery] = useState<string>(\"\");\n\n const [values, setValues] = useState<any[]>(defaultValues);\n\n useEffect(() => {\n if (!multiple && !isEmpty(defaultValues)) {\n setQuery(defaultValues[0] as any);\n }\n }, []);\n\n const [focusedValue, setFocusedValue] = useState<Item[\"value\"]>(\n itemList[0]?.value\n );\n\n const [listAll, setListAll] = useState(false);\n\n const maxSelections = autoCompleteProps.maxSelections || values.length + 1;\n\n const filteredResults = itemList\n .filter(\n i =>\n i.fixed ||\n runIfFn(\n autoCompleteProps.filter || defaultFilterMethod,\n query,\n i.value,\n i.label\n ) ||\n listAll\n )\n .filter((_, index) => (maxSuggestions ? index < maxSuggestions : true));\n\n // Add Creatable to Filtered List\n const creatableArr: any = creatable ? [{ value: query, noFilter: true }] : [];\n const filteredList: Item[] = [...filteredResults, ...creatableArr];\n\n const focusedIndex = filteredList.findIndex(i => i.value === focusedValue);\n const nextItem = getNextItem(\n focusedIndex,\n filteredList,\n !!autoCompleteProps.rollNavigation\n );\n const prevItem = getPrevItem(\n focusedIndex,\n filteredList,\n !!autoCompleteProps.rollNavigation\n );\n const firstItem = getFirstItem(filteredList);\n const lastItem = getLastItem(filteredList);\n\n useUpdateEffect(() => {\n setFocusedValue(firstItem?.value);\n }, [query]);\n\n useEffect(() => {\n const item = filteredList.find(opt => opt.value === values[0]);\n const items = values.map(val =>\n filteredList.find(opt => opt.value === val)\n );\n runIfFn(\n autoCompleteProps.onChange,\n multiple ? values : values[0],\n multiple ? items : item\n );\n }, [values, multiple]);\n\n useEffect(() => {\n const focusedItem = itemList.find(i => i.value === focusedValue);\n runIfFn(autoCompleteProps.onOptionFocus, {\n optionValue: focusedValue,\n optionLabel: focusedItem?.label,\n item: focusedItem!,\n selectMethod: interactionRef.current,\n isNewInput: false,\n });\n }, [focusedValue, autoCompleteProps.onOptionFocus]);\n\n const selectItem = (optionValue: Item[\"value\"]) => {\n if (!values.includes(optionValue) && values.length < maxSelections)\n setValues(v => (multiple ? [...v, optionValue] : [optionValue]));\n\n const option = filteredList.find(i => i.value === optionValue);\n\n const optionLabelFromValue = option?.label;\n // use value if label is not available\n const optionLabel = optionLabelFromValue || optionValue;\n setQuery(optionLabel);\n\n if (multiple) {\n setQuery(\"\");\n inputRef.current?.focus();\n }\n if (autoCompleteProps.focusInputOnSelect) inputRef.current?.focus();\n runIfFn(autoCompleteProps.onSelectOption, {\n optionValue: optionValue,\n optionLabel: optionLabel,\n item: option!,\n selectMethod: interactionRef.current,\n isNewInput: false,\n });\n if (closeOnSelect) onClose();\n };\n\n const removeItem = (itemValue: Item[\"value\"]) => {\n setValues(prevValues => {\n const item = itemList.find(opt => opt.value === itemValue);\n runIfFn(autoCompleteProps.onTagRemoved, itemValue, item, prevValues);\n return prevValues.filter(i => i !== itemValue);\n });\n if (query === itemValue) setQuery(\"\");\n };\n\n const resetItems = (focusInput?: boolean) => {\n setValues([]);\n if (focusInput) inputRef.current?.focus();\n };\n\n //! console.log(values[0]);\n // console.log(itemList);\n // console.log(itemList.find(item => item.value === values[0]));\n\n const tags = multiple\n ? values.map(tag => ({\n label: itemList.find(item => item.value === tag)?.label || tag,\n onRemove: () => removeItem(tag),\n }))\n : [];\n\n const children = runIfFn(autoCompleteProps.children, {\n isOpen,\n onClose,\n onOpen,\n tags,\n removeItem,\n resetItems,\n });\n\n const getInputProps: UseAutoCompleteReturn[\"getInputProps\"] = (\n props,\n themeInput\n ) => {\n const {\n onBlur,\n onChange,\n onFocus,\n onKeyDown,\n variant,\n wrapStyles,\n ...rest\n } = props;\n\n return {\n wrapper: {\n ref: inputWrapperRef,\n onClick: () => {\n inputRef?.current?.focus();\n },\n tabIndex: 0,\n ...getMultipleWrapStyles(themeInput, multiple),\n ...wrapStyles,\n },\n input: {\n isReadOnly,\n onFocus: e => {\n runIfFn(onFocus);\n if (autoCompleteProps.openOnFocus && !isReadOnly) onOpen();\n if (autoCompleteProps.selectOnFocus) e.target.select();\n if (listAllValuesOnFocus) setListAll(true);\n },\n onBlur: e => {\n runIfFn(onBlur);\n const listIsFocused = e.relatedTarget === listRef?.current;\n const inputWrapperIsFocused = inputWrapperRef.current?.contains(\n e.relatedTarget as any\n );\n if (!listIsFocused && !inputWrapperIsFocused) {\n if (closeOnBlur) onClose();\n if (!values.includes(e.target.value) && !freeSolo)\n setQuery(getLastItem(values) ?? \"\");\n }\n },\n onChange: e => {\n const newValue = e.target.value;\n runIfFn(onChange, e);\n setQuery(e.target.value);\n const queryIsEmpty = isEmpty(newValue);\n if (\n runIfFn(shouldRenderSuggestions, newValue) &&\n (!queryIsEmpty || suggestWhenEmpty)\n )\n onOpen();\n else onClose();\n setListAll(false);\n },\n onKeyDown: e => {\n runIfFn(onKeyDown, e);\n interactionRef.current = \"keyboard\";\n\n const { key } = e;\n const focusedItem = filteredList[focusedIndex];\n if (key === \"Enter\") {\n if (focusedItem && !focusedItem?.disabled)\n selectItem(focusedItem.value);\n else inputRef.current?.focus();\n e.preventDefault();\n return;\n }\n\n if (key === \"ArrowDown\") {\n setFocusedValue(nextItem.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"ArrowUp\") {\n setFocusedValue(prevItem.value);\n\n e.preventDefault();\n return;\n }\n\n if (key === \"Tab\") {\n setFocusedValue(nextItem.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"Home\") {\n setFocusedValue(firstItem?.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"End\") {\n setFocusedValue(lastItem?.value);\n e.preventDefault();\n return;\n }\n\n if (key === \"Escape\") {\n callAll(onClose, e.preventDefault);\n }\n },\n value: query ?? \"\",\n variant: multiple ? \"unstyled\" : variant,\n ...rest,\n },\n };\n };\n\n const dim = useDimensions(inputWrapperRef, true);\n const getListProps: UseAutoCompleteReturn[\"getListProps\"] = () => {\n const width = dim?.marginBox.width as number;\n\n return {\n width,\n };\n };\n\n const getDefItemValue = (item: AutoCompleteItemProps[\"value\"]) =>\n (typeof item === \"string\" ? item : item[Object.keys(item)[0]]).toString();\n\n const getItemProps: UseAutoCompleteReturn[\"getItemProps\"] = props => {\n const {\n _fixed,\n _focus,\n children: itemChild,\n disabled,\n label,\n value: valueProp,\n fixed,\n getValue = getDefItemValue,\n onClick,\n onMouseOver,\n sx,\n ...rest\n } = props;\n const value = getValue(valueProp)?.toString();\n const isFocused = value === focusedValue;\n const isValidSuggestion =\n filteredList.findIndex(i => i.value === value) >= 0;\n const itemLabel = itemChild || label || value;\n return {\n item: {\n ...(typeof itemLabel !== \"string\" || !emphasize\n ? { children: itemLabel }\n : {\n dangerouslySetInnerHTML: {\n __html: setEmphasis(itemLabel, query),\n },\n }),\n \"aria-selected\": values.includes(value),\n \"aria-disabled\": disabled,\n _disabled: { opacity: 0.4, cursor: \"not-allowed\", userSelect: \"none\" },\n onClick: e => {\n runIfFn(onClick, e);\n if (!disabled) selectItem(value);\n else inputRef.current?.focus();\n },\n onMouseOver: e => {\n runIfFn(onMouseOver, e);\n setFocusedValue(value);\n interactionRef.current = \"mouse\";\n },\n sx: {\n ...sx,\n mark: {\n color: \"inherit\",\n bg: \"transparent\",\n ...(isObject(emphasize)\n ? emphasize\n : {\n fontWeight: emphasize ? \"extrabold\" : \"inherit\",\n }),\n },\n },\n ...(isFocused && (_focus || getFocusedStyles())),\n ...(fixed && _fixed),\n ...rest,\n },\n root: {\n isValidSuggestion,\n setItemList,\n value,\n },\n };\n };\n\n const getGroupProps: UseAutoCompleteReturn[\"getGroupProps\"] = props => {\n const hasItems = hasChildren(props, filteredList);\n const lastItem = getLastItem(\n filteredList.filter(i => isUndefined(i?.noFilter))\n );\n return {\n divider: {\n hasFirstChild: hasFirstItem(props, firstItem!),\n hasLastChild: hasLastItem(props, lastItem!),\n },\n group: {\n display: hasItems ? \"initial\" : \"none\",\n },\n };\n };\n\n const getEmptyStateProps: UseAutoCompleteReturn[\"getEmptyStateProps\"] = defaultEmptyState => {\n const noSuggestions = filteredList.every(i => i.noFilter);\n if (noSuggestions && emptyState && !creatable) {\n return typeof emptyState === \"boolean\"\n ? defaultEmptyState\n : runIfFn(emptyState, { query });\n }\n };\n\n return {\n autoCompleteProps,\n children,\n filteredList,\n filteredResults,\n focusedValue,\n getEmptyStateProps,\n getGroupProps,\n getInputProps,\n getItemProps,\n getListProps,\n inputRef,\n interactionRef,\n isOpen,\n itemList,\n listRef,\n onClose,\n onOpen,\n query,\n setQuery,\n tags,\n values,\n };\n}\n","import React from \"react\";\n\nimport { AutoCompleteProvider } from \"./autocomplete-context\";\nimport { useAutoComplete } from \"./use-autocomplete\";\nimport { chakra, forwardRef, Popover } from \"@chakra-ui/react\";\nimport { UseAutoCompleteProps, UseAutoCompleteReturn } from \"./types\";\n\nexport interface AutoCompleteProps extends UseAutoCompleteProps {\n children: UseAutoCompleteReturn[\"children\"];\n}\n\nexport const AutoComplete = forwardRef<AutoCompleteProps, \"div\">(\n (props, ref) => {\n const context = useAutoComplete(props);\n const { children, isOpen, onClose, onOpen } = context;\n\n return (\n <AutoCompleteProvider value={context}>\n <Popover\n isLazy\n isOpen={isOpen}\n onClose={onClose}\n onOpen={onOpen}\n autoFocus={false}\n placement=\"bottom\"\n closeOnBlur={true}\n >\n <chakra.div\n sx={{\n \".chakra-popover__popper\": {\n position: \"unset !important\",\n },\n }}\n w=\"full\"\n ref={ref}\n >\n {children}\n </chakra.div>\n </Popover>\n </AutoCompleteProvider>\n );\n }\n);\n\nAutoComplete.displayName = \"AutoComplete\";\n","import {\n CSSObject,\n Flex,\n FlexProps,\n forwardRef,\n useMergeRefs,\n} from \"@chakra-ui/react\";\nimport { omit, pick } from \"@chakra-ui/utils\";\nimport React, { useEffect, useRef } from \"react\";\n\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\n\nexport interface AutoCompleteItemProps extends FlexProps {\n value: any;\n label?: string;\n fixed?: boolean;\n _focus?: CSSObject | any;\n disabled?: boolean;\n _fixed?: CSSObject;\n getValue?: (item: AutoCompleteItemProps[\"value\"]) => any;\n groupId?: string;\n}\n\nexport const AutoCompleteItem = forwardRef<AutoCompleteItemProps, \"div\">(\n (props, forwardedRef) => {\n const {\n focusedValue,\n getItemProps,\n interactionRef,\n } = useAutoCompleteContext();\n const itemRef = useRef<any>();\n const ref = useMergeRefs(forwardedRef, itemRef);\n\n const itemProps = getItemProps(props);\n const { isValidSuggestion, setItemList, value } = itemProps.root;\n\n const isFocused = focusedValue === value;\n\n useEffect(() => {\n if (isFocused && interactionRef.current === \"keyboard\")\n itemRef?.current?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n });\n }, [isFocused, interactionRef]);\n\n useEffect(() => {\n const item = {\n ...pick(props, [\"label\", \"fixed\", \"disabled\", \"groupId\"]),\n itemVal: props.value,\n value,\n };\n setItemList((itemList: any) => [...itemList, item]);\n }, []);\n const { children, dangerouslySetInnerHTML, ...restProps } = itemProps.item;\n\n const rest = omit(restProps, [\"groupId\"] as any);\n\n return isValidSuggestion ? (\n <Flex ref={ref} {...baseItemStyles} {...rest}>\n {children ? (\n children\n ) : (\n <span dangerouslySetInnerHTML={dangerouslySetInnerHTML} />\n )}\n </Flex>\n ) : null;\n }\n);\n\nAutoCompleteItem.displayName = \"AutoCompleteItem\";\n\nexport const baseItemStyles: FlexProps = {\n mx: \"2\",\n px: \"2\",\n py: \"2\",\n borderRadius: \"md\",\n cursor: \"pointer\",\n};\n","import { Flex, FlexProps } from \"@chakra-ui/react\";\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\";\nimport { isEmpty, runIfFn } from \"@chakra-ui/utils\";\n\nimport React from \"react\";\n\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\nimport { baseItemStyles } from \"./autocomplete-item\";\n\ninterface AutoCompleteCreatableProps extends FlexProps {\n children?: MaybeRenderProp<{ value: any }>;\n}\n\nexport function AutoCompleteCreatable(props: AutoCompleteCreatableProps) {\n const { children: childrenProp, ...rest } = props;\n const {\n autoCompleteProps,\n getItemProps,\n query,\n filteredResults,\n } = useAutoCompleteContext();\n\n const queryValue = <mark>{query}</mark>;\n const { children, ...itemProps } = getItemProps({\n ...props,\n value: query,\n children: runIfFn(childrenProp, {\n value: queryValue,\n }),\n }).item;\n\n const queryExistsInList = filteredResults.some(i => i.value === query);\n const showCreatable =\n autoCompleteProps.creatable && !isEmpty(query) && !queryExistsInList;\n\n return showCreatable ? (\n <Flex {...baseItemStyles} {...itemProps} {...rest}>\n {children || `Add ${query}`}\n </Flex>\n ) : null;\n}\n\nAutoCompleteCreatable.displayName = \"AutoCompleteCreatable\";\n","import {\n Box,\n BoxProps,\n Divider,\n DividerProps,\n Flex,\n FlexProps,\n forwardRef,\n} from \"@chakra-ui/react\";\nimport { omit } from \"@chakra-ui/utils\";\nimport React from \"react\";\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\n\nexport interface AutoCompleteGroupProps extends BoxProps {\n children?: React.ReactNode;\n showDivider?: boolean;\n dividerColor?: string;\n}\n\nexport const AutoCompleteGroup = forwardRef<AutoCompleteGroupProps, \"div\">(\n (props, ref) => {\n const { children, showDivider, ...restProps } = props;\n const rest = omit(restProps, [\"groupSibling\"] as any);\n\n const { getGroupProps } = useAutoCompleteContext();\n\n const { group } = getGroupProps(props);\n\n const dividerStyles = useDividerStyles(props);\n\n return (\n <Box ref={ref} {...group} {...rest}>\n <Divider {...dividerStyles.top} />\n {children}\n <Divider {...dividerStyles.bottom} />\n </Box>\n );\n }\n);\n\nexport const AutoCompleteGroupTitle = forwardRef<FlexProps, \"div\">(\n (props, ref) => {\n return <Flex {...baseTitleStyles} {...props} ref={ref} />;\n }\n);\n\nAutoCompleteGroup.displayName = \"AutoCompleteGroup\";\nAutoCompleteGroupTitle.displayName = \"AutoCompleteGroupTitle\";\n\nconst baseTitleStyles: FlexProps = {\n ml: 5,\n my: 1,\n fontSize: \"xs\",\n letterSpacing: \"wider\",\n fontWeight: \"extrabold\",\n textTransform: \"uppercase\",\n};\n\nconst useDividerStyles = (\n props: AutoCompleteGroupProps & { groupSibling?: boolean }\n) => {\n const { getGroupProps } = useAutoCompleteContext();\n\n const hasGroupSibling: unknown = props.groupSibling;\n\n const {\n divider: { hasFirstChild, hasLastChild },\n } = getGroupProps(props as AutoCompleteGroupProps);\n\n const baseStyles: DividerProps = {\n my: 2,\n borderColor: props.dividerColor,\n };\n\n const top = {\n ...baseStyles,\n mb: 4,\n display: !props.showDivider || hasFirstChild ? \"none\" : \"\",\n };\n const bottom = {\n ...baseStyles,\n display:\n !props.showDivider || hasLastChild || hasGroupSibling ? \"none\" : \"\",\n };\n\n return { top, bottom };\n};\n","import {\n CSSObject,\n forwardRef,\n Input,\n InputProps,\n useMergeRefs,\n useMultiStyleConfig,\n Wrap,\n WrapItem,\n} from \"@chakra-ui/react\";\nimport { runIfFn } from \"@chakra-ui/utils\";\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\";\nimport React, { useEffect } from \"react\";\n\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\nimport { UseAutoCompleteReturn } from \"./types\";\n\nexport interface AutoCompleteInputProps extends InputProps {\n children?: MaybeRenderProp<{ tags: UseAutoCompleteReturn[\"tags\"] }>;\n wrapStyles?: CSSObject;\n}\n\nexport const AutoCompleteInput = forwardRef<AutoCompleteInputProps, \"input\">(\n (props, forwardedRef) => {\n const {\n inputRef,\n getInputProps,\n setQuery,\n tags,\n } = useAutoCompleteContext();\n\n const ref = useMergeRefs(forwardedRef, inputRef);\n\n const { children: childrenProp, value, ...rest } = props;\n\n useEffect(() => {\n setQuery(value ?? \"\");\n }, [value, setQuery]);\n\n const themeInput: any = useMultiStyleConfig(\"Input\", props);\n\n const inputProps = getInputProps(rest, themeInput);\n\n const children = runIfFn(childrenProp, { tags });\n\n return (\n <Wrap {...inputProps.wrapper}>\n {children}\n <WrapItem as={Input} {...(inputProps.input as any)} ref={ref} />\n </Wrap>\n );\n }\n);\n\nAutoCompleteInput.displayName = \"Input\";\n\nAutoCompleteInput.id = \"Input\";\n","import { Box, BoxProps, Flex, FlexProps } from \"@chakra-ui/layout\";\nimport React from \"react\";\nimport { useAutoCompleteContext } from \"../autocomplete-context\";\n\nexport const EmptyState = (props: BoxProps) => {\n const { getEmptyStateProps } = useAutoCompleteContext();\n\n const emptyState = getEmptyStateProps(\n <Flex {...emptyStyles}>No options found!</Flex>\n );\n\n return <Box {...props}>{emptyState}</Box>;\n};\n\nconst emptyStyles: FlexProps = {\n fontSize: \"sm\",\n align: \"center\",\n justify: \"center\",\n fontWeight: \"bold\",\n fontStyle: \"italic\",\n};\n","import React from \"react\";\n\nexport const siblingInfo = (children: React.ReactNode) => {\n return React.Children.map(children, (child: any, i) => {\n if (child.type.displayName === \"AutoCompleteGroup\") {\n const sibling: any = React.Children.toArray(children)[i + 1];\n return React.cloneElement(child, {\n groupSibling: sibling\n ? sibling.type.displayName === \"AutoCompleteGroup\"\n : false,\n });\n }\n return child;\n });\n};\n","import {\n forwardRef,\n PopoverContent,\n PopoverContentProps,\n useMergeRefs,\n} from \"@chakra-ui/react\";\nimport React from \"react\";\nimport { useAutoCompleteContext } from \"./autocomplete-context\";\nimport { EmptyState } from \"./components/empty-state\";\nimport { siblingInfo } from \"./helpers/list\";\n\nexport type AutoCompleteListProps = PopoverContentProps;\n\nexport const AutoCompleteList = forwardRef<AutoCompleteListProps, \"div\">(\n (props, forwardedRef) => {\n const { children, ...rest } = props;\n const { listRef, getListProps } = useAutoCompleteContext();\n const ref = useMergeRefs(forwardedRef, listRef);\n const listProps = getListProps();\n\n return (\n <PopoverContent ref={ref} {...baseStyles} {...listProps} {...rest}>\n {siblingInfo(children)}\n <EmptyState />\n </PopoverContent>\n );\n }\n);\n\nAutoCompleteList.displayName = \"AutoCompleteList\";\n\nconst baseStyles: PopoverContentProps = {\n mt: \"4\",\n py: \"4\",\n opacity: \"0\",\n bg: \"#232934\",\n borderRadius: \"md\",\n maxH: \"350px\",\n border: \"none\",\n boxShadow: \"base\",\n pos: \"absolute\",\n zIndex: \"popover\",\n overflowY: \"auto\",\n\n _light: {\n bg: \"#ffffff\",\n },\n\n _focus: {\n boxShadow: \"none\",\n },\n};\n","import { WrapItem } from \"@chakra-ui/layout\";\nimport { Tag, TagCloseButton, TagLabel, TagProps } from \"@chakra-ui/tag\";\nimport { runIfFn } from \"@chakra-ui/utils\";\nimport React, { memo } from \"react\";\n\ntype AutoCompleteTagProps = {\n disabled?: boolean;\n label: string;\n onRemove?: () => void;\n} & TagProps;\n\nexport const AutoCompleteTag = memo((props: AutoCompleteTagProps) => {\n const { label, onRemove, disabled, ...rest } = props;\n\n return (\n <WrapItem>\n <Tag\n borderRadius=\"md\"\n fontWeight=\"normal\"\n {...(disabled && disabledStyles)}\n {...rest}\n >\n <TagLabel>{label}</TagLabel>\n <TagCloseButton\n onClick={() => !disabled && runIfFn(onRemove)}\n cursor=\"pointer\"\n {...(disabled && disabledStyles)}\n />\n </Tag>\n </WrapItem>\n );\n});\n\nconst disabledStyles: TagProps = {\n cursor: \"text\",\n userSelect: \"none\",\n opacity: 0.4,\n _focus: { boxShadow: \"none\" },\n};\n"],"names":["createContext","name","errorMessage","AutoCompleteProvider","useAutoCompleteContext","fuzzyScore","str1","str2","gramSize","getNGrams","s","len","repeat","toLowerCase","v","Array","length","i","slice","s1","s2","pairs1","pairs2","set","Set","total","hits","item","setEmphasis","children","query","isEmpty","newChildren","toString","replace","RegExp","escapeRegex","match","getFocusedStyles","bg","_light","defaultFilterMethod","itemValue","itemLabel","indexOf","string","getMultipleWrapStyles","themeInput","multiple","field","_focusWithin","_focus","pos","minH","py","spacing","cursor","h","hasFirstItem","props","firstItem","isDefined","groupId","id","hasLastItem","lastItem","hasChildren","filteredList","some","useAutoComplete","autoCompleteProps","closeOnBlur","closeOnSelect","creatable","defaultValues","emphasize","emptyState","freeSolo","isReadOnly","listAllValuesOnFocus","maxSuggestions","defaultIsOpen","shouldRenderSuggestions","suggestWhenEmpty","useDisclosure","isOpen","onClose","onOpen","useState","itemList","setItemList","inputRef","useRef","inputWrapperRef","listRef","interactionRef","setQuery","values","setValues","useEffect","value","focusedValue","setFocusedValue","listAll","setListAll","maxSelections","filteredResults","filter","fixed","runIfFn","label","_","index","creatableArr","noFilter","focusedIndex","findIndex","nextItem","getNextItem","rollNavigation","prevItem","getPrevItem","getFirstItem","getLastItem","useUpdateEffect","find","opt","items","map","val","onChange","focusedItem","onOptionFocus","optionValue","optionLabel","selectMethod","current","isNewInput","selectItem","includes","option","optionLabelFromValue","focus","focusInputOnSelect","onSelectOption","removeItem","prevValues","onTagRemoved","resetItems","focusInput","tags","tag","onRemove","getInputProps","onBlur","onFocus","onKeyDown","variant","wrapStyles","rest","wrapper","ref","onClick","tabIndex","input","e","openOnFocus","selectOnFocus","target","select","listIsFocused","relatedTarget","inputWrapperIsFocused","contains","newValue","queryIsEmpty","key","disabled","preventDefault","callAll","dim","useDimensions","getListProps","width","marginBox","getDefItemValue","Object","keys","getItemProps","_fixed","itemChild","valueProp","getValue","onMouseOver","sx","isFocused","isValidSuggestion","dangerouslySetInnerHTML","__html","_disabled","opacity","userSelect","mark","color","isObject","fontWeight","root","getGroupProps","hasItems","isUndefined","divider","hasFirstChild","hasLastChild","group","display","getEmptyStateProps","defaultEmptyState","noSuggestions","every","AutoComplete","forwardRef","context","React","Popover","isLazy","autoFocus","placement","chakra","div","position","w","displayName","AutoCompleteItem","forwardedRef","itemRef","useMergeRefs","itemProps","scrollIntoView","behavior","block","pick","itemVal","restProps","omit","Flex","baseItemStyles","mx","px","borderRadius","AutoCompleteCreatable","childrenProp","queryValue","queryExistsInList","showCreatable","AutoCompleteGroup","showDivider","dividerStyles","useDividerStyles","Box","Divider","top","bottom","AutoCompleteGroupTitle","baseTitleStyles","ml","my","fontSize","letterSpacing","textTransform","hasGroupSibling","groupSibling","baseStyles","borderColor","dividerColor","mb","AutoCompleteInput","useMultiStyleConfig","inputProps","Wrap","WrapItem","as","Input","EmptyState","emptyStyles","align","justify","fontStyle","siblingInfo","Children","child","type","sibling","toArray","cloneElement","AutoCompleteList","listProps","PopoverContent","mt","maxH","border","boxShadow","zIndex","overflowY","AutoCompleteTag","memo","Tag","disabledStyles","TagLabel","TagCloseButton"],"mappings":"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"}
|
package/package.json
CHANGED