@choc-ui/chakra-autocomplete 4.19.2 → 4.20.2
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/README.md +2 -1
- package/dist/chakra-autocomplete.cjs.development.js +1 -7
- 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 +1 -7
- package/dist/chakra-autocomplete.esm.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<a><img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/anubra266/choc-autocomplete?logo=github&style=for-the-badge">
|
|
25
25
|
|
|
26
26
|
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
|
27
|
-
[](#contributors-)
|
|
28
28
|
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
|
29
29
|
|
|
30
30
|
</a>
|
|
@@ -1074,6 +1074,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
|
|
|
1074
1074
|
<td align="center"><a href="https://www.linkedin.com/in/spencerkaiser"><img src="https://avatars.githubusercontent.com/u/6445731?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Spencer Kaiser</b></sub></a><br /><a href="https://github.com/anubra266/choc-autocomplete/commits?author=SpencerKaiser" title="Documentation">📖</a></td>
|
|
1075
1075
|
<td align="center"><a href="https://github.com/jcdogo"><img src="https://avatars.githubusercontent.com/u/70533701?v=4?s=100" width="100px;" alt=""/><br /><sub><b>jcdogo</b></sub></a><br /><a href="https://github.com/anubra266/choc-autocomplete/commits?author=jcdogo" title="Code">💻</a></td>
|
|
1076
1076
|
<td align="center"><a href="https://github.com/daliudzius"><img src="https://avatars.githubusercontent.com/u/46355846?v=4?s=100" width="100px;" alt=""/><br /><sub><b>daliudzius</b></sub></a><br /><a href="https://github.com/anubra266/choc-autocomplete/commits?author=daliudzius" title="Code">💻</a></td>
|
|
1077
|
+
<td align="center"><a href="https://fabien0102.com"><img src="https://avatars.githubusercontent.com/u/1761469?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Fabien BERNARD</b></sub></a><br /><a href="https://github.com/anubra266/choc-autocomplete/commits?author=fabien0102" title="Code">💻</a></td>
|
|
1077
1078
|
</tr>
|
|
1078
1079
|
</table>
|
|
1079
1080
|
|
|
@@ -527,10 +527,6 @@ function useAutoComplete(autoCompleteProps) {
|
|
|
527
527
|
setFocusedValue(nextItem == null ? void 0 : nextItem.value);
|
|
528
528
|
|
|
529
529
|
if (isOpen) {
|
|
530
|
-
if (focusedItem.value === (lastItem == null ? void 0 : lastItem.value)) {
|
|
531
|
-
console.log("last");
|
|
532
|
-
}
|
|
533
|
-
|
|
534
530
|
e.preventDefault();
|
|
535
531
|
}
|
|
536
532
|
|
|
@@ -785,12 +781,10 @@ function AutoCompleteCreatable(props) {
|
|
|
785
781
|
query = _useAutoCompleteConte.query,
|
|
786
782
|
filteredResults = _useAutoCompleteConte.filteredResults;
|
|
787
783
|
|
|
788
|
-
var queryValue = React__default.createElement("mark", null, query);
|
|
789
|
-
|
|
790
784
|
var _getItemProps$item = getItemProps(_extends({}, props, {
|
|
791
785
|
value: query,
|
|
792
786
|
children: utils.runIfFn(childrenProp, {
|
|
793
|
-
value:
|
|
787
|
+
value: query
|
|
794
788
|
})
|
|
795
789
|
}), true).item,
|
|
796
790
|
children = _getItemProps$item.children,
|
|
@@ -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 autoomplete 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 { getChildrenDeep } from \"react-nanny\";\nimport { pick, isDefined, isEmpty } from \"@chakra-ui/utils\";\nimport { ReactNode } from \"react\";\nimport { FlexProps } from \"@chakra-ui/react\";\nimport { fuzzyScore } from \"./fuzzySearch\";\nimport { Item } from \"../types\";\nimport { AutoCompleteItemProps } from \"../autocomplete-item\";\n\nexport const getDefItemValue = (item: AutoCompleteItemProps[\"value\"]) =>\n (typeof item === \"string\" ? item : item[Object.keys(item)[0]])?.toString();\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 getItemList = (children: ReactNode): Item[] => {\n const itemChildren = getChildrenDeep(\n children,\n (child: any) => child?.type?.displayName === \"AutoCompleteItem\"\n );\n\n return itemChildren.map(item => {\n const itemObj = pick(item.props, [\"value\", \"label\", \"fixed\", \"disabled\"]);\n const { getValue = getDefItemValue } = item.props;\n const value = getValue(itemObj.value);\n const finObj = isDefined(itemObj.label)\n ? itemObj\n : { ...itemObj, label: value };\n return { ...finObj, value, originalValue: itemObj.value };\n });\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, runIfFn } from \"@chakra-ui/utils\";\nimport { getChildDeep } from \"react-nanny\";\nimport { ReactNode } from \"react\";\nimport { getDefItemValue } from \"./items\";\n\nexport const hasFirstItem = (children: ReactNode, firstItem: any) => {\n const result = getChildDeep(\n children,\n (child: any) =>\n child?.type?.displayName === \"AutoCompleteItem\" &&\n child.props.value === firstItem?.value\n );\n\n return result;\n};\nexport const hasLastItem = (children: ReactNode, lastItem: any) => {\n const result = getChildDeep(\n children,\n (child: any) =>\n child?.type?.displayName === \"AutoCompleteItem\" &&\n child.props.value === lastItem?.value\n );\n return result;\n};\n\nexport const hasChildren = (children: any, filteredList: any[]) => {\n return isDefined(\n getChildDeep(children, (child: any) => {\n const value = runIfFn(\n child.props?.getValue || getDefItemValue,\n child.props?.value || {}\n );\n return filteredList.some(i => i.value === value);\n })\n );\n};\n","import {\n useDimensions,\n useDisclosure,\n useUpdateEffect,\n useControllableState,\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 { omit } from \"@chakra-ui/utils\";\n\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { AutoCompleteProps } from \"./autocomplete\";\nimport {\n defaultFilterMethod,\n getDefItemValue,\n getFocusedStyles,\n getItemList,\n setEmphasis,\n} from \"./helpers/items\";\nimport { getMultipleWrapStyles } from \"./helpers/input\";\nimport { hasChildren, hasFirstItem, hasLastItem } from \"./helpers/group\";\nimport { Item, UseAutoCompleteReturn } from \"./types\";\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 emphasize,\n emptyState = true,\n freeSolo,\n isReadOnly,\n listAllValuesOnFocus,\n maxSuggestions,\n multiple,\n defaultValue,\n defaultValues = defaultValue ? [defaultValue] : [],\n onReady,\n defaultIsOpen,\n restoreOnBlurIfEmpty = !freeSolo,\n shouldRenderSuggestions = () => true,\n submitKeys = [],\n suggestWhenEmpty,\n value,\n values: valuesProp = value\n ? typeof value === \"string\"\n ? [value]\n : [...value]\n : undefined,\n } = autoCompleteProps;\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 children = runIfFn(autoCompleteProps.children, {\n isOpen,\n onClose,\n onOpen,\n });\n const itemList: Item[] = getItemList(children);\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 [listAll, setListAll] = useState(false);\n\n let defaultQuery = \"\";\n if (multiple) defaultQuery = \"\";\n else if (!isUndefined(defaultValues)) defaultQuery = defaultValues[0];\n else if (!isUndefined(valuesProp)) defaultQuery = valuesProp[0];\n\n const [query, setQuery] = useState<string>(defaultQuery ?? \"\");\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((i, index) => (maxSuggestions ? i.fixed || index < maxSuggestions : true));\n\n // Add Creatable to Filtered List\n const creatableArr: Item[] = creatable\n ? [{ value: query, noFilter: true, creatable: true }]\n : [];\n\n const filteredList = [...filteredResults, ...creatableArr];\n const [values, setValues] = useControllableState({\n defaultValue: defaultValues,\n value: valuesProp,\n onChange: (newValues: any[]) => {\n const item = filteredList.find(opt => opt.value === newValues[0]);\n const items = newValues.map(val =>\n filteredList.find(opt => opt.value === val)\n );\n runIfFn(\n autoCompleteProps.onChange,\n multiple ? newValues : newValues[0],\n multiple ? items : item\n );\n },\n });\n\n const [focusedValue, setFocusedValue] = useState<Item[\"value\"]>(\n itemList[0]?.value\n );\n\n const maxSelections = autoCompleteProps.maxSelections || values.length + 1;\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 if (!isOpen) setFocusedValue(itemList[0]?.value);\n }, [isOpen]);\n\n useEffect(() => {\n const focusedItem = itemList.find(i => i.value === focusedValue);\n runIfFn(autoCompleteProps.onOptionFocus, {\n item: focusedItem!,\n focusMethod: interactionRef.current,\n isNewInput: focusedItem?.creatable,\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\n const option = filteredList.find(i => i.value === optionValue);\n\n if (multiple) {\n inputRef.current?.focus();\n }\n if (autoCompleteProps.focusInputOnSelect) inputRef.current?.focus();\n runIfFn(autoCompleteProps.onSelectOption, {\n item: option!,\n selectMethod: interactionRef.current,\n isNewInput: option?.creatable,\n });\n if (option?.creatable) {\n runIfFn(autoCompleteProps.onCreateOption, {\n item: omit(option!, [\"noFilter\"]),\n selectMethod: interactionRef.current,\n });\n }\n\n const optionLabel = option?.label || option?.value;\n setQuery(() => (multiple ? \"\" : optionLabel ?? \"\"));\n\n if (closeOnSelect) onClose();\n };\n\n const removeItem: UseAutoCompleteReturn[\"removeItem\"] = (\n itemValue,\n focusInput\n ) => {\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 if (focusInput) inputRef.current?.focus();\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 useEffect(() => {\n runIfFn(onReady, { tags });\n }, [values]);\n\n const getInputProps: UseAutoCompleteReturn[\"getInputProps\"] = (\n props,\n themeInput\n ) => {\n const { onBlur, onChange, onFocus, onKeyDown, variant, ...rest } = props;\n\n return {\n wrapper: {\n ref: inputWrapperRef,\n onClick: () => {\n inputRef?.current?.focus();\n },\n ...getMultipleWrapStyles(themeInput, multiple),\n ...rest,\n },\n input: {\n isReadOnly,\n onFocus: e => {\n runIfFn(onFocus, e);\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, e);\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) && restoreOnBlurIfEmpty) {\n const latestValue = getLastItem(values);\n const latestValueItem = itemList.find(\n i => i.value === latestValue\n );\n const latestValueLabel =\n latestValueItem?.label || latestValueItem?.value || \"\";\n setQuery(latestValueLabel);\n }\n }\n },\n onChange: e => {\n const newValue = e.target.value;\n runIfFn(onChange, e);\n setQuery(newValue);\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 ([\"Enter\", ...submitKeys].includes(key)) {\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\n if (isOpen) {\n if (focusedItem.value === lastItem?.value) {\n console.log(\"last\");\n }\n e.preventDefault();\n }\n\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 wrapperDim = useDimensions(inputWrapperRef, true);\n const inputDim = useDimensions(inputRef, true);\n const getListProps: UseAutoCompleteReturn[\"getListProps\"] = () => {\n const width = autoCompleteProps.multiple\n ? (wrapperDim?.marginBox.width as number)\n : (inputDim?.marginBox.width as number);\n return {\n width,\n };\n };\n\n const getItemProps: UseAutoCompleteReturn[\"getItemProps\"] = (\n props,\n creatable\n ) => {\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 = creatable ? valueProp : 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 value,\n },\n };\n };\n\n const getGroupProps: UseAutoCompleteReturn[\"getGroupProps\"] = props => {\n const hasItems = hasChildren(props.children, filteredList);\n return {\n divider: {\n hasFirstChild: hasFirstItem(props.children, firstItem),\n hasLastChild: hasLastItem(\n props.children,\n getLastItem(filteredList.filter(i => isUndefined(i?.noFilter)))\n ),\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 removeItem,\n resetItems,\n setQuery,\n tags,\n values,\n };\n}\n","import React, { useImperativeHandle } from \"react\";\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\";\n\nimport { AutoCompleteProvider } from \"./autocomplete-context\";\nimport { useAutoComplete } from \"./use-autocomplete\";\nimport { chakra, forwardRef, Popover } from \"@chakra-ui/react\";\nimport { AutoCompleteRefMethods, UseAutoCompleteProps } from \"./types\";\n\nexport type AutoCompleteChildProps = {\n isOpen: boolean;\n onClose: () => void;\n onOpen: () => void;\n};\nexport interface AutoCompleteProps extends UseAutoCompleteProps {\n children: MaybeRenderProp<AutoCompleteChildProps>;\n ref?: React.RefObject<AutoCompleteRefMethods>;\n}\n\nexport const AutoComplete = forwardRef<AutoCompleteProps, \"div\">(\n (props, ref) => {\n const context = useAutoComplete(props);\n const {\n children,\n isOpen,\n onClose,\n onOpen,\n resetItems,\n removeItem,\n } = context;\n\n useImperativeHandle(ref, () => ({\n resetItems,\n removeItem,\n }));\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 } 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}\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, 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 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 rounded: \"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 alwaysDisplay?: boolean;\n}\n\nexport function AutoCompleteCreatable(props: AutoCompleteCreatableProps) {\n const { alwaysDisplay, 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 {\n ...props,\n value: query,\n children: runIfFn(childrenProp, {\n value: queryValue,\n }),\n },\n true\n ).item;\n\n const queryExistsInList = filteredResults.some(i => i.value === query);\n const showWhenEmpty = isEmpty(query) ? alwaysDisplay : true;\n const showCreatable =\n autoCompleteProps.creatable && showWhenEmpty && !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 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 autoCompleteProps,\n inputRef,\n getInputProps,\n tags,\n } = useAutoCompleteContext();\n\n // const ref = useMergeRefs(forwardedRef, inputRef);\n\n const { children: childrenProp, ...rest } = props;\n\n const themeInput: any = useMultiStyleConfig(\"Input\", props);\n\n const { wrapper, input: inputProps } = getInputProps(rest, themeInput);\n const { ref: wrapperRef, ...wrapperProps } = wrapper;\n const ref = useMergeRefs(forwardedRef, inputRef);\n\n const children = runIfFn(childrenProp, { tags });\n\n const simpleInput = <Input {...(inputProps as any)} ref={ref} />;\n\n const multipleInput = (\n <Wrap {...wrapperProps} ref={wrapperRef}>\n {children}\n <WrapItem as={Input} {...(inputProps as any)} ref={ref} />\n </Wrap>\n );\n\n return <>{autoCompleteProps.multiple ? multipleInput : simpleInput}</>;\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\nconst VALID_AUTOCOMPLETE_LIST_CHILDREN = [\n \"AutoCompleteGroup\",\n \"AutoCompleteItem\",\n \"AutoCompleteCreatable\",\n];\n\nexport const siblingInfo = (children: React.ReactNode) => {\n const items = 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 }) as React.ReactNode;\n\n const nonAutocompleteItems = React.Children.toArray(items).filter(\n (child: any) => {\n return !VALID_AUTOCOMPLETE_LIST_CHILDREN.includes(\n child?.type?.displayName\n );\n }\n );\n\n const autoCompleteItems = React.Children.toArray(items).filter(\n (child: any) => {\n return VALID_AUTOCOMPLETE_LIST_CHILDREN.includes(\n child?.type?.displayName\n );\n }\n );\n\n return [autoCompleteItems, nonAutocompleteItems] as const;\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 const [autoCompleteItems, nonAutoCompleteItems] = siblingInfo(children);\n\n return (\n <PopoverContent ref={ref} {...baseStyles} {...listProps} {...rest}>\n {autoCompleteItems}\n <EmptyState />\n {nonAutoCompleteItems}\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 rounded: \"md\",\n maxH: \"350px\",\n border: \"none\",\n shadow: \"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","getDefItemValue","Object","keys","toString","setEmphasis","children","query","isEmpty","newChildren","replace","RegExp","escapeRegex","match","getItemList","itemChildren","getChildrenDeep","child","type","displayName","map","itemObj","pick","props","getValue","value","finObj","isDefined","label","originalValue","getFocusedStyles","bg","_light","defaultFilterMethod","itemValue","itemLabel","indexOf","string","getMultipleWrapStyles","themeInput","multiple","field","_focusWithin","_focus","pos","minH","py","spacing","cursor","h","hasFirstItem","firstItem","result","getChildDeep","hasLastItem","lastItem","hasChildren","filteredList","runIfFn","some","useAutoComplete","autoCompleteProps","closeOnBlur","closeOnSelect","creatable","emphasize","emptyState","freeSolo","isReadOnly","listAllValuesOnFocus","maxSuggestions","defaultValue","defaultValues","onReady","defaultIsOpen","restoreOnBlurIfEmpty","shouldRenderSuggestions","submitKeys","suggestWhenEmpty","values","valuesProp","undefined","useDisclosure","isOpen","onClose","onOpen","itemList","inputRef","useRef","inputWrapperRef","listRef","interactionRef","useState","listAll","setListAll","defaultQuery","isUndefined","setQuery","filteredResults","filter","fixed","index","creatableArr","noFilter","useControllableState","onChange","newValues","find","opt","items","val","setValues","focusedValue","setFocusedValue","maxSelections","focusedIndex","findIndex","nextItem","getNextItem","rollNavigation","prevItem","getPrevItem","getFirstItem","getLastItem","useUpdateEffect","useEffect","focusedItem","onOptionFocus","focusMethod","current","isNewInput","selectItem","optionValue","includes","option","focus","focusInputOnSelect","onSelectOption","selectMethod","onCreateOption","omit","optionLabel","removeItem","focusInput","prevValues","onTagRemoved","resetItems","tags","tag","onRemove","getInputProps","onBlur","onFocus","onKeyDown","variant","rest","wrapper","ref","onClick","input","e","openOnFocus","selectOnFocus","target","select","listIsFocused","relatedTarget","inputWrapperIsFocused","contains","latestValue","latestValueItem","latestValueLabel","newValue","queryIsEmpty","key","disabled","preventDefault","console","log","callAll","wrapperDim","useDimensions","inputDim","getListProps","width","marginBox","getItemProps","_fixed","itemChild","valueProp","onMouseOver","sx","isFocused","isValidSuggestion","dangerouslySetInnerHTML","__html","_disabled","opacity","userSelect","mark","color","isObject","fontWeight","root","getGroupProps","hasItems","divider","hasFirstChild","hasLastChild","group","display","getEmptyStateProps","defaultEmptyState","noSuggestions","every","AutoComplete","forwardRef","context","useImperativeHandle","React","Popover","isLazy","autoFocus","placement","chakra","div","position","w","AutoCompleteItem","forwardedRef","itemRef","useMergeRefs","itemProps","scrollIntoView","behavior","block","warn","error","restProps","Flex","baseItemStyles","mx","px","rounded","AutoCompleteCreatable","alwaysDisplay","childrenProp","queryValue","queryExistsInList","showWhenEmpty","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","wrapperRef","wrapperProps","simpleInput","Input","multipleInput","Wrap","WrapItem","as","id","EmptyState","emptyStyles","align","justify","fontStyle","VALID_AUTOCOMPLETE_LIST_CHILDREN","siblingInfo","Children","sibling","toArray","cloneElement","nonAutocompleteItems","autoCompleteItems","AutoCompleteList","listProps","nonAutoCompleteItems","PopoverContent","mt","maxH","border","shadow","zIndex","overflowY","boxShadow","AutoCompleteTag","memo","Tag","borderRadius","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 autoomplete 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 { getChildrenDeep } from \"react-nanny\";\nimport { pick, isDefined, isEmpty } from \"@chakra-ui/utils\";\nimport { ReactNode } from \"react\";\nimport { FlexProps } from \"@chakra-ui/react\";\nimport { fuzzyScore } from \"./fuzzySearch\";\nimport { Item } from \"../types\";\nimport { AutoCompleteItemProps } from \"../autocomplete-item\";\n\nexport const getDefItemValue = (item: AutoCompleteItemProps[\"value\"]) =>\n (typeof item === \"string\" ? item : item[Object.keys(item)[0]])?.toString();\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 getItemList = (children: ReactNode): Item[] => {\n const itemChildren = getChildrenDeep(\n children,\n (child: any) => child?.type?.displayName === \"AutoCompleteItem\"\n );\n\n return itemChildren.map(item => {\n const itemObj = pick(item.props, [\"value\", \"label\", \"fixed\", \"disabled\"]);\n const { getValue = getDefItemValue } = item.props;\n const value = getValue(itemObj.value);\n const finObj = isDefined(itemObj.label)\n ? itemObj\n : { ...itemObj, label: value };\n return { ...finObj, value, originalValue: itemObj.value };\n });\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, runIfFn } from \"@chakra-ui/utils\";\nimport { getChildDeep } from \"react-nanny\";\nimport { ReactNode } from \"react\";\nimport { getDefItemValue } from \"./items\";\n\nexport const hasFirstItem = (children: ReactNode, firstItem: any) => {\n const result = getChildDeep(\n children,\n (child: any) =>\n child?.type?.displayName === \"AutoCompleteItem\" &&\n child.props.value === firstItem?.value\n );\n\n return result;\n};\nexport const hasLastItem = (children: ReactNode, lastItem: any) => {\n const result = getChildDeep(\n children,\n (child: any) =>\n child?.type?.displayName === \"AutoCompleteItem\" &&\n child.props.value === lastItem?.value\n );\n return result;\n};\n\nexport const hasChildren = (children: any, filteredList: any[]) => {\n return isDefined(\n getChildDeep(children, (child: any) => {\n const value = runIfFn(\n child.props?.getValue || getDefItemValue,\n child.props?.value || {}\n );\n return filteredList.some(i => i.value === value);\n })\n );\n};\n","import {\n useDimensions,\n useDisclosure,\n useUpdateEffect,\n useControllableState,\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 { omit } from \"@chakra-ui/utils\";\n\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { AutoCompleteProps } from \"./autocomplete\";\nimport {\n defaultFilterMethod,\n getDefItemValue,\n getFocusedStyles,\n getItemList,\n setEmphasis,\n} from \"./helpers/items\";\nimport { getMultipleWrapStyles } from \"./helpers/input\";\nimport { hasChildren, hasFirstItem, hasLastItem } from \"./helpers/group\";\nimport { Item, UseAutoCompleteReturn } from \"./types\";\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 emphasize,\n emptyState = true,\n freeSolo,\n isReadOnly,\n listAllValuesOnFocus,\n maxSuggestions,\n multiple,\n defaultValue,\n defaultValues = defaultValue ? [defaultValue] : [],\n onReady,\n defaultIsOpen,\n restoreOnBlurIfEmpty = !freeSolo,\n shouldRenderSuggestions = () => true,\n submitKeys = [],\n suggestWhenEmpty,\n value,\n values: valuesProp = value\n ? typeof value === \"string\"\n ? [value]\n : [...value]\n : undefined,\n } = autoCompleteProps;\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 children = runIfFn(autoCompleteProps.children, {\n isOpen,\n onClose,\n onOpen,\n });\n const itemList: Item[] = getItemList(children);\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 [listAll, setListAll] = useState(false);\n\n let defaultQuery = \"\";\n if (multiple) defaultQuery = \"\";\n else if (!isUndefined(defaultValues)) defaultQuery = defaultValues[0];\n else if (!isUndefined(valuesProp)) defaultQuery = valuesProp[0];\n\n const [query, setQuery] = useState<string>(defaultQuery ?? \"\");\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((i, index) =>\n maxSuggestions ? i.fixed || index < maxSuggestions : true\n );\n\n // Add Creatable to Filtered List\n const creatableArr: Item[] = creatable\n ? [{ value: query, noFilter: true, creatable: true }]\n : [];\n\n const filteredList = [...filteredResults, ...creatableArr];\n const [values, setValues] = useControllableState({\n defaultValue: defaultValues,\n value: valuesProp,\n onChange: (newValues: any[]) => {\n const item = filteredList.find(opt => opt.value === newValues[0]);\n const items = newValues.map(val =>\n filteredList.find(opt => opt.value === val)\n );\n runIfFn(\n autoCompleteProps.onChange,\n multiple ? newValues : newValues[0],\n multiple ? items : item\n );\n },\n });\n\n const [focusedValue, setFocusedValue] = useState<Item[\"value\"]>(\n itemList[0]?.value\n );\n\n const maxSelections = autoCompleteProps.maxSelections || values.length + 1;\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 if (!isOpen) setFocusedValue(itemList[0]?.value);\n }, [isOpen]);\n\n useEffect(() => {\n const focusedItem = itemList.find(i => i.value === focusedValue);\n runIfFn(autoCompleteProps.onOptionFocus, {\n item: focusedItem!,\n focusMethod: interactionRef.current,\n isNewInput: focusedItem?.creatable,\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\n const option = filteredList.find(i => i.value === optionValue);\n\n if (multiple) {\n inputRef.current?.focus();\n }\n if (autoCompleteProps.focusInputOnSelect) inputRef.current?.focus();\n runIfFn(autoCompleteProps.onSelectOption, {\n item: option!,\n selectMethod: interactionRef.current,\n isNewInput: option?.creatable,\n });\n if (option?.creatable) {\n runIfFn(autoCompleteProps.onCreateOption, {\n item: omit(option!, [\"noFilter\"]),\n selectMethod: interactionRef.current,\n });\n }\n\n const optionLabel = option?.label || option?.value;\n setQuery(() => (multiple ? \"\" : optionLabel ?? \"\"));\n\n if (closeOnSelect) onClose();\n };\n\n const removeItem: UseAutoCompleteReturn[\"removeItem\"] = (\n itemValue,\n focusInput\n ) => {\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 if (focusInput) inputRef.current?.focus();\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 useEffect(() => {\n runIfFn(onReady, { tags });\n }, [values]);\n\n const getInputProps: UseAutoCompleteReturn[\"getInputProps\"] = (\n props,\n themeInput\n ) => {\n const { onBlur, onChange, onFocus, onKeyDown, variant, ...rest } = props;\n\n return {\n wrapper: {\n ref: inputWrapperRef,\n onClick: () => {\n inputRef?.current?.focus();\n },\n ...getMultipleWrapStyles(themeInput, multiple),\n ...rest,\n },\n input: {\n isReadOnly,\n onFocus: e => {\n runIfFn(onFocus, e);\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, e);\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) && restoreOnBlurIfEmpty) {\n const latestValue = getLastItem(values);\n const latestValueItem = itemList.find(\n i => i.value === latestValue\n );\n const latestValueLabel =\n latestValueItem?.label || latestValueItem?.value || \"\";\n setQuery(latestValueLabel);\n }\n }\n },\n onChange: e => {\n const newValue = e.target.value;\n runIfFn(onChange, e);\n setQuery(newValue);\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 ([\"Enter\", ...submitKeys].includes(key)) {\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\n if (isOpen) {\n e.preventDefault();\n }\n\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 wrapperDim = useDimensions(inputWrapperRef, true);\n const inputDim = useDimensions(inputRef, true);\n const getListProps: UseAutoCompleteReturn[\"getListProps\"] = () => {\n const width = autoCompleteProps.multiple\n ? (wrapperDim?.marginBox.width as number)\n : (inputDim?.marginBox.width as number);\n return {\n width,\n };\n };\n\n const getItemProps: UseAutoCompleteReturn[\"getItemProps\"] = (\n props,\n creatable\n ) => {\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 = creatable ? valueProp : 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 value,\n },\n };\n };\n\n const getGroupProps: UseAutoCompleteReturn[\"getGroupProps\"] = props => {\n const hasItems = hasChildren(props.children, filteredList);\n return {\n divider: {\n hasFirstChild: hasFirstItem(props.children, firstItem),\n hasLastChild: hasLastItem(\n props.children,\n getLastItem(filteredList.filter(i => isUndefined(i?.noFilter)))\n ),\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 removeItem,\n resetItems,\n setQuery,\n tags,\n values,\n };\n}\n","import React, { useImperativeHandle } from \"react\";\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\";\n\nimport { AutoCompleteProvider } from \"./autocomplete-context\";\nimport { useAutoComplete } from \"./use-autocomplete\";\nimport { chakra, forwardRef, Popover } from \"@chakra-ui/react\";\nimport { AutoCompleteRefMethods, UseAutoCompleteProps } from \"./types\";\n\nexport type AutoCompleteChildProps = {\n isOpen: boolean;\n onClose: () => void;\n onOpen: () => void;\n};\nexport interface AutoCompleteProps extends UseAutoCompleteProps {\n children: MaybeRenderProp<AutoCompleteChildProps>;\n ref?: React.RefObject<AutoCompleteRefMethods>;\n}\n\nexport const AutoComplete = forwardRef<AutoCompleteProps, \"div\">(\n (props, ref) => {\n const context = useAutoComplete(props);\n const {\n children,\n isOpen,\n onClose,\n onOpen,\n resetItems,\n removeItem,\n } = context;\n\n useImperativeHandle(ref, () => ({\n resetItems,\n removeItem,\n }));\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 } 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}\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, 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 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 rounded: \"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 alwaysDisplay?: boolean;\n}\n\nexport function AutoCompleteCreatable(props: AutoCompleteCreatableProps) {\n const { alwaysDisplay, children: childrenProp, ...rest } = props;\n const {\n autoCompleteProps,\n getItemProps,\n query,\n filteredResults,\n } = useAutoCompleteContext();\n\n const { children, ...itemProps } = getItemProps(\n {\n ...props,\n value: query,\n children: runIfFn(childrenProp, {\n value: query,\n }),\n },\n true\n ).item;\n\n const queryExistsInList = filteredResults.some(i => i.value === query);\n const showWhenEmpty = isEmpty(query) ? alwaysDisplay : true;\n const showCreatable =\n autoCompleteProps.creatable && showWhenEmpty && !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 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 autoCompleteProps,\n inputRef,\n getInputProps,\n tags,\n } = useAutoCompleteContext();\n\n // const ref = useMergeRefs(forwardedRef, inputRef);\n\n const { children: childrenProp, ...rest } = props;\n\n const themeInput: any = useMultiStyleConfig(\"Input\", props);\n\n const { wrapper, input: inputProps } = getInputProps(rest, themeInput);\n const { ref: wrapperRef, ...wrapperProps } = wrapper;\n const ref = useMergeRefs(forwardedRef, inputRef);\n\n const children = runIfFn(childrenProp, { tags });\n\n const simpleInput = <Input {...(inputProps as any)} ref={ref} />;\n\n const multipleInput = (\n <Wrap {...wrapperProps} ref={wrapperRef}>\n {children}\n <WrapItem as={Input} {...(inputProps as any)} ref={ref} />\n </Wrap>\n );\n\n return <>{autoCompleteProps.multiple ? multipleInput : simpleInput}</>;\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\nconst VALID_AUTOCOMPLETE_LIST_CHILDREN = [\n \"AutoCompleteGroup\",\n \"AutoCompleteItem\",\n \"AutoCompleteCreatable\",\n];\n\nexport const siblingInfo = (children: React.ReactNode) => {\n const items = 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 }) as React.ReactNode;\n\n const nonAutocompleteItems = React.Children.toArray(items).filter(\n (child: any) => {\n return !VALID_AUTOCOMPLETE_LIST_CHILDREN.includes(\n child?.type?.displayName\n );\n }\n );\n\n const autoCompleteItems = React.Children.toArray(items).filter(\n (child: any) => {\n return VALID_AUTOCOMPLETE_LIST_CHILDREN.includes(\n child?.type?.displayName\n );\n }\n );\n\n return [autoCompleteItems, nonAutocompleteItems] as const;\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 const [autoCompleteItems, nonAutoCompleteItems] = siblingInfo(children);\n\n return (\n <PopoverContent ref={ref} {...baseStyles} {...listProps} {...rest}>\n {autoCompleteItems}\n <EmptyState />\n {nonAutoCompleteItems}\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 rounded: \"md\",\n maxH: \"350px\",\n border: \"none\",\n shadow: \"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","getDefItemValue","Object","keys","toString","setEmphasis","children","query","isEmpty","newChildren","replace","RegExp","escapeRegex","match","getItemList","itemChildren","getChildrenDeep","child","type","displayName","map","itemObj","pick","props","getValue","value","finObj","isDefined","label","originalValue","getFocusedStyles","bg","_light","defaultFilterMethod","itemValue","itemLabel","indexOf","string","getMultipleWrapStyles","themeInput","multiple","field","_focusWithin","_focus","pos","minH","py","spacing","cursor","h","hasFirstItem","firstItem","result","getChildDeep","hasLastItem","lastItem","hasChildren","filteredList","runIfFn","some","useAutoComplete","autoCompleteProps","closeOnBlur","closeOnSelect","creatable","emphasize","emptyState","freeSolo","isReadOnly","listAllValuesOnFocus","maxSuggestions","defaultValue","defaultValues","onReady","defaultIsOpen","restoreOnBlurIfEmpty","shouldRenderSuggestions","submitKeys","suggestWhenEmpty","values","valuesProp","undefined","useDisclosure","isOpen","onClose","onOpen","itemList","inputRef","useRef","inputWrapperRef","listRef","interactionRef","useState","listAll","setListAll","defaultQuery","isUndefined","setQuery","filteredResults","filter","fixed","index","creatableArr","noFilter","useControllableState","onChange","newValues","find","opt","items","val","setValues","focusedValue","setFocusedValue","maxSelections","focusedIndex","findIndex","nextItem","getNextItem","rollNavigation","prevItem","getPrevItem","getFirstItem","getLastItem","useUpdateEffect","useEffect","focusedItem","onOptionFocus","focusMethod","current","isNewInput","selectItem","optionValue","includes","option","focus","focusInputOnSelect","onSelectOption","selectMethod","onCreateOption","omit","optionLabel","removeItem","focusInput","prevValues","onTagRemoved","resetItems","tags","tag","onRemove","getInputProps","onBlur","onFocus","onKeyDown","variant","rest","wrapper","ref","onClick","input","e","openOnFocus","selectOnFocus","target","select","listIsFocused","relatedTarget","inputWrapperIsFocused","contains","latestValue","latestValueItem","latestValueLabel","newValue","queryIsEmpty","key","disabled","preventDefault","callAll","wrapperDim","useDimensions","inputDim","getListProps","width","marginBox","getItemProps","_fixed","itemChild","valueProp","onMouseOver","sx","isFocused","isValidSuggestion","dangerouslySetInnerHTML","__html","_disabled","opacity","userSelect","mark","color","isObject","fontWeight","root","getGroupProps","hasItems","divider","hasFirstChild","hasLastChild","group","display","getEmptyStateProps","defaultEmptyState","noSuggestions","every","AutoComplete","forwardRef","context","useImperativeHandle","React","Popover","isLazy","autoFocus","placement","chakra","div","position","w","AutoCompleteItem","forwardedRef","itemRef","useMergeRefs","itemProps","scrollIntoView","behavior","block","console","warn","error","restProps","Flex","baseItemStyles","mx","px","rounded","AutoCompleteCreatable","alwaysDisplay","childrenProp","queryExistsInList","showWhenEmpty","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","wrapperRef","wrapperProps","simpleInput","Input","multipleInput","Wrap","WrapItem","as","id","EmptyState","emptyStyles","align","justify","fontStyle","VALID_AUTOCOMPLETE_LIST_CHILDREN","siblingInfo","Children","sibling","toArray","cloneElement","nonAutocompleteItems","autoCompleteItems","AutoCompleteList","listProps","nonAutoCompleteItems","PopoverContent","mt","maxH","border","shadow","zIndex","overflowY","boxShadow","AutoCompleteTag","memo","Tag","borderRadius","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"),l=require("@chakra-ui/utils"),u=require("react-nanny"),i=require("@chakra-ui/layout"),a=require("@chakra-ui/tag"),s=r.createContext({name:"AutoCompleteContext",errorMessage:"useAutoCompleteContext: `context` is undefined. Seems you forgot to wrap all autoomplete components within `<AutoComplete />`"}),c=s[0],f=s[1];function d(){return(d=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 p(e,t){if(null==e)return{};var n,r,o={},l=Object.keys(e);for(r=0;r<l.length;r++)t.indexOf(n=l[r])>=0||(o[n]=e[n]);return o}function v(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 m(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,l=e.length<t.length?t:e,u=r(e.length<t.length?e:t,n),i=r(l,n),a=new Set(u),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 v(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)?v(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 g=function(e){var t;return null==(t="string"==typeof e?e:e[Object.keys(e)[0]])?void 0:t.toString()},h=function(e,t){return"string"!=typeof e||l.isEmpty(t)?e:e.toString().replace(new RegExp(t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"gi"),(function(e){return"<mark>"+e+"</mark>"}))},y=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||m(e,t)>=.5||m(e,n)>=.5},b=function(e,t){return d({},t&&d({},e.field,{_focusWithin:e.field._focus,pos:"relative",minH:9,py:1.5,spacing:3}),{cursor:"text",h:"fit-content"})},C=function(e,t){return u.getChildDeep(e,(function(e){var n;return"AutoCompleteItem"===(null==e||null==(n=e.type)?void 0:n.displayName)&&e.props.value===(null==t?void 0:t.value)}))},I=function(e,t){return u.getChildDeep(e,(function(e){var n;return"AutoCompleteItem"===(null==e||null==(n=e.type)?void 0:n.displayName)&&e.props.value===(null==t?void 0:t.value)}))},x=["onBlur","onChange","onFocus","onKeyDown","variant"],O=["_fixed","_focus","children","disabled","label","value","fixed","getValue","onClick","onMouseOver","sx"];function w(e){var n,r,i=e.closeOnBlur,a=void 0===i||i,s=e.closeOnSelect,c=e.creatable,f=e.emphasize,v=e.emptyState,m=void 0===v||v,w=e.freeSolo,A=e.isReadOnly,S=e.listAllValuesOnFocus,E=e.maxSuggestions,F=e.multiple,R=e.defaultValue,D=e.defaultValues,j=void 0===D?R?[R]:[]:D,k=e.onReady,L=e.defaultIsOpen,P=e.restoreOnBlurIfEmpty,N=void 0===P?!w:P,M=e.shouldRenderSuggestions,_=void 0===M?function(){return!0}:M,T=e.submitKeys,V=void 0===T?[]:T,B=e.suggestWhenEmpty,q=e.value,G=e.values,W=void 0===G?q?"string"==typeof q?[q]:[].concat(q):void 0:G;s=s||!F,w=w||!!F||e.freeSolo;var H=o.useDisclosure({defaultIsOpen:L}),U=H.isOpen,z=H.onClose,K=H.onOpen,$=l.runIfFn(e.children,{isOpen:U,onClose:z,onOpen:K}),Y=function(e){return u.getChildrenDeep(e,(function(e){var t;return"AutoCompleteItem"===(null==e||null==(t=e.type)?void 0:t.displayName)})).map((function(e){var t=l.pick(e.props,["value","label","fixed","disabled"]),n=e.props.getValue,r=(void 0===n?g:n)(t.value),o=l.isDefined(t.label)?t:d({},t,{label:r});return d({},o,{value:r,originalValue:t.value})}))}($),Q=t.useRef(null),J=t.useRef(null),X=t.useRef(null),Z=t.useRef(null),ee=t.useState(!1),te=ee[0],ne=ee[1],re="";F?re="":l.isUndefined(j)?l.isUndefined(W)||(re=W[0]):re=j[0];var oe=t.useState(null!=(n=re)?n:""),le=oe[0],ue=oe[1],ie=Y.filter((function(t){return t.fixed||l.runIfFn(e.filter||y,le,t.value,t.label)||te})).filter((function(e,t){return!E||e.fixed||t<E})),ae=[].concat(ie,c?[{value:le,noFilter:!0,creatable:!0}]:[]),se=o.useControllableState({defaultValue:j,value:W,onChange:function(t){var n=ae.find((function(e){return e.value===t[0]})),r=t.map((function(e){return ae.find((function(t){return t.value===e}))}));l.runIfFn(e.onChange,F?t:t[0],F?r:n)}}),ce=se[0],fe=se[1],de=t.useState(null==(r=Y[0])?void 0:r.value),pe=de[0],ve=de[1],me=e.maxSelections||ce.length+1,ge=ae.findIndex((function(e){return e.value===pe})),he=l.getNextItem(ge,ae,!!e.rollNavigation),ye=l.getPrevItem(ge,ae,!!e.rollNavigation),be=l.getFirstItem(ae),Ce=l.getLastItem(ae);o.useUpdateEffect((function(){ve(null==be?void 0:be.value)}),[le]),t.useEffect((function(){var e;U||ve(null==(e=Y[0])?void 0:e.value)}),[U]),t.useEffect((function(){var t=Y.find((function(e){return e.value===pe}));l.runIfFn(e.onOptionFocus,{item:t,focusMethod:Z.current,isNewInput:null==t?void 0:t.creatable})}),[pe,e.onOptionFocus]);var Ie=function(t){var n;!ce.includes(t)&&ce.length<me&&fe((function(e){return F?[].concat(e,[t]):[t]}));var r,o=ae.find((function(e){return e.value===t}));F&&(null==(r=Q.current)||r.focus()),e.focusInputOnSelect&&(null==(n=Q.current)||n.focus()),l.runIfFn(e.onSelectOption,{item:o,selectMethod:Z.current,isNewInput:null==o?void 0:o.creatable}),null!=o&&o.creatable&&l.runIfFn(e.onCreateOption,{item:l.omit(o,["noFilter"]),selectMethod:Z.current});var u=(null==o?void 0:o.label)||(null==o?void 0:o.value);ue((function(){return F?"":null!=u?u:""})),s&&z()},xe=function(t,n){var r;fe((function(n){var r=Y.find((function(e){return e.value===t}));return l.runIfFn(e.onTagRemoved,t,r,n),n.filter((function(e){return e!==t}))})),le===t&&ue(""),n&&(null==(r=Q.current)||r.focus())},Oe=F?ce.map((function(e){var t;return{label:(null==(t=Y.find((function(t){return t.value===e})))?void 0:t.label)||e,onRemove:function(){return xe(e)}}})):[];t.useEffect((function(){l.runIfFn(k,{tags:Oe})}),[ce]);var we=o.useDimensions(J,!0),Ae=o.useDimensions(Q,!0);return{autoCompleteProps:e,children:$,filteredList:ae,filteredResults:ie,focusedValue:pe,getEmptyStateProps:function(e){if(ae.every((function(e){return e.noFilter}))&&m&&!c)return"boolean"==typeof m?e:l.runIfFn(m,{query:le})},getGroupProps:function(e){var t=function(e,t){return l.isDefined(u.getChildDeep(e,(function(e){var n,r,o=l.runIfFn((null==(n=e.props)?void 0:n.getValue)||g,(null==(r=e.props)?void 0:r.value)||{});return t.some((function(e){return e.value===o}))})))}(e.children,ae);return{divider:{hasFirstChild:C(e.children,be),hasLastChild:I(e.children,l.getLastItem(ae.filter((function(e){return l.isUndefined(null==e?void 0:e.noFilter)}))))},group:{display:t?"initial":"none"}}},getInputProps:function(t,n){var r=t.onBlur,o=t.onChange,u=t.onFocus,i=t.onKeyDown,s=t.variant,c=p(t,x);return{wrapper:d({ref:J,onClick:function(){var e;null==Q||null==(e=Q.current)||e.focus()}},b(n,F),c),input:d({isReadOnly:A,onFocus:function(t){l.runIfFn(u,t),e.openOnFocus&&!A&&K(),e.selectOnFocus&&t.target.select(),S&&ne(!0)},onBlur:function(e){var t;l.runIfFn(r,e);var n=e.relatedTarget===(null==X?void 0:X.current),o=null==(t=J.current)?void 0:t.contains(e.relatedTarget);if(!n&&!o&&(a&&z(),!ce.includes(e.target.value)&&N)){var u=l.getLastItem(ce),i=Y.find((function(e){return e.value===u}));ue((null==i?void 0:i.label)||(null==i?void 0:i.value)||"")}},onChange:function(e){var t=e.target.value;l.runIfFn(o,e),ue(t);var n=l.isEmpty(t);!l.runIfFn(_,t)||n&&!B?z():K(),ne(!1)},onKeyDown:function(e){l.runIfFn(i,e),Z.current="keyboard";var t,n=e.key,r=ae[ge];return["Enter"].concat(V).includes(n)?(!r||null!=r&&r.disabled?null==(t=Q.current)||t.focus():Ie(null==r?void 0:r.value),void e.preventDefault()):"ArrowDown"===n?(ve(null==he?void 0:he.value),void e.preventDefault()):"ArrowUp"===n?(ve(null==ye?void 0:ye.value),void e.preventDefault()):"Tab"===n?(ve(null==he?void 0:he.value),void(U&&(r.value===(null==Ce?void 0:Ce.value)&&console.log("last"),e.preventDefault()))):"Home"===n?(ve(null==be?void 0:be.value),void e.preventDefault()):"End"===n?(ve(null==Ce?void 0:Ce.value),void e.preventDefault()):void("Escape"===n&&l.callAll(z,e.preventDefault))},value:le,variant:F?"unstyled":s},c)}},getItemProps:function(e,t){var n,r=e._fixed,o=e._focus,u=e.children,i=e.disabled,a=e.label,s=e.value,c=e.fixed,v=e.getValue,m=void 0===v?g:v,y=e.onClick,b=e.onMouseOver,C=e.sx,I=p(e,O),x=t?s:null==(n=m(s))?void 0:n.toString(),w=x===pe,A=ae.findIndex((function(e){return e.value===x}))>=0,S=u||a||x;return{item:d({},"string"==typeof S&&f?{dangerouslySetInnerHTML:{__html:h(S,le)}}:{children:S},{"aria-selected":ce.includes(x),"aria-disabled":i,_disabled:{opacity:.4,cursor:"not-allowed",userSelect:"none"},onClick:function(e){var t;l.runIfFn(y,e),i?null==(t=Q.current)||t.focus():Ie(x)},onMouseOver:function(e){l.runIfFn(b,e),ve(x),Z.current="mouse"},sx:d({},C,{mark:d({color:"inherit",bg:"transparent"},l.isObject(f)?f:{fontWeight:f?"extrabold":"inherit"})})},w&&(o||{bg:"whiteAlpha.100",_light:{bg:"gray.200"}}),c&&r,I),root:{isValidSuggestion:A,value:x}}},getListProps:function(){return{width:e.multiple?null==we?void 0:we.marginBox.width:null==Ae?void 0:Ae.marginBox.width}},inputRef:Q,interactionRef:Z,isOpen:U,itemList:Y,listRef:X,onClose:z,onOpen:K,query:le,removeItem:xe,resetItems:function(e){var t;fe([]),e&&(null==(t=Q.current)||t.focus())},setQuery:ue,tags:Oe,values:ce}}var A=o.forwardRef((function(e,r){var l=w(e),u=l.children,i=l.isOpen,a=l.onClose,s=l.onOpen,f=l.resetItems,d=l.removeItem;return t.useImperativeHandle(r,(function(){return{resetItems:f,removeItem:d}})),n.createElement(c,{value:l},n.createElement(o.Popover,{isLazy:!0,isOpen:i,onClose:a,onOpen:s,autoFocus:!1,placement:"bottom",closeOnBlur:!0},n.createElement(o.chakra.div,{sx:{".chakra-popover__popper":{position:"unset !important"}},w:"full",ref:r},u)))}));A.displayName="AutoComplete";var S=["children","dangerouslySetInnerHTML"],E=o.forwardRef((function(e,r){var u=f(),i=u.focusedValue,a=u.getItemProps,s=u.interactionRef,c=t.useRef(),d=o.useMergeRefs(r,c),v=a(e),m=v.root,g=m.isValidSuggestion,h=m.value,y=i===h;t.useEffect((function(){var e;y&&"keyboard"===s.current&&(null==c||null==(e=c.current)||e.scrollIntoView({behavior:"smooth",block:"center"}))}),[y,s]),t.useEffect((function(){"string"!=typeof h&&console.warn("wow"),"string"!=typeof h&&l.isUndefined(e.getValue)&&console.error("You must define the `getValue` prop, when an Item's value is not a string")}),[]);var b=v.item,C=b.children,I=b.dangerouslySetInnerHTML,x=p(b,S),O=l.omit(x,["groupId"]);return g?n.createElement(o.Flex,Object.assign({ref:d},F,O),C||n.createElement("span",{dangerouslySetInnerHTML:I})):null}));E.displayName="AutoCompleteItem";var F={mx:"2",px:"2",py:"2",rounded:"md",cursor:"pointer"},R=["alwaysDisplay","children"],D=["children"];function j(e){var t=e.alwaysDisplay,r=e.children,u=p(e,R),i=f(),a=i.autoCompleteProps,s=i.getItemProps,c=i.query,v=i.filteredResults,m=n.createElement("mark",null,c),g=s(d({},e,{value:c,children:l.runIfFn(r,{value:m})}),!0).item,h=g.children,y=p(g,D),b=v.some((function(e){return e.value===c})),C=!l.isEmpty(c)||t;return a.creatable&&C&&!b?n.createElement(o.Flex,Object.assign({},F,y,u),h||"Add "+c):null}j.displayName="AutoCompleteCreatable";var k=["children","showDivider"],L=o.forwardRef((function(e,t){var r=e.children,u=p(e,k),i=l.omit(u,["groupSibling"]),a=(0,f().getGroupProps)(e).group,s=M(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)))})),P=o.forwardRef((function(e,t){return n.createElement(o.Flex,Object.assign({},N,e,{ref:t}))}));L.displayName="AutoCompleteGroup",P.displayName="AutoCompleteGroupTitle";var N={ml:5,my:1,fontSize:"xs",letterSpacing:"wider",fontWeight:"extrabold",textTransform:"uppercase"},M=function(e){var t=f(),n=e.groupSibling,r=(0,t.getGroupProps)(e).divider,o=r.hasLastChild,l={my:2,borderColor:e.dividerColor};return{top:d({},l,{mb:4,display:!e.showDivider||r.hasFirstChild?"none":""}),bottom:d({},l,{display:!e.showDivider||o||n?"none":""})}},_=["children"],T=["ref"],V=o.forwardRef((function(e,t){var r=f(),u=r.autoCompleteProps,i=r.inputRef,a=r.tags,s=e.children,c=(0,r.getInputProps)(p(e,_),o.useMultiStyleConfig("Input",e)),d=c.wrapper,v=c.input,m=d.ref,g=p(d,T),h=o.useMergeRefs(t,i),y=l.runIfFn(s,{tags:a}),b=n.createElement(o.Input,Object.assign({},v,{ref:h})),C=n.createElement(o.Wrap,Object.assign({},g,{ref:m}),y,n.createElement(o.WrapItem,Object.assign({as:o.Input},v,{ref:h})));return n.createElement(n.Fragment,null,u.multiple?C:b)}));V.displayName="Input",V.id="Input";var B=function(e){var t=(0,f().getEmptyStateProps)(n.createElement(i.Flex,Object.assign({},q),"No options found!"));return n.createElement(i.Box,Object.assign({},e),t)},q={fontSize:"sm",align:"center",justify:"center",fontWeight:"bold",fontStyle:"italic"},G=["AutoCompleteGroup","AutoCompleteItem","AutoCompleteCreatable"],W=["children"],H=o.forwardRef((function(e,t){var r=e.children,l=p(e,W),u=f(),i=u.getListProps,a=o.useMergeRefs(t,u.listRef),s=i(),c=function(e){var t=n.Children.map(e,(function(t,r){var o;if("AutoCompleteGroup"===(null==t||null==(o=t.type)?void 0:o.displayName)){var l=n.Children.toArray(e)[r+1];return n.cloneElement(t,{groupSibling:!!l&&"AutoCompleteGroup"===l.type.displayName})}return t})),r=n.Children.toArray(t).filter((function(e){var t;return!G.includes(null==e||null==(t=e.type)?void 0:t.displayName)}));return[n.Children.toArray(t).filter((function(e){var t;return G.includes(null==e||null==(t=e.type)?void 0:t.displayName)})),r]}(r),d=c[0],v=c[1];return n.createElement(o.PopoverContent,Object.assign({ref:a},U,s,l),d,n.createElement(B,null),v)}));H.displayName="AutoCompleteList";var U={mt:"4",py:"4",opacity:"0",bg:"#232934",rounded:"md",maxH:"350px",border:"none",shadow:"base",pos:"absolute",zIndex:"popover",overflowY:"auto",_light:{bg:"#ffffff"},_focus:{boxShadow:"none"}},z=["label","onRemove","disabled"],K=t.memo((function(e){var t=e.label,r=e.onRemove,o=e.disabled,u=p(e,z);return n.createElement(i.WrapItem,null,n.createElement(a.Tag,Object.assign({borderRadius:"md",fontWeight:"normal"},o&&$,u),n.createElement(a.TagLabel,null,t),n.createElement(a.TagCloseButton,Object.assign({onClick:function(){return!o&&l.runIfFn(r)},cursor:"pointer"},o&&$))))})),$={cursor:"text",userSelect:"none",opacity:.4,_focus:{boxShadow:"none"}};exports.AutoComplete=A,exports.AutoCompleteCreatable=j,exports.AutoCompleteGroup=L,exports.AutoCompleteGroupTitle=P,exports.AutoCompleteInput=V,exports.AutoCompleteItem=E,exports.AutoCompleteList=H,exports.AutoCompleteProvider=c,exports.AutoCompleteTag=K,exports.baseItemStyles=F,exports.useAutoComplete=w,exports.useAutoCompleteContext=f;
|
|
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"),l=require("@chakra-ui/utils"),u=require("react-nanny"),i=require("@chakra-ui/layout"),a=require("@chakra-ui/tag"),s=r.createContext({name:"AutoCompleteContext",errorMessage:"useAutoCompleteContext: `context` is undefined. Seems you forgot to wrap all autoomplete components within `<AutoComplete />`"}),c=s[0],f=s[1];function d(){return(d=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 p(e,t){if(null==e)return{};var n,r,o={},l=Object.keys(e);for(r=0;r<l.length;r++)t.indexOf(n=l[r])>=0||(o[n]=e[n]);return o}function v(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 m(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,l=e.length<t.length?t:e,u=r(e.length<t.length?e:t,n),i=r(l,n),a=new Set(u),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 v(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)?v(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 g=function(e){var t;return null==(t="string"==typeof e?e:e[Object.keys(e)[0]])?void 0:t.toString()},h=function(e,t){return"string"!=typeof e||l.isEmpty(t)?e:e.toString().replace(new RegExp(t.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&"),"gi"),(function(e){return"<mark>"+e+"</mark>"}))},y=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||m(e,t)>=.5||m(e,n)>=.5},b=function(e,t){return d({},t&&d({},e.field,{_focusWithin:e.field._focus,pos:"relative",minH:9,py:1.5,spacing:3}),{cursor:"text",h:"fit-content"})},C=function(e,t){return u.getChildDeep(e,(function(e){var n;return"AutoCompleteItem"===(null==e||null==(n=e.type)?void 0:n.displayName)&&e.props.value===(null==t?void 0:t.value)}))},I=function(e,t){return u.getChildDeep(e,(function(e){var n;return"AutoCompleteItem"===(null==e||null==(n=e.type)?void 0:n.displayName)&&e.props.value===(null==t?void 0:t.value)}))},x=["onBlur","onChange","onFocus","onKeyDown","variant"],O=["_fixed","_focus","children","disabled","label","value","fixed","getValue","onClick","onMouseOver","sx"];function w(e){var n,r,i=e.closeOnBlur,a=void 0===i||i,s=e.closeOnSelect,c=e.creatable,f=e.emphasize,v=e.emptyState,m=void 0===v||v,w=e.freeSolo,A=e.isReadOnly,S=e.listAllValuesOnFocus,E=e.maxSuggestions,F=e.multiple,R=e.defaultValue,D=e.defaultValues,j=void 0===D?R?[R]:[]:D,k=e.onReady,L=e.defaultIsOpen,P=e.restoreOnBlurIfEmpty,N=void 0===P?!w:P,M=e.shouldRenderSuggestions,_=void 0===M?function(){return!0}:M,T=e.submitKeys,V=void 0===T?[]:T,B=e.suggestWhenEmpty,q=e.value,G=e.values,W=void 0===G?q?"string"==typeof q?[q]:[].concat(q):void 0:G;s=s||!F,w=w||!!F||e.freeSolo;var H=o.useDisclosure({defaultIsOpen:L}),U=H.isOpen,z=H.onClose,K=H.onOpen,$=l.runIfFn(e.children,{isOpen:U,onClose:z,onOpen:K}),Y=function(e){return u.getChildrenDeep(e,(function(e){var t;return"AutoCompleteItem"===(null==e||null==(t=e.type)?void 0:t.displayName)})).map((function(e){var t=l.pick(e.props,["value","label","fixed","disabled"]),n=e.props.getValue,r=(void 0===n?g:n)(t.value),o=l.isDefined(t.label)?t:d({},t,{label:r});return d({},o,{value:r,originalValue:t.value})}))}($),Q=t.useRef(null),J=t.useRef(null),X=t.useRef(null),Z=t.useRef(null),ee=t.useState(!1),te=ee[0],ne=ee[1],re="";F?re="":l.isUndefined(j)?l.isUndefined(W)||(re=W[0]):re=j[0];var oe=t.useState(null!=(n=re)?n:""),le=oe[0],ue=oe[1],ie=Y.filter((function(t){return t.fixed||l.runIfFn(e.filter||y,le,t.value,t.label)||te})).filter((function(e,t){return!E||e.fixed||t<E})),ae=[].concat(ie,c?[{value:le,noFilter:!0,creatable:!0}]:[]),se=o.useControllableState({defaultValue:j,value:W,onChange:function(t){var n=ae.find((function(e){return e.value===t[0]})),r=t.map((function(e){return ae.find((function(t){return t.value===e}))}));l.runIfFn(e.onChange,F?t:t[0],F?r:n)}}),ce=se[0],fe=se[1],de=t.useState(null==(r=Y[0])?void 0:r.value),pe=de[0],ve=de[1],me=e.maxSelections||ce.length+1,ge=ae.findIndex((function(e){return e.value===pe})),he=l.getNextItem(ge,ae,!!e.rollNavigation),ye=l.getPrevItem(ge,ae,!!e.rollNavigation),be=l.getFirstItem(ae),Ce=l.getLastItem(ae);o.useUpdateEffect((function(){ve(null==be?void 0:be.value)}),[le]),t.useEffect((function(){var e;U||ve(null==(e=Y[0])?void 0:e.value)}),[U]),t.useEffect((function(){var t=Y.find((function(e){return e.value===pe}));l.runIfFn(e.onOptionFocus,{item:t,focusMethod:Z.current,isNewInput:null==t?void 0:t.creatable})}),[pe,e.onOptionFocus]);var Ie=function(t){var n;!ce.includes(t)&&ce.length<me&&fe((function(e){return F?[].concat(e,[t]):[t]}));var r,o=ae.find((function(e){return e.value===t}));F&&(null==(r=Q.current)||r.focus()),e.focusInputOnSelect&&(null==(n=Q.current)||n.focus()),l.runIfFn(e.onSelectOption,{item:o,selectMethod:Z.current,isNewInput:null==o?void 0:o.creatable}),null!=o&&o.creatable&&l.runIfFn(e.onCreateOption,{item:l.omit(o,["noFilter"]),selectMethod:Z.current});var u=(null==o?void 0:o.label)||(null==o?void 0:o.value);ue((function(){return F?"":null!=u?u:""})),s&&z()},xe=function(t,n){var r;fe((function(n){var r=Y.find((function(e){return e.value===t}));return l.runIfFn(e.onTagRemoved,t,r,n),n.filter((function(e){return e!==t}))})),le===t&&ue(""),n&&(null==(r=Q.current)||r.focus())},Oe=F?ce.map((function(e){var t;return{label:(null==(t=Y.find((function(t){return t.value===e})))?void 0:t.label)||e,onRemove:function(){return xe(e)}}})):[];t.useEffect((function(){l.runIfFn(k,{tags:Oe})}),[ce]);var we=o.useDimensions(J,!0),Ae=o.useDimensions(Q,!0);return{autoCompleteProps:e,children:$,filteredList:ae,filteredResults:ie,focusedValue:pe,getEmptyStateProps:function(e){if(ae.every((function(e){return e.noFilter}))&&m&&!c)return"boolean"==typeof m?e:l.runIfFn(m,{query:le})},getGroupProps:function(e){var t=function(e,t){return l.isDefined(u.getChildDeep(e,(function(e){var n,r,o=l.runIfFn((null==(n=e.props)?void 0:n.getValue)||g,(null==(r=e.props)?void 0:r.value)||{});return t.some((function(e){return e.value===o}))})))}(e.children,ae);return{divider:{hasFirstChild:C(e.children,be),hasLastChild:I(e.children,l.getLastItem(ae.filter((function(e){return l.isUndefined(null==e?void 0:e.noFilter)}))))},group:{display:t?"initial":"none"}}},getInputProps:function(t,n){var r=t.onBlur,o=t.onChange,u=t.onFocus,i=t.onKeyDown,s=t.variant,c=p(t,x);return{wrapper:d({ref:J,onClick:function(){var e;null==Q||null==(e=Q.current)||e.focus()}},b(n,F),c),input:d({isReadOnly:A,onFocus:function(t){l.runIfFn(u,t),e.openOnFocus&&!A&&K(),e.selectOnFocus&&t.target.select(),S&&ne(!0)},onBlur:function(e){var t;l.runIfFn(r,e);var n=e.relatedTarget===(null==X?void 0:X.current),o=null==(t=J.current)?void 0:t.contains(e.relatedTarget);if(!n&&!o&&(a&&z(),!ce.includes(e.target.value)&&N)){var u=l.getLastItem(ce),i=Y.find((function(e){return e.value===u}));ue((null==i?void 0:i.label)||(null==i?void 0:i.value)||"")}},onChange:function(e){var t=e.target.value;l.runIfFn(o,e),ue(t);var n=l.isEmpty(t);!l.runIfFn(_,t)||n&&!B?z():K(),ne(!1)},onKeyDown:function(e){l.runIfFn(i,e),Z.current="keyboard";var t,n=e.key,r=ae[ge];return["Enter"].concat(V).includes(n)?(!r||null!=r&&r.disabled?null==(t=Q.current)||t.focus():Ie(null==r?void 0:r.value),void e.preventDefault()):"ArrowDown"===n?(ve(null==he?void 0:he.value),void e.preventDefault()):"ArrowUp"===n?(ve(null==ye?void 0:ye.value),void e.preventDefault()):"Tab"===n?(ve(null==he?void 0:he.value),void(U&&e.preventDefault())):"Home"===n?(ve(null==be?void 0:be.value),void e.preventDefault()):"End"===n?(ve(null==Ce?void 0:Ce.value),void e.preventDefault()):void("Escape"===n&&l.callAll(z,e.preventDefault))},value:le,variant:F?"unstyled":s},c)}},getItemProps:function(e,t){var n,r=e._fixed,o=e._focus,u=e.children,i=e.disabled,a=e.label,s=e.value,c=e.fixed,v=e.getValue,m=void 0===v?g:v,y=e.onClick,b=e.onMouseOver,C=e.sx,I=p(e,O),x=t?s:null==(n=m(s))?void 0:n.toString(),w=x===pe,A=ae.findIndex((function(e){return e.value===x}))>=0,S=u||a||x;return{item:d({},"string"==typeof S&&f?{dangerouslySetInnerHTML:{__html:h(S,le)}}:{children:S},{"aria-selected":ce.includes(x),"aria-disabled":i,_disabled:{opacity:.4,cursor:"not-allowed",userSelect:"none"},onClick:function(e){var t;l.runIfFn(y,e),i?null==(t=Q.current)||t.focus():Ie(x)},onMouseOver:function(e){l.runIfFn(b,e),ve(x),Z.current="mouse"},sx:d({},C,{mark:d({color:"inherit",bg:"transparent"},l.isObject(f)?f:{fontWeight:f?"extrabold":"inherit"})})},w&&(o||{bg:"whiteAlpha.100",_light:{bg:"gray.200"}}),c&&r,I),root:{isValidSuggestion:A,value:x}}},getListProps:function(){return{width:e.multiple?null==we?void 0:we.marginBox.width:null==Ae?void 0:Ae.marginBox.width}},inputRef:Q,interactionRef:Z,isOpen:U,itemList:Y,listRef:X,onClose:z,onOpen:K,query:le,removeItem:xe,resetItems:function(e){var t;fe([]),e&&(null==(t=Q.current)||t.focus())},setQuery:ue,tags:Oe,values:ce}}var A=o.forwardRef((function(e,r){var l=w(e),u=l.children,i=l.isOpen,a=l.onClose,s=l.onOpen,f=l.resetItems,d=l.removeItem;return t.useImperativeHandle(r,(function(){return{resetItems:f,removeItem:d}})),n.createElement(c,{value:l},n.createElement(o.Popover,{isLazy:!0,isOpen:i,onClose:a,onOpen:s,autoFocus:!1,placement:"bottom",closeOnBlur:!0},n.createElement(o.chakra.div,{sx:{".chakra-popover__popper":{position:"unset !important"}},w:"full",ref:r},u)))}));A.displayName="AutoComplete";var S=["children","dangerouslySetInnerHTML"],E=o.forwardRef((function(e,r){var u=f(),i=u.focusedValue,a=u.getItemProps,s=u.interactionRef,c=t.useRef(),d=o.useMergeRefs(r,c),v=a(e),m=v.root,g=m.isValidSuggestion,h=m.value,y=i===h;t.useEffect((function(){var e;y&&"keyboard"===s.current&&(null==c||null==(e=c.current)||e.scrollIntoView({behavior:"smooth",block:"center"}))}),[y,s]),t.useEffect((function(){"string"!=typeof h&&console.warn("wow"),"string"!=typeof h&&l.isUndefined(e.getValue)&&console.error("You must define the `getValue` prop, when an Item's value is not a string")}),[]);var b=v.item,C=b.children,I=b.dangerouslySetInnerHTML,x=p(b,S),O=l.omit(x,["groupId"]);return g?n.createElement(o.Flex,Object.assign({ref:d},F,O),C||n.createElement("span",{dangerouslySetInnerHTML:I})):null}));E.displayName="AutoCompleteItem";var F={mx:"2",px:"2",py:"2",rounded:"md",cursor:"pointer"},R=["alwaysDisplay","children"],D=["children"];function j(e){var t=e.alwaysDisplay,r=e.children,u=p(e,R),i=f(),a=i.autoCompleteProps,s=i.query,c=i.filteredResults,v=(0,i.getItemProps)(d({},e,{value:s,children:l.runIfFn(r,{value:s})}),!0).item,m=v.children,g=p(v,D),h=c.some((function(e){return e.value===s})),y=!l.isEmpty(s)||t;return a.creatable&&y&&!h?n.createElement(o.Flex,Object.assign({},F,g,u),m||"Add "+s):null}j.displayName="AutoCompleteCreatable";var k=["children","showDivider"],L=o.forwardRef((function(e,t){var r=e.children,u=p(e,k),i=l.omit(u,["groupSibling"]),a=(0,f().getGroupProps)(e).group,s=M(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)))})),P=o.forwardRef((function(e,t){return n.createElement(o.Flex,Object.assign({},N,e,{ref:t}))}));L.displayName="AutoCompleteGroup",P.displayName="AutoCompleteGroupTitle";var N={ml:5,my:1,fontSize:"xs",letterSpacing:"wider",fontWeight:"extrabold",textTransform:"uppercase"},M=function(e){var t=f(),n=e.groupSibling,r=(0,t.getGroupProps)(e).divider,o=r.hasLastChild,l={my:2,borderColor:e.dividerColor};return{top:d({},l,{mb:4,display:!e.showDivider||r.hasFirstChild?"none":""}),bottom:d({},l,{display:!e.showDivider||o||n?"none":""})}},_=["children"],T=["ref"],V=o.forwardRef((function(e,t){var r=f(),u=r.autoCompleteProps,i=r.inputRef,a=r.tags,s=e.children,c=(0,r.getInputProps)(p(e,_),o.useMultiStyleConfig("Input",e)),d=c.wrapper,v=c.input,m=d.ref,g=p(d,T),h=o.useMergeRefs(t,i),y=l.runIfFn(s,{tags:a}),b=n.createElement(o.Input,Object.assign({},v,{ref:h})),C=n.createElement(o.Wrap,Object.assign({},g,{ref:m}),y,n.createElement(o.WrapItem,Object.assign({as:o.Input},v,{ref:h})));return n.createElement(n.Fragment,null,u.multiple?C:b)}));V.displayName="Input",V.id="Input";var B=function(e){var t=(0,f().getEmptyStateProps)(n.createElement(i.Flex,Object.assign({},q),"No options found!"));return n.createElement(i.Box,Object.assign({},e),t)},q={fontSize:"sm",align:"center",justify:"center",fontWeight:"bold",fontStyle:"italic"},G=["AutoCompleteGroup","AutoCompleteItem","AutoCompleteCreatable"],W=["children"],H=o.forwardRef((function(e,t){var r=e.children,l=p(e,W),u=f(),i=u.getListProps,a=o.useMergeRefs(t,u.listRef),s=i(),c=function(e){var t=n.Children.map(e,(function(t,r){var o;if("AutoCompleteGroup"===(null==t||null==(o=t.type)?void 0:o.displayName)){var l=n.Children.toArray(e)[r+1];return n.cloneElement(t,{groupSibling:!!l&&"AutoCompleteGroup"===l.type.displayName})}return t})),r=n.Children.toArray(t).filter((function(e){var t;return!G.includes(null==e||null==(t=e.type)?void 0:t.displayName)}));return[n.Children.toArray(t).filter((function(e){var t;return G.includes(null==e||null==(t=e.type)?void 0:t.displayName)})),r]}(r),d=c[0],v=c[1];return n.createElement(o.PopoverContent,Object.assign({ref:a},U,s,l),d,n.createElement(B,null),v)}));H.displayName="AutoCompleteList";var U={mt:"4",py:"4",opacity:"0",bg:"#232934",rounded:"md",maxH:"350px",border:"none",shadow:"base",pos:"absolute",zIndex:"popover",overflowY:"auto",_light:{bg:"#ffffff"},_focus:{boxShadow:"none"}},z=["label","onRemove","disabled"],K=t.memo((function(e){var t=e.label,r=e.onRemove,o=e.disabled,u=p(e,z);return n.createElement(i.WrapItem,null,n.createElement(a.Tag,Object.assign({borderRadius:"md",fontWeight:"normal"},o&&$,u),n.createElement(a.TagLabel,null,t),n.createElement(a.TagCloseButton,Object.assign({onClick:function(){return!o&&l.runIfFn(r)},cursor:"pointer"},o&&$))))})),$={cursor:"text",userSelect:"none",opacity:.4,_focus:{boxShadow:"none"}};exports.AutoComplete=A,exports.AutoCompleteCreatable=j,exports.AutoCompleteGroup=L,exports.AutoCompleteGroupTitle=P,exports.AutoCompleteInput=V,exports.AutoCompleteItem=E,exports.AutoCompleteList=H,exports.AutoCompleteProvider=c,exports.AutoCompleteTag=K,exports.baseItemStyles=F,exports.useAutoComplete=w,exports.useAutoCompleteContext=f;
|
|
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/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 autoomplete 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 { getChildrenDeep } from \"react-nanny\";\nimport { pick, isDefined, isEmpty } from \"@chakra-ui/utils\";\nimport { ReactNode } from \"react\";\nimport { FlexProps } from \"@chakra-ui/react\";\nimport { fuzzyScore } from \"./fuzzySearch\";\nimport { Item } from \"../types\";\nimport { AutoCompleteItemProps } from \"../autocomplete-item\";\n\nexport const getDefItemValue = (item: AutoCompleteItemProps[\"value\"]) =>\n (typeof item === \"string\" ? item : item[Object.keys(item)[0]])?.toString();\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 getItemList = (children: ReactNode): Item[] => {\n const itemChildren = getChildrenDeep(\n children,\n (child: any) => child?.type?.displayName === \"AutoCompleteItem\"\n );\n\n return itemChildren.map(item => {\n const itemObj = pick(item.props, [\"value\", \"label\", \"fixed\", \"disabled\"]);\n const { getValue = getDefItemValue } = item.props;\n const value = getValue(itemObj.value);\n const finObj = isDefined(itemObj.label)\n ? itemObj\n : { ...itemObj, label: value };\n return { ...finObj, value, originalValue: itemObj.value };\n });\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, runIfFn } from \"@chakra-ui/utils\";\nimport { getChildDeep } from \"react-nanny\";\nimport { ReactNode } from \"react\";\nimport { getDefItemValue } from \"./items\";\n\nexport const hasFirstItem = (children: ReactNode, firstItem: any) => {\n const result = getChildDeep(\n children,\n (child: any) =>\n child?.type?.displayName === \"AutoCompleteItem\" &&\n child.props.value === firstItem?.value\n );\n\n return result;\n};\nexport const hasLastItem = (children: ReactNode, lastItem: any) => {\n const result = getChildDeep(\n children,\n (child: any) =>\n child?.type?.displayName === \"AutoCompleteItem\" &&\n child.props.value === lastItem?.value\n );\n return result;\n};\n\nexport const hasChildren = (children: any, filteredList: any[]) => {\n return isDefined(\n getChildDeep(children, (child: any) => {\n const value = runIfFn(\n child.props?.getValue || getDefItemValue,\n child.props?.value || {}\n );\n return filteredList.some(i => i.value === value);\n })\n );\n};\n","import {\n useDimensions,\n useDisclosure,\n useUpdateEffect,\n useControllableState,\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 { omit } from \"@chakra-ui/utils\";\n\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { AutoCompleteProps } from \"./autocomplete\";\nimport {\n defaultFilterMethod,\n getDefItemValue,\n getFocusedStyles,\n getItemList,\n setEmphasis,\n} from \"./helpers/items\";\nimport { getMultipleWrapStyles } from \"./helpers/input\";\nimport { hasChildren, hasFirstItem, hasLastItem } from \"./helpers/group\";\nimport { Item, UseAutoCompleteReturn } from \"./types\";\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 emphasize,\n emptyState = true,\n freeSolo,\n isReadOnly,\n listAllValuesOnFocus,\n maxSuggestions,\n multiple,\n defaultValue,\n defaultValues = defaultValue ? [defaultValue] : [],\n onReady,\n defaultIsOpen,\n restoreOnBlurIfEmpty = !freeSolo,\n shouldRenderSuggestions = () => true,\n submitKeys = [],\n suggestWhenEmpty,\n value,\n values: valuesProp = value\n ? typeof value === \"string\"\n ? [value]\n : [...value]\n : undefined,\n } = autoCompleteProps;\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 children = runIfFn(autoCompleteProps.children, {\n isOpen,\n onClose,\n onOpen,\n });\n const itemList: Item[] = getItemList(children);\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 [listAll, setListAll] = useState(false);\n\n let defaultQuery = \"\";\n if (multiple) defaultQuery = \"\";\n else if (!isUndefined(defaultValues)) defaultQuery = defaultValues[0];\n else if (!isUndefined(valuesProp)) defaultQuery = valuesProp[0];\n\n const [query, setQuery] = useState<string>(defaultQuery ?? \"\");\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((i, index) => (maxSuggestions ? i.fixed || index < maxSuggestions : true));\n\n // Add Creatable to Filtered List\n const creatableArr: Item[] = creatable\n ? [{ value: query, noFilter: true, creatable: true }]\n : [];\n\n const filteredList = [...filteredResults, ...creatableArr];\n const [values, setValues] = useControllableState({\n defaultValue: defaultValues,\n value: valuesProp,\n onChange: (newValues: any[]) => {\n const item = filteredList.find(opt => opt.value === newValues[0]);\n const items = newValues.map(val =>\n filteredList.find(opt => opt.value === val)\n );\n runIfFn(\n autoCompleteProps.onChange,\n multiple ? newValues : newValues[0],\n multiple ? items : item\n );\n },\n });\n\n const [focusedValue, setFocusedValue] = useState<Item[\"value\"]>(\n itemList[0]?.value\n );\n\n const maxSelections = autoCompleteProps.maxSelections || values.length + 1;\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 if (!isOpen) setFocusedValue(itemList[0]?.value);\n }, [isOpen]);\n\n useEffect(() => {\n const focusedItem = itemList.find(i => i.value === focusedValue);\n runIfFn(autoCompleteProps.onOptionFocus, {\n item: focusedItem!,\n focusMethod: interactionRef.current,\n isNewInput: focusedItem?.creatable,\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\n const option = filteredList.find(i => i.value === optionValue);\n\n if (multiple) {\n inputRef.current?.focus();\n }\n if (autoCompleteProps.focusInputOnSelect) inputRef.current?.focus();\n runIfFn(autoCompleteProps.onSelectOption, {\n item: option!,\n selectMethod: interactionRef.current,\n isNewInput: option?.creatable,\n });\n if (option?.creatable) {\n runIfFn(autoCompleteProps.onCreateOption, {\n item: omit(option!, [\"noFilter\"]),\n selectMethod: interactionRef.current,\n });\n }\n\n const optionLabel = option?.label || option?.value;\n setQuery(() => (multiple ? \"\" : optionLabel ?? \"\"));\n\n if (closeOnSelect) onClose();\n };\n\n const removeItem: UseAutoCompleteReturn[\"removeItem\"] = (\n itemValue,\n focusInput\n ) => {\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 if (focusInput) inputRef.current?.focus();\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 useEffect(() => {\n runIfFn(onReady, { tags });\n }, [values]);\n\n const getInputProps: UseAutoCompleteReturn[\"getInputProps\"] = (\n props,\n themeInput\n ) => {\n const { onBlur, onChange, onFocus, onKeyDown, variant, ...rest } = props;\n\n return {\n wrapper: {\n ref: inputWrapperRef,\n onClick: () => {\n inputRef?.current?.focus();\n },\n ...getMultipleWrapStyles(themeInput, multiple),\n ...rest,\n },\n input: {\n isReadOnly,\n onFocus: e => {\n runIfFn(onFocus, e);\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, e);\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) && restoreOnBlurIfEmpty) {\n const latestValue = getLastItem(values);\n const latestValueItem = itemList.find(\n i => i.value === latestValue\n );\n const latestValueLabel =\n latestValueItem?.label || latestValueItem?.value || \"\";\n setQuery(latestValueLabel);\n }\n }\n },\n onChange: e => {\n const newValue = e.target.value;\n runIfFn(onChange, e);\n setQuery(newValue);\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 ([\"Enter\", ...submitKeys].includes(key)) {\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\n if (isOpen) {\n if (focusedItem.value === lastItem?.value) {\n console.log(\"last\");\n }\n e.preventDefault();\n }\n\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 wrapperDim = useDimensions(inputWrapperRef, true);\n const inputDim = useDimensions(inputRef, true);\n const getListProps: UseAutoCompleteReturn[\"getListProps\"] = () => {\n const width = autoCompleteProps.multiple\n ? (wrapperDim?.marginBox.width as number)\n : (inputDim?.marginBox.width as number);\n return {\n width,\n };\n };\n\n const getItemProps: UseAutoCompleteReturn[\"getItemProps\"] = (\n props,\n creatable\n ) => {\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 = creatable ? valueProp : 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 value,\n },\n };\n };\n\n const getGroupProps: UseAutoCompleteReturn[\"getGroupProps\"] = props => {\n const hasItems = hasChildren(props.children, filteredList);\n return {\n divider: {\n hasFirstChild: hasFirstItem(props.children, firstItem),\n hasLastChild: hasLastItem(\n props.children,\n getLastItem(filteredList.filter(i => isUndefined(i?.noFilter)))\n ),\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 removeItem,\n resetItems,\n setQuery,\n tags,\n values,\n };\n}\n","import React, { useImperativeHandle } from \"react\";\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\";\n\nimport { AutoCompleteProvider } from \"./autocomplete-context\";\nimport { useAutoComplete } from \"./use-autocomplete\";\nimport { chakra, forwardRef, Popover } from \"@chakra-ui/react\";\nimport { AutoCompleteRefMethods, UseAutoCompleteProps } from \"./types\";\n\nexport type AutoCompleteChildProps = {\n isOpen: boolean;\n onClose: () => void;\n onOpen: () => void;\n};\nexport interface AutoCompleteProps extends UseAutoCompleteProps {\n children: MaybeRenderProp<AutoCompleteChildProps>;\n ref?: React.RefObject<AutoCompleteRefMethods>;\n}\n\nexport const AutoComplete = forwardRef<AutoCompleteProps, \"div\">(\n (props, ref) => {\n const context = useAutoComplete(props);\n const {\n children,\n isOpen,\n onClose,\n onOpen,\n resetItems,\n removeItem,\n } = context;\n\n useImperativeHandle(ref, () => ({\n resetItems,\n removeItem,\n }));\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 } 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}\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, 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 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 rounded: \"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 alwaysDisplay?: boolean;\n}\n\nexport function AutoCompleteCreatable(props: AutoCompleteCreatableProps) {\n const { alwaysDisplay, 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 {\n ...props,\n value: query,\n children: runIfFn(childrenProp, {\n value: queryValue,\n }),\n },\n true\n ).item;\n\n const queryExistsInList = filteredResults.some(i => i.value === query);\n const showWhenEmpty = isEmpty(query) ? alwaysDisplay : true;\n const showCreatable =\n autoCompleteProps.creatable && showWhenEmpty && !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 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 autoCompleteProps,\n inputRef,\n getInputProps,\n tags,\n } = useAutoCompleteContext();\n\n // const ref = useMergeRefs(forwardedRef, inputRef);\n\n const { children: childrenProp, ...rest } = props;\n\n const themeInput: any = useMultiStyleConfig(\"Input\", props);\n\n const { wrapper, input: inputProps } = getInputProps(rest, themeInput);\n const { ref: wrapperRef, ...wrapperProps } = wrapper;\n const ref = useMergeRefs(forwardedRef, inputRef);\n\n const children = runIfFn(childrenProp, { tags });\n\n const simpleInput = <Input {...(inputProps as any)} ref={ref} />;\n\n const multipleInput = (\n <Wrap {...wrapperProps} ref={wrapperRef}>\n {children}\n <WrapItem as={Input} {...(inputProps as any)} ref={ref} />\n </Wrap>\n );\n\n return <>{autoCompleteProps.multiple ? multipleInput : simpleInput}</>;\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\nconst VALID_AUTOCOMPLETE_LIST_CHILDREN = [\n \"AutoCompleteGroup\",\n \"AutoCompleteItem\",\n \"AutoCompleteCreatable\",\n];\n\nexport const siblingInfo = (children: React.ReactNode) => {\n const items = 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 }) as React.ReactNode;\n\n const nonAutocompleteItems = React.Children.toArray(items).filter(\n (child: any) => {\n return !VALID_AUTOCOMPLETE_LIST_CHILDREN.includes(\n child?.type?.displayName\n );\n }\n );\n\n const autoCompleteItems = React.Children.toArray(items).filter(\n (child: any) => {\n return VALID_AUTOCOMPLETE_LIST_CHILDREN.includes(\n child?.type?.displayName\n );\n }\n );\n\n return [autoCompleteItems, nonAutocompleteItems] as const;\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 const [autoCompleteItems, nonAutoCompleteItems] = siblingInfo(children);\n\n return (\n <PopoverContent ref={ref} {...baseStyles} {...listProps} {...rest}>\n {autoCompleteItems}\n <EmptyState />\n {nonAutoCompleteItems}\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 rounded: \"md\",\n maxH: \"350px\",\n border: \"none\",\n shadow: \"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","s2","pairs1","pairs2","set","Set","total","hits","getDefItemValue","item","Object","keys","_ref","toString","setEmphasis","children","query","isEmpty","replace","RegExp","match","defaultFilterMethod","itemValue","itemLabel","indexOf","getMultipleWrapStyles","themeInput","multiple","field","_focusWithin","_focus","pos","minH","py","spacing","cursor","h","hasFirstItem","firstItem","getChildDeep","child","type","displayName","props","value","hasLastItem","lastItem","useAutoComplete","autoCompleteProps","closeOnBlur","closeOnSelect","creatable","emphasize","emptyState","freeSolo","isReadOnly","listAllValuesOnFocus","maxSuggestions","defaultValue","defaultValues","onReady","defaultIsOpen","restoreOnBlurIfEmpty","shouldRenderSuggestions","submitKeys","suggestWhenEmpty","values","valuesProp","undefined","useDisclosure","isOpen","onClose","onOpen","runIfFn","itemList","getChildrenDeep","map","itemObj","pick","getValue","finObj","isDefined","label","originalValue","getItemList","inputRef","useRef","inputWrapperRef","listRef","interactionRef","useState","listAll","setListAll","defaultQuery","isUndefined","setQuery","filteredResults","filter","fixed","index","filteredList","noFilter","useControllableState","onChange","newValues","find","opt","items","val","setValues","_itemList$","focusedValue","setFocusedValue","maxSelections","focusedIndex","findIndex","nextItem","getNextItem","rollNavigation","prevItem","getPrevItem","getFirstItem","getLastItem","useUpdateEffect","useEffect","_itemList$2","focusedItem","onOptionFocus","focusMethod","current","isNewInput","selectItem","optionValue","includes","option","focus","focusInputOnSelect","onSelectOption","selectMethod","onCreateOption","omit","optionLabel","removeItem","focusInput","prevValues","onTagRemoved","tags","tag","onRemove","wrapperDim","useDimensions","inputDim","getEmptyStateProps","defaultEmptyState","every","getGroupProps","hasItems","some","hasChildren","divider","hasFirstChild","hasLastChild","group","display","getInputProps","onBlur","onFocus","onKeyDown","variant","rest","wrapper","ref","onClick","input","e","openOnFocus","selectOnFocus","target","select","listIsFocused","relatedTarget","inputWrapperIsFocused","_inputWrapperRef$curr","contains","latestValue","latestValueItem","newValue","queryIsEmpty","key","disabled","preventDefault","console","log","callAll","getItemProps","_fixed","itemChild","valueProp","onMouseOver","sx","_getValue","isFocused","isValidSuggestion","dangerouslySetInnerHTML","__html","_disabled","opacity","userSelect","mark","color","bg","isObject","fontWeight","_light","root","getListProps","width","marginBox","resetItems","AutoComplete","forwardRef","context","useImperativeHandle","React","Popover","isLazy","autoFocus","placement","chakra","div","position","w","AutoCompleteItem","forwardedRef","itemRef","useMergeRefs","itemProps","scrollIntoView","behavior","block","warn","error","restProps","Flex","baseItemStyles","mx","px","rounded","AutoCompleteCreatable","alwaysDisplay","childrenProp","queryValue","queryExistsInList","showWhenEmpty","AutoCompleteGroup","dividerStyles","useDividerStyles","Box","Divider","top","bottom","AutoCompleteGroupTitle","baseTitleStyles","ml","my","fontSize","letterSpacing","textTransform","hasGroupSibling","groupSibling","baseStyles","borderColor","dividerColor","mb","showDivider","AutoCompleteInput","useMultiStyleConfig","inputProps","wrapperRef","wrapperProps","simpleInput","Input","multipleInput","Wrap","WrapItem","as","id","EmptyState","emptyStyles","align","justify","fontStyle","VALID_AUTOCOMPLETE_LIST_CHILDREN","AutoCompleteList","listProps","Children","sibling","toArray","cloneElement","nonAutocompleteItems","_child$type2","_child$type3","siblingInfo","autoCompleteItems","nonAutoCompleteItems","PopoverContent","mt","maxH","border","shadow","zIndex","overflowY","boxShadow","AutoCompleteTag","memo","Tag","borderRadius","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/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 autoomplete 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 { getChildrenDeep } from \"react-nanny\";\nimport { pick, isDefined, isEmpty } from \"@chakra-ui/utils\";\nimport { ReactNode } from \"react\";\nimport { FlexProps } from \"@chakra-ui/react\";\nimport { fuzzyScore } from \"./fuzzySearch\";\nimport { Item } from \"../types\";\nimport { AutoCompleteItemProps } from \"../autocomplete-item\";\n\nexport const getDefItemValue = (item: AutoCompleteItemProps[\"value\"]) =>\n (typeof item === \"string\" ? item : item[Object.keys(item)[0]])?.toString();\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 getItemList = (children: ReactNode): Item[] => {\n const itemChildren = getChildrenDeep(\n children,\n (child: any) => child?.type?.displayName === \"AutoCompleteItem\"\n );\n\n return itemChildren.map(item => {\n const itemObj = pick(item.props, [\"value\", \"label\", \"fixed\", \"disabled\"]);\n const { getValue = getDefItemValue } = item.props;\n const value = getValue(itemObj.value);\n const finObj = isDefined(itemObj.label)\n ? itemObj\n : { ...itemObj, label: value };\n return { ...finObj, value, originalValue: itemObj.value };\n });\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, runIfFn } from \"@chakra-ui/utils\";\nimport { getChildDeep } from \"react-nanny\";\nimport { ReactNode } from \"react\";\nimport { getDefItemValue } from \"./items\";\n\nexport const hasFirstItem = (children: ReactNode, firstItem: any) => {\n const result = getChildDeep(\n children,\n (child: any) =>\n child?.type?.displayName === \"AutoCompleteItem\" &&\n child.props.value === firstItem?.value\n );\n\n return result;\n};\nexport const hasLastItem = (children: ReactNode, lastItem: any) => {\n const result = getChildDeep(\n children,\n (child: any) =>\n child?.type?.displayName === \"AutoCompleteItem\" &&\n child.props.value === lastItem?.value\n );\n return result;\n};\n\nexport const hasChildren = (children: any, filteredList: any[]) => {\n return isDefined(\n getChildDeep(children, (child: any) => {\n const value = runIfFn(\n child.props?.getValue || getDefItemValue,\n child.props?.value || {}\n );\n return filteredList.some(i => i.value === value);\n })\n );\n};\n","import {\n useDimensions,\n useDisclosure,\n useUpdateEffect,\n useControllableState,\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 { omit } from \"@chakra-ui/utils\";\n\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { AutoCompleteProps } from \"./autocomplete\";\nimport {\n defaultFilterMethod,\n getDefItemValue,\n getFocusedStyles,\n getItemList,\n setEmphasis,\n} from \"./helpers/items\";\nimport { getMultipleWrapStyles } from \"./helpers/input\";\nimport { hasChildren, hasFirstItem, hasLastItem } from \"./helpers/group\";\nimport { Item, UseAutoCompleteReturn } from \"./types\";\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 emphasize,\n emptyState = true,\n freeSolo,\n isReadOnly,\n listAllValuesOnFocus,\n maxSuggestions,\n multiple,\n defaultValue,\n defaultValues = defaultValue ? [defaultValue] : [],\n onReady,\n defaultIsOpen,\n restoreOnBlurIfEmpty = !freeSolo,\n shouldRenderSuggestions = () => true,\n submitKeys = [],\n suggestWhenEmpty,\n value,\n values: valuesProp = value\n ? typeof value === \"string\"\n ? [value]\n : [...value]\n : undefined,\n } = autoCompleteProps;\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 children = runIfFn(autoCompleteProps.children, {\n isOpen,\n onClose,\n onOpen,\n });\n const itemList: Item[] = getItemList(children);\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 [listAll, setListAll] = useState(false);\n\n let defaultQuery = \"\";\n if (multiple) defaultQuery = \"\";\n else if (!isUndefined(defaultValues)) defaultQuery = defaultValues[0];\n else if (!isUndefined(valuesProp)) defaultQuery = valuesProp[0];\n\n const [query, setQuery] = useState<string>(defaultQuery ?? \"\");\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((i, index) =>\n maxSuggestions ? i.fixed || index < maxSuggestions : true\n );\n\n // Add Creatable to Filtered List\n const creatableArr: Item[] = creatable\n ? [{ value: query, noFilter: true, creatable: true }]\n : [];\n\n const filteredList = [...filteredResults, ...creatableArr];\n const [values, setValues] = useControllableState({\n defaultValue: defaultValues,\n value: valuesProp,\n onChange: (newValues: any[]) => {\n const item = filteredList.find(opt => opt.value === newValues[0]);\n const items = newValues.map(val =>\n filteredList.find(opt => opt.value === val)\n );\n runIfFn(\n autoCompleteProps.onChange,\n multiple ? newValues : newValues[0],\n multiple ? items : item\n );\n },\n });\n\n const [focusedValue, setFocusedValue] = useState<Item[\"value\"]>(\n itemList[0]?.value\n );\n\n const maxSelections = autoCompleteProps.maxSelections || values.length + 1;\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 if (!isOpen) setFocusedValue(itemList[0]?.value);\n }, [isOpen]);\n\n useEffect(() => {\n const focusedItem = itemList.find(i => i.value === focusedValue);\n runIfFn(autoCompleteProps.onOptionFocus, {\n item: focusedItem!,\n focusMethod: interactionRef.current,\n isNewInput: focusedItem?.creatable,\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\n const option = filteredList.find(i => i.value === optionValue);\n\n if (multiple) {\n inputRef.current?.focus();\n }\n if (autoCompleteProps.focusInputOnSelect) inputRef.current?.focus();\n runIfFn(autoCompleteProps.onSelectOption, {\n item: option!,\n selectMethod: interactionRef.current,\n isNewInput: option?.creatable,\n });\n if (option?.creatable) {\n runIfFn(autoCompleteProps.onCreateOption, {\n item: omit(option!, [\"noFilter\"]),\n selectMethod: interactionRef.current,\n });\n }\n\n const optionLabel = option?.label || option?.value;\n setQuery(() => (multiple ? \"\" : optionLabel ?? \"\"));\n\n if (closeOnSelect) onClose();\n };\n\n const removeItem: UseAutoCompleteReturn[\"removeItem\"] = (\n itemValue,\n focusInput\n ) => {\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 if (focusInput) inputRef.current?.focus();\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 useEffect(() => {\n runIfFn(onReady, { tags });\n }, [values]);\n\n const getInputProps: UseAutoCompleteReturn[\"getInputProps\"] = (\n props,\n themeInput\n ) => {\n const { onBlur, onChange, onFocus, onKeyDown, variant, ...rest } = props;\n\n return {\n wrapper: {\n ref: inputWrapperRef,\n onClick: () => {\n inputRef?.current?.focus();\n },\n ...getMultipleWrapStyles(themeInput, multiple),\n ...rest,\n },\n input: {\n isReadOnly,\n onFocus: e => {\n runIfFn(onFocus, e);\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, e);\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) && restoreOnBlurIfEmpty) {\n const latestValue = getLastItem(values);\n const latestValueItem = itemList.find(\n i => i.value === latestValue\n );\n const latestValueLabel =\n latestValueItem?.label || latestValueItem?.value || \"\";\n setQuery(latestValueLabel);\n }\n }\n },\n onChange: e => {\n const newValue = e.target.value;\n runIfFn(onChange, e);\n setQuery(newValue);\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 ([\"Enter\", ...submitKeys].includes(key)) {\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\n if (isOpen) {\n e.preventDefault();\n }\n\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 wrapperDim = useDimensions(inputWrapperRef, true);\n const inputDim = useDimensions(inputRef, true);\n const getListProps: UseAutoCompleteReturn[\"getListProps\"] = () => {\n const width = autoCompleteProps.multiple\n ? (wrapperDim?.marginBox.width as number)\n : (inputDim?.marginBox.width as number);\n return {\n width,\n };\n };\n\n const getItemProps: UseAutoCompleteReturn[\"getItemProps\"] = (\n props,\n creatable\n ) => {\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 = creatable ? valueProp : 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 value,\n },\n };\n };\n\n const getGroupProps: UseAutoCompleteReturn[\"getGroupProps\"] = props => {\n const hasItems = hasChildren(props.children, filteredList);\n return {\n divider: {\n hasFirstChild: hasFirstItem(props.children, firstItem),\n hasLastChild: hasLastItem(\n props.children,\n getLastItem(filteredList.filter(i => isUndefined(i?.noFilter)))\n ),\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 removeItem,\n resetItems,\n setQuery,\n tags,\n values,\n };\n}\n","import React, { useImperativeHandle } from \"react\";\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\";\n\nimport { AutoCompleteProvider } from \"./autocomplete-context\";\nimport { useAutoComplete } from \"./use-autocomplete\";\nimport { chakra, forwardRef, Popover } from \"@chakra-ui/react\";\nimport { AutoCompleteRefMethods, UseAutoCompleteProps } from \"./types\";\n\nexport type AutoCompleteChildProps = {\n isOpen: boolean;\n onClose: () => void;\n onOpen: () => void;\n};\nexport interface AutoCompleteProps extends UseAutoCompleteProps {\n children: MaybeRenderProp<AutoCompleteChildProps>;\n ref?: React.RefObject<AutoCompleteRefMethods>;\n}\n\nexport const AutoComplete = forwardRef<AutoCompleteProps, \"div\">(\n (props, ref) => {\n const context = useAutoComplete(props);\n const {\n children,\n isOpen,\n onClose,\n onOpen,\n resetItems,\n removeItem,\n } = context;\n\n useImperativeHandle(ref, () => ({\n resetItems,\n removeItem,\n }));\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 } 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}\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, 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 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 rounded: \"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 alwaysDisplay?: boolean;\n}\n\nexport function AutoCompleteCreatable(props: AutoCompleteCreatableProps) {\n const { alwaysDisplay, children: childrenProp, ...rest } = props;\n const {\n autoCompleteProps,\n getItemProps,\n query,\n filteredResults,\n } = useAutoCompleteContext();\n\n const { children, ...itemProps } = getItemProps(\n {\n ...props,\n value: query,\n children: runIfFn(childrenProp, {\n value: query,\n }),\n },\n true\n ).item;\n\n const queryExistsInList = filteredResults.some(i => i.value === query);\n const showWhenEmpty = isEmpty(query) ? alwaysDisplay : true;\n const showCreatable =\n autoCompleteProps.creatable && showWhenEmpty && !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 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 autoCompleteProps,\n inputRef,\n getInputProps,\n tags,\n } = useAutoCompleteContext();\n\n // const ref = useMergeRefs(forwardedRef, inputRef);\n\n const { children: childrenProp, ...rest } = props;\n\n const themeInput: any = useMultiStyleConfig(\"Input\", props);\n\n const { wrapper, input: inputProps } = getInputProps(rest, themeInput);\n const { ref: wrapperRef, ...wrapperProps } = wrapper;\n const ref = useMergeRefs(forwardedRef, inputRef);\n\n const children = runIfFn(childrenProp, { tags });\n\n const simpleInput = <Input {...(inputProps as any)} ref={ref} />;\n\n const multipleInput = (\n <Wrap {...wrapperProps} ref={wrapperRef}>\n {children}\n <WrapItem as={Input} {...(inputProps as any)} ref={ref} />\n </Wrap>\n );\n\n return <>{autoCompleteProps.multiple ? multipleInput : simpleInput}</>;\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\nconst VALID_AUTOCOMPLETE_LIST_CHILDREN = [\n \"AutoCompleteGroup\",\n \"AutoCompleteItem\",\n \"AutoCompleteCreatable\",\n];\n\nexport const siblingInfo = (children: React.ReactNode) => {\n const items = 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 }) as React.ReactNode;\n\n const nonAutocompleteItems = React.Children.toArray(items).filter(\n (child: any) => {\n return !VALID_AUTOCOMPLETE_LIST_CHILDREN.includes(\n child?.type?.displayName\n );\n }\n );\n\n const autoCompleteItems = React.Children.toArray(items).filter(\n (child: any) => {\n return VALID_AUTOCOMPLETE_LIST_CHILDREN.includes(\n child?.type?.displayName\n );\n }\n );\n\n return [autoCompleteItems, nonAutocompleteItems] as const;\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 const [autoCompleteItems, nonAutoCompleteItems] = siblingInfo(children);\n\n return (\n <PopoverContent ref={ref} {...baseStyles} {...listProps} {...rest}>\n {autoCompleteItems}\n <EmptyState />\n {nonAutoCompleteItems}\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 rounded: \"md\",\n maxH: \"350px\",\n border: \"none\",\n shadow: \"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","s2","pairs1","pairs2","set","Set","total","hits","getDefItemValue","item","Object","keys","_ref","toString","setEmphasis","children","query","isEmpty","replace","RegExp","match","defaultFilterMethod","itemValue","itemLabel","indexOf","getMultipleWrapStyles","themeInput","multiple","field","_focusWithin","_focus","pos","minH","py","spacing","cursor","h","hasFirstItem","firstItem","getChildDeep","child","type","displayName","props","value","hasLastItem","lastItem","useAutoComplete","autoCompleteProps","closeOnBlur","closeOnSelect","creatable","emphasize","emptyState","freeSolo","isReadOnly","listAllValuesOnFocus","maxSuggestions","defaultValue","defaultValues","onReady","defaultIsOpen","restoreOnBlurIfEmpty","shouldRenderSuggestions","submitKeys","suggestWhenEmpty","values","valuesProp","undefined","useDisclosure","isOpen","onClose","onOpen","runIfFn","itemList","getChildrenDeep","map","itemObj","pick","getValue","finObj","isDefined","label","originalValue","getItemList","inputRef","useRef","inputWrapperRef","listRef","interactionRef","useState","listAll","setListAll","defaultQuery","isUndefined","setQuery","filteredResults","filter","fixed","index","filteredList","noFilter","useControllableState","onChange","newValues","find","opt","items","val","setValues","_itemList$","focusedValue","setFocusedValue","maxSelections","focusedIndex","findIndex","nextItem","getNextItem","rollNavigation","prevItem","getPrevItem","getFirstItem","getLastItem","useUpdateEffect","useEffect","_itemList$2","focusedItem","onOptionFocus","focusMethod","current","isNewInput","selectItem","optionValue","includes","option","focus","focusInputOnSelect","onSelectOption","selectMethod","onCreateOption","omit","optionLabel","removeItem","focusInput","prevValues","onTagRemoved","tags","tag","onRemove","wrapperDim","useDimensions","inputDim","getEmptyStateProps","defaultEmptyState","every","getGroupProps","hasItems","some","hasChildren","divider","hasFirstChild","hasLastChild","group","display","getInputProps","onBlur","onFocus","onKeyDown","variant","rest","wrapper","ref","onClick","input","e","openOnFocus","selectOnFocus","target","select","listIsFocused","relatedTarget","inputWrapperIsFocused","_inputWrapperRef$curr","contains","latestValue","latestValueItem","newValue","queryIsEmpty","key","disabled","preventDefault","callAll","getItemProps","_fixed","itemChild","valueProp","onMouseOver","sx","_getValue","isFocused","isValidSuggestion","dangerouslySetInnerHTML","__html","_disabled","opacity","userSelect","mark","color","bg","isObject","fontWeight","_light","root","getListProps","width","marginBox","resetItems","AutoComplete","forwardRef","context","useImperativeHandle","React","Popover","isLazy","autoFocus","placement","chakra","div","position","w","AutoCompleteItem","forwardedRef","itemRef","useMergeRefs","itemProps","scrollIntoView","behavior","block","console","warn","error","restProps","Flex","baseItemStyles","mx","px","rounded","AutoCompleteCreatable","alwaysDisplay","childrenProp","queryExistsInList","showWhenEmpty","AutoCompleteGroup","dividerStyles","useDividerStyles","Box","Divider","top","bottom","AutoCompleteGroupTitle","baseTitleStyles","ml","my","fontSize","letterSpacing","textTransform","hasGroupSibling","groupSibling","baseStyles","borderColor","dividerColor","mb","showDivider","AutoCompleteInput","useMultiStyleConfig","inputProps","wrapperRef","wrapperProps","simpleInput","Input","multipleInput","Wrap","WrapItem","as","id","EmptyState","emptyStyles","align","justify","fontStyle","VALID_AUTOCOMPLETE_LIST_CHILDREN","AutoCompleteList","listProps","Children","sibling","toArray","cloneElement","nonAutocompleteItems","_child$type2","_child$type3","siblingInfo","autoCompleteItems","nonAutoCompleteItems","PopoverContent","mt","maxH","border","shadow","zIndex","overflowY","boxShadow","AutoCompleteTag","memo","Tag","borderRadius","disabledStyles","TagLabel","TagCloseButton"],"mappings":"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"}
|
|
@@ -520,10 +520,6 @@ function useAutoComplete(autoCompleteProps) {
|
|
|
520
520
|
setFocusedValue(nextItem == null ? void 0 : nextItem.value);
|
|
521
521
|
|
|
522
522
|
if (isOpen) {
|
|
523
|
-
if (focusedItem.value === (lastItem == null ? void 0 : lastItem.value)) {
|
|
524
|
-
console.log("last");
|
|
525
|
-
}
|
|
526
|
-
|
|
527
523
|
e.preventDefault();
|
|
528
524
|
}
|
|
529
525
|
|
|
@@ -778,12 +774,10 @@ function AutoCompleteCreatable(props) {
|
|
|
778
774
|
query = _useAutoCompleteConte.query,
|
|
779
775
|
filteredResults = _useAutoCompleteConte.filteredResults;
|
|
780
776
|
|
|
781
|
-
var queryValue = React.createElement("mark", null, query);
|
|
782
|
-
|
|
783
777
|
var _getItemProps$item = getItemProps(_extends({}, props, {
|
|
784
778
|
value: query,
|
|
785
779
|
children: runIfFn(childrenProp, {
|
|
786
|
-
value:
|
|
780
|
+
value: query
|
|
787
781
|
})
|
|
788
782
|
}), true).item,
|
|
789
783
|
children = _getItemProps$item.children,
|
|
@@ -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 autoomplete 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 { getChildrenDeep } from \"react-nanny\";\nimport { pick, isDefined, isEmpty } from \"@chakra-ui/utils\";\nimport { ReactNode } from \"react\";\nimport { FlexProps } from \"@chakra-ui/react\";\nimport { fuzzyScore } from \"./fuzzySearch\";\nimport { Item } from \"../types\";\nimport { AutoCompleteItemProps } from \"../autocomplete-item\";\n\nexport const getDefItemValue = (item: AutoCompleteItemProps[\"value\"]) =>\n (typeof item === \"string\" ? item : item[Object.keys(item)[0]])?.toString();\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 getItemList = (children: ReactNode): Item[] => {\n const itemChildren = getChildrenDeep(\n children,\n (child: any) => child?.type?.displayName === \"AutoCompleteItem\"\n );\n\n return itemChildren.map(item => {\n const itemObj = pick(item.props, [\"value\", \"label\", \"fixed\", \"disabled\"]);\n const { getValue = getDefItemValue } = item.props;\n const value = getValue(itemObj.value);\n const finObj = isDefined(itemObj.label)\n ? itemObj\n : { ...itemObj, label: value };\n return { ...finObj, value, originalValue: itemObj.value };\n });\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, runIfFn } from \"@chakra-ui/utils\";\nimport { getChildDeep } from \"react-nanny\";\nimport { ReactNode } from \"react\";\nimport { getDefItemValue } from \"./items\";\n\nexport const hasFirstItem = (children: ReactNode, firstItem: any) => {\n const result = getChildDeep(\n children,\n (child: any) =>\n child?.type?.displayName === \"AutoCompleteItem\" &&\n child.props.value === firstItem?.value\n );\n\n return result;\n};\nexport const hasLastItem = (children: ReactNode, lastItem: any) => {\n const result = getChildDeep(\n children,\n (child: any) =>\n child?.type?.displayName === \"AutoCompleteItem\" &&\n child.props.value === lastItem?.value\n );\n return result;\n};\n\nexport const hasChildren = (children: any, filteredList: any[]) => {\n return isDefined(\n getChildDeep(children, (child: any) => {\n const value = runIfFn(\n child.props?.getValue || getDefItemValue,\n child.props?.value || {}\n );\n return filteredList.some(i => i.value === value);\n })\n );\n};\n","import {\n useDimensions,\n useDisclosure,\n useUpdateEffect,\n useControllableState,\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 { omit } from \"@chakra-ui/utils\";\n\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { AutoCompleteProps } from \"./autocomplete\";\nimport {\n defaultFilterMethod,\n getDefItemValue,\n getFocusedStyles,\n getItemList,\n setEmphasis,\n} from \"./helpers/items\";\nimport { getMultipleWrapStyles } from \"./helpers/input\";\nimport { hasChildren, hasFirstItem, hasLastItem } from \"./helpers/group\";\nimport { Item, UseAutoCompleteReturn } from \"./types\";\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 emphasize,\n emptyState = true,\n freeSolo,\n isReadOnly,\n listAllValuesOnFocus,\n maxSuggestions,\n multiple,\n defaultValue,\n defaultValues = defaultValue ? [defaultValue] : [],\n onReady,\n defaultIsOpen,\n restoreOnBlurIfEmpty = !freeSolo,\n shouldRenderSuggestions = () => true,\n submitKeys = [],\n suggestWhenEmpty,\n value,\n values: valuesProp = value\n ? typeof value === \"string\"\n ? [value]\n : [...value]\n : undefined,\n } = autoCompleteProps;\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 children = runIfFn(autoCompleteProps.children, {\n isOpen,\n onClose,\n onOpen,\n });\n const itemList: Item[] = getItemList(children);\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 [listAll, setListAll] = useState(false);\n\n let defaultQuery = \"\";\n if (multiple) defaultQuery = \"\";\n else if (!isUndefined(defaultValues)) defaultQuery = defaultValues[0];\n else if (!isUndefined(valuesProp)) defaultQuery = valuesProp[0];\n\n const [query, setQuery] = useState<string>(defaultQuery ?? \"\");\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((i, index) => (maxSuggestions ? i.fixed || index < maxSuggestions : true));\n\n // Add Creatable to Filtered List\n const creatableArr: Item[] = creatable\n ? [{ value: query, noFilter: true, creatable: true }]\n : [];\n\n const filteredList = [...filteredResults, ...creatableArr];\n const [values, setValues] = useControllableState({\n defaultValue: defaultValues,\n value: valuesProp,\n onChange: (newValues: any[]) => {\n const item = filteredList.find(opt => opt.value === newValues[0]);\n const items = newValues.map(val =>\n filteredList.find(opt => opt.value === val)\n );\n runIfFn(\n autoCompleteProps.onChange,\n multiple ? newValues : newValues[0],\n multiple ? items : item\n );\n },\n });\n\n const [focusedValue, setFocusedValue] = useState<Item[\"value\"]>(\n itemList[0]?.value\n );\n\n const maxSelections = autoCompleteProps.maxSelections || values.length + 1;\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 if (!isOpen) setFocusedValue(itemList[0]?.value);\n }, [isOpen]);\n\n useEffect(() => {\n const focusedItem = itemList.find(i => i.value === focusedValue);\n runIfFn(autoCompleteProps.onOptionFocus, {\n item: focusedItem!,\n focusMethod: interactionRef.current,\n isNewInput: focusedItem?.creatable,\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\n const option = filteredList.find(i => i.value === optionValue);\n\n if (multiple) {\n inputRef.current?.focus();\n }\n if (autoCompleteProps.focusInputOnSelect) inputRef.current?.focus();\n runIfFn(autoCompleteProps.onSelectOption, {\n item: option!,\n selectMethod: interactionRef.current,\n isNewInput: option?.creatable,\n });\n if (option?.creatable) {\n runIfFn(autoCompleteProps.onCreateOption, {\n item: omit(option!, [\"noFilter\"]),\n selectMethod: interactionRef.current,\n });\n }\n\n const optionLabel = option?.label || option?.value;\n setQuery(() => (multiple ? \"\" : optionLabel ?? \"\"));\n\n if (closeOnSelect) onClose();\n };\n\n const removeItem: UseAutoCompleteReturn[\"removeItem\"] = (\n itemValue,\n focusInput\n ) => {\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 if (focusInput) inputRef.current?.focus();\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 useEffect(() => {\n runIfFn(onReady, { tags });\n }, [values]);\n\n const getInputProps: UseAutoCompleteReturn[\"getInputProps\"] = (\n props,\n themeInput\n ) => {\n const { onBlur, onChange, onFocus, onKeyDown, variant, ...rest } = props;\n\n return {\n wrapper: {\n ref: inputWrapperRef,\n onClick: () => {\n inputRef?.current?.focus();\n },\n ...getMultipleWrapStyles(themeInput, multiple),\n ...rest,\n },\n input: {\n isReadOnly,\n onFocus: e => {\n runIfFn(onFocus, e);\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, e);\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) && restoreOnBlurIfEmpty) {\n const latestValue = getLastItem(values);\n const latestValueItem = itemList.find(\n i => i.value === latestValue\n );\n const latestValueLabel =\n latestValueItem?.label || latestValueItem?.value || \"\";\n setQuery(latestValueLabel);\n }\n }\n },\n onChange: e => {\n const newValue = e.target.value;\n runIfFn(onChange, e);\n setQuery(newValue);\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 ([\"Enter\", ...submitKeys].includes(key)) {\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\n if (isOpen) {\n if (focusedItem.value === lastItem?.value) {\n console.log(\"last\");\n }\n e.preventDefault();\n }\n\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 wrapperDim = useDimensions(inputWrapperRef, true);\n const inputDim = useDimensions(inputRef, true);\n const getListProps: UseAutoCompleteReturn[\"getListProps\"] = () => {\n const width = autoCompleteProps.multiple\n ? (wrapperDim?.marginBox.width as number)\n : (inputDim?.marginBox.width as number);\n return {\n width,\n };\n };\n\n const getItemProps: UseAutoCompleteReturn[\"getItemProps\"] = (\n props,\n creatable\n ) => {\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 = creatable ? valueProp : 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 value,\n },\n };\n };\n\n const getGroupProps: UseAutoCompleteReturn[\"getGroupProps\"] = props => {\n const hasItems = hasChildren(props.children, filteredList);\n return {\n divider: {\n hasFirstChild: hasFirstItem(props.children, firstItem),\n hasLastChild: hasLastItem(\n props.children,\n getLastItem(filteredList.filter(i => isUndefined(i?.noFilter)))\n ),\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 removeItem,\n resetItems,\n setQuery,\n tags,\n values,\n };\n}\n","import React, { useImperativeHandle } from \"react\";\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\";\n\nimport { AutoCompleteProvider } from \"./autocomplete-context\";\nimport { useAutoComplete } from \"./use-autocomplete\";\nimport { chakra, forwardRef, Popover } from \"@chakra-ui/react\";\nimport { AutoCompleteRefMethods, UseAutoCompleteProps } from \"./types\";\n\nexport type AutoCompleteChildProps = {\n isOpen: boolean;\n onClose: () => void;\n onOpen: () => void;\n};\nexport interface AutoCompleteProps extends UseAutoCompleteProps {\n children: MaybeRenderProp<AutoCompleteChildProps>;\n ref?: React.RefObject<AutoCompleteRefMethods>;\n}\n\nexport const AutoComplete = forwardRef<AutoCompleteProps, \"div\">(\n (props, ref) => {\n const context = useAutoComplete(props);\n const {\n children,\n isOpen,\n onClose,\n onOpen,\n resetItems,\n removeItem,\n } = context;\n\n useImperativeHandle(ref, () => ({\n resetItems,\n removeItem,\n }));\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 } 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}\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, 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 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 rounded: \"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 alwaysDisplay?: boolean;\n}\n\nexport function AutoCompleteCreatable(props: AutoCompleteCreatableProps) {\n const { alwaysDisplay, 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 {\n ...props,\n value: query,\n children: runIfFn(childrenProp, {\n value: queryValue,\n }),\n },\n true\n ).item;\n\n const queryExistsInList = filteredResults.some(i => i.value === query);\n const showWhenEmpty = isEmpty(query) ? alwaysDisplay : true;\n const showCreatable =\n autoCompleteProps.creatable && showWhenEmpty && !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 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 autoCompleteProps,\n inputRef,\n getInputProps,\n tags,\n } = useAutoCompleteContext();\n\n // const ref = useMergeRefs(forwardedRef, inputRef);\n\n const { children: childrenProp, ...rest } = props;\n\n const themeInput: any = useMultiStyleConfig(\"Input\", props);\n\n const { wrapper, input: inputProps } = getInputProps(rest, themeInput);\n const { ref: wrapperRef, ...wrapperProps } = wrapper;\n const ref = useMergeRefs(forwardedRef, inputRef);\n\n const children = runIfFn(childrenProp, { tags });\n\n const simpleInput = <Input {...(inputProps as any)} ref={ref} />;\n\n const multipleInput = (\n <Wrap {...wrapperProps} ref={wrapperRef}>\n {children}\n <WrapItem as={Input} {...(inputProps as any)} ref={ref} />\n </Wrap>\n );\n\n return <>{autoCompleteProps.multiple ? multipleInput : simpleInput}</>;\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\nconst VALID_AUTOCOMPLETE_LIST_CHILDREN = [\n \"AutoCompleteGroup\",\n \"AutoCompleteItem\",\n \"AutoCompleteCreatable\",\n];\n\nexport const siblingInfo = (children: React.ReactNode) => {\n const items = 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 }) as React.ReactNode;\n\n const nonAutocompleteItems = React.Children.toArray(items).filter(\n (child: any) => {\n return !VALID_AUTOCOMPLETE_LIST_CHILDREN.includes(\n child?.type?.displayName\n );\n }\n );\n\n const autoCompleteItems = React.Children.toArray(items).filter(\n (child: any) => {\n return VALID_AUTOCOMPLETE_LIST_CHILDREN.includes(\n child?.type?.displayName\n );\n }\n );\n\n return [autoCompleteItems, nonAutocompleteItems] as const;\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 const [autoCompleteItems, nonAutoCompleteItems] = siblingInfo(children);\n\n return (\n <PopoverContent ref={ref} {...baseStyles} {...listProps} {...rest}>\n {autoCompleteItems}\n <EmptyState />\n {nonAutoCompleteItems}\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 rounded: \"md\",\n maxH: \"350px\",\n border: \"none\",\n shadow: \"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","getDefItemValue","Object","keys","toString","setEmphasis","children","query","isEmpty","newChildren","replace","RegExp","escapeRegex","match","getItemList","itemChildren","getChildrenDeep","child","type","displayName","map","itemObj","pick","props","getValue","value","finObj","isDefined","label","originalValue","getFocusedStyles","bg","_light","defaultFilterMethod","itemValue","itemLabel","indexOf","string","getMultipleWrapStyles","themeInput","multiple","field","_focusWithin","_focus","pos","minH","py","spacing","cursor","h","hasFirstItem","firstItem","result","getChildDeep","hasLastItem","lastItem","hasChildren","filteredList","runIfFn","some","useAutoComplete","autoCompleteProps","closeOnBlur","closeOnSelect","creatable","emphasize","emptyState","freeSolo","isReadOnly","listAllValuesOnFocus","maxSuggestions","defaultValue","defaultValues","onReady","defaultIsOpen","restoreOnBlurIfEmpty","shouldRenderSuggestions","submitKeys","suggestWhenEmpty","values","valuesProp","undefined","useDisclosure","isOpen","onClose","onOpen","itemList","inputRef","useRef","inputWrapperRef","listRef","interactionRef","useState","listAll","setListAll","defaultQuery","isUndefined","setQuery","filteredResults","filter","fixed","index","creatableArr","noFilter","useControllableState","onChange","newValues","find","opt","items","val","setValues","focusedValue","setFocusedValue","maxSelections","focusedIndex","findIndex","nextItem","getNextItem","rollNavigation","prevItem","getPrevItem","getFirstItem","getLastItem","useUpdateEffect","useEffect","focusedItem","onOptionFocus","focusMethod","current","isNewInput","selectItem","optionValue","includes","option","focus","focusInputOnSelect","onSelectOption","selectMethod","onCreateOption","omit","optionLabel","removeItem","focusInput","prevValues","onTagRemoved","resetItems","tags","tag","onRemove","getInputProps","onBlur","onFocus","onKeyDown","variant","rest","wrapper","ref","onClick","input","e","openOnFocus","selectOnFocus","target","select","listIsFocused","relatedTarget","inputWrapperIsFocused","contains","latestValue","latestValueItem","latestValueLabel","newValue","queryIsEmpty","key","disabled","preventDefault","console","log","callAll","wrapperDim","useDimensions","inputDim","getListProps","width","marginBox","getItemProps","_fixed","itemChild","valueProp","onMouseOver","sx","isFocused","isValidSuggestion","dangerouslySetInnerHTML","__html","_disabled","opacity","userSelect","mark","color","isObject","fontWeight","root","getGroupProps","hasItems","divider","hasFirstChild","hasLastChild","group","display","getEmptyStateProps","defaultEmptyState","noSuggestions","every","AutoComplete","forwardRef","context","useImperativeHandle","React","Popover","isLazy","autoFocus","placement","chakra","div","position","w","AutoCompleteItem","forwardedRef","itemRef","useMergeRefs","itemProps","scrollIntoView","behavior","block","warn","error","restProps","Flex","baseItemStyles","mx","px","rounded","AutoCompleteCreatable","alwaysDisplay","childrenProp","queryValue","queryExistsInList","showWhenEmpty","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","wrapperRef","wrapperProps","simpleInput","Input","multipleInput","Wrap","WrapItem","as","id","EmptyState","emptyStyles","align","justify","fontStyle","VALID_AUTOCOMPLETE_LIST_CHILDREN","siblingInfo","Children","sibling","toArray","cloneElement","nonAutocompleteItems","autoCompleteItems","AutoCompleteList","listProps","nonAutoCompleteItems","PopoverContent","mt","maxH","border","shadow","zIndex","overflowY","boxShadow","AutoCompleteTag","memo","Tag","borderRadius","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 autoomplete 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 { getChildrenDeep } from \"react-nanny\";\nimport { pick, isDefined, isEmpty } from \"@chakra-ui/utils\";\nimport { ReactNode } from \"react\";\nimport { FlexProps } from \"@chakra-ui/react\";\nimport { fuzzyScore } from \"./fuzzySearch\";\nimport { Item } from \"../types\";\nimport { AutoCompleteItemProps } from \"../autocomplete-item\";\n\nexport const getDefItemValue = (item: AutoCompleteItemProps[\"value\"]) =>\n (typeof item === \"string\" ? item : item[Object.keys(item)[0]])?.toString();\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 getItemList = (children: ReactNode): Item[] => {\n const itemChildren = getChildrenDeep(\n children,\n (child: any) => child?.type?.displayName === \"AutoCompleteItem\"\n );\n\n return itemChildren.map(item => {\n const itemObj = pick(item.props, [\"value\", \"label\", \"fixed\", \"disabled\"]);\n const { getValue = getDefItemValue } = item.props;\n const value = getValue(itemObj.value);\n const finObj = isDefined(itemObj.label)\n ? itemObj\n : { ...itemObj, label: value };\n return { ...finObj, value, originalValue: itemObj.value };\n });\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, runIfFn } from \"@chakra-ui/utils\";\nimport { getChildDeep } from \"react-nanny\";\nimport { ReactNode } from \"react\";\nimport { getDefItemValue } from \"./items\";\n\nexport const hasFirstItem = (children: ReactNode, firstItem: any) => {\n const result = getChildDeep(\n children,\n (child: any) =>\n child?.type?.displayName === \"AutoCompleteItem\" &&\n child.props.value === firstItem?.value\n );\n\n return result;\n};\nexport const hasLastItem = (children: ReactNode, lastItem: any) => {\n const result = getChildDeep(\n children,\n (child: any) =>\n child?.type?.displayName === \"AutoCompleteItem\" &&\n child.props.value === lastItem?.value\n );\n return result;\n};\n\nexport const hasChildren = (children: any, filteredList: any[]) => {\n return isDefined(\n getChildDeep(children, (child: any) => {\n const value = runIfFn(\n child.props?.getValue || getDefItemValue,\n child.props?.value || {}\n );\n return filteredList.some(i => i.value === value);\n })\n );\n};\n","import {\n useDimensions,\n useDisclosure,\n useUpdateEffect,\n useControllableState,\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 { omit } from \"@chakra-ui/utils\";\n\nimport { useEffect, useRef, useState } from \"react\";\n\nimport { AutoCompleteProps } from \"./autocomplete\";\nimport {\n defaultFilterMethod,\n getDefItemValue,\n getFocusedStyles,\n getItemList,\n setEmphasis,\n} from \"./helpers/items\";\nimport { getMultipleWrapStyles } from \"./helpers/input\";\nimport { hasChildren, hasFirstItem, hasLastItem } from \"./helpers/group\";\nimport { Item, UseAutoCompleteReturn } from \"./types\";\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 emphasize,\n emptyState = true,\n freeSolo,\n isReadOnly,\n listAllValuesOnFocus,\n maxSuggestions,\n multiple,\n defaultValue,\n defaultValues = defaultValue ? [defaultValue] : [],\n onReady,\n defaultIsOpen,\n restoreOnBlurIfEmpty = !freeSolo,\n shouldRenderSuggestions = () => true,\n submitKeys = [],\n suggestWhenEmpty,\n value,\n values: valuesProp = value\n ? typeof value === \"string\"\n ? [value]\n : [...value]\n : undefined,\n } = autoCompleteProps;\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 children = runIfFn(autoCompleteProps.children, {\n isOpen,\n onClose,\n onOpen,\n });\n const itemList: Item[] = getItemList(children);\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 [listAll, setListAll] = useState(false);\n\n let defaultQuery = \"\";\n if (multiple) defaultQuery = \"\";\n else if (!isUndefined(defaultValues)) defaultQuery = defaultValues[0];\n else if (!isUndefined(valuesProp)) defaultQuery = valuesProp[0];\n\n const [query, setQuery] = useState<string>(defaultQuery ?? \"\");\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((i, index) =>\n maxSuggestions ? i.fixed || index < maxSuggestions : true\n );\n\n // Add Creatable to Filtered List\n const creatableArr: Item[] = creatable\n ? [{ value: query, noFilter: true, creatable: true }]\n : [];\n\n const filteredList = [...filteredResults, ...creatableArr];\n const [values, setValues] = useControllableState({\n defaultValue: defaultValues,\n value: valuesProp,\n onChange: (newValues: any[]) => {\n const item = filteredList.find(opt => opt.value === newValues[0]);\n const items = newValues.map(val =>\n filteredList.find(opt => opt.value === val)\n );\n runIfFn(\n autoCompleteProps.onChange,\n multiple ? newValues : newValues[0],\n multiple ? items : item\n );\n },\n });\n\n const [focusedValue, setFocusedValue] = useState<Item[\"value\"]>(\n itemList[0]?.value\n );\n\n const maxSelections = autoCompleteProps.maxSelections || values.length + 1;\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 if (!isOpen) setFocusedValue(itemList[0]?.value);\n }, [isOpen]);\n\n useEffect(() => {\n const focusedItem = itemList.find(i => i.value === focusedValue);\n runIfFn(autoCompleteProps.onOptionFocus, {\n item: focusedItem!,\n focusMethod: interactionRef.current,\n isNewInput: focusedItem?.creatable,\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\n const option = filteredList.find(i => i.value === optionValue);\n\n if (multiple) {\n inputRef.current?.focus();\n }\n if (autoCompleteProps.focusInputOnSelect) inputRef.current?.focus();\n runIfFn(autoCompleteProps.onSelectOption, {\n item: option!,\n selectMethod: interactionRef.current,\n isNewInput: option?.creatable,\n });\n if (option?.creatable) {\n runIfFn(autoCompleteProps.onCreateOption, {\n item: omit(option!, [\"noFilter\"]),\n selectMethod: interactionRef.current,\n });\n }\n\n const optionLabel = option?.label || option?.value;\n setQuery(() => (multiple ? \"\" : optionLabel ?? \"\"));\n\n if (closeOnSelect) onClose();\n };\n\n const removeItem: UseAutoCompleteReturn[\"removeItem\"] = (\n itemValue,\n focusInput\n ) => {\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 if (focusInput) inputRef.current?.focus();\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 useEffect(() => {\n runIfFn(onReady, { tags });\n }, [values]);\n\n const getInputProps: UseAutoCompleteReturn[\"getInputProps\"] = (\n props,\n themeInput\n ) => {\n const { onBlur, onChange, onFocus, onKeyDown, variant, ...rest } = props;\n\n return {\n wrapper: {\n ref: inputWrapperRef,\n onClick: () => {\n inputRef?.current?.focus();\n },\n ...getMultipleWrapStyles(themeInput, multiple),\n ...rest,\n },\n input: {\n isReadOnly,\n onFocus: e => {\n runIfFn(onFocus, e);\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, e);\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) && restoreOnBlurIfEmpty) {\n const latestValue = getLastItem(values);\n const latestValueItem = itemList.find(\n i => i.value === latestValue\n );\n const latestValueLabel =\n latestValueItem?.label || latestValueItem?.value || \"\";\n setQuery(latestValueLabel);\n }\n }\n },\n onChange: e => {\n const newValue = e.target.value;\n runIfFn(onChange, e);\n setQuery(newValue);\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 ([\"Enter\", ...submitKeys].includes(key)) {\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\n if (isOpen) {\n e.preventDefault();\n }\n\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 wrapperDim = useDimensions(inputWrapperRef, true);\n const inputDim = useDimensions(inputRef, true);\n const getListProps: UseAutoCompleteReturn[\"getListProps\"] = () => {\n const width = autoCompleteProps.multiple\n ? (wrapperDim?.marginBox.width as number)\n : (inputDim?.marginBox.width as number);\n return {\n width,\n };\n };\n\n const getItemProps: UseAutoCompleteReturn[\"getItemProps\"] = (\n props,\n creatable\n ) => {\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 = creatable ? valueProp : 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 value,\n },\n };\n };\n\n const getGroupProps: UseAutoCompleteReturn[\"getGroupProps\"] = props => {\n const hasItems = hasChildren(props.children, filteredList);\n return {\n divider: {\n hasFirstChild: hasFirstItem(props.children, firstItem),\n hasLastChild: hasLastItem(\n props.children,\n getLastItem(filteredList.filter(i => isUndefined(i?.noFilter)))\n ),\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 removeItem,\n resetItems,\n setQuery,\n tags,\n values,\n };\n}\n","import React, { useImperativeHandle } from \"react\";\nimport { MaybeRenderProp } from \"@chakra-ui/react-utils\";\n\nimport { AutoCompleteProvider } from \"./autocomplete-context\";\nimport { useAutoComplete } from \"./use-autocomplete\";\nimport { chakra, forwardRef, Popover } from \"@chakra-ui/react\";\nimport { AutoCompleteRefMethods, UseAutoCompleteProps } from \"./types\";\n\nexport type AutoCompleteChildProps = {\n isOpen: boolean;\n onClose: () => void;\n onOpen: () => void;\n};\nexport interface AutoCompleteProps extends UseAutoCompleteProps {\n children: MaybeRenderProp<AutoCompleteChildProps>;\n ref?: React.RefObject<AutoCompleteRefMethods>;\n}\n\nexport const AutoComplete = forwardRef<AutoCompleteProps, \"div\">(\n (props, ref) => {\n const context = useAutoComplete(props);\n const {\n children,\n isOpen,\n onClose,\n onOpen,\n resetItems,\n removeItem,\n } = context;\n\n useImperativeHandle(ref, () => ({\n resetItems,\n removeItem,\n }));\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 } 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}\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, 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 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 rounded: \"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 alwaysDisplay?: boolean;\n}\n\nexport function AutoCompleteCreatable(props: AutoCompleteCreatableProps) {\n const { alwaysDisplay, children: childrenProp, ...rest } = props;\n const {\n autoCompleteProps,\n getItemProps,\n query,\n filteredResults,\n } = useAutoCompleteContext();\n\n const { children, ...itemProps } = getItemProps(\n {\n ...props,\n value: query,\n children: runIfFn(childrenProp, {\n value: query,\n }),\n },\n true\n ).item;\n\n const queryExistsInList = filteredResults.some(i => i.value === query);\n const showWhenEmpty = isEmpty(query) ? alwaysDisplay : true;\n const showCreatable =\n autoCompleteProps.creatable && showWhenEmpty && !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 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 autoCompleteProps,\n inputRef,\n getInputProps,\n tags,\n } = useAutoCompleteContext();\n\n // const ref = useMergeRefs(forwardedRef, inputRef);\n\n const { children: childrenProp, ...rest } = props;\n\n const themeInput: any = useMultiStyleConfig(\"Input\", props);\n\n const { wrapper, input: inputProps } = getInputProps(rest, themeInput);\n const { ref: wrapperRef, ...wrapperProps } = wrapper;\n const ref = useMergeRefs(forwardedRef, inputRef);\n\n const children = runIfFn(childrenProp, { tags });\n\n const simpleInput = <Input {...(inputProps as any)} ref={ref} />;\n\n const multipleInput = (\n <Wrap {...wrapperProps} ref={wrapperRef}>\n {children}\n <WrapItem as={Input} {...(inputProps as any)} ref={ref} />\n </Wrap>\n );\n\n return <>{autoCompleteProps.multiple ? multipleInput : simpleInput}</>;\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\nconst VALID_AUTOCOMPLETE_LIST_CHILDREN = [\n \"AutoCompleteGroup\",\n \"AutoCompleteItem\",\n \"AutoCompleteCreatable\",\n];\n\nexport const siblingInfo = (children: React.ReactNode) => {\n const items = 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 }) as React.ReactNode;\n\n const nonAutocompleteItems = React.Children.toArray(items).filter(\n (child: any) => {\n return !VALID_AUTOCOMPLETE_LIST_CHILDREN.includes(\n child?.type?.displayName\n );\n }\n );\n\n const autoCompleteItems = React.Children.toArray(items).filter(\n (child: any) => {\n return VALID_AUTOCOMPLETE_LIST_CHILDREN.includes(\n child?.type?.displayName\n );\n }\n );\n\n return [autoCompleteItems, nonAutocompleteItems] as const;\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 const [autoCompleteItems, nonAutoCompleteItems] = siblingInfo(children);\n\n return (\n <PopoverContent ref={ref} {...baseStyles} {...listProps} {...rest}>\n {autoCompleteItems}\n <EmptyState />\n {nonAutoCompleteItems}\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 rounded: \"md\",\n maxH: \"350px\",\n border: \"none\",\n shadow: \"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","getDefItemValue","Object","keys","toString","setEmphasis","children","query","isEmpty","newChildren","replace","RegExp","escapeRegex","match","getItemList","itemChildren","getChildrenDeep","child","type","displayName","map","itemObj","pick","props","getValue","value","finObj","isDefined","label","originalValue","getFocusedStyles","bg","_light","defaultFilterMethod","itemValue","itemLabel","indexOf","string","getMultipleWrapStyles","themeInput","multiple","field","_focusWithin","_focus","pos","minH","py","spacing","cursor","h","hasFirstItem","firstItem","result","getChildDeep","hasLastItem","lastItem","hasChildren","filteredList","runIfFn","some","useAutoComplete","autoCompleteProps","closeOnBlur","closeOnSelect","creatable","emphasize","emptyState","freeSolo","isReadOnly","listAllValuesOnFocus","maxSuggestions","defaultValue","defaultValues","onReady","defaultIsOpen","restoreOnBlurIfEmpty","shouldRenderSuggestions","submitKeys","suggestWhenEmpty","values","valuesProp","undefined","useDisclosure","isOpen","onClose","onOpen","itemList","inputRef","useRef","inputWrapperRef","listRef","interactionRef","useState","listAll","setListAll","defaultQuery","isUndefined","setQuery","filteredResults","filter","fixed","index","creatableArr","noFilter","useControllableState","onChange","newValues","find","opt","items","val","setValues","focusedValue","setFocusedValue","maxSelections","focusedIndex","findIndex","nextItem","getNextItem","rollNavigation","prevItem","getPrevItem","getFirstItem","getLastItem","useUpdateEffect","useEffect","focusedItem","onOptionFocus","focusMethod","current","isNewInput","selectItem","optionValue","includes","option","focus","focusInputOnSelect","onSelectOption","selectMethod","onCreateOption","omit","optionLabel","removeItem","focusInput","prevValues","onTagRemoved","resetItems","tags","tag","onRemove","getInputProps","onBlur","onFocus","onKeyDown","variant","rest","wrapper","ref","onClick","input","e","openOnFocus","selectOnFocus","target","select","listIsFocused","relatedTarget","inputWrapperIsFocused","contains","latestValue","latestValueItem","latestValueLabel","newValue","queryIsEmpty","key","disabled","preventDefault","callAll","wrapperDim","useDimensions","inputDim","getListProps","width","marginBox","getItemProps","_fixed","itemChild","valueProp","onMouseOver","sx","isFocused","isValidSuggestion","dangerouslySetInnerHTML","__html","_disabled","opacity","userSelect","mark","color","isObject","fontWeight","root","getGroupProps","hasItems","divider","hasFirstChild","hasLastChild","group","display","getEmptyStateProps","defaultEmptyState","noSuggestions","every","AutoComplete","forwardRef","context","useImperativeHandle","React","Popover","isLazy","autoFocus","placement","chakra","div","position","w","AutoCompleteItem","forwardedRef","itemRef","useMergeRefs","itemProps","scrollIntoView","behavior","block","console","warn","error","restProps","Flex","baseItemStyles","mx","px","rounded","AutoCompleteCreatable","alwaysDisplay","childrenProp","queryExistsInList","showWhenEmpty","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","wrapperRef","wrapperProps","simpleInput","Input","multipleInput","Wrap","WrapItem","as","id","EmptyState","emptyStyles","align","justify","fontStyle","VALID_AUTOCOMPLETE_LIST_CHILDREN","siblingInfo","Children","sibling","toArray","cloneElement","nonAutocompleteItems","autoCompleteItems","AutoCompleteList","listProps","nonAutoCompleteItems","PopoverContent","mt","maxH","border","shadow","zIndex","overflowY","boxShadow","AutoCompleteTag","memo","Tag","borderRadius","disabledStyles","TagLabel","TagCloseButton"],"mappings":"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"}
|
package/package.json
CHANGED